/* YDC site layer (loaded on every page, ~3 KB): web-font fallbacks, shared classes used by plugin-rendered markup and
   theme-proofing for the Elementor pages/theme parts of the new design (header .ydc-hdr, footer .ydc-ftr, pages .ydc-page).
   Design tokens live in global.css (--ydc-*). Every rule is scoped to a .ydc-* class, so old pages are untouched. */

/* Metric-matched fallbacks so the swap to Archivo / Instrument Sans does not re-wrap lines (same figures as the home page). */
@font-face{ font-family:"YDC Fb Display"; src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Helvetica-Bold"); font-weight:600 900; size-adjust:112%; ascent-override:77.02%; descent-override:18.42%; line-gap-override:0%; }
@font-face{ font-family:"YDC Fb Body"; src:local("Arial"),local("ArialMT"),local("Helvetica"); font-weight:400 500; size-adjust:102%; ascent-override:95.10%; descent-override:24.51%; line-gap-override:0%; }
@font-face{ font-family:"YDC Fb Body"; src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Helvetica-Bold"); font-weight:600 700; size-adjust:97.2%; ascent-override:99.79%; descent-override:25.72%; line-gap-override:0%; }
:where(:root){ --ydc-font-display:"Archivo","YDC Fb Display","Helvetica Neue",Arial,sans-serif; --ydc-font-body:"Instrument Sans","YDC Fb Body","Helvetica Neue",Arial,sans-serif; --ydc-ink-2:#14162E; --ydc-ink-line:#262A4A; --ydc-on-ink:#F4F5FB; --ydc-on-ink-mute:#A9ADC6; --ydc-sky:#8FA2FF; --ydc-blue-ink:#2A40D6; --ydc-max:1320px; --ydc-gut:clamp(16px,3.2vw,40px); }

/* Theme-proofing for the Elementor theme parts and pages: Blocksy / Elementor-kit spacing and type reset inside them. */
.ydc-hdr,.ydc-ftr,.ydc-page{ font-family:var(--ydc-font-body); color:var(--ydc-ink,#0A0B1A); -webkit-font-smoothing:antialiased; }
.ydc-hdr .e-con,.ydc-ftr .e-con,.ydc-page .e-con{ margin:0; min-width:0; max-width:none; --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; --row-gap:0px; --column-gap:0px; }
.ydc-hdr .elementor-widget,.ydc-ftr .elementor-widget,.ydc-page .elementor-widget{ margin:0 !important; }
.ydc-hdr .elementor-widget-container,.ydc-ftr .elementor-widget-container,.ydc-page .elementor-widget-container{ margin:0 !important; padding:0 !important; }
.ydc-hdr .elementor-heading-title,.ydc-ftr .elementor-heading-title,.ydc-page .elementor-heading-title{ margin:0 !important; padding:0 !important; text-transform:none !important; text-shadow:none !important; }
:is(.ydc-hdr,.ydc-ftr,.ydc-page) :is(h1,h2,h3,h4,h5,p,ul,ol,li){ margin:0 !important; padding:0; }
:is(.ydc-hdr,.ydc-ftr,.ydc-page) :is(ul,ol){ list-style:none !important; }
:is(.ydc-hdr,.ydc-ftr,.ydc-page) img{ max-width:100%; height:auto; display:block; border:0; box-shadow:none; }
.ydc-wrap{ width:100% !important; max-width:var(--ydc-max) !important; margin-inline:auto !important; padding-inline:var(--ydc-gut) !important; position:relative; z-index:1; }
body:not(.elementor-editor-active) .ydc-asset{ display:none !important; }
.elementor-editor-active .ydc-asset{ min-height:28px; background:#EEF; color:#334; font:600 11px/28px sans-serif; text-align:center; }
.elementor-editor-active .ydc-asset::before{ content:"YDC: styles / script block (keep this widget)"; }
.ydc-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
/* Theme-rendered pages (shop, categories, products, cart, checkout, account): brand type and colours instead of the
   theme's customiser palette (teal headings, yellow buttons). Elementor pages (.elementor-page) carry their own styles. */
body:not(.elementor-page){ --theme-heading-color:#0A0B1A; --theme-text-color:#14162E; --theme-link-initial-color:#3F5BF6; --theme-link-hover-color:#2A40D6;
  --theme-palette-color-1:#3F5BF6; --theme-palette-color-2:#2A40D6; --theme-palette-color-3:#0A0B1A; --theme-palette-color-4:#14162E;
  --theme-button-background-initial-color:#0A0B1A; --theme-button-background-hover-color:#2A40D6; --theme-button-text-initial-color:#FFFFFF; --theme-button-text-hover-color:#FFFFFF;
  --theme-font-family:var(--ydc-font-body); --theme-heading-font-family:var(--ydc-font-display); }
body:not(.elementor-page) :is(h1,h2,h3,h4,h5,h6):not(.ydc-hdr *):not(.ydc-ftr *):not(.ydc-scope *):not(.ydc-cfg-wrap *){ font-family:var(--ydc-font-display) !important; font-weight:700; letter-spacing:-.01em; color:#0A0B1A !important; }
body:not(.elementor-page) :is(.ct-container,.ct-container-full,.woocommerce,.site-main){ font-family:var(--ydc-font-body); color:#14162E; }
body:not(.elementor-page) :is(.ct-container,.ct-container-full) a:not([class*="ydc-"]):not(.button):not(.ct-button){ color:#3F5BF6; }
body:not(.elementor-page) :is(.button,.ct-button,.wc-block-components-button,.single_add_to_cart_button):not([class*="ydc-"]){ background:#0A0B1A !important; color:#FFFFFF !important; border:0 !important; border-radius:999px !important; font-family:var(--ydc-font-body) !important; font-weight:600 !important; }
body:not(.elementor-page) :is(.button,.ct-button,.wc-block-components-button):not([class*="ydc-"]):hover{ background:#2A40D6 !important; }
body:not(.elementor-page) .woocommerce-products-header,body:not(.elementor-page) .page-title{ background:none; }
body:not(.elementor-page) :is(.woocommerce-loop-product__title,.woocommerce-loop-product__link){ color:#0A0B1A !important; }
/* Blocksy's own header/footer are replaced by the Elementor theme parts; when both print (customiser header still enabled), hide the theme's. */
html.ydc-theme-parts header#header.ct-header-wrapper, html.ydc-theme-parts [data-id="header"].ct-header, html.ydc-theme-parts footer.ct-footer{ display:none !important; }
