/* =========================================================================
   AURORE COUTURE — habillage WooCommerce
   Chargé seulement si WooCommerce est actif (voir inc/enqueue.php).
   ========================================================================= */

/* -------------------------------------------------------------------------
   Fiche produit : la galerie tient lieu d'entrée de page
   ---------------------------------------------------------------------- */
.ac-fiche__haut{padding-top:150px;}
.ac-fiche__fil{max-width:var(--large);margin:0 auto 42px;}

.fiche{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);
  gap:74px;max-width:var(--large);margin:0 auto;align-items:start;
}

/* Galerie miroir */
.galerie{display:flex;flex-direction:column;gap:22px;position:sticky;top:110px;}
.galerie .cadre-miroir{padding:26px;}
.galerie .glace-ovale{aspect-ratio:3/4;}

.vignettes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 26px;}
.vignettes button{
  background:none;border:0;padding:0;cursor:pointer;min-height:44px;
  color:inherit;font:inherit;
}
.vignettes .glace-ovale{aspect-ratio:1/1;box-shadow:var(--miroir-ombre-petit);}
.vignettes button:hover .glace-ovale{border-color:var(--accent);transform:translateY(-3px);}
.vignettes button[aria-current] .glace-ovale{
  border-color:var(--accent);box-shadow:var(--miroir-ombre-survol);
}
.vignettes button[aria-current] .glace-ovale img{filter:var(--miroir-filtre-survol);}

/* Colonne de droite */
.detail{display:flex;flex-direction:column;gap:22px;padding-top:12px;}
.detail .product_title,
.detail h1{margin:0;font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:.01em;}
.detail .woocommerce-product-details__short-description{
  font-size:17px;line-height:1.9;color:var(--texte-doux);
}
.detail .woocommerce-product-details__short-description p{margin:0 0 14px;}
.detail .woocommerce-product-details__short-description p:last-child{margin-bottom:0;}

.detail .price{
  display:block;padding:22px 0 0;margin:0;
  border-top:1px solid var(--filet);
  font-size:23px;letter-spacing:.04em;color:var(--accent);
}
.detail .price del{opacity:.55;font-size:.7em;margin-right:10px;}
.detail .price ins{text-decoration:none;}
.ac-sur-devis{font-size:23px;letter-spacing:.04em;color:var(--accent);}
.ac-note-prix{
  margin:0 0 6px;padding-bottom:22px;border-bottom:1px solid var(--filet);
  font-size:13.5px;line-height:1.7;color:var(--texte-tiers);
}

.actions-produit{display:flex;gap:14px;flex-wrap:wrap;}

.etapes-produit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.etapes-produit li{display:flex;gap:16px;font-size:14.5px;line-height:1.75;color:var(--texte-doux);}
.etapes-produit .n{
  flex:none;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--accent);color:var(--accent);font-size:12px;
  display:flex;align-items:center;justify-content:center;
}

/* Métadonnées du produit */
.detail .product_meta{
  display:flex;flex-direction:column;gap:13px;
  padding-top:22px;border-top:1px solid var(--filet);
  font-size:14px;line-height:1.7;color:var(--texte-doux);
}
.detail .product_meta > span{display:flex;gap:16px;flex-wrap:wrap;}
.detail .product_meta .sku_wrapper,
.detail .product_meta .posted_in,
.detail .product_meta .tagged_as{align-items:baseline;}
.detail .product_meta a{color:var(--texte-doux);border-bottom:1px solid var(--filet-fort);}
.detail .product_meta a:hover{color:var(--accent);}

/* Formulaire d'achat, pour les pièces vendues directement */
.detail form.cart{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.detail form.cart .quantity input{width:90px;text-align:center;}
.detail form.cart .single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:14px 34px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  background:var(--btn-fond);color:var(--btn-texte);border:1px solid var(--btn-fond);
  font-family:inherit;cursor:pointer;
  transition:background .4s,color .4s,transform .4s,border-color .4s;
}
.detail form.cart .single_add_to_cart_button:hover{
  background:var(--btn-survol);border-color:var(--btn-survol);color:var(--btn-texte);transform:translateY(-2px);
}
.detail .variations{width:100%;}
.detail .variations th{text-align:left;padding:10px 0;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:400;}
.detail .variations td{padding:0 0 14px;}

/* -------------------------------------------------------------------------
   Onglets
   ---------------------------------------------------------------------- */
.ac-fiche__large{max-width:var(--large);margin:0 auto;}

.woocommerce-tabs ul.tabs{
  display:flex;gap:0;list-style:none;margin:0 0 38px;padding:0;
  border-bottom:1px solid var(--filet);flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{
  display:inline-flex;align-items:center;min-height:46px;padding:14px 22px;
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--texte-tiers);border-bottom:1px solid transparent;
  transition:color .35s,border-color .35s;
}
.woocommerce-tabs ul.tabs li a:hover{color:var(--texte);}
.woocommerce-tabs ul.tabs li.active a{color:var(--accent);border-color:var(--accent);}
.woocommerce-tabs .panel{max-width:820px;}
.woocommerce-tabs .panel p,
.woocommerce-tabs .panel li{font-size:16px;line-height:1.95;color:var(--texte-doux);}
.woocommerce-tabs .panel table{width:100%;border-collapse:collapse;}
.woocommerce-tabs .panel th,
.woocommerce-tabs .panel td{
  text-align:left;padding:14px 0;border-bottom:1px solid var(--filet);font-size:15px;
}
.woocommerce-tabs .panel th{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);font-weight:400;width:200px;
}

