/* ==========================================================================
   NOVAPARADIS — STYLES BOUTIQUE
   Futuriste · sobre · animé
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. STRUCTURE GÉNÉRALE
   -------------------------------------------------------------------------- */
.np-shop{
  padding:0 0 90px;
}

.woocommerce-products-header{
  padding:64px 0 34px;
  text-align:center;
}
.woocommerce-products-header__title,
.np-shop h1.page-title{
  font-size:clamp(1.9rem,4.5vw,2.9rem);
  margin-bottom:10px;
}
.term-description{
  color:var(--np-text-muted);
  max-width:620px;
  margin:0 auto;
  font-size:1rem;
}

/* Barre de tri + résultats */
.woocommerce-notices-wrapper:empty{ display:none; }

.np-shop .woocommerce-result-count{
  color:var(--np-text-dim);
  font-size:.86rem;
  margin:0;
  letter-spacing:.3px;
}

.np-shop .woocommerce-ordering{ margin:0; }
.np-shop .woocommerce-ordering select{
  appearance:none;
  -webkit-appearance:none;
  padding:11px 44px 11px 18px;
  background:var(--np-bg-panel)
    url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239494ab' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 16px center;
  border:1px solid var(--np-border);
  border-radius:40px;
  color:var(--np-text);
  font-size:.88rem;
  cursor:pointer;
  width:auto;
  min-width:210px;
}
.np-shop .woocommerce-ordering select:hover{ border-color:var(--np-border-strong); }

/* Ligne d'outils */
.np-shop .woocommerce-result-count,
.np-shop .woocommerce-ordering{
  display:inline-block;
  vertical-align:middle;
}
.np-shop form.woocommerce-ordering{ float:right; }
.np-shop .woocommerce-result-count{ float:left; padding-top:12px; }
.np-shop ul.products{ clear:both; }

@media (max-width:600px){
  .np-shop form.woocommerce-ordering,
  .np-shop .woocommerce-result-count{
    float:none;
    display:block;
    width:100%;
    text-align:center;
  }
  .np-shop .woocommerce-ordering select{ width:100%; }
  .np-shop .woocommerce-result-count{ margin-bottom:14px; padding-top:0; }
}


/* --------------------------------------------------------------------------
   2. GRILLE PRODUITS
   -------------------------------------------------------------------------- */
.np-shop ul.products,
ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  list-style:none !important;
  margin:34px 0 0 !important;
  padding:0 !important;
}
ul.products::before,
ul.products::after{ display:none !important; }

@media (max-width:1000px){
  .np-shop ul.products, ul.products{ grid-template-columns:repeat(2,1fr); gap:20px; }
}
@media (max-width:560px){
  .np-shop ul.products, ul.products{ grid-template-columns:1fr; }
}

/* --- Carte produit --- */
ul.products li.product{
  position:relative;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  float:none !important;
  list-style:none;
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .45s var(--np-ease),
             border-color .45s var(--np-ease),
             box-shadow .45s var(--np-ease);
}
ul.products li.product::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:var(--np-radius);
  background:linear-gradient(160deg,var(--np-accent-glow),transparent 55%);
  opacity:0;
  transition:opacity .45s var(--np-ease);
  pointer-events:none;
  z-index:1;
}
ul.products li.product:hover{
  transform:translateY(-6px);
  border-color:var(--np-border-strong);
  box-shadow:0 18px 44px rgba(0,0,0,.55);
}
ul.products li.product:hover::before{ opacity:.35; }

/* Image */
ul.products li.product a img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  margin:0 !important;
  border-radius:0;
  transition:transform .7s var(--np-ease);
}
ul.products li.product:hover a img{ transform:scale(1.06); }

ul.products li.product > a:first-of-type{
  display:block;
  overflow:hidden;
  position:relative;
  z-index:2;
}

/* Titre */
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--np-font-title);
  font-size:1rem !important;
  line-height:1.4;
  color:var(--np-text);
  padding:20px 20px 8px !important;
  margin:0 !important;
  position:relative;
  z-index:2;
  transition:color var(--np-speed) var(--np-ease);
}
ul.products li.product:hover .woocommerce-loop-product__title{ color:var(--np-accent); }

