:root{
  --ink:#211d18;
  --muted:#746c63;
  --line:#e7e0d8;
  --paper:#fbfaf8;
  --panel:#ffffff;
  --sand:#efe8df;
  --accent:#6e533b;
  --soft:#f5f1ec;
}


/* ==========================================================
   RESET
   ========================================================== */

*{
  box-sizing:border-box;
}

html{
  width:100%;
  max-width:100%;

  overflow-x:hidden;

  scroll-behavior:smooth;
}

body{
  width:100%;
  max-width:100%;

  margin:0;

  overflow-x:hidden;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color:var(--ink);

  background:var(--paper);
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  -webkit-tap-highlight-color:transparent;
}

a{
  text-decoration:none;

  color:inherit;
}

img{
  display:block;

  max-width:100%;
}

.shell{
  width:100%;
  max-width:1240px;

  margin:auto;

  padding:0 24px;
}


/* ==========================================================
   PROTEÇÃO CONTRA ESTOURO HORIZONTAL
   ========================================================== */

.config,
.builder,
.summary,
.grid2,
.cards,
.preview-carousel,
.preview,
.fabrics,
.benefits,
.fabric-grid,
.field,
.control,
.pagina-carrinho,
.carrinho-layout,
.carrinho-itens,
.carrinho-item,
.carrinho-item-conteudo,
.carrinho-resumo,
.pagina-checkout,
.checkout-layout,
.checkout-formulario,
.checkout-bloco,
.checkout-resumo,
.checkout-grid{
  min-width:0;

  max-width:100%;
}


/* ==========================================================
   TOPO
   ========================================================== */

.topbar{
  position:sticky;

  top:0;

  z-index:20;

  width:100%;

  background:
    rgba(251,250,248,.93);

  backdrop-filter:
    blur(14px);

  -webkit-backdrop-filter:
    blur(14px);

  border-bottom:
    1px solid var(--line);
}

.nav{
  height:74px;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:24px;
}

.logo{
  flex-shrink:0;

  font-family:
    Georgia,
    serif;

  font-size:24px;

  letter-spacing:.12em;
}

.logo small{
  display:block;

  margin-top:4px;

  font:
    500 9px/1.3
    Inter,
    sans-serif;

  letter-spacing:.35em;
}

.navlinks{
  display:flex;

  align-items:center;

  gap:26px;

  margin-left:auto;

  font-size:13px;
}

.navlinks a{
  white-space:nowrap;

  transition:
    opacity .2s ease;
}

.navlinks a:hover{
  opacity:.6;
}


/* ==========================================================
   AÇÕES DO CABEÇALHO
   ========================================================== */

.nav-acoes{
  display:flex;

  align-items:center;

  gap:10px;

  flex-shrink:0;
}

.cta-small{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  min-height:40px;

  padding:9px 15px;

  border:
    1px solid var(--ink);

  border-radius:999px;

  font-size:12px;

  white-space:nowrap;

  transition:
    background .2s ease,
    color .2s ease;
}

.cta-small:hover{
  background:var(--ink);

  color:#fff;
}


/* ==========================================================
   CARRINHO NO TOPO
   ========================================================== */

.carrinho-link-topo{
  position:relative;

  display:flex;

  align-items:center;
  justify-content:center;

  gap:7px;

  min-height:40px;

  padding:9px 13px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:999px;

  font-size:12px;

  transition:
    border-color .2s ease,
    background .2s ease,
    transform .2s ease;
}

.carrinho-link-topo:hover{
  border-color:
    var(--accent);

  background:
    var(--soft);

  transform:
    translateY(-1px);
}

.carrinho-icone{
  display:flex;

  align-items:center;
  justify-content:center;

  font-size:16px;

  line-height:1;
}

.carrinho-texto{
  white-space:nowrap;
}

.contador-carrinho{
  position:absolute;

  top:-7px;
  right:-6px;

  width:21px;
  height:21px;

  display:none;

  align-items:center;
  justify-content:center;

  background:
    var(--ink);

  color:#fff;

  border:
    2px solid var(--paper);

  border-radius:50%;

  font-size:10px;
  font-weight:700;

  line-height:1;
}


/* ==========================================================
   HERO
   ========================================================== */

.hero{
  position:relative;

  width:100%;

  min-height:380px;

  overflow:hidden;

  background:
    linear-gradient(
      105deg,
      #f6f0e8 0%,
      #f6f0e8 48%,
      #e5d8c9 48%,
      #c6b19a 100%
    );
}

.hero::after{
  content:"";

  position:absolute;

  right:8%;
  top:0;

  width:34%;
  height:100%;

  opacity:.45;

  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.88) 0 8px,
      rgba(255,255,255,.12) 8px 24px
    );

  filter:
    drop-shadow(
      0 8px 20px
      rgba(0,0,0,.08)
    );
}

.hero-copy{
  position:relative;

  z-index:2;

  width:100%;
  max-width:590px;

  padding:
    68px 0
    94px;
}

.kicker{
  text-transform:uppercase;

  letter-spacing:.16em;

  font-size:11px;

  color:var(--accent);
}

h1{
  margin:
    13px 0
    18px;

  font-family:
    Georgia,
    serif;

  font-size:54px;
  font-weight:400;

  line-height:1.02;
}

.hero p{
  max-width:480px;

  font-size:17px;

  line-height:1.6;

  color:#56504a;
}

.pill{
  display:inline-flex;

  max-width:100%;

  align-items:center;

  gap:8px;

  margin-top:8px;

  padding:
    10px 14px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:999px;

  font-size:12px;
}


/* ==========================================================
   CONFIGURADOR
   ========================================================== */

.config-wrap{
  position:relative;

  z-index:5;

  width:100%;

  margin-top:-58px;

  padding-bottom:50px;
}

.config{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1.55fr)
    minmax(320px,.75fr);

  overflow:hidden;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:24px;

  box-shadow:
    0 30px 80px
    rgba(45,34,24,.10);
}

.builder{
  width:100%;

  padding:
    34px 38px
    40px;
}

.summary{
  position:relative;

  width:100%;

  padding:30px;

  background:
    #f8f5f1;

  border-left:
    1px solid var(--line);
}


/* ==========================================================
   ETAPAS
   ========================================================== */

.steps{
  display:grid;

  grid-template-columns:
    repeat(5,1fr);

  gap:5px;

  margin-bottom:32px;
}

.step{
  position:relative;

  text-align:center;

  font-size:11px;

  color:var(--muted);
}

.step::before{
  content:
    attr(data-n);

  display:flex;

  width:30px;
  height:30px;

  align-items:center;
  justify-content:center;

  margin:
    0 auto
    8px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:50%;

  color:var(--ink);
}

.step.active::before{
  background:
    var(--ink);

  color:#fff;

  border-color:
    var(--ink);
}


/* ==========================================================
   TÍTULOS
   ========================================================== */

.section-title{
  margin:
    0 0
    4px;

  font-family:
    Georgia,
    serif;

  font-size:28px;

  font-weight:400;
}

.section-sub{
  margin:
    0 0
    24px;

  font-size:13px;

  color:var(--muted);
}


/* ==========================================================
   CAMPOS
   ========================================================== */

.grid2{
  width:100%;

  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:16px;
}

.field{
  width:100%;

  min-width:0;
}

.field label{
  display:block;

  margin-bottom:7px;

  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.04em;
}

.control{
  width:100%;

  min-width:0;

  display:flex;

  align-items:center;

  overflow:hidden;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:12px;
}

.control input,
.control select{
  width:100%;

  min-width:0;

  padding:
    15px 14px;

  border:0;

  outline:0;

  background:
    transparent;

  color:var(--ink);
}

.control select option:disabled{
  color:#aaa;
}

.unit{
  flex-shrink:0;

  padding-right:14px;

  font-size:12px;

  color:var(--muted);
}

.field-help{
  display:block;

  margin-top:7px;

  font-size:10px;

  color:var(--muted);
}


/* ==========================================================
   CARDS
   ========================================================== */

.choice-title{
  margin:
    27px 0
    10px;

  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.05em;
}

.cards{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:12px;
}

.cards.two{
  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );
}

.card{
  width:100%;

  min-width:0;
  min-height:96px;

  padding:16px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:13px;

  cursor:pointer;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.card:hover{
  transform:
    translateY(-1px);

  box-shadow:
    0 10px 22px
    rgba(0,0,0,.05);
}

.card.selected{
  border:
    1.5px solid
    var(--accent);

  box-shadow:
    inset 0 0 0 1px
    var(--accent);
}

.card strong{
  display:block;

  margin-bottom:5px;

  font-size:13px;
}

.card span{
  font-size:11px;

  line-height:1.4;

  color:var(--muted);
}


/* ==========================================================
   CORES DO TECIDO
   ========================================================== */

#cores-choice{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(
      5,
      minmax(0,1fr)
    );

  gap:12px;
}

#cores-choice .card-cor{
  width:100%;

  min-width:0;
  min-height:0;

  padding:6px;

  display:flex;

  flex-direction:column;

  overflow:hidden;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:12px;

  cursor:pointer;
}

#cores-choice .card-cor:hover{
  transform:none;
}

#cores-choice .card-cor.selected{
  border:
    2px solid
    var(--accent);

  box-shadow:none;
}

#cores-choice .card-cor-img{
  width:100%;
  height:100px;

  margin:
    0 0
    8px;

  object-fit:cover;
  object-position:center;

  border-radius:9px;

  image-rendering:auto;

  backface-visibility:hidden;
}

#cores-choice .card-cor strong{
  display:block;

  width:100%;

  margin:0;

  padding:
    2px 2px
    4px;

  font-size:11px;

  line-height:1.2;

  text-align:center;
}


/* ==========================================================
   BOTÕES
   ========================================================== */

.next{
  display:flex;

  justify-content:flex-end;

  margin-top:28px;
}

