/*
 Theme Name: Blocksy Child
 Template: blocksy

 Author: Marian
 Description: Child theme for the Blocksy theme.
 Version: 1.0.0
 Text Domain: blocksy-child
*/
/* Your custom CSS goes below this line */
:root {
    /* ======================
     * 1. PaletÄƒ de bazÄƒ (primitives)
     * ====================== *//* Text */
    --ink: #111827;
    --ink-2: #4b5563;
    --muted: #9ca3af;
    /* Light surfaces */
    --bg: #f7f3e9;
    --card: #ffffff;
    --border: #e5e7eb;
    /* Brand */
    --brand: #7aa950;
    --brand-2: #b2d155;
    --brand-dark: #4e7025;
    --brand-accent: #92c44c;
    --brand-light: #d6e88a;
    /* Accents */
    --accent-warm: #d9916a;
    --accent-cool: #5ba9a0;
    /* Dark surfaces */
    --surface-dark: #06140b;
    --surface-dark-2: #0b2414;
    --surface-light: #f9fafb;
    /* ======================
     * 2. Alias-uri semantice
     * ====================== */
    /* Text global */
    --color-text: var(--ink);
    --color-text-secondary: var(--ink-2);
    --color-text-muted: var(--muted);
    --color-text-inverse: var(--surface-light);
    /* Background-uri generale */
    --color-bg-page: var(--bg);
    --color-bg-card: var(--card);
    --color-bg-subtle: var(--bg);
    /* Bordiuri / separatoare */
    --color-border-subtle: var(--border);
    --color-border-strong: var(--brand);
    --color-border-footer: var(--surface-dark-2);
    /* Linkuri text (conÈ›inut) */
    --color-link: var(--brand);
    --color-link-hover: var(--brand-dark);
    --color-link-visited: var(--brand);
    /* Header & meniu */
    --color-header-bg: var(--card);
    --color-header-text: var(--ink);
    --color-header-link: var(--ink);
    --color-header-link-active: var(--brand);
    --color-header-link-border-active: var(--brand);
    --color-header-icon: var(--ink-2);
    --color-header-icon-hover: var(--brand);
    /* Footer */
    --footer-bg: var(--surface-dark);
    --footer-border-top: var(--surface-dark-2);
    --footer-text: var(--surface-light);
    --footer-heading: var(--brand-2);
    --footer-link: var(--brand-2);
    --footer-link-hover: var(--brand-light);
    /* Linkuri Ã®n footer (alias direct) */
    --color-link-footer: var(--footer-link);
    --color-link-footer-hover: var(--footer-link-hover);
    /* Buton primary */
    --btn-primary-bg: var(--brand);
    --btn-primary-bg-hover: var(--brand-dark);
    --btn-primary-border: var(--brand);
    --btn-primary-text: var(--card);
    /* pentru disabled foloseÈ™ti È™i opacity la componentÄƒ */
    --btn-primary-bg-disabled: var(--brand-2);
    --btn-primary-text-disabled: var(--bg);
    /* Buton secondary (outline) */
    --btn-secondary-bg: transparent;
    --btn-secondary-bg-hover: var(--bg);
    --btn-secondary-border: var(--brand);
    --btn-secondary-text: var(--brand);
    --btn-secondary-text-hover: var(--brand);
    /* Buton ghost / text (ex. â€œVezi detaliiâ€) */
    --btn-ghost-text: var(--brand);
    --btn-ghost-text-hover: var(--brand-dark);
    /* Banner / hero */
    --banner-main-gradient-start: var(--brand);
    --banner-main-gradient-end: var(--brand-2);
    --banner-main-text: var(--surface-light);
    --banner-main-btn-bg: var(--surface-dark);
    --banner-main-btn-bg-hover: var(--brand-dark);
    --banner-main-btn-text: var(--surface-light);
    /* SecÈ›iuni speciale */
    --section-promo-bg: var(--accent-warm);
    --section-promo-text: var(--card);
    --section-info-bg: var(--accent-cool);
    --section-info-text: var(--card);
    /* PreÈ›uri & badge-uri */
    --price-main: var(--brand-accent);
    --price-old: var(--muted);
    --badge-promo-bg: var(--brand-2);
    --badge-promo-text: var(--surface-dark);
}
:root {
    /*-----------------
      Border Radius
    ------------------*/
    --rad-base: 6px; /* buttons, inputs, small badges */
    --rad-card: 12px; /* product cards, info boxes */
    --rad-modal: 18px; /* modals, off-canvas panels */
    --rad-table: 4px; /* table rows / filters (or 0px if you want them very strict) */
    --rad-pill: 9999px; /* pill badges, filters like Combined/Dry/Sensitive */
    /* Font weights */
    --fw-heading: 700; /* Rubik for H1–H3, logo text, strong section titles */
    --fw-body: 400; /* Inter regular body text, paragraphs, long copy */
    --fw-menu: 500; /* Inter for main nav items */
    --fw-label: 500; /* Inter for small labels, badges, form labels (optional alias) */
    --fw-strong: 600; /* Inter for buttons / emphasized text (optional but useful) */
}
h1.page-title {
    font-size: 40px;
}
.page-id-1113 .ct-container-full,
.page-id-1115 .ct-container-full {
    padding-top: 20px
}
.page-id-1113 a,
.page-id-1115 a {
    color: #2F6E37;
    text-decoration: underline
}
/*=========================*/
/*===== SECT: FOOTER =====*/
/*=======================*/
#footer {
    background: var(--footer-bg)
}
footer h5.wp-block-heading.widget-title {
    font-size: 1.2rem
}
footer ul li:before,
footer span.contact-title,
footer ul.wp-block-list li a,
footer h6.wp-block-heading.widget-title,
footer span.contact-text a,
footer p {
    color: var(--color-text-inverse);
    font-size: 15px
}
footer ul li a:hover {
    color: var(--brand-light)
}
footer li.email::before {
    font-family: "bootstrap-icons";
    content: "\f32f"; /* envelope icon (bi-envelope) */
    font-size: 1em;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
}
footer li::before {
    font-family: "bootstrap-icons";
    content: "\f470";
    font-size: 1em;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
}
footer .contact ul li::before {
    content: none;
    display: none;
}
footer ul li.email::before {
    font-family: "bootstrap-icons";
    content: "\f32f"; /* envelope icon (bi-envelope) */
    font-size: 1em;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
}
footer ul li.phone::before {
    font-family: "bootstrap-icons";
    content: "\f5b4";
    font-size: 1em;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
}
footer .wp-block-list li::before {
    color: var(--footer-link-hover);
}
h5.wp-block-heading.widget-title {
    position: relative;
    display: inline-block;
    padding-bottom: 0.4rem;
}
h5.wp-block-heading.widget-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 3px;
    background: linear-gradient(
            to right,
            var(--footer-heading) 0 25%,
            var(--footer-text) 25% 100%
    );
}
footer .ct-container .ct-widget.is-layout-flow.widget_block img.sol {
    margin-bottom: 10px
}
footer.ct-footer .ct-widget:not(:first-child) {
    margin-top: 10px
}
/*----------------------*/
/*    Fourth Column    */
.ct-contact-info-block {
    background: none;
    padding: 0;
}
.ct-contact-info-block ul {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.ct-contact-info-block li {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.ct-contact-info-block .ct-icon-container {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    border: 1px solid var(--color-border-footer);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--footer-text);
    flex-shrink: 0;
    transition: border-color 150ms ease,
    color 150ms ease,
    background-color 150ms ease,
    transform 150ms ease;
}
.ct-contact-info-block .ct-icon-container svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
}
.ct-contact-info-block .contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.ct-contact-info-block .contact-title {
    font-weight: 700;
    color: var(--footer-text);
}
.ct-contact-info-block .contact-text a {
    color: var(--color-link-footer);
    text-decoration: none;
    transition: color 150ms ease;
}
.ct-contact-info-block .contact-text a:hover,
.ct-contact-info-block .contact-text a:focus-visible {
    color: var(--color-link-footer-hover);
}
.ct-contact-info-block li:hover .ct-icon-container,
.ct-contact-info-block li:focus-within .ct-icon-container {
    border-color: var(--footer-link);
    color: var(--footer-link);
    transform: translateY(-1px);
}
/* Social icons */
.ct-socials-block {
    margin-top: 1.75rem;
}
.ct-socials-block .ct-social-box {
    display: flex;
    gap: 0.75rem;
}
.ct-socials-block a {
    display: inline-flex;
    text-decoration: none;
}
.ct-socials-block a:focus-visible {
    outline: 2px solid var(--footer-link-hover);
    outline-offset: 3px;
}
.ct-socials-block .ct-icon-container {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background-color: var(--surface-dark-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--footer-text);
    transition: background-color 150ms ease,
    color 150ms ease,
    transform 150ms ease,
    box-shadow 150ms ease;
}
.ct-socials-block .ct-icon-container svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
}
/* Hover / focus states for social icons */
.ct-socials-block a:hover .ct-icon-container,
.ct-socials-block a:focus-visible .ct-icon-container {
    background-color: var(--footer-link);
    color: var(--surface-dark);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}
