/* Componentes adicionados no site multipágina (mesma paleta do style.css) */

.main-nav { gap: 24px; }
.main-nav a[aria-current="page"] { color: var(--gold-deep); }
.main-nav a[aria-current="page"]::after { right: 0; }

/* Cabeçalho das páginas internas */
.page-hero { padding: calc(var(--header-height) + 70px) 0 90px; overflow: hidden; background: radial-gradient(circle at 85% 90%, rgba(154, 117, 62, 0.1), transparent 38%), var(--white); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr); gap: 80px; align-items: center; }
.page-hero h1 { font-size: clamp(3rem, 6vw, 6rem); }
.page-hero .hero-lead { max-width: 600px; }
.page-hero-photo { position: relative; height: 620px; }
.page-hero-photo::before { content: ""; position: absolute; inset: 36px -40px -36px 50px; z-index: -1; border: 1px solid var(--line); }
.page-hero-photo img { width: 100%; height: 100%; object-fit: cover; box-shadow: var(--shadow); }
.page-hero-compact .page-hero-grid { grid-template-columns: 1fr; }
.page-hero-compact { padding-bottom: 60px; }

/* Cartões de procedimentos (home) */
.proc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.proc-card { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--white); border: 1px solid var(--line); transition: transform 220ms ease, box-shadow 220ms ease; }
.proc-card:hover, .proc-card:focus-visible { transform: translateY(-6px); box-shadow: 0 22px 45px rgba(50, 35, 20, 0.1); }
.proc-card .proc-img { aspect-ratio: 4 / 5; overflow: hidden; background: var(--soft); }
.proc-card .proc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms ease; }
.proc-card:hover .proc-img img { transform: scale(1.04); }
.proc-card .proc-body { padding: 20px 20px 24px; }
.proc-card h3 { font-size: 1.55rem; line-height: 1.05; }
.proc-card p { margin: 10px 0 0; color: var(--muted); font-size: 0.86rem; line-height: 1.5; }
.section-cta { display: flex; justify-content: center; margin-top: 54px; }

/* Lista de procedimentos (página própria) */
.proc-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.proc-row { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 70px; align-items: center; padding: 56px 0; border-bottom: 1px solid var(--line); }
.proc-row:nth-child(even) { grid-template-columns: 1.2fr 0.8fr; }
.proc-row:nth-child(even) .proc-row-img { order: 2; }
.proc-row-img { aspect-ratio: 4 / 5; max-height: 560px; overflow: hidden; background: var(--soft); }
.proc-row-img img { width: 100%; height: 100%; object-fit: cover; }
.proc-row-img.is-wide { aspect-ratio: 3 / 2; }
.proc-row .path-number { display: block; margin-bottom: 14px; }
.proc-row h2 { font-size: clamp(2.2rem, 3.6vw, 3.6rem); }
.proc-row p { max-width: 540px; margin: 22px 0 0; color: var(--ink-soft); }
.proc-meta { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 26px 0 30px; padding: 0; list-style: none; color: var(--muted); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; }
.proc-meta li::before { content: "·"; margin-right: 8px; color: var(--gold); }
.proc-note { margin: 56px 0 0; padding: 26px 30px; border: 1px solid var(--line); background: var(--off-white); color: var(--ink-soft); }

/* Club (resumo na home) */
.club-teaser { color: var(--white); background: var(--ink); }
.club-teaser-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 90px; align-items: center; }
.club-teaser-photo { height: 560px; }
.club-teaser .eyebrow { color: var(--gold-light); }
.club-teaser p:not(.eyebrow) { max-width: 540px; color: rgba(255, 255, 255, 0.68); }
.club-teaser .price-line { display: flex; flex-wrap: wrap; gap: 14px 40px; margin: 34px 0; padding: 26px 0; border-block: 1px solid rgba(215, 183, 119, 0.3); }
.club-teaser .price-line div { display: flex; flex-direction: column; }
.club-teaser .price-line small { color: rgba(255, 255, 255, 0.55); font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase; }
.club-teaser .price-line strong { font-family: var(--serif); font-size: 2.2rem; font-weight: 400; color: var(--gold-light); line-height: 1.2; }
.club-teaser .button { background: var(--gold-light); border-color: var(--gold-light); color: var(--ink); }
.club-teaser .button:hover { background: var(--white); border-color: var(--white); }

/* Galeria do Studio */
.gallery { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 300px 300px; gap: 16px; }
.gallery figure { margin: 0; overflow: hidden; background: var(--soft); }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.gallery .g-big { grid-row: 1 / span 2; }
.gallery .g-tall { grid-row: 1 / span 2; }

/* Valores / diferenciais */
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.values-grid article { min-height: 260px; padding: 32px; border: 1px solid var(--line); background: var(--white); }
.values-grid span { color: var(--gold); font-family: var(--serif); }
.values-grid h3 { margin-top: 46px; font-size: 2rem; }
.values-grid p { color: var(--muted); }

/* Sobre */
.story-grid { display: grid; grid-template-columns: 120px minmax(0, 1.1fr) minmax(0, 1fr); gap: 58px; align-items: start; }
.story-grid .body-copy { padding-top: 6px; }
.story-grid .body-copy p { font-size: 1.04rem; }

