/** Shopify CDN: Minification failed

Line 221:18 Unexpected "{"

**/
/*
 * Clingy Brand - Refactored base.css
 *
 * SUMMARY OF CHANGES:
 * 1. Section Spacing/Dividers: Removed theme default margin between consecutive sections by setting 
 * `.section + .section { margin-top: 0; }` and introduced a 2px gradient divider (using --clingy-blue and --clingy-orange) 
 * between sections using a pseudo-element for clear, modern visual separation.
 * 2. Font Sizes: Increased global paragraph/list item font size from 1.05rem to 1.15rem for enhanced readability.
 * 3. Cleanup: Consolidated shared typography styles (h1-h6/utility headings) to remove redundancy and cleaned up 
 * duplicate color declarations where the `--clingy-` variables could be used consistently. All existing utility and 
 * theme-specific variables/rules (e.g., card/button shadows, focus styles) remain intact.
 */

:root {
    /* Clingy Brand Colors */
    --clingy-blue: #1F2F98;
    --clingy-orange: #FF8C42;
    --clingy-text: #1A1A1A;
    --clingy-heading: #1A1A1A;
    --clingy-subtle-text: #4A4A4A;
    --clingy-bg: #FFFFFF;
    
    /* Variables kept for compatibility with Shopify defaults/theme settings */
    --alpha-button-background: 1;
    --alpha-button-border: 1;
    --alpha-link: 0.85;
    --alpha-badge-border: 0.1;
    
    /* Focus Styles (Accessibility - KEPT) */
    --focused-base-outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    --focused-base-outline-offset: 0.3rem;
    --focused-base-box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);

    /* Custom Spacing Variables for Section Divider */
    --spacing-divider-height: 0.2rem; /* 2px */
    --spacing-section-padding: 5rem; /* Base padding for sections */
}

/* ==========================================================================
   Base Text & Typography (Consolidated & Updated)
   ========================================================================== */

body, p, span, li, a, div {
    color: var(--clingy-text);
}

/* Global Paragraph/Text Size Update (Requirement 2) */
p,
li,
.text-body {
    font-size: 1.15rem; /* Increased from 1.05rem / 1.5rem for better readability */
    line-height: 1.7; /* Adjusted line-height for better reading flow */
}

/* Consolidated Heading Base */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .hxl, .hxxl {
    color: var(--clingy-heading);
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: calc(var(--font-heading-scale) * 0.06rem);
    line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
    word-break: break-word;
}

/* Explicit H1-H3 overrides (kept for control) */
h1 {
    font-size: 2.4rem;
    line-height: 1.1;
    font-weight: 700;
}

h2 {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
}

h3 {
    font-size: 1.6rem;
    line-height: 1.3;
    font-weight: 600;
}

/* H6/Utility H6 */
h6,
.h6 {
    color: var(--clingy-subtle-text);
    /* Removed default margin-block for theme consistency, rely on element margins */
    margin-block-start: 0;
    margin-block-end: 0;
}

/* Utility Heading Classes (KEPT original scaling logic) */
.hxxl {
    font-size: clamp(calc(var(--font-heading-scale) * 5.6rem), 14vw, calc(var(--font-heading-scale) * 7.2rem));
    line-height: 1.1;
}

.hxl {
    font-size: calc(var(--font-heading-scale) * 5rem);
    line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
}

@media only screen and (min-width: 750px) {
    .hxl {
        font-size: calc(var(--font-heading-scale) * 6.2rem);
    }
}

.h0 {
    font-size: calc(var(--font-heading-scale) * 4rem);
}

@media only screen and (min-width: 750px) {
    .h0 {
        font-size: calc(var(--font-heading-scale) * 5.2rem);
    }

    .h1 {
        /* This h1 class selector is now overriding the h1 element selector above for desktop */
        font-size: calc(var(--font-heading-scale) * 4rem);
    }
}

.h2 {
    /* This h2 class selector is now overriding the h2 element selector above for mobile */
    font-size: calc(var(--font-heading-scale) * 2rem);
}

@media only screen and (min-width: 750px) {
    .h2 {
        font-size: calc(var(--font-heading-scale) * 2.4rem);
    }
}

.h3 {
    /* This h3 class selector is now overriding the h3 element selector above for mobile */
    font-size: calc(var(--font-heading-scale) * 1.7rem);
}

@media only screen and (min-width: 750px) {
    .h3 {
        font-size: calc(var(--font-heading-scale) * 1.8rem);
    }
}