/*-----------------
    Bottom Bar
-----------------*/
.footer-bottom__inner {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.footer-bottom__left p {
    margin: 0;
    font-size: 14px;
    color: var(--color-text-secondary);
    padding-top: 5px;
}
/* NEW: container for the logos */
.footer-bottom__right {
    display: flex;
    align-items: center;
    gap: 16px; /* space between logos */
}
.footer-bottom__right img {
    display: block;
    max-height: 32px;
    height: auto;
}
#footer.ct-footer [data-row="bottom"] {
    background-color: var(--color-bg-card)
}
/* ===== Responsiveness ===== */
@media (max-width: 768px) {
    .footer-bottom__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .footer-bottom__right {
        margin-left: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 16px;
    }
    .footer-bottom__right img {
        max-height: 28px;
    }
}
@media (max-width: 480px) {
    .footer-bottom__inner {
        align-items: center;
        text-align: center;
    }
    .footer-bottom__right {
        justify-content: center;
    }
}
/*=========================*/
/*===== SECT: HEADER =====*/
/*=======================*/
.ct-contact-info ul {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ct-contact-info li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.ct-contact-info .ct-icon-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    color: var(--color-header-icon);
    background-color: var(--color-bg-card);
}
.ct-contact-info svg {
    width: 1rem;
    height: 1rem;
}
.ct-contact-info .contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.ct-contact-info .contact-title {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-header-text);
}
.ct-contact-info .contact-text a {
    font-size: 0.9rem;
    color: var(--color-header-text);
    text-decoration: none;
    transition: color 0.2s ease;
}
.ct-contact-info .contact-text a:hover,
.ct-contact-info .contact-text a:focus-visible {
    color: var(--color-link-hover);
    outline: none;
}
/*-------------*/
/*    Icon    */
.ct-contact-info .ct-icon-container svg {
    width: 30px;
    height: 30px
}
.ct-contact-info .ct-icon-container svg path[fill="#212529"] {
    fill: var(--color-header-icon);
    transition: fill 150ms ease-in-out;
}
.ct-contact-info .ct-icon-container:hover svg path[fill="#212529"] {
    fill: var(--color-header-icon-hover);
}
/*-------------------------------------------------
     My Account + Favorites + Checkout Elements
--------------------------------------------------*/
span.ct-label.ct-hidden-sm.ct-hidden-md,
.ct-header-account .ct-header-cart span.ct-label {
    font-weight: 500
}
.ct-header-account .ct-account-item {
    padding-right: 1.5rem;
}
/*-----------------
     Main Menu
-----------------*/
.menu-container {
    width: 100%;
}
.menu-container .menu {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.menu-container .menu-item {
    position: relative;
}
.menu-container a.ct-menu-link {
    display: inline-block;
    padding: 0.75rem 0;
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-header-link);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}
ul#menu-main-menu a.ct-menu-link:hover {
    color: var(--brand-dark)
}
.menu-container .ct-menu-link:hover,
.menu-container .ct-menu-link:focus-visible {
    color: var(--color-header-link-active);
    border-color: var(--color-header-link-border-active);
    outline: none;
}
.menu-container .current-menu-item > a.ct-menu-link,
.menu-container .current_page_item > a.ct-menu-link {
    color: var(--color-header-link-active);
    border-color: var(--color-header-link-border-active);
}
/*==============================*/
/*===== SECT: Search Form =====*/
.ct-search-box[data-id="search-input"] .ct-search-form {
    display: flex;
    align-items: center;
    background-color: var(--color-bg-card); /* OK */
    border-radius: var(--rad-card); /* OK */
    border: 1px solid var(--color-border-subtle);
    padding: 0.35rem 0.6rem 0.35rem 1rem;
}
.ct-search-box[data-id="search-input"] .ct-search-form:focus-within {
    border-color: var(--brand); /* OK */
}
/*------------------
    Search Input
------------------*/
.ct-search-box[data-id="search-input"] input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 0.55rem 0.75rem 0.55rem 0;
    font-size: 0.95rem;
    font-weight: var(--fw-body); /* OK */
    color: var(--color-text); /* OK */
    outline: none;
}
.ct-search-box[data-id="search-input"] input[type="search"]::placeholder {
    color: var(--color-text); /* OK */
}
/*----------------------
    Controls + Button
----------------------*/
.ct-search-box[data-id="search-input"] .ct-search-form-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.ct-search-box[data-id="search-input"] select.ct-select-taxonomy {
    height: 2.3rem;
    padding: 0 2.1rem 0 0.85rem;
    border-radius: var(--rad-base); /*OK*/
    border: 1px solid var(--color-border-subtle); /*OK*/
    background-color: var(--surface-light); /* OK */
    color: var(--color-text-secondary); /*OK*/
    font-size: 0.85rem;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%),
    linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);
    background-position: calc(100% - 12px) 50%,
    calc(100% - 7px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    outline: none;
}
.ct-search-box[data-id="search-input"] .ct-search-form:focus-within {
    outline: none;
    border-color: var(--brand-light); /* #B2D155 */
    box-shadow: 0 0 0 2px rgba(178, 209, 85, 0.25);
    transition: 0.2s ease;
}
form.ct-search-form[data-form-controls=inside] .ct-search-form-controls select {
    border: 1px solid var(--color-border-subtle);
    background-color: var(--surface-light)
}
/*---------------==---*/
/*    Search Icon    */
form .ct-search-button-content {
    width: 18px;
    height: 18px;
    color: var(--color-header-icon);
}
button[data-button="inside:icon"] .ct-search-button-content {
    color: var(--color-header-icon)
}
button[data-button="inside:icon"] .ct-search-button-content svg path {
    fill: var(--color-header-icon)
}
button[data-button="inside:icon"]:hover .ct-search-button-content {
    color: var(--color-header-icon-hover)
}
button[data-button="inside:icon"]:hover .ct-search-button-content svg path {
    fill: var(--color-header-icon-hover)
}
/*=================*/
/*===== DEV: =====*/
/* BazÄƒ comunÄƒ pentru toate butoanele done with !C! but re-do with !C!*/
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1.4rem;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
/* Primary */
.btn-primary {
    background-color: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-color: var(--btn-primary-border);
}
.btn-primary:hover {
    background-color: var(--btn-primary-bg-hover);
}
.btn-primary:disabled,
.btn-primary[aria-disabled="true"] {
    background-color: var(--btn-primary-bg-disabled);
    color: var(--btn-primary-text-disabled);
    opacity: 0.5;
    cursor: not-allowed;
}
/* Secondary (outline) */
.btn-secondary {
    background-color: var(--btn-secondary-bg);
    color: var(--btn-secondary-text);
    border-color: var(--btn-secondary-border);
}
.btn-secondary:hover {
    background-color: var(--btn-secondary-bg-hover);
    color: var(--btn-secondary-text-hover);
}
/* Ghost / text button */
.btn-ghost {
    background-color: transparent;
    border-color: transparent;
    color: var(--btn-ghost-text);
    padding-inline: 0;
}
.btn-ghost:hover {
    color: var(--btn-ghost-text-hover);
    text-decoration: underline;
}
.ct-product-brands img {
    filter: invert(1);
}
.ct-container-full[data-vertical-spacing*=top] {
    padding-top: 1REM
}
/*=====================================================================================================================================================*/
/*===============================================================  DEV :: GRID=======  ===============================================================*/
/* Uses Vivalis design tokens :contentReference[oaicite:0]{index=0} */
/* Layout: products grid */
.woocommerce.columns-4 ul.products {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}
@media (min-width: 640px) {
    .woocommerce.columns-4 ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    .woocommerce.columns-4 ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
/* Product card */
.woocommerce ul.products li.product {
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
    border-radius: 0.75rem;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.18s ease-out,
    border-color 0.18s ease-out;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
    border-color: var(--color-border-strong);
}
/* Figure & image */
.woocommerce ul.products li.product figure {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    background-color: var(--color-bg-subtle);
}
.ct-media-container {
    display: block;
}
.ct-media-container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    transition: transform 0.3s ease-out;
}
/* Hover zoom (based on data-hover) */
.woocommerce ul.products[data-products="type-3"][data-hover="zoom-in"]
li.product:hover
.ct-media-container img {
    transform: scale(1.05);
}
/* Extra actions (wishlist, compare, quick view, add-to-cart) */
.ct-woo-card-extra {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    z-index: 2;
}
/* Add to cart as primary pill */
.ct-woo-card-extra .add_to_cart_button {
    background-color: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: 999px;
    padding: 0.4rem 0.9rem;
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--btn-primary-border);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.18s ease-out,
    border-color 0.18s ease-out,
    transform 0.18s ease-out;
}
.ct-woo-card-extra .add_to_cart_button:hover,
.ct-woo-card-extra .add_to_cart_button:focus-visible {
    background-color: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
}
/* Auto-hide add to cart until hover/focus */
.ct-woo-card-extra[data-add-to-cart="auto-hide"] .add_to_cart_button {
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
}
.woocommerce ul.products li.product:hover
.ct-woo-card-extra[data-add-to-cart="auto-hide"]
.add_to_cart_button,
.woocommerce ul.products li.product:focus-within
.ct-woo-card-extra[data-add-to-cart="auto-hide"]
.add_to_cart_button {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
/* Icon buttons (wishlist, compare, quick view) */
.ct-button {
    background-color: var(--btn-secondary-bg);
    border-radius: 999px;
    border: 1px solid var(--btn-secondary-border);
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.18s ease-out,
    color 0.18s ease-out,
    border-color 0.18s ease-out,
    transform 0.18s ease-out;
}
.ct-wishlist-button-archive .ct-icon-container,
.ct-compare-button-archive .ct-icon-container,
.ct-open-quick-view .ct-icon-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
    color: var(--color-header-icon);
}
.ct-button .ct-icon,
.ct-woo-card-extra svg {
    display: block;
}
/* Hover / focus for secondary icon buttons */
.ct-button:hover,
.ct-button:focus-visible {
    background-color: var(--btn-secondary-bg-hover);
    border-color: var(--color-border-strong);
    transform: translateY(-1px);
}
.ct-button:hover .ct-icon-container,
.ct-button:focus-visible .ct-icon-container {
    color: var(--color-header-icon-hover);
}
/* Wishlist heart filled state */
.ct-heart-fill {
    fill: var(--brand-accent);
}
/* Loading spinner inherits currentColor */
.ct-button-loader {
    color: var(--brand);
}
/* Tooltips */
.ct-tooltip {
    position: absolute;
    bottom: 100%;
    right: 50%;
    transform: translate(50%, -0.35rem);
    background-color: var(--surface-dark-2);
    color: var(--color-text-inverse);
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    white-space: nowrap;
    font-size: 0.7rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease-out,
    transform 0.18s ease-out;
    z-index: 3;
}
.ct-button:hover .ct-tooltip,
.ct-button:focus-visible .ct-tooltip,
.ct-woo-card-extra .add_to_cart_button:hover .ct-tooltip,
.ct-woo-card-extra .add_to_cart_button:focus-visible .ct-tooltip {
    opacity: 1;
    transform: translate(50%, -0.6rem);
}
/* Hide tooltip on small screens if needed */
@media (max-width: 480px) {
    .ct-tooltip.ct-hidden-sm {
        display: none;
    }
}
/* Product title & link */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0.75rem 0 0.25rem;
    color: var(--color-text);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
    text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:focus-visible {
    color: var(--color-link-hover);
    text-decoration: underline;
}
/* Price */
.woocommerce ul.products li.product .price {
    margin-top: 0.25rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--price-main);
}
.woocommerce ul.products li.product .woocommerce-Price-amount {
    display: inline-flex;
    align-items: baseline;
    gap: 0.15rem;
}
.woocommerce ul.products li.product .woocommerce-Price-currencySymbol {
    font-size: 0.85em;
    color: var(--color-text-secondary);
}
/* Rating */
.ct-woo-card-rating {
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
}
.ct-woo-card-rating .star-rating {
    font-size: 0.8rem;
    color: var(--price-main);
}
/* Screen reader text (for add-to-cart descriptions etc.) */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Focus styles for accessibility */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible,
.woocommerce ul.products li.product .ct-media-container:focus-visible,
.woocommerce ul.products li.product .add_to_cart_button:focus-visible,
.woocommerce ul.products li.product .ct-button:focus-visible {
    outline: 2px solid var(--color-border-strong);
    outline-offset: 2px;
}
/* Ensure card content stacks nicely */
.woocommerce ul.products li.product > .woocommerce-loop-product__title,
.woocommerce ul.products li.product > .price,
.woocommerce ul.products li.product > .ct-woo-card-rating {
    margin-left: 0.1rem;
    margin-right: 0.1rem;
}
[data-products=type-2] .ct-woo-card-actions .button, [data-products=type-2] .ct-woo-card-actions .added_to_cart {
    border: none;
    background-color: rgba(0, 0, 0, 0);
    background: black;
    color: white;
}
/*=====================================================================================================================================================*/
/*===============================================================  DEV :: Contact PAGE  ===============================================================*/
/****************************
 * CONTACT PAGE – HERO
 ****************************/
