/* ═══════════════════════════════════════════════════════
   Xceluk Theme - WooCommerce Styles
   Shop grid, product pages, cart, checkout, account

   NOTE: WooCommerce default stylesheets (general, layout,
   smallscreen) are fully dequeued. This file is the ONLY
   WooCommerce CSS source.
   ═══════════════════════════════════════════════════════ */

/* ─── WooCommerce Base Reset ─── */
/* These replace essentials from woocommerce-general.css */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button{
  display:inline-block;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;
  line-height:1.4;text-align:center;text-decoration:none;border:none;border-radius:var(--radius-md);
  cursor:pointer;transition:all var(--transition-fast);background:var(--xceluk-accent);color:#fff;
  font-family:var(--font-sans);
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--xceluk-nav-bg);color:#fff}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--xceluk-accent);color:#fff}
.woocommerce .button.alt:hover,.woocommerce button.button.alt:hover{background:var(--xceluk-nav-bg)}
.woocommerce .button:disabled,.woocommerce button.button:disabled{opacity:.5;cursor:not-allowed}
.woocommerce table.shop_table{border:1px solid var(--color-border);border-radius:var(--radius-md);border-collapse:collapse;width:100%;margin-bottom:1rem}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;font-size:.875rem}
.woocommerce table.shop_table th{font-weight:600;background:var(--xceluk-announce-bg)}
.woocommerce .quantity .qty{width:3.5rem;height:2.5rem;text-align:center;font-size:.9375rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0}
.woocommerce form .form-row{margin-bottom:1rem}
.woocommerce form .form-row label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.25rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{width:100%;padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-sans)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--xceluk-accent);outline:none;box-shadow:0 0 0 3px rgba(41,128,185,.1)}
.woocommerce .woocommerce-form-login .button,.woocommerce .woocommerce-form-register .button{width:100%;padding:.875rem}
.woocommerce a.remove{color:#e74c3c!important;text-decoration:none;font-weight:700;font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center}
.woocommerce a.remove:hover{color:#fff!important;background:#e74c3c;border-radius:50%}
.woocommerce .woocommerce-Price-amount{white-space:nowrap}

/* ─── Shop Layout (Sidebar + Content) ─── */
.shop-layout{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.shop-layout{grid-template-columns:240px 1fr}}

/* Shop Sidebar */
.shop-sidebar{order:2}
@media(min-width:1024px){.shop-sidebar{order:0}}

.shop-sidebar .sidebar-widget{margin-bottom:1.75rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;overflow:hidden}
.shop-sidebar .sidebar-widget-title{font-size:.9375rem;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--xceluk-accent);color:var(--color-text)}

.product-categories-list{list-style:none;padding:0;margin:0}
.product-categories-list li{border-bottom:1px solid var(--color-border)}
.product-categories-list li:last-child{border-bottom:none}
.product-categories-list li a{display:flex;justify-content:space-between;align-items:center;padding:.625rem .25rem;color:var(--color-text);text-decoration:none;font-size:.875rem;transition:all var(--transition-fast)}
.product-categories-list li a:hover{color:var(--xceluk-accent);padding-left:.5rem}
.product-categories-list li.current-cat a{color:var(--xceluk-accent);font-weight:700}
.product-categories-list .cat-count{font-size:.75rem;color:var(--color-text-light);background:var(--xceluk-announce-bg);padding:.125rem .5rem;border-radius:10px;font-weight:500}
.product-categories-list .cat-parent-link a{color:var(--xceluk-accent);font-weight:600;font-size:.8125rem}

/* Shop Content Area */
.shop-content{min-width:0}

/* ─── Shop / Archive Header ─── */
.woocommerce-products-header{margin-bottom:1.5rem}
.woocommerce-products-header__title{margin-bottom:.5rem}
.term-description{color:var(--color-text-light);font-size:.9375rem;margin-bottom:1.5rem;line-height:1.6}

/* Result count & ordering */
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:1rem}
.shop-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--xceluk-announce-bg);border-radius:var(--radius-md)}
.woocommerce-ordering select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:#fff;cursor:pointer}
.woocommerce-result-count{font-size:.875rem;color:var(--color-text-light);margin:0}

