/* WallArt2D — fiche produit harmonisée */
body.single-product {
  --wa-orange:#fa7921; --wa-amber:#fe9920; --wa-blue:#0c4767; --wa-ink:#0a344b;
  --wa-fern:#566e3d; --wa-text:#354b55; --wa-muted:#718087; --wa-line:rgba(12,71,103,.12);
  background:radial-gradient(circle at 8% 8%,rgba(254,153,32,.07),transparent 26rem),#f8f6f0;
}
body.single-product #main { padding-block:0 48px!important; }
body.single-product #main > .ct-container,
body.single-product #main > .ct-container-full { width:min(1180px,calc(100% - 48px)); max-width:none; padding-block:26px 42px; }
body.single-product .woocommerce-breadcrumb,
body.single-product .ct-breadcrumbs { margin:0 0 22px!important; color:var(--wa-muted)!important; font-size:11px!important; font-weight:700; letter-spacing:.045em; }
body.single-product .woocommerce-breadcrumb a,
body.single-product .ct-breadcrumbs a { color:var(--wa-blue)!important; text-decoration:none; }
body.single-product .woocommerce-breadcrumb a:hover,
body.single-product .ct-breadcrumbs a:hover { color:var(--wa-orange)!important; }

/* Blocksy outputs the actual gallery and purchase panel in this flex wrapper. */
body.single-product .product-gallery-summary {
  display:grid!important; grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr)!important;
  align-items:start!important; gap:clamp(24px,3vw,44px)!important; width:100%!important;
  max-width:1120px!important; margin-inline:auto!important;
}
body.single-product .product-gallery-summary > .woocommerce-product-gallery,
body.single-product .product-gallery-summary > .summary {
  float:none!important; width:100%!important; min-width:0!important; max-width:none!important; margin:0!important;
}
body.single-product .woocommerce-product-gallery {
  padding:10px!important; border:1px solid rgba(12,71,103,.10)!important; border-radius:22px!important;
  background:linear-gradient(145deg,#fffdf8,#edf3f5)!important; box-shadow:0 18px 44px rgba(12,71,103,.08)!important;
  overflow:hidden!important;
}
body.single-product .woocommerce-product-gallery .flex-viewport {
  width:100%!important; aspect-ratio:1/1!important; height:auto!important; border-radius:15px!important;
  background:#fffdf8!important; overflow:hidden!important;
}
body.single-product .woocommerce-product-gallery__wrapper { margin:0!important; }
body.single-product .woocommerce-product-gallery__image {
  aspect-ratio:1/1!important; overflow:hidden!important; background:#fffdf8!important;
}
body.single-product .woocommerce-product-gallery__image a {
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:100%!important; height:100%!important; aspect-ratio:1/1!important; background:#fffdf8!important;
}
body.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  display:block!important; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important;
  margin:0!important; aspect-ratio:1/1!important; object-fit:contain!important; object-position:center!important;
}
body.single-product .woocommerce-product-gallery__trigger {
  top:18px!important; right:18px!important; display:grid!important; width:42px!important; height:42px!important;
  place-items:center; border:1px solid var(--wa-line)!important; border-radius:50%!important;
  background:rgba(255,255,255,.95)!important; box-shadow:0 6px 18px rgba(12,71,103,.1)!important;
}
/* WooCommerce's FlexSlider writes inline thumbnail widths; replace its scrolling track with a grid. */
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
  display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:9px!important;
  width:100%!important; height:auto!important; margin:10px 0 0!important; padding:0!important;
  transform:none!important; overflow:visible!important; list-style:none!important;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
  display:block!important; float:none!important; width:auto!important; height:auto!important; min-width:0!important;
  margin:0!important; padding:0!important;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
  display:block!important; width:100%!important; height:auto!important; aspect-ratio:1/1!important; object-fit:cover!important;
  border:1px solid rgba(12,71,103,.12)!important; border-radius:10px!important; opacity:.72!important;
  transition:opacity .18s ease,border-color .18s ease,transform .18s ease!important;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active {
  opacity:1!important; border-color:var(--wa-orange)!important; transform:translateY(-1px);
}