.btn{
  padding:
    14px 20px;

  border:0;

  border-radius:12px;

  cursor:pointer;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.btn:hover{
  transform:
    translateY(-1px);
}

.btn.primary{
  min-width:170px;

  background:
    var(--ink);

  color:#fff;
}

.btn.ghost{
  background:#fff;

  border:
    1px solid var(--line);
}

.btn-conhecer-cor{
  margin-top:12px;

  padding:
    11px 16px;

  background:
    var(--accent);

  color:#fff;

  border:0;

  border-radius:10px;

  font-size:12px;
  font-weight:600;

  cursor:pointer;

  transition:
    background .2s ease;
}

.btn-conhecer-cor:hover{
  background:
    var(--ink);
}


/* ==========================================================
   RESUMO
   ========================================================== */

.summary h2{
  margin:
    0 0
    18px;

  font-family:
    Georgia,
    serif;

  font-weight:400;
}


/* ==========================================================
   CARROSSEL
   ========================================================== */

.preview-carousel{
  position:relative;

  width:100%;

  margin-bottom:20px;
}

.preview{
  position:relative;

  width:100%;
  height:300px;

  overflow:hidden;

  background:
    #f3eee8;

  border-radius:16px;

  box-shadow:
    0 10px 28px
    rgba(33,29,24,.10);
}

.preview img{
  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  cursor:zoom-in;

  transition:
    transform .35s ease,
    opacity .2s ease;
}

.preview:hover img{
  transform:
    scale(1.025);
}


/* ==========================================================
   INFO DO CARROSSEL
   ========================================================== */

.preview-info{
  position:absolute;

  left:14px;
  bottom:14px;

  z-index:5;

  min-width:120px;

  max-width:
    calc(100% - 28px);

  padding:
    9px 12px;

  background:
    rgba(255,255,255,.94);

  border-radius:10px;

  box-shadow:
    0 5px 18px
    rgba(0,0,0,.13);

  pointer-events:none;
}

.preview-info small{
  display:block;

  margin-bottom:2px;

  font-size:10px;

  line-height:1.2;

  color:var(--muted);
}

.preview-info strong{
  display:block;

  font-size:13px;

  line-height:1.2;

  color:var(--ink);
}


/* ==========================================================
   SETAS
   ========================================================== */

.preview-nav{
  position:absolute;

  top:50%;

  transform:
    translateY(-50%);

  width:42px;
  height:42px;

  padding:0;

  display:flex;

  align-items:center;
  justify-content:center;

  background:
    rgba(255,255,255,.94);

  color:var(--ink);

  border:0;

  border-radius:50%;

  font-size:25px;

  line-height:1;

  cursor:pointer;

  z-index:6;

  box-shadow:
    0 5px 18px
    rgba(0,0,0,.12);

  transition:
    background .2s ease,
    color .2s ease;
}

.preview-prev{
  left:14px;
}

.preview-next{
  right:14px;
}

.preview-nav:hover{
  background:
    var(--ink);

  color:#fff;
}


/* ==========================================================
   BOTÃO ZOOM
   ========================================================== */

.preview-zoom{
  position:absolute;

  right:12px;
  top:12px;

  width:38px;
  height:38px;

  padding:0;

  display:flex;

  align-items:center;
  justify-content:center;

  background:
    rgba(255,255,255,.94);

  color:var(--ink);

  border:0;

  border-radius:50%;

  font-size:18px;

  cursor:pointer;

  z-index:7;

  box-shadow:
    0 5px 18px
    rgba(0,0,0,.10);
}


/* ==========================================================
   BOLINHAS
   ========================================================== */

.preview-dots{
  width:100%;

  display:flex;

  justify-content:center;
  align-items:center;

  flex-wrap:wrap;

  gap:6px;

  margin-top:10px;
}

.preview-dot{
  width:7px;
  height:7px;

  padding:0;

  background:#d4ccc4;

  border:0;

  border-radius:50%;

  cursor:pointer;
}

.preview-dot.active{
  width:20px;

  background:
    var(--accent);

  border-radius:999px;
}

.preview-carousel.single-image .preview-nav,
.preview-carousel.single-image .preview-dots{
  display:none;
}


/* ==========================================================
   ITENS RESUMO
   ========================================================== */

.item{
  width:100%;

  display:flex;

  justify-content:space-between;

  gap:12px;

  padding:
    9px 0;

  border-bottom:
    1px solid #e8e0d8;

  font-size:12px;
}

.item b{
  font-weight:600;
}

.item span{
  min-width:0;

  color:var(--muted);

  text-align:right;

  overflow-wrap:anywhere;
}


/* ==========================================================
   PREÇO
   ========================================================== */

.pricebox{
  padding:
    20px 0
    16px;
}

.pricebox > small{
  display:block;

  margin-bottom:12px;

  color:var(--muted);
}

.produto-preco-linha{
  display:flex;

  align-items:flex-start;
  justify-content:space-between;

  gap:18px;

  padding:
    11px 0;

  border-bottom:
    1px solid var(--line);
}

.produto-preco-info{
  min-width:0;
}

.produto-preco-info strong{
  display:block;

  margin-bottom:3px;

  font-size:12px;
}

.produto-preco-info span{
  display:block;

  font-size:10px;

  line-height:1.4;

  color:var(--muted);
}

.produto-preco-valor{
  flex-shrink:0;

  font-size:13px;
  font-weight:600;

  white-space:nowrap;
}

.total-orcamento{
  display:flex;

  align-items:flex-end;
  justify-content:space-between;

  gap:16px;

  margin-top:16px;
}

.total-orcamento > span{
  font-size:13px;

  font-weight:600;
}

.price{
  margin:
    3px 0;

  font-family:
    Georgia,
    serif;

  font-size:34px;
}

.price.sob-consulta{
  font-size:28px;
}

.installments{
  margin-top:5px;

  font-size:12px;

  text-align:right;

  color:var(--muted);
}

.summary .btn{
  width:100%;

  margin-top:9px;
}

.note{
  margin-top:14px;

  font-size:10px;

  line-height:1.5;

  color:#8b8177;
}


/* ==========================================================
   BARRA
   ========================================================== */

.barra-info{
  margin-top:8px;

  padding:
    10px 12px;

  background:
    var(--soft);

  border-radius:10px;

  font-size:11px;

  line-height:1.5;

  color:var(--muted);
}

.barra-resumo{
  padding:
    9px 0
    3px;

  font-size:10px;

  line-height:1.45;

  color:var(--muted);
}


/* ==========================================================
   SELETOR DE TRILHO
   ========================================================== */

.trilho-descricao{
  margin:
    0 0
    9px;

  font-size:13px;

  line-height:1.5;

  color:var(--muted);
}

.trilho-select-wrapper{
  position:relative;

  width:100%;

  max-width:100%;
}

.trilho-select{
  width:100%;

  min-height:52px;

  padding:
    0 46px
    0 14px;

  background:#fff;

  color:var(--ink);

  border:
    1px solid var(--line);

  border-radius:10px;

  outline:none;

  font-size:14px;

  cursor:pointer;

  appearance:none;

  -webkit-appearance:none;

  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

.trilho-select-wrapper::after{
  content:"";

  position:absolute;

  right:18px;
  top:50%;

  width:8px;
  height:8px;

  border-right:
    2px solid var(--ink);

  border-bottom:
    2px solid var(--ink);

  transform:
    translateY(-70%)
    rotate(45deg);

  pointer-events:none;
}

.trilho-select:hover{
  border-color:#cbbcaf;
}

.trilho-select:focus{
  border-color:
    var(--accent);

  box-shadow:
    0 0 0 2px
    rgba(110,83,59,.10);
}

.trilho-select option{
  background:#fff;

  color:var(--ink);

  font-size:14px;
}


/* ==========================================================
   BENEFÍCIOS
   ========================================================== */

.benefits{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:14px;

  padding:
    8px 0
    55px;
}

.benefit{
  min-width:0;

  padding:
    20px 18px;

  border-top:
    1px solid var(--line);
}

.benefit b{
  font-size:13px;
}

.benefit p{
  font-size:11px;

  line-height:1.5;

  color:var(--muted);
}


/* ==========================================================
   TECIDOS
   ========================================================== */

.fabrics{
  width:100%;

  margin-bottom:48px;

  padding:30px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:22px;
}

.fabrics-head{
  display:flex;

  align-items:flex-end;
  justify-content:space-between;
}

.fabrics h3{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:28px;

  font-weight:400;
}

.fabric-grid{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:14px;

  margin-top:20px;
}

.fabric{
  position:relative;

  min-width:0;

  height:230px;

  overflow:hidden;

  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      #eee7de,
      #cdbca9
    );
}

.fabric:nth-child(2){
  background:
    linear-gradient(
      135deg,
      #ede2d3,
      #bba68e
    );
}

.fabric:nth-child(3){
  background:
    linear-gradient(
      135deg,
      #f7f4ef,
      #d4c9bd
    );
}

.fabric:nth-child(4){
  background:
    linear-gradient(
      135deg,
      #ddd1c5,
      #aa927b
    );
}

.fabric::before{
  content:"";

  position:absolute;

  inset:0;

  background:
    repeating-linear-gradient(
      15deg,
      rgba(255,255,255,.16) 0 2px,
      transparent 2px 5px
    );
}

.fabric label{
  position:absolute;

  left:12px;
  bottom:12px;

  padding:
    10px 11px;

  background:
    rgba(255,255,255,.92);

  border-radius:9px;

  font-family:
    Georgia,
    serif;
}


/* ==========================================================
   MODAL COR
   ========================================================== */

.modal-cor{
  position:fixed;

  inset:0;

  z-index:9999;

  display:none;
}

.modal-cor.aberto{
  display:block;
}

.modal-cor-fundo{
  position:absolute;

  inset:0;

  background:
    rgba(0,0,0,.55);

  backdrop-filter:
    blur(2px);

  -webkit-backdrop-filter:
    blur(2px);
}

.modal-cor-conteudo{
  position:absolute;

  top:3vh;
  bottom:3vh;

  left:50%;

  width:
    min(900px,92vw);

  max-width:92vw;

  padding:28px;

  overflow-y:auto;
  overflow-x:hidden;

  transform:
    translateX(-50%);

  background:#fff;

  border-radius:18px;

  box-shadow:
    0 20px 70px
    rgba(0,0,0,.30);
}

.modal-cor-fechar{
  position:sticky;

  top:0;

  display:flex;

  width:42px;
  height:42px;

  align-items:center;
  justify-content:center;

  margin-left:auto;

  padding:0;

  background:
    var(--ink);

  color:#fff;

  border:0;

  border-radius:50%;

  font-size:28px;

  line-height:1;

  cursor:pointer;

  z-index:5;
}

.modal-cor-cabecalho{
  margin-bottom:24px;
}

.modal-cor-tecido{
  display:block;

  margin-bottom:4px;

  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.12em;

  color:var(--muted);
}

.modal-cor-cabecalho h2{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:32px;

  font-weight:400;
}

.modal-cor-galeria{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:18px;
}

.modal-cor-foto{
  width:100%;
}

.modal-cor-galeria img{
  width:100%;
  height:auto;

  border-radius:12px;
}

.modal-cor-legenda{
  margin-top:8px;

  font-size:14px;

  font-weight:600;

  color:#5f5750;
}

body.modal-aberto{
  overflow:hidden;
}


/* ==========================================================
   ZOOM
   ========================================================== */

.zoom-foto{
  position:fixed;

  inset:0;

  z-index:10000;

  display:none;
}

.zoom-foto.aberto{
  display:block;
}

.zoom-foto-fundo{
  position:absolute;

  inset:0;

  background:
    rgba(0,0,0,.82);
}

.zoom-foto-conteudo{
  position:absolute;

  left:50%;
  top:50%;

  transform:
    translate(-50%,-50%);

  width:
    min(1000px,92vw);

  height:
    min(900px,92vh);

  max-width:92vw;
  max-height:92vh;

  display:flex;

  align-items:center;
  justify-content:center;
}

.zoom-imagem-wrapper{
  position:relative;

  max-width:100%;
  max-height:88vh;

  display:flex;

  align-items:center;
  justify-content:center;
}

.zoom-imagem-wrapper #zoom-foto-img{
  width:auto;
  height:auto;

  max-width:100%;
  max-height:88vh;

  object-fit:contain;

  border-radius:12px;

  box-shadow:
    0 15px 50px
    rgba(0,0,0,.30);
}

.zoom-foto-info{
  position:absolute;

  left:16px;
  bottom:16px;

  z-index:8;

  min-width:140px;

  max-width:
    calc(100% - 32px);

  padding:
    10px 14px;

  background:
    rgba(255,255,255,.95);

  border-radius:10px;

  box-shadow:
    0 5px 20px
    rgba(0,0,0,.20);

  pointer-events:none;
}

