/*!
 * g3-design.css — scoped product-surface design sheet
 * =====================================================================================
 * DO NOT HAND-EDIT THE RULES BELOW. They are Elementor's OWN generated output for the
 * Elementor v4 global classes the product templates were designed against, taken from
 * preview1.digitlsky.com (kit 5) and de-duplicated. Byte-for-byte Elementor output is the
 * whole point: it cannot drift from the approved design.
 *
 * Source: preview1's generated design buckets
 *   g3pdp-design-desktop.css  6,855 B
 *   g3pg-design-desktop.css   3,671 B
 *   g3cv-design-desktop.css   2,522 B
 *   g3pdp-design-mobile.css      70 B
 *   g3pg-design-mobile.css       70 B
 *   (g3cv-design-mobile.css does not exist on preview1 — 404)
 * De-duplicated on the exact (media, selector, declarations) triple, first-appearance order
 * preserved: 40 rules, 28 classes.
 *
 * WHY A STYLESHEET AND NOT KIT CLASSES: this site's kit (id 8) emits its classes and its
 * 17 :root variables site-wide, into every old-design page. Adding the 20 missing classes
 * to the kit would put 20 live rules onto pages the client has signed off and we may not
 * change. This file is loaded ONLY on product surfaces (see g3-design.php).
 *
 * SELECTOR SHAPE is Elementor's: `.elementor .<label>`, specificity (0,2,0). Unchanged from
 * preview1, so the cascade behaves identically. No !important anywhere.
 *
 * ONE DELIBERATE OVERRIDE: this site's kit carries its own `card-text_accent` whose colour is
 * `var(--color-purple-accent_text)` (#9076d4); preview1's is `var(--color-purple)` (#5430a0).
 * Same specificity, so this file must load AFTER g3pdp-design-desktop.css. g3-design.php
 * enqueues at wp_enqueue_scripts priority 999 for that reason.
 */

/* ---------------------------------------------------------------------------------------
 * Kit variables present on preview1 (kit 5) and ABSENT from this site's kit (kit 8).
 * They live here, NOT in the kit, so they never reach an old-design page — the kit's :root
 * block is emitted site-wide in post-8.css.
 * Measured 2026-09-03: all five are referenced ZERO times across the target's 60 stylesheets
 * (1,102,686 B) and 544,567 B of inline <style> (controls .elementor-element 4592,
 * .site-container 26, .entry-content 74 all fired), so declaring them here is inert for
 * everything except the rules below.
 * Three of them are load-bearing for this sheet:
 *   --font_size-body   .text-body, .text-strong, .usp-item-ink
 *   --font_size-h2     .heading-h2
 *   --section-pad-y    .section-pad  (without it the bands get ZERO vertical padding)
 * --font_size-hero and --color-hero_deep are shipped for completeness; nothing here uses them.
 * ------------------------------------------------------------------------------------ */
:root{
--font_size-body:clamp(0.95rem, 1.2vw, 1.0625rem);
--font_size-h2:clamp(1.75rem, 3vw, 2.5rem);
--font_size-hero:clamp(2.25rem, 5vw, 3.75rem);
--section-pad-y:clamp(56px, 7vw, 100px);
--color-hero_deep:#3d2178;
}

