/*
Theme Name: Xepawheels
Theme URI: https://xepawheels.com
Author: Xepawheels
Description: Native WooCommerce theme reproducing the Xepawheels store product page (mobile-first). No page builder, no parent theme.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: xepawheels
WC requires at least: 7.0
WC tested up to: 9.5
*/

/* =========================================================
   0. TOKENS
   ========================================================= */
:root{
  --xw-black:#000000;
  --xw-text:#121212;
  --xw-muted:#6b6b6b;
  --xw-line:#e6e6e6;
  --xw-bg:#ffffff;
  --xw-bg-2:#f6f6f6;
  --xw-accent:#ee9441;          /* orange */
  --xw-accent-2:#000000;        /* badges */
  --xw-sale:#FF0000;            /* sale price */
  --xw-green:#00b67a;           /* trustpilot */
  --xw-star:#ffcc00;
  --xw-highlight:#6d388b;
  --xw-radius:6px;
  --xw-radius-lg:14px;
  --xw-page:1400px;

  --xw-gutter:15px;
  --xw-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --xw-header-h:64px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;padding:0;
  font-family:var(--xw-font);
  font-size:14px;line-height:1.55;letter-spacing:.06em;
  color:var(--xw-text);background:var(--xw-bg);
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.2;letter-spacing:-.01em;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
ul{margin:0;padding:0;list-style:none;}
.xw-page{max-width:var(--xw-page);margin:0 auto;padding:0 var(--xw-gutter);}
.xw-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;line-height:1;}

/* =========================================================
   1. HEADER
   ========================================================= */
.xw-header{
  position:sticky;top:0;z-index:60;background:#fff;
  border-bottom:1px solid var(--xw-line);
}
.xw-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;min-height:var(--xw-header-h);padding:8px var(--xw-gutter);
}
.xw-header__logo img{max-height:42px;width:auto;margin:0 auto;}
.xw-header__logo{flex:1 1 auto;text-align:center;font-weight:800;font-size:18px;letter-spacing:-.02em;}
.xw-header__side{display:flex;align-items:center;gap:2px;flex:0 0 auto;}
.xw-icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;background:none;border:0;padding:0;cursor:pointer;color:var(--xw-text);
  transition:opacity .2s ease;
}
.xw-icon-btn:hover{opacity:.6;}
.xw-icon-btn .material-symbols-outlined{font-size:24px;}
.xw-cart-count{
  position:absolute;transform:translate(12px,-12px);
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--xw-black);color:#fff;font-size:10px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.xw-nav{display:none;}
.xw-nav a{
  font-size:15px;font-weight:600;padding:8px 12px;display:inline-block;
  transition:opacity .2s ease;
}
.xw-nav a:hover{opacity:.6;}
.xw-nav .xw-nav-highlight > a{
  background:var(--xw-black);color:#fff;border-radius:var(--xw-radius);padding:6px 14px;
}

/* Mobile drawer menu */
.xw-drawer{
  position:fixed;inset:0 auto 0 0;width:86%;max-width:360px;background:#fff;z-index:120;
  transform:translateX(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;padding:18px var(--xw-gutter);
  box-shadow:0 0 40px rgba(0,0,0,.18);
}
.xw-drawer.is-open{transform:translateX(0);}
.xw-drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.xw-drawer__title{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.xw-drawer a.xw-drawer__link{
  display:block;padding:16px 0;font-size:17px;font-weight:600;border-bottom:1px solid var(--xw-line);
}
.xw-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;z-index:110;
}
.xw-overlay.is-open{opacity:1;visibility:visible;}

/* Cart drawer */
.xw-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:92%;max-width:420px;background:#fff;z-index:120;
  transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.xw-cart-drawer.is-open{transform:translateX(0);}
.xw-cart-drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px var(--xw-gutter);border-bottom:1px solid var(--xw-line);
}
.xw-cart-drawer__title{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.xw-cart-drawer__body{flex:1;overflow-y:auto;padding:16px var(--xw-gutter);}
.xw-cart-drawer__foot{padding:16px var(--xw-gutter);border-top:1px solid var(--xw-line);}
.xw-cart-timer{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--xw-bg-2);border-radius:var(--xw-radius);padding:10px;margin-bottom:14px;
  font-size:13px;font-weight:600;
}
.xw-cart-timer strong{color:var(--xw-sale);}
.xw-cart-total{display:flex;justify-content:space-between;font-size:16px;font-weight:700;margin-bottom:12px;}

/* =========================================================
   2. BUTTONS
   ========================================================= */