.zoom-foto-info small{
  display:block;

  margin-bottom:3px;

  font-size:11px;

  line-height:1.2;

  color:var(--muted);
}

.zoom-foto-info strong{
  display:block;

  font-size:15px;

  line-height:1.2;

  color:var(--ink);
}

.zoom-foto-fechar{
  position:absolute;

  top:0;
  right:0;

  width:44px;
  height:44px;

  padding:0;

  display:flex;

  align-items:center;
  justify-content:center;

  background:#fff;

  color:var(--ink);

  border:0;

  border-radius:50%;

  font-size:28px;

  line-height:1;

  cursor:pointer;

  z-index:20;

  box-shadow:
    0 5px 20px
    rgba(0,0,0,.18);
}

.zoom-nav{
  position:absolute;

  top:50%;

  transform:
    translateY(-50%);

  width:48px;
  height:48px;

  padding:0;

  display:flex;

  align-items:center;
  justify-content:center;

  background:
    rgba(255,255,255,.95);

  color:var(--ink);

  border:0;

  border-radius:50%;

  font-size:30px;

  line-height:1;

  cursor:pointer;

  z-index:20;

  box-shadow:
    0 6px 20px
    rgba(0,0,0,.18);

  transition:
    background .2s ease,
    color .2s ease;
}

.zoom-prev{
  left:18px;
}

.zoom-next{
  right:18px;
}

.zoom-nav:hover{
  background:
    var(--ink);

  color:#fff;
}


/* ==========================================================
   RODAPÉ
   ========================================================== */

.footer{
  width:100%;

  padding:
    36px 0
    50px;

  border-top:
    1px solid var(--line);

  font-size:12px;

  color:var(--muted);
}


/* ==========================================================
   TOAST
   ========================================================== */

.toast{
  position:fixed;

  right:22px;
  bottom:22px;

  z-index:30;

  max-width:
    calc(100vw - 44px);

  padding:
    14px 16px;

  background:
    var(--ink);

  color:#fff;

  border-radius:12px;

  font-size:12px;

  box-shadow:
    0 12px 30px
    rgba(0,0,0,.20);

  opacity:0;

  transform:
    translateY(10px);

  pointer-events:none;

  transition:.25s;
}

.toast.show{
  opacity:1;

  transform:
    translateY(0);
}


/* ==========================================================
   CARRINHO
   ========================================================== */

.pagina-carrinho{
  width:100%;
  max-width:1180px;

  margin:
    0 auto;

  padding:
    46px 24px
    80px;
}

.carrinho-topo{
  margin-bottom:30px;
}

.carrinho-voltar{
  display:inline-flex;

  align-items:center;

  margin-bottom:18px;

  color:var(--muted);

  font-size:13px;

  transition:
    opacity .2s ease;
}

.carrinho-voltar:hover{
  opacity:.65;
}

.carrinho-titulo{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:38px;
  font-weight:400;

  line-height:1.1;
}

.carrinho-subtitulo{
  margin:
    8px 0
    0;

  font-size:14px;

  color:var(--muted);
}


/* ==========================================================
   LAYOUT DO CARRINHO
   ========================================================== */

.carrinho-layout{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(300px,360px);

  gap:28px;

  align-items:start;
}

.carrinho-itens{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:16px;
}


/* ==========================================================
   ITEM DO CARRINHO
   ========================================================== */

.carrinho-item{
  width:100%;

  display:grid;

  grid-template-columns:
    150px
    minmax(0,1fr);

  gap:20px;

  padding:18px;

  background:
    var(--panel);

  border:
    1px solid var(--line);

  border-radius:16px;

  box-shadow:
    0 8px 28px
    rgba(33,29,24,.04);
}

.carrinho-item-imagem{
  width:150px;
  height:150px;

  object-fit:cover;

  border-radius:12px;

  background:
    var(--soft);
}

.carrinho-item-sem-imagem{
  width:150px;
  height:150px;

  display:flex;

  align-items:center;
  justify-content:center;

  padding:15px;

  background:
    var(--soft);

  border-radius:12px;

  color:var(--muted);

  text-align:center;

  font-size:11px;
}

.carrinho-item-conteudo{
  width:100%;

  min-width:0;
}

.carrinho-item-topo{
  display:flex;

  align-items:flex-start;
  justify-content:space-between;

  gap:18px;
}

.carrinho-item-titulo{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:20px;
  font-weight:400;
}

.carrinho-item-preco{
  flex-shrink:0;

  font-size:17px;

  font-weight:700;

  white-space:nowrap;
}

.carrinho-item-detalhes{
  margin-top:14px;

  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:
    7px 20px;

  font-size:12px;

  line-height:1.45;

  color:var(--muted);
}

.carrinho-item-detalhes div{
  min-width:0;

  overflow-wrap:anywhere;
}

.carrinho-item-detalhes strong{
  color:var(--ink);

  font-weight:600;
}

.carrinho-item-acoes{
  margin-top:18px;

  display:flex;

  align-items:center;

  gap:12px;
}

.carrinho-remover{
  padding:0;

  background:
    transparent;

  color:#9f5148;

  border:0;

  font-size:12px;

  cursor:pointer;
}

.carrinho-remover:hover{
  text-decoration:underline;
}


/* ==========================================================
   RESUMO DO CARRINHO
   ========================================================== */

.carrinho-resumo{
  position:sticky;

  top:95px;

  width:100%;

  padding:24px;

  background:
    #f8f5f1;

  border:
    1px solid var(--line);

  border-radius:16px;

  box-shadow:
    0 12px 34px
    rgba(33,29,24,.06);
}

.carrinho-resumo-titulo,
.carrinho-resumo h2{
  margin:
    0 0
    22px;

  font-family:
    Georgia,
    serif;

  font-size:23px;
  font-weight:400;
}

.carrinho-resumo-linha{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:16px;

  margin-bottom:12px;

  font-size:13px;

  color:var(--muted);
}

.carrinho-resumo-linha strong{
  color:var(--ink);

  font-weight:600;

  white-space:nowrap;
}

.carrinho-resumo-divisor{
  height:1px;

  margin:
    20px 0;

  background:
    var(--line);
}

.carrinho-resumo-total{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:16px;

  color:var(--ink);
}

.carrinho-resumo-total span:first-child{
  font-size:14px;

  font-weight:600;
}

.carrinho-resumo-total strong,
#carrinho-total{
  font-family:
    Georgia,
    serif;

  font-size:29px;
  font-weight:400;
}

.carrinho-parcelamento{
  margin-top:7px;

  text-align:right;

  font-size:11px;

  color:var(--muted);
}


/* ==========================================================
   BOTÕES DO CARRINHO
   ========================================================== */

