/* v2: product pages. */
.v2-element-page { padding-top:22px; }
.v2-element-layout--sidebar { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:26px; }
.v2-element-main { min-width:0; }

.v2-pd .v2-crumbs { margin-bottom:20px; }
.v2-product-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:start; }

/* Gallery */
.v2-product-gallery { position:relative; }
.v2-product-gallery--thumbs { display:grid; grid-template-columns:84px minmax(0,1fr); gap:14px; }
.v2-product-thumbs { display:flex; flex-direction:column; gap:10px; }
.v2-product-thumbs input { position:absolute; opacity:0; pointer-events:none; }
.v2-product-thumbs label { display:block; aspect-ratio:1; overflow:hidden; border:2px solid #efe4db; border-radius:14px; background:#fff; cursor:pointer; transition:border-color .2s; }
.v2-product-thumbs input:checked + label { border-color:#d56549; }
.v2-product-thumbs input:focus-visible + label { outline:2px solid #9c4a33; outline-offset:2px; }
.v2-product-thumbs img { width:100%; height:100%; object-fit:contain; }
.v2-product-photo { position:sticky; top:16px; aspect-ratio:1; overflow:hidden; border:1px solid #efe4db; border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(84,48,29,.05); }
.v2-product-photo>img { position:absolute; inset:0; width:100%; height:100%; padding:24px; object-fit:contain; opacity:0; transition:opacity .35s; }
.v2-product-photo>img.v2-product-photo-0 { opacity:1; }
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:checked) .v2-product-photo>img { opacity:0; }
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(1):checked) .v2-product-photo-0,
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(2):checked) .v2-product-photo-1,
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(3):checked) .v2-product-photo-2,
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(4):checked) .v2-product-photo-3,
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(5):checked) .v2-product-photo-4,
.v2-product-gallery--thumbs:has(.v2-product-thumbs input:nth-of-type(6):checked) .v2-product-photo-5 { opacity:1; }
.v2-product-photo .v2-badge { top:16px; left:16px; z-index:2; font-size:12px; padding:5px 12px; }