/* Wrapper with "Contactează-ne" + H1 + intro text */
.gb-element-8ef53ce2 {
    max-width: 720px;
    margin: 0 auto 3.5rem;
    text-align: center;
    color: var(--color-text);
}
.gb-element-8ef53ce2 .gb-text-dac61dd3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.9rem;
    border-radius: var(--rad-pill);
    background: var(--brand-light);
    color: var(--brand-dark);
    font-size: 0.75rem;
    font-weight: var(--fw-label);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}
.gb-element-8ef53ce2 .gb-text-4072e86c {
    font-size: clamp(2rem, 3vw, 2.6rem);
    line-height: 1.15;
    font-weight: var(--fw-heading);
    margin-bottom: 0.75rem;
    color: var(--color-text);
}
.gb-element-8ef53ce2 .gb-text-b83dcfa7 {
    max-width: 560px;
    margin: 0 auto;
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
}
/****************************
 * CONTACT PAGE – 2-COLUMN LAYOUT
 ****************************/
/* Container with form (left) + info (right) */
.gb-element-4048722b {
    max-width: 1120px;
    margin: 0 auto 4.5rem;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
    gap: 3rem;
    align-items: flex-start;
}
/* Form card wrapper (left column) */
.gb-element-4048722b .gb-element-329348a9 {
    background: var(--color-bg-card);
    border-radius: var(--rad-card);
    border: 1px solid var(--color-border-subtle);
    padding: 2.25rem 2.5rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}
