/*
Theme Name: Glowest
Theme URI: https://glowest.com
Description: Minimal WooCommerce theme with grid and flex support
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
WC requires at least: 8.0
WC tested up to: 9.0
License: GNU General Public License v2 or later
Text Domain: glowest
*/

/* =============================================
   CSS CUSTOM PROPERTIES
   ============================================= */

:root {
    --content-width: 1440px;
    --margin-x: 48px;

    /* Typography */
    --font-base: 1rem;        /* 16px */
    --font-sm: 0.875rem;      /* 14px */
    --font-md: 1.125rem;      /* 18px */
    --font-lg: 1.25rem;       /* 20px */
    --font-xl: 1.5rem;        /* 24px */
    --font-2xl: 2rem;         /* 32px */
    --font-3xl: 2.5rem;       /* 40px */

    --line-height-base: 1.6;
    --line-height-heading: 1.2;

    --font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif;
}

/* =============================================
   RESET
   ============================================= */

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-family);
    font-size: var(--font-base);
    font-weight: 400;
    line-height: var(--line-height-base);
    color: #1a1a1a;
    background-color: #FCFBF9;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Typography */

@font-face {
    font-family: 'Helvetica Neue';
    font-style: italic;
    font-weight: 400;
    src: local('Helvetica Neue'), url('https://fonts.cdnfonts.com/s/14188/HelveticaNeueItalic.woff') format('woff');
}

p {
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
}

h1, h2, h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
}

h4, h6 {
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif;
    font-weight: 500;
}

h5 {
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif;
    font-weight: 400;
}

b, strong {
    font-weight: 500;
}

/* =============================================
   LAYOUT
   ============================================= */

.container {
    width: 100%;
    max-width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--margin-x);
    padding-right: var(--margin-x);
}

/* =============================================
   12 COLUMN GRID SYSTEM
   ============================================= */

.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2rem;
}


/* Span utilities */
.col-1  { grid-column: span 1; }
.col-2  { grid-column: span 2; }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-9  { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

/* Grid items without a col-* class span naturally at content width */
.grid > *:not([class*="col-"]) {
    grid-column: 1 / -1;
    width: fit-content;
}

/* Tablet - 768px */
@media (max-width: 768px) {
    :root { --margin-x: 24px; }

    .col-1, .col-2, .col-3,
    .col-4, .col-5, .col-6  { grid-column: span 6; }

    .col-7, .col-8, .col-9,
    .col-10, .col-11, .col-12 { grid-column: span 12; }
}

/* Mobile - 640px */
@media (max-width: 640px) {
    .grid { gap: 1rem; }

    .col-1, .col-2, .col-3,
    .col-4, .col-5, .col-6,
    .col-7, .col-8, .col-9,
    .col-10, .col-11, .col-12 { grid-column: span 12; }
}

.flex-end {
    display: flex;
    justify-content: flex-end;
}


/* =============================================
   TYPOGRAPHY
   ============================================= */

h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    margin: 0;
}

/* Fluid typography: scales from mobile (375px) → desktop (1440px) */
h1 { font-size: clamp(36px, calc(24px + 3.19vw), 70px); }
h2 { font-size: clamp(28px, calc(20px + 2.07vw), 50px); }
h3 { font-size: clamp(22px, calc(17px + 1.31vw), 36px); }
h4 { font-size: clamp(18px, calc(15px + 0.75vw), 26px); }
h5 { font-size: clamp(16px, calc(14.5px + 0.38vw), 20px); }
h6 { font-size: clamp(14px, calc(13px + 0.19vw), 16px); }

p { margin: 0; }

ul, ol { margin: 0; padding: 0; }

blockquote { margin: 0; }

/* =============================================
   12 COLUMN GRID SYSTEM
   ============================================= */

.button {
    display: inline-block;
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    font-weight: normal !important;
}

.button-outline {
    padding: 18px 50px;
    border-radius: 100px;
    border: 1px solid #AB8E01;
    color: #AB8E01;
    text-decoration: none;
    background: transparent;
    transition: color 0.1s ease, background 0.25s ease, border-color 0.25s ease;
}

.button-outline:hover {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    border-color: transparent;
    color: #fff;
}

.button-sm {
    padding: 13px 37px;
    font-size: clamp(13px, calc(12.5px + 0.19vw), 15px);
    border-radius: 100px;
}

@media (max-width: 640px) {
    .button-outline {
        padding: 13px 35px;
    }
    .button-sm {
        padding: 9px 26px;
    }
    .woocommerce ul.products li.product a.button {
        padding: 13px 35px;
    }
    #place_order,
    a.checkout-button.button.alt.wc-forward,
    .wc-proceed-to-checkout a.checkout-button,
    .wc-block-checkout__place-order-button,
    .wc-block-components-checkout-place-order-button {
        padding: 13px 35px !important;
    }
    .how-to-use-button {
        padding: 13px 35px !important;
    }
}


/* =============================================
   HEADER
   ============================================= */

#masthead {
    padding: 1rem 0;
}

#masthead .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-branding .site-title {
    margin: 0;
    font-size: var(--font-xl);
}

.site-branding .site-title a {
    text-decoration: none;
}

.site-logo img {
    filter: brightness(0);
}

/* =============================================
   NAVIGATION
   ============================================= */

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 48px;
}

.main-navigation a {
    text-decoration: none;
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    color: #1a1a1a;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 40px;
}

/* Cart icon */
.cart-icon-link {
    position: relative;
    display: flex;
    align-items: center;
    color: #1a1a1a;
    text-decoration: none;
    flex-shrink: 0;
}

.cart-icon-link__count {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 100px;
    background: #C9A84C;
    color: #fff;
    font-size: 11px;
    /* font-weight: 600; */
    line-height: 18px;
    text-align: center;
    pointer-events: none;
}

/* Hide badge when empty */
.cart-icon-link__count:empty,
.cart-icon-link__count[data-count="0"] {
    display: none;
}

body.home .cart-icon-link {
    color: #fff;
}

/* =============================================
   FRONT PAGE — transparent overlaid header
   ============================================= */

body.home #masthead {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: transparent;
}

body.home .main-navigation a {
    color: #fff;
}

body.home .site-logo img {
    filter: brightness(0) invert(1);
}
body.home.admin-bar #masthead {
    top: 32px;
}


/* ─── Burger toggle ─────────────────────────────────────────────────────── */

.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    color: #1a1a1a;
}

body.home .menu-toggle {
    color: #fff;
}

.menu-toggle__bar {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

@media (max-width: 768px) {
    .menu-toggle {
        display: flex;
    }

    #site-navigation {
        display: none;
    }

    .header-right {
        gap: 20px;
    }
}

/* ─── Full-screen mobile overlay ────────────────────────────────────────── */

.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    background: #1a1a1a;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    display: none;
}
@media (max-width: 768px) {
    .mobile-menu-overlay {
        display: flex;
    }
}
.mobile-menu-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}

.mobile-menu-overlay__header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem var(--margin-x);
}

.mobile-menu-overlay__actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.mobile-menu-overlay__cart {
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
}

.mobile-menu-overlay__close {
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
    padding: 0;
    line-height: 0;
}

.mobile-menu-overlay__list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.mobile-menu-overlay__list li a {
    color: #fff;
    text-decoration: none;
    font-size: clamp(28px, 8vw, 48px);
    font-family: 'Playfair Display', serif;
    transition: color 0.2s ease;
}

.mobile-menu-overlay__list li a:hover {
    color: #AB8E01;
}

/* =============================================
   MAIN CONTENT
   ============================================= */

#primary {
    padding: 0;
    margin-top: 0;
}

/* =============================================
   FOOTER
   ============================================= */

#colophon {
    display: none;
}

