/*
Theme Name: GoDigital
Theme URI: https://godigital.techchaps.com
Author: TechChaps
Description: Go Digital template-library block theme (M-0050). Hand-crafted master templates built on named theme.json colour slots — a palette swap recolours a whole master. Core blocks only.
Version: 0.5
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: godigital
*/

/* ---- polish on top of theme.json tokens (kept small, generic) ---- */
.wp-block-button__link { transition: transform .12s ease, box-shadow .12s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 8px 22px color-mix(in srgb, var(--wp--preset--color--dark) 16%, transparent); }

/* generic card helper */
.gd-card {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 10px;
  height: 100%;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--wp--preset--color--dark) 4%, transparent);
  transition: box-shadow .15s ease, transform .15s ease;
}
.gd-card:hover { box-shadow: 0 14px 34px color-mix(in srgb, var(--wp--preset--color--dark) 10%, transparent); transform: translateY(-2px); }
.gd-card * { overflow-wrap: normal; word-break: normal; hyphens: none; }

/* eyebrow label — source parity: Archivo 16px / 500 / lh 1, sentence case (Plumbr "H5/Accent" preset) */
.gd-eyebrow { font-family: var(--wp--preset--font-family--heading); font-size:1rem; font-weight:500; line-height:1; }

/* site brand: no underline, inherit its set colour */
.wp-block-site-title a { text-decoration: none; color: inherit; }
.wp-block-site-title a:hover { color: var(--wp--preset--color--secondary); }

/* social icons inherit the band colour instead of brand colours */
.wp-block-social-links.is-style-logos-only .wp-block-social-link { color: inherit !important; }

/* links on coloured bands (nav band, footer) inherit their band colour */
.gd-inherit-links a { color: inherit; text-decoration: none; }
.gd-inherit-links a:hover { color: var(--wp--preset--color--secondary); }

/* rounded media everywhere */
.wp-block-image img, .wp-block-cover { border-radius: 10px; }

/* heading rhythm */
h1.wp-block-heading { letter-spacing:-.02em; }
h2.wp-block-heading { letter-spacing:-.01em; }

/* ---- generic section helpers (used by master patterns) ---- */

/* softened text on coloured bands */
.gd-dim { opacity:.82; }

/* white card with soft shadow (no border) */
.gd-card-white { background: var(--wp--preset--color--base); box-shadow: 0 14px 34px color-mix(in srgb, var(--wp--preset--color--dark) 8%, transparent); border-radius: 8px; }

/* decorative circular play badge */
.gd-play-badge { width:84px; height:84px; border-radius:50%; background:var(--wp--preset--color--base); color:var(--wp--preset--color--secondary); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 14px color-mix(in srgb, var(--wp--preset--color--base) 16%, transparent); }

/* about media collage: relative stage + rotated call-out ribbon + white-framed overlap image
   (source: ribbon box 21px/34px padding rotated -90deg at the collage top-left; main image
   inset 115px; small image border-box 324x222 pulled fully up, bottom flush with the portrait,
   with a 20px white top/right frame ON THE IMG so the frame visibly cuts into the portrait) */
.gd-about-media { position:relative; }
.gd-about-ribbon {
  position:absolute; top:0; left:0; z-index:1;
  background:var(--wp--preset--color--secondary);
  writing-mode:vertical-rl; transform:rotate(180deg);
  padding:34px 21px;
}
.gd-about-ribbon p { line-height:1.2; }
.gd-about-img-b { width:fit-content; }
.gd-about-img-b img {
  box-sizing:border-box;
  border-top:20px solid var(--wp--preset--color--base);
  border-right:20px solid var(--wp--preset--color--base);
}
.gd-about-media img { border-radius:0; }
@media (max-width:781px) {
  .gd-about-ribbon { position:static; writing-mode:horizontal-tb; transform:none; padding:14px 18px; margin-bottom:14px; }
  .gd-about-img-a { margin-left:0 !important; }
  .gd-about-img-a img { height:340px !important; }
  .gd-about-img-b { margin-top:14px !important; width:100% !important; }
  .gd-about-img-b img { border:0; width:100% !important; }
}

/* founder row: hairline divider + ringed avatar + faded signature (source values) */
.gd-founder-divider { border-right:1px solid var(--wp--preset--color--border); }
@media (max-width:781px) { .gd-founder-divider { border-right:0; } }
.gd-avatar-ring img { border:2px solid var(--wp--preset--color--secondary); border-radius:50% !important; }
.gd-signature { color:var(--wp--preset--color--primary); opacity:.3; }
.gd-signature svg { width:163px; max-width:100%; height:auto; display:block; }

/* stats fun-fact: navy number with white superscript suffix (source: 38px/700 number, 24px/600 super) */
.gd-funfact sup { color:var(--wp--preset--color--base); font-size:1.5rem; font-weight:600; line-height:0; }

/* desktop-only negative pull-up (e.g. card overlapping the hero); lifted above the
   cover block's positioned overlay/image so the card is never dimmed by it */
.gd-pull-up { position:relative; z-index:1; }
@media (max-width:781px) { .gd-pull-up { margin-top:0 !important; } }

/* full-height child inside a stretch column */
.gd-fill-height { height:100%; }

/* checklist: blue circle + white tick (source: 20px icon, 30px indent, 15px item gap,
   16px body-font 400 primary text) */
ul.gd-checks { list-style:none; padding-left:0; margin:0; }
ul.gd-checks li { position:relative; padding-left:30px; margin-bottom:15px; font-size:var(--wp--preset--font-size--small); font-weight:400; color:var(--wp--preset--color--primary); }
ul.gd-checks li::before { content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%; background:var(--wp--preset--color--secondary); }
ul.gd-checks li::after { content:""; position:absolute; left:7px; top:6px; width:5px; height:9px; border-right:2px solid var(--wp--preset--color--base); border-bottom:2px solid var(--wp--preset--color--base); transform:rotate(45deg); }

/* icon tile: filled square icon with offset tint shadow */
.gd-icon-tile { position:relative; width:84px; height:84px; display:flex; align-items:center; justify-content:center; background:var(--wp--preset--color--secondary); color:var(--wp--preset--color--base); border-radius:6px; box-shadow:10px 10px 0 0 color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent); }

/* dashed connector line behind a 3-step row */
.gd-process-row { position:relative; }
.gd-process-row::before { content:""; position:absolute; top:42px; left:16%; right:16%; border-top:2px dashed var(--wp--preset--color--border); }
@media (max-width:781px) { .gd-process-row::before { display:none; } }
.gd-process-row .gd-icon-tile { position:relative; z-index:1; }

/* narrow overlay card (e.g. testimonial on a photo) */
.gd-quote-card { max-width:360px; }

/* allow long unbroken strings (e.g. email addresses) to wrap inside tight boxes */
.gd-wrap-any { overflow-wrap: anywhere; }

/* appointment card: square corners + soft primary-tint shadow (source: 0 3px 30px primary@10%, radius 0) */
.gd-appoint-card { position:relative; z-index:1; background:var(--wp--preset--color--base); box-shadow:0 3px 30px color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent); }
.gd-appoint-card, .gd-appoint-card .wp-block-cover, .gd-appoint-card img { border-radius:0; }
.gd-appoint-band { border-radius:0; }
/* appointment submit: source metrics 16px/700, line-height 1 (~56px tall with its 20/40
   padding) — beats the theme's wp-element-button weight/line-height */