/* Right column with "Alte modalități" + contact data */
.gb-element-4048722b > div[href],
.gb-element-4048722b .contact-info {
    /* add class contact-info in builder if you prefer, both selectors work */
    padding-top: 0.5rem;
    color: var(--color-text-secondary);
}
/****************************
 * FLUENT FORM – FIELDS
 ****************************/
.gb-element-4048722b .fluentform.ff-default fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}
/* Two-column name fields */
.gb-element-4048722b .fluentform.ff-default .ff-t-container {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.gb-element-4048722b .fluentform.ff-default .ff-t-cell {
    flex: 1 1 min(220px, 100%);
}
/* Groups spacing */
.gb-element-4048722b .fluentform.ff-default .ff-el-group + .ff-el-group {
    margin-top: 1.25rem;
}
/* Labels */
.gb-element-4048722b .fluentform.ff-default .ff-el-input--label label,
.gb-element-4048722b .fluentform.ff-default .ff-el-input--label.ff-el-is-required label {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.85rem;
    font-weight: var(--fw-label);
    color: var(--color-text-secondary);
}
/* Inputs + textarea */
.gb-element-4048722b .fluentform.ff-default .ff-el-form-control {
    width: 100%;
    padding: 0.75rem 0.9rem;
    border-radius: var(--rad-base);
    border: 1px solid var(--color-border-subtle);
    background: var(--color-bg-subtle);
    color: var(--color-text);
    font-size: 0.95rem;
    line-height: 1.4;
    box-shadow: none;
    transition: border-color 0.15s ease,
    box-shadow 0.15s ease,
    background-color 0.15s ease;
}
.gb-element-4048722b .fluentform.ff-default .ff-el-form-control::placeholder {
    color: var(--color-text-muted);
}
/* Focus state */
.gb-element-4048722b .fluentform.ff-default .ff-el-form-control:focus {
    outline: 0;
    background: #ffffff;
    border-color: var(--color-border-strong);
    box-shadow: 0 0 0 1px var(--color-border-strong);
}
/* Validation error */
.gb-element-4048722b .fluentform.ff-default .ff-el-group.ff-el-is-error .ff-el-form-control {
    border-color: var(--accent-warm);
}
.gb-element-4048722b .fluentform.ff-default .ff-el-group.ff-el-is-error .ff-el-input--label label {
    color: var(--accent-warm);
}
/****************************
 * FLUENT FORM – TERMS & SUBMIT
 ****************************/
/* Terms & conditions checkbox row */
.gb-element-4048722b .fluentform.ff-default .ff-el-form-check.ff-el-tc {
    margin-top: 1.4rem;
}
.gb-element-4048722b .fluentform.ff-default .ff-el-form-check-input {
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    border: 1px solid var(--color-border-subtle);
    margin-right: 0.6rem;
}
.gb-element-4048722b .fluentform.ff-default .ff_tc_label .ff_t_c p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--color-text-muted);
}
.gb-element-4048722b .fluentform.ff-default .ff_tc_label .ff_t_c a {
    color: var(--color-link);
}
/* Submit button wrapper */
.gb-element-4048722b .fluentform.ff-default .ff_submit_btn_wrapper {
    margin-top: 1.75rem;
}
/* Submit button */
.gb-element-4048722b .fluentform.ff-default .ff-btn.ff-btn-submit.ff_btn_style {
    background: var(--btn-primary-bg);
    border-color: var(--btn-primary-border);
    color: var(--btn-primary-text);
    font-weight: var(--fw-strong);
    font-size: 0.95rem;
    border-radius: var(--rad-pill);
    padding: 0.85rem 2rem;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(122, 169, 80, 0.35);
    transition: background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}
.gb-element-4048722b .fluentform.ff-default .ff-btn.ff-btn-submit.ff_btn_style:hover {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(78, 112, 37, 0.45);
}
.gb-element-4048722b .fluentform.ff-default .ff-btn.ff-btn-submit.ff_btn_style:disabled {
    background: var(--btn-primary-bg-disabled);
    border-color: var(--btn-primary-bg-disabled);
    color: var(--btn-primary-text-disabled);
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
}
/****************************
 * RIGHT COLUMN – CONTACT INFO
 ****************************/
/* Section heading "Alte modalități de a ne contacta" */
.gb-element-4048722b h2.gb-text-492e3b77 {
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
    font-weight: var(--fw-heading);
    color: var(--color-text);
}
/* Intro paragraph under heading */
.gb-element-4048722b > div[href] > p,
.gb-element-4048722b .contact-info > p {
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
}
/* Email + phone rows */
.gb-element-dc3dab4b,
.gb-element-44c4334c {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem 1.1rem;
    border-radius: var(--rad-card);
    background: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    margin-bottom: 0.85rem;
}
/* Icon small container */
.gb-element-dc3dab4b .gb-shape,
.gb-element-44c4334c .gb-shape {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--rad-pill);
    background: var(--brand-light);
    color: var(--brand-dark);
}
/* Email link */
.gb-element-dc3dab4b .gb-text-b4284746 a {
    color: var(--color-link);
    font-weight: var(--fw-strong);
    text-decoration: none;
}
.gb-element-dc3dab4b .gb-text-b4284746 a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}
/* Phone text */
.gb-element-44c4334c .gb-text-4b2d3f81 {
    font-weight: var(--fw-strong);
    color: var(--color-text);
}
/* "Ne puteți gasi și pe:" heading */
.gb-element-4048722b h3.gb-text-4dd326ca {
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
    font-weight: var(--fw-heading);
    color: var(--color-text);
}
/****************************
 * SOCIAL ICONS ROW
 ****************************/
.gb-element-1596c811 {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}
/* All social icon links */
.gb-element-1596c811 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--rad-pill);
    background: var(--surface-light);
    color: var(--color-text-secondary);
    border: 1px solid transparent;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
    transition: background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
.gb-element-1596c811 a:hover {
    background: var(--brand);
    color: var(--color-text-inverse);
    border-color: var(--brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(78, 112, 37, 0.45);
}
/****************************
 * RESPONSIVE
 ****************************/
@media (max-width: 900px) {
    .gb-element-4048722b {
        grid-template-columns: 1fr;
        max-width: 640px;
        gap: 2.25rem;
    }
    .gb-element-4048722b .gb-element-329348a9 {
        padding: 1.75rem 1.5rem;
    }
}
@media (max-width: 640px) {
    .gb-element-8ef53ce2 {
        margin-bottom: 2.5rem;
    }
    .gb-element-8ef53ce2 .gb-text-b83dcfa7 {
        font-size: 0.9rem;
    }
    .gb-element-4048722b .fluentform.ff-default .ff-t-container {
        flex-direction: column;
    }
}
/*********************************
 * ABOUT PAGE – WRAPPER
 *********************************/
.about-page {
    background: var(--color-bg-page);
    color: var(--color-text);
    padding: 3rem 1rem 4rem;
}
.about-page .about-page-inner {
    max-width: 1120px;
    margin: 0 auto;
}
/*********************************
 * HERO
 *********************************/
.about-page .about-hero {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem;
}
.about-page .about-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.9rem;
    border-radius: var(--rad-pill);
    background: var(--brand-light);
    color: var(--brand-dark);
    font-size: 0.75rem;
    font-weight: var(--fw-label);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}
