/* JCor&Cor — camada final de UI/UX responsiva
   Mantém a identidade atual e corrige alinhamento, densidade e comportamento em mobile/desktop. */

:root{
  --ui-content: 1240px;
  --ui-gutter: clamp(16px, 3vw, 32px);
  --ui-section: clamp(52px, 7vw, 96px);
  --ui-radius: 18px;
  --ui-shadow: 0 18px 48px rgba(11,31,58,.09);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{overflow-x:hidden;}
img,video,svg{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}
button,a{touch-action:manipulation;}

.container{width:min(var(--ui-content),calc(100% - (var(--ui-gutter) * 2)));margin-inline:auto;}
.section{padding-block:var(--ui-section);}

/* Header / navigation */
.store-header__main{gap:clamp(14px,2vw,26px);}
.store-logo{flex:0 0 auto;}
.store-search{min-width:0;flex:1 1 360px;}
.store-search__input{min-width:0;width:100%;}
.store-actions{display:flex;align-items:center;gap:clamp(8px,1.2vw,16px);}
.store-action,.store-cart-pill{min-height:46px;}
.store-header__navline{overflow:hidden;}
.store-nav{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.store-nav::-webkit-scrollbar{display:none;}
.store-cat{white-space:nowrap;flex:0 0 auto;}

/* Home / hero */
.hero__inner{gap:clamp(32px,6vw,80px);align-items:center;}
.hero__content{min-width:0;}
.hero__panel{min-width:0;box-shadow:var(--ui-shadow);}
.hero__title{max-width:10ch;}
.hero__sub{max-width:62ch;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;}
.hero__ctas .btn{min-height:48px;}

/* Cards e vitrines */
.products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px);align-items:stretch;}
.pcard{min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;}
.pcard__body{display:flex;flex-direction:column;flex:1;}
.pcard__actions{margin-top:auto;}
.pcard img{width:100%;object-fit:contain;}

/* Loja / filtros */
.shop-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.shop-toolbar__search{flex:1 1 280px;min-width:220px;}
.shop-select,.pro-select,.shop-dropdown{flex:0 1 auto;}
.shop-count{margin-left:auto;white-space:nowrap;}
.shop-dropdown__menu,.pro-select__menu{max-height:min(360px,60vh);overflow:auto;}

/* Produto */
.pdetail__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(30px,5vw,72px);align-items:start;}
.pdetail__gallery,.pdetail__info{min-width:0;}
.pdetail__main-img{border-radius:var(--ui-radius);overflow:hidden;}
.pdetail__main-img img{width:100%;max-height:620px;object-fit:contain;}
.pdetail__thumbs{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
.pdetail__thumbs::-webkit-scrollbar{display:none;}
.variant-sizes,.variant-swatches{display:flex;flex-wrap:wrap;gap:10px;}
.variant-size,.variant-color{min-height:44px;}

/* Carrinho / checkout */
.cart-layout,.checkout-layout{gap:clamp(24px,4vw,52px);align-items:start;}
.cart-panel,.order-sum,.fcard{border-radius:var(--ui-radius);}
.order-sum{position:sticky;top:24px;}
.finput,.fselect,textarea{min-height:48px;}
.pay-opt__lbl{min-height:68px;}

/* Conta */
.account-grid{gap:clamp(24px,4vw,48px);align-items:start;}
.account-card,.account-panel{border-radius:var(--ui-radius);}
.account-address__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}

/* Admin — sem mudar identidade, só alinhamento/responsividade */
.admin-shell,.admin-layout{min-width:0;}
.admin-main,.admin-content,.admin-page{min-width:0;}
.admin-card,.kpi-card,.panel{border-radius:16px;}
.admin-table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.admin-table,.data-table{min-width:760px;}
.admin-grid,.kpi-grid{align-items:stretch;}

/* Tablet */
@media (max-width: 1024px){
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .hero__inner{grid-template-columns:1fr;}
  .hero__panel{max-width:none;}
  .pdetail__layout{grid-template-columns:1fr;}
  .order-sum{position:static;}
  .store-action__text small{display:none;}
}

