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

/* ── PAGE HEADER ── */
.page-header{
  padding:120px 64px 56px;
  background:var(--offwhite);
  border-bottom:1px solid rgba(178,123,130,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:10px;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:14px;color:var(--muted);line-height:1.9;
  max-width:520px;margin-bottom:28px;
}
.ph-frase{
  font-family:var(--f-poetico);font-size:18px;
  color:var(--muted);line-height:1.5;
  padding-top:24px;border-top:1px solid rgba(178,123,130,0.12);
}

/* ── CONTROLES ── */
.controles{
  position:sticky;top:63px;z-index:300;
  background:rgba(250,250,248,0.97);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(178,123,130,0.15);
  display:flex;align-items:center;
  transition:border-color .3s;
}
.modo-tabs{display:flex;border-right:1px solid rgba(178,123,130,0.2);margin-right:24px;}
.modo-tab{
  font-family:var(--f-corpo);font-weight:400;
  font-size:10px;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);}
.filtros-wrap{display:flex;align-items:center;gap:8px;padding:12px 0;flex:1;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.filtros-wrap::-webkit-scrollbar{display:none;}
.filtros-lbl{font-family:var(--f-corpo);font-weight:400;font-size:9px;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(178,123,130,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:#FAFAF8;border-color:var(--vinho);}

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

/* ── BLOCO POR CAMINHO ── */
.caminho-bloco{border-top:1px solid rgba(178,123,130,0.1);}
.cb-header{
  padding:48px 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:9px;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:clamp(22px,2.5vw,32px);color:var(--vinho);
  letter-spacing:0.03em;margin-bottom:4px;
}
.cb-estado{
  font-family:var(--f-corpo);font-weight:300;
  font-size:11px;letter-spacing:0.18em;color:var(--muted);
}
.cb-total{
  font-family:var(--f-corpo);font-weight:300;
  font-size:10px;letter-spacing:0.18em;color:var(--muted);
  white-space:nowrap;
}
.cb-grid{
  padding:0 64px 56px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}

/* ── 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:10px;color:var(--rosado);opacity:0.5;letter-spacing:0.3em;}

/* ── CARDS PEQUENOS (por caminho) ── */
.card-p{
  display:flex;flex-direction:column;
  cursor:pointer;transition:transform .3s,box-shadow .3s;
  text-decoration:none;color:inherit;position:relative;
}
.card-p::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--vinho);opacity:0;transform:scaleX(0);transform-origin:left;
  transition:transform .35s ease,opacity .35s;
}
.card-p:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(74,3,1,0.08);}
.card-p:hover::after{opacity:0.3;transform:scaleX(1);}
.cp-img{
  width:100%;aspect-ratio:1;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.cp-img-flor{
  position:absolute;width:60%;opacity:0.12;
  pointer-events:none;transition:transform .6s ease,opacity .3s;
}
.card-p:hover .cp-img-flor{transform:scale(1.06);opacity:0.18;}
.cp-badge{
  position:absolute;bottom:10px;left:10px;
  font-family:var(--f-corpo);font-weight:400;
  font-size:8px;letter-spacing:0.28em;text-transform:uppercase;
  color:#FAFAF8;padding:4px 10px;z-index:1;
}
.cp-badge-origem{background:var(--oliva);}
.cp-badge-santuar{background:var(--vinho);}
.cp-caminho{font-family:var(--f-corpo);font-weight:400;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);padding:14px 4px 4px;}
.cp-nome{font-family:var(--f-titulo);font-weight:400;font-size:15px;color:var(--vinho);padding:0 4px 6px;line-height:1.2;}
.cp-ingr{font-family:var(--f-corpo);font-weight:300;font-size:11px;color:var(--muted);padding:0 4px;line-height:1.6;flex:1;}
.cp-preco{font-family:var(--f-corpo);font-weight:300;font-size:11px;letter-spacing:0.2em;color:var(--muted);padding:10px 4px 4px;display:block;}
.cp-rodape{display:flex;align-items:center;justify-content:space-between;padding:0 4px 4px;}
.cp-adicionar{
  font-family:var(--f-corpo);font-weight:300;
  font-size:9px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted);background:none;border:none;cursor:pointer;
  padding:4px 0;transition:color .2s;white-space:nowrap;
}
.cp-adicionar:hover{color:var(--vinho);}
.cp-adicionar.adicionado{color:var(--oliva);pointer-events:none;}
.vol-sm-sel{display:flex;gap:6px;margin:10px 4px 0;}
.vol-sm{font-family:var(--f-corpo);font-weight:300;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;padding:4px 10px;border:1px solid rgba(178,123,130,0.3);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;}
.vol-sm.active{background:var(--vinho);color:#FAFAF8;border-color:var(--vinho);}

/* ── SEÇÃO POR TIPO ── */
.sec-header{
  padding:48px 64px 24px;
  display:flex;align-items:flex-end;justify-content:space-between;
  border-top:1px solid rgba(178,123,130,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:10px;letter-spacing:0.18em;color:var(--muted);white-space:nowrap;}
.cs-grid{padding:0 64px 56px;display:grid;gap:16px;}
.cs-col3{grid-template-columns:repeat(3,1fr);}
.cs-col4{grid-template-columns:repeat(4,1fr);}

/* ── CARDS GRANDES (por tipo) ── */
.card-g{
  display:flex;flex-direction:column;cursor:pointer;
  transition:transform .3s,box-shadow .3s;
  text-decoration:none;color:inherit;position:relative;
}
.card-g::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--vinho);opacity:0;transform:scaleX(0);transform-origin:left;
  transition:transform .35s ease,opacity .35s;
}
.card-g:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(74,3,1,0.08);}
.card-g:hover::after{opacity:0.3;transform:scaleX(1);}
.cg-img{width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.cg-img-flor{position:absolute;width:50%;opacity:0.12;pointer-events:none;transition:transform .6s ease;}
.card-g:hover .cg-img-flor{transform:scale(1.06);}
.cg-badge{position:absolute;bottom:10px;left:10px;font-family:var(--f-corpo);font-weight:400;font-size:8px;letter-spacing:0.28em;text-transform:uppercase;color:#FAFAF8;padding:4px 10px;z-index:1;}
.cg-caminho{font-family:var(--f-corpo);font-weight:400;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);padding:14px 4px 4px;}
.cg-nome{font-family:var(--f-titulo);font-weight:400;font-size:16px;color:var(--vinho);padding:0 4px 6px;line-height:1.2;}
.cg-ingr{font-family:var(--f-corpo);font-weight:300;font-size:12px;color:var(--muted);padding:0 4px;line-height:1.6;flex:1;}
.cg-preco{font-family:var(--f-corpo);font-weight:300;font-size:11px;letter-spacing:0.2em;color:var(--muted);padding:10px 4px 4px;display:block;}
.cg-rodape{display:flex;align-items:center;justify-content:space-between;padding:0 4px 4px;}
.cg-adicionar{
  font-family:var(--f-corpo);font-weight:300;
  font-size:9px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted);background:none;border:none;cursor:pointer;
  padding:4px 0;transition:color .2s;white-space:nowrap;
}
.cg-adicionar:hover{color:var(--vinho);}
.cg-adicionar.adicionado{color:var(--oliva);pointer-events:none;}