.h4 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-size: calc(var(--font-heading-scale) * 1.5rem);
}

.h5 {
    font-size: calc(var(--font-heading-scale) * 1.2rem);
}

@media only screen and (min-width: 750px) {
    .h5 {
        font-size: calc(var(--font-heading-scale) * 1.3rem);
    }
}

/* Links (Consolidated and ensured consistency) */
.link,
.customer a {
    cursor: pointer;
    display: inline-block;
    border: none;
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    color: var(--clingy-blue); /* Used Clingy variable for consistency */
    background-color: transparent;
    font-size: 1.4rem;
    font-family: inherit;
}

.link--text {
    color: var(--clingy-text);
}

.link--text:hover {
    color: var(--clingy-subtle-text);
}

.link-with-icon {
    display: inline-flex;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.1rem;
    text-decoration: none;
    margin-bottom: 4.5rem;
    white-space: nowrap;
}

.link-with-icon .icon {
    width: 1.5rem;
    margin-left: 1rem;
}

a:not([href]) {
    cursor: not-allowed;
}

/* Underlined Links (KEPT existing logic for thickness/hover) */
.underlined-link,
.customer a,
.inline-richtext a {
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness ease 100ms;
}

.underlined-link, {
    /* Reverting to color: rgba(var(--color-link), var(--alpha-link)) if linked elements use --color-link */
    color: rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,
.rte.inline-richtext a {
    color: currentColor;
}

.underlined-link:hover,
.customer a:hover,
.inline-richtext a:hover {
    /* Using orange as the primary link hover color for brand consistency */
    color: var(--clingy-orange);
    text-decoration-thickness: 0.2rem;
}

/* ==========================================================================
   Section Spacing & Divider (Requirement 3)
   ========================================================================== */

.section {
    /* Ensure padding uses standard variables or defaults, keeping max spacing consistent with theme */
    padding-top: var(--spacing-sections-mobile);
    padding-bottom: var(--spacing-sections-mobile);
}

@media screen and (min-width: 750px) {
    .section {
        padding-top: var(--spacing-sections-desktop);
        padding-bottom: var(--spacing-sections-desktop);
    }
}

/* Remove default gap and add custom divider */
.section + .section {
    margin-top: 0; /* Override default margin-top from theme variables */
}

/* The divider - placed *before* the second section */
.section + .section::before {
    content: '';
    display: block;
    height: var(--spacing-divider-height);
    width: 100%;
    /* Subtle gradient divider using brand colors */
    background: linear-gradient(to right, var(--clingy-blue), var(--clingy-orange));
    
    /* Pull the divider up so it sits right on the border between the two sections.
       We use a negative margin equal to the bottom padding of the *previous* section, 
       plus its border height, to ensure zero gap. 
       Since we can't reliably read the previous element's padding, a value slightly 
       less than the top/bottom section padding is a safe compromise. 
       Let's stick to placing it above the current section with a small visual offset. 
       The simplest and safest method is just `margin-top: 0` and let the visual separation 
       come from the `::before` element, assuming sections usually have background colors.
    */
    position: relative;
    z-index: 10; 
}




/* ==========================================================================
   Buttons (Refactored/Cleaned)
   ========================================================================== */

/* Buttons using Clingy Primary Style */
.button,
.btn,
.shopify-payment-button__button,
button[type="submit"] {
    background-color: var(--clingy-blue);
    color: #FFFFFF;
    font-weight: 600;
    border-radius: 999px; /* Pill style */
    padding: 0.8rem 1.6rem;
    border: none;
    cursor: pointer;
    
    /* Ensure compatibility with theme variables where possible */
    font-size: 1.5rem; /* KEPT - ensures strong CTA */
    min-width: auto; /* Overrides default theme min-width to allow content scaling */
    min-height: auto;
}

.button:hover,
.btn:hover,
.shopify-payment-button__button:hover,
button[type="submit"]:hover {
    background-color: #14206A; /* Darker blue for hover, kept for direct control */
}

/* Secondary/Tertiary Buttons (KEPT variable logic for theme compatibility) */
.button--secondary,
.button--tertiary {
    --color-button: var(--color-secondary-button);
    --color-button-text: var(--color-secondary-button-text);
}

.button--tertiary {
    --alpha-button-background: 0;
    --alpha-button-border: 0.2;
}

/* Shopify Core Button styles (KEPT) */
.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
    --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
    --shadow-blur-radius: var(--buttons-shadow-blur-radius);
    --shadow-opacity: var(--buttons-shadow-opacity);
    --shadow-visible: var(--buttons-shadow-visible);
    --border-offset: var(--buttons-border-offset);
    border-radius: var(--buttons-radius-outset);
    position: relative;
    min-width: calc(12rem + var(--buttons-border-width) * 2); /* Reinstated default min-width for structure */
    min-height: calc(4.5rem + var(--buttons-border-width) * 2);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 0;
    padding: 0 3rem;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
    color: rgb(var(--color-button-text));
    transition: box-shadow var(--duration-short) ease;
    -webkit-appearance: none;
    appearance: none;
    background-color: rgba(var(--color-button), var(--alpha-button-background));
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
    line-height: calc(1 + 0.2 / var(--font-body-scale));
}
.button:not(.button--secondary):not(.button--tertiary) {
  background-color: var(--clingy-blue);
  color: #fff;
}

