/* ══ CRIAÇÕES — estilos específicos da página ══ */

/* ── PAGE HEADER ── */
.page-header{
  padding:var(--sp-secao-xl) 64px var(--sp-card-lg);
  background:var(--offwhite);
  border-bottom:1px solid rgba(196,155,162,0.15);
  position:relative;overflow:hidden;
}
.ph-bg-flor{
  position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:480px;opacity:0.05;pointer-events:none;
}
.ph-eyebrow{
  font-family:var(--f-corpo);font-weight:400;
  font-size:var(--fs-eyebrow);letter-spacing:0.42em;text-transform:uppercase;
  color:var(--rosado);margin-bottom:14px;
}
.ph-titulo{
  font-family:var(--f-titulo);font-weight:400;
  font-size:clamp(36px,5vw,68px);letter-spacing:0.03em;
  color:var(--vinho);line-height:1;margin-bottom:20px;
}
.ph-sub{
  font-family:var(--f-corpo);font-weight:300;
  font-size:var(--fs-corpo);color:var(--muted);line-height:1.9;
  max-width:520px;margin-bottom:28px;
}
.ph-frase{
  font-family:var(--f-poetico);font-size:var(--fs-h-sm);
  color:var(--muted);line-height:1.5;
  padding-top:24px;border-top:1px solid rgba(196,155,162,0.12);
}

/* ── CONTROLES ── */
.controles{
  position:sticky;top:calc(var(--nav-h,74px) - 2px);z-index:300;
  background:rgba(250,250,248,0.97);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(196,155,162,0.15);
  display:flex;align-items:center;
  transition:border-color .3s;
}
.modo-tabs{display:flex;border-right:1px solid rgba(196,155,162,0.2);margin-right:24px;}
.modo-tab{
  font-family:var(--f-corpo);font-weight:400;
  font-size:var(--fs-eyebrow);letter-spacing:0.22em;text-transform:uppercase;
  padding:16px 24px;background:transparent;border:none;cursor:pointer;
  color:var(--muted);transition:color .2s;
}
.modo-tab.ativo{color:var(--vinho);}
.trilho-fade{flex:1;display:flex;align-items:center;min-width:0;}
.filtros-wrap{
  display:flex;align-items:center;gap:8px;
  padding:12px 0;
  flex:1;min-width:0;
  overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.filtros-wrap::-webkit-scrollbar{display:none;}
/* Setas ‹›, fade ::before/::after e toggles .fade-esq/.fade-dir vivem em main.css (bloco compartilhado). */
.filtros-lbl{font-family:var(--f-corpo);font-weight:400;font-size:var(--fs-micro);letter-spacing:0.28em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-right:4px;}
.fbtn{
  font-family:var(--f-corpo);font-weight:300;
  font-size:9.5px;letter-spacing:0.16em;text-transform:uppercase;
  padding:6px 14px;border:1px solid rgba(196,155,162,0.3);
  background:transparent;color:var(--muted);cursor:pointer;
  white-space:nowrap;transition:all .2s;
}
.fbtn:hover{border-color:var(--rosado);color:var(--vinho);}
.fbtn.ativo{background:var(--vinho);color:var(--offwhite);border-color:var(--vinho);}

/* ── PAINÉIS ── */
.painel{display:none;}
.painel.visivel{display:block;}

/* ── BLOCO POR CAMINHO ── */
.caminho-bloco{border-top:1px solid rgba(196,155,162,0.1);}
.cb-header{
  padding:var(--sp-card-md) 64px 24px;
  display:flex;align-items:center;gap:20px;
}
.cb-acento{width:4px;height:48px;flex-shrink:0;}
.cb-meta{flex:1;}
.cb-lbl{
  font-family:var(--f-corpo);font-weight:400;
  font-size:var(--fs-micro);letter-spacing:0.35em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;
}
.cb-nome{
  font-family:var(--f-titulo);font-weight:400;
  font-size:var(--fs-titulo-sm);color:var(--vinho);
  letter-spacing:0.03em;margin-bottom:4px;
}
.cb-estado{
  font-family:var(--f-corpo);font-weight:300;
  font-size:var(--fs-eyebrow);letter-spacing:0.18em;color:var(--muted);
}
.cb-total{
  font-family:var(--f-corpo);font-weight:300;
  font-size:var(--fs-eyebrow);letter-spacing:0.18em;color:var(--muted);
  white-space:nowrap;
}
.cb-grid{
  padding:0 64px var(--sp-card-lg);
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}

/* ── BLOCO EDITORIAL DE FECHAMENTO POR CAMINHO ── */
.cb-fim{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;gap:14px;padding:32px 28px;
  background:linear-gradient(rgba(229,207,210,0.08),rgba(229,207,210,0.08)),var(--offwhite); /* rgba de --rosa-claro #E5CFD2 — véu mínimo */
  border:1px solid rgba(196,155,162,0.22); /* rgba de --rosado #C49BA2 */
  border-radius:2px;position:relative;overflow:hidden;
  text-decoration:none;color:inherit;
  transition:transform .3s,box-shadow .3s,background-color .3s,border-color .3s;
}
.cb-fim:hover{
  background:linear-gradient(rgba(229,207,210,0.26),rgba(229,207,210,0.26)),var(--offwhite); /* rgba de --rosa-claro #E5CFD2 — acende */
  border-color:rgba(196,155,162,0.32); /* rgba de --rosado #C49BA2 */
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(96,49,56,0.08); /* rgba de --vinho #603138 */
}
.cbf-flor{width:88px;opacity:0.45;}
.cbf-frase{
  font-family:var(--f-poetico);font-size:var(--fs-h-sm);line-height:1.6;
  color:var(--vinho);max-width:30ch;
  /* convenção: La Belle Aurore poética = vinho 17px */
}
.cbf-cta{
  font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--vinho);display:inline-flex;align-items:center;gap:8px;
  border-bottom:1px solid rgba(196,155,162,0.4); /* rgba de --rosado #C49BA2 */
  padding-bottom:3px;
}
.cbf-cta .seta{transition:transform .25s;}
.cb-fim:hover .cbf-cta .seta{transform:translateX(4px);}