.gd-appoint-fields .wp-block-button__link { font-size:1rem; font-weight:700; line-height:1; }
/* select-style tile: muted chevron on the right */
.gd-select-tile { position:relative; }
.gd-select-tile::after { content:""; position:absolute; right:24px; top:50%; width:8px; height:8px; border-right:2px solid var(--wp--preset--color--muted); border-bottom:2px solid var(--wp--preset--color--muted); transform:translateY(-70%) rotate(45deg); }
@media (max-width:781px) {
  .gd-appoint-fields { padding:26px 24px 32px !important; }
  .gd-appoint-card .wp-block-cover { min-height:320px !important; }
}

/* media that fills its container height */
.gd-cover-img, .gd-cover-img img { height:100%; }
.gd-cover-img img { width:100%; object-fit:cover; }

/* FAQ accordion built from core details blocks; open item gets a secondary header bar */
.gd-faq .wp-block-details { border:1px solid var(--wp--preset--color--border); border-radius:6px; margin-bottom:16px; background:var(--wp--preset--color--base); box-shadow:0 4px 14px color-mix(in srgb, var(--wp--preset--color--dark) 5%, transparent); overflow:hidden; }
.gd-faq .wp-block-details summary { cursor:pointer; font-family:var(--wp--preset--font-family--heading); font-weight:600; font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--primary); list-style:none; position:relative; padding:16px 46px 16px 22px; }
.gd-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.gd-faq .wp-block-details summary::after { content:"›"; position:absolute; right:20px; top:50%; transform:translateY(-50%) rotate(90deg); font-size:1.2rem; color:var(--wp--preset--color--secondary); transition:transform .15s ease; }
.gd-faq .wp-block-details[open] { border-color:var(--wp--preset--color--secondary); }
.gd-faq .wp-block-details[open] summary { background:var(--wp--preset--color--secondary); color:var(--wp--preset--color--base); }
.gd-faq .wp-block-details[open] summary::after { transform:translateY(-50%) rotate(-90deg); color:var(--wp--preset--color--base); }
.gd-faq .wp-block-details p { color:var(--wp--preset--color--muted); margin:0; padding:16px 22px 18px; font-size:var(--wp--preset--font-size--small); }

/* ---- mobile hamburger nav (toggle + stacked panel + overlay) ---- */
.gd-nav-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  background: none;
  border: 0;
  padding: 8px 4px;
  cursor: pointer;
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 600;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.gd-nav-toggle__bars { display: inline-flex; flex-direction: column; gap: 5px; width: 24px; }
.gd-nav-toggle__bars span { display: block; height: 2px; width: 100%; background: currentColor; border-radius: 2px; transition: transform .15s ease, opacity .15s ease; }
.gd-nav-toggle:focus-visible,
.gd-nav-links a:focus-visible {
  outline: 2px solid var(--wp--preset--color--base);
  outline-offset: 3px;
}
.gd-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--wp--preset--color--dark) 55%, transparent);
  z-index: 40;
}
.gd-nav-overlay.is-open { display: block; }

@media (max-width: 1024px) {
  .gd-nav { position: relative; z-index: 50; }
  .gd-nav-toggle { display: inline-flex; }
  .gd-nav.gd-nav-open .gd-nav-toggle__bars span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .gd-nav.gd-nav-open .gd-nav-toggle__bars span:nth-child(2) { opacity: 0; }
  .gd-nav.gd-nav-open .gd-nav-toggle__bars span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .gd-nav .gd-nav-links { display: none; }
  .gd-nav.gd-nav-open .gd-nav-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-basis: 100%;
    width: 100%;
    margin-top: 12px;
    padding-top: 6px;
    background: var(--wp--preset--color--primary);
    border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 22%, transparent);
  }
  .gd-nav.gd-nav-open .gd-nav-links p { width: 100%; margin: 0; }
  .gd-nav.gd-nav-open .gd-nav-links a {
    display: block;
    padding: 14px 4px;
    border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
  }
  .gd-nav.gd-nav-open .gd-nav-links p:last-child a { border-bottom: 0; }
}
@media (min-width: 1025px) {
  .gd-nav-toggle { display: none; }
  .gd-nav-overlay { display: none; }
}

/* solid circular social buttons (logos-only style + slot colours) */
.gd-social-solid .wp-block-social-link { background:var(--wp--preset--color--secondary) !important; border-radius:50%; color:var(--wp--preset--color--base) !important; }
.gd-social-solid .wp-block-social-link:hover { background:var(--wp--preset--color--accent) !important; }
.gd-social-solid .wp-block-social-link a { padding:6px; }

/* ==================================================================
   MECHANICS — AUTOTRICS master (#2). Scoped .gd-at-* classes, slot vars only.
   Design system: Teko uppercase headings, Heebo body, navy #primary + red #accent,
   SHARP corners (radius 0) everywhere, red accent eyebrows, dark image overlays.
   ================================================================== */

/* sharp corners: AutoTrics uses square media/cards/buttons (overrides the base rounding) */
.gd-at .wp-block-image img,
.gd-at .wp-block-cover,
.gd-at .wp-block-button__link,
.gd-at .gd-at-card,
.gd-at .gd-at-icon { border-radius:0 !important; }

/* eyebrow label: Teko 24px / 600 / uppercase / 0.03em, accent red */
.gd-at-eyebrow {
  font-family: var(--wp--preset--font-family--heading);
  font-size: 1.5rem; font-weight:600; line-height:1;
  text-transform:uppercase; letter-spacing:0.06em;
  color: var(--wp--preset--color--accent);
}

/* AutoTrics headings use POSITIVE Teko tracking (source demo: +0.03em) — override the
   base godigital h1/h2 negative letter-spacing (that tightening is a Plumbr/Archivo trait). */
.gd-at h1.wp-block-heading,
.gd-at h2.wp-block-heading,
.gd-at h3.wp-block-heading,
.gd-at h4.wp-block-heading,
.wp-block-cover.gd-at h1.wp-block-heading,
.wp-block-cover.gd-at h2.wp-block-heading { letter-spacing:0.03em; }

/* dark image band: navy-black overlay so white text reads (hero/page-hero/services/stats) */
.gd-at-dark { position:relative; }
.gd-at-dark > * { position:relative; z-index:1; }
.gd-at-overlay-75::before,
.gd-at-overlay-85::before {
  content:""; position:absolute; inset:0; z-index:0;
  background: var(--wp--preset--color--dark);
}
.gd-at-overlay-75::before { opacity:.75; }
.gd-at-overlay-85::before { opacity:.85; }
/* red-to-dark diagonal overlay for CTA / appointment bands */
.gd-at-overlay-red::before {
  content:""; position:absolute; inset:0; z-index:0;
  background: linear-gradient(120deg, color-mix(in srgb, var(--wp--preset--color--dark) 88%, transparent), color-mix(in srgb, var(--wp--preset--color--accent) 78%, transparent));
}
.gd-at-overlay-red > * { position:relative; z-index:1; }