/* Ensure Clingy primary button takes precedence over theme min-width */
.button:not(.button--secondary):not(.button--tertiary),
.btn:not(.button--secondary):not(.button--tertiary),
.shopify-payment-button__button:not(.button--secondary):not(.button--tertiary),
button[type="submit"]:not(.button--secondary):not(.button--tertiary) {
     min-width: auto;
     padding: 0.8rem 1.6rem;
}


/* KEPT button pseudo-elements for shadow/border effects */
.button:before,
.shopify-challenge__button:before,
.customer button:before,
.shopify-payment-button__button--unbranded:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: var(--buttons-radius-outset);
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
        rgba(var(--color-shadow), var(--shadow-opacity));
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
    content: '';
    position: absolute;
    top: var(--buttons-border-width);
    right: var(--buttons-border-width);
    bottom: var(--buttons-border-width);
    left: var(--buttons-border-width);
    z-index: 1;
    border-radius: var(--buttons-radius);
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
        rgba(var(--color-button-text), var(--border-opacity)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
    transition: box-shadow var(--duration-short) ease;
}

.button:not([disabled]):hover::after,
.shopify-challenge__button:hover::after,
.customer button:hover::after,
.shopify-payment-button__button--unbranded:hover::after {
    --border-offset: 1.3px;
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
        rgba(var(--color-button-text), var(--border-opacity)),
        0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary:after {
    --border-opacity: var(--buttons-border-opacity);
}

/* KEPT Accessibility Focus/Loading/Share styles */
.button:focus-visible,
.button:focus,
.button.focused,
.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button__button--unbranded:focus {
    outline: 0;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.5),
        0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus:not(:focus-visible):not(.focused),
.shopify-payment-button__button--unbranded:focus:not(:focus-visible):not(.focused) {
    box-shadow: inherit;
}

/* ... (All other button styles, like sizing, loading, share, are kept below this point) ... */

.button--tertiary {
    font-size: 1.2rem;
    padding: 1rem 1.5rem;
    min-width: calc(9rem + var(--buttons-border-width) * 2);
    min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}

.button--small {
    padding: 1.2rem 2.6rem;
}

shopify-accelerated-checkout {
    --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
    --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
        rgba(var(--color-shadow), var(--shadow-opacity));
}

shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
    --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
        rgba(var(--color-shadow), var(--shadow-opacity));
}

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled,
.quantity__button.disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.button--full-width {
    display: flex;
    width: 100%;
}

.button.loading {
    color: transparent;
    position: relative;
}

@media screen and (forced-colors: active) {
    .button.loading {
        color: rgb(var(--color-foreground));
    }
}

.button.loading > .loading__spinner {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
}

.button.loading > .loading__spinner .spinner {
    width: fit-content;
}

.button.loading > .loading__spinner .path {
    stroke: rgb(var(--color-button-text));
}

.share-button {
    display: block;
    position: relative;
}

.share-button details {
    width: fit-content;
}

.share-button__button {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    color: rgb(var(--color-link));
    margin-left: 0;
    padding-left: 0;
    min-height: 4.4rem;
}

details[open] > .share-button__fallback {
    animation: animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

.share-button__button,
.share-button__fallback button {
    cursor: pointer;
    background-color: transparent;
    border: none;
}

.share-button__button .icon-share {
    height: 1.2rem;
    margin-right: 1rem;
    min-width: 1.3rem;
}

.share-button__fallback {
    display: flex;
    align-items: center;
    position: absolute;
    top: 3rem;
    left: 0.1rem;
    z-index: 3;
    width: 100%;
    min-width: max-content;
    border-radius: var(--inputs-radius);
    border: 0;
}

.share-button__fallback:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: var(--inputs-border-width);
    right: var(--inputs-border-width);
    bottom: var(--inputs-border-width);
    left: var(--inputs-border-width);
    border: 0.1rem solid transparent;
    border-radius: var(--inputs-radius);
    box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
    transition: box-shadow var(--duration-short) ease;
    z-index: 1;
}