.site-footer {
    background-color: #1a1a1a;
    /* background-image: url('https://glowest.eu/wp-content/uploads/2026/02/footer-bg-scaled.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; */
    color: #fff;
    padding: 80px 0 40px;
    position: relative;
}
.site-footer__inner {
    position: relative;
    z-index: 2;
}
.site-footer__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.site-footer__top {
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.site-footer__newsletter {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.site-footer__info,
.site-footer__menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.site-footer__col-title {
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif;
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    font-weight: 500;
    color: #fff;
    margin: 0 0 8px;
}

.site-footer__newsletter-sub {
    color: #fff;
    margin: 0;
    font-size: 15px;
}

.site-footer__payment {
	margin-top: auto;
}
.site-footer__payment .title {
    margin-bottom: 16px;
}

/* ─── Klaviyo form — dark footer override ──────────────────────────────── */

.site-footer .klaviyo-form {
    background-color: transparent !important;
    padding: 0 !important;
    margin-top: 20px;
}

.site-footer .klaviyo-form > .kl-private-reset-css-Xuajs1 {
    min-height: unset !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    justify-content: unset !important;
}

/* Success state: override flex back to block so rows stack full-width */
.site-footer .klaviyo-form > .kl-private-reset-css-Xuajs1:has([id^="rich-text"]) {
    display: block !important;
    min-height: unset !important;
}

/* Each form-row takes equal share of the row */
.site-footer .klaviyo-form > .kl-private-reset-css-Xuajs1 > [data-testid="form-row"] {
    flex: 1 0 0 !important;
    padding: 0 !important;
}

/* Button row doesn't need to grow as much */
.site-footer .klaviyo-form > .kl-private-reset-css-Xuajs1 > [data-testid="form-row"]:last-child {
    flex: 0 0 auto !important;
}

/* Remove padding from the row wrappers so items sit flush */
.site-footer .klaviyo-form [data-testid="form-row"] {
    padding: 0 !important;
}

.site-footer .klaviyo-form [data-testid="form-component"] {
    padding: 0 !important;
}

/* Input grows to fill available space */
.site-footer .klaviyo-form input[type="email"] {
    background-color: #fff !important;
    border: 1px solid #fff !important;
    border-radius: 100px !important;
    color: #1a1a1a !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1a1a1a !important;
    font-family: inherit !important;
    font-size: 16px !important;
    letter-spacing: normal !important;
    padding: 0 20px !important;
    height: 54px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.site-footer .klaviyo-form input[type="email"]::placeholder {
    color: rgba(26, 26, 26, 0.45) !important;
}

.site-footer .klaviyo-form input[type="email"]:focus {
    border-color: #fff !important;
    outline: none !important;
}

/* Button fixed width, doesn't stretch */
.site-footer .klaviyo-form button[type="button"] {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%) !important;
    border-radius: 100px !important;
    border: none !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
    height: 54px !important;
    width: auto !important;
    white-space: nowrap !important;
    padding: 0 32px !important;
    cursor: pointer !important;
    text-transform: lowercase !important;
}

.site-footer .klaviyo-form button[type="button"]:hover,
.site-footer .klaviyo-form button[type="button"]:focus {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%) !important;
}

/* Klaviyo success state */
.site-footer .klaviyo-form .kl-private-reset-css-Xuajs1:first-child p,
.site-footer .klaviyo-form .kl-private-reset-css-Xuajs1:first-child p span,
#rich-text-01KJ7PGM09X4RXE642V4M14819 p span {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px) !important;
    font-weight: 400 !important;
    text-align: left !important;
    margin: 0 !important;
}

.site-footer .klaviyo-form .kl-private-reset-css-Xuajs1:last-child p,
.site-footer .klaviyo-form .kl-private-reset-css-Xuajs1:last-child p span {
    color: #fff !important;
    font-family: 'Helvetica Neue', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-align: left !important;
    margin: 0 !important;
}

.site-footer__info-link,
.site-footer__support {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    margin: 0;
}

.site-footer__info-link:hover {
    color: #fff;
}

.site-footer__social {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.site-footer__social a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
}

.site-footer__social a:hover {
    color: #fff;
}

.site-footer__menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.site-footer__menu-list a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
}

.site-footer__menu-list a:hover {
    color: #fff;
}

.site-footer__bottom {
    padding-top: 32px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.site-footer__copyright {
    color: #fff;
    font-size: 14px;
    margin: 0;
}

@media (max-width: 640px) {
    .site-footer {
        padding: 50px 0 32px;
    }
    .site-footer__newsletter,
    .site-footer__info,
    .site-footer__menu {
        grid-column: 1 / -1;
    }
    .site-footer__top {
        padding-bottom: 40px;
        gap: 40px;
    }
}

/* =============================================
   FLEX UTILITIES
   ============================================= */

.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-sm { gap: 1rem; }
.gap-md { gap: 2rem; }
.gap-lg { gap: 3rem; }

/* =============================================
   HOMEPAGE
   ============================================= */

.hero-section {
    height: min(800px, 100vh);
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    position: relative;
}

@media (max-width: 640px) {
    .hero-section {
        height: auto;
    }
    .hero-section .press-bar {
        margin-top: 150px;
    }
}

.hero-inner {
    flex: 1;
    align-content: space-between;
    padding-bottom: 48px;
    position: relative;
    z-index: 2;
}
.hero-section-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero-content-wrapper {
    margin-top: 120px;
    color: #fff;
    gap: 0;
}
.admin-bar .hero-content-wrapper {
    margin-top: 104px;
}

.hero-content-wrapper h1 {
    margin-bottom: 24px;
    font-size: clamp(28px, calc(20px + 2.07vw), 50px);
}

.hero-content-wrapper p {
    margin-bottom: 80px;
}

.hero-content-wrapper .button {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    color: #fff;
}

.press-bar {
    display: flex;
    align-items: center;
    gap: 54px;
    padding: 20px 32px;
    background-color: #1a1a1a;
    border-radius: 100px;
    color: #fff;
    width: fit-content;
}

.press-bar-section__label {
    font-size: clamp(14px, calc(13px + 0.19vw), 16px);
}

.press-bar-section__logos {
    display: flex;
    align-items: center;
    gap: 56px;
    list-style: none;
}

.press-bar-section__logos img {
    max-height: 32px;
    width: auto;
}

@media (max-width: 640px) {
    .press-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        border-radius: 10px;
    }
    .press-bar-section__logos {
        gap: 25px;
    }
}

.shipping-bar-section__items {
    display: flex;
    justify-content: space-between;
}

.shipping-bar-section__items li[aria-hidden="true"] {
    display: none;
}

.shipping-bar-section__items li {
    font-family: 'Playfair Display', Georgia, serif;
}

.shipping-bar-section {
    padding: 20px 0px;
    background-color: #F2F0E6;
}

.shipping-bar-section ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.shipping-bar-section__item--left    { text-align: left; }
.shipping-bar-section__item--center  { text-align: center; }
.shipping-bar-section__item--right   { text-align: right; }

@keyframes shipping-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (max-width: 640px) {
    .shipping-bar-section {
        overflow: hidden;
    }
    .shipping-bar-inner.container {
        padding-left: 0;
        padding-right: 0;
    }
    .shipping-bar-section__items {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 48px;
        width: max-content;
        animation: shipping-marquee 10s linear infinite;
        scrollbar-width: none;
    }
    .shipping-bar-section__items::-webkit-scrollbar {
        display: none;
    }
    .shipping-bar-section__items li {
        flex-shrink: 0;
        text-align: left !important;
    }
    .shipping-bar-section__items li[aria-hidden="true"] {
        display: list-item;
    }
}

.social-proof-section {
    padding-bottom: 80px;
}

.social-proof-section__title {
    padding: 48px 0;
    text-align: center;
}

.social-proof-section__images {
    display: flex;
    gap: 8px;
    height: 466px;
}

.social-proof-section__image-item {
    flex: 1 1 0;
    min-width: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.social-proof-section__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.social-proof-section__freeze-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
    z-index: 1;
    pointer-events: none;
}

.social-proof-section__freeze-frame.is-visible {
    display: block;
}

.social-proof-section__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C9A84C;
    transition: background 0.2s, transform 0.2s;
}

.social-proof-section__play-btn:hover {
    background: #fff;
    transform: translate(-50%, -50%) scale(1.08);
}

.social-proof-section__image-item.is-playing .social-proof-section__play-btn {
    opacity: 0;
}

.social-proof-section__hover {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: #F2F0E6;
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 3;
}