/* ─── Product Grid ─── */
ul.products{list-style:none;padding:0;margin:0;display:grid!important;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%!important;float:none!important;clear:both}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:100%!important;float:none!important;margin:0!important}
@media(min-width:600px){ul.products{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
@media(min-width:768px){ul.products{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
@media(min-width:1200px){.shop-layout ul.products{grid-template-columns:repeat(4,1fr)}}

/* ─── Product Card ─── */
ul.products li.product,
ul.products li.product-card{
    background:#fff;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--color-border);
    transition:box-shadow var(--transition-base),transform var(--transition-base);
    position:relative;
    display:flex;
    flex-direction:column
}
ul.products li.product:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}

/* Product card link */
ul.products li.product a.woocommerce-LoopProduct-link{
    text-decoration:none;
    color:var(--color-text);
    display:flex;
    flex-direction:column;
    flex:1
}

/* Product card image */
.product-card__image,
ul.products li.product .product-card__image{
    position:relative;
    overflow:hidden;
    aspect-ratio:1;
    background:#f8f9fa
}
ul.products li.product img,
.product-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease
}
ul.products li.product:hover img{transform:scale(1.05)}

/* Product card info */
.product-card__info{padding:.875rem 1rem;flex:1;display:flex;flex-direction:column}

/* Product title */
ul.products li.product .woocommerce-loop-product__title,
.product-card__info .woocommerce-loop-product__title{
    font-size:.875rem;
    font-weight:600;
    line-height:1.4;
    margin:0 0 .375rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}

/* Product price */
ul.products li.product .price,
.product-card__info .price{
    font-size:.9375rem;
    font-weight:700;
    color:var(--color-text);
    margin:0;
    padding:0;
    margin-top:auto
}
ul.products li.product .price del{color:#767676;margin-right:.375rem;font-weight:400;font-size:.8125rem}
ul.products li.product .price ins{text-decoration:none;font-weight:700;color:#c0392b}

/* Sale badge */
ul.products li.product .onsale,
.single-product .onsale{
    position:absolute;top:.625rem;left:.625rem;
    background:#c0392b;color:#fff;
    padding:.25rem .75rem;border-radius:var(--radius-sm);
    font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
    z-index:2
}

/* Add to cart button in grid */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product a.added_to_cart{
    display:block;
    width:calc(100% - 2rem);
    margin:.625rem 1rem 1rem;
    padding:.625rem .5rem;
    text-align:center;
    background:var(--xceluk-accent);
    color:#fff;
    border:none;
    border-radius:var(--radius-md);
    font-size:.8125rem;
    font-weight:600;
    cursor:pointer;
    transition:background var(--transition-fast);
    text-decoration:none;
    line-height:1.3
}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover{background:var(--xceluk-nav-bg)}
ul.products li.product a.added_to_cart{background:transparent;color:var(--xceluk-accent);border:1px solid var(--xceluk-accent);margin-top:0}

/* Star ratings in grid */
.star-rating{display:inline-flex;overflow:hidden;position:relative;height:1em;width:5.4em;font-size:.8125rem;line-height:1;margin-bottom:.375rem}
.star-rating::before{content:"\2605\2605\2605\2605\2605";color:var(--color-border);float:left;top:0;left:0;position:absolute}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";color:#f39c12;top:0;position:absolute;left:0}

/* WooCommerce pagination */
.woocommerce-pagination{padding:2rem 0}
.woocommerce-pagination ul.page-numbers{display:flex;align-items:center;justify-content:center;gap:.5rem;list-style:none;padding:0;margin:0}
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;border-radius:var(--radius-md);font-size:.875rem;text-decoration:none;border:1px solid var(--color-border);color:var(--color-text);transition:all var(--transition-fast)}
.woocommerce-pagination .page-numbers li a:hover{background:var(--xceluk-accent);color:#fff;border-color:var(--xceluk-accent)}
.woocommerce-pagination .page-numbers li span.current{background:var(--xceluk-accent);color:#fff;border-color:var(--xceluk-accent);font-weight:600}

/* ─── Single Product Page ─── */
.single-product .site-main{padding-top:1rem;padding-bottom:2rem}

/* Two-column layout: gallery left, summary right */
.single-product-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:0}
@media(min-width:768px){.single-product-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}}

/* Override WooCommerce woocommerce-layout.css which sets width:48% + float on these */
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce #content div.product div.images,
.woocommerce #content div.product div.summary{width:100%!important;float:none!important;margin:0!important}

/* ─── Custom Product Gallery (replaces Flexslider) ─── */
.single-product__gallery{position:relative;min-width:0;overflow:hidden}
.xceluk-product-gallery{position:relative;width:100%}

/* Main image area - single img whose src gets swapped */
.xceluk-gallery__main{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#f8f9fa}
.xceluk-gallery__main a{display:block;cursor:zoom-in}
.xceluk-gallery__main img{width:100%;height:auto;display:block;object-fit:contain}

/* Thumbnail navigation */
.xceluk-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.75rem}
.xceluk-gallery__thumb{padding:0;border:2px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:none;transition:border-color var(--transition-fast)}
.xceluk-gallery__thumb:hover{border-color:var(--xceluk-accent)}
.xceluk-gallery__thumb.is-active{border-color:var(--xceluk-accent);box-shadow:0 0 0 1px var(--xceluk-accent)}
.xceluk-gallery__thumb img{width:100%;aspect-ratio:1;object-fit:cover;display:block;opacity:.6;transition:opacity var(--transition-fast)}
.xceluk-gallery__thumb:hover img,.xceluk-gallery__thumb.is-active img{opacity:1}

/* Fallback: hide stacking WC gallery images if default template loads */
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image~.woocommerce-product-gallery__image{display:none!important}
.woocommerce-product-gallery{opacity:1!important}

/* ─── Xceluk Products Plugin - Override float layout to work with CSS Grid ─── */
.detail__product-options{width:100%!important;float:none!important;clear:none!important;padding:0!important;box-sizing:border-box}

/* Colour Swatch Thumbnails */
.detail__colours{margin-bottom:1.25rem}
.detail__option-title p{text-align:left!important;font-weight:700;font-size:.9375rem;margin-bottom:.5rem!important;color:var(--color-text)}
.product-thumbnails{display:flex;gap:.5rem;flex-wrap:wrap}
.product-thumbnail{width:56px;height:56px;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.product-thumbnail:hover,.product-thumbnail.active{border-color:var(--xceluk-accent);box-shadow:0 0 0 2px rgba(25,118,210,.2)}
.product-thumbnail img{width:100%;height:100%;object-fit:cover}

/* Size Table - Clean card layout */
.detail__quantity{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}
.detail__quantity .variation-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem .875rem;transition:opacity var(--transition-fast),border-color var(--transition-fast);background:#fff}
.detail__quantity .variation-item:hover{border-color:var(--xceluk-accent)}
.detail__quantity .variation-item[style*="opacity: 0.3"],.detail__quantity .variation-item:has(.quantity__button[style*="opacity: 0.3"]){opacity:.45;pointer-events:none}
.detail__quantity .quantity{display:flex;align-items:center;gap:0;flex-wrap:nowrap;min-height:2.25rem}
.detail__quantity .quantity__label{font-weight:600;min-width:90px;font-size:.875rem;padding-right:.875rem;border-right:1px solid var(--color-border);white-space:nowrap;color:var(--color-text)}
.detail__quantity .quantity__stock{font-size:.8125rem;flex:1;padding-left:.875rem;color:#c0392b;white-space:nowrap}
.detail__quantity .variation-item:has(.quantity__input[max]:not([max="0"])) .quantity__stock{color:#27ae60}
.detail__quantity .quantity__spinner{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-left:auto;flex-shrink:0}
.detail__quantity .quantity__button{width:2rem;height:2rem;border:none;background:var(--xceluk-announce-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);padding:0}
.detail__quantity .quantity__button:hover{background:var(--color-border)}
.detail__quantity .quantity__button svg{width:11px;height:11px}
.detail__quantity .quantity__input{width:2.25rem;text-align:center;border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:.25rem 0;font-size:.875rem;font-weight:600;-moz-appearance:textfield;appearance:textfield;line-height:2rem;height:2rem}
.detail__quantity .quantity__input::-webkit-inner-spin-button,.detail__quantity .quantity__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Total & Add to Cart Bar */
.detail__total-wrapper{background:var(--xceluk-announce-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.detail__total-left{flex:1;min-width:0}
.detail__total-items{font-size:.8125rem;color:var(--color-text-light);margin-bottom:.125rem;line-height:1.5}
.detail__total{font-size:1.25rem;font-weight:700}
.detail__total-left p{font-size:.75rem;color:var(--color-text-light);margin-top:.25rem}
.detail__total-buttons{flex-shrink:0}
.detail__total-buttons .button{background:var(--xceluk-accent)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:.75rem 1.5rem!important;font-size:1rem!important;font-weight:600!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;transition:background var(--transition-fast);width:100%;min-width:160px;white-space:nowrap}
.detail__total-buttons .button svg{flex-shrink:0}
.detail__total-buttons .button span{flex-shrink:0}
.detail__total-buttons .button:hover{background:var(--xceluk-nav-bg)!important}
.loader-container{display:inline-block;text-align:center}

/* WC variations form wrapper - clean up default margins */
.summary .variations_form{margin-bottom:0}
.summary .variations_form .detail__product-options{margin-top:.5rem}

/* Sticky gallery on desktop - limited to keep in sync with summary */
@media(min-width:768px){
  .single-product__gallery{position:sticky;top:6rem;align-self:start}
}

/* ─── Product Summary ─── */
.summary.entry-summary{padding:0;min-width:0;overflow:hidden;overflow-wrap:break-word;word-wrap:break-word}
.summary .product_title{font-size:clamp(1.375rem,3vw,1.875rem);font-weight:700;margin-bottom:.75rem;line-height:1.3}
.summary .price{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-text)}
.summary .price del{font-size:1rem;font-weight:400;color:#767676}
.summary .price ins{text-decoration:none;color:#c0392b}
.summary .woocommerce-product-details__short-description{color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.7;font-size:.9375rem}
.summary .woocommerce-product-details__short-description ul{margin:.5rem 0;padding-left:1.25rem}
.summary .woocommerce-product-details__short-description li{margin-bottom:.25rem}

/* Tier Pricing Table (Xceluk Products Plugin) */
.summary table{width:100%;border-collapse:collapse;margin-bottom:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.summary table td,.summary table th{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);font-size:.9375rem;text-align:left;vertical-align:middle}
.summary table tr:last-child td{border-bottom:none}
.summary table tr:nth-child(even){background:var(--xceluk-announce-bg)}

/* Colour Swatches */
.summary .xceluk-colour-swatches,.summary .colour-swatches,.summary .color-swatches{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.summary .xceluk-colour-swatch,.summary .colour-swatch,.summary .color-swatch{width:56px;height:56px;border-radius:var(--radius-md);border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);overflow:hidden}
.summary .xceluk-colour-swatch:hover,.summary .colour-swatch:hover,.summary .color-swatch:hover{border-color:var(--xceluk-accent);box-shadow:0 0 0 2px rgba(25,118,210,.2)}
.summary .xceluk-colour-swatch.selected,.summary .colour-swatch.selected,.summary .color-swatch.selected,.summary .xceluk-colour-swatch.active,.summary .colour-swatch.active{border-color:var(--xceluk-accent);box-shadow:0 0 0 3px rgba(25,118,210,.3)}
.summary .xceluk-colour-swatch img,.summary .colour-swatch img,.summary .color-swatch img{width:100%;height:100%;object-fit:cover}

/* Hide WC default variation UI (Xceluk Products Plugin provides custom colour/size/quantity UI) */
.summary table.variations{display:none!important}
/* Hide the WC variation price/description display */
.woocommerce-variation.single_variation{display:none!important}
/* Hide WC's own quantity + button (but NOT the wrapper - plugin content lives inside it) */
.woocommerce-variation-add-to-cart>.quantity,.woocommerce-variation-add-to-cart>.single_add_to_cart_button{display:none!important}
/* Safety net: hide WC quantity/button wherever they appear in the form (even if DOM breaks) */
.variations_form .quantity.hidden,.variations_form>.single_variation_wrap .quantity:not(.quantity__spinner):not(.detail__quantity .quantity){display:none!important}
.variations_form .single_add_to_cart_button:not(#add-to-cart-button){display:none!important}
/* WC qty input - if it leaks out of its container, hide it */
.summary>.quantity,.single-product-layout>.quantity,.single-product__gallery~.quantity{display:none!important}
/* Hide hidden inputs that don't need to be visible */
.woocommerce-variation-add-to-cart>input[type="hidden"]{display:none}
/* Reset link from WC variable form */
.variations_form .reset_variations{display:none!important}

/* Size/Colour Labels + Dropdowns (fallback if needed) */
.summary select{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:#fff;cursor:pointer;transition:border-color var(--transition-fast);margin-bottom:.75rem}
.summary select:focus{border-color:var(--xceluk-accent);outline:none;box-shadow:0 0 0 3px rgba(25,118,210,.1)}
.summary label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.375rem;color:var(--color-text)}

/* Quantity input */
.quantity{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.quantity .qty{width:3.5rem;text-align:center;border:none;padding:.625rem .25rem;font-size:1rem;-moz-appearance:textfield;appearance:textfield}
.quantity .qty::-webkit-inner-spin-button,.quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity button,.quantity .minus,.quantity .plus{width:2.25rem;height:2.5rem;border:none;background:var(--xceluk-announce-bg);cursor:pointer;font-size:1.125rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);color:var(--color-text)}
.quantity button:hover,.quantity .minus:hover,.quantity .plus:hover{background:var(--color-border)}

/* Totals / Summary Box (Xceluk Products Plugin) */
.summary .xceluk-totals,.summary .product-totals,.summary .bundle-totals{background:var(--xceluk-announce-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin:1.25rem 0}
.summary .xceluk-totals p,.summary .product-totals p{margin:0 0 .25rem;font-size:.9375rem}
.summary .xceluk-totals .total-price,.summary .product-totals .total-price{font-size:1.375rem;font-weight:700;color:var(--color-text)}
.summary .xceluk-totals small,.summary .product-totals small{font-size:.8125rem;color:var(--color-text-light)}

/* Add to cart form */
.summary .cart{margin-top:1rem}
.summary .cart .quantity{margin-right:.75rem}
.single_add_to_cart_button,.summary .add-to-cart-btn,.summary button[type="submit"]{background:var(--xceluk-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:1rem 2rem;font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;text-align:center}
.single_add_to_cart_button:hover,.summary .add-to-cart-btn:hover,.summary button[type="submit"]:hover{background:var(--xceluk-nav-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.summary .cart .single_add_to_cart_button{margin-top:.75rem}

/* Out of stock badge */
.summary .stock{font-size:.8125rem;font-weight:600;padding:.375rem .75rem;border-radius:var(--radius-sm);display:inline-block;margin-bottom:.75rem}
.summary .stock.in-stock{background:#eafaf1;color:#27ae60}
.summary .stock.out-of-stock{background:#fdedec;color:#e74c3c}

/* Product meta - contained within summary column */
.product_meta{padding:1.25rem;margin-top:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text-light);word-wrap:break-word;overflow-wrap:break-word;clear:both;max-width:100%;box-sizing:border-box;background:var(--xceluk-announce-bg);width:100%;overflow:hidden}
.product_meta>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);line-height:1.6}
.product_meta>span:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.product_meta a{color:var(--xceluk-accent);text-decoration:none;transition:color var(--transition-fast)}
.product_meta a:hover{color:var(--xceluk-nav-bg);text-decoration:underline}
.product_meta .sku_wrapper,.product_meta .posted_in,.product_meta .tagged_as{font-size:.8125rem}

/* Brand logo - positioned at top-right of product summary */
.summary .pwb-single-product-brands,.summary .brand-logo{float:right;margin:0 0 1rem 1rem;padding:0}
.summary .pwb-single-product-brands img,.summary .brand-logo img{max-height:50px;width:auto;object-fit:contain;display:block}

/* ─── Breadcrumbs on Product Pages ─── */
.single-product .breadcrumbs{margin-bottom:.5rem}
.single-product .breadcrumbs p,.single-product .breadcrumbs #breadcrumbs{font-size:.8125rem;color:var(--color-text-light);margin:0;line-height:1.5}
.single-product .breadcrumbs a{color:var(--color-text-light);text-decoration:none;transition:color var(--transition-fast)}
.single-product .breadcrumbs a:hover{color:var(--xceluk-accent)}
.single-product .breadcrumbs .breadcrumb_last{color:var(--color-text);font-weight:500}

/* ─── Below Product (tabs + related) Container ─── */
.single-product-below{
    max-width:100%;
    overflow:hidden;
    clear:both;
    box-sizing:border-box;
    margin-top:3rem;
    padding-top:0
}

/* ─── Product Tabs ─── */
.woocommerce-tabs{width:100%;max-width:100%;box-sizing:border-box;float:none!important;clear:both}
.woocommerce-tabs ul.tabs{list-style:none;padding:0!important;margin:0 0 0!important;display:flex;gap:.25rem;background:transparent;border-bottom:2px solid var(--color-border);flex-wrap:wrap}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after{display:none!important;content:none!important}
.woocommerce-tabs ul.tabs li{margin:0 0 -2px!important;padding:0;background:none!important;border:none!important;border-radius:0!important;float:none!important}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
.woocommerce-tabs ul.tabs li a{display:block;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;color:var(--color-text-light);text-decoration:none;border-bottom:3px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast);position:relative}
.woocommerce-tabs ul.tabs li a:hover{color:var(--color-text)}
.woocommerce-tabs ul.tabs li.active a{color:var(--xceluk-accent);border-bottom-color:var(--xceluk-accent);font-weight:700}
.woocommerce-tabs .panel,.woocommerce-tabs .woocommerce-Tabs-panel{padding:2rem 0;word-wrap:break-word;overflow-wrap:break-word}
.woocommerce-tabs .panel h2,.woocommerce-tabs .woocommerce-Tabs-panel h2{font-size:1.25rem;margin-bottom:1rem;font-weight:700}
.woocommerce-tabs .panel p,.woocommerce-tabs .woocommerce-Tabs-panel p{line-height:1.7;color:var(--color-text-light)}
.woocommerce-tabs .panel table,.woocommerce-tabs .woocommerce-Tabs-panel table{width:100%;max-width:100%;table-layout:fixed;overflow:hidden}
/* Additional Information table */
.woocommerce-tabs .shop_attributes{border:1px solid var(--color-border);border-radius:var(--radius-md);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce-tabs .shop_attributes th{background:var(--xceluk-announce-bg);font-weight:600;font-size:.875rem;padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border);width:35%}
.woocommerce-tabs .shop_attributes td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--color-border)}
.woocommerce-tabs .shop_attributes tr:last-child th,.woocommerce-tabs .shop_attributes tr:last-child td{border-bottom:none}
.woocommerce-tabs .shop_attributes td p{margin:0;color:var(--color-text)}
/* Reviews tab */
.woocommerce-tabs #reviews .woocommerce-Reviews-title{font-size:1.25rem;margin-bottom:1.5rem}
.woocommerce-tabs #reviews .comment-form-rating{margin-bottom:1rem}
.woocommerce-tabs #reviews .comment-form-rating label{font-weight:600;margin-bottom:.5rem;display:block}
.woocommerce-tabs #reviews .commentlist{list-style:none;padding:0;margin:0}
.woocommerce-tabs #reviews .commentlist li{padding:1.25rem 0;border-bottom:1px solid var(--color-border)}
.woocommerce-tabs #reviews .commentlist li:last-child{border-bottom:none}
.woocommerce-tabs #reviews .woocommerce-noreviews{color:var(--color-text-light);font-size:.9375rem;padding:1rem 0}

/* ─── Related Products ─── */
.related.products,.up-sells{margin-top:3rem;padding-top:2.5rem;border-top:2px solid var(--color-border);max-width:100%;overflow:hidden;width:100%;box-sizing:border-box;float:none!important;clear:both}
.related.products>h2,.up-sells>h2{font-size:1.375rem;font-weight:700;margin-bottom:1.5rem;position:relative;padding-bottom:.75rem}
.related.products>h2::after,.up-sells>h2::after{content:'';position:absolute;bottom:0;left:0;width:3rem;height:3px;background:var(--xceluk-accent);border-radius:2px}
.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(2,1fr)}
@media(min-width:600px){.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(4,1fr)}}

/* ═══════════════════════════════════════════════════════
   CART PAGE - Modern Card-Based Layout
   ═══════════════════════════════════════════════════════ */

/* Hide page title, breadcrumbs and entry header on cart page
   (the checkout progress bar replaces these) */
.woocommerce-cart .breadcrumbs{display:none}
.woocommerce-cart .entry__header{display:none}
.woocommerce-cart .entry__content{line-height:inherit}

/* Free delivery progress bar */
.xceluk-delivery-bar{
  background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius-lg);
  padding:1rem 1.25rem;margin-bottom:1.5rem;
}
.xceluk-delivery-bar p{
  display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9375rem;font-weight:500;color:#0c4a6e;
}
.xceluk-delivery-bar p svg{flex-shrink:0;color:#0284c7}
.xceluk-delivery-bar.is-qualified{background:#ecfdf5;border-color:#86efac}
.xceluk-delivery-bar.is-qualified p{color:#065f46}
.xceluk-delivery-bar.is-qualified p svg{color:#16a34a}
.xceluk-delivery-bar__track{height:6px;background:#e0f2fe;border-radius:3px;overflow:hidden}
.xceluk-delivery-bar.is-qualified .xceluk-delivery-bar__track{background:#d1fae5}
.xceluk-delivery-bar__fill{height:100%;background:linear-gradient(90deg,#0284c7,#06b6d4);border-radius:3px;transition:width .6s ease}
.xceluk-delivery-bar.is-qualified .xceluk-delivery-bar__fill{background:linear-gradient(90deg,#16a34a,#22c55e)}

/* Two-column layout */
.xceluk-cart-layout{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){
  .xceluk-cart-layout{grid-template-columns:1fr 420px;align-items:start}
}

/* ─── Cart Cards ─── */
.xceluk-cart-cards{display:flex;flex-direction:column;gap:1rem}

.xceluk-cart-card{
  display:grid;grid-template-columns:100px 1fr;gap:1rem;
  background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:1.25rem;position:relative;
  transition:box-shadow var(--transition-fast);
}
.xceluk-cart-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.06)}

/* Remove button */
.xceluk-cart-card__remove{position:absolute;top:.75rem;right:.75rem;z-index:2}
.xceluk-cart-card__remove a.remove{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:#fef2f2;color:#e74c3c!important;
  font-size:16px;line-height:1;text-decoration:none;
  transition:all .15s ease;
}
.xceluk-cart-card__remove a.remove:hover{background:#fee2e2;transform:scale(1.1)}

/* Product image */
.xceluk-cart-card__image{width:100px;height:100px;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border);flex-shrink:0}
.xceluk-cart-card__image img{width:100%;height:100%;object-fit:cover}
.xceluk-cart-card__image a{display:block;width:100%;height:100%}

/* Product info */
.xceluk-cart-card__info{min-width:0;display:flex;flex-direction:column}
.xceluk-cart-card__title{margin:0 2rem 0 0;font-size:1rem;font-weight:600;line-height:1.4}
.xceluk-cart-card__title>a{color:var(--color-text);text-decoration:none;font-size:1rem;font-weight:600}
.xceluk-cart-card__title>a:hover{color:var(--xceluk-accent)}

/* Variation/attribute data */
.xceluk-cart-card__info dl.variation{
  margin:6px 0 0;padding:6px 10px;background:var(--xceluk-announce-bg);
  border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.5;
}
.xceluk-cart-card__info dl.variation dt{font-weight:600;color:var(--color-text);margin:0;float:none;display:inline}
.xceluk-cart-card__info dl.variation dd{margin:0 0 2px;padding:0;color:#64748b;font-size:.8125rem;display:inline}
.xceluk-cart-card__info dl.variation dd::after{content:'';display:block}
.xceluk-cart-card__info dl.variation dd p{margin:0;display:inline}

/* Design card inside product info */
.xceluk-cart-card__info .xd-cart-design-card{margin-top:8px}
.xceluk-cart-card__title .xd-cart-design-card{margin-top:8px}
/* Design thumbnails */
.xceluk-cart-card__info .xd-cart-thumbs,
.xceluk-cart-card__title .xd-cart-thumbs{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.xceluk-cart-card__info .xd-cart-thumb-img,
.xceluk-cart-card__title .xd-cart-thumb-img{width:72px;height:72px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:#f8f9fa}
.xceluk-cart-card__info .xd-cart-thumb-img img,
.xceluk-cart-card__title .xd-cart-thumb-img img{width:100%;height:100%;object-fit:contain}
/* Position badges */
.xceluk-cart-card__info .xd-cart-pos-row,
.xceluk-cart-card__title .xd-cart-pos-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.8125rem}
.xceluk-cart-card__info .xd-cart-pos-label,
.xceluk-cart-card__title .xd-cart-pos-label{font-weight:600;color:var(--color-text);font-size:.8125rem}
.xceluk-cart-card__info .xd-cart-pos-badge,
.xceluk-cart-card__title .xd-cart-pos-badge{display:inline-block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:3px;background:#e0f2fe;color:#0369a1}
.xceluk-cart-card__info .xd-cart-pos-badge--embroidery,
.xceluk-cart-card__title .xd-cart-pos-badge--embroidery{background:#fce7f3;color:#be185d}
.xceluk-cart-card__info .xd-cart-pos-size,
.xceluk-cart-card__title .xd-cart-pos-size{font-size:.6875rem;color:#64748b}
/* Surcharge */
.xceluk-cart-card__info .xd-cart-surcharge,
.xceluk-cart-card__title .xd-cart-surcharge{font-size:.75rem;color:#475569;padding:4px 0 2px;border-top:1px dashed var(--color-border);margin-top:4px}
/* Edit Design button - theme reinforcement */
.xceluk-cart-card__info .xd-cart-edit-btn,
.xceluk-cart-card__title .xd-cart-edit-btn{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  margin-top:8px!important;padding:7px 16px!important;font-size:.6875rem!important;
  font-weight:600!important;color:#fff!important;background:var(--xceluk-accent)!important;
  border:none!important;border-radius:var(--radius-sm)!important;text-decoration:none!important;
  cursor:pointer!important;transition:background .15s ease!important;
  letter-spacing:.02em!important;line-height:1.4!important;text-transform:uppercase;
}
.xceluk-cart-card__info .xd-cart-edit-btn:hover,
.xceluk-cart-card__title .xd-cart-edit-btn:hover{
  background:var(--xceluk-nav-bg)!important;color:#fff!important;text-decoration:none!important;
}
.xceluk-cart-card__info .xd-cart-edit-btn svg,
.xceluk-cart-card__title .xd-cart-edit-btn svg{fill:currentColor;opacity:.85}
/* Bundle edit design button (from bundle plugin) */
.xceluk-cart-card__title .bundle-edit-design-wrapper{margin-top:8px}
.xceluk-cart-card__title .bundle-edit-design-btn{
  display:inline-flex;align-items:center;gap:4px;font-size:.75rem!important;
  padding:4px 10px!important;background:var(--xceluk-announce-bg)!important;
  color:var(--xceluk-accent)!important;border:1px solid var(--xceluk-accent)!important;
  border-radius:var(--radius-sm)!important;text-decoration:none;font-weight:600;
  transition:all var(--transition-fast);
}
.xceluk-cart-card__title .bundle-edit-design-btn:hover{
  background:var(--xceluk-accent)!important;color:#fff!important;
}

/* Price / Qty / Subtotal footer */
.xceluk-cart-card__footer{
  display:flex;align-items:center;gap:1rem;margin-top:auto;padding-top:.75rem;
  border-top:1px solid var(--color-border);flex-wrap:wrap;
}
.xceluk-cart-card__label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:600;margin-bottom:2px}
.xceluk-cart-card__price{font-size:.9375rem;color:var(--color-text)}
.xceluk-cart-card__qty{display:flex;align-items:center;gap:.5rem}
.xceluk-cart-card__qty .qty{
  width:3.5rem;height:2.5rem;text-align:center;font-size:.9375rem;font-weight:600;
  border:1px solid var(--color-border);border-radius:var(--radius-md);
  padding:0;appearance:textfield;-moz-appearance:textfield;
}
.xceluk-cart-card__qty .qty::-webkit-outer-spin-button,
.xceluk-cart-card__qty .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.xceluk-cart-card__qty .qty:focus{border-color:var(--xceluk-accent);outline:none;box-shadow:0 0 0 3px rgba(41,128,185,.1)}
.xceluk-cart-card__subtotal{margin-left:auto;text-align:right;font-size:1.0625rem}
.xceluk-cart-card__subtotal strong{color:var(--color-text)}

/* ─── Cart Actions (Coupon + Update) ─── */
.xceluk-cart-actions{
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
  padding:1rem 0;
}
.xceluk-coupon{display:flex;gap:.5rem;flex:1;min-width:240px}
.xceluk-coupon input{
  flex:1;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);
  font-size:.875rem;min-width:0;
}
.xceluk-coupon input:focus{border-color:var(--xceluk-accent);outline:none;box-shadow:0 0 0 3px rgba(41,128,185,.1)}
.xceluk-coupon__btn{
  background:#fff!important;color:var(--xceluk-accent)!important;border:1px solid var(--xceluk-accent)!important;
  border-radius:var(--radius-md)!important;padding:.625rem 1.25rem!important;font-weight:600!important;font-size:.875rem!important;
  cursor:pointer;transition:all var(--transition-fast)!important;white-space:nowrap;
}
.xceluk-coupon__btn:hover{background:var(--xceluk-accent)!important;color:#fff!important}
.xceluk-update-cart{
  background:#fff!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;
  border-radius:var(--radius-md)!important;padding:.625rem 1.25rem!important;font-weight:500!important;font-size:.8125rem!important;
  cursor:pointer;transition:all var(--transition-fast)!important;display:inline-flex!important;align-items:center;gap:.375rem;
}
.xceluk-update-cart:hover{border-color:#94a3b8!important;background:var(--xceluk-announce-bg)!important}

/* Continue shopping */
.xceluk-continue-shopping{
  display:inline-flex;align-items:center;gap:.375rem;color:var(--xceluk-accent);
  text-decoration:none;font-size:.875rem;font-weight:500;margin-top:.5rem;
  transition:color var(--transition-fast);
}
.xceluk-continue-shopping:hover{color:var(--xceluk-nav-bg)}

/* ─── Order Summary Sidebar ─── */
.xceluk-cart-sidebar{position:relative}
@media(min-width:1024px){.xceluk-cart-sidebar{position:sticky;top:6rem}}

.xceluk-order-summary{
  background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
  overflow:hidden;
}
.xceluk-order-summary__title{
  font-size:1.125rem;font-weight:700;margin:0;padding:1.25rem 1.5rem;
  background:var(--xceluk-announce-bg);border-bottom:1px solid var(--color-border);
}

/* Override default cart_totals inside sidebar */
.xceluk-order-summary .cart_totals{
  background:transparent;padding:0;border-radius:0;margin:0;
}
.xceluk-order-summary .cart_totals h2{display:none}
.xceluk-order-summary .cart_totals table{width:100%;margin:0}
.xceluk-order-summary .cart_totals table th{
  padding:1rem 1.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-light);text-align:left;border-bottom:1px solid var(--color-border);
}
.xceluk-order-summary .cart_totals table td{
  padding:1rem 1.5rem;text-align:right;border-bottom:1px solid var(--color-border);font-size:.9375rem;
}
.xceluk-order-summary .cart_totals .order-total th,
.xceluk-order-summary .cart_totals .order-total td{
  font-size:1.25rem;font-weight:700;color:var(--color-text);padding:1.25rem 1.5rem;
  border-bottom:none;background:var(--xceluk-announce-bg);
}
.xceluk-order-summary .cart_totals .wc-proceed-to-checkout{padding:1.25rem 1.5rem}
.xceluk-order-summary .cart_totals .checkout-button{
  display:block;width:100%;text-align:center;background:var(--xceluk-accent);color:#fff;
  padding:1rem;border-radius:var(--radius-md);font-size:1.0625rem;font-weight:700;
  text-decoration:none;transition:all var(--transition-fast);
  box-shadow:0 2px 8px rgba(41,128,185,.25);
}
.xceluk-order-summary .cart_totals .checkout-button:hover{
  background:var(--xceluk-nav-bg);color:#fff;box-shadow:0 4px 12px rgba(41,128,185,.35);transform:translateY(-1px);
}

/* Shipping options inside sidebar */
.xceluk-order-summary .cart_totals .shipping td{padding-top:.5rem;padding-bottom:.5rem}
.xceluk-order-summary .cart_totals #shipping_method{list-style:none;padding:0;margin:0}
.xceluk-order-summary .cart_totals #shipping_method li{
  display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.8125rem;
  border-bottom:1px solid var(--color-border);
}
.xceluk-order-summary .cart_totals #shipping_method li:last-child{border-bottom:none}
.xceluk-order-summary .cart_totals #shipping_method li label{
  display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1;line-height:1.4;font-weight:400;
}
.xceluk-order-summary .cart_totals #shipping_method li input[type="radio"]{
  width:16px;height:16px;accent-color:var(--xceluk-accent);flex-shrink:0;margin:0;
}
.xceluk-order-summary .cart_totals .shipping-calculator-form{margin-top:.75rem}
.xceluk-order-summary .cart_totals .shipping-calculator-form p{margin-bottom:.5rem}
.xceluk-order-summary .cart_totals .shipping-calculator-button{
  font-size:.8125rem;color:var(--xceluk-accent);text-decoration:underline;cursor:pointer;
  background:none;border:none;padding:0;font-family:var(--font-sans);
}
.xceluk-order-summary .cart_totals .woocommerce-shipping-destination{font-size:.75rem;color:var(--color-text-light);margin-top:.375rem}
.xceluk-order-summary .cart_totals .shipping th{vertical-align:top}
.xceluk-order-summary .cart_totals .shipping td{vertical-align:top}

/* Cross-sells inside sidebar - hide on cart page (takes too much space) */
.xceluk-order-summary .cross-sells{display:none}

/* Trust Signals */
.xceluk-trust-signals{
  display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;
  border-top:1px solid var(--color-border);
}
.xceluk-trust-signal{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;color:#475569}
.xceluk-trust-signal svg{color:#16a34a;flex-shrink:0}

/* Payment icons */
.xceluk-payment-icons{padding:.75rem 1.5rem 1.25rem;border-top:1px solid var(--color-border)}
.xceluk-payment-icons__label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:600;margin-bottom:.5rem}
.xceluk-payment-icons__row{display:flex;gap:.5rem;align-items:center}
.xceluk-payment-icons__row img{border-radius:3px;opacity:.75;transition:opacity .15s}
.xceluk-payment-icons__row img:hover{opacity:1}

/* ═══════════════════════════════════════════════════════
   CART PAGE - Mobile Responsive
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){
  .xceluk-delivery-bar{padding:.75rem 1rem;margin-bottom:1rem}
  .xceluk-delivery-bar p{font-size:.8125rem}

  /* Cards: tighter layout */
  .xceluk-cart-card{grid-template-columns:80px 1fr;gap:.75rem;padding:1rem}
  .xceluk-cart-card__image{width:80px;height:80px}
  .xceluk-cart-card__title{font-size:.9375rem;margin-right:1.5rem}
  .xceluk-cart-card__remove a.remove{width:24px;height:24px;font-size:14px}

  /* Footer row: stack on small screens */
  .xceluk-cart-card__footer{gap:.5rem}
  .xceluk-cart-card__price{flex:0 0 auto}
  .xceluk-cart-card__qty{flex:0 0 auto}
  .xceluk-cart-card__qty .qty{width:3rem;height:2.25rem;font-size:.875rem}
  .xceluk-cart-card__subtotal{flex:0 0 auto}

  /* Coupon: full width */
  .xceluk-cart-actions{flex-direction:column;gap:.5rem}
  .xceluk-coupon{min-width:100%;width:100%}
  .xceluk-coupon input{padding:.75rem}
  .xceluk-coupon__btn{padding:.75rem 1rem!important;min-height:44px}
  .xceluk-update-cart{width:100%;justify-content:center;padding:.75rem!important;min-height:44px}

  /* Order summary: make checkout CTA prominent */
  .xceluk-order-summary__title{padding:1rem 1.25rem;font-size:1rem}
  .xceluk-order-summary .cart_totals table th,
  .xceluk-order-summary .cart_totals table td{padding:.75rem 1.25rem}
  .xceluk-order-summary .cart_totals .wc-proceed-to-checkout{padding:1rem 1.25rem}
  .xceluk-order-summary .cart_totals .checkout-button{min-height:48px;font-size:1rem;padding:.875rem}

  /* Trust + payment: smaller padding */
  .xceluk-trust-signals{padding:.75rem 1.25rem}
  .xceluk-payment-icons{padding:.5rem 1.25rem 1rem}
}

/* Very small screens */
@media(max-width:374px){
  .xceluk-cart-card{grid-template-columns:64px 1fr;gap:.5rem;padding:.75rem}
  .xceluk-cart-card__image{width:64px;height:64px}
  .xceluk-cart-card__title{font-size:.875rem}

  /* Price row: full-width stack */
  .xceluk-cart-card__footer{flex-direction:column;align-items:flex-start}
  .xceluk-cart-card__subtotal{margin-left:0;text-align:left}
}

/* ─── Checkout ─── */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.woocommerce-checkout .col2-set{grid-template-columns:1fr 1fr}}

.woocommerce-checkout h3{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--xceluk-accent)}
.woocommerce-checkout .form-row label{font-size:.8125rem;font-weight:500;margin-bottom:.25rem}
.woocommerce-checkout .form-row input,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem 1rem}
.woocommerce-checkout .form-row input:focus,.woocommerce-checkout .form-row textarea:focus,.woocommerce-checkout .form-row select:focus{border-color:var(--xceluk-accent);box-shadow:0 0 0 3px rgba(41,128,185,.1)}

/* Order review */
.woocommerce-checkout-review-order-table{width:100%;margin-bottom:1.5rem}
#order_review{background:var(--xceluk-announce-bg);padding:1.5rem;border-radius:var(--radius-lg);margin-top:1.5rem}
#place_order{display:block;width:100%;background:var(--xceluk-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:1rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast)}
#place_order:hover{background:var(--xceluk-nav-bg)}

/* Checkout progress indicator */
.checkout-progress{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}
.checkout-progress__step{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-light)}
.checkout-progress__step.is-active{color:var(--xceluk-accent);font-weight:600}
.checkout-progress__step.is-complete{color:#27ae60}
.checkout-progress__separator{width:2rem;height:1px;background:var(--color-border)}

/* ─── My Account ─── */
.woocommerce-MyAccount-navigation{margin-bottom:1.5rem}
@media(min-width:768px){
  .woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:2rem}
}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-MyAccount-navigation ul li{margin-bottom:0}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:.75rem 1rem;color:var(--color-text);text-decoration:none;border-radius:var(--radius-md);font-size:.9375rem;transition:all var(--transition-fast)}
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--xceluk-announce-bg);color:var(--xceluk-accent)}
.woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a{background:var(--xceluk-accent);color:#fff}

.woocommerce-MyAccount-content{min-height:300px}

/* Account orders table */
.woocommerce-orders-table{width:100%;font-size:.875rem}
.woocommerce-orders-table .button{font-size:.8125rem;padding:.375rem .75rem}

/* Login / Register forms */
.woocommerce-form-login,.woocommerce-form-register{max-width:480px;background:#fff;padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-lg)}

/* ─── WooCommerce Messages ─── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.9375rem;border-left:4px solid;list-style:none}
.woocommerce-message{background:#eafaf1;border-color:#27ae60;color:#1e7e34}
.woocommerce-info{background:#ebf5fb;border-color:var(--xceluk-accent);color:#1a5276}
.woocommerce-error{background:#fdedec;border-color:#e74c3c;color:#922b21}
.woocommerce-error li{margin-bottom:.375rem}
.woocommerce-message .button,.woocommerce-info .button{float:right;font-size:.8125rem;padding:.375rem 1rem;background:transparent;color:inherit;border:1px solid currentColor;border-radius:var(--radius-sm);text-decoration:none;margin-left:1rem}

/* ─── Mini Cart Widget ─── */
.header-action--cart{position:relative}
.header-action--cart .header-action__link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text);font-weight:600;white-space:nowrap;transition:color var(--transition-fast)}
.header-action--cart .header-action__link:hover{color:var(--xceluk-accent)}

/* Mini-cart dropdown - smooth reveal on hover */
.mini-cart-dropdown{
  position:absolute;top:calc(100% + 4px);right:-12px;width:370px;
  background:#fff;border-radius:var(--radius-lg);
  box-shadow:0 10px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  z-index:9999;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(10px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
  padding:0;overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
}
/* Invisible hover bridge so dropdown doesn't close when moving cursor */
.header-action--cart::after{
  content:'';position:absolute;top:100%;right:0;width:100%;height:12px;
}
.header-action--cart:hover .mini-cart-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}

/* Mini-cart inner layout */
.mini-cart-dropdown .widget_shopping_cart_content{padding:1rem 1.25rem 1.25rem}
.mini-cart-dropdown .woocommerce-mini-cart{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.mini-cart-dropdown .woocommerce-mini-cart::-webkit-scrollbar{width:4px}
.mini-cart-dropdown .woocommerce-mini-cart::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}

/* Mini-cart item rows
   HTML: <a.remove>  <a>(img+name)</a>  .variation  .quantity
   Remove is absolute-positioned to top-right */
.mini-cart-dropdown .woocommerce-mini-cart-item{
  position:relative;display:flex;flex-wrap:wrap;gap:.5rem;
  padding:.75rem 1.75rem .75rem 0;border-bottom:1px solid var(--color-border);
  align-items:flex-start;
}
.mini-cart-dropdown .woocommerce-mini-cart-item:last-child{border-bottom:none;padding-bottom:0}
.mini-cart-dropdown .woocommerce-mini-cart-item .remove{
  position:absolute;top:.75rem;right:0;
  color:#94a3b8!important;font-size:1.125rem;text-decoration:none;line-height:1;
  width:20px;height:20px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:all .15s ease;
}
.mini-cart-dropdown .woocommerce-mini-cart-item .remove:hover{color:#e74c3c!important;background:#fef2f2}
.mini-cart-dropdown .woocommerce-mini-cart-item a:not(.remove){
  text-decoration:none;color:var(--color-text);font-size:.8125rem;font-weight:500;line-height:1.4;
  display:flex;align-items:flex-start;gap:.625rem;flex:1;min-width:0;
}
.mini-cart-dropdown .woocommerce-mini-cart-item a:not(.remove):hover{color:var(--xceluk-accent)}
.mini-cart-dropdown .woocommerce-mini-cart-item img{
  width:50px;height:50px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;
}
.mini-cart-dropdown .woocommerce-mini-cart-item .quantity{display:block;font-size:.75rem;color:var(--color-text-light);margin-top:2px;width:100%;padding-left:calc(50px + .625rem)}
.mini-cart-dropdown .woocommerce-mini-cart-item dl.variation{width:100%;padding-left:calc(50px + .625rem);margin:0;font-size:.75rem}

/* Mini-cart item name */
.mini-cart-dropdown .mini-cart-item-name{display:inline}

/* Mini-cart totals + buttons */
.mini-cart-dropdown p.woocommerce-mini-cart__total,.mini-cart-dropdown .woocommerce-mini-cart__total{
  display:flex;justify-content:space-between;padding:.75rem 0;margin:0;
  font-weight:700;font-size:.9375rem;border-top:2px solid var(--color-border);margin-top:.25rem;
}
.mini-cart-dropdown p.woocommerce-mini-cart__buttons,.mini-cart-dropdown .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.5rem;margin:0}
.mini-cart-dropdown .woocommerce-mini-cart__buttons a{
  text-align:center;padding:.75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;
  text-decoration:none;transition:all var(--transition-fast);
}
.mini-cart-dropdown .woocommerce-mini-cart__buttons a:first-child{border:1px solid var(--color-border);color:var(--color-text);background:#fff}
.mini-cart-dropdown .woocommerce-mini-cart__buttons a:first-child:hover{background:var(--xceluk-announce-bg);border-color:#cbd5e1}
.mini-cart-dropdown .woocommerce-mini-cart__buttons a:last-child{background:var(--xceluk-accent);color:#fff;border:1px solid var(--xceluk-accent)}
.mini-cart-dropdown .woocommerce-mini-cart__buttons a:last-child:hover{background:var(--xceluk-nav-bg);border-color:var(--xceluk-nav-bg)}
.mini-cart-dropdown .woocommerce-mini-cart__empty-message{text-align:center;padding:2rem 1rem;color:var(--color-text-light);font-size:.875rem}

/* Mini-cart loading skeleton */
.mini-cart-loading{padding:1rem}
.mini-cart-loading .skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:6px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Hide mini-cart dropdown on tablet/mobile - they tap through to cart page */
@media(max-width:1023px){.mini-cart-dropdown{display:none!important}}

/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVE - Single Product
   ═══════════════════════════════════════════════════════ */

/* Tablet: slightly tighter spacing */
@media(max-width:1023px){
  .single-product-layout{gap:1.5rem}
  .summary .product_title{font-size:1.375rem}
  .summary .price{font-size:1.25rem}
}

/* Mobile: stacked layout */
@media(max-width:767px){
  .single-product .site-main{padding-top:.5rem;padding-bottom:1.5rem}
  .single-product-layout{gap:1.25rem;margin-bottom:0}

  /* Gallery */
  .xceluk-gallery__thumbs{grid-template-columns:repeat(4,1fr);gap:.375rem;margin-top:.5rem}
  .xceluk-gallery__main{border-radius:var(--radius-md)}

  /* Summary */
  .summary.entry-summary{padding:0 .25rem}
  .summary .product_title{font-size:1.25rem;margin-bottom:.5rem}
  .summary .price{font-size:1.125rem;margin-bottom:.75rem}
  .summary .woocommerce-product-details__short-description{font-size:.875rem;margin-bottom:1rem;line-height:1.6}

  /* Colour swatches - smaller on mobile */
  .product-thumbnail{width:48px;height:48px}
  .summary .xceluk-colour-swatch,.summary .colour-swatch,.summary .color-swatch{width:48px;height:48px}

  /* Size table - compact mobile layout */
  .detail__quantity .variation-item{padding:.5rem .625rem}
  .detail__quantity .quantity__label{min-width:70px;font-size:.8125rem;padding-right:.625rem}
  .detail__quantity .quantity__stock{font-size:.75rem;padding-left:.625rem}
  .detail__quantity .quantity__button{width:1.75rem;height:1.75rem}
  .detail__quantity .quantity__input{width:2rem;font-size:.8125rem;line-height:1.75rem;height:1.75rem}

  /* Total bar - stack on mobile */
  .detail__total-wrapper{flex-direction:column;align-items:stretch;padding:.875rem 1rem;gap:.625rem}
  .detail__total-buttons{width:100%}
  .detail__total-buttons .button{width:100%!important;min-width:0!important;padding:.875rem 1rem!important}

  /* Tier pricing table */
  .summary table td,.summary table th{padding:.5rem .625rem;font-size:.8125rem}

  /* Brand logo */
  .summary .pwb-single-product-brands,.summary .brand-logo{float:none;margin:0 0 .75rem;text-align:center}
  .summary .pwb-single-product-brands img,.summary .brand-logo img{margin:0 auto}

  /* Below product section */
  .single-product-below{margin-top:1.5rem}

  /* Tabs */
  .woocommerce-tabs ul.tabs{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .woocommerce-tabs ul.tabs li a{padding:.75rem 1rem;font-size:.8125rem;white-space:nowrap}
  .woocommerce-tabs .panel,.woocommerce-tabs .woocommerce-Tabs-panel{padding:1.25rem 0}
  .woocommerce-tabs .panel h2,.woocommerce-tabs .woocommerce-Tabs-panel h2{font-size:1.0625rem}
  .woocommerce-tabs .shop_attributes th{width:40%;padding:.625rem .75rem;font-size:.8125rem}
  .woocommerce-tabs .shop_attributes td{padding:.625rem .75rem;font-size:.8125rem}

  /* Related products */
  .related.products,.up-sells{margin-top:2rem;padding-top:1.5rem}
  .related.products>h2,.up-sells>h2{font-size:1.125rem;margin-bottom:1rem}

  /* Product meta */
  .product_meta{margin-top:1rem;padding:1rem;font-size:.75rem}
  .product_meta>span{gap:.125rem}
}

/* Very small screens */
@media(max-width:374px){
  .xceluk-gallery__thumbs{grid-template-columns:repeat(3,1fr)}
  .product-thumbnail{width:40px;height:40px}
  .summary .xceluk-colour-swatch,.summary .colour-swatch,.summary .color-swatch{width:40px;height:40px}
  .detail__quantity .quantity{flex-wrap:wrap;gap:.375rem}
  .detail__quantity .quantity__label{min-width:auto;border-right:none;padding-right:0;width:100%;font-size:.8125rem}
  .detail__quantity .quantity__stock{padding-left:0;flex:1}
  .detail__quantity .quantity__spinner{margin-left:0}
}

/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVE - Shop/Archive Grid
   ═══════════════════════════════════════════════════════ */
@media(max-width:479px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:.75rem}
  ul.products li.product .woocommerce-loop-product__title{font-size:.8125rem}
  ul.products li.product .price{font-size:.8125rem}
  ul.products li.product .button{margin:.375rem .75rem .75rem;padding:.5rem;font-size:.75rem}
  .product-card__info{padding:.625rem .75rem}
}

/* Mobile: sidebar above products */
@media(max-width:1023px){
  .shop-sidebar{order:-1}
  .shop-sidebar .sidebar-widget{margin-bottom:1rem}
}

/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVE - Cart & Checkout
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){
  /* Checkout columns stack */
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}

  /* Checkout progress */
  .checkout-progress{gap:.25rem;padding:1rem 0;margin-bottom:1.5rem}
  .checkout-progress__step{font-size:.75rem}
  .checkout-progress__separator{width:1rem}

  /* Account layout */
  .woocommerce-account .woocommerce{display:block}
  .woocommerce-MyAccount-navigation{margin-bottom:1rem}
  .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:.25rem}
  .woocommerce-MyAccount-navigation ul li a{padding:.5rem .75rem;font-size:.8125rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}

  /* Messages */
  .woocommerce-message,.woocommerce-info,.woocommerce-error{font-size:.8125rem;padding:.75rem 1rem}
  .woocommerce-message .button,.woocommerce-info .button{float:none;display:block;margin:0.5rem 0 0;text-align:center}
}