/* service / feature card: white, sharp, no border; red overlay-from-bottom on hover */
.gd-at-card {
  position:relative; overflow:hidden;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--border);
  height:100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.gd-at-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px color-mix(in srgb, var(--wp--preset--color--dark) 14%, transparent); }
.gd-at-card::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:0;
  background: var(--wp--preset--color--accent);
  transition: height .25s ease; z-index:0;
}
.gd-at-card:hover::after { height:5px; }

/* card titles (service/feature/team/location): 20px Teko, source tracking 0.6px (0.03em) */
.gd-at-card h4 { letter-spacing:0.03em !important; }

/* square red icon tile for service/feature cards + process steps */
.gd-at-icon {
  width:64px; height:64px; display:flex; align-items:center; justify-content:center;
  background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base);
}
.gd-at-icon svg { width:30px; height:30px; }

/* "read more" text link: Teko uppercase accent */
.gd-at-readmore a {
  font-family: var(--wp--preset--font-family--heading);
  font-size:1rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em;
  color: var(--wp--preset--color--accent); text-decoration:none;
}
.gd-at-readmore a:hover { color: var(--wp--preset--color--primary); }

/* stat counter: Teko 44px navy number + label */
.gd-at-stat .gd-at-stat-num {
  font-family: var(--wp--preset--font-family--heading);
  font-size:2.75rem; font-weight:600; line-height:1; letter-spacing:0.03em;
  text-transform:uppercase;
}

/* checklist: red square tick, Heebo body */
ul.gd-at-checks { list-style:none; padding-left:0; margin:0; }
ul.gd-at-checks li { position:relative; padding-left:32px; margin-bottom:14px; font-size:1rem; color:var(--wp--preset--color--muted); }
ul.gd-at-checks li::before { content:""; position:absolute; left:0; top:1px; width:20px; height:20px; background:var(--wp--preset--color--accent); }
ul.gd-at-checks li::after { content:""; position:absolute; left:6px; top:5px; width:6px; height:10px; border-right:2px solid var(--wp--preset--color--base); border-bottom:2px solid var(--wp--preset--color--base); transform:rotate(45deg); }

/* project card: image with a navy→transparent bottom overlay carrying the title */
.gd-at-project { position:relative; overflow:hidden; }
.gd-at-project img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0 !important; }
.gd-at-project .gd-at-project-label {
  position:absolute; left:0; right:0; bottom:0; padding:20px 22px;
  background: linear-gradient(to top, color-mix(in srgb, var(--wp--preset--color--dark) 92%, transparent), transparent);
}

/* process step: big red number badge + dashed connector behind the row */
.gd-at-process-row { position:relative; }
.gd-at-process-row::before { content:""; position:absolute; top:32px; left:16%; right:16%; border-top:2px dashed var(--wp--preset--color--border); }
@media (max-width:781px){ .gd-at-process-row::before{ display:none; } }
.gd-at-step-num {
  position:relative; z-index:1;
  width:64px; height:64px; display:flex; align-items:center; justify-content:center;
  background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base);
  font-family:var(--wp--preset--font-family--heading); font-size:1.75rem; font-weight:600; line-height:1;
}

/* FAQ accordion (core details): sharp, navy title → red when open */
.gd-at-faq .wp-block-details { border:1px solid var(--wp--preset--color--border); margin-bottom:14px; background:var(--wp--preset--color--base); overflow:hidden; }
.gd-at-faq .wp-block-details summary { cursor:pointer; font-family:var(--wp--preset--font-family--heading); font-weight:600; font-size:1.25rem; text-transform:uppercase; letter-spacing:0.02em; color:var(--wp--preset--color--primary); list-style:none; position:relative; padding:20px 52px 20px 24px; }
.gd-at-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.gd-at-faq .wp-block-details summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:var(--wp--preset--color--accent); }
.gd-at-faq .wp-block-details[open] summary { background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); }
.gd-at-faq .wp-block-details[open] summary::after { content:"–"; color:var(--wp--preset--color--base); }
.gd-at-faq .wp-block-details p { color:var(--wp--preset--color--muted); margin:0; padding:16px 24px 20px; font-size:1rem; }

/* testimonial card: white sharp card, gold stars */
.gd-at-quote { background:var(--wp--preset--color--base); border:1px solid var(--wp--preset--color--border); }
.gd-at-stars { color:#f6b000; letter-spacing:2px; font-size:1.1rem; }

/* form field tiles (appointment / contact): sharp light inputs on named slots */
.gd-at-field {
  background:var(--wp--preset--color--surface);
  border:1px solid var(--wp--preset--color--border);
  padding:14px 18px; font-size:1rem; color:var(--wp--preset--color--muted);
}
.gd-at-field-select { position:relative; }
.gd-at-field-select::after { content:""; position:absolute; right:18px; top:50%; width:8px; height:8px; border-right:2px solid var(--wp--preset--color--muted); border-bottom:2px solid var(--wp--preset--color--muted); transform:translateY(-70%) rotate(45deg); }

/* footer headings: Teko uppercase, red underline accent */
.gd-at-foot-head { text-transform:uppercase; letter-spacing:0.03em; position:relative; padding-bottom:12px; margin-bottom:12px; }
.gd-at-foot-head::after { content:""; position:absolute; left:0; bottom:0; width:38px; height:3px; background:var(--wp--preset--color--accent); }

/* header: red contact-chips panel with an angled (diagonal) left edge, source-style */
.gd-at-chips { clip-path: polygon(48px 0, 100% 0, 100% 100%, 0 100%); }
.gd-at-topbar .wp-block-social-links .wp-block-social-link { color:inherit; }
/* "follow us" social icons render in accent red (logos-only + icon colour) */
.gd-at-follow .wp-block-social-links.is-style-logos-only .wp-block-social-link { color:var(--wp--preset--color--accent) !important; }
.gd-at-follow .wp-block-social-links.is-style-logos-only .wp-block-social-link:hover { color:var(--wp--preset--color--primary) !important; }
/* nav links: navy, red on hover/active */
.gd-at-nav a { color:var(--wp--preset--color--primary); text-decoration:none; }
.gd-at-nav a:hover { color:var(--wp--preset--color--accent); }
/* header topbar + follow chip hide on small screens (they wrap awkwardly); mainbar + hamburger stay.
   !important beats WP's generated flex-layout rule on the group. */
@media (max-width:900px){ .gd-at-topbar { display:none !important; } .gd-at-follow { display:none !important; } }
@media (max-width:1024px){ .gd-at-mainbar .gd-nav-links.gd-at-nav a { color:var(--wp--preset--color--base); } }

/* experience badge (about welcome image overlap) */
.gd-at-badge {
  background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base);
  padding:20px 26px; display:inline-block;
}
.gd-at-badge .gd-at-badge-num { font-family:var(--wp--preset--font-family--heading); font-size:2.75rem; font-weight:600; line-height:1; }

/* ==================================================================
   FOOD / CAFÉ — SOVY master (#3). Scoped .gd-sv-* classes, slot vars only.
   Design system: warm DARK restaurant theme — espresso base (#base/#surface),
   cream headings (#contrast), gold accent (#accent/#secondary), Raleway 800
   display headings, Inter body + uppercase gold eyebrows, sharp corners,
   dark photo overlays. Recolours entirely from the named theme.json slots.
   ================================================================== */