.carrinho-finalizar{
  width:100%;

  margin-top:24px;

  padding:
    15px 18px;

  background:
    var(--ink);

  color:#fff;

  border:0;

  border-radius:12px;

  font-size:13px;
  font-weight:600;

  cursor:pointer;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.carrinho-finalizar:hover{
  opacity:.92;

  transform:
    translateY(-1px);
}

.carrinho-continuar{
  width:100%;

  display:flex;

  align-items:center;
  justify-content:center;

  margin-top:10px;

  padding:
    14px 18px;

  background:#fff;

  color:var(--ink);

  border:
    1px solid var(--line);

  border-radius:12px;

  font-size:12px;
  font-weight:600;

  transition:
    border-color .2s ease,
    background .2s ease;
}

.carrinho-continuar:hover{
  border-color:#cabbae;

  background:
    var(--paper);
}


/* ==========================================================
   CARRINHO VAZIO
   ========================================================== */

.carrinho-vazio{
  width:100%;

  padding:
    70px 24px;

  text-align:center;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:18px;
}

.carrinho-vazio[hidden]{
  display:none;
}

.carrinho-vazio-icone{
  margin-bottom:12px;

  font-size:38px;
}

.carrinho-vazio h2{
  margin:
    0 0
    8px;

  font-family:
    Georgia,
    serif;

  font-size:27px;
  font-weight:400;
}

.carrinho-vazio p{
  max-width:420px;

  margin:
    0 auto
    24px;

  color:var(--muted);

  font-size:13px;

  line-height:1.6;
}

.carrinho-vazio-botao{
  display:inline-flex;

  padding:
    13px 19px;

  background:
    var(--ink);

  color:#fff;

  border-radius:11px;

  font-size:12px;

  font-weight:600;
}


/* ==========================================================
   CHECKOUT
   ========================================================== */

.pagina-checkout{
  width:100%;
  max-width:1180px;

  margin:
    0 auto;

  padding:
    46px 24px
    80px;
}

.checkout-topo{
  margin-bottom:30px;
}

.checkout-voltar{
  display:inline-flex;

  align-items:center;

  margin-bottom:18px;

  color:var(--muted);

  font-size:13px;

  transition:
    opacity .2s ease;
}

.checkout-voltar:hover{
  opacity:.65;
}

.checkout-titulo{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:40px;
  font-weight:400;

  line-height:1.08;
}

.checkout-subtitulo{
  margin:
    9px 0
    0;

  color:var(--muted);

  font-size:14px;
}


/* ==========================================================
   LAYOUT CHECKOUT
   ========================================================== */

.checkout-layout{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(320px,380px);

  gap:28px;

  align-items:start;
}


/* ==========================================================
   FORMULÁRIO CHECKOUT
   ========================================================== */

.checkout-formulario{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:18px;
}

.checkout-bloco{
  width:100%;

  padding:28px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:18px;

  box-shadow:
    0 10px 30px
    rgba(33,29,24,.04);
}

.checkout-bloco h2{
  margin:
    0 0
    22px;

  font-family:
    Georgia,
    serif;

  font-size:24px;

  font-weight:400;
}

.checkout-grid{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:18px;
}

.checkout-field{
  min-width:0;
}

.checkout-field-full{
  grid-column:
    1 / -1;
}

.checkout-field label{
  display:block;

  margin-bottom:7px;

  color:var(--ink);

  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.04em;
}

.checkout-field input,
.checkout-field select,
.checkout-field textarea{
  width:100%;

  min-width:0;

  padding:
    14px 14px;

  background:#fff;

  color:var(--ink);

  border:
    1px solid var(--line);

  border-radius:11px;

  outline:none;

  font-size:14px;

  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

.checkout-field textarea{
  min-height:110px;

  resize:vertical;

  line-height:1.5;
}

.checkout-field input::placeholder,
.checkout-field textarea::placeholder{
  color:#aaa29a;
}

.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus{
  border-color:
    var(--accent);

  box-shadow:
    0 0 0 3px
    rgba(110,83,59,.08);
}

.checkout-campo-erro{
  border-color:
    #b95d52 !important;

  box-shadow:
    0 0 0 3px
    rgba(185,93,82,.08) !important;
}


/* ==========================================================
   PRAZOS
   ========================================================== */

.checkout-prazos{
  background:
    var(--soft);
}

.checkout-prazo-linha{
  display:flex;

  justify-content:space-between;

  gap:18px;

  padding:
    11px 0;

  border-bottom:
    1px solid var(--line);

  font-size:13px;
}

.checkout-prazo-linha:last-of-type{
  border-bottom:0;
}

.checkout-prazo-linha span{
  color:var(--muted);
}

.checkout-prazo-linha strong{
  text-align:right;
}

.checkout-prazos p{
  margin:
    14px 0
    0;

  color:var(--muted);

  font-size:11px;

  line-height:1.55;
}


/* ==========================================================
   RESUMO CHECKOUT
   ========================================================== */

.checkout-resumo{
  position:sticky;

  top:95px;

  width:100%;

  padding:24px;

  background:
    #f8f5f1;

  border:
    1px solid var(--line);

  border-radius:18px;

  box-shadow:
    0 14px 38px
    rgba(33,29,24,.06);
}

.checkout-resumo h2{
  margin:
    0 0
    20px;

  font-family:
    Georgia,
    serif;

  font-size:24px;

  font-weight:400;
}

.checkout-itens{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:13px;
}

.checkout-item{
  padding:
    13px 0;

  border-bottom:
    1px solid var(--line);
}

.checkout-item:last-child{
  border-bottom:0;
}

.checkout-item-topo{
  display:flex;

  justify-content:space-between;

  gap:14px;

  align-items:flex-start;
}

.checkout-item-topo strong{
  font-size:13px;
}

.checkout-item-produto{
  margin-top:5px;

  color:var(--ink);

  font-size:12px;

  font-weight:600;
}

.checkout-item-detalhe{
  margin-top:3px;

  color:var(--muted);

  font-size:11px;

  line-height:1.4;
}

.checkout-resumo-divisor{
  height:1px;

  margin:
    19px 0;

  background:
    var(--line);
}

.checkout-resumo-linha{
  display:flex;

  justify-content:space-between;

  gap:18px;

  margin-bottom:11px;

  color:var(--muted);

  font-size:13px;
}

.checkout-resumo-linha strong{
  color:var(--ink);

  white-space:nowrap;
}

.checkout-total{
  display:flex;

  justify-content:space-between;

  gap:18px;

  align-items:center;
}

.checkout-total span{
  font-size:14px;

  font-weight:600;
}

.checkout-total strong{
  font-family:
    Georgia,
    serif;

  font-size:29px;

  font-weight:400;
}

.checkout-parcelamento{
  margin-top:6px;

  color:var(--muted);

  font-size:11px;

  text-align:right;
}

.checkout-frete-aviso{
  margin-top:16px;

  padding:
    12px 13px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:10px;

  color:var(--muted);

  font-size:11px;

  line-height:1.5;
}

.checkout-botao{
  width:100%;

  margin-top:20px;

  padding:
    15px 18px;

  background:
    var(--ink);

  color:#fff;

  border:0;

  border-radius:12px;

  font-size:13px;

  font-weight:600;

  cursor:pointer;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.checkout-botao:hover{
  opacity:.92;

  transform:
    translateY(-1px);
}

.checkout-editar{
  width:100%;

  display:flex;

  justify-content:center;
  align-items:center;

  margin-top:10px;

  padding:
    13px 16px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:12px;

  font-size:12px;

  font-weight:600;
}

.checkout-vazio{
  max-width:650px;

  margin:
    70px auto;

  padding:
    45px 28px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:18px;

  text-align:center;
}

.checkout-vazio h1{
  margin:
    0 0
    10px;

  font-size:35px;
}

.checkout-vazio p{
  margin:
    0 0
    22px;

  color:var(--muted);

  line-height:1.55;
}

.checkout-vazio a{
  display:inline-flex;

  padding:
    13px 18px;

  background:
    var(--ink);

  color:#fff;

  border-radius:11px;

  font-size:12px;

  font-weight:600;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1050px){

  .nav{
    gap:15px;
  }

  .navlinks{
    gap:16px;

    font-size:12px;
  }

  .cta-small{
    display:none;
  }

}


@media(max-width:900px){

  .navlinks{
    display:none;
  }

  .hero{
    min-height:330px;
  }

  .hero-copy{
    padding:
      50px 0
      80px;
  }

  h1{
    font-size:42px;
  }

  .config{
    grid-template-columns:
      1fr;
  }

  .summary{
    border-left:0;

    border-top:
      1px solid var(--line);
  }

  .benefits,
  .fabric-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  #cores-choice{
    grid-template-columns:
      repeat(
        5,
        minmax(0,1fr)
      );
  }

  .carrinho-layout{
    grid-template-columns:
      1fr;
  }

  .carrinho-resumo{
    position:static;
  }

  .checkout-layout{
    grid-template-columns:
      1fr;
  }

  .checkout-resumo{
    position:static;
  }

}


/* ==========================================================
   CELULAR
   ========================================================== */

@media(max-width:600px){

  html,
  body{
    width:100%;

    max-width:100vw;

    overflow-x:hidden;
  }


  /* ========================================================
     CONTAINER
     ======================================================== */

  .shell{
    width:100%;

    max-width:100%;

    margin:
      0 auto;

    padding-left:12px;
    padding-right:12px;
  }


  /* ========================================================
     TOPO
     ======================================================== */

  .topbar{
    width:100%;
  }

  .nav{
    width:100%;

    height:64px;

    gap:10px;

    justify-content:
      space-between;
  }

  .logo{
    font-size:19px;
  }

  .navlinks{
    display:none;
  }

  .nav-acoes{
    margin-left:auto;

    gap:0;
  }

  .nav-acoes .cta-small{
    display:none;
  }

  .carrinho-link-topo{
    width:42px;
    height:42px;

    min-height:42px;

    padding:0;

    border-radius:50%;
  }

  .carrinho-texto{
    display:none;
  }

  .carrinho-icone{
    font-size:18px;
  }

  .contador-carrinho{
    top:-5px;
    right:-5px;
  }


  /* ========================================================
     HERO
     ======================================================== */

  .hero{
    width:100%;

    min-height:310px;

    overflow:hidden;
  }

  .hero::after{
    right:-15%;

    width:55%;
  }

  .hero-copy{
    width:100%;

    max-width:100%;

    padding:
      42px 0
      70px;
  }

  h1{
    max-width:100%;

    font-size:36px;

    line-height:1.05;

    overflow-wrap:
      break-word;
  }

  .hero p{
    width:100%;

    max-width:100%;

    font-size:15px;
  }

  .pill{
    max-width:100%;

    white-space:normal;
  }


  /* ========================================================
     CONFIGURADOR
     ======================================================== */

  .config-wrap{
    width:100%;

    margin-top:-30px;
  }

  .config{
    width:100%;

    display:block;

    border-radius:18px;
  }

  .builder,
  .summary{
    width:100%;

    min-width:0;

    padding:
      22px 16px;
  }

  .summary{
    border-left:0;

    border-top:
      1px solid var(--line);
  }


  /* ========================================================
     ETAPAS
     ======================================================== */

  .steps{
    width:100%;

    display:flex;

    gap:12px;

    overflow-x:auto;
    overflow-y:hidden;

    padding-bottom:8px;

    scrollbar-width:none;

    -webkit-overflow-scrolling:
      touch;
  }

  .steps::-webkit-scrollbar{
    display:none;
  }

  .step{
    flex:
      0 0 64px;
  }


  /* ========================================================
     CAMPOS
     ======================================================== */

  .grid2{
    width:100%;

    grid-template-columns:
      1fr;

    gap:14px;
  }

  .field,
  .control,
  .control input,
  .control select{
    width:100%;

    min-width:0;

    max-width:100%;
  }


  /* ========================================================
     CARDS
     ======================================================== */

  .cards,
  .cards.two{
    width:100%;

    grid-template-columns:
      1fr;
  }

  .card{
    width:100%;

    min-width:0;
  }


  /* ========================================================
     CORES
     ======================================================== */

  #cores-choice{
    width:100%;

    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );

    gap:8px;
  }

  #cores-choice .card-cor{
    width:100%;

    min-width:0;

    padding:5px;
  }

  #cores-choice .card-cor-img{
    width:100%;

    height:auto;

    aspect-ratio:
      1 / 1;

    object-fit:cover;
  }


  /* ========================================================
     BOTÕES
     ======================================================== */

  .next{
    width:100%;
  }

  .next .btn{
    width:100%;
  }

  .btn{
    max-width:100%;
  }


  /* ========================================================
     CARROSSEL
     ======================================================== */

  .preview-carousel{
    width:100%;

    max-width:100%;
  }

  .preview{
    width:100%;

    max-width:100%;

    height:auto;

    aspect-ratio:
      1 / 1;

    border-radius:14px;
  }

  .preview img{
    width:100%;
    height:100%;

    object-fit:cover;
  }

  .preview-nav{
    width:38px;
    height:38px;

    font-size:24px;
  }

  .preview-prev{
    left:8px;
  }

  .preview-next{
    right:8px;
  }

  .preview-zoom{
    top:9px;
    right:9px;

    width:36px;
    height:36px;
  }

  .preview-info{
    left:9px;
    bottom:9px;

    min-width:0;

    max-width:
      calc(100% - 18px);

    padding:
      7px 9px;
  }

  .preview-dots{
    width:100%;

    padding:
      0 5px;

    flex-wrap:wrap;
  }


  /* ========================================================
     RESUMO
     ======================================================== */

  .item{
    width:100%;

    gap:8px;
  }

  .item b{
    flex-shrink:0;
  }

  .item span{
    max-width:60%;

    overflow-wrap:anywhere;
  }

  .produto-preco-linha{
    gap:10px;
  }

  .produto-preco-info{
    max-width:65%;
  }

  .produto-preco-valor{
    font-size:12px;
  }

  .price{
    font-size:30px;

    overflow-wrap:anywhere;
  }

  .price.sob-consulta{
    font-size:25px;
  }


  /* ========================================================
     TRILHO
     ======================================================== */

  .trilho-select{
    min-height:50px;

    font-size:16px;

    padding-left:12px;
  }

  .trilho-descricao{
    font-size:12px;
  }


  /* ========================================================
     BENEFÍCIOS / TECIDOS
     ======================================================== */

  .benefits,
  .fabric-grid{
    width:100%;

    grid-template-columns:
      1fr;
  }

  .fabrics{
    width:100%;

    padding:
      20px 15px;
  }

  .fabrics-head{
    display:block;
  }

  .fabric{
    width:100%;

    height:170px;
  }


  /* ========================================================
     MODAL COR
     ======================================================== */

  .modal-cor-conteudo{
    top:0;
    bottom:0;

    left:0;

    width:100%;

    max-width:100%;

    padding:16px;

    transform:none;

    border-radius:0;
  }

  .modal-cor-cabecalho h2{
    font-size:26px;
  }

  .modal-cor-galeria img{
    width:100%;

    height:auto;
  }


  /* ========================================================
     ZOOM
     ======================================================== */

  .zoom-foto-conteudo{
    left:0;
    top:0;

    width:100vw;
    height:100vh;

    max-width:100vw;
    max-height:100vh;

    padding:12px;

    transform:none;
  }

  .zoom-imagem-wrapper{
    width:100%;

    max-width:100%;

    max-height:90vh;
  }

  .zoom-imagem-wrapper #zoom-foto-img{
    width:auto;
    height:auto;

    max-width:100%;
    max-height:90vh;

    object-fit:contain;

    border-radius:8px;
  }

  .zoom-foto-info{
    left:10px;
    bottom:10px;

    min-width:110px;

    max-width:
      calc(100% - 20px);

    padding:
      8px 11px;
  }

  .zoom-foto-info small{
    font-size:9px;
  }

  .zoom-foto-info strong{
    font-size:13px;
  }

  .zoom-nav{
    width:40px;
    height:40px;

    font-size:25px;
  }

  .zoom-prev{
    left:8px;
  }

  .zoom-next{
    right:8px;
  }

  .zoom-foto-fechar{
    top:10px;
    right:10px;

    width:40px;
    height:40px;
  }


  /* ========================================================
     TOAST
     ======================================================== */

  .toast{
    left:12px;
    right:12px;
    bottom:12px;

    width:auto;

    max-width:none;

    text-align:center;
  }


  /* ========================================================
     CARRINHO MOBILE
     ======================================================== */

  .pagina-carrinho{
    padding:
      28px 12px
      60px;
  }

  .carrinho-topo{
    margin-bottom:22px;
  }

  .carrinho-voltar{
    margin-bottom:14px;

    font-size:12px;
  }

  .carrinho-titulo{
    font-size:31px;
  }

  .carrinho-subtitulo{
    font-size:13px;
  }

  .carrinho-layout{
    grid-template-columns:
      1fr;

    gap:18px;
  }

  .carrinho-item{
    grid-template-columns:
      96px
      minmax(0,1fr);

    gap:13px;

    padding:13px;

    border-radius:14px;
  }

  .carrinho-item-imagem,
  .carrinho-item-sem-imagem{
    width:96px;
    height:118px;

    border-radius:10px;
  }

  .carrinho-item-topo{
    display:block;
  }

  .carrinho-item-titulo{
    font-size:17px;
  }

  .carrinho-item-preco{
    margin-top:6px;

    font-size:16px;

    white-space:normal;
  }

  .carrinho-item-detalhes{
    grid-template-columns:
      1fr;

    gap:4px;

    margin-top:10px;

    font-size:11px;
  }

  .carrinho-item-acoes{
    margin-top:12px;
  }

  .carrinho-resumo{
    position:static;

    padding:
      20px 17px;

    border-radius:14px;
  }

  .carrinho-resumo-titulo,
  .carrinho-resumo h2{
    font-size:21px;
  }

  .carrinho-resumo-total strong,
  #carrinho-total{
    font-size:27px;
  }

  .carrinho-finalizar{
    min-height:50px;

    font-size:14px;
  }

  .carrinho-continuar{
    min-height:48px;

    font-size:13px;
  }

  .carrinho-vazio{
    padding:
      50px 18px;
  }


  /* ========================================================
     CHECKOUT MOBILE
     ======================================================== */

  .pagina-checkout{
    padding:
      28px 12px
      60px;
  }

  .checkout-topo{
    margin-bottom:22px;
  }

  .checkout-voltar{
    margin-bottom:14px;

    font-size:12px;
  }

  .checkout-titulo{
    font-size:31px;
  }

  .checkout-subtitulo{
    font-size:13px;
  }

  .checkout-layout{
    grid-template-columns:
      1fr;

    gap:18px;
  }

  .checkout-bloco{
    padding:
      20px 16px;

    border-radius:14px;
  }

  .checkout-bloco h2{
    margin-bottom:18px;

    font-size:21px;
  }

  .checkout-grid{
    grid-template-columns:
      1fr;

    gap:14px;
  }

  .checkout-field-full{
    grid-column:auto;
  }

  .checkout-field input,
  .checkout-field select,
  .checkout-field textarea{
    min-height:50px;

    font-size:16px;
  }

  .checkout-field textarea{
    min-height:110px;
  }

  .checkout-prazo-linha{
    display:block;
  }

  .checkout-prazo-linha strong{
    display:block;

    margin-top:4px;

    text-align:left;
  }

  .checkout-resumo{
    position:static;

    padding:
      20px 17px;

    border-radius:14px;
  }

  .checkout-total strong{
    font-size:27px;
  }

  .checkout-botao{
    min-height:50px;

    font-size:14px;
  }

}
/* ==========================================================
   PAGAMENTO
   ========================================================== */

