/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
html, body {
    overflow-x: hidden;
}
/*====================================*/
/*===== SECT: GLOBAL VARIABLES  =====*/
/*==================================*/
:root {
    /*-----------------
       Font Family
   ----------------*/
    --ff-base: "Inter", system-ui, ui-sans-serif, -apple-system,
    "Segoe UI", Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
    /*------------------
      Font Size Tokens
    -------------=----*/
    --lh-base: 1.6;
    --lh-compact: 1.45;
    /* Small Scale UI (rem reported to 16px) */
    --fs-2xs: 0.75rem; /* 12px */
    --fs-xs: clamp(0.8125rem, 0.78rem + 0.20vw, 0.875rem); /* ~13 px */
    --fs-sm: clamp(0.875rem, 0.84rem + 0.20vw, 0.9375rem); /* ~14 px */
    --fs-base: clamp(1rem, 0.96rem + 0.20vw, 1.0625rem); /* ~16 px */
    --fs-md: clamp(1.0625rem, 1.02rem + 0.25vw, 1.125rem); /* ~17 px */
    --fs-lg: clamp(1.125rem, 1.06rem + 0.35vw, 1.25rem); /* ~18 px */
    /* Fixed font sizes */
    --fs-15: 0.9375rem; /* 15px */
    --fs-16: 1rem; /* 16px */
    --fs-17: 1.0625rem; /* 17px */
    /*-------------
      Font weights
    -------------*/
    --fw-regular: 400;
    --fw-medium: 500; /* labels, headings, captions */
    --fw-semibold: 600;
    --fw-bold: 700;
    /*-----------------
      Border Radius
    ------------------*/
    --radius-base: 3px; /* buttons, inputs */
    --radius-card: 6px; /* cards / boxes */
    --radius-modal: 12px; /* modals / large panels */
    --radius-table: 0px; /* tables / dense listings */
    --radius-pill: 9999px; /* "pill"-type badges */
    /*-------------
      Base palette
    -------------*/
    --c-indigo-500: #4c6ef5; /* primary brand */
    --c-indigo-900: #1e3a8a; /* depth/accents */
    --c-teal-500: #38b27f; /* success */
    --c-amber-500: #f59e0b; /* warning */
    --c-ink-900: #0b1220; /* main text */
    --c-slate-500: #6b7280; /* secondary text */
    --c-base-0: #ffffff; /* main background */
    --c-sand-100: #e8e1da; /* alternative background 1 */
    --c-soft-ice-blue: #F5F7FE; /* alternative background 2 */
    --c-black: #000000; /* utility */
    --c-red-600: #dc2626; /* on surface error text */
    /*---------------
      Semantic Tokens
    ---------------*/
    --color-primary: var(--c-indigo-500);
    --color-primary-strong: var(--c-indigo-900);
    --color-success: var(--c-teal-500);
    --color-warning: var(--c-amber-500);
    --text-primary: var(--c-ink-900);
    --text-secondary: var(--c-slate-500);
    --bg-page: var(--c-base-0);
    --bg-subtle: var(--c-sand-100);
    --bg-utilities: var(--c-black);
    --bg-icons-active-focus: var(--c-soft-ice-blue);
    /*-----------------------
       Component: Form Fields
     ------------------------*/
    --field-dropdowns: color-mix(in oklab, var(--text-primary) 75%, white);
    /*---------------------------
      Derived (without fallbacks)
    ----------------------------*/
    --action-primary-bg: var(--color-primary);
    --action-primary-text: #fff;
    --action-primary-bg-hover: color-mix(in oklab, var(--color-primary) 80%, black);
    --action-primary-bg-active: color-mix(in oklab, var(--color-primary) 88%, black);
    --link: var(--color-primary);
    --link-hover: color-mix(in oklab, var(--link) 80%, black);
    --link-visited: var(--color-primary-strong);
    --surface-info: var(--c-soft-ice-blue);
    --surface-success: color-mix(in oklab, var(--color-success) 12%, white);
    --surface-warning: color-mix(in oklab, var(--color-warning) 30%, white);
    --on-surface-success: var(--color-success);
    --on-surface-warning: var(--color-warning);
    --on-surface-error: var(--c-red-600);
    /*-----------------
      Border Colors
      --------------*/
    /* Borders */
    --border-subtle: rgba(0, 0, 0, 0.08); /* separators, dividers */
    --border-strong: rgba(0, 0, 0, 0.15); /* cards, panels */
    --border-accent: var(--c-indigo-500); /* active/hover states */
    --border-white: rgba(255, 255, 255, 0.15); /* cards, panels */
    /*------------
      Box Shadows
    ------------*/
    --shadow-subtle: 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-card: 0 2px 4px rgba(0, 0, 0, 0.08);
    --shadow-modal: 0 6px 18px rgba(0, 0, 0, 0.15);
}
/*================================*/
/*===== SECT: TOPOPGRAPHY  =====*/
html {
    font-size: 100%;
}
body {
    font-family: "Inter", system-ui, ui-sans-serif, -apple-system, "Segoe UI", Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "locl" 1;
    font-size: var(--fs-base);
    line-height: var(--lh-base);
}
/* Micro-texte & elemente uzuale */
p, li, dd, dt {
    font-size: inherit;
}
small, .caption, .meta, .helptext {
    font-size: var(--fs-xs);
    line-height: 1.5;
}
.fine-print {
    font-size: var(--fs-2xs);
    line-height: 1.45;
}
/*============================*/
/*===== SECT: HEADINGS  =====*/
/*==========================*/
:root {
    --lh-h1: 1.12;
    --lh-h2: 1.16;
    --lh-h3: 1.20;
    --lh-h4: 1.24;
}
h1, h2, h3, h4, h5, h6,
.entry-header .entry-title,
.page-title,
.wp-block-post-title {
    font-family: "Roboto Slab", ui-serif, "New York", Georgia, "Times New Roman", Times, serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--c-indigo-900);
    font-feature-settings: "locl" 1;
}
.entry-header .entry-title,
.page-title,
.wp-block-post-title {
    overflow-wrap: anywhere;
    hyphens: auto;
}
@media (min-width: 1320px) {
    h1, .entry-header .entry-title, .page-title, .wp-block-post-title {
        font-size: 3.0rem;
        line-height: var(--lh-h1);
        font-weight: 700;
    }
    h2 {
        font-size: 2.40rem;
        line-height: var(--lh-h2);
        font-weight: 600;
    }
    h3 {
        font-size: 1.85rem;
        line-height: var(--lh-h3);
        font-weight: 600;
    }
    h4 {
        font-size: 1.60rem;
        line-height: var(--lh-h4);
        font-weight: 600;
    }
    h5 {
        font-size: 1.35rem;
        line-height: var(--lh-h4);
        font-weight: 600;
    }
    h6 {
        font-size: 1.15rem;
        line-height: var(--lh-h4);
        font-weight: 600;
    }
}
@media (min-width: 1024px) and (max-width: 1319px) {
    h1, .entry-header .entry-title, .page-title, .wp-block-post-title {
        font-size: clamp(2.50rem, 1.6rem + 1.0vw, 3.0rem);
        line-height: var(--lh-h1);
        font-weight: 700;
    }
    h2 {
        font-size: clamp(2.05rem, 1.3rem + 0.7vw, 2.40rem);
        line-height: var(--lh-h2);
    }
    h3 {
        font-size: clamp(1.65rem, 1.1rem + 0.5vw, 1.85rem);
        line-height: var(--lh-h3);
    }
    h4 {
        font-size: clamp(1.40rem, 1.0rem + 0.4vw, 1.60rem);
        line-height: var(--lh-h4);
    }
    h5 {
        font-size: clamp(1.20rem, 0.9rem + 0.3vw, 1.35rem);
        line-height: var(--lh-h4);
    }
    h6 {
        font-size: clamp(1.00rem, 0.85rem + 0.2vw, 1.15rem);
        line-height: var(--lh-h4);
    }
}
@media (min-width: 768px) and (max-width: 1023px) {
    h1, .entry-header .entry-title, .page-title, .wp-block-post-title {
        font-size: clamp(2.20rem, 5.2vw, 2.80rem);
        line-height: var(--lh-h1);
        font-weight: 700;
    }
    h2 {
        font-size: clamp(1.80rem, 4.8vw, 2.20rem);
        line-height: var(--lh-h2);
    }
    h3 {
        font-size: clamp(1.50rem, 4.3vw, 1.80rem);
        line-height: var(--lh-h3);
    }
    h4 {
        font-size: clamp(1.30rem, 4.0vw, 1.60rem);
        line-height: var(--lh-h4);
    }
    h5 {
        font-size: clamp(1.15rem, 3.6vw, 1.35rem);
        line-height: var(--lh-h4);
    }
    h6 {
        font-size: clamp(1.00rem, 3.2vw, 1.20rem);
        line-height: var(--lh-h4);
    }
}
@media (min-width: 480px) and (max-width: 767px) {
    h1, .entry-header .entry-title, .page-title, .wp-block-post-title {
        font-size: clamp(1.80rem, 6.8vw, 2.20rem);
        line-height: 1.12;
        font-weight: 700;
    }
    h2 {
        font-size: clamp(1.60rem, 6.2vw, 1.90rem);
        line-height: 1.18;
    }
    h3 {
        font-size: clamp(1.35rem, 5.6vw, 1.60rem);
        line-height: 1.22;
    }
    h4 {
        font-size: clamp(1.20rem, 5.0vw, 1.45rem);
        line-height: 1.26;
    }
    h5 {
        font-size: clamp(1.05rem, 4.6vw, 1.25rem);
        line-height: 1.26;
    }
    h6 {
        font-size: clamp(1.00rem, 4.2vw, 1.10rem);
        line-height: 1.26;
    }
}
@media (max-width: 479px) {
    h1, .entry-header .entry-title, .page-title, .wp-block-post-title {
        font-size: clamp(1.50rem, 9.0vw, 1.90rem);
        line-height: 1.12;
        font-weight: 700;
    }
    h2 {
        font-size: clamp(1.35rem, 8.5vw, 1.70rem);
        line-height: 1.18;
    }
    h3 {
        font-size: clamp(1.20rem, 8.0vw, 1.45rem);
        line-height: 1.22;
    }
    h4 {
        font-size: clamp(1.05rem, 7.5vw, 1.30rem);
        line-height: 1.26;
    }
    h5 {
        font-size: clamp(0.95rem, 7.0vw, 1.15rem);
        line-height: 1.26;
    }
    h6 {
        font-size: clamp(1.00rem, 6.5vw, 1.05rem);
        line-height: 1.26;
    }
}
/*----------------
    EXCEPTIONS
----------------*/
@media (min-width: 1320px) {
    .alert-warning.prose h1,
    .alert-info.prose h1,
    .alert-success.prose h1 {
        font-size: 2.40rem;
        line-height: var(--lh-h2);
        font-weight: 600;
    }
}
@media (min-width: 1024px) and (max-width: 1319px) {
    .alert-warning.prose h1,
    .alert-info.prose h1,
    .alert-success.prose h1 {
        font-size: clamp(2.05rem, 1.3rem + 0.7vw, 2.40rem);
        line-height: var(--lh-h2);
    }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .alert-warning.prose h1,
    .alert-info.prose h1,
    .alert-success.prose h1 {
        font-size: clamp(1.80rem, 4.8vw, 2.20rem);
        line-height: var(--lh-h2);
    }
}
@media (min-width: 480px) and (max-width: 767px) {
    .alert-warning.prose h1,
    .alert-info.prose h1,
    .alert-success.prose h1 {
        font-size: clamp(1.60rem, 6.2vw, 1.90rem);
        line-height: 1.18;
    }
}
@media (max-width: 479px) {
    .alert-warning.prose h1,
    .alert-info.prose h1,
    .alert-success.prose h1 {
        font-size: clamp(1.35rem, 8.5vw, 1.70rem);
        line-height: 1.18;
    }
}
/*=== Hero  "full-bleed" band H1 ===*/
.full-bleed .content-inner .display-hero {
    font-size: clamp(2.2rem, 3.2vw, 3.8rem);
    line-height: 1.08;
    letter-spacing: -0.012em;
}
/*==========================*/
/*===== SECT: LAYOUT  =====*/
/*========================*/
*, *::before, *::after {
    box-sizing: border-box;
}
:root {
    --container-max: 1320px; /* inner column max */
    --gutter: clamp(16px, 4vw, 56px); /* page gutters */
    --gutter-mobile: 14px; /* gutters under 768px */
    --content-pad: clamp(16px, 2.5vw, 40px); /* default inset */
    --content-pad-mobile: 12px; /* inset under 768px */
    --prose-max: 72ch;
}
body {
    overflow-x: clip;
}
.qs-container,
.full-bleed .content-inner {
    inline-size: min(var(--container-max), calc(100% - 2 * var(--gutter)));
    /* Spacing between the menu and the page H1 titles */
    padding-block-start: clamp(1.5rem, 4vw, 3rem);
}
/* If on GeneratePress (or similar), kill theme padding so we control keylines */
.separate-containers .inside-article,
.one-container .site-content .content-area {
    padding-inline: 0;
}
/* 1) Standard section container (width-locked; gutters via width calc) */
.qs-container {
    width: min(var(--container-max), calc(100% - 2 * var(--gutter)));
    margin-inline: auto;
    /* debug */
    /* border: 1px solid blue;  */
}
/* 2) Optional inner inset so content isn't full-width inside 1320px */
.qs-inset {
    padding-inline: var(--content-pad);
    /*debug green*/
    /* border: 1px solid green !important; */
}
/* 3) Full-bleed band that exits the keylines; inner content stays aligned */
.full-bleed {
    width: 100vw; /* fallback */
    width: 100dvw; /* modern (avoids scrollbar width) */
    margin-inline: calc(50% - 50vw); /* fallback */
    margin-inline: calc(50% - 50dvw);
}
.full-bleed .content-inner {
    width: min(var(--container-max), calc(100% - 2 * var(--gutter)));
    margin-inline: auto;
    /* debug */
    /* border: 1px solid blue;   */
}
.prose {
    max-width: var(--prose-max);
    margin-inline: auto;
}
/* --------------------------------
   Overrides: Tight & Loose
   --------------------------------- */