/* the whole Sovy master is dark: undo the base theme's rounded media, and keep
   surfaces/cards square-cornered like the source demo */
.gd-sv .wp-block-image img,
.gd-sv .wp-block-cover,
.gd-sv .wp-block-button__link { border-radius:0 !important; }

/* headings are cream on the dark base (base theme heading colour handles this via
   the contrast slot, but cover/surface bands need it explicit for reliability) */
.gd-sv h1.wp-block-heading,
.gd-sv h2.wp-block-heading,
.gd-sv h3.wp-block-heading,
.gd-sv h4.wp-block-heading { letter-spacing:0; }

/* eyebrow label: Inter 14px / 500 / uppercase / wide track, gold — with a short
   leading rule like the source ("— OUR STORY") */
.gd-sv-eyebrow {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.875rem; font-weight:500; line-height:1;
  text-transform:uppercase; letter-spacing:0.22em;
  color: var(--wp--preset--color--accent);
  display:flex; align-items:center; gap:16px;
}
.gd-sv-eyebrow.is-center { justify-content:center; }
.gd-sv-eyebrow::before { content:""; width:40px; height:1px; background:var(--wp--preset--color--accent); flex:0 0 auto; }
.gd-sv-eyebrow.is-center::after { content:""; width:40px; height:1px; background:var(--wp--preset--color--accent); flex:0 0 auto; }

/* section heading with a centred asterisk-divider underline (source: — ✳ —) */
.gd-sv-divider { display:flex; align-items:center; justify-content:center; gap:14px; color:var(--wp--preset--color--accent); }
.gd-sv-divider::before, .gd-sv-divider::after { content:""; width:70px; height:1px; background:var(--wp--preset--color--accent); opacity:.6; }
.gd-sv-divider span { font-size:1rem; line-height:1; }

/* dark image band: espresso overlay so cream text reads over photos */
.gd-sv-dark { position:relative; }
.gd-sv-dark > * { position:relative; z-index:1; }
.gd-sv-overlay-70::before,
.gd-sv-overlay-55::before {
  content:""; position:absolute; inset:0; z-index:0;
  background: var(--wp--preset--color--dark);
}
.gd-sv-overlay-70::before { opacity:.70; }
.gd-sv-overlay-55::before { opacity:.55; }

/* menu list: dish name (left) + price (right) with a gold dotted rule between,
   and a small ingredients subtitle under it (source "Our Menus" layout) */
.gd-sv-menu-item { margin-bottom:34px; }
.gd-sv-menu-row { display:flex; align-items:flex-end; gap:14px; }
.gd-sv-menu-row .gd-sv-menu-name { flex:0 1 auto; }
.gd-sv-menu-row .gd-sv-menu-lead { flex:1 1 auto; border-bottom:1px dotted color-mix(in srgb, var(--wp--preset--color--accent) 60%, transparent); transform:translateY(-6px); }
.gd-sv-menu-name { font-family:var(--wp--preset--font-family--heading); font-size:1.25rem; font-weight:600; color:var(--wp--preset--color--contrast); }
.gd-sv-menu-price { font-family:var(--wp--preset--font-family--heading); font-size:1.25rem; font-weight:600; color:var(--wp--preset--color--accent); flex:0 0 auto; }
.gd-sv-menu-desc { font-size:0.875rem; color:var(--wp--preset--color--muted); margin-top:8px; letter-spacing:0.02em; }
.gd-sv-menu-cat { font-family:var(--wp--preset--font-family--body); font-size:0.875rem; font-weight:500; text-transform:uppercase; letter-spacing:0.22em; color:var(--wp--preset--color--accent); }

/* stat fun-fact: big cream number + gold superscript + label (source 25+ / 15+ / 90%) */
.gd-sv-stat .gd-sv-stat-num { font-family:var(--wp--preset--font-family--heading); font-size:3rem; font-weight:800; line-height:1; color:var(--wp--preset--color--contrast); }
.gd-sv-stat .gd-sv-stat-num sup { color:var(--wp--preset--color--accent); font-size:1.5rem; font-weight:600; }
.gd-sv-stat .gd-sv-stat-label { font-size:0.875rem; color:var(--wp--preset--color--muted); margin-top:6px; }

/* checklist: gold circled tick, cream text (source "Specialities" list) */
ul.gd-sv-checks { list-style:none; padding-left:0; margin:0; }
ul.gd-sv-checks li { position:relative; padding-left:32px; margin-bottom:14px; font-size:1rem; color:var(--wp--preset--color--muted); }
ul.gd-sv-checks li::before { content:""; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--wp--preset--color--accent); }
ul.gd-sv-checks li::after { content:""; position:absolute; left:7px; top:5px; width:5px; height:9px; border-right:2px solid var(--wp--preset--color--base); border-bottom:2px solid var(--wp--preset--color--base); transform:rotate(45deg); }

/* image collage (about "The Story"): main image + framed overlap image on the dark stage */
.gd-sv-collage { position:relative; }
.gd-sv-collage .gd-sv-collage-b { width:fit-content; }
.gd-sv-collage .gd-sv-collage-b img {
  box-sizing:border-box;
  border-top:14px solid var(--wp--preset--color--base);
  border-left:14px solid var(--wp--preset--color--base);
}
@media (max-width:781px){
  .gd-sv-collage .gd-sv-collage-b { margin-top:14px !important; width:100% !important; }
  .gd-sv-collage .gd-sv-collage-b img { border:0; width:100% !important; }
}

/* faded script signature (source: handwritten founder name in gold) */
.gd-sv-signature { font-family: Georgia, "Times New Roman", serif; font-style:italic; font-weight:400; font-size:2.25rem; color:var(--wp--preset--color--accent); opacity:.85; line-height:1; }

/* circular play badge over a dark photo ("Watch Video") */
.gd-sv-play { width:74px; height:74px; border-radius:50%; background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); display:flex; align-items:center; justify-content:center; }
.gd-sv-play svg { width:26px; height:26px; }

/* quote block: big gold quotation mark + centred italic serif quote (source homepage) */
.gd-sv-quote-mark { font-family:Georgia, serif; font-size:5rem; line-height:.6; color:var(--wp--preset--color--accent); }
.gd-sv-quote-text { font-style:italic; font-size:1.5rem; line-height:1.7; color:var(--wp--preset--color--contrast); }

/* form field tiles (contact): dark inputs, subtle border, gold focus */
.gd-sv-field {
  background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--border);
  padding:15px 18px; font-size:0.9375rem; color:var(--wp--preset--color--muted);
}
.gd-sv-field.is-area { min-height:150px; }
.gd-sv-field-label { font-size:0.75rem; font-weight:500; text-transform:uppercase; letter-spacing:0.18em; color:var(--wp--preset--color--muted); }

/* contact info icon (gold outline) + rows */
.gd-sv-info-icon { color:var(--wp--preset--color--accent); flex:0 0 auto; }
.gd-sv-info-icon svg { width:26px; height:26px; }

/* footer heading: cream, gold underline accent */
.gd-sv-foot-head { position:relative; padding-bottom:14px; margin-bottom:14px; letter-spacing:0.04em; }
.gd-sv-foot-head::after { content:""; position:absolute; left:0; bottom:0; width:36px; height:2px; background:var(--wp--preset--color--accent); }

