/* =========================================================================
   Willow & Fern — single product page
   ========================================================================= */

:root{--wf-ivory:#FAF7F2;--wf-cream:#F4EFE8;--wf-sand:#EDE5D9;--wf-taupe:#A2988A;
--wf-ink:#22201C;--wf-muted:#6F675C;--wf-line:#E2DACE;--wf-green:#2E5119}

/* ---------- summary rhythm ---------- */
body.single-product .summary .product_title{font-size:clamp(24px,2.6vw,32px);font-weight:400;
line-height:1.22;letter-spacing:-.015em;color:var(--wf-ink);margin:0 0 18px}

body.single-product .summary .price{font-size:22px;font-weight:500;letter-spacing:-.01em;
color:var(--wf-ink);margin:0 0 22px}
body.single-product .summary .price del{opacity:.45;font-weight:400;margin-right:8px}
body.single-product .summary .price ins{text-decoration:none;color:var(--wf-green)}

body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p{font-size:15px;line-height:1.75;
color:var(--wf-muted);margin:0 0 24px}

body.single-product .summary p.stock{display:inline-flex;align-items:center;gap:8px;
background:transparent;border:0;padding:0;margin:0 0 24px;font-size:11px;font-weight:600;
letter-spacing:.16em;text-transform:uppercase;color:var(--wf-green)}
body.single-product .summary p.stock::before{content:"";width:6px;height:6px;border-radius:50%;
background:var(--wf-green)}
body.single-product .summary p.stock.out-of-stock{color:#9A5B4B}
body.single-product .summary p.stock.out-of-stock::before{background:#9A5B4B}

/* ---------- quantity + add to cart ---------- */
body.single-product .summary form.cart{display:flex;align-items:stretch;gap:12px;margin:0 0 22px;
flex-wrap:wrap}

/* The theme positions the -/+ controls absolutely, which drops them on top of
   the number. Lay the stepper out as a plain row instead. */
body.single-product .summary form.cart .quantity{flex:0 0 auto;display:flex !important;
align-items:center;width:124px;height:52px;padding:0;overflow:hidden;
border:1px solid var(--wf-line);border-radius:2px;background:#fff}
body.single-product .summary form.cart .quantity .quantity-button{position:static !important;
flex:0 0 38px;width:38px !important;height:100% !important;display:flex !important;
align-items:center;justify-content:center;margin:0;cursor:pointer;font-size:15px;
color:var(--wf-muted);background:transparent;transition:color .3s ease,background-color .3s ease}
body.single-product .summary form.cart .quantity .quantity-button:hover{color:var(--wf-ink);
background:var(--wf-ivory)}
body.single-product .summary form.cart .quantity input.qty{flex:1 1 auto;width:auto !important;
min-width:0;height:100% !important;margin:0 !important;padding:0 !important;border:0 !important;
background:transparent !important;box-shadow:none !important;text-align:center;font-size:15px;
font-weight:500;color:var(--wf-ink);-moz-appearance:textfield}
body.single-product .summary form.cart .quantity input.qty::-webkit-outer-spin-button,
body.single-product .summary form.cart .quantity input.qty::-webkit-inner-spin-button{
-webkit-appearance:none;margin:0}
body.single-product .summary .single_add_to_cart_button{flex:1 1 240px;background:var(--wf-ink);
color:var(--wf-ivory);border:1px solid var(--wf-ink);border-radius:2px;padding:0 34px;min-height:52px;
font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
transition:background-color .4s ease,border-color .4s ease}
body.single-product .summary .single_add_to_cart_button:hover{background:var(--wf-green);
border-color:var(--wf-green);color:#fff}

/* ---------- pincode checker (moved below add to cart) ---------- */
/* width:100% made the input claim the whole row and push the button onto a
   second line, so give it a fixed basis instead. */
body.single-product .summary #shiprocket_pincode_check{flex:0 1 220px;width:auto !important;
max-width:220px;height:46px;background:transparent;border:0;border-bottom:1px solid var(--wf-line);
border-radius:0;padding:0 2px;font-family:inherit;font-size:14.5px;color:var(--wf-ink);
transition:border-color .35s ease}
body.single-product .summary #shiprocket_pincode_check:focus{outline:0;box-shadow:none;
border-bottom-color:var(--wf-green)}
body.single-product .summary #shiprocket_pincode_check::placeholder{color:var(--wf-taupe)}

body.single-product .summary #check_pincode{flex:0 0 auto;height:46px;display:inline-flex;
align-items:center;background:transparent;color:var(--wf-ink);border:1px solid var(--wf-line);
border-radius:2px;padding:0 22px;font-family:inherit;font-size:10.5px;font-weight:600;
letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
transition:background-color .35s ease,border-color .35s ease,color .35s ease}
body.single-product .summary #check_pincode:hover{background:var(--wf-ink);border-color:var(--wf-ink);
color:var(--wf-ivory)}

/* The plugin prints the field, the button and its response div as siblings, so
   only the first of them should form the row. */
body.single-product .summary .wf-pincode{display:block;margin:0}
body.single-product .summary .wf-pincode>div:first-of-type{display:flex;align-items:center;
gap:12px;flex-wrap:nowrap}
body.single-product .summary .wf-pincode-wrap{border-top:1px solid var(--wf-line);
padding-top:24px;margin:26px 0 0}
body.single-product .summary .wf-pincode-label{display:block;font-size:10.5px;font-weight:600;
letter-spacing:.18em;text-transform:uppercase;color:var(--wf-taupe);margin-bottom:12px}
body.single-product .summary #pincode_response{margin-top:12px;font-size:14px;line-height:1.6;
color:var(--wf-muted)}
body.single-product .summary #pincode_response b,
body.single-product .summary #pincode_response strong{color:var(--wf-ink);font-weight:500}

/* ---------- wishlist / share ---------- */
body.single-product .product-extra-buttons{display:flex;align-items:center;gap:26px;
margin:0 0 26px;padding-bottom:26px;border-bottom:1px solid var(--wf-line)}
body.single-product .product-extra-buttons a{font-size:11px;font-weight:600;letter-spacing:.14em;
text-transform:uppercase;color:var(--wf-muted);transition:color .35s ease}
body.single-product .product-extra-buttons a:hover{color:var(--wf-green)}

/* ---------- meta ---------- */
body.single-product .product_meta{font-size:12px;line-height:2;color:var(--wf-taupe)}
body.single-product .product_meta>span{display:block}
body.single-product .product_meta a{color:var(--wf-muted)}
body.single-product .product_meta a:hover{color:var(--wf-green)}

/* ---------- gallery ---------- */
body.single-product .woocommerce-product-gallery img{border-radius:0}

/* ---------- responsive ---------- */
@media(max-width:600px){
body.single-product .summary form.cart{gap:10px}
body.single-product .summary .single_add_to_cart_button{flex:1 1 100%}
body.single-product .summary .wf-pincode>div:first-of-type{gap:10px;flex-wrap:wrap}
body.single-product .summary #shiprocket_pincode_check{flex:1 1 100%;max-width:none}
body.single-product .summary #check_pincode{flex:1 1 100%;justify-content:center}
body.single-product .summary form.cart .quantity{width:112px}
}