.social-proof-section__image-item:hover .social-proof-section__hover {
    opacity: 0.85;
}

@media (max-width: 768px) {
    .social-proof-section__hover {
        opacity: 0.85;
    }
}

.social-proof-section__product {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.social-proof-section__product-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.social-proof-section__product-thumb {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 6px;
    overflow: hidden;
}

.social-proof-section__product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.social-proof-section__product-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.social-proof-section__product-name {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    color: #1a1a1a;
    line-height: 1.3;
}

.social-proof-section__product-name a {
    color: inherit;
    text-decoration: none;
}

.social-proof-section__product-name a:hover {
    text-decoration: underline;
}

.social-proof-section__product-price .price {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    font-weight: normal !important;
    font-size: 14px !important;
}

.social-proof-section__product-price .woocommerce-Price-amount,
.social-proof-section__product-price .price .woocommerce-Price-amount,
.social-proof-section__product-price .price del .woocommerce-Price-amount,
.social-proof-section__product-price .price ins .woocommerce-Price-amount {
    font-size: 14px !important;
}

.social-proof-section__product-price .price del,
.social-proof-section__product-price .price del .woocommerce-Price-amount {
    color: #1a1a1a !important;
    opacity: 1 !important;
    order: 2 !important;
}

.social-proof-section__product-price .price ins,
.social-proof-section__product-price .price ins *,
.social-proof-section__product-price .price ins bdi {
    color: #AB8E01 !important;
    text-decoration: none !important;
    order: 1 !important;
}

.social-proof-section__product-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 13px 37px;
    font-size: 0.75em;
    border-radius: 100px;
    border: 1px solid #AB8E01;
    color: #AB8E01;
    text-decoration: none;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .social-proof-section__images {
        height: auto;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        cursor: grab;
        user-select: none;
        scrollbar-width: none;
        margin-left: calc(-1 * var(--margin-x));
        margin-right: calc(-1 * var(--margin-x));
    }
    .social-proof-section__images::-webkit-scrollbar {
        display: none;
    }
    .social-proof-section__images.is-dragging {
        cursor: grabbing;
        scroll-snap-type: none;
    }
    .social-proof-section__image-item {
        flex: 0 0 72vw;
        aspect-ratio: 3 / 4;
        scroll-snap-align: start;
    }
}

@media (max-width: 640px) {
    .social-proof-section__image-item {
        flex: 0 0 80vw;
    }
}

.press-quotes-section {
    padding: 112px 0;
    background-color: #F2ECDD;
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .press-quotes-section {
        padding: 50px 0;
    }
}

.press-quotes-section__grid {
    overflow: hidden;
}

.press-quotes-section__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 104px;
    will-change: transform;
}

.press-quotes-section__item {
    flex: 0 0 360px;
}

.press-quotes-section__logo {
    margin-bottom: 36px;
}

.press-quotes-section__logo img {
    max-height: 40px;
    width: auto;
}

@media (max-width: 768px) {
    .press-quotes-section__item {
        flex: 0 0 260px;
    }
}

.brand-story-section {
    /* background-size: cover;
    background-position: center;
    background-repeat: no-repeat; */
    min-height: 800px;
    display: flex;
    align-items: center;
    position: relative;
}

@media (max-width: 640px) {
    .brand-story-section {
        min-height: 0;
        padding: 50px 0 200px;
    }
}
.brand-story-inner {
    position: relative;
    z-index: 2;
}
.brand-story-section__bg {
    z-index: 1;
}


.brand-story-section__text {
    margin-top: 32px;
}

.brand-story-section__content {
    grid-column: 7 / 13;
}

.brand-story-section__button {
    margin-top: 100px;
}

@media (max-width: 640px) {
    .brand-story-section__content {
        grid-column: 1 / -1;
    }
    .brand-story-inner a {
        margin-top: 50px;
    }
}

.experts-section {
    background-color: #F2ECDD;
    padding: 80px 0;
}

@media (max-width: 640px) {
    .experts-section {
        padding: 50px 0;
    }
}

.experts-section__title {
    padding-bottom: 48px;
    text-align: center;
}

.experts-section__grid {
    overflow: hidden;
}

.experts-section__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    will-change: transform;
}

.experts-section__card {
    flex: 0 0 360px;
}

@media (max-width: 768px) {
    .experts-section__card {
        flex: 0 0 260px;
    }
}

.experts-section__card-media {
    height: 464px;
    /* background-size: cover;
    background-position: center;
    background-repeat: no-repeat; */
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
.experts-section__card-image {
    z-index: 1;
    position: relative;
}

.experts-section__card-toggle {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 50%;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s, color 0.2s;
}

.experts-section__card-toggle[aria-expanded="true"] {
    background: #fff;
    color: #1a1a1a;
}

.experts-section__card-testimonial {
    display: none;
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 48px 24px 24px;
    background: rgba(26, 26, 26, 0.7);
    color: #fff;
    font-style: normal;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    z-index: 1;
}

.experts-section__card-testimonial.is-open {
    display: flex;
}


.experts-section__card-name {
    margin-top: 16px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
}

.experts-section__card-title {
    margin-top: 4px;
    font-size: clamp(14px, calc(13px + 0.19vw), 16px);
}

/* =============================================
   WOOCOMMERCE - PRODUCT ARCHIVE
   ============================================= */

/* Shop hero */
.woocommerce-products-header {
    /* background-size: cover;
    background-position: center;
    background-repeat: no-repeat; */
    padding: 80px 0;
    min-height: 240px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.woocommerce-products-header__title {
    color: #fff;
    margin-left: 48px;
    font-size: clamp(28px, calc(20px + 2.07vw), 50px);
    max-width: 360px;
    position: relative;
    z-index: 2;
}
.products-header__bg {

}

.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
}

/* Product grid */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem;
    list-style: none;
    margin: 48px 0 0;
    padding: 0;
    margin-bottom: 80px;
}

/* Neutralize WooCommerce float-era clearfix pseudo-elements */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product {
    grid-column: span 3; /* 4 per row */
    width: auto !important;
    margin: 0;
    text-align: center;
}

.woocommerce ul.products li.product img {
    border-radius: 10px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #1a1a1a;
    font-size: clamp(18px, calc(15px + 0.75vw), 26px);
}

.woocommerce ul.products li.product .star-rating {
    float: none;
    margin: 0 auto 10px;
}

.woocommerce .price,
.woocommerce .price .woocommerce-Price-amount {
    font-weight: normal;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
}

.woocommerce .price,
.woocommerce ul.products li.product .price {
    display: inline-flex !important;
    align-items: baseline;
    gap: 8px;
}

.woocommerce .price del,
.woocommerce .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
    color: #1a1a1a !important;
    opacity: 1 !important;
    order: 2 !important;
}

.woocommerce .price ins,
.woocommerce .price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount {
    color: #AB8E01 !important;
    text-decoration: none;
    order: 1 !important;
}

