/* ===========================================
   BRAND LAYER — Clínica Thays Moraes
   -------------------------------------------------------------------
   Applies the brand sheet (tokens.css) to the shared conversion blocks:
   deep-wine editorial grounds, Fraunces display type with a real italic
   reserved for emphasis, luminous gold accents, framed photography.
   Every selector is scoped to `.cp--thaysmoraes` so it can only ever
   restyle this tenant — the shared blocks stay brand-neutral.
   Loaded after blocks.css (see page.njk, gated on `brandCss`).
   =========================================== */

/* ---- Self-hosted display + body faces (OFL) ------------------------- */
/* Display face = Fraunces (Google, OFL), condensed to 86% (fraunces-cd-*, baked
   with tools/type/fix/scripts/condense-vf.py — real advance widths, weight
   + optical-size axes intact) to match her narrower original. Real italic for the
   emphasis-word move; opsz handled by font-optical-sizing for the display cut. */
@font-face {
  font-family: "Fraunces"; font-style: normal; font-weight: 100 900;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/fraunces-cd-normal-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Fraunces"; font-style: normal; font-weight: 100 900;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/fraunces-cd-normal-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Fraunces"; font-style: italic; font-weight: 100 900;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/fraunces-cd-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Fraunces"; font-style: italic; font-weight: 100 900;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/fraunces-cd-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat"; font-style: normal; font-weight: 300 700;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/montserrat-normal-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Montserrat"; font-style: normal; font-weight: 300 700;
  font-display: swap;
  src: url("/tenants/thaysmoraes/assets/fonts/montserrat-normal-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* =====================================================================
   GLOBAL — type, emphasis convention, shared editorial helpers
   ===================================================================== */
.cp--thaysmoraes {
  font-weight: 400;
  letter-spacing: 0.005em;
}
.cp--thaysmoraes h1,
.cp--thaysmoraes h2,
.cp--thaysmoraes h3 {
  font-weight: 200;
  letter-spacing: -0.03em;
  font-optical-sizing: auto;
}

/* Her signature move: roman headline, swashy italic on the emphasis word.
   Use <em> (or .cp-em) inside any heading to invoke it. */
.cp--thaysmoraes h1 em, .cp--thaysmoraes h2 em, .cp--thaysmoraes h3 em,
.cp--thaysmoraes .cp-em {
  font-style: italic;
  font-weight: 350;
  color: var(--cp-gold-deep);
}

/* Metallic-gold display text (hero title, accents). Falls back to solid
   gold where background-clip:text isn't supported. */
.cp--thaysmoraes .gold-sheen { color: var(--cp-gold); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .cp--thaysmoraes .gold-sheen {
    background: var(--cp-gold-sheen);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
}

/* Kicker: short gold rule + tracked caps label, above section titles. */
.cp--thaysmoraes .cp-services__title,
.cp--thaysmoraes .cp-gallery__title,
.cp--thaysmoraes .cp-testimonials__title,
.cp--thaysmoraes .cp-process__title,
.cp--thaysmoraes .cp-team__title,
.cp--thaysmoraes .cp-hygiene__title,
.cp--thaysmoraes .cp-faq__title,
.cp--thaysmoraes .cp-about__title,
.cp--thaysmoraes .cp-coverage__title,
.cp--thaysmoraes .cp-booking__title {
  color: var(--cp-wine);
  letter-spacing: -0.03em;
  /* Condensed face is thin — section titles run much larger (~2×) for impact. */
  font-size: clamp(2.7rem, 1.6rem + 4vw, 4.8rem);
  line-height: 1.05;
}
.cp--thaysmoraes .cp-services__head,
.cp--thaysmoraes .cp-coverage__head,
.cp--thaysmoraes .cp-gallery__head,
.cp--thaysmoraes .cp-testimonials__head,
.cp--thaysmoraes .cp-process__head,
.cp--thaysmoraes .cp-team__head,
.cp--thaysmoraes .cp-hygiene__head,
.cp--thaysmoraes .cp-faq__head { position: relative; }
.cp--thaysmoraes .cp-services__head::before,
.cp--thaysmoraes .cp-coverage__head::before,
.cp--thaysmoraes .cp-gallery__head::before,
.cp--thaysmoraes .cp-testimonials__head::before,
.cp--thaysmoraes .cp-process__head::before,
.cp--thaysmoraes .cp-team__head::before,
.cp--thaysmoraes .cp-hygiene__head::before,
.cp--thaysmoraes .cp-program__head::before,
.cp--thaysmoraes .cp-faq__head::before {
  content: ""; display: block; width: 2.4rem; height: 2px;
  margin: 0 auto 1.1rem; border-radius: 2px;
  background: var(--cp-gold-sheen);
}

/* =====================================================================
   HERO — deep-wine editorial statement
   ===================================================================== */
.cp--thaysmoraes .cp-hero {
  position: relative;
  overflow: hidden;
  max-width: none;
  padding: clamp(3rem, 8vw, 6rem) var(--cp-gap) clamp(3rem, 7vw, 5.5rem);
  background: var(--cp-wine-ground);
  color: var(--cp-cream);
  isolation: isolate;
}
.cp--thaysmoraes .cp-hero__body,
.cp--thaysmoraes .cp-hero__media:not(.cp-hero__media--backdrop) { position: relative; z-index: 1; }
/* Cut-out placement: legs leave through the top of the section, feet land
   beside the booking card and spill past its left edge. */
.cp--thaysmoraes .cp-hero { padding-top: var(--cp-gap); }
/* One column: the cut-out takes the right edge at full strength and the copy
   is given a matching gutter, so nothing has to be faded to stay legible. */
@media (max-width: 859px) {
  .cp--thaysmoraes .cp-hero {
    /* Scaled well past the strip it shows in and bled off the right edge, so
       the visible third reads as a crop of something life-size rather than a
       small picture centred in a gap. The section clips the overflow. */
    --cp-backdrop-left: auto; --cp-backdrop-right: -20vw;
    --cp-backdrop-width: 58vw;
  }
  /* Stated in vw like the cut-out's own width and bleed, so the gutter tracks
     the visible strip instead of drifting against it as the viewport changes. */
  .cp--thaysmoraes .cp-hero__body { padding-right: 41vw; }
  /* The slot's bottom padding existed to leave room under a bottom-anchored
     cut-out. It hangs from the top now, so on one column it is dead space
     between the booking card and the proof points. */
  .cp--thaysmoraes .cp-hero__media--backdrop { padding-bottom: 0; }
}
/* Narrowest: a gutter would leave the copy unreadably thin, so the cut-out sits
   beside the logo instead and the text runs full width beneath both. */
@media (max-width: 560px) {
  .cp--thaysmoraes .cp-hero {
    /* Sized to the logo's own height, so the two sit level and the eyebrow
       still starts on clean ground beneath them. The bleed has to be cancelled
       too: inherited from the wider band it pushed all but a sliver off-screen. */
    --cp-backdrop-width: clamp(6rem, 28vw, 7rem);
    --cp-backdrop-right: 0;
  }
  .cp--thaysmoraes .cp-hero__body { padding-right: 0; }
}
@media (min-width: 860px) {
  /* Height-driven here: the cut-out runs nearly the full depth of the hero. */
  .cp--thaysmoraes .cp-hero { --cp-backdrop-left: 38%; --cp-backdrop-width: auto; --cp-backdrop-height: 80%; }
}
/* faint oversized watermark wordmark, bleeding off the top-left */
.cp--thaysmoraes .cp-hero::before {
  content: "Podologia";
  position: absolute; z-index: 0;
  top: -0.28em; left: -0.08em;
  font-family: var(--cp-font-display); font-style: italic; font-weight: 350;
  font-size: clamp(9rem, 34vw, 26rem); line-height: 0.8;
  color: color-mix(in srgb, var(--cp-cream) 6%, transparent);
  pointer-events: none; white-space: nowrap;
}
/* keep the hero grid centred within the max width */
@media (min-width: 860px) {
  .cp--thaysmoraes .cp-hero {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem);
    padding-inline: clamp(2rem, 6vw, 5rem);
  }
}
/* This tenant sets its own column ratio, which outranks the shared rule — so it
   has to restate the booking card's floor width itself. */
@media (min-width: 1440px) {
  .cp--thaysmoraes .cp-hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(var(--cp-hero-media-min, 730px), 0.95fr);
  }
}
.cp--thaysmoraes .cp-hero__body {
  max-width: 40rem; margin-inline: auto; width: 100%;
}
@media (min-width: 860px) { .cp--thaysmoraes .cp-hero__body { margin-inline: 0; } }

.cp--thaysmoraes .cp-hero__logo {
  width: clamp(9rem, 21vw, 12.5rem);
  margin-bottom: clamp(1.2rem, 3vw, 2rem);
  /* metallic gold, masked to the traced mark (mask itself lives in blocks.css) */
  background: var(--cp-gold-sheen);
}
/* Narrowest: the cut-out sits beside the mark and hangs slightly below it, so
   the copy needs to start lower than the mark alone would ask for. Declared
   after the rule above, which would otherwise win on source order. */
@media (max-width: 560px) {
  .cp--thaysmoraes .cp-hero__logo { margin-bottom: 2.9rem; }
}
.cp--thaysmoraes .cp-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 0.7em;
  color: var(--cp-gold-bright);
  letter-spacing: 0.24em; font-size: 0.72rem; font-weight: 600;
  margin-bottom: 1.1rem;
}
.cp--thaysmoraes .cp-hero__eyebrow::before {
  content: ""; width: 1.8rem; height: 1px;
  background: var(--cp-gold); opacity: 0.8;
}
.cp--thaysmoraes .cp-hero__title {
  font-family: var(--cp-font-display); font-weight: 200;
  font-optical-sizing: auto;
  font-size: clamp(3.2rem, 1.85rem + 5vw, 6.25rem);
  line-height: 1.0; letter-spacing: -0.03em;
  margin: 0 0 0.35em;
  max-width: 100%; overflow-wrap: break-word;
  color: var(--cp-gold);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .cp--thaysmoraes .cp-hero__title {
    background: var(--cp-gold-sheen);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
}
/* the italic tagline directly under the name — the emphasis beat */
.cp--thaysmoraes .cp-hero__tagline {
  font-family: var(--cp-font-display); font-style: italic; font-weight: 350;
  font-size: clamp(1.4rem, 1rem + 1.7vw, 2.2rem);
  line-height: 1.1; color: var(--cp-gold-bright);
  margin: 0 0 1.1em;
}
.cp--thaysmoraes .cp-hero__lead {
  font-family: var(--cp-font-body); font-weight: 300;
  color: color-mix(in srgb, var(--cp-cream) 82%, transparent);
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
  line-height: 1.7; max-width: 40ch; margin: 0 0 1.9em;
}
.cp--thaysmoraes .cp-hero__meta {
  color: color-mix(in srgb, var(--cp-cream) 62%, transparent);
  font-size: 0.85rem; letter-spacing: 0.01em; margin-top: 1.6em;
  padding-top: 1.3em; border-top: 1px solid var(--cp-rule-cream);
  max-width: 34ch;
}

/* portrait: gold hairline frame + corner brackets on the wine ground.
   The backdrop variant sets its own padding — that gap is the visible photo. */
.cp--thaysmoraes .cp-hero__media:not(.cp-hero__media--backdrop) {
  position: relative;
  padding: 0.55rem;
}
/* A cut-out is not a framed photo: a box-shadow would draw its bounding
   rectangle on the ground. The backdrop carries its own drop-shadow instead. */
.cp--thaysmoraes .cp-hero__media > img:not(.cp-hero__backdrop) {
  border-radius: var(--cp-radius);
  box-shadow: 0 24px 60px -24px rgba(0,0,0,0.6);
}
.cp--thaysmoraes .cp-hero__media::before,
.cp--thaysmoraes .cp-hero__media::after {
  content: ""; position: absolute; width: 2.2rem; height: 2.2rem;
  border: 1.5px solid var(--cp-gold); opacity: 0.85;
}
.cp--thaysmoraes .cp-hero__media::before {
  top: 0; left: 0; border-right: 0; border-bottom: 0; border-top-left-radius: 0.4rem;
}
.cp--thaysmoraes .cp-hero__media::after {
  bottom: 0; right: 0; border-left: 0; border-top: 0; border-bottom-right-radius: 0.4rem;
}

/* Wine grounds RE-MAP the button tokens — the shared .cp-btn rule is never
   touched, so primary CTAs turn gold and outline CTAs turn cream on any wine
   section (hero, booking). Restyle buttons globally from --cp-btn-* in the
   token sheet; theme them per-ground here. */
.cp--thaysmoraes .cp-hero,
.cp--thaysmoraes .cp-booking {
  --cp-btn-primary-bg: var(--cp-gold-sheen);
  --cp-btn-primary-fg: var(--cp-wine-deep);
  --cp-btn-primary-border: transparent;
  --cp-btn-fg: var(--cp-cream);
  --cp-btn-border: var(--cp-rule-cream);
}

/* =====================================================================
   HERO BOOKING PICKER — the scheduler sits where the portrait was
   ===================================================================== */
/* The backdrop variant keeps its padding — that gap is the visible photo frame. */
.cp--thaysmoraes .cp-hero__media:has(.cp-scheduler):not(.cp-hero__media--backdrop) { padding: 0; min-width: 0; }
.cp--thaysmoraes .cp-hero__media--backdrop:has(.cp-scheduler) { min-width: 0; }
.cp--thaysmoraes .cp-hero__media:has(.cp-scheduler)::before,
.cp--thaysmoraes .cp-hero__media:has(.cp-scheduler)::after { display: none; }

.cp--thaysmoraes .cp-hero .cp-scheduler {
  max-width: none; margin: 0; min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.1rem);
  background: var(--cp-cream);
  color: var(--cp-cocoa);
  border-radius: var(--cp-radius);
  box-shadow: 0 26px 64px -26px rgba(0,0,0,0.62);
}
.cp--thaysmoraes .cp-hero .cp-scheduler__head { text-align: left; margin-bottom: 1.1rem; }
.cp--thaysmoraes .cp-hero .cp-scheduler__title {
  font-family: var(--cp-font-body); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.78rem;
  color: var(--cp-gold-deep); margin: 0;
}
.cp--thaysmoraes .cp-scheduler__days { min-width: 0; }
/* Day number in the display serif — larger + lighter than the sans weekday. */
.cp--thaysmoraes .cp-scheduler__day-num {
  font-family: var(--cp-font-display); font-weight: 300;
  font-size: 1.95rem; letter-spacing: -0.02em;
}
.cp--thaysmoraes .cp-scheduler__status { text-align: left; color: var(--cp-cocoa-muted); }
.cp--thaysmoraes .cp-scheduler__status a { color: var(--cp-wine); }
/* Days stay text-only (shared base handles them); the time cards go white for
   contrast on the cream picker card. The selected time keeps the wine fill
   (re-stated here so it wins over the white-card rule's specificity). */
