/* Decorative cursive font for CMS banners */
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

:root {
    --font-handwritten: 'Great Vibes', cursive;
}

/* SearchSuite Autocomplete – above navigation */
.page-header {
    position: relative !important;
    z-index: 100 !important;
}

/* ── Search autocomplete popup ── */
.searchsuite-autocomplete {
    z-index: 9999 !important;
    position: absolute !important;
    background: #fff !important;
    border: 1px solid #ece8e5 !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08) !important;
    margin-top: 6px !important;
    width: 380px !important;
}
.searchsuite-autocomplete .title {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #223843 !important;
    padding: 12px 16px 8px !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
}
.searchsuite-autocomplete .title .see-all {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #a8a09b !important;
    text-decoration: none !important;
    font-style: normal !important;
    transition: color 0.2s ease !important;
}
.searchsuite-autocomplete .title .see-all:hover {
    color: var(--lemare-accent-dark, #c0a9a7) !important;
}
.searchsuite-autocomplete .title .see-all span {
    margin-left: 2px !important;
}

/* Suggest list */
.searchsuite-autocomplete .suggest {
    border-bottom: 1px solid #f0eeec !important;
    padding-bottom: 4px !important;
}
.searchsuite-autocomplete .suggest ul {
    padding: 0 16px !important;
}
.searchsuite-autocomplete .suggest ul li {
    padding: 4px 0 !important;
}
.searchsuite-autocomplete .suggest ul li a {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.searchsuite-autocomplete .suggest ul li a:hover {
    color: var(--lemare-accent-dark, #c0a9a7) !important;
}

/* Product list */
.searchsuite-autocomplete .product ul {
    padding: 0 !important;
}
.searchsuite-autocomplete .product ul li {
    display: flex !important;
    align-items: flex-start !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #f0eeec !important;
    transition: background 0.15s !important;
}
.searchsuite-autocomplete .product ul li:last-child {
    border-bottom: none !important;
}
.searchsuite-autocomplete .product ul li:hover {
    background: #faf8f7 !important;
}
.searchsuite-autocomplete ul li .qs-option-image {
    width: 56px !important;
    max-width: 56px !important;
    flex-shrink: 0 !important;
    float: none !important;
}
.searchsuite-autocomplete ul li .qs-option-image img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
    border: 1px solid #f0eeec !important;
}
.searchsuite-autocomplete ul li .qs-option-info {
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    padding-left: 12px !important;
    margin-bottom: 0 !important;
}
.searchsuite-autocomplete ul li .qs-option-title a {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}
.searchsuite-autocomplete ul li .qs-option-title a:hover {
    color: var(--lemare-accent-dark, #c0a9a7) !important;
}
.searchsuite-autocomplete ul li .qs-option-sku {
    display: none !important;
}
.searchsuite-autocomplete ul li .qs-option-shortdescription,
.searchsuite-autocomplete ul li .qs-option-description {
    font-size: 11px !important;
    color: #a8a09b !important;
    line-height: 1.4 !important;
    margin-top: 2px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.searchsuite-autocomplete ul li .qs-option-price {
    margin-top: 4px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #223843 !important;
}
.searchsuite-autocomplete ul li .qs-option-price .special-price .price {
    color: var(--lemare-sale, #C25B4E) !important;
    font-weight: 700 !important;
}
.searchsuite-autocomplete ul li .qs-option-price .old-price .price {
    text-decoration: line-through !important;
    color: #a8a09b !important;
    font-weight: 400 !important;
    font-size: 11px !important;
}
.searchsuite-autocomplete ul li .qs-option-price .price-label {
    display: none !important;
}
.searchsuite-autocomplete ul li .qs-option-addtocart {
    display: none !important;
}

/* No-result */
.searchsuite-autocomplete .no-result {
    padding: 24px 16px !important;
    text-align: center !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #a8a09b !important;
    background: transparent !important;
}

/* Loading animation – use accent colour */
form.minisearch.loading .control input[type="text"] {
    animation-name: lemare-search-loading !important;
}
@keyframes lemare-search-loading {
    0%   { box-shadow: none; }
    50%  { box-shadow: 0 0 3px 1px var(--lemare-accent, #e2c7c5); }
    100% { box-shadow: none; }
}

/* Mobile autocomplete */
@media (max-width: 767px) {
    .searchsuite-autocomplete {
        width: auto !important;
        left: 0 !important;
        right: 0 !important;
        margin-top: 0 !important;
        border-top: none !important;
    }
}

/* Override Magento blank theme z-index on product-image-wrapper
   so sorter dropdown renders above product images */
.product-image-wrapper {
    z-index: auto !important;
}

/* Remove default margin on toolbar-amount */
.toolbar-amount {
    margin: 0 !important;
}

/* Remove default margin on sorter/limiter list items */
.lemare-sorter-list .lemare-sorter-item,
.lemare-limiter-list .lemare-limiter-item {
    margin: 0 !important;
}

/* Remove Magento core margin-right on modes */
.modes {
    margin-right: 0 !important;
    float: none !important;
}

/* Show limiter in bottom toolbar, override Magento display:none */
.toolbar-products.toolbar-bottom .limiter {
    display: flex !important;
}

/* Override Magento core pagination styles */
.pages .action {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Pagination visited links */
.pages a.page:visited,
.pages a.action:visited {
    color: #6b7d85 !important;
}

/* Hide pages-label */
.pages .pages-label {
    display: none !important;
}

/* Kill Luma hover pop-out on product cards (loads after styles-l.css) */
.products-grid .product-item-info,
.products-grid .product-item-info:hover,
.products-grid .product-item-info.active,
.block.widget .product-item-info,
.block.widget .product-item-info:hover,
.block.widget .product-item-info.active {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 8px !important;
    z-index: auto !important;
}

/* Remove Luma border on product-item-inner, keep absolute so it doesn't push content */
.products-grid .product-item-inner {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Widget product-item-inner same treatment */
.block.widget .product-item-inner {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove any stray border-bottom on product image area */
.products-grid .product-img-main,
.products-grid .product-item-photo,
.products-grid .product-image-container,
.products-grid .product-image-wrapper {
    border-bottom: none !important;
}

/* Ensure no border-top on product-item-details */
.products-grid .product-item-details {
    border-top: none !important;
}

/* Prevent flex from shrinking wishlist/compare icon circles */
.product-item-hover-overlay .actions-secondary {
    flex-shrink: 0;
}
.product-item-hover-overlay .actions-secondary .action {
    min-width: 36px;
    flex-shrink: 0;
    overflow: visible;
}

/* Override Luma's overflow:hidden and width:18px on wishlist/compare
   :before pseudo-elements which clip FA6 icon glyphs */
.product-item-hover-overlay .actions-secondary .action:before {
    overflow: visible !important;
    width: auto !important;
}

/* Widget block title size override */
.block.widget.block-products-list .block-title,
.block.widget.block-products-list .block-title strong {
    font-size: 32px !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* CMS widget section wrapper */
.widget-section-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px 10px;
}

/* Override CMS inline h2 styles on homepage widget sections */
.widget.block-products-list h2,
h2.widget-section-title {
    font-size: 38px !important;
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-weight: 600 !important;
    color: #223843 !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    margin-bottom: 24px !important;
}

/* Minicart counter badge – override Luma squash */
.counter.qty {
    overflow: visible !important;
    border-radius: 50% !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    line-height: 22px !important;
    padding: 0 !important;
    margin: 3px 0 0 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
}

.counter.qty:before,
.counter.qty:after {
    content: none !important;
}

/* Negative message icon: cracked heart in coral */
.message.info > *:first-child:before,
.message.error > *:first-child:before,
.message.warning > *:first-child:before,
.message.notice > *:first-child:before {
    content: '\f7a9' !important;  /* fa-heart-crack */
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900;
    color: var(--lemare-accent) !important;
    overflow: visible !important;
}
/* Success message icon: solid heart in teal */
.message.success > *:first-child:before {
    content: '\f004' !important;  /* fa-heart */
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900;
    color: #97BFB6 !important;
    overflow: visible !important;
}

/* =============================================
   CHECKOUT PROGRESS BAR
   ============================================= */
.opc-progress-bar {
    display: flex !important;
    justify-content: center;
    gap: 0;
    margin: 0 0 40px !important;
    padding: 30px 0;
    list-style: none;
    counter-reset: i;
    font-size: 0;
}

.opc-progress-bar-item {
    position: relative;
    text-align: center;
    vertical-align: top;
    width: 220px !important;
    margin: 0 !important;
}

/* Connecting line */
.opc-progress-bar-item:before {
    background: #e4dfdc !important;
    border: none !important;
    height: 1px !important;
    top: 17px !important;
    border-radius: 0 !important;
    content: '' !important;
    left: 0 !important;
    position: absolute !important;
    width: 100% !important;
}

.opc-progress-bar-item:first-child:before {
    border-radius: 0 !important;
}

.opc-progress-bar-item:last-child:before {
    border-radius: 0 !important;
}

.opc-progress-bar-item._active:before,
.opc-progress-bar-item._complete:before {
    background: var(--lemare-accent) !important;
}

/* Step label */
.opc-progress-bar-item > span {
    display: inline-block !important;
    padding-top: 46px !important;
    width: 100% !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    color: #6b7d85 !important;
    text-transform: uppercase;
}

/* Circle outer */
.opc-progress-bar-item > span:before {
    width: 34px !important;
    height: 34px !important;
    margin-left: -17px !important;
    background: #e4dfdc !important;
    border: none !important;
    border-radius: 50% !important;
    content: '' !important;
    left: 50% !important;
    position: absolute !important;
    top: 0 !important;
    transition: background 0.3s ease !important;
}

/* Circle inner — shows icon per step */
.opc-progress-bar-item > span:after {
    width: 26px !important;
    height: 26px !important;
    margin-left: -13px !important;
    top: 4px !important;
    background: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    left: 50% !important;
    position: absolute !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    color: #6b7d85 !important;
    line-height: 26px !important;
    text-align: center !important;
    transition: background 0.3s ease, color 0.3s ease !important;
    counter-increment: none !important;
}

/* Step 1: shipping icon */
.opc-progress-bar-item:first-child > span:after {
    content: '\f0d1' !important; /* fa-truck */
}

/* Step 2: payment icon */
.opc-progress-bar-item:last-child > span:after {
    content: '\f09d' !important; /* fa-credit-card */
}

/* Active step */
.opc-progress-bar-item._active > span:before {
    background: var(--lemare-accent) !important;
}

.opc-progress-bar-item._active > span:after {
    background: #fff !important;
    color: var(--lemare-accent) !important;
}

.opc-progress-bar-item._active > span {
    color: #223843 !important;
    font-weight: 600 !important;
}

/* Completed step */
.opc-progress-bar-item._complete > span:before {
    background: var(--lemare-accent) !important;
}

.opc-progress-bar-item._complete > span:after {
    background: var(--lemare-accent) !important;
    content: '\f00c' !important; /* fa-check */
    color: #fff !important;
}

.opc-progress-bar-item._complete > span {
    color: #223843 !important;
}

.opc-progress-bar-item._complete:hover:before,
.opc-progress-bar-item._complete:hover > span:before {
    background: var(--lemare-accent-dark) !important;
}

/* =============================================
   CUSTOM LOADER (replace Magento GIF)
   ============================================= */
.loading-mask {
    background: rgba(255, 255, 255, 0.85) !important;
}

.loading-mask .loader > img {
    display: none !important;
}

.loading-mask .loader {
    width: 40px !important;
    height: 40px !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.loading-mask .loader:after {
    content: '' !important;
    display: block;
    width: 36px;
    height: 36px;
    border: 2px solid #e4dfdc;
    border-top-color: var(--lemare-accent);
    border-radius: 50%;
    animation: lemare-spin 0.8s linear infinite;
}

@keyframes lemare-spin {
    to { transform: rotate(360deg); }
}

/* =============================================
   CHECKOUT PAGE STYLING
   ============================================= */

/* Step titles */
.checkout-index-index .step-title,
.checkout-index-index .opc-block-summary > .title {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    border-bottom: 1px solid #e4dfdc !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
}

/* Input fields */
.checkout-index-index .field .control input[type="text"],
.checkout-index-index .field .control input[type="email"],
.checkout-index-index .field .control input[type="tel"],
.checkout-index-index .field .control input[type="password"],
.checkout-index-index .field .control textarea,
.checkout-index-index .field .control select,
.customer-address-form .field .control input[type="text"],
.customer-address-form .field .control input[type="email"],
.customer-address-form .field .control input[type="tel"],
.customer-address-form .field .control textarea,
.customer-address-form .field .control select,
.newsletter-unsubscribe-form .field .control input[type="email"] {
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
    height: auto !important;
}

.checkout-index-index .field .control input:focus,
.checkout-index-index .field .control select:focus,
.checkout-index-index .field .control textarea:focus,
.customer-address-form .field .control input:focus,
.customer-address-form .field .control select:focus,
.customer-address-form .field .control textarea:focus,
.newsletter-unsubscribe-form .field .control input:focus {
    border-color: var(--lemare-accent) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Field labels */
.checkout-index-index .field .label,
.customer-address-form .field .label,
.newsletter-unsubscribe-form .field .label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}

/* Primary buttons (Next, Place Order) */
.checkout-index-index .action.primary,
.checkout-index-index button.action.primary {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 14px 28px !important;
    transition: background 0.3s ease, border-color 0.3s ease !important;
}

.checkout-index-index .action.primary:hover,
.checkout-index-index button.action.primary:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
}

/* Secondary/link buttons */
.checkout-index-index .action-show-popup,
.checkout-index-index .action-select-shipping-item {
    color: var(--lemare-accent) !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Shipping methods */
.checkout-index-index .table-checkout-shipping-method {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
}

.checkout-index-index .table-checkout-shipping-method td {
    border-color: #e4dfdc !important;
    padding: 12px 10px !important;
    font-size: 13px !important;
    color: #223843 !important;
}

.checkout-index-index .table-checkout-shipping-method tr:hover td {
    background: #faf8f7 !important;
}

/* Order summary sidebar */
.checkout-index-index .opc-block-summary {
    background: #faf8f7 !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    padding: 24px !important;
}

.checkout-index-index .opc-block-summary .table-totals {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
}

.checkout-index-index .opc-block-summary .table-totals th,
.checkout-index-index .opc-block-summary .table-totals td {
    font-size: 13px !important;
    color: #223843 !important;
    padding: 6px 0 !important;
}

.checkout-index-index .opc-block-summary .grand.totals th,
.checkout-index-index .opc-block-summary .grand.totals td {
    font-size: 16px !important;
    font-weight: 600 !important;
    border-top: 1px solid #e4dfdc !important;
    padding-top: 12px !important;
}

/* Mini cart items in summary */
.checkout-index-index .opc-block-summary .product-item-name {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
}

/* Checkout authentication popup */
.checkout-index-index .authentication-wrapper .action-auth-toggle {
    color: var(--lemare-accent) !important;
    border-color: var(--lemare-accent) !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
}

/* Fieldset legend */
.checkout-index-index fieldset .legend {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
}

/* Shipping policy block – not a tooltip, hide or reset */
.checkout-index-index .shipping-policy-block.field-tooltip {
    display: none !important;
}

/* Tooltip – icon + text below input */
.checkout-index-index .field-tooltip:not(.shipping-policy-block) {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 6px !important;
}

.checkout-index-index .field-tooltip .field-tooltip-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 50% !important;
    background: #f0deda !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    position: static !important;
}

.checkout-index-index .field-tooltip .field-tooltip-action:before {
    content: '\f128' !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900 !important;
    font-size: 8px !important;
    color: var(--lemare-accent) !important;
    overflow: visible !important;
    width: auto !important;
}

.checkout-index-index .field-tooltip .field-tooltip-action:hover {
    background: var(--lemare-accent) !important;
}

.checkout-index-index .field-tooltip .field-tooltip-action:hover:before {
    color: #fff !important;
}

.checkout-index-index .field-tooltip .field-tooltip-content {
    position: static !important;
    display: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    color: #6b7d85 !important;
    font-style: italic !important;
    width: auto !important;
    max-width: none !important;
}

.checkout-index-index .field-tooltip .field-tooltip-content:before,
.checkout-index-index .field-tooltip .field-tooltip-content:after {
    display: none !important;
}

.checkout-index-index .field-tooltip._active .field-tooltip-content {
    display: inline !important;
}

/* Tooltip on rose login background */
.checkout-index-index .form-login .field-tooltip .field-tooltip-action {
    background: #fff !important;
}

.checkout-index-index .form-login .field-tooltip .field-tooltip-action:hover {
    background: #223843 !important;
}

.checkout-index-index .form-login .field-tooltip .field-tooltip-action:hover:before {
    color: #fff !important;
}

/* Keep tooltip icon style for non-checkout pages */
.field-tooltip .field-tooltip-action:before {
    display: inline-block !important;
    content: '\f059' !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #6b7d85 !important;
}

.field-tooltip .field-tooltip-action:hover:before {
    color: var(--lemare-accent) !important;
}

/* Payment method titles */
.checkout-index-index .payment-method-title {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
}

/* Discount/coupon section on checkout */
.checkout-index-index .payment-option-title {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    color: #223843 !important;
    border-color: #e4dfdc !important;
}

/* =============================================
   CHECKOUT PAGE LAYOUT
   ============================================= */

/* Login/email form & order comment – soft rose panel */
.checkout-index-index .form-login,
.checkout-index-index .form-order-comment {
    background: #f0deda !important;
    border: none !important;
    padding: 24px 28px !important;
    margin-bottom: 32px !important;
    border-radius: 6px !important;
}

.checkout-index-index .form-order-comment .step-title {
    margin-bottom: 12px !important;
}

.checkout-index-index .form-order-comment textarea {
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    padding: 10px 2px !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    font-size: 14px !important;
}

.checkout-index-index .form-order-comment textarea:focus {
    border-bottom-color: var(--lemare-accent) !important;
    outline: none !important;
}

/* Vertical rhythm */
.checkout-index-index .opc-wrapper {
    padding-right: 36px !important;
}

/* Step titles – accent underline */
.checkout-index-index .step-title,
.checkout-index-index .opc-block-summary > .title {
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 6px !important;
}

.checkout-index-index .step-title:after {
    content: '' !important;
    display: block !important;
    width: 40px !important;
    height: 1px !important;
    background: var(--lemare-accent) !important;
    margin-top: 10px !important;
    margin-bottom: 24px !important;
}

/* Address fieldset – open, no box */
.checkout-index-index .fieldset.address {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 36px !important;
}

/* Two-column grid for address fields on desktop */
@media (min-width: 768px) {
    .checkout-index-index .fieldset.address {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 22px !important;
        row-gap: 0 !important;
    }

    .checkout-index-index .fieldset.address .field[name*="street"],
    .checkout-index-index .fieldset.address .field.street,
    .checkout-index-index .fieldset.address .field[name*="company"],
    .checkout-index-index .fieldset.address .field.choice,
    .checkout-index-index .fieldset.address > .field-error,
    .checkout-index-index .fieldset.address > .message {
        grid-column: 1 / -1 !important;
    }
}

/* Customer address form: fix street primary spacing */
.customer-address-form .field.street.primary {
    margin-bottom: 0 !important;
}
.customer-address-form .field.street .field.primary {
    margin-bottom: 0 !important;
}
.customer-address-form .field.street .field.additional {
    margin-top: 0 !important;
}

/* Selected shipping address */
.opc-wrapper .shipping-address-item.selected-item {
    border-color: var(--lemare-accent) !important;
}
.opc-wrapper .shipping-address-item.selected-item:after {
    background: var(--lemare-accent) !important;
    color: #223843 !important;
}
.opc-wrapper .action-select-shipping-item {
    background: var(--lemare-accent) !important;
    border: none !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 0 !important;
}
.opc-wrapper .action-select-shipping-item:hover {
    background: var(--lemare-accent-dark) !important;
    color: #fff !important;
}
.opc-wrapper .action-show-popup {
    background: none !important;
    border: 1px solid var(--lemare-accent) !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 0 !important;
}
.opc-wrapper .action-show-popup:hover {
    background: var(--lemare-accent) !important;
    color: #223843 !important;
}
.opc-wrapper .edit-address-link,
.opc-wrapper .action-edit-address,
.opc-wrapper .action-edit {
    background: none !important;
    border: none !important;
    color: var(--lemare-accent-dark) !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}
.opc-wrapper .edit-address-link:hover,
.opc-wrapper .action-edit-address:hover,
.opc-wrapper .action-edit:hover {
    color: #223843 !important;
}
.opc-wrapper .action.secondary.action-hide-popup,
.opc-wrapper .action-hide-popup,
.checkout-index-index .action.secondary.action-hide-popup {
    background: none !important;
    border: 1px solid var(--lemare-accent) !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    padding: 12px 30px !important;
    box-sizing: border-box !important;
}
.opc-wrapper .action.secondary.action-hide-popup:hover,
.opc-wrapper .action-hide-popup:hover,
.checkout-index-index .action.secondary.action-hide-popup:hover {
    background: var(--lemare-accent) !important;
    color: #223843 !important;
}
/* Align popup action buttons side by side */
.checkout-index-index .modal-footer {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 10px !important;
    justify-content: flex-start !important;
}
.checkout-index-index .modal-footer .action {
    margin: 0 !important;
}

/* Tooltip: don't shrink input */
.checkout-index-index .field .control._with-tooltip input {
    width: 100% !important;
    margin-right: 0 !important;
}

/* Field spacing */
.checkout-index-index .field {
    margin-bottom: 18px !important;
}

/* Inputs – underline style, visible contrast */
.checkout-index-index .field .control input[type="text"],
.checkout-index-index .field .control input[type="email"],
.checkout-index-index .field .control input[type="tel"],
.checkout-index-index .field .control input[type="password"],
.checkout-index-index .field .control textarea,
.checkout-index-index .field .control select {
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    padding: 10px 2px !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
}

.checkout-index-index .field .control input:focus,
.checkout-index-index .field .control select:focus,
.checkout-index-index .field .control textarea:focus {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
}

/* Remove browser autofill blue background */
.checkout-index-index .field .control input:-webkit-autofill,
.checkout-index-index .field .control input:-webkit-autofill:hover,
.checkout-index-index .field .control input:-webkit-autofill:focus,
.checkout-index-index .field .control select:-webkit-autofill,
.customer-address-form .field .control input:-webkit-autofill,
.customer-address-form .field .control input:-webkit-autofill:hover,
.customer-address-form .field .control input:-webkit-autofill:focus,
.customer-address-form .field .control select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #223843 !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* Labels – darker for contrast */
.checkout-index-index .field .label {
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #223843 !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

/* Shipping methods – separator line, no box */
.checkout-index-index #checkout-step-shipping_method {
    background: transparent !important;
    border: none !important;
    border-top: none !important;
    padding: 24px 0 0 !important;
    margin-bottom: 32px !important;
}

/* Shipping method table */
.checkout-index-index .table-checkout-shipping-method {
    width: 100% !important;
    border-collapse: collapse !important;
}

.checkout-index-index .table-checkout-shipping-method thead {
    display: none !important;
}

.checkout-index-index .table-checkout-shipping-method tr {
    border: none !important;
    background: #faf9f8 !important;
    display: flex !important;
    align-items: center !important;
    padding: 14px 16px !important;
    margin-bottom: 6px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.checkout-index-index .table-checkout-shipping-method tr:hover {
    background: rgba(211,162,151,0.08) !important;
}

.checkout-index-index .table-checkout-shipping-method tr:hover td {
    background: transparent !important;
}

.checkout-index-index .table-checkout-shipping-method tr td {
    border: none !important;
    padding: 0 12px !important;
    background: transparent !important;
}

/* Column 1: radio */
.checkout-index-index .table-checkout-shipping-method tr td:nth-child(1) {
    flex: 0 0 30px !important;
    padding: 0 !important;
}

/* Column 2: price */
.checkout-index-index .table-checkout-shipping-method tr td:nth-child(2),
.checkout-index-index .table-checkout-shipping-method tr td.col-price {
    flex: 0 0 90px !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding: 0 12px !important;
}

/* Column 3: method title - takes remaining space, pushes carrier to right */
.checkout-index-index .table-checkout-shipping-method tr td:nth-child(3) {
    flex: 1 1 auto !important;
    padding: 0 12px !important;
}

/* Column 4: carrier title - narrow, pinned right */
.checkout-index-index .table-checkout-shipping-method tr td:nth-child(4),
.checkout-index-index .table-checkout-shipping-method tr td.col-carrier {
    flex: 0 0 200px !important;
    padding: 0 12px !important;
    color: #6b7d85 !important;
    text-align: right !important;
}

/* Custom radio buttons */
.checkout-index-index input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    border: 1px solid #d0cbc8 !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s ease !important;
    outline: none !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.checkout-index-index input[type="radio"]:checked {
    border-color: var(--lemare-accent) !important;
}

.checkout-index-index input[type="radio"]:checked:after {
    content: '' !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--lemare-accent) !important;
}

/* Payment section – clean, no extra borders */
.checkout-index-index .payment-methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.checkout-index-index .payment-method {
    border: none !important;
    padding: 12px 0 !important;
}

.checkout-index-index .payment-method + .payment-method {
    border-top: 1px solid #ece8e5 !important;
}

.checkout-index-index .payment-method._active .payment-method-content {
    padding-top: 14px !important;
}

/* Payment method title – clean radio + label */
.checkout-index-index .payment-method-title {
    border: none !important;
    padding: 0 !important;
}

/* Payment method billing address – no extra borders */
.checkout-index-index .payment-method-content .fieldset {
    border: none !important;
}

.checkout-index-index .checkout-billing-address {
    border: none !important;
}

/* Payment option (discount/coupon) wrappers – no borders */
.checkout-index-index .payment-option {
    border: none !important;
}

.checkout-index-index .payment-option._collapsible {
    border-bottom: 1px solid #ece8e5 !important;
}

/* Order summary sidebar – subtle warm panel */
.checkout-index-index .opc-block-summary {
    background: #faf9f8 !important;
    border: 1px solid #ece8e5 !important;
    padding: 28px !important;
}

@media (min-width: 768px) {
    .checkout-index-index .opc-block-summary {
        position: static !important;
    }
}

.checkout-index-index .opc-block-summary > .title {
    font-size: 20px !important;
    border-bottom: none !important;
    margin-bottom: 4px !important;
}

.checkout-index-index .opc-block-summary > .title:after {
    content: '' !important;
    display: block !important;
    width: 30px !important;
    height: 1px !important;
    background: var(--lemare-accent) !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
}

/* Counter number in summary – inline, not squashed */
.checkout-index-index .opc-block-summary .counter-number {
    display: inline !important;
}

/* Summary items toggle */
.checkout-index-index .opc-block-summary .items-in-cart > .title {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6b7d85 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-bottom: 1px solid #ece8e5 !important;
    padding: 10px 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.checkout-index-index .opc-block-summary .items-in-cart > .title:after {
    content: '+' !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    color: #6b7d85 !important;
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}

.checkout-index-index .opc-block-summary .items-in-cart.active > .title:after {
    content: '\2212' !important;
}

/* Summary product items */
.checkout-index-index .opc-block-summary .product-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid #f0eded !important;
}

.checkout-index-index .opc-block-summary .product-item:last-child {
    border-bottom: none !important;
}

/* Summary totals */
.checkout-index-index .opc-block-summary .table-totals,
.checkout-index-index .table-totals {
    border-top: none !important;
}
.checkout-index-index .opc-block-summary .table-totals th,
.checkout-index-index .opc-block-summary .table-totals td,
.checkout-index-index .table-totals th,
.checkout-index-index .table-totals td {
    padding: 8px 0 !important;
    border: none !important;
}

.checkout-index-index .opc-block-summary .grand.totals th,
.checkout-index-index .opc-block-summary .grand.totals td {
    padding-top: 14px !important;
    border-top: 1px solid #e4dfdc !important;
    font-size: 17px !important;
}

/* Mobile checkout: lower header z-index so summary panel is visible */
@media (max-width: 767px) {
    .checkout-index-index .page-header {
        z-index: 10 !important;
    }
}

/* Authentication – discrete */
.checkout-index-index .authentication-wrapper {
    margin-bottom: 24px !important;
}

/* Place Order button – full-width */
.checkout-index-index .payment-method .action.primary.checkout {
    margin-top: 16px !important;
    padding: 16px 36px !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    width: 100% !important;
}

/* Next button – centered */
.checkout-index-index #shipping-method-buttons-container .action.primary {
    display: block !important;
    margin: 24px auto 0 !important;
    min-width: 220px !important;
}

/* Error messages */
.checkout-index-index .field-error,
.checkout-index-index div.mage-error {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    color: #ff5656 !important;
    margin-top: 4px !important;
}

/* Form wrapper */
.checkout-index-index .form-shipping-address {
    margin-bottom: 0 !important;
}

/* Checkout checkbox styling */
.checkout-index-index input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d0cbc8 !important;
    border-radius: 0 !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s ease !important;
    outline: none !important;
    vertical-align: middle !important;
}

/* CorvusPay vault checkbox ("Save credit card") — give checkbox+label room */
.checkout-index-index .payment-method-content .field-tooltip-content {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 8px 0 !important;
    position: static !important;
}
.checkout-index-index .payment-method-content .field-tooltip-content .label {
    margin: 0 !important;
    font-size: 13px !important;
    color: #333 !important;
}
/* Force exact square dimensions on the vault checkbox so flex can't make it oval */
.checkout-index-index .payment-method-content .field-tooltip-content input[type="checkbox"],
.checkout-index-index .payment-method-content input.checkbox-inline,
.checkout-index-index input.checkbox-inline {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    flex: 0 0 16px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: center !important;
    display: inline-block !important;
}
@media (max-width: 767px) {
    .checkout-index-index input[type="checkbox"],
    .checkout-index-index input.checkbox-inline,
    .checkout-index-index .payment-method-content input[type="checkbox"],
    .checkout-index-index .field-tooltip-content input[type="checkbox"] {
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        min-height: 16px !important;
        max-width: 16px !important;
        max-height: 16px !important;
        flex: 0 0 16px !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        flex-basis: 16px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 0 !important;
        align-self: center !important;
        display: inline-block !important;
        vertical-align: middle !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

.checkout-index-index input[type="checkbox"]:checked {
    border-color: var(--lemare-accent) !important;
    background: var(--lemare-accent) !important;
}

.checkout-index-index input[type="checkbox"]:checked:after {
    content: '\f00c' !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    top: 0 !important;
    left: 1px !important;
    font-size: 10px !important;
    color: #fff !important;
    line-height: 15px !important;
}

/* Terms & Conditions – clean checkbox + text */
.checkout-index-index .checkout-agreements {
    padding: 28px 0 !important;
    margin: 0 !important;
    border-top: 1px solid #ece8e5 !important;
}
.checkout-index-index .checkout-agreement.field.choice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    position: relative !important;
}
.checkout-index-index .checkout-agreement.field.choice input[type="checkbox"] {
    flex-shrink: 0 !important;
    margin: 0 !important;
    position: relative !important;
    top: auto !important;
    align-self: center !important;
}
.checkout-index-index .checkout-agreement .label {
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.checkout-index-index .lemare-agreement-text {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
}
.checkout-index-index .lemare-agreement-text:hover {
    color: var(--lemare-accent) !important;
}

/* Terms validation error – below checkbox */
.checkout-index-index .checkout-agreement div.mage-error,
.checkout-index-index .checkout-agreements-block div.mage-error {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    color: var(--lemare-accent) !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Discount / coupon section in checkout – match cart style */
.checkout-index-index .payment-option-title {
    border: none !important;
    padding: 14px 0 !important;
}
.checkout-index-index .payment-option-title .action-toggle {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #223843 !important;
    text-decoration: none !important;
}
.checkout-index-index .payment-option-inner {
    padding: 0 !important;
}
.checkout-index-index .payment-option-inner .form-discount {
    display: flex !important;
    align-items: stretch !important;
}
.checkout-index-index .payment-option-inner .payment-option-discount .field {
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    width: auto !important;
}
.checkout-index-index .payment-option-inner .payment-option-discount .field .control {
    width: 100% !important;
}
.checkout-index-index .payment-option-inner .payment-option-discount .field input {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    padding: 12px 14px !important;
    border: 1px solid #e4dfdc !important;
    border-right: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #223843 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    border-bottom-width: 1px !important;
}
.checkout-index-index .payment-option-inner .payment-option-discount .field input:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
}
.checkout-index-index .payment-option-inner .actions-toolbar {
    margin: 0 !important;
}
.checkout-index-index .payment-option-inner .actions-toolbar .action-apply {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    padding: 12px 24px !important;
    background: var(--lemare-accent) !important;
    color: #fff !important;
    border: 1px solid var(--lemare-accent) !important;
    border-left: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background 0.3s ease;
    white-space: nowrap;
    box-shadow: none !important;
    height: 100% !important;
}
.checkout-index-index .payment-option-inner .actions-toolbar .action-apply:hover {
    background: var(--lemare-accent-dark) !important;
}
.checkout-index-index .payment-option-inner .actions-toolbar .action-cancel {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    color: #6b7d85 !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
    padding: 8px 0 !important;
    margin-top: 8px !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .checkout-index-index .opc-wrapper {
        padding-right: 0 !important;
    }

    .checkout-index-index .fieldset.address,
    .checkout-index-index #checkout-step-shipping_method,
    .checkout-index-index .payment-methods {
        padding: 20px 18px !important;
    }

    .checkout-index-index .opc-block-summary {
        margin-top: 28px !important;
    }
}

/* =============================================
   CART PAGE MESSAGES – minimal, no colored boxes
   ============================================= */
.checkout-cart-index .message {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    padding: 14px 18px 14px 45px !important;
    margin: 0 0 14px !important;
    background: #F6F4F3 !important;
    border: none !important;
    border-left: 3px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #223843 !important;
}
.checkout-cart-index .message.success {
    border-left-color: #97BFB6 !important;
}

/* =============================================
   CART PAGE – clean rewrite
   ============================================= */

/* --- Table reset --- */
.cart.table-wrapper {
    overflow: visible !important;
}
.cart.table-wrapper .cart.items {
    border-collapse: collapse;
    width: 100%;
}
/* Kill ALL Luma borders on tbody, tr, td – we set our own */
.cart.table-wrapper .cart.item,
.cart.table-wrapper .cart.item .item-info,
.cart.table-wrapper .cart.item .item-info > td {
    border: none !important;
}
/* Single clean border between rows */
.cart.table-wrapper .cart.item {
    border-bottom: 1px solid #e4dfdc !important;
}
/* Hide Luma's separate actions row */
.cart.table-wrapper .item-actions {
    display: none !important;
}

/* --- Table header --- */
.cart.table-wrapper thead th {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #6b7d85 !important;
    border: none !important;
    border-bottom: 1px solid #e4dfdc !important;
    padding: 10px 12px !important;
    background: transparent !important;
}

/* --- All cells: uniform padding, middle-aligned --- */
.cart.table-wrapper .item-info > td {
    padding: 16px 12px !important;
    vertical-align: middle !important;
}

/* --- Item cell: image + name side by side, vertically centered --- */
.cart.table-wrapper .col.item,
.cart.table-wrapper .item .col.item {
    padding-left: 16px !important;
    position: static !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Photo wrapper */
.lemare-cart-item-photo-wrap {
    position: relative;
    width: 80px;
    flex-shrink: 0;
}
/* Override Luma absolute positioning on cart photo */
.cart.table-wrapper .lemare-cart-item-photo-wrap .product-item-photo {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 80px !important;
    max-width: 80px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cart.table-wrapper .lemare-cart-item-photo-wrap .product-image-container,
.cart.table-wrapper .lemare-cart-item-photo-wrap .product-image-wrapper,
.cart.table-wrapper .lemare-cart-item-photo-wrap .product-image-photo {
    width: 80px !important;
    max-width: 80px !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
    padding: 0 !important;
}

/* Product details next to image */
.cart.table-wrapper .col.item > .product-item-details {
    flex: 1;
    min-width: 0;
    padding-left: 14px !important;
}
.cart.table-wrapper .product-item-name {
    margin: 0 !important;
}
.cart.table-wrapper .product-item-name a {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    text-decoration: none !important;
}
.cart.table-wrapper .product-item-name a:hover {
    color: var(--lemare-accent) !important;
}
.cart.table-wrapper .item-options {
    margin: 4px 0 0 !important;
    padding: 0 !important;
}
.cart.table-wrapper .item-options dt,
.cart.table-wrapper .item-options dd {
    font-size: 12px !important;
    color: #6b7d85 !important;
    margin: 0 !important;
    display: inline;
}
.cart.table-wrapper .item-options dt:after {
    content: ': ';
}

/* --- X delete button on image top-left --- */
.lemare-cart-item-photo-wrap .action-edit {
    display: none !important;
}
.lemare-cart-item-photo-wrap .action-delete {
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: 5;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff !important;
    border: 1px solid #e4dfdc !important;
    color: #6b7d85 !important;
    font-size: 0 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
    padding: 0;
    line-height: 1;
}
.lemare-cart-item-photo-wrap .action-delete:hover {
    color: #ff5656 !important;
    border-color: #ff5656 !important;
}
.lemare-cart-item-photo-wrap .action-delete:before {
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900;
    content: '\f00d' !important;
    font-size: 11px !important;
    width: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    line-height: 1;
}
.lemare-cart-item-photo-wrap .action-delete span {
    display: none !important;
}

/* --- Price & subtotal --- */
.cart.table-wrapper .col.price,
.cart.table-wrapper .col.subtotal {
    text-align: right !important;
}
.cart.table-wrapper .col.price .price,
.cart.table-wrapper .col.subtotal .price {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #223843 !important;
}
/* Flatten Luma price wrappers */
.cart.table-wrapper .col.price .price-including-tax,
.cart.table-wrapper .col.price .price-excluding-tax,
.cart.table-wrapper .col.subtotal .price-including-tax,
.cart.table-wrapper .col.subtotal .price-excluding-tax {
    display: block !important;
    margin: 0 !important;
    font-size: 0 !important;
}
.cart.table-wrapper .col.price .price-including-tax .price,
.cart.table-wrapper .col.price .price-excluding-tax .price,
.cart.table-wrapper .col.subtotal .price-including-tax .price,
.cart.table-wrapper .col.subtotal .price-excluding-tax .price {
    font-size: 14px !important;
}
.cart.table-wrapper .col.price .cart-tax-total,
.cart.table-wrapper .col.subtotal .cart-tax-total {
    display: none !important;
}

/* --- Qty column --- */
.cart.table-wrapper .col.qty {
    text-align: center !important;
}
.cart.table-wrapper .col.qty .field.qty,
.cart.table-wrapper .col.qty .control.qty {
    margin: 0 !important;
}
.cart.table-wrapper .col.qty .label {
    display: none !important;
}

/* Qty +/- compact */
.lemare-cart-qty {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid #e4dfdc;
    vertical-align: middle;
}
.lemare-cart-qty .lemare-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 28px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #6b7d85;
    font-size: 9px;
    transition: color 0.2s ease;
    padding: 0;
}
.lemare-cart-qty .lemare-qty-btn:hover {
    color: var(--lemare-accent);
}
.lemare-cart-qty input.qty {
    width: 28px !important;
    height: 28px !important;
    text-align: center;
    border: none !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield;
}
.lemare-cart-qty input.qty::-webkit-outer-spin-button,
.lemare-cart-qty input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* --- Wishlist icon before product name in cart --- */
.lemare-cart-wishlist {
    display: inline !important;
    float: right;
    font-size: 15px !important;
    color: #ccc !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
    position: static !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 0 8px !important;
    line-height: 1 !important;
}
.lemare-cart-wishlist:hover {
    color: var(--lemare-accent) !important;
}
.lemare-cart-wishlist:before {
    display: none !important;
}
.lemare-cart-wishlist span {
    display: none !important;
}

/* --- Hide update button (auto-submit) --- */
.cart.main.actions .action.update {
    display: none !important;
}

/* --- Discount / coupon --- */
.cart-discount .block.discount {
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.cart-discount .block.discount .title {
    padding: 14px 18px;
    cursor: pointer;
    border-bottom: 1px solid #e4dfdc;
}
.cart-discount .block.discount .title strong {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #223843 !important;
}
.cart-discount .block.discount .content {
    padding: 18px;
}
/* Coupon input + button in one row */
.lemare-coupon-row {
    display: flex;
    align-items: stretch;
}
.lemare-coupon-input {
    flex: 1;
    min-width: 0;
}
.lemare-coupon-input input.input-text {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    padding: 12px 14px !important;
    border: 1px solid #e4dfdc !important;
    border-right: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #223843 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease;
}
.lemare-coupon-input input.input-text:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
    box-shadow: none !important;
}
.lemare-coupon-row .action.apply,
.lemare-coupon-row .action.cancel {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    padding: 12px 24px !important;
    background: var(--lemare-accent) !important;
    color: #fff !important;
    border: 1px solid var(--lemare-accent) !important;
    border-left: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background 0.3s ease;
    white-space: nowrap;
    box-shadow: none !important;
}
.lemare-coupon-row .action.apply:hover,
.lemare-coupon-row .action.cancel:hover {
    background: var(--lemare-accent-dark) !important;
    box-shadow: none !important;
}
/* Validation error below the row */
.lemare-coupon-input .mage-error {
    font-size: 11px !important;
    margin-top: 4px;
}

/* =============================================
   CONFIRM MODAL (remove item, etc.)
   ============================================= */
.modal-popup.confirm .modal-inner-wrap {
    border-radius: 0 !important;
    border: none !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
    max-width: 420px !important;
}
.modal-popup.confirm .modal-header {
    border-bottom: none !important;
    padding: 20px 24px 0 !important;
}
.modal-popup.confirm .modal-header .action-close {
    color: #6b7d85 !important;
}
.modal-popup.confirm .modal-header .action-close:hover {
    color: #223843 !important;
}
.modal-popup.confirm .modal-content {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    padding: 16px 24px !important;
    line-height: 1.5;
}
.modal-popup.confirm .modal-footer {
    border-top: 1px solid #e4dfdc !important;
    padding: 16px 24px !important;
    text-align: right !important;
}
.modal-popup.confirm .action-secondary {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 20px !important;
    background: transparent !important;
    color: #6b7d85 !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    cursor: pointer;
    box-shadow: none !important;
    margin-right: 8px !important;
}
.modal-popup.confirm .action-secondary:hover {
    border-color: var(--lemare-accent) !important;
    color: #223843 !important;
}
.modal-popup.confirm .action-primary {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 20px !important;
    background: var(--lemare-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    box-shadow: none !important;
}
.modal-popup.confirm .action-primary:hover {
    background: var(--lemare-accent-dark) !important;
}
/* Modal overlay */
.modals-overlay {
    background: rgba(34, 56, 67, 0.4) !important;
}

/* =============================================
   CART SUMMARY SIDEBAR
   ============================================= */
/* =============================================
   CART SUMMARY – refined panel
   ============================================= */
.cart-summary {
    background: #faf8f6 !important;
    border: 1px solid #ece8e5 !important;
    padding: 28px !important;
}
.cart-summary .summary.title {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    border: none !important;
    padding-bottom: 20px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #e4dfdc !important;
}

/* Shipping estimate block */
.cart-summary .block.shipping {
    border: none !important;
    margin: 0 0 8px !important;
}
.cart-summary .block.shipping .title {
    border: none !important;
    padding: 8px 0 !important;
}
.cart-summary .block.shipping .title strong {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
.cart-summary .block.shipping .content {
    padding: 0 !important;
}
.cart-summary .block.shipping .fieldset {
    margin: 0 !important;
}
.cart-summary .block.shipping .field {
    margin: 0 0 8px !important;
}
.cart-summary .block.shipping .field .label {
    margin: 0 0 4px !important;
}
.cart-summary .block.shipping .field .control {
    margin: 0 !important;
}
.cart-summary .block.shipping .legend {
    display: none !important;
}
.cart-summary .block.shipping .field.note {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    color: #6b7d85 !important;
    margin-bottom: 12px !important;
}
.cart-summary .block.shipping .field .label span {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #223843 !important;
}
.cart-summary .block.shipping input.input-text {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    padding: 8px 10px !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #223843 !important;
}
.cart-summary .block.shipping input.input-text:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Shipping methods */
.cart-summary .item-title span {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #6b7d85 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.cart-summary .item-options .field.choice {
    padding: 8px 0 !important;
    border-bottom: 1px solid #ece8e5 !important;
}
.cart-summary .item-options .field.choice:last-child {
    border-bottom: none !important;
}
.cart-summary .item-options .field.choice label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.cart-summary .item-options .price {
    font-weight: 600 !important;
    color: #223843 !important;
    font-size: 13px !important;
}

/* Totals table */
.cart-totals {
    border-top: 1px solid #e4dfdc !important;
    padding-top: 18px !important;
    margin-top: 18px !important;
}
.cart-totals .table.totals {
    border: none !important;
}
.cart-totals .table.totals th,
.cart-totals .table.totals td {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    border: none !important;
    padding: 7px 0 !important;
}
.cart-totals .table.totals .mark {
    font-weight: 400 !important;
    background: transparent !important;
}
.cart-totals .table.totals .amount {
    text-align: right !important;
    font-weight: 600 !important;
    background: transparent !important;
}
/* Discount row: "Popust (KuponKod)" */
.cart-totals .mark > .title + .discount.coupon,
.cart-totals .discount.coupon {
    display: inline !important;
    font-size: 12px !important;
    color: #6b7d85 !important;
}
.cart-totals .mark > .title:has(+ .discount.coupon) {
    font-size: 0 !important;
}
.cart-totals .mark > .title:has(+ .discount.coupon):after {
    content: 'Popust ' !important;
    font-size: 13px !important;
    color: var(--lemare-accent) !important;
}
/* Hide shipping method detail "(Flat Rate - Fixed)" */
.cart-totals .totals.shipping .value {
    display: none !important;
}

/* Grand total */
.cart-totals .grand.totals th,
.cart-totals .grand.totals td {
    font-size: 18px !important;
    font-weight: 700 !important;
    padding-top: 14px !important;
    border-top: 2px solid var(--lemare-accent) !important;
    color: #223843 !important;
}

/* Checkout button */
.cart-summary .checkout-methods-items {
    padding: 0 !important;
    margin-top: 24px !important;
}
.cart-summary .checkout-methods-items .action.primary.checkout {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 18px !important;
    background: var(--lemare-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100%;
    transition: background 0.3s ease;
    box-shadow: none !important;
}
.cart-summary .checkout-methods-items .action.primary.checkout:hover {
    background: var(--lemare-accent-dark) !important;
}
/* Multishipping link */
/* Multishipping addresses page */
.multicheckout .field .control input,
.multicheckout .field .control select {
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    background: #fff !important;
    box-shadow: none !important;
    height: auto !important;
}
.multicheckout .field .control input:focus,
.multicheckout .field .control select:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
}
.multicheckout .action.delete {
    font-size: 18px !important;
    color: #6b7d85 !important;
    text-decoration: none !important;
    line-height: 1;
}
.multicheckout .action.delete:hover {
    color: #223843 !important;
}
.multicheckout .action.update,
.multicheckout .action.add,
.multicheckout .action.back {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #223843 !important;
    text-decoration: none !important;
    border: none !important;
    background: none !important;
    padding: 8px 0 !important;
    margin-right: 20px !important;
    display: inline-block !important;
}
.multicheckout .action.update:hover,
.multicheckout .action.add:hover,
.multicheckout .action.back:hover {
    color: var(--lemare-accent) !important;
}
.multicheckout .title strong {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #223843 !important;
}

.cart-summary .checkout-methods-items .action.multicheckout {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    color: #6b7d85 !important;
    text-decoration: none !important;
    margin-top: 10px !important;
    display: inline-block !important;
}
.cart-summary .checkout-methods-items .action.multicheckout:hover {
    color: var(--lemare-accent) !important;
}

/* Tint native form controls */
.cart-summary input {
    accent-color: var(--lemare-accent) !important;
}

/* Minicart item: relative for absolute X positioning */
.minicart-items .product-item > .product {
    position: relative !important;
    padding-left: 6px !important;
    padding-top: 4px !important;
}
/* Minicart qty picker: below price, right-aligned */
.minicart-items .details-qty.qty {
    text-align: right !important;
}
/* Minicart actions: position X in top-right corner */
.minicart-items .product.actions {
    position: absolute !important;
    top: -8px;
    left: -8px;
    margin: 0 !important;
    padding: 0 !important;
}
.minicart-items .product.actions .primary {
    display: none !important;
}
/* Minicart delete: X in circle */
.minicart-items .action.delete {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff !important;
    border: 1px solid #e4dfdc !important;
    color: #6b7d85 !important;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
    padding: 0;
}
.minicart-items .action.delete:before {
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900;
    content: '\f00d' !important;
    font-size: 11px !important;
    width: auto !important;
    overflow: visible !important;
    margin: 0 !important;
}
.minicart-items .action.delete:hover {
    color: #ff5656 !important;
    border-color: #ff5656 !important;
}
.minicart-items .action.delete span {
    display: none !important;
}

/* Navigation submenu: remove Luma left border, allow bleed */
.navigation .level0 .submenu {
    overflow: visible !important;
}
.navigation .level0 .submenu a {
    border-left: none !important;
}

/* Navigation submenu: smooth transitions */
.navigation .level0 .submenu a {
    transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
}

/* Navigation submenu: active & hover – accent background, white text, left bleed via box-shadow */
.navigation .level0 .submenu a:hover,
.navigation .level0 .submenu a.ui-state-focus,
.navigation .level0 .submenu .active > a {
    background: var(--lemare-accent, var(--lemare-accent)) !important;
    color: #fff !important;
    box-shadow: -6px 0 0 0 var(--lemare-accent, var(--lemare-accent));
}

/* Custom select dropdown (replaces native <select> via JS) */
.lemare-select-wrap {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 8px !important;
}
.lemare-select-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #fff !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 10px 12px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 13px;
    color: #223843;
    cursor: pointer;
    text-align: left;
}
.lemare-select-toggle:hover {
    border-color: var(--lemare-accent) !important;
}
.lemare-select-arrow {
    font-size: 10px;
    color: #6b7d85;
    transition: transform 0.2s ease;
}
.lemare-select-wrap.open .lemare-select-arrow {
    transform: rotate(180deg);
}
.lemare-select-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border: 1px solid #e4dfdc;
    border-top: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 200px;
    overflow-y: auto;
}
.lemare-select-wrap.open .lemare-select-list {
    display: block;
}
.lemare-select-item {
    padding: 6px 12px;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 13px;
    color: #223843;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.lemare-select-item:hover {
    color: #fff;
    background: var(--lemare-accent, var(--lemare-accent));
    box-shadow: -6px 0 0 0 var(--lemare-accent, var(--lemare-accent));
}
.lemare-select-item.active {
    color: #fff;
    background: var(--lemare-accent, var(--lemare-accent));
    box-shadow: -6px 0 0 0 var(--lemare-accent, var(--lemare-accent));
    font-weight: 600;
}
/* Compare products block – prevent overlap */
.block.block-compare .block-title {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

/* Checkout custom select dropdowns – underline style to match inputs */
#checkout .lemare-select-wrap {
    margin: 0 !important;
}
#checkout .lemare-select-toggle {
    background: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    padding: 10px 2px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 14px;
    color: #223843;
}
#checkout .lemare-select-toggle:hover,
#checkout .lemare-select-wrap.open .lemare-select-toggle {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
}
#checkout .lemare-select-list {
    z-index: 200;
    max-height: 250px;
    border: 1px solid #e4dfdc;
    border-top: none;
}

/* Radio button: coral accent, remove black border */
.cart-summary input[type="radio"].radio {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #e4dfdc !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    margin: 0 6px 0 0 !important;
}
.cart-summary input[type="radio"].radio:checked {
    border-color: var(--lemare-accent) !important;
}
.cart-summary input[type="radio"].radio:checked:after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--lemare-accent);
}
/* Custom select dropdown for cart summary – override all Luma globals */
.cart-summary select,
.cart-summary .field select,
.cart-summary .control select {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    padding: 10px 30px 10px 12px !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7d85'/%3E%3C/svg%3E") no-repeat right 12px center / 10px 6px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    color: #223843 !important;
    cursor: pointer;
    height: auto !important;
    width: 100% !important;
    box-shadow: none !important;
    background-clip: padding-box !important;
}
.cart-summary select:focus,
.cart-summary .field select:focus,
.cart-summary .control select:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* =============================================
   PRODUCT DETAIL TABS
   ============================================= */
.product.info.detailed {
    margin-top: 40px !important;
}

/* Tab titles – keep Luma float/height, restyle appearance only */
.product.data.items > .item.title > .switch {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #6b7d85 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
}
.product.data.items > .item.title > .switch:hover {
    color: #223843 !important;
}
.product.data.items > .item.title > .switch:focus {
    outline: none !important;
    box-shadow: none !important;
}
.product.data.items > .item.title.active > .switch {
    color: #223843 !important;
    border-bottom-color: var(--lemare-accent) !important;
}

/* Tab content */
.product.data.items > .item.content {
    border: none !important;
    padding: 24px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
/* Border under tabs row */
.product.data.items {
    border-bottom: 1px solid #e4dfdc !important;
}

/* Description content typography */
.product.attribute.description .value {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #223843 !important;
}
.product.attribute.description .value h3 {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    margin: 24px 0 10px !important;
}
.product.attribute.description .value h3:first-child {
    margin-top: 0 !important;
}
.product.attribute.description .value ul {
    padding-left: 20px !important;
    margin: 8px 0 16px !important;
}
.product.attribute.description .value li {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #223843 !important;
    margin-bottom: 4px !important;
}
.product.attribute.description .value strong {
    color: #223843 !important;
    font-weight: 600 !important;
}

/* Review form */
.review-form .review-legend span {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #6b7d85 !important;
}
.review-form .review-legend strong {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #223843 !important;
}
.review-form .review-fieldset .label span {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #223843 !important;
}
.review-form .review-fieldset .input-text,
.review-form .review-fieldset textarea {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    color: #223843 !important;
    background: #fff !important;
}
.review-form .review-fieldset .input-text:focus,
.review-form .review-fieldset textarea:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
    box-shadow: none !important;
}
.review-form .action.submit.primary {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    padding: 12px 28px !important;
    background: var(--lemare-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: background 0.3s ease;
}
.review-form .action.submit.primary:hover {
    background: var(--lemare-accent-dark) !important;
}
.block.review-add .block-title strong {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #223843 !important;
}

/* =============================================
   SIDEBAR FILTER
   ============================================= */
.sidebar .block.filter {
    background: transparent !important;
    border: none !important;
}

/* Hide "Kupuj po" title on desktop */
@media (min-width: 768px) {
    .block.filter .block-title.filter-title {
        display: none !important;
    }
}

/* Filter block titles — hide on desktop (redundant) */
.block.filter .filter-title,
.block.filter .block-content .filter-subtitle,
.sidebar .block.filter .filter-subtitle,
.filter-subtitle {
    display: none !important;
    display: block !important;
}

/* Filter option groups (Cijena, etc.) */
.filter-options-item {
    border: none !important;
    border-bottom: 1px solid #ece8e5 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.filter-options-item:last-child {
    border-bottom: none !important;
}

/* Filter group title */
.filter-options-title {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #223843 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 12px 0 !important;
    cursor: pointer !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.filter-options-title:after {
    content: '+' !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    color: #6b7d85 !important;
    float: none !important;
    position: static !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.filter-options-item.active .filter-options-title:after {
    content: '\2212' !important;
}

/* Filter items list */
.filter-options-content {
    padding: 0 0 12px 12px !important;
}
.filter-options-content .items {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.filter-options-content .item {
    margin: 0 !important;
    padding: 4px 0 !important;
}
.filter-options-content .item a {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 13px !important;
    color: #223843 !important;
    text-decoration: none !important;
    display: inline !important;
    padding: 4px 0 !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
    border-bottom: 1px solid transparent !important;
}
.filter-options-content .item a:hover {
    color: var(--lemare-accent) !important;
    border-bottom-color: var(--lemare-accent) !important;
    background: transparent !important;
}

/* Count badge */
.filter-options-content .item .count {
    font-size: 11px !important;
    color: #a8a09b !important;
    margin-left: 6px !important;
    flex-shrink: 0 !important;
}
.filter-options-content .item .count:before {
    content: '(' !important;
}
.filter-options-content .item .count:after {
    content: ')' !important;
}
.filter-options-content .item .count .filter-count-label {
    display: none !important;
}

/* ── Desktop/Mobile filter toggle ── */
.lemare-filter-mobile {
    display: none;
}
@media (max-width: 767px) {
    .lemare-filter-desktop {
        display: none !important;
    }
    .lemare-filter-mobile {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
        margin-top: 16px;
        margin-bottom: 16px;
    }
    .lemare-filter-group {
        position: relative;
        flex: 0 0 auto;
    }
    .lemare-filter-group-title {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 11px;
        font-weight: 600;
        color: #223843;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        padding: 10px 18px;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        border: 1px solid #ece8e5;
        background: #fff;
        transition: border-color 0.2s, background 0.2s;
    }
    .lemare-filter-group-title::after {
        content: '▾';
        font-size: 10px;
        color: #6b7d85;
    }
    .lemare-filter-group.open .lemare-filter-group-title {
        border-color: var(--lemare-accent);
        background: #faf8f7;
    }
    .lemare-filter-group.open .lemare-filter-group-title::after {
        content: '▴';
    }
    .lemare-filter-group-content {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 50;
        min-width: 200px;
        background: #fff;
        border: 1px solid #ece8e5;
        box-shadow: 0 4px 16px rgba(0,0,0,0.08);
        padding: 10px 16px;
        margin-top: 4px;
    }
    .lemare-filter-group.open .lemare-filter-group-content {
        display: block;
    }
    .lemare-filter-group-content .items {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .lemare-filter-group-content .item {
        padding: 3px 0;
    }
    .lemare-filter-group-content .item a {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 13px;
        color: #223843;
        text-decoration: none;
    }
    .lemare-filter-group-content .item a:hover {
        color: var(--lemare-accent);
    }
    .lemare-filter-group-content .item .count {
        font-size: 11px;
        color: #a8a09b;
        margin-left: 4px;
    }
    .lemare-filter-group-content .item .count:before { content: '('; }
    .lemare-filter-group-content .item .count:after { content: ')'; }
    .lemare-filter-group-content .item .count .filter-count-label { display: none; }

    /* Filter buttons row */
    .lemare-filter-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    /* Active filter tags */
    .lemare-active-filters {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
    }
    .lemare-active-tag {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 12px;
        color: #223843;
        background: #faf8f7;
        border: 1px solid #ece8e5;
        padding: 6px 12px;
    }
    .lemare-active-remove {
        color: #6b7d85;
        text-decoration: none;
        font-size: 16px;
        line-height: 1;
        font-weight: 300;
    }
    .lemare-active-remove:hover {
        color: #223843;
    }
    .lemare-clear-all {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 11px;
        color: #6b7d85;
        text-decoration: underline;
        align-self: center;
    }
    .lemare-clear-all:hover {
        color: var(--lemare-accent);
    }
}

/* ── Mobile: category header & toolbar styling ── */
@media (max-width: 767px) {
    /* Breadcrumbs – subtle, compact */
    .breadcrumbs {
        padding: 10px 16px 0 !important;
        margin-bottom: 0 !important;
    }
    .breadcrumbs .items .item {
        font-size: 10px !important;
        color: #a8a09b !important;
    }
    .breadcrumbs .items .item a {
        color: #a8a09b !important;
    }

    /* Fallback when no image: title gets accent gradient bg */
    .catalog-category-view .column.main > .page-title-wrapper {
        background: linear-gradient(135deg, rgba(var(--lemare-accent-rgb), 0.12) 0%, rgba(var(--lemare-accent-rgb), 0.04) 100%) !important;
        border-bottom: 1px solid rgba(var(--lemare-accent-rgb), 0.15) !important;
        padding: 32px 24px 28px !important;
        text-align: center !important;
    }
    /* When title is inside banner, no border/bg needed */
    .category-image .page-title-wrapper {
        border: none !important;
    }

    /* Top toolbar: strip all chrome, just show sorter inline */
    .toolbar-products:not(.toolbar-bottom) {
        display: flex !important;
        border: none !important;
        background: none !important;
        padding: 0 !important;
        margin: 12px 0 12px 16px !important;
        justify-content: flex-start !important;
        align-items: center !important;
        position: relative !important;
        z-index: 20 !important;
    }
    /* Style sorter toggle to match filter buttons */
    .toolbar-products:not(.toolbar-bottom) .lemare-sorter-toggle {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #223843 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 8px 14px !important;
        border: 1px solid #ece8e5 !important;
        background: #fff !important;
        border-radius: 4px !important;
    }
    .toolbar-products:not(.toolbar-bottom) .lemare-sorter-dropdown.open .lemare-sorter-toggle {
        border-color: var(--lemare-accent, var(--lemare-accent)) !important;
        background: #faf8f7 !important;
    }
    .toolbar-products:not(.toolbar-bottom) .sorter-label {
        display: none !important;
    }
    .toolbar-products:not(.toolbar-bottom) .toolbar-sorter {
        flex-direction: row-reverse !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    .toolbar-products .modes {
        display: none !important;
    }
    .toolbar-products .toolbar-amount {
        font-size: 11px !important;
        color: #a8a09b !important;
        width: auto !important;
        order: 0 !important;
        display: none !important;
    }
    /* Bottom toolbar: full-width, break out of parent padding */
    .toolbar-products.toolbar-bottom {
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        border: none !important;
        background: var(--lemare-light-gray, #f6f4f3) !important;
        padding: 20px 16px !important;
        margin-top: 24px !important;
        margin-bottom: 24px !important;
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
        gap: 10px !important;
    }
    /* Amount pill: accent bg, heading font, italic */
    .toolbar-products.toolbar-bottom .toolbar-amount {
        display: inline-block !important;
        width: auto !important;
        text-align: center !important;
        padding: 4px 14px !important;
        margin: 0 auto !important;
        font-size: 11px !important;
        font-style: italic !important;
        font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
        color: var(--lemare-dark, #223843) !important;
        letter-spacing: 0.3px !important;
        background: var(--lemare-accent, var(--lemare-accent)) !important;
        border-radius: 14px !important;
    }
    /* Hide limiter on mobile – not needed */
    .toolbar-products.toolbar-bottom .limiter {
        display: none !important;
    }
    /* Compact pagination on mobile */
    .toolbar-products.toolbar-bottom .pages {
        width: 100% !important;
        margin: 0 !important;
    }
    .toolbar-products.toolbar-bottom .pages .items {
        display: flex !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 2px !important;
    }
    .toolbar-products.toolbar-bottom .pages .items .item {
        margin: 0 !important;
    }
    .toolbar-products.toolbar-bottom .pages .items .item a,
    .toolbar-products.toolbar-bottom .pages .items .item strong {
        min-width: 32px !important;
        height: 32px !important;
        line-height: 32px !important;
        padding: 0 6px !important;
        font-size: 13px !important;
    }
    .toolbar-products.toolbar-bottom .toolbar-sorter {
        width: auto !important;
        justify-content: flex-end !important;
    }

    /* Reduce top padding on columns */
    .columns {
        padding-top: 0 !important;
    }

    /* Force sorter left */
    .toolbar-products:not(.toolbar-bottom),
    .toolbar-products:not(.toolbar-bottom) .toolbar-sorter,
    .toolbar-products:not(.toolbar-bottom) .sorter {
        float: none !important;
        text-align: left !important;
        display: flex !important;
        justify-content: flex-start !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        width: auto !important;
    }
}

/* Compare button – match theme style */
.action.compare.primary {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 10px 20px !important;
    transition: background 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}
.action.compare.primary span {
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.action.compare.primary:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
    color: #fff !important;
}

/* ── Compare page mobile — card view ── */
/* Desktop: hide mobile cards */
.lemare-compare-mobile { display: none; }

@media (max-width: 767px) {
    /* Hide table, show cards */
    .table-wrapper.comparison { display: none !important; }
    .action.print { display: none !important; }
    .lemare-compare-mobile { display: block !important; }

    .lemare-compare-card {
        position: relative;
        border: 1px solid #e4dfdc;
        background: #fff;
        margin-bottom: 16px;
        padding: 16px;
    }
    .lemare-compare-card-remove {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.9);
        border: 1px solid #e4dfdc;
        border-radius: 50%;
        color: #a8a09b;
        font-size: 13px;
        text-decoration: none;
        z-index: 2;
        transition: color 0.2s, border-color 0.2s;
    }
    .lemare-compare-card-remove:hover { color: var(--lemare-accent); border-color: var(--lemare-accent); }
    .lemare-compare-card-photo { display: block; text-align: center; margin-bottom: 12px; }
    .lemare-compare-card-photo img { max-width: 160px; height: auto; margin: 0 auto; }
    .lemare-compare-card-name {
        font-family: var(--font-heading, 'Cormorant Garamond'), serif;
        font-size: 16px;
        font-weight: 400;
        font-style: italic;
        margin: 0 0 8px;
    }
    .lemare-compare-card-name a { color: #223843; text-decoration: none; }
    .lemare-compare-card-name a:hover { color: var(--lemare-accent); }
    .lemare-compare-card-details .price-box { margin-bottom: 12px; }
    .lemare-compare-card-attr {
        padding: 8px 0;
        border-top: 1px solid #f0edea;
    }
    .lemare-compare-card-attr-label {
        display: block;
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.8px;
        color: #a8a09b;
        margin-bottom: 4px;
    }
    .lemare-compare-card-attr-value {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif;
        font-size: 13px;
        line-height: 1.6;
        color: #555;
    }
    .lemare-compare-card .action.tocart {
        width: 100%;
        margin-top: 12px;
        background: var(--lemare-accent) !important;
        border: 1px solid var(--lemare-accent) !important;
        border-radius: 0 !important;
        color: #fff !important;
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
        padding: 12px !important;
        text-align: center !important;
    }
    .lemare-compare-card .action.tocart:hover {
        background: var(--lemare-accent-dark) !important;
    }
}
/* Compare page general */
.table-comparison .cell.label { font-family: var(--font-body, 'Nunito Sans'), sans-serif; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #6b7d85; }
.table-comparison .cell.product.info .product-item-name a { font-family: var(--font-heading, 'Cormorant Garamond'), serif; font-style: italic; color: #223843; font-size: 16px; }
.table-comparison .cell.product.attribute { font-family: var(--font-body, 'Nunito Sans'), sans-serif; font-size: 14px; line-height: 1.7; color: #555; }

/* ── Wishlist page – category card style ── */
/* Share wishlist page */
.wishlist-index-share .form.wishlist.share { max-width: 600px !important; }
.wishlist-index-share .form.wishlist.share .legend {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #223843 !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}
.wishlist-index-share .form.wishlist.share textarea {
    border: 1px solid #e4dfdc !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 12px !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    resize: vertical !important;
    box-shadow: none !important;
    min-height: 100px !important;
    width: 100% !important;
    transition: border-color 0.3s !important;
}
.wishlist-index-share .form.wishlist.share textarea:focus {
    border-color: var(--lemare-accent) !important;
    outline: none !important;
}
.wishlist-index-share .form.wishlist.share .label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #6b7d85 !important;
}
.wishlist-index-share .form.wishlist.share .field { margin-bottom: 20px !important; }
.wishlist-index-index .action.share,
.wishlist-index-share .action.submit.primary,
.wishlist-index-share .action.share {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 24px !important;
}
.wishlist-index-index .action.share:hover,
.wishlist-index-share .action.submit.primary:hover,
.wishlist-index-share .action.share:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
    color: #fff !important;
}
.wishlist-index-share .action.back { display: none !important; }

/* Wishlist bottom toolbar */
.wishlist-index-index .lemare-wishlist-bottom-toolbar .limiter { display: none !important; }
/* Hide back link */
.wishlist-index-index .actions-toolbar .secondary { display: none !important; }

/* Account page headings — heading font */
.account .page-title,
.account .block-title,
.account .legend,
.customer-account-login .page-title,
.customer-account-create .page-title,
.customer-account-forgotpassword .page-title {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #223843 !important;
}
/* X remove button — top left of card */
.lemare-wishlist-remove {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 30 !important;
    width: 28px !important;
    height: 28px !important;
    background: #fff !important;
    border: 1px solid #e4dfdc !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    color: #a8a09b !important;
    font-size: 13px !important;
    transition: border-color 0.2s, color 0.2s !important;
}
.lemare-wishlist-remove:hover { border-color: var(--lemare-accent) !important; color: var(--lemare-accent) !important; }
/* Wishlist hover overlay — match category layout */
.wishlist-index-index .product-item-hover-overlay { overflow: visible !important; padding: 14px !important; background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.wishlist-index-index .product-item-hover-overlay .product-item-actions { display: flex !important; align-items: center !important; gap: 10px !important; }
.wishlist-index-index .product-item-hover-overlay .actions-primary { flex: 1 !important; }
.wishlist-index-index .product-item-hover-overlay .actions-primary form { margin: 0 !important; }
.wishlist-index-index .product-item-hover-overlay .actions-secondary { flex-shrink: 0 !important; display: flex !important; gap: 6px !important; }
.wishlist-index-index .product-item-hover-overlay .actions-secondary .action { min-width: 36px !important; width: 36px !important; height: 36px !important; flex-shrink: 0 !important; overflow: visible !important; }
.wishlist-index-index .product-item-hover-overlay .actions-secondary .action:before { overflow: visible !important; width: auto !important; }

/* Wishlist note icon on hover */
.wishlist-index-index .action.tonote:before {
    content: '\f249' !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}
/* Equal height cards */
.wishlist-index-index .products-grid.wishlist .product-items { align-items: stretch !important; }
.wishlist-index-index .product-item { display: flex !important; }
.wishlist-index-index .product-item-info { display: flex !important; flex-direction: column !important; width: 100% !important; }
.wishlist-index-index .product-item-details { padding: 8px 12px 10px !important; flex: 1 !important; display: flex !important; flex-direction: column !important; }
/* Note text visible below price — compact, max 2 lines */
.lemare-wishlist-note-text {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 4px 0 0;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 11px;
    font-style: italic;
    color: #888;
    line-height: 1.3;
    margin-top: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.lemare-wishlist-note-text i {
    color: var(--lemare-accent);
    font-size: 10px;
    margin-top: 2px;
    flex-shrink: 0;
}
/* Note popup modal */
.lemare-note-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 999;
}
.lemare-note-modal-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 28px 24px;
    width: 360px;
    max-width: 90vw;
    z-index: 1000;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
}
.lemare-note-modal-content h3 {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif;
    font-size: 1.4rem;
    font-weight: 400;
    font-style: italic;
    color: #223843;
    margin: 0 0 16px;
}
.lemare-note-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #a8a09b;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.2s;
}
.lemare-note-modal-close:hover { color: var(--lemare-accent); }
#lemare-note-textarea {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #a8a09b;
    border-radius: 0;
    background: transparent;
    padding: 10px 0;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 14px;
    color: #223843;
    resize: vertical;
    min-height: 80px;
    outline: none;
    transition: border-color 0.3s;
}
#lemare-note-textarea:focus { border-bottom-color: var(--lemare-accent); }
#lemare-note-save {
    margin-top: 16px;
    width: 100%;
}
/* Wishlist product images — match category grid */
.wishlist-index-index .product-image-photo,
.wishlist-index-index .product-item-photo img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    position: static !important;
}
.wishlist-index-index .product-item-photo {
    display: block !important;
    overflow: hidden !important;
    height: auto !important;
    padding: 0 !important;
}
.wishlist-index-index .product-img-main {
    position: relative !important;
    overflow: visible !important;
}
/* Newsletter form button */
.lm-newsletter-form button[type="submit"] {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
    transition: background 0.3s, color 0.3s !important;
}
.lm-newsletter-form button[type="submit"]:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
    color: #fff !important;
}

/* Primary/accent buttons — dark text default, white on hover */
.action.primary, .action.primary span,
.action.tocart, .action.tocart span { color: #223843 !important; }
.action.primary:hover, .action.primary:hover span,
.action.tocart:hover, .action.tocart:hover span { color: #fff !important; }
/* Top action buttons — separated, themed */
.wishlist-index-index .actions-toolbar {
    border-bottom: 1px solid #e4dfdc !important;
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
}
/* Top toolbar amount centered */
.lemare-wishlist-top-toolbar {
    justify-content: center !important;
}
.lemare-wishlist-top-toolbar .toolbar-amount {
    text-align: center !important;
}
.wishlist-index-index .actions-toolbar .primary {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}
.wishlist-index-index .actions-toolbar .primary .action {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #223843 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 24px !important;
}
.wishlist-index-index .actions-toolbar .primary .action:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
    color: #fff !important;
}
.wishlist-index-index .actions-toolbar .primary .action.update {
    background: transparent !important;
    color: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
}
.wishlist-index-index .actions-toolbar .primary .action.update:hover {
    background: var(--lemare-accent) !important;
    color: #fff !important;
}
@media (max-width: 767px) {
    .lemare-wishlist-remove { width: 24px !important; height: 24px !important; top: 6px !important; left: 6px !important; font-size: 11px !important; }
}

/* Wishlist on mobile: match category card look (single column, centered,
   white overlay with top border, slightly narrower than viewport) */
@media (max-width: 640px) {
    .wishlist-index-index .products-grid.wishlist .product-items {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .wishlist-index-index .product-item {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .wishlist-index-index .product-item-info {
        width: 92% !important;
    }
    /* Luma's .products-grid.wishlist .product-image-container caps at 80px —
       blow that away so the image fills the card like on category */
    .wishlist-index-index .products-grid.wishlist .product-image-container,
    .wishlist-index-index .product-image-container {
        max-width: none !important;
        width: 100% !important;
    }
    .wishlist-index-index .product-image-wrapper {
        padding-bottom: 0 !important;
        height: auto !important;
    }
    .wishlist-index-index .product-image-photo {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
    }
    /* Centered text like category */
    .wishlist-index-index .product-item-details {
        text-align: center !important;
        padding: 14px 10px 8px !important;
    }
    .wishlist-index-index .product-item-name,
    .wishlist-index-index .product-item-name .product-item-link {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: center !important;
        display: block !important;
    }
    /* Price box: kill the stray left margin/padding, center it */
    .wishlist-index-index .product-item .price-box,
    .wishlist-index-index .product-item .price-box.price-final_price,
    .wishlist-index-index .product-item .price-box .price-container,
    .wishlist-index-index .product-item .price-box .price {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: center !important;
    }
    .wishlist-index-index .product-item .price-box {
        display: block !important;
        width: 100% !important;
    }
    /* Kill Luma's row-divider borders between wishlist cards */
    .wishlist-index-index .products-grid.wishlist .product-item,
    .wishlist-index-index .products-grid.wishlist .product-item:first-child,
    .wishlist-index-index .products-grid.wishlist .product-item:last-child {
        border-top: none !important;
        border-bottom: none !important;
    }
    /* Overlay: solid white, no top border (user doesn't want the separator) */
    .wishlist-index-index .product-item-hover-overlay {
        background: var(--lemare-white, #fff) !important;
        border-top: none !important;
        padding: 10px !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    /* Hover accent line nudged down so actions don't sit on it */
    .wishlist-index-index .product-item .product-item-details::before {
        top: 10px !important;
    }
    /* Note text centered too, with icon inline */
    .wishlist-index-index .lemare-wishlist-note-text {
        justify-content: center !important;
    }
}

/* Hide category banner on desktop, title stays via .page-title-wrapper outside .category-image */
@media (min-width: 768px) {
    .category-image { display: none !important; }
}

/* ── Category banner with title overlay (all screens) ── */
.category-view {
    position: relative !important;
}
.category-image {
    position: relative !important;
    overflow: hidden !important;
    height: 280px !important;
}
.category-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    display: block !important;
}
.category-image::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(12,10,8,0.30) !important;
}
/* Title overlay inside banner (JS moves .page-title-wrapper into .category-image) */
.category-image .page-title-wrapper {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
    text-align: center !important;
    padding: 0 24px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}
.category-image .page-title-wrapper .page-title {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #F6F1E9 !important;
    text-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
}
.category-image .page-title-wrapper .page-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: rgba(246,241,233,0.5) !important;
    margin: 14px auto 0;
}
/* Default title styling when no banner */
.catalog-category-view .page-title-wrapper .page-title {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0.5px !important;
}
.catalog-category-view .page-title-wrapper .page-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--lemare-accent);
    margin: 14px auto 0;
}

@media (max-width: 767px) {
    .category-image {
        margin: 0 -15px !important;
        height: 160px !important;
    }
    .category-image .page-title-wrapper .page-title {
        font-size: 24px !important;
    }
}

/* Compare products block */
.block.block-compare .block-title {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
}
.block.block-compare .block-title .counter {
    display: inline !important;
    white-space: nowrap !important;
}
.block.block-compare .block-title .counter:before {
    content: '(' !important;
}
.block.block-compare .block-title .counter:after {
    content: ')' !important;
}

/* All action buttons: no border-radius (override Luma defaults) */
.action.primary,
button.action.primary,
a.action.primary,
.action.create.primary {
    border-radius: 0 !important;
}

/* Cart – hide country/region/zip form, shipping is HR-only */
#block-shipping #shipping-zip-form {
    display: none !important;
}

/* =============================================
   CART PAGE – mobile: summary below products
   ============================================= */
@media (max-width: 767px) {
    .cart-container {
        display: flex !important;
        flex-direction: column !important;
    }
    .cart-container > form {
        order: 1 !important;
    }
    .cart-container > .cart-discount {
        order: 2 !important;
    }
    .cart-container > .cart-summary {
        order: 3 !important;
        margin-top: 24px !important;
        float: none !important;
        width: 100% !important;
    }
    .cart-summary {
        padding: 20px 16px !important;
    }
    .cart-summary .summary.title {
        font-size: 18px !important;
    }
    .cart-summary .checkout-methods-items .action.primary.checkout {
        padding: 14px !important;
        font-size: 12px !important;
    }
}

/* Checkout: freeze country select (single country) */
.checkout-index-index select[name$="country_id"],
.checkout-cart-index select[name$="country_id"] {
    pointer-events: none !important;
    opacity: 0.6 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}

/* ── Desktop search: icon-only by default, expands on click ── */
@media (min-width: 769px) {
    .page-header .block.block-search {
        width: 34px !important;
        max-width: 34px !important;
        overflow: visible !important;
        transition: width 0.35s ease, max-width 0.35s ease;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        height: 34px !important;
        margin: 0 14px 0 0 !important;
    }
    .page-header .block.block-search.lemare-search-open {
        width: 260px !important;
        max-width: 260px !important;
    }

    .block-search .form.minisearch {
        position: relative;
        display: flex !important;
        align-items: center !important;
        flex-direction: row !important;
    }

    .block-search .form.minisearch .field.search .control {
        overflow: hidden;
    }

    .block-search .form.minisearch .field.search input#search {
        width: 0 !important;
        opacity: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-bottom-color: transparent !important;
        transition: width 0.35s ease, opacity 0.25s ease;
    }
    .block-search.lemare-search-open .form.minisearch .field.search input#search {
        width: 220px !important;
        opacity: 1 !important;
        padding-left: 8px !important;
        padding-right: 12px !important;
        border-bottom-color: var(--lemare-accent) !important;
    }

    /* Keep search icon always visible and clickable */
    .block-search .form.minisearch .actions {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        width: 34px !important;
        height: 34px !important;
        float: none !important;
        flex-shrink: 0 !important;
    }
    .block-search .form.minisearch .actions .action.search {
        pointer-events: auto !important;
        cursor: pointer !important;
        z-index: 5 !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
    }
    .block-search .form.minisearch .actions .action.search::before {
        content: '' !important;
        display: block !important;
        width: 22px !important;
        height: 22px !important;
        font-size: 0 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23223843' stroke-width='1.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        line-height: 1 !important;
    }
    .block-search .form.minisearch .actions .action.search:hover::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8B08D' stroke-width='1.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E");
    }
}

/* ── Mobile search bar – narrower width ── */
@media (max-width: 768px) {
    .page-header .block.block-search {
        width: 75% !important;
        margin: 0 auto !important;
    }
}

/* ── Global: default cursor on all text, pointer only on links/buttons ── */
body {
    cursor: default !important;
}
a, button, input[type="submit"], input[type="button"],
.action, [role="button"], label[for], select,
.lemare-account-wrapper, .lemare-account-icon, .lemare-account-link {
    cursor: pointer !important;
}
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="search"], input[type="number"],
textarea {
    cursor: text !important;
}

/* ── FreeShippingBar ── */
.mpfsb .content-shippingbar a {
    cursor: pointer !important;
}
@media (max-width: 768px) {
    .mpfsb .content-shippingbar {
        padding: 7px 14px !important;
    }
}
/* Free shipping info — elegant separation from newsletter promo */
.mpfsb .content-shippingbar {
    padding: 10px 20px !important;
    line-height: 1.4 !important;
}
.mpfsb .control-bar,
.mpfsb .process-bar-message-goal,
.mpfsb .message-area,
.mpfsb .message-goal {
    display: block !important;
    width: 100% !important;
}
.mpfsb .shippingbar-text-2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    min-height: 36px !important;
    line-height: 1.3 !important;
}
.mpfsb .shippingbar-text-2 > * {
    align-self: center !important;
}
.mpfsb .lm-fsb-shipping {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    gap: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.2px !important;
    line-height: 1.3 !important;
}
.mpfsb .lm-fsb-shipping i {
    font-size: 13px !important;
    opacity: 0.85 !important;
}
.mpfsb .lm-fsb-divider {
    display: inline-block !important;
    width: 1px !important;
    height: 28px !important;
    background: rgba(255,255,255,0.4) !important;
    margin: 0 40px !important;
    align-self: center !important;
}
.mpfsb .lm-fsb-newsletter {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    line-height: 1.3 !important;
}
.mpfsb .lm-fsb-small {
    font-size: 10px !important;
    opacity: 0.6 !important;
    margin-top: 3px !important;
    letter-spacing: 0.3px !important;
}
/* Progress bar moved into FSB by fsb-progress-mover.js (after newsletter, after divider) */
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb {
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    z-index: auto !important;
    border: none !important;
}
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb .lemare-progress__inner {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb .lemare-progress__message {
    font-size: 12px !important;
    color: var(--lp-text, inherit) !important;
    margin: 0 !important;
}
/* Prevent horizontal scroll on real mobile devices — something (lm-brands skewY,
   wide image, fsb, etc.) overflows viewport and shifts content left */
@media (max-width: 767px) {
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
    .page-wrapper {
        overflow-x: hidden !important;
    }
}

/* Mobile category/homepage product grid polish (covers up to 767px) */
@media (max-width: 767px) {
    /* Force-hide sidebar on CATEGORY pages only — account/customer pages still need their menu */
    .catalog-category-view .sidebar.sidebar-main,
    .catalog-category-view .sidebar.sidebar-additional,
    .catalogsearch-result-index .sidebar.sidebar-main {
        display: none !important;
        width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* .columns is flex/grid by default; force block so column.main takes 100% with no order tricks */
    .catalog-category-view .columns,
    .catalogsearch-result-index .columns {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .catalog-category-view .column.main,
    .catalogsearch-result-index .column.main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        order: 0 !important;
    }
    /* Single source of equal L/R padding */
    .catalog-category-view .page-main {
        padding-left: 14px !important;
        padding-right: 14px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    /* Homepage widget sections */
    .cms-index-index .widget-section-wrapper {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-top: 24px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    /* CRITICAL: reset native OL padding-inline-start (40px default) on product-items list */
    ol.product-items,
    .products-grid .product-items,
    .block.widget .products-grid .product-items,
    .widget-product-grid {
        list-style: none !important;
        padding-left: 0 !important;
        padding-inline-start: 0 !important;
        margin-left: 0 !important;
    }
    /* Account collapsible nav: always show content on mobile (was hidden by accordion logic).
       Plus put sidebar ABOVE column.main via flex order */
    .account .columns,
    [class*="customer-"] .columns,
    .sales-order-view .columns,
    .sales-order-history .columns,
    .wishlist-index-index .columns,
    .review-customer-index .columns {
        display: flex !important;
        flex-direction: column !important;
    }
    .account .sidebar.sidebar-main,
    [class*="customer-"] .sidebar.sidebar-main,
    .sales-order-view .sidebar.sidebar-main,
    .sales-order-history .sidebar.sidebar-main,
    .wishlist-index-index .sidebar.sidebar-main,
    .review-customer-index .sidebar.sidebar-main {
        order: -1 !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        display: block !important;
    }
    .account .block-collapsible-nav,
    [class*="customer-"] .block-collapsible-nav,
    .sales-order-view .block-collapsible-nav,
    .sales-order-history .block-collapsible-nav,
    .wishlist-index-index .block-collapsible-nav,
    .review-customer-index .block-collapsible-nav {
        display: block !important;
        position: relative !important;
        z-index: 1 !important;
    }
    /* Title becomes the clickable toggle on mobile */
    .account .block-collapsible-nav .title,
    [class*="customer-"] .block-collapsible-nav .title,
    .sales-order-view .block-collapsible-nav .title,
    .sales-order-history .block-collapsible-nav .title,
    .wishlist-index-index .block-collapsible-nav .title,
    .review-customer-index .block-collapsible-nav .title {
        display: block !important;
        padding: 14px 18px !important;
        background: var(--lemare-accent, #e2c7c5) !important;
        color: #223843 !important;
        cursor: pointer !important;
        position: relative !important;
        font-weight: 600 !important;
    }
    .account .block-collapsible-nav .title::after,
    [class*="customer-"] .block-collapsible-nav .title::after,
    .sales-order-view .block-collapsible-nav .title::after,
    .sales-order-history .block-collapsible-nav .title::after,
    .wishlist-index-index .block-collapsible-nav .title::after,
    .review-customer-index .block-collapsible-nav .title::after {
        content: '\f078' !important;
        font-family: 'Font Awesome 7 Free' !important;
        font-weight: 900 !important;
        font-size: 12px !important;
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        transition: transform 0.2s ease !important;
    }
    .account .block-collapsible-nav .title[aria-expanded="true"]::after,
    [class*="customer-"] .block-collapsible-nav .title[aria-expanded="true"]::after,
    .sales-order-view .block-collapsible-nav .title[aria-expanded="true"]::after,
    .sales-order-history .block-collapsible-nav .title[aria-expanded="true"]::after,
    .wishlist-index-index .block-collapsible-nav .title[aria-expanded="true"]::after,
    .review-customer-index .block-collapsible-nav .title[aria-expanded="true"]::after {
        transform: translateY(-50%) rotate(180deg) !important;
    }
    /* Don't force content open — let Magento collapsible JS handle aria-hidden toggling */
}
@media (max-width: 640px) {
    /* Common grid item resets */
    .products-grid .product-items {
        margin: 0 !important;
        padding: 0 !important;
        justify-items: stretch !important;
    }
    .products-grid .product-item {
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
    /* Center the card via flex on the grid cell — margin auto isn't reliable
       because an earlier rule sets margin:0 !important on product-item-info */
    .products-grid .product-item,
    .block.widget .products-grid .product-item {
        display: flex !important;
        justify-content: center !important;
    }
    .products-grid .product-item-info,
    .block.widget .products-grid .product-item-info {
        width: 92% !important;
    }
    /* Mobile only: push the hover accent line (details:before) a few px
       below the actions so the actions don't sit right on it */
    .products-grid .product-item .product-item-details::before,
    .block.widget .products-grid .product-item .product-item-details::before {
        top: 10px !important;
    }
    /* Beef up the Add-to-cart button on ALL product grids (category + homepage widgets) */
    .product-item-hover-overlay .actions-primary .tocart,
    .product-item .action.tocart {
        font-size: 12px !important;
        font-weight: 700 !important;
        padding: 12px 16px !important;
        letter-spacing: 1px !important;
        border-width: 0 !important;
        line-height: 1.2 !important;
    }
    /* Secondary action icons (wishlist/compare) — bigger, thicker stroke */
    .product-item-hover-overlay .actions-secondary .action,
    .product-item .actions-secondary .action {
        width: 38px !important;
        height: 38px !important;
        font-size: 16px !important;
    }
    .product-item-hover-overlay .actions-secondary .action::before,
    .product-item .actions-secondary .action::before {
        font-weight: 900 !important;
        font-size: 15px !important;
    }
    /* Wishlist heart stays outline (regular FA weight) like desktop */
    .product-item-hover-overlay .actions-secondary .action.towishlist::before,
    .product-item .actions-secondary .action.towishlist::before {
        font-weight: 400 !important;
    }
}

/* Hide the standalone top progress bar (its rendered location) until the FSB mover
   injects it inside the bar — prevents a visible flash at page top */
body.lemare-fsb-target > .lemare-progress[data-position="top"]:not(.lemare-progress--in-fsb),
body.lemare-fsb-target .lemare-progress[data-position="top"]:not(.lemare-progress--in-fsb) {
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Minicart dropdown — full viewport width on mobile only */
@media (max-width: 767px) {
    .minicart-wrapper .ui-dialog,
    .minicart-wrapper .block-minicart,
    .block-minicart {
        position: fixed !important;
        top: var(--minicart-top, 80px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        transform: none !important;
        border-left: none !important;
        border-right: none !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        z-index: 1000 !important;
    }
    .block-minicart:before,
    .block-minicart:after {
        display: none !important;
    }
    /* While minicart is open, lower hamburger + search z-index so they don't overlap it */
    body.active-nav .nav-toggle,
    body:has(.block-minicart[style*="display: block"]) .nav-toggle,
    body:has(.block-minicart[style*="display: block"]) .page-header .block.block-search,
    body:has(.block-minicart[style*="display: block"]) .page-header .lemare-header-icons {
        z-index: 1 !important;
    }
}
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb .lemare-progress__note {
    display: none !important;
}
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb .lemare-progress__bar {
    width: 100px !important;
    margin: 0 !important;
}
.mpfsb .shippingbar-text-2 .lemare-progress--in-fsb .lemare-progress__circle svg {
    width: 32px !important;
    height: 32px !important;
}
@media (max-width: 768px) {
    .mpfsb .shippingbar-text-2 .lemare-progress--in-fsb {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        justify-content: center !important;
    }
}
/* Mobile: stack vertically, equal padding top/bottom, subtle horizontal divider */
@media (max-width: 768px) {
    .mpfsb .content-shippingbar {
        padding: 10px 14px !important;
    }
    .mpfsb .shippingbar-text-2 {
        flex-direction: column !important;
        gap: 0 !important;
        min-height: 0 !important;
    }
    .mpfsb .lm-fsb-shipping {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .mpfsb .lm-fsb-divider {
        width: 100% !important;
        height: 1px !important;
        margin: 8px 0 !important;
    }
    .mpfsb .lm-fsb-newsletter {
        width: 100% !important;
    }
}

/* ── Homepage slider – mobile refinements ── */
@media (max-width: 768px) {
    .lm-hero {
        aspect-ratio: 9 / 12 !important;
    }
    .lm-slide img {
        object-position: center top !important;
    }
}

/* ── LeMare Progress Bar (dostava/poklon) ── */
.lemare-progress {
    visibility: hidden;
    opacity: 0;
    height: 0;
    overflow: hidden;
    background: var(--lp-bg, #223843);
    padding: 0 20px;
    text-align: center;
    transition: opacity 0.3s ease;
}
.lemare-progress--linkable,
.lemare-progress--linkable * { cursor: pointer !important; }
.lemare-progress--loaded {
    visibility: visible;
    opacity: 1;
    height: auto;
    overflow: visible;
    padding: 12px 20px;
}
/* Position: top fixed */
.lemare-progress[data-position="top"] {
    position: relative;
    z-index: 99;
}
/* On checkout drop the stacking context so the summary modal can overlay the bar */
.checkout-index-index .lemare-progress[data-position="top"] {
    position: static !important;
    z-index: auto !important;
}
/* Order view – address & method boxes */
.sales-order-view .block-order-details-view > .block-content {
    display: flex !important;
    flex-wrap: wrap;
    gap: 20px;
}
.sales-order-view .block-order-details-view:before,
.sales-order-view .block-order-details-view:after,
.sales-order-view .block-order-details-view > .block-content:before,
.sales-order-view .block-order-details-view > .block-content:after {
    display: none !important;
    content: none !important;
}
.sales-order-view .block-order-details-view .block-content .box {
    float: none !important;
    width: calc(50% - 10px) !important;
    clear: none !important;
    padding: 16px 20px;
    background: #faf8f6;
    box-sizing: border-box;
}
.sales-order-view .block-order-details-view .box-title {
    display: block;
    margin-bottom: 8px;
}
.sales-order-view .block-order-details-view .box-title span {
    font-family: var(--font-heading, 'Playfair Display'), Georgia, serif;
    font-size: 14px;
    font-weight: 600;
    color: #223843;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.sales-order-view .block-order-details-view .box-content address,
.sales-order-view .block-order-details-view .box-content {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #555;
}
.sales-order-view .block-order-details-view .box-content a {
    color: var(--lemare-accent-dark);
}
@media (max-width: 767px) {
    .sales-order-view .block-order-details-view > .block-content {
        grid-template-columns: 1fr;
    }
}

/* Compare sidebar buttons */
.block-compare .action.compare.primary {
    background: var(--lemare-accent) !important;
    border: none !important;
    color: #223843 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 20px !important;
}
.block-compare .action.compare.primary:hover {
    background: var(--lemare-accent-dark) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.block-compare .action.clear {
    color: #6b7d85 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
}
.block-compare .action.clear:hover {
    color: #223843 !important;
}
.block-compare .actions-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Gift banner in minicart */
.block-minicart .lemare-minicart-gift {
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding: 10px 20px !important;
}

/* Position: minicart */
.lemare-progress[data-position="minicart"] {
    padding: 10px 16px;
    margin: 0 -16px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.lemare-progress__inner {
    max-width: 600px;
    margin: 0 auto;
}
.lemare-progress__message {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--lp-text, #fff);
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

/* ── Bar type ── */
.lemare-progress__bar-track {
    width: 100%;
    height: 6px;
    background: var(--lp-track, rgba(255, 255, 255, 0.2));
    border-radius: 3px;
    overflow: hidden;
}
.lemare-progress__bar-fill {
    height: 100%;
    width: 0%;
    background: var(--lp-color-empty, var(--lemare-accent));
    border-radius: 3px;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Circle type ── */
.lemare-progress__circle {
    display: flex;
    justify-content: center;
    position: relative;
    opacity: 0;
}
.lemare-progress--loaded .lemare-progress__circle {
    opacity: 1;
}
.lemare-progress--circle .lemare-progress__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.lemare-progress--circle .lemare-progress__message {
    margin-bottom: 0;
    text-align: left;
}
.lemare-progress__circle svg {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
}
.lemare-progress__circle-track {
    fill: none;
    stroke: var(--lp-track, rgba(255, 255, 255, 0.15));
    stroke-width: 8;
}
.lemare-progress__circle-fill {
    fill: none;
    stroke: var(--lp-color-empty, var(--lemare-accent));
    stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 326.73;
    stroke-dashoffset: 326.73;
    transform: rotate(-90deg);
    transform-origin: center;
    transition: stroke-dashoffset 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.lemare-progress__circle-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    color: var(--lp-color-empty, var(--lemare-accent));
    transition: transform 0.3s;
}
.lemare-progress--complete .lemare-progress__circle-icon {
    color: var(--lp-color-complete, var(--lp-color-empty, var(--lemare-accent))) !important;
    transform: translate(-50%, -50%);
}

/* ── Celebration ── */
.lemare-progress--complete .lemare-progress__bar-fill {
    background: var(--lp-color-complete, var(--lp-color-empty, var(--lemare-accent))) !important;
}
.lemare-progress--complete .lemare-progress__circle-fill {
    stroke: var(--lp-color-complete, var(--lp-color-empty, var(--lemare-accent))) !important;
}
@keyframes lp-pulse {
    0%, 100% { transform: scaleX(1); }
    50% { transform: scaleX(1.03); }
}
.lemare-progress--complete .lemare-progress__bar-track {
    animation: lp-pulse 0.6s ease-in-out 2;
}
@keyframes lp-circle-pulse {
    0%, 100% { transform: rotate(-90deg) scale(1); }
    50% { transform: rotate(-90deg) scale(1.1); }
}
.lemare-progress--complete .lemare-progress__circle-fill {
    animation: lp-circle-pulse 0.6s ease-in-out 2;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .lemare-progress {
        padding: 10px 16px;
    }
    .lemare-progress__message {
        font-size: 12px;
    }
    .lemare-progress__circle svg {
        width: 44px;
        height: 44px;
    }
}

/* Account dropdown hover – match category submenu style */
.lemare-account-dropdown a:hover {
    background: var(--lemare-accent) !important;
    color: #fff !important;
}

/* Hide floating compare link from header */
.page-header .item.link.compare,
.page-header [data-role="compare-products-link"] { display: none !important; }

/* ── Header icons reorder: search → wishlist → account → cart ── */
.lemare-header-icons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}
@media (min-width: 768px) {
    .page-header .block.block-search { order: 1 !important; margin-right: 12px; }
    .page-header .lemare-header-icons { order: 2 !important; }
    .page-header .minicart-wrapper { order: 3 !important; margin-right: 0; margin-left: 12px; }
}
.lemare-account-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}
.lemare-wishlist-link {
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s;
}
.lemare-wishlist-icon { transition: opacity 0.2s; }
.lemare-wishlist-hover,
.lemare-wishlist-full { display: none; }
.lemare-wishlist-default { display: inline-block; }

/* Hover: show hover icon */
.lemare-wishlist-link:hover .lemare-wishlist-default { display: none; }
.lemare-wishlist-link:hover .lemare-wishlist-hover { display: inline-block; }
.lemare-wishlist-link:hover .lemare-wishlist-full { display: none; }

/* Has items: show full icon */
.lemare-wishlist-link.has-items .lemare-wishlist-default { display: none; }
.lemare-wishlist-link.has-items .lemare-wishlist-full { display: inline-block; }
.lemare-wishlist-link.has-items .lemare-wishlist-hover { display: none; }

/* Has items + hover: show hover icon */
.lemare-wishlist-link.has-items:hover .lemare-wishlist-full { display: none; }
.lemare-wishlist-link.has-items:hover .lemare-wishlist-hover { display: inline-block; }
@media (max-width: 767px) {
    .lemare-wishlist-link { display: none; }
}
/* Mobile nav wishlist icon — SVG with empty/full toggle, like desktop header */
.lemare-nav-wishlist {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}
.lemare-nav-wishlist-icon {
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
}
.lemare-nav-wishlist .lemare-nav-wishlist-full { display: none; }
.lemare-nav-wishlist.has-items .lemare-nav-wishlist-default { display: none; }
.lemare-nav-wishlist.has-items .lemare-nav-wishlist-full { display: inline-block; }
.lemare-nav-wishlist-title.active { background: var(--lemare-accent) !important; }

/* Mobile-only: center account + wishlist icons vertically inside their cells.
   Title cell is 71px tall — drop the padding-top, use flex centering instead.
   Wrapped in @media to avoid making these titles visible on desktop. */
@media (max-width: 767px) {
    .nav-sections .lemare-nav-account-title,
    .nav-sections .lemare-nav-wishlist-title {
        padding-top: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .nav-sections .lemare-nav-account-title .nav-sections-item-switch,
    .nav-sections .lemare-nav-wishlist-title .nav-sections-item-switch {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 16px !important;
        line-height: 0 !important;
    }
    .lemare-nav-account-icon {
        width: 22px;
        height: 22px;
        display: inline-block;
        vertical-align: middle;
    }
}

/* ── Customer Account page inputs (match checkout style) ── */
.account .field .control input[type="text"],
.account .field .control input[type="email"],
.account .field .control input[type="tel"],
.account .field .control input[type="password"],
.account .field .control textarea,
.account .field .control select,
.form-address-edit .field .control input[type="text"],
.form-address-edit .field .control select,
.customer-account-login .field .control input,
.customer-account-create .field .control input,
.customer-account-forgotpassword .field .control input,
.customer-account-createpassword .field .control input {
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 10px 0 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    transition: border-color 0.3s ease !important;
    height: auto !important;
    box-shadow: none !important;
}
.account .field .control input:focus,
.account .field .control select:focus,
.account .field .control textarea:focus,
.form-address-edit .field .control input:focus,
.form-address-edit .field .control select:focus,
.customer-account-login .field .control input:focus,
.customer-account-create .field .control input:focus,
.customer-account-forgotpassword .field .control input:focus,
.customer-account-createpassword .field .control input:focus {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
    outline: none !important;
}
.account .field .label,
.form-address-edit .field .label,
.customer-account-login .field .label,
.customer-account-create .field .label,
.customer-account-forgotpassword .field .label,
.customer-account-createpassword .field .label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #6b7d85 !important;
    font-weight: 600 !important;
}
.account .field,
.form-address-edit .field,
.customer-account-login .field,
.customer-account-create .field {
    margin-bottom: 18px !important;
}
.account .field .control input:-webkit-autofill,
.customer-account-login .field .control input:-webkit-autofill,
.customer-account-create .field .control input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #223843 !important;
    transition: background-color 5000s ease-in-out 0s !important;
}
/* Review form inputs */
.review-form .field .control input[type="text"],
.review-form .field .control input[type="email"],
.review-form .field .control textarea {
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 10px 0 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    transition: border-color 0.3s ease !important;
    height: auto !important;
    box-shadow: none !important;
}
.review-form .field .control input:focus,
.review-form .field .control textarea:focus {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
    outline: none !important;
}
.review-form .field .label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #6b7d85 !important;
    font-weight: 600 !important;
}
.review-form .field {
    margin-bottom: 18px !important;
}

/* Account & address form buttons */
.account .actions-toolbar .action.save,
.account .actions-toolbar .action.primary,
.form-address-edit .actions-toolbar .action.save,
.form-address-edit .actions-toolbar .action.primary {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 14px 28px !important;
}
.account .actions-toolbar .action.save:hover,
.account .actions-toolbar .action.primary:hover,
.form-address-edit .actions-toolbar .action.save:hover,
.form-address-edit .actions-toolbar .action.primary:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
}
/* Account & address select dropdowns */
.account .field .control select,
.form-address-edit .field .control select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a8a09b' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right center !important;
    padding: 10px 24px 10px 0 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    cursor: pointer !important;
    height: auto !important;
}
.account .field .control select:focus,
.form-address-edit .field .control select:focus {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
    outline: none !important;
}

/* Account checkboxes (show password etc.) */
.account input[type="checkbox"],
.customer-account-login input[type="checkbox"],
.customer-account-create input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 1.5px solid #a8a09b !important;
    border-radius: 2px !important;
    background: transparent !important;
    cursor: pointer !important;
    position: relative !important;
    vertical-align: middle !important;
}
.account input[type="checkbox"]:checked,
.customer-account-login input[type="checkbox"]:checked,
.customer-account-create input[type="checkbox"]:checked {
    border-color: var(--lemare-accent) !important;
    background: var(--lemare-accent) !important;
}
.account input[type="checkbox"]:checked:after,
.customer-account-login input[type="checkbox"]:checked:after,
.customer-account-create input[type="checkbox"]:checked:after {
    content: '\f00c' !important;
    font-family: 'Font Awesome 7 Free' !important;
    font-weight: 900 !important;
    font-size: 10px !important;
    color: #fff !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* =============================================
   MOBILE – Product Tabs (Accordion), Description & Reviews
   ============================================= */
@media (max-width: 767px) {
    /* Accordion container */
    .product.info.detailed {
        margin-top: 24px !important;
        padding: 0 16px !important;
    }

    /* Accordion title */
    .product.data.items > .item.title {
        margin: 0 !important;
        border-bottom: 1px solid #e4dfdc !important;
    }
    .product.data.items > .item.title {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 0 !important;
        cursor: pointer !important;
    }
    .product.data.items > .item.title > .switch {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        color: #6b7d85 !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
    }
    /* Remove any default icons from switch */
    .product.data.items > .item.title > .switch:before,
    .product.data.items > .item.title > .switch:after {
        display: none !important;
    }
    .product.data.items > .item.title:after {
        content: '+' !important;
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 20px !important;
        font-weight: 300 !important;
        color: #6b7d85 !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
    }
    .product.data.items > .item.title.active > .switch {
        color: #223843 !important;
    }
    .product.data.items > .item.title.active:after {
        content: '−' !important;
    }

    /* Accordion content */
    .product.data.items > .item.content {
        border: none !important;
        padding: 16px 0 20px !important;
        background: transparent !important;
        box-shadow: none !important;
        margin: 0 !important;
    }

    /* Description typography */
    .product.attribute.description .value {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 13px !important;
        line-height: 1.7 !important;
        color: #223843 !important;
    }
    .product.attribute.description .value h3 {
        font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #223843 !important;
        margin: 20px 0 8px !important;
    }
    .product.attribute.description .value h3:first-child {
        margin-top: 0 !important;
    }
    .product.attribute.description .value ul,
    .product.attribute.description .value ol {
        padding-left: 18px !important;
        margin: 6px 0 14px !important;
    }
    .product.attribute.description .value li {
        font-size: 13px !important;
        line-height: 1.7 !important;
        color: #223843 !important;
        margin-bottom: 3px !important;
    }
    .product.attribute.description .value strong {
        color: #223843 !important;
        font-weight: 600 !important;
    }
    .product.attribute.description .value em {
        font-size: 12px !important;
        color: #6b7d85 !important;
        line-height: 1.6 !important;
    }

    /* Reviews list */
    .review-list .review-item {
        border-bottom: 1px solid #e4dfdc !important;
        padding: 16px 0 !important;
        margin: 0 !important;
    }
    .review-list .review-title {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #223843 !important;
        margin-bottom: 4px !important;
    }
    .review-list .review-content {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        color: #223843 !important;
    }
    .review-list .review-details {
        font-size: 11px !important;
        color: #6b7d85 !important;
        margin-top: 6px !important;
    }
    .review-list .review-author,
    .review-list .review-date {
        font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
        font-size: 11px !important;
        color: #6b7d85 !important;
    }

    /* Review form */
    .block.review-add .block-title strong {
        font-family: var(--font-heading, 'Playfair Display'), Georgia, serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #223843 !important;
    }

    /* Rating stars */
    .review-control-vote label::before {
        color: var(--lemare-accent) !important;
    }
    .rating-summary .rating-result > span::before {
        color: var(--lemare-accent) !important;
    }
}

/* =============================================
   CONTACT PAGE
   ============================================= */
.contact-index-index .form.contact .field .control input[type="text"],
.contact-index-index .form.contact .field .control input[type="email"],
.contact-index-index .form.contact .field .control input[type="tel"],
.contact-index-index .form.contact .field .control textarea {
    border: none !important;
    border-bottom: 1.5px solid #a8a09b !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 10px 0 !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #223843 !important;
    transition: border-color 0.3s ease !important;
    height: auto !important;
    box-shadow: none !important;
}
.contact-index-index .form.contact .field .control input:focus,
.contact-index-index .form.contact .field .control textarea:focus {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
    outline: none !important;
}
.contact-index-index .form.contact .field .label {
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #6b7d85 !important;
    font-weight: 600 !important;
}
.contact-index-index .form.contact .field {
    margin-bottom: 18px !important;
}
.contact-index-index .form.contact .action.submit {
    background: var(--lemare-accent) !important;
    border: 1px solid var(--lemare-accent) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 14px 28px !important;
}
.contact-index-index .form.contact .action.submit:hover {
    background: var(--lemare-accent-dark) !important;
    border-color: var(--lemare-accent-dark) !important;
}

/* =============================================
   PHONE PREFIX (+385)
   ============================================= */
.lemare-phone-parent {
    flex-wrap: wrap !important;
    align-items: stretch !important;
}
/* Prefix span stretches to input height; inner flex keeps text centered.
   Same vertical padding + border-bottom as input so the underline is continuous. */
.lemare-phone-prefix {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--font-body, 'Nunito Sans'), sans-serif !important;
    font-size: 14px !important;
    color: #6b7d85 !important;
    white-space: nowrap !important;
    user-select: none !important;
    pointer-events: none !important;
    padding: 0 4px 0 2px !important;
    flex-shrink: 0 !important;
    border-bottom: 1.5px solid #a8a09b !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}
.lemare-phone-parent:focus-within .lemare-phone-prefix {
    border-bottom-color: var(--lemare-accent) !important;
    border-bottom-width: 2px !important;
}
.lemare-phone-prefix + input {
    flex: 1 !important;
    min-width: 0 !important;
}
/* Tooltip drops to its own row below the bordered input */
.lemare-phone-parent > .field-tooltip {
    flex-basis: 100% !important;
    width: 100% !important;
    order: 99 !important;
}

/* =============================================
   CHECKOUT MOBILE FIXES
   ============================================= */

/* Estimated total bar (top of checkout on mobile) — make visible and clickable */
@media (max-width: 767px) {
    .checkout-index-index .opc-estimated-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: relative !important;
        z-index: 5 !important;
        padding: 14px 16px !important;
        background: #faf9f8 !important;
        border-bottom: 1px solid #ece8e5 !important;
        margin-bottom: 16px !important;
        cursor: pointer !important;
    }
    .checkout-index-index .opc-estimated-wrapper .estimated-block {
        flex: 1 1 auto !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
    .checkout-index-index .opc-estimated-wrapper .estimated-label {
        display: block !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: #6b7d85 !important;
        margin-bottom: 2px !important;
    }
    .checkout-index-index .opc-estimated-wrapper .estimated-price {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #223843 !important;
    }
    .checkout-index-index .opc-estimated-wrapper .minicart-wrapper {
        flex: 0 0 auto !important;
    }
    .checkout-index-index .opc-estimated-wrapper .action.showcart {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        z-index: 6 !important;
    }
    .checkout-index-index .opc-estimated-wrapper .action.showcart::before {
        content: '' !important;
        display: inline-block !important;
        width: 22px !important;
        height: 22px !important;
        background: url('../images/kosarica.svg') no-repeat center / contain !important;
        font-size: 0 !important;
    }
    .checkout-index-index .opc-estimated-wrapper .action.showcart:hover::before {
        background-image: url('../images/kosarica-hover.svg') !important;
    }
    .checkout-index-index .opc-estimated-wrapper .action.showcart .counter.qty {
        position: absolute !important;
        top: -2px !important;
        right: -2px !important;
        display: block !important;
        min-width: 18px !important;
        width: auto !important;
        height: 18px !important;
        line-height: 18px !important;
        padding: 0 5px !important;
        border-radius: 9px !important;
        background: var(--lemare-accent) !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        flex: none !important;
        margin: 0 !important;
    }
    .checkout-index-index .opc-estimated-wrapper .action.showcart .counter-number {
        display: inline !important;
        line-height: 18px !important;
    }
    /* Ensure modal opens above the fixed gift bar (which sits at z-index n/a in inline style) */
    .modals-wrapper {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 9999 !important;
        pointer-events: none !important;
    }
    .modals-wrapper > * {
        pointer-events: auto !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper {
        z-index: 9999 !important;
    }
    .modals-overlay,
    .modals-overlay.modal-custom-overlay {
        z-index: 9998 !important;
    }
    /* Hide header + free shipping bar while summary modal is open (max specificity) */
    html body._has-modal-custom .page-header,
    html body._has-modal-custom .mpfsb,
    html body._has-modal-custom .wrapper-mp-freeshippingbar,
    html body._has-modal-custom [id^="wrapper-mp-freeshippingbar"],
    html body._has-modal .page-header,
    html body._has-modal .mpfsb,
    html body._has-modal .wrapper-mp-freeshippingbar,
    html body._has-modal [id^="wrapper-mp-freeshippingbar"] {
        display: none !important;
        visibility: hidden !important;
    }
    /* Fallback when body class isn't set: detect open modal via :has() */
    html:has(.modal-popup.opc-sidebar._show) .page-header,
    html:has(.modal-popup.opc-sidebar._show) .mpfsb,
    html:has(.modal-popup.opc-sidebar._show) .wrapper-mp-freeshippingbar,
    html:has(.modal-popup.opc-sidebar._show) [id^="wrapper-mp-freeshippingbar"] {
        display: none !important;
        visibility: hidden !important;
    }
    /* Lock body scroll while modal is open so fixed gift bar can't re-emerge */
    html body._has-modal-custom,
    html body._has-modal {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }
    html:has(.modal-popup.opc-sidebar._show) body {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        margin: 0 !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
    }
    /* Modal panel */
    .modal-popup.opc-sidebar.opc-summary-wrapper .modal-inner-wrap {
        background: #faf9f8 !important;
        box-shadow: none !important;
        margin: 0 !important;
        min-height: 100vh !important;
        position: relative !important;
        padding-top: 52px !important;
    }
    /* Hide duplicate close buttons — only first one visible */
    .modal-popup.opc-sidebar.opc-summary-wrapper .action-close ~ .action-close {
        display: none !important;
    }
    /* Single close X — pinned to top-right corner, circle with hover */
    .modal-popup.opc-sidebar.opc-summary-wrapper .action-close {
        position: fixed !important;
        top: 10px !important;
        right: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 36px !important;
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fff !important;
        border: 1px solid #ece8e5 !important;
        border-radius: 50% !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
        cursor: pointer !important;
        z-index: 12 !important;
        transition: background 0.2s ease !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper .action-close:hover {
        background: #faf9f8 !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper .action-close::before {
        content: '\f00d' !important;
        font-family: 'Font Awesome 7 Free' !important;
        font-weight: 900 !important;
        font-size: 16px !important;
        color: #223843 !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper .action-close > span {
        display: none !important;
    }
    .modal-popup.opc-sidebar.opc-summary-wrapper .modal-content {
        padding: 0 16px 24px !important;
    }
}

/* Shipping methods – stack vertically on mobile (fixed flex columns don't fit) */
@media (max-width: 640px) {
    .checkout-index-index .table-checkout-shipping-method tr {
        flex-wrap: wrap !important;
        padding: 12px 14px !important;
        position: relative !important;
    }
    /* Radio – top-left corner */
    .checkout-index-index .table-checkout-shipping-method tr td:nth-child(1) {
        flex: 0 0 30px !important;
        align-self: center !important;
    }
    /* Method title – next to radio, fills first row */
    .checkout-index-index .table-checkout-shipping-method tr td:nth-child(3) {
        flex: 1 1 calc(100% - 130px) !important;
        font-weight: 600 !important;
        color: #223843 !important;
        padding: 0 8px 0 4px !important;
        order: 1 !important;
    }
    /* Price – top-right corner */
    .checkout-index-index .table-checkout-shipping-method tr td:nth-child(2),
    .checkout-index-index .table-checkout-shipping-method tr td.col-price {
        flex: 0 0 auto !important;
        text-align: right !important;
        font-weight: 700 !important;
        padding: 0 0 0 8px !important;
        order: 2 !important;
    }
    /* Carrier title – second row, aligned under method title */
    .checkout-index-index .table-checkout-shipping-method tr td:nth-child(4),
    .checkout-index-index .table-checkout-shipping-method tr td.col-carrier {
        flex: 0 0 100% !important;
        text-align: left !important;
        font-size: 12px !important;
        color: #6b7d85 !important;
        padding: 4px 0 0 34px !important;
        order: 3 !important;
    }
}

