/* ÉLY — single product page v3: calm hierarchy, clear blocks, generous rhythm */
.ely-single-product{max-width:1120px;margin:0 auto;padding:44px 16px 80px!important}
.ely-single-product .woocommerce-breadcrumb,
.ely-single-product span.onsale,
.ely-single-product .ely-product-help,
.ely-single-product .ely-selected-size,
.ely-single-product .reset_variations,
.ely-single-product .single_variation_wrap .woocommerce-variation-price,
.ely-single-product .woocommerce-variation-description{display:none!important}

/* ---------- Layout ---------- */
.ely-single-product div.product{display:grid!important;grid-template-columns:1fr;gap:32px;margin:0}
@media(min-width:900px){.ely-single-product div.product{grid-template-columns:minmax(0,540px) minmax(0,400px);justify-content:center;column-gap:88px}}
.ely-single-product div.product>.related,.ely-single-product div.product>.up-sells{grid-column:1/-1}

/* ---------- Gallery ---------- */
.ely-single-product .woocommerce-product-gallery{display:grid!important;grid-template-columns:56px 1fr;gap:14px;align-items:start;width:auto!important;float:none!important;margin:0!important;opacity:1!important}
.ely-single-product .woocommerce-product-gallery__trigger{display:none!important}
.ely-single-product .woocommerce-product-gallery .flex-viewport,.ely-single-product .woocommerce-product-gallery__wrapper{grid-column:2;grid-row:1}
.ely-single-product .woocommerce-product-gallery__image img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--blush)}
.ely-single-product .flex-control-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;margin:0!important;padding:0;list-style:none}
.ely-single-product .flex-control-thumbs li{width:100%!important;float:none!important;margin:0!important}
.ely-single-product .flex-control-thumbs img{aspect-ratio:3/4;object-fit:cover;opacity:.45!important;cursor:pointer;transition:opacity .2s}
.ely-single-product .flex-control-thumbs img.flex-active,.ely-single-product .flex-control-thumbs img:hover{opacity:1!important}
@media(max-width:899px){
  .ely-single-product{padding-top:16px!important}
  .ely-single-product .woocommerce-product-gallery{grid-template-columns:minmax(0,1fr)!important}
  .ely-single-product .woocommerce-product-gallery .flex-viewport,.ely-single-product .woocommerce-product-gallery__wrapper{grid-column:1!important;grid-row:1!important;overflow:hidden!important;max-width:100%}
  .ely-single-product .flex-control-thumbs{grid-column:1!important;grid-row:2!important;flex-direction:row;flex-wrap:wrap;gap:8px}
  .ely-single-product .flex-control-thumbs li{width:56px!important}
}

/* ---------- Summary ---------- */
.ely-single-product div.product div.summary{width:auto!important;float:none!important;margin:0!important;padding:24px 0 0;align-self:start}
@media(min-width:900px){.ely-single-product div.product div.summary{padding-top:40px}}