/* Special tighter inset */
.qs-inset-tight {
    --content-pad: clamp(12px, 2vw, 28px);
    /*debug*/
    /* border: 1px solid green !important;  */
}
/* Special looser inset */
.qs-inset-loose {
    --content-pad: clamp(24px, 4vw, 64px);
    /* removed mobile zero so it aligns on mobile */
    border: 1px solid orange !important; /*debug*/
}
@media (max-width: 1024px) {
    .qs-container,
    .full-bleed .content-inner {
        padding-block-start: 0;
    }
    body:not(.front-page):not(.home) .qs-container,
    body:not(.front-page):not(.home) .full-bleed .content-inner {
        padding-block-start: 1rem;
    }
}
@media (max-width: 768px) {
    :root {
        --gutter-mobile: 14px;
        --content-pad-mobile: 12px;
    }
    .qs-container,
    .full-bleed .content-inner {
        width: min(var(--container-max), calc(100% - 2 * var(--gutter-mobile)));
    }
    .qs-inset > .prose.no-inset {
        margin-inline: calc(-1 * var(--content-pad-mobile));
    }
    /* SAME horizontal inset for ALL */
    .qs-inset,
    .qs-inset-tight,
    .qs-inset-loose,
    .full-bleed .content-inner,
    .full-bleed .content-inner.qs-inset {
        padding-inline: var(--content-pad-mobile)
    }
}
@media (max-width: 480px) {
    :root {
        --gutter-mobile: 10px;
        --content-pad-mobile: 10px;
    }
    .qs-container,
    .full-bleed .content-inner {
        width: min(var(--container-max), calc(100% - 2 * var(--gutter-mobile)));
    }
}
@media (max-width: 375px) {
    :root {
        --gutter-mobile: 8px;
        --content-pad-mobile: 8px;
    }
    .qs-container,
    .full-bleed .content-inner {
        width: min(var(--container-max), calc(100% - 2 * var(--gutter-mobile)));
    }
}
/*----------------------
  SECT: Layout Header
---------------------*/
.site-header,
.main-navigation,
body.single-product nav.woocommerce-breadcrumb {
    width: min(var(--container-max), calc(100% - 2 * var(--gutter)));
    margin-inline: auto;
    /* border: 1px solid blue; /*debug*/
}
.has-sticky-branding.main-navigation .inside-navigation.grid-container {
    width: min(var(--container-max), calc(100% - 2 * var(--gutter)));
    margin-inline: auto;
}
@media (max-width: 768px) {
    :root {
        --header-gutter-mobile: 14px;
        --header-content-pad-mobile: 0px;
    }
    .site-header,
    .main-navigation,
    .has-sticky-branding.main-navigation .inside-navigation.grid-container {
        width: min(var(--container-max), calc(100% - 2 * var(--header-gutter-mobile)));
        padding-inline: var(--header-content-pad-mobile)
    }
}
@media (max-width: 480px) {
    :root {
        --header-gutter-mobile: 12px;
        --header-content-pad-mobile: 0px;
    }
    .site-header,
    .main-navigation,
    .has-sticky-branding.main-navigation .inside-navigation.grid-container {
        width: min(var(--container-max), calc(100% - 2 * var(--header-gutter-mobile)));
    }
}
@media (max-width: 375px) {
    :root {
        --header-gutter-mobile: 10px;
    }
    .site-header,
    .main-navigation,
    .has-sticky-branding.main-navigation .inside-navigation.grid-container {
        width: min(var(--container-max), calc(100% - 2 * var(--header-gutter-mobile)));
    }
}
/*--------------------------
  Generate Press - Resets
--------------------------*/
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header {
    padding: 0;
}
.site.grid-container {
    margin-left: auto;
    margin-right: auto;
    max-width: unset
}
/*===========================*/
/*===== SECT: Elements =====*/
/*=========================*/
/*------------
  LINKS
------------*/
a {
    color: var(--link);
    text-underline-offset: 2px;
}
a:hover {
    color: var(--link-hover);
    text-decoration-thickness: 2px;
}
a:visited {
    color: var(--link-visited);
}
.qs-container.qs-inset.links a {
    text-decoration: underline
}
/*------------
  BUTTONS
------------*/
.header-product-search .wp-block-search__button,
.button.qss-offer-btn,
.button.button-primary.qss-submit,
.qss-offer-modal-wrap button.button-primary,
.qss-offer-modal-wrap button.button-secondary,
.button.button-primary,
.add-product-form .rwmb-button,
.hero-home .btn,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,
.cc-banner .cc-btn {
    border-radius: var(--radius-base);
    padding: 0.65rem 0.75rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
    font-size: var(--fs-16);
}
.cc-banner .cc-btn--outline {
    background: transparent;
    color: var(--c-indigo-900);
    outline: 2px solid var(--action-primary-bg);
    outline-offset: -2px;
    text-align: center;
}
.header-product-search .wp-block-search__button:hover,
.button.qss-offer-btn:hover,
.button.button-primary.qss-submit:hover,
.qss-offer-modal-wrap button.button-primary:hover,
.qss-offer-modal-wrap button.button-secondary:hover,
.button.button-primary:hover,
.add-product-form .rwmb-button:hover,
.hero-home .btn:hover,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:hover,
.cc-banner .cc-btn:hover {
    background-color: var(--action-primary-bg-hover)
}
.cc-banner .cc-btn--outline:hover {
    background-color: var(--action-primary-bg-hover);
    outline: unset;
    outline-offset: unset;
    color: var(--c-base-0);
}
.header-product-search .wp-block-search__button:active,
.button.qss-offer-btn:active,
.button.button-primary.qss-submit:active,
.qss-offer-modal-wrap button.button-primary:active,
.qss-offer-modal-wrap button.button-secondary:active,
.button.button-primary:active,
.add-product-form .rwmb-button:active,
.hero-home .btn:active,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:active,
.cc-banner .cc-btn:active {
    background-color: var(--action-primary-bg-active)
}
.wp-block-search .wp-element-button:focus-visible,
.wp-block-search__button:focus-visible,
.button.qss-offer-btn:focus-visible,
.button.button-primary.qss-submit:focus-visible,
.qss-offer-modal-wrap button.button-primary:focus-visible,
.qss-offer-modal-wrap button.button-secondary:focus-visible,
.button.button-primary:focus-visible,
.add-product-form .rwmb-button:focus-visible,
.hero-home .btn:focus:visible,
.xoo-wsc-container .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:focus-visible,
.cc-banner .cc-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}
.button.button-primary.qss-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
/*---------
  INPUTS
---------*/
/* Base inputs */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
textarea,
select {
    display: block;
    width: 100%;
    line-height: var(--lh-base);
    padding: 0.60rem 0.75rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base);
    background-color: var(--bg-page);
    color: var(--text-primary);
    font-size: var(--fs-16);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* Placeholders (modern browsers) */
input::placeholder,
textarea::placeholder {
    color: var(--text-secondary);
    opacity: 1; /* Firefox keeps opacity otherwise */
}
/* (Optional legacy placeholder prefixes if you really need them)
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { color: var(--text-secondary); opacity:1; }
input::-moz-placeholder,
textarea::-moz-placeholder { color: var(--text-secondary); opacity:1; }
input:-ms-input-placeholder,
textarea:-ms-input-placeholder { color: var(--text-secondary); opacity:1; }
*/
/* Focus styles: mouse and keyboard */
input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--color-primary);
    /* Fallback first */
    box-shadow: 0 0 0 2px rgba(76, 110, 245, 0.30);
    /* Modern enhancement */
    box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 30%, white);
}
/*-----------------
  Focus Visible
------------------*/
input:focus-visible,
input.wp-block-search__input:focus-visible,
textarea:focus-visible:focus-visible,
select:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white) !important;
    outline-offset: 2px;
    box-shadow: none
}
.qss-grid input:focus-visible,
.qss-grid textarea:focus-visible:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none
}
.qs-grid input:focus,
.qs-grid select:focus,
.qs-grid textarea:focus,
p input:focus,
p select:focus,
p textarea:focus {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white) !important;
    outline-offset: 2px;
    box-shadow: none
}
.qss-grid input:focus,
.qss-grid select:focus,
.qss-grid textarea:focus {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none
}
.qss-field input:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none
}
.ts-wrapper .ts-control:focus-within {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none;
}
.ts-wrapper:has(.ts-control input:focus-visible) .ts-control {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none
}
.add-product-form form#qs_quote_fields,
.rwmb-meta-box .rwmb-input input:focus,
.add-product-form form#qs_quote_fields,
.rwmb-meta-box .rwmb-input select:focus,
.add-product-form form#qs_quote_fields,
.rwmb-meta-box .rwmb-input textarea:focus {
    outline-offset: 2px;
    box-shadow: none
}
/*-----------------
  / Focus Visible
------------------*/
/* Disabled / read-only (optional but common) */
input:disabled,
textarea:disabled,
select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
/* Invalid state (optional) */
/* input:invalid,
textarea:invalid {
  border-color: color-mix(in oklab, var(--color-warning) 60%, black);
}
 */
select {
    padding-right: 2rem; /* room for custom arrow if the case */
    background-color: var(--bg-page);
}
/* Hide the old IE select arrow if you still support it */
select::-ms-expand {
    display: none;
}
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 30%, white);
}
input::placeholder {
    color: var(--text-secondary);
    opacity: 1;
}
/*--------
  ICONS
--------*/
.qss-table .inside-article .bi.bi-info-square-fill {
    color: var(--text-secondary);
}
/*=====================================*/
/*===== SECT: Woocommerce Resets =====*/
/*===================================*/
/*-----------
  BUTTONS
----------*/
.qs-container.qs-inset .woocommerce a.button,
.qs-container.qs-inset .woocommerce button.button,
.qs-container.qs-inset .woocommerce input.button,
.qs-container.qs-inset .woocommerce #respond input#submit,
.qs-container.qs-inset .woocommerce .wp-element-button,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button,
.qs-container.qs-inset .woocommerce .add_to_cart_button,
.qs-container.qs-inset .woocommerce .checkout-button {
    border-radius: var(--radius-base);
    padding: 0.65rem 0.75rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
    font-size: var(--fs-16);
    border: none;
}
/* Hover / Active */
.qs-container.qs-inset .woocommerce a.button:hover,
.qs-container.qs-inset .woocommerce button.button:hover,
.qs-container.qs-inset .woocommerce input.button:hover,
.qs-container.qs-inset .woocommerce #respond input#submit:hover,
.qs-container.qs-inset .woocommerce .wp-element-button:hover,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button:hover,
.qs-container.qs-inset .woocommerce .add_to_cart_button:hover,
.qs-container.qs-inset .woocommerce .checkout-button:hover {
    background-color: var(--action-primary-bg-hover);
}
.qs-container.qs-inset .woocommerce a.button:active,
.qs-container.qs-inset .woocommerce button.button:active,
.qs-container.qs-inset .woocommerce input.button:active,
.qs-container.qs-inset .woocommerce #respond input#submit:active,
.qs-container.qs-inset .woocommerce .wp-element-button:active,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button:active,
.qs-container.qs-inset .woocommerce .add_to_cart_button:active,
.qs-container.qs-inset .woocommerce .checkout-button:active {
    background-color: var(--action-primary-bg-active);
}
/* Focus visible (keyboard) */
.qs-container.qs-inset .woocommerce a.button:focus-visible,
.qs-container.qs-inset .woocommerce button.button:focus-visible,
.qs-container.qs-inset .woocommerce input.button:focus-visible,
.qs-container.qs-inset .woocommerce #respond input#submit:focus-visible,
.qs-container.qs-inset .woocommerce .wp-element-button:focus-visible,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button:focus-visible,
.qs-container.qs-inset .woocommerce .add_to_cart_button:focus-visible,
.qs-container.qs-inset .woocommerce .checkout-button:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}
/* Disabled / loading */
.qs-container.qs-inset .woocommerce a.button.disabled,
.qs-container.qs-inset .woocommerce button.button.disabled,
.qs-container.qs-inset .woocommerce input.button.disabled,
.qs-container.qs-inset .woocommerce a.button:disabled,
.qs-container.qs-inset .woocommerce button.button:disabled,
.qs-container.qs-inset .woocommerce input.button:disabled,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button.disabled,
.qs-container.qs-inset .woocommerce .single_add_to_cart_button:disabled,
.qs-container.qs-inset .woocommerce .button.loading,
.qs-container.qs-inset .woocommerce .button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
/* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“AltÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â buttons (Woo sometimes uses .button.alt) */
.qs-container.qs-inset .woocommerce a.button.alt,
.qs-container.qs-inset .woocommerce button.button.alt,
.qs-container.qs-inset .woocommerce input.button.alt {
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
    border: none;
}
.qs-container.qs-inset .woocommerce a.button.alt:hover,
.qs-container.qs-inset .woocommerce button.button.alt:hover,
.qs-container.qs-inset .woocommerce input.button.alt:hover {
    background-color: var(--action-primary-bg-hover);
}
/*-----------
  INPUTS
----------*/
.qs-container.qs-inset .woocommerce form input[type="text"],
.qs-container.qs-inset .woocommerce form input[type="email"],
.qs-container.qs-inset .woocommerce form input[type="tel"],
.qs-container.qs-inset .woocommerce form input[type="number"],
.qs-container.qs-inset .woocommerce form input[type="search"],
.qs-container.qs-inset .woocommerce form input[type="password"],
.qs-container.qs-inset .woocommerce form .input-text,
.qs-container.qs-inset .woocommerce form textarea,
.qs-container.qs-inset .woocommerce form select {
    display: block;
    width: 100%;
    line-height: var(--lh-base);
    padding: 0.60rem 0.75rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base);
    background-color: var(--bg-page);
    color: var(--text-primary);
    font-size: var(--fs-16);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* Placeholders */