/* header nav links: cream, gold on hover; social icons muted → gold on hover */
.gd-sv-nav a { color:var(--wp--preset--color--contrast); text-decoration:none; }
.gd-sv-nav a:hover { color:var(--wp--preset--color--accent); }
.gd-sv-social.is-style-logos-only .wp-block-social-link { color:var(--wp--preset--color--muted) !important; }
.gd-sv-social.is-style-logos-only .wp-block-social-link:hover { color:var(--wp--preset--color--accent) !important; }
/* the mobile stacked panel inherits the surface slot on dark, links stay cream */
@media (max-width:1024px){
  .gd-sv-header .gd-nav.gd-nav-open .gd-nav-links { background:var(--wp--preset--color--surface); }
  .gd-sv-header .gd-nav.gd-nav-open .gd-nav-links a { color:var(--wp--preset--color--contrast); }
  .gd-sv-header-actions { display:none !important; }
}
   FITNESS — TREINA master (#3). Scoped .gd-tr-* classes, slot vars only.
   Source (Treina/Jegtheme): warm cream base (#fff7f5), orange accent (#ff592d)
   on warm near-black (#2c2a20); Archivo bold MIXED-CASE headings + Karla body;
   pill buttons (50px), 20px-rounded cards, soft warm shadows.
   ================================================================== */

/* Treina headings are mixed-case (sentence case), NOT uppercase — override any
   inherited transform and keep the warm near-black weight/tracking. */
.gd-tr h1.wp-block-heading,
.gd-tr h2.wp-block-heading,
.gd-tr h3.wp-block-heading,
.gd-tr h4.wp-block-heading { text-transform:none; letter-spacing:-0.01em; }

/* eyebrow: orange, Archivo-ish, small caps-free label with a short leading rule */
.gd-tr-eyebrow {
  font-family:var(--wp--preset--font-family--body); font-weight:700;
  font-size:0.95rem; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--wp--preset--color--accent); line-height:1;
}

/* underlined accent word inside a heading (source hero: "Healthy" underlined orange) */
.gd-tr-underline {
  background-image:linear-gradient(var(--wp--preset--color--accent),var(--wp--preset--color--accent));
  background-repeat:no-repeat; background-position:0 96%; background-size:100% 3px;
  padding-bottom:2px;
}

/* header: nav links warm near-black, orange on hover; pill call button already themed */
.gd-tr-nav a { color:var(--wp--preset--color--primary); text-decoration:none; font-family:var(--wp--preset--font-family--body); }
.gd-tr-nav a:hover { color:var(--wp--preset--color--accent); }
.gd-tr-header .wp-block-site-title a { color:var(--wp--preset--color--primary); }

/* hero: photo sits on a soft orange disc; floating rounded "equipment" chips */
.gd-tr-hero-disc { position:relative; }
.gd-tr-hero-disc::before {
  content:""; position:absolute; left:50%; top:52%; transform:translate(-50%,-50%);
  width:78%; aspect-ratio:1; border-radius:50%;
  background:color-mix(in srgb, var(--wp--preset--color--accent) 82%, var(--wp--preset--color--surface));
  z-index:0;
}
.gd-tr-hero-disc .wp-block-image { position:relative; z-index:1; }
.gd-tr-hero-disc .wp-block-image img { border-radius:16px; }
.gd-tr-chip {
  background:var(--wp--preset--color--base); color:var(--wp--preset--color--accent);
  width:70px; height:70px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 18px 40px color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
}
.gd-tr-chip svg { width:34px; height:34px; }
.gd-tr-hero-disc { padding:8px; }
.gd-tr-chip-a { position:absolute; right:-6px; top:22%; z-index:2; }
.gd-tr-chip-b { position:absolute; left:-6px; bottom:16%; z-index:2; }
@media (max-width:781px){ .gd-tr-chip-a { right:8px; } .gd-tr-chip-b { left:8px; } }

/* "watch intro" round play badge next to a CTA */
.gd-tr-play { width:56px; height:56px; border-radius:50%; background:var(--wp--preset--color--base); color:var(--wp--preset--color--accent); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent); }
.gd-tr-play svg { width:18px; height:18px; }

/* stat row: big Archivo number with a small orange superscript unit */
.gd-tr-stat .gd-tr-stat-num { font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:2.5rem; line-height:1; color:var(--wp--preset--color--primary); }
.gd-tr-stat .gd-tr-stat-num sup { color:var(--wp--preset--color--accent); font-size:1.25rem; }

/* rounded feature/service card: warm white, soft shadow, orange icon tile, lift on hover */
.gd-tr-card {
  background:var(--wp--preset--color--base); border-radius:20px; height:100%;
  box-shadow:0 14px 40px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent);
  transition:transform .16s ease, box-shadow .16s ease;
}
.gd-tr-card:hover { transform:translateY(-6px); box-shadow:0 26px 56px color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent); }
.gd-tr-icon {
  width:72px; height:72px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--wp--preset--color--accent) 12%, var(--wp--preset--color--base));
  color:var(--wp--preset--color--accent);
}
.gd-tr-icon svg { width:34px; height:34px; }
/* orange-filled variant (featured plan / highlighted step) */
.gd-tr-icon.is-solid { background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); }

/* "learn more →" arrow link */
.gd-tr-more a { color:var(--wp--preset--color--accent); text-decoration:none; }
.gd-tr-more a:hover { color:var(--wp--preset--color--secondary); }

/* rounded media everywhere in Treina sections */
.gd-tr .wp-block-image img,
.gd-tr .wp-block-cover { border-radius:20px; }

/* checklist with orange tick discs (source "Track Everything" list) */
ul.gd-tr-checks { list-style:none; padding-left:0; margin:0; }
ul.gd-tr-checks li { position:relative; padding-left:34px; margin-bottom:14px; font-size:1rem; color:var(--wp--preset--color--primary); }
ul.gd-tr-checks li::before { content:""; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%; background:color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--base)); }
ul.gd-tr-checks li::after { content:""; position:absolute; left:8px; top:5px; width:5px; height:10px; border-right:2px solid var(--wp--preset--color--accent); border-bottom:2px solid var(--wp--preset--color--accent); transform:rotate(45deg); }

/* about media collage: main rounded photo + small overlapping rounded photo + orange disc */
.gd-tr-collage { position:relative; }
.gd-tr-collage::before {
  content:""; position:absolute; right:-4%; top:8%; width:46%; aspect-ratio:1; border-radius:50%;
  background:color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--surface)); z-index:0;
}
.gd-tr-collage > * { position:relative; z-index:1; }
.gd-tr-collage-badge {
  background:var(--wp--preset--color--primary); color:var(--wp--preset--color--base);
  border-radius:16px; padding:16px 22px; display:inline-block;
  box-shadow:0 18px 40px color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent);
}
.gd-tr-collage-badge .gd-tr-badge-num { font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:2rem; line-height:1; color:var(--wp--preset--color--accent); }
.gd-tr-collage-main img { border-radius:20px; width:100%; }
.gd-tr-collage-badge { position:absolute; right:-14px; bottom:-14px; z-index:2; }
@media (max-width:781px){ .gd-tr-collage-badge { position:static; margin-top:16px; } }