/* ── SEPARADOR BLOCO ── */
.sep-bloco{
  display:flex;align-items:center;justify-content:center;
  gap:16px;padding:8px 64px;background:var(--offwhite);
}
.sep-bloco .sep-linha{flex:1;max-width:120px;height:1px;background:var(--rosa-claro);opacity:0.5;}
.sep-bloco .sep-simbolo{font-size:var(--fs-eyebrow);color:var(--rosado);opacity:0.5;letter-spacing:0.3em;}

/* ── SEÇÃO POR TIPO ── */
.sec-header{
  padding:var(--sp-card-md) 64px 24px;
  display:flex;align-items:flex-end;justify-content:space-between;
  border-top:1px solid rgba(196,155,162,0.1);
}
.sh-tit{font-family:var(--f-titulo);font-weight:400;font-size:clamp(20px,2vw,28px);color:var(--vinho);letter-spacing:0.03em;margin-bottom:6px;}
.sh-desc{font-family:var(--f-corpo);font-weight:300;font-size:12px;color:var(--muted);}
.sh-total{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-eyebrow);letter-spacing:0.18em;color:var(--muted);white-space:nowrap;}
.cs-grid{padding:0 64px var(--sp-card-lg);display:grid;gap:16px;}
.cs-col3{grid-template-columns:repeat(3,1fr);}
.cs-col4{grid-template-columns:repeat(4,1fr);}

