/* ============================================================
   Dr. Yakir Clinic - site-theme.css: the light theme
   Owner request (Oct 2026): "תשנה את הצבעים באתר לצבעים בהירים".
   Loaded LAST on every page (after style.css, the native adaptation CSS,
   site-*.css and dock/dock.css), so plain overrides win at equal specificity.
   Only colours, gradients, borders and shadows change: layout, spacing,
   typography, animation and the gold CTA identity stay as they are.
   Removing this file (pushing it empty) brings back the dark-navy look.
   Contrast targets (WCAG 2.1 AA): text 4.5:1, large text / UI / focus 3:1.
   ============================================================ */

:root {
  /* the "inverse" text tokens were light text for the dark sections: those sections are light now */
  --text-inverse: #1b2b3a;
  --text-inverse-soft: #4d6274;
  /* the glow blue (#57c4ff, 1.9:1 on white) served links, icons and the focus ring on dark: brand blue on light */
  --brand-glow: #05669e;
  /* gold as text on light backgrounds (#c9a45c is 2.3:1 on white): bronze, 5.9:1 on white, 5.3:1 on #eef4f9 */
  --dyk-gold-ink: #7d5f22;
  /* gold as an icon / graphic on light (3.7:1 on white) */
  --dyk-gold-ui: #a87f2f;
  --dyk-line: #e4edf4;
  --dyk-line-2: #d6e3ee;
  --dyk-mist: #eef4f9;
  --dyk-cream: #f8f5ef;
  --dyk-glass: linear-gradient(165deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .76));
  --dyk-glass-shadow: 0 26px 60px -30px rgba(7, 30, 50, .32);
  --dyk-scrim: linear-gradient(to top, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, .9) 48%, rgba(255, 255, 255, 0) 100%);
  /* the light section backdrops */
  --dyk-bg-hero:
    radial-gradient(1100px 600px at 85% -10%, rgba(87, 196, 255, .22), transparent 60%),
    radial-gradient(900px 700px at -10% 110%, rgba(230, 200, 138, .2), transparent 55%),
    linear-gradient(160deg, #ffffff 0%, #f4f8fc 55%, #eaf2f8 100%);
  --dyk-bg-band:
    radial-gradient(900px 520px at 88% -4%, rgba(87, 196, 255, .16), transparent 60%),
    radial-gradient(760px 520px at -8% 106%, rgba(230, 200, 138, .16), transparent 60%),
    linear-gradient(165deg, #f7fafd, #edf3f8);
  --dyk-bg-cream:
    radial-gradient(760px 420px at 100% 0%, rgba(87, 196, 255, .14), transparent 60%),
    radial-gradient(700px 420px at 0% 100%, rgba(230, 200, 138, .14), transparent 60%),
    linear-gradient(170deg, #fdfcf9, #f6f3ec);
}

/* ---------- Focus ring: brand blue everywhere (3:1+ on every light surface) ---------- */
:focus-visible { outline-color: var(--brand); }

/* ---------- Scroll progress: on the white header ---------- */
.scroll-progress {
  background: linear-gradient(90deg, var(--gold), var(--brand-light), var(--brand));
  box-shadow: 0 0 10px rgba(46, 159, 216, .45);
}

/* ============================================================
   HEADER: white frosted glass, dark text, the blue brand mark
   ============================================================ */
.site-header {
  background: rgba(255, 255, 255, .78);
  border-bottom: 1px solid rgba(12, 36, 54, .07);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset;
}
.site-header.scrolled {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 30px -16px rgba(7, 30, 50, .22);
}
.site-header .brand, .brand { color: var(--ink-2); }
.site-header .brand .brand-tag, .brand .brand-tag { color: var(--text-soft); }
.main-nav a { color: var(--text); }
.main-nav a:hover, .main-nav a:focus-visible { background: rgba(5, 102, 158, .08); color: var(--brand); }
.nav-toggle .bar { background: var(--ink-2); }

/* native menu (Pro nav-menu) */
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item,
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:focus { color: var(--text); }
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:focus-visible,
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item.highlighted {
  background: rgba(5, 102, 158, .08);
  color: var(--brand);
}
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item-active:not(.elementor-item-anchor),
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item { color: var(--brand); }
.dyk-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item::after { background: linear-gradient(90deg, var(--gold), var(--gold-light)); }

/* desktop dropdown: white glass panel, gold top edge */
.dyk-nav .elementor-nav-menu--main .sub-menu {
  background: rgba(255, 255, 255, .97);
  border: 1px solid var(--dyk-line);
  border-top: 2px solid rgba(201, 164, 92, .8);
  box-shadow: 0 26px 54px -22px rgba(7, 30, 50, .3);
}
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item,
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus { color: var(--text); }
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus-visible,
.dyk-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active {
  background: rgba(5, 102, 158, .07);
  color: var(--brand);
  box-shadow: inset -3px 0 0 var(--gold);
}

/* hamburger + mobile panel */
.dyk-nav .elementor-menu-toggle { color: var(--ink-2); }
.dyk-nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid var(--dyk-line);
  box-shadow: 0 26px 40px -22px rgba(7, 30, 50, .3);
}
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item,
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item:hover,
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item:focus { color: var(--text); }
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item:hover,
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item:focus-visible { background: rgba(5, 102, 158, .07); color: var(--brand); }
.dyk-nav nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active:not(.elementor-item-anchor) { color: var(--brand); box-shadow: inset -3px 0 0 var(--gold); }
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu { border-inline-start-color: rgba(201, 164, 92, .55); }
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item,
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover,
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:focus { color: var(--text-soft); }
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover,
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:focus-visible,
.dyk-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item.elementor-item-active { background: rgba(5, 102, 158, .07); color: var(--brand); }
@media (max-width: 760px) {
  .main-nav { background: rgba(255, 255, 255, .98); border-bottom: 1px solid var(--dyk-line); box-shadow: 0 26px 40px -22px rgba(7, 30, 50, .3); }
}

/* ============================================================
   BUTTONS: gold and blue stay; the ghost becomes white glass
   ============================================================ */
.btn-ghost {
  background: rgba(255, 255, 255, .72);
  color: var(--ink-2);
  border: 1px solid var(--dyk-line-2);
  box-shadow: 0 10px 26px -16px rgba(7, 30, 50, .28);
}
.btn-ghost:hover, .btn-ghost:focus-visible { background: #fff; color: var(--brand); border-color: rgba(5, 102, 158, .35); }

/* ============================================================
   HEROES: home / about (.hero), treatment / results / faq / contact (.article-hero + .dyk-*-hero),
   magazine + category + legal (.legal-hero), article (.article-hero), 404
   ============================================================ */
.hero,
.hero.dyk-pg-hero-doc { background: var(--dyk-bg-hero); color: var(--text); }
.article-hero,
.dyk-pg-hero,
.dyk-tr-hero,
.legal-hero {
  background:
    radial-gradient(900px 500px at 80% -20%, rgba(87, 196, 255, .2), transparent 60%),
    radial-gradient(620px 380px at 6% 108%, rgba(230, 200, 138, .13), transparent 62%),
    linear-gradient(160deg, #ffffff, #f2f7fb 60%, #eaf2f8);
  color: var(--text);
}
.hero, .article-hero, .legal-hero { box-shadow: inset 0 -1px 0 rgba(12, 36, 54, .05); }
.hero::before,
.dyk-pg-hero::before { background-image: radial-gradient(rgba(5, 102, 158, .09) 1px, transparent 1.4px); }
.hero-orb.o1 { background: #9ad7ff; }
.hero-orb.o2 { background: #ecd6a6; }
.hero .hero-orb { opacity: .4; }
.dyk-pg-hero .hero-orb { opacity: .3; }
.hero .cursor-glow { background: radial-gradient(340px circle at var(--mx) var(--my), rgba(87, 196, 255, .13), transparent 65%); }

.hero-kicker {
  background: rgba(5, 102, 158, .07);
  border-color: rgba(5, 102, 158, .2);
  color: var(--brand);
}
.dyk-tr-hero .hero-kicker::before { color: var(--dyk-gold-ui); }
.hero h1,
.article-hero h1,
.legal-hero h1 { color: var(--ink-2); }
.hero h1 .accent,
.dyk-pg-hero h1 .accent,
.dyk-pg-hero-doc h1 .accent,
.dyk-tr-hero h1 .accent {
  /* blue-to-gold would pass through olive on a light ground: a deep-to-bright brand blue shimmer instead */
  background-image: linear-gradient(100deg, var(--brand), #1a7bb6 50%, #0a5486);
}
.hero-sub,
.legal-hero p,
.article-hero .article-meta,
.article-hero .crumbs,
.dyk-pg-crumbs { color: var(--text-soft); }
.article-hero .crumbs a,
.dyk-pg-crumbs a { color: var(--brand); }
.hero-stats { border-top-color: rgba(12, 36, 54, .1); }
.stat .num,
.stat .elementor-counter-number-wrapper { color: var(--ink-2); }
.stat .lbl,
.stat .elementor-counter-title { color: var(--text-soft); }
.scroll-hint { color: var(--text-soft); }

/* treatment hero chips + side card links */
.dyk-tr-meta span {
  background: rgba(255, 255, 255, .78);
  border-color: var(--dyk-line-2);
  color: var(--text);
}
.dyk-tr-meta span::before { color: var(--dyk-gold-ui); }
.dyk-tr-hero .hero-card a { color: var(--ink-2); border-bottom-color: rgba(168, 127, 47, .55); }
.dyk-tr-hero .hero-card a:hover,
.dyk-tr-hero .hero-card a:focus-visible { color: var(--brand); border-bottom-color: var(--brand); }

/* glass side card (.hero-card): treatment heroes, faq topics, contact doctor */
.hero-card {
  background: var(--dyk-glass);
  border: 1px solid var(--dyk-line);
  box-shadow: var(--dyk-glass-shadow);
}
.hero-card .logo-mark { filter: drop-shadow(0 8px 20px rgba(46, 159, 216, .3)); }
.hero-card h2 { color: var(--ink-2); }
.hero-card p { color: var(--text-soft); }
.hero-card li { color: var(--text); }
.hero-card li svg { color: var(--dyk-gold-ui); }
.dyk-pg-panel-title { color: var(--dyk-gold-ink); }
.btn.dyk-pg-topic svg { color: var(--dyk-gold-ui); }
.btn.dyk-pg-topic:hover,
.btn.dyk-pg-topic:focus-visible { background: #fff; border-color: rgba(5, 102, 158, .35); color: var(--brand); }
.dyk-pg-doc-name { color: var(--ink-2); }
.dyk-pg-doc-sub { color: var(--dyk-gold-ink); }
.clinic-loc.dyk-pg-doc-loc { color: var(--text); }
.dyk-pg-doc-loc svg { color: var(--brand); }

/* doctor cutout: soft blue + gold glow on light, white glass chips and nameplate */
.doctor-glow {
  background: radial-gradient(circle at 50% 48%, rgba(87, 196, 255, .5), rgba(46, 159, 216, .24) 50%, rgba(230, 200, 138, .2) 63%, transparent 74%);
}
.doctor-glow::after { border-color: rgba(201, 164, 92, .6); }
.doctor-img { filter: drop-shadow(0 26px 34px rgba(7, 30, 50, .26)); }
.doctor-chip {
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--dyk-line);
  color: var(--ink-2);
  box-shadow: 0 16px 34px -14px rgba(7, 30, 50, .3);
}
.doctor-chip svg { color: var(--dyk-gold-ui); }
.doctor-nameplate {
  background: linear-gradient(160deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .8));
  border: 1px solid var(--dyk-line);
  box-shadow: 0 24px 50px -22px rgba(7, 30, 50, .35);
}
.doctor-nameplate b { color: var(--ink-2); }
.doctor-nameplate span { color: var(--dyk-gold-ink); }

/* results hero collage: photos framed in white, light captions */
.dyk-pg-collage-item {
  background: var(--dyk-mist);
  border-color: rgba(255, 255, 255, .9);
  box-shadow: 0 0 0 5px #fff, 0 34px 60px -28px rgba(7, 30, 50, .45);
}
.dyk-pg-collage-item figcaption { background: var(--dyk-scrim); color: var(--ink-2); }

/* ============================================================
   MARQUEE: a calm light band
   ============================================================ */
.marquee {
  background: linear-gradient(90deg, var(--dyk-mist), var(--dyk-cream) 50%, var(--dyk-mist));
  border-block: 1px solid var(--dyk-line);
}
.marquee-item { color: var(--ink-2); }
.marquee-item .dot { color: var(--dyk-gold-ui); }

/* ============================================================
   FORMER DARK SECTIONS (.on-dark): before/after, galleries, process, approach
   ============================================================ */
.on-dark .section-head h2 { color: var(--ink-2); }
.on-dark .section-head p { color: var(--text-soft); }
.on-dark .section-kicker { color: var(--brand); }

.dyk-pg-dark,
.dyk-tr-dark,
.dyk-h-ba { background: var(--dyk-bg-band); color: var(--text); }
.dyk-h-ba::before { background-image: radial-gradient(rgba(5, 102, 158, .07) 1px, transparent 1.4px); }
.dyk-pg-dark .ba-note,
.dyk-tr-dark .ba-note,
.dyk-h-ba .ba-note { color: var(--text-soft); }

/* home before/after: compare stage, tabs, captions */
.dyk-h-ba .dyk-h-ba-label { color: var(--dyk-gold-ink); }
.dyk-h-ba .dyk-h-ba-label::before { color: var(--gold); }
.dyk-h-ba .dyk-h-ba-hint { color: var(--text-soft); }
.dyk-h-ba .dyk-h-ba-hint::before { background: var(--dyk-gold-ui); }
.dyk-h-ba-stage::before { background: radial-gradient(closest-side, rgba(87, 196, 255, .24), rgba(230, 200, 138, .14) 60%, transparent); }
.dyk-compare {
  background: var(--dyk-mist);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: 0 34px 70px -32px rgba(7, 30, 50, .45), 0 0 0 6px rgba(255, 255, 255, .85);
}
.dyk-compare .dyk-cmp-tag-before {
  background: rgba(255, 255, 255, .9);
  color: var(--ink-2);
  border: 1px solid rgba(12, 36, 54, .1);
}
.dyk-compare .dyk-cmp-handle:focus-visible::after {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--brand), 0 12px 28px -8px rgba(0, 0, 0, .5);
}
.dyk-cmp-case .dyk-cmp-cap { color: var(--text-soft); }
.dyk-cmp-case .dyk-cmp-cap b { color: var(--ink-2); }
.dyk-cmp-case .dyk-cmp-cap a { color: var(--brand); }
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button) {
  border-color: var(--dyk-line-2);
  background: rgba(255, 255, 255, .78);
  color: var(--ink-2);
  box-shadow: 0 8px 20px -16px rgba(7, 30, 50, .3);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button):hover {
  background: #fff;
  border-color: rgba(5, 102, 158, .35);
  color: var(--brand);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"] {
  background: linear-gradient(120deg, rgba(46, 159, 216, .14), rgba(5, 102, 158, .07)), #fff;
  border-color: rgba(5, 102, 158, .5);
  color: var(--brand);
  box-shadow: 0 16px 34px -18px rgba(5, 102, 158, .5), inset -3px 0 0 var(--gold);
}
.dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"]::after { background: var(--gold); }
@media (max-width: 900px) {
  .dyk-cmp-tabs :is(a.dyk-cmp-tab, .dyk-cmp-tab .elementor-button)[aria-selected="true"] {
    box-shadow: 0 10px 24px -12px rgba(5, 102, 158, .5), inset 0 -2px 0 var(--gold);
  }
}

/* home process strip: cream band, white glass steps */
.dyk-h-process { background: var(--dyk-bg-cream); color: var(--text); }
.dyk-h-process .process-step {
  background: var(--dyk-glass);
  border: 1px solid var(--dyk-line);
  box-shadow: var(--shadow-soft);
}
.dyk-h-process .process-step:hover { border-color: rgba(201, 164, 92, .55); }
.dyk-h-process .process-step h3 { color: var(--ink-2); }
.dyk-h-process .process-step p { color: var(--text-soft); }
.dyk-h-process .process-step .step-num { box-shadow: 0 0 0 6px rgba(46, 159, 216, .1), 0 10px 22px -8px rgba(46, 159, 216, .6); }
@media (min-width: 1025px) {
  .dyk-h-process .process-step:not(:last-child)::after { background: linear-gradient(90deg, rgba(46, 159, 216, .45), var(--gold)); }
}

/* about: approach principles (glass on dark -> white cards) */
.dyk-pg-glass {
  background: var(--dyk-glass);
  border: 1px solid var(--dyk-line);
  box-shadow: var(--shadow-soft);
}
.dyk-pg-glass:hover { border-color: rgba(201, 164, 92, .55); }
.dyk-pg-glass-icon {
  background: rgba(5, 102, 158, .07);
  border-color: rgba(5, 102, 158, .2);
  color: var(--brand);
}
.dyk-pg-num { -webkit-text-stroke: 1px rgba(168, 127, 47, .55); }
.dyk-pg-glass h3 { color: var(--ink-2); }
.dyk-pg-glass p { color: var(--text-soft); }
.dyk-pg-quote {
  background: linear-gradient(135deg, rgba(46, 159, 216, .08), rgba(230, 200, 138, .16)), rgba(255, 255, 255, .6);
  border-color: rgba(201, 164, 92, .4);
}
.dyk-pg-quote .quote-mark { color: var(--dyk-gold-ui); }
.dyk-pg-quote blockquote { color: var(--ink-2); }
.dyk-pg-practice li {
  background: rgba(255, 255, 255, .8);
  border-color: var(--dyk-line);
  color: var(--text-soft);
}
.dyk-pg-practice b { color: var(--dyk-gold-ink); }

/* ============================================================
   GALLERIES: light pills, photos framed on light, light captions
   ============================================================ */
.gfilter,
.dyk-gallery .elementor-gallery__titles-container a.elementor-item.elementor-gallery-title {
  border: 1px solid var(--dyk-line-2);
  background: #fff;
  color: var(--ink-2);
  box-shadow: 0 6px 18px -12px rgba(7, 30, 50, .3);
}
.gfilter:hover,
.dyk-gallery .elementor-gallery__titles-container a.elementor-item.elementor-gallery-title:hover { background: #eef6fc; color: var(--brand); }
.gfilter[aria-pressed="true"],
.dyk-gallery .elementor-gallery__titles-container a.elementor-item.elementor-gallery-title.elementor-item-active {
  background: linear-gradient(120deg, var(--brand-light), var(--brand));
  border-color: transparent;
  color: #fff;
}
.gallery-item,
.dyk-gallery .e-gallery-item.elementor-gallery-item {
  border: 1px solid rgba(255, 255, 255, .9);
  background: var(--dyk-mist);
  box-shadow: 0 22px 44px -24px rgba(7, 30, 50, .4);
}
.gallery-item:hover,
.dyk-gallery .e-gallery-item.elementor-gallery-item:hover,
.dyk-gallery .e-gallery-item.elementor-gallery-item:focus-visible { box-shadow: 0 32px 60px -24px rgba(7, 30, 50, .45); }
.gallery-item figcaption,
.dyk-gallery .elementor-gallery-item__content { background: var(--dyk-scrim); color: var(--ink-2); }
.dyk-gallery .elementor-gallery-item__title { color: var(--ink-2); }
.gallery-item figcaption small,
.dyk-gallery .elementor-gallery-item__description { color: #3f5466; }

/* Elementor lightbox (site-wide): a bright viewing room */
.elementor-lightbox.dialog-lightbox-widget {
  --lightbox-ui-color: var(--ink-2);
  --lightbox-ui-color-hover: var(--brand);
  --lightbox-text-color: var(--ink-2);
  background: rgba(244, 248, 252, .96);
}
.elementor-lightbox.dialog-lightbox-widget .elementor-lightbox-image { box-shadow: 0 40px 100px -30px rgba(7, 30, 50, .45); }
.elementor-lightbox.dialog-lightbox-widget .dialog-lightbox-close-button,
.elementor-lightbox.dialog-lightbox-widget .swiper .elementor-swiper-button {
  border: 1px solid var(--dyk-line-2);
  background: rgba(255, 255, 255, .92);
  color: var(--ink-2);
  box-shadow: 0 12px 28px -14px rgba(7, 30, 50, .35);
}
.elementor-lightbox.dialog-lightbox-widget .dialog-lightbox-close-button:hover,
.elementor-lightbox.dialog-lightbox-widget .swiper .elementor-swiper-button:hover { background: #fff; color: var(--brand); }
.elementor-lightbox.dialog-lightbox-widget .elementor-swiper-button svg,
.elementor-lightbox.dialog-lightbox-widget .dialog-lightbox-close-button svg { fill: currentColor; }
.elementor-lightbox.dialog-lightbox-widget .elementor-slideshow__title { color: var(--ink-2); }
body .elementor-lightbox .dialog-lightbox-close-button:focus-visible,
body .elementor-lightbox .elementor-swiper-button:focus-visible { outline-color: var(--brand); }
/* the original #lightbox markup, if a page still carries it */
.lightbox { background: rgba(244, 248, 252, .96); }
.lightbox img { box-shadow: 0 40px 100px -30px rgba(7, 30, 50, .45); }
.lightbox .lb-caption { color: var(--ink-2); }
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next { border-color: var(--dyk-line-2); background: rgba(255, 255, 255, .92); color: var(--ink-2); }
.lightbox .lb-close:hover, .lightbox .lb-prev:hover, .lightbox .lb-next:hover { background: #fff; color: var(--brand); }

/* ============================================================
   CONTACT SECTION + LEAD FORM
   ============================================================ */
.contact {
  background:
    radial-gradient(800px 500px at -10% 10%, rgba(87, 196, 255, .2), transparent 55%),
    radial-gradient(700px 460px at 110% 100%, rgba(230, 200, 138, .2), transparent 60%),
    linear-gradient(165deg, #f7fafd, #eaf2f8);
  color: var(--text);
}
.contact-info h2 { color: var(--ink-2); }
.contact-info .lead { color: var(--text-soft); }
.contact-line {
  color: var(--text);
  background: rgba(255, 255, 255, .8);
  border: 1px solid var(--dyk-line);
  box-shadow: 0 8px 22px -18px rgba(7, 30, 50, .35);
}
a.contact-line:hover { background: #fff; color: var(--brand); }
.contact-line svg { color: var(--brand); }
.social-row a {
  color: var(--brand);
  background: #fff;
  border: 1px solid var(--dyk-line-2);
  box-shadow: 0 8px 20px -16px rgba(7, 30, 50, .35);
}
.social-row a:hover { background: var(--brand); color: #fff; }

.contact-form-wrap {
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--dyk-line);
  box-shadow: 0 34px 70px -36px rgba(7, 30, 50, .4);
}
.contact-form-wrap h3,
.dyk-form-wrap .dyk-form-title { color: var(--ink-2); }
.contact-form-wrap .form-sub,
.dyk-form-wrap .form-sub { color: var(--text-soft); }
.form-field label,
.dyk-lead-form .elementor-field-group > .elementor-field-label { color: var(--text); }
.form-field input, .form-field select, .form-field textarea,
.dyk-lead-form .elementor-field-group .elementor-field-textual,
.dyk-lead-form .elementor-field-group .elementor-select-wrapper select {
  border: 1px solid #7890a5; /* 3.3:1 on the white card, 3.2:1 on the field: the field outline is the control's edge */
  background: #f7fafd;
  color: var(--ink-2);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus,
.dyk-lead-form .elementor-field-group .elementor-field-textual:focus,
.dyk-lead-form .elementor-field-group .elementor-select-wrapper select:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(5, 102, 158, .18);
}
.form-field ::placeholder,
.dyk-lead-form .elementor-field-textual::placeholder { color: #5f7487; }
.dyk-lead-form .elementor-field-group .elementor-select-wrapper select option { background: #fff; color: var(--ink-2); }
/* the form widget's own style controls print per-page CSS (.elementor-<page> .elementor-element-<id> ... 0,6,0):
   :is(#dyk-x, ...) lifts these rules above it without !important */
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group > label,
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group > .elementor-field-label { color: var(--text); }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-subgroup label { color: var(--text-soft); }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-field { color: var(--ink-2); }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-select-wrapper select { background-color: #f7fafd; border-color: #7890a5; }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-field-textual:focus,
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-select-wrapper select:focus { background-color: #fff; border-color: var(--brand); }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-error .elementor-field-textual,
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-textual[aria-invalid="true"] { border-color: #d03b2f; }
.dyk-lead-form:is(#dyk-x, .dyk-lead-form) .elementor-field-group .elementor-select-wrapper::before { color: var(--text-soft); }
.form-consent,
.dyk-lead-form .elementor-field-type-acceptance .elementor-field-option { color: var(--text-soft); }
.form-consent input,
.dyk-lead-form .elementor-field-type-acceptance .elementor-field-option input { accent-color: var(--brand); }
.form-consent a,
.dyk-lead-form .elementor-field-type-acceptance a { color: var(--brand); }
.form-msg.ok,
.dyk-lead-form .form-msg.ok,
.dyk-lead-form .elementor-message.elementor-message-success { color: #1d7340; }
.form-msg.err,
.dyk-lead-form .form-msg.err,
.dyk-lead-form .elementor-message.elementor-message-danger { color: #b42318; }
.dyk-lead-form .elementor-error .elementor-field-textual,
.dyk-lead-form .elementor-field-textual[aria-invalid="true"] { border-color: #d03b2f; }

/* contact page: glass info card */
.dyk-pg-info {
  background: var(--dyk-glass);
  border: 1px solid var(--dyk-line);
  box-shadow: var(--dyk-glass-shadow);
}
.dyk-pg-info-title { color: var(--ink-2); }
.dyk-pg-appt {
  background: rgba(230, 200, 138, .18);
  border-color: rgba(201, 164, 92, .5);
  color: var(--dyk-gold-ink);
}

/* ============================================================
   CTA BOXES (article end, FAQ closing question)
   ============================================================ */
.article-cta {
  background:
    radial-gradient(520px 260px at 85% 0%, rgba(87, 196, 255, .16), transparent 60%),
    radial-gradient(480px 260px at 10% 100%, rgba(230, 200, 138, .2), transparent 60%),
    linear-gradient(160deg, #ffffff, #eef4f9);
  box-shadow: 0 0 0 1px var(--dyk-line), var(--shadow-soft); /* a ring, not a border: the box keeps its size */
  color: var(--text);
}
.article-cta h3, .article-cta h2 { color: var(--ink-2); }
.article-cta p { color: var(--text-soft); }

/* ============================================================
   MAGAZINE: the navy cover images stay (rich imagery), the tag turns white glass
   ============================================================ */
body .mag-tag {
  background: rgba(255, 255, 255, .9);
  border-color: rgba(255, 255, 255, .95);
  color: var(--ink-2);
}

/* ============================================================
   FOOTER: light mist, the original colour logo
   ============================================================ */
.site-footer {
  background:
    radial-gradient(700px 320px at 100% 0%, rgba(87, 196, 255, .1), transparent 60%),
    linear-gradient(180deg, #f1f6fa, #e9f1f7);
  color: var(--text-soft);
  border-top: 1px solid var(--dyk-line-2);
}
.footer-brand img { filter: none; }
.site-footer h4, .site-footer h2 { color: var(--ink-2); }
.footer-links a,
.footer-contact a,
.footer-bottom a { color: var(--text-soft); }
.footer-links a:hover,
.footer-contact a:hover,
.footer-bottom a:hover { color: var(--brand); }
.footer-contact svg { color: var(--brand); }
.footer-bottom { border-top-color: rgba(12, 36, 54, .1); }

/* ============================================================
   DOCK: socials keep their brand colours, the unified button stays brand blue;
   the first-visit cookie prompt becomes a white card like the panel
   ============================================================ */
.dyk-dock .float-btn { box-shadow: 0 14px 30px -12px rgba(7, 30, 50, .42); }
.dyk-dock .dyk-dock-btn { box-shadow: 0 14px 30px -12px rgba(7, 30, 50, .45); }
.dyk-dock .dyk-dock-panel { box-shadow: 0 30px 70px -24px rgba(7, 30, 50, .4); }
.dyk-dock .dyk-cookie-prompt {
  background: rgba(255, 255, 255, .98);
  color: var(--text);
  border: 1px solid var(--dyk-line-2);
  box-shadow: 0 24px 60px -20px rgba(7, 30, 50, .4);
}
.dyk-dock .dyk-cookie-prompt::after {
  background: #fff;
  border-right-color: var(--dyk-line-2);
  border-bottom-color: var(--dyk-line-2);
}
.dyk-dock .dyk-cp-text { color: var(--text); }
.dyk-dock .dyk-cp-text a { color: var(--brand); }
.dyk-dock .dyk-cp-text a:hover { color: var(--ink-3); }
.dyk-dock .dyk-cp-actions .btn-ghost { background: #f4f9fd; color: var(--ink-2); border: 1px solid #d7e4ef; }
.dyk-dock .dyk-cp-actions .btn-ghost:hover,
.dyk-dock .dyk-cp-actions .btn-ghost:focus { background: #e8f3fb; color: var(--ink-2); }
.dyk-dock .dyk-cookie-prompt :focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.cookie-banner { background: rgba(255, 255, 255, .98); color: var(--text); border-top-color: var(--dyk-line-2); box-shadow: 0 -20px 50px -24px rgba(7, 30, 50, .35); }
.cookie-text { color: var(--text); }
.cookie-text a { color: var(--brand); }

/* ============================================================
   SMALL PIECES
   ============================================================ */
.video-play-hint { background: rgba(255, 255, 255, .9); color: var(--ink-2); }