.about-page .about-hero-title {
    font-size: clamp(2rem, 3vw, 2.6rem);
    line-height: 1.15;
    font-weight: var(--fw-heading);
    color: var(--color-text);
    margin-bottom: 0.75rem;
}
.about-page .about-hero-text {
    font-size: 0.98rem;
    line-height: 1.7;
    color: var(--color-text-secondary);
    margin: 0 auto;
}
/*********************************
 * GENERIC SECTION LAYOUT
 *********************************/
.about-page .about-section {
    margin-bottom: 3rem;
}
/*********************************
 * STORY + SIDE CARD
 *********************************/
.about-page .about-story-section {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
    gap: 2.5rem;
    align-items: flex-start;
}
.about-page .about-section-title {
    font-size: 1.35rem;
    font-weight: var(--fw-heading);
    margin-bottom: 1rem;
    color: var(--color-text);
}
.about-page .about-story p {
    font-size: 0.96rem;
    line-height: 1.7;
    color: var(--color-text-secondary);
    margin-bottom: 1rem;
}
.about-page .about-list {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
    list-style: disc;
    color: var(--color-text-secondary);
    font-size: 0.94rem;
    line-height: 1.6;
}
/* Highlight card on the right */
.about-page .about-highlight-card {
    background: var(--color-bg-card);
    border-radius: var(--rad-card);
    border: 1px solid var(--color-border-subtle);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    padding: 1.8rem 1.9rem;
}
.about-page .about-highlight-card h3 {
    font-size: 1.1rem;
    font-weight: var(--fw-heading);
    margin-bottom: 0.75rem;
}
.about-page .about-highlight-card p {
    font-size: 0.94rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: 0.75rem;
}
.about-page .about-highlight-list {
    margin: 0.5rem 0 1rem;
    padding-left: 1.1rem;
    list-style: disc;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
}
.about-page .about-highlight-note {
    margin-top: 0.75rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--rad-base);
    background: var(--surface-light);
    font-size: 0.88rem;
    color: var(--color-text-secondary);
}
.about-page .about-highlight-note a {
    color: var(--color-link);
}
/*********************************
 * STATS BAND
 *********************************/
.about-page .about-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    padding: 1.6rem 1.75rem;
    border-radius: var(--rad-card);
    background: var(--surface-light);
    border: 1px solid var(--color-border-subtle);
}
.about-page .about-stat {
    text-align: left;
}
.about-page .about-stat-number {
    display: block;
    font-size: 1.6rem;
    font-weight: var(--fw-heading);
    color: var(--price-main);
    margin-bottom: 0.2rem;
}
.about-page .about-stat-label {
    display: block;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--color-text-secondary);
}
/*********************************
 * VALUES GRID
 *********************************/
.about-page .about-values-title {
    text-align: center;
    margin-bottom: 1.5rem;
}
.about-page .about-values-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}
.about-page .about-value-card {
    background: var(--color-bg-card);
    border-radius: var(--rad-card);
    border: 1px solid var(--color-border-subtle);
    padding: 1.4rem 1.5rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}
.about-page .about-value-card h3 {
    font-size: 1.05rem;
    font-weight: var(--fw-heading);
    margin-bottom: 0.6rem;
    color: var(--color-text);
}
.about-page .about-value-card p {
    font-size: 0.94rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
}
/*********************************
 * CTA
 *********************************/
.about-page .about-cta {
    margin-top: 1rem;
}
.about-page .about-cta-inner {
    border-radius: var(--rad-card);
    background: linear-gradient(
            120deg,
            var(--banner-main-gradient-start),
            var(--banner-main-gradient-end)
    );
    color: var(--banner-main-text);
    padding: 2rem 2.2rem;
    text-align: left;
    box-shadow: 0 22px 40px rgba(15, 23, 42, 0.25);
}
.about-page .about-cta-inner h2 {
    font-size: 1.4rem;
    font-weight: var(--fw-heading);
    margin-bottom: 0.75rem;
}
.about-page .about-cta-inner p {
    font-size: 0.96rem;
    line-height: 1.7;
    max-width: 620px;
    margin-bottom: 1.2rem;
}
.about-page .about-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}
/* Primary & secondary buttons follow your button aliases */
.about-page .about-btn-primary,
.about-page .about-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.7rem;
    border-radius: var(--rad-pill);
    font-size: 0.95rem;
    font-weight: var(--fw-strong);
    text-decoration: none;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    transition: background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
/* Primary */
.about-page .about-btn-primary {
    background: white;
    color: black;
    border-color: var(--btn-primary-border);
    box-shadow: 0 12px 26px rgba(122, 169, 80, 0.4);
}
.about-page .about-btn-primary:hover {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(78, 112, 37, 0.5);
}
/* Secondary / outline */
.about-page .about-btn-secondary {
    background: var(--btn-secondary-bg);
    color: var(--btn-secondary-text);
    border-color: var(--btn-secondary-border);
}
.about-page .about-btn-secondary:hover {
    background: var(--btn-secondary-bg-hover);
    color: var(--btn-secondary-text-hover);
}
/* CTA footnote */
.about-page .about-cta-footnote {
    font-size: 0.8rem;
    opacity: 0.9;
}
/*********************************
 * RESPONSIVE
 *********************************/
@media (max-width: 980px) {
    .about-page .about-story-section {
        grid-template-columns: 1fr;
    }
    .about-page .about-highlight-card {
        order: -1; /* card above text on mobile/tablet */
    }
    .about-page .about-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-page .about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-page .about-cta-inner {
        text-align: left;
    }
}
@media (max-width: 640px) {
    .about-page {
        padding-top: 2.2rem;
    }
    .about-page .about-hero {
        margin-bottom: 2.3rem;
    }
    .about-page .about-stats {
        grid-template-columns: 1fr;
        padding: 1.3rem 1.2rem;
    }
    .about-page .about-values-grid {
        grid-template-columns: 1fr;
    }
    .about-page .about-cta-inner {
        padding: 1.7rem 1.4rem;
    }
    .about-page .about-cta-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}
/****************************************
 * CARD FOOTER – PRICE + ADD TO CART
 ****************************************/
/* Layout of price + button */
.ct-woo-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.5rem 0.9rem;
    border-top: 1px solid var(--color-border-subtle);
    background: var(--color-bg-card);
}
/* Price: make it stronger and green */
.ct-woo-card-actions .price {
    font-weight: var(--fw-heading);
    font-size: 1.05rem;
    color: var(--price-main);
    letter-spacing: 0.01em;
}
.ct-woo-card-actions .price .woocommerce-Price-currencySymbol {
    margin-right: 0.15em;
    font-size: 0.9em;
}
/* Add to cart: icon-only circular button */
.ct-woo-card-actions .add_to_cart_button.ajax_add_to_cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    padding: 0;
    border-radius: var(--rad-pill);
    background: var(--btn-primary-bg);
}
/* Hover / focus */
.ct-woo-card-actions .add_to_cart_button.ajax_add_to_cart:hover {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(78, 112, 37, 0.45);
}
.ct-woo-card-actions .add_to_cart_button.ajax_add_to_cart:focus-visible {
    outline: 2px solid var(--btn-primary-bg-hover);
    outline-offset: 2px;
}
[data-products=type-2] .ct-woo-card-actions > * {
    flex: 1 0 0;
    padding: 5px;
    min-height: 40px;
}
/* Price – stronger contrast and hierarchy */
.ct-woo-card-actions .price {
    font-weight: var(--fw-heading);
    font-size: 1.1rem;
    /* near-black for maximum contrast on white */
    color: var(--ink);
    letter-spacing: 0.01em;
}
/* Numeric amount in a deep green accent */
.ct-woo-card-actions .price .woocommerce-Price-amount bdi {
    color: var(--brand-dark); /* much darker than --price-main */
}
/* Currency symbol a bit quieter */
.ct-woo-card-actions .price .woocommerce-Price-currencySymbol {
    margin-right: 0.15em;
    font-size: 0.9em;
    color: var(--color-text-muted);
}
/* SALE price states (if Woo outputs <ins>/<del>) */
.ct-woo-card-actions .price ins .woocommerce-Price-amount bdi {
    color: var(--brand-dark); /* new price */
}
.ct-woo-card-actions .price del {
    margin-left: 0.4rem;
    font-size: 0.85rem;
    color: var(--price-old); /* muted grey for old price */
    text-decoration-thickness: 1px;
}
/****************************************
 * SINGLE PRODUCT – SUMMARY COLUMN
 ****************************************/