.woocommerce span.onsale {
    display: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link ~ *,
.woocommerce ul.products li.product > *:not(a.woocommerce-loop-product__link):not(.attachment-woocommerce_thumbnail) {
    /* display: block; */
}

.woocommerce ul.products li.product a.added_to_cart {
    display: block;
    color: #C9A84C !important;
    text-decoration: none;
    margin-top: 8px;
    font-size: 14px;
}

.woocommerce ul.products li.product a.button {
    padding: 18px 50px;
    border-radius: 100px;
    border: 1px solid #AB8E01;
    color: #AB8E01;
    text-decoration: none;
    background: transparent;
    display: inline-block;
    font-weight: normal;
    transition: color 0.1s ease, background 0.25s ease, border-color 0.25s ease;
}

.woocommerce ul.products li.product a.button:hover {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    border-color: transparent;
    color: #fff;
}

@media (max-width: 1024px) {
    .woocommerce ul.products li.product {
        grid-column: span 6; /* 2 per row */
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products li.product {
        grid-column: span 12; /* 1 per row */
    }
}

/* =============================================
   WOOCOMMERCE - SINGLE PRODUCT
   ============================================= */

.woocommerce .product h1.product_title {
    margin-bottom: 16px;
    font-size: clamp(28px, calc(20px + 2.07vw), 50px);
}

.woocommerce-product-details__short-description {
    margin-top: 20px;
}
.woocommerce-product-details__short-description p {
    margin-bottom: 10px;
}

.product_gift {
    padding: 8px;
    border-radius: 10px;
    background: var(--Color-Brand-bg-colder, #F2F0E6);
    gap: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
}
.product_gift__thumb {
    width: 60px;
    border-radius: 5px;
    background-color: #fff;
}
.product_gift__note {
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
    font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
    flex: 1;
}

.product ul.product-bullets {
    margin: 40px 0;
    list-style-type: none;
}

.product ul.product-bullets li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.product ul.product-bullets li:not(:last-child) {
    margin-bottom: 16px;
}

.product ul.product-bullets li::before {
    content: '✓';
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #AB8E01;
    color: #AB8E01;
    font-size: 13px;
}

/* Quantity pill + add to cart row */
.woocommerce .product form.cart.cart {
    display: flex;
    align-items: stretch;
    /* margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important; */
    margin-inline: 0;
    padding-inline: 0;
    margin-bottom: 0;
}

.quantity-pill {
    display: flex;
    align-items: center;
    border: 1px solid #1a1a1a;
    border-radius: 100px;
    overflow: hidden;
    flex-shrink: 0;
}

.quantity-pill__btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 12px 20px;
    font-size: 18px;
    line-height: 1;
    color: #1a1a1a;
}

.quantity-pill__btn:hover {
    background: #f5f5f5;
}

.quantity-pill input[type="number"] {
    border: none;
    outline: none;
    text-align: center;
    width: 48px;
    font-size: 16px;
    color: #1a1a1a;
    -moz-appearance: textfield;
    background: transparent;
    padding: 0;
}

.quantity-pill input[type="number"]::-webkit-outer-spin-button,
.quantity-pill input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* Narrower quantity pill in cart */
.woocommerce-cart-form .quantity-pill {
    display: inline-flex;
    width: fit-content;
}
.woocommerce-cart-form .quantity-pill__btn {
    padding: 8px 12px;
    font-size: 16px;
}
.woocommerce-cart-form .quantity-pill input[type="number"] {
    width: 32px;
    font-size: 14px;
}

.woocommerce .product button.single_add_to_cart_button {
    flex: 1;
    padding-top: 18px;
    padding-bottom: 18px;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    border-radius: 100px;
    transition: background 0.25s ease, color 0.1s ease;
    font-weight: normal;
}

.woocommerce .product button.single_add_to_cart_button:hover {
    background: linear-gradient(90deg, #7A6500 0%, #A68A00 100%);
}

@media (max-width: 640px) {
    .woocommerce .product form.cart .quantity-pill__btn {
        padding: 10px 14px;
        font-size: 16px;
    }
    .woocommerce .product form.cart .quantity-pill input[type="number"] {
        width: 32px;
    }
}

.woocommerce div.product {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 3rem;
    row-gap: 0;
    align-items: start;
}
.woocommerce .summary {
    padding-left: 40px;
}

.woocommerce-review-link {
    color: #C9A84C !important;
}

.woocommerce div.product .woocommerce-product-gallery {
    grid-column: span 6;
    position: sticky;
    top: 2rem;
}


.woocommerce .woocommerce-breadcrumb {
    background-color: #F2F0E6;
    padding: 13px 32px;
    border-radius: 100px;
    color: #1a1a1a;
    opacity: 1;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #1a1a1a;
}

.woocommerce .woocommerce-message {
    background-color: #C9EAB9;
    color: #1a1a1a;
    border: none !important;
    border-radius: 100px;
    padding: 13px 32px;
    box-shadow: none;
    display: flex !important;
    align-items: center;
    gap: 16px;
}

.woocommerce .woocommerce-message::before {
    display: none;
}

.woocommerce .woocommerce-message a {
    color: #1a1a1a;
}

.woocommerce .woocommerce-message .wc-forward {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: normal !important;
    color: #1a1a1a !important;
    text-decoration: underline !important;
    box-shadow: none !important;
    margin-left: auto !important;
    float: none !important;
}

/* Full width sections below the 2-col layout */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .up-sells,
.woocommerce div.product .related {
    grid-column: 1 / -1;
}

@media (max-width: 768px) {
    .woocommerce div.product {
        column-gap: 0;
    }

    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary {
        grid-column: span 12;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        position: static;
    }
}

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    float: none !important;
    width: auto !important;
    clear: none;
}

.reasons-section {
    grid-column: 1 / -1;
    background-color: #F2ECDD;
    padding: 80px 0;
}

@media (max-width: 768px) {
    .reasons-section {
        padding: 50px 0;
    }
    .reasons-list,
    .reasons-button {
        grid-column: 1 / -1;
    }
    .reasons-image {
        grid-column: 1 / -1;
        grid-column-end: unset;
    }
}

.reasons-section h2,
.reasons-title {
    margin-bottom: 120px;
    max-width: 621px;
}

@media (max-width: 768px) {
    .reasons-section h2,
    .reasons-title {
        margin-bottom: 60px;
    }
}

.reasons-section ul {
    list-style: none;
}

.reasons-section ul li {
    margin-bottom: 64px;
    display: flex;
    gap: 40px;
}

.reasons-section ul li p {
    margin-top: 10px;
}

.reasons-section ul li .reason-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border: 1px solid #1a1a1a;
    border-radius: 100px;
    font-size: clamp(18px, calc(15px + 0.75vw), 26px);
}

.reasons-image {
    grid-column-end: -1;
}

.reasons-image img.photo {
    width: clamp(224px, 31.181vw, 449px)
}
.reasons-image .card {
    gap: 25px;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    max-width: 400px;
    margin-left: auto;
    margin-top: clamp(-70px, -4.8612vw, -35px);
}
.reasons-image .card .title {
    line-height: 1.4;
    font-size: 16px;
    padding-bottom: 53px;
    text-align: right;
    flex: 1;
}
.reasons-image .card .feat {
    overflow: hidden;
    border-radius: 10px;
    width: min(223px, 80%);
}
.reasons-image .card .feat img {
    background-color: #fff;
}

/* =============================================
   PRODUCT SHIPPING
   ============================================= */
.product-shipping {
    padding-block: 24px 46px;
}
.shippingTxtList {
    gap: 20px 45px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.shippingTxtList__item {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-content: center;
}
.shippingTxtList__txt {
    flex: 1;
}



/* =============================================
   PRODUCT ACCORDION
   ============================================= */

.product-accordion {
    /* margin-top: 1.5rem; */
    border-top: 1px solid currentColor;
}

.product_meta {
    display: none;
}

.related.products {
    display: none;
}

.accordion-item {
    border-bottom: 1px solid currentColor;
}

.accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    cursor: pointer;
    font-weight: normal;
    list-style: none;
}

.accordion-title::-webkit-details-marker {
    display: none;
}

.accordion-title::after {
    content: '+';
    font-size: 1.25rem;
    line-height: 1;
}

details[open] .accordion-title::after {
    content: '−';
}

.accordion-content {
    padding-bottom: 1rem;
    font-size: clamp(14px, calc(13px + 0.19vw), 16px);
    line-height: 1.7;
    color: #1a1a1a;
}

.accordion-content p,
.accordion-content li {
    font-size: clamp(14px, calc(13px + 0.19vw), 16px) !important;
    line-height: 1.7;
}

.accordion-content p {
    margin: 0 0 1rem;
}

.accordion-content p:last-child {
    margin-bottom: 0;
}

.accordion-content ul,
.accordion-content ol {
    margin: 0 0 calc(1rem + 10px);
    padding-left: 1.5rem;
}

.accordion-content ul {
    list-style: disc;
}

/* Product attributes table (Additional Information tab) */
.woocommerce-product-attributes,
.shop_attributes {
    width: 100%;
    border-collapse: collapse;
    background: none;
}

.woocommerce-product-attributes tr,
.shop_attributes tr {
    border-bottom: 1px solid #F2ECDD;
}

.woocommerce-product-attributes tr:first-child,
.shop_attributes tr:first-child {
    border-top: 1px solid #F2ECDD;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td,
.shop_attributes th,
.shop_attributes td {
    text-align: left;
    color: #1a1a1a;
    font-weight: normal !important;
    font-style: normal !important;
    background: none !important;
    padding: 10px 0;
    font-size: clamp(14px, calc(13px + 0.19vw), 16px);
}

.woocommerce-product-attributes th,
.shop_attributes th {
    width: 40%;
    padding-right: 16px;
}

.accordion-content ol {
    list-style: decimal;
}

.accordion-content li {
    margin-bottom: 0.4rem;
}

.accordion-content li:last-child {
    margin-bottom: 0;
}

.accordion-content img {
    display: block;
    height: auto;
    width: auto;
    max-width: 100%;
    align-self: flex-start;
    object-fit: initial;
}

.accordion-content figure {
    margin: 0;
    align-self: flex-start;
}

/* =============================================
   WOOCOMMERCE - CART & CHECKOUT
   ============================================= */

.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: 3rem;
    align-items: start;
}

.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    background: #fff;
    padding: 32px;
}