/* Localização */
.map-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 70px; align-items: stretch; }
.info-list { display: grid; gap: 30px; margin: 40px 0 0; padding: 0; list-style: none; }
.info-list li { padding-top: 22px; border-top: 1px solid var(--line); }
.info-list small { display: block; margin-bottom: 8px; color: var(--muted); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; }
.info-list strong { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; color: var(--gold-deep); line-height: 1.25; }
.info-list p { margin: 6px 0 0; color: var(--ink-soft); }
.map-frame { min-height: 520px; border: 1px solid var(--line); background: var(--soft); }
.map-frame iframe { display: block; width: 100%; height: 100%; min-height: 520px; border: 0; filter: sepia(0.18) saturate(0.9); }
.visit-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.visit-photos figure { margin: 0; height: 420px; overflow: hidden; background: var(--soft); }
.visit-photos img { width: 100%; height: 100%; object-fit: cover; }

/* Redes */
.social-links { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 26px; }

@media (max-width: 1080px) {
  .proc-grid { grid-template-columns: repeat(2, 1fr); }
  .proc-row { gap: 44px; }
  .club-teaser-grid { gap: 50px; }
  .story-grid { grid-template-columns: 80px 1fr 1fr; gap: 38px; }
  .map-grid { gap: 40px; }
}

@media (max-width: 920px) {
  .page-hero-grid { grid-template-columns: 1fr; gap: 50px; }
  .page-hero-photo { height: 520px; max-width: 560px; }
  .proc-row, .proc-row:nth-child(even) { grid-template-columns: 1fr; gap: 28px; padding: 44px 0; }
  .proc-row:nth-child(even) .proc-row-img { order: 0; }
  .proc-row-img { max-height: 460px; }
  .club-teaser-grid { grid-template-columns: 1fr; }
  .club-teaser-photo { height: 460px; }
  .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 260px 260px; }
  .gallery .g-big { grid-column: 1 / -1; grid-row: auto; }
  .gallery .g-tall { grid-row: auto; }
  .values-grid { grid-template-columns: 1fr; }
  .values-grid article { min-height: 200px; }
  .story-grid { grid-template-columns: 80px 1fr; }
  .story-grid .body-copy { grid-column: 2; }
  .map-grid { grid-template-columns: 1fr; }
  .visit-photos { grid-template-columns: 1fr 1fr; }
  .visit-photos figure:last-child { display: none; }
}

@media (max-width: 700px) {
  .page-hero { padding-bottom: 60px; }
  .page-hero-photo { height: 440px; }
  .page-hero-photo::before { inset: 20px -16px -20px 24px; }
  .proc-grid { gap: 12px; }
  .proc-card .proc-body { padding: 14px 12px 18px; }
  .proc-card h3 { font-size: 1.15rem; }
  .proc-card p { display: none; }
  .club-teaser-photo { height: 380px; }
  .gallery { grid-template-columns: 1fr; grid-template-rows: none; }
  .gallery figure { height: 300px; }
  .story-grid { grid-template-columns: 1fr; gap: 30px; }
  .story-grid .body-copy { grid-column: auto; }
  .map-frame, .map-frame iframe { min-height: 380px; }
  .visit-photos { grid-template-columns: 1fr; }
  .visit-photos figure { height: 320px; }
  .visit-photos figure:last-child { display: block; }
}

/* Valores dos procedimentos */
.proc-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin: 24px 0 0; }
.proc-price strong { font-family: var(--serif); font-size: clamp(2.1rem, 3.4vw, 3.1rem); font-weight: 400; line-height: 1; color: var(--gold-deep); }
.proc-price span { color: var(--muted); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; }
.proc-row .proc-meta { margin-top: 18px; }
.price-table { width: 100%; max-width: 560px; margin: 24px 0 0; border-collapse: collapse; font-size: 0.95rem; }
.price-table th, .price-table td { padding: 12px 0; border-bottom: 1px solid var(--line); text-align: left; }
.price-table th { color: var(--muted); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.price-table td:nth-child(2), .price-table td:nth-child(3), .price-table th:nth-child(2), .price-table th:nth-child(3) { text-align: right; }
.price-table td:first-child { font-family: var(--serif); font-size: 1.2rem; color: var(--gold-deep); }
.price-note { max-width: 560px; margin: 14px 0 0; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.plan-mini { display: grid; gap: 12px; max-width: 560px; margin: 24px 0 0; }
.plan-mini div { padding: 18px 22px; border: 1px solid var(--line); background: var(--off-white); }
.plan-mini div.is-best { border-color: var(--gold); background: var(--white); }
.plan-mini small { display: block; color: var(--muted); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; }
.plan-mini strong { display: block; margin-top: 6px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; color: var(--gold-deep); line-height: 1.1; }
.plan-mini p { margin: 6px 0 0; font-size: 0.86rem; color: var(--ink-soft); }
@media (max-width: 700px) {
  .price-table { font-size: 0.88rem; }
  .price-table td:first-child { font-size: 1.05rem; }
}

/* Caminhos da home com 2 cartões */
.path-grid.path-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 920px) {
  .path-grid.path-grid-2 { grid-template-columns: 1fr; }
}