/* Wrapper of the right column (title, price, short desc) */
.single-product .summary.entry-summary.entry-summary-items {
    max-width: 640px;
    padding-right: 1rem;
    color: var(--color-text);
}
/* Product title */
.single-product .summary.entry-summary .product_title.entry-title {
    font-size: clamp(1.9rem, 2.4vw, 2.2rem);
    line-height: 1.25;
    font-weight: var(--fw-heading);
    margin-bottom: 0.55rem;
    color: var(--ink);
}
/* Price block under title – stronger + clearer hierarchy */
.single-product .summary.entry-summary > .price {
    margin-bottom: 1.4rem;
    font-size: 1.25rem;
    font-weight: var(--fw-heading);
    color: var(--ink); /* text label color */
}
/* Currency symbol slightly muted */
.single-product .summary.entry-summary > .price .woocommerce-Price-currencySymbol {
    margin-right: 0.15em;
    font-size: 0.9em;
    color: var(--color-text-muted);
}
/* Numeric amount very visible in dark brand color */
.single-product .summary.entry-summary > .price .woocommerce-Price-amount bdi {
    color: var(--brand-dark);
}
/* If there are sale prices (ins/del) later */
.single-product .summary.entry-summary > .price ins .woocommerce-Price-amount bdi {
    color: var(--brand-dark);
}
.single-product .summary.entry-summary > .price del {
    margin-left: 0.45rem;
    font-size: 0.9rem;
    color: var(--price-old);
    text-decoration-thickness: 1px;
}
/* Short description paragraph below price */
.single-product .summary.entry-summary > p {
    font-size: 0.96rem;
    line-height: 1.8;
    color: var(--color-text-secondary);
    margin-bottom: 1.8rem;
}
/****************************************
 * SINGLE PRODUCT – BRAND & DIVIDERS
 ****************************************/
/* Brand logo block */
.single-product .ct-product-brands-single {
    margin-bottom: 1.25rem;
}
.single-product .ct-product-brands-single .ct-media-container {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.5rem 0.75rem;
    border-radius: var(--rad-card);
    background: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
}
/* Divider line between brand / cart / meta */
.single-product .ct-product-divider[data-id="divider_1"],
.single-product .ct-product-divider[data-id="divider_2"] {
    display: block;
    margin: 1.5rem 0;
    border-bottom: 1px solid var(--color-border-subtle);
}
/****************************************
 * SINGLE PRODUCT – ADD TO CART BLOCK
 ****************************************/
.single-product .ct-product-add-to-cart .cart {
    margin: 0;
}
/* Flex row: quantity + primary button */
.single-product .ct-product-add-to-cart .ct-cart-actions {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
}
/* Primary add to cart button (align with shop cards) */
.single-product .ct-product-add-to-cart .single_add_to_cart_button.button.alt {
    flex: 1;
    border-radius: var(--rad-pill);
    background: var(--btn-primary-bg);
    border: 1px solid var(--btn-primary-border);
    color: var(--btn-primary-text);
    font-weight: var(--fw-strong);
    font-size: 0.98rem;
    padding: 0.9rem 1.6rem;
    cursor: pointer;
    text-align: center;
    box-shadow: 0 14px 30px rgba(122, 169, 80, 0.4);
    transition: background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}
.single-product .ct-product-add-to-cart .single_add_to_cart_button.button.alt:hover {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(78, 112, 37, 0.5);
}
/****************************************
 * SINGLE PRODUCT – WISHLIST & META
 ****************************************/
.single-product .ct-product-additional-actions .ct-wishlist-button-single:hover {
    background: var(--surface-light);
    border-color: var(--color-border-subtle);
    color: var(--brand-dark);
}
/* Product meta: category / brand */
.single-product .product_meta {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--color-text-muted);
}
.single-product .product_meta .posted_in a {
    color: var(--color-link);
}
.single-product .product_meta .posted_in a:hover {
    color: var(--color-link-hover);
}
/****************************************
 * SINGLE PRODUCT – QUANTITY CONTROL v2
 ****************************************/
.single-product .ct-product-add-to-cart .ct-cart-actions .quantity[data-type="type-2"] {
    border-radius: var(--rad-pill);
    border: 1px solid var(--color-border-subtle);
    background: var(--color-bg-card);
    overflow: hidden;
}
/* qty input in the middle */
.single-product .ct-product-add-to-cart .ct-cart-actions .quantity[data-type="type-2"] .qty {
    border: 0;
    border-left: 1px solid var(--color-border-subtle);
    border-right: 1px solid var(--color-border-subtle);
}
/* SINGLE PRODUCT – quantity: no hover background on + / – */
/* base state */
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-increase,
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-decrease {
    background-color: transparent !important;
}
/* hover / active – keep it transparent */
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-increase:hover,
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-decrease:hover,
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-increase:active,
.single-product .ct-product-add-to-cart .ct-cart-actions
.quantity[data-type="type-2"] .ct-decrease:active {
    background-color: transparent !important;
    color: black;
}
/****************************************
 * SINGLE PRODUCT – MAIN GALLERY
 ****************************************/
/* Overall gallery column */
.single-product .woocommerce-product-gallery {
    max-width: 640px;
}
/* Container around gallery */
.single-product .woocommerce-product-gallery .ct-product-gallery-container {
    position: relative;
}
/* Main image “card” */
.single-product .woocommerce-product-gallery .flexy-view {
    padding: 1.2rem;
    border-radius: var(--rad-card);
    background: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.10); /* subtle, soft shadow */
    transition: box-shadow 0.18s ease,
    transform 0.12s ease;
}
/* Slight lift on hover (desktop) */
@media (hover: hover) {
    .single-product .woocommerce-product-gallery .flexy-view:hover {
        transform: translateY(-2px);
        box-shadow: 0 26px 55px rgba(15, 23, 42, 0.14);
    }
}
/* Actual main image */
.single-product .woocommerce-product-gallery .flexy-view img[itemprop="image"] {
    display: block;
    width: 100%;
    height: auto;
}
/****************************************
 * SINGLE PRODUCT – SALE BADGE & ZOOM
 ****************************************/