.xw-btn,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce .single_add_to_cart_button{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:17px 20px;border:0;border-radius:var(--xw-radius);
  background:var(--xw-black);color:#fff;
  font-family:var(--xw-font);font-size:15px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;line-height:1.1;
  cursor:pointer;text-align:center;
  transition:transform .18s ease,box-shadow .22s ease,opacity .2s ease;
}
.xw-btn:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover{
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.22);
}
.xw-btn:active{transform:translateY(0) scale(.99);}
.xw-btn--outline{background:#fff;color:var(--xw-black);border:2px solid var(--xw-black);}

/* =========================================================
   3. PRODUCT LAYOUT
   ========================================================= */
.xw-product{padding:0 0 20px;}
.xw-product__grid{display:block;}
.xw-product__info{padding:18px var(--xw-gutter) 0;}

/* --- Gallery --- */
.xw-gallery{position:relative;background:#fff;}
.xw-gallery__viewport{overflow:hidden;}
.xw-gallery__track{
  display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.xw-gallery__slide{flex:0 0 100%;min-width:100%;}
.xw-gallery__slide img{width:100%;aspect-ratio:1/1;object-fit:contain;}
.xw-gallery__arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border:0;background:none;cursor:pointer;color:var(--xw-text);
  display:flex;align-items:center;justify-content:center;opacity:.7;
}
.xw-gallery__arrow svg{width:14px;height:14px;fill:currentColor;}
.xw-gallery__arrow--prev{left:2px;}
.xw-gallery__arrow--next{right:2px;}
.xw-gallery__dots{display:flex;justify-content:center;gap:7px;padding:10px 0 4px;}
.xw-gallery__dot{
  width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(0,0,0,.22);transition:background .2s ease,transform .2s ease;
}
.xw-gallery__dot.is-active{background:var(--xw-black);transform:scale(1.25);}
.xw-gallery__thumbs{
  display:none;gap:12px;padding:14px 0 0;overflow-x:auto;scrollbar-width:none;
}
.xw-gallery__thumbs::-webkit-scrollbar{display:none;}
.xw-gallery__thumb{
  flex:0 0 96px;border:1px solid var(--xw-line);border-radius:var(--xw-radius);
  background:#fff;padding:0;cursor:pointer;overflow:hidden;transition:border-color .2s ease;
}
.xw-gallery__thumb img{aspect-ratio:1/1;object-fit:contain;}
.xw-gallery__thumb.is-active{border-color:var(--xw-black);}

/* --- Title / rating --- */
.xw-product__title{
  font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;
}
.xw-rating{display:flex;align-items:center;gap:6px;margin:0 0 12px;flex-wrap:nowrap;overflow:hidden;}
.xw-rating .xw-tp-stars{flex-shrink:0;}
.xw-rating__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;flex-shrink:1;min-width:0;}
.xw-rating__tp-logo{flex-shrink:0;width:auto;height:14px;margin-left:2px;}
@media screen and (min-width:990px){
  .xw-rating__label{font-size:13px;}
  .xw-rating__tp-logo{height:17px;}
}
.xw-tp-stars{display:flex;gap:2px;}
.xw-tp-star{width:19px;height:19px;background:var(--xw-green);display:flex;align-items:center;justify-content:center;}
.xw-tp-star svg{width:15px;height:15px;fill:#fff;}
.xw-tp-star--half{background:linear-gradient(90deg,var(--xw-green) 80%,#c8c8c8 80%);}
.xw-tp-star--empty{background:#c8c8c8;}
.xw-tp-stars--sm .xw-tp-star{width:11px;height:11px;}
.xw-tp-stars--sm .xw-tp-star svg{width:8px;height:8px;}
.xw-rating__label{font-size:13px;font-weight:500;color:var(--xw-text);}

/* --- Price --- */
.xw-price{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px;}
.xw-price__current{font-size:26px;font-weight:800;color:var(--xw-sale);line-height:1;}
.xw-price__compare{font-size:18px;font-weight:700;color:var(--xw-muted);text-decoration:line-through;line-height:1;}
.xw-badge{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--xw-black);color:#fff;border-radius:4px;
  padding:5px 9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  white-space:nowrap;
}
.xw-badge .material-symbols-outlined{font-size:14px;}

/* --- Icon with text row --- */
.xw-icon-row{
  display:flex;justify-content:space-between;gap:10px;margin:22px 0;
}
.xw-icon-row__item{flex:1;text-align:center;}
.xw-icon-row__item .material-symbols-outlined{
  font-size:40px;color:var(--xw-text);display:block;margin:0 auto 8px;
}
.xw-icon-row__item span.xw-icon-row__text{font-size:14px;font-weight:700;display:block;line-height:1.25;}

/* --- Inventory --- */
.xw-inventory{
  display:flex;align-items:center;gap:8px;margin:14px 0;
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
}
.xw-inventory__dot{
  width:15px;height:15px;border-radius:50%;flex:0 0 15px;
  background:rgba(238,148,65,.3);position:relative;
}
.xw-inventory__dot::after{
  content:"";position:absolute;inset:2px;border-radius:50%;
  background:var(--xw-accent);border:1px solid #fff;
  animation:xw-pulse 1.6s ease-in-out infinite;
}
@keyframes xw-pulse{0%,100%{opacity:1;}50%{opacity:.45;}}

/* --- Shipping checkpoints --- */
.xw-checkpoints{position:relative;display:flex;justify-content:space-between;margin:26px 0 6px;}
.xw-checkpoints__bar{
  position:absolute;top:22px;left:16.6%;right:16.6%;height:2px;background:var(--xw-black);
}
.xw-checkpoint{flex:1;text-align:center;position:relative;z-index:1;}
.xw-checkpoint__icon{
  width:44px;height:44px;border-radius:50%;background:var(--xw-black);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 8px;
}
.xw-checkpoint__icon .material-symbols-outlined{font-size:22px;}
.xw-checkpoint__top{font-size:13px;font-weight:700;margin:0;}
.xw-checkpoint__bottom{font-size:12px;color:var(--xw-text);margin:0;line-height:1.3;}

/* =========================================================
   4. ACCORDIONS
   ========================================================= */
.xw-accordion{border-top:1px solid var(--xw-line);}
.xw-accordion:last-of-type{border-bottom:1px solid var(--xw-line);}
.xw-accordion__summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;background:none;border:0;padding:18px 2px;cursor:pointer;text-align:left;
  color:var(--xw-text);
}
.xw-accordion__title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--xw-text);}
.xw-accordion__title .material-symbols-outlined{font-size:22px;color:var(--xw-text);}
.xw-accordion__caret{
  width:14px;height:14px;flex:0 0 14px;fill:currentColor;
  transition:transform .3s ease;
}
.xw-accordion.is-open .xw-accordion__caret{transform:rotate(180deg);}
.xw-accordion__content{
  overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1);
}
.xw-accordion__content-inner{padding:0 2px 18px;font-size:14px;color:var(--xw-text);}
.xw-accordion__content-inner table{width:100%;border-collapse:collapse;font-size:13px;}
.xw-accordion__content-inner th,
.xw-accordion__content-inner td{
  padding:9px 8px;border-bottom:1px solid var(--xw-line);text-align:left;
}
.xw-accordion__content-inner th{font-weight:700;width:52%;}