/* pricing / plan card: rounded, orange border on the featured plan */
.gd-tr-plan { background:var(--wp--preset--color--base); border:1px solid var(--wp--preset--color--border); border-radius:20px; height:100%; transition:transform .16s ease, box-shadow .16s ease; }
.gd-tr-plan:hover { transform:translateY(-4px); box-shadow:0 22px 50px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent); }
.gd-tr-plan.is-featured { border-color:var(--wp--preset--color--accent); box-shadow:0 22px 50px color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent); }
.gd-tr-plan .gd-tr-price { font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:2.75rem; line-height:1; color:var(--wp--preset--color--primary); }
.gd-tr-plan .gd-tr-price sup { color:var(--wp--preset--color--accent); font-size:1.25rem; top:-1rem; }
.gd-tr-plan .gd-tr-price .gd-tr-per { font-family:var(--wp--preset--font-family--body); font-weight:400; font-size:1rem; color:var(--wp--preset--color--muted); }
.gd-tr-tag { display:inline-block; background:color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--base)); color:var(--wp--preset--color--accent); font-family:var(--wp--preset--font-family--body); font-weight:700; font-size:0.8rem; letter-spacing:0.04em; text-transform:uppercase; padding:6px 14px; border-radius:50px; }

/* coach card photo: rounded, fills the card width */
.gd-tr-team-img img { border-radius:16px; width:100%; aspect-ratio:5/6; object-fit:cover; }
.gd-tr-role { color:var(--wp--preset--color--accent); font-weight:500; }

/* services-detail row photo */
.gd-tr-detail-img img { border-radius:20px; width:100%; aspect-ratio:6/5; object-fit:cover; }

/* testimonial card: rounded white with a large orange quote mark + starred rating */
.gd-tr-quote { background:var(--wp--preset--color--base); border-radius:20px; box-shadow:0 14px 40px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); height:100%; }
.gd-tr-quote-mark { font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:3rem; line-height:1; color:var(--wp--preset--color--accent); }
.gd-tr-stars { color:var(--wp--preset--color--accent); letter-spacing:2px; }
.gd-tr-avatar img { border-radius:50%; width:52px; height:52px; object-fit:cover; }

/* dark overlay for page-title covers (warm near-black wash) */
.gd-tr-dark { position:relative; }
.gd-tr-dark > * { position:relative; z-index:1; }
.gd-tr-overlay::before {
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--dark) 62%, transparent), color-mix(in srgb, var(--wp--preset--color--dark) 78%, transparent));
}

/* footer: dark rounded card head with a short orange rule */
.gd-tr-foot-head { position:relative; padding-bottom:14px; margin-bottom:14px; }
.gd-tr-foot-head::after { content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background:var(--wp--preset--color--accent); border-radius:3px; }
.gd-tr-footcard a:hover { color:var(--wp--preset--color--accent) !important; }

/* contact info tile: rounded white card + orange round icon */
.gd-tr-info { background:var(--wp--preset--color--base); border-radius:20px; box-shadow:0 14px 40px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); height:100%; }
.gd-tr-info-ic { width:60px; height:60px; border-radius:50%; background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); display:flex; align-items:center; justify-content:center; }
.gd-tr-info-ic svg { width:26px; height:26px; }

/* form fields: rounded warm-white inputs (built from styled paragraph tiles) */
.gd-tr-field { background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:12px; color:var(--wp--preset--color--muted); padding:16px 20px; font-size:0.95rem; }
.gd-tr-form .wp-block-button__link { width:100%; }
.gd-tr-map { border-radius:20px; overflow:hidden; line-height:0; box-shadow:0 14px 40px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); }
.gd-tr-map iframe { width:100%; height:100%; min-height:340px; border:0; display:block; }
.gd-tr-social a { width:44px; height:44px; border-radius:50%; background:color-mix(in srgb, var(--wp--preset--color--accent) 12%, var(--wp--preset--color--base)); color:var(--wp--preset--color--accent); display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background .15s ease, color .15s ease; }
.gd-tr-social a:hover { background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); }
.gd-tr-social svg { width:20px; height:20px; }

/* FAQ accordion (source "Customer Question"): rounded items, orange open state */
.gd-tr-faq .wp-block-details { border:1px solid var(--wp--preset--color--border); border-radius:14px; margin-bottom:14px; background:var(--wp--preset--color--base); overflow:hidden; }
.gd-tr-faq .wp-block-details summary { cursor:pointer; font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:1.05rem; color:var(--wp--preset--color--primary); list-style:none; position:relative; padding:18px 52px 18px 24px; }
.gd-tr-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.gd-tr-faq .wp-block-details summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:1.4rem; color:var(--wp--preset--color--accent); line-height:1; }
.gd-tr-faq .wp-block-details[open] summary::after { content:"–"; }
.gd-tr-faq .wp-block-details[open] { border-color:var(--wp--preset--color--accent); }
.gd-tr-faq .wp-block-details p { color:var(--wp--preset--color--muted); margin:0; padding:0 24px 20px; }

/* CTA band: warm near-black rounded card with orange button */
.gd-tr-cta { border-radius:24px; }

/* header: hide desktop nav + pill button under the hamburger breakpoint; nav links go
   dark-on-light in the stacked panel (base panel is white via the shared .gd-nav rules) */
@media (max-width:1024px){
  .gd-tr-callbtn { display:none !important; }
  /* stacked hamburger panel is warm near-black (shared .gd-nav rule) — links go light */
  .gd-tr-header .gd-nav.gd-nav-open .gd-nav-links.gd-tr-nav a { color:var(--wp--preset--color--base); }
  .gd-tr-header .gd-nav.gd-nav-open .gd-nav-links.gd-tr-nav a:hover { color:var(--wp--preset--color--accent); }
}
@media (max-width:781px){
  .gd-tr-collage::before { display:none; }
  .gd-tr-hero-disc::before { width:88%; }
}

/* =========================================================================
   professional-startrix — master #5 (Startrix conversion) scoped section CSS.
   Named colour-slot vars only (no hex); pill/rounded startup aesthetic.
   ========================================================================= */

/* header CTA pill hides on mobile (hamburger takes over); nav links dark */
.gd-ps-header .gd-nav-links a { color:var(--wp--preset--color--primary); text-decoration:none; }
.gd-ps-header .gd-nav-links a:hover { color:var(--wp--preset--color--accent); }
@media (max-width:1024px){
  .gd-ps-header .gd-ps-nav-cta { display:none; }
  /* open mobile panel is dark (primary) — links + toggle label must be light to read */
  .gd-ps-header .gd-nav.gd-nav-open .gd-nav-links a { color:var(--wp--preset--color--base); }
  .gd-ps-header .gd-nav.gd-nav-open .gd-nav-links a:hover { color:var(--wp--preset--color--secondary); }
}

/* small rounded pill (hero eyebrow badge, trust chips) */
.gd-ps-pill { display:inline-flex; border-radius:40px; border:1px solid var(--wp--preset--color--border); }
.gd-ps-chip { border-radius:40px; border:1px solid var(--wp--preset--color--border); }