/* “REDUCERI” badge */
.single-product .woocommerce-product-gallery .onsale[data-shape="type-1"] {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
    padding: 0.25rem 0.8rem;
    border-radius: var(--rad-pill);
    background: var(--accent-warm);
    color: var(--color-text-inverse);
    font-size: 0.75rem;
    font-weight: var(--fw-label);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
/* Zoom trigger icon */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: var(--rad-pill);
    background: var(--surface-light);
    border: 1px solid var(--color-border-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.1rem;
    color: var(--ink-2);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
    transition: background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
    background: var(--surface-light);
    border-color: var(--brand);
    color: var(--brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(78, 112, 37, 0.35);
}
/****************************************
 * SINGLE PRODUCT – THUMBNAILS STRIP
 ****************************************/
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] {
    margin-top: 1rem;
}
/* Layout of thumbs list */
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] ol {
    display: flex;
    gap: 0.7rem;
}
/* Each thumb container */
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] .ct-media-container {
    display: block;
    border-radius: var(--rad-card);
    overflow: hidden;
    border: 1px solid var(--color-border-subtle);
    background: var(--color-bg-card);
    transition: border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}
/* Thumb images */
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] img {
    display: block;
    width: 100%;
    height: auto;
}
/* Active thumb */
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] li.active .ct-media-container {
    border-color: var(--brand);
    box-shadow: 0 10px 22px rgba(122, 169, 80, 0.35);
    transform: translateY(-1px);
}
/* Hover state for inactive thumbs */
.single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] li:not(.active) .ct-media-container:hover {
    border-color: var(--brand-2);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}
/****************************************
 * SINGLE PRODUCT – ARROWS
 ****************************************/
/* Main image arrows */
.single-product .woocommerce-product-gallery .flexy > .flexy-arrow-prev,
.single-product .woocommerce-product-gallery .flexy > .flexy-arrow-next {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: var(--rad-pill);
    background: var(--surface-light);
    border: 1px solid var(--color-border-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
    color: var(--ink-2);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10);
    transition: background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
/* Thumbs arrows */
.single-product .woocommerce-product-gallery .flexy-pills > .flexy-arrow-prev,
.single-product .woocommerce-product-gallery .flexy-pills > .flexy-arrow-next {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: var(--rad-pill);
    background: var(--surface-light);
    border: 1px solid var(--color-border-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.4rem;
    color: var(--ink-2);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
    transition: background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
/* Hover for all arrows */
.single-product .woocommerce-product-gallery .flexy-arrow-prev:hover,
.single-product .woocommerce-product-gallery .flexy-arrow-next:hover {
    background: var(--brand-light);
    border-color: var(--brand);
    color: var(--brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(122, 169, 80, 0.35);
}
/****************************************
 * RESPONSIVE TWEAKS
 ****************************************/
@media (max-width: 768px) {
    .single-product .woocommerce-product-gallery {
        max-width: 100%;
    }
    .single-product .woocommerce-product-gallery .flexy-view {
        padding: 0.9rem;
    }
    .single-product .woocommerce-product-gallery .flexy-pills[data-type="thumbs"] ol {
        gap: 0.55rem;
    }
}
/* Card surfaces for each block */
.woocommerce .ct-woocommerce-checkout #customer_details .col-1,
.woocommerce .ct-woocommerce-checkout #customer_details .col-2,
.woocommerce .ct-woocommerce-checkout .ct-order-review,
.woocommerce .ct-woocommerce-checkout #payment {
    background: var(--color-bg-card);
    border-radius: var(--rad-card);
    border: 1px solid var(--color-border-subtle);
    box-shadow: 0 18px 40px rgba(6, 20, 11, 0.06);
    padding: 2rem 2.2rem;
}
/* Separate payment card slightly from order card */
.woocommerce .ct-woocommerce-checkout #payment {
    margin-top: 1.5rem;
}
/* Checkout page heading */
.woocommerce .ct-woocommerce-checkout h3 {
    font-weight: var(--fw-heading);
    font-size: 1.15rem;
    color: var(--color-text);
    margin: 0 0 1.5rem;
}
/* ===========================
   Form rows, labels & inputs
   =========================== */
/* Full width rows */
.woocommerce .ct-woocommerce-checkout .form-row.form-row-wide,
.woocommerce .ct-woocommerce-checkout .form-row.notes {
    grid-column: 1 / -1;
}
.woocommerce .ct-woocommerce-checkout .form-row {
    margin: 0 0 1.1rem;
}
/* Labels */
.woocommerce .ct-woocommerce-checkout .form-row label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.85rem;
    font-weight: var(--fw-label);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
    margin-bottom: 0.35rem;
}
.woocommerce .ct-woocommerce-checkout .form-row .required {
    color: var(--accent-warm);
}
/* Text inputs, select, textarea */
.woocommerce .ct-woocommerce-checkout .form-row .input-text,
.woocommerce .ct-woocommerce-checkout .form-row select,
.woocommerce .ct-woocommerce-checkout .form-row textarea,
.woocommerce .ct-woocommerce-checkout .select2-container .select2-selection--single {
    width: 100%;
    background: var(--color-bg-subtle);
    border-radius: var(--rad-base);
    border: 1px solid var(--color-border-subtle);
    padding: 0.7rem 0.9rem;
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--color-text);
    transition: border-color 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease,
    transform 0.18s ease;
}
/* Height alignment for select2 */
.woocommerce .ct-woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 2.7rem;
    display: flex;
    align-items: center;
    padding-inline: 0.75rem;
    border-radius: var(--rad-base);
    box-shadow: none;
}
.woocommerce .ct-woocommerce-checkout .select2-container .select2-selection__rendered {
    padding-left: 0;
    color: var(--color-text);
}
/* Focus state */
.woocommerce .ct-woocommerce-checkout .form-row .input-text:focus,
.woocommerce .ct-woocommerce-checkout .form-row select:focus,
.woocommerce .ct-woocommerce-checkout .form-row textarea:focus,
.woocommerce .ct-woocommerce-checkout .select2-container .select2-selection--single:focus,
.woocommerce .ct-woocommerce-checkout .select2-container--open .select2-selection--single {
    outline: none;
    background-color: #ffffff;
    border-color: var(--brand);
    box-shadow: 0 0 0 1px rgba(122, 169, 80, 0.16),
    0 0 0 4px rgba(122, 169, 80, 0.09);
}
/* Placeholder text */
.woocommerce .ct-woocommerce-checkout ::placeholder {
    color: var(--color-text-muted);
}
/* Checkbox / radio accent */
.woocommerce .ct-woocommerce-checkout input[type="checkbox"],
.woocommerce .ct-woocommerce-checkout input[type="radio"] {
    accent-color: var(--brand);
}
/* "Ship to different address" & create account */
.woocommerce .ct-woocommerce-checkout .woocommerce-account-fields .woocommerce-form__label,
.woocommerce .ct-woocommerce-checkout #ship-to-different-address .woocommerce-form__label {
    font-size: 0.9rem;
    font-weight: var(--fw-body);
    letter-spacing: 0;
    text-transform: none;
    color: var(--color-text);
}
/* ===========================
   Order review & cart table
   =========================== */
.woocommerce .ct-woocommerce-checkout .ct-order-review h3#order_review_heading {
    margin-bottom: 1.25rem;
}
.woocommerce .ct-woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.woocommerce .ct-woocommerce-checkout .shop_table th,
.woocommerce .ct-woocommerce-checkout .shop_table td {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border-subtle);
}
.woocommerce .ct-woocommerce-checkout .shop_table thead th {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: var(--fw-label);
    color: var(--color-text-secondary);
}
/* Product row */
.woocommerce .ct-woocommerce-checkout .ct-checkout-cart-item {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
}
.woocommerce .ct-woocommerce-checkout .ct-checkout-cart-item .ct-media-container {
    flex: 0 0 56px;
    border-radius: var(--rad-card);
    overflow: hidden;
}
.woocommerce .ct-woocommerce-checkout .ct-checkout-cart-item-content {
    flex: 1 1 auto;
}
.woocommerce .ct-woocommerce-checkout .ct-checkout-cart-item-title {
    font-size: 0.9rem;
    font-weight: var(--fw-body);
    color: var(--color-text);
    margin-bottom: 0.35rem;
}
/* Quantity mini-control inside review */
.woocommerce .ct-woocommerce-checkout .ct-checkout-cart-item .quantity {
    display: inline-flex;
    align-items: center;
    border-radius: var(--rad-pill);
    border: 1px solid var(--color-border-subtle);
    overflow: hidden;
}
.ct-order-review div.quantity input[type=number] {

    --theme-form-field-border-initial-color: unset

}