/* ── SETS ── */
.sets-section{background:var(--offwhite);padding:var(--sp-secao-md) 64px;border-top:1px solid rgba(196,155,162,0.1);border-bottom:1px solid rgba(196,155,162,0.1);}
.sets-header{margin-bottom:52px;}
.sets-eyebrow{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-eyebrow);letter-spacing:0.42em;text-transform:uppercase;color:var(--rosado);margin-bottom:14px;}
.sets-tit{font-family:var(--f-titulo);font-weight:400;font-size:clamp(24px,3vw,36px);color:var(--vinho);letter-spacing:0.04em;margin-bottom:10px;}
.sets-sub{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-corpo-sm);color:var(--muted);max-width:460px;line-height:1.85;}
.sets-grid-sec{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.set-card-sec{
  background:rgba(96,49,56,0.04);display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;cursor:pointer;transition:box-shadow .3s,transform .3s;
  text-decoration:none;color:inherit;
}
.set-card-sec:hover{box-shadow:0 20px 60px rgba(96,49,56,0.1);transform:translateY(-3px);}
.set-img-sec{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
/* Foto real cobre o quadro — vence .woocommerce img { height:auto } via specificity */
.set-img-sec img.cp-img-real{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.set-info-sec{padding:36px 28px;display:flex;flex-direction:column;justify-content:space-between;}
.set-lbl-sec{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-micro);letter-spacing:0.26em;text-transform:uppercase;color:var(--rosado);margin-bottom:10px;}
.set-nome-sec{font-family:var(--f-titulo);font-weight:400;font-size:var(--fs-h-sm);color:var(--vinho);margin-bottom:12px;line-height:1.3;}
.set-cont-sec{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-corpo-sm);color:var(--muted);line-height:1.65;margin-bottom:24px;flex:1;}
.set-rod-sec{display:flex;align-items:center;justify-content:space-between;}
.set-preco-sec{font-family:var(--f-corpo);font-weight:300;font-size:var(--fs-eyebrow);letter-spacing:0.2em;color:var(--muted);}

/* ══ TABLET ≤1023px ══ */
@media(max-width:1023px){
  .page-header{padding:var(--sp-secao-md) 32px var(--sp-card-sm);}
  .cb-header,.sec-header{padding:var(--sp-card-sm) 32px 20px;}
  .cb-grid,.cs-grid{padding:0 32px var(--sp-card-md);}
  .cb-grid{grid-template-columns:repeat(2,1fr);}
  .cs-col3{grid-template-columns:repeat(2,1fr);}
  .cs-col4{grid-template-columns:repeat(3,1fr);}
  .sep-bloco{padding:8px 32px;}
  .sets-section{padding:var(--sp-card-lg) 32px;}
  .sets-grid-sec{grid-template-columns:1fr;}
}

/* ══ MOBILE ≤599px ══ */
@media(max-width:599px){
  .page-header{padding:var(--sp-secao-md) 20px 36px;}
  .ph-frase{font-size:var(--fs-lead);}
  .controles{flex-direction:column;align-items:stretch;}
  .modo-tabs{border-right:none;border-bottom:1px solid rgba(196,155,162,0.2);}
  .modo-tab{flex:1;padding:12px 8px;font-size:var(--fs-micro);}
  .filtros-wrap{padding:10px 20px;flex-wrap:nowrap;}
  .fbtn{font-size:var(--fs-micro);padding:6px 12px;}
  .cb-header{padding:28px 20px 16px;}
  .cb-grid{padding:0 20px var(--sp-card-sm);grid-template-columns:1fr;gap:20px;}
  .cb-fim{grid-column:1/-1;}
  .sep-bloco{padding:8px 20px;}
  .sec-header{padding:28px 20px 16px;}
  .cs-grid{padding:0 20px var(--sp-card-sm);}
  .cs-col3,.cs-col4{grid-template-columns:1fr;gap:20px;}
  .sets-section{padding:var(--sp-card-md) 20px;}
  .sets-grid-sec{grid-template-columns:1fr;}
  .set-card-sec{grid-template-columns:1fr;}
  .set-img-sec{aspect-ratio:4/3;}
}

/* ══ AJUSTES WOOCOMMERCE (vitrine) — Etapa 2 ══ */

/* Esconde o link "View cart" que o WooCommerce injeta após adicionar nos cards de set */
.set-rod-sec .added_to_cart{
  display:none !important;
}


/* ══ Busca (override do fluxo /loja/ quando ?s= presente, #111) ═══ */
.busca-header .ph-titulo{
  max-width:22ch;margin-left:auto;margin-right:auto;
}
.busca-resultados-grid{
  padding-top:0;
}
.busca-vazia{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:80px 32px 100px;text-align:center;
}
.busca-vazia-flor{
  width:96px;height:auto;opacity:0.45;margin-bottom:24px;
}
.busca-vazia-titulo{
  font-family:var(--f-titulo);font-weight:400;
  font-size:var(--fs-h-sm);color:var(--vinho);
  margin:0 0 12px;letter-spacing:0.03em;line-height:1.35;
  max-width:26ch;
}
.busca-vazia-sub{
  font-family:var(--f-corpo);font-weight:300;
  font-size:var(--fs-corpo-sm);color:var(--muted);
  line-height:1.85;margin:0 0 32px;max-width:44ch;
}
.busca-vazia-btn{
  display:inline-block;
  padding:13px 36px;
  font-family:var(--f-corpo);font-weight:300;
  font-size:var(--fs-eyebrow);letter-spacing:0.24em;text-transform:uppercase;
  background:var(--vinho);color:var(--offwhite);
  border:none;cursor:pointer;text-decoration:none;
  transition:background .3s;
}
.busca-vazia-btn:hover{background:var(--rosado);}

@media(max-width:599px){
  .busca-vazia{padding:60px 20px 80px;}
  .busca-vazia-flor{width:72px;margin-bottom:20px;}
}
/* ══ Fim busca ═══════════════════════════════════════════════════ */