.qs-container.qs-inset .woocommerce form input::placeholder,
.qs-container.qs-inset .woocommerce form textarea::placeholder {
    color: var(--text-secondary);
    opacity: 1;
}
/* Focus (mouse + keyboard) */
.qs-container.qs-inset .woocommerce form input:focus,
.qs-container.qs-inset .woocommerce form textarea:focus,
.qs-container.qs-inset .woocommerce form select:focus {
    outline: none;
    border-color: var(--color-primary);
    /* fallback */
    box-shadow: 0 0 0 2px rgba(76, 110, 245, .30);
    /* modern */
    box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 30%, white);
}
/* Stronger ring for keyboard-only focus */
.qs-container.qs-inset .woocommerce form input:focus-visible,
.qs-container.qs-inset .woocommerce form textarea:focus-visible,
.qs-container.qs-inset .woocommerce form select:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
}
/* Disabled */
.qs-container.qs-inset .woocommerce form input:disabled,
.qs-container.qs-inset .woocommerce form textarea:disabled,
.qs-container.qs-inset .woocommerce form select:disabled {
    opacity: .6;
    cursor: not-allowed;
}
/* Selects */
.qs-container.qs-inset .woocommerce form select {
    padding-right: 2rem; /* room for arrow */
    background-color: var(--bg-page);
}
.qs-container.qs-inset .woocommerce form select::-ms-expand {
    display: none;
}
/* Chrome/Edge autofill (removes blue background) */
.qs-container.qs-inset .woocommerce form input:-webkit-autofill,
.qs-container.qs-inset .woocommerce form input:-webkit-autofill:hover,
.qs-container.qs-inset .woocommerce form input:-webkit-autofill:focus,
.qs-container.qs-inset .woocommerce form textarea:-webkit-autofill,
.qs-container.qs-inset .woocommerce form select:-webkit-autofill {
    -webkit-text-fill-color: var(--text-primary);
    caret-color: var(--text-primary);
    -webkit-box-shadow: 0 0 0 1000px var(--bg-page) inset;
    box-shadow: 0 0 0 1000px var(--bg-page) inset;
    transition: background-color 9999s ease-out 0s; /* prevents flash */
}
/* Password reveal button ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ keep layout clean */
.qs-container.qs-inset .woocommerce .password-input {
    position: relative;
}
.qs-container.qs-inset .woocommerce .password-input .woocommerce-Input {
    padding-right: 2.25rem; /* space for toggle */
}
.qs-container.qs-inset .woocommerce .password-input .show-password-input {
    position: absolute;
    right: .5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    opacity: .7;
    transition: opacity .2s ease;
}
.qs-container.qs-inset .woocommerce .password-input .show-password-input:hover,
.qs-container.qs-inset .woocommerce .password-input .show-password-input:focus {
    opacity: 1;
}
/* Checkbox polish */
.qs-container.qs-inset .woocommerce .woocommerce-form__input-checkbox {
    inline-size: 1.05rem;
    block-size: 1.05rem;
    accent-color: var(--color-primary);
}
.qs-container.qs-inset .woocommerce .required {
    color: var(--color-warning);
}
/*------------------------------
  WARNING/SIGNS/NOTIFICATIONS
------------------------------*/
.qs-container.qs-inset .woocommerce-error:focus {
    border: 1px solid var(--border-subtle); /* same as normal state */
    outline: none;
}
.qs-container.qs-inset .woocommerce-error {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 0.6rem 1rem;
    background: var(--surface-warning);
    min-height: 44px;
}
.qs-container.qs-inset .woocommerce-error li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    list-style: none;
    color: var(--text-primary);
    line-height: var(--lh-compact);
    font-weight: var(--fw-medium);
    font-size: var(--fs-base)
}
.qs-container.qs-inset .woocommerce-error li::before {
    content: "\f432";
    font-family: "bootstrap-icons";
    color: var(--on-surface-warning);
}
.qs-container.qs-inset .woocommerce-error li a {
    font-weight: var(--fw-semibold)
}
.qs-container.qs-inset .woocommerce-error li strong:nth-of-type(2) {
    font-weight: var(--fw-semibold);
    color: inherit
}
/*=========================*/
/*===== SECT: HEADER =====*/
/*=======================*/
.inside-header {
    padding: 10px 0
}
.main-navigation {
    border-bottom: 1px solid transparent;
}
.main-navigation {
    border-block: 1px solid var(--border-subtle);
    width: 100%;
}
.main-navigation .main-nav > ul > li:first-child > a {
    position: relative;
    display: inline-block;
    padding-left: 0;
}
.main-navigation .main-nav > ul > li > a {
    padding-inline: 20px;
    position: relative;
    display: inline-block;
    background: linear-gradient(currentColor, currentColor) center bottom / 0 2px no-repeat;
    transition: background-size .22s ease, color .16s ease, opacity .16s ease;
    color: var(--text-primary);
    font-weight: var(--fw-medium);
    font-size: var(--fs-16);
}
.main-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > li:focus-within > a,
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a {
    background-size: 50% 2px; /* half the link width */
    background-position: center bottom; /* centered underline */
    color: var(--link-hover);
}
/*** First Slide Exception ***/
.main-navigation .main-nav > ul > li:first-child > a {
    background: none;
    position: relative;
}
.main-navigation .main-nav > ul > li:first-child > a::after {
    content: "";
    position: absolute;
    left: 8px;
    bottom: 0;
    width: 50%;
    height: 2px;
    background-color: currentColor;
    transform: scaleX(0); /* hidden */
    transform-origin: center;
    transition: transform .22s ease;
}
.main-navigation .main-nav > ul > li:first-child:hover > a::after,
.main-navigation .main-nav > ul > li:first-child.current-menu-item > a::after,
.main-navigation .main-nav > ul > li:first-child.current_page_item > a::after {
    transform: scaleX(1);
}
/*----------
  Submenu
---------*/
.main-navigation ul ul {
    box-shadow: unset;
}
.main-navigation .main-nav ul ul {
    padding: 8px;
    border-radius: var(--radius-base);
    border: 1px solid var(--border-subtle);
    background: var(--bg-page)
}
.main-navigation .main-nav ul ul li a {
    position: relative;
    display: block;
    padding: 12px 1rem 12px 1.5rem;
    font-weight: var(--fw-medium);
}
.main-navigation .main-nav ul ul li a::before {
    content: "\f135";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: currentColor;
    pointer-events: none;
}
.main-navigation .main-nav ul ul li:not(:first-child) {
    border-top: 1px solid var(--border-subtle)
}
/*-------------------------------
  Mobile Main Menu Bar - Fixes
-------------------------------*/
.menu-bar-items span.logout-text,
.logged-in .menu-bar-items .gb-text a {
    font-weight: var(--fw-medium);
    font-size: var(--fs-16)
}
.logged-in .menu-bar-items .logout-icon-small {
    font-size: 1.3rem;
    vertical-align: middle;
}
.logged-in .inside-navigation.grid-container .menu-bar-items {
    display: flex;
    align-items: center;
    gap: 10px;
}
.logged-in .inside-navigation.grid-container .menu-bar-items .logout-wrapper-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding-top: 2px;
}
.logged-in.qs-role-client .inside-navigation.grid-container .menu-bar-items .logout-wrapper-link {
    padding-top: 0;
}
.logged-in #header-search-toggle {
    position: absolute;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%)
}
.logged-in .inside-navigation .bi.bi.bi-cart {
    margin-right: 5px;
}
/*--------------------
  Sticky Navigation
-------------------*/
/*:F1 */
.sticky-enabled .main-navigation.is_stuck {
    background: var(--bg-page);
    /* padding-right: 10px; */
}
.sticky-navigation-transition button.menu-toggle,
.sticky-navigation-transition .header-search-toggle {
    display: none
}
.has-sticky-branding.navigation-stick .main-nav > ul > li > a {
    padding-inline: 20px;
    position: relative;
    display: inline-block;
    background: linear-gradient(currentColor, currentColor) center 90% / 0 2px no-repeat;
    transition: background-size .22s ease, color .16s ease, opacity .16s ease;
    color: var(--text-primary);
    font-weight: var(--fw-medium);
    font-size: var(--fs-16);
}
.has-sticky-branding.navigation-stick #primary-menu.main-nav > ul > li:hover > a,
.has-sticky-branding.navigation-stick #primary-menu.main-nav > ul > li:focus-within > a,
.has-sticky-branding.navigation-stick #primary-menu.main-nav > ul > li.current-menu-item > a,
.has-sticky-branding.navigation-stick #primary-menu.main-nav > ul > li.current_page_item > a {
    background-size: 50% 2px;
    background-position: center 90%;
    color: var(--link-hover);
}
.has-sticky-branding.navigation-stick #primary-menu.main-nav > ul > li:first-child > a::after {
    content: unset;
}
.main-navigation.sticky-navigation-transition .navigation-branding img {
    height: 55px;
}
.main-navigation.sticky-navigation-transition .navigation-branding img {
    padding: 5px 0;
}
.has-sticky-branding.navigation-stick .navigation-branding,
.has-sticky-branding.navigation-stick .navigation-branding .sticky-navigation-logo .is-logo-image {
    margin-left: 0 !important
}
/* Mobile */
.sticky-navigation-transition .inside-navigation.grid-container {
    padding-top: 0;
    padding-bottom: 0;
}
/*--------------------------
  Cart & Pill count badge
-------------------------*/
.menu-item-cart .menu-cart-link,
.menu-cart-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    line-height: 1;
    margin-left: 5px;
}
.menu-cart-link .bi {
    color: var(--text-primary);
    font-size: var(--fs-lg);
}
.menu-cart-link .bi:hover {
    color: var(--link-hover)
}
/* Pill count badge */
.menu-cart-link .cart-count {
    line-height: 1;
    padding: 0.15rem 0.4rem;
    border-radius: var(--radius-pill);
    color: var(--action-primary-text);
    font-size: var(--fs-2xs);
    background: var(--bg-utilities);
    position: relative;
    top: -2px;
}
.menu-cart-link .cart-count[data-count="0"] {
    display: none;
}
/*------------------------------
  Logare / Inregistrare Links
------------------------------*/
.main-navigation .auth-links {
    display: flex;
    align-items: center;
    gap: 5px;
}
.main-navigation .auth-links a {
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: var(--fw-medium);
    font-size: 1rem;
}
.main-navigation .auth-links a:hover {
    color: var(--link-hover);
}
.main-navigation .auth-links .divider {
    user-select: none;
    pointer-events: none;
}
/*-------------------
  Contact Details
------------------*/
.contact-info {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}
.contact-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--fs-sm);
}
.contact-item .icon {
    font-size: 1.2rem;
}
.contact-item .icon-phone {
    color: var(--text-secondary)
}
.contact-item .icon-help {
    color: var(--text-secondary)
}
.contact-item .text .label {
    font-weight: var(--fw-medium);
    font-size: var(--fs-xs);
    color: var(--text-primary);
}
.contact-item a {
    display: block;
    color: var(--color-primary-strong);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium)
}
.contact-item a:hover {
    color: var(--link-hover);
}
.contact-info .contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    text-decoration: none;
    transition: background-color 0.2s ease;
    border-radius: var(--radius-base);
    border: 1px solid var(--border-strong)
}
.contact-info .contact-button:hover,
.contact-info .contact-button:focus {
    background-color: var(--bg-icons-active-focus)
}
.contact-info .contact-button i {
    font-size: var(--fs-17);
    color: var(--color-primary-strong)
}
/*-------------------
  CTA Button
-------------------*/
.product-cta-btn .cta-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: var(--radius-base);
    padding: 0.65rem 0.75rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
}
.product-cta-btn.mobile .cta-button {
    color: inherit;
    font-weight: var(--fw-medium);
    margin-left: 10px;
    background: var(--bg-page)
}
.product-cta-btn .cta-button i {
    font-size: 1.1rem;
    display: inline-block;
    transition: opacity 0.2s ease;
}
.product-cta-btn .cta-button:hover {
    background-color: var(--action-primary-bg-hover)
}
.product-cta-btn .cta-button:hover i::before {
    content: "\f23d"; /* Unicode for bi-cart-fill */
}
.product-cta-btn .cta-button:active {
    background-color: var(--action-primary-bg-active)
}
.product-cta-btn .cta-button:focus-visible,
.product-cta-btn .cta-button:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}
/*----------------
  Search Form
---------------*/
.wp-block-search.wp-block-search__button-outside.wp-block-search__icon-button .wp-block-search__inside-wrapper {
    position: relative;
    width: 500px;
}
/* Place the button inside the field, right-aligned */
.wp-block-search.wp-block-search__button-outside.wp-block-search__icon-button .wp-block-search__button {
    position: absolute;
    inset-inline-end: 10px;
    inset-block-start: 50%;
    transform: translateY(-50%);
    margin: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    background: transparent;
    border: none;
    box-shadow: none;
    color: var(--text-secondary);
    z-index: 1;
    padding: 0;
}
.wp-block-search.wp-block-search__button-outside.wp-block-search__icon-button .wp-block-search__button:hover,
.wp-block-search.wp-block-search__button-outside.wp-block-search__icon-button .wp-block-search__button:focus-visible {
    color: var(--color-primary);
}
.wp-block-search.wp-block-search__button-outside.wp-block-search__icon-button .search-icon {
    fill: currentColor;
    width: 1em;
    height: 1em;
}
@media (max-width: 1320px) {
    .inside-header .wp-block-search__inside-wrapper {
        max-width: 320px;
    }
    .inside-header .contact-info {
        gap: 10px;
    }
    .inside-header .product-cta-btn .cta-button {
        font-size: var(--fs-15)
    }
}
/*--------------------------------
  Mobile Slide Off Canvas Panel
--------------------------------*/
#generate-slideout-menu {
    background: var(--color-primary)
}
#generate-slideout-menu .slideout-menu li {
    padding-left: 5px;
    border-bottom: 1px solid var(--border-white);
}
#generate-slideout-menu .slideout-menu li a {
    display: block;
    width: 100%;
    height: 100%;
}
.slideout-menu li:last-child {
    border-bottom: none; /* remove line after the last item */
}
#generate-slideout-menu .main-nav .slideout-menu li a {
    position: relative;
    padding-left: 1.5rem;
    display: inline-block;
    color: var(--c-base-0)
}
#generate-slideout-menu .main-nav .slideout-menu li li a {
    color: inherit
}
#generate-slideout-menu .slideout-menu li a::before {
    content: "\F135";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: currentColor;
    pointer-events: none;
}
@media (max-width: 1200px) {
    .header-search-form {
        width: 300px
    }
    .has-sticky-branding.navigation-stick .inside-navigation .main-nav > ul > li > a {
        padding-left: 15px;
        padding-right: 15px;
        font-size: var(--fs-15)
    }
    .inside-navigation .main-nav > ul > li > a {
        font-size: var(--fs-15)
    }
    .main-navigation .auth-links a {
        font-size: var(--fs-15);
    }
}
/*==========================*/
/*===== MOBILE HEADER =====*/
@media (max-width: 1024px) {
    .inside-header {
        display: flex;
        flex-direction: row;
    }
    /*--------------------
      Toggle Mobile Btn
      ------------------*/
    .menu-toggle svg {
        width: 24px;
        height: 24px;
        color: var(--color-primary-strong)
    }
    .menu-toggle {
        line-height: 0;
    }
    /*----------------------------------
      Main Menu Bar - Alignment Fixes
    ---------------------------------*/
    .menu-bar-items span.logout-text,
    .logged-in .menu-bar-items .gb-text a {
        font-weight: var(--fw-medium);
        font-size: var(--fs-15);
    }
    .logged-in .menu-bar-items .logout-icon-small {
        font-size: 1.2rem;
        vertical-align: middle;
    }
    /*-----------------
      Mobile Top Bar
    ------------------*/
    .mobile-top-bar-wrap {
        flex: 0 0 100%;
        width: 100%;
    }
    .mobile-top-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
    }
    .mobile-top-bar-wrap .logo img {
        height: 48px;
    }
    .mobile-top-bar-wrap .contact-buttons {
        display: inline-flex;
        gap: 8px;
    }
    .mobile-top-bar-wrap .contact-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        text-decoration: none;
        transition: background-color 0.2s ease;
        border-radius: var(--radius-base);
        border: 1px solid var(--border-strong)
    }
    .mobile-top-bar-wrap .contact-button:hover,
    .mobile-top-bar-wrap .contact-button:focus {
        background-color: var(--bg-icons-active-focus)
    }
    .mobile-top-bar-wrap .contact-button i {
        font-size: var(--fs-17);
    }
    /*----------------------------------------
      Search Icons and Product Search Input
    ---------------------------------------*/
    .inside-navigation.grid-container {
        padding: 5px 0;
    }
    .inside-navigation.grid-container .menu-bar-items {
        display: contents;
    }
    .inside-navigation .auth-links {
        order: 99;
        margin-inline-start: auto;
        display: flex;
        align-items: center;
    }
    .qs-container.header-product-search {
        max-height: 0;
        opacity: 0;
        transform: translateY(-4px);
        transition: max-height .28s ease, opacity .22s ease, transform .28s ease;
        will-change: max-height, opacity, transform;
        pointer-events: none;
        visibility: hidden;
    }
    .qs-container.header-product-search.is-open {
        opacity: 1;
        max-height: 220px;
        padding-block: clamp(12px, 2vw, 16px);
        transform: translateY(0);
        pointer-events: auto;
        visibility: visible;
    }
    .header-product-search .wp-block-search__input {
        width: 100%;
        border: 1px solid var(--border-strong);
        border-radius: var(--radius-base);
        background: var(--bg-page);
        color: var(--text-primary);
    }
    .header-product-search .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }
    .js-open-product-search {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        inline-size: 40px;
        block-size: 40px;
        border: 0;
        background: transparent;
        cursor: pointer;
        text-decoration: none;
        transition: transform .15s ease, background-color .15s ease;
        color: var(--text-primary)
    }
    .js-open-product-search:active {
        transform: scale(.96);
    }
    .js-open-product-search .bi {
        font-size: 1.2rem;
        line-height: 1;
        margin: 5px 0 0 10px;
    }
    .js-open-product-search .bi.bi-x {
        font-size: 28px;
    }
    /*-------------------------------------------
      / Search Icons and Product Search Input
    ------------------------------------------*/
    /* Hide Desktop Search Form */
    .inside-header .header-search-form {
        display: none;
    }
    /* Hide Desktop Contact Details */
    .inside-header .contact-info {
        display: none
    }
    /*-------------------
      Off Canvas Panel
    ------------------*/
    .current_page_item.menu-item-has-children {
        background: var(--color-primary-strong)
    }
    .menu-item.menu-item-type-custom.menu-item-object-custom.current-menu-item {
        background: var(--color-primary-strong)
    }
    .main-navigation .main-nav > ul > li:first-child > a::after {
        content: unset;
    }
    .main-navigation .main-nav > ul > li:hover > a,
    .main-navigation .main-nav > ul > li:focus-within > a,
    .main-navigation .main-nav > ul > li.current-menu-item > a,
    .main-navigation .main-nav > ul > li.current_page_item > a {
        background: unset;
    }
}
@media (max-width: 375px) {
    .main-navigation.sticky-navigation-transition .navigation-branding img {
        height: 40px;
    }
    .menu-cart-link .bi {
        font-size: var(--fs-17)
    }
    .menu-cart-link .cart-count {
        padding: 2px 5px;
    }
}
@media (min-width: 1024px) {
    .qs-container.header-product-search {
        display: none;
    }
    .mobile-top-bar-wrap {
        display: none
    }
    .header-search-toggle {
        display: none;
    }
}
/*===============================================*/
/*===== SECT: Quote Submit - Product Table =====*/
/*=============================================*/
.qss-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--border-subtle);
}
.qss-table th,
.qss-table td {
    border: 0;
    padding: 10px 10px;
    text-align: left;
    vertical-align: middle;
    font-weight: var(--fw-medium);
}
/* Separators */
.qss-table th + th,
.qss-table td + td {
    border-left: 1px solid var(--border-subtle);
}
.qss-table tbody tr + tr > th,
.qss-table tbody tr + tr > td {
    border-top: 1px solid var(--border-subtle);
}
/* Header/Footer lines */
.qss-table thead tr:last-child > th {
    border-bottom: 1px solid var(--border-subtle);
}
.qss-table tfoot tr:first-child > th,
.qss-table tfoot tr:first-child > td {
    border-top: 1px solid var(--border-subtle);
}
/* Header/Footer style */
.qss-wrap .qss-table tfoot th {
    line-height: var(--lh-compact);
    font-size: var(--fs-base);
    text-align: center;
    color: var(--text-primary);
    border-radius: var(--radius-card);
    background: var(--surface-info)
}
.qss-wrap .qss-empty-product-table .bi.bi-info-square-fill {
    margin-right: 0.3em;
    color: var(--on-surface-warning)
}
.qss-table tfoot td {
    text-align: center;
}
table.qss-table td.qss-empty-product-table {
    text-align: center;
    line-height: var(--lh-compact);
    background: var(--surface-warning);
    margin-top: 50px;
}
.qss-table td.qss-empty-product-table .bi.bi-info-square-fill {
    margin-right: 0.3em;
}
/* Column widths (desktop) */
.qss-table .qss-col-product {
    width: 60%;
}
.qss-table .qss-col-sku {
    width: 20%;
}
.qss-table .qss-col-qty-desired {
    width: 20%;
}
.qss-col-actions {
    width: 1%;
    white-space: nowrap;
}
.qss-table td:last-child {
    text-align: right;
    white-space: nowrap;
}
/* SR-only */
.screen-reader-text {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}
/* ===== Product cell grid ===== */
.qss-prod-cell::before {
    display: none;
}
.qss-prod-cell .qss-cell {
    display: grid;
    grid-template-areas:
    "label label"
    "thumb  name";
    grid-template-columns: 40px 1fr;
    row-gap: 8px;
    column-gap: 12px;
    align-items: center;
    text-align: left;
}
.qss-table .qss-label {
    grid-area: label;
    font-weight: 600;
    opacity: .85;
    display: none;
}
.qss-table .qss-row {
    display: contents;
}
.qss-table .qss-thumb {
    grid-area: thumb;
    vertical-align: middle
}
.qss-table .qss-thumb img {
    width: 40px;
    height: 40px;
}
.qss-table .qss-name {
    grid-area: name;
    min-width: 0;
    font-size: var(--fs-md);
    line-height: var(--lh-compact)
}
/*-----------
  Actions
----------*/
.qss-table .actions-wrap {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.qss-wrap .qss-table .qss-offer-btn {
    order: 1;
}
.qss-wrap .qss-table .qss-remove-item-form {
    order: 2;
}
.qss-wrap .qss-table .qss-offer-badge {
    order: 3;
}
.visually-hidden {
    display: none
}
.qss-table .button.qss-remove-item {
    display: inline-flex;
    align-items: center;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    justify-content: center;
    width: 35px;
    height: 35px;
    padding: 0; /* prevent extra space */
    border-radius: 4px; /* match the check-square */
    background: var(--surface-warning);
    color: var(--text-secondary);
    font-size: 1.2rem; /* adjust icon size */
}
.qss-table .button.qss-remove-item:hover {
    background-color: var(--color-warning);
    color: var(--bg-page);
}
.qss-table .button.qss-remove-item:active {
    background-color: color-mix(in oklab, var(--color-warning) 80%, black);
    color: var(--bg-page);
}
.qss-table .button.qss-remove-item:focus-visible {
    outline: 2px solid var(--color-warning);
    outline-offset: 2px;
}
.qss-table button.qss-remove-item .bi.bi-x {
    font-size: 24px;
}
.qss-table .actions-wrap .qss-offer-btn {
    margin-right: 0.75rem;
}
.qss-table .qss-offer-badge .check-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    background: var(--surface-success);
    color: var(--color-success);
}
.qss-table .qss-offer-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-align: center;
}
.qss-table .qss-offer-note .bi.bi-info-square-fill {
    color: var(--text-secondary)
}
@media (min-width: 768px) {
    .qss-table th:nth-child(2),
    .qss-table th:nth-child(3),
    .qss-table td[data-label="Concentratie"],
    .qss-table td[data-label="Cantitate dorita"],
    .qss-col-sku {
        text-align: center;
        vertical-align: middle;
    }
}
@media (max-width: 768px) {
    .qss-table colgroup {
        display: none;
    }
    .qss-table thead {
        position: absolute;
        left: -9999px;
    }
    .qss-table tbody tr {
        display: block;
    }
    .qss-table th + th,
    .qss-table td + td {
        border-left: 0;
    }
    .qss-table th,
    .qss-table td {
        display: block;
        width: 100%;
        border: 0;
        text-align: left;
        padding: 12px 14px;
    }
    .qss-table tbody tr > td + td,
    .qss-table tbody tr > th + th {
        border-top: 1px solid var(--border-subtle);
    }
    .qss-table td:last-child {
        text-align: left;
        width: auto;
        white-space: normal;
    }
    .qss-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 6px;
        width: 100%;
    }
    .qss-table td[data-label="Actions"]::before {
        display: none;
    }
    .qss-table td[data-label="Product"]::before {
        display: none;
        content: none;
    }
    .qss-table td[data-label="Concentratie"] {
        display: flex;
        align-items: center;
        gap: .5rem;
        white-space: nowrap;
    }
    .qss-table td[data-label="Concentratie"]::before {
        content: attr(data-label) ":";
        display: inline;
        margin: 0;
        width: auto;
    }
    .qss-table td[data-label="Cantitate dorita"] {
        display: flex;
        align-items: center;
        gap: .5rem;
        white-space: nowrap;
    }
    .qss-table td[data-label="Cantitate dorita"]::before {
        content: attr(data-label) ":";
        display: inline;
        margin: 0;
        width: auto;
    }
}
/*=====================================*/
/*===== SECT: Send Offer - Modal =====*/
/*===================================*/
body.qss-modal-open {
    overflow: hidden;
}
#qss-offer-modal,
.qss-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    padding: 20px;
    background: rgba(0, 0, 0, .5);
    display: flex;
    align-items: center;
    justify-content: center;
}
.qss-modal__dialog {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 760px;
    max-height: 92vh;
    margin: 0;
    background: var(--bg-page);
    border-radius: var(--radius-modal);
    padding: 20px 10px 20px 20px;
}
@supports (max-height: 92dvh) {
    .qss-modal__dialog {
        max-height: 92dvh;
    }
}
.qss-modal__close {
    position: absolute;
    top: -18px;
    right: 5px;
    border: 0;
    background: transparent;
    font-size: 40px;
    cursor: pointer;
    color: var(--color-primary);
}
/*-----------------------
  Modal Header
-----------------------*/
.qss-offer-header-modal {
    display: flex;
    align-items: center;
    gap: 14px;
}
.qss-offer-header-modal .qss-title {
    margin: 0;
}
.qss-offer-header-modal .qss-subtitle {
    margin: 4px 0 0;
    font-style: italic;
}
.qss-offer-header-modal .bi-info-square-fill {
    color: var(--text-secondary)
}
/*-----------------------
  Modal Body (scrolls)
-----------------------*/
.qss-modal__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
    padding: 0 15px 0 5px;
}
/*----------------------
  Form Grid & Actions
----------------------*/
.qss-offer-modal-wrap .qss-actions {
    position: relative;
    z-index: 999;
}
.qss-offer-modal-wrap .qss-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.qss-offer-modal-wrap .qss-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 8px;
}
.qss-grid label:has(textarea[name="offer[alte_detalii]"]) {
    grid-column: 1 / -1; /* span full width in grid */
    width: 100%;
}
/*----------------------
  Disabled Field(s)
----------------------*/
.qss-offer-modal-wrap .qss-grid .field-display {
    border: 1px solid var(--border-strong);
    font-size: 16px;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
    height: 47px;
    padding: 4px 0.75rem 5px 0.7rem;
    opacity: 0.6;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
}
/*------------------------
  Labels (Focus States)
------------------------*/
.qss-offer-modal-wrap .qss-grid label {
    display: block;
    color: var(--text-primary);
    transition: color .2s ease;
}
.qss-offer-modal-wrap .qss-grid label:focus-within,
.qss-offer-modal-wrap .qss-grid label:has(.ts-control:focus-within),
.qss-offer-modal-wrap .qss-grid label:has(.ts-control.focus) {
    color: var(--color-primary) !important;
}
.qss-subtitle.qss-subtitle--inline {
    font-size: 16px;
    padding: 10px 10px;
    line-height: var(--lh-compact);
}
.qss-subtitle--below {
    display: none;
}
/*------------------
  Info Separators
------------------*/
form .qss-offer-modal-wrap .form-info-section {
    grid-column: 1 / -1;
    border-radius: var(--radius-card);
    margin: 0.75rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    background: var(--surface-info);
    text-align: center;
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 1rem;
    gap: 0.4rem;
}
form .qss-offer-modal-wrap .form-info-section p {
    margin: 0;
    font-weight: var(--fw-medium)
}
/*-------------------
  Tomcat Selector
-------------------*/
#livrare_marfa-opt-2,
#disponibilitate_stoc-opt-2 {
    display: none;
}
@media (max-width: 768px) {
    .qss-modal {
        padding: 12px;
    }
    .qss-modal__dialog {
        padding: 14px;
        border-radius: 8px;
    }
    .qss-offer-header-modal .qss-thumb img {
        max-width: 130px;
        height: auto;
    }
    .qss-offer-modal-wrap .qss-grid {
        grid-template-columns: 1fr;
    }
    .qss-modal__close {
        top: -18px;
        right: 2px;
        font-size: 30px;
    }
}
@media (max-width: 480px) {
    .qss-offer-header-modal .qss-thumb img {
        max-width: 90px;
        height: auto;
    }
    .qss-subtitle--inline {
        display: none;
    }
    .qss-subtitle--below {
        display: block;
    }
    .qss-subtitle.qss-subtitle--below {
        padding-top: 5px;
        line-height: var(--lh-compact);
        font-style: italic;
        font-size: var(--fs-15)
    }
    .qss-modal__close {
        font-size: 28px;
    }
}
@media (max-width: 375px) {
    .qss-offer-header-modal .qss-thumb img {
        max-width: 50px;
    }
    .qss-offer-header-modal h3.qss-title {
        font-size: clamp(1.05rem, 7.5vw, 1.30rem);
    }
}
/*-------------
  Tom Select
-------------*/
.ts-wrapper.single .ts-control {
    display: block;
    width: 100%;
    line-height: var(--lh-base);
    padding: 0.60rem 2.25rem 0.60rem 0.75rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base);
    background-color: var(--bg-page);
    color: var(--text-primary);
    font-size: var(--fs-16);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    cursor: text;
    min-height: auto;
}
.ts-wrapper.single .ts-control input {
    font: inherit;
    color: inherit;
    line-height: inherit;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    outline: 0;
    width: auto;
    min-width: 2ch;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.ts-wrapper.single .ts-control input::placeholder {
    color: var(--text-secondary);
    opacity: 1;
}
.ts-wrapper.single.has-items .ts-control,
.ts-wrapper.single .ts-control {
    box-shadow: none;
}
.ts-wrapper.single .ts-control.focus,
.ts-wrapper.single .ts-control:focus-within {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 30%, white);
    outline: none;
}
.ts-wrapper.single .ts-control .clear-button,
.ts-wrapper.single .ts-control .remove,
.ts-wrapper.single .ts-control .dropdown-arrow {
    margin-inline-start: 0.25rem;
}
.ts-wrapper.single .ts-control .item {
    font: inherit;
    color: inherit;
    line-height: inherit;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
}
.ts-dropdown {
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base);
    background: var(--bg-page);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
    overflow: hidden;
}
.ts-dropdown .option {
    padding: 0.5rem 0.75rem;
    line-height: var(--lh-base);
}
.ts-dropdown .option.active {
    background: color-mix(in oklab, var(--color-primary) 10%, white);
}
.ts-dropdown .option[aria-disabled="true"] {
    pointer-events: none;
    opacity: .9;
    font-size: 0.875rem;
    margin-bottom: .25rem;
    color: var(--text-primary);
    line-height: var(--lh-compact);
    position: relative;
    border-bottom: 1px solid var(--border-strong)
}
.ts-dropdown .option[aria-disabled="true"]::before {
    content: "\f432";
    font-family: "bootstrap-icons";
    font-size: 1rem;
    position: absolute;
    top: 6px;
    left: .75rem;
    color: var(--text-secondary);
}
.ts-dropdown [data-selectable].option {
    opacity: 1;
    cursor: pointer;
    font-size: 16px;
    color: var(--field-dropdowns)
}
.inside-article .ts-dropdown.single .create.active {
    color: var(--text-primary);
    font-size: 0.875rem;
}
.inside-article .ts-dropdown.single .create.active {
    position: relative;
    display: inline-block;
}
/* left icon */
.inside-article .ts-dropdown.single .create.active::before {
    content: "\f432";
    font-family: "bootstrap-icons";
    color: var(--text-secondary);
    position: absolute;
    top: 7px;
    left: 0.4rem;
    transform: translateY(-10%);
    pointer-events: none;
    font-size: 14px;
}
.inside-article .ts-dropdown.single .create.active {
    background: unset;
    padding: .4rem .75rem .4rem 1.7rem;
    border-bottom: 1px solid var(--border-strong)
}
.qss-grid .dropdown-active .ts-dropdown .option[aria-disabled="true"][data-value="__hint"] {
    position: sticky;
    top: 0;
    z-index: 2;
    opacity: unset;
    border-bottom: 1px solid var(--border-strong);
    pointer-events: none;
    background: var(--bg-page);
    color: var(--text-primary);
    font-size: 0.875rem;
    padding-left: 35px;
}
/*===============================================*/
/*===== SECT: PAGES - Logare/Lost Password =====*/
/*=============================================*/
/*-----------------
  P: LOGARE
------------------*/
.qs-inset-inner h1 {
    text-align: center;
    margin-top: 0;
    padding-top: 0;
}
.qs-inset-inner .login-hint {
    margin-top: 0.75rem;
    line-height: var(--lh-compact);
    text-align: center;
    max-width: 60ch;
    margin-inline: auto;
}
.qs-container.qs-inset .woocommerce h2 {
    display: none;
}
.qs-container.qs-inset .woocommerce form.login {
    margin-inline: auto;
    margin-block: clamp(40px, 4vh, 80px);
    padding: clamp(16px, 3vw, 24px);
    box-shadow: var(--shadow-subtle);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    max-inline-size: 370px;
    width: 100%;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card)
}
.qs-container.qs-inset .woocommerce-form-login__rememberme span,
.qs-container.qs-inset .woocommerce-LostPassword.lost_password {
    font-size: var(--fs-sm);
    margin-top: 10px;
}
.qs-container.qs-inset .woocommerce-form-login__rememberme input[type="checkbox"] {
    vertical-align: middle;
    position: relative;
    top: 0;
    margin-right: 3px;
}
.qs-container.qs-inset .woocommerce-LostPassword a::before {
    font-family: "bootstrap-icons";
    content: "\F8A3";
    margin-right: 6px;
    display: inline-block;
    vertical-align: top;
    color: var(--text-secondary)
}
.qs-container.qs-inset .qs-inset-inner .woocommerce-error {
    margin-top: 20px;
}
/*-----------------
  P: LOST PASSWORD
------------------*/
.qs-container.qs-inset .woocommerce form.woocommerce-ResetPassword {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    padding: clamp(16px, 3vw, 24px);
    max-inline-size: 370px;
    width: 100%;
    margin-block: clamp(15px, 2vh, 15px);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    background: var(--bg-page);
    box-shadow: var(--shadow-subtle);
}
.qs-container.qs-inset .woocommerce form.woocommerce-ResetPassword p.woocommerce-form-row {
    margin: 0 auto;
    padding-bottom: 0.8rem;
    width: 100%;
}
/*-------------------
    Password Reset
-------------------*/
.pw-reset-confirmation {
    margin-top: 15px;
}
.pw-reset-confirmation .alert-success.prose h1 {
    display: none;
}
.pw-reset-confirmation .alert-success.prose p.first {
    font-weight: var(--fw-medium)
}
/*=======================================*/
/*===== SECT: PAGES - Inregistrare =====*/
/*=====================================*/
/*-------
  TABS
------*/
:root {
    --form-max: clamp(640px, 84vw, 920px);
}
.qs-tabs {
    margin: 24px auto;
    overflow: hidden;
    max-inline-size: var(--form-max);
    margin-inline: auto;
    margin-block-start: clamp(20px, 3vw, 32px);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card)
}
.qs-tab-content {
    display: none;
    padding: 5px 23px 23px 23px;
    background: color-mix(in oklab, var(--surface-info) 65%, white);
}
.qs-tab-content.active {
    display: block;
}
.qs-tab-buttons {
    display: flex;
    justify-content: stretch;
    border-bottom: 1px solid var(--border-subtle);
}
.qs-tab-buttons .qs-tab-btn {
    flex: 1;
    text-align: center;
    padding: 14px 18px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-base);
    cursor: pointer;
    color: var(--text-primary);
    text-decoration: none;
    transition: all 0.25s ease, transform 0.15s ease;
}
.qs-tab-buttons .qs-tab-btn:hover {
    background: var(--c-soft-ice-blue);
    color: var(--text-primary);
}
.qs-tab-buttons .qs-tab-btn.active {
    border-bottom: 2px solid var(--c-indigo-900);
    font-weight: var(--fw-semibold);
    box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.08);
    background: var(--c-soft-ice-blue);
    color: var(--text-primary)
}
@media (max-width: 768px) {
    .qs-tab-content {
        display: none;
        padding: 5px 16px 16px 16px;
    }
    .qs-tab-buttons {
        flex-direction: column;
    }
    .qs-tab-buttons .qs-tab-btn {
        flex: none;
        text-align: left;
    }
}
/*========================*/
/*===== SECT: FORMS =====*/
/*======================*/
/*----------------*/
/*    INPUTS    */
.fluentform .frm-fluent-form .ff-el-input--content > .ff-el-form-control[type="email"][name="email"],
form .ff-el-input--content input.ff-el-form-control {
    color: var(--text-primary);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: var(--radius-base);
    font-size: var(--fs-base)
}
.fluentform .frm-fluent-form .ff-el-form-control[type="name"][name="input_text"] {
    font-size: var(--fs-base)
}
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-control {
    border-color: var(--color-warning);
}
.fluentform .frm-fluent-form input:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
    box-shadow: none;
}
/*---------------*/
/*    Labels    */
.fluentform .frm-fluent-form .ff-el-input--label label {
    color: var(--text-primary);
    font-weight: var(--fw-regular);
    font-size: var(--fs-base);
    line-height: var(--lh-compact);
}
/*== Placeholder ==*/
.fluentform .frm-fluent-form input.ff-el-form-control::placeholder {
    font-weight: var(--fw-regular);
    color: var(--text-secondary);
    line-height: var(--lh-base);
}
/*----------------*/
/*    Buttons    */
.fluentform .frm-fluent-form .ff_submit_btn_wrapper .ff-btn-submit {
    border-radius: var(--radius-base);
    padding: 0.65rem 0.75rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
    font-size: var(--fs-16);
    border: none;
    font-weight: var(--fw-regular)
}
.fluentform .frm-fluent-form .ff_submit_btn_wrapper .ff-btn-submit:hover {
    background-color: var(--action-primary-bg-hover);
    opacity: unset
}
.fluentform .frm-fluent-form .ff_submit_btn_wrapper .ff-btn-submit:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 60%, white);
    outline-offset: 2px;
}
.fluentform .frm-fluent-form .ff_submit_btn_wrapper .ff-btn-submit:active {
    background-color: var(--action-primary-bg-active);
    transform: scale(0.98);
}
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
    color: var(--color-warning);
}
/*--------------------------*/
/*    Validation/Errors    */
.fluentform .ff-el-is-error .text-danger {
    margin-top: 4px;
    font-size: var(--fs-sm);
    color: var(--on-surface-error)
}
/*------------------
    Contact Form
------------------*/
.fluentform.fluentform_wrapper_4 .frm-fluent-form .ff-el-group {
    margin-bottom: 15px
}
#ff_4_description.ff-el-form-control {
    width: 100%;
    min-height: 120px;
    font-size: var(--fs-base);
    line-height: var(--lh-compact);
    color: var(--text-primary);
    background-color: var(--bg-page);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-base);
}
#ff_4_description.ff-el-form-control:focus {
    border-color: var(--border-accent);
    outline: none;
    box-shadow: none
}
/*---------------------
    Newsletter Form
--------------------*/
.fluentform.ff-default.fluentform_wrapper_3.ffs_default_wrap #fluentform_3.frm-fluent-form.fluent_form_3 .ff-el-group {
    margin: 0
}
#fluentform_3 .ff-el-input--label.ff-el-is-required.asterisk-right label[aria-label="Selectati"] {
    margin-top: 10px;
}
.fluentform #fluentform_3 .ff_t_c {
    font-size: var(--fs-sm);
    line-height: var(--lh-base);
}
#fluentform_3 .ff-el-form-check.ff-el-form-check- label span {
}
#fluentform_3 .ff-el-form-check.ff_item_selected label span {
    border-radius: var(--radius-base);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
    background-color: var(--action-primary-bg);
    color: var(--c-base-0);
    font-size: var(--fs-16);
    border: none;
}
#fluentform_3 .ff_submit_btn_wrapper .ff-btn-submit {
    margin-top: 8px;
}
#fluentform_3 .ff_t_c a:hover {
    text-decoration: underline
}
@media (max-width: 768px) {
    #fluentform_3 .ff-el-input--content .ff-el-form-check label span {
        border: 1px solid var(--border-strong) !important
    }
}
/*======================================*/
/*===== SECT: FORM - Registration =====*/
/*====================================*/
/*!1*/
:root {
    --form-max: clamp(640px, 84vw, 920px);
}
.qsr-form {
    max-inline-size: var(--form-max);
    margin-inline: auto;
    margin-block-start: clamp(20px, 3vw, 32px);
}
.qsr-form label.qss-field {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: wrap;
}
.qsr-form p {
    margin: 0 0 14px;
}
.qsr-form input[type="text"],
.qsr-form input input[type="email"],
.qsr-form input input[type="tel"],
.qsr-form input input[type="number"],
.qsr-form input select,
.qsr-form input textarea {
    width: 100%;
    box-sizing: border-box;
}
.qsr-form .qs-grid {
    display: grid;
    gap: 25px;
}
.qsr-form .qs-grid.cols-2 {
    grid-template-columns: repeat(2, 1fr);
}
.qsr-form .qs-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}
.qsr-form .qs-grid.cols-4 {
    grid-template-columns: repeat(4, 1fr);
}
.qsr-form input::placeholder {
    color: transparent;
}
.qsr-grid label {
    line-height: var(--lh-compact);
}
.qsr-form .qss-field:focus-within .qss-label {
    color: var(--color-primary);
}
.qsr-form .qs-col-span-all {
    grid-column: 1 / -1;
}
.qsr-form label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: var(--text-primary);
    font-weight: var(--fw-regular);
    font-size: var(--fs-base);
    line-height: var(--lh-compact)
}
#qsr_account_type {
    color: var(--text-primary);
    border: 1px solid var(--border-subtle);
    opacity: 0.6;
    background: var(--c-soft-ice-blue)
}
#qsr_account_type {
    pointer-events: none;
}
#qsr_account_type:focus {
    outline: none;
}
form .qsr-agreement > .qsr-agree-text {
    display: inline
}
form .qsr-agreement > .qsr-agree-text a:hover {
    text-decoration: underline
}
.qsr-form label.qss-field input {
    flex-basis: 100%;
}
.qsr-form label.qss-field .req {
    color: var(--color-warning);
    font-weight: var(--fw-bold)
}
@media (max-width: 768px) {
    .qsr-form {
        max-inline-size: none;
    }
    .qsr-form .qs-grid.cols-2,
    .qsr-form .qs-grid.cols-3,
    .qsr-form .qs-grid.cols-4 {
        grid-template-columns: 1fr;
    }
}
/*=========================================*/
/*===== SECT: FORM - Adauga Produse ======*/
/*=======================================*/
:root {
    --form-narrow: clamp(340px, 92vw, 480px);
}
#qs_quote_fields .rwmb-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-block: 10px;
}
#qs_quote_fields .rwmb-label,
#qs_quote_fields .rwmb-input {
    float: none;
    width: 100%;
    margin: 0;
}
/* Stil de label (optional) */
#qs_quote_fields .rwmb-label label {
    display: block;
}
#qs_quote_fields .rwmb-input :is(input, select, textarea) {
    width: 100%;
}
#qs_quote_fields fieldset.rwmb-input-list label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-right: 1rem;
}
.add-product-form {
    max-inline-size: var(--form-narrow);
    margin-inline: auto;
    margin-block-start: clamp(20px, 3vw, 32px);
    margin-block-end: clamp(20px, 3vw, 32px);
    padding: 24px;
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
}
form p#cantitate_dorita-label-description {
    margin-bottom: 0;
    font-style: italic;
    font-size: var(--fs-16)
}
.add-product-form form#qs_quote_fields .rwmb-meta-box .rwmb-field .rwmb-label label {
    display: flex;
    gap: 5px;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-base);
    line-height: var(--lh-compact);
    color: var(--text-primary);
}
.rwmb-input #post_title::placeholder {
    color: var(--text-secondary)
}
.rwmb-input #tip_ambalaj option {
    color: var(--field-dropdowns)
}
/*---------------
    Validation
---------------*/
.rwmb-input .rwmb-text.rwmb-error {
    border: 2px solid var(--color-warning);
    background-color: var(--bg-page)
}
span.rwmb-required,
.rwmb-input p.rwmb-error {
    color: var(--color-warning);
    font-weight: var(--fw-bold)
}
#rwmb-validation-message.notice-error {
    background: var(--surface-warning);
    text-align: center;
    padding: 10px 15px;
    color: var(--text-primary);
    line-height: var(--lh-compact);
    font-weight: var(--fw-medium);
    font-size: var(--fs-base);
    border: 1px solid var(--border-subtle)
}
#rwmb-validation-message.notice-error p::before {
    font-family: "bootstrap-icons";
    content: "\F432";
    display: inline-block;
    margin-right: 7px;
    font-size: 1rem;
    color: var(--color-warning);
    vertical-align: middle;
}
/*======================================*/
/*===== SECT: FORM - Quote Submit =====*/
/*====================================*/
.qss-wrap h2 {
    margin-top: 3rem;
}
:root {
    --form-max: clamp(640px, 84vw, 920px);
}
.qss-submit-form {
    max-inline-size: var(--form-max);
    margin-inline: auto;
    margin-block-start: clamp(30px, 6vw, 50px);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    padding: 1rem 2rem 2rem 2rem;
    border: 1px solid var(--border-strong);
    box-shadow: var(--shadow-subtle);
    border-radius: var(--radius-card)
}
.qss-submit-form h2 {
    margin-top: 20px;
}
.qss-submit-form .qss-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.qss-submit-form p {
    margin: 0 0 14px;
}
.logged-in form.qss-submit-form .button-primary.qss-submit {
    margin: 3rem auto 0;
    display: table
}
.qss-submit-form input[type="text"],
.qss-submit-form input[type="email"],
.qss-submit-form input[type="tel"],
.qss-submit-form input[type="number"],
.qss-submit-form select,
.qss-submit-form textarea {
    width: 100%;
    box-sizing: border-box;
}
.qss-submit-form .qs-grid {
    display: grid;
    gap: 25px;
}
/* Column variants */
.qss-submit-form .qs-grid.cols-2 {
    grid-template-columns: repeat(2, 1fr);
}
.qss-submit-form .qs-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}
.qss-submit-form .qs-grid.cols-4 {
    grid-template-columns: repeat(4, 1fr);
}
.qss-submit-form input::placeholder {
    color: transparent;
}
.qss-submit-form .qss-label {
    line-height: var(--lh-compact)
}
.qss-submit-form .qss-field:focus-within .qss-label {
    color: var(--color-primary);
}
.qss-submit-form .qs-col-span-all {
    grid-column: 1 / -1;
}
.qss-submit-form .qss-field {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: wrap;
}
.qss-submit-form .qss-field .req {
    color: var(--color-warning);
    font-weight: var(--fw-bold)
}
@media (max-width: 768px) {
    .qss-submit-form {
        max-inline-size: none;
    }
    .qss-submit-form .qs-grid.cols-2,
    .qss-submit-form .qs-grid.cols-3,
    .qss-submit-form .qs-grid.cols-4 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) {
    .qss-submit-form {
        padding: 1rem 1rem 2rem 1rem;
    }
}
/*================================================================*/
/*===== SECT: Alerts/Confirmation Pages/Forbidden/Not Found =====*/
/*==============================================================*/
/*------------------
    Alert Sucess
-------------------*/
.alert-success {
    background: var(--surface-success);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 1.5rem;
    box-shadow: var(--shadow-subtle);
}
.alert-success h1 {
    margin-top: 0;
}
.alert-success p {
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--text-primary);
}
.alert-success a {
    color: var(--link);
    font-weight: var(--fw-medium);
    text-decoration: underline;
}
.alert-success a:hover {
    color: var(--link-hover);
}
/*---------------
    Alert Info
---------------*/
.alert-info {
    background: var(--surface-info);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 1.5rem;
    box-shadow: var(--shadow-subtle);
}
.alert-info h1 {
    margin-top: 0;
    color: var(--color-primary-strong);
}
.alert-info p {
    font-size: var(--fs-base);
    line-height: var(--lh-base);
}
.alert-info a {
    color: var(--link);
    font-weight: var(--fw-medium);
    text-decoration: underline;
}
.alert-info a:hover {
    color: var(--link-hover);
}
/*---------------
    403 Pages
---------------*/
.qs-403-actions {
    margin-top: 1.5rem;
    text-align: center; /* centreaza text si linkuri */
}
.alert-warning {
    background: var(--surface-warning);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 1.5rem;
    box-shadow: var(--shadow-subtle);
}
.qs-403-actions .links {
    margin-top: 0.75rem;
    text-align: center;
}
.qs-403-actions .btn-link {
    margin: 0 0.75rem;
}
.alert-warning.prose h1 {
}
@media (max-width: 768px) {
    .qs-403-actions .links {
        display: flex;
        flex-direction: column; /* linkurile pe verticala */
        gap: 0.5rem;
    }
    .qs-403-actions .btn-link {
        margin: 0; /* scoatem marginile laterale pe mobil */
    }
}
/*-----------------
    OTHER (css)
----------------*/
.qs-role-client .qss-wrap {
    display: none;
}
.qs-only-furnizori h1 {
    display: none;
}
.qs-role-furnizor .product-cta-btn {
    display: none;
}
.qs-role-client .menu-cart-link {
    display: none
}
.qs-role-furnizor .menu-client-temp,
.qs-role-client .menu-furnizor-temp {
    display: none;
}
body:not(.logged-in) .menu-client-temp,
body:not(.logged-in) .menu-furnizor-temp {
    display: none
}
/*======================================*/
/*===== SECT: FOOTER & Newsletter =====*/
/*====================================*/
:root {
    --nl-overlap: clamp(50px, 8vw, 100px);
    --nl-max: 1180px;
}
.site-footer.full-bleed {
    background: var(--c-ink-900);
}
/*----------------------------*/
/*    Margin Top Distance    */
.site-footer.full-bleed {
    margin-top: clamp(2rem, 5vw, 4rem);
}
.home .site-footer.full-bleed,
.page-id-390580 .site-footer.full-bleed {
    margin-top: 0;
}
/*    Margin Top Distance    */
/*----------------------------*/
.site-footer .nl-section {
    position: relative;
    z-index: 2;
    background: var(--bg-page);
}
.site-footer .nl-container {
    max-width: var(--nl-max);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}