/* Totals highlight */
.woocommerce .ct-woocommerce-checkout .cart-subtotal td,
.woocommerce .ct-woocommerce-checkout .order-total td {
    text-align: right;
}
.woocommerce .ct-woocommerce-checkout .order-total td .amount {
    color: var(--price-main);
    font-weight: var(--fw-heading);
}
/* Shipping block label */
.woocommerce .ct-woocommerce-checkout .ct-shipping-heading {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: var(--fw-label);
    color: var(--color-text-secondary);
    margin-bottom: 0.35rem;
}
/* Suggested products block spacing */
.woocommerce .ct-woocommerce-checkout .ct-order-review-modules {
    margin-top: 1.75rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--color-border-subtle);
}
/* ===========================
   Payment methods
   =========================== */
.woocommerce .ct-woocommerce-checkout #payment .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
}
.woocommerce .ct-woocommerce-checkout #payment .wc_payment_method {
    padding: 0.9rem 0;
    border-bottom: 1px dashed var(--color-border-subtle);
}
.woocommerce .ct-woocommerce-checkout #payment .wc_payment_method:last-child {
    border-bottom: 0;
}
/* Payment label row */
.woocommerce .ct-woocommerce-checkout #payment .wc_payment_method > label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--color-text);
}
/* Payment box */
.woocommerce .ct-woocommerce-checkout #payment .payment_box {
    margin: 0.5rem 0 0.25rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--rad-base);
    background: var(--color-bg-subtle);
    color: var(--color-text-secondary);
    font-size: 0.85rem;
}
/* ===========================
   Primary actions / buttons
   =========================== */
/* Generic checkout buttons inside this context */
.woocommerce .ct-woocommerce-checkout .button,
.woocommerce .ct-woocommerce-checkout .woocommerce-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: var(--rad-pill);
    padding: 0.7rem 1.4rem;
    font-size: 0.9rem;
    font-weight: var(--fw-strong);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    border: 1px solid var(--btn-primary-border);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    cursor: pointer;
    transition: background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
/* Place order button (full width) */
.woocommerce .ct-woocommerce-checkout #place_order {
    width: 100%;
    margin-top: 0.75rem;
}
/* Hover / focus like product card buttons */
.woocommerce .ct-woocommerce-checkout .button:hover,
.woocommerce .ct-woocommerce-checkout .woocommerce-button:hover,
.woocommerce .ct-woocommerce-checkout #place_order:hover {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(78, 112, 37, 0.45);
}
.woocommerce .ct-woocommerce-checkout .button:focus-visible,
.woocommerce .ct-woocommerce-checkout .woocommerce-button:focus-visible,
.woocommerce .ct-woocommerce-checkout #place_order:focus-visible {
    outline: 2px solid var(--btn-primary-bg-hover);
    outline-offset: 2px;
}
/* Disabled state */
.woocommerce .ct-woocommerce-checkout .button:disabled,
.woocommerce .ct-woocommerce-checkout .button[disabled],
.woocommerce .ct-woocommerce-checkout #place_order:disabled {
    background: var(--btn-primary-bg-disabled);
    border-color: var(--btn-primary-bg-disabled);
    color: var(--btn-primary-text-disabled);
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}
/* ===========================
   Login form on checkout (if shown)
   =========================== */
.woocommerce .woocommerce-form-login.login {
    max-width: 640px;
    margin-inline: auto;
    margin-bottom: 2rem;
    padding: 1.5rem 1.75rem;
    border-radius: var(--rad-card);
    background: var(--color-bg-card);
    border: 1px solid var(--color-border-subtle);
    box-shadow: 0 12px 28px rgba(6, 20, 11, 0.05);
}
.woocommerce .woocommerce-form-login.login p {
    font-size: 0.9rem;
    color: var(--color-text-secondary);
}
/* ===========================
   Responsive
   =========================== */
@media (max-width: 900px) {
    .woocommerce .ct-woocommerce-checkout #customer_details.col2-set {
        grid-template-columns: minmax(0, 1fr);
    }
    .woocommerce .ct-woocommerce-checkout #customer_details .col-1,
    .woocommerce .ct-woocommerce-checkout #customer_details .col-2,
    .woocommerce .ct-woocommerce-checkout .ct-order-review,
    .woocommerce .ct-woocommerce-checkout #payment {
        padding: 1.5rem 1.25rem;
    }
    .woocommerce .ct-woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce .ct-woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce .ct-woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: minmax(0, 1fr);
    }
}
/*-----------------
    Footer Other
-----------------*/
h6.wp-block-heading.widget-title {
    padding-top: 1rem;
    margin: 0 !important;
}
p {
    margin: 0 !important;
    padding: 0 !important;
}
.ct-footer .ct-socials-block {
    margin-top: 1rem
}
.terms a {
    text-decoration: underline
}
/*================================*/
/*===== 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: 12px; /* a bit closer to the edge */
    z-index: var(--cc-z);
    animation: cc-slide-up .35s ease-out both;
    background: transparent;
}
/* Slimmer inner card */
.cc-banner .cc-inner {
    display: flex;
    align-items: center;
    gap: 14px; /* was 18px */
    padding: 10px 16px; /* was 14px 20px */
    background: linear-gradient(90deg, rgba(146, 196, 76, 0.20), transparent),
    var(--surface-dark-2);
    color: var(--color-text-inverse);
    border-radius: var(--rad-modal);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.55); /* slightly lighter shadow */
}
.cc-banner .cc-text {
    flex: 1 1 auto;
    line-height: 1.4;
    font-size: 0.875rem; /* ≈14px, smaller text */
    color: var(--color-text-inverse);
}
.cc-banner .cc-actions {
    display: flex;
    gap: 10px; /* was 12px */
    align-items: center;
    flex: 0 0 auto;
}
/* Slimmer buttons */
.cc-banner .cc-btn {
    appearance: none;
    cursor: pointer;
    white-space: nowrap;
    border-radius: var(--rad-pill);
    padding: 6px 14px; /* was 8px 18px */
    font-size: 0.8125rem; /* ≈13px */
    font-weight: var(--fw-strong);
    border: 1px solid transparent;
}
/* Outline button */
.cc-banner .cc-btn--outline {
    background: transparent;
    color: var(--footer-text);
    border-color: rgba(255, 255, 255, 0.35);
}
.cc-banner .cc-btn--outline:hover,
.cc-banner .cc-btn--outline:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.60);
}
/* Primary button */
.cc-banner .cc-btn--primary {
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-color: var(--btn-primary-border);
}
.cc-banner .cc-btn--primary:hover,
.cc-banner .cc-btn--primary:focus-visible {
    background: var(--btn-primary-bg-hover);
    border-color: var(--btn-primary-bg-hover);
}
/* Focus ring */
#cookie-consent:focus,
#cookie-consent:focus-visible {
    outline: 2px solid var(--brand-accent);
    outline-offset: 3px;
}
/* Mobile */
@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%;
        text-align: center;
    }
}
/* Animation */
@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;
    }
}










.page-utility h2,
.page-utility h3,
.page-utility h4



 {
    margin-top: 1.8rem
}




