.cart-divider {
    border: none;
    border-top: 1px solid #1a1a1a;
    margin: 24px 0;
}


/* Trash icon — right-aligned, golden */
.woocommerce-cart-form .product-remove {
    text-align: right;
    width: 40px;
    padding-right: 0;
}
.woocommerce-cart-form .product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #AB8E01 !important;
    background: none !important;
    border-radius: 0;
    width: auto;
    height: auto;
}
.woocommerce-cart-form .product-remove a.remove:hover {
    color: #8f7601 !important;
    background: none !important;
}

/* Coupon pill */
.coupon-form {
    margin-bottom: 24px;
}

.coupon-form .coupon {
    display: flex;
    align-items: center;
    border: 1px solid #AB8E01;
    border-radius: 999px;
    overflow: hidden;
    padding: 4px 4px 4px 20px;
    background: #fff;
}
.coupon-form .coupon input#coupon_code {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
    font-size: 14px;
    color: #1a1a1a;
    min-width: 0;
    box-shadow: none;
}
.coupon-form .coupon input#coupon_code::placeholder {
    color: #999;
}
.coupon-form .coupon .button {
    flex-shrink: 0;
    border-radius: 999px;
    padding: 10px 20px;
    font-size: 14px;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    color: #fff;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}
.coupon-form .coupon .button:hover {
    background: linear-gradient(90deg, #7A6500 0%, #A68A00 100%);
    color: #fff !important;
}

/* Cart & cart summary lines */
.woocommerce-cart .shop_table td,
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table tr,
.cart_totals .shop_table td,
.cart_totals .shop_table th,
.cart_totals .shop_table tr,
.shop_table_responsive td,
.shop_table_responsive th,
.shop_table_responsive tr,
.shop_table_responsive {
    border-color: #F2ECDD !important;
}
.cart-divider {
    border: none;
    border-top: 1px solid #1a1a1a;
}
.cart-collaterals .shop_table_responsive,
.cart-collaterals .shop_table_responsive td,
.cart-collaterals .shop_table_responsive th {
    border-radius: 0 !important;
}
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td,
.woocommerce-cart .shop_table strong,
.cart_totals .shop_table th,
.cart_totals .shop_table td,
.cart_totals .shop_table strong {
    font-weight: normal !important;
}
/* .woocommerce-cart-form__cart-item.cart_item:has(.free-gift-label) .product-quantity span, */
.woocommerce-cart-form__cart-item.cart_item:has(.free-gift-label) .product-remove a,
.woocommerce-cart-form__cart-item.cart_item:has(.free-gift-label) .product-subtotal span,
.woocommerce-cart-form__cart-item.cart_item:has(.free-gift-label) .product-price span{
    visibility: hidden;
}

.free-gift-qty {
    max-width: 100px;
    display: block;
    text-align: center;
}
.woocommerce-cart-form__cart-item.cart_item td {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
.woocommerce-cart td.product-thumbnail,
.woocommerce #content table.cart .product-thumbnail,
.woocommerce table.cart .product-thumbnail,
.woocommerce-page #content table.cart .product-thumbnail,
.woocommerce-page table.cart .product-thumbnail {
    display: table-cell !important;
    width: 90px !important;
    min-width: 90px !important;
    height: 90px !important;
    overflow: hidden;
    vertical-align: middle;
}
.woocommerce-cart .product-thumbnail img {
    display: block !important;
    width: 90px !important;
    height: 90px !important;
    max-width: none !important;
    object-fit: cover !important;
}

.cart-page-title,
.cart_totals h2 {
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif !important;
    font-size: clamp(18px, calc(15px + 0.75vw), 26px) !important;
    font-weight: 500 !important;
}

.cart-page-title,
.cart_totals h2 {
    color: #AB8E01;
}

/* Hide Update cart button (AJAX handles updates automatically) */
.shop_table.cart button[name="update_cart"] {
    display: none !important;
}

/* Checkout + Place order buttons */
#place_order,
a.checkout-button.button.alt.wc-forward,
.wc-proceed-to-checkout a.checkout-button,
.wc-block-checkout__place-order-button,
.wc-block-components-checkout-place-order-button {
    display: inline-block !important;
    width: auto !important;
    padding: 18px 50px !important;
    border-radius: 100px !important;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%) !important;
    color: #fff !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 1em !important;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: background 0.25s ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward {
    display: block !important;
    width: 100% !important;
}

#place_order:hover,
a.checkout-button.button.alt.wc-forward:hover,
.wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-checkout__place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: linear-gradient(90deg, #7A6500 0%, #A68A00 100%) !important;
    color: #fff !important;
}

.wc-block-components-order-summary-item__description p {
    display: none;
}

.wp-block-woocommerce-checkout-order-summary-block {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 32px !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.wc-block-components-totals-footer-item-tax {
    font-size: 1em !important;
}

/* Checkout block coupon — pill style matching cart */
.wc-block-components-totals-coupon__content {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #AB8E01 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    padding: 4px 4px 4px 20px !important;
    background: #fff !important;
    gap: 0 !important;
}
.wc-block-components-totals-coupon__content .wc-block-components-text-input,
.wc-block-components-totals-coupon__content .wc-block-components-text-input input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    min-width: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.wc-block-components-totals-coupon__content .wc-block-components-text-input input::placeholder {
    color: #999 !important;
}
.wc-block-components-totals-coupon__content .wc-block-components-button {
    flex-shrink: 0 !important;
    border-radius: 999px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: normal !important;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.wc-block-components-totals-coupon__content .wc-block-components-button:hover {
    background: linear-gradient(90deg, #7A6500 0%, #A68A00 100%) !important;
    color: #fff !important;
}

.wc-block-components-totals-coupon {
    display: none !important;
}

.wc-block-checkout__main h1,
.wc-block-checkout__main h2,
.wc-block-checkout__main h3,
.wc-block-checkout__main h4,
.wc-block-checkout__main h5,
.wc-block-checkout__main h6 {
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif !important;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px) !important;
    font-weight: 500 !important;
}

.woocommerce-checkout h1,
.wp-block-woocommerce-checkout h1 {
    font-size: clamp(28px, calc(20px + 2.07vw), 50px) !important;
}

@media (max-width: 768px) {
    .wc-block-components-form.wc-block-checkout__form {
        background-color: #fff;
        padding: 32px;
    }
    .wc-block-checkout__actions.wp-block-woocommerce-checkout-actions-block {
        display: none !important;
    }
}

.woocommerce-cart .woocommerce-cart-form table,
.woocommerce-cart .woocommerce-cart-form th,
.woocommerce-cart .woocommerce-cart-form td {
    border: none;
}

.woocommerce-cart-form .product-name a {
    color: #1a1a1a;
    text-decoration: none;
}
.woocommerce-cart-form .product-name a:hover {
    text-decoration: underline;
}
.woocommerce-cart-form .product-name .free-gift-label {
    display: block;
    width: 100%;
    font-size: 12px;
    text-transform: uppercase;
    color: #8C7400;
}

.woocommerce-cart .cart-collaterals {
    grid-column: 2;
    background: #fff;
    padding: 32px 32px 60px;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
}

.woocommerce-cart .cart-collaterals .shop_table,
.woocommerce-cart .cart-collaterals .shop_table tr,
.woocommerce-cart .cart-collaterals .shop_table td,
.woocommerce-cart .cart-collaterals .shop_table th {
    border-left: none !important;
    border-right: none !important;
}

.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after,
.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after {
    display: none;
}

@media (max-width: 1220px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr;
        overflow-x: hidden;
    }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-cart-form {
        padding-bottom: 0;
    }
    .woocommerce-cart .cart-collaterals {
        padding-bottom: 30px;
    }
    .cart-divider {
        display: none;
    }
    .cart-page-title,
    .cart_totals h2 {
        margin-bottom: 20px;
    }
    .woocommerce-cart-form__cart-item.cart_item {
        border-radius: 10px;
        border: 1px solid #1a1a1a;
        margin-bottom: 20px;
    }
    .woocommerce-cart-form__cart-item.cart_item td {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    .woocommerce-cart-form__cart-item.cart_item td.product-thumbnail::before {
        display: none !important;
    }
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
    .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: transparent !important;
    }
    .woocommerce table.shop_table td,
    .woocommerce-page table.shop_table td {
        border-top: none !important;
    }
    .woocommerce table.shop_table_responsive tr td,
    .woocommerce-page table.shop_table_responsive tr td {
        text-align: left !important;
    }
    .woocommerce table.shop_table_responsive tr td::before,
    .woocommerce-page table.shop_table_responsive tr td::before {
        display: none !important;
    }
}


/* =============================================
   BEFORE / AFTER SLIDER
   ============================================= */

.before-after-section {
    grid-column: 1 / -1;
    padding-top: 112px;
    padding-bottom: 112px;
}

@media (max-width: 640px) {
    .before-after-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.before-after-title {
    margin-bottom: 48px;
}

.before-after-swiper {
    width: 100%;
}

.before-after-pagination {
    position: relative !important;
    text-align: center;
    margin-top: 32px;
}

.before-after-swiper .swiper-button-prev,
.before-after-swiper .swiper-button-next {
    --swiper-navigation-size: 18px;
    width: 72px !important;
    height: 72px !important;
    margin-top: -36px;
    border-radius: 50%;
    border: 1px solid #AB8E01;
    color: #AB8E01;
}

@media (max-width: 640px) {
    .swiper-button-prev,
    .swiper-button-next {
        display: none !important;
    }
}

.before-after-pagination .swiper-pagination-bullet {
    background: #AB8E01;
    opacity: 0.3;
}

.before-after-pagination .swiper-pagination-bullet-active {
    background: #AB8E01;
    opacity: 1 !important;
}

.before-after-testimonial {
    margin-bottom: 32px;
}

.before-after-slide-inner {
    display: grid;
    grid-template-columns: 6fr 6fr;
    gap: 4rem;
    align-items: center;
    width: calc(100% * 9 / 12);
    margin: 0 auto;
}

@media (max-width: 640px) {
    .before-after-slide-inner {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .before-after-image {
        order: 1;
        width: 100%;
    }
    .before-after-slide-inner .left-side {
        order: 2;
        width: 100%;
    }
}

.before-after-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
}

.before-after-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =============================================
   INCLUDES
   ============================================= */

.includes-grid {
    gap:12px;
}

.includes-grid__text {
    max-width: 300px;
}

.includes-section {
    padding: 112px 0;
}

.includes-section h2 {
    padding-bottom: 32px;
}

.includes-section h3 {
    padding-top: 16px;
    padding-bottom: 12px;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
    max-width: 80%;
}

@media (max-width: 640px) {
    .includes-section {
        padding: 80px 0;
    }
    .includes-grid__text {
        max-width: none;
    }
    .includes-grid__item:not(:last-child) {
        margin-bottom: 30px;
    }
}

/* =============================================
   HOW TO USE SECTION
   ============================================= */

.how-to-use-section {
    grid-column: 1 / -1;
    padding: 80px 0;
    color: #fff;
    position: relative;
}

.how-to-use-inner {
    /* max-width: calc(100% * 10 / 12); */
    margin-inline: auto;
    z-index: 2;
    position: relative;
}

.how-to-use-title {
    margin-bottom: 104px;
}

.how-to-use-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px 80px;
}

.how-to-use-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.how-to-use-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border: 1px solid #fff;
    border-radius: 100px;
    font-size: clamp(18px, calc(15px + 0.75vw), 26px);
}

.how-to-use-item p {
    margin-top: 10px;
    max-width: 500px;
}

.how-to-use-button {
    display: inline-block;
    margin-top: 64px !important;
    padding: 18px 50px !important;
    border-radius: 100px !important;
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: clamp(15px, calc(14px + 0.28vw), 18px) !important;
    font-weight: normal !important;
    border: none !important;
}
.how-to-use-bg {
    z-index: 1;
}

@media (max-width: 768px) {
    .how-to-use-section {
        padding: 50px 0;
    }
    .how-to-use-title {
        margin-bottom: 60px;
    }
    .how-to-use-inner {
        max-width: 100%;
    }
    .how-to-use-list {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   FAQ SECTION
   ============================================= */

.faq-section {
    grid-column: 4 / -4;
    padding-top: 112px;
    padding-bottom: 112px;
}

@media (max-width: 768px) {
    .faq-section {
        grid-column: 1 / -1;
        padding-top: 80px;
        padding-bottom: 80px;
        padding-left: var(--margin-x);
        padding-right: var(--margin-x);
    }
}

/* =============================================
   VIDEO REVIEWS SECTION
   ============================================= */

.video-reviews-section {
    padding: 32px 0 0;
}

.video-reviews-inner.container {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
}

.video-reviews-section__title {
    margin: 0 0 17px;
}

.video-reviews-section__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    cursor: grab;
    user-select: none;
}

.video-reviews-section__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

.video-reviews-section__track::-webkit-scrollbar {
    height: 4px;
}

.video-reviews-section__track::-webkit-scrollbar-track {
    background: #f0ede4;
    border-radius: 2px;
}

.video-reviews-section__track::-webkit-scrollbar-thumb {
    background: #C9A84C;
    border-radius: 2px;
}

.video-reviews-section__item {
    position: relative;
    flex: 0 0 calc(100% / 3.5);
    scroll-snap-align: start;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.video-reviews-section__video {
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16;
    object-fit: cover;
}

.video-reviews-section__freeze-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
    z-index: 1;
    pointer-events: none;
}

.video-reviews-section__freeze-frame.is-visible {
    display: block;
}

.video-reviews-section__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C9A84C;
    transition: background 0.2s, transform 0.2s;
}

.video-reviews-section__play-btn:hover {
    background: #fff;
    transform: translate(-50%, -50%) scale(1.08);
}

.video-reviews-section__item.is-playing .video-reviews-section__play-btn {
    opacity: 0;
}

/* =============================================
   PRODUCT GALLERY GRID
   ============================================= */

.product-gallery-wrap {
    position: relative;
}

.product-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    align-items: start;
    align-content: start;
}

.product-gallery-grid__item {
    /* overflow: hidden; */
}

.product-gallery-grid__dots {
    display: none;
}

.product-gallery-grid__img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .product-gallery-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 0;
        cursor: grab;
        user-select: none;
        scrollbar-width: none;
        border-radius: 10px;
    }
    .product-gallery-grid::-webkit-scrollbar {
        display: none;
    }
    .product-gallery-grid.is-dragging {
        cursor: grabbing;
        scroll-snap-type: none;
    }
    .product-gallery-grid__item {
        flex: 0 0 100%;
        scroll-snap-align: start;
    }
    .product-gallery-grid__dots {
        display: flex !important;
        justify-content: center;
        gap: 6px;
        position: absolute;
        bottom: 20px;
        left: 0;
        right: 0;
        pointer-events: none;
    }
    .product-gallery-grid__dot {
        pointer-events: auto;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #ccc;
        border: none;
        padding: 0;
        cursor: pointer;
        transition: background 0.2s;
    }
    .product-gallery-grid__dot.is-active {
        background: #C9A84C;
    }
}