/* Prix */
ul.products li.product .price{
  display:block;
  padding:0 20px 16px;
  margin:0;
  color:var(--np-accent) !important;
  font-family:var(--np-font-body);
  font-size:1.05rem !important;
  font-weight:600;
  position:relative;
  z-index:2;
}
ul.products li.product .price del{
  color:var(--np-text-dim) !important;
  font-weight:400;
  font-size:.88em;
  margin-right:8px;
  opacity:.7;
}
ul.products li.product .price ins{
  text-decoration:none;
  background:transparent;
  color:var(--np-accent);
}

/* Notation */
ul.products li.product .star-rating{
  margin:0 20px 12px;
  position:relative;
  z-index:2;
  color:var(--np-accent);
  font-size:.8em;
}

/* Bouton */
ul.products li.product .button,
ul.products li.product .added_to_cart{
  margin:auto 20px 20px !important;
  padding:12px 22px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  color:var(--np-text) !important;
  border:1px solid var(--np-border-strong) !important;
  border-radius:40px !important;
  font-family:var(--np-font-body);
  font-size:.86rem !important;
  font-weight:600 !important;
  letter-spacing:.3px;
  text-align:center;
  position:relative;
  z-index:2;
  transition:all var(--np-speed) var(--np-ease);
}
ul.products li.product .button:hover{
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border-color:transparent !important;
  box-shadow:0 8px 22px var(--np-accent-glow);
}
ul.products li.product .button.loading{ opacity:.6; }
ul.products li.product .added_to_cart{
  margin-top:-10px !important;
  border-color:var(--np-accent) !important;
  color:var(--np-accent) !important;
}

/* Badge promo */
ul.products li.product .onsale,
.single-product span.onsale{
  position:absolute;
  top:14px; left:14px;
  z-index:3;
  background:var(--np-accent);
  color:#0b0b12;
  padding:5px 14px;
  border-radius:30px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin:0;
  min-height:0;
  line-height:1.6;
}

/* Apparition en cascade */
ul.products li.product{
  animation:npFadeUp .6s var(--np-ease) backwards;
}
ul.products li.product:nth-child(1){ animation-delay:.02s; }
ul.products li.product:nth-child(2){ animation-delay:.06s; }
ul.products li.product:nth-child(3){ animation-delay:.10s; }
ul.products li.product:nth-child(4){ animation-delay:.14s; }
ul.products li.product:nth-child(5){ animation-delay:.18s; }
ul.products li.product:nth-child(6){ animation-delay:.22s; }
ul.products li.product:nth-child(n+7){ animation-delay:.26s; }


/* --------------------------------------------------------------------------
   3. FICHE PRODUIT
   -------------------------------------------------------------------------- */
.single-product div.product{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  padding:56px 0 0;
  position:relative;
}
@media (max-width:900px){
  .single-product div.product{ grid-template-columns:1fr; gap:34px; }
}

/* Galerie */
.woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  position:relative;
}
.woocommerce-product-gallery__wrapper{ margin:0; }
.woocommerce-product-gallery img{
  border-radius:var(--np-radius);
  border:1px solid var(--np-border);
}
.woocommerce-product-gallery .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.woocommerce-product-gallery .flex-control-thumbs li{
  width:100% !important;
  margin:0 !important;
  float:none !important;
}
.woocommerce-product-gallery .flex-control-thumbs img{
  border-radius:var(--np-radius-sm);
  opacity:.5;
  cursor:pointer;
  transition:opacity var(--np-speed) var(--np-ease),
             border-color var(--np-speed) var(--np-ease);
}
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  opacity:1;
  border-color:var(--np-accent);
}
.woocommerce-product-gallery__trigger{
  position:absolute;
  top:14px; right:14px;
  z-index:5;
  width:42px; height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(8,8,14,.7);
  backdrop-filter:blur(8px);
  border-radius:50%;
  color:var(--np-text);
  font-size:1.1rem;
}

/* Résumé */
.single-product div.product .summary{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}
.single-product .product_title{
  font-size:clamp(1.6rem,3.4vw,2.3rem);
  margin-bottom:14px;
}
.single-product div.product p.price,
.single-product div.product span.price{
  color:var(--np-accent) !important;
  font-family:var(--np-font-body);
  font-size:1.7rem !important;
  font-weight:700;
  margin-bottom:20px;
}
.single-product div.product p.price del{
  color:var(--np-text-dim) !important;
  font-size:.6em;
  font-weight:400;
}
.single-product div.product p.price ins{
  text-decoration:none;
  background:transparent;
}