.pagina-pagamento{
  width:100%;
  max-width:1180px;

  margin:0 auto;

  padding:
    46px 24px
    80px;
}


/* ==========================================================
   TOPO PAGAMENTO
   ========================================================== */

.pagamento-topo{
  margin-bottom:30px;
}


.pagamento-voltar{
  display:inline-flex;

  align-items:center;

  margin-bottom:18px;

  color:var(--muted);

  font-size:13px;

  transition:
    opacity .2s ease;
}


.pagamento-voltar:hover{
  opacity:.65;
}


.pagamento-titulo{
  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:40px;

  font-weight:400;

  line-height:1.08;
}


.pagamento-subtitulo{
  margin:
    9px 0
    0;

  color:var(--muted);

  font-size:14px;
}


/* ==========================================================
   LAYOUT PRINCIPAL
   ========================================================== */

.pagamento-layout{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(320px,380px);

  gap:28px;

  align-items:start;
}


.pagamento-opcoes{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:18px;

  min-width:0;
}


/* ==========================================================
   BLOCOS
   ========================================================== */

.pagamento-bloco{
  width:100%;

  padding:28px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:18px;

  box-shadow:
    0 10px 30px
    rgba(33,29,24,.04);
}


.pagamento-bloco h2{
  margin:
    0 0
    8px;

  font-family:
    Georgia,
    serif;

  font-size:24px;

  font-weight:400;
}


.pagamento-descricao{
  margin:
    0 0
    22px;

  color:var(--muted);

  font-size:13px;

  line-height:1.5;
}


/* ==========================================================
   OPÇÕES DE PAGAMENTO
   ========================================================== */

.pagamento-opcao{
  position:relative;

  width:100%;

  display:flex;

  align-items:flex-start;

  gap:14px;

  margin-bottom:12px;

  padding:18px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:14px;

  cursor:pointer;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    transform .2s ease;
}


.pagamento-opcao:hover{
  border-color:#cbbcaf;

  background:
    #fdfcfb;

  transform:
    translateY(-1px);

  box-shadow:
    0 8px 22px
    rgba(33,29,24,.04);
}


.pagamento-opcao input[type="radio"]{
  flex-shrink:0;

  width:18px;
  height:18px;

  margin:
    3px 0
    0;

  accent-color:
    var(--ink);

  cursor:pointer;
}


.pagamento-opcao:has(
  input[type="radio"]:checked
){
  border-color:
    var(--accent);

  background:
    #faf7f3;

  box-shadow:
    inset 0 0 0 1px
    var(--accent);
}


.pagamento-opcao-conteudo{
  width:100%;

  min-width:0;
}


.pagamento-opcao-topo{
  display:flex;

  align-items:flex-start;
  justify-content:space-between;

  gap:16px;
}


.pagamento-opcao-topo strong{
  color:var(--ink);

  font-size:14px;

  font-weight:650;
}


.pagamento-opcao-topo span{
  flex-shrink:0;

  padding:
    5px 9px;

  background:
    var(--soft);

  color:
    var(--accent);

  border-radius:999px;

  font-size:10px;

  font-weight:600;

  white-space:nowrap;
}


.pagamento-opcao-conteudo p{
  margin:
    7px 0
    0;

  color:var(--muted);

  font-size:11px;

  line-height:1.5;
}


/* ==========================================================
   INFORMAÇÃO DA FORMA DE PAGAMENTO
   ========================================================== */

.pagamento-info{
  margin-top:18px;

  padding:
    14px 15px;

  background:
    var(--soft);

  color:
    var(--muted);

  border-radius:11px;

  font-size:12px;

  line-height:1.55;
}


.pagamento-info strong{
  color:
    var(--ink);
}


/* ==========================================================
   SEGURANÇA
   ========================================================== */

.pagamento-seguranca{
  background:
    var(--soft);
}


.pagamento-seguranca h2{
  margin-bottom:18px;
}


.pagamento-seguranca-item{
  padding:
    13px 0;

  border-bottom:
    1px solid var(--line);
}


.pagamento-seguranca-item:last-child{
  border-bottom:0;
}


.pagamento-seguranca-item strong{
  display:block;

  margin-bottom:4px;

  color:var(--ink);

  font-size:12px;
}


.pagamento-seguranca-item span{
  display:block;

  color:var(--muted);

  font-size:11px;

  line-height:1.5;
}


/* ==========================================================
   RESUMO DO PAGAMENTO
   ========================================================== */

.pagamento-resumo{
  position:sticky;

  top:95px;

  width:100%;

  min-width:0;

  padding:24px;

  background:
    #f8f5f1;

  border:
    1px solid var(--line);

  border-radius:18px;

  box-shadow:
    0 14px 38px
    rgba(33,29,24,.06);
}


.pagamento-resumo h2{
  margin:
    0 0
    20px;

  font-family:
    Georgia,
    serif;

  font-size:24px;

  font-weight:400;
}


/* ==========================================================
   CLIENTE
   ========================================================== */

.pagamento-cliente{
  margin-bottom:18px;

  padding:
    13px 14px;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:11px;
}


.pagamento-cliente:empty{
  display:none;
}


.pagamento-cliente strong{
  display:block;

  margin-bottom:5px;

  color:var(--ink);

  font-size:12px;
}


.pagamento-cliente span{
  display:block;

  color:var(--muted);

  font-size:10px;

  line-height:1.55;
}


/* ==========================================================
   ITENS DO PEDIDO
   ========================================================== */

.pagamento-itens{
  width:100%;

  display:flex;

  flex-direction:column;

  gap:0;
}


.pagamento-item{
  padding:
    13px 0;

  border-bottom:
    1px solid var(--line);
}


.pagamento-item:last-child{
  border-bottom:0;
}


.pagamento-item-topo{
  display:flex;

  align-items:flex-start;
  justify-content:space-between;

  gap:14px;
}


.pagamento-item-topo strong:first-child{
  min-width:0;

  color:var(--ink);

  font-size:13px;
}


.pagamento-item-topo strong:last-child{
  flex-shrink:0;

  color:var(--ink);

  font-size:12px;

  white-space:nowrap;
}


.pagamento-item-produto{
  margin-top:5px;

  color:var(--ink);

  font-size:12px;

  font-weight:600;

  overflow-wrap:anywhere;
}


.pagamento-item-detalhe{
  margin-top:3px;

  color:var(--muted);

  font-size:10px;

  line-height:1.45;

  overflow-wrap:anywhere;
}


/* ==========================================================
   DIVISOR
   ========================================================== */

.pagamento-resumo-divisor{
  height:1px;

  margin:
    19px 0;

  background:
    var(--line);
}


/* ==========================================================
   LINHAS DO RESUMO
   ========================================================== */

.pagamento-resumo-linha{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-bottom:11px;

  color:var(--muted);

  font-size:13px;
}


.pagamento-resumo-linha strong{
  flex-shrink:0;

  color:var(--ink);

  font-weight:600;

  text-align:right;

  white-space:nowrap;
}


/* ==========================================================
   TOTAL
   ========================================================== */

.pagamento-total{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:18px;
}


.pagamento-total span{
  font-size:14px;

  font-weight:600;
}


.pagamento-total strong{
  flex-shrink:0;

  font-family:
    Georgia,
    serif;

  font-size:29px;

  font-weight:400;

  text-align:right;

  white-space:nowrap;
}


.pagamento-parcelamento{
  margin-top:6px;

  color:var(--muted);

  font-size:11px;

  text-align:right;
}


/* ==========================================================
   BOTÃO FINALIZAR
   ========================================================== */