/* ---- 40 rules / 28 classes, Elementor-generated, verbatim ---------------------------- */
.elementor .usp-item-ink{font-family:var(--font-text_body);font-weight:500;font-size:var(--font_size-body);color:var(--color-black);padding:0px;margin:0px;display:flex;flex-direction:row;gap:8px;align-items:center;}
.elementor .breadcrumb-link{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:14px;color:var(--color-grey_text);text-align:start;text-decoration:none;padding:0px;margin:0px;border-width:0px;background-color:#ffffff00;display:inline-flex;justify-content:flex-start;align-items:center;}
.elementor .breadcrumb-link:hover,.elementor .breadcrumb-link:focus-visible{color:var(--color-purple);text-decoration:underline;}
.elementor .breadcrumb-link:focus-visible{outline-width:2px;outline-color:var(--color-purple);outline-style:solid;outline-offset:2px;}
.elementor .variant-option-active{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:15px;color:var(--color-black);text-align:start;cursor:pointer;padding-block-start:14px;padding-block-end:14px;padding-inline-start:22px;padding-inline-end:22px;margin:0px;border-radius:32px;border-width:1px;border-color:var(--color-purple);border-style:solid;background-color:var(--bg-color-brand_tint);display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:flex-start;}
.elementor .variant-option-active:focus-visible{outline-width:2px;outline-color:var(--color-purple);outline-style:solid;outline-offset:2px;}
.elementor .variant-option{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:15px;color:var(--color-black);text-align:start;cursor:pointer;padding-block-start:14px;padding-block-end:14px;padding-inline-start:22px;padding-inline-end:22px;margin:0px;border-radius:32px;border-width:1px;border-color:#e4e3ee;border-style:solid;background-color:var(--White);display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:flex-start;}
.elementor .variant-option:hover,.elementor .variant-option:focus-visible{border-color:var(--color-purple);}
.elementor .variant-option:focus-visible{outline-width:2px;outline-color:var(--color-purple);outline-style:solid;outline-offset:2px;}
.elementor .text-strong{font-family:var(--font-text_body);font-weight:700;font-size:var(--font_size-body);color:var(--color-black);line-height:1.6;padding:0px;margin:0px;}
.elementor .heading-pdp-title{font-family:var(--font-heading);font-weight:700;font-size:48px;color:var(--color-black);letter-spacing:-0.02em;line-height:1.1;margin:0px;}
.elementor .card-text_heading-product{font-family:var(--font-heading);font-weight:700;font-size:18px;color:var(--color-black);word-spacing:1px;line-height:1.35;}
.elementor .link-inline{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:16px;color:var(--color-purple);text-align:start;text-decoration:underline;padding:0px;margin:0px;border-width:0px;background-color:#ffffff00;display:inline-flex;justify-content:flex-start;}
.elementor .link-inline:hover,.elementor .link-inline:focus-visible{color:#46288a;}
.elementor .form-label{font-family:var(--font-text_body);font-weight:500;font-size:15px;color:var(--color-black);line-height:1.4;padding:0px;margin:0px;}
.elementor .tile-tint{width:100%;padding-block-start:28px;padding-block-end:28px;padding-inline-start:28px;padding-inline-end:28px;border-radius:var(--card-border-radius);background-color:var(--bg-color-brand_tint);display:flex;flex-direction:column;gap:10px;}
.elementor .btn-outline-ink{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:var(--font_size-box-accent);color:var(--color-black);padding-block-start:14px;padding-block-end:14px;padding-inline-start:24px;padding-inline-end:24px;margin:0px;border-radius:40px;border-width:1px;border-color:#e4e3ee;border-style:solid;background-color:var(--White);display:flex;flex-direction:row;gap:6px;justify-content:center;align-items:center;}
.elementor .btn-outline-ink:hover,.elementor .btn-outline-ink:focus-visible{background-color:var(--color-light_purple);}
.elementor .card-body{width:100%;padding-block-start:18px;padding-block-end:20px;padding-inline-start:20px;padding-inline-end:20px;display:flex;flex-direction:column;gap:8px;}
.elementor .card-media{width:100%;overflow:hidden;aspect-ratio:4 / 3;padding:0px;background-color:var(--color-light_purple);display:flex;justify-content:center;align-items:center;}
.elementor .card{width:100%;overflow:hidden;padding:0px;border-radius:var(--card-border-radius);border-width:1px;border-color:#e4e3ee;border-style:solid;background-color:var(--White);display:flex;flex-direction:column;}
.elementor .card:hover,.elementor .card:focus-visible{box-shadow:0 12px 32px rgba(84,48,160,.10);transform:translateY(-3px);\n}
.elementor .chip{width:auto;font-family:var(--font-text_body);font-weight:500;font-size:14px;color:var(--color-black);padding-block-start:8px;padding-block-end:8px;padding-inline-start:18px;padding-inline-end:18px;margin:0px;border-radius:40px;border-width:0px;background-color:var(--color-light_purple);display:inline-flex;gap:6px;justify-content:center;align-items:center;}
.elementor .text-body{font-family:var(--font-text_body);font-weight:400;font-size:var(--font_size-body);color:var(--color-grey_text);line-height:1.6;padding:0px;margin:0px;}
.elementor .heading-h2{font-family:var(--font-heading);font-weight:700;font-size:var(--font_size-h2);color:var(--color-black);line-height:1.15;padding:0px;margin:0px;}
.elementor .container{width:100%;max-width:1140px;padding:0px;}
.elementor .section-pad{width:100%;padding-block-start:var(--section-pad-y);padding-block-end:var(--section-pad-y);padding-inline-start:clamp(20px, 4vw, 48px);padding-inline-end:clamp(20px, 4vw, 48px);display:flex;flex-direction:column;align-items:center;}
.elementor .btn-red{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:var(--font_size-box-accent);color:var(--White);padding-block-start:15px;padding-block-end:15px;padding-inline-start:25px;padding-inline-end:25px;margin:0px;border-radius:40px;background-color:var(--color-red);background-clip:border-box;display:flex;flex-direction:row;gap:6px;justify-content:center;align-items:center;}
.elementor .btn-red:hover,.elementor .btn-red:focus-visible{background-color:#d0114e;}
.elementor .card-text_accent{font-family:var(--font-heading);font-weight:600;font-size:14px;color:var(--color-purple);letter-spacing:1px;line-height:16px;text-transform:uppercase;}
.elementor .card-text_body{font-family:var(--font-text_body);font-weight:400;font-size:clamp(0.75rem, 0.0833rem + 3.3333vw, 1rem);color:var(--color-grey_text);line-height:20px;}
.elementor .card-btn_product{width:auto;font-family:var(--font-text_body);font-weight:500;font-size:15px;color:var(--color-purple);padding:5px;background-color:#ffffff00;flex-direction:row;justify-content:flex-start;}
.elementor .form-input{width:100%;height:auto;font-family:var(--font-text_body);font-weight:400;font-size:16px;color:var(--color-black);padding-block-start:12px;padding-block-end:12px;padding-inline-start:16px;padding-inline-end:16px;border-radius:12px;border-width:1px;border-color:var(--border-color);border-style:solid;background-color:var(--White);}
.elementor .form-input:focus{border-color:var(--color-purple);}
.elementor .chip-active{width:auto;font-family:var(--font-text_body);font-weight:500;font-size:14px;color:var(--White);padding-block-start:8px;padding-block-end:8px;padding-inline-start:18px;padding-inline-end:18px;margin:0px;border-radius:40px;border-width:0px;background-color:var(--color-black);display:inline-flex;gap:6px;justify-content:center;align-items:center;}
.elementor .btn-purple{width:auto;height:auto;font-family:var(--font-text_body);font-weight:500;font-size:var(--font_size-box-accent);color:var(--White);padding-block-start:15px;padding-block-end:15px;padding-inline-start:25px;padding-inline-end:25px;margin:0px;border-radius:40px;background-color:var(--color-purple);display:flex;flex-direction:row;gap:6px;justify-content:center;align-items:center;}
.elementor .btn-purple:hover,.elementor .btn-purple:focus-visible{background-color:#46288a;}
.elementor .tile-outline{width:100%;padding-block-start:28px;padding-block-end:28px;padding-inline-start:28px;padding-inline-end:28px;border-radius:var(--card-border-radius);border-width:1px;border-color:#e4e3ee;border-style:solid;background-color:var(--White);display:flex;flex-direction:column;gap:10px;}
.elementor .card-text_heading{font-family:var(--font-heading);font-weight:700;font-size:var(--font_size-box-heading);color:var(--color-black);word-spacing:1px;line-height:28px;}
@media(max-width:767px){.elementor .card-text_accent{font-size:12px;}}

/* =====================================================================================
 * T4b — RESET-LAYER PARITY WITH preview1  (BUILD_PLAN T4b, defect D-19, 2026-09-04)
 * -------------------------------------------------------------------------------------
 * D-19 was reported as "kit 8 declares line-height:1.5em, which inherits as a LENGTH".
 * Re-measured inside the real product markup, that is NOT the cause: on a Kadence page a
 * 14px `.breadcrumb-link` inside `.g3pg` computes line-height 21px — the correct 1.5
 * RATIO — because Kadence re-declares a unitless line-height on the content wrapper, and
 * that beats the kit's em value further down the chain. `.breadcrumb-link` and `.chip`
 * were both measured identical to preview1 with no change at all.
 *
 * The real cause of the residual difference is the RESET layer. preview1 runs Hello /
 * Elementor's `reset.css`, which declares:
 *      label { line-height: 1 }        input { line-height: inherit }
 * Kadence declares neither, so on this site a `label` inherits 24px instead of resolving
 * to 1, and an `<input>` falls back to `normal` (25.6px at 16px).
 *
 * Measured 2026-09-04 at 1440px, target vs preview1, probe inside the real product root:
 *      .variant-option / -active   line-height 24px  vs 15px   ->  height 54px vs 45px
 *      .form-input                 line-height 25.6px vs 24px  ->  height 51.59px vs 50px
 *
 * The values below are preview1's OWN computed values expressed as the ratios that
 * produce them, so they track the font-size instead of freezing a pixel figure. This is
 * matching the approved design, not inventing one.
 *
 * 🔴 Deliberately NOT fixed in kit 8. Adding a reset there is a site-wide edit that would
 * reach every old-design page. This block is inside the product-only stylesheet and is
 * the LAST thing in the file, so it wins at the identical (0,2,0) specificity that
 * Elementor's own output uses — no !important, no added specificity.
 *
 * `.link-inline` needs nothing: it computes text-decoration:none on BOTH sites in its
 * real context, because the PDP template's own inline rule `.elementor.g3pdp-root a`
 * (0,2,1) outranks the class on both. A probe that measures it on a PLP sees `underline`
 * on this site only because that guard rule is absent there — an artefact, not a defect.
 * ===================================================================================== */
.elementor .form-input{line-height:1.5;}
.elementor .variant-option,.elementor .variant-option-active{line-height:1;}