/* Info column */
.v2-product-info h1 { margin:0 0 12px; font-size:clamp(30px,3.2vw,44px); line-height:1.08; font-weight:400; color:#2f170f; }
.v2-product-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:14px; font-size:13px; color:#7a675d; }
.v2-product-meta span { display:inline-flex; align-items:center; gap:6px; }
.v2-product-meta svg { width:17px; height:17px; color:#b8543c; }
.v2-product-lead { margin:0 0 18px; max-width:520px; font-size:14px; line-height:1.6; color:#6f5a50; }
.v2-product-price-row { display:flex; align-items:baseline; gap:14px; margin-bottom:18px; }
.v2-product-price { font-family:Cambria,Georgia,serif; font-size:42px; line-height:1; color:#872f1d; }

.v2-product-buy { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:18px; }
.v2-qty { display:inline-flex; align-items:center; height:52px; padding:0 4px; border:1px solid #eaded5; border-radius:26px; background:#fff; }
.v2-qty button { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; border-radius:50%; background:none; color:#8f3a26; transition:background .2s; }
.v2-qty button:hover { background:#fbeee6; }
.v2-qty svg { width:18px; height:18px; }
.v2-qty input { width:44px; border:0; background:none; font:inherit; font-size:16px; font-weight:600; text-align:center; color:#2f170f; -moz-appearance:textfield; }
.v2-qty input::-webkit-outer-spin-button, .v2-qty input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.v2-qty input:focus { outline:none; }
.v2-product-buy .v2-button { flex:1 1 220px; height:52px; gap:12px; padding-block:0; font-size:15px; }
.v2-product-unavailable { display:flex; align-items:center; gap:10px; margin:0 0 18px; padding:14px 16px; border-radius:14px; background:#f8f1ea; font-size:14px; color:#6f5a50; }
.v2-product-unavailable svg { width:20px; height:20px; color:#a94932; flex-shrink:0; }
.v2-product-unavailable a { color:#a94932; }

.v2-product-perks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; padding:14px; list-style:none; border-radius:18px; background:#fbf3ec; }
.v2-product-perks li { display:flex; align-items:center; gap:10px; min-width:0; font-size:11px; line-height:1.35; color:#7a675d; }
.v2-product-perks li+li { padding-left:10px; border-left:1px solid #eadbd0; }
.v2-product-perks svg { width:26px; height:26px; flex-shrink:0; stroke-width:1.3; color:#a94932; }
.v2-product-perks strong { display:block; font-size:12px; color:#2f170f; font-weight:600; }

.v2-product-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; margin:0; padding:14px 18px; border:1px solid #efe4db; border-radius:18px; background:#fff; }
.v2-product-specs>div { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px dashed #efe4db; font-size:13px; }
.v2-product-specs dt { color:#8a766b; }
.v2-product-specs dd { margin:0; text-align:right; color:#2f170f; font-weight:500; }
.v2-product-specs dd a { color:#a94932; }

/* Tabs */
.v2-product-tabs { margin-top:44px; }
.v2-product-tabs>input { position:absolute; opacity:0; pointer-events:none; }
.v2-product-tablist { display:flex; gap:10px; margin-bottom:22px; overflow-x:auto; scrollbar-width:none; }
.v2-product-tablist label { flex-shrink:0; padding:12px 26px; border:1px solid #eaded5; border-radius:26px; background:#fff; font-size:14px; font-weight:500; color:#4b3228; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.v2-product-tablist label:hover { color:#a94932; }
#v2-tab-desc:checked ~ .v2-product-tablist label[for="v2-tab-desc"],
#v2-tab-delivery:checked ~ .v2-product-tablist label[for="v2-tab-delivery"] { background:linear-gradient(110deg,#df795b,#ce5d42); border-color:transparent; color:#fff; }
#v2-tab-desc:focus-visible ~ .v2-product-tablist label[for="v2-tab-desc"],
#v2-tab-delivery:focus-visible ~ .v2-product-tablist label[for="v2-tab-delivery"] { outline:2px solid #9c4a33; outline-offset:3px; }
.v2-product-panel { display:none; animation:v2-fade .35s ease; }
#v2-tab-desc:checked ~ .v2-product-panel--desc, #v2-tab-delivery:checked ~ .v2-product-panel--delivery { display:block; }
.v2-product-panel--desc { display:none; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }
#v2-tab-desc:checked ~ .v2-product-panel--desc { display:grid; }
@keyframes v2-fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

.v2-product-desc { padding:26px 28px; border:1px solid #efe4db; border-radius:22px; background:#fff; }
.v2-product-desc h2 { margin:0 0 12px; font-size:26px; line-height:1.15; color:#2f170f; }
.v2-product-desc p, .v2-product-text { margin:0 0 12px; font-size:14px; line-height:1.65; color:#6f5a50; }
.v2-product-fillings { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px!important; }
.v2-product-fillings span { padding:6px 12px; border-radius:16px; background:#fbeee6; font-size:12px; color:#8f3a26; }
.v2-product-why { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.v2-product-why li { display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:18px; background:#fbf3ec; font-size:12px; line-height:1.45; color:#7a675d; }
.v2-product-why i { display:flex; align-items:center; justify-content:center; width:46px; height:46px; flex-shrink:0; border-radius:50%; background:#fff; color:#6e8c4d; }
.v2-product-why svg { width:22px; height:22px; }
.v2-product-why strong { display:block; margin-bottom:2px; font-size:14px; color:#2f170f; }
.v2-product-panel--delivery .v2-card h3 { font-size:17px; }
.v2-product-delivery-notes { display:grid; gap:8px; margin:16px 0; padding:0; list-style:none; }
.v2-product-delivery-notes li { display:flex; align-items:center; gap:10px; font-size:13px; color:#6f5a50; }
.v2-product-delivery-notes svg { width:18px; height:18px; flex-shrink:0; color:#a94932; }

/* Bottom: more from section + banner */
.v2-product-more { margin-top:46px; }
.v2-product-more .v2-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.v2-product-banner { position:relative; display:flex; align-items:center; min-height:210px; margin-top:34px; padding:30px 44px; overflow:hidden; border-radius:36px 28px 36px 28px; background:linear-gradient(110deg,#fad0b9,#fff5e9); isolation:isolate; }
.v2-product-banner>div { position:relative; z-index:1; max-width:420px; }
.v2-product-banner h2 { margin:0 0 10px; font-size:30px; line-height:1.1; color:#2f170f; }
.v2-product-banner p { margin:0 0 18px; font-size:13px; line-height:1.5; color:#6f5a50; }
.v2-product-banner>img { position:absolute; right:10%; top:0; width:50%; height:100%; object-fit:cover; object-position:60% 55%; z-index:-1; -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 75%,transparent); mask-image:linear-gradient(90deg,transparent,#000 30%,#000 75%,transparent); }
.v2-product-banner>.v2-script { position:relative; z-index:1; margin:0 0 0 auto; font-size:22px; color:#77432f; text-align:center; transform:rotate(-7deg); text-shadow:0 0 14px #fff3e7,0 0 6px #fff3e7; }

@media (max-width:1100px) {
 .v2-product-top { gap:28px; }
 .v2-product-perks { grid-template-columns:1fr; }
 .v2-product-perks li+li { padding-left:0; border-left:0; }
 .v2-product-specs { grid-template-columns:1fr; }
 .v2-product-more .v2-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .v2-product-top, .v2-product-panel--desc, .v2-element-layout--sidebar { grid-template-columns:1fr; }
 .v2-product-photo { position:relative; top:0; }
 .v2-product-banner>img { right:-10%; width:60%; opacity:.6; }
 .v2-product-banner>.v2-script { display:none; }
}
@media (max-width:767px) {
 .v2-element-page { padding-top:14px; }
 .v2-product-gallery--thumbs { grid-template-columns:1fr; }
 .v2-product-thumbs { flex-direction:row; order:2; overflow-x:auto; }
 .v2-product-thumbs label { width:64px; flex-shrink:0; }
 .v2-product-photo { border-radius:18px; }
 .v2-product-photo>img { padding:14px; }
 .v2-product-price { font-size:34px; }
 .v2-product-buy .v2-button { flex-basis:100%; }
 .v2-qty { width:100%; justify-content:space-between; }
 .v2-product-desc { padding:20px 18px; }
 .v2-product-tabs { margin-top:30px; }
 .v2-product-tablist label { padding:10px 18px; font-size:13px; }
 .v2-product-more .v2-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .v2-product-banner { padding:24px 22px; border-radius:26px; }
 .v2-product-banner>img { display:none; }
 .v2-product-banner h2 { font-size:24px; }
}