/* 1. Intro block */
.ely-single-product .ely-eyebrow{margin:0 0 14px;font:400 .66rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#9a8580}
.ely-single-product div.product .product_title{margin:0 0 12px!important;font:400 2.5rem/1.08 var(--serif)!important;letter-spacing:0;color:var(--ink)}
.ely-single-product div.product p.price,.ely-single-product div.product span.price{display:block;margin:0 0 24px!important;font:400 1.3rem/1 var(--serif)!important;letter-spacing:.01em;color:var(--wine)!important}
.ely-single-product .woocommerce-product-details__short-description{padding-bottom:30px;margin-bottom:26px;border-bottom:1px solid #efe4dd}
.ely-single-product .woocommerce-product-details__short-description p{margin:0;font:400 .9rem/1.75 var(--sans);color:#5d4945}

/* 2. Size block */
.ely-single-product form.variations_form{margin:0!important}
.ely-single-product table.variations{width:100%;margin:0!important;border:0!important}
.ely-single-product table.variations tbody,.ely-single-product table.variations tr{display:block}
.ely-single-product table.variations th,.ely-single-product table.variations td{display:block;padding:0!important;border:0!important;background:none!important;text-align:start;line-height:1}
.ely-single-product table.variations th.label{display:flex!important;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.ely-single-product table.variations th.label label{font:400 .9rem var(--sans)!important;letter-spacing:0;text-transform:none;color:var(--ink)}
.ely-single-product table.variations select.ely-hidden-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.ely-size-row{display:none}
.ely-guide-link{position:static!important;font:400 .8rem var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:#8a7570!important;border-bottom:1px solid #d9c9c2!important;padding-bottom:1px}
.ely-guide-link:hover{color:var(--wine)!important;border-color:var(--wine)!important}
.ely-size-buttons{display:flex;flex-wrap:wrap;gap:6px 26px;padding:0 0 30px;margin:0}
.ely-size-buttons button{position:relative;min-width:0;height:30px;padding:0 1px;border:0;background:none;font:400 .9rem var(--sans);letter-spacing:.02em;color:var(--ink);cursor:pointer;transition:color .2s}
.ely-size-buttons button:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--wine);transform:scaleX(0);transition:transform .2s}
.ely-size-buttons button:hover{color:var(--wine)}
.ely-size-buttons button.is-on{color:var(--wine)}
.ely-size-buttons button.is-on:after{transform:scaleX(1)}
.ely-size-buttons button.is-out{color:#c9b8b2;text-decoration:line-through;cursor:default}
.ely-size-buttons button.is-out:after{display:none}
.ely-single-product .woocommerce-variation-availability p{margin:0 0 12px;font-size:.8rem;color:#8a7570}

/* 3. Add to bag */
.ely-single-product form.cart{margin:0!important}
.ely-single-product .woocommerce-variation-add-to-cart,.ely-single-product form.cart:not(.variations_form){display:block!important}
.ely-single-product .quantity{display:none!important}
.ely-single-product .single_add_to_cart_button{display:block;width:100%;min-height:54px!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--wine)!important;color:#fff!important;font:500 .7rem var(--sans)!important;letter-spacing:.22em!important;text-transform:uppercase;float:none!important;transition:background .2s}
.ely-single-product .single_add_to_cart_button:hover{background:var(--deep)!important}
.ely-single-product .single_add_to_cart_button.disabled{opacity:.5!important}

/* 4. Reassurance line */
.ely-trust-mini{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:16px 0 40px;padding:0;list-style:none;font:400 .76rem var(--sans);letter-spacing:0;color:#8a7570;white-space:nowrap}
.ely-trust-mini li{display:inline-flex;align-items:center}
.ely-trust-mini li+li:before{content:"·";margin:0 9px;color:#c9b8b2}
.ely-trust-mini svg{display:none}

/* 5. Accordions */
.ely-acc{border-top:1px solid #efe4dd}
.ely-acc:last-of-type{border-bottom:1px solid #efe4dd}
.ely-acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;font:400 .9rem var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}
.ely-acc summary::-webkit-details-marker{display:none}
.ely-acc summary:after{content:"+";font:300 1.1rem/1 var(--sans);color:#8a7570;transition:transform .2s}
.ely-acc[open] summary:after{transform:rotate(45deg)}
.ely-acc__body{padding:0 0 22px;font:400 .88rem/1.75 var(--sans);color:#5d4945}
.ely-acc__body p{margin:0 0 10px}
.ely-acc__body a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}

/* ---------- Complete the look ---------- */
.ely-single-product .related{margin-top:56px;padding-top:64px;border-top:1px solid #efe4dd}
.ely-single-product .related>h2{margin:0 0 32px;text-align:center;font:400 1.8rem var(--serif)!important;letter-spacing:0;color:var(--ink)}
.ely-single-product .related ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:28px 16px;margin:0!important}
@media(min-width:900px){.ely-single-product .related ul.products{grid-template-columns:repeat(4,1fr);gap:24px}}
.ely-single-product .related ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.ely-single-product .related ul.products li.product a img{width:100%;aspect-ratio:3/4;object-fit:cover;margin:0 0 14px!important;background:var(--blush)}
.ely-single-product .related .woocommerce-loop-product__title{margin:0 0 4px!important;padding:0!important;font:400 1.05rem var(--serif)!important;color:var(--ink)}
.ely-single-product .related .price{font:400 .8rem var(--sans)!important;letter-spacing:.02em;color:#6f5a55!important}
.ely-single-product .related .ely-quick{display:none}

@media(max-width:899px){.ely-single-product div.product .product_title{font-size:2.1rem!important}}

/* ---------- v3.1 refinements ---------- */
.ely-single-product .ely-eyebrow{margin-bottom:12px;font-size:.62rem}
.ely-single-product div.product .product_title{margin:0 0 10px!important;font-size:2.25rem!important}
.ely-single-product div.product p.price,.ely-single-product div.product span.price{margin:0 0 22px!important;font:400 .95rem/1 var(--sans)!important;font-variant-numeric:lining-nums;letter-spacing:.06em;color:#7a6560!important}
.ely-single-product .woocommerce-product-details__short-description{padding-bottom:24px;margin-bottom:24px}
.ely-single-product .woocommerce-product-details__short-description p{font-size:.86rem;color:#6f5a55}
.ely-single-product table.variations th.label{margin-bottom:12px}
.ely-single-product table.variations th.label label{font-size:.8rem!important;letter-spacing:.02em;color:#6f5a55}
.ely-guide-link{font-size:.76rem!important}
.ely-size-buttons{gap:6px 24px;padding-bottom:24px}
.ely-size-buttons button{height:28px;font-size:.86rem}
.ely-single-product .single_add_to_cart_button{min-height:48px!important;font-size:.64rem!important;letter-spacing:.24em!important}
.ely-trust-mini{margin:14px 0 34px;font-size:.72rem!important;color:#9a8580}
.ely-acc summary{padding:16px 0;font-size:.84rem;letter-spacing:.01em}
.ely-acc summary:after{font-size:1rem}
.ely-acc__body{font-size:.84rem}