/* Calm, legible purchase panel */
body.single-product .product-gallery-summary > .summary {
  padding:clamp(24px,3vw,36px)!important; border:1px solid rgba(12,71,103,.10)!important;
  border-radius:22px!important; background:rgba(255,255,255,.94)!important;
  box-shadow:0 16px 42px rgba(12,71,103,.065)!important;
}
.wa-product-kicker {
  display:flex; align-items:center; gap:9px; margin:0 0 10px!important; color:var(--wa-fern)!important;
  font-size:10px!important; font-weight:800!important; letter-spacing:.15em!important; line-height:1.5; text-transform:uppercase;
}
.wa-product-kicker::before { width:20px; height:2px; background:linear-gradient(90deg,var(--wa-orange),var(--wa-amber)); content:""; }
body.single-product .product_title {
  margin:0 0 10px!important; color:var(--wa-ink)!important; font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,4vw,54px)!important; font-weight:400!important; letter-spacing:-.045em!important; line-height:1.03!important;
}
body.single-product div.product p.price,
body.single-product div.product span.price { margin:0 0 18px!important; color:var(--wa-blue)!important; font-size:24px!important; font-weight:750!important; }
body.single-product div.product p.price del,
body.single-product div.product span.price del { color:var(--wa-muted)!important; font-size:.72em!important; opacity:.72; }
body.single-product div.product p.price ins,
body.single-product div.product span.price ins { color:var(--wa-orange)!important; text-decoration:none!important; }
body.single-product .woocommerce-product-details__short-description {
  margin:0!important; padding:17px 0!important; border-top:1px solid var(--wa-line)!important;
  border-bottom:1px solid var(--wa-line)!important; color:var(--wa-text)!important; font-size:15px!important; line-height:1.75!important;
}
body.single-product .woocommerce-product-details__short-description p { margin:0!important; }