.pagamento-botao{
  width:100%;

  min-height:50px;

  margin-top:22px;

  padding:
    15px 18px;

  background:
    var(--ink);

  color:#fff;

  border:0;

  border-radius:12px;

  font-size:13px;

  font-weight:600;

  cursor:pointer;

  transition:
    opacity .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}


.pagamento-botao:hover{
  opacity:.94;

  transform:
    translateY(-1px);

  box-shadow:
    0 8px 22px
    rgba(33,29,24,.14);
}


.pagamento-botao:active{
  transform:
    translateY(0);
}


/* ==========================================================
   EDITAR PEDIDO
   ========================================================== */

.pagamento-editar{
  width:100%;

  min-height:46px;

  display:flex;

  align-items:center;
  justify-content:center;

  margin-top:10px;

  padding:
    13px 16px;

  background:#fff;

  color:var(--ink);

  border:
    1px solid var(--line);

  border-radius:12px;

  font-size:12px;

  font-weight:600;

  transition:
    border-color .2s ease,
    background .2s ease;
}


.pagamento-editar:hover{
  border-color:#cabbae;

  background:
    var(--paper);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:900px){

  .pagamento-layout{
    grid-template-columns:1fr;
  }


  .pagamento-resumo{
    position:static;
  }

}


/* ==========================================================
   CELULAR
   ========================================================== */

@media(max-width:600px){

  .pagina-pagamento{
    padding:
      28px 12px
      60px;
  }


  .pagamento-topo{
    margin-bottom:22px;
  }


  .pagamento-voltar{
    margin-bottom:14px;

    font-size:12px;
  }


  .pagamento-titulo{
    font-size:31px;
  }


  .pagamento-subtitulo{
    font-size:13px;
  }


  .pagamento-layout{
    grid-template-columns:1fr;

    gap:18px;
  }


  .pagamento-opcoes{
    gap:14px;
  }


  .pagamento-bloco{
    padding:
      20px 16px;

    border-radius:14px;
  }


  .pagamento-bloco h2{
    font-size:21px;
  }


  .pagamento-opcao{
    gap:11px;

    padding:15px 13px;

    border-radius:12px;
  }


  .pagamento-opcao-topo{
    display:block;
  }


  .pagamento-opcao-topo span{
    display:inline-flex;

    margin-top:6px;
  }


  .pagamento-opcao-conteudo p{
    font-size:11px;
  }


  .pagamento-resumo{
    position:static;

    padding:
      20px 17px;

    border-radius:14px;
  }


  .pagamento-resumo h2{
    font-size:21px;
  }


  .pagamento-item-topo{
    gap:9px;
  }


  .pagamento-item-topo strong:first-child{
    font-size:12px;
  }


  .pagamento-item-topo strong:last-child{
    font-size:11px;
  }


  .pagamento-resumo-linha{
    gap:10px;

    font-size:12px;
  }


  .pagamento-total{
    gap:10px;
  }


  .pagamento-total span{
    font-size:13px;
  }


  .pagamento-total strong{
    font-size:27px;
  }


  .pagamento-botao{
    min-height:52px;

    font-size:14px;
  }


  .pagamento-editar{
    min-height:48px;

    font-size:13px;
  }

}

/* ==========================================================
   BACKEND / REGISTRO DE PEDIDO
   ========================================================== */

.checkout-botao:disabled,
.pagamento-botao:disabled{
  opacity:.6;
  cursor:wait;
  transform:none;
  box-shadow:none;
}

/* ==========================================================
   CATÁLOGO PÚBLICO / PRODUTOS
   ========================================================== */
.catalog-page,.product-page{padding-top:48px;padding-bottom:80px}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.catalog-head h1{font-size:46px;margin:8px 0 10px}.catalog-head p{margin:0;color:var(--muted);max-width:620px;line-height:1.6}.catalog-categories{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}.catalog-chip{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:999px;cursor:pointer;font-size:12px}.catalog-chip span{color:var(--muted);margin-left:4px}.catalog-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.catalog-chip.active span{color:#ddd}.catalog-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:20px}.catalog-toolbar strong{font-family:Georgia,serif;font-size:23px;font-weight:400}.catalog-toolbar span{color:var(--muted);font-size:12px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s ease;min-width:0}.catalog-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(33,29,24,.08)}.catalog-card-image{aspect-ratio:1.18/1;background:var(--soft);overflow:hidden}.catalog-card-image img{width:100%;height:100%;object-fit:cover}.catalog-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3eee8,#ddd0c2);font-family:Georgia,serif;letter-spacing:.14em;color:#8a7765}.catalog-card-body{padding:17px}.catalog-card-body small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.catalog-card-body h2{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:7px 0}.catalog-card-body p{min-height:34px;margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.55}.catalog-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.catalog-card-bottom strong{font-size:15px}.catalog-card-bottom span{font-size:10px;color:var(--muted)}.catalog-loading,.catalog-empty{grid-column:1/-1;padding:70px 20px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:16px}.product-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:42px;align-items:start}.product-gallery{min-width:0}.product-main-image{width:100%;aspect-ratio:1/1;background:var(--soft);border-radius:20px;overflow:hidden}.product-main-image img{width:100%;height:100%;object-fit:cover}.product-info{padding:20px 4px}.product-back{display:inline-flex;margin-bottom:28px;color:var(--muted);font-size:12px}.product-info h1{font-size:44px;margin:9px 0 7px}.product-sku{font-size:10px;color:var(--muted);margin-bottom:22px}.product-description{color:var(--muted);font-size:14px;line-height:1.7;margin:18px 0 28px;white-space:pre-line}.product-price{font-family:Georgia,serif;font-size:34px}.product-installment{color:var(--muted);font-size:11px;margin-top:4px}.product-stock{display:inline-flex;margin:18px 0;padding:8px 11px;background:var(--soft);border-radius:999px;font-size:11px}.product-action{width:100%;display:flex;align-items:center;justify-content:center;margin-top:8px;padding:15px 18px;background:var(--ink);color:#fff;border:0;border-radius:12px;font-weight:600;font-size:13px;cursor:pointer}.product-action:disabled{opacity:.45;cursor:not-allowed}.product-note{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:10px;text-align:center}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-shell{grid-template-columns:1fr}.product-info{padding-top:0}}
@media(max-width:600px){.catalog-page,.product-page{padding:28px 12px 55px}.catalog-head h1{font-size:34px}.catalog-grid{grid-template-columns:1fr}.catalog-card-body p{min-height:0}.product-info h1{font-size:34px}.product-main-image{border-radius:14px}}


/* ==========================================================
   LOJA / VITRINES DE PRODUTOS 6.2
   ========================================================== */
.storefront-page{padding-top:42px;padding-bottom:80px}.collection-head{margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:18px}.collection-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}.collection-head h1,.content-page h1{margin:7px 0 0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:30px;font-weight:600;line-height:1.2}.collection-hero{width:100%;height:260px;margin-bottom:26px;overflow:hidden;border-radius:18px;background:var(--soft)}.collection-hero img{width:100%;height:100%;object-fit:cover}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px}.collection-card{min-width:0;background:#fff}.collection-image{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:#f2f0ed}.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.collection-card:hover .collection-image img{transform:scale(1.02)}.collection-placeholder{height:100%;display:grid;place-items:center;color:#9c9288;font-family:Georgia,serif;letter-spacing:.12em}.collection-card-body{padding:15px 18px 0}.collection-type{margin-bottom:8px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.collection-card h2{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.15;font-weight:700}.collection-card h2 a:hover{text-decoration:underline}.collection-price{margin-top:13px;font-size:15px;font-weight:800}.collection-installment{margin-top:7px;font-size:10px;color:var(--muted)}.collection-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:#15713a;font-size:10px;font-weight:700}.collection-link span{font-size:17px;line-height:1}.content-page{max-width:900px;margin:0 auto}.content-page-body{margin-top:25px;font-size:15px;line-height:1.75;color:#4f4943}.content-page-body img{max-width:100%;height:auto;border-radius:12px}
/* Catálogo geral com os mesmos cards */
.catalog-page{padding-top:42px}.catalog-head{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.catalog-head h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:30px;font-weight:600}.catalog-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.catalog-chip{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:11px;cursor:pointer}.catalog-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.catalog-chip span{opacity:.65;margin-left:4px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.catalog-toolbar strong{font-size:17px}.catalog-toolbar span{font-size:11px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px}.catalog-card{display:block;min-width:0;background:#fff}.catalog-card-image{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:#f2f0ed}.catalog-card-image img{width:100%;height:100%;object-fit:cover}.catalog-card-body{padding:15px 18px 0}.catalog-card-body small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.catalog-card-body h2{margin:8px 0 0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.15}.catalog-card-body p{margin:8px 0 0;min-height:32px;font-size:11px;line-height:1.45;color:var(--muted)}.catalog-card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:13px}.catalog-card-bottom strong{font-size:15px}.catalog-card-bottom span{font-size:9px;color:var(--muted)}.catalog-loading,.catalog-empty{grid-column:1/-1;padding:45px 20px;text-align:center;color:var(--muted)}
/* Produto individual */
.product-page{padding-top:46px}.product-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:54px;align-items:start}.product-gallery{min-width:0}.product-main-image{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:12px;background:#f1efec}.product-main-image img{width:100%;height:100%;object-fit:cover}.product-info{padding-top:4px}.product-back{display:inline-block;margin-bottom:24px;color:var(--muted);font-size:11px}.product-info h1{margin:8px 0 13px;font-size:40px;line-height:1.05}.product-sku{font-size:10px;color:var(--muted)}.product-description{margin:20px 0;font-size:13px;line-height:1.65;color:#5c554f}.product-price{margin-top:24px;font-family:Georgia,serif;font-size:30px}.product-installment{margin-top:6px;font-size:11px;color:var(--muted)}.product-stock{display:inline-flex;margin-top:17px;padding:6px 9px;border-radius:999px;background:var(--soft);font-size:10px}.product-action{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;margin-top:20px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.product-action:disabled{opacity:.45;cursor:not-allowed}.product-note{display:block;margin-top:10px;text-align:center;color:var(--muted);font-size:9px}
@media(max-width:900px){.collection-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-shell{grid-template-columns:1fr;gap:28px}.product-info h1{font-size:34px}}
@media(max-width:600px){.storefront-page,.catalog-page,.product-page{padding-top:26px}.collection-grid,.catalog-grid{grid-template-columns:1fr 1fr;gap:24px 10px}.collection-card-body,.catalog-card-body{padding:11px 5px 0}.collection-card h2,.catalog-card-body h2{font-size:13px}.collection-price,.catalog-card-bottom strong{font-size:13px}.collection-installment{font-size:9px}.collection-head h1,.catalog-head h1,.content-page h1{font-size:26px}.collection-hero{height:180px;border-radius:12px}.product-main-image{border-radius:8px}.product-info h1{font-size:30px}.product-price{font-size:27px}}

/* ==========================================================
   MEDIDAS PRÉ-DEFINIDAS POR PÁGINA — 6.3
   ========================================================== */
.collection-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.measure-filter{position:relative;width:min(280px,100%);z-index:12}.measure-filter-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:12px;font-weight:650;cursor:pointer}.measure-filter-menu{position:absolute;top:calc(100% + 7px);left:0;right:0;display:none;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(33,29,24,.14)}.measure-filter-menu.open{display:block}.measure-filter-title{padding:13px 15px 10px;color:var(--muted);font-size:10px;font-weight:600}.measure-filter-option,.measure-filter-custom{width:100%;display:flex;align-items:center;min-height:44px;padding:10px 15px;border:0;border-top:1px solid #eee9e3;background:#fff;color:#5f5953;text-align:left;font-size:11px;cursor:pointer}.measure-filter-option:hover,.measure-filter-option.active{background:#f8f5f1;color:var(--ink)}.measure-filter-custom{justify-content:center;background:#2f8a4c;color:#fff;font-weight:700}.measure-filter-custom:hover{background:#267a42}.collection-grid .catalog-empty{grid-column:1/-1}@media(max-width:700px){.collection-head-row{display:block}.measure-filter{width:100%;margin-top:18px}.measure-filter-menu{position:relative;top:7px;margin-bottom:8px}}


/* ==========================================================
   MENU PÚBLICO — PÁGINAS COM MEDIDAS NO HOVER
   ========================================================== */

.navlinks{
  align-items:center;
}

.nav-pagina-wrapper{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
}

.nav-pagina-principal{
  display:flex !important;
  align-items:center;
  gap:4px;
  height:100%;
  white-space:nowrap;
}

.nav-pagina-seta{
  display:inline-block;
  margin-top:-2px;
  font-size:13px;
  line-height:1;
  transition:transform .2s ease;
}

.nav-pagina-submenu{
  position:absolute;
  top:calc(100% - 2px);
  left:50%;
  z-index:1000;

  width:230px;
  min-width:230px;

  visibility:hidden;
  opacity:0;
  pointer-events:none;

  transform:
    translate(-50%,8px);

  overflow:hidden;

  background:#fff;

  border:
    1px solid var(--line);

  border-radius:
    0 0 10px 10px;

  box-shadow:
    0 18px 38px
    rgba(33,29,24,.14);

  transition:
    opacity .16s ease,
    transform .16s ease,
    visibility .16s ease;
}

.nav-pagina-wrapper.tem-submenu:hover
.nav-pagina-submenu,
.nav-pagina-wrapper.tem-submenu:focus-within
.nav-pagina-submenu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;

  transform:
    translate(-50%,0);
}

.nav-pagina-wrapper.tem-submenu:hover
.nav-pagina-seta,
.nav-pagina-wrapper.tem-submenu:focus-within
.nav-pagina-seta{
  transform:rotate(180deg);
}

.nav-pagina-submenu-titulo{
  padding:
    14px 16px 11px;

  color:var(--muted);

  font-size:11px;
  font-weight:500;
}

.nav-pagina-medida{
  display:flex !important;

  min-height:43px;
  align-items:center;

  padding:
    10px 16px;

  border-top:
    1px solid #eee9e3;

  color:#625c56 !important;

  font-size:11px !important;
  line-height:1.35;

  background:#fff;

  transition:
    background .16s ease,
    color .16s ease;
}

.nav-pagina-medida:hover,
.nav-pagina-medida:focus{
  opacity:1 !important;

  background:#f7f4ef;

  color:var(--ink) !important;
}

.nav-pagina-medida-personalizada{
  display:flex !important;

  min-height:49px;

  align-items:center;
  justify-content:center;

  padding:
    10px 15px;

  background:#2f8a4c;

  color:#fff !important;

  font-size:11px !important;
  font-weight:700;

  line-height:1.25;
  text-align:center;
}

.nav-pagina-medida-personalizada:hover,
.nav-pagina-medida-personalizada:focus{
  opacity:1 !important;
  background:#277842;
}


/* Ponte invisível para o mouse não perder o submenu
   entre o item principal e a caixa. */
.nav-pagina-submenu::before{
  content:"";

  position:absolute;

  left:0;
  right:0;

  top:-9px;

  height:9px;
}


/* Em telas onde o menu principal já é ocultado,
   o submenu também não interfere. */
@media(max-width:900px){

  .nav-pagina-wrapper{
    display:none;
  }

}


/* ==========================================================
   CONFIGURADOR GENÉRICO — PREGA MACHO / VARÃO / PERSIANA
   ========================================================== */
.generic-config-page{padding-top:42px;padding-bottom:70px}.generic-config-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:34px;align-items:start}.generic-config-gallery{position:sticky;top:96px}.generic-config-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#f0ece7}.generic-config-panel{padding:10px 0}.generic-config-panel h1{font-size:42px;margin:9px 0 12px}.generic-config-description{color:var(--muted);font-size:14px;line-height:1.6}.generic-fields,.generic-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.generic-choice{grid-template-columns:1fr}.generic-fields label,.generic-choice label{display:flex;flex-direction:column;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.generic-fields input,.generic-choice select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.generic-price{margin:24px 0 10px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.generic-price small,.generic-price span{display:block;color:var(--muted);font-size:11px}.generic-price strong{display:block;margin:5px 0;font:400 34px Georgia,serif}.generic-config-panel>.btn{width:100%;min-height:50px}.empty-state{padding:60px 20px;text-align:center;color:var(--muted)}@media(max-width:900px){.generic-config-grid{grid-template-columns:1fr}.generic-config-gallery{position:static}.generic-config-panel h1{font-size:34px}}@media(max-width:600px){.generic-config-page{padding-top:22px}.generic-fields{grid-template-columns:1fr}.generic-config-gallery img{border-radius:12px}}


/* ============================================================
   SALVATEX — NOVO LAYOUT PÚBLICO / OPÇÃO 2
   ============================================================ */

.storefront-topbar{
  overflow:visible;
}

.storefront-topbar .nav{
  overflow:visible;
}

.navlinks{
  position:relative;
  gap:32px;
}

.nav-mega-item{
  position:static;
  display:flex;
  align-items:center;
  height:74px;
}

.nav-mega-trigger{
  display:flex;
  align-items:center;
  gap:5px;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:13px;
  white-space:nowrap;
}

.nav-mega-trigger span{
  font-size:10px;
  transition:transform .2s ease;
}

.nav-mega-item:hover .nav-mega-trigger span,
.nav-mega-item.open .nav-mega-trigger span{
  transform:rotate(180deg);
}

.mega-menu{
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  transform:translate(-50%,12px);
  width:min(1020px,calc(100vw - 48px));
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);
  gap:0;
  padding:0;
  background:#fff;
  border:1px solid #e7e0d8;
  border-radius:14px;
  box-shadow:0 25px 60px rgba(39,29,20,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  overflow:hidden;
  z-index:80;
}

.mega-menu-persianas{
  grid-template-columns:1fr;
  width:min(760px,calc(100vw - 48px));
}

.nav-mega-item:hover .mega-menu,
.nav-mega-item.open .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.mega-main,
.mega-ready{
  padding:28px;
}

.mega-ready{
  border-left:1px solid #eee7df;
  background:#fcfbf9;
}

.mega-main-full{
  width:100%;
}

.mega-kicker{
  margin-bottom:15px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
}

.mega-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mega-product-card{
  min-width:0;
}

.mega-product-image{
  width:100%;
  aspect-ratio:1.25;
  overflow:hidden;
  border-radius:9px;
  background:#f0ece6;
  display:grid;
  place-items:center;
}

.mega-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}