.woocommerce-product-details__short-description{
  color:var(--np-text-muted);
  line-height:1.85;
  padding-bottom:24px;
  margin-bottom:24px;
  border-bottom:1px solid var(--np-border);
}

.single-product .stock{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.85rem;
  padding:6px 16px;
  border-radius:30px;
  margin-bottom:18px;
}
.single-product .stock.in-stock{
  background:rgba(52,199,89,.1);
  color:#4ade80;
  border:1px solid rgba(52,199,89,.25);
}
.single-product .stock.out-of-stock{
  background:rgba(255,69,58,.1);
  color:#ff6b6b;
  border:1px solid rgba(255,69,58,.25);
}

/* Variations */
.variations{
  width:100%;
  margin-bottom:22px;
  border-collapse:separate;
  border-spacing:0 12px;
}
.variations th,
.variations td{
  padding:0;
  border:none;
  display:block;
  width:100%;
  text-align:left;
}
.variations th.label label{
  color:var(--np-text-muted);
  font-size:.82rem;
  letter-spacing:1.4px;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:8px;
}
.variations select{
  appearance:none;
  -webkit-appearance:none;
  background:var(--np-bg-panel)
    url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239494ab' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 16px center;
  padding-right:44px;
}
.reset_variations{
  display:inline-block;
  margin-top:6px;
  font-size:.82rem;
  color:var(--np-text-dim);
}
.woocommerce-variation-price{ margin-bottom:16px; }

/* Quantité + bouton */
.single-product form.cart{
  display:flex;
  gap:12px;
  align-items:stretch;
  flex-wrap:wrap;
  margin-bottom:26px !important;
}
.single-product form.variations_form.cart{
  display:block;
}
.single-product .woocommerce-variation-add-to-cart{
  display:flex;
  gap:12px;
  align-items:stretch;
  flex-wrap:wrap;
}

.quantity{
  display:flex;
  align-items:center;
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:40px;
  overflow:hidden;
  flex-shrink:0;
}
.quantity input.qty{
  width:74px;
  padding:15px 8px;
  background:transparent;
  border:none;
  text-align:center;
  color:var(--np-text);
  font-weight:600;
  font-size:.95rem;
  -moz-appearance:textfield;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.quantity input.qty:focus{ box-shadow:none; }

.single-product button.single_add_to_cart_button,
.single_add_to_cart_button{
  flex:1;
  min-width:210px;
  padding:15px 34px !important;
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border:none !important;
  border-radius:40px !important;
  font-family:var(--np-font-body);
  font-weight:700 !important;
  font-size:.95rem !important;
  letter-spacing:.4px;
  cursor:pointer;
  transition:transform var(--np-speed) var(--np-ease),
             box-shadow var(--np-speed) var(--np-ease);
}
.single-product button.single_add_to_cart_button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px var(--np-accent-glow);
}
.single_add_to_cart_button.disabled{
  opacity:.4;
  cursor:not-allowed;
  transform:none !important;
}

/* Méta produit */
.product_meta{
  padding-top:22px;
  border-top:1px solid var(--np-border);
  font-size:.85rem;
  color:var(--np-text-dim);
}
.product_meta > span{
  display:block;
  margin-bottom:7px;
}
.product_meta a{ color:var(--np-text-muted); }
.product_meta a:hover{ color:var(--np-accent); }

/* Onglets */
.woocommerce-tabs{
  grid-column:1 / -1;
  margin-top:70px;
  padding-top:44px;
  border-top:1px solid var(--np-border);
}
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:6px;
  list-style:none;
  margin:0 0 30px !important;
  padding:0 !important;
  border:none !important;
  flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after{ display:none !important; }
.woocommerce-tabs ul.tabs li{
  background:transparent !important;
  border:1px solid var(--np-border) !important;
  border-radius:40px !important;
  margin:0 !important;
  padding:0 !important;
  transition:all var(--np-speed) var(--np-ease);
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{ display:none !important; }
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding:11px 26px !important;
  color:var(--np-text-muted) !important;
  font-weight:600;
  font-size:.88rem;
}
.woocommerce-tabs ul.tabs li:hover{ border-color:var(--np-border-strong) !important; }
.woocommerce-tabs ul.tabs li.active{
  background:rgba(201,162,39,.08) !important;
  border-color:var(--np-accent) !important;
}
.woocommerce-tabs ul.tabs li.active a{ color:var(--np-accent) !important; }