.site-footer p {
    margin-bottom: 0;
}
/*-----------------
    Newsletter
-----------------*/
.newsletter-box.qs-container.qs-inset {
    padding-block-start: unset
}
.site-footer .nl-card {
    transform: translateY(var(--nl-overlap));
    background: var(--bg-page);
    border-radius: var(--radius-card);
    border: 1px solid var(--border-strong);
    box-shadow: var(--shadow-card);
}
.newsletter-text h2 {
    color: var(--c-indigo-900);
    margin-bottom: 0.5rem;
}
.newsletter-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    align-items: center;
}
.newsletter-text {
    flex: 1 55%;
    max-width: 600px;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.newsletter-form {
    flex: 1 1 35%;
    min-width: 320px;
    border: 1px solid var(--border-subtle);
    padding: 1rem;
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    border-radius: var(--radius-card);
    margin: 40px 0 30px;
}
/*-----------------
    Footer Grid
-----------------*/
.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}
body.home .footer-grid,
body.page-id-390580 .footer-grid {
    padding-top: 90px
}
.footer-title {
    font-weight: var(--fw-semibold);
    margin: 0 0 0.5rem 0;
    color: var(--bg-page)
}
.footer-col img.logo {
    filter: brightness(0) invert(0.85);
    max-width: 150px
}
.footer-title {
    padding-top: 40px;
    letter-spacing: 0.5px;
}
.footer-list {
    list-style: none;
    padding: 0;
    margin: 30px 0 0 0
}
.footer-list a {
    display: inline-block;
    text-decoration: none;
    color: color-mix(in oklab, white 92%, black);
    padding-block: 5px;
    font-size: var(--fs-sm);
}
.footer-list li a::before {
    font-family: "bootstrap-icons";
    content: "\f470";
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
    color: var(--bg-page);
    font-size: var(--fs-sm);
}
.footer-list a:hover,
.footer-list a:focus {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.footer-list a {
    position: relative;
    padding-left: 1.4em; /* spaÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â¹ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âºiu pentru icon */
    display: inline-block;
}
.footer-list a.phone,
.footer-list a.email {
    padding-left: 25px
}
.footer-list a.phone::before {
    font-family: "bootstrap-icons";
    content: "\F5B4"; /* bi-telephone */
    position: absolute;
    left: 0;
    font-size: var(--fs-sm);
    color: var(--bg-page)
}
.footer-list a.email::before {
    font-family: "bootstrap-icons";
    content: "\F7B3"; /* bi-envelope */
    position: absolute;
    left: 0;
    font-size: var(--fs-sm);
    color: var(--bg-page)
}
/*--------------*/
/*--- About ---*/
.footer-about {
    display: flex;
    align-items: flex-start;
    font-size: var(--fs-sm);
    padding-top: 15px;
}
.footer-about .about-text p {
    margin: 0 0 0.5rem 0;
    color: var(--bg-page);
}
.footer-about .about-text span {
    margin: 0 0 0.5rem 0;
    color: var(--bg-page);
    letter-spacing: 1px;
    font-weight: var(--fw-bold)
}
.footer-about ul {
    list-style: disc;
    margin: 0;
    padding-left: 1.25rem;
}
.footer-about li {
    padding-block: 5px;
    color: var(--bg-page)
}
.footer-copy {
    text-align: center;
}
/*---------------*/
/*--- Social ---*/
.site-footer a.facebook {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    text-decoration: none;
    transition: background-color 0.2s ease;
    border-radius: var(--radius-base);
    border: 1px solid var(--border-strong);
    background: var(--bg-page);
    margin-top: 15px;
}
.site-footer a.facebook i {
    font-size: var(--fs-17);
    color: var(--color-primary-strong)
}
.site-footer a.facebook:hover,
.site-footer a.facebook:focus {
    background-color: var(--bg-icons-active-focus);
}
/*------------------*/
/*    Copyright    */
.footer-bottom {
    border-top: 1px solid var(--border-white);
    margin-top: clamp(20px, 3vw, 32px);
    padding-block: 10px;
}
.footer-copy {
    font-size: var(--fs-sm);
    color: color-mix(in oklab, white 85%, black);
    padding: 0;
    margin: 0;
    line-height: var(--lh-compact)
}
@media (max-width: 1024px) {
    .newsletter-text {
        flex: 1 40%;
    }
    .newsletter-form {
        flex: 1 1 20%;
    }
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .newsletter-grid {
        gap: unset;
        flex-direction: column
    }
    .newsletter-form {
        margin: 30px 0 30px;
    }
    .site-footer h2 {
        margin-top: 30px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-title {
        padding-top: 20px;
        letter-spacing: 0.5px;
    }
    .footer-list {
        list-style: none;
        padding: 0;
        margin: 15px 0 0 0
    }
}
@media (max-width: 480px) {
    :root {
        --nl-overlap: 60px;
    }
    .newsletter-form {
        min-width: unset
    }
}
/*===============================*/
/*===== SECT: Contact Page =====*/
/*=============================*/
.contact-wrap {
    margin-block-start: clamp(0.75rem, 2.2vw, 1.75rem);
}
.contact-wrap .custom-icon {
    font-size: 2rem;
    color: var(--text-primary)
}
.contact-wrap i .bi-envelope-arrow-down {
    font-size: 30px;
    display: none;
}
.contact-wrap h2 {
    font-size: var(--fs-lg);
    margin-bottom: 1rem
}
.contact-wrap .right-col {
    border: 1px solid var(--border-strong);
    padding: 2rem;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-subtle);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
}
/*===== SECT: Woocommerce - Other Settings =====*/
/*=============================================*/
/* Hide 'view basket' when a new product is added */
.summary.entry-summary .added_to_cart.wc-forward {
    display: none
}
/*=================================*/
/*===== SECT: Single Product =====*/
/*===============================*/
.single-product .qs-container {
    padding-block-start: clamp(0.5rem, 1.2vw, 1rem);
}
.qs-container.qs-inset div.product > .product_title.entry-title {
    max-width: clamp(24ch, 28ch + 1vw, 32ch);
    margin-bottom: clamp(10px, 1.2vw, 14px);
    text-wrap: balance;
    hyphens: auto;
    overflow-wrap: anywhere;
}
/*------------------
    Breadcrumbs
-----------------*/
/* ===== Breadcrumb and single product ===== */
body.single-product nav.woocommerce-breadcrumb {
    display: block;
    float: none;
    text-align: right;
    margin: 12px auto 0;
    color: var(--text-secondary);
    font-size: clamp(.9rem, .85rem + .2vw, .95rem);
    line-height: 1.4;
    text-wrap: pretty;
}
nav.woocommerce-breadcrumb a {
    color: var(--text-secondary);
    text-decoration: none;
    position: relative;
}
nav.woocommerce-breadcrumb a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}
nav.woocommerce-breadcrumb a:first-of-type::before {
    font-family: "bootstrap-icons";
    font-weight: normal;
    font-style: normal;
    font-size: 1em;
    line-height: 1;
    display: inline-block;
    content: "\F425";
    margin-right: .4em;
    vertical-align: -0.1em;
}
nav.woocommerce-breadcrumb a::after {
    content: "";
    display: inline-block;
    width: .42em;
    height: .42em;
    margin: 0 .55em;
    border-radius: 999px;
    background: currentColor;
    opacity: .55;
    vertical-align: middle;
    transform: translateY(-.06em);
}
/*--------------
    Gallery
-------------*/
.qs-container.qs-inset .woocommerce-product-gallery {
    position: relative;
    border-radius: var(--radius-card);
    border: 1px solid var(--border-subtle);
    background: var(--bg-page);
    box-shadow: var(--shadow-subtle);
    padding: clamp(10px, 1.6vw, 16px);
}
.qs-container.qs-inset .woocommerce-product-gallery__wrapper {
    background: var(--bg-page);
    border-radius: calc(var(--radius-card) - 6px);
    overflow: hidden;
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--border-subtle) 70%, transparent);
}
.qs-container.qs-inset .woocommerce-product-gallery__image {
    overflow: hidden;
    border-radius: calc(var(--radius-card) - 8px);
}
.qs-container.qs-inset .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    background: var(--bg-page);
}
.qs-container.qs-inset .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: var(--bg-page);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-subtle);
    transition: transform .08s ease;
}
.qs-container.qs-inset .woocommerce-product-gallery__trigger:hover {
    transform: scale(1.03);
}
/*--------------------------
    Short Description
--------------------------*/
.single-product .woocommerce-product-details__short-description p {
    font-size: var(--fs-md);
}
/*--------------------------
    Custom Details Table
--------------------------*/
.qs-container.qs-inset .qs-product-extra.box {
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-subtle);
    padding: clamp(12px, 1.8vw, 18px);
    margin-block: 4px 16px;
}
/* Heading */
.qs-container.qs-inset .qs-product-extra .product-custom-heading {
    font-size: var(--fs-lg);
    line-height: var(--lh-compact);
    margin: 0 0 8px;
    color: var(--text-primary);
}
/* Tabel */
.qs-container.qs-inset .qs-product-extra .qs-meta-table {
    width: 100%;
    border-collapse: collapse;
}
/* Celule (compact + linie fina) */
.qs-container.qs-inset .qs-product-extra .qs-meta-table th,
.qs-container.qs-inset .qs-product-extra .qs-meta-table td {
    padding: 8px 12px; /* compact */
    border-top: 1px solid color-mix(in oklab, var(--border-subtle) 80%, transparent);
    vertical-align: top;
    line-height: 1.4;
}
/* Cap de rand (etichete) */
.qs-container.qs-inset .qs-product-extra .qs-meta-table th {
    width: 40%;
    color: var(--text-primary);
    font-weight: var(--fw-medium);
    letter-spacing: .01em;
    font-size: clamp(.85rem, .8rem + .15vw, .9rem);
    text-align: left;
}
/* Valori */
.qs-container.qs-inset .qs-product-extra .qs-meta-table td {
    color: var(--text-primary);
    font-size: clamp(.9rem, .85rem + .2vw, 1rem);
}
/*-------------------
    Cart & Button
-------------------*/
.single-product .qs-container.qs-inset .summary.entry-summary form.cart {
    display: grid;
    grid-template-columns:1fr auto;
    gap: 10px;
    align-items: center;
    margin-block: 12px 6px;
}
.qs-container.qs-inset .single_add_to_cart_button.button.alt {
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    border-radius: var(--radius-base);
    border: 1px solid color-mix(in oklab, var(--action-primary-bg) 85%, black);
    padding: 10px 16px;
    box-shadow: var(--shadow-subtle);
    transition: transform .06s ease, background-color .18s ease;
}
.qs-container.qs-inset .single_add_to_cart_button.button.alt:hover {
    background: var(--action-primary-bg-hover);
}
.qs-container.qs-inset .single_add_to_cart_button.button.alt:active {
    background: var(--action-primary-bg-active);
    transform: translateY(1px);
}
.qs-container.qs-inset .single_add_to_cart_button.button.alt:focus-visible {
    outline: 2px solid var(--border-accent);
    outline-offset: 2px;
}
/*---------------------
    Category & Meta
---------------------*/
.qs-container.qs-inset .product_meta {
    display: none;
}
.qs-container.qs-inset .product_meta a {
    color: var(--link);
    text-decoration: none;
}
.qs-container.qs-inset .product_meta a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}
/*----------------------
    Related Products
---------------------*/
.single-product .qs-container.qs-inset .related ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px
}
.single-product .qs-container.qs-inset .related ul.products h2.woocommerce-loop-product__title {
    text-align: center;
    margin: 5px 0 8px;
    padding: 0 15px;
}
/*------------------------------------------
    Description & Related Products Titles
-------------------------------------------*/
.single-product .qs-container.qs-inset ul.tabs.wc-tabs {
    display: none
}
.qs-container.qs-inset .woocommerce-Tabs-panel--description h2 {
    position: relative;
    padding-top: clamp(0.5rem, 2.5vw, 1.25rem);
    padding-bottom: 0.75rem;
}
.qs-container.qs-inset .woocommerce-Tabs-panel--description h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%; /* full width */
    height: 1px; /* grosimea liniei */
    background-color: var(--border-strong);
}
.single-product .qs-container .related.products h2 {
    padding-top: 10px
}
@media (min-width: 1024px) {
    .qs-container.qs-inset .woocommerce-text-align-left {
        text-align: left;
    }
    .qs-container.qs-inset .woocommerce-product-gallery {
        margin-top: 4px;
    }
    .qs-container.qs-inset .qs-product-extra.box {
        margin-top: 8px;
    }
}
@media (max-width: 1024px) {
    body.single-product nav.woocommerce-breadcrumb {
        margin: 0 auto 18px;
    }
    .single-product .qs-container.qs-inset .related ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 1024px) {
    .single-product .qs-container {
        padding-block-start: clamp(.75rem, 1.8vw, 1.5rem);
    }
    /*----------------------
        Related Products
    ---------------------*/
    .single-product .qs-container.qs-inset .related ul.products .wc-product-image .inside-wc-product-image {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .single-product .qs-container.qs-inset .related ul.products .wc-product-image img {
        max-width: 80%;
        max-height: 80%;
        height: auto;
        margin: 0 auto;
        object-fit: contain;
    }
    .single-product .qs-container.qs-inset .related ul.products h2.woocommerce-loop-product__title {
        text-align: center;
        margin: 10px 0 8px;
        padding: 0 15px;
    }
}
@media (max-width: 768px) {
    /*----------------
    Breadcrumbs
---------------*/
    body.single-product nav.woocommerce-breadcrumb {
        text-align: left;
    }
    body.single-product nav.woocommerce-breadcrumb {
        margin: 6px auto 9px;
        padding-inline: clamp(8px, 2vw, 14px);
        text-align: left;
    }
    body.single-product nav.woocommerce-breadcrumb a:first-of-type::before {
        margin-right: .3em;
        vertical-align: -0.08em;
    }
    body.single-product nav.woocommerce-breadcrumb a::after {
        margin: 0 .325em;
    }
    body.single-product nav.woocommerce-breadcrumb {
        font-size: clamp(.85rem, .8rem + .2vw, .9rem);
    }
    .woocommerce.single-product div.product div.images {
        margin-bottom: 0;
    }
    /*---------------------
        Related Products
    ---------------------*/
    .single-product .qs-container.qs-inset .related ul.products {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        --card-gap: 10px;
        gap: var(--card-gap);
    }
}
@media (max-width: 480px) {
    /* Button */
    .single-product .qs-container.qs-inset .summary.entry-summary form.cart {
        grid-template-columns:1fr;
    }
    /*----------------------------
        Short Description Table
    ----------------------------*/
    .qs-container.qs-inset .qs-product-extra .qs-meta-table th {
        font-size: .85rem;
    }
    .qs-container.qs-inset .qs-product-extra .qs-meta-table td {
        font-size: .95rem;
    }
    .qs-container.qs-inset .qs-product-extra .qs-meta-table th,
    .qs-container.qs-inset .qs-product-extra .qs-meta-table td {
        padding: 7px 10px;
    }
    /*---------------------
    Related Products
---------------------*/
    .single-product .qs-container.qs-inset .related ul.products {
        grid-template-columns: 1fr;
    }
    .single-product .qs-container.qs-inset .related ul.products h2.woocommerce-loop-product__title {
        text-align: center;
        margin: 15px 0 15px;
    }
    /*------------------------------------------
        Description & Related Products Titles
    -------------------------------------------*/
    .qs-container.qs-inset .woocommerce-Tabs-panel--description h2 {
        padding-top: 0;
    }
    .single-product .qs-container .related.products h2 {
        padding-top: 10px
    }
}
/*==========================*/
/*===== SECT: Produse =====*/
/*========================*/
#wc-column-container .products {
    --card-gap: clamp(16px, 2.2vw, 28px);
    display: grid;
    gap: var(--card-gap);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0;
    margin: 0;
}
#wc-column-container.wc-columns-4 .products {
    grid-template-columns: repeat(4, 1fr);
}
.products li.product {
    list-style: none;
    background: var(--bg-page);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: clamp(12px, 1.6vw, 16px);
    transition: border-color .3s ease, box-shadow .3s ease;
    cursor: default;
}
.products li.product:hover {
    /* fara lift pe card */
    transform: none;
    box-shadow: var(--shadow-card);
    border-color: var(--border-strong);
}
/*=== Main Title ===*/
body.post-type-archive h1.page-title {
    margin: 0;
}
/*------------
    Images
------------*/
.products li.product .wc-product-image,
.products li.product .inside-wc-product-image {
    border-radius: calc(var(--radius-card) - 2px);
    overflow: hidden;
}
.qs-container.qs-inset .products li.product .wc-product-image {
    display: block;
    overflow: hidden;
    border-radius: var(--radius-card);
    background: var(--bg-page);
}
.qs-container.qs-inset .products li.product .wc-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* sau cover daca vrei sa umple complet */
    display: block;
}
/* Smoother, slower start + gentler scale */
.products li.product .wc-product-image img {
    transform: scale(1);
    transform-origin: center center;
    will-change: transform, filter;
    backface-visibility: hidden;
    transition: transform .6s cubic-bezier(.4, 0, .2, 1),
    filter .35s ease;
}
.products li.product .woocommerce-LoopProduct-link:hover .wc-product-image img,
.products li.product .woocommerce-loop-product__link:hover .wc-product-image img,
.products li.product .woocommerce-LoopProduct-link:focus-visible .wc-product-image img,
.products li.product .woocommerce-loop-product__link:focus-visible .wc-product-image img {
    transform: scale(1.02); /* mai fin decat 1.04 */
    filter: contrast(1.015) saturate(1.02);
}
/* Optional: tiny delay to soften the ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“startleÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â even more */
.products li.product .wc-product-image img {
    transition-delay: 30ms;
}
@media (hover: none) {
    .products li.product .wc-product-image img {
        transition: none;
    }
}
/*------------
    Title
------------*/
.qs-container.qs-inset ul.products h2.woocommerce-loop-product__title {
    color: var(--text-primary);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-compact);
    display: -webkit-box;
    margin: 0 15px;
    font-size: var(--fs-md);
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
}
/*-----------------
    Description
-----------------*/
/* Clamping pe descriere: ellipsis (ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦) dupa N randuri */
.qs-container.qs-inset ul.products .woocommerce-product-details__short-description {
    --desc-lines: 2;
    color: var(--text-primary);
    font-size: var(--fs-lg);
    line-height: var(--lh-base);
    margin: 0 15px 10px;
    display: -webkit-box;
    -webkit-line-clamp: var(--desc-lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.qs-container.qs-inset ul.products .woocommerce-product-details__short-description p {
    font-size: 1rem
}
/*------------
    Button
------------*/
.qs-container.qs-inset .products li.product .button,
.qs-contaiser.qs-inset .products li.product .qs-loop-details.button {
    --btn-pad-y: 10px;
    --btn-pad-x: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    gap: 8px;
    padding: var(--btn-pad-y) var(--btn-pad-x);
    border-radius: var(--radius-base);
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
    border: 1px solid var(--action-primary-bg);
    font-size: var(--fs-base);
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, transform .06s ease;
    max-width: 80%;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    cursor: pointer;
}
.products li.product .button:hover,
.products li.product .qs-loop-details.button:hover {
    background: var(--action-primary-bg-hover);
    border-color: var(--action-primary-bg-hover);
}
.products li.product .button:active,
.products li.product .qs-loop-details.button:active {
    background: var(--action-primary-bg-active);
    border-color: var(--action-primary-bg-active);
    transform: translateY(1px);
}
.products li.product .button:focus-visible,
.products li.product .qs-loop-details.button:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--color-primary) 55%, white);
    outline-offset: 2px;
}
/*------------
    Sorting
-------------*/
#wc-column-container .woocommerce-ordering,
#wc-column-container .woocommerce-result-count {
    margin-block: 0 14px;;
}
#wc-column-container .woocommerce-ordering {
    display: inline-flex;
    align-items: center;
}
#wc-column-container .woocommerce-ordering .orderby {
    appearance: none;
    background: var(--bg-page);
    color: var(--text-primary);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base);
    padding: 8px 12px;
    font-size: var(--fs-sm);
    line-height: 1;
    min-width: 230px;
    box-shadow: var(--shadow-subtle);
    transition: border-color .2s ease, box-shadow .2s ease;
}
#wc-column-container .woocommerce-ordering .orderby:focus-visible {
    border-color: var(--border-accent);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 22%, white);
}
#wc-column-container .woocommerce-result-count {
    color: var(--text-secondary);
    font-size: clamp(.9rem, .85rem + .2vw, .95rem);
    float: right
}
.woocommerce-text-align-center .woocommerce-LoopProduct-link,
.woocommerce-image-align-center .woocommerce-LoopProduct-link {
    text-align: left;
}
.woocommerce-text-align-center li.product {
    text-align: left;
}
/*----------------
    Pagination
---------------*/
.qs-container.qs-inset ul.page-numbers a:hover {
    color: var(--action-primary-text);
    background-color: var(--link-hover);
}
.qs-container.qs-inset ul.page-numbers .current {
    color: var(--action-primary-text);
    background-color: var(--c-indigo-900);
    cursor: default;
}
.post-type-archive nav.woocommerce-breadcrumb {
    display: none;
}
@media (max-width: 1024px) {
    #wc-column-container.wc-tablet-columns-2 .products {
        grid-template-columns: repeat(2, 1fr);
    }
    .qs-container.qs-inset .products li.product .wc-product-image {
        padding-top: clamp(12px, 3vw, 24px);
    }
    /*=== Title & Description ===*/
    .qs-container.qs-inset ul.products h2.woocommerce-loop-product__title {
        text-align: center
    }
    .qs-container.qs-inset ul.products .woocommerce-product-details__short-description {
        text-align: center
    }
}
@media (max-width: 768px) {
    #wc-column-container .woocommerce-result-count {
        float: unset
    }
    #wc-column-container.wc-mobile-columns-1 .products {
        grid-template-columns: 1fr;
    }
}
/*=======================================*/
/*===== SECT: Home Page Intro Hero =====*/
/*=====================================*/
.hero-home {
    position: relative;
    overflow: clip;
    background: var(--bg-page)
}
.hero-home::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--c-soft-ice-blue);
    clip-path: polygon(0 0, 50% 0, 65% 100%, 0 100%);
    z-index: 0;
}
.hero-home .hero-inner {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding-top: clamp(16px, 4vw, 64px);
    padding-bottom: clamp(32px, 6vw, 96px);
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 72px);
}
.hero-home .hero-col {
    flex: 1 1 0;
    min-width: 0;
}
.hero-home .hero-col-text {
    flex-basis: 70%;
}
.hero-home .hero-col-img {
    flex-basis: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.hero-home .hero-col-img::before {
    content: "";
    position: absolute;
    inset: -10% -10% -10% -10%;
    background-image: radial-gradient(circle at 20% 30%, rgba(30, 58, 138, .06) 0 2px, transparent 3px),
    linear-gradient(60deg, rgba(30, 58, 138, .04) 1px, transparent 1px),
    linear-gradient(-60deg, rgba(30, 58, 138, .04) 1px, transparent 1px);
    background-size: 40px 40px, 24px 24px, 24px 24px;
    background-position: 0 0, 0 0, 0 0;
    pointer-events: none;
}
.hero-home .hero-col-img img {
    width: min(560px, 100%) !important;
    height: auto;
    display: block;
}
.hero-home h1.hero-title {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 4vw + 1rem, 3.25rem);
}
.hero-home .hero-home .eyebrow {
    font-weight: var(--fw-semibold);
    margin-bottom: 15px;
    font-size: var(--fs-lg)
}
.hero-home .eyebrow {
    font-weight: var(--fw-semibold);
    font-size: var(--fs-lg);
    margin-bottom: 15px;
}
.hero-home .eyebrow::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url('/wp-content/uploads/design/chemport-logo-sign-small.png') no-repeat center center;
    background-size: contain;
    vertical-align: middle;
}
.hero-home .hero-sub-text {
    margin: 0 0 1.5rem;
    max-width: 52ch;
    font-size: var(--fs-base)
}
.hero-home a.btn::before {
    font-family: "bootstrap-icons";
    content: "\F1C7";
    display: inline-block;
    margin-right: 0.5em;
    font-size: 1em;
    vertical-align: middle;
}
.hero-home a.btn:hover::before {
    font-family: "bootstrap-icons";
    content: "\F7D3";
    display: inline-block;
    margin-right: 0.5em;
    font-size: 1em;
    vertical-align: middle;
    opacity: 0.9
}
@media (max-width: 1024px) {
    .hero-home .hero-col-img img {
        display: none
    }
    .hero-home .hero-inner {
        display: flex;
        flex-direction: column
    }
}
@media (max-width: 480px) {
    .hero-home .hero-inner {
        padding-bottom: clamp(20px, 6vw, 96px);
    }
    .hero-home h1.hero-title {
        font-size: clamp(2rem, 4vw + 0.5rem, 3.25rem);
    }
}
@media (max-width: 375px) {
    .hero-home h1.hero-title {
        font-size: clamp(1.8rem, 4vw + 0.5rem, 3.25rem);
    }
}
/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/
/*===============================================*/
.logged-in .alert-success.prose.loggedin {
    display: none;
}
/*-----------------
    Welcome Box
-----------------*/
.account-welcome .aw-card {
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    padding: clamp(16px, 2.5vw, 28px);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    box-shadow: var(--shadow-subtle)
}
.qs-container.qs-inset .account-welcome .aw-lead {
    margin: 0 0 1rem 0;
    font-size: var(--fs-lg);
    line-height: var(--lh-base);
    color: var(--text-primary);
}
.qs-container.qs-inset .account-welcome .aw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.qs-container.qs-inset .account-welcome .aw-actions a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    text-decoration: none;
    background: var(--bg-page);
    color: var(--link);
    transition: transform 120ms ease, border-color 120ms ease, color 120ms ease;
}
.qs-container.qs-inset .account-welcome .aw-actions a:hover {
    color: var(--link-hover);
    transform: translateY(-1px);
}
.qs-container.qs-inset .account-welcome .aw-ico {
    width: 1.1em;
    height: 1.1em;
    stroke-width: 1.6;
    flex: 0 0 auto;
}
@media (max-width: 480px) {
    .qs-container.qs-inset .account-welcome .aw-actions a {
        padding: 7px 10px;
    }
}
/*-------------
    SIDEBAR
-------------*/
.woocommerce-MyAccount-navigation {
    --nav-bg: var(--c-base-0, #fff);
    --nav-accent: var(--c-indigo-500, #4c6ef5);
    --nav-pad: clamp(6px, 0.8vw, 10px);
    --nav-gap: 6px;
}
.qs-container.qs-inset .aw-actions a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.qs-container.qs-inset .aw-ico {
    font-size: 1.05rem;
    line-height: 1;
    flex: 0 0 auto;
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: var(--nav-pad);
    display: flex;
    flex-direction: column;
    gap: var(--nav-gap);
    border-radius: var(--radius-card);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    border: 1px solid var(--border-strong);
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: clamp(10px, 1.2vw, 12px) clamp(12px, 1.6vw, 16px);
    color: var(--text-primary);
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .06s ease;
    border-radius: var(--radius-base);
    background: var(--bg-page);
    border: 1px solid var(--border-subtle);
    font-weight: var(--fw-medium)
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation li a:hover {
    background: color-mix(in oklab, var(--nav-bg) 88%, var(--nav-accent) 12%);
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation li.is-active > a,
.qs-container.qs-inset .woocommerce-MyAccount-navigation li[aria-current="page"] > a {
    background: color-mix(in oklab, var(--nav-bg) 85%, var(--nav-accent) 15%);
    font-weight: var(--fw-semibold);
    color: var(--link-visited)
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation li a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in oklab, #fff 60%, var(--nav-accent) 40%);
}
.qs-container.qs-inset .woocommerce-MyAccount-navigation li a .bi {
    font-size: 1.05rem;
    line-height: 0;
    opacity: .95;
    color: currentColor;
}
@media (max-width: 768px) {
    .qs-container.qs-inset .woocommerce-MyAccount-navigation ul {
        margin-bottom: 30px;
    }
    .qs-container.qs-inset p.dashboard-welcome {
        margin: 20px 0;
    }
}
@media (max-width: 480px) {
    .qs-container.qs-inset .woocommerce-MyAccount-navigation li a {
        padding: 10px 12px;
        gap: 8px;
    }
}
/* ===============================
   My Account => Addresses (card)
   =============================== */
/* stack on narrow screens */
@media (max-width: 768px) {
    .qs-account-content .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}
/* columns */
.qs-container.qs-inset .qs-account-content .woocommerce-Address {
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    padding: clamp(12px, 2vw, 18px);
    box-shadow: var(--shadow-subtle);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
}
.qs-container.qs-inset .qs-account-content .woocommerce-Address .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 8px 0;
}
.qs-container.qs-inset .qs-account-content .woocommerce-Address .woocommerce-Address-title h2 {
    margin: 0;
    line-height: var(--lh-h3);
}
.qs-container.qs-inset .qs-account-content .woocommerce-Address .woocommerce-Address-title .edit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    text-decoration: none;
    background: var(--bg-page);
    color: var(--link);
    transition: transform 120ms ease, border-color 120ms ease, color 120ms ease;
}
.qs-container.qs-inset .qs-account-content .woocommerce-Address .woocommerce-Address-title .edit:hover {
    color: var(--link-hover);
    transform: translateY(-1px);
}
.qs-container.qs-inset .qs-account-content .woocommerce-Address address {
    margin: 0;
    line-height: var(--lh-base);
    color: var(--text-primary);
}
.qs-container.qs-inset .qs-account-content > p {
    display: none;
}
.qs-container.qs-inset.qs-container.qs-inset .qs-account-content .woocommerce-Address-title a::before {
    content: "\F4CA"; /* cod glyph pentru bi-house */
    font-family: "bootstrap-icons";
    font-size: 1.1em;
    color: var(--link);
    display: inline-block;
    line-height: 1;
}
form.woocommerce-EditAccountForm.edit-account {
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    padding: 20px 25px 10px 25px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card)
}
.qs-container.qs-inset form.qs-produsele-mele-filters select,
.qs-container.qs-inset form.qs-produsele-mele-filters input[type="search"] {
    padding: 6px 10px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-base)
}
.qs-container.qs-inset table.shop_table thead th {
    text-align: left;
    font-weight: 600;
    padding: 8px 12px;
    border: 1px solid var(--border-subtle);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
}
.qs-container.qs-inset table.shop_table tbody td {
    padding: 10px 12px;
    vertical-align: middle;
}
/*============================================================*/
/*===== SECT: Plugin "Side Cart WooCommerce" SidePanel  =====*/
/*==========================================================*/
.xoo-wsc-container .xoo-wsc-footer-txt {
    display: none
}
.xoo-wsc-container .xoo-wsch-text {
    font-size: var(--fs-lg);
    font-weight: var(--fw-medium);
}
.xoo-wsc-container a.xoo-wsc-ft-btn-checkout {
    display: none
}
.xoo-wsc-container .xoo-wsc-ft-totals {
    padding: 0
}
.xoo-wsc-container .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn {
    border: unset
}
.xoo-wsc-container .xoo-wsc-icon-cross:before {
    color: var(--color-primary)
}
.xoo-wsc-container span.xoo-wsc-pname a {
    color: var(--color-primary)
}
.xoo-wsc-container span.xoo-wsc-pname a:hover {
    color: var(--link-hover)
}
/*==============================*/
/*===== SECT: Terms Pages =====*/
/*============================*/
.terms-wrap h2 {
    font-size: 1.85rem;
    line-height: var(--lh-h3);
    font-weight: 600;
}
@media (max-width: 1023px) {
    .terms-wrap h2 {
        font-size: clamp(1.50rem, 4.3vw, 1.80rem);
    }
}
.terms-wrap h3 {
    font-size: 1.60rem;
    line-height: var(--lh-h4);
    font-weight: 600;
}
@media (max-width: 1023px) {
    .terms-wrap h3 {
        font-size: clamp(1.30rem, 4.0vw, 1.60rem);
    }
}
/*=============================================*/
/*===== SECT: PAGE - Intrebari Frecvente =====*/
/*===========================================*/
.faq .faq-panel {
    max-width: var(--prose-max);
}
.qs-container.qs-inset.faq .prose {
    margin-inline: unset;
}
.qs-container.qs-inset.qs-inset-tight.faq h3 {
    display: none
}
.qs-container.qs-inset.qs-inset-tight.faq {
    padding-top: 20px;
}
/*-------------------------------------
    Table: Tipuri de date colectate
-------------------------------------*/
.terms-table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--ff-base);
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--text-primary);
    border-radius: var(--radius-table);
    background: var(--c-base-0);
    min-width: 720px;
}
.data-table caption {
    text-align: left;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-lg);
}
.data-table th,
.data-table td {
    padding: 1rem 1rem;
    vertical-align: top;
    border: 1px solid var(--border-subtle);
}
.data-table thead th {
    background: var(--surface-info);
    font-weight: var(--fw-medium);
    text-align: left;
}
.data-table tbody td:first-child {
    font-weight: var(--fw-medium);
}
@media (max-width: 768px) {
    .data-table {
        min-width: 0;
        border: 0;
    }
    .data-table thead {
        display: none;
    }
    .data-table tbody tr {
        display: block;
        border: 1px solid var(--border-strong);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-subtle);
        margin-block: 0.75rem;
        background: var(--c-base-0);
    }
    .data-table tbody td {
        display: grid;
        grid-template-columns: 11ch 1fr;
        gap: 0.75rem;
        border: 0;
        border-top: 1px solid var(--border-subtle);
        padding: 0.75rem 0.875rem;
        font-size: var(--fs-sm);
    }
    .data-table tbody td:first-child {
        border-top: 0;
        border-top-left-radius: var(--radius-card);
        border-top-right-radius: var(--radius-card);
    }
    .data-table tbody td::before {
        content: attr(data-label);
        font-weight: var(--fw-medium);
    }
    .data-table caption {
        padding-left: 0.25rem;
    }
}
/*------------------------------------------------
    Table: Scopul prelucrării vs temeiul legal
-------------------------------------------------*/
.gdpr-matrix {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--ff-base);
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--text-primary);
    background: var(--c-base-0);
    border-radius: var(--radius-table);
    min-width: 720px; /* desktop comfort */
}
/* Caption & header */
.gdpr-cap {
    text-align: left;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-lg);
    padding: .75rem 0 .5rem 0;
}
.gdpr-matrix th,
.gdpr-matrix td {
    padding: 1rem 1rem;
    vertical-align: top;
    border: 1px solid var(--border-subtle);
}
.gdpr-matrix thead th {
    background: var(--surface-info);
    text-align: left;
    font-weight: var(--fw-medium);
}
.gdpr-matrix td:first-child strong {
    font-weight: var(--fw-medium);
}
.gdpr-matrix .tick {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .5rem;
    border-radius: 999px;
    background: var(--surface-info);
    vertical-align: top;
}
.gdpr-matrix .tick svg path {
    fill: currentColor;
}
.gdpr-matrix .tick {
    color: var(--text-primary);
}
@media (max-width: 768px) {
    .gdpr-matrix {
        min-width: 0;
        border: 0;
    }
    .gdpr-matrix thead {
        display: none;
    }
    .gdpr-matrix tbody tr {
        display: block;
        background: var(--c-base-0);
        border: 1px solid var(--border-strong);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-subtle);
        margin-block: .75rem;
    }
    /* stack cells; show a small label above each */
    .gdpr-matrix tbody td {
        display: block;
        border: 0;
        border-top: 1px solid var(--border-subtle);
        padding: .9rem .95rem;
        font-size: var(--fs-sm);
    }
    .gdpr-matrix tbody td:first-child {
        border-top: 0;
        border-top-left-radius: var(--radius-card);
        border-top-right-radius: var(--radius-card);
    }
    .gdpr-matrix tbody td::before {
        content: attr(data-col);
        display: block;
        margin-bottom: .35rem;
        font-weight: var(--fw-medium);
    }
    .gdpr-matrix tbody td[data-col="Scopul prelucrării"] .tick {
        display: inline-flex;
        width: 1.25rem;
        height: 1.25rem;
        margin-right: .5rem;
        margin-top: .1rem;
        vertical-align: top;
        border-radius: 999px;
        background: var(--surface-info);
        color: var(--text-primary);
    }
    .gdpr-matrix tbody td[data-col="Scopul prelucrării"] .tick svg {
        width: 1rem;
        height: 1rem;
    }
    .gdpr-matrix tbody td strong {
        font-weight: var(--fw-medium);
    }
}
/*================================*/
/*===== SECT: Cookie Banner =====*/
/*==============================*/
:root {
    --cc-maxw: 1115px;
    --cc-z: 2147483000;
}
.cc-banner {
    margin: 0 auto;
    max-width: var(--cc-maxw);
    position: fixed;
    inset-inline: 16px;
    bottom: 15px;
    z-index: var(--cc-z);
    animation: cc-slide-up .35s ease-out both;
}
.cc-banner .cc-inner {
    background: var(--bg-page);
    color: var(--c-ink-900);
    border-radius: var(--radius-modal);
    box-shadow: var(--shadow-modal);
    padding: 15px 18px;
    display: flex;
    align-items: center;
    gap: 18px;
    border: 1px solid var(--border-subtle)
}
.cc-banner .cc-text {
    line-height: 1.45;
    font-size: var(--fs-15);
    flex: 1 1 auto;
    color: var(--c-ink-900)
}
.cc-banner .cc-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex: 0 0 auto;
}
.cc-banner .cc-btn {
    appearance: none;
    cursor: pointer;
    white-space: nowrap;
}
#cookie-consent:focus,
#cookie-consent:focus-visible {
    outline: none
}
@media (max-width: 768px) {
    .cc-banner .cc-inner {
        flex-direction: column;
        align-items: stretch;
    }
    .cc-banner .cc-actions {
        width: 100%;
        flex-direction: column;
    }
    .cc-banner .cc-btn {
        width: 100%;
    }
}
@keyframes cc-slide-up {
    from {
        transform: translateY(12px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    .cc-banner {
        animation: none;
    }
}
/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/
/*===========================*/
/*===== DEV: Front page =====*/
.home-hero h1 {
}
.home-hero .intro {
    font-size: var(--fs-lg);
    font-weight: var(--fw-medium);
    margin-bottom: 10px;
}
.gb-shape svg,
.services-grid .icon svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-second-section .boxes {
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    padding: 1rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
}
.testimonial-wrap {
    background: white;
    padding: 1rem;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    padding: 70px 0 100px 0;
}
.testimonial-inner {
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    padding: 3rem 3rem 2rem 3rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
}
@media (max-width: 480px) {
    .testimonial-inner {
        padding: 3rem 1rem 2rem 1rem;
    }
}
h1.entry-title {
    font-size: 30px !important;
    margin-top: 30px;
    padding-left: 208px
}
/* ===== About Page ===== */
.qs-about {
    background: var(--bg-page);
    color: var(--text-primary);
}
:root {
    --col-left: 50%; /* poti modifica latimea coloanei stangi */
    --col-right: 50%; /* poti modifica latimea coloanei drepte */
    --gap-cols: 24px; /* spatiu intre coloane */
}
.qs-about-two-cols {
    display: flex;
    gap: var(--gap-cols);
}
.qs-about-two-cols > .col-left {
    flex: var(--col-left);
}
.qs-about-two-cols > .col-right {
    flex: var(--col-right);
}
/* Responsive: sub 768px devin una sub alta */
@media (max-width: 768px) {
    ..qs-about-two-cols {
        flex-direction: column;
    }
    .qs-two-cols > .col-left,
    .qs-two-cols > .col-right {
        flex: 1 1 100%;
    }
}
.qs-about-two-cols .col-left p {
    font-size: var(--fs-lg)
}
.qs-about-hero {
    display: grid;
    place-items: center;
    margin: clamp(1rem, 3vw, 2rem) 0 clamp(1.5rem, 4vw, 3rem);
}
.about-illustration {
    width: min(100%, 760px);
    height: auto;
    filter: drop-shadow(var(--shadow-card));
}
/* Cards grid */
.qs-about-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1rem, 2.5vw, 1.5rem);
}
@media (min-width: 900px) {
    .qs-about-grid {
        grid-template-columns: repeat(12, 1fr);
    }
    .qs-about-grid .qs-card:nth-child(1),
    .qs-about-grid .qs-card:nth-child(2) {
        grid-column: span 6;
    }
    .qs-about-grid .qs-card:nth-child(3) {
        grid-column: span 7;
    }
    .qs-about-grid .qs-card:nth-child(4) {
        grid-column: span 5;
    }
    .qs-about-grid .qs-stats {
        grid-column: span 12;
    }
    .qs-about-grid .qs-card:last-child {
        grid-column: span 12;
    }
}
.qs-card {
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    padding: clamp(1rem, 2.2vw, 1.25rem);
    background: color-mix(in oklab, var(--surface-info) 65%, white);
    box-shadow: var(--shadow-subtle);
}
.qs-card h2 {
    margin-bottom: 0.5rem;
}
.qs-steps {
    margin: 0.5rem 0 0 1.25rem;
    line-height: var(--lh-base);
}
.qs-bullets {
    margin: 0.5rem 0 0 1.25rem;
    line-height: var(--lh-base);
    list-style: disc;
}
/* Stats */
.qs-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.75rem, 2vw, 1rem);
    text-align: center;
    background: var(--surface-info);
    border-color: var(--border-subtle);
}
.qs-stats .stat {
    padding: clamp(0.75rem, 2vw, 1rem);
    background: #fff;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
}
.qs-stats .kpi {
    display: block;
    font-weight: var(--fw-bold);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
    color: var(--color-primary-strong);
    line-height: var(--lh-compact);
}
.qs-stats .label {
    display: block;
    font-size: var(--fs-sm);
    color: var(--text-secondary);
}
/* CTA */
.qs-about-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: clamp(1.5rem, 4vw, 2.5rem);
}
.btn-primary,
.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    border-radius: var(--radius-base);
    font-weight: var(--fw-medium);
    text-decoration: none;
    line-height: 1;
    border: 1px solid transparent;
    transition: transform .06s ease, background-color .12s ease, border-color .12s ease;
}
.btn-primary {
    background: var(--action-primary-bg);
    color: var(--action-primary-text);
}
.btn-primary:hover {
    background: var(--action-primary-bg-hover);
    transform: translateY(-1px);
}
.btn-primary:active {
    background: var(--action-primary-bg-active);
    transform: translateY(0);
}
.btn-ghost {
    background: #fff;
    color: var(--color-primary);
    border-color: var(--border-strong);
}
.btn-ghost:hover {
    border-color: var(--border-accent);
    transform: translateY(-1px);
}
.btn-ghost:active {
    transform: translateY(0);
}
/* Small tweaks */
.qs-about p {
    margin: 0.5rem 0 0;
}
.qs-about h1, .qs-about h2 {
    color: var(--c-indigo-900);
}
/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/
/*===========================*/
/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/
/*===========================*/
/*===== DEV:   Quote view format table =====*/
/*.qss-table {*/
/*    width: 100%;*/
/*    border-collapse: separate;*/
/*    border-spacing: 0;*/
/*    border: 1px solid var(--border-strong);*/
/*    border-radius: var(--radius-table);*/
/*    box-shadow: var(--shadow-subtle);*/
/*    overflow: hidden;*/
/*    font-size: var(--fs-base);*/
/*}*/
/*.qss-table thead th {*/
/*    text-align: left;*/
/*    font-weight: 600;*/
/*    color: var(--color-primary-strong);*/
/*    background: var(--surface-info);*/
/*    padding-block: 0.85rem;*/
/*    padding-inline: var(--content-pad);*/
/*    border-bottom: 1px solid var(--border-subtle);*/
/*}*/
/*.qss-table td, .qss-table th {*/
/*    vertical-align: top;*/
/*    padding-block: 0.70rem;*/
/*    padding-inline: var(--content-pad);*/
/*    border-bottom: 1px solid var(--border-subtle);*/
/*}*/
/*.qss-table tbody tr:first-child td {*/
/*    text-align: center;*/
/*    color: var(--text-primary);*/
/*}*/
/*.qss-table .qss-offer-row > td {*/
/*    background: var(--surface-info);*/
/*}*/
/*.qss-table .qss-offer-row strong {*/
/*    display: block;*/
/*    margin-bottom: 0.5rem;*/
/*    font-weight: 600;*/
/*    color: var(--color-primary-strong);*/
/*}*/
/*.qss-offer-list {*/
/*    list-style: none;*/
/*    margin: 0;*/
/*    padding: 0;*/
/*    display: grid;*/
/*    row-gap: 0.35rem;*/
/*}*/
/*.qss-offer-list li {*/
/*    text-align: left;*/
/*    line-height: var(--lh-base);*/
/*}*/
/*.qss-offer-list li em {*/
/*    font-style: normal;*/
/*    font-weight: 600;*/
/*    color: var(--text-primary);*/
/*}*/
/*.qss-table tfoot th, .qss-table tfoot td {*/
/*    border-top: 1px solid var(--border-subtle);*/
/*    background: color-mix(in oklab, var(--bg-page) 94%, var(--bg-utilities));*/
/*}*/
/*@media (max-width: 768px) {*/
/*    .qss-table thead th,*/
/*    .qss-table td, .qss-table th {*/
/*        padding-inline: var(--content-pad-mobile);*/
/*    }*/
/*}*/
/*updated */






