/*
 * NanaLuxe – Boutique & Tendances
 * Koulè yo (--sky, --navy, elatriye) enjekte pa PHP a (paj Réglages).
 * Tout klas yo gen prefiks "nanaluxe-" pou yo pa antre an konfli ak tèm WordPress la.
 */

.nanaluxe-container,
#nanaluxe-shop,
#nanaluxe-trending{
  font-family:'Jost', sans-serif;
  color: var(--navy);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  box-sizing:border-box;
}
#nanaluxe-shop *,
#nanaluxe-trending *{ box-sizing:border-box; }
#nanaluxe-shop h1,#nanaluxe-shop h2,#nanaluxe-shop h3,
#nanaluxe-trending h1,#nanaluxe-trending h2,#nanaluxe-trending h3{
  font-family:'Cormorant Garamond', serif; font-weight:600; letter-spacing:0.01em;
}
#nanaluxe-shop a, #nanaluxe-trending a{ color:inherit; text-decoration:none; }
#nanaluxe-shop img, #nanaluxe-trending img{ max-width:100%; display:block; }
#nanaluxe-shop button, #nanaluxe-trending button{ font-family:inherit; cursor:pointer; border:none; background:none; }

.nanaluxe-container{ max-width:1180px; margin:0 auto; padding:0 32px; }
.nanaluxe-eyebrow{
  font-size:0.72rem; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--sky); font-weight:500; display:block; margin-bottom:10px;
}