/* -------------------------------------------------------------------------
   Barre d'outils de la boutique
   ---------------------------------------------------------------------- */
.outils-boutique{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  max-width:var(--large);margin:0 auto 48px;
  padding-bottom:16px;border-bottom:1px solid var(--filet);
}
.woocommerce-result-count{
  margin:0;font-size:12px;letter-spacing:.14em;color:var(--texte-tiers);
}
.woocommerce-ordering{margin:0 0 0 auto;}
.woocommerce-ordering select{min-width:240px;}

/* -------------------------------------------------------------------------
   Produits liés
   ---------------------------------------------------------------------- */
.related.products,
.up-sells.products{
  max-width:var(--large);margin:0 auto;padding:100px 0 0;
  border-top:1px solid var(--filet);margin-top:60px;
}
.related.products > h2,
.up-sells.products > h2{
  text-align:center;font-size:16px;letter-spacing:.24em;text-transform:uppercase;
  margin:0 0 46px;
}
.related.products ul.products,
.up-sells.products ul.products{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:44px 36px;list-style:none;margin:0;padding:0;
}
.related.products li.product,
.up-sells.products li.product{text-align:center;}
.related.products li.product a img,
.up-sells.products li.product a img{
  border-radius:50% 50% 48% 48%/42% 42% 58% 58%;
  border:1px solid var(--miroir-bord);
  box-shadow:var(--miroir-ombre);
  filter:var(--miroir-filtre);
  transition:box-shadow .55s ease,border-color .55s ease,transform .55s var(--transition),filter .7s;
  margin-bottom:20px;
}
.related.products li.product a:hover img,
.up-sells.products li.product a:hover img{
  box-shadow:var(--miroir-ombre-survol);border-color:var(--accent);
  transform:translateY(-6px);filter:var(--miroir-filtre-survol);
}
.related.products li.product .woocommerce-loop-product__title,
.up-sells.products li.product .woocommerce-loop-product__title{
  font-size:16px;letter-spacing:.06em;margin:0 0 10px;font-weight:400;
}
.related.products li.product .price,
.up-sells.products li.product .price{
  display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
.ac-bouton-devis{margin-top:6px;}

/* -------------------------------------------------------------------------
   Panier, commande, compte
   ---------------------------------------------------------------------- */
.ac-boutique-page{max-width:var(--large);margin:0 auto;}

.panier-vide{
  max-width:680px;margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:26px;
}
.panier-vide .rond{
  width:86px;height:86px;border-radius:50%;
  border:1px solid var(--miroir-bord);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--miroir-ombre);
}
.panier-vide h2{margin:0;font-size:clamp(20px,2.3vw,27px);line-height:1.5;}
.panier-vide p{margin:0;font-size:16px;line-height:1.9;color:var(--texte-tiers);}
.panier-vide__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

.woocommerce table.shop_table{
  width:100%;border-collapse:collapse;border:1px solid var(--filet);
}
.woocommerce table.shop_table th{
  text-align:left;padding:16px;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);font-weight:400;
  border-bottom:1px solid var(--filet);
}
.woocommerce table.shop_table td{
  padding:16px;border-bottom:1px solid var(--filet);
  font-size:15px;color:var(--texte-doux);
}
.woocommerce table.shop_table img{max-width:72px;}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:14px 30px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  background:var(--btn-fond);color:var(--btn-texte);border:1px solid var(--btn-fond);
  font-family:inherit;cursor:pointer;
  transition:background .4s,color .4s,transform .4s,border-color .4s;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover{
  background:var(--btn-survol);border-color:var(--btn-survol);color:var(--btn-texte);transform:translateY(-2px);
}

.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none;margin:0 0 32px;padding:18px 22px;
  border:1px solid var(--champ-bord);background:var(--fond-cadre);
  font-size:14.5px;line-height:1.7;color:var(--texte);
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;
}
.woocommerce-error{border-color:var(--erreur-bord);background:var(--erreur-fond);}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;}

.woocommerce form .form-row{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;}
.woocommerce form .form-row label{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
}
.woocommerce .select2-container--default .select2-selection--single{
  background:var(--champ-fond);border:1px solid var(--champ-bord);height:46px;border-radius:0;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--texte);line-height:46px;padding-left:14px;
}

/* -------------------------------------------------------------------------
   Responsive
   ---------------------------------------------------------------------- */
@media(max-width:1000px){
  .ac-fiche__haut{padding-top:110px;}
  .fiche{grid-template-columns:1fr;gap:44px;}
  .galerie{position:static;}
  .detail .product_meta > span{flex-direction:column;gap:5px;}
  .related.products ul.products,
  .up-sells.products ul.products{grid-template-columns:repeat(2,1fr);gap:34px 22px;}
  .related.products,.up-sells.products{padding-top:70px;}
  .woocommerce table.shop_table th{display:none;}
  .woocommerce table.shop_table td{display:block;border:0;padding:10px 16px;}
  .woocommerce table.shop_table tr{
    display:block;border-bottom:1px solid var(--filet);padding:12px 0;
  }
}

@media(max-width:560px){
  .related.products ul.products,
  .up-sells.products ul.products{grid-template-columns:1fr;}
  .vignettes{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 12px;}
}