.mega-product-card:hover img{
  transform:scale(1.035);
}

.mega-product-image span{
  font-family:Georgia,serif;
  font-size:12px;
  letter-spacing:.12em;
  color:#8d8277;
}

.mega-product-card strong,
.mega-product-card small{
  display:block;
}

.mega-product-card strong{
  margin-top:9px;
  font-size:12px;
}

.mega-product-card small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.mega-ready-list{
  display:flex;
  flex-direction:column;
}

.mega-ready-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #eee7df;
}

.mega-ready-row:last-child{
  border-bottom:0;
}

.mega-ready-thumb{
  width:64px;
  height:64px;
  overflow:hidden;
  border-radius:8px;
  background:#eee9e2;
  display:grid;
  place-items:center;
}

.mega-ready-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.mega-ready-thumb span{
  font-size:9px;
}

.mega-ready-row strong,
.mega-ready-row small{
  display:block;
}

.mega-ready-row strong{
  font-size:11px;
}

.mega-ready-row small{
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
}

.mega-arrow{
  font-size:25px;
  font-family:Georgia,serif;
  color:#8b633b;
}

.mega-empty{
  padding:22px;
  border:1px dashed #ddd3c8;
  border-radius:9px;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}

/* HERO */
.hero-home-new{
  min-height:510px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(247,242,235,.98) 0%,rgba(247,242,235,.91) 33%,rgba(247,242,235,.25) 68%,rgba(247,242,235,.12) 100%),
    url("../imagens/gazenatural100bck.jpeg") center 42% / cover no-repeat;
}

.hero-home-new::after{
  display:none;
}

.hero-home-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(92,64,38,.08));
  pointer-events:none;
}

.hero-home-content{
  position:relative;
  z-index:2;
  width:100%;
}

.hero-home-copy{
  max-width:620px;
  padding:70px 0 88px;
}

.hero-home-copy h1{
  font-size:58px;
  max-width:600px;
}

.hero-home-copy p{
  max-width:510px;
  font-size:16px;
  color:#514a43;
}

.hero-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:25px;
}

.hero-primary,
.hero-secondary{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 19px;
  border-radius:999px;
  font-size:12px;
}

.hero-primary{
  background:#2f2116;
  color:#fff;
}

.hero-secondary{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(47,33,22,.22);
  color:#2f2116;
  backdrop-filter:blur(7px);
}

/* COLEÇÕES DA HOME */
.home-collections{
  padding-top:54px;
  padding-bottom:48px;
}

.home-section-head{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:28px;
}

.home-section-head h2{
  margin:7px 0 8px;
  font-family:Georgia,serif;
  font-size:32px;
  font-weight:400;
}

.home-section-head p{
  max-width:660px;
  margin:0 auto;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

.home-collections-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.home-collection-card{
  overflow:hidden;
  border:1px solid #e9e2da;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 25px rgba(40,29,20,.035);
  transition:transform .2s ease,box-shadow .2s ease;
}

.home-collection-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 35px rgba(40,29,20,.08);
}

.home-collection-image{
  display:block;
  aspect-ratio:1.02;
  overflow:hidden;
  background:#eee9e2;
}

.home-collection-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.home-collection-card:hover .home-collection-image img{
  transform:scale(1.035);
}

.home-card-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font:400 18px Georgia,serif;
  letter-spacing:.12em;
  color:#8a8178;
}

.home-collection-body{
  padding:16px;
  text-align:center;
}

.home-collection-body h3{
  margin:0;
  font-size:15px;
}

.home-collection-body span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.home-collection-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:14px;
  border-radius:7px;
  background:#4b2f1b;
  color:#fff;
  font-size:11px;
}

.home-collections-empty{
  grid-column:1/-1;
  padding:40px;
  border:1px dashed #ddd4cb;
  border-radius:12px;
  text-align:center;
  color:var(--muted);
  font-size:11px;
}

.home-benefits-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:28px;
  border:1px solid #e9e2da;
  border-radius:12px;
  background:#fbfaf8;
}

.home-benefits-strip > div{
  padding:17px 18px;
  border-right:1px solid #e9e2da;
}

.home-benefits-strip > div:last-child{
  border-right:0;
}

.home-benefits-strip strong,
.home-benefits-strip span{
  display:block;
}

.home-benefits-strip strong{
  font-size:11px;
}

.home-benefits-strip span{
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
}

