*{box-sizing:border-box}
body{margin:0;background:#f7f7f8;color:#171717;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
.geo-gate{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.72);backdrop-filter:blur(4px)}
.geo-gate.open{display:flex}.geo-card{width:min(440px,100%);padding:28px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3);text-align:center}.geo-icon{font-size:2.2rem}.geo-card h2{margin:8px 0 6px}.geo-card p{margin:0 0 18px;color:#64748b}.geo-card label{display:block;margin-bottom:7px;text-align:left;font-size:.82rem;font-weight:800}.geo-pin-row{display:flex;gap:8px}.geo-pin-row input{min-width:0}.geo-pin-row button{white-space:nowrap}.geo-card small{display:block;min-height:1.3em;margin-top:8px;color:#b91c1c;text-align:left}
header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid #e5e7eb}
a{color:inherit}
.brand{font-size:1.35rem;font-weight:850;text-decoration:none}
nav{display:flex;align-items:center;gap:18px}
.logged-customer{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:.82rem;font-weight:800}
main{max-width:1180px;margin:0 auto;padding:28px 20px 60px}
.hero{padding:35px;border-radius:24px;background:linear-gradient(135deg,var(--brand),#111827);color:#fff;margin-bottom:28px}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:0 0 8px}
.shop-tools{display:flex;align-items:center;gap:14px;margin:20px 0}
.search{display:flex;gap:8px;margin:0;flex:1}
.column-picker{display:flex;align-items:center;gap:5px;white-space:nowrap}
.column-picker>span{font-size:.85rem;color:#6b7280;margin-right:3px}
.column-option{min-width:36px;padding:10px 9px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px}
.column-option.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.search input,input,select,textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:10px;font:inherit}
.btn,button{display:inline-block;border:0;border-radius:10px;background:var(--brand);color:white;padding:12px 18px;text-decoration:none;font-weight:750;cursor:pointer}
.btn.alt{background:#fff;color:#111;border:1px solid #ddd}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.grid[data-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.grid[data-columns="8"]{grid-template-columns:repeat(8,minmax(0,1fr));gap:11px}
.grid[data-columns="10"]{grid-template-columns:repeat(10,minmax(0,1fr));gap:9px}
.grid[data-columns="6"] .card-body,.grid[data-columns="8"] .card-body,.grid[data-columns="10"] .card-body{padding:10px}
.grid[data-columns="6"] .card img,.grid[data-columns="6"] .placeholder{height:210px}
.grid[data-columns="8"] .card img,.grid[data-columns="8"] .placeholder{height:165px}
.grid[data-columns="10"] .card img,.grid[data-columns="10"] .placeholder{height:135px}
.grid[data-columns="6"] .card h3,.grid[data-columns="8"] .card h3,.grid[data-columns="10"] .card h3{font-size:.82rem;-webkit-line-clamp:3}
.grid[data-columns="8"] .description,.grid[data-columns="10"] .description{font-size:.72rem;-webkit-line-clamp:2;min-height:2.9em}
.grid[data-columns="6"] .price,.grid[data-columns="8"] .price,.grid[data-columns="10"] .price{font-size:.9rem}
.grid[data-columns="8"] .btn,.grid[data-columns="10"] .btn{padding:8px 9px;font-size:.75rem}
.grid[data-columns="8"] .discount-badge,.grid[data-columns="10"] .discount-badge{top:7px;left:7px;padding:5px 7px;font-size:.68rem}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #0000000d}
.card img,.placeholder{width:100%;height:270px;object-fit:cover;background:#eceff3}
.card-body{padding:15px}
.price{font-size:1.15rem;font-weight:850;color:#067647}
.muted{color:#6b7280}
.product{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:35px}
.product img{width:100%;max-height:620px;object-fit:contain;background:#fff;border-radius:18px}
.panel{background:#fff;padding:22px;border-radius:16px;margin-bottom:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cart-line{display:grid;grid-template-columns:1fr 100px 120px;gap:14px;align-items:center;border-bottom:1px solid #eee;padding:14px 0}
.total{font-size:1.3rem;font-weight:850}
.alert{padding:12px 15px;border-radius:10px;background:#fee2e2;color:#991b1b;margin:12px 0}
.success{background:#dcfce7;color:#166534}
footer{text-align:center;padding:30px;color:#6b7280}
@media(max-width:900px){.grid,.grid[data-columns]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.product,.row{grid-template-columns:1fr}.logged-customer{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-tools{display:block}.search{margin-bottom:10px}.column-picker{display:none}
.grid,.grid[data-columns]{grid-template-columns:repeat(2,minmax(0,1fr))}
.cart-line{grid-template-columns:1fr 80px}
.cart-line .price{grid-column:1/-1}
.hero{padding:25px}
.card img,.placeholder{height:220px}
}
@media(max-width:430px){.grid,.grid[data-columns]{grid-template-columns:1fr}}
.placeholder{display:flex;align-items:center;justify-content:center;color:#6b7280}
.image-error{display:none}
.card h3{font-size:1rem;line-height:1.35;margin:.45rem 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.description{font-size:.86rem;color:#6b7280;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.8em}
.prices{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.prices del{color:#777}
.product-media{position:relative}
.product-media>img{display:block;width:100%}
.discount-badge{position:absolute;z-index:2;top:14px;left:14px;display:inline-flex;align-items:center;justify-content:center;background:#e11d48;color:#fff;border-radius:999px;padding:7px 11px;font-size:.82rem;line-height:1;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.prices .discount-badge{position:static;top:auto;left:auto;flex:0 0 auto;box-shadow:none}
.offer-price-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#e11d48;color:#fff;border:0;font-size:.78rem;line-height:1.15;font-weight:850;letter-spacing:.01em;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.offer-price-badge[hidden]{display:none}
.prices:has(.offer-price-badge:not([hidden])) .price::before{content:"MRP "}
.discount-badge[hidden]{display:none}
.detail-media{align-self:start}
.product-gallery{min-width:0;align-self:start}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:11px}
.gallery-thumb{padding:3px;border:2px solid transparent;border-radius:10px;background:#fff;overflow:hidden}
.gallery-thumb:hover,.gallery-thumb.active{border-color:var(--brand)}
.gallery-thumb img{display:block;width:100%;height:82px;object-fit:contain;border-radius:7px;background:#fff}
.prices.detail .price{font-size:1.55rem;color:#067647!important}
.stock{font-size:.78rem;font-weight:750}
.stock.yes{color:#15803d}
.stock.no{color:#b91c1c}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.variant-count{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.7rem;font-weight:800;white-space:nowrap}
.full-description{margin:22px 0 0;padding-top:20px;border-top:1px solid #e5e7eb;color:#444}
.full-description h2{margin:0 0 12px;font-size:1.2rem;color:#171717}
.full-description p{margin:.5rem 0}
.matching-products{margin-top:38px}
.matching-products>h2{margin:0 0 16px;font-size:1.45rem}
.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-thumb img{height:68px}}

/* V3: Surana Sons logo + customer identity in eShop header */
.eshop-main-header{min-height:84px}.brand-with-logo{display:flex;align-items:center;gap:11px;min-width:0}.eshop-header-logo{display:block;width:74px;height:58px;object-fit:contain;background:#fff;border-radius:8px}.eshop-brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.15}.eshop-brand-copy strong{font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eshop-brand-copy small{margin-top:4px;font-size:.68rem;font-weight:650;color:#64748b}.logged-customer{gap:7px;padding:6px 10px;border:1px solid #bbf7d0;background:#f0fdf4}.logged-customer>span:last-child{display:flex;flex-direction:column;line-height:1.05}.logged-customer b{font-size:.78rem}.logged-customer small{margin-top:3px;font-size:.63rem;font-weight:700;color:#16a34a}.logged-customer.guest{border-color:#e2e8f0;background:#f8fafc;color:#475569}.logged-customer.guest small{color:#94a3b8}.customer-icon{font-size:1rem}
@media(max-width:760px){.eshop-main-header{align-items:flex-start;gap:8px;padding-top:10px;padding-bottom:10px}.eshop-header-logo{width:58px;height:46px}.eshop-brand-copy small{display:none}.eshop-main-header nav{gap:9px;flex-wrap:wrap;justify-content:flex-end}.logged-customer{max-width:170px}.logged-customer b{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:520px){.eshop-brand-copy strong{display:none}.eshop-main-header{padding-left:10px;padding-right:10px}.eshop-main-header nav{font-size:.86rem}.logged-customer{order:-1;max-width:145px;padding:5px 7px}.logged-customer small{display:none}}

/* =========================================================
   V8 MODERN CUSTOMER CHECKOUT
   Presentation only; existing checkout POST/business fields remain unchanged.
   ========================================================= */
.checkout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 18px}.checkout-kicker{margin-bottom:4px;color:var(--brand);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.checkout-heading h1{margin:0;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12;letter-spacing:-.035em}.checkout-heading p{margin:7px 0 0;color:#64748b;font-size:.92rem}.checkout-progress{display:flex;align-items:center;gap:9px;color:#94a3b8;font-size:.76rem;font-weight:800;white-space:nowrap}.checkout-progress i{display:block;width:24px;height:1px;background:#cbd5e1}.checkout-progress .done{color:#15803d}.checkout-progress .active{color:var(--brand)}
.checkout-customer-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 15px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4;color:#14532d}.checkout-customer-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#dcfce7;font-size:1.05rem}.checkout-customer-banner div{min-width:0}.checkout-customer-banner strong,.checkout-customer-banner small{display:block}.checkout-customer-banner strong{font-size:.9rem}.checkout-customer-banner small{margin-top:2px;color:#4b7b5d;font-size:.72rem}.checkout-alert{margin-bottom:16px;border:1px solid #fecaca}
.checkout-shell{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:22px;align-items:start}.checkout-main{display:grid;gap:16px;min-width:0}.checkout-card,.checkout-summary{border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 5px 22px rgba(15,23,42,.045)}.checkout-card{padding:20px}.checkout-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.checkout-section-head.compact{margin-bottom:12px}.checkout-step{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--brand) 11%,#fff);color:var(--brand);font-size:.82rem;font-weight:900}.checkout-section-head h2{margin:0;color:#0f172a;font-size:1rem;font-weight:900;letter-spacing:-.01em}.checkout-section-head h2 small{color:#94a3b8;font-size:.68rem;font-weight:700}.checkout-section-head p{margin:2px 0 0;color:#64748b;font-size:.76rem}.checkout-note-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#f8fafc}
.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}.checkout-field{min-width:0}.checkout-field-wide{grid-column:1/-1}.checkout-field label{display:flex;align-items:baseline;gap:5px;margin:0 0 6px;color:#334155;font-size:.76rem;font-weight:850}.checkout-field label em{color:#94a3b8;font-size:.65rem;font-style:normal;font-weight:650}.checkout-field input,.checkout-note-card textarea{min-height:48px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;padding:11px 12px;color:#0f172a;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.checkout-note-card textarea{min-height:88px;resize:vertical}.checkout-field input:focus,.checkout-note-card textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.checkout-field input[readonly]{background:#f8fafc;color:#475569}.checkout-field>small{display:block;margin-top:4px;color:#94a3b8;font-size:.64rem}
.checkout-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkout-option{display:block;cursor:pointer}.checkout-option>input{position:absolute;opacity:0;pointer-events:none}.checkout-option-box{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:70px;padding:11px 12px;border:1.5px solid #dbe3ec;border-radius:13px;background:#fff;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.checkout-option:hover .checkout-option-box{border-color:#b8c5d6}.checkout-option>input:checked+.checkout-option-box{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 8%,transparent)}.checkout-option-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#f8fafc;font-size:1.15rem}.checkout-option-box span{min-width:0}.checkout-option-box strong,.checkout-option-box small{display:block}.checkout-option-box strong{color:#172033;font-size:.82rem}.checkout-option-box small{margin-top:3px;color:#64748b;font-size:.67rem;line-height:1.3}.checkout-radio-dot{width:17px;height:17px;border:2px solid #cbd5e1;border-radius:50%;background:#fff}.checkout-option>input:checked+.checkout-option-box .checkout-radio-dot{border:5px solid var(--brand)}.checkout-unavailable{padding:12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.8rem}
.checkout-summary-wrap{position:sticky;top:106px;min-width:0}.checkout-summary{overflow:hidden}.checkout-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 13px;border-bottom:1px solid #eef2f7}.checkout-summary-head h2{margin:0;font-size:1rem;font-weight:900}.checkout-summary-head p{margin:2px 0 0;color:#64748b;font-size:.7rem}.checkout-summary-head a{color:var(--brand);font-size:.72rem;font-weight:850}.checkout-summary-items{max-height:350px;overflow:auto;padding:4px 16px}.checkout-summary-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.checkout-summary-item:last-child{border-bottom:0}.checkout-item-image{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:1px solid #e2e8f0;border-radius:11px;background:#fff;text-decoration:none}.checkout-item-image img{width:100%;height:100%;object-fit:contain}.checkout-item-image.image-failed{background:#f8fafc;color:#94a3b8;font-size:1.2rem}.checkout-item-copy{min-width:0}.checkout-item-copy strong,.checkout-item-copy small,.checkout-item-copy span,.checkout-item-copy del{display:block}.checkout-item-copy strong{overflow:hidden;color:#1e293b;font-size:.75rem;font-weight:850;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.checkout-item-copy small{margin-top:3px;overflow:hidden;color:#64748b;font-size:.64rem;white-space:nowrap;text-overflow:ellipsis}.checkout-item-copy span{margin-top:5px;color:#475569;font-size:.67rem}.checkout-item-copy del{margin-top:1px;color:#94a3b8;font-size:.61rem}.checkout-item-total{align-self:start;padding-top:2px;color:#0f172a;font-size:.75rem;font-weight:900;white-space:nowrap}.checkout-totals{padding:13px 18px 8px;border-top:1px solid #eef2f7}.checkout-totals>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 0;color:#64748b;font-size:.74rem}.checkout-totals strong{color:#334155}.checkout-totals .free,.checkout-totals .checkout-saving strong{color:#15803d}.checkout-totals .checkout-saving{color:#15803d}.checkout-totals .checkout-tax{font-size:.68rem}.checkout-totals .checkout-grand-total{margin-top:7px;padding-top:12px;border-top:1px dashed #cbd5e1;color:#0f172a;font-size:.92rem;font-weight:900}.checkout-totals .checkout-grand-total strong{color:#0f172a;font-size:1.18rem}.checkout-minimum{padding:0 18px 10px;color:#94a3b8;font-size:.64rem}.checkout-place-order{display:block;width:calc(100% - 36px);min-height:50px;margin:8px 18px 12px;border-radius:12px;font-size:.88rem;font-weight:900}.checkout-trust{display:flex;justify-content:center;gap:14px;padding:0 12px 16px;color:#64748b;font-size:.62rem}.checkout-mobile-bar{display:none}
body.checkout-page-mode .vyora-launcher{bottom:24px}
@media(max-width:900px){.checkout-shell{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:15px}.checkout-card{padding:16px}.checkout-option-grid{grid-template-columns:1fr}.checkout-summary-wrap{top:96px}}
@media(max-width:700px){body.checkout-page-mode{padding-bottom:82px}.checkout-heading{display:block;margin-bottom:14px}.checkout-heading h1{font-size:1.55rem}.checkout-heading p{font-size:.86rem}.checkout-progress{margin-top:13px;justify-content:flex-start;font-size:.72rem}.checkout-progress i{width:18px}.checkout-customer-banner{padding:11px 12px;border-radius:13px}.checkout-customer-banner strong{font-size:.9rem}.checkout-customer-banner small{font-size:.7rem;line-height:1.35}.checkout-shell{display:flex;flex-direction:column;gap:14px}.checkout-summary-wrap{position:static;order:-1;width:100%}.checkout-main{width:100%;gap:14px}.checkout-card{padding:16px;border-radius:16px}.checkout-section-head{margin-bottom:15px}.checkout-section-head h2{font-size:1.05rem}.checkout-section-head p{font-size:.78rem}.checkout-fields{grid-template-columns:1fr;gap:12px}.checkout-field-wide{grid-column:auto}.checkout-field label{font-size:.85rem}.checkout-field input,.checkout-note-card textarea{min-height:54px;padding:13px 14px;border-radius:12px;font-size:16px}.checkout-note-card textarea{min-height:96px}.checkout-option-grid{grid-template-columns:1fr;gap:9px}.checkout-option-box{grid-template-columns:46px minmax(0,1fr) 20px;min-height:76px;padding:12px 13px;border-radius:14px}.checkout-option-icon{width:46px;height:46px;font-size:1.25rem}.checkout-option-box strong{font-size:.92rem}.checkout-option-box small{font-size:.76rem}.checkout-radio-dot{width:19px;height:19px}.checkout-summary{border-radius:16px}.checkout-summary-head{padding:15px}.checkout-summary-head h2{font-size:1.05rem}.checkout-summary-items{max-height:none;padding:2px 14px}.checkout-summary-item{grid-template-columns:64px minmax(0,1fr) auto;padding:11px 0}.checkout-item-image{width:64px;height:64px}.checkout-item-copy strong{font-size:.84rem}.checkout-item-copy small{font-size:.71rem}.checkout-item-copy span{font-size:.75rem}.checkout-item-total{font-size:.8rem}.checkout-totals{padding:12px 15px 8px}.checkout-totals>div{font-size:.82rem}.checkout-totals .checkout-grand-total{font-size:.95rem}.checkout-totals .checkout-grand-total strong{font-size:1.2rem}.checkout-minimum{padding-left:15px;padding-right:15px}.checkout-submit-desktop{display:none}.checkout-trust{padding-bottom:14px}.checkout-mobile-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);align-items:center;gap:12px;padding:10px max(14px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));border-top:1px solid #dbe3ec;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(15,23,42,.12);backdrop-filter:blur(12px)}.checkout-mobile-bar div{min-width:0}.checkout-mobile-bar small,.checkout-mobile-bar strong{display:block}.checkout-mobile-bar small{color:#64748b;font-size:.7rem}.checkout-mobile-bar strong{margin-top:1px;color:#0f172a;font-size:1.08rem;line-height:1.1}.checkout-mobile-bar button{min-height:52px;border-radius:13px;font-size:.94rem;font-weight:900}body.checkout-page-mode .vyora-launcher{bottom:88px;right:12px}}
@media(max-width:390px){.checkout-heading h1{font-size:1.45rem}.checkout-progress{gap:6px}.checkout-summary-item{grid-template-columns:56px minmax(0,1fr)}.checkout-item-image{width:56px;height:56px}.checkout-item-total{grid-column:2;justify-self:start;padding-top:0}.checkout-mobile-bar{grid-template-columns:minmax(110px,.8fr) minmax(145px,1.2fr)}}