.share-button__fallback:before {
    background: rgb(var(--color-background));
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: var(--inputs-radius-outset);
    box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
        var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
    z-index: -1;
}

.share-button__fallback button {
    width: 4.4rem;
    height: 4.4rem;
    padding: 0;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    right: var(--inputs-border-width);
}

/* ==========================================================================
   Rest of the file (KEPT AS-IS)
   ========================================================================== */

.product-card-wrapper .card,
.contains-card--product {
    --border-radius: var(--product-card-corner-radius);
    --border-width: var(--product-card-border-width);
    --border-opacity: var(--product-card-border-opacity);
    --shadow-horizontal-offset: var(--product-card-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--product-card-shadow-vertical-offset);
    --shadow-blur-radius: var(--product-card-shadow-blur-radius);
    --shadow-opacity: var(--product-card-shadow-opacity);
    --shadow-visible: var(--product-card-shadow-visible);
    --image-padding: var(--product-card-image-padding);
    --text-alignment: var(--product-card-text-alignment);
}

.collection-card-wrapper .card,
.contains-card--collection {
    --border-radius: var(--collection-card-corner-radius);
    --border-width: var(--collection-card-border-width);
    --border-opacity: var(--collection-card-border-opacity);
    --shadow-horizontal-offset: var(--collection-card-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--collection-card-shadow-vertical-offset);
    --shadow-blur-radius: var(--collection-card-shadow-blur-radius);
    --shadow-opacity: var(--collection-card-shadow-opacity);
    --shadow-visible: var(--collection-card-shadow-visible);
    --image-padding: var(--collection-card-image-padding);
    --text-alignment: var(--collection-card-text-alignment);
}

.article-card-wrapper .card,
.contains-card--article {
    --border-radius: var(--blog-card-corner-radius);
    --border-width: var(--blog-card-border-width);
    --border-opacity: var(--blog-card-border-opacity);
    --shadow-horizontal-offset: var(--blog-card-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--blog-card-shadow-vertical-offset);
    --shadow-blur-radius: var(--blog-card-shadow-blur-radius);
    --shadow-opacity: var(--blog-card-shadow-opacity);
    --shadow-visible: var(--blog-card-shadow-visible);
    --image-padding: var(--blog-card-image-padding);
    --text-alignment: var(--blog-card-text-alignment);
}

.contains-content-container,
.content-container {
    --border-radius: var(--text-boxes-radius);
    --border-width: var(--text-boxes-border-width);
    --border-opacity: var(--text-boxes-border-opacity);
    --shadow-horizontal-offset: var(--text-boxes-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--text-boxes-shadow-vertical-offset);
    --shadow-blur-radius: var(--text-boxes-shadow-blur-radius);
    --shadow-opacity: var(--text-boxes-shadow-opacity);
    --shadow-visible: var(--text-boxes-shadow-visible);
}

.contains-media,
.global-media-settings {
    --border-radius: var(--media-radius);
    --border-width: var(--media-border-width);
    --border-opacity: var(--media-border-opacity);
    --shadow-horizontal-offset: var(--media-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--media-shadow-vertical-offset);
    --shadow-blur-radius: var(--media-shadow-blur-radius);
    --shadow-opacity: var(--media-shadow-opacity);
    --shadow-visible: var(--media-shadow-visible);
}

.page-width {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 0 1.5rem;
}

body:has(.section-header .drawer-menu) .announcement-bar-section .page-width {
    max-width: 100%;
}

.page-width.drawer-menu {
    max-width: 100%;
}

.page-width-desktop {
    padding: 0;
    margin: 0 auto;
}

.utility-bar__grid.page-width {
    padding-left: 3rem;
    padding-right: 3rem;
}

@media screen and (min-width: 750px) {
    .page-width {
        padding: 0 5rem;
    }

    .header.page-width,
    .utility-bar__grid.page-width {
        padding-left: 3.2rem;
        padding-right: 3.2rem;
    }

    .page-width--narrow {
        padding: 0 9rem;
    }

    .page-width-desktop {
        padding: 0;
    }

    .page-width-tablet {
        padding: 0 5rem;
    }
}