@media (max-width: 768px) {
    .summary.entry-summary {
        padding-left: 0;
    }
}

/* =============================================
   WOOCOMMERCE - NOTICES
   ============================================= */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: 1rem;
    margin-bottom: 1rem;
    list-style: none;
}


/* =============================================
   LATEST ARTICLES SECTION
   ============================================= */

.latest-articles-section {
    padding: 80px 0;
}

@media (max-width: 640px) {
    .latest-articles-section {
        padding: 50px 0;
    }
}

body.single-post .latest-articles-section {
    background: #F2ECDD;
    margin-top: 112px;
}

@media (max-width: 640px) {
    body.single-post .latest-articles-section {
        margin-top: 80px;
    }
}

.latest-articles-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.latest-articles-section__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media (max-width: 640px) {
    .latest-articles-section__all-link {
        display: none;
    }
    .latest-articles-section__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}

.latest-articles-section__card {
    min-width: 0;
}

.latest-articles-section__card-image {
    display: block;
    overflow: hidden;
    height: 366px;
    border-radius: 10px;
}

.latest-articles-section__card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.latest-articles-section__card-title {
    font-weight: normal;
    font-family: 'Helvetica Neue', system-ui, -apple-system, sans-serif;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
}

.latest-articles-section__card-title a {
    color: #1a1a1a;
    text-decoration: none;
}

