/* ============================================================
   LUXE — camada "Cream Haute Couture" (carrega DEPOIS de theme-b)
   Marfim + dourado, sage estrutural, drama escuro no hero/CTA,
   Cormorant Light, cards-vitrine, divisores botânicos, animações.
   ============================================================ */

/* ---------- Paleta de luxo (sobrescreve os tokens do tema B) ---------- */
body.theme-b {
  --c-bg: #faf6f0;            /* marfim quente */
  --c-surface: #f4ece0;       /* creme */
  --c-text: #2b2823;          /* grafite quente */
  --c-muted: #6b6256;         /* texto secundário (passa AA no marfim) */
  --c-accent: #c9a96e;        /* DOURADO — decorativo, bordas, display, fundo de botão */
  --c-gold-text: #7a5e28;     /* dourado escuro p/ TEXTO pequeno no claro — passa AA (≥5:1 em marfim e creme) */
  --c-accent-ink: #1e1e1b;    /* texto sobre o botão dourado */
  --c-sage: #5e7050;          /* sage agora é ESTRUTURAL (identidade) */
  --c-border: #e9ddca;        /* borda quente */
  --c-dark: #1e1e1b;          /* charcoal dos blocos dramáticos */
  --c-dark-ink: #f7f1e8;      /* texto sobre o escuro */
  --radius: 10px; --radius-lg: 14px;
  --shadow: 0 18px 48px rgba(150, 110, 50, .16);
  --shadow-amber: 0 16px 38px rgba(201, 169, 110, .28);
}

/* ---------- Tipografia de luxo: Cormorant Light no display ---------- */
body.theme-b h1 { font-weight: 300; letter-spacing: .01em; }
body.theme-b h2 { font-weight: 400; letter-spacing: .01em; }
body.theme-b h3 { font-weight: 500; }
body.theme-b .eyebrow {
  color: var(--c-gold-text); letter-spacing: .28em; font-weight: 600;
}
body.theme-b .lead { color: var(--c-muted); }

/* nav: texto estrutural escuro, hover dourado */
body.theme-b .nav a { color: var(--c-text); }
body.theme-b .nav a:hover { color: var(--c-gold-text); }
body.theme-b .brand__sub { color: var(--c-gold-text); }
body.theme-b .brand__em { color: var(--c-sage); }

/* ---------- Botões ---------- */
body.theme-b .btn--primary { background: var(--c-accent); color: var(--c-accent-ink); box-shadow: none; }
body.theme-b .btn--primary:hover { box-shadow: var(--shadow-amber); transform: translateY(-2px); }
body.theme-b .btn--ghost { border-color: var(--c-accent); color: var(--c-text); }
body.theme-b .btn--ghost:hover { border-color: var(--c-gold-text); color: var(--c-gold-text); background: rgba(201,169,110,.08); }
body.theme-b .link-wa { color: var(--c-gold-text); }

/* ---------- HERO full-bleed dramático ---------- */
body.theme-b .hero--luxe {
  position: relative; min-height: clamp(540px, 82vh, 780px);
  display: flex; align-items: center; background: var(--c-dark); overflow: hidden;
  padding: 0;
}
.hero--luxe .hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero--luxe .hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hero--luxe .hero__bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(100deg, rgba(20,18,16,.92) 0%, rgba(20,18,16,.7) 38%, rgba(20,18,16,.25) 70%, rgba(20,18,16,.1) 100%),
    linear-gradient(0deg, rgba(20,18,16,.55), rgba(20,18,16,0) 45%);
}
.hero--luxe .hero__inner { position: relative; z-index: 2; display: block; }
.hero--luxe .hero__text { max-width: 620px; }
.hero--luxe .eyebrow { color: var(--c-accent); }
.hero--luxe h1 {
  color: var(--c-dark-ink); font-weight: 300;
  font-size: clamp(2.8rem, 7vw, 5rem); line-height: 1.04; margin-bottom: var(--space-4);
}
.hero--luxe .lead { color: rgba(247,241,232,.86); }
.hero--luxe .btn--ghost { border-color: rgba(247,241,232,.5); color: var(--c-dark-ink); }
.hero--luxe .btn--ghost:hover { border-color: var(--c-accent); color: var(--c-accent); background: rgba(201,169,110,.12); }
.hero--luxe .hero__badges { color: rgba(247,241,232,.75); }
.hero--luxe .hero__badges li { border-top: 1px solid rgba(201,169,110,.35); padding-top: var(--space-2); }

/* ---------- Section heads: filete dourado sob o título ---------- */
body.theme-b .section-head h2 { position: relative; padding-bottom: var(--space-3); }
body.theme-b .section-head h2::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 54px; height: 2px; background: var(--c-accent);
}
body.theme-b .cat-title { border-left-color: var(--c-accent); }

/* ---------- Cards: moldura de vitrine + hover ---------- */
body.theme-b .card {
  border: 1px solid rgba(201,169,110,.35);
  box-shadow: 0 1px 0 rgba(201,169,110,.15);
}
body.theme-b .card:hover { transform: translateY(-6px); box-shadow: var(--shadow-amber); }
body.theme-b .card .media { box-shadow: inset 0 0 0 1px rgba(201,169,110,.18); }

/* galeria: moldura dourada idem */
body.theme-b .g-item { box-shadow: inset 0 0 0 1px rgba(201,169,110,.30), 0 2px 12px rgba(120,90,40,.10); }