/* Quantity + main action remain one clear purchase path. */
body.single-product form.cart { margin:20px 0 0!important; padding:0!important; border:0!important; }
body.single-product form.cart .botiga-single-addtocart-wrapper {
  display:grid!important; grid-template-columns:112px minmax(0,1fr)!important; align-items:stretch!important; gap:10px!important;
}
body.single-product .quantity {
  display:grid!important; grid-template-columns:34px minmax(30px,1fr) 34px!important; align-items:center!important;
  width:112px!important; min-width:112px!important; max-width:112px!important; height:50px!important; padding:3px!important;
  border:1px solid rgba(12,71,103,.18)!important; border-radius:12px!important; background:#fff!important;
}
body.single-product .quantity input.qty {
  grid-column:2!important; grid-row:1!important; width:100%!important; height:40px!important; margin:0!important; padding:0!important;
  border:0!important; background:transparent!important; color:var(--wa-ink)!important; font-size:15px!important; font-weight:750!important;
  box-shadow:none!important; appearance:textfield!important;
}
body.single-product .quantity input.qty::-webkit-inner-spin-button,
body.single-product .quantity input.qty::-webkit-outer-spin-button { margin:0; appearance:none; }
body.single-product .quantity .ct-decrease,
body.single-product .quantity .ct-increase,
body.single-product .quantity button,
body.single-product .quantity [class*=minus],
body.single-product .quantity [class*=plus] {
  display:grid!important; width:32px!important; height:40px!important; min-height:40px!important; padding:0!important;
  place-items:center!important; border:0!important; border-radius:8px!important; background:transparent!important;
  color:var(--wa-blue)!important; box-shadow:none!important; font-size:18px!important; font-weight:700!important;
}
body.single-product .quantity .ct-decrease { grid-column:1!important; grid-row:1!important; }
body.single-product .quantity .ct-increase { grid-column:3!important; grid-row:1!important; }
body.single-product .quantity button:hover,
body.single-product .quantity [class*=minus]:hover,
body.single-product .quantity [class*=plus]:hover { background:#edf3f5!important; color:var(--wa-orange)!important; }
body.single-product .single_add_to_cart_button {
  display:flex!important; width:100%!important; height:50px!important; min-height:50px!important; flex-wrap:nowrap!important; align-items:center!important; justify-content:center!important; gap:7px; white-space:nowrap!important;
  padding:12px 18px!important; border:0!important; border-radius:12px!important;
  background:linear-gradient(110deg,var(--wa-orange),var(--wa-amber))!important; color:#fff!important;
  box-shadow:0 9px 20px rgba(250,121,33,.20)!important; font-size:13px!important; font-weight:800!important;
  letter-spacing:.035em; text-transform:uppercase; transition:transform .18s ease,box-shadow .18s ease!important;
}
body.single-product .single_add_to_cart_button:hover { transform:translateY(-1px); box-shadow:0 12px 24px rgba(250,121,33,.28)!important; }
body.single-product .single_add_to_cart_button:focus-visible,
body.single-product .quantity button:focus-visible { outline:3px solid rgba(12,71,103,.36)!important; outline-offset:3px!important; }
.wa-product-reassurance {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px!important; margin:16px 0 0!important;
  padding:14px 0 0!important; border-top:1px solid var(--wa-line); list-style:none!important;
}
.wa-product-reassurance li {
  display:flex!important; align-items:center; gap:7px; margin:0!important; color:var(--wa-text); font-size:11px; font-weight:650; line-height:1.4;
}
.wa-product-reassurance li>span {
  display:grid; width:20px; height:20px; flex:0 0 20px; place-items:center; border-radius:50%;
  background:#edf3f5; color:var(--wa-blue); font-size:11px; font-weight:800;
}
.wa-product-reassurance li:nth-child(2)>span { background:#eef2e9; color:var(--wa-fern); }
.wa-product-reassurance li:nth-child(3)>span { background:#f6f1df; color:#8c7430; }
body.single-product .product_meta {
  display:flex!important; flex-wrap:wrap; gap:7px 18px; margin:18px 0 0!important; padding-top:14px!important;
  border-top:1px solid var(--wa-line)!important; color:var(--wa-muted)!important; font-size:11px!important;
}
body.single-product .product_meta a { color:var(--wa-blue)!important; font-weight:700!important; text-decoration:none; }
body.single-product .product_meta a:hover { color:var(--wa-orange)!important; }

/* Product information and related products */
body.single-product .woocommerce-tabs {
  width:min(1120px,100%)!important; margin:42px auto 0!important; padding:0!important; border:1px solid rgba(12,71,103,.09)!important;
  border-radius:20px!important; background:#fff!important; box-shadow:0 14px 38px rgba(12,71,103,.05)!important; overflow:hidden!important;
}
body.single-product .woocommerce-tabs ul.tabs {
  display:flex!important; justify-content:center!important; gap:8px!important; margin:0!important; padding:10px 18px 0!important;
  border:0!important; background:linear-gradient(180deg,#fbfaf6,#fff)!important;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display:none!important; }
body.single-product .woocommerce-tabs ul.tabs li { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
body.single-product .woocommerce-tabs ul.tabs li a {
  display:block!important; padding:13px 17px!important; border-bottom:2px solid transparent!important;
  color:var(--wa-muted)!important; font-size:10px!important; font-weight:800!important; letter-spacing:.06em!important; text-transform:uppercase!important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom-color:var(--wa-orange)!important; color:var(--wa-blue)!important; }
body.single-product .woocommerce-Tabs-panel { max-width:920px!important; margin:0 auto!important; padding:30px 36px 38px!important; color:var(--wa-text)!important; font-size:15px!important; line-height:1.8!important; }
body.single-product .woocommerce-Tabs-panel h2 { margin-top:0!important; color:var(--wa-ink)!important; font-family:Georgia,"Times New Roman",serif!important; font-weight:400!important; }
body.single-product .related.products,
body.single-product .upsells.products { width:min(1180px,100%)!important; margin:48px auto 0!important; }
body.single-product .related.products>h2,
body.single-product .upsells.products>h2 { margin:0 0 22px!important; color:var(--wa-ink)!important; font-family:Georgia,"Times New Roman",serif!important; font-size:clamp(28px,2.8vw,40px)!important; font-weight:400!important; }
body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:18px!important; }
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product { width:auto!important; margin:0!important; padding:9px 9px 16px!important; border:1px solid rgba(12,71,103,.08)!important; border-radius:16px!important; background:#fff!important; box-shadow:0 10px 26px rgba(12,71,103,.05)!important; }
body.single-product .related.products ul.products li.product img,
body.single-product .upsells.products ul.products li.product img { width:100%!important; aspect-ratio:1/1!important; object-fit:contain!important; border-radius:11px!important; background:#edf3f5!important; }
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title { color:var(--wa-ink)!important; font-family:Georgia,"Times New Roman",serif!important; font-size:18px!important; font-weight:400!important; }
body.single-product .related.products ul.products li.product .price,
body.single-product .upsells.products ul.products li.product .price { color:var(--wa-blue)!important; font-size:14px!important; font-weight:750!important; }

@media(max-width:980px) {
  body.single-product .product-gallery-summary { grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)!important; gap:22px!important; }
  body.single-product .product-gallery-summary>.summary { padding:25px!important; }
}
@media(max-width:760px) {
  body.single-product #main>.ct-container,
  body.single-product #main>.ct-container-full { width:calc(100% - 32px); padding-block:20px 38px; }
  body.single-product .woocommerce-breadcrumb,
  body.single-product .ct-breadcrumbs { margin-bottom:16px!important; font-size:10px!important; }
  body.single-product .product-gallery-summary { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; max-width:560px!important; }
  body.single-product .woocommerce-product-gallery { padding:7px!important; border-radius:18px!important; }
  body.single-product .woocommerce-product-gallery .flex-viewport { border-radius:12px!important; }
  body.single-product .woocommerce-product-gallery ol.flex-control-thumbs { grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:6px!important; margin-top:7px!important; }
  body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img { border-radius:8px!important; }
  body.single-product .product-gallery-summary>.summary { padding:23px 20px!important; border-radius:18px!important; }
  body.single-product .product_title { font-size:clamp(36px,10vw,48px)!important; }
  body.single-product div.product p.price,
  body.single-product div.product span.price { font-size:22px!important; }
  .wa-product-reassurance { grid-template-columns:1fr!important; gap:8px!important; }
  body.single-product .woocommerce-tabs { margin-top:30px!important; border-radius:16px!important; }
  body.single-product .woocommerce-tabs ul.tabs { justify-content:flex-start!important; overflow-x:auto!important; padding-inline:10px!important; }
  body.single-product .woocommerce-tabs ul.tabs li a { white-space:nowrap!important; padding-inline:12px!important; }
  body.single-product .woocommerce-Tabs-panel { padding:24px 20px 28px!important; font-size:14px!important; }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:420px) {
  body.single-product #main>.ct-container,
  body.single-product #main>.ct-container-full { width:calc(100% - 24px); padding-block:16px 32px; }
  body.single-product .product-gallery-summary>.summary { padding:20px 16px!important; }
  body.single-product form.cart .botiga-single-addtocart-wrapper { grid-template-columns:1fr!important; grid-template-rows:50px 52px!important; gap:8px!important; }
  body.single-product .quantity { width:100px!important; min-width:100px!important; max-width:100px!important; grid-template-columns:30px minmax(26px,1fr) 30px!important; }
  body.single-product .quantity .ct-decrease,
  body.single-product .quantity .ct-increase,
  body.single-product .quantity button { width:28px!important; }
  body.single-product .single_add_to_cart_button { height:52px!important; min-height:52px!important; padding-inline:16px!important; font-size:15px!important; letter-spacing:.015em!important; }
  .wa-product-reassurance li { font-size:11px; }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products { grid-template-columns:1fr!important; }
}
@media(prefers-reduced-motion:reduce) {
  body.single-product *,body.single-product *::before,body.single-product *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}





/* Size variants show their full label and selected state instead of clipped swatch initials. */
body.single-product .variations_form .button-variable-items-wrapper {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:9px 0 4px!important;
}
body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item {
  display:inline-flex!important;
  width:auto!important;
  min-width:145px!important;
  max-width:none!important;
  height:auto!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 15px!important;
  border:1px solid rgba(12,71,103,.18)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(12,71,103,.045)!important;
  color:var(--wa-blue)!important;
}
body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item .variable-item-span {
  display:inline-block!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.2!important;
}
body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item.selected,
body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item[aria-checked="true"] {
  border-color:var(--wa-orange)!important;
  background:#fff6ed!important;
  box-shadow:0 0 0 2px rgba(250,121,33,.13)!important;
  color:var(--wa-ink)!important;
}
@media(max-width:420px) {
  body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item {
    min-width:132px!important;
    padding-inline:12px!important;
  }
}

body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item::before,
body.single-product .variations_form .button-variable-items-wrapper .variable-item.button-variable-item::after {
  display:none!important;
}


/* WallArt2D 2026-10-18: shipping envelope specifications are not product dimensions. */
body.single-product table.woocommerce-product-attributes tr.woocommerce-product-attributes-item--weight,
body.single-product table.woocommerce-product-attributes tr.woocommerce-product-attributes-item--dimensions {
  display: none !important;
}

/* Reserve the same square photo and thumbnail row before FlexSlider initializes. */
body.single-product .woocommerce-product-gallery {opacity:1!important;}
body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    aspect-ratio:1/1!important;
    overflow:hidden!important;
}
body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {display:none!important;}
body.single-product .woocommerce-product-gallery:has(> .woocommerce-product-gallery__wrapper):not(:has(ol.flex-control-thumbs))::after {
    content:"";display:block;height:0;
    padding-top:calc((100% - 45px) / 6);
    margin-top:10px;
}
@media(max-width:760px) {
    body.single-product .woocommerce-product-gallery:has(> .woocommerce-product-gallery__wrapper):not(:has(ol.flex-control-thumbs))::after {
        padding-top:calc((100% - 30px) / 6);
        margin-top:7px;
    }
}