.latest-articles-section__card-title a:hover {
    text-decoration: underline;
}

.latest-articles-section__card-date {
    display: block;
    margin-top: 16px;
    margin-bottom: 8px;
    font-size: 16px;
    opacity: 0.6;
}

.latest-articles-section__card-link {
    margin-top: 40px;
}

@media (max-width: 640px) {
    .latest-articles-section__card-link {
        margin-top: 20px;
    }
}


/* =============================================
   DEFAULT PAGE
   ============================================= */
.pageContent {
    margin-bottom: 112px;
}
@media (max-width: 640px) {
    .pageContent {
        margin-bottom: 80px;
    }
}

/* =============================================
   ARCHIVE PAGE
   ============================================= */

.archive-posts__inner {
    max-width: calc(100% * 10 / 12);
    margin-left: auto;
    margin-right: auto;
}

.archive-posts {
    padding-top: 80px;
    padding-bottom: 112px;
}

.archive-posts__header {
    margin-bottom: 96px;
}

.archive-posts__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    text-align: center;
    max-width: calc(100% * 8 / 12);
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}

.archive-posts__description {
    margin-top: 16px;
    color: #1a1a1a;
}

.archive-posts__pagination {
    margin-top: 64px;
    display: flex;
    justify-content: center;
}

.archive-posts__pagination .nav-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.archive-posts__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    font-size: 16px;
    color: #1a1a1a;
    text-decoration: none;
}

.archive-posts__pagination .page-numbers.current {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    color: #fff;
}

.archive-posts__pagination .page-numbers:hover:not(.current) {
    background: #F2ECDD;
}

.archive-posts__list {
    display: flex;
    flex-direction: column;
    gap: 96px;
}

.archive-posts__item {
    display: flex;
    align-items: stretch;
    gap: 48px;
    width: 100%;
}

.archive-posts__item:nth-child(even) {
    flex-direction: row-reverse;
}

.archive-posts__item-image {
    flex: 0 0 calc(100% * 7 / 12 - 24px);
    width: calc(100% * 7 / 12 - 24px);
    aspect-ratio: 4 / 3;
    overflow: hidden;
    display: block;
    border-radius: 10px;
}

.archive-posts__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.archive-posts__item-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.archive-posts__item-date {
    font-size: 14px;
    color: #999;
}

.archive-posts__item-title {
    margin: 16px 0 0;
    font-size: clamp(22px, calc(17px + 1.31vw), 36px);
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
}

.archive-posts__item-title a {
    color: #1a1a1a;
    text-decoration: none;
}

.archive-posts__item-title a:hover {
    text-decoration: underline;
}

.archive-posts__item-excerpt {
    color: #1a1a1a;
    margin: 24px 0 0;
}

.archive-posts__item-link {
    margin-top: auto;
    align-self: flex-start;
}

@media (max-width: 640px) {
    .archive-posts__inner {
        max-width: 100%;
    }
    .archive-posts__title {
        max-width: 100%;
    }
    .archive-posts {
        padding: 50px 0;
    }
    .archive-posts__header {
        margin-bottom: 60px;
    }
    .archive-posts__list {
        gap: 48px;
    }
    .archive-posts__item,
    .archive-posts__item:nth-child(even) {
        flex-direction: column;
        gap: 0;
    }
    .archive-posts__item-image {
        flex: none;
        width: 100%;
    }
    .archive-posts__item-body {
        width: 100%;
    }
    .archive-posts__item-date {
        margin-top: 16px;
        margin-bottom: 8px;
    }
    .archive-posts__item-title {
        margin: 0;
    }
    .archive-posts__item-excerpt {
        margin-top: 18px;
        margin-bottom: 12px;
    }
    .archive-posts__item-link {
        margin-top: 20px;
    }
}

/* =============================================
   SINGLE POST
   ============================================= */

body.single-post {
    background: linear-gradient(to bottom, #F2ECDD var(--hero-bg-mid, 60%), #fff var(--hero-bg-mid, 60%));
}

article.single-post {
    padding-bottom: 112px;
}

.single-post__header {
    text-align: center;
    max-width: calc(100% * 8 / 12);
    margin: 0 auto 48px;
}

.single-post__title {
    margin: 40px 0 0;
}

.single-post__image-wrap {
    max-width: calc(100% * 10 / 12);
    margin: 0 auto 64px;
}

.single-post__image-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 16px;
}

.single-post__featured-image {
    border-radius: 10px;
    overflow: hidden;
}

.single-post__featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

.single-post__date {
    font-size: 14px;
    color: #1a1a1a;
}

.single-post__share {
    display: flex;
    align-items: center;
    gap: 16px;
}

.single-post__share-label {
    font-size: 14px;
    color: #1a1a1a;
}

.single-post__share-icons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.single-post__share-icon {
    color: #1a1a1a;
    display: flex;
    align-items: center;
    transition: opacity 0.2s;
}

.single-post__share-icon:hover {
    opacity: 0.7;
}

/* Single post content */

.single-post__content {
    max-width: calc(100% * 8 / 12);
    margin: 0 auto;
}

.single-post__content p {
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    line-height: 1.75;
    margin: 0 0 1.5em;
    color: #1a1a1a;
}

.single-post__content h2 {
    font-size: clamp(22px, calc(17px + 1.31vw), 36px);
    margin: 1.75em 0 0.5em;
}

.single-post__content h3 {
    font-size: clamp(18px, calc(15px + 0.75vw), 26px);
    margin: 1.5em 0 0.5em;
}

.single-post__content h4 {
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
    margin: 1.5em 0 0.5em;
}

.single-post__content ul,
.single-post__content ol {
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    line-height: 1.75;
    margin: 0 0 1.5em;
    padding-left: 1.5em;
}

.single-post__content li {
    margin-bottom: 0.5em;
}

.single-post__content blockquote {
    border-left: 3px solid #AB8E01;
    background: #F2ECDD;
    border-radius: 0 10px 10px 0;
    margin: 2em 0;
    padding: 1.25em 1.5em;
    font-style: italic;
    font-size: clamp(15px, calc(14px + 0.28vw), 18px);
    color: #555;
}

.single-post__content blockquote p {
    font-size: inherit;
    margin: 0;
}

.single-post__content img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    margin: 2em auto;
}

.single-post__content a {
    color: #AB8E01;
    text-decoration: underline;
}

.single-post__content a:hover {
    text-decoration: none;
}

.single-post__content strong {
    /* font-weight: 600; */
}