/* ---------- Collection (Boutique) ---------- */
.nanaluxe-collection{background:var(--white); padding:48px 0 100px;}
.nanaluxe-search-bar{
  max-width:480px; margin:0 auto 30px; position:relative;
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--line); border-radius:30px; padding:12px 20px;
  background:var(--off);
}
.nanaluxe-search-bar svg{width:18px; height:18px; stroke:#8592a0; flex:0 0 auto;}
.nanaluxe-search-bar input{
  border:none; background:none; outline:none; width:100%;
  font-family:'Jost',sans-serif; font-size:16px; color:var(--navy);
  -webkit-appearance:none; appearance:none; touch-action:manipulation;
}
.nanaluxe-search-bar input::placeholder{color:#a3aebb;}

.nanaluxe-filters{
  display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:52px;
}
.nanaluxe-filter-btn{
  padding:10px 22px; border:1px solid var(--line); border-radius:30px;
  font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:#5a6a79;
  transition:.2s ease; flex:0 0 auto; white-space:nowrap;
}
.nanaluxe-filter-btn.active, .nanaluxe-filter-btn:hover{ background:var(--navy); border-color:var(--navy); color:var(--white); }

/* Lè gen twòp kategori pou yo antre sou yon sèl liy (menm sou gran ekran/laptop),
   fè yo defile orizontalman olye yo kwape/pase liy oswa depase kad la. */
@media (max-width: 900px){
  .nanaluxe-filters{
    flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch; scrollbar-width:thin;
    padding-bottom:10px; margin-left:-32px; margin-right:-32px; padding-left:32px; padding-right:32px;
  }
}

.nanaluxe-no-results{
  display:none; text-align:center; padding:60px 20px; color:#8592a0;
  font-family:'Cormorant Garamond',serif; font-size:1.15rem;
}
.nanaluxe-no-results.show{display:block;}

/* ---------- Trending (Accueil) ---------- */
.nanaluxe-trending{background:var(--white); padding:70px 0 80px;}
.nanaluxe-trending-head{
  display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap;
  gap:20px; margin-bottom:40px;
}
.nanaluxe-trending-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);}
.nanaluxe-trending-head p{color:#5a6a79; font-size:0.95rem; margin-top:8px; max-width:420px;}
.nanaluxe-btn-outline{
  display:inline-block; padding:14px 28px; border:1px solid var(--navy); color:var(--navy);
  font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px;
  transition:.25s ease; white-space:nowrap;
}
.nanaluxe-btn-outline:hover{background:var(--navy); color:var(--white);}

/* ---------- Grille de produits ---------- */
.nanaluxe-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.nanaluxe-card{
  position:relative; border:1px solid var(--line); border-radius:3px; overflow:hidden;
  background:var(--off); transition:transform .3s ease, box-shadow .3s ease;
  cursor:pointer;
}
.nanaluxe-card:hover{ transform:translateY(-6px); box-shadow:0 22px 40px rgba(28,43,58,0.12); }
.nanaluxe-card-visual{
  aspect-ratio:1; position:relative; overflow:hidden; background:var(--sky-pale);
}
.nanaluxe-card-visual img{ width:100%; height:100%; object-fit:cover; }
.nanaluxe-card-tag{
  position:absolute; top:12px; left:12px; background:var(--white);
  font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase;
  padding:5px 10px; border-radius:20px; color:var(--sky); z-index:2;
}
.nanaluxe-trending-tag{
  position:absolute; top:12px; right:12px; background:var(--navy);
  color:var(--white); font-size:0.62rem; font-weight:600; letter-spacing:0.05em;
  text-transform:uppercase; padding:5px 10px; border-radius:20px; z-index:2;
}
.nanaluxe-discount-pill{
  position:absolute; top:12px; right:12px; background:var(--pink);
  color:var(--white); font-size:0.68rem; font-weight:600; letter-spacing:0.03em;
  padding:5px 10px; border-radius:20px; z-index:2;
}
.nanaluxe-outofstock{
  position:absolute; bottom:12px; left:12px; background:rgba(28,43,58,0.85);
  color:var(--white); font-size:0.62rem; font-weight:600; letter-spacing:0.03em;
  text-transform:uppercase; padding:5px 10px; border-radius:20px; z-index:2;
}
.nanaluxe-card-body{padding:20px 22px 24px;}
.nanaluxe-cat{font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sky); margin-bottom:6px; display:block;}
.nanaluxe-card-body h3{font-size:1.3rem; margin-bottom:4px;}
.nanaluxe-price-row{display:flex; align-items:baseline; gap:8px; margin-bottom:12px; min-height:1.2em;}
.nanaluxe-price{font-family:'Jost',sans-serif; font-weight:600; font-size:0.95rem; color:var(--sky);}
.nanaluxe-price.old{font-weight:400; color:#a3aebb; text-decoration:line-through; font-size:0.85rem;}
.nanaluxe-price-htg{font-size:0.8rem; font-weight:600; color:var(--navy);}
.nanaluxe-card-foot{display:flex; align-items:center; justify-content:space-between;}
.nanaluxe-card-cta{
  font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
  border-bottom:1px solid var(--navy); padding-bottom:2px; position:relative; z-index:2;
}
.nanaluxe-card-cta:hover{color:var(--sky); border-color:var(--sky);}
.nanaluxe-card-cta.in-cart{color:var(--sky); border-color:var(--sky);}

/* ---------- Panye ---------- */
.nanaluxe-cart-fab{
  position:fixed; bottom:26px; right:26px; z-index:200;
  display:none; align-items:center; gap:10px;
  background:var(--navy); color:var(--white);
  padding:15px 22px; border-radius:40px;
  box-shadow:0 14px 30px rgba(28,43,58,0.28); transition:.25s ease;
}
.nanaluxe-cart-fab.show{display:flex;}
.nanaluxe-cart-fab:hover{background:var(--sky); transform:translateY(-2px);}
.nanaluxe-cart-fab svg{width:19px; height:19px; stroke:currentColor;}
.nanaluxe-cart-count{
  background:var(--sky); color:var(--white); font-size:0.72rem; font-weight:600;
  width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.nanaluxe-cart-fab:hover .nanaluxe-cart-count{background:var(--white); color:var(--sky);}
.nanaluxe-cart-fab .nanaluxe-label{font-size:0.8rem; letter-spacing:0.04em; text-transform:uppercase;}

.nanaluxe-cart-items{margin:6px 0 10px; max-height:300px; overflow-y:auto;}
.nanaluxe-cart-item{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 0; border-bottom:1px solid var(--line);
}
.nanaluxe-cart-item:first-child{padding-top:0;}
.nanaluxe-cart-item-info{font-family:'Cormorant Garamond',serif; font-size:1.02rem; line-height:1.4;}
.nanaluxe-cart-item-info .nanaluxe-cart-item-price{display:block; font-family:'Jost',sans-serif; font-size:0.78rem; font-weight:600; color:var(--sky); margin-top:2px;}
.nanaluxe-cart-item-actions{display:flex; align-items:center; gap:12px; flex:0 0 auto;}
.nanaluxe-cart-item-actions .nanaluxe-qty-stepper button{width:30px; height:30px; font-size:1rem;}
.nanaluxe-cart-item-actions .nanaluxe-qty-stepper input{width:32px; font-size:14px;}
.nanaluxe-cart-item-actions button.nanaluxe-remove{
  font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase;
  color:#8592a0; border-bottom:1px solid #8592a0;
}
.nanaluxe-cart-item-actions button.nanaluxe-remove:hover{color:#c0392b; border-color:#c0392b;}
.nanaluxe-cart-empty{color:#8592a0; font-size:0.92rem; padding:10px 0 20px;}
.nanaluxe-cart-total{
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:16px 0; margin-bottom:8px; border-top:1px solid var(--line);
  font-family:'Cormorant Garamond',serif;
}
.nanaluxe-cart-total .nanaluxe-label{font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; font-family:'Jost',sans-serif; color:#5a6a79;}
.nanaluxe-amounts{display:flex; align-items:baseline; gap:8px;}
.nanaluxe-amount{font-size:1.6rem; font-weight:600; color:var(--sky);}
.nanaluxe-amount-htg{font-size:0.9rem; font-weight:600; color:var(--navy); font-family:'Jost',sans-serif;}

/* Coordonnées + zone livrezon */
.nanaluxe-checkout-fields{margin:20px 0 22px; padding-top:18px; border-top:1px solid var(--line);}
.nanaluxe-checkout-fields .nanaluxe-field{margin-bottom:14px;}
.nanaluxe-checkout-fields .nanaluxe-field input,
.nanaluxe-checkout-fields .nanaluxe-field select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:2px;
  font-family:'Jost',sans-serif; font-size:16px; background:var(--off); color:var(--navy);
}
.nanaluxe-checkout-fields .nanaluxe-field input:focus,
.nanaluxe-checkout-fields .nanaluxe-field select:focus{outline:2px solid var(--sky); outline-offset:1px;}
.nanaluxe-checkout-fields .nanaluxe-field label{display:block; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:#5a6a79; margin-bottom:7px;}
.nanaluxe-checkout-fields .nanaluxe-field.error input{border-color:#c0392b; background:#fdf1f0;}
.nanaluxe-field-error{display:none; color:#c0392b; font-size:0.75rem; margin-top:6px;}
.nanaluxe-checkout-fields .nanaluxe-field.error .nanaluxe-field-error{display:block;}

/* Toast */
.nanaluxe-toast{
  position:fixed; left:50%; bottom:30px; transform:translate(-50%, 20px);
  background:var(--navy); color:var(--white); padding:14px 24px; border-radius:30px;
  font-size:0.85rem; letter-spacing:0.02em; z-index:1200;
  opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
  display:flex; align-items:center; gap:10px; box-shadow:0 14px 30px rgba(28,43,58,0.3);
}
.nanaluxe-toast.show{opacity:1; transform:translate(-50%, 0);}
.nanaluxe-toast svg{width:18px; height:18px; stroke:var(--sky-light); flex:0 0 auto;}

/* Boutons */
.nanaluxe-btn-primary{
  display:inline-block; padding:16px 34px; background:var(--navy); color:var(--white);
  font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase;
  border-radius:2px; transition:.25s ease; text-align:center; width:100%;
}
.nanaluxe-btn-primary:hover{background:var(--sky); transform:translateY(-2px); box-shadow:0 12px 24px rgba(97,79,237,0.35);}

#nanaluxe-product-overlay, #nanaluxe-cart-overlay{
  position:fixed !important; inset:0; background:rgba(28,43,58,0.55); backdrop-filter:blur(3px);
  display:none; align-items:center; justify-content:center; z-index:2147483000; padding:20px;
}
#nanaluxe-product-overlay.open, #nanaluxe-cart-overlay.open{display:flex;}
#nanaluxe-product-overlay .nanaluxe-modal,
#nanaluxe-cart-overlay .nanaluxe-modal,
#nanaluxe-product-overlay .nanaluxe-product-modal{
  background:var(--white); width:100%; max-width:440px; border-radius:4px;
  padding:40px 34px 34px; position:relative;
  max-height:90vh !important; height:auto !important;
  overflow-y:scroll !important; overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain; touch-action:pan-y;
}
.nanaluxe-modal-close{position:absolute; top:16px; right:18px; font-size:1.3rem; color:#8592a0;}
.nanaluxe-modal h3{font-size:1.7rem; margin-bottom:6px;}
.nanaluxe-modal p.nanaluxe-sub{font-size:0.88rem; color:#5a6a79; margin-bottom:26px;}
.nanaluxe-field{margin-bottom:18px;}
.nanaluxe-field label{display:block; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:#5a6a79; margin-bottom:7px;}
.nanaluxe-field select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:2px;
  font-family:'Jost',sans-serif; font-size:16px; background:var(--off);
}
.nanaluxe-field select:focus{outline:2px solid var(--sky); outline-offset:1px;}
.nanaluxe-qty-stepper{
  display:flex; align-items:center; border:1px solid var(--line); border-radius:2px;
  width:fit-content; background:var(--off);
}
.nanaluxe-qty-stepper button{
  width:40px; height:42px; font-size:1.2rem; color:var(--navy);
  display:flex; align-items:center; justify-content:center; transition:.2s ease;
}
.nanaluxe-qty-stepper button:hover{background:var(--sky-pale); color:var(--sky);}
.nanaluxe-qty-stepper input{
  width:48px; text-align:center; border:none; background:none; outline:none;
  font-family:'Jost',sans-serif; font-size:16px; color:var(--navy); font-weight:600;
  -moz-appearance:textfield; -webkit-appearance:none; appearance:none;
}
.nanaluxe-qty-stepper input::-webkit-outer-spin-button,
.nanaluxe-qty-stepper input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Popup detay pwodwi */
#nanaluxe-product-overlay .nanaluxe-product-modal{ max-width:520px; padding:0; overflow-x:hidden !important; overflow-y:scroll !important; -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain; touch-action:pan-y; }
.nanaluxe-product-modal .nanaluxe-modal-close{ background:var(--white); border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(28,43,58,0.15); z-index:5; }
.nanaluxe-product-visual-big{ aspect-ratio:1; position:relative; overflow:hidden; background:var(--sky-pale); }
.nanaluxe-product-visual-big img{ width:100%; height:100%; object-fit:cover; }
.nanaluxe-visual-badges{ position:absolute; top:16px; left:16px; display:flex; align-items:center; gap:8px; z-index:2; }
.nanaluxe-visual-badges .nanaluxe-card-tag{ position:static; }
.nanaluxe-visual-badges .nanaluxe-discount-pill{ position:static; }
.nanaluxe-product-modal-body{padding:28px 30px 32px;}
.nanaluxe-product-modal-body h3{font-size:1.9rem; margin-bottom:8px;}
.nanaluxe-product-modal-body .nanaluxe-price-row{display:flex; align-items:baseline; gap:10px; margin-bottom:22px;}
.nanaluxe-product-modal-body .nanaluxe-price{font-family:'Jost',sans-serif; font-weight:600; font-size:1.3rem; color:var(--sky);}
.nanaluxe-product-modal-body .nanaluxe-price.old{font-weight:400; color:#a3aebb; text-decoration:line-through; font-size:1.05rem;}
.nanaluxe-product-modal-body .nanaluxe-price-htg{font-size:0.9rem; font-weight:600; color:var(--navy);}

#nanaluxe-shop :focus-visible, #nanaluxe-trending :focus-visible{ outline:2px solid var(--sky); outline-offset:2px; }

@media (max-width: 880px){
  .nanaluxe-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px;}
  .nanaluxe-container{padding:0 18px;}
}
@media (max-width:520px){
  .nanaluxe-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px;}
  .nanaluxe-container{padding:0 10px;}
  .nanaluxe-card-body{padding:14px 14px 16px;}
  .nanaluxe-card-body h3{font-size:1.2rem;}
  .nanaluxe-cat{font-size:0.74rem;}
  .nanaluxe-price{font-size:1.05rem;}
  .nanaluxe-price-htg{font-size:0.88rem;}
  .nanaluxe-card-cta{font-size:0.78rem;}
  .nanaluxe-search-bar{margin-left:0; margin-right:0;}
  .nanaluxe-trending-head{flex-direction:column; align-items:flex-start;}
}
@media (max-width:360px){
  .nanaluxe-container{padding:0 8px;}
  .nanaluxe-grid{gap:10px;}
}
@media (prefers-reduced-motion: reduce){
  #nanaluxe-shop *, #nanaluxe-trending *{transition-duration:0.01ms !important;}
}