/* ghost/outline buttons keep the pill radius + primary outline */
.gd-ps-ghost .wp-block-button.is-style-outline .wp-block-button__link,
.gd-ps-cta-ghost.is-style-outline .wp-block-button__link { border-radius:40px; border-width:2px; }
.gd-ps-cta-ghost.is-style-outline .wp-block-button__link { border-color:var(--wp--preset--color--primary); }

/* hero media: rounded framed photo with a floating stat card overlap */
.gd-ps-hero-media { position:relative; }
.gd-ps-hero-img img { border-radius:20px; }
.gd-ps-hero-card { position:absolute; left:-18px; bottom:-18px; box-shadow:0 18px 40px color-mix(in srgb, var(--wp--preset--color--dark) 20%, transparent); }
@media (max-width:781px){ .gd-ps-hero-card { position:static; margin-top:14px; } }

/* overlapping social-proof avatars */
.gd-ps-avatars .gd-ps-avatar { margin-left:-12px; }
.gd-ps-avatars .gd-ps-avatar:first-child { margin-left:0; }
.gd-ps-avatar img { border-radius:50%; border:2px solid var(--wp--preset--color--base); }

/* generic rounded media used across the master */
.gd-ps-round img { border-radius:20px; }

/* about media: rounded photo + floating "since" badge */
.gd-ps-about-media { position:relative; }
.gd-ps-about-badge { position:absolute; right:-14px; bottom:-14px; box-shadow:0 18px 40px color-mix(in srgb, var(--wp--preset--color--dark) 18%, transparent); }
@media (max-width:781px){ .gd-ps-about-badge { position:static; margin-top:14px; } }

/* stat fun-fact suffix on dark bands (lime number, dimmed suffix) */
.gd-funfact sup { color:var(--wp--preset--color--secondary); font-size:1.3rem; font-weight:700; line-height:0; top:-0.5em; }
/* stat fun-fact on light bands (primary number, accent suffix) */
.gd-funfact-dark sup { color:var(--wp--preset--color--accent); font-size:1.3rem; font-weight:700; line-height:0; top:-0.5em; }
.gd-ps-stat-divider { border-left:1px solid var(--wp--preset--color--muted); padding-left:24px; }
.gd-ps-stat-divider-light { border-left:1px solid var(--wp--preset--color--border); padding-left:24px; }
@media (max-width:781px){ .gd-ps-stat-divider, .gd-ps-stat-divider-light { border-left:0; padding-left:0; } }

/* service cards: rounded, lime icon chip, lift on hover */
.gd-ps-service-card { border-radius:16px; border:1px solid var(--wp--preset--color--border); }
.gd-ps-service-icon,
.gd-ps-icon-sm { flex:0 0 auto; }
.gd-ps-service-icon { width:56px; height:56px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--wp--preset--color--surface); color:var(--wp--preset--color--primary); box-shadow:none; }
.gd-ps-service-card:hover .gd-ps-service-icon { background:var(--wp--preset--color--secondary); color:var(--wp--preset--color--primary); }
/* smaller icon tile variant (services list rows, contact cards) */
.gd-ps-icon-sm { width:56px; height:56px; box-shadow:none; }

/* vision/mission cards on the dark band */
.gd-ps-vm-card .gd-icon-tile { box-shadow:none; }

/* team card image: rounded top only, cover */
.gd-ps-team-img img { border-radius:16px 16px 0 0; }

/* pricing: featured plan lifts; light-check variant for the dark card */
.gd-ps-plan-featured { position:relative; box-shadow:0 24px 60px color-mix(in srgb, var(--wp--preset--color--dark) 24%, transparent); }
.gd-ps-plan-tag { display:inline-block; border-radius:40px; width:fit-content; }
ul.gd-checks.gd-checks-light li { color:var(--wp--preset--color--base); }
ul.gd-checks.gd-checks-light li::before { background:var(--wp--preset--color--secondary); }
ul.gd-checks.gd-checks-light li::after { border-color:var(--wp--preset--color--primary); }

/* contact enquiry form (static core-html form; slot-var styling only) */
.gd-ps-form { display:flex; flex-direction:column; gap:16px; }
.gd-ps-form-row { display:flex; gap:16px; }
@media (max-width:600px){ .gd-ps-form-row { flex-direction:column; } }
.gd-ps-field { display:flex; flex-direction:column; gap:7px; flex:1; font-family:var(--wp--preset--font-family--heading); font-size:0.95rem; font-weight:600; color:var(--wp--preset--color--primary); }
.gd-ps-field input, .gd-ps-field textarea {
  font-family:var(--wp--preset--font-family--body); font-size:1rem; font-weight:400;
  color:var(--wp--preset--color--primary); background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--border); border-radius:10px; padding:13px 16px; width:100%;
}
.gd-ps-field input::placeholder, .gd-ps-field textarea::placeholder { color:var(--wp--preset--color--muted); }
.gd-ps-field input:focus, .gd-ps-field textarea:focus { outline:none; border-color:var(--wp--preset--color--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--wp--preset--color--secondary) 40%, transparent); }
.gd-ps-form-submit {
  align-self:flex-start; cursor:pointer;
  font-family:var(--wp--preset--font-family--heading); font-size:1rem; font-weight:600;
  color:var(--wp--preset--color--primary); background:var(--wp--preset--color--secondary);
  border:0; border-radius:40px; padding:15px 34px;
}
.gd-ps-form-submit:hover { background:var(--wp--preset--color--primary); color:var(--wp--preset--color--base); }
.gd-ps-form-note { font-size:0.85rem; color:var(--wp--preset--color--muted); margin:0; }
.gd-ps-form-card { border-radius:20px; border:1px solid var(--wp--preset--color--border); }
   BEAUTY — NAYLISH master (#3). Scoped .gd-bn-* classes, slot vars only.
   Design system: Amiri serif headings, Palanquin body, deep-teal #primary +
   copper #secondary/#accent on a cream #surface. SOFT rounded corners, pill
   buttons, gentle shadows — the calm, treatment-led look of the Naylish base.
   ================================================================== */

/* soft rounding: Naylish uses generous radii on media/cards; buttons are pills */
.gd-bn .wp-block-image img,
.gd-bn .wp-block-cover,
.gd-bn .gd-bn-card,
.gd-bn .gd-bn-photo { border-radius:18px; }
.gd-bn .wp-block-button__link { border-radius:40px !important; }

/* headings render in the Amiri serif with tighter leading */
.gd-bn h1.wp-block-heading,
.gd-bn h2.wp-block-heading,
.gd-bn h3.wp-block-heading,
.gd-bn h4.wp-block-heading { line-height:1.15; }

/* eyebrow: copper, uppercase, spaced — sits above section headings */
.gd-bn-eyebrow {
  font-family: var(--wp--preset--font-family--body);
  font-size:1rem; font-weight:600; line-height:1;
  text-transform:uppercase; letter-spacing:0.16em;
  color: var(--wp--preset--color--secondary);
}
.gd-bn-eyebrow.gd-on-dark { color: var(--wp--preset--color--accent); }

/* dark image band: teal overlay so cream/white text reads (hero / page-hero / bands) */
.gd-bn-dark { position:relative; }
.gd-bn-dark > * { position:relative; z-index:1; }
.gd-bn-overlay-70::before,
.gd-bn-overlay-80::before {
  content:""; position:absolute; inset:0; z-index:0;
  background: var(--wp--preset--color--primary);
}
.gd-bn-overlay-70::before { opacity:.70; }
.gd-bn-overlay-80::before { opacity:.80; }
/* softer cream-tinted scrim for the hero (keeps the airy feel) */
.gd-bn-overlay-hero::before {
  content:""; position:absolute; inset:0; z-index:0;
  background: linear-gradient(100deg, color-mix(in srgb, var(--wp--preset--color--primary) 72%, transparent), color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent));
}
.gd-bn-overlay-hero > * { position:relative; z-index:1; }

