/*
Theme Name: woosonshop
Theme URI: https://wprepo.oom.ch/theme/woosonshop
Author: SONDERFORMAT.LLC, Michael Roth
Author URI: https://sonderformat.llc
Description: A first class champagne online shop theme optimized for state of the art WooCommerce.
Version: 1.10.57
Text Domain: woosonshop
Tags: responsive, e-commerce, WooCommerce, high performance, slick, champagne
Tested: 10.9.3
Premium: true
Branch: stable
Prefix: woosonshop
*/

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

/* poppins-100 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/poppins-v24-latin-100.woff2') format('woff2');
}

/* poppins-100italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 100;
  src: url('fonts/poppins-v24-latin-100italic.woff2') format('woff2');
}

/* poppins-200 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/poppins-v24-latin-200.woff2') format('woff2');
}

/* poppins-200italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/poppins-v24-latin-200italic.woff2') format('woff2');
}

/* poppins-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/poppins-v24-latin-300.woff2') format('woff2');
}

/* poppins-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/poppins-v24-latin-300italic.woff2') format('woff2');
}

/* poppins-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-regular.woff2') format('woff2');
}

/* poppins-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-italic.woff2') format('woff2');
}

/* poppins-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500.woff2') format('woff2');
}

/* poppins-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500italic.woff2') format('woff2');
}

/* poppins-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600.woff2') format('woff2');
}

/* poppins-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600italic.woff2') format('woff2');
}

/* poppins-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700.woff2') format('woff2');
}

/* poppins-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700italic.woff2') format('woff2');
}

/* poppins-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/poppins-v24-latin-800.woff2') format('woff2');
}

/* poppins-800italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/poppins-v24-latin-800italic.woff2') format('woff2');
}

/* poppins-900 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/poppins-v24-latin-900.woff2') format('woff2');
}

/* poppins-900italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/poppins-v24-latin-900italic.woff2') format('woff2');
}

/* cormorant-garamond-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/cormorant-garamond-v21-latin-300.woff2') format('woff2');
}

/* cormorant-garamond-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/cormorant-garamond-v21-latin-300italic.woff2') format('woff2');
}

/* cormorant-garamond-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/cormorant-garamond-v21-latin-regular.woff2') format('woff2');
}

/* cormorant-garamond-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/cormorant-garamond-v21-latin-italic.woff2') format('woff2');
}

/* cormorant-garamond-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/cormorant-garamond-v21-latin-500.woff2') format('woff2');
}

/* cormorant-garamond-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/cormorant-garamond-v21-latin-500italic.woff2') format('woff2');
}

/* cormorant-garamond-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/cormorant-garamond-v21-latin-600.woff2') format('woff2');
}

/* cormorant-garamond-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/cormorant-garamond-v21-latin-600italic.woff2') format('woff2');
}

/* cormorant-garamond-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/cormorant-garamond-v21-latin-700.woff2') format('woff2');
}

/* cormorant-garamond-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/cormorant-garamond-v21-latin-700italic.woff2') format('woff2');
}


:root {
    --primary-color: #a6892c;
    --highlight-color: #becdd1;
    --text-color: #1a1a1a;
    --bg-color: #fcfcfc;
    --header-bg-color: #becdd1;
    --link-color: #4a6a73;
    --link-hover-color: #2c3e44;
    --title-color: #1a1a1a;
    --price-color: #a6892c;
    --footer-bg-color: #becdd1;
    --footer-text-color: #1a1a1a;
    --button-text-color: #fff;
    --nav-active-color: #a6892c;
    --nav-hover-color: #a6892c;
    --header-search-bg-color: #ffffff;
    --container-width: 1200px;
}


h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.widget-title,
.woocommerce-loop-product__title,
.product_title,
.result-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    color: var(--title-color);
}

h1 {
    font-size: 3.5rem;
    line-height: 1.2;
    margin-bottom: 0.8rem;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-color);
    background-color: var(--bg-color);
    margin: 0;
    line-height: 1.6;
}

a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover,
a:focus {
    color: var(--link-hover-color);
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 40px;
}

.text-center {
    text-align: center;
}

body.full-width-layout .container {
    max-width: 100%;
}

/* Slide-in Page Load Animations */
@keyframes flyInHeader {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes flyInLogo {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes flyInNavItem {
    0% {
        opacity: 0;
        transform: translateY(-22px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes flyInRightIcon {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes flyInBottomNav {
    0% {
        opacity: 0;
        transform: translateY(100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-branding,
    .header-actions-left,
    .main-navigation ul > li,
    .header-right .header-actions > *,
    .header-right .menu-toggle,
    .mobile-bottom-nav {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Header & Navigation */
.site-header {
    position: sticky;
    top: 0;
    z-index: 10100;
    box-shadow: none;
    transition: background 0.3s ease, box-shadow 0.3s ease;
    animation: flyInHeader 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.site-branding,
.header-actions-left {
    animation: flyInLogo 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}

body.menu-open .header-main,
body.sidebar-open .header-main,
body.search-visible .header-main,
body.menu-open .site-footer,
body.sidebar-open .site-footer,
body.search-visible .site-footer {
    background: var(--header-bg-color);
}

body.menu-open .menu-toggle,
body.sidebar-open .mobile-sidebar-toggle,
body.search-visible .search-toggle {
    color: var(--nav-active-color);
}

.header-main {
    background: var(--header-bg-color);
    padding: 5px 0;
    position: relative;
    z-index: 10000;
}

@media screen and (min-width: 1025px) {
    .header-main {
        padding: 10px 0;
        min-height: 70px;
        display: flex;
        align-items: center;
    }

    .header-main .container {
        width: 100%;
    }
}

.header-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
}

.header-left {
    display: flex;
    align-items: center;
}

.header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.site-branding .site-title {
    margin: 0;
}

.site-branding {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-right: 30px;
    z-index: 20;
    position: relative;
}

.header-actions-left {
    display: flex;
    align-items: center;
}

.site-branding .custom-logo {
    display: block;
    height: 30px;
    width: auto;
    transition: opacity 0.3s ease;
}

.site-branding:hover .custom-logo {
    opacity: 0.8;
}

.site-title a {
    color: var(--text-color);
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 700;
    font-style: italic;
    line-height: 1.1;
    display: inline-block;
}

/* Desktop Navigation */
.main-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (min-width: 1025px) {
    .main-navigation .mobile-menu-drawer,
    .main-navigation .mobile-menu-content,
    .main-navigation .menu-primary-container {
        display: contents;
    }

    .main-navigation .mobile-menu-header,
    .main-navigation .mobile-menu-bottom {
        display: none !important;
    }
}

.main-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.main-navigation li {
    margin: 0;
}

.main-navigation a {
    color: var(--text-color);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all 0.3s ease;
    padding: 5px 0;
    display: inline-block;
    border-bottom: 2px solid transparent;
}

.main-navigation a:hover {
    color: var(--nav-hover-color);
    border-bottom-color: var(--nav-hover-color);
}

.main-navigation li.current-menu-item > a,
.main-navigation li.current-page-item > a,
.main-navigation li.current-menu-ancestor > a,
.main-navigation li.current-menu-parent > a,
.main-navigation li.current_page_item > a,
.main-navigation li.current_page_parent > a,
.main-navigation li.current_page_ancestor > a,
.main-navigation li.current-post-ancestor > a,
.main-navigation li.current-post-parent > a,
.main-navigation li.active > a,
.main-navigation li.current > a,
.main-navigation a.active,
.main-navigation a.current,
.main-navigation a[aria-current="page"] {
    color: var(--nav-active-color);
    border-bottom-color: var(--nav-active-color);
}

/* Staggered Slide-in Animations for Desktop Navigation & Header Actions */
@media screen and (min-width: 1025px) {
    .main-navigation ul > li {
        animation: flyInNavItem 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    .main-navigation ul > li:nth-child(1) { animation-delay: 0.22s; }
    .main-navigation ul > li:nth-child(2) { animation-delay: 0.28s; }
    .main-navigation ul > li:nth-child(3) { animation-delay: 0.34s; }
    .main-navigation ul > li:nth-child(4) { animation-delay: 0.40s; }
    .main-navigation ul > li:nth-child(5) { animation-delay: 0.46s; }
    .main-navigation ul > li:nth-child(6) { animation-delay: 0.52s; }
    .main-navigation ul > li:nth-child(7) { animation-delay: 0.58s; }
    .main-navigation ul > li:nth-child(8) { animation-delay: 0.64s; }
    .main-navigation ul > li:nth-child(n+9) { animation-delay: 0.70s; }

    .header-right .header-actions > * {
        animation: flyInRightIcon 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    .header-right .header-actions > *:nth-child(1) { animation-delay: 0.55s; }
    .header-right .header-actions > *:nth-child(2) { animation-delay: 0.62s; }
    .header-right .header-actions > *:nth-child(3) { animation-delay: 0.69s; }
    .header-right .header-actions > *:nth-child(4) { animation-delay: 0.76s; }
    .header-right .header-actions > *:nth-child(n+5) { animation-delay: 0.83s; }
}

/* Desktop Responsive Spacing Fix: 1025px to 1100px */
@media screen and (min-width: 1025px) and (max-width: 1100px) {
    .header-main .container {
        padding: 0 16px;
    }

    .site-branding {
        margin-right: 12px;
        gap: 6px;
    }

    .site-branding .custom-logo {
        height: 24px;
    }

    .site-title a {
        font-size: 1.2rem;
    }

    .main-navigation ul {
        gap: 12px;
    }

    .main-navigation a {
        font-size: 11.5px;
        letter-spacing: 0.6px;
        padding: 4px 0;
        white-space: nowrap;
    }

    .header-actions {
        gap: 5px;
        margin-left: 8px;
    }

    .action-btn {
        padding: 3px;
        min-width: 30px;
    }

    .action-btn svg {
        width: 18px;
        height: 18px;
    }
}

/* Desktop Responsive Spacing: 1101px to 1220px */
@media screen and (min-width: 1101px) and (max-width: 1220px) {
    .header-main .container {
        padding: 0 24px;
    }

    .site-branding {
        margin-right: 18px;
    }

    .main-navigation ul {
        gap: 18px;
    }

    .main-navigation a {
        font-size: 12px;
        letter-spacing: 1px;
        white-space: nowrap;
    }

    .header-actions {
        gap: 8px;
        margin-left: 12px;
    }
}

.header-actions-left,
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 15px;
}

.header-actions-left {
    margin-left: 0;
    margin-right: 15px;
}

.action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--text-color);
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.3s ease;
    position: relative;
    padding: 5px;
    min-width: 36px;
}

.action-btn:hover {
    color: var(--nav-hover-color);
}

.action-btn.active,
.action-btn[aria-current="page"] {
    color: var(--nav-active-color);
}

.action-btn svg {
    margin-bottom: 2px;
}

.btn-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

/* Hide labels for specific action buttons by default but keep space */
.action-btn.search-toggle .btn-label,
.action-btn.help-btn .btn-label,
.action-btn.account-btn .btn-label,
.action-btn.cart-btn .btn-label {
    visibility: hidden;
    opacity: 0;
    bottom: -12px;
    transition: all 0.3s ease;
}

/* Show labels on hover */
.action-btn.search-toggle:hover .btn-label,
.action-btn.help-btn:hover .btn-label,
.action-btn.account-btn:hover .btn-label,
.action-btn.cart-btn:hover .btn-label {
    visibility: visible;
    opacity: 1;
    bottom: -8px;
}

.cart-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-count {
    position: absolute;
    top: -4px;
    right: -8px;
    background: var(--primary-color);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.mobile-bottom-nav {
    display: none;
}

/* Mobile Bottom Nav on Mobile */
@media screen and (max-width: 1024px) {
    .header-main .header-actions {
        display: none !important;
    }

    .mobile-bottom-nav {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--header-bg-color);
        z-index: 10001;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        padding: 4px 0;
        box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.06);
    }

    .mobile-bottom-nav .header-actions {
        display: flex;
        justify-content: space-around;
        margin: 0;
        gap: 0;
    }

    .mobile-bottom-nav .action-btn {
        flex: 1;
        padding: 4px 0;
    }

    /* Adjust page container to not be covered by bottom nav */
    #page {
        padding-bottom: 60px;
    }
}

/* Mobile Toggle */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: var(--text-color);
    z-index: 10001;
}

.hamburger-box {
    width: 20px;
    height: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    margin: 0 auto;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 20px;
    height: 2px;
    background-color: currentColor;
    border-radius: 2px;
    position: absolute;
    left: 0;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
}

.hamburger-inner {
    top: 50%;
    transform: translateY(-50%);
}

.hamburger-inner::before {
    content: "";
    top: -6px;
}

.hamburger-inner::after {
    content: "";
    bottom: -6px;
}

body.menu-open .hamburger-inner {
    transform: rotate(45deg);
}

body.menu-open .hamburger-inner::before {
    top: 0;
    opacity: 0;
}

body.menu-open .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
}

/* Mobile Menu Styles */
.mobile-sidebar-toggle {
    display: none;
}

@media screen and (max-width: 1024px) {
    .menu-toggle {
        animation: flyInRightIcon 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.20s both;
    }

    .mobile-bottom-nav {
        animation: flyInBottomNav 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.20s both;
    }

    h1 {
        font-size: 2.2rem;
    }

    .header-main .container {
        padding: 0 16px;
    }

    .header-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 6px 0;
        position: relative;
        min-height: 48px;
    }

    .header-left {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1 1 auto;
        min-width: 0;
    }

    .header-actions-left {
        display: flex;
        align-items: center;
        gap: 4px;
        margin: 0;
        flex-shrink: 0;
    }

    .site-branding {
        display: flex;
        align-items: center;
        margin: 0;
        flex-shrink: 0;
    }

    .site-branding .custom-logo {
        height: 26px;
        width: auto;
        max-height: 26px;
        max-width: 170px;
        object-fit: contain;
    }

    .site-branding.has-logo .site-title {
        display: block;
    }

    .site-title a {
        font-size: 1.15rem;
        line-height: 1.1;
        white-space: nowrap;
        max-width: 150px;
    }

    /* Main Navigation Drawer on Mobile */
    .main-navigation {
        position: static;
        width: 0;
        height: 0;
        padding: 0;
        margin: 0;
        overflow: visible;
        flex: 0 0 0;
    }

    .main-navigation .menu-primary-container {
        width: 100%;
    }

    .mobile-menu-drawer {
        position: fixed;
        top: var(--site-header-height, 46px);
        bottom: var(--mobile-bottom-nav-height, 54px);
        right: 0;
        width: 320px;
        max-width: 86vw;
        height: auto;
        max-height: calc(100vh - var(--site-header-height, 46px) - var(--mobile-bottom-nav-height, 54px));
        max-height: calc(100dvh - var(--site-header-height, 46px) - var(--mobile-bottom-nav-height, 54px));
        background: var(--header-bg-color, #ffffff);
        z-index: 10005;
        box-shadow: -8px 0 30px rgba(0, 0, 0, 0.15);
        transform: translateX(100%);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.38s;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }

    .main-navigation.toggled .mobile-menu-drawer {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .mobile-menu-content {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: auto;
        padding: 12px 16px 20px 16px;
        box-sizing: border-box;
        gap: 14px;
    }

    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    }

    .mobile-menu-title {
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        color: rgba(0, 0, 0, 0.45);
    }

    .mobile-menu-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        border: none;
        background: rgba(0, 0, 0, 0.05);
        color: var(--text-color);
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .mobile-menu-close:hover {
        background: rgba(0, 0, 0, 0.1);
        transform: scale(1.05);
    }

    .main-navigation .mobile-menu-drawer ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        position: static;
        height: auto;
        transform: none;
        overflow: visible;
    }

    .main-navigation .mobile-menu-drawer li {
        margin: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        opacity: 0;
        transform: translateX(12px);
        transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .main-navigation.toggled .mobile-menu-drawer li {
        opacity: 1;
        transform: translateX(0);
    }

    .main-navigation.toggled .mobile-menu-drawer li:nth-child(1) { transition-delay: 0.04s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(2) { transition-delay: 0.08s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(3) { transition-delay: 0.12s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(4) { transition-delay: 0.16s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(5) { transition-delay: 0.20s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(6) { transition-delay: 0.24s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(7) { transition-delay: 0.28s; }
    .main-navigation.toggled .mobile-menu-drawer li:nth-child(n+8) { transition-delay: 0.32s; }

    .main-navigation .mobile-menu-drawer li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 9px 8px;
        font-size: 13.5px;
        font-weight: 500;
        letter-spacing: 0.6px;
        text-transform: uppercase;
        color: var(--text-color);
        text-decoration: none;
        border-radius: 6px;
        transition: all 0.2s ease;
        border-bottom: none;
    }

    .main-navigation .mobile-menu-drawer li a:hover {
        background: rgba(0, 0, 0, 0.03);
        color: var(--nav-hover-color);
        padding-left: 12px;
    }

    .main-navigation .mobile-menu-drawer li a::after {
        content: '›';
        font-size: 16px;
        line-height: 1;
        opacity: 0.3;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .main-navigation .mobile-menu-drawer li a:hover::after,
    .main-navigation .mobile-menu-drawer li.current-menu-item > a::after {
        opacity: 0.9;
        transform: translateX(3px);
    }

    .main-navigation .mobile-menu-drawer li.current-menu-item > a,
    .main-navigation .mobile-menu-drawer li.current-page-item > a,
    .main-navigation .mobile-menu-drawer li.current-menu-ancestor > a,
    .main-navigation .mobile-menu-drawer li.current-menu-parent > a,
    .main-navigation .mobile-menu-drawer li.current_page_item > a,
    .main-navigation .mobile-menu-drawer li.current_page_parent > a,
    .main-navigation .mobile-menu-drawer li.current_page_ancestor > a,
    .main-navigation .mobile-menu-drawer li.current-post-ancestor > a,
    .main-navigation .mobile-menu-drawer li.current-post-parent > a,
    .main-navigation .mobile-menu-drawer li.active > a,
    .main-navigation .mobile-menu-drawer li.current > a,
    .main-navigation .mobile-menu-drawer a.active,
    .main-navigation .mobile-menu-drawer a.current,
    .main-navigation .mobile-menu-drawer a[aria-current="page"] {
        color: var(--nav-active-color);
        font-weight: 600;
        background: rgba(197, 160, 89, 0.08);
    }

    /* Backdrop for panels */
    body.sidebar-open::before,
    body.menu-open::before,
    body.search-visible::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        z-index: 9999;
        animation: fadeIn 0.25s ease forwards;
    }

    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    .header-right {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        flex: 0 0 auto;
        margin-left: auto;
    }

    .menu-toggle {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 5px 8px;
        background: transparent;
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 8px;
        cursor: pointer;
        color: var(--text-color);
        transition: all 0.25s ease;
        min-width: 44px;
        height: 38px;
        margin: 0;
    }

    .menu-toggle:hover,
    .menu-toggle:focus {
        background: rgba(0, 0, 0, 0.04);
        border-color: rgba(0, 0, 0, 0.15);
    }

    body.menu-open .menu-toggle {
        background: rgba(0, 0, 0, 0.06);
        border-color: var(--nav-active-color);
        color: var(--nav-active-color);
    }

    .menu-toggle .btn-label {
        font-size: 8.5px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        line-height: 1;
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        display: block;
    }

    .action-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 5px;
        min-width: 44px;
        text-align: center;
    }

    .action-btn svg {
        width: 20px;
        height: 20px;
    }

    .action-btn .btn-label {
        display: block;
        visibility: visible;
        opacity: 1;
        position: static;
        transform: none;
        font-size: 9px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        text-align: center;
        width: 100%;
    }

    .help-btn, .account-btn, .mobile-sidebar-toggle {
        display: flex;
    }

    body.body-locked {
        overflow: hidden;
    }

    /* Mobile Menu Bottom - Upsell, CTA, Info */
    .mobile-menu-bottom {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 6px;
        padding-top: 14px;
        border-top: 1px solid rgba(0, 0, 0, 0.07);
        opacity: 0;
        transform: translateY(16px);
        transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .main-navigation.toggled .mobile-menu-bottom {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0.24s;
    }

    .mobile-menu-promo-card {
        background: #ffffff;
        border: 1px solid rgba(218, 165, 32, 0.28);
        border-radius: 12px;
        padding: 12px 14px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
        position: relative;
        overflow: hidden;
    }

    .promo-card-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #926514;
        background: rgba(218, 165, 32, 0.16);
        padding: 2px 8px;
        border-radius: 20px;
        margin-bottom: 6px;
    }

    .promo-card-badge .promo-star {
        color: #d4a017;
    }

    .promo-card-title {
        font-size: 13px;
        font-weight: 700;
        margin: 0 0 4px 0;
        color: var(--text-color);
        line-height: 1.25;
    }

    .promo-card-text {
        font-size: 11px;
        line-height: 1.35;
        margin: 0 0 10px 0;
        color: rgba(0, 0, 0, 0.65);
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn,
    .promo-card-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: #1a1a1a !important;
        color: var(--highlight-color, #becdd1) !important;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-decoration: none;
        padding: 8px 12px;
        border-radius: 6px;
        width: 100%;
        transition: all 0.2s ease;
        box-sizing: border-box;
        border: 1px solid rgba(190, 205, 209, 0.25);
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn span,
    .promo-card-btn span {
        color: var(--highlight-color, #becdd1) !important;
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn svg,
    .promo-card-btn svg {
        stroke: var(--highlight-color, #becdd1) !important;
        color: var(--highlight-color, #becdd1) !important;
        transition: transform 0.2s ease;
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn:hover,
    .promo-card-btn:hover {
        background: #000000 !important;
        border-color: var(--highlight-color, #becdd1);
        transform: translateY(-1px);
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn:hover span,
    .promo-card-btn:hover span {
        color: #ffffff !important;
    }

    .main-navigation .mobile-menu-drawer .promo-card-btn:hover svg,
    .promo-card-btn:hover svg {
        stroke: #ffffff !important;
        color: #ffffff !important;
        transform: translateX(3px);
    }

    .mobile-menu-features {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 0 2px;
    }

    .menu-feature-item {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 11px;
        color: rgba(0, 0, 0, 0.68);
        font-weight: 400;
    }

    .menu-feature-item svg {
        color: #888;
        flex-shrink: 0;
    }

    .mobile-menu-help-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 11px;
        font-weight: 500;
        color: var(--text-color);
        text-decoration: none;
        padding: 6px 0;
        opacity: 0.85;
        transition: opacity 0.2s ease, color 0.2s ease;
    }

    .mobile-menu-help-link:hover {
        opacity: 1;
        color: var(--nav-hover-color);
    }

    .site-main {
        padding-top: 25px;
        padding-bottom: 40px;
    }

    .container {
        padding: 0 15px;
    }

    .woocommerce-products-header {
        margin-bottom: 20px;
    }
}

/* Main Content */
.site-main {
    padding-top: 40px;
    padding-bottom: 80px;
    min-height: 60vh;
}

.welcome-screen {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.welcome-screen h1 {
    font-size: 42px;
    margin-bottom: 10px;
    color: var(--text-color);
    font-weight: 300;
    letter-spacing: -1px;
}

.welcome-screen p {
    font-size: 18px;
    color: #666;
    margin-bottom: 40px;
}

.admin-link {
    display: inline-block;
    width: auto;
    box-shadow: none;
}

.admin-link img {
    border: 1px solid #eee;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    max-width: 100%;
}

.admin-link:hover img {
    transform: translateY(-5px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.12);
}

/* Header Search */
.header-search-wrap {
    background: var(--header-search-bg-color);
    padding: 10px 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 9999;
}

.header-search-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(0,0,0,0.1), transparent);
    pointer-events: none;
}

body.search-visible .header-search-wrap,
body.shop-search-always-visible .header-search-wrap {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body.shop-search-always-visible .header-search-wrap {
    position: relative;
    top: auto;
    box-shadow: none;
    padding: 10px 0;
    border-top: 1px solid rgba(0,0,0,0.05);
}

body.shop-search-always-visible .search-toggle {
    display: none;
}

.header-search .search-form {
    display: flex;
    width: 100%;
    position: relative;
}

.ajax-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    z-index: 10001;
    max-height: 80vh;
    overflow-y: auto;
    border-radius: 0 0 8px 8px;
    margin-top: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color) #f5f5f5;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    padding: 10px;
    gap: 10px;
}

@media screen and (max-width: 600px) {
    .ajax-search-results {
        grid-template-columns: 1fr;
        padding: 10px;
        gap: 10px;
        max-height: 70vh;
    }
}

body.search-results-visible .ajax-search-results {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ajax-search-results .search-result-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 10px;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-color);
    transition: all 0.2s ease;
    background: #fff;
    height: 100%;
}

.ajax-search-results .search-result-item:hover {
    background: #fdfdfd;
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.ajax-search-results .result-image {
    width: 80px;
    height: 110px;
    object-fit: contain;
    margin-right: 15px;
    border-radius: 4px;
    flex-shrink: 0;
}

.ajax-search-results .result-content {
    flex-grow: 1;
}

.ajax-search-results .result-title {
    display: block;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 4px;
    line-height: 1.2;
}

.ajax-search-results .result-meta {
    display: flex;
    flex-direction: column;
    margin-top: 4px;
}

.ajax-search-results .result-winzer {
    font-size: 12px;
    color: #666;
    margin-bottom: 3px;
    font-weight: 500;
}

.ajax-search-results .result-taxonomies {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

.ajax-search-results .result-type {
    font-size: 9px;
    text-transform: uppercase;
    color: #aaa;
    letter-spacing: 0.5px;
    background: #f5f5f5;
    padding: 2px 6px;
    border-radius: 0;
}

.ajax-search-results .result-date {
    font-size: 11px;
    color: #666;
    font-weight: 500;
}

.ajax-search-results .result-category {
    font-size: 11px;
    color: var(--primary-color);
    font-weight: 500;
}

.ajax-search-results .result-price {
    font-weight: 400;
    font-size: 14px;
    color: var(--price-color);
    margin-top: 5px;
}

.ajax-search-results .view-all-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 15px;
    background: #f9f9f9;
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    border-radius: 0;
    transition: background 0.2s ease;
}

.ajax-search-results .view-all-results:hover {
    background: #f0f0f0;
}

.ajax-search-results .no-results {
    grid-column: 1 / -1;
    padding: 30px;
    text-align: center;
    color: #999;
}

/* Search Results Page */
.search-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.search-result-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
}

.search-result-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-color: var(--primary-color);
}

.search-result-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.search-result-card .result-thumbnail {
    height: 250px;
    background: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.search-result-card .result-thumbnail img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.search-result-card .result-content {
    padding: 20px;
}

.search-result-card .entry-title {
    font-size: 20px;
    margin: 0 0 10px;
}

.search-result-card .result-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 14px;
    color: #888;
    margin-bottom: 15px;
}

.search-result-card .result-winzer {
    width: 100%;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.search-result-card .result-type {
    padding: 2px 8px;
    background: #f0f0f0;
    border-radius: 4px;
    font-size: 12px;
    text-transform: uppercase;
}

.search-result-card .product-type {
    background: var(--primary-color);
    color: #fff;
}

.search-result-card .result-price {
    font-weight: 600;
    color: var(--text-color);
}

.search-result-card .entry-summary {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
}

@media screen and (max-width: 600px) {
    .search-results-grid {
        grid-template-columns: 1fr;
    }
}

.header-search .search-form label {
    flex-grow: 1;
}

.header-search .search-field {
    width: 100%;
    padding: 10px 0;
    border: none;
    border-bottom: 2px solid rgba(0,0,0,0.05);
    border-radius: 0;
    font-family: inherit;
    background: transparent;
    font-size: 18px;
    font-weight: 400;
    transition: all 0.3s ease;
    color: var(--text-color);
}

.header-search .search-field::placeholder {
    color: rgba(0,0,0,0.2);
}

.header-search .search-field:focus {
    outline: none;
    border-bottom-color: var(--nav-active-color);
    background: transparent;
}

.header-search .search-submit {
    display: none;
}

/* Footer */
.site-footer {
    background: var(--footer-bg-color);
    color: var(--footer-text-color);
    padding: 80px 0 40px;
    font-size: 13px;
    text-transform: uppercase;
}

/* Footer Widgets */
.footer-widgets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 60px;
    text-align: left;
}

.footer-widget-area h2.widget-title {
    font-size: 16px;
    margin-bottom: 25px;
    font-weight: 600;
    letter-spacing: 1px;
    position: relative;
    padding-bottom: 10px;
}

.footer-widget-area h2.widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--primary-color);
}

.footer-widget-area ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widget-area ul li {
    margin-bottom: 12px;
    text-transform: none;
}

.footer-widget-area a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.footer-widget-area a:hover {
    color: var(--primary-color);
}

.site-info {
    opacity: 0.8;
    text-align: center;
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 40px;
    letter-spacing: 1px;
}

@media (max-width: 992px) {
    .footer-widgets {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .footer-widgets {
        grid-template-columns: 1fr;
    }
}

/* WooCommerce specific */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
    background-color: var(--primary-color);
    color: var(--button-text-color);
    border-radius: 0;
    transition: all 0.3s ease;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
    background-color: var(--text-color);
    color: var(--button-text-color);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--price-color);
}

.woocommerce ul.products li.product .price {
    color: var(--price-color);
    text-align: center;
    display: block;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--primary-color);
    font-weight: bold;
}

/* Product Grid & Sale Badge */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: visible;
}

.woocommerce ul.products li.product a:first-of-type {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin-bottom: 15px;
    gap: 0 !important;
}

.woocommerce ul.products li.product .button {
    margin-top: auto;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.woocommerce span.onsale {
    background-color: #ff5722;
    color: #fff;
    padding: 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 0;
    min-height: 0;
    min-width: 0;
    margin: 0;
    z-index: 99;
}

/* Product Image Hover Animation */
.woocommerce ul.products li.product a img {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    display: block;
    width: 100%;
    height: auto;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.08) rotate(3deg) translateY(-5px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--primary-color);
}

/* Single Product Background Image */
.product-bg-image {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 110vw;
    height: auto;
    max-width: none;
    opacity: 0.25;
    transform: translate(-50%, -50%) rotate(70deg);
    z-index: -1;
    pointer-events: none;
    filter: none;
    object-fit: contain;
}

/* Site Background Logo */
.site-background-logo {
    position: fixed;
    bottom: -10vw;
    right: -10vw;
    width: 50vw;
    max-width: 800px;
    height: auto;
    opacity: 0.07;
    z-index: -10;
    pointer-events: none;
    will-change: transform;
}

/* WooCommerce Gallery and Hover Effect */
.woocommerce-product-gallery__image {
    background: transparent !important;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    overflow: visible !important;
    cursor: pointer;
}

.woocommerce-product-gallery__image img {
    background: transparent !important;
    display: block;
}

.woocommerce-product-gallery__image:hover {
    transform: scale(1.1) rotate(5deg);
    z-index: 100;
}

/* Single Product Add to Cart Form */
.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-top: 25px;
    margin-bottom: 30px;
}

.woocommerce div.product form.cart .quantity {
    margin: 0 !important;
    display: inline-block;
}

.woocommerce div.product form.cart .quantity .qty {
    width: 70px;
    height: 50px;
    line-height: 50px;
    padding: 0 10px;
    border: 1px solid #eee;
    background: #fdfdfd;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    border-radius: 0;
    -moz-appearance: textfield;
    font-family: inherit;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    height: 50px;
    padding: 0 35px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 0;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-loop-attributes {
	text-align: center;
	margin-top: 0 !important;
	margin-bottom: 5px;
	font-size: 0.9em;
	color: #666;
}

.product-attribute {
	margin: 0;
}

.attr-highlight {
	font-size: 1.0em;
	font-weight: 600;
	color: var(--primary-color, #a6892c);
}

/* Print Buttons */
.product-print-actions {
	margin: 20px 0;
	display: flex;
	gap: 10px;
}

.product-print-actions .button {
	cursor: pointer;
	padding: 10px 20px;
	border: 1px solid var(--primary-color, #a6892c);
	background: transparent;
	color: var(--primary-color, #a6892c);
	font-weight: 600;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
}

.product-print-actions .button:hover {
	background: var(--primary-color, #a6892c);
	color: white;
}

.woosonshop-custom-print-template {
	display: none;
}

/* Product QR Code */
.woosonshop-product-qr-wrapper {
	margin: 15px 0;
}

.product-qr-code {
	display: inline-block;
	text-align: center;
}

.product-qr-code .qr-code-img {
	display: block;
	margin: 0 auto;
	border: 1px solid #ddd;
	padding: 4px;
	background: #fff;
}

.product-qr-code .qr-code-label {
	display: block;
	font-size: 0.8rem;
	color: #666;
	margin-top: 4px;
}

/* Winzer Info on Product Page */
.product-winzer-info {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

.product-winzer-info h3 {
	margin-bottom: 15px;
	font-size: 1.5rem;
}

.winzer-attributes {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 10px;
}

.winzer-attributes li {
	margin-bottom: 5px;
}

/* ==========================================================================
   Single Product Details: 2-Column Side-by-Side (Description & Attributes)
   ========================================================================== */

/* Hide WooCommerce Tab Navigation List */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.wc-tabs,
.wc-tabs-wrapper ul.tabs {
	display: none !important;
}

/* Product Details / Tabs Wrapper */
.woocommerce div.product .woocommerce-tabs,
.woocommerce-tabs.wc-tabs-wrapper,
.woosonshop-product-details-wrapper {
	display: block !important;
	margin: 50px 0 40px !important;
	padding-top: 40px !important;
	border-top: 1px solid #eaeaea !important;
	clear: both !important;
	width: 100% !important;
}

/* Force all tab panels to be open and visible (overrides WC script tab-toggling) */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce-tabs.wc-tabs-wrapper .panel,
.woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* 2-Column Grid: Left Description, Right Attributes */
.woosonshop-product-details-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 60px;
	align-items: start;
	width: 100%;
}

/* Grid fallback when custom template wrapper is not present */
.woocommerce div.product .woocommerce-tabs:not(:has(.woosonshop-product-details-grid)) {
	display: grid !important;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 60px;
	align-items: start;
}

/* Headings */
.woosonshop-product-details-wrapper h2,
.woocommerce div.product .woocommerce-tabs h2,
.woosonshop-col-description h2,
.woosonshop-col-attributes h2 {
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--text-color, #222);
	margin-top: 0;
	margin-bottom: 22px;
	padding-bottom: 10px;
	position: relative;
	display: inline-block;
	border-bottom: 2px solid var(--primary-color, #a6892c);
}

/* Description Column */
.woosonshop-col-description,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description {
	font-size: 1rem;
	line-height: 1.8;
	color: #444;
}

.woosonshop-col-description p,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description p {
	margin-top: 0;
	margin-bottom: 1.25em;
}

.woosonshop-col-description p:last-child,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description p:last-child {
	margin-bottom: 0;
}

/* Single Product Columns (Left: Description & Fazit, Right: Attributes & Food) */
.woosonshop-col-description-wrap,
.woosonshop-col-attributes-wrap {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
}

.woosonshop-product-fazit-panel,
.gs-product-fazit-panel,
.gs-product-fazit-box,
.woosonshop-col-attributes,
.wppg-pairing-section-wrap,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--fazit,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information {
	background: #ffffff !important;
	border: 1px solid #f0f0f0 !important;
	border-radius: 8px !important;
	padding: 24px 28px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Prevent nested double box when fazit box is rendered inside a tab panel */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--fazit .gs-product-fazit-box,
.woosonshop-product-fazit-panel .gs-product-fazit-box,
.gs-product-fazit-panel .gs-product-fazit-box {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.woosonshop-product-fazit-panel:hover,
.gs-product-fazit-panel:hover,
.gs-product-fazit-box:hover,
.woosonshop-col-attributes:hover,
.wppg-pairing-section-wrap:hover {
	border-color: #e8e8e8 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}

.woosonshop-product-fazit-panel h2,
.gs-product-fazit-panel h2,
.gs-product-fazit-box h2,
.gs-fazit-heading,
.woosonshop-product-pairing-panel h2,
.wppg-main-heading,
.woosonshop-col-attributes h2,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--fazit h2,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information h2 {
	margin-bottom: 18px;
}

/* Tab panel container for pairings */
.woosonshop-product-pairing-panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--wppg_pairings {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.woosonshop-product-pairing-panel .wppg-pairing-section-wrap,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--wppg_pairings .wppg-pairing-section-wrap {
	background: #ffffff !important;
	border: 1px solid #f0f0f0 !important;
	border-radius: 8px !important;
	padding: 24px 28px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

/* Ensure no rounded edges on pairing guide tags/badges inside woosonshop theme */
.wppg-badge,
.wppg-badge-group .wppg-badge,
.wppg-taxonomy-badges .wppg-badge,
.wppg-meta-pill,
.wppg-card-meta-pills .wppg-meta-pill,
.wppg-strength-badge,
.wppg-featured-tag,
.wppg-filter-pill-text,
.wppg-filter-checkbox-count,
.wppg-serving-note,
.wppg-recipe-meta-bar {
	border-radius: 0 !important;
}

/* Clean, modern styling for table.woocommerce-product-attributes.shop_attributes */
.woocommerce table.shop_attributes,
table.woocommerce-product-attributes,
.woocommerce-product-attributes.shop_attributes {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	border: none !important;
	margin: 0 !important;
	background: transparent !important;
}

.woocommerce table.shop_attributes tr,
table.woocommerce-product-attributes tr {
	border: none !important;
	border-bottom: 1px solid #eaeaea !important;
	transition: background-color 0.2s ease;
}

.woocommerce table.shop_attributes tr:last-child,
table.woocommerce-product-attributes tr:last-child {
	border-bottom: none !important;
}

.woocommerce table.shop_attributes tr:nth-child(even),
table.woocommerce-product-attributes tr:nth-child(even) {
	background: transparent !important;
}

.woocommerce table.shop_attributes tr:hover,
table.woocommerce-product-attributes tr:hover {
	background-color: rgba(0, 0, 0, 0.02) !important;
}

.woocommerce table.shop_attributes th,
table.woocommerce-product-attributes th,
.woocommerce table.shop_attributes .woocommerce-product-attributes-item__label {
	width: 45% !important;
	padding: 12px 14px 12px 4px !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	color: #333 !important;
	text-align: left !important;
	vertical-align: top !important;
	border: none !important;
	background: transparent !important;
	line-height: 1.5 !important;
}

.woocommerce table.shop_attributes td,
table.woocommerce-product-attributes td,
.woocommerce table.shop_attributes .woocommerce-product-attributes-item__value {
	padding: 12px 4px 12px 8px !important;
	font-size: 0.92rem !important;
	color: #555 !important;
	text-align: left !important;
	vertical-align: top !important;
	border: none !important;
	background: transparent !important;
	line-height: 1.5 !important;
	font-style: normal !important;
}

.woocommerce table.shop_attributes td p,
table.woocommerce-product-attributes td p,
.woocommerce-product-attributes-item__value p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
	font-style: normal !important;
}

.woocommerce table.shop_attributes td a,
table.woocommerce-product-attributes td a {
	color: var(--primary-color, #a6892c) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.woocommerce table.shop_attributes td a:hover,
table.woocommerce-product-attributes td a:hover {
	text-decoration: underline !important;
}

/* Extra tabs below the grid (e.g. Reviews) */
.woosonshop-product-extra-tab {
	grid-column: 1 / -1;
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid #eee;
	width: 100%;
}

/* Single Product Winzer Details Box (Under Description) */
.woosonshop-product-winzer-box {
	margin-top: 45px;
	padding-top: 30px;
	border-top: 1px solid #eaeaea;
	clear: both;
}

.woosonshop-winzer-heading {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--text-color, #222);
	margin-top: 0;
	margin-bottom: 20px;
	padding-bottom: 8px;
	position: relative;
	display: inline-block;
	border-bottom: 2px solid var(--primary-color, #a6892c);
}

.woosonshop-winzer-card {
	background: #ffffff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 24px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	display: flex;
	gap: 22px;
	align-items: flex-start;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.woosonshop-winzer-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	border-color: #e0e0e0;
}

.woosonshop-winzer-media {
	flex-shrink: 0;
	width: 110px;
	height: 110px;
	border-radius: 6px;
	overflow: hidden;
	background: #f8f8f8;
}

.woosonshop-winzer-media img,
.woosonshop-winzer-thumb {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s ease;
}

.woosonshop-winzer-media a:hover img {
	transform: scale(1.05);
}

.woosonshop-winzer-body {
	flex: 1;
	min-width: 0;
}

.woosonshop-winzer-title {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: #222;
	line-height: 1.3;
}

.woosonshop-winzer-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.woosonshop-winzer-title a:hover {
	color: var(--primary-color, #a6892c);
}

.woosonshop-winzer-excerpt {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #555;
	margin-bottom: 14px;
}

.woosonshop-winzer-excerpt p {
	margin: 0 0 10px 0;
}

.woosonshop-winzer-excerpt p:last-child {
	margin-bottom: 0;
}

.woosonshop-winzer-attributes-wrapper {
	margin-bottom: 16px;
}

.woosonshop-winzer-attr-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	background: #fafafa;
	border: 1px solid #f0f0f0;
	border-radius: 6px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 8px 16px;
}

.woosonshop-winzer-attr-list li {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.88rem;
	line-height: 1.4;
	color: #444;
}

.woosonshop-winzer-attr-list .attr-label {
	font-weight: 600;
	color: #333;
	margin-right: 4px;
}

.woosonshop-winzer-attr-list .attr-val {
	color: #666;
}

.woosonshop-winzer-action {
	margin-top: 14px;
}

.woosonshop-winzer-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--primary-color, #a6892c);
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.woosonshop-winzer-link:hover {
	color: var(--primary-hover, #8a7122);
	text-decoration: underline;
	transform: translateX(3px);
}

/* Responsive adjustments for Tablets & Mobile */
@media (max-width: 900px) {
	.woosonshop-product-details-grid,
	.woocommerce div.product .woocommerce-tabs:not(:has(.woosonshop-product-details-grid)) {
		grid-template-columns: 1fr !important;
		gap: 35px !important;
	}

	.woosonshop-col-attributes,
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information {
		padding: 20px 18px !important;
	}

	.woocommerce table.shop_attributes th,
	table.woocommerce-product-attributes th {
		width: 40% !important;
	}
}

@media (max-width: 600px) {
	.woosonshop-winzer-card {
		flex-direction: column;
		gap: 16px;
		padding: 18px;
	}

	.woosonshop-winzer-media {
		width: 100%;
		height: 160px;
	}

	.woosonshop-winzer-attr-list {
		grid-template-columns: 1fr;
	}
}

@media print {
	/* Hide elements */
	body.single-product #page,
	body.single-product .site,
	body.single-product #masthead,
	body.single-product #primary,
	body.single-product #colophon,
	body.single-product .site-header,
	body.single-product .site-footer,
	body.single-product .entry-header,
	.site-header,
	.site-footer,
	.woocommerce-breadcrumb,
	.product-print-actions,
	.no-print,
	.cart,
	.product_meta,
	.woosonshop-navigation,
	.mobile-bottom-nav,
	.menu-toggle,
	.woocommerce-tabs,
	.related.products,
	.upsells.products,
	#wpadminbar,
	#spb-bug-tracker-button {
		display: none !important;
	}

	/* Layout adjustments */
	body {
		background: #fff !important;
		color: #000 !important;
		margin: 0;
		padding: 0;
	}

	.site {
		margin: 0 !important;
		padding: 0 !important;
	}

	#content {
		padding: 0 !important;
	}

	.content-area {
		width: 100% !important;
		margin: 0 !important;
	}

	/* Rotated product background image in print */
	.product-bg-image {
		display: block !important;
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		width: 90% !important;
		max-width: 650px !important;
		height: auto !important;
		opacity: 0.15 !important;
		transform: translate(-50%, -50%) rotate(70deg) !important;
		z-index: -1 !important;
		pointer-events: none !important;
		object-fit: contain !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* Site background logo in print */
	.site-background-logo {
		display: block !important;
		position: fixed !important;
		bottom: 5mm !important;
		right: 5mm !important;
		width: 180px !important;
		max-width: 220px !important;
		height: auto !important;
		opacity: 0.10 !important;
		z-index: -2 !important;
		pointer-events: none !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* Two-column layout for print */
	.product {
		display: block !important;
	}

	.woocommerce-product-gallery {
		width: 40% !important;
		float: left !important;
		margin-right: 3% !important;
		margin-bottom: 20px !important;
		padding: 0 !important;
	}

	.summary.entry-summary {
		width: 57% !important;
		float: left !important;
	}

	.woocommerce-product-gallery__wrapper,
	.woocommerce-product-gallery__image {
		padding: 0 !important;
		margin: 0 !important;
	}

	.woocommerce-product-gallery__image {
		overflow: hidden !important;
	}

	.woocommerce-product-gallery__image img {
		width: 100% !important;
		max-height: 420px !important;
		height: auto !important;
		transform: none !important;
		margin: 0 auto !important;
		display: block !important;
		object-fit: contain !important;
	}

	h1.product_title {
		font-size: 18pt !important;
		margin-top: 0 !important;
	}

	.price {
		font-size: 14pt !important;
	}

	.product-title-attributes {
		margin-bottom: 12px !important;
	}

	.product-attributes-single {
		page-break-before: auto !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		clear: both !important;
		width: 100% !important;
		margin-top: 15pt !important;
		padding-top: 0 !important;
		border-top: none !important;
	}

	.product-winzer-info {
		page-break-before: auto !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		border-top: 0.5pt solid #ccc;
		margin-top: 15pt;
		padding-top: 8pt;
		clear: both !important;
		width: 100% !important;
	}

	.product-attributes-single h3,
	.product-winzer-info h3 {
		font-size: 11pt !important;
		margin-bottom: 6pt !important;
		margin-top: 0 !important;
	}

	.attribute-list,
	.winzer-attributes {
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		column-gap: 16px !important;
		row-gap: 3px !important;
		font-size: 8.5pt !important;
	}

	.attribute-list li,
	.winzer-attributes li {
		margin: 0 !important;
		padding: 2px 0 !important;
		display: flex !important;
		justify-content: space-between !important;
		align-items: baseline !important;
		border-bottom: 1px dotted #becdd1 !important;
		line-height: 1.35 !important;
	}

	.attribute-list li .attr-label,
	.winzer-attributes li .attr-label {
		font-weight: 600 !important;
		color: #444 !important;
		margin-right: 8px !important;
		flex-shrink: 0 !important;
	}

	.attribute-list li .attr-val,
	.winzer-attributes li .attr-val {
		color: #1a1a1a !important;
		text-align: right !important;
		word-break: break-word !important;
	}
}

/**
 * Product Title Attributes styling
 */
.product-title-attributes {
	display: block;
	margin: 0;
	padding: 0;
}

.product-main-title {
	display: block;
	margin: 0;
	padding: 0;
}

.title-attr {
	display: block;
	margin: 0;
	padding: 0;
}

.title-attr-highlight {
	font-size: 0.8em;
	font-weight: 500;
	color: var(--primary-color, #a6892c);
}

.title-attr-normal {
	font-size: 0.6em;
	font-weight: 400;
	color: #666;
}

/**
 * Hide product description in WooCommerce Cart Block
 */
.wc-block-components-product-metadata__description {
	display: none !important;
}

/**
 * Reorder elements in Cart Block to show attributes (metadata) above price
 */
.wc-block-cart-item__wrap {
	display: flex !important;
	flex-direction: column !important;
}

.wc-block-components-product-name {
	order: 1 !important;
}

.wc-block-components-product-metadata {
	order: 2 !important;
}

.wc-block-cart-item__prices {
	order: 3 !important;
}

.wc-block-cart-item__quantity {
	order: 4 !important;
}

/**
 * Styling for cart attributes
 */
.woosonshop-cart-attributes {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

.wc-block-components-product-details .attr-highlight,
.wc-block-components-product-details__value b,
.shop_table.cart .attr-highlight,
.highlighted-attr {
	font-weight: 600 !important;
	color: var(--primary-color, #a6892c) !important;
	font-size: 1.1em !important;
}

.wc-block-components-product-details .attr-normal,
.shop_table.cart .attr-normal {
	font-size: 0.9em;
	color: #666;
}

.woosonshop-cart-attributes > div,
.woosonshop-cart-attribute,
[class^="attr"] {
	display: block;
}

/**
 * Ensure each attribute in Cart Block is on its own line
 */
.wc-block-components-product-details > span {
	display: block !important;
}

/**
 * Hide default separators in WooCommerce Cart Block metadata
 */
.wc-block-components-product-details__separator,
.wc-block-components-product-metadata__separator,
.wc-block-components-product-details [aria-hidden="true"],
.wc-block-components-product-metadata [aria-hidden="true"],
.wc-block-components-product-details .separator,
.wc-block-components-product-metadata .separator {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	font-size: 0 !important;
	width: 0 !important;
	height: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
}



/**
 * Shop Top Widget Area
 */
.shop-top-widgets {
	margin-bottom: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.shop-top-widgets .widget {
	flex: 1 1 250px;
	margin-bottom: 0;
}

.shop-top-widgets .widget-title {
	font-size: 1.1em;
	margin-bottom: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/**
 * Full Width Layout & Shop Columns
 */
body.full-width-layout .container {
	max-width: 100%;
	padding-left: 40px;
	padding-right: 40px;
}

.shop-layout-content {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.shop-main-content {
	flex: 1;
	min-width: 0; /* Important for flex-basis 0 */
}

.shop-sidebar {
	flex: 0 0 250px;
	margin-bottom: 40px;
}

.shop-sidebar .widget {
	margin-bottom: 40px;
}

.woosonshop-shop-page .products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 40px 30px !important;
}

.woosonshop-shop-page .products::before,
.woosonshop-shop-page .products::after {
	display: none !important;
}

.woosonshop-shop-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}


@media screen and (max-width: 1024px) {
	body.full-width-layout .container {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.shop-layout-content {
		flex-direction: column;
		align-items: stretch;
	}
	

	.shop-sidebar {
		position: fixed;
		top: 60px;
		left: 0;
		width: 300px;
		max-width: 90%;
		height: calc(100vh - 60px);
		background: #fff;
		z-index: 10000;
		padding: 20px;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
		box-shadow: 5px 0 25px rgba(0,0,0,0.1);
		margin: 0 !important;
		flex: none !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
	}

	.shop-sidebar .widget {
		margin-bottom: 25px;
		flex: 0 0 auto;
	}

	.sidebar-close {
		position: absolute;
		top: 15px;
		right: 15px;
		background: none;
		border: none;
		font-size: 32px;
		line-height: 1;
		cursor: pointer;
		color: var(--text-color);
		padding: 5px;
		z-index: 10;
		display: block;
	}

	body.sidebar-open .shop-sidebar {
		transform: translateX(0);
	}

	body.sidebar-open {
		overflow: hidden;
	}

	
	.shop-main-content {
		order: 1;
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.woosonshop-shop-page .products {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
		gap: 20px 15px !important;
	}
}

/**
 * Hide shop title option
 */
.hide-shop-title .woocommerce-products-header {
	display: none;
}

/**
 * Admin Bar Adjustments
 */
body.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}

@media screen and (max-width: 600px) {
	body.admin-bar .site-header {
		top: 0;
	}
}


@media screen and (max-width: 1024px) {
	body.admin-bar .mobile-menu-drawer,
	body.admin-bar .main-navigation ul,
	body.admin-bar .shop-sidebar {
		top: calc(var(--site-header-height, 46px) + 32px);
		bottom: var(--mobile-bottom-nav-height, 54px);
		height: auto;
		max-height: calc(100vh - var(--site-header-height, 46px) - 32px - var(--mobile-bottom-nav-height, 54px));
		max-height: calc(100dvh - var(--site-header-height, 46px) - 32px - var(--mobile-bottom-nav-height, 54px));
	}

	@media screen and (max-width: 782px) {
		body.admin-bar .mobile-menu-drawer,
		body.admin-bar .main-navigation ul,
		body.admin-bar .shop-sidebar {
			top: calc(var(--site-header-height, 46px) + 46px);
			bottom: var(--mobile-bottom-nav-height, 54px);
			height: auto;
			max-height: calc(100vh - var(--site-header-height, 46px) - 46px - var(--mobile-bottom-nav-height, 54px));
			max-height: calc(100dvh - var(--site-header-height, 46px) - 46px - var(--mobile-bottom-nav-height, 54px));
		}
	}

	@media screen and (max-width: 600px) {
		body.admin-bar .mobile-menu-drawer,
		body.admin-bar .main-navigation ul,
		body.admin-bar .shop-sidebar {
			top: var(--site-header-height, 46px);
			bottom: var(--mobile-bottom-nav-height, 54px);
			height: auto;
			max-height: calc(100vh - var(--site-header-height, 46px) - var(--mobile-bottom-nav-height, 54px));
			max-height: calc(100dvh - var(--site-header-height, 46px) - var(--mobile-bottom-nav-height, 54px));
		}
	}

	body.admin-bar.sidebar-open::before,
	body.admin-bar.menu-open::before,
	body.admin-bar.search-visible::before {
		top: 32px;
	}

	@media screen and (max-width: 782px) {
		body.admin-bar.sidebar-open::before,
		body.admin-bar.menu-open::before,
		body.admin-bar.search-visible::before {
			top: 46px;
		}
	}

	@media screen and (max-width: 600px) {
		body.admin-bar.sidebar-open::before,
		body.admin-bar.menu-open::before,
		body.admin-bar.search-visible::before {
			top: 0;
		}
	}
}

/**
 * WooCommerce Block Filter Overrides for Sidebar
 */
@media screen and (max-width: 1024px) {
	.shop-sidebar .widget:first-of-type,
	.shop-sidebar > *:nth-child(2) {
		margin-top: 0 !important;
	}

	.shop-sidebar .wc-block-product-filters__overlay-content,
	.shop-sidebar .wc-block-components-sidebar-layout,
	.shop-sidebar .wc-block-product-filters,
	.shop-sidebar :where(.wc-block-product-filters) .wc-block-product-filters__overlay-dialog {
		position: static !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: visible !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}

	/* Force no margin for internal content of filters */
	.shop-sidebar .wc-block-product-filters__overlay-content > *,
	.shop-sidebar .wc-block-product-filters > * {
		margin-top: 0 !important;
	}

	/* Remove internal scrollbars to prevent double scrollbar issue */
	.shop-sidebar .wc-block-product-filters__overlay-content,
	.shop-sidebar .wc-block-product-filters {
		overflow: visible !important;
	}

	/* Hide redundant overlay header/close/open-button/footer in the sidebar */
	.shop-sidebar .wc-block-product-filters__open-overlay,
	.shop-sidebar .wc-block-product-filters__overlay-header,
	.shop-sidebar .wc-block-product-filters__overlay-footer,
	.shop-sidebar .wc-block-product-filters__close-overlay {
		display: none !important;
	}
}

/**
 * Error Page (404 & HTTP Error Codes)
 */
.error-page-main {
	padding-top: 50px;
	padding-bottom: 90px;
}

.woosonshop-error-container {
	max-width: 900px;
	margin: 0 auto;
}

.woosonshop-error-hero {
	text-align: center;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.woosonshop-error-badge {
	display: inline-block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 84px;
	line-height: 1;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 10px;
	letter-spacing: -2px;
}

.woosonshop-error-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.5rem;
	margin-top: 0;
	margin-bottom: 15px;
	color: var(--title-color);
	font-weight: 600;
}

.woosonshop-error-message {
	font-size: 1.15rem;
	color: #666;
	max-width: 650px;
	margin: 0 auto 30px;
	line-height: 1.6;
}

.woosonshop-error-actions {
	margin-top: 25px;
	margin-bottom: 10px;
}

.woosonshop-home-button,
.no-posts-found .button-primary {
	display: inline-block;
	background-color: var(--primary-color);
	color: var(--button-text-color) !important;
	padding: 14px 34px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}

.woosonshop-home-button:hover,
.no-posts-found .button-primary:hover {
	background-color: var(--link-hover-color);
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.woosonshop-error-gutenberg-content {
	margin-top: 40px;
}

.woosonshop-error-fallback {
	margin-top: 40px;
	text-align: center;
}

.woosonshop-error-search {
	max-width: 600px;
	margin: 0 auto;
	padding: 35px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 8px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.woosonshop-error-search h2 {
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 25px;
	color: var(--title-color);
}

.woosonshop-error-search .search-form {
	display: flex;
	width: 100%;
	position: relative;
}

.woosonshop-error-search .search-form label {
	flex-grow: 1;
	width: 100%;
	margin-bottom: 0;
}

.woosonshop-error-search .search-field {
	width: 100%;
	padding: 10px 0;
	border: none;
	border-bottom: 2px solid rgba(0, 0, 0, 0.05);
	border-radius: 0;
	font-family: inherit;
	background: transparent;
	font-size: 18px;
	font-weight: 400;
	transition: all 0.3s ease;
	color: var(--text-color);
}

.woosonshop-error-search .search-field::placeholder {
	color: rgba(0, 0, 0, 0.2);
}

.woosonshop-error-search .search-field:focus {
	outline: none;
	border-bottom-color: var(--nav-active-color);
	background: transparent;
}

.woosonshop-error-search .search-submit {
	display: none;
}

.no-posts-found {
	padding: 60px 20px;
	max-width: 650px;
	margin: 0 auto;
}

.no-posts-found h1 {
	font-size: 2.2rem;
	margin-bottom: 15px;
}

.no-posts-found p {
	font-size: 1.1rem;
	color: #666;
}

/* Gutenberg button block hover styling */
.wp-block-button__link:hover,
.wp-element-button:hover {
	color: var(--nav-active-color);
}

/* ==========================================================================
   Woosonshop Blog, Magazine & Archive Styles
   ========================================================================== */

/* Blog Layout Container */
.blog-page {
	padding-bottom: 80px;
}

.blog-container {
	margin-top: 30px;
}

/* Hero Banner */
.blog-hero-section {
	background: linear-gradient(135deg, rgba(190, 205, 209, 0.35) 0%, rgba(252, 252, 252, 0.95) 100%);
	border-bottom: 1px solid rgba(166, 137, 44, 0.2);
	padding: 55px 0 45px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.blog-hero-section::before {
	content: '';
	position: absolute;
	top: -50%;
	left: 50%;
	transform: translateX(-50%);
	width: 800px;
	height: 400px;
	background: radial-gradient(circle, rgba(166, 137, 44, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.blog-hero-inner {
	max-width: 820px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.blog-hero-kicker {
	display: inline-block;
	color: var(--primary-color);
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 12px;
}

.blog-hero-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	line-height: 1.15;
	color: var(--title-color);
	margin: 0 0 16px;
	font-weight: 600;
}

.blog-hero-subtitle {
	font-size: 1.1rem;
	line-height: 1.65;
	color: #555;
	margin: 0 auto 28px;
	max-width: 680px;
}

/* Quick Filter Pills */
.blog-quick-filters {
	margin-top: 25px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.blog-quick-filters-label {
	font-size: 0.85rem;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 500;
}

.blog-quick-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.blog-quick-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 25px;
	color: var(--text-color);
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.blog-quick-pill .pill-count {
	display: inline-block;
	background: rgba(0, 0, 0, 0.06);
	color: #666;
	font-size: 0.75rem;
	padding: 2px 7px;
	border-radius: 12px;
	transition: all 0.25s ease;
}

.blog-quick-pill:hover {
	border-color: var(--primary-color);
	color: var(--primary-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(166, 137, 44, 0.15);
}

.blog-quick-pill.is-active {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

.blog-quick-pill.is-active .pill-count {
	background: rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* Archive count badge */
.blog-archive-count-badge {
	display: inline-block;
	background: #fff;
	border: 1px solid rgba(166, 137, 44, 0.3);
	color: var(--primary-color);
	font-size: 0.85rem;
	font-weight: 600;
	padding: 6px 18px;
	border-radius: 20px;
	margin-top: 10px;
	box-shadow: 0 2px 8px rgba(166, 137, 44, 0.08);
}

/* Breadcrumbs */
.blog-breadcrumbs {
	margin-bottom: 25px;
	padding: 12px 0;
	font-size: 0.88rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.blog-breadcrumbs-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.blog-breadcrumb-item a {
	color: var(--link-color);
	text-decoration: none;
	transition: color 0.2s;
}

.blog-breadcrumb-item a:hover {
	color: var(--primary-color);
}

.blog-breadcrumb-item.active {
	color: #888;
	font-weight: 500;
}

.blog-breadcrumb-sep {
	color: #bbb;
	font-size: 0.8rem;
}

/* Featured Hero Article */
.blog-featured-hero-article {
	margin-bottom: 45px;
}

.blog-featured-card {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 40px;
	background: #fff;
	border: 1px solid rgba(166, 137, 44, 0.2);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
	transition: all 0.35s ease;
	align-items: center;
	padding: 24px;
}

.blog-featured-card:hover {
	border-color: var(--primary-color);
	box-shadow: 0 16px 40px rgba(166, 137, 44, 0.12);
	transform: translateY(-3px);
}

.blog-featured-media {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	display: block;
	background: #f7f7f7;
}

.blog-featured-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.blog-featured-card:hover .blog-featured-img {
	transform: scale(1.04);
}

.blog-featured-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: rgba(26, 26, 26, 0.88);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	padding: 6px 14px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	z-index: 2;
}

.blog-featured-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.blog-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.82rem;
	color: #777;
	margin-bottom: 12px;
}

.blog-meta-sep {
	color: #bbb;
}

.blog-meta-reading {
	color: var(--primary-color);
	font-weight: 500;
}

.blog-featured-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(1.6rem, 2.4vw, 2.2rem);
	line-height: 1.25;
	color: var(--title-color);
	margin: 0 0 16px;
	font-weight: 600;
}

.blog-featured-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s;
}

.blog-featured-title a:hover {
	color: var(--primary-color);
}

.blog-featured-excerpt {
	font-size: 1rem;
	line-height: 1.65;
	color: #555;
	margin-bottom: 24px;
}

.blog-featured-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: var(--primary-color);
	color: #fff !important;
	padding: 12px 28px;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	align-self: flex-start;
}

.blog-featured-btn svg {
	transition: transform 0.25s ease;
}

.blog-featured-btn:hover {
	background-color: var(--link-hover-color);
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.blog-featured-btn:hover svg {
	transform: translateX(4px);
}

/* Main Layout & Grid */
.blog-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 40px;
	align-items: start;
}

.blog-posts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

/* Blog Card */
.blog-card {
	background: #fff;
	border: 1px solid #eef0f2;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.blog-card:hover {
	border-color: rgba(166, 137, 44, 0.35);
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.blog-card-media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	display: block;
	background: #f8f9fa;
}

.blog-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-img {
	transform: scale(1.05);
}

.blog-card-placeholder,
.blog-card-placeholder-hero {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(190, 205, 209, 0.2) 0%, rgba(166, 137, 44, 0.08) 100%);
	color: #94a3b8;
}

.blog-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(26, 26, 26, 0.85);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.4px;
	padding: 4px 12px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	text-decoration: none;
	z-index: 2;
	transition: all 0.2s;
}

.blog-badge:hover {
	background: var(--primary-color);
	color: #fff;
}

.blog-card-content {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.blog-card-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.35rem;
	line-height: 1.3;
	margin: 0 0 10px;
	font-weight: 600;
	color: var(--title-color);
}

.blog-card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.blog-card:hover .blog-card-title a,
.blog-card-title a:hover {
	color: var(--primary-color);
}

.blog-card-excerpt {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 18px;
	flex-grow: 1;
}

.blog-card-footer {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.blog-card-readmore {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--primary-color);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.blog-card-readmore svg {
	transition: transform 0.2s ease;
}

.blog-card:hover .blog-card-readmore,
.blog-card-readmore:hover {
	color: var(--link-hover-color);
}

.blog-card:hover .blog-card-readmore svg,
.blog-card-readmore:hover svg {
	transform: translateX(4px);
}

/* Pagination */
.blog-pagination {
	margin-top: 45px;
	display: flex;
	justify-content: center;
}

.blog-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}

.blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 500;
	color: #333;
	background: #fff;
	text-decoration: none;
	transition: all 0.2s ease;
}

.blog-pagination .page-numbers:hover {
	border-color: var(--primary-color);
	color: var(--primary-color);
	background: #fff;
}

.blog-pagination .page-numbers.current {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
	font-weight: 600;
}

.blog-pagination .page-numbers.dots {
	border: none;
	background: transparent;
	color: #999;
	min-width: 24px;
	padding: 0;
}

/* Single Post Page */
.single-post-layout {
	grid-template-columns: 1fr 340px;
	gap: 50px;
}

.blog-single.is-full-width .single-post-layout {
	grid-template-columns: 1fr;
	max-width: 880px;
	margin: 0 auto;
}

.blog-single-article {
	background: #fff;
	border: 1px solid #eef0f2;
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.blog-single-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.blog-single-categories .blog-badge {
	position: static;
	background: var(--primary-color);
	color: #fff;
}

.blog-single-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2rem, 3.8vw, 3.2rem);
	line-height: 1.2;
	color: var(--title-color);
	margin: 0 0 20px;
	font-weight: 600;
}

.blog-single-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 1px solid #edf2f7;
}

.blog-author-mini {
	display: flex;
	align-items: center;
	gap: 14px;
}

.blog-author-mini img {
	border-radius: 50%;
	object-fit: cover;
	width: 44px;
	height: 44px;
	border: 2px solid var(--primary-color);
}

.blog-meta-author-name {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--title-color);
	display: block;
}

.blog-meta-author-name a {
	color: inherit;
	text-decoration: none;
}

.blog-meta-author-name a:hover {
	color: var(--primary-color);
}

.blog-meta-sub {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.82rem;
	color: #777;
}

.blog-meta-comments {
	color: #777;
	text-decoration: none;
}

.blog-meta-comments:hover {
	color: var(--primary-color);
}

.blog-single-featured-image {
	margin: 0 0 35px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.blog-single-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 580px;
	object-fit: cover;
}

.blog-featured-caption {
	padding: 10px 14px;
	font-size: 0.85rem;
	color: #777;
	font-style: italic;
	text-align: center;
	background: #f8f9fa;
	border-top: 1px solid #edf2f7;
}

/* Single Content Typography */
.blog-single-content {
	font-size: 1.06rem;
	line-height: 1.8;
	color: #2d3748;
}

.blog-single-content > p:first-of-type {
	font-size: 1.2rem;
	line-height: 1.75;
	color: #1a1a1a;
	font-weight: 400;
	margin-bottom: 24px;
}

.blog-single-content h2,
.blog-single-content h3,
.blog-single-content h4 {
	font-family: 'Cormorant Garamond', serif;
	color: var(--title-color);
	font-weight: 600;
	margin-top: 36px;
	margin-bottom: 16px;
	line-height: 1.3;
}

.blog-single-content h2 {
	font-size: 2rem;
	border-bottom: 1px solid rgba(166, 137, 44, 0.15);
	padding-bottom: 8px;
}

.blog-single-content h3 {
	font-size: 1.6rem;
}

.blog-single-content h4 {
	font-size: 1.3rem;
}

.blog-single-content blockquote {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.6;
	color: #1a1a1a;
	border-left: 4px solid var(--primary-color);
	background: rgba(166, 137, 44, 0.05);
	padding: 24px 30px;
	margin: 32px 0;
	border-radius: 0 10px 10px 0;
}

.blog-single-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

/* Social Share Bar */
.blog-social-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.blog-share-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: #666;
}

.blog-share-buttons {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.blog-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f1f5f7;
	color: #4a6a73;
	border: 1px solid rgba(0, 0, 0, 0.05);
	text-decoration: none;
	transition: all 0.25s ease;
	cursor: pointer;
}

.blog-share-btn:hover {
	background: var(--primary-color);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(166, 137, 44, 0.2);
}

.blog-share-btn-copy {
	width: auto;
	border-radius: 20px;
	padding: 0 14px;
	gap: 6px;
	font-size: 0.82rem;
	font-weight: 500;
	font-family: inherit;
}

.blog-share-btn-copy.copied {
	background: #2e7d32;
	color: #fff;
}

/* Single Footer: Tags & Share */
.blog-single-footer {
	margin-top: 40px;
	padding-top: 25px;
	border-top: 1px solid #edf2f7;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.blog-single-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.blog-tags-label {
	font-size: 0.88rem;
	font-weight: 600;
	color: #666;
}

.blog-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.blog-tag-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 12px;
	background: #f1f5f7;
	border-radius: 16px;
	color: #4a6a73;
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
}

.blog-tag-pill:hover {
	background: var(--primary-color);
	color: #fff;
	transform: translateY(-1px);
}

.blog-tag-pill.is-active {
	background: var(--primary-color);
	color: #fff;
}

.blog-tag-pill .blog-tag-count {
	font-size: 0.72rem;
	opacity: 0.75;
}

/* Author Card */
.blog-author-card {
	margin-top: 40px;
	padding: 28px;
	background: linear-gradient(135deg, rgba(190, 205, 209, 0.2) 0%, rgba(255, 255, 255, 1) 100%);
	border: 1px solid rgba(166, 137, 44, 0.2);
	border-radius: 12px;
	display: flex;
	gap: 24px;
	align-items: center;
}

.blog-author-avatar img {
	border-radius: 50%;
	width: 80px;
	height: 80px;
	object-fit: cover;
	border: 3px solid var(--primary-color);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.blog-author-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--primary-color);
	margin-bottom: 4px;
}

.blog-author-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.4rem;
	margin: 0 0 8px;
	font-weight: 600;
	color: var(--title-color);
}

.blog-author-name a {
	color: inherit;
	text-decoration: none;
}

.blog-author-name a:hover {
	color: var(--primary-color);
}

.blog-author-bio {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 10px;
}

.blog-author-link {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--primary-color);
	text-decoration: none;
}

.blog-author-link:hover {
	color: var(--link-hover-color);
	text-decoration: underline;
}

/* Post Navigation Cards */
.blog-post-navigation {
	margin-top: 35px;
	margin-bottom: 45px;
}

.blog-post-nav-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.blog-post-nav-card {
	padding: 20px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	transition: all 0.25s ease;
}

.blog-post-nav-card.empty {
	border: none;
	background: transparent;
}

.blog-post-nav-card:hover {
	border-color: var(--primary-color);
	background: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
}

.blog-post-nav-direction {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 6px;
}

.blog-post-nav-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--title-color);
	margin: 0;
	line-height: 1.3;
}

/* Related Products Section */
.blog-related-products-section {
	margin-top: 50px;
	padding-top: 35px;
	border-top: 2px solid rgba(166, 137, 44, 0.15);
}

.blog-section-header {
	margin-bottom: 25px;
}

.blog-section-kicker {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--primary-color);
	margin-bottom: 4px;
}

.blog-section-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--title-color);
	margin: 0;
}

.blog-products-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.blog-product-card {
	background: #fff;
	border: 1px solid #eef0f2;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-align: center;
	padding: 16px;
	transition: all 0.25s ease;
}

.blog-product-card:hover {
	border-color: var(--primary-color);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(166, 137, 44, 0.1);
}

.blog-product-media {
	display: block;
	margin-bottom: 12px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #fbfbfb;
	border-radius: 6px;
}

.blog-product-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	transition: transform 0.4s ease;
}

.blog-product-card:hover .blog-product-img {
	transform: scale(1.06);
}

.blog-product-winzer {
	display: block;
	font-size: 0.75rem;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 4px;
}

.blog-product-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.1rem;
	font-weight: 600;
	margin: 2px 0 8px;
	line-height: 1.3;
}

.blog-product-title a {
	color: var(--title-color);
	text-decoration: none;
}

.blog-product-title a:hover {
	color: var(--primary-color);
}

.blog-product-price {
	font-weight: 600;
	color: var(--primary-color);
	font-size: 1rem;
	margin-bottom: 14px;
}

.blog-product-btn {
	margin-top: auto;
	display: block;
	background: #1a1a1a;
	color: #fff !important;
	padding: 8px 14px;
	font-size: 0.8rem;
	font-weight: 500;
	border-radius: 4px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.2s ease;
}

.blog-product-btn:hover {
	background: var(--primary-color);
	color: #fff !important;
}

/* Related Posts Section */
.blog-related-posts-section {
	margin-top: 50px;
	padding-top: 35px;
	border-top: 1px solid #edf2f7;
}

.blog-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.blog-card.blog-card-compact .blog-card-content {
	padding: 16px;
}

.blog-card.blog-card-compact .blog-card-title {
	font-size: 1.15rem;
}

.blog-card.blog-card-compact .blog-card-link {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--primary-color);
	text-decoration: none;
}

/* Comments Styling */
.blog-comments-wrapper {
	margin-top: 50px;
	padding-top: 35px;
	border-top: 1px solid #edf2f7;
}

.blog-comments-wrapper .comments-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.8rem;
	margin-bottom: 25px;
}

.comment-list {
	list-style: none;
	padding: 0;
	margin: 0 0 35px;
}

.comment-list .comment {
	padding: 20px;
	border: 1px solid #edf2f7;
	border-radius: 10px;
	margin-bottom: 18px;
	background: #fdfdfd;
}

.comment-body {
	position: relative;
}

.comment-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.comment-author img {
	border-radius: 50%;
}

.comment-author .fn {
	font-weight: 600;
	font-style: normal;
}

.comment-metadata {
	font-size: 0.8rem;
	color: #888;
}

.comment-metadata a {
	color: inherit;
	text-decoration: none;
}

.comment-content p {
	margin: 0 0 10px;
	font-size: 0.95rem;
	line-height: 1.6;
}

.reply a {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--primary-color);
	text-decoration: none;
}

.comment-respond {
	background: #f8fafc;
	padding: 28px;
	border-radius: 12px;
	border: 1px solid #edf2f7;
}

.comment-reply-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.6rem;
	margin-top: 0;
	margin-bottom: 15px;
}

.comment-form p {
	margin-bottom: 16px;
}

.comment-form label {
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	margin-bottom: 6px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-family: inherit;
	font-size: 0.95rem;
	background: #fff;
	transition: border-color 0.2s;
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(166, 137, 44, 0.1);
}

.comment-form .form-submit input[type="submit"] {
	background: var(--primary-color);
	color: #fff;
	border: none;
	padding: 12px 28px;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.25s ease;
}

.comment-form .form-submit input[type="submit"]:hover {
	background: var(--link-hover-color);
	transform: translateY(-2px);
}

/* ==========================================================================
   Blog Sidebar & Custom Widgets Styling
   ========================================================================== */
.blog-sidebar {
	position: sticky;
	top: 90px;
}

.blog-widget {
	background: #fff;
	border: 1px solid #eef0f2;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 25px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.blog-widget-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--title-color);
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid rgba(166, 137, 44, 0.25);
	position: relative;
}

.blog-widget-title::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 35px;
	height: 2px;
	background: var(--primary-color);
}

/* Search widget in sidebar */
.blog-sidebar-search .search-form {
	display: flex;
	position: relative;
	width: 100%;
}

.blog-sidebar-search .search-form label {
	width: 100%;
	margin: 0;
}

.blog-sidebar-search .search-field {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 0.9rem;
	background: #fdfdfd;
	transition: all 0.2s;
}

.blog-sidebar-search .search-field:focus {
	outline: none;
	border-color: var(--primary-color);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(166, 137, 44, 0.1);
}

.blog-sidebar-search .search-submit {
	background: var(--primary-color);
	color: #fff;
	border: none;
	padding: 0 16px;
	border-radius: 0 6px 6px 0;
	margin-left: -4px;
	cursor: pointer;
	font-weight: 500;
}

/* Categories List */
.blog-categories-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-category-item {
	margin-bottom: 6px;
}

.blog-category-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	border-radius: 6px;
	color: var(--text-color);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 500;
	transition: all 0.2s ease;
}

.blog-category-link:hover {
	background: rgba(166, 137, 44, 0.08);
	color: var(--primary-color);
	transform: translateX(3px);
}

.blog-category-item.is-active .blog-category-link {
	background: var(--primary-color);
	color: #fff;
}

.blog-category-count {
	font-size: 0.78rem;
	background: #f1f5f9;
	color: #64748b;
	padding: 2px 8px;
	border-radius: 12px;
	transition: all 0.2s;
}

.blog-category-item.is-active .blog-category-count,
.blog-category-link:hover .blog-category-count {
	background: #fff;
	color: var(--primary-color);
}

/* History Archive Tree */
.blog-history-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-history-year {
	margin-bottom: 8px;
	border-bottom: 1px solid #f1f5f9;
	padding-bottom: 6px;
}

.blog-history-year:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.blog-history-year-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.blog-history-year-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px;
	color: var(--title-color);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	flex-grow: 1;
	transition: color 0.2s;
}

.blog-history-year-link:hover {
	color: var(--primary-color);
}

.blog-history-year-count {
	font-size: 0.78rem;
	color: #888;
	background: #f1f5f9;
	padding: 2px 8px;
	border-radius: 10px;
}

.blog-history-year-toggle {
	background: transparent;
	border: none;
	color: #888;
	padding: 6px 8px;
	cursor: pointer;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.blog-history-year-toggle:hover {
	background: #f1f5f9;
	color: var(--primary-color);
}

.blog-history-year.is-open .blog-history-year-toggle svg {
	transform: rotate(180deg);
}

.blog-history-months {
	list-style: none;
	padding: 4px 0 6px 14px;
	margin: 0;
	display: none;
}

.blog-history-year.is-open .blog-history-months {
	display: block;
}

.blog-history-month-item {
	margin-bottom: 4px;
}

.blog-history-month-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 0.85rem;
	color: #555;
	text-decoration: none;
	transition: all 0.2s;
}

.blog-history-month-link:hover {
	background: rgba(166, 137, 44, 0.08);
	color: var(--primary-color);
}

.blog-history-month-item.is-active .blog-history-month-link {
	background: var(--primary-color);
	color: #fff;
	font-weight: 500;
}

.blog-history-month-count {
	font-size: 0.75rem;
	color: #888;
}

.blog-history-month-item.is-active .blog-history-month-count {
	color: #fff;
}

/* Tags Cloud in Sidebar */
.blog-tags-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Sidebar Product relation items */
.blog-sidebar-products-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-sidebar-product-item {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
}

.blog-sidebar-product-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.blog-sidebar-product-thumb {
	width: 55px;
	height: 70px;
	flex-shrink: 0;
	background: #fbfbfb;
	border-radius: 6px;
	overflow: hidden;
	display: block;
	border: 1px solid #edf2f7;
}

.blog-sidebar-prod-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	transition: transform 0.3s;
}

.blog-sidebar-product-item:hover .blog-sidebar-prod-img {
	transform: scale(1.08);
}

.blog-sidebar-product-details {
	flex-grow: 1;
}

.blog-sidebar-product-winzer {
	display: block;
	font-size: 0.72rem;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.blog-sidebar-product-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.05rem;
	font-weight: 600;
	margin: 2px 0 4px;
	line-height: 1.25;
}

.blog-sidebar-product-title a {
	color: var(--title-color);
	text-decoration: none;
	transition: color 0.2s;
}

.blog-sidebar-product-title a:hover {
	color: var(--primary-color);
}

.blog-sidebar-product-price {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--primary-color);
}

/* Recent Posts in Sidebar */
.blog-sidebar-recent-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-sidebar-recent-item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
}

.blog-sidebar-recent-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.blog-sidebar-recent-thumb {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	border-radius: 6px;
	overflow: hidden;
	display: block;
	background: #f8f9fa;
}

.blog-sidebar-recent-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s;
}

.blog-sidebar-recent-item:hover .blog-sidebar-recent-img {
	transform: scale(1.08);
}

.blog-sidebar-recent-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f5f7;
	color: #94a3b8;
}

.blog-sidebar-recent-details {
	flex-grow: 1;
}

.blog-sidebar-recent-date {
	display: block;
	font-size: 0.75rem;
	color: #888;
	margin-bottom: 2px;
}

.blog-sidebar-recent-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0;
	line-height: 1.25;
}

.blog-sidebar-recent-title a {
	color: var(--title-color);
	text-decoration: none;
	transition: color 0.2s;
}

.blog-sidebar-recent-title a:hover {
	color: var(--primary-color);
}

/* Sidebar CTA Card */
.blog-sidebar-cta-card {
	background: linear-gradient(135deg, rgba(166, 137, 44, 0.12) 0%, rgba(190, 205, 209, 0.25) 100%);
	border: 1px solid rgba(166, 137, 44, 0.3);
	border-radius: 12px;
	padding: 24px;
	text-align: center;
}

.blog-sidebar-cta-icon {
	color: var(--primary-color);
	margin-bottom: 12px;
}

.blog-sidebar-cta-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--title-color);
	margin: 0 0 10px;
	line-height: 1.25;
}