/* Mobile */
@media (max-width: 760px){
  :root{--ui-gutter:16px;--ui-section:52px;}

  .topbar{font-size:.76rem;}
  .topbar__loop{gap:24px;}

  .store-header__main{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding-block:12px;}
  .store-logo{grid-column:1;}
  .store-actions{grid-column:3;gap:7px;}
  .store-search{grid-column:1 / -1;grid-row:2;width:100%;order:3;}
  .store-action{display:none;}
  .store-cart-pill{padding-inline:12px;min-height:42px;}
  .store-cart-pill__text{display:none;}
  .ham{display:inline-flex;}
  .store-header__navline{margin-inline:calc(var(--ui-gutter) * -1);padding-inline:var(--ui-gutter);}
  .store-nav{gap:8px;padding-bottom:8px;}
  .store-cat{min-height:40px;}

  .hero{min-height:auto;}
  .hero__inner{padding-block:48px;}
  .hero__title{font-size:clamp(3.3rem,17vw,5.6rem);line-height:.88;max-width:none;}
  .hero__sub{font-size:.98rem;line-height:1.65;}
  .hero__ctas{display:grid;grid-template-columns:1fr;}
  .hero__ctas .btn{width:100%;justify-content:center;}
  .hero__panel{padding:20px;}
  .hero__stats-row{grid-template-columns:repeat(2,minmax(0,1fr));}

  .section-title,.shop-banner__title{font-size:clamp(2.4rem,13vw,4.4rem)!important;line-height:.92;}
  .section-head{align-items:flex-start;}

  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .pcard{border-radius:14px;}
  .pcard__body{padding:14px;}
  .pcard__name{font-size:.92rem;line-height:1.25;}
  .pcard__price{font-size:1.18rem;}
  .pcard__actions{gap:8px;}
  .pcard__actions .btn{min-height:42px;padding-inline:10px;}

  .shop-banner{padding-block:38px!important;}
  .shop-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .shop-toolbar__search{grid-column:1 / -1;min-width:0;}
  .shop-dropdown,.pro-select,.shop-select{width:100%;min-width:0;}
  .shop-dropdown__btn,.pro-select__btn,.shop-select{width:100%;}
  .shop-count{grid-column:1 / -1;margin:4px 0 0;}
  .recommend-strip__grid{grid-template-columns:1fr;}

  .pdetail{padding-top:18px;}
  .pdetail__layout{gap:26px;}
  .pdetail__main-img{min-height:300px;}
  .pdetail__name{font-size:clamp(2rem,10vw,3.3rem);}
  .pdetail__price-block{align-items:flex-start;gap:12px;}
  .pdetail__cta{display:grid!important;grid-template-columns:1fr;gap:10px;}
  .pdetail__cta .btn{width:100%;}
  .variant-color{max-width:100%;}

  .cart-layout,.checkout-layout,.account-grid{display:grid!important;grid-template-columns:1fr!important;}
  .cart-panel__head{align-items:flex-start;gap:12px;}
  .cart-panel__clear{white-space:nowrap;}
  .order-sum{width:100%;}
  .fgrid-2,.fgrid-3{grid-template-columns:1fr!important;}
  .fgrid-2 > *,.fgrid-3 > *{grid-column:auto!important;}
  .pay-opts{grid-template-columns:1fr!important;}
  .account-highlights{grid-template-columns:1fr!important;}
  .account-address__grid{grid-template-columns:1fr;}
  .account-hero{padding:24px;}
  .account-hero__actions{display:grid;grid-template-columns:1fr;width:100%;}

  /* Admin mobile */
  .admin-sidebar{max-width:100%;}
  .admin-topbar,.admin-page-header{align-items:flex-start;gap:12px;}
  .kpi-grid,.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px;}
  .admin-form-grid,.form-grid{grid-template-columns:1fr!important;}
  .admin-form-grid > *,.form-grid > *{grid-column:auto!important;}
  .admin-actions{flex-wrap:wrap;}
  .admin-actions .btn{min-height:44px;}
}

/* Celulares pequenos */
@media (max-width: 430px){
  .products-grid{grid-template-columns:1fr;}
  .pcard{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:stretch;}
  .pcard__media,.pcard__img-wrap{min-height:100%;}
  .pcard__body{min-width:0;}
  .hero__stats-row{gap:8px;}
  .shop-toolbar{grid-template-columns:1fr;}
  .shop-toolbar__search,.shop-count{grid-column:1;}
  .kpi-grid,.admin-kpis{grid-template-columns:1fr!important;}
}

/* Acessibilidade e acabamento */
:focus-visible{outline:3px solid rgba(255,122,0,.42);outline-offset:3px;}
.btn,button,.store-action,.store-cat,.pcard{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;}
@media (hover:hover){
  .btn:hover,.pcard:hover{transform:translateY(-2px);}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
