/* Single-product presentation. Header, footer, shop, and homepage are untouched. */
body.single-product .commerce-content{width:min(100% - 48px,1240px);padding-block:28px 56px}
body.single-product .woocommerce-breadcrumb{margin:0 0 18px;font-size:13px;line-height:1.6;color:#6d5a5e}
body.single-product .woocommerce-breadcrumb a{color:var(--burgundy)}
body.single-product div.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:36px 48px;align-items:start}
body.single-product.woocommerce div.product div.images,
body.single-product.woocommerce div.product div.summary,
body.single-product.woocommerce #content div.product div.images,
body.single-product.woocommerce #content div.product div.summary{float:none;width:auto;max-width:none}
body.single-product div.product .woocommerce-product-gallery{grid-column:1;position:relative}
body.single-product div.product .summary{grid-column:2;min-width:0}
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .upsells{grid-column:1 / -1;min-width:0}

body.single-product .woocommerce-product-gallery{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-areas:"thumbs stage";gap:12px;direction:ltr}
body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{grid-area:stage;min-width:0}
body.single-product .woocommerce-product-gallery .flex-viewport{border-radius:16px;background:#f3eee9;overflow:hidden}
body.single-product .woocommerce-product-gallery .flex-viewport img,
body.single-product .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain;background:#f3eee9}
body.single-product .flex-control-nav.flex-control-thumbs{grid-area:thumbs;display:flex;flex-direction:column;gap:8px;width:84px;max-height:640px;margin:0;padding:2px;overflow:auto;list-style:none}
body.single-product .flex-control-thumbs li{float:none;width:72px;margin:0;clear:none}
body.single-product .flex-control-thumbs img{width:72px;height:90px;object-fit:cover;border:1px solid var(--border);border-radius:10px;opacity:.72;cursor:pointer}
body.single-product .flex-control-thumbs .flex-active,
body.single-product .flex-control-thumbs img.flex-active{border-color:var(--burgundy);opacity:1;box-shadow:0 0 0 1px var(--burgundy)}
html[dir=rtl] body.single-product .woocommerce-product-gallery{grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:"stage thumbs"}

body.single-product .flex-viewport{position:relative}
body.single-product .elly-gallery-nav{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:1px solid var(--border);border-radius:50%;background:#fffdfae6;color:var(--burgundy-dark);transform:translateY(-50%)}
body.single-product .elly-gallery-nav::before{content:"";width:8px;height:8px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor}
body.single-product .elly-gallery-prev{left:12px}
body.single-product .elly-gallery-prev::before{transform:rotate(-135deg);margin-left:3px}
body.single-product .elly-gallery-next{right:12px}
body.single-product .elly-gallery-next::before{transform:rotate(45deg);margin-right:3px}
body.single-product .woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fffdfae6;border:1px solid var(--border)}

body.single-product .product_title{margin:0 0 10px;font-size:clamp(26px,2.4vw,36px);font-weight:600;line-height:1.25;letter-spacing:0;color:var(--burgundy-dark)}
body.single-product .summary .price{margin:0 0 14px;color:var(--burgundy);font-size:22px;font-weight:700;line-height:1.3}
body.single-product .summary .price del{color:#8a7579;font-size:16px;font-weight:500;margin-inline-end:8px}
body.single-product .woocommerce-product-details__short-description{margin:0 0 14px;color:#4d3d41;font-size:15px;line-height:1.7}
body.single-product .woocommerce-product-details__short-description:empty{display:none}
body.single-product .summary .stock{margin:0 0 12px;font-size:14px;font-weight:600}
body.single-product .summary .stock.in-stock{color:#2f6b45}
body.single-product .summary .stock.out-of-stock{color:#8a3a3a}
body.single-product .elly-size-note{margin:0 0 12px;font-size:13px;line-height:1.6;color:#6d5a5e}
body.single-product .summary .elly-wish{margin:0 0 12px}

body.single-product form.cart{margin:8px 0 0;padding:16px;background:#fff;border:1px solid var(--border);border-radius:16px}
body.single-product table.variations{width:100%;margin:0 0 8px;border:0}
body.single-product table.variations th,
body.single-product table.variations td{display:block;width:100%;padding:0 0 12px;text-align:start;background:transparent;border:0}
body.single-product table.variations label{font-size:13px;font-weight:700;color:var(--burgundy-dark)}
body.single-product table.variations select{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#fffdfa;color:var(--ink);unicode-bidi:isolate}
body.single-product table.variations .reset_variations{display:inline-block;margin-top:4px;font-size:13px;font-weight:600;color:var(--burgundy)}
body.single-product .elly-size-options{display:flex;flex-wrap:wrap;gap:8px}
body.single-product .elly-size-option{min-width:48px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);font-weight:600;unicode-bidi:isolate}
body.single-product .elly-size-option.is-selected{border-color:var(--burgundy);background:var(--burgundy);color:#fff7ef}
body.single-product.woocommerce div.product table.variations select.elly-size-native{position:absolute;width:1px;min-width:0;max-width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0)}
body.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body.single-product .quantity{margin:0}
body.single-product .quantity .qty{width:84px;min-height:52px;padding:8px;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:center}
body.single-product button.single_add_to_cart_button{flex:1 1 200px;width:auto;min-height:52px;margin:0;border-radius:10px;background:var(--burgundy);border-color:var(--burgundy);color:#fff7ef;font-weight:700}
body.single-product button.single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:focus-visible{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:#fff}
body.single-product button.single_add_to_cart_button.disabled,
body.single-product button.single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed}
body.single-product form.cart .ppc-button-wrapper{flex:1 0 100%;width:100%;margin:4px 0 0;clear:both}
body.single-product .woocommerce-variation-description{margin:0 0 8px;font-size:14px;line-height:1.6}
body.single-product .product_meta{margin-top:16px;font-size:13px;line-height:1.7;color:#6d5a5e}
body.single-product .product_meta > span{display:block}
body.single-product .product_meta a{color:var(--burgundy)}

body.single-product .woocommerce-tabs{margin-top:12px}
body.single-product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;border-bottom:1px solid var(--border);list-style:none}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after{display:none}
body.single-product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:transparent;border-radius:0}
body.single-product .woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px;color:#6d5a5e;font-weight:700}
body.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--burgundy);box-shadow:inset 0 -2px 0 var(--burgundy)}
body.single-product .woocommerce-Tabs-panel{padding:8px 0 12px}
body.single-product .woocommerce-Tabs-panel > h2:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3{margin:1.3em 0 .45em;font-size:22px;line-height:1.35;color:var(--burgundy-dark)}
body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li{font-size:15px;line-height:1.75}
body.single-product .woocommerce-Tabs-panel ul,
body.single-product .woocommerce-Tabs-panel ol{margin:0 0 1em;padding-inline-start:1.2em}
body.single-product .elly-desc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:16px 0 24px}
body.single-product .elly-desc-grid img,
body.single-product .elly-desc-wide{display:block;width:100%;height:auto;object-fit:contain;background:#f3eee9;border:1px solid var(--border);border-radius:12px}
body.single-product .woocommerce-Tabs-panel img{max-width:100%;height:auto}
body.single-product .elly-table-scroll,
body.single-product .elly-size-guide{max-width:100%;overflow-x:auto}
body.single-product .woocommerce-Tabs-panel table{width:100%;border-collapse:collapse;margin:0 0 16px}
body.single-product .woocommerce-Tabs-panel th,
body.single-product .woocommerce-Tabs-panel td{padding:8px 10px;border:1px solid var(--border);text-align:start;vertical-align:top}
body.single-product .woocommerce-Tabs-panel th{background:var(--cream);color:var(--burgundy-dark)}
body.single-product #reviews .commentlist{padding:0;list-style:none}
body.single-product #review_form input,
body.single-product #review_form textarea{width:100%;border:1px solid var(--border);border-radius:10px}

body.single-product .related.products > h2,
body.single-product .upsells > h2{margin:8px 0 16px;font-size:24px;color:var(--burgundy-dark)}
body.single-product .related.products ul.products,
body.single-product .upsells ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0}
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after,
body.single-product .upsells ul.products::before,
body.single-product .upsells ul.products::after{display:none}
body.single-product .related.products li.product,
body.single-product .upsells li.product{float:none;width:auto;margin:0;padding:0 0 12px;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}
body.single-product .related.products li.product img,
body.single-product .upsells li.product img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#f3eee9}
body.single-product .related.products li.product .woocommerce-loop-product__title,
body.single-product .upsells li.product .woocommerce-loop-product__title{min-height:2.7em;margin:8px 12px 0;font-size:14px;font-weight:500;line-height:1.35}
body.single-product .related.products li.product .price,
body.single-product .upsells li.product .price{margin:4px 12px 8px;color:var(--burgundy);font-weight:700}
body.single-product .related.products li.product a.button,
body.single-product .upsells li.product a.button{width:calc(100% - 24px);margin:0 12px;min-height:42px}

@media (max-width:1023px){
  body.single-product .commerce-content{width:min(100% - 32px,1240px)}
  body.single-product div.product{grid-template-columns:minmax(0,1fr);gap:24px}
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary{grid-column:1}
  body.single-product .woocommerce-product-gallery,
  html[dir=rtl] body.single-product .woocommerce-product-gallery{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "thumbs"}
  body.single-product .flex-control-nav.flex-control-thumbs{flex-direction:row;width:100%;max-height:none;overflow-x:auto}
  body.single-product .related.products ul.products,
  body.single-product .upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  body.single-product .commerce-content{width:calc(100% - 24px);padding-block:18px 40px}
  body.single-product .product_title{font-size:24px}
  body.single-product form.cart{padding:14px}
  body.single-product .woocommerce-variation-add-to-cart{align-items:stretch}
  body.single-product .quantity,
  body.single-product .quantity .qty,
  body.single-product button.single_add_to_cart_button{width:100%;flex-basis:100%}
  body.single-product .related.products ul.products,
  body.single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.single-product .elly-desc-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:359px){
  body.single-product .elly-desc-grid,
  body.single-product .related.products ul.products,
  body.single-product .upsells ul.products{grid-template-columns:minmax(0,1fr)}
}