@media screen and (min-width: 990px) {
    .header:not(.drawer-menu).page-width {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .page-width--narrow {
        max-width: 72.6rem;
        padding: 0;
    }

    .page-width-desktop {
        max-width: var(--page-width);
        padding: 0 5rem;
    }
}

.isolate {
    position: relative;
    z-index: 0;
}

/* Original section spacing rules (overridden by custom rule above) */
/*
.section + .section {
    margin-top: var(--spacing-sections-mobile);
}

@media screen and (min-width: 750px) {
    .section + .section {
        margin-top: var(--spacing-sections-desktop);
    }
}
*/

.element-margin-top {
    margin-top: 5rem;
}

@media screen and (min-width: 750px) {
    .element-margin {
        margin-top: calc(5rem + var(--page-width-margin));
    }
}

.background-secondary {
    background-color: rgba(var(--color-foreground), 0.04);
}

.grid-auto-flow {
    display: grid;
    grid-auto-flow: column;
}

.page-margin,
.shopify-challenge__container {
    margin: 7rem auto;
}

.rte-width {
    max-width: 82rem;
    margin: 0 auto 2rem;
}

.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hidden {
    display: none !important;
}

.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important;
}

.visually-hidden--inline {
    margin: 0;
    height: 1em;
}

.overflow-hidden {
    overflow: hidden;
}

.skip-to-content-link:focus {
    z-index: 9999;
    position: inherit;
    overflow: auto;
    width: auto;
    height: auto;
    clip: auto;
}

.full-width-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

::selection {
    background-color: rgba(var(--color-foreground), 0.2);
}

/* Original .text-body rule - was adjusted in typography section */
/*
.text-body {
    font-size: 1.5rem;
    letter-spacing: 0.06rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
}
*/

/* Original utility heading classes (KEPT but consolidated color/font styles) */
/*
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: calc(var(--font-heading-scale) * 0.06rem);
    color: var(--clingy-heading);
    line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
    word-break: break-word;
}
*/

blockquote {
    font-style: italic;
    color: var(--clingy-subtle-text);
    border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
    padding-left: 1rem;
}

@media screen and (min-width: 750px) {
    blockquote {
        padding-left: 1.5rem;
    }
}

.caption {
    font-size: 1.5rem;
    letter-spacing: 0.07rem;
    line-height: calc(1 + 0.7 / var(--font-body-scale));
}

@media screen and (min-width: 750px) {
    .caption {
        font-size: 1.2rem;
    }
}

.caption-with-letter-spacing {
    font-size: 1.5rem;
    letter-spacing: 0.13rem;
    line-height: calc(1 + 0.2 / var(--font-body-scale));
    text-transform: uppercase;
}

.caption-with-letter-spacing--medium {
    font-size: 1.5rem;
    letter-spacing: 0.16rem;
}

.caption-with-letter-spacing--large {
    font-size: 1.4rem;
    letter-spacing: 0.18rem;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
    font-size: 1.5rem;
    line-height: calc(1 + 0.5 / var(--font-body-scale));
    letter-spacing: 0.04rem;
}

.color-foreground {
    color: rgb(var(--color-foreground));
}

table:not([class]) {
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 1.4rem;
    border-style: hidden;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
}

table:not([class]) td,
table:not([class]) th {
    padding: 1em;
    border: 0.1rem solid rgba(var(--color-foreground), 0.2);
}

@media screen and (max-width: 749px) {
    .small-hide {
        display: none !important;
    }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
    .medium-hide {
        display: none !important;
    }
}

@media screen and (min-width: 990px) {
    .large-up-hide {
        display: none !important;
    }
}