/* =========================================================
   5. STICKY ATC
   ========================================================= */
.xw-sticky-atc{
  position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;
  border-top:1px solid var(--xw-line);box-shadow:0 -6px 20px rgba(0,0,0,.08);
  transform:translateY(110%);transition:transform .32s cubic-bezier(.4,0,.2,1);
  padding:10px var(--xw-gutter) calc(10px + env(safe-area-inset-bottom));
  overflow:hidden;box-sizing:border-box;width:100%;
}
.xw-sticky-atc.is-visible{transform:translateY(0);}
.xw-sticky-atc__inner{display:flex;align-items:center;gap:12px;max-width:var(--xw-page);margin:0 auto;}
.xw-sticky-atc__image{flex:0 0 52px;}
.xw-sticky-atc__image img{width:52px;height:52px;object-fit:contain;border-radius:var(--xw-radius);}
.xw-sticky-atc__left{flex:1;min-width:0;}
.xw-sticky-atc__title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.xw-sticky-atc__stars{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--xw-muted);}
.xw-sticky-atc__price{display:none;align-items:center;gap:8px;}
.xw-sticky-atc__button{flex:0 0 auto;width:52%;}
.xw-sticky-atc__button .xw-btn{padding:15px 10px;font-size:13px;}

/* =========================================================
   6. SECTIONS (shared)
   ========================================================= */
.xw-section{padding:46px 0;}
.xw-section--alt{background:var(--xw-bg-2);}
.xw-section__title{
  font-size:26px;font-weight:800;text-align:center;margin:0 0 26px;letter-spacing:-.02em;
}
.xw-section__title em{font-style:normal;color:var(--xw-highlight);}

