/*
 * LCWH Thanksgiving 2026 - vegasmokes-style layout in LCWH's ORIGINAL colours (black + copper) for Codazon/unlimited_hand_tools. Look only: no promo, no layout changes.
 * Served from pub/media/lcwh/thanksgiving-vegas-2026.css and linked from design/head/includes by
 * thanksgiving-vegas-theme.sh (no theme files, no compile, no static deploy). Remove:  bash ~/thanksgiving-vegas-theme.sh remove
 * Built by scripts/make-thanksgiving-vegas-css.py - edit that, not this file.
 * Palette (LCWH original): black #000 / #141414 / #1E1E1E | white body | menu copper #CA7B3B | button copper #A85F27 (white text 4.6:1).
 */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
@media screen {
:root { --vs-dark:#000000; --vs-brown:#141414; --vs-brown2:#1E1E1E; --vs-copper:#A85F27; --vs-copper2:#8A4C1E;
        --vs-gold:#CA7B3B; --vs-gold2:#E8A469; --vs-cream:#FFFFFF; --vs-sand:#F5EBE1; --vs-line:#EADFD5; }

/* ---------- base ---------- */
body, .page-wrapper { background: var(--vs-cream) !important; color: var(--vs-brown); font-family: Inter, Heebo, sans-serif !important; }
h1, h2, .page-title, .b-title, .cdz-block-title .b-title, .block-title strong {
    font-family: 'Playfair Display', Georgia, serif !important; color: var(--vs-brown) !important; font-weight: 700 !important; }
a { color: var(--vs-copper); } a:hover { color: var(--vs-copper2); }

/* ---------- top bar: original black, copper hairline ---------- */
.page-header #header-top, .page-header .header-top {
    background: #000 !important; border: 0 !important; border-bottom: 1px solid rgba(202,123,59,0.45) !important; }
.page-header .header-top, .page-header .header-top a, .page-header .header-top * {
    color: #fff !important; font-family: Inter, sans-serif !important; font-weight: 600 !important; }
/* one slim line: the theme stacks the scrolling offer text and the phone (.store-contact) in one column;
 * put the phone on the left and let the offer scroll in the rest of the line */
.page-header .header-top { padding-top: 4px !important; padding-bottom: 4px !important; }
.page-header .header-top-left { display: flex !important; align-items: center; gap: 16px; }
.page-header .header-top-left > div:first-child { order: 2; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.page-header .header-top-left > .store-contact { order: 1; flex: none; margin: 0 !important; white-space: nowrap; }
.page-header .header-top-left > .store-contact a { font-size: 12px !important; }
/* logo row: theme pads it 20px top and bottom */
.page-header .header-middle > .panel.header, .page-header .header-middle .panel.header { padding-top: 12px !important; padding-bottom: 12px !important; }

/* ---------- header: full-width black logo row with falling maple leaves (no garland, no side inset) ---------- */
.page-header { background: transparent !important; }
.page-header .header-middle {
    background-color: #0B0B0B !important;
    background-image:
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(-20 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23DA9C42'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(25 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23C8642A'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(60 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23E8B04B'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(-45 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23AC4614'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(10 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23DA9C42'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(-70 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23C8642A'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(35 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23E8B04B'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(80 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23AC4614'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(-30 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23C8642A'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g transform='rotate(50 50 50)'><path d='M50 2L58 22L70 16L66 38L84 30L78 44L96 48L80 58L86 68L64 66L66 86L54 74L52 98L48 98L46 74L34 86L36 66L14 68L20 58L4 48L22 44L16 30L34 38L30 16L42 22Z' fill='%23DA9C42'/><path d='M50 30V98' stroke='rgba(60,20,10,0.35)' stroke-width='2'/></g></svg>"),
        radial-gradient(ellipse at 80% 0%, rgba(202,123,59,0.20), transparent 60%) !important;
    background-position: right 3% top 8px, right 7.5% top 38px, right 12% top 4px, right 16% top 44px, right 20.5% top 14px, right 25% top 52px, right 29% top 22px, right 34% top 6px, left 26% top 10px, left 30% top 48px, 0 0 !important;
    background-size: 34px 34px, 26px 26px, 30px 30px, 22px 22px, 26px 26px, 18px 18px, 22px 22px, 16px 16px, 18px 18px, 14px 14px, 100% 100% !important;
    background-repeat: no-repeat !important;
    margin: 0 !important; border-radius: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }
.page-header .header-middle a, .page-header .header-middle .navUser-action, .page-header .header-middle .text,
.page-header .header-middle .label { color: #fff !important; }
.page-header .header-middle a:hover { color: var(--vs-gold) !important; }
.page-header .header-middle svg, .page-header .header-middle .fa { fill: #fff; color: #fff !important; }

/* pill search like vegasmokes: the whole .block-search is the pill ("All Categories" trigger + field + button).
 * No overflow:hidden on it - the category list (.category-chooser, absolute) opens below it. */
.page-header .block-search {
    background: #fff !important; border: 1px solid var(--vs-gold) !important; border-radius: 999px !important;
    box-shadow: 0 3px 10px rgba(202,123,59,0.35) !important; }
.page-header .header-search .input-text, .page-header .search-form input[type=text] {
    background: transparent !important; color: var(--vs-brown) !important; border: 0 !important;
    border-left: 1px solid #eee !important; border-radius: 0 !important; height: 42px !important; padding-left: 16px !important;
    box-shadow: none !important; }
.page-header .header-search .action.search, .page-header .search-form .action.search {
    background: var(--vs-gold) !important; color: #fff !important; border: 0 !important;
    border-radius: 0 999px 999px 0 !important; height: 42px !important; }
/* the trigger is an <a>, so the white header-link colour would hide "All Categories" */
.page-header .header-search a, .page-header .header-search .cdz-dropdown-trigger, .page-header .header-search select {
    color: var(--vs-brown) !important; }

/* ---------- menu row (pushmycart idea): light warm bar under the black logo row ----------
 * dark Figtree labels, copper chevrons on items with a dropdown (li.parent), copper underline on hover, HOT badge on Cigars. */
.page-header .header-bottom {
    background: #FBF5EF !important; border: 0 !important; border-bottom: 1px solid var(--vs-line) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; padding-top: 0 !important; }
.page-header .header-bottom .cdz-menu, .page-header .header-bottom .groupmenu {
    background: transparent !important; border: 0 !important; box-shadow: none !important; }
.page-header .header-bottom .groupmenu { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: stretch; }
.page-header .header-bottom .groupmenu > li { position: relative; }
.page-header .header-bottom .groupmenu > li > a, .page-header .header-bottom .groupmenu > li > .menu-link {
    color: #2B1B10 !important; background: transparent !important; font: 500 15px/1 Figtree, Inter, sans-serif !important;
    letter-spacing: 0 !important; text-transform: none !important; padding: 13px 10px !important; text-shadow: none !important;
    position: relative; transition: color .2s; }
.page-header .header-bottom .groupmenu > li > a::after {
    content: ""; position: absolute; left: 10px; right: 10px; bottom: 5px; height: 2px; background: var(--vs-gold); border-radius: 2px;
    transform: scaleX(0); transition: transform .25s ease; }
.page-header .header-bottom .groupmenu > li:hover > a { color: var(--vs-copper) !important; }
.page-header .header-bottom .groupmenu > li:hover > a::after, .page-header .header-bottom .groupmenu > li.active > a::after { transform: scaleX(1); }
.page-header .header-bottom .groupmenu > li.parent > a > span::after {
    content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 6px; border-right: 1.6px solid var(--vs-gold);
    border-bottom: 1.6px solid var(--vs-gold); transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
.page-header .header-bottom .groupmenu > li.parent:hover > a > span::after { transform: translateY(0) rotate(225deg); }
/* HOT badge (pushmycart puts one on "Seasonal Gifts"); here on Cigars - change the href to move it */
.page-header .header-bottom .groupmenu > li > a[href$="/cigars"]::before {
    content: "HOT"; position: absolute; top: -6px; right: 2px; padding: 2px 5px; border-radius: 4px;
    background: var(--vs-copper); color: #fff; font: 700 9px/1 Figtree, Inter, sans-serif; letter-spacing: .04em;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25); }
/* sticky (compact) header, pushmycart-style: ONE light card with rounded bottom corners and a soft shadow, same
 * look as the menu row (dark labels, copper chevrons). The theme makes the WHOLE header (.sticky-menu = top bar +
 * logo row + menu) fixed and collapses the logo row, so: hide the top bar and the empty logo row. */
.page-header .sticky-menu.active {
    background: #FBF5EF !important; border: 0 !important; border-radius: 0 0 16px 16px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,0.14) !important; }
.page-header .sticky-menu.active .header-top { display: none !important; }
.page-header .sticky-menu.active .header-middle {
    padding: 0 !important; min-height: 0 !important; background: none !important; box-shadow: none !important; }
.page-header .sticky-menu.active .header-bottom { background: transparent !important; border: 0 !important; box-shadow: none !important; }
/* the search + account icons (.header-panel-row, absolute) live inside the collapsed logo row: no padding there,
 * or they hang 12px below the bar; the collapsed search is just the icon, without the pill frame */
.page-header .sticky-menu.active .header-middle .panel.header { padding: 0 !important; }
.page-header .sticky-menu.active .header-panel-row { top: 1px !important; }
.page-header .sticky-menu.active .block-search { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.page-header .sticky-menu.active .groupmenu { justify-content: flex-start; }
.page-header .sticky-menu.active .groupmenu > li > a, .page-header .sticky-menu.active .menu-link {
    color: #2B1B10 !important; font-size: 14px !important; padding: 16px 8px !important; }
.page-header .sticky-menu.active .groupmenu > li:hover > a { color: var(--vs-copper) !important; }
.page-header .sticky-menu.active .groupmenu > li > a::after { left: 8px; right: 8px; }
.page-header .sticky-menu.active .groupmenu > li > a[href$="/cigars"]::before { display: none; }
/* account / wishlist / cart are font icons: dark on the light card */
.page-header .sticky-menu.active .header-panel-right a, .page-header .sticky-menu.active .header-panel-right .text,
.page-header .sticky-menu.active .header-panel-right .label, .page-header .sticky-menu.active .header-panel-right span,
.page-header .sticky-menu.active .header-panel-right .fa { color: #2B1B10 !important; }
.page-header .sticky-menu.active .header-panel-right a:hover { color: var(--vs-copper) !important; }
/* the glyphs themselves are ::before of .text-underlink / .label / .showcart with their own white colour */
.page-header .sticky-menu.active .header-panel-right *::before { color: #2B1B10 !important; }
.page-header .sticky-menu.active .header-panel-right a:hover *::before, .page-header .sticky-menu.active .header-panel-right a:hover::before { color: var(--vs-copper) !important; }
/* dropdown / mega-menu */
.cdz-menu .groupmenu-drop, .cdz-menu .cdz-dropdown {
    background: #fff !important; border-top: 3px solid var(--vs-gold) !important; border-radius: 0 0 12px 12px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important; }
.cdz-menu .groupmenu-drop a { color: #1a1a1a !important; font-family: Inter, sans-serif !important; border-radius: 6px; transition: all .15s; }
.cdz-menu .groupmenu-drop a:hover { color: var(--vs-copper) !important; background: #FBF3EC; padding-left: 6px; }

/* ---------- buttons: copper pills ---------- */
/* (.bc-btn also wraps the brand-tile images, so only the "Shop now" text button in .item-content is styled) */
.action.primary, button.primary, .action.tocart, .action.tocart.primary, .item-content .bc-btn {
    background: var(--vs-copper) !important; border: 1px solid var(--vs-copper) !important; color: #fff !important;
    border-radius: 999px !important; font-family: Inter, sans-serif !important; font-weight: 600 !important;
    text-transform: none !important; letter-spacing: 0 !important; }
.action.primary:hover, button.primary:hover, .action.tocart:hover, .item-content .bc-btn:hover {
    background: var(--vs-copper2) !important; border-color: var(--vs-copper2) !important; color: #fff !important; }

/* ---------- product cards: white, rounded, soft shadow, copper "Sale" pill ---------- */
.product-item-info, .cdz-product .product-item-info {
    background: #fff !important; border: 1px solid var(--vs-line) !important; border-radius: 12px !important;
    overflow: hidden; transition: box-shadow .2s, transform .2s; }
.product-item-info:hover { box-shadow: 0 12px 28px rgba(0,0,0,0.18) !important; transform: translateY(-2px); }
.product-item-link, .product-item-name a { color: var(--vs-brown) !important; font-family: Inter, sans-serif !important; font-weight: 500 !important; }
.product-item-link:hover { color: var(--vs-copper) !important; }
.price-box .price, .price-wrapper .price, .special-price .price { color: var(--vs-brown) !important; font-weight: 700 !important; }
.old-price .price { color: #888 !important; font-weight: 400 !important; }
.product-label, .sale-label, .label-sale, .product-labels .label, .cdz-label {
    background: var(--vs-copper) !important; color: #fff !important; border-radius: 999px !important; }
.towishlist, .action.towishlist { background: #fff !important; border-radius: 50% !important; color: var(--vs-brown) !important; }

/* ---------- "Top Best Sellers" carousel = "Thanksgiving Picks" on black, like vegasmokes ---------- */
.cms-index-index .cdz-tabs-wrap {
    background: radial-gradient(ellipse at 85% 30%, #2B2B2B 0%, var(--vs-brown) 55%, var(--vs-dark) 100%) !important;
    border-radius: 16px; padding: 28px 22px 34px !important; }
.cms-index-index .cdz-tabs-wrap .cdz-block-title .b-title span { font-size: 0 !important; }
.cms-index-index .cdz-tabs-wrap .cdz-block-title .b-title span::before {
    content: "\1F341  Thanksgiving Picks"; font-size: 30px; color: var(--vs-sand); font-family: 'Playfair Display', serif; }
.cms-index-index .cdz-tabs-wrap .cdz-block-title .b-title, .cms-index-index .cdz-tabs-wrap .cdz-block-title {
    color: var(--vs-sand) !important; border: 0 !important; background: transparent !important; }
.cms-index-index .cdz-tabs-wrap .tab-title, .cms-index-index .cdz-tabs-wrap .tab-link, .cms-index-index .cdz-tabs-wrap [data-role=tab-links-placeholder] a {
    color: var(--vs-sand) !important; border-color: rgba(202,123,59,0.5) !important; background: transparent !important; border-radius: 999px !important; }
.cms-index-index .cdz-tabs-wrap .active .tab-title, .cms-index-index .cdz-tabs-wrap .tab-title.active, .cms-index-index .cdz-tabs-wrap .tab-link.active {
    background: var(--vs-gold) !important; color: var(--vs-dark) !important; border-color: var(--vs-gold) !important; }
.cms-index-index .cdz-tabs-wrap .owl-nav button, .cms-index-index .cdz-tabs-wrap .owl-prev, .cms-index-index .cdz-tabs-wrap .owl-next {
    background: var(--vs-gold) !important; color: var(--vs-dark) !important; border-radius: 50% !important; }

/* copper marquee strip (vegasmokes "Free shipping * 21+ * ..." band) built INTO the bottom of the black Picks box:
 * full box width, square top, the box's rounded corners at the bottom - one unit instead of a floating pill */
.cms-index-index .cdz-tabs-wrap { position: relative; overflow: hidden; margin-bottom: 36px !important; padding-bottom: 64px !important; }
.cms-index-index .cdz-tabs-wrap::after {
    content: "\2605   Thanksgiving Savings on Cigars, Wraps & Tobacco     \2605   Must be 21+ to purchase     \2605   Fast shipping across the USA     \2605   Filtered Cigars \00B7  Pipe Tobacco \00B7  Accessories     \2605   Happy Thanksgiving from LCWH     \2605   Thanksgiving Savings on Cigars, Wraps & Tobacco     \2605   Must be 21+ to purchase     \2605   Fast shipping across the USA     \2605   Filtered Cigars \00B7  Pipe Tobacco \00B7  Accessories     \2605   Happy Thanksgiving from LCWH     "; white-space: pre; position: absolute; left: 0; right: 0; bottom: 0; height: 40px;
    line-height: 40px; overflow: hidden; font: 600 14px Inter, sans-serif; color: var(--vs-dark);
    background: linear-gradient(90deg, #B4682C, #E8A469 50%, #B4682C); border-radius: 0;
    text-indent: 0; animation: lcwh-tg-marquee 40s linear infinite; }
@keyframes lcwh-tg-marquee { from { text-indent: 0; } to { text-indent: -1400px; } }
@media (prefers-reduced-motion: reduce) { .cms-index-index .cdz-tabs-wrap::after { animation: none; } }

/* brand tiles ("Best Selling Collection") */
.cms-index-index .banner-style13 { border-radius: 12px; overflow: hidden; }
.cms-index-index .banner-style13 img { border-radius: 12px; }
.cms-index-index .cdz-main-content h1 strong { font-family: 'Playfair Display', serif; color: var(--vs-brown); }

/* wider page: the theme caps .container at a fixed width (1400px on a 1500px screen) - use the screen, 16px gutters,
 * capped at 1600px. Not the sticky header (.sticky-menu is also a .container). */
.page-wrapper .container:not(.sticky-menu) {
    width: calc(100% - 32px) !important; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; }

/* homepage spacing - even rhythm: 32px under the slideshow, ~36px between sections */
.cms-index-index .slideshow-container { margin-bottom: 32px !important; }
/* the slideshow's .row has -10px side margins with no padding to absorb them: 10px of sideways overflow gave the whole
 * page a horizontal scrollbar (on live before this theme too) - clip it */
.cms-index-index .slideshow-container { overflow-x: hidden !important; }
.cms-index-index .cdz-main-content .container.space-md { margin-bottom: 36px !important; }
.cms-index-index .column.main .container.hidden-xs h1 { margin: 40px 0 18px !important; }
.cms-index-index .column.main .container.hidden-xs { margin-bottom: 40px !important; }

/* "Top Categories" text pills under the slideshow (inserted by thanksgiving-vegas-2026.js, homepage only).
 * Until the script has added the row, the slideshow keeps the row's height as margin so nothing jumps. */
.cms-index-index:not(.lcwh-cats-on) .slideshow-container { margin-bottom: 128px !important; }
.cms-index-index .lcwh-cats { margin-top: 0 !important; margin-bottom: 32px !important; text-align: center; }
.cms-index-index .lcwh-cats .lcwh-cats-title { font: 700 24px/1.2 'Playfair Display', Georgia, serif !important; color: var(--vs-brown) !important;
    margin: 0 0 14px !important; text-align: center; }
.lcwh-cats-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.lcwh-cat { display: inline-block; padding: 10px 20px; border-radius: 999px; background: #FBF5EF; border: 1px solid var(--vs-line);
    color: #2B1B10 !important; font: 600 14px/1.2 Figtree, Inter, sans-serif; text-decoration: none !important;
    transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.lcwh-cat:hover { background: var(--vs-gold); border-color: var(--vs-gold); color: #fff !important; transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(202,123,59,0.30); }

/* equal product cards in the carousels (pushmycart): the owl items are already equal height, so stretch the card
 * inside, give names 3 lines, and push qty + Add to Cart to the bottom so prices and buttons line up */
.cdz-product-wrap .owl-item { display: flex !important; }
.cdz-product-wrap .owl-item > .item-group, .cdz-product-wrap .owl-item > .item { display: flex !important; flex-direction: column; width: 100%; }
.cdz-product-wrap .owl-item .product-item { display: flex !important; flex: 1 1 auto; width: 100%; }
.cdz-product-wrap .owl-item .product-item-info { display: flex !important; flex-direction: column; width: 100%; }
.cdz-product-wrap .owl-item .product-item-details { flex: 1 1 auto; display: flex !important; flex-direction: column; }
.cdz-product-wrap .owl-item .product-item-inner { flex: 1 1 auto; }
.cdz-product-wrap .owl-item .product-item-name { min-height: 66px; }   /* = a 3-line name (14px / 18.9px lines) */
.cdz-product-wrap .owl-item .button-wrap { margin-top: auto; }
/* "verified reviews by yotpo" badge at the end of the SEO text: the image is 200x200 with the badge only in rows
 * 63-137 (white above and below), then 10+60+60px of margins before the Google-reviews box. Show just the badge
 * strip and drop the extra margins. Matched by its link (/review-list), not the image file name. */
.cms-index-index a[href$="/review-list"] img {
    height: 80px !important; width: 200px !important; object-fit: cover !important; object-position: 50% 50% !important; }
.cms-index-index .column.main .container.space-lg:has(a[href$="/review-list"]),
.cms-index-index .column.main .space-lg:has(a[href$="/review-list"]) { margin-bottom: 12px !important; }

/* slideshow dots/arrows */
.cdz-slideshow .owl-dot.active, .cdz-slideshow .owl-dot:hover,
.cdz-slideshow .owl-dot.active span, .cdz-slideshow .owl-dot:hover span { background: var(--vs-gold) !important; }
.cdz-slideshow .owl-nav button { color: var(--vs-gold) !important; }

/* cart page secondary buttons (theme default is black) */
.cart.main.actions .action, .cart-container .action.continue, .cart-container .action.update {
    background: var(--vs-brown2) !important; border-color: var(--vs-brown2) !important; color: var(--vs-sand) !important;
    border-radius: 999px !important; }
.cart-container .action.update:hover, .cart-container .action.continue:hover { background: var(--vs-brown) !important; color: var(--vs-gold2) !important; }

/* mobile bottom toolbar (theme default is bright yellow) */
.mb-bottom-toolbar { background: var(--vs-brown2) !important; border-top: 2px solid var(--vs-gold) !important; }
.mb-bottom-toolbar .item, .mb-bottom-toolbar a, .mb-bottom-toolbar span:not(.info-wrap), .mb-bottom-toolbar .fa { color: var(--vs-sand) !important; }
.mb-bottom-toolbar .info-wrap { background: var(--vs-copper) !important; color: #fff !important; }

/* ---------- forms ---------- */
input.input-text, select, textarea { border-color: var(--vs-line); border-radius: 8px; }
input.input-text:focus, select:focus, textarea:focus { border-color: var(--vs-gold) !important; box-shadow: 0 0 0 2px rgba(202,123,59,0.30) !important; }
.breadcrumbs a { color: var(--vs-copper) !important; }
.pages .item.current, .pages .item.current .page { background: var(--vs-copper) !important; color: #fff !important; border-radius: 999px; }

/* ---------- footer: black, same width as the page, clean columns ----------
 * The footer sits outside .page-wrapper, so it needs its own wide-container rule. The payment image is only 200x26:
 * the theme stretched it to ~400px (blurry, spilling into the next column) inside a light box - show it at its size. */
.page-footer .container { width: calc(100% - 32px) !important; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; }
.page-footer, .page-footer .footer-box, .page-footer .footer-content-middle, .page-footer .footer-content-top {
    background: #0B0B0B !important; color: #D9CFC6 !important; }
.page-footer .footer-content-middle { padding: 44px 0 30px !important; }
.page-footer h3, .page-footer h4, .page-footer .footer-title, .page-footer .block-title, .page-footer .h5, .page-footer .h4 {
    color: var(--vs-gold) !important; font: 700 13.5px/1.35 Figtree, Inter, sans-serif !important; letter-spacing: .08em !important;
    text-transform: uppercase !important; margin: 0 0 14px !important; padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(202,123,59,0.35); }
.page-footer a, .page-footer .footer-link, .page-footer p, .page-footer li, .page-footer span { color: #D9CFC6 !important; }
.page-footer .footer-link li { margin-bottom: 9px !important; }
.page-footer .footer-link a { font: 400 14px/1.4 Figtree, Inter, sans-serif !important; transition: color .2s, padding-left .2s; }
.page-footer a:hover { color: var(--vs-gold2) !important; }
.page-footer .footer-link a:hover { padding-left: 3px; }
.page-footer .newsletter, .page-footer .newsletter.footer-box { background: transparent !important; width: auto !important;
    border-radius: 0 !important; margin-top: 18px !important; }
.page-footer .footer-payment { height: auto !important; }
.page-footer .footer-payment img, .page-footer img.footer-pay { width: auto !important; max-width: 220px !important; height: auto !important;
    background: #fff; border-radius: 6px; padding: 6px 8px; }
/* social icons: the theme puts two per list item, two items stacked with a tall gap - one row of four */
.page-footer li:has(img[src*="_LOGO"]) { display: inline-flex !important; align-items: center; gap: 12px; margin: 0 12px 0 0 !important; }
.page-footer img[src*="_LOGO"] { width: 38px !important; height: 38px !important; margin: 0 !important; transition: transform .2s; }
.page-footer img[src*="_LOGO"]:hover { transform: translateY(-2px); }
.page-footer .copyright, .page-footer .footer-bottom, .page-footer .footer-content-bottom {
    background: #000 !important; color: #9A918A !important; border-top: 0 !important; padding: 14px 0 !important; font-size: 13px !important; }
.page-footer .footer-content-bottom * { color: #9A918A !important; }
.page-footer::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, #8A4C1E, #CA7B3B, #E8A469, #CA7B3B, #8A4C1E); }

/* ---------- mobile ---------- */
@media (max-width: 767px) {
    /* category pills: one line that scrolls sideways */
    .cms-index-index:not(.lcwh-cats-on) .slideshow-container { margin-bottom: 104px !important; }
    .cms-index-index .lcwh-cats .lcwh-cats-title { font-size: 19px !important; margin-bottom: 10px !important; }
    .lcwh-cats-row { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: none; }
    .lcwh-cats-row::-webkit-scrollbar { display: none; }
    .lcwh-cat { flex: 0 0 auto; padding: 8px 14px; font-size: 13px; }
    .cms-index-index .lcwh-cats { margin-bottom: 24px !important; }
    .page-footer .footer-content-middle { padding: 26px 0 16px !important; }
    /* mobile sticky header shows the logo row (white logo text, white hamburger) - keep it black there */
    .page-header .sticky-menu.active { background: #0B0B0B !important; border-radius: 0 !important; }
    .page-header .sticky-menu.active .header-middle { background-color: #0B0B0B !important; }
    /* narrow 2-up cards: keep "Add to Cart" on one line */
    .cdz-product-wrap .owl-item .action.tocart { font-size: 12.5px !important; padding-left: 6px !important; padding-right: 6px !important;
        white-space: nowrap !important; width: 100% !important; }
    .page-header .header-middle { background-size: 17px 17px, 13px 13px, 15px 15px, 11px 11px, 13px 13px, 10px 10px, 11px 11px, 10px 10px, 10px 10px, 10px 10px, 100% 100% !important; }
    .cms-index-index .cdz-tabs-wrap { border-radius: 0; padding: 18px 10px 24px !important; }
    .cms-index-index .cdz-tabs-wrap .cdz-block-title .b-title span::before { font-size: 21px; }
    .cms-index-index .cdz-tabs-wrap .cdz-block-title, .cms-index-index .cdz-tabs-wrap .cdz-block-title .b-title {
        width: 100% !important; max-width: none !important; overflow: visible !important; white-space: nowrap !important;
        text-overflow: clip !important; }
    /* the theme's mobile tab picker (a.mobile-toggle, absolute top-right of the content) sat on top of the title:
       move it under the title and colour it copper instead of yellow */
    .cms-index-index .cdz-tabs-wrap .cdz-block-content { padding-top: 46px !important; }
    .cms-index-index .cdz-tabs-wrap a.mobile-toggle {
        top: 40px !important; left: 0 !important; right: auto !important; background: var(--vs-copper) !important;
        color: #fff !important; border-radius: 999px !important; padding-left: 14px !important; padding-right: 30px !important; }
    .cms-index-index .cdz-tabs-wrap .box-cate-link.abs-dropdown { top: 72px !important; left: 0 !important; right: auto !important; }
    .cms-index-index .cdz-tabs-wrap { padding-bottom: 50px !important; }
    .cms-index-index .cdz-tabs-wrap::after { font-size: 12px; height: 32px; line-height: 32px; bottom: 0; border-radius: 0; }
}
}
