/* V2ASHCHUK v0.13.0: storefront finishing, pop-up and cookies. Author: Эмиль. */
/* Slider indicators occupy the complete image width in one line. */
.v2-product-image .v2-card-slider-controls { display:flex; grid-template-columns:none; align-items:end; width:100%; gap:0; padding:0 0 8px; }
.v2-product-image .v2-card-slider-controls .v2-card-pagination { width:100%; min-width:0; margin:0; height:4px; gap:3px; flex-wrap:nowrap; }
.v2-product-image .v2-card-pagination button { flex:1 1 0; min-width:0; height:4px; }
.v2-product-image > .v2-card-pagination--static { display:flex; width:100%; margin:0 0 8px; padding:0; height:4px; }
.v2-product-image > .v2-card-pagination--static span { display:block; width:100%; height:4px; }
.v2-gallery-controls { width:100%; }
/* Full-width, equal mobile gallery indicators; each segment is clickable. */
.v2-gallery-progress { display:flex; gap:3px; flex:1 1 100%; width:100%; height:4px; background:transparent; }
.v2-gallery-controls .v2-gallery-progress button { display:block; flex:1 1 0; width:auto; min-width:0; height:4px; padding:0; margin:0; border:0; border-radius:0; background:rgba(0,0,0,.16); cursor:pointer; }
.v2-gallery-controls .v2-gallery-progress button.is-active { background:#000; }
.v2-gallery-controls [data-gallery-counter] { display:block; }
/* All five desktop category links use the same rotation; mobile text is horizontal. */
.v2-home .v2-hero-categories > a.v2-hero-all { writing-mode:vertical-rl; transform:rotate(180deg); }
@media(max-width:767px) { .v2-home .v2-hero-categories > a.v2-hero-all { writing-mode:horizontal-tb; transform:none; } }
/* Contact dialog: Figma 74:2201; native dialog controls focus/Escape and backdrop. */
.v2-contact-dialog { position:fixed; margin:auto; width:min(660px,calc(100vw - 32px)); max-width:100%; max-height:calc(100dvh - 32px); overflow-y:auto; padding:32px; border:1px solid rgba(0,0,0,.12); border-radius:0; background:#fff; color:#000; box-shadow:none; }
.v2-contact-dialog::backdrop { background:rgba(0,0,0,.12); }
.v2-contact-dialog-inner { display:flex; flex-direction:column; gap:24px; }
.v2-contact-dialog [hidden] { display:none; }
.v2-contact-dialog-heading { position:relative; text-align:center; padding:0 24px; }
.v2-contact-dialog-heading h2 { margin:0 0 8px; font:700 36px/44px var(--font-display); text-transform:uppercase; }
.v2-contact-dialog-heading p { margin:0; font:400 18px/26px var(--font-main); color:rgba(0,0,0,.6); }
.v2-contact-dialog-close { position:absolute; top:-16px; right:-20px; border:0; background:transparent; padding:8px; font-size:24px; line-height:1; }
.v2-contact-dialog-separator { margin:0; border:0; border-top:1px solid rgba(0,0,0,.12); }
.v2-contact-dialog-form { display:flex; flex-direction:column; gap:16px; }
.v2-contact-dialog-form input:not([type=checkbox]), .v2-contact-dialog-form textarea { display:block; width:100%; min-width:0; border:1px solid #000; border-radius:0; padding:24px; font:400 16px/24px var(--font-main); color:#000; background:#fff; }
.v2-contact-dialog-form input:not([type=checkbox]) { min-height:72px; }
.v2-contact-dialog-form textarea { resize:vertical; min-height:120px; }
.v2-contact-dialog-form input::placeholder,.v2-contact-dialog-form textarea::placeholder { color:rgba(0,0,0,.4); }
.v2-contact-dialog-form .v2-consent { display:flex; align-items:flex-start; gap:8px; font:400 14px/22px var(--font-main); color:rgba(0,0,0,.6); cursor:pointer; }
.v2-contact-dialog-form .v2-consent input { appearance:none; flex:0 0 24px; width:24px; height:24px; border:1px solid #000; margin:0; cursor:pointer; display:grid; place-items:center; }
.v2-contact-dialog-form .v2-consent input:checked { background:#000; }
.v2-contact-dialog-form .v2-consent input:checked::after { content:'✓'; color:#fff; font-size:18px; }
.v2-contact-dialog-form .v2-consent a { color:#000; font-weight:700; text-decoration:underline; text-transform:none; }
.v2-contact-dialog-form button[type=submit],.v2-contact-dialog-ok { display:flex; width:100%; justify-content:center; align-items:center; min-height:72px; padding:20px 32px; border:1px solid #000; background:#000; color:#fff; text-decoration:underline; text-underline-offset:3px; text-transform:uppercase; font:700 16px/24px var(--font-main); transition:background .2s ease; }
.v2-contact-dialog-form button[type=submit]:hover,.v2-contact-dialog-ok:hover { background:#222; }
.v2-contact-form-status { margin:0; color:#a32020; font:400 14px/22px var(--font-main); }
.v2-contact-result { text-align:center; }
.v2-contact-result .v2-contact-dialog-heading { padding:0; }
/* Cookie notice: Figma 74:2155; fixed to viewport, never block page navigation. */
.v2-cookie-banner { position:fixed; z-index:1001; inset:auto 24px 24px auto; width:min(664px,calc(100vw - 32px)); display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid rgba(0,0,0,.12); background:#fff; color:#000; box-shadow:0 16px 24px rgba(0,0,0,.16); }
.v2-cookie-banner[hidden] { display:none; }
.v2-cookie-banner p { flex:1; margin:0; font:400 16px/24px var(--font-main); color:rgba(0,0,0,.6); }
.v2-cookie-banner a { color:#000; text-decoration:underline; text-underline-offset:3px; font-weight:700; text-transform:uppercase; }
.v2-cookie-accept { flex:0 0 120px; min-height:56px; background:#000; color:#fff; border:1px solid #000; text-decoration:underline; text-transform:uppercase; font:700 16px/24px var(--font-main); }
.v2-cookie-accept:hover { background:#222; }
@media(max-width:767px) {
 .v2-contact-dialog { padding:20px; }
 .v2-contact-dialog-inner { gap:16px; }
 .v2-contact-dialog-heading h2 { font-size:28px; line-height:36px; }
 .v2-contact-dialog-heading p { font-size:14px; line-height:20px; }
 .v2-contact-dialog-form input:not([type=checkbox]),.v2-contact-dialog-form textarea { min-height:56px; padding:15px; font-size:14px; line-height:20px; }
 .v2-contact-dialog-form textarea { min-height:110px; }
 .v2-contact-dialog-form button[type=submit],.v2-contact-dialog-ok { min-height:56px; font-size:14px; }
 .v2-cookie-banner { inset:auto 16px 16px auto; width:min(320px,calc(100vw - 32px)); flex-direction:column; gap:16px; padding:16px; align-items:stretch; }
 .v2-cookie-banner p { font-size:12px; line-height:18px; }
 .v2-cookie-accept { flex:0 0 auto; min-height:48px; width:100%; font-size:14px; }
}

@media(min-width:768px){.v2-single-product-page .v2-gallery-controls { display:none; }}