.home-configurator-intro{
  max-width:1280px;
  margin:8px auto 70px;
  padding:0 24px;
  text-align:center;
}

.home-configurator-intro h2{
  margin:6px 0;
  font:400 31px Georgia,serif;
}

.home-configurator-intro p{
  margin:0;
  color:var(--muted);
  font-size:11px;
}

/* Existing configurator no longer overlaps hero */
.home-collections + main,
body > main.shell{
  position:relative;
}

.hero-home-new + .home-collections + main .config-wrap{
  margin-top:0;
}

/* MOBILE */
@media(max-width:1050px){
  .home-collections-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mega-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .nav{
    height:auto;
    min-height:68px;
    flex-wrap:wrap;
    padding-top:10px;
    padding-bottom:10px;
  }

  .navlinks{
    order:3;
    width:100%;
    gap:0;
    flex-direction:column;
    align-items:stretch;
    margin-left:0;
  }

  .nav-mega-item{
    height:auto;
    display:block;
  }

  .nav-mega-trigger,
  .navlinks > a{
    width:100%;
    min-height:42px;
    justify-content:space-between;
    display:flex;
    align-items:center;
    border-bottom:1px solid var(--line);
  }

  .mega-menu{
    position:static;
    width:100%;
    max-width:none;
    transform:none;
    display:none;
    grid-template-columns:1fr;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:none;
    border:0;
    border-radius:0;
  }

  .nav-mega-item:hover .mega-menu{
    display:none;
  }

  .nav-mega-item.open .mega-menu{
    display:grid;
    transform:none;
  }

  .mega-ready{
    border-left:0;
    border-top:1px solid #eee7df;
  }

  .hero-home-new{
    min-height:440px;
    background-position:66% center;
  }

  .hero-home-copy{
    max-width:520px;
    padding:55px 0 70px;
  }

  .hero-home-copy h1{
    font-size:44px;
  }

  .home-benefits-strip{
    grid-template-columns:repeat(2,1fr);
  }

  .home-benefits-strip > div:nth-child(2){
    border-right:0;
  }

  .home-benefits-strip > div:nth-child(-n+2){
    border-bottom:1px solid #e9e2da;
  }
}

@media(max-width:600px){
  .logo{
    font-size:20px;
  }

  .carrinho-texto{
    display:none;
  }

  .mega-main,
  .mega-ready{
    padding:18px;
  }

  .mega-card-grid{
    grid-template-columns:1fr 1fr;
  }

  .hero-home-new{
    min-height:410px;
    background-position:70% center;
  }

  .hero-home-new{
    background:
      linear-gradient(90deg,rgba(247,242,235,.98) 0%,rgba(247,242,235,.93) 57%,rgba(247,242,235,.55) 100%),
      url("../imagens/gazenatural100bck.jpeg") 68% center / cover no-repeat;
  }

  .hero-home-copy h1{
    font-size:37px;
  }

  .hero-home-copy p{
    font-size:14px;
    max-width:320px;
  }

  .home-collections{
    padding-top:38px;
  }

  .home-collections-grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .home-collection-body{
    padding:12px 9px;
  }

  .home-collection-body h3{
    font-size:12px;
  }

  .home-benefits-strip{
    grid-template-columns:1fr;
  }

  .home-benefits-strip > div{
    border-right:0;
    border-bottom:1px solid #e9e2da;
  }

  .home-benefits-strip > div:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   CORES EDITÁVEIS PELO PAINEL
   ============================================================ */

:root{
  --layout-primary:#2f2116;
  --layout-accent:#9a7547;
  --layout-background:#fbfaf8;
  --layout-text:#172033;
}

.hero-primary,
.home-collection-link{
  background:var(--layout-primary)!important;
}

.mega-arrow,
.kicker{
  color:var(--layout-accent);
}

.home-collections,
.home-benefits-strip{
  background-color:var(--layout-background);
}

.storefront-topbar,
.hero-home-new,
.home-collections{
  color:var(--layout-text);
}


/* ============================================================
   CONFIGURADORES DE CORTINAS — PADRÃO ÚNICO WAVE
   ============================================================ */

body:has(.home-configurator-intro) .home-configurator-intro{
  padding-top:42px;
}

body:has(.home-configurator-intro) .config-wrap{
  margin-top:0;
}

/* Prega Macho e Ilhós usam exatamente os mesmos cards,
   resumo lateral, carrossel, medidas e breakpoints do Wave. */


/* ============================================================
   CONFIGURADOR DEDICADO — LARGURA DO PADRÃO ORIGINAL
   ============================================================ */

.configurator-page-shell{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.configurator-page-shell .home-configurator-intro{
  max-width:100%;
  margin:0 auto 46px;
  padding:42px 0 0;
}

.configurator-page-shell .config-wrap{
  width:100%;
  max-width:100%;
  margin-top:0;
}

.configurator-page-shell .config{
  width:100%;
  max-width:100%;
}

@media(max-width:760px){
  .configurator-page-shell{
    padding-left:12px;
    padding-right:12px;
  }

  .configurator-page-shell .home-configurator-intro{
    margin-bottom:28px;
    padding-top:28px;
  }
}


/* FINAL — layout, conta e autenticação */
:root{--layout-primary:#2f2116;--layout-accent:#9a7547;--layout-background:#fbfaf8;--layout-text:#172033;--layout-muted:#756f68;--layout-header-bg:#fff;--layout-card-bg:#fff;--layout-border:#e9e2da;--layout-button-text:#fff}
body{color:var(--layout-text)}.storefront-topbar,.topbar{background:var(--layout-header-bg)!important}.navlinks a,.nav-mega-trigger,.logo{color:var(--layout-text)!important}.hero-primary,.home-collection-link,.checkout-botao,.btn-dark{background:var(--layout-primary)!important;color:var(--layout-button-text)!important}.hero-secondary{color:var(--layout-primary)!important;border-color:var(--layout-border)!important}.kicker,.mega-arrow{color:var(--layout-accent)!important}.muted,.field-hint,.config p,.config span,.summary-note,.home-section-head p,.home-collection-body span{color:var(--layout-muted)!important}.card,.config,.summary,.panel,.home-collection-card,.checkout-bloco{background:var(--layout-card-bg)!important;border-color:var(--layout-border)!important}
.customer-login-block{display:flex;align-items:center;justify-content:space-between}.customer-login-block #customer-login-box{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.customer-login-block strong,.customer-login-block span{display:block}.customer-login-block span{font-size:12px;color:var(--layout-muted);margin-top:4px}.customer-login-ok a{display:inline-block;margin-top:6px;font-size:12px;text-decoration:underline}.account-page{padding-top:54px;padding-bottom:70px}.account-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.account-head h1{font:400 42px Georgia,serif;margin:6px 0}.account-head p{color:var(--layout-muted)}.account-login-card{max-width:520px;margin:35px auto;padding:28px;border:1px solid var(--layout-border);border-radius:14px;background:var(--layout-card-bg);text-align:center}.account-login-card p{color:var(--layout-muted)}.account-user{display:flex;gap:12px;flex-direction:column;margin:24px 0}.account-orders{display:grid;gap:12px}.account-order{display:grid;grid-template-columns:1.2fr 1.2fr .8fr auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--layout-border);border-radius:12px;background:var(--layout-card-bg)}.account-order span,.account-order small{display:block;color:var(--layout-muted);font-size:11px}.account-order strong{display:block;margin:4px 0}.account-modal{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:999;display:grid;place-items:center;padding:18px}.account-modal-card{width:min(680px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;padding:24px;position:relative}.account-modal-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:26px}.account-item{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee}.account-doc{display:block;padding:9px 0;text-decoration:underline}.account-empty{padding:30px;text-align:center;color:var(--layout-muted)}
@media(max-width:760px){.account-order{grid-template-columns:1fr}.account-head{display:block}.customer-login-block #customer-login-box{display:block}.customer-login-block #google-login-checkout{margin-top:12px}}

.account-auth-card{width:min(840px,100%);margin:32px auto;padding:30px;border:1px solid var(--layout-border);border-radius:16px;background:var(--layout-card-bg);box-shadow:0 16px 45px rgba(0,0,0,.06);text-align:center}.account-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--layout-border);margin:-6px 0 26px}.account-tabs button{border:0;background:transparent;padding:14px;font-weight:600;cursor:pointer}.account-tabs button.active{border-bottom:3px solid #111}.account-form{display:grid;gap:16px;text-align:left}.account-form label{display:grid;gap:7px;font-size:13px}.account-form input{width:100%;height:46px;border:1px solid #bbb;border-radius:10px;padding:0 13px;font:inherit;background:#fff}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:4px;top:4px;width:38px;height:38px;border:0;background:transparent;cursor:pointer}.account-primary{height:46px;border:0;border-radius:24px;background:#050505;color:#fff;font-weight:700;letter-spacing:1.5px;cursor:pointer}.account-primary:disabled{opacity:.6}.account-feedback{min-height:20px;margin:0;color:#a40000;font-size:13px;text-align:center}.account-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--layout-muted)}.account-divider:before,.account-divider:after{content:"";height:1px;background:var(--layout-border);flex:1}.account-turnstile{display:flex;justify-content:center}.account-auth-card #google-login-account{display:flex;justify-content:center}.account-auth-card h2{font-size:17px;margin:0 0 14px}@media(max-width:600px){.account-auth-card{padding:20px 14px}.account-page{padding-top:30px}.account-head h1{font-size:34px}}

/* Aplicação abrangente das cores do editor */
h1,h2,h3,h4,strong,label,.summary-row,.config-summary,.product-title,.page-title{color:var(--layout-text)!important}.config-note,.summary-note,.helper,.checkout-subtitulo,.checkout-field label+small,.home-benefits-strip span,.mega-product-card small,.mega-ready-row small{color:var(--layout-muted)!important}.topbar,.storefront-topbar,.nav{border-color:var(--layout-border)!important}.card,.config-card,.summary-card,.checkout-bloco,input,select,textarea{border-color:var(--layout-border)!important}


/* Menu Minha conta e destaque do cadastro */
.account-create-link{margin:22px 0 0}.account-create-link a{color:#1264d8!important;text-decoration:none!important;font-weight:700}.customer-account-menu{position:relative}.customer-account-menu summary{list-style:none;cursor:pointer;font-weight:600;white-space:nowrap}.customer-account-menu summary::-webkit-details-marker{display:none}.customer-account-dropdown{position:absolute;top:calc(100% + 12px);right:0;z-index:80;min-width:170px;padding:8px;background:#080808;border:1px solid #333;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.28)}.customer-account-dropdown:before{content:"";position:absolute;right:18px;top:-7px;width:12px;height:12px;background:#080808;border-left:1px solid #333;border-top:1px solid #333;transform:rotate(45deg)}.customer-account-dropdown a,.customer-account-dropdown button{display:block;width:100%;padding:10px 11px!important;border:0!important;background:transparent!important;color:#fff!important;text-align:left;font:inherit;cursor:pointer;white-space:nowrap}.customer-account-dropdown a+a,.customer-account-dropdown button{border-top:1px solid #333!important}.customer-account-dropdown a:hover,.customer-account-dropdown button:hover{text-decoration:underline;background:#171717!important}@media(max-width:980px){.customer-account-menu{width:100%}.customer-account-dropdown{position:static;margin-top:8px;box-shadow:none}.customer-account-dropdown:before{display:none}}