.cp--thaysmoraes .cp-hero .cp-scheduler__time { background: var(--cp-paper); }
.cp--thaysmoraes .cp-hero .cp-scheduler__time--active {
  background: var(--cp-wine); color: var(--cp-cream);
}
.cp--thaysmoraes .cp-scheduler__note { text-align: left; color: var(--cp-cocoa-muted); }
.cp--thaysmoraes .cp-scheduler__confirm { text-align: left; }
.cp--thaysmoraes .cp-hero .cp-scheduler__cta { width: 100%; }
.cp--thaysmoraes .cp-scheduler__triage-note { color: var(--cp-cocoa-muted); }
.cp--thaysmoraes .cp-scheduler__intent {
  background: var(--cp-paper); color: var(--cp-cocoa);
  border-color: color-mix(in srgb, var(--cp-wine) 18%, transparent);
  --cp-icon-ink: var(--cp-wine); --cp-icon-accent: var(--cp-gold);
}
.cp--thaysmoraes .cp-scheduler__intent:hover { border-color: var(--cp-wine); }
/* Selected: the ground turns wine, so wine ink would vanish into it. */
.cp--thaysmoraes .cp-scheduler__intent--active {
  background: var(--cp-wine); color: var(--cp-cream); border-color: var(--cp-wine);
  --cp-icon-ink: var(--cp-cream); --cp-icon-accent: var(--cp-gold-bright);
}