.single-post__content hr {
    border: none;
    border-top: 1px solid #F2ECDD;
    margin: 2.5em 0;
}
.single-post__content table {
    border-radius: 10px;
    background: var(--Color-Brand-bg-colder, #F2F0E6);
    overflow: hidden;
    width: 100%;
    margin: 0 0 1.5em;
}
.single-post__content table p {

}
.single-post__content table tr:first-of-type td {
    background-color: #000;
    color: #fff;
}
.single-post__content table tr:first-of-type td p {
    color: #fff;
}
.single-post__content table tr:nth-of-type(even) td {
    background-color: rgb(255 255 255 / 50%);
}
.single-post__content table td {
	padding: 10px 15px;
}

@media (max-width: 640px) {
    .single-post__header {
        max-width: 100%;
    }
    .single-post__image-wrap {
        max-width: 100%;
    }
    .single-post__content {
        max-width: calc(100% * 10 / 12);
    }
}

/* =============================================
   PRODUCT REVIEWS SECTION
   ============================================= */

.product-reviews-section {
    grid-column: 1 / -1;
    padding: 48px 0;
    background: #F2F0E6;
}

.product-reviews-section .container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--grid-gap, 24px);
}

.product-reviews-section .container > * {
    grid-column: 3 / span 8;
}

.product-reviews-section__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(28px, calc(20px + 2.07vw), 50px);
    font-weight: 400;
    margin: 0 0 32px;
    color: #1a1a1a;
}

.product-reviews-section .woocommerce-Reviews-title {
    font-family: 'Helvetica Neue', system-ui, sans-serif;
    font-size: clamp(16px, calc(14.5px + 0.38vw), 20px);
    font-weight: 400 !important;
    margin: 0 0 24px;
    color: #1a1a1a;
}

/* Review list */
.product-reviews-section .commentlist {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.product-reviews-section .comment_container {
    display: flex;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid #F2ECDD;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.product-reviews-section .comment_container > * {
    flex: 1;
    min-width: 0;
}

.product-reviews-section .comment-text {
    flex: 1;
}

.product-reviews-section .star-rating {
    margin: 0 0 8px;
}

.star-rating span {
    color: #C9A84C !important;
}

.star-rating span::before {
    color: #C9A84C !important;
}

.product-reviews-section .woocommerce-review__author {
    /* font-weight: 600; */
    color: #1a1a1a;
}

.product-reviews-section .woocommerce-review__dash,
.product-reviews-section .woocommerce-review__published-date {
    color: #999;
    font-size: 14px;
}

.product-reviews-section .description p {
    font-size: clamp(14px, calc(13px + 0.19vw), 16px);
    color: #1a1a1a;
    margin: 8px 0 0;
    line-height: 1.7;
}

/* Review form */
.product-reviews-section #review_form_wrapper {
    margin-top: 40px;
}

.product-reviews-section #reply-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(16px, calc(14px + 0.56vw), 22px);
    font-weight: 400;
    margin: 0 0 24px;
    color: #1a1a1a;
}

.product-reviews-section .comment-form p {
    margin: 0 0 16px;
}

.product-reviews-section .comment-form label {
    display: block;
    font-size: 14px;
    /* font-weight: 600; */
    margin-bottom: 6px;
    color: #1a1a1a;
}

.product-reviews-section .comment-form input[type="text"],
.product-reviews-section .comment-form input[type="email"],
.product-reviews-section .comment-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #E0D9C8;
    border-radius: 8px;
    font-size: 16px;
    color: #1a1a1a;
    background: #fff;
    box-sizing: border-box;
}

.product-reviews-section .comment-form textarea {
    height: 120px;
    resize: vertical;
}

.product-reviews-section .comment-form input[type="submit"],
.product-reviews-section .form-submit input {
    background: #1a1a1a;
    color: #fff;
    border: none;
    padding: 14px 32px;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s;
}

.product-reviews-section .comment-form input[type="submit"]:hover,
.product-reviews-section .form-submit input:hover {
    background: #333;
}

.cr-ajax-reviews-sort {
    appearance: auto;
    -webkit-appearance: auto;
    padding: 6px 10px;
    border: 1px solid #1a1a1a;
    border-radius: 4px;
    font-size: 14px;
    color: #1a1a1a;
    background: transparent;
    cursor: pointer;
}

.cr-summaryBox-wrap {
    border-radius: 10px;
    overflow: hidden;
}

.cr-average-rating {
    font-family: 'Playfair Display', Georgia, serif;
}

.cr-rating-icon-base,
.cr-rating-icon-frnt .cr-rating-icon,
.crstar-rating-svg .cr-rating-icon {
    fill: #C9A84C !important;
}

.crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg {
    stroke: #C9A84C !important;
}

.ivole-meter {
    height: 5px !important;
    background: #e0d9c8 !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 2px !important;
}

.ivole-meter .ivole-meter-bar {
    background: #C9A84C !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 2px !important;
}

.cr-count-row {
    background: none !important;
    background-color: transparent !important;
    border-bottom: 1px solid #1a1a1a !important;
    font-size: 16px !important;
}

.cr-reviews-ajax-reviews input.cr-input-text[type="text"],
.cr-all-reviews-shortcode .cr-ajax-search input.cr-input-text[type="text"],
.cr-ajax-search input[type="text"] {
    width: 25% !important;
    border-color: #1a1a1a !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.cr-comment-head-text {
    font-weight: 400 !important;
}

.product-reviews-section .meta {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

.product-reviews-section .photo,
.product-reviews-section .cr-std-avatar {
    display: none !important;
}

.cr-reviews-ajax-reviews .cr-reviews-ajax-comments .cr-ajax-reviews-list .comment_container .cr-comment-text,
.cr-all-reviews-shortcode ol.commentlist li .cr-comment-text {
    margin-left: 0 !important;
}

@media (max-width: 768px) {
    .product-reviews-section .container > * {
        grid-column: 1 / -1;
    }
}

/* =============================================
   CHECKOUT
   ============================================= */

h2.wc-block-components-title {
    color: #AB8E01 !important;
}

.wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-wrapper * {
    font-size: 16px !important;
}

.wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper {
    border: 0 !important;
    padding-bottom: 0 !important;
}

/* ─── Order Received / Thank You Page ─────────────────────────────────────── */

/* Strip page-level container and hide the WP page title.
   Use direct child (>) so the inner .container inside .order-received-section is unaffected. */
body.woocommerce-order-received > .container {
    max-width: none;
    padding: 0;
}

.woocommerce-order-received #primary > article {
    padding: 0;
    margin: 0;
}

.woocommerce-order-received #primary > article > h1 {
    display: none;
}

.woocommerce-order-received .woocommerce-order {
    display: contents;
}

/* Hide WC order/customer detail tables and payment instructions on order received page */
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order > p {
    display: none;
}

/* Full-screen section */
.order-received-section {
    min-height: 800px;
    max-height: 800px;
    background-color: #1a1a1a;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    position: relative;
}

.order-received-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.order-received-inner {
    position: relative;
    z-index: 1;
    padding-top: 80px;
    padding-bottom: 80px;
    align-items: center;
}

.order-received-content {
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.order-received-title {
    font-size: clamp(32px, calc(24px + 2vw), 60px);
    margin-bottom: 24px;
    color: #fff;
}

.order-received-text {
    margin-bottom: 48px;
    opacity: 0.85;
    line-height: 1.7;
}

.order-received-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.woocommerce .order-received-content a.button-outline,
.woocommerce .order-received-content a.button-outline:visited {
    padding: 18px 50px;
    border-radius: 100px;
    border: 1px solid #AB8E01;
    color: #AB8E01;
    background: transparent;
    text-decoration: none;
    font-weight: normal;
    box-shadow: none;
    text-shadow: none;
    transition: color 0.1s ease, background 0.25s ease, border-color 0.25s ease;
}

.woocommerce .order-received-content a.button-outline:hover {
    background: linear-gradient(90deg, #8C7400 0%, #B99A00 100%);
    border-color: transparent;
    color: #fff;
}

@media (max-width: 768px) {
    .order-received-content {
        grid-column: 1 / -1;
    }
}



/* =============================================
   Commons
   ============================================= */
.img-cover.img-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    object-position: 50% 50%;
}
.abs-in {
    position: absolute;
    inset: 0;
}
.site {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
.admin-bar .site {
    min-height: calc(100vh - 32px);
}
.site-main {
    flex: 1;
}