/* service / feature card: cream card, soft border + shadow, copper lift on hover */
.gd-bn-card {
  position:relative; overflow:hidden;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--border);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
  height:100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.gd-bn-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent); }
.gd-bn-card h4 { color: var(--wp--preset--color--primary); }

/* round copper icon disc for service/feature cards + steps */
.gd-bn-icon {
  width:66px; height:66px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 14%, var(--wp--preset--color--base));
  color: var(--wp--preset--color--secondary);
}
.gd-bn-icon svg { width:30px; height:30px; }

/* "read more" text link: copper, arrow slides on hover */
.gd-bn-readmore a {
  font-family: var(--wp--preset--font-family--body);
  font-size:0.9375rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em;
  color: var(--wp--preset--color--secondary); text-decoration:none;
}
.gd-bn-readmore a:hover { color: var(--wp--preset--color--primary); }

/* stat counter: Amiri serif teal number + copper label */
.gd-bn-stat .gd-bn-stat-num {
  font-family: var(--wp--preset--font-family--heading);
  font-size:3rem; font-weight:700; line-height:1; color: var(--wp--preset--color--secondary);
}

/* checklist: copper round tick, Palanquin body */
ul.gd-bn-checks { list-style:none; padding-left:0; margin:0; }
ul.gd-bn-checks li { position:relative; padding-left:34px; margin-bottom:14px; font-size:1.0625rem; color:var(--wp--preset--color--muted); }
ul.gd-bn-checks li::before { content:""; position:absolute; left:0; top:2px; width:22px; height:22px; border-radius:50%; background:var(--wp--preset--color--secondary); }
ul.gd-bn-checks li::after { content:""; position:absolute; left:7px; top:6px; width:6px; height:11px; border-right:2px solid var(--wp--preset--color--base); border-bottom:2px solid var(--wp--preset--color--base); transform:rotate(45deg); }

/* testimonial card: cream card, gold stars */
.gd-bn-quote { background:var(--wp--preset--color--base); border:1px solid var(--wp--preset--color--border); border-radius:18px; box-shadow:0 2px 10px color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent); }
.gd-bn-stars { color:#e0a53a; letter-spacing:3px; font-size:1.15rem; }

/* pricing / service list row: dotted leader between name and price */
.gd-bn-price-row { display:flex; align-items:baseline; gap:14px; padding:16px 0; border-bottom:1px dashed var(--wp--preset--color--border); }
.gd-bn-price-row:last-child { border-bottom:0; }
.gd-bn-price-name { font-family:var(--wp--preset--font-family--heading); font-size:1.25rem; font-weight:700; color:var(--wp--preset--color--primary); white-space:nowrap; }
.gd-bn-price-lead { flex:1 1 auto; border-bottom:1px dotted var(--wp--preset--color--border); transform:translateY(-4px); }
.gd-bn-price-val { font-family:var(--wp--preset--font-family--heading); font-size:1.25rem; font-weight:700; color:var(--wp--preset--color--secondary); white-space:nowrap; }
.gd-bn-price-desc { color:var(--wp--preset--color--muted); font-size:0.9375rem; margin:2px 0 0; }

/* FAQ accordion (core details): soft cards, teal title → copper when open */
.gd-bn-faq .wp-block-details { border:1px solid var(--wp--preset--color--border); border-radius:14px; margin-bottom:14px; background:var(--wp--preset--color--base); overflow:hidden; }
.gd-bn-faq .wp-block-details summary { cursor:pointer; font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:1.25rem; color:var(--wp--preset--color--primary); list-style:none; position:relative; padding:20px 52px 20px 24px; }
.gd-bn-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.gd-bn-faq .wp-block-details summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:var(--wp--preset--color--secondary); }
.gd-bn-faq .wp-block-details[open] summary::after { content:"–"; }
.gd-bn-faq .wp-block-details p { color:var(--wp--preset--color--muted); margin:0; padding:0 24px 20px; font-size:1.0625rem; }

/* form field tiles (contact): soft rounded light inputs on named slots */
.gd-bn-field {
  background:var(--wp--preset--color--surface);
  border:1px solid var(--wp--preset--color--border);
  border-radius:12px;
  padding:15px 18px; font-size:1.0625rem; color:var(--wp--preset--color--muted);
}

/* footer headings: serif with a short copper underline */
.gd-bn-foot-head { position:relative; padding-bottom:12px; margin-bottom:14px; }
.gd-bn-foot-head::after { content:""; position:absolute; left:0; bottom:0; width:38px; height:3px; border-radius:2px; background:var(--wp--preset--color--accent); }

/* header: topbar socials in cream, nav teal → copper */
.gd-bn-topbar .wp-block-social-links.is-style-logos-only .wp-block-social-link { color:var(--wp--preset--color--base) !important; }
.gd-bn-topbar .wp-block-social-links.is-style-logos-only .wp-block-social-link:hover { color:var(--wp--preset--color--accent) !important; }
.gd-bn-nav a { color:var(--wp--preset--color--primary); text-decoration:none; }
.gd-bn-nav a:hover { color:var(--wp--preset--color--secondary); }
/* topbar hides on small screens (wraps awkwardly); mainbar + hamburger stay */
@media (max-width:900px){ .gd-bn-topbar { display:none !important; } }
@media (max-width:1024px){ .gd-bn-mainbar .gd-nav-links.gd-bn-nav a { color:var(--wp--preset--color--primary); } .gd-bn-navcta { display:none; } }

/* about / experience badge (image overlap) */
.gd-bn-badge {
  background:var(--wp--preset--color--secondary); color:var(--wp--preset--color--base);
  padding:22px 28px; border-radius:16px; display:inline-block; box-shadow:0 14px 30px color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
}
.gd-bn-badge .gd-bn-badge-num { font-family:var(--wp--preset--font-family--heading); font-size:3rem; font-weight:700; line-height:1; }

/* team card: photo with caption block below */
.gd-bn-team { position:relative; overflow:hidden; border-radius:18px; }
.gd-bn-team img { display:block; width:100%; height:100%; object-fit:cover; }
.gd-bn-team-cap { padding:18px 20px 22px; text-align:center; background:var(--wp--preset--color--base); border:1px solid var(--wp--preset--color--border); border-top:0; }
.gd-bn-team-name { font-family:var(--wp--preset--font-family--heading); font-size:1.375rem; font-weight:700; color:var(--wp--preset--color--primary); }
.gd-bn-team-role { color:var(--wp--preset--color--secondary); font-size:0.9375rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; }

/* gallery tile */
.gd-bn-gallery-tile { border-radius:16px; overflow:hidden; }
.gd-bn-gallery-tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.gd-bn-gallery-tile:hover img { transform:scale(1.06); }