/* =====================================================================
   ABOUT PORTRAIT — the practitioner photo, moved here from the hero
   ===================================================================== */
.cp--thaysmoraes .cp-about__media img {
  border-radius: var(--cp-radius);
  box-shadow: 0 22px 54px -26px rgba(42,26,20,0.5);
}

/* =====================================================================
   REVIEWS SUMMARY
   ===================================================================== */
.cp--thaysmoraes .cp-reviews { background: var(--cp-cream-warm); }
.cp--thaysmoraes .cp-reviews__score {
  font-family: var(--cp-font-display); font-weight: 350;
  color: var(--cp-wine); font-size: 3rem;
}
.cp--thaysmoraes .cp-reviews__stars-fill { color: var(--cp-gold); }
.cp--thaysmoraes .cp-reviews__count { letter-spacing: 0.02em; }

/* =====================================================================
   TESTIMONIALS + PROCESS
   ===================================================================== */
.cp--thaysmoraes .cp-testimonials__card {
  background: var(--cp-paper);
  border-color: color-mix(in srgb, var(--cp-wine) 14%, transparent);
}
.cp--thaysmoraes .cp-testimonials__quote { color: var(--cp-cocoa); font-weight: 300; }
.cp--thaysmoraes .cp-process__step { border-color: color-mix(in srgb, var(--cp-wine) 18%, transparent); }
.cp--thaysmoraes .cp-process__number { color: var(--cp-gold-deep); }
.cp--thaysmoraes .cp-process__note { background: var(--cp-cream-warm); color: var(--cp-cocoa); }