/* --- Carousel (vanilla) --- */
.xw-carousel{position:relative;}
.xw-carousel__track{
  display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 var(--xw-gutter) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.xw-carousel__track::-webkit-scrollbar{display:none;}
.xw-carousel__slide{flex:0 0 calc(100% - 30px);scroll-snap-align:center;}
.xw-carousel__dots{display:flex;justify-content:center;gap:7px;padding-top:16px;}
.xw-carousel__dot{
  width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(0,0,0,.22);transition:background .2s ease,transform .2s ease;
}
.xw-carousel__dot.is-active{background:var(--xw-black);transform:scale(1.25);}

/* --- Trustpilot testimonial cards --- */
.xw-testimonial{
  background:#fff;border-radius:var(--xw-radius-lg);overflow:hidden;
  border:1px solid var(--xw-line);height:100%;display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.xw-testimonial:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}
.xw-testimonial__image{aspect-ratio:1/1;overflow:hidden;background:#fff;}
.xw-testimonial__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.xw-testimonial:hover .xw-testimonial__image img{transform:scale(1.04);}
.xw-testimonial__info{padding:20px 18px 24px;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;}
.xw-stars{display:flex;justify-content:center;gap:3px;margin-bottom:10px;}
.xw-stars svg{width:17px;height:17px;fill:var(--xw-star);}
.xw-testimonial__info .xw-tp-stars{justify-content:center;margin-bottom:10px;}
.xw-testimonial__quotes{color:var(--xw-black);margin-bottom:10px;}
.xw-testimonial__quotes svg{width:26px;height:26px;}
.xw-testimonial__text{font-size:15px;font-weight:700;line-height:1.45;margin:0 0 14px;}
.xw-testimonial__author{font-size:13px;font-style:italic;font-weight:700;margin:0;}
.xw-testimonial__verified{
  display:flex;align-items:center;justify-content:center;gap:4px;
  font-size:11px;color:var(--xw-green);font-weight:600;margin:6px 0 0;
}
.xw-testimonial__verified svg{flex-shrink:0;}

/* --- Rich text --- */
.xw-richtext{text-align:center;max-width:760px;margin:0 auto;font-size:15px;}
.xw-richtext p{margin-bottom:.9em;}

/* --- FAQ --- */
.xw-faq{max-width:760px;margin:0 auto;padding:0 var(--xw-gutter);}

/* --- Facebook posts --- */
.xw-fb-post{
  background:#fff;border:1px solid var(--xw-line);border-radius:12px;padding:14px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.xw-fb-post__top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.xw-fb-post__avatar img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.xw-fb-post__info{flex:1;min-width:0;}
.xw-fb-post__author{font-size:14px;font-weight:700;margin:0;display:flex;align-items:center;gap:5px;}
.xw-fb-post__time{font-size:12px;color:#65676b;margin:0;}
.xw-fb-post__dots{color:#65676b;}
.xw-fb-post__text{font-size:14px;line-height:1.45;margin:0 0 12px;}
.xw-fb-post__media img{width:100%;border-radius:8px;margin-bottom:10px;}
.xw-fb-post__reactions{
  display:flex;align-items:center;gap:6px;font-size:13px;color:#65676b;
  padding-bottom:8px;border-bottom:1px solid var(--xw-line);
}
.xw-fb-post__reactions__icons{display:flex;}
.xw-fb-post__reactions__icons svg:not(:first-child){margin-left:-5px;}
.xw-fb-post__reactions__count{margin-right:auto;}
.xw-fb-post__actions{display:flex;gap:6px;padding-top:6px;}
.xw-fb-post__action{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 4px;font-size:13px;font-weight:600;color:#65676b;border-radius:6px;
  transition:background .2s ease;cursor:pointer;white-space:nowrap;
}
.xw-fb-post__action:hover{background:#f2f2f2;}
.xw-fb-post__action svg{width:16px;height:16px;fill:currentColor;flex-shrink:0;}
@media screen and (max-width:400px){
  .xw-fb-post__action{font-size:12px;padding:8px 2px;gap:4px;}
}

/* --- Comparison table --- */
.xw-compare{max-width:760px;margin:0 auto;padding:0 var(--xw-gutter);}
.xw-compare table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:#fff;border-radius:var(--xw-radius-lg);overflow:hidden;border:1px solid var(--xw-line);}
.xw-compare th,.xw-compare td{padding:14px 10px;text-align:center;border-bottom:1px solid var(--xw-line);}
.xw-compare thead th{font-size:13px;font-weight:800;background:var(--xw-bg-2);}
.xw-compare thead th.xw-compare__us{background:var(--xw-black);color:#fff;}
.xw-compare tbody td:first-child,.xw-compare tbody th:first-child{text-align:left;font-weight:600;}
.xw-compare .xw-yes{color:var(--xw-green);font-weight:800;}
.xw-compare .xw-no{color:#c9c9c9;font-weight:800;}
.xw-compare tr:last-child td,.xw-compare tr:last-child th{border-bottom:0;}

/* =========================================================
   7. FOOTER
   ========================================================= */
.xw-footer{background:var(--xw-black);color:#fff;padding:44px 0 30px;margin-top:10px;}
.xw-footer a{color:#fff;opacity:.85;}
.xw-footer a:hover{opacity:1;}
.xw-footer__grid{display:grid;grid-template-columns:1fr;gap:28px;}
.xw-footer__logo{height:32px;width:auto;margin-bottom:14px;display:block;}
.xw-footer__title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;}
.xw-footer__menu li{margin-bottom:9px;font-size:14px;}
.xw-footer__text{font-size:14px;opacity:.85;}
.xw-footer__bottom{
  margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);
  font-size:12px;opacity:.7;text-align:center;
}
.xw-footer__payments{display:flex;flex-wrap:wrap;gap:8px;}
.xw-footer__payments span{
  height:32px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;
  color:#000;font-size:11px;font-weight:700;padding:0 12px;white-space:nowrap;
}

/* =========================================================
   8. GENERIC PAGES / WOO OVERRIDES
   ========================================================= */
.xw-basic{padding:40px 0 60px;}
.xw-basic h1{font-size:26px;margin-bottom:18px;}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  background:var(--xw-bg-2);border-left:4px solid var(--xw-black);
  padding:12px 14px;margin:0 0 16px;font-size:13px;list-style:none;border-radius:var(--xw-radius);
}
.woocommerce div.product form.cart{margin:0;}
.woocommerce div.product .quantity{display:none;}
.xw-loading .xw-spinner{
  width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
  border-radius:50%;animation:xw-spin .7s linear infinite;
}
@keyframes xw-spin{to{transform:rotate(360deg);}}

.xw-mini-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--xw-line);}
.xw-mini-item img{width:60px;height:60px;object-fit:contain;border-radius:6px;}
.xw-mini-item__name{font-size:14px;font-weight:700;}
.xw-mini-item__meta{font-size:13px;color:var(--xw-muted);}

/* Reveal animation */
.xw-animate{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.xw-animate.is-visible{opacity:1;transform:none;}

/* =========================================================
   9. TABLET / DESKTOP (mobile is the reference)
   ========================================================= */
@media screen and (min-width:750px){
  body{font-size:15px;}
  :root{--xw-gutter:24px;}
  .xw-carousel__slide{flex:0 0 calc(50% - 15px);}
  .xw-footer__grid{grid-template-columns:repeat(3,1fr);}
  .xw-section__title{font-size:32px;}
}

@media screen and (min-width:990px){
  :root{--xw-header-h:103px;--xw-gutter:50px;}
  .xw-header__inner{min-height:var(--xw-header-h);}
  .xw-header__logo{order:2;flex:1 1 auto;}
  .xw-header__logo img{max-height:70px;}
  .xw-nav{display:flex;align-items:center;gap:4px;order:1;flex:1 1 0;}
  .xw-header__side{order:3;flex:1 1 0;justify-content:flex-end;}
  .xw-burger{display:none!important;}

  .xw-product{padding:24px 0 40px;}
  .xw-product__grid{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);
    gap:60px;max-width:var(--xw-page);margin:0 auto;padding:0 var(--xw-gutter);
  }
  .xw-product__info{padding:0;position:sticky;top:calc(var(--xw-header-h) + 20px);align-self:start;}
  .xw-product__title{font-size:36px;}
  .xw-price__current{font-size:30px;}
  .xw-price__compare{font-size:21px;}
  .xw-icon-row__item .material-symbols-outlined{font-size:48px;}
  .xw-icon-row__item span.xw-icon-row__text{font-size:18px;}
  .xw-gallery__thumbs{display:flex;}
  .xw-gallery__dots{display:none;}
  .xw-gallery__arrow{display:none;}
  .xw-accordion__title{font-size:18px;}
  .xw-checkpoint__icon{width:52px;height:52px;}
  .xw-checkpoints__bar{top:26px;}
  .xw-checkpoint__top{font-size:15px;}
  .xw-checkpoint__bottom{font-size:14px;}

  .xw-carousel__track{
    display:grid;grid-template-columns:repeat(3,1fr);gap:40px;overflow:visible;
    max-width:var(--xw-page);margin:0 auto;padding:0 var(--xw-gutter);
  }
  .xw-carousel__slide{flex:none;}
  .xw-carousel__dots{display:none;}
  .xw-section{padding:70px 0;}
  .xw-section__title{font-size:40px;margin-bottom:40px;}
  .xw-testimonial__text{font-size:18px;}

  .xw-sticky-atc__inner{gap:20px;}
  .xw-sticky-atc__price{display:flex;}
  .xw-sticky-atc__button{width:auto;min-width:280px;}
  .xw-sticky-atc__button .xw-btn{padding:16px 40px;font-size:15px;}
  .xw-sticky-atc__stars{display:none;}
  .xw-footer__grid{grid-template-columns:2fr 1fr;}
}

/* Menu links generated by wp_nav_menu inside the drawer */
.xw-drawer ul{list-style:none;margin:0;padding:0;}
.xw-drawer li a{display:block;padding:16px 0;font-size:17px;font-weight:600;border-bottom:1px solid var(--xw-line);}
.xw-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.xw-search-bar{border-top:1px solid var(--xw-line);padding-top:12px;}
.xw-header__logo .custom-logo-link{display:inline-block;}
.woocommerce div.product form.cart .button{width:100%;}

/* ---- Native WooCommerce product content ---- */
.xw-product__excerpt{font-size:15px;line-height:1.6;color:var(--xw-text,#111);margin:14px 0 4px;}
.xw-product__excerpt p{margin:0 0 .7em;}
.xw-product__excerpt ul{margin:0 0 .7em 1.1em;list-style:disc;}
.xw-product__description img{max-width:100%;height:auto;border-radius:10px;}
.xw-product__description h2,.xw-product__description h3{font-size:16px;font-weight:700;margin:1em 0 .4em;}
.xw-product__meta{font-size:13px;color:#6b6b6b;margin-top:16px;}
.xw-product__meta .sku_wrapper,.xw-product__meta .posted_in,.xw-product__meta .tagged_as{display:block;margin-bottom:4px;}
.xw-product__meta a{color:inherit;text-decoration:underline;}

/* =========================================================
   9. HOME PAGE (mobile first)
   ========================================================= */
.xw-hero{position:relative;overflow:hidden;min-height:78vh;display:flex;align-items:center;justify-content:center;}
.xw-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.xw-hero__media--placeholder{background:linear-gradient(160deg,#1a1a1a,#4a4a4a);}
.xw-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.28) 100%);}
.xw-hero__content{position:relative;z-index:2;width:100%;padding:0 var(--xw-gutter);text-align:center;display:flex;justify-content:center;}
.xw-hero__box{
  background:rgba(255,255,255,.94);
  border-radius:var(--xw-radius-lg);
  padding:28px 32px;
  max-width:420px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.xw-hero__title{font-size:30px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--xw-black);}
.xw-hero__sub{margin:8px 0 0;font-size:14px;color:var(--xw-muted);}

.xw-trustbar{display:flex;gap:8px;justify-content:space-between;padding:14px var(--xw-gutter);background:var(--xw-black);color:#fff;}
.xw-trustbar__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-align:center;}
.xw-trustbar__item .material-symbols-outlined{font-size:22px;}

.xw-prodgrid{display:grid;grid-template-columns:1fr;gap:18px;}
.xw-card{display:block;border:1px solid var(--xw-line);border-radius:var(--xw-radius-lg);overflow:hidden;background:#fff;transition:box-shadow .25s ease,transform .25s ease;}
.xw-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.10);transform:translateY(-3px);}
.xw-card__media{position:relative;background:var(--xw-bg-2);}
.xw-card__media img{width:100%;height:auto;}
.xw-card__badge{position:absolute;top:10px;left:10px;background:var(--xw-black);color:#fff;padding:5px 9px;border-radius:var(--xw-radius);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.xw-card__body{padding:14px;text-align:center;}
.xw-card__title{font-size:16px;font-weight:700;margin-bottom:6px;}
.xw-card__stars{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--xw-muted);margin-bottom:8px;}
.xw-card__price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:12px;}
.xw-card__btn{max-width:100%;}

.xw-imgrow{display:grid;grid-template-columns:1fr;gap:12px;padding:0 var(--xw-gutter);}
.xw-imgrow__item img{width:100%;border-radius:var(--xw-radius-lg);}

.xw-section__sub{text-align:center;font-size:14px;color:var(--xw-muted);margin:-8px 0 18px;padding:0 var(--xw-gutter);}

.xw-slideshow{position:relative;overflow:hidden;}
.xw-slideshow__track{display:flex;transition:transform .45s ease;}
.xw-slideshow__slide{flex:0 0 100%;min-width:100%;}
.xw-slideshow__slide img{display:block;width:100%;height:auto;}
.xw-slideshow__arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;
  background:rgba(255,255,255,.85);color:var(--xw-black);display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.15);}
.xw-slideshow__arrow--prev{left:10px;}
.xw-slideshow__arrow--next{right:10px;}
.xw-slideshow__dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;}
.xw-slideshow__dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;}
.xw-slideshow__dot.is-active{background:#fff;width:22px;border-radius:6px;}

.xw-contact{max-width:640px;margin:0 auto;padding:0 var(--xw-gutter);}
.xw-contact__notice{background:#e9f7ef;border:1px solid var(--xw-green);color:#0a6b4b;padding:12px 14px;border-radius:var(--xw-radius);margin-bottom:16px;font-size:13px;}
.xw-contact__notice--error{background:#fdecec;border-color:var(--xw-sale);color:#8c0d0d;}
.xw-field-row{display:block;}
.xw-field{display:block;margin-bottom:14px;}
.xw-field-row .xw-field{margin-bottom:14px;}
.xw-field>span{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.xw-field input,.xw-field textarea{width:100%;padding:12px 14px;border:1px solid var(--xw-line);border-radius:var(--xw-radius);font-family:inherit;font-size:14px;letter-spacing:.06em;background:#fff;}
.xw-field input:focus,.xw-field textarea:focus{outline:2px solid var(--xw-black);outline-offset:1px;}
@media screen and (min-width:600px){
  .xw-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .xw-field-row .xw-field{margin-bottom:0;}
}

/* =========================================================
   10. WOO PAGES (cart / checkout / account) readability
   ========================================================= */
.woocommerce-cart .xw-basic,.woocommerce-checkout .xw-basic,.woocommerce-account .xw-basic{padding:26px 0 60px;}
.woocommerce table.shop_table{font-size:13px;border-radius:var(--xw-radius-lg);}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--xw-black);color:#fff;border-radius:var(--xw-radius);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;padding:13px 18px;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#222;color:#fff;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text{padding:11px 13px;border:1px solid var(--xw-line);border-radius:var(--xw-radius);font-family:inherit;}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--xw-black);font-size:13px;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--xw-black);}

@media screen and (min-width:750px){
  .xw-hero{min-height:62vh;}
  .xw-hero__box{padding:36px 46px;max-width:520px;}
  .xw-hero__title{font-size:40px;}
  .xw-hero__sub{font-size:16px;}
  .xw-trustbar__item{flex-direction:row;font-size:12px;gap:8px;}
  .xw-prodgrid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .xw-imgrow{grid-template-columns:repeat(3,1fr);gap:16px;}
}
@media screen and (min-width:990px){
  .xw-hero{min-height:78vh;}
  .xw-hero__box{padding:44px 56px;max-width:600px;}
  .xw-hero__title{font-size:52px;}
  .xw-hero__sub{font-size:17px;}
  .xw-prodgrid{grid-template-columns:repeat(4,1fr);}
}

/* ---------------------------------------------------------------
 * 11. Home slideshow (banner) + comparison logo
 * ------------------------------------------------------------ */
.xw-section--flush{padding-left:0;padding-right:0;}
.xw-slideshow--banner .xw-slideshow__slide img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.xw-slideshow--banner .xw-slideshow__dots{bottom:14px;}
.xw-compare__logo{display:inline-block;max-width:110px;}
.xw-compare__logo img,
.xw-compare__logo .custom-logo{display:block;width:100%;height:auto;max-height:34px;object-fit:contain;margin:0 auto;}
@media (min-width:750px){
	.xw-slideshow--banner .xw-slideshow__slide img{aspect-ratio:21/9;}
	.xw-compare__logo{max-width:150px;}
	.xw-compare__logo img,
	.xw-compare__logo .custom-logo{max-height:44px;}
}

/* ---- Mise en page 2 colonnes du comparatif (desktop) ---- */
@media screen and (min-width:990px){
	.xw-compare-layout{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:60px;
		align-items:center;
		max-width:var(--xw-page);
		margin:0 auto;
		padding:0 var(--xw-gutter);
	}
	.xw-compare-text{text-align:left;}
	.xw-compare-text .xw-section__title{text-align:left;margin-bottom:10px;}
	.xw-compare-text .xw-section__sub{text-align:left;}
	.xw-compare-table-wrap .xw-compare{max-width:none;margin:0;padding:0;}
}


/* ---- Correctif de sécurité : sticky ATC (évite tout chevauchement) ---- */
.xw-sticky-atc__inner{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;width:100%!important;}
.xw-sticky-atc__image{flex:0 0 44px!important;width:44px!important;height:44px!important;}
.xw-sticky-atc__image img{width:100%!important;height:100%!important;object-fit:contain!important;}
.xw-sticky-atc__left{flex:1 1 auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;}
.xw-sticky-atc__title{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:13px!important;line-height:1.2!important;}
.xw-sticky-atc__stars{display:flex!important;align-items:center!important;gap:4px!important;}
.xw-sticky-atc__button{flex:0 0 auto!important;width:auto!important;max-width:38%!important;min-width:0!important;}
.xw-sticky-atc__button .xw-btn{overflow:hidden!important;text-overflow:ellipsis!important;}
.xw-sticky-atc__button .xw-btn{padding:12px 14px!important;font-size:12px!important;white-space:nowrap!important;}
@media screen and (max-width:380px){
  .xw-sticky-atc__button .xw-btn{font-size:11px!important;padding:12px 8px!important;}
  .xw-sticky-atc__title{font-size:12px!important;}
}

/* ---------------------------------------------------------------
 * 12. Home page — refonte (produit vedette, témoignages, contact)
 * ------------------------------------------------------------ */
.xw-hero__cta{margin-top:18px;width:auto;padding:14px 28px;font-size:13px;}

.xw-feat-product{
  background:#fff;border-radius:var(--xw-radius-lg);overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.08);border:1px solid var(--xw-line);
  max-width:var(--xw-page);margin:0 auto;
}
.xw-feat-product__media{display:block;position:relative;background:var(--xw-bg-2);}
.xw-feat-product__media img{width:100%;height:auto;display:block;}
.xw-feat-product__info{padding:26px var(--xw-gutter) 30px;text-align:center;}
.xw-feat-product__eyebrow{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--xw-sale);margin:0 0 8px;
}
.xw-feat-product__title{font-size:24px;font-weight:800;margin:0 0 10px;}
.xw-feat-product .xw-rating{justify-content:center;}
.xw-feat-product .xw-price{justify-content:center;}
.xw-feat-product__specs{margin:18px 0;display:flex;flex-direction:column;gap:10px;text-align:left;max-width:320px;margin-left:auto;margin-right:auto;}
.xw-feat-product__specs li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;}
.xw-feat-product__specs .material-symbols-outlined{font-size:20px;flex-shrink:0;}
.xw-feat-product__btn{max-width:340px;margin:8px auto 0;}

.xw-quotegrid{display:grid;grid-template-columns:1fr;gap:16px;max-width:var(--xw-page);margin:0 auto;padding:0 var(--xw-gutter);}
.xw-quote-card{
  background:#fff;border-radius:var(--xw-radius-lg);padding:26px 22px;text-align:center;
  border:1px solid var(--xw-line);box-shadow:0 6px 18px rgba(0,0,0,.05);
}
.xw-quote-card .xw-tp-stars{justify-content:center;margin-bottom:12px;}
.xw-quote-card__text{font-size:14px;line-height:1.55;font-style:italic;margin:0 0 12px;color:var(--xw-text);}
.xw-quote-card__author{font-size:13px;font-weight:700;margin:0;}

.xw-contact-card{
  max-width:640px;margin:0 auto;padding:30px 24px;
  background:#fff;border-radius:var(--xw-radius-lg);border:1px solid var(--xw-line);
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}
.xw-contact-card .xw-contact{padding:0;}

@media screen and (min-width:750px){
  .xw-quotegrid{grid-template-columns:repeat(3,1fr);gap:20px;}
  .xw-feat-product__title{font-size:30px;}
}

@media screen and (min-width:990px){
  .xw-feat-product{display:grid;grid-template-columns:1fr 1fr;align-items:center;}
  .xw-feat-product__media img{height:100%;object-fit:cover;}
  .xw-feat-product__info{padding:40px 50px;text-align:left;}
  .xw-feat-product__eyebrow{text-align:left;}
  .xw-feat-product .xw-rating{justify-content:flex-start;}
  .xw-feat-product .xw-price{justify-content:flex-start;}
  .xw-feat-product__specs{margin-left:0;margin-right:0;}
  .xw-feat-product__btn{margin-left:0;}
  .xw-feat-product__title{font-size:34px;}
}

/* ---------------------------------------------------------------
 * 13. Checkout / Panier — habillage soigné (aucune logique touchée)
 * ------------------------------------------------------------ */
.woocommerce-checkout .xw-page,
.woocommerce-cart .xw-page,
.woocommerce-account .xw-page{
  padding:0 22px;
}
.woocommerce-checkout #customer_details,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  background:#fff;border:1px solid var(--xw-line);border-radius:var(--xw-radius-lg);
  padding:20px;margin-bottom:20px;box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--xw-line);
}
.woocommerce-checkout table.shop_table{border:1px solid var(--xw-line);border-radius:var(--xw-radius);overflow:hidden;}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{padding:10px 12px;}
.woocommerce-checkout #payment{background:var(--xw-bg-2);border-radius:var(--xw-radius);padding:4px;margin-top:16px;}
.woocommerce-checkout #payment ul.payment_methods{padding:12px;}
.woocommerce-checkout #payment .payment_box{border-radius:var(--xw-radius);background:#fff;margin-top:10px;}
.woocommerce-checkout #place_order{width:100%;height:54px;font-size:15px;letter-spacing:.08em;}

.xw-checkout-trust{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
  margin:0 0 20px;padding:14px;background:var(--xw-bg-2);border-radius:var(--xw-radius);
}
.xw-checkout-trust__item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--xw-text);}
.xw-checkout-trust__item .material-symbols-outlined{font-size:18px;color:var(--xw-green);}

.xw-checkout-guarantee{
  display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;
  background:#f0f9f4;border:1px solid var(--xw-green);border-radius:var(--xw-radius);
  font-size:12px;color:#0a6b4b;font-weight:600;
}
.xw-checkout-guarantee .material-symbols-outlined{font-size:20px;flex-shrink:0;}

@media screen and (min-width:750px){
  .xw-checkout-trust{justify-content:flex-start;}
}