/* ── FUNDOS POR CAMINHO ── */
.bg-florescer{background:#DDC5C9;}
.bg-bruma{background:#B27B82;}
.bg-protecao{background:#FFF5E1;}
.bg-sagrado{background:#E0E2CC;}
.bg-semente{background:#CBCEAF;}
.bg-nectar{background:#9E4D25;}
.bg-raiz{background:#4A0301;}
.bg-petala{background:#DDC5C9;}
.bg-neutro{background:#E8E4DC;}
.bg-mix{background:#E0E2CC;}

/* ── SETS ── */
.sets-section{background:var(--verde-medio);padding:80px 64px;}
.sets-header{margin-bottom:52px;}
.sets-eyebrow{font-family:var(--f-corpo);font-weight:300;font-size:10px;letter-spacing:0.42em;text-transform:uppercase;color:var(--verde-escuro);opacity:0.6;margin-bottom:14px;}
.sets-tit{font-family:var(--f-titulo);font-weight:400;font-size:clamp(24px,3vw,36px);color:var(--verde-escuro);letter-spacing:0.04em;margin-bottom:10px;}
.sets-sub{font-family:var(--f-corpo);font-weight:300;font-size:13px;color:var(--verde-escuro);opacity:0.65;max-width:460px;line-height:1.85;}
.sets-grid-sec{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.set-card-sec{
  background:var(--offwhite);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(74,3,1,0.1);transform:translateY(-3px);}
.set-img-sec{aspect-ratio:1;display:flex;align-items:center;justify-content:center;}
.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:8.5px;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:18px;color:var(--vinho);margin-bottom:12px;line-height:1.3;}
.set-cont-sec{font-family:var(--f-corpo);font-weight:300;font-size:12px;color:var(--muted);line-height:1.8;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:11px;letter-spacing:0.2em;color:var(--muted);}

/* ══ TABLET ≤1023px ══ */
@media(max-width:1023px){
  .page-header{padding:80px 32px 40px;}
  .controles{top:57px;}
  .cb-header,.sec-header{padding:40px 32px 20px;}
  .cb-grid,.cs-grid{padding:0 32px 48px;}
  .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:56px 32px;}
  .sets-grid-sec{grid-template-columns:1fr;}
}

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