/* Galerie des œuvres : miniatures horizontales sous le visuel principal. */
body.single-product div.product .woocommerce-product-gallery {
  overflow:visible;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  align-items:stretch;
  background:transparent;
  display:flex;
  gap:10px;
  margin:12px 0 0;
  overflow-x:auto;
  padding:0 0 8px;
  position:static;
  scrollbar-color:#aaa transparent;
  scrollbar-width:thin;
  width:100%;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  background:#efeee9;
  flex:0 0 86px;
  margin:0;
  width:86px;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  opacity:.55;
  width:100%;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
  box-shadow:inset 0 0 0 1px #111;
  opacity:1;
}

/* Navigation entre œuvres : visible, compacte et non flottante. */
body.single-product .storefront-product-pagination {
  box-sizing:border-box;
  display:grid;
  gap:16px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:54px auto 68px;
  max-width:1280px;
  padding:0 48px;
  width:100%;
}
body.single-product .storefront-product-pagination a {
  align-items:center;
  background:transparent;
  border-top:1px solid #cbc9c2;
  box-shadow:none;
  color:#111;
  display:grid;
  gap:14px;
  grid-template-columns:68px minmax(0,1fr);
  left:auto;
  min-height:92px;
  padding:12px 4px;
  position:static;
  right:auto;
  transform:none;
  transition:border-color .2s ease,opacity .2s ease;
  width:auto;
}
body.single-product .storefront-product-pagination a[rel="next"] {
  grid-column:2;
  grid-template-columns:minmax(0,1fr) 68px;
  text-align:right;
}
body.single-product .storefront-product-pagination a:hover,
body.single-product .storefront-product-pagination a:focus {
  border-color:#111;
  opacity:.7;
}
body.single-product .storefront-product-pagination a img {
  aspect-ratio:1/1;
  height:68px;
  margin:0;
  object-fit:cover;
  order:initial;
  width:68px;
}
body.single-product .storefront-product-pagination a[rel="next"] img {
  grid-column:2;
}
body.single-product .storefront-product-pagination__title {
  display:block;
  font-size:.95rem;
  line-height:1.25;
}
body.single-product .storefront-product-pagination a[rel="prev"] .storefront-product-pagination__title::before,
body.single-product .storefront-product-pagination a[rel="next"] .storefront-product-pagination__title::before {
  display:block;
  font-size:.64rem;
  letter-spacing:.08em;
  margin-bottom:7px;
  opacity:.55;
  text-transform:uppercase;
}
body.single-product .storefront-product-pagination a[rel="prev"] .storefront-product-pagination__title::before { content:"← Œuvre précédente"; }
body.single-product .storefront-product-pagination a[rel="next"] .storefront-product-pagination__title::before { content:"Œuvre suivante →"; }

@media (max-width:768px) {
  body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex-basis:72px;
    width:72px;
  }
  body.single-product .storefront-product-pagination {
    gap:10px;
    margin:38px auto 48px;
    padding:0 18px;
  }
  body.single-product .storefront-product-pagination a,
  body.single-product .storefront-product-pagination a[rel="next"] {
    gap:9px;
    grid-template-columns:52px minmax(0,1fr);
    min-height:74px;
  }
  body.single-product .storefront-product-pagination a[rel="next"] {
    grid-template-columns:minmax(0,1fr) 52px;
  }
  body.single-product .storefront-product-pagination a img {
    height:52px;
    width:52px;
  }
  body.single-product .storefront-product-pagination__title {
    font-size:.78rem;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* Prix : conservation de Métis avec un espacement du symbole contrôlé. */
body.single-product .summary p.price {
  align-items:baseline;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
body.single-product .summary .price .woocommerce-Price-amount,
body.single-product .summary .price bdi {
  font-family:inherit;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  white-space:nowrap;
  word-spacing:0;
}
body.single-product .summary .price .woocommerce-Price-currencySymbol {
  margin-left:.2em;
}
body.single-product .summary .price del {
  font-size:.72em;
  opacity:.45;
  text-decoration-thickness:1px;
}
body.single-product .summary .price ins {
  font-weight:600;
  text-decoration:none;
}

/* Série et techniques remplacent le libellé marchand « Catégories ». */
body.single-product .product_meta .posted_in {
  display:none;
}
body.single-product .andrusin-artwork-meta {
  border-top:1px solid #d5d3cc;
  margin-top:22px;
  padding-top:16px;
}
body.single-product .andrusin-artwork-meta p {
  display:grid;
  font-size:.82rem;
  gap:14px;
  grid-template-columns:82px minmax(0,1fr);
  line-height:1.4;
  margin:0 0 8px;
}
body.single-product .andrusin-artwork-meta strong {
  font-weight:400;
  opacity:.58;
}
body.single-product .andrusin-artwork-meta a {
  border-bottom:1px solid transparent;
  color:inherit;
  text-decoration:none;
}
body.single-product .andrusin-artwork-meta a:hover,
body.single-product .andrusin-artwork-meta a:focus {
  border-color:currentColor;
}

/* Fourchette tarifaire des œuvres à options. */
body.single-product .summary > p.price {
  display:block;
  line-height:1.35;
  word-spacing:0;
}
body.single-product .summary > p.price .andrusin-price-from,
body.single-product .summary > p.price .andrusin-price-to {
  font-size:.68em;
  opacity:.58;
}
body.single-product .summary > p.price .andrusin-price-to {
  margin-left:.18em;
}

/* Prix de la variation sélectionnée. */
body.single-product .single_variation_wrap .woocommerce-variation-price {
  align-items:baseline;
  background:#eeece6;
  border-left:2px solid #111;
  display:flex;
  gap:14px;
  margin:16px 0 18px;
  padding:12px 16px;
}
body.single-product .single_variation_wrap .woocommerce-variation-price::before {
  content:"Prix de cette configuration";
  font-size:.72rem;
  letter-spacing:.035em;
  opacity:.62;
}
body.single-product .single_variation_wrap .woocommerce-variation-price .price {
  display:block;
  font-size:1.15rem;
  margin:0;
}
@media (max-width:560px) {
  body.single-product .single_variation_wrap .woocommerce-variation-price {
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}

/* Quantité harmonisée avec le fond éditorial. */
body.single-product form.cart .quantity,
body.single-product form.cart .quantity input.qty {
  background:#eeece6;
}
body.single-product form.cart .quantity input.qty {
  border:0;
  color:#111;
  height:64px;
  margin:0;
  padding:0 42px 0 14px;
  text-align:center;
}
body.single-product form.cart .quantity-nav {
  height:64px;
  line-height:32px;
}
body.single-product form.cart .quantity-button {
  background:#e2e0d9;
  border-color:#f7f6f2;
  color:#111;
  width:40px;
}

/* Valeurs des options centrées dans leurs champs. */
body.single-product form.variations_form table.variations select {
  background-color:#eeece6;
  border:1px solid #d5d3cc;
  color:#111;
  min-height:34px;
  padding-left:30px;
  padding-right:30px;
  text-align:center;
  text-align-last:center;
}

/* Neutralise les anciennes flèches flottantes et verrouille l'alignement. */
body.single-product .storefront-product-pagination a[rel="prev"]::after,
body.single-product .storefront-product-pagination a[rel="next"]::after {
  content:none;
  display:none;
}
body.single-product .storefront-product-pagination a[rel="prev"] .storefront-product-pagination__title,
body.single-product .storefront-product-pagination a[rel="next"] .storefront-product-pagination__title {
  margin:0;
}
body.single-product .storefront-product-pagination a[rel="prev"] img {
  grid-column:1;
  grid-row:1;
  margin:0;
}
body.single-product .storefront-product-pagination a[rel="prev"] .storefront-product-pagination__title {
  grid-column:2;
  grid-row:1;
  text-align:left;
}
body.single-product .storefront-product-pagination a[rel="next"] img {
  grid-column:2;
  grid-row:1;
  margin:0;
}
body.single-product .storefront-product-pagination a[rel="next"] .storefront-product-pagination__title {
  grid-column:1;
  grid-row:1;
  text-align:right;
}

@media (max-width:600px) {
  body.single-product form.cart .quantity input.qty {
    height:64px;
  }
  body.single-product form.cart .quantity-nav {
    height:64px;
    line-height:32px;
  }
  body.single-product form.cart .quantity-button {
    width:40px;
  }
}

/* Description : hiérarchie plus calme et longueur de ligne confortable. */
body.single-product .summary .woocommerce-product-details__short-description {
  float:none;
  width:100%;
}
body.single-product .summary .woocommerce-product-details__short-description p {
  font-size:.94rem;
  line-height:1.45;
  margin-bottom:1.1rem;
}

/* Options alignées sur une grille régulière. */
body.single-product form.variations_form table.variations {
  display:block;
  margin:14px 0 0;
  width:100%;
}
body.single-product form.variations_form table.variations tbody {
  display:block;
}
body.single-product form.variations_form table.variations tr {
  align-items:center;
  display:grid;
  gap:14px;
  grid-template-columns:120px minmax(0,1fr);
  margin-bottom:9px;
  width:100%;
}
body.single-product form.variations_form table.variations th.label,
body.single-product form.variations_form table.variations td.value {
  display:block;
  margin:0;
  padding:0;
}
body.single-product form.variations_form table.variations th.label {
  text-align:left;
}
body.single-product form.variations_form table.variations th.label label {
  font-size:.82rem;
  font-weight:500;
}
body.single-product form.variations_form table.variations td.value {
  align-items:center;
  display:flex;
  gap:10px;
  min-width:0;
}
body.single-product form.variations_form table.variations td.value select,
body.single-product form.variations_form table.variations #format {
  flex:1 1 auto;
  margin:0;
  max-width:none;
  width:100%;
}
body.single-product form.variations_form table.variations a.reset_variations {
  flex:0 0 auto;
  font-size:.72rem;
  margin:0;
  padding:8px 0;
}

/* Quantité et action raccordées sur une même ligne. */
body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation {
  width:100%;
}
body.single-product form.variations_form .variations_button {
  align-items:stretch;
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  width:100%;
}
body.single-product form.variations_form .variations_button .quantity {
  float:none;
  margin:0;
  width:140px;
}
body.single-product form.variations_form .variations_button .single_add_to_cart_button {
  height:64px;
  margin:0;
  max-width:none;
  width:100%;
}

@media (max-width:768px) {
  body.single-product .summary .woocommerce-product-details__short-description p {
    font-size:.96rem;
    line-height:1.5;
  }
  body.single-product form.variations_form table.variations tr {
    grid-template-columns:105px minmax(0,1fr);
  }
}
@media (max-width:600px) {
  body.single-product form.variations_form table.variations tr {
    display:block;
  }
  body.single-product form.variations_form table.variations th.label {
    margin-bottom:6px;
  }
  body.single-product form.variations_form .variations_button {
    grid-template-columns:112px minmax(0,1fr);
  }
  body.single-product form.variations_form .variations_button .quantity {
    width:112px;
  }
}

/* Grille commune pour options, prix et ajout au panier. */
body.single-product form.variations_form {
  box-sizing:border-box;
  width:100%;
}
body.single-product form.variations_form table.variations,
body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation-price,
body.single-product form.variations_form .variations_button {
  box-sizing:border-box;
  max-width:none;
  width:100%;
}
body.single-product form.variations_form table.variations td.value {
  display:grid;
  gap:10px;
  grid-template-columns:minmax(0,1fr) 88px;
}
body.single-product form.variations_form table.variations td.value select {
  grid-column:1;
  min-width:0;
  width:100%;
}
body.single-product form.variations_form table.variations a.reset_variations {
  align-self:center;
  grid-column:2;
  justify-self:start;
  margin:0;
  white-space:nowrap;
}
body.single-product form.variations_form .woocommerce-variation-price {
  margin-left:0;
  margin-right:0;
}

@media (max-width:600px) {
  body.single-product form.variations_form table.variations td.value {
    grid-template-columns:minmax(0,1fr);
  }
  body.single-product form.variations_form table.variations td.value select,
  body.single-product form.variations_form table.variations #format {
    grid-column:1;
  }
  body.single-product form.variations_form table.variations a.reset_variations {
    box-sizing:border-box;
    grid-column:1;
    justify-self:end;
    overflow:visible;
    text-align:center;
    width:120px;
  }
}

/* Desktop : prix et achat commencent sous la colonne des menus, pas sous leurs libellés. */
@media (min-width:769px) {
  body.single-product form.variations_form .single_variation_wrap {
    box-sizing:border-box;
    padding-left:134px;
  }
  body.single-product form.variations_form .woocommerce-variation-price,
  body.single-product form.variations_form .variations_button {
    width:100%;
  }
}
@media (max-width:768px) {
  body.single-product form.variations_form .single_variation_wrap {
    padding-left:0;
  }
}

/* Le bandeau prix reprend exactement la largeur de la colonne des menus. */
@media (min-width:769px) {
  body.single-product form.variations_form .woocommerce-variation-price {
    margin-right:98px;
    width:calc(100% - 98px);
  }
}

/* Descriptif légèrement agrandi, avec un rythme vertical plus serré. */
body.single-product .summary .woocommerce-product-details__short-description p {
  font-size:.98rem;
  line-height:1.38;
}
@media (max-width:768px) {
  body.single-product .summary .woocommerce-product-details__short-description p {
    font-size:.98rem;
    line-height:1.43;
  }
}