.blog-sidebar-cta-desc {
	font-size: 0.88rem;
	line-height: 1.5;
	color: #555;
	margin: 0 0 18px;
}

.blog-sidebar-cta-btn {
	display: inline-block;
	background: var(--primary-color);
	color: #fff !important;
	padding: 10px 20px;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.25s ease;
	border: none;
	cursor: pointer;
}

.blog-sidebar-cta-btn:hover {
	background: var(--link-hover-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* Overview Widget sub sections */
.blog-overview-sub {
	margin-bottom: 18px;
}

.blog-overview-sub:last-child {
	margin-bottom: 0;
}

.blog-overview-subtitle {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--primary-color);
	font-weight: 600;
	margin: 0 0 10px;
}

/* Responsive Styles */
@media (max-width: 1024px) {
	.blog-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.single-post-layout {
		grid-template-columns: 1fr;
	}

	.blog-sidebar {
		position: static;
		margin-top: 30px;
	}

	.blog-products-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.blog-hero-section {
		padding: 40px 0 30px;
	}

	.blog-hero-title {
		font-size: 2.2rem;
	}

	.blog-featured-card {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 16px;
	}

	.blog-posts-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.blog-single-article {
		padding: 24px 18px;
	}

	.blog-single-title {
		font-size: 2.1rem;
	}

	.blog-post-nav-grid {
		grid-template-columns: 1fr;
	}

	.blog-related-grid {
		grid-template-columns: 1fr;
	}

	.blog-author-card {
		flex-direction: column;
		text-align: center;
	}

	.blog-single-meta {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   Woosonshop Positive & Inviting Empty Cart Styles
   ========================================================================== */

.woosonshop-empty-cart-wrap {
	margin: 40px auto 70px;
	max-width: 1200px;
	padding: 0 20px;
}

.woosonshop-empty-cart-hero {
	text-align: center;
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 16px;
	padding: 60px 30px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
	margin-bottom: 50px;
	position: relative;
	overflow: hidden;
}

.woosonshop-empty-cart-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, transparent, var(--primary-color, #a6892c), transparent);
}

.woosonshop-empty-cart-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: rgba(166, 137, 44, 0.08);
	color: var(--primary-color, #a6892c);
	margin-bottom: 24px;
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.woosonshop-empty-cart-icon-wrap:hover {
	transform: scale(1.08) rotate(3deg);
	background: rgba(166, 137, 44, 0.14);
}

.woosonshop-empty-cart-svg {
	width: 52px;
	height: 52px;
}

.woosonshop-empty-cart-title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--title-color, #111111);
	margin: 0 0 14px;
	line-height: 1.3;
	font-family: inherit;
}

.woosonshop-empty-cart-desc {
	font-size: 1.1rem;
	color: #555555;
	max-width: 650px;
	margin: 0 auto 30px;
	line-height: 1.65;
}

.woosonshop-empty-cart-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 30px;
}

.woosonshop-empty-cart-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 34px !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	background-color: var(--primary-color, #a6892c) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(166, 137, 44, 0.3);
}

.woosonshop-empty-cart-btn:hover {
	background-color: var(--highlight-color, #8e7323) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(166, 137, 44, 0.4);
}

.woosonshop-empty-cart-btn .btn-arrow {
	font-size: 1.2rem;
	transition: transform 0.25s ease;
}

.woosonshop-empty-cart-btn:hover .btn-arrow {
	transform: translateX(4px);
}

/* Category Quick Links */
.woosonshop-empty-cart-categories {
	margin-top: 35px;
	padding-top: 25px;
	border-top: 1px dashed #e8e4dc;
}

.woosonshop-cat-label {
	display: block;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: #888888;
	margin-bottom: 16px;
	font-weight: 600;
}

.woosonshop-cat-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 12px;
	max-width: 960px;
	margin: 0 auto;
}

.woosonshop-cat-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex: 1 1 140px;
	max-width: 220px;
	min-height: 46px;
	padding: 10px 18px;
	font-size: 0.92rem;
	font-weight: 500;
	color: #444444;
	background: #f8f7f4;
	border: 1px solid #e5e1d8;
	border-radius: 24px;
	text-decoration: none;
	line-height: 1.3;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

.woosonshop-cat-pill br,
.woosonshop-empty-cart-btn br,
.checkout-button br,
.wc-proceed-to-checkout br,
#place_order br,
.place-order br,
#payment br,
.wc_payment_methods br,
.payment_methods br,
.woocommerce a.button br,
.woocommerce button.button br,
.woocommerce input.button br {
	display: none !important;
}

.woosonshop-cat-pill:hover {
	background: var(--primary-color, #a6892c);
	border-color: var(--primary-color, #a6892c);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(166, 137, 44, 0.2);
}

@media (max-width: 768px) {
	.woosonshop-cat-pill {
		flex: 1 1 130px;
		font-size: 0.88rem;
		min-height: 42px;
		padding: 8px 14px;
	}
}

@media (max-width: 480px) {
	.woosonshop-cat-pill {
		flex: 1 1 calc(50% - 12px);
		max-width: 100%;
		min-width: 0;
	}
}

/* Gutenberg custom content block on empty cart */
.woosonshop-empty-cart-gutenberg-content {
	margin-bottom: 50px;
}

/* Recommended Products on Empty Cart */
.woosonshop-empty-cart-recommendations {
	margin-top: 50px;
	padding-top: 30px;
	border-top: 1px solid #eee9e0;
}

.woosonshop-empty-cart-rec-header {
	text-align: center;
	margin-bottom: 35px;
}

.woosonshop-empty-cart-rec-title {
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--title-color, #111111);
	margin: 0 0 8px;
}

.woosonshop-empty-cart-rec-subtitle {
	font-size: 1.05rem;
	color: #777777;
	margin: 0;
}

/* Override default WooCommerce crying notice and styles */
.cart-empty.woocommerce-info {
	border-top-color: var(--primary-color, #a6892c) !important;
	background-color: #faf9f6 !important;
	color: #333333 !important;
	font-size: 1.05rem;
	padding: 18px 24px 18px 54px !important;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	position: relative;
}

.cart-empty.woocommerce-info::before {
	content: "\2728" !important;
	color: var(--primary-color, #a6892c) !important;
	font-size: 1.3rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

.woocommerce-cart .return-to-shop {
	margin-top: 25px;
	text-align: center;
}

/* WooCommerce Cart Block Empty State Overrides */
.wc-block-cart.wc-block-cart--empty,
.wc-block-components-empty-cart-section {
	text-align: center;
	padding: 60px 30px !important;
	background: #ffffff !important;
	border: 1px solid #ede8df !important;
	border-radius: 16px !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
	margin: 30px auto 60px !important;
	max-width: 900px !important;
}

/* Hide WooCommerce default sad/crying illustration */
.wc-block-cart__empty-cart-illustration svg,
.wc-block-components-empty-cart-section__image svg {
	display: none !important;
}

/* Display cheerful, inviting smiling shopping bag icon instead */
.wc-block-cart__empty-cart-illustration,
.wc-block-components-empty-cart-section__image {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 96px !important;
	height: 96px !important;
	margin: 0 auto 24px !important;
	border-radius: 50% !important;
	background: rgba(166, 137, 44, 0.08) !important;
	color: var(--primary-color, #a6892c) !important;
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.wc-block-cart__empty-cart-illustration:hover,
.wc-block-components-empty-cart-section__image:hover {
	transform: scale(1.08) rotate(3deg) !important;
	background: rgba(166, 137, 44, 0.14) !important;
}

.wc-block-cart__empty-cart-illustration::before,
.wc-block-components-empty-cart-section__image::before {
	content: '' !important;
	display: block !important;
	width: 52px !important;
	height: 52px !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23a6892c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 22h32l-3 34H19L16 22z' fill='%23a6892c' fill-opacity='0.1' stroke='%23a6892c'/%3E%3Cpath d='M24 22V15a8 8 0 0 1 16 0v7' stroke='%23a6892c'/%3E%3Cpath d='M26 34c0 0 2 3.5 6 3.5s6-3.5 6-3.5' stroke='%23a6892c' stroke-width='2.2'/%3E%3Ccircle cx='25' cy='30' r='1.5' fill='%23a6892c'/%3E%3Ccircle cx='39' cy='30' r='1.5' fill='%23a6892c'/%3E%3Cpath d='M10 14l2 2m0-2l-2 2' stroke='%23a6892c'/%3E%3Cpath d='M52 16l2 2m0-2l-2 2' stroke='%23a6892c'/%3E%3Cpath d='M48 40l1.5 1.5m0-1.5l-1.5 1.5' stroke='%23a6892c'/%3E%3C/svg%3E") !important;
}

.wc-block-cart__empty-cart-title,
.wc-block-components-empty-cart-section__title {
	font-size: 1.9rem !important;
	font-weight: 600 !important;
	color: var(--title-color, #111111) !important;
	margin-bottom: 14px !important;
}

.wc-block-cart__empty-cart-actions a,
.wc-block-components-empty-cart-section .wp-block-button__link {
	background-color: var(--primary-color, #a6892c) !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 12px 28px !important;
	font-weight: 600 !important;
	transition: all 0.25s ease !important;
}

.wc-block-cart__empty-cart-actions a:hover,
.wc-block-components-empty-cart-section .wp-block-button__link:hover {
	background-color: var(--highlight-color, #8e7323) !important;
	transform: translateY(-2px);
}

/* ==========================================================================
   Woosonshop Modern & Elegant Active Cart Styles
   ========================================================================== */

/* Cart page container & responsive 2-column grid */
.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 30px auto 60px;
	padding: 0 15px;
}

@media (min-width: 992px) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: 1fr 390px;
		gap: 32px;
		align-items: start;
	}

	.woocommerce-cart .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.woocommerce-cart form.woocommerce-cart-form {
		grid-column: 1;
		margin: 0;
	}

	.woocommerce-cart .cart-collaterals,
	.woocommerce-cart .cart_totals {
		grid-column: 2;
		margin: 0;
		width: 100% !important;
		float: none !important;
	}
}

/* WooCommerce Notices (Info, Success, Error) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: #ffffff !important;
	border: 1px solid #ede8df !important;
	border-left: 4px solid var(--primary-color, #a6892c) !important;
	border-radius: 12px !important;
	padding: 16px 24px 16px 52px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
	color: #333333 !important;
	font-size: 0.95rem !important;
	line-height: 1.5 !important;
	margin-bottom: 25px !important;
	position: relative !important;
}

.woocommerce-message {
	border-left-color: #2ba34f !important;
}

.woocommerce-error {
	border-left-color: #d9534f !important;
}

/* Cart Table Container */
.woocommerce-cart form.woocommerce-cart-form {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 16px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.woocommerce-cart table.shop_table.cart {
	width: 100%;
	border-collapse: collapse;
	border: none;
	margin: 0;
	background: transparent;
}

.woocommerce-cart table.shop_table.cart thead th {
	background-color: #faf9f6;
	color: #555555;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 16px 18px;
	border-bottom: 1px solid #ede8df;
	border-top: none;
	border-left: none;
	border-right: none;
}

.woocommerce-cart table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
	transition: background-color 0.2s ease;
}

.woocommerce-cart table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item:hover {
	background-color: #fdfcfb;
}

.woocommerce-cart table.shop_table.cart tbody td {
	padding: 20px 18px;
	border-bottom: 1px solid #f2eee8;
	border-top: none;
	border-left: none;
	border-right: none;
	vertical-align: middle;
}

/* Product Remove Button */
.woocommerce-cart table.shop_table.cart td.product-remove {
	width: 44px;
	padding-right: 0;
	text-align: center;
}

.woocommerce-cart table.shop_table.cart a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	color: #a09a8e !important;
	background: #f8f7f4 !important;
	border: 1px solid #e5e1d8 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.woocommerce-cart table.shop_table.cart a.remove:hover {
	background: #d9534f !important;
	border-color: #d9534f !important;
	color: #ffffff !important;
	transform: scale(1.1);
}

/* Product Thumbnail */
.woocommerce-cart table.shop_table.cart td.product-thumbnail {
	width: 105px;
	text-align: center;
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
	max-width: 85px;
	max-height: 120px;
	width: auto;
	height: 105px;
	object-fit: contain;
	border-radius: 8px;
	border: 1px solid #ede8df;
	padding: 5px;
	background: #ffffff;
	display: inline-block;
	vertical-align: middle;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail a:hover img {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Product Name & Attributes */
.woocommerce-cart table.shop_table.cart td.product-name {
	font-size: 1rem;
}

.woocommerce-cart table.shop_table.cart td.product-name a {
	font-family: inherit;
	font-weight: 600;
	color: #111111;
	text-decoration: none;
	transition: color 0.2s ease;
	line-height: 1.35;
	display: inline-block;
}

.woocommerce-cart table.shop_table.cart td.product-name a:hover {
	color: var(--primary-color, #a6892c);
}

/* Variation and Attribute Metadata */
.woocommerce-cart table.shop_table.cart dl.variation {
	margin: 6px 0 0;
	font-size: 0.9rem;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.woocommerce-cart table.shop_table.cart dl.variation dt.variation-,
dl.variation dt.variation-,
.woocommerce-cart table.shop_table.cart dl.variation dt:empty,
dl.variation dt:empty,
.woocommerce-cart table.shop_table.cart dl.variation dt:empty::after,
.woocommerce-cart table.shop_table.cart dl.variation dt:empty:after {
	display: none !important;
	content: "" !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 0 !important;
	height: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	border: none !important;
}

.woocommerce-cart table.shop_table.cart dl.variation dd {
	margin: 0;
	padding: 0;
}

.woocommerce-cart table.shop_table.cart .attr-highlight,
.woosonshop-cart-attributes .attr-highlight {
	font-weight: 600 !important;
	color: var(--primary-color, #a6892c) !important;
	font-size: 0.92rem !important;
}

.woocommerce-cart table.shop_table.cart .attr-normal,
.woosonshop-cart-attributes .attr-normal {
	font-size: 0.85rem;
	color: #777777;
}

/* Product Price */
.woocommerce-cart table.shop_table.cart td.product-price {
	font-size: 0.98rem;
	font-weight: 500;
	color: #444444;
	white-space: nowrap;
}

/* Quantity Field */
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid #ddd8cf;
	border-radius: 8px;
	background: #ffffff;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity:focus-within {
	border-color: var(--primary-color, #a6892c);
	box-shadow: 0 0 0 2px rgba(166, 137, 44, 0.15);
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity input.qty {
	width: 50px;
	height: 38px;
	border: none;
	text-align: center;
	font-size: 0.95rem;
	font-weight: 600;
	color: #222222;
	background: transparent;
	padding: 0;
	outline: none;
}

/* Product Subtotal */
.woocommerce-cart table.shop_table.cart td.product-subtotal {
	font-size: 1.02rem;
	font-weight: 600;
	color: #111111;
	white-space: nowrap;
}

.woocommerce-cart table.shop_table.cart td.product-subtotal .tax_label,
.woocommerce-cart table.shop_table.cart td.product-subtotal .includes_tax {
	display: block;
	font-size: 0.78rem;
	font-weight: 400;
	color: #888888;
	margin-top: 2px;
}

/* Actions Row (Coupon & Update Cart) */
.woocommerce-cart table.shop_table.cart td.actions {
	background-color: #faf9f6;
	padding: 18px 24px !important;
	border-top: 1px solid #ede8df;
	border-bottom: none;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	float: left;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code {
	height: 42px;
	min-width: 170px;
	border: 1px solid #ddd8cf;
	border-radius: 8px;
	padding: 0 14px;
	font-size: 0.92rem;
	background: #ffffff;
	color: #333333;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code:focus {
	border-color: var(--primary-color, #a6892c);
	outline: none;
	box-shadow: 0 0 0 2px rgba(166, 137, 44, 0.15);
}

.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"] {
	height: 42px;
	padding: 0 20px;
	border-radius: 8px;
	background: #f0ede6;
	border: 1px solid #d5cfc4;
	color: #333333;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"]:hover {
	background: #e5e0d5;
	border-color: #c9c2b4;
	color: #111111;
	transform: translateY(-1px);
}

.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] {
	float: right;
	height: 42px;
	padding: 0 22px;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid #ddd8cf;
	color: #444444;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]:hover:not(:disabled) {
	background: var(--primary-color, #a6892c);
	border-color: var(--primary-color, #a6892c);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(166, 137, 44, 0.25);
}

.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Cart Collaterals / Totals Section */
.woocommerce-cart .cart-collaterals {
	width: 100%;
}

.woocommerce-cart .cart_totals {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
	position: relative;
	overflow: hidden;
}

.woocommerce-cart .cart_totals::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, transparent, var(--primary-color, #a6892c), transparent);
}

.woocommerce-cart .cart_totals h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.85rem;
	font-weight: 600;
	color: var(--title-color, #111111);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid #ede8df;
}

.woocommerce-cart .cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	margin: 0 0 22px;
	background: transparent;
}

.woocommerce-cart .cart_totals table.shop_table tr th,
.woocommerce-cart .cart_totals table.shop_table tr td {
	padding: 13px 0;
	border-top: 1px solid #f0ede6;
	border-bottom: none;
	border-left: none;
	border-right: none;
	vertical-align: top;
	background: transparent;
}

.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: 600;
	font-size: 0.92rem;
	color: #444444;
	width: 38%;
	text-align: left;
}

.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
	font-size: 0.95rem;
	color: #111111;
}

.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td {
	font-weight: 600;
}

.woocommerce-cart .cart_totals ul#shipping_method {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right;
}

.woocommerce-cart .cart_totals ul#shipping_method li {
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
	accent-color: var(--primary-color, #a6892c);
	cursor: pointer;
	margin: 0;
}

.woocommerce-cart .cart_totals ul#shipping_method label {
	cursor: pointer;
	font-size: 0.92rem;
	color: #333333;
	font-weight: 500;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals p.woocommerce-shipping-contents {
	font-size: 0.82rem;
	color: #777777;
	margin-top: 10px;
	line-height: 1.45;
	text-align: right;
}

.woocommerce-cart .cart_totals tr.order-total {
	border-top: 2px solid #ede8df;
}

.woocommerce-cart .cart_totals tr.order-total th {
	font-size: 1.08rem;
	font-weight: 700;
	color: #111111;
	padding-top: 18px;
}

.woocommerce-cart .cart_totals tr.order-total td {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--primary-color, #a6892c);
	padding-top: 18px;
}

.woocommerce-cart .cart_totals tr.order-total td strong {
	font-weight: 700;
}

.woocommerce-cart .cart_totals tr.order-total td .includes_tax {
	display: block;
	font-size: 0.78rem;
	font-weight: 400;
	color: #888888;
	margin-top: 4px;
}

/* Proceed to Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0;
	margin: 0;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-page .wc-proceed-to-checkout .checkout-button {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 16px 28px !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px;
	text-align: center !important;
	border-radius: 8px !important;
	background-color: var(--primary-color, #a6892c) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 14px rgba(166, 137, 44, 0.3) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-page .wc-proceed-to-checkout .checkout-button:hover {
	background-color: #8e7323 !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(166, 137, 44, 0.4) !important;
}

/* Responsive Mobile Cart Layout */
@media (max-width: 768px) {
	.woocommerce-cart table.shop_table.cart thead {
		display: none;
	}

	.woocommerce-cart table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
		display: block;
		padding: 16px;
		border-bottom: 1px solid #ede8df;
		position: relative;
	}

	.woocommerce-cart table.shop_table.cart tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 0;
		border: none;
		text-align: right;
	}

	.woocommerce-cart table.shop_table.cart tbody td::before {
		content: attr(data-title);
		font-weight: 600;
		font-size: 0.85rem;
		color: #777777;
		text-align: left;
		margin-right: 12px;
	}

	.woocommerce-cart table.shop_table.cart td.product-remove {
		position: absolute;
		top: 14px;
		right: 14px;
		width: auto;
		padding: 0;
	}

	.woocommerce-cart table.shop_table.cart td.product-remove::before {
		display: none;
	}

	.woocommerce-cart table.shop_table.cart td.product-thumbnail {
		justify-content: center;
		width: 100%;
		padding: 10px 0 14px;
	}

	.woocommerce-cart table.shop_table.cart td.product-thumbnail::before {
		display: none;
	}

	.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
		max-width: 110px;
		max-height: 150px;
		height: 140px;
		width: auto;
		object-fit: contain;
		padding: 6px;
		border-radius: 10px;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
	}

	.woocommerce-cart table.shop_table.cart td.product-name {
		display: block;
		text-align: center;
		padding-bottom: 10px;
	}

	.woocommerce-cart table.shop_table.cart td.product-name::before {
		display: none;
	}

	.woocommerce-cart table.shop_table.cart td.actions {
		display: block;
		padding: 16px !important;
	}

	.woocommerce-cart table.shop_table.cart td.actions::before {
		display: none;
	}

	.woocommerce-cart table.shop_table.cart td.actions .coupon {
		width: 100%;
		float: none;
		margin-bottom: 14px;
		display: flex;
		gap: 8px;
	}

	.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code {
		flex: 1;
		min-width: 0;
	}

	.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"] {
		flex-shrink: 0;
		white-space: nowrap;
	}

	.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] {
		width: 100%;
		float: none;
	}
}

/* ==========================================================================
   Woosonshop Modern & Elegant Checkout / Kasse (POS) Styles
   ========================================================================== */

/* Checkout page container */
.woocommerce-checkout .woocommerce {
	max-width: 1200px;
	margin: 30px auto 60px;
	padding: 0 15px;
}

/* Coupon and Login toggles & notices on Checkout */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 20px !important;
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 14px;
	padding: 24px;
	margin-bottom: 30px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.woocommerce-checkout form.checkout_coupon p:first-child,
.woocommerce-checkout form.login p:first-child {
	margin-top: 0;
	color: #555555;
	font-size: 0.95rem;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
	width: auto;
	flex: 1;
	min-width: 220px;
}

.woocommerce-checkout form.checkout_coupon .form-row-last {
	width: auto;
}

/* Responsive 2-column Checkout Layout */
@media (min-width: 992px) {
	.woocommerce-checkout form.woocommerce-checkout {
		display: grid;
		grid-template-columns: 1fr 430px;
		gap: 36px;
		align-items: start;
	}

	.woocommerce-checkout form.woocommerce-checkout .col2-set {
		grid-column: 1;
		width: 100% !important;
		float: none !important;
		margin: 0;
	}

	.woocommerce-checkout form.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout form.woocommerce-checkout #order_review {
		grid-column: 2;
		width: 100% !important;
		float: none !important;
		margin: 0;
	}
}

/* Customer Details (Billing & Shipping) Card */
.woocommerce-checkout #customer_details {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 16px;
	padding: 32px 28px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
	margin-bottom: 30px;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.85rem;
	font-weight: 600;
	color: var(--title-color, #111111);
	margin: 0 0 22px;
	padding-bottom: 12px;
	border-bottom: 1px solid #ede8df;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
	margin-bottom: 24px;
	padding: 0;
}

.woocommerce-checkout .col2-set .col-2:last-child {
	margin-bottom: 0;
}

/* Checkout Form Rows & Input Fields */
.woocommerce-checkout .form-row {
	margin-bottom: 18px;
	padding: 0;
}

.woocommerce-checkout .form-row label {
	font-size: 0.92rem;
	font-weight: 600;
	color: #333333;
	margin-bottom: 6px;
	display: block;
	line-height: 1.4;
}

.woocommerce-checkout .form-row label .required {
	color: #d9534f;
	text-decoration: none;
	font-weight: 700;
	margin-left: 2px;
}

.woocommerce-checkout .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	width: 100% !important;
	box-sizing: border-box !important;
	height: 46px;
	line-height: 44px;
	border: 1px solid #ddd8cf !important;
	border-radius: 8px !important;
	padding: 0 16px !important;
	font-size: 0.95rem !important;
	background: #ffffff !important;
	color: #333333 !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout textarea {
	height: auto !important;
	min-height: 110px !important;
	line-height: 1.5 !important;
	padding: 12px 16px !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--primary-color, #a6892c) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(166, 137, 44, 0.15) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 0;
	color: #333333;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px;
	right: 12px;
}

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
	accent-color: var(--primary-color, #a6892c);
	cursor: pointer;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 0.92rem;
	color: #444444;
}

/* Order Review & Payment Card */
.woocommerce-checkout #order_review {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
	position: relative;
	overflow: hidden;
}

.woocommerce-checkout #order_review::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, transparent, var(--primary-color, #a6892c), transparent);
}

/* Order Review Table */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	margin: 0 0 24px;
	background: transparent;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead th {
	background-color: #faf9f6;
	color: #555555;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 14px 16px;
	border-bottom: 1px solid #ede8df;
	border-top: none;
	border-left: none;
	border-right: none;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td {
	padding: 16px 14px;
	border-bottom: 1px solid #f2eee8;
	border-top: none;
	border-left: none;
	border-right: none;
	vertical-align: middle;
}

/* Checkout Bottle Thumbnail & Product Row */
.woosonshop-checkout-product-row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.woosonshop-checkout-product-thumb {
	flex-shrink: 0;
	width: 55px;
	text-align: center;
}

.woosonshop-checkout-product-thumb img,
img.woosonshop-checkout-bottle-img {
	max-width: 50px;
	max-height: 80px;
	width: auto;
	height: 75px;
	object-fit: contain;
	border-radius: 6px;
	border: 1px solid #ede8df;
	padding: 3px;
	background: #ffffff;
	display: inline-block;
	vertical-align: middle;
	transition: transform 0.2s ease;
}

.woosonshop-checkout-product-row:hover .woosonshop-checkout-product-thumb img {
	transform: scale(1.05);
}

.woosonshop-checkout-product-details {
	flex: 1;
	min-width: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: #111111;
	line-height: 1.4;
}

.woosonshop-checkout-product-details .product-quantity {
	font-weight: 500;
	color: #777777;
	margin-left: 4px;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td.product-total {
	font-weight: 600;
	font-size: 0.98rem;
	color: #111111;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot td {
	padding: 12px 14px;
	border-top: 1px solid #f0ede6;
	border-bottom: none;
	border-left: none;
	border-right: none;
	vertical-align: top;
	background: transparent;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot th {
	font-size: 0.92rem;
	font-weight: 600;
	color: #444444;
	text-align: left;
	width: 40%;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot td {
	font-size: 0.95rem;
	color: #111111;
	text-align: right;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal td {
	font-weight: 600;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.order-total th {
	font-size: 1.08rem;
	font-weight: 700;
	color: #111111;
	border-top: 2px solid #ede8df;
	padding-top: 18px;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr.order-total td {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--primary-color, #a6892c);
	border-top: 2px solid #ede8df;
	padding-top: 18px;
}

/* Payment Section Styling - Modern Tile Grid Layout */
.woocommerce-checkout #payment,
.wc-block-checkout__payment-methods,
.wc-block-components-checkout-step--payment {
	background: #ffffff;
	border: 1px solid #ede8df;
	border-radius: 14px;
	padding: 22px;
	margin-top: 20px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

/* Payment Methods Grid */
.woocommerce-checkout #payment ul.payment_methods,
.wc-block-checkout__payment-methods .wc-block-components-radio-control,
.wc-block-components-checkout-step--payment .wc-block-components-radio-control,
.wc-block-components-payment-methods .wc-block-components-radio-control {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)) !important;
	gap: 12px !important;
}

/* Individual Payment Option Card */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option,
.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option,
.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option {
	border: 1.5px solid #eae5db !important;
	background: #ffffff !important;
	border-radius: 10px !important;
	padding: 14px 10px !important;
	margin: 0 !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	cursor: pointer !important;
	min-height: 105px !important;
	box-sizing: border-box !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover,
.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option:hover,
.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option:hover,
.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option:hover {
	border-color: #cbbba0 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

/* Selected Payment Method Highlight */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked),
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_selected,
.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--primary-color, #a6892c) !important;
	background: #faf8f2 !important;
	box-shadow: 0 0 0 2px var(--primary-color, #a6892c), 0 4px 14px rgba(166, 137, 44, 0.16) !important;
	transform: translateY(-2px) !important;
}

/* Classic WooCommerce Payment Label */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 0.82rem !important;
	color: #222222 !important;
	line-height: 1.3 !important;
	gap: 8px !important;
	word-break: break-word !important;
}

/* WooCommerce Blocks Payment Option Layout */
.wc-block-components-radio-control__option {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	cursor: pointer !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	gap: 0 !important;
}

.wc-block-components-radio-control__option-layout,
.wc-block-components-radio-control__label-group,
.wc-block-components-radio-control__label {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.wc-block-components-radio-control__label {
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: #222222 !important;
	line-height: 1.3 !important;
}

.wc-block-components-radio-control__label > span,
.wc-block-components-radio-control__label span[components],
.wc-block-components-radio-control__label span[style*="display"] {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	width: 100% !important;
	gap: 8px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: #222222 !important;
	line-height: 1.3 !important;
	word-break: break-word !important;
}

.wc-block-components-radio-control__label div:has(> img),
.wc-block-components-radio-control__label > span > div,
.wc-block-components-radio-control__label div:has(img[id^="payrexx-"]),
.wc-block-components-radio-control__label div:has(img[src*="woo-payrexx-gateway"]),
.wc-block-components-radio-control__label div:has(img[src*="cardicons"]) {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto !important;
	float: none !important;
	width: 100% !important;
}

/* Hide ALL Radio Inputs across checkout elements */
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods li input.input-radio,
.wc-block-components-radio-control__input,
.wc-block-components-radio-control input[type="radio"],
.wc-block-components-radio-control__option input[type="radio"],
.wc-block-components-radio-control-accordion-option input[type="radio"],
.wc-block-checkout__payment-methods input[type="radio"],
.wc-block-checkout__shipping-option input[type="radio"],
.wc-block-components-shipping-rates-control input[type="radio"],
.woocommerce-shipping-methods input[type="radio"],
.woocommerce-shipping-methods input.shipping_method,
ul#shipping_method input[type="radio"],
.wc-block-components-radio-control__input-graphic,
.wc-block-components-radio-control__option::before,
.wc-block-components-radio-control__option::after {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
	display: none !important;
}

/* Payment Gateway Logos & Icons (Centered on top, Big) */
.woocommerce-checkout #payment ul.payment_methods li img,
.woocommerce-checkout #payment .wc_payment_methods li img,
.woocommerce-checkout #payment .wc_payment_method label img,
.woocommerce-checkout #payment li.payment_method_payrexx img,
.woocommerce-checkout #payment li[class*="payrexx"] img,
.woocommerce-checkout #payment .payrexx-payment-icons img,
.woocommerce-checkout #payment .payrexx-icon,
.woocommerce-checkout #payment .payrexx-logos img,
.woocommerce-checkout #payment .payrexx-gateway-icons img,
.woocommerce-checkout #payment ul.payment_methods li label img,
.wc-block-components-radio-control img,
.wc-block-components-radio-control img[id^="payrexx-"],
.wc-block-components-radio-control img[src*="woo-payrexx-gateway"],
.wc-block-components-radio-control img[src*="cardicons"],
.wc-block-components-radio-control-accordion-option img,
.wc-block-components-payment-methods img,
img[id^="payrexx-"],
img[src*="woo-payrexx-gateway"],
img[src*="cardicons"],
img[src*="card_"] {
	max-height: 40px !important;
	max-width: 85px !important;
	height: 36px !important;
	width: auto !important;
	object-fit: contain !important;
	vertical-align: middle !important;
	margin: 0 auto !important;
	float: none !important;
	display: block !important;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.06)) !important;
	transition: transform 0.2s ease !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover img,
.wc-block-components-radio-control-accordion-option:hover img,
.wc-block-components-radio-control__option:hover img {
	transform: scale(1.06) !important;
}

/* Payment Accordion Content & Description */
.wc-block-components-radio-control-accordion-content {
	width: 100% !important;
	padding: 6px 0 0 !important;
	font-size: 0.8rem !important;
	color: #666666 !important;
	text-align: center !important;
}

.wc-block-components-radio-control-accordion-content:empty,
.wc-block-components-radio-control-accordion-content > div:empty {
	display: none !important;
}

.woocommerce-checkout #payment div.payment_box {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #faf8f2 !important;
	border: 1px solid #ede8df !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	margin: 10px 0 0 !important;
	font-size: 0.85rem !important;
	color: #555555 !important;
	line-height: 1.4 !important;
}

/* Shipping Options ("Versandoptionen") - Clean cards without scuffed double borders */
.wc-block-components-shipping-rates-control,
.wc-block-checkout__shipping-option,
ul#shipping_method,
.woocommerce-shipping-methods {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control-accordion-option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control-accordion-option,
.woocommerce-shipping-methods li,
ul#shipping_method li {
	border: 1.5px solid #eae5db !important;
	background: #ffffff !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control-accordion-option:hover,
.wc-block-checkout__shipping-option .wc-block-components-radio-control-accordion-option:hover,
ul#shipping_method li:hover {
	border-color: #cbbba0 !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05) !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-shipping-rates-control .wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-checkout__shipping-option .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-checkout__shipping-option .wc-block-components-radio-control-accordion-option:has(input:checked),
ul#shipping_method li:has(input:checked) {
	border-color: var(--primary-color, #a6892c) !important;
	background: #faf8f2 !important;
	box-shadow: 0 0 0 2px var(--primary-color, #a6892c), 0 3px 12px rgba(166, 137, 44, 0.12) !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
ul#shipping_method li label {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	color: #111111 !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #ede8df !important;
}

/* Place Order Button & Terms */
.woocommerce-checkout #payment .place-order {
	margin-top: 22px;
	padding: 0;
}

.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 18px;
	font-size: 0.88rem;
	color: #666666;
	line-height: 1.5;
}

.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order,
.woocommerce-page #payment #place_order {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	min-height: 52px !important;
	padding: 16px 28px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.4px !important;
	text-align: center !important;
	border-radius: 8px !important;
	background-color: var(--primary-color, #a6892c) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 14px rgba(166, 137, 44, 0.3) !important;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout button#place_order:hover,
.woocommerce-page #payment #place_order:hover {
	background-color: var(--highlight-color, #8e7323) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(166, 137, 44, 0.4) !important;
}

.woocommerce-checkout #payment #place_order:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(166, 137, 44, 0.25) !important;
}

/* Block Checkout Overrides */
.wc-block-checkout {
	max-width: 1200px !important;
	margin: 30px auto 60px !important;
	padding: 0 15px !important;
}

.wc-block-components-checkout-place-order-button {
	background-color: var(--primary-color, #a6892c) !important;
	color: #ffffff !important;
	min-height: 52px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 14px rgba(166, 137, 44, 0.3) !important;
	transition: all 0.25s ease !important;
}

.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--highlight-color, #8e7323) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(166, 137, 44, 0.4) !important;
}

/* Responsive Mobile Checkout & Cart Layout Optimizations */
@media (max-width: 991px) {
	.woocommerce-checkout .woocommerce,
	.wc-block-checkout {
		margin: 15px auto 40px !important;
		padding: 0 12px !important;
	}

	.woocommerce-checkout form.woocommerce-checkout {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout form.checkout_coupon,
	.woocommerce-checkout form.login,
	.wc-block-components-main,
	.wc-block-components-sidebar,
	.wc-block-components-totals-wrapper,
	.wc-block-components-checkout-step {
		padding: 18px 16px !important;
		border-radius: 12px !important;
		margin-bottom: 16px !important;
	}

	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout .woocommerce-billing-fields > h3,
	.woocommerce-checkout .woocommerce-shipping-fields > h3,
	.woocommerce-checkout .woocommerce-additional-fields > h3,
	.wc-block-components-title {
		font-size: 1.5rem !important;
		margin: 0 0 14px !important;
		padding-bottom: 8px !important;
	}

	.woocommerce-checkout .form-row {
		margin-bottom: 12px;
	}

	.woocommerce-checkout input.input-text,
	.woocommerce-checkout select,
	.woocommerce-checkout textarea,
	.woocommerce-checkout .select2-container--default .select2-selection--single {
		height: 44px;
		line-height: 42px;
		padding: 0 12px !important;
		font-size: 0.92rem !important;
	}

	.woocommerce-checkout #payment {
		padding: 14px 12px !important;
		border-radius: 10px !important;
		margin-top: 14px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods,
	.wc-block-checkout__payment-methods .wc-block-components-radio-control,
	.wc-block-components-checkout-step--payment .wc-block-components-radio-control,
	.wc-block-components-payment-methods .wc-block-components-radio-control {
		grid-template-columns: repeat(auto-fill, minmax(115px, 1fr)) !important;
		gap: 10px !important;
		margin: 0 0 14px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
	.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option,
	.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option,
	.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option {
		padding: 12px 8px !important;
		min-height: 96px !important;
		border-radius: 8px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
	.wc-block-components-radio-control__label,
	.wc-block-components-radio-control__label > span,
	.wc-block-components-radio-control__label span[components] {
		font-size: 0.8rem !important;
	}

	.woocommerce-checkout #payment div.payment_box {
		padding: 10px 12px !important;
		margin: 8px 0 0 !important;
		font-size: 0.82rem !important;
	}

	.woosonshop-checkout-product-row {
		gap: 10px;
	}

	.woosonshop-checkout-product-thumb {
		width: 48px;
	}

	.woosonshop-checkout-product-thumb img,
	img.woosonshop-checkout-bottle-img {
		max-width: 44px;
		max-height: 70px;
		height: 65px;
	}

	.woocommerce-checkout #payment #place_order,
	.woocommerce-checkout button#place_order,
	.woocommerce-page #payment #place_order,
	.wc-block-components-checkout-place-order-button {
		min-height: 48px !important;
		padding: 13px 20px !important;
		font-size: 1.05rem !important;
	}
}

@media (max-width: 768px) {
	.woocommerce-cart table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
		padding: 12px !important;
	}

	.woocommerce-cart table.shop_table.cart tbody td {
		padding: 6px 0 !important;
	}

	.woocommerce-cart .cart_totals {
		padding: 18px 16px !important;
		border-radius: 12px !important;
	}

	.woocommerce-cart .cart_totals h2 {
		font-size: 1.5rem !important;
		margin-bottom: 14px !important;
		padding-bottom: 8px !important;
	}

	.woocommerce-cart .cart_totals table.shop_table tr th,
	.woocommerce-cart .cart_totals table.shop_table tr td {
		padding: 10px 0 !important;
	}
}

@media (max-width: 480px) {
	.woocommerce-checkout .woocommerce,
	.woocommerce-cart .woocommerce,
	.wc-block-checkout,
	.wc-block-cart {
		padding: 0 8px !important;
		margin: 10px auto 30px !important;
	}

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout form.checkout_coupon,
	.woocommerce-checkout form.login,
	.woocommerce-cart .cart_totals,
	.woocommerce-cart table.shop_table.cart,
	.wc-block-components-main,
	.wc-block-components-sidebar,
	.wc-block-components-totals-wrapper,
	.wc-block-components-checkout-step {
		padding: 14px 10px !important;
		border-radius: 10px !important;
		margin-bottom: 12px !important;
	}

	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-cart .cart_totals h2 {
		font-size: 1.35rem !important;
		margin-bottom: 10px !important;
		padding-bottom: 6px !important;
	}

	.woocommerce-checkout .form-row {
		margin-bottom: 10px !important;
	}

	.woocommerce-checkout input.input-text,
	.woocommerce-checkout select,
	.woocommerce-checkout textarea {
		height: 42px !important;
		line-height: 40px !important;
		padding: 0 10px !important;
		font-size: 0.9rem !important;
		border-radius: 6px !important;
	}

	.woocommerce-checkout #payment {
		padding: 10px 8px !important;
		margin-top: 10px !important;
		border-radius: 8px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods,
	.wc-block-checkout__payment-methods .wc-block-components-radio-control,
	.wc-block-components-checkout-step--payment .wc-block-components-radio-control,
	.wc-block-components-payment-methods .wc-block-components-radio-control {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		margin: 0 0 10px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
	.wc-block-checkout__payment-methods .wc-block-components-radio-control-accordion-option,
	.wc-block-components-checkout-step--payment .wc-block-components-radio-control-accordion-option,
	.wc-block-components-payment-methods .wc-block-components-radio-control-accordion-option {
		padding: 10px 6px !important;
		min-height: 90px !important;
		border-radius: 8px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
	.wc-block-components-radio-control__label,
	.wc-block-components-radio-control__label > span,
	.wc-block-components-radio-control__label span[components] {
		font-size: 0.76rem !important;
		line-height: 1.2 !important;
	}

	.woocommerce-checkout #payment ul.payment_methods li img,
	.wc-block-components-radio-control img,
	img[id^="payrexx-"],
	img[src*="woo-payrexx-gateway"],
	img[src*="cardicons"] {
		max-height: 32px !important;
		height: 28px !important;
		max-width: 75px !important;
	}

	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td,
	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot td {
		padding: 8px 6px !important;
		font-size: 0.88rem !important;
	}

	.woocommerce-checkout #payment #place_order,
	.woocommerce-checkout button#place_order,
	.woocommerce-page #payment #place_order,
	.wc-block-components-checkout-place-order-button,
	.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
	.woosonshop-empty-cart-btn {
		min-height: 46px !important;
		padding: 11px 16px !important;
		font-size: 0.98rem !important;
		border-radius: 6px !important;
	}

	/* Strip excessive block margins and padding */
	.wc-block-components-express-payment:empty {
		display: none !important;
	}

	.woocommerce-checkout .woocommerce-form-login-toggle,
	.woocommerce-checkout .woocommerce-form-coupon-toggle {
		margin-bottom: 10px !important;
	}

	.woocommerce-checkout .woocommerce-info {
		padding: 10px 12px !important;
		font-size: 0.88rem !important;
		margin-bottom: 10px !important;
	}
}