/* ---------- CTA band: charcoal dramático ---------- */
body.theme-b .cta-band { background: var(--c-dark); color: var(--c-dark-ink); }
body.theme-b .cta-band p { color: rgba(247,241,232,.8); }
body.theme-b .cta-band .btn--primary { background: var(--c-accent); color: var(--c-accent-ink); }
body.theme-b .cta-band .btn--primary:hover { box-shadow: 0 14px 34px rgba(201,169,110,.4); }

/* ---------- Depoimentos: aspas e estrelas douradas ---------- */
body.theme-b .depoimentos .stars { color: var(--c-accent); }
body.theme-b .depoimentos blockquote { border-color: rgba(201,169,110,.35); }

/* ---------- Rodapé: toques dourados ---------- */
body.theme-b .site-footer { background: var(--c-dark); }
body.theme-b .site-footer .brand__name { color: var(--c-dark-ink); }
body.theme-b .site-footer .footer-h { color: var(--c-accent); opacity: 1; }

/* ---------- Divisor botânico (raminho dourado) ---------- */
.divider-bot { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: var(--space-4) 0; color: var(--c-accent); }
.divider-bot::before, .divider-bot::after { content: ""; height: 1px; width: min(120px, 22vw); background: linear-gradient(90deg, transparent, rgba(201,169,110,.6)); }
.divider-bot::after { background: linear-gradient(270deg, transparent, rgba(201,169,110,.6)); }
.divider-bot svg { width: 30px; height: 30px; opacity: .85; }

/* ---------- Correções pós-auditoria (UI/UX/a11y) ---------- */
/* Depoimentos reais publicados (Carlos Alberto, Carminha, Madalena, Nara, Alida) */
/* Indicador de página ativa no menu */
body.theme-b .nav a[aria-current="page"] { color: var(--c-gold-text); border-bottom: 2px solid var(--c-accent); padding-bottom: 1px; }
/* h1 da galeria (sem hero) com mais presença */
body.theme-b .gallery-section .section-head h1 { font-weight: 500; }
/* legibilidade do h1 do hero mesmo se a foto demorar/clarear */
.hero--luxe h1 { text-shadow: 0 2px 14px rgba(20,18,16,.45); }

/* ---------- Botão "Compartilhar o site" (rodapé escuro) ---------- */
body.theme-b .btn--share {
  background: transparent; border: 1px solid var(--c-accent); color: #f7f1e8;
  margin-top: var(--space-3); cursor: pointer;
}
body.theme-b .btn--share:hover { background: var(--c-accent); color: #1e1e1b; transform: translateY(-2px); }

/* ---------- Ações por foto na galeria (encomendar + enviar foto) ---------- */
.g-item__actions {
  position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 6px; padding: 8px;
  background: linear-gradient(transparent, rgba(20,18,16,.74));
  opacity: 0; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease;
}
.g-item:hover .g-item__actions, .g-item:focus-within .g-item__actions { opacity: 1; transform: none; }
@media (pointer: coarse) { .g-item__actions { opacity: 1; transform: none; } }
.g-item__act {
  flex: 1; text-align: center; font-family: var(--font-body); font-size: .72rem; font-weight: 700;
  padding: .5rem .3rem; border-radius: 8px; cursor: pointer; text-decoration: none;
  border: 1px solid rgba(201,169,110,.55); background: rgba(20,18,16,.55); color: #fff;
  transition: background .15s ease, color .15s ease;
}
.g-item__act:hover { background: rgba(20,18,16,.8); }
.g-item__act--share { background: var(--c-accent); color: #1e1e1b; border-color: var(--c-accent); }
.g-item__act--share:hover { background: #d8bd8a; color: #1e1e1b; }

/* ---------- Faixa de Parceiros (sutil) ---------- */
.parceiros { padding: var(--space-6) 0 var(--space-5); text-align: center; }
.parceiros__label {
  font-family: var(--font-body); font-size: .7rem; font-weight: 600; letter-spacing: .28em;
  text-transform: uppercase; color: var(--c-gold-text);
  display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 0 auto var(--space-4);
}
.parceiros__label::before, .parceiros__label::after { content: ""; height: 1px; width: min(70px, 14vw); background: linear-gradient(90deg, transparent, rgba(201,169,110,.55)); }
.parceiros__label::after { background: linear-gradient(270deg, transparent, rgba(201,169,110,.55)); }
.parceiros__logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-4); }
.parceiros__logos a {
  display: inline-flex; align-items: center; gap: 10px; background: var(--c-dark); border: 1px solid rgba(201,169,110,.3);
  border-radius: 12px; padding: 9px 18px; opacity: .92; text-decoration: none;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}
.parceiros__logos a:hover { opacity: 1; transform: translateY(-2px); box-shadow: var(--shadow-amber); }
.parceiros__logos img { height: 28px; width: 28px; display: block; flex: none; }
.parceiros__name { font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; line-height: 1; color: #f7f1e8; letter-spacing: .02em; }

/* ---------- Animações: scroll-reveal + intro do hero ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.reveal--in { opacity: 1; transform: none; }
.hero--luxe .hero__text > * { animation: heroIn .9s cubic-bezier(.2,.7,.2,1) both; }
.hero--luxe .eyebrow { animation-delay: .05s; }
.hero--luxe h1 { animation-delay: .15s; }
.hero--luxe .lead { animation-delay: .28s; }
.hero--luxe .hero__cta { animation-delay: .4s; }
.hero--luxe .hero__badges { animation-delay: .5s; }
@keyframes heroIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero--luxe .hero__text > * { animation: none !important; }
}