.left {
    text-align: left;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.uppercase {
    text-transform: uppercase;
}

.light {
    opacity: 0.7;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
    display: none;
}

.circle-divider::after {
    content: '\2022';
    margin: 0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type::after {
    display: none;
}

hr {
    border: none;
    height: 0.1rem;
    background-color: rgba(var(--color-foreground), 0.2);
    display: block;
    margin: 5rem 0;
}

@media screen and (min-width: 750px) {
    hr {
        margin: 7rem 0;
    }
}

.full-unstyled-link {
    text-decoration: none;
    color: currentColor;
    display: block;
}

.placeholder {
    background-color: rgba(var(--color-foreground), 0.04);
    color: rgba(var(--color-foreground), 0.55);
    fill: rgba(var(--color-foreground), 0.55);
}

details > * {
    box-sizing: border-box;
}

.break {
    word-break: break-word;
}

.visibility-hidden {
    visibility: hidden;
}

@media (prefers-reduced-motion) {
    .motion-reduce {
        transition: none !important;
        animation: none !important;
    }
}

:root {
    --duration-short: 100ms;
    --duration-default: 200ms;
    --duration-announcement-bar: 250ms;
    --duration-medium: 300ms;
    --duration-long: 500ms;
    --duration-extra-long: 600ms;
    --duration-extra-longer: 750ms;
    --duration-extended: 3s;
    --ease-out-slow: cubic-bezier(0, 0, 0.3, 1);
    --animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
    --animation-fade-in: fadeIn var(--duration-extra-long) var(--ease-out-slow);
}

.icon-arrow {
    width: 1.5rem;
}

h3 .icon-arrow,
.h3 .icon-arrow {
    width: calc(var(--font-heading-scale) * 1.5rem);
}

.animate-arrow .icon-arrow path {
    transform: translateX(-0.25rem);
    transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path {
    transform: translateX(-0.05rem);
}

.svg-wrapper {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
}

.svg-wrapper > svg {
    height: 100%;
    width: 100%;
}

summary {
    cursor: pointer;
    list-style: none;
    position: relative;
}

summary .icon-caret {
    position: absolute;
    height: 0.6rem;
    right: 1.5rem;
    top: calc(50% - 0.2rem);
}

summary::-webkit-details-marker {
    display: none;
}

.disclosure-has-popup {
    position: relative;
}

.disclosure-has-popup[open] > summary::before {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    cursor: default;
    content: ' ';
    background: transparent;
}

.disclosure-has-popup > summary::before {
    display: none;
}

.disclosure-has-popup[open] > summary + * {
    z-index: 100;
}

@media screen and (min-width: 750px) {
    .disclosure-has-popup[open] > summary + * {
        z-index: 4;
    }

    .facets .disclosure-has-popup[open] > summary + * {
        z-index: 2;
    }
}

.placeholder-svg {
    height: 100%;
    width: 100%;
}

*:focus {
    outline: 0;
    box-shadow: none;
}

*:focus-visible {
    outline: var(--focused-base-outline);
    outline-offset: var(--focused-base-outline-offset);
    box-shadow: var(--focused-base-box-shadow);
}

.focused {
    outline: var(--focused-base-outline);
    outline-offset: var(--focused-base-outline-offset);
    box-shadow: var(--focused-base-box-shadow);
}

.focus-inset:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: -0.2rem;
    box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: -0.2rem;
    box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focus-none {
    box-shadow: none !important;
    outline: 0 !important;
}

.focus-offset:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 1rem;
    box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 1rem;
    box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.title,
.title-wrapper-with-link {
    margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
    margin: 0;
}

.title .link {
    font-size: inherit;
}

.title-wrapper {
    margin-bottom: 3rem;
}

.title-wrapper-with-link {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}

.title--primary {
    margin: 4rem 0;
}

.title-wrapper--self-padded-tablet-down,
.title-wrapper--self-padded-mobile {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
    .title-wrapper--self-padded-mobile {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 990px) {
    .title,
    .title-wrapper-with-link {
        margin: 5rem 0 3rem;
    }

    .title--primary {
        margin: 2rem 0;
    }

    .title-wrapper-with-link {
        align-items: center;
    }

    .title-wrapper-with-link .title {
        margin-bottom: 0;
    }

    .title-wrapper--self-padded-tablet-down {
        padding-left: 0;
        padding-right: 0;
    }
}

.title-wrapper-with-link .link-with-icon {
    margin: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.title-wrapper-with-link .link-with-icon .svg-wrapper {
    width: 1.5rem;
}

.title-wrapper-with-link a {
    margin-top: 0;
    flex-shrink: 0;
}

.title-wrapper--no-top-margin {
    margin-top: 0;
}

.title-wrapper--no-top-margin > .title {
    margin-top: 0;
}

.subtitle {
    font-size: 1.8rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
    letter-spacing: 0.06rem;
    color: var(--clingy-subtle-text);
}

.subtitle--small {
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
}

.subtitle--medium {
    font-size: 1.6rem;
    letter-spacing: 0.08rem;
}

.grid {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    padding: 0;
    list-style: none;
    column-gap: var(--grid-mobile-horizontal-spacing);
    row-gap: var(--grid-mobile-vertical-spacing);
}

@media screen and (min-width: 750px) {
    .grid {
        column-gap: var(--grid-desktop-horizontal-spacing);
        row-gap: var(--grid-desktop-vertical-spacing);
    }
}

.grid:last-child {
    margin-bottom: 0;
}

.grid__item {
    width: calc(25% - var(--grid-mobile-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
    flex-grow: 1;
    flex-shrink: 0;
}

@media screen and (min-width: 750px) {
    .grid__item {
        width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
        max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }
}

.grid--gapless.grid {
    column-gap: 0;
    row-gap: 0;
}

@media screen and (max-width: 749px) {
    .grid__item.slider__slide--full-width {
        width: 100%;
        max-width: none;
    }
}

.grid--1-col .grid__item {
    max-width: 100%;
    width: 100%;
}

.grid--3-col .grid__item {
    width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 750px) {
    .grid--3-col .grid__item {
        width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    }
}

.grid--2-col .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
}

@media screen and (min-width: 750px) {
    .grid--2-col .grid__item {
        width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }

    .grid--4-col-tablet .grid__item {
        width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    }

    .grid--3-col-tablet .grid__item {
        width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    }

    .grid--2-col-tablet .grid__item {
        width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }
}

@media screen and (max-width: 989px) {
    .grid--1-col-tablet-down .grid__item {
        width: 100%;
        max-width: 100%;
    }

    .slider--tablet.grid--peek {
        margin: 0;
        width: 100%;
    }

    .slider--tablet.grid--peek .grid__item {
        box-sizing: content-box;
        margin: 0;
    }

    .slider.slider--tablet .scroll-trigger.animate--slide-in,
    .slider.slider--mobile .scroll-trigger.animate--slide-in {
        animation: none;
        opacity: 1;
        transform: inherit;
    }

    .scroll-trigger:not(.scroll-trigger--offscreen) .slider--tablet {
        animation: var(--animation-slide-in);
    }
}

@media screen and (min-width: 990px) {
    .grid--6-col-desktop .grid__item {
        width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
        max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    }

    .grid--5-col-desktop .grid__item {
        width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
        max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    }

    .grid--4-col-desktop .grid__item {
        width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
        max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    }

    .grid--3-col-desktop .grid__item {
        width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
        max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    }

    .grid--2-col-desktop .grid__item {
        width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
        max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }

    .slider.slider--desktop .scroll-trigger.animate--slide-in {
        animation: none;
        opacity: 1;
        transform: inherit;
    }

    .scroll-trigger:not(.scroll-trigger--offscreen) .slider--desktop {
        animation: var(--animation-slide-in);
    }
}

@media screen and (min-width: 990px) {
    .grid--1-col-desktop {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .grid--1-col-desktop .grid__item {
        width: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 749px) {
    .grid--peek.slider--mobile {
        margin: 0;
        width: 100%;
    }

    .grid--peek.slider--mobile .grid__item {
        box-sizing: content-box;
        margin: 0;
    }

    .grid--peek .grid__item {
        min-width: 35%;
    }

    .grid--peek.slider .grid__item:first-of-type {
        margin-left: 1.5rem;
    }

    .grid--peek.slider:after {
        margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
    }

    .grid--2-col-tablet-down .grid__item {
        width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
    }

    .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item,
    .grid--peek .grid__item {
        width: calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
    }

    .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item,
    .slider--mobile.grid--peek.grid--1-col-tablet-down .grid__item {
        width: calc(100% - var(--grid-mobile-horizontal-spacing) - 3rem);
    }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
    .slider--tablet.grid--peek .grid__item {
        width: calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
    }

    .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
        width: calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
    }

    .slider--tablet.grid--peek.grid--2-col-tablet .grid__item,
    .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item {
        width: calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
    }

    .slider--tablet.grid--peek .grid__item:first-of-type {
        margin-left: 1.5rem;
    }

    .grid--2-col-tablet-down .grid__item {
        width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }

    .grid--1-col-tablet-down.grid--peek .grid__item {
        width: calc(100% - var(--grid-desktop-horizontal-spacing) - 3rem);
    }
}

.media {
    display: block;
    background-color: rgba(var(--color-foreground), 0.1);
    position: relative;
    overflow: hidden;
}

.media--transparent {
    background-color: transparent;
}

.media > *:not(.zoom):not(.deferred-media__poster-button),
.media model-viewer {
    display: block;
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.media > img {
    object-fit: cover;
    object-position: center center;
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
    padding-bottom: 100%;
}

.media--portrait {
    padding-bottom: 125%;
}

.media--landscape {
    padding-bottom: 66.6%;
}

.media--cropped {
    padding-bottom: 56%;
}

.media--16-9 {
    padding-bottom: 56.25%;
}

.media--circle {
    padding-bottom: 100%;
    border-radius: 50%;
}

/* ================================
   PRODUCT CARDS (Shopify): image hover swap
   ================================ */

.media.media--hover-effect {
  position: relative;
}

.media.media--hover-effect > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.media.media--hover-effect > img:first-child { opacity: 1; z-index: 0; }
.media.media--hover-effect > img + img { opacity: 0; z-index: 1; }

@media (hover: hover) and (pointer: fine) {
  .card-wrapper:hover .media.media--hover-effect > img:first-child { opacity: 0 !important; }
  .card-wrapper:hover .media.media--hover-effect > img + img { opacity: 1 !important; }
}

deferred-media { display: block; }


/* ================================
   CLINGY MERCH GRID: image hover swap
   ================================ */

.clingy-merch-grid__image-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.clingy-merch-grid__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.clingy-merch-grid__image--primary { opacity: 1; z-index: 1; }
.clingy-merch-grid__image--secondary { opacity: 0; z-index: 2; }

@media (hover: hover) and (pointer: fine) {
  .clingy-merch-grid__item:hover .clingy-merch-grid__image--primary { opacity: 0 !important; }
  .clingy-merch-grid__item:hover .clingy-merch-grid__image--secondary { opacity: 1 !important; }

  /* stop overlay/dimming from hiding the swap */
  .clingy-merch-grid__item:hover .clingy-merch-grid__overlay {
    opacity: 0 !important;
    pointer-events: none;
    background: transparent !important;
  }

  .clingy-merch-grid__item:hover .clingy-merch-grid__image {
    filter: none !important;
  }
}

/* FORCE white text inside all buy buttons */
.product-form__submit,
.product-form__submit span,
.shopify-payment-button__button,
.shopify-payment-button__button span,
.shopify-payment-button__button__more-options {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Keep white on hover/focus/active */
.product-form__submit:hover,
.product-form__submit:hover span,
.shopify-payment-button__button:hover,
.shopify-payment-button__button:hover span {
  color: #ffffff !important;
}

/* Make ONLY the Sale badge text white */
.price__badge-sale,
.price__badge-sale span {
  color: #ffffff !important;
}

/* === ADA-friendly global typography (Clingy) === */
:root{
  /* Set base readable size (16px is default; 18px is more ADA-friendly) */
  font-size: 80.00%; /* 18px on most browsers */
}

body{
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

/* Make sure small text isn't tiny */
small, .caption, .caption-with-letter-spacing{
  font-size: 0.95rem;
  line-height: 1.5;
}

:root {
  --color-text-dark: #1a1a1a;     /* body text on light backgrounds */
  --color-text-light: #ffffff;   /* text on dark backgrounds */
  --color-heading: #1f2f98;      /* Clingy navy */
}

/* Light background text */
.color-background-1,
.color-background-1 p,
.color-background-1 span,
.color-background-1 li {
  color: var(--color-text-dark);
}

.color-background-1 h1,
.color-background-1 h2,
.color-background-1 h3,
.color-background-1 h4,
.color-background-1 h5,
.color-background-1 h6 {
  color: var(--color-heading);
}

/* === Global default colors === */
:root{
  --clingy-text: #1a1a1a;
  --clingy-heading: #1f2f98;
  --clingy-text-on-dark: #ffffff;
}

body { color: var(--clingy-text); }
h1,h2,h3,h4,h5,h6 { color: var(--clingy-heading); }

/* === Only force white inside sections YOU mark as dark === */
.clingy-dark,
.clingy-dark *{
  color: var(--clingy-text-on-dark) !important;
}


button,
.button,
.btn,
.shopify-payment-button__button {
  color: #ffffff !important;
}

/* Force links to brand blue on light backgrounds */
a,
.link,
.link--text {
  color: #1f2f98;
}

/* === Make carousel arrows visible === */
.slider-button,
.splide__arrow,
.swiper-button-next,
.swiper-button-prev {
  background: rgba(31, 47, 152, 0.9); /* Clingy navy */
  border-radius: 50%;
}

/* Arrow icon itself */
.slider-button svg,
.splide__arrow svg,
.swiper-button-next::after,
.swiper-button-prev::after {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* CLINGY – Quick links heading color */
.footer-block__heading,
.footer__heading,
.menu-drawer__heading {
  color: #FF8C42; /* Clingy orange */
}