.woocommerce-Tabs-panel{
  color:var(--np-text-muted);
  line-height:1.85;
  animation:npFadeUp .5s var(--np-ease);
}
.woocommerce-Tabs-panel h2{
  color:var(--np-text);
  font-size:1.3rem;
  margin-bottom:16px;
}
.woocommerce-Tabs-panel table.shop_attributes{
  width:100%;
  border-collapse:collapse;
}
.woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce-Tabs-panel table.shop_attributes td{
  padding:13px 0;
  border-bottom:1px solid var(--np-border);
  text-align:left;
}
.woocommerce-Tabs-panel table.shop_attributes th{
  color:var(--np-text);
  font-weight:600;
  width:34%;
}

/* Produits liés */
.related.products,
.upsells.products{
  grid-column:1 / -1;
  margin-top:70px;
  padding-top:44px;
  border-top:1px solid var(--np-border);
}
.related.products > h2,
.upsells.products > h2{
  font-size:1.5rem;
  margin-bottom:8px;
  text-align:center;
}


/* --------------------------------------------------------------------------
   4. PANIER
   -------------------------------------------------------------------------- */
.woocommerce-cart .np-shop,
.woocommerce-checkout .np-shop,
.woocommerce-account .np-shop{ padding-top:56px; }

table.shop_table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  overflow:hidden;
  margin-bottom:30px;
  background:var(--np-bg-panel);
}
table.shop_table th{
  background:var(--np-bg-elevated);
  padding:16px 18px;
  text-align:left;
  font-family:var(--np-font-body);
  font-size:.76rem;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--np-text-muted);
  font-weight:600;
  border:none;
}
table.shop_table td{
  padding:18px;
  border:none;
  border-top:1px solid var(--np-border);
  color:var(--np-text-muted);
  vertical-align:middle;
}
table.shop_table tr:first-child td{ border-top:none; }

table.shop_table .product-thumbnail img{
  width:74px;
  height:74px;
  object-fit:cover;
  border-radius:var(--np-radius-sm);
  border:1px solid var(--np-border);
}
table.shop_table .product-name a{
  color:var(--np-text);
  font-weight:600;
}
table.shop_table .product-name a:hover{ color:var(--np-accent); }
table.shop_table .product-price,
table.shop_table .product-subtotal{ color:var(--np-accent); font-weight:600; }

a.remove{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:28px; height:28px;
  border-radius:50%;
  background:rgba(255,69,58,.1) !important;
  color:#ff6b6b !important;
  font-size:1.1rem;
  line-height:1;
  transition:all var(--np-speed) var(--np-ease);
}
a.remove:hover{
  background:#ff453a !important;
  color:#fff !important;
  transform:rotate(90deg);
}

/* Coupon */
.coupon{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.coupon input[type="text"]{
  flex:1;
  min-width:180px;
  border-radius:40px;
  padding:13px 22px;
}
.actions .button{
  padding:13px 28px !important;
  background:transparent !important;
  border:1px solid var(--np-border-strong) !important;
  border-radius:40px !important;
  color:var(--np-text) !important;
  font-weight:600;
  font-size:.88rem;
  cursor:pointer;
  transition:all var(--np-speed) var(--np-ease);
}
.actions .button:hover{
  border-color:var(--np-accent) !important;
  color:var(--np-accent) !important;
}

/* Totaux */
.cart_totals,
.cart-collaterals{
  max-width:460px;
  margin-left:auto;
}
.cart_totals h2{
  font-size:1.25rem;
  margin-bottom:18px;
}
.cart_totals table.shop_table td,
.cart_totals table.shop_table th{ padding:15px 18px; }
.cart_totals .order-total .amount{
  color:var(--np-accent);
  font-size:1.35rem;
  font-weight:700;
}

.wc-proceed-to-checkout{ margin-top:20px; }
.wc-proceed-to-checkout a.checkout-button{
  display:block !important;
  width:100%;
  padding:16px 30px !important;
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border-radius:40px !important;
  text-align:center;
  font-weight:700 !important;
  font-size:.98rem !important;
  letter-spacing:.4px;
  transition:transform var(--np-speed) var(--np-ease),
             box-shadow var(--np-speed) var(--np-ease);
}
.wc-proceed-to-checkout a.checkout-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 34px var(--np-accent-glow);
  color:#0b0b12 !important;
}