/* =====================================================================
   TRUST STRIP
   ===================================================================== */
.cp--thaysmoraes .cp-trust__item {
  background: var(--cp-cream);
  border: 1px solid color-mix(in srgb, var(--cp-wine) 12%, transparent);
  padding: 1.1rem 0.9rem;
}
.cp--thaysmoraes .cp-trust__label {
  font-family: var(--cp-font-body); font-weight: 400;
  color: var(--cp-cocoa); font-size: 0.9rem; line-height: 1.4;
}

/* =====================================================================
   SERVICES
   ===================================================================== */
.cp--thaysmoraes .cp-services__card {
  background: var(--cp-cream);
  border: 1px solid color-mix(in srgb, var(--cp-wine) 14%, transparent);
  border-radius: var(--cp-radius);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.cp--thaysmoraes .cp-services__card:hover {
  border-color: color-mix(in srgb, var(--cp-wine) 34%, transparent);
  transform: translateY(-2px);
}
/* The programme card. The wine ground already belongs to the spotlight section
   above it, so here the flagship is marked with the gold edge instead — the
   price stays the loudest thing in the card. */
.cp--thaysmoraes .cp-services__card--spotlight {
  background: var(--cp-paper);
  border-color: color-mix(in srgb, var(--cp-gold) 60%, transparent);
}
.cp--thaysmoraes .cp-services__terms {
  font-family: var(--cp-font-body); font-weight: 400;
  color: var(--cp-cocoa-muted); letter-spacing: 0.02em;
}
.cp--thaysmoraes .cp-services__card--featured {
  background: var(--cp-wine-ground); color: var(--cp-cream);
  border-color: transparent;
}
.cp--thaysmoraes .cp-services__card--featured .cp-services__desc {
  color: color-mix(in srgb, var(--cp-cream) 80%, transparent);
}
.cp--thaysmoraes .cp-services__card--featured .cp-services__price { color: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-services__card--featured .cp-services__duration { color: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-services__name {
  font-family: var(--cp-font-display); font-weight: 350; font-size: 1.28rem;
}
.cp--thaysmoraes .cp-services__price {
  font-family: var(--cp-font-display); font-weight: 350;
  color: var(--cp-wine); font-size: 1.35rem;
}
.cp--thaysmoraes .cp-services__duration {
  color: var(--cp-gold-deep); letter-spacing: 0.12em; font-weight: 600;
}
.cp--thaysmoraes .cp-services__group-title { color: var(--cp-wine); font-weight: 350; }
.cp--thaysmoraes .cp-services__group-head {
  padding-bottom: 0.9rem;
  border-bottom: 1px solid color-mix(in srgb, var(--cp-wine) 16%, transparent);
}
.cp--thaysmoraes .cp-services__assessment { background: var(--cp-wine-ground); color: var(--cp-cream); border-color: transparent; }
.cp--thaysmoraes .cp-services__assessment-kicker,
.cp--thaysmoraes .cp-services__assessment-meta span { color: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-services__assessment-title,
.cp--thaysmoraes .cp-services__assessment-meta strong { color: var(--cp-cream); }
.cp--thaysmoraes .cp-services__assessment-desc { color: color-mix(in srgb, var(--cp-cream) 82%, transparent); }

/* =====================================================================
   PROGRAM — the specialty spotlight
   The page runs cream from the testimonials to the map. The one section that
   has to read louder than the rest is the flagship programme, so it takes the
   wine card on a cream band — the same device as the closing CTA, at the top
   of the page instead of the bottom.
   ===================================================================== */
.cp--thaysmoraes .cp-program__body {
  background: var(--cp-wine-ground);
  color: var(--cp-cream);
}
.cp--thaysmoraes .cp-program__title {
  color: var(--cp-cream);
  letter-spacing: -0.03em;
  font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem);
  line-height: 1.05;
}
.cp--thaysmoraes .cp-program__lead {
  color: color-mix(in srgb, var(--cp-cream) 82%, transparent);
  font-family: var(--cp-font-body); font-weight: 300;
}
.cp--thaysmoraes .cp-program__point { border-color: color-mix(in srgb, var(--cp-cream) 26%, transparent); }
.cp--thaysmoraes .cp-program__point-name {
  color: var(--cp-gold-bright);
  font-family: var(--cp-font-display); font-weight: 350;
}
.cp--thaysmoraes .cp-program__point-desc { color: color-mix(in srgb, var(--cp-cream) 78%, transparent); }

/* =====================================================================
   GALLERY
   ===================================================================== */
.cp--thaysmoraes .cp-gallery__comparison {
  border: 1px solid color-mix(in srgb, var(--cp-wine) 14%, transparent);
}
.cp--thaysmoraes .cp-gallery__tag {
  font-family: var(--cp-font-body); letter-spacing: 0.08em; font-weight: 600;
  background: var(--cp-wine);
}
.cp--thaysmoraes .cp-gallery__line { background: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-gallery__caption { color: var(--cp-cream); }

/* =====================================================================
   TEAM + FAQ
   ===================================================================== */
.cp--thaysmoraes .cp-team__card {
  background: var(--cp-paper);
  border-color: color-mix(in srgb, var(--cp-wine) 14%, transparent);
}
.cp--thaysmoraes .cp-team__card--featured { border-color: color-mix(in srgb, var(--cp-gold) 52%, transparent); }
.cp--thaysmoraes .cp-team__media--initials { background: var(--cp-wine-ground); }
.cp--thaysmoraes .cp-team__media--initials span { color: var(--cp-gold-bright); font-style: italic; }
.cp--thaysmoraes .cp-hygiene { background: var(--cp-cream-warm); border-radius: var(--cp-radius); }
.cp--thaysmoraes .cp-hygiene__item { border-color: color-mix(in srgb, var(--cp-wine) 18%, transparent); }
.cp--thaysmoraes .cp-hygiene__number { color: var(--cp-gold-deep); }
.cp--thaysmoraes .cp-hygiene__name { color: var(--cp-wine); }
.cp--thaysmoraes .cp-faq__question { color: var(--cp-cocoa); font-weight: 350; }
.cp--thaysmoraes .cp-faq__question::after { color: var(--cp-wine); }

/* =====================================================================
   COVERAGE — embedded map + service-area chips
   ===================================================================== */
.cp--thaysmoraes .cp-coverage__note {
  font-family: var(--cp-font-body); font-weight: 300; color: var(--cp-cocoa-muted);
}
.cp--thaysmoraes .cp-coverage__map iframe {
  border: 1px solid color-mix(in srgb, var(--cp-wine) 18%, transparent);
}
.cp--thaysmoraes .cp-coverage__identity { background: var(--cp-wine-ground); color: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-coverage__areas-title { color: var(--cp-gold-deep); }
.cp--thaysmoraes .cp-coverage__area {
  background: var(--cp-cream); color: var(--cp-cocoa);
  border-color: color-mix(in srgb, var(--cp-wine) 14%, transparent);
}

/* =====================================================================
   ABOUT
   ===================================================================== */
/* No about photo supplied → collapse to a single centred editorial column
   instead of leaving the reserved media column empty. */
.cp--thaysmoraes .cp-about:not(:has(.cp-about__media)) {
  display: block;
  max-width: 46rem;
}
.cp--thaysmoraes .cp-about__para {
  font-family: var(--cp-font-body); font-weight: 300; line-height: 1.75;
  color: var(--cp-cocoa);
}
.cp--thaysmoraes .cp-about__signature {
  font-family: var(--cp-font-display); font-style: italic; font-weight: 350;
  color: var(--cp-wine); font-size: 1.45rem;
}

/* =====================================================================
   BOOKING — wine editorial close
   ===================================================================== */
.cp--thaysmoraes .cp-booking {
  position: relative; overflow: hidden;
  background: var(--cp-wine-ground); color: var(--cp-cream);
}
.cp--thaysmoraes .cp-booking__title { color: var(--cp-cream); }
.cp--thaysmoraes .cp-booking__lead {
  color: color-mix(in srgb, var(--cp-cream) 82%, transparent);
  font-family: var(--cp-font-body); font-weight: 300;
}
/* Address already lives in the footer — drop it from the final CTA. */
.cp--thaysmoraes .cp-booking__details { display: none; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.cp--thaysmoraes .cp-footer { background: var(--cp-wine-deep); }
.cp--thaysmoraes .cp-footer__name {
  font-family: var(--cp-font-display); font-weight: 350; font-size: 1.8rem;
  color: var(--cp-gold-bright);
}
.cp--thaysmoraes .cp-footer__contact a:hover { color: var(--cp-gold-bright); }

/* Sticky action bar now uses the shared .cp-btn (see template) — its wine
   primary + wine outline come straight from the button tokens, nothing to
   override here. */

/* =====================================================================
   SOCIAL CARD — the hero's own devices at 1200x630 (see _includes/og-card.njk)
   ===================================================================== */
.cp--thaysmoraes .cp-og {
  background: var(--cp-wine-ground);
  color: var(--cp-cream);
  --cp-og-art-right: -3.5rem;
}
.cp--thaysmoraes .cp-og--watermark::before { color: color-mix(in srgb, var(--cp-cream) 6%, transparent); }
.cp--thaysmoraes .cp-og__logo { background: var(--cp-gold-sheen); }
.cp--thaysmoraes .cp-og__eyebrow { color: var(--cp-gold-bright); }
.cp--thaysmoraes .cp-og__title {
  color: var(--cp-gold); font-weight: 200; letter-spacing: -0.03em;
}

/* The page opens and closes on wine (hero, footer), so the ground is wine too.
   iOS 26 Safari (Liquid Glass) ignores <meta theme-color> AND the html background;
   it tints the toolbar from the BODY background-color (or a fixed/sticky element at
   the edge), sampled at first paint. So the body itself must carry solid wine for
   the address bar to read wine. Sections that paint their own background (hero,
   footer, hygiene, the hero's scheduler) are unaffected; content sections that
   had none are restored to cream just below. html kept for the rubber-band
   overscroll on older Safari. */
html:has(> body.cp--thaysmoraes) { background: var(--cp-wine); }
body.cp--thaysmoraes { background: var(--cp-wine); }

/* A legal page has no wine hero — it opens on the reading column and closes on
   the footer. So its ground is cream, edge to edge, and the iOS toolbar (which
   samples the body background, see above) follows the page instead of fighting
   it. Declared right after the wine ground so it overrides on specificity. */
html:has(> body.cp--thaysmoraes.cp--legal) { background: var(--cp-bg); }
body.cp--thaysmoraes.cp--legal { background: var(--cp-bg); }

/* Restore cream on the content sections that had no background of their own —
   before the ground went wine they inherited the body's cream. Only the ground
   (overscroll + between-section gaps), the hero and the footer stay wine. */
.cp--thaysmoraes .cp-testimonials,
.cp--thaysmoraes .cp-program,
.cp--thaysmoraes .cp-gallery,
.cp--thaysmoraes .cp-process,
.cp--thaysmoraes .cp-services,
.cp--thaysmoraes .cp-team,
.cp--thaysmoraes .cp-faq,
.cp--thaysmoraes .cp-coverage,
.cp--thaysmoraes .cp-booking { background: var(--cp-bg); }

/* The closing CTA reads inside-out since the body ground went wine: a pale card
   floating on the very colour the card used to sit against. The section takes
   over as the cream band and the wine moves onto the card itself, which is what
   it was before the ground changed. Declared last — the blanket cream rule
   above sets .cp-booking too. */
.cp--thaysmoraes .cp-booking {
  width: 100%; max-width: none; margin: 0;
  padding: var(--cp-section-y) var(--cp-gap);
  border-radius: 0; overflow: visible;
  background: var(--cp-bg); color: var(--cp-fg);
}
.cp--thaysmoraes .cp-booking__body {
  width: min(var(--cp-maxw), 100%); margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.6rem, 7vw, 5rem);
  border-radius: var(--cp-radius); overflow: hidden;
  background: var(--cp-wine-ground); color: var(--cp-cream);
}

/* The content sections are centred columns capped at --cp-maxw, so on a screen
   wider than that the wine body showed down both edges as a frame. Their cream
   is spread sideways with an outset shadow rather than by widening them —
   widening the section would stretch every grid inside it. The clip keeps the
   band on this section's own rows, so neighbours do not bleed into each other. */
.cp--thaysmoraes .cp-testimonials,
.cp--thaysmoraes .cp-program,
.cp--thaysmoraes .cp-gallery,
.cp--thaysmoraes .cp-process,
.cp--thaysmoraes .cp-services,
.cp--thaysmoraes .cp-team,
.cp--thaysmoraes .cp-faq,
.cp--thaysmoraes .cp-coverage {
  box-shadow: 0 0 0 100vmax var(--cp-bg);
  clip-path: inset(0 -100vmax);
}

/* Hygiene is itself a warm-cream card, so it was left out of the band above.
   It still needs page cream around it — on the wine ground the card was
   floating in a wine gutter. Band is --cp-bg; the card keeps its warmer tone
   and its radius, and the shadow fills the corners the radius cuts away. */
.cp--thaysmoraes .cp-hygiene {
  box-shadow: 0 0 0 100vmax var(--cp-bg);
  clip-path: inset(0 -100vmax);
}