.cart-empty,
.wc-empty-cart-message{
  text-align:center;
  padding:60px 20px;
  color:var(--np-text-muted);
  font-size:1.05rem;
}
.return-to-shop{ text-align:center; padding-bottom:40px; }
.return-to-shop .button{
  display:inline-block;
  padding:14px 32px !important;
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border-radius:40px !important;
  font-weight:600;
}


/* --------------------------------------------------------------------------
   5. COMMANDE (CHECKOUT)
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:1.25fr .95fr;
  gap:44px;
  align-items:start;
}
@media (max-width:900px){
  .woocommerce-checkout form.checkout{ grid-template-columns:1fr; gap:30px; }
}

#customer_details{ min-width:0; }
#order_review_heading{
  font-size:1.25rem;
  margin-bottom:16px;
}
#order_review{
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  padding:26px;
  position:sticky;
  top:calc(var(--np-header-h) + 20px);
}
#order_review table.shop_table{
  border:none;
  background:transparent;
  margin-bottom:0;
}
#order_review table.shop_table th{ background:transparent; padding-left:0; padding-right:0; }
#order_review table.shop_table td{ padding-left:0; padding-right:0; }

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3{
  font-size:1.2rem;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--np-border);
}

.woocommerce-form__label-for-checkbox,
.form-row label.checkbox{
  display:flex !important;
  align-items:center;
  gap:9px;
  cursor:pointer;
  color:var(--np-text-muted);
  font-size:.9rem;
}
input[type="checkbox"],
input[type="radio"]{
  width:17px;
  height:17px;
  accent-color:var(--np-accent);
  cursor:pointer;
  flex-shrink:0;
}

.form-row{ margin-bottom:16px; padding:0; }
.form-row-first,.form-row-last{ width:calc(50% - 7px); float:left; }
.form-row-last{ float:right; }
.form-row.form-row-wide{ clear:both; width:100%; }
@media (max-width:560px){
  .form-row-first,.form-row-last{ width:100%; float:none; }
}

.select2-container--default .select2-selection--single{
  height:auto !important;
  padding:11px 16px;
  background:var(--np-bg-panel) !important;
  border:1px solid var(--np-border) !important;
  border-radius:var(--np-radius-sm) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--np-text) !important;
  line-height:1.6 !important;
  padding:0 !important;
}
.select2-dropdown{
  background:var(--np-bg-panel) !important;
  border-color:var(--np-border) !important;
  color:var(--np-text);
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--np-accent) !important;
  color:#0b0b12 !important;
}

/* Modes de paiement */
#payment{
  background:transparent;
  border-radius:0;
  margin-top:22px;
}
#payment ul.payment_methods{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  border:none;
}
#payment ul.payment_methods li{
  background:var(--np-bg-elevated);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius-sm);
  padding:15px 18px;
  margin-bottom:10px;
  transition:border-color var(--np-speed) var(--np-ease);
}
#payment ul.payment_methods li:hover{ border-color:var(--np-border-strong); }
#payment ul.payment_methods li label{
  display:inline;
  color:var(--np-text);
  font-weight:600;
  font-size:.92rem;
  margin:0 0 0 8px;
}
#payment .payment_box{
  background:transparent !important;
  color:var(--np-text-muted);
  font-size:.86rem;
  padding:12px 0 0;
  margin:10px 0 0;
  border-top:1px solid var(--np-border);
}
#payment .payment_box::before{ display:none !important; }

#place_order,
.woocommerce-checkout button[type="submit"]{
  width:100%;
  padding:17px 30px !important;
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border:none !important;
  border-radius:40px !important;
  font-family:var(--np-font-body);
  font-weight:700 !important;
  font-size:1rem !important;
  letter-spacing:.4px;
  cursor:pointer;
  margin-top:6px;
  transition:transform var(--np-speed) var(--np-ease),
             box-shadow var(--np-speed) var(--np-ease);
}
#place_order:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 36px var(--np-accent-glow);
}

.woocommerce-terms-and-conditions-wrapper{
  margin:18px 0;
  font-size:.86rem;
  color:var(--np-text-muted);
}

/* Commande reçue */
.woocommerce-order{ padding:40px 0; }
.woocommerce-thankyou-order-received{
  font-size:1.5rem;
  font-family:var(--np-font-title);
  color:var(--np-accent);
  text-align:center;
  padding:34px;
  background:rgba(201,162,39,.06);
  border:1px solid rgba(201,162,39,.25);
  border-radius:var(--np-radius);
  margin-bottom:34px;
}
ul.woocommerce-order-overview{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:16px;
  list-style:none;
  padding:0;
  margin:0 0 34px;
}
ul.woocommerce-order-overview li{
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius-sm);
  padding:18px;
  font-size:.78rem;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--np-text-dim);
}
ul.woocommerce-order-overview li strong{
  display:block;
  margin-top:8px;
  font-size:1.02rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--np-text);
}


/* --------------------------------------------------------------------------
   6. MON COMPTE / CONNEXION
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce{
  padding:20px 0 0;
}

/* --- Page de connexion (non connecté) --- */
.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:1000px;
  margin:0 auto;
}
.woocommerce-account .u-columns.col2-set,
.woocommerce-account #customer_login{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
@media (max-width:800px){
  .woocommerce-account .u-columns.col2-set,
  .woocommerce-account #customer_login{ grid-template-columns:1fr; }
}
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  padding:34px;
  position:relative;
  overflow:hidden;
}
.woocommerce-account #customer_login .col-1::before,
.woocommerce-account #customer_login .col-2::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--np-accent),transparent);
  opacity:.6;
}
.woocommerce-account #customer_login h2{
  font-size:1.35rem;
  margin-bottom:22px;
  text-align:center;
}

form.woocommerce-form-login,
form.woocommerce-form-register{ margin:0; padding:0; border:none; }

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-Button{
  width:100%;
  padding:15px 30px !important;
  background:linear-gradient(100deg,var(--np-accent),var(--np-accent-soft)) !important;
  color:#0b0b12 !important;
  border:none !important;
  border-radius:40px !important;
  font-family:var(--np-font-body);
  font-weight:700 !important;
  font-size:.95rem !important;
  letter-spacing:.4px;
  cursor:pointer;
  margin-top:8px !important;
  transition:transform var(--np-speed) var(--np-ease),
             box-shadow var(--np-speed) var(--np-ease);
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px var(--np-accent-glow);
}

.woocommerce-form-login__rememberme{
  display:flex !important;
  align-items:center;
  gap:8px;
  margin:14px 0 !important;
  font-size:.88rem;
  color:var(--np-text-muted);
}
.woocommerce-LostPassword{
  text-align:center;
  margin-top:16px !important;
  font-size:.86rem;
}
.woocommerce-LostPassword a{ color:var(--np-accent); }

.woocommerce-privacy-policy-text{
  font-size:.82rem;
  color:var(--np-text-dim);
  line-height:1.6;
  margin:14px 0;
}

/* --- Tableau de bord (connecté) --- */
.woocommerce-account .woocommerce-MyAccount-navigation{
  width:26% !important;
  float:left !important;
  margin-right:4%;
}
.woocommerce-account .woocommerce-MyAccount-content{
  width:70% !important;
  float:left !important;
}
@media (max-width:800px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    width:100% !important;
    float:none !important;
    margin:0 0 26px;
  }
}

.woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  overflow:hidden;
}
.woocommerce-MyAccount-navigation ul li{ border-bottom:1px solid var(--np-border); }
.woocommerce-MyAccount-navigation ul li:last-child{ border-bottom:none; }
.woocommerce-MyAccount-navigation ul li a{
  display:block;
  padding:15px 20px;
  color:var(--np-text-muted);
  font-size:.92rem;
  font-weight:500;
  position:relative;
  transition:all var(--np-speed) var(--np-ease);
}
.woocommerce-MyAccount-navigation ul li a::before{
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:2px;
  background:var(--np-accent);
  transform:scaleY(0);
  transition:transform var(--np-speed) var(--np-ease);
}
.woocommerce-MyAccount-navigation ul li a:hover{
  background:rgba(255,255,255,.03);
  color:var(--np-text);
}
.woocommerce-MyAccount-navigation ul li.is-active a{
  background:rgba(201,162,39,.07);
  color:var(--np-accent);
}
.woocommerce-MyAccount-navigation ul li.is-active a::before{ transform:scaleY(1); }

.woocommerce-MyAccount-content{
  color:var(--np-text-muted);
  line-height:1.8;
}
.woocommerce-MyAccount-content p{ margin-bottom:1.1em; }
.woocommerce-MyAccount-content mark{
  background:transparent;
  color:var(--np-accent);
  font-weight:600;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{
  color:var(--np-text);
  font-size:1.2rem;
  margin-bottom:16px;
}
.woocommerce-MyAccount-content fieldset{
  border:1px solid var(--np-border);
  border-radius:var(--np-radius-sm);
  padding:24px;
  margin:26px 0;
}
.woocommerce-MyAccount-content legend{
  padding:0 12px;
  color:var(--np-accent);
  font-weight:600;
  font-size:.9rem;
}

.woocommerce-Addresses{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media (max-width:600px){ .woocommerce-Addresses{ grid-template-columns:1fr; } }
.woocommerce-Address{
  background:var(--np-bg-panel);
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  padding:24px;
  width:100% !important;
  float:none !important;
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3{ font-size:1.05rem; margin-bottom:12px; }
.woocommerce-Address address{ font-style:normal; font-size:.92rem; }


/* --------------------------------------------------------------------------
   7. MESSAGES & NOTIFICATIONS
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice{
  list-style:none;
  padding:16px 22px !important;
  margin:0 0 22px !important;
  border-radius:var(--np-radius-sm);
  font-size:.92rem;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  border-top:none !important;
  background:var(--np-bg-panel) !important;
  color:var(--np-text) !important;
  animation:npFadeUp .45s var(--np-ease);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ display:none !important; }

.woocommerce-message{
  border:1px solid rgba(52,199,89,.3);
  background:rgba(52,199,89,.07) !important;
}
.woocommerce-info{
  border:1px solid rgba(201,162,39,.3);
  background:rgba(201,162,39,.06) !important;
}
.woocommerce-error{
  border:1px solid rgba(255,69,58,.35);
  background:rgba(255,69,58,.07) !important;
}
.woocommerce-error li{ list-style:none; }

.woocommerce-message .button,
.woocommerce-info .button{
  margin-left:auto;
  padding:9px 22px !important;
  background:transparent !important;
  border:1px solid var(--np-border-strong) !important;
  border-radius:40px !important;
  color:var(--np-text) !important;
  font-size:.84rem !important;
  font-weight:600;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover{
  border-color:var(--np-accent) !important;
  color:var(--np-accent) !important;
}

/* Chargement */
.blockUI.blockOverlay{
  background:rgba(8,8,14,.7) !important;
  backdrop-filter:blur(3px);
}
.blockUI.blockOverlay::before{
  border-color:var(--np-accent) transparent var(--np-accent) transparent !important;
}


/* --------------------------------------------------------------------------
   8. FIL D'ARIANE & PAGINATION
   -------------------------------------------------------------------------- */
.woocommerce-breadcrumb{
  font-size:.84rem;
  color:var(--np-text-dim);
  padding:22px 0 0;
  margin:0 !important;
}
.woocommerce-breadcrumb a{ color:var(--np-text-muted); }
.woocommerce-breadcrumb a:hover{ color:var(--np-accent); }

.woocommerce-pagination{
  margin-top:50px;
  text-align:center;
}
.woocommerce-pagination ul.page-numbers{
  display:inline-flex;
  gap:8px;
  border:none !important;
  list-style:none;
  padding:0;
  margin:0;
  flex-wrap:wrap;
  justify-content:center;
}
.woocommerce-pagination ul.page-numbers li{ border:none !important; margin:0; }
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 13px;
  background:var(--np-bg-panel) !important;
  border:1px solid var(--np-border);
  border-radius:var(--np-radius-sm);
  color:var(--np-text-muted) !important;
  font-size:.9rem;
  transition:all var(--np-speed) var(--np-ease);
}
.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-pagination ul.page-numbers li span.current{
  border-color:var(--np-accent);
  color:var(--np-accent) !important;
  background:rgba(201,162,39,.08) !important;
}


/* --------------------------------------------------------------------------
   9. NETTOYAGE FLOTTANTS
   -------------------------------------------------------------------------- */
.np-shop::after,
form.checkout::after,
.woocommerce-account .woocommerce::after,
.u-columns::after{
  content:'';
  display:table;
  clear:both;
}