*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--primary:#0a0a0a;--accent:#ff4d30;--accent-light:#ff7a5c;--accent-glow:rgba(255,77,48,.4);--bg:#fafaf9;--card:#fff;--text:#1a1a1a;--text-light:#6b6b6b;--border:#e8e8e8;--shadow:rgba(0,0,0,.08);--gradient:linear-gradient(135deg,#ff4d30 0%,#ff7a5c 50%,#ffb088 100%)}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;overflow-x:clip;max-width:100%;touch-action:manipulation}
img{max-width:100%}
button,a,input,select,textarea{font-family:inherit}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gradient);z-index:10000;width:0%}
header{background:rgba(255,255,255,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:1000;transition:all .3s}
header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.08)}
nav{max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.logo{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:900;color:var(--primary);text-decoration:none;position:relative;flex-shrink:0}
.logo span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient);transition:width .4s ease}
.logo:hover::after{width:100%}
.nav-links{display:flex;gap:clamp(1rem,2.2vw,2.5rem);list-style:none}
.nav-links a{text-decoration:none;color:var(--text-light);font-weight:500;transition:all .3s;font-size:.95rem;position:relative;padding:.5rem 0;white-space:nowrap}
.nav-links a::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--accent);transition:width .3s ease}
.nav-links a:hover{color:var(--primary)}
.nav-links a:hover::before{width:100%}
.nav-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;border:none;background:transparent;cursor:pointer;border-radius:10px;transition:background .3s}
.burger:hover{background:rgba(255,77,48,.1)}
.burger span{display:block;width:22px;height:2px;background:var(--primary);border-radius:2px}
.cart-icon,.user-icon{position:relative;cursor:pointer;padding:.75rem;border-radius:50%;transition:all .3s;background:transparent;border:none}
.cart-icon:hover,.user-icon:hover{background:rgba(255,77,48,.1);transform:scale(1.1)}
.cart-count{position:absolute;top:0;right:0;background:var(--gradient);color:#fff;font-size:.7rem;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}
.user-badge{position:absolute;top:0;right:0;width:22px;height:22px;border-radius:50%;background:var(--gradient);color:#fff;font-size:.7rem;font-weight:800;display:none;align-items:center;justify-content:center}
.user-badge.show{display:flex}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.hero{position:relative;padding:8rem 2rem 6rem;text-align:center;overflow:hidden;min-height:80vh;display:flex;align-items:center;justify-content:center}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-gradient{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 20s ease-in-out infinite}
.hero-gradient-1{background:#ff4d30;top:-200px;right:-100px}
.hero-gradient-2{background:#ffb088;bottom:-200px;left:-100px;animation-delay:-10s}
.hero-gradient-3{background:#ff7a5c;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;opacity:.2;animation-delay:-5s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}
.hero-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.shape{position:absolute;border:2px solid rgba(255,77,48,.2);border-radius:50%;transition:transform .2s ease-out}
.shape-1{width:100px;height:100px;top:20%;left:10%}
.shape-2{width:60px;height:60px;top:60%;right:15%}
.shape-3{width:80px;height:80px;bottom:20%;left:20%;border-radius:30%}
.hero-content{position:relative;z-index:1;max-width:900px}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:rgba(255,77,48,.1);border:1px solid rgba(255,77,48,.2);border-radius:50px;font-size:.85rem;font-weight:600;color:var(--accent);margin-bottom:2rem;animation:fadeInUp .8s ease}
.hero-badge::before{content:'';width:8px;height:8px;background:var(--accent);border-radius:50%;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:'Playfair Display',serif;font-size:5rem;font-weight:900;margin-bottom:1.5rem;letter-spacing:-2px;line-height:1.1;animation:fadeInUp .8s ease .2s both;overflow-wrap:break-word}
/* фон першого екрана персиковий — насиченіший градієнт, щоб «постер» не зливався (контраст ≥3:1) */
.hero h1 .gradient-text{background:linear-gradient(135deg,#e43f1f 0%,#d23619 60%,#c2301a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.35rem;color:var(--text-light);max-width:600px;margin:0 auto 3rem;animation:fadeInUp .8s ease .4s both}
.hero-cta{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;background:var(--gradient);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:1.1rem;box-shadow:0 10px 40px var(--accent-glow);transition:all .3s;animation:fadeInUp .8s ease .6s both;position:relative;overflow:hidden}
.hero-cta::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}
.hero-cta:hover::before{left:100%}
.hero-cta:hover{transform:translateY(-3px);box-shadow:0 15px 50px var(--accent-glow)}
.hero-cta svg{transition:transform .3s;flex-shrink:0}
.hero-cta:hover svg{transform:translateX(5px)}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.customizer{max-width:1400px;margin:0 auto;padding:4rem 2rem}
.section-header{text-align:center;margin-bottom:4rem}
.section-header h2{font-family:'Playfair Display',serif;font-size:3rem;font-weight:900;margin-bottom:1rem;letter-spacing:-1px}
.section-header p{color:var(--text-light);font-size:1.1rem}
.section-more{display:inline-block;margin-top:.6rem;font-size:.9rem;font-weight:700;color:var(--accent);text-decoration:none}
.section-more:hover{text-decoration:underline}
.tg-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:700;text-decoration:none;opacity:.9}
.tg-link:hover{opacity:1}
.tg-link svg{flex-shrink:0}
.footer-links{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.footer-links a{color:#fff;opacity:.75;text-decoration:none;font-size:.9rem}
.footer-links a:hover{opacity:1}
.customizer-grid{display:grid;grid-template-columns:1fr 420px;gap:3rem;align-items:start}
.customizer-grid>*{min-width:0}
.preview-container{background:var(--card);border-radius:24px;padding:3rem;box-shadow:0 20px 60px var(--shadow);position:sticky;top:120px;border:1px solid rgba(0,0,0,.05);min-width:0}
.preview-frame{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;padding:2rem;min-height:500px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;width:100%}
.preview-frame::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,77,48,.05) 0,transparent 70%);animation:shimmer 4s ease-in-out infinite}
@keyframes shimmer{0%,100%{transform:translate(0,0)}50%{transform:translate(10%,10%)}}
.poster-preview{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;transition:all .6s;position:relative;overflow:hidden;border-radius:4px;width:100%;min-width:0}
.poster-wrap{container-type:inline-size;position:relative;width:100%;max-width:460px;aspect-ratio:3/4;background:#fff}
.poster-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.poster-text{position:absolute;transform:translate(-50%,-50%);text-align:center;padding:0 2%;pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;text-shadow:0 2px 14px rgba(0,0,0,.45);font-weight:700;line-height:1.15;z-index:2;white-space:nowrap}
.poster-text:active{cursor:grabbing}
.poster-text.active{outline:2px dashed rgba(255,77,48,.9);outline-offset:4px}
.tx-handle{display:none;position:absolute;right:-15px;bottom:-15px;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:nwse-resize;touch-action:none}
.poster-text.active .tx-handle{display:block}
@media(pointer:coarse){.tx-handle{width:28px;height:28px;right:-18px;bottom:-18px}}
.size-range{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--text-light);flex:1;min-width:160px}
.size-range input{flex:1;accent-color:var(--accent)}
/* Порожнє превʼю — «приклад постера» замість сірого прямокутника */
.poster-placeholder{position:relative;width:min(320px,68vw);aspect-ratio:21/29.7;margin:14px;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;text-align:center;overflow:hidden;background:linear-gradient(160deg,#1e3c72 0%,#6a3093 45%,#ff4d30 80%,#ffb088 100%);animation:fadeIn .5s ease}
.poster-preview:has(> .poster-placeholder){background:transparent;box-shadow:none}
.poster-placeholder{border:12px solid #fff;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.poster-placeholder::before{content:"";position:absolute;width:22%;aspect-ratio:1;border-radius:50%;background:#ffe3b3;right:16%;top:13%;box-shadow:0 0 40px #ffd08a}
.poster-placeholder::after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:42%;background:#141a2e;clip-path:polygon(0 60%,18% 25%,32% 50%,50% 5%,68% 45%,82% 20%,100% 55%,100% 100%,0 100%)}
.poster-placeholder svg{display:none}
.poster-placeholder p{position:relative;z-index:1;background:rgba(255,255,255,.93);color:var(--text);border-radius:10px;padding:.7rem .8rem;font-size:.82rem;font-weight:600;line-height:1.4;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.poster-placeholder p::before{content:"ПРИКЛАД";display:block;font-size:.62rem;letter-spacing:.12em;color:var(--accent);font-weight:800;margin-bottom:.2rem}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.room-scenes{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}
.room-scene{padding:.45rem .8rem;border:2px solid var(--border);border-radius:10px;background:#fff;font-family:inherit;font-weight:700;font-size:.82rem;cursor:pointer;color:var(--text);transition:all .2s}
.room-scene:hover{border-color:var(--accent)}
.room-scene.active{border-color:var(--accent);background:#fff5f2;color:var(--accent)}
.room-zoom{margin-left:auto}
.room{position:relative;border-radius:16px;overflow:hidden;background:#e9e6e1}
.room-stage{position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.room-photo{display:block;width:100%;height:auto;user-select:none}
.room-poster{position:absolute;transition:left .5s,top .5s,width .5s,box-shadow .5s}
.room-poster img{display:block;width:100%;height:auto}
.room-light{position:absolute;inset:0;mix-blend-mode:multiply;pointer-events:none}
.room-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 36%,rgba(255,255,255,0) 72%,rgba(255,255,255,.07) 100%)}
.room-poster-label{position:absolute;left:.75rem;bottom:.75rem;background:rgba(0,0,0,.65);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .65rem;border-radius:8px;white-space:nowrap;backdrop-filter:blur(4px)}
.room-note{margin-top:.8rem;font-size:.85rem;color:var(--text-light);text-align:center}
.controls-panel{background:var(--card);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px var(--shadow);border:1px solid rgba(0,0,0,.05);min-width:0}
.control-section{margin-bottom:2rem;min-width:0}
.control-section h3{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--primary);display:flex;align-items:center;gap:.75rem}
.step-number{width:28px;height:28px;background:var(--gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px var(--accent-glow)}
.mode-tabs{display:flex;gap:.5rem;margin-bottom:1rem}
.mode-tab{flex:1;padding:.8rem;border:2px solid var(--border);background:#fff;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s;font-size:.9rem;min-width:0}
.mode-tab.active{border-color:var(--accent);color:var(--accent);background:rgba(255,77,48,.05)}
.product-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}
.product-tab{padding:1rem;border:2px solid var(--border);background:#fff;border-radius:14px;font-weight:800;cursor:pointer;transition:all .3s;text-align:center}
.product-tab small{display:block;font-weight:600;font-size:.75rem;color:var(--text-light);margin-top:.2rem}
.product-tab.active{border-color:var(--accent);background:var(--gradient);color:#fff;box-shadow:0 10px 30px var(--accent-glow)}
.product-tab.active small{color:rgba(255,255,255,.9)}
.upload-area{border:2px dashed var(--border);border-radius:16px;padding:2.5rem;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);background:#fafafa;position:relative;overflow:hidden}
.upload-area:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,77,48,.15)}
.upload-area.active{border-color:var(--accent);background:rgba(255,77,48,.05);transform:scale(.98)}
.upload-area svg{width:48px;height:48px;margin-bottom:1rem;color:var(--accent);transition:transform .3s}
.upload-area:hover svg{transform:translateY(-5px) scale(1.1)}
.upload-area h4{font-weight:700;margin-bottom:.5rem}
.upload-area p{font-size:.9rem;color:var(--text-light)}
#fileInput,#collageInput,#photoInput,#designFile,#galleryFile{display:none}
.quality-badge{margin-top:.75rem;font-size:.85rem;font-weight:700;border-radius:10px;padding:.6rem .9rem;display:none}
.quality-badge.ok{display:block;background:#e8f7ec;color:#2e7d32}
.quality-badge.warn{display:block;background:#fff4e5;color:#b26a00}
.stock-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .9rem;color:var(--text-light);font-size:.85rem;font-weight:600;white-space:nowrap}
.stock-divider::before,.stock-divider::after{content:'';height:1px;background:var(--border);flex:1}
.stock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.stock-item{position:relative;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:3/4;border:2px solid transparent;transition:all .3s;background:#eee;padding:0;min-width:0}
.stock-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.stock-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.stock-item:hover img{transform:scale(1.08)}
.stock-item.active{border-color:var(--accent);box-shadow:0 6px 18px var(--accent-glow)}
.stock-item.active::after{content:'✓';position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.stock-item .stock-title{position:absolute;bottom:0;left:0;right:0;padding:1.1rem .35rem .4rem;font-size:.62rem;line-height:1.25;font-weight:700;color:#fff;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.85));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.collage-box{border:2px dashed var(--border);border-radius:16px;padding:1.5rem;text-align:center;background:#fafafa}
.collage-box p{font-size:.9rem;color:var(--text-light);margin-bottom:.75rem}
.collage-count{font-weight:800;color:var(--accent)}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.photo-size{padding:.8rem .4rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;text-align:center;transition:all .3s;background:#fff}
.photo-size:hover{border-color:var(--accent);transform:translateY(-2px)}
.photo-size.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 8px 20px var(--accent-glow)}
.photo-size .ps-size{font-weight:800;font-size:.95rem;display:block}
.photo-size .ps-price{font-size:.75rem;font-weight:700;opacity:.85;display:block;margin-top:.15rem}
.photo-size.active .ps-price{color:#fff}
.photo-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin-top:.75rem}
.photo-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#fafaf9;border:1.5px solid var(--border);border-radius:14px;padding:.75rem;transition:border-color .2s}
.photo-item:hover{border-color:rgba(255,77,48,.3)}
.photo-item-wrap{position:relative;width:72px;height:72px}
.photo-item-wrap img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
.photo-item-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#ff4444;color:#fff;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.photo-item-size{width:100%;padding:.4rem .5rem;border:2px solid var(--border);border-radius:8px;font-family:inherit;font-size:.75rem;font-weight:700;background:#fff;cursor:pointer;outline:none;transition:border-color .2s}
.photo-item-size:focus{border-color:var(--accent)}
.photo-item-price{font-size:.75rem;font-weight:800;color:var(--accent)}
.paper-type-select{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.85rem}
.paper-type-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s;background:#fff;font-family:inherit;text-align:center}
.paper-type-btn:hover{border-color:var(--accent);transform:translateY(-2px)}
.paper-type-btn.active{border-color:var(--accent);background:linear-gradient(135deg,#fff5f2,#ffe8e0)}
.paper-type-btn .ptb-icon{font-size:1.3rem}
.paper-type-btn .ptb-name{font-size:.82rem;font-weight:800;color:var(--text)}
.paper-type-btn .ptb-desc{font-size:.68rem;color:var(--text-light);line-height:1.3}
.paper-type-btn.active .ptb-name{color:var(--accent)}
.bizcard-section{padding:6rem 2rem;background:linear-gradient(135deg,#fafaf9,#fff5f2)}
.bizcard-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.bizcard-info h3{font-size:1.5rem;font-weight:800;margin-bottom:1rem}
.bizcard-info p{color:var(--text-light);line-height:1.7;margin-bottom:1rem}
.bizcard-steps{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}
.bizcard-step{display:flex;align-items:flex-start;gap:1rem;background:#fff;border-radius:14px;padding:1rem 1.25rem;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.bizcard-step-num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff4d30,#ff7a5c);color:#fff;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bizcard-step-text{flex:1}
.bizcard-step-text b{display:block;font-size:.9rem;margin-bottom:.2rem}
.bizcard-step-text span{font-size:.82rem;color:var(--text-light)}
.bizcard-ai-tip{background:linear-gradient(135deg,#fff8f0,#fff0e3);border:1.5px solid #ffd2b8;border-radius:14px;padding:1rem 1.25rem;margin:1rem 0;font-size:.85rem;line-height:1.6}
.bizcard-ai-tip b{color:#c2351c}
.bizcard-ai-tip a{color:#c2351c;font-weight:700}
.bizcard-order{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 24px rgba(0,0,0,.08);border:1.5px solid var(--border)}
.bizcard-order h4{font-size:1.1rem;font-weight:800;margin-bottom:1.25rem}
.bizcard-upload-area{border:2.5px dashed rgba(255,77,48,.35);border-radius:14px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#fff5f2,#ffe8e0);margin-bottom:1.25rem}
.bizcard-upload-area:hover{border-color:#ff4d30;background:linear-gradient(135deg,#ffe8e0,#ffd9cc)}
.bizcard-upload-area .upload-icon{font-size:2.5rem;margin-bottom:.75rem}
.bizcard-upload-area p{font-weight:700;color:#c2351c;margin-bottom:.25rem}
.bizcard-upload-area small{color:var(--text-light);font-size:.8rem}
.bizcard-example{margin-bottom:1.25rem}
.bizcard-example-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}
.bizcard-example-link{display:flex;align-items:center;gap:.6rem;background:#fff5f2;border:1.5px solid rgba(255,77,48,.2);border-radius:10px;padding:.7rem 1rem;text-decoration:none;color:#c2351c;font-weight:700;font-size:.85rem;transition:all .2s}
.bizcard-example-link:hover{background:#ffe8e0;border-color:#ff4d30}
.bizcard-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.25rem}
.bizcard-opt{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .25s;background:#fff;text-align:center;font-family:inherit}
.bizcard-opt:hover{border-color:#ff4d30}
.bizcard-opt.active{border-color:#ff4d30;background:linear-gradient(135deg,#fff5f2,#ffe8e0)}
.bizcard-opt .bo-icon{font-size:1.3rem}
.bizcard-opt .bo-name{font-size:.8rem;font-weight:800;color:var(--text)}
.bizcard-opt .bo-desc{font-size:.68rem;color:var(--text-light)}
.bizcard-opt.active .bo-name{color:#ff4d30}
.bizcard-qty-row{display:flex;gap:.6rem;margin-bottom:1.25rem;align-items:center}
.bizcard-qty-select{flex:1;padding:.7rem .9rem;border:2px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:700;background:#fff;cursor:pointer;outline:none;transition:border-color .2s}
.bizcard-qty-select:focus{border-color:#ff4d30}
.bizcard-price-tag{background:linear-gradient(135deg,#ff4d30,#ff7a5c);color:#fff;padding:.6rem 1.1rem;border-radius:10px;font-weight:800;font-size:1.1rem;white-space:nowrap}
.bizcard-note{font-size:.78rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.5;background:#fff8f7;border-radius:8px;padding:.6rem .9rem;border-left:3px solid var(--accent)}
.bizcard-uploaded-name{font-size:.82rem;font-weight:700;color:#c2351c;background:#fff5f2;border-radius:8px;padding:.5rem .9rem;margin-bottom:1rem;display:none;align-items:center;gap:.5rem}
/* minmax(0,1fr) і min-width:0 — щоб довгі пункти списку не розпирали колонку на телефоні */
.bizcard-grid>*{min-width:0}
.bizcard-qty-select{min-width:0;width:100%;text-overflow:ellipsis}
@media(max-width:768px){.bizcard-section{padding:3.5rem 1rem}.bizcard-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.bizcard-options{grid-template-columns:1fr 1fr}.bizcard-order{padding:1.25rem}}
/* Відгуки */
.reviews{padding:6rem 2rem;background:var(--bg)}
.rv-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.rv-card{background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:1.4rem;display:flex;flex-direction:column;gap:.6rem}
.rv-card .stars{color:#f5a623;font-size:1.05rem;letter-spacing:2px}
.rv-card .stars span{color:#e3e3e3}
.rv-card p{font-size:.93rem;line-height:1.6;color:var(--text);white-space:pre-line;flex:1}
.rv-card .who{display:flex;align-items:center;gap:.6rem}
.rv-card .ava{width:36px;height:36px;border-radius:50%;background:var(--gradient);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-card .who b{display:block;font-size:.9rem}
.rv-card .who small{font-size:.75rem;color:var(--text-light)}
.rv-card .verified{color:#2e7d32;font-weight:700}
.rv-more{margin-top:1.75rem;padding:.8rem 1.4rem;border:2px solid var(--border);border-radius:12px;background:#fff;font-weight:700;cursor:pointer;font-family:inherit}
.rv-more:hover{border-color:var(--accent);color:var(--accent)}
.rv-order-info{font-size:.88rem;color:var(--text-light);margin-bottom:1rem;line-height:1.5}
.rv-star-pick{display:flex;gap:.25rem;justify-content:center;margin-bottom:1.25rem}
.rv-star-pick button{background:none;border:none;font-size:2.2rem;line-height:1;cursor:pointer;color:#e0e0e0;transition:transform .15s,color .15s;padding:0 .1rem}
.rv-star-pick button.on{color:#f5a623}
.rv-star-pick button:hover{transform:scale(1.15)}
#reviewText{resize:vertical;min-height:100px;font-family:inherit}
.mo-review{padding:0 1rem .9rem}
.mo-review button{width:100%;padding:.7rem;border:2px dashed #f0c36d;background:#fffaf0;border-radius:12px;font-weight:800;color:#b26a00;cursor:pointer;font-family:inherit}
.mo-review.done{font-size:.85rem;font-weight:700;color:#2e7d32}
@media(max-width:1024px){.rv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.reviews{padding:3.5rem 1rem}.rv-grid{grid-template-columns:1fr}}
.rv-tg{background:#f0f8fd;border:1.5px solid #bfe3f7;border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem}
.rv-tg-note{font-size:.84rem;line-height:1.5;margin-bottom:.6rem;display:flex;gap:.45rem;align-items:flex-start}
.rv-tg-note svg{flex-shrink:0;margin-top:.15rem}
.rv-tg-widget{display:flex;justify-content:center;min-height:40px}
.rv-tg-linked{display:flex;align-items:center;gap:.6rem;font-size:.88rem}
.rv-tg-linked img,.rv-tg-linked .ava{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0}
.rv-tg-linked .ava{background:#229ED9;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.rv-tg-linked b{display:block}
.rv-tg-linked small{color:#1a7fb8;font-weight:600}
.rv-tg-linked button{margin-left:auto;background:none;border:none;color:var(--text-light);font-size:.78rem;cursor:pointer;text-decoration:underline;font-family:inherit}
.rv-card .ava img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.rv-card .who small{display:block}
.rv-card .tg-link,.rv-card .tg-badge{margin:.1rem 0}
.rv-card .tg-link{display:flex;width:max-content;align-items:center;gap:.3rem;color:#1a7fb8;font-weight:700;text-decoration:none;font-size:.8rem}
.rv-card .tg-link:hover{text-decoration:underline}
.rv-card .tg-badge{display:flex;align-items:center;gap:.3rem;color:#1a7fb8;font-weight:700;font-size:.75rem}
/* Оплата і доставка */
.delivery{padding:6rem 2rem;background:#fff}
.dlv-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.dlv-card{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;padding:1.5rem}
.dlv-ico{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#fff5f2,#ffe8e0);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.9rem}
.dlv-card h3{font-size:1.02rem;font-weight:800;margin-bottom:.4rem}
.dlv-card p{font-size:.9rem;color:var(--text-light);line-height:1.55}
.dlv-card a,.dlv-note a{color:var(--accent);font-weight:700}
.dlv-note{text-align:center;color:var(--text-light);font-size:.9rem;margin-top:2rem}
@media(max-width:1024px){.dlv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.delivery{padding:3.5rem 1rem}.dlv-grid{grid-template-columns:1fr}}
/* Карточки послуг під hero */
.services{position:relative;z-index:2;max-width:1200px;margin:-3.5rem auto 0;padding:0 2rem}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.svc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:1.1rem 1.1rem 1rem;text-decoration:none;color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(255,77,48,.15);border-color:rgba(255,77,48,.35)}
.svc-art{height:92px;border-radius:14px;background:linear-gradient(135deg,#fff5f2,#ffe8e0);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
.svc-art svg{height:74px;width:auto}
.svc-card h3{font-size:1.02rem;font-weight:800;margin-bottom:.25rem}
.svc-card p{font-size:.82rem;color:var(--text-light);line-height:1.45;flex:1}
.svc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}
.svc-price{font-weight:800;color:var(--accent);font-size:.95rem}
.svc-go{width:30px;height:30px;border-radius:50%;background:var(--gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.svc-tag{position:absolute;top:.55rem;right:.55rem;background:var(--primary);color:#fff;font-size:.65rem;font-weight:800;padding:.2rem .5rem;border-radius:999px;z-index:1}
@media(max-width:1024px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.services{margin-top:-2.5rem;padding:0 1rem}.svc-grid{gap:.6rem}.svc-card{padding:.8rem .8rem .75rem;border-radius:16px}.svc-art{height:70px;margin-bottom:.6rem}.svc-art svg{height:56px}.svc-card h3{font-size:.9rem}.svc-card p{font-size:.74rem}.svc-price{font-size:.82rem}.svc-go{width:26px;height:26px}.svc-tag{font-size:.56rem;padding:.15rem .4rem}}
/* 3D-друк */
.p3d-section{background:linear-gradient(135deg,#ffffff,#f7f5f2)}
.p3d-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}
.p3d-viewer{position:relative;height:280px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#ffffff,#ebe7e3);margin-bottom:1rem;display:none;touch-action:none}
.p3d-viewer canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.p3d-viewer-hint{position:absolute;left:.75rem;bottom:.6rem;font-size:.72rem;color:#5b6b7f;background:rgba(255,255,255,.8);padding:.2rem .55rem;border-radius:6px;pointer-events:none}
.p3d-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#4a5b70;background:rgba(255,255,255,.7)}
.p3d-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.p3d-stat{background:#faf7f5;border-radius:10px;padding:.55rem .6rem;text-align:center}
.p3d-stat b{display:block;font-size:.9rem;color:var(--text);white-space:nowrap}
.p3d-stat span{font-size:.7rem;color:var(--text-light)}
.p3d-warn{display:none;font-size:.82rem;line-height:1.5;color:#b3261e;background:#fdecea;border-radius:10px;padding:.7rem .9rem;margin-bottom:1rem}
.p3d-materials{grid-template-columns:repeat(4,1fr)}
.p3d-infill{grid-template-columns:repeat(3,1fr)}
.p3d-colors{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.p3d-color{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--border);cursor:pointer;transition:box-shadow .2s;padding:0}
.p3d-color.active{box-shadow:0 0 0 2.5px #ff4d30}
.p3d-row{display:flex;gap:.6rem;margin-bottom:1.25rem}
.p3d-field{flex:1;display:flex;flex-direction:column;gap:.35rem}
.p3d-field input{padding:.65rem .8rem;border:2px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:700;outline:none;width:100%}
.p3d-field input:focus{border-color:#ff4d30}
@media(max-width:768px){.p3d-materials{grid-template-columns:1fr 1fr}.p3d-viewer{height:240px}}
/* Футболки */
.ts-section{background:linear-gradient(135deg,#fffaf5,#fff0e6)}
.ts-stage{background:#fff;border-radius:20px;padding:1rem;box-shadow:0 4px 24px rgba(0,0,0,.08);border:1.5px solid var(--border)}
.ts-sides{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}
.ts-side{padding:.6rem;border:2px solid var(--border);border-radius:10px;background:#fff;font-family:inherit;font-weight:800;font-size:.85rem;cursor:pointer;transition:all .2s;color:var(--text)}
.ts-side.active{border-color:#ff4d30;background:linear-gradient(135deg,#fff5f2,#ffe8e0);color:#ff4d30}
.ts-side small{display:block;font-weight:600;font-size:.7rem;color:var(--text-light)}
.ts-canvas{display:block;width:100%;max-width:460px;margin:0 auto;aspect-ratio:600/660;touch-action:none;cursor:grab;border-radius:14px;background:radial-gradient(circle at 50% 40%,#ffffff,#eceef2)}
.ts-canvas.dragging{cursor:grabbing}
.ts-stage-hint{text-align:center;font-size:.75rem;color:var(--text-light);margin-top:.5rem}
.ts-mode{grid-template-columns:1fr 1fr}
.ts-upload-row{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}
.ts-upload-row .bizcard-upload-area{flex:1;margin:0;padding:1rem}
.ts-remove{border:none;background:#fdecea;color:#b3261e;border-radius:10px;padding:.7rem .8rem;font-weight:700;cursor:pointer;font-family:inherit;display:none}
.ts-formats{grid-template-columns:repeat(3,1fr)}
.ts-sizes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.ts-size{min-width:46px;padding:.5rem .6rem;border:2px solid var(--border);border-radius:10px;background:#fff;font-family:inherit;font-weight:800;font-size:.82rem;cursor:pointer}
.ts-size.active{border-color:#ff4d30;color:#ff4d30;background:#fff5f2}
.ts-warn{display:none;font-size:.8rem;line-height:1.5;color:#8a5300;background:#fff4e0;border-radius:10px;padding:.6rem .85rem;margin-bottom:1rem}
.ts-own-note{display:none;font-size:.82rem;line-height:1.5;background:#fff8f0;border:1.5px solid #ffd2b8;border-radius:10px;padding:.7rem .9rem;margin-bottom:1.25rem}
.qty-row{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.95rem}
.qty-row .qty-num{font-weight:800;font-size:1.15rem;color:var(--accent)}
.qty-row .qty-price{margin-left:auto;font-weight:800;color:var(--accent)}
.texts-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}
.text-chip{display:inline-flex;align-items:center;gap:.4rem;border:2px solid var(--border);border-radius:20px;padding:.35rem .8rem;font-size:.8rem;font-weight:700;cursor:pointer;background:#fff;transition:all .2s;max-width:100%}
.text-chip:hover{transform:translateY(-1px)}
.text-chip.active{border-color:var(--accent);color:var(--accent)}
.text-chip b{color:#c62828;cursor:pointer}
.hint{font-size:.8rem;color:var(--text-light);margin-top:.6rem}
.text-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;align-items:center}
.text-row select{padding:.5rem .6rem;border:2px solid var(--border);border-radius:10px;font-weight:600;background:#fff;cursor:pointer;transition:border-color .3s;max-width:100%}
.text-row select:hover{border-color:var(--accent)}
.color-dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--border);transition:all .2s;cursor:pointer;flex-shrink:0}
.color-dot:hover{transform:scale(1.1)}
.color-dot.active{border-color:var(--accent);transform:scale(1.15);box-shadow:0 0 0 3px rgba(255,77,48,.25)}
.color-dot.custom{background:conic-gradient(#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);position:relative;overflow:hidden}
.color-dot.custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.size-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.size-option{padding:1.1rem;border:2px solid var(--border);border-radius:14px;cursor:pointer;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);font-weight:500;position:relative;overflow:hidden}
.size-option:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 20px rgba(255,77,48,.15)}
.size-option.active{border-color:var(--accent);background:var(--gradient);color:#fff;box-shadow:0 10px 30px var(--accent-glow);transform:scale(1.02)}
.size-option .size-name{font-size:1.4rem;font-weight:800;display:block;letter-spacing:-.5px}
.size-option .size-dims{font-size:.8rem;opacity:.75;margin-top:.2rem;display:block}
.size-option .size-price{font-size:.9rem;font-weight:700;margin-top:.4rem;display:block;opacity:.9}
.size-option.active .size-price{color:rgba(255,255,255,.95)}
.size-option.popular::before{content:'⭐ ХІТ';position:absolute;top:6px;right:6px;font-size:.6rem;font-weight:800;background:#fff;color:var(--accent);padding:2px 6px;border-radius:4px;letter-spacing:.5px}
.size-option.active.popular::before{background:rgba(255,255,255,.95);color:var(--accent)}
.frame-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.frame-option{border:2px solid var(--border);border-radius:14px;padding:1rem;cursor:pointer;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);min-width:0}
.frame-option:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.1)}
.frame-option.active{border-color:var(--accent);background:rgba(255,77,48,.05);box-shadow:0 8px 20px rgba(255,77,48,.2)}
.frame-preview{width:60px;height:60px;margin:0 auto .5rem;border-radius:4px;border:5px solid;transition:transform .3s;background:radial-gradient(circle at 68% 30%,#ffe3b3 0 11%,transparent 12%),linear-gradient(to top,#141a2e 0 24%,transparent 24%),linear-gradient(170deg,#2b3a78 0%,#6f3c96 48%,#ff7a5c 82%,#ffb088 100%)}
.frame-option:hover .frame-preview{transform:scale(1.1) rotate(5deg)}
.frame-option .frame-name{font-size:.85rem;font-weight:600}
.paper-info-box{background:linear-gradient(135deg,#fff5f2,#ffe8e0);border:1px solid rgba(255,77,48,.15);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s;position:relative;overflow:hidden}
.paper-info-box:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,77,48,.15)}
.paper-info-box .paper-icon{width:56px;height:56px;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.paper-info-box .paper-icon svg{width:28px;height:28px;color:var(--accent)}
.paper-info-box .paper-text h4{font-weight:700;font-size:1rem;margin-bottom:.25rem}
.paper-info-box .paper-text p{font-size:.85rem;color:var(--text-light)}
.included-badge{margin-left:auto;padding:.4rem .8rem;background:#4CAF50;color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;flex-shrink:0;animation:pulse 2s infinite}
.price-section{border-top:2px solid var(--border);padding-top:2rem;margin-top:2rem}
.price-row{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:.95rem;transition:transform .3s}
.price-row:hover{transform:translateX(5px)}
.price-row.discount{color:#2e7d32;font-weight:700}
.price-row.total{font-size:1.4rem;font-weight:800;margin-top:1rem;padding-top:1rem;border-top:2px solid var(--border)}
.price-row.total #totalPrice{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;transition:transform .2s}
.promo-row{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}
.promo-row input{flex:1;padding:.7rem .9rem;border:2px solid var(--border);border-radius:10px;font-size:.95rem;text-transform:uppercase;min-width:0}
.promo-row button{padding:.7rem 1rem;border:none;border-radius:10px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;transition:all .3s;flex-shrink:0}
.promo-row button:hover{background:var(--accent)}
.add-to-cart{width:100%;padding:1.25rem;background:var(--gradient);color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:1.5rem;position:relative;overflow:hidden;box-shadow:0 10px 30px var(--accent-glow);letter-spacing:.5px}
.add-to-cart::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}
.add-to-cart:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--accent-glow)}
.add-to-cart:hover::before{left:100%}
.add-to-cart:active{transform:translateY(0) scale(.98)}
.btn-ghost{width:100%;padding:1rem;border-radius:14px;border:2px solid var(--border);background:none;font-weight:700;font-size:1rem;cursor:pointer;margin-top:.75rem;color:var(--text-light);transition:all .3s}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.forgot-link{display:block;text-align:right;margin-top:.6rem;color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}
.forgot-link:hover{text-decoration:underline}
.card-payment-box{background:linear-gradient(135deg,#f2fbf5,#e6f7ec);border:1px solid rgba(76,175,80,.25);border-radius:14px;padding:1.25rem;margin:-.5rem 0 1.25rem;animation:fadeInUp .4s ease}
.card-payment-title{font-weight:800;margin-bottom:.5rem}
.card-payment-note{font-size:.85rem;color:var(--text-light);margin-bottom:.75rem}
.card-number-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.card-number{font-size:1.1rem;font-weight:800;letter-spacing:1.5px;background:#fff;border:1px dashed var(--border);padding:.6rem 1rem;border-radius:10px;flex:1;min-width:0;overflow-wrap:anywhere;text-align:center}
.card-copy{border:none;background:var(--accent);color:#fff;font-weight:700;padding:.6rem 1.1rem;border-radius:10px;cursor:pointer;transition:all .3s;flex-shrink:0}
.card-copy:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow)}
.radio-group{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.radio-card input{display:none}
.radio-card-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s;text-align:center;font-weight:600;font-size:.9rem;min-width:0}
.radio-card-content svg{width:28px;height:28px;color:var(--text-light);transition:color .3s}
.radio-card-content:hover{border-color:var(--accent);transform:translateY(-2px)}
.radio-card input:checked + .radio-card-content{border-color:var(--accent);color:var(--accent);background:rgba(255,77,48,.05);box-shadow:0 4px 12px rgba(255,77,48,.15)}
.radio-card input:checked + .radio-card-content svg{color:var(--accent)}
.form-group{margin-bottom:1.25rem;min-width:0}
.form-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem}
.form-input{width:100%;padding:.9rem 1rem;border:2px solid var(--border);border-radius:12px;font-size:1rem;transition:all .3s;background:#fff;resize:vertical;min-width:0}
.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,77,48,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.features{background:linear-gradient(135deg,#fafafa,#f0f0f0);padding:6rem 2rem}
.features-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.feature{text-align:center;padding:2.5rem 2rem;background:#fff;border-radius:20px;transition:box-shadow .5s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}
.feature::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.feature:hover{box-shadow:0 20px 50px rgba(0,0,0,.1)}
.feature:hover::before{transform:scaleX(1)}
.feature-icon{width:80px;height:80px;background:linear-gradient(135deg,#fff5f2,#ffe8e0);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:all .5s}
.feature:hover .feature-icon{background:var(--gradient);transform:rotate(10deg) scale(1.1)}
.feature-icon svg{width:40px;height:40px;color:var(--accent);transition:color .3s}
.feature:hover .feature-icon svg{color:#fff}
.feature h3{font-size:1.25rem;margin-bottom:.75rem;font-weight:700}
.feature p{color:var(--text-light)}
.gallery{padding:6rem 2rem;max-width:1400px;margin:0 auto}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.gallery-item{aspect-ratio:3/4;border-radius:16px;overflow:hidden;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1);cursor:pointer;background-size:cover;background-position:center}
.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);transform:translateX(-130%);transition:transform .8s ease;z-index:1}
.gallery-item:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.gallery-item:hover::after{transform:translateX(130%)}
footer{background:var(--primary);color:#fff;padding:4rem 2rem 2rem;text-align:center;margin-top:4rem;position:relative}
footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient)}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);z-index:2000;align-items:center;justify-content:center;padding:1rem}
.modal.active{display:flex}
.modal-content{background:#fff;border-radius:24px;padding:2.5rem;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUp .4s cubic-bezier(.4,0,.2,1);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.modal-small{max-width:480px}
@keyframes slideUp{from{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}
.modal-header h2{font-family:'Playfair Display',serif;font-size:1.75rem}
.close-modal{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-light);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.close-modal:hover{background:#f0f0f0;color:var(--primary);transform:rotate(90deg)}
.cart-item{display:flex;gap:1.5rem;padding:1.5rem;border:1px solid var(--border);border-radius:16px;margin-bottom:1rem;transition:all .3s}
.cart-item:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(255,77,48,.1)}
.cart-item-image{width:100px;height:100px;background:#f0f0f0;border-radius:12px;object-fit:cover;flex-shrink:0}
.cart-item-details{flex:1;min-width:0}
.cart-item-details h4{margin-bottom:.5rem;font-weight:700}
.cart-item-details p{color:var(--text-light);font-size:.9rem;margin-bottom:.25rem}
.cart-item-price{font-weight:700;color:var(--accent);font-size:1.1rem}
.remove-item{background:none;border:none;color:#ff4444;cursor:pointer;font-size:.9rem;margin-top:.5rem;font-weight:600;transition:transform .3s}
.remove-item:hover{transform:translateX(5px)}
/* ===== CHECKOUT DRAWER ===== */
.co-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px)}
.co-overlay.active{opacity:1;pointer-events:all}
.co-drawer{position:fixed;top:0;right:0;height:100vh;width:520px;max-width:100vw;background:#fff;z-index:1001;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:none}
.co-drawer.active{transform:none;box-shadow:-8px 0 40px rgba(0,0,0,.15)}
/* Шапка */
.co-header{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;padding:1.1rem 1.5rem;display:flex;align-items:center;gap:.9rem;flex-shrink:0}
.co-header-icon{width:40px;height:40px;background:linear-gradient(135deg,#ff4d30,#ff7a5c);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.co-header-info{flex:1}
.co-header-title{font-weight:800;font-size:1rem}
.co-header-sub{font-size:.75rem;opacity:.6;margin-top:.1rem}
.co-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.co-close:hover{background:rgba(255,255,255,.2)}
/* Кроки */
.co-steps{display:flex;padding:.9rem 1.5rem;background:#fafaf9;border-bottom:1px solid var(--border);gap:0;flex-shrink:0}
.co-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}
.co-step-dot{width:30px;height:30px;border-radius:50%;border:2.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--text-light);transition:all .3s;z-index:1}
.co-step.active .co-step-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px rgba(255,77,48,.15)}
.co-step.done .co-step-dot{background:var(--accent);border-color:var(--accent);color:#fff}
.co-step-label{font-size:.65rem;font-weight:700;color:var(--text-muted);margin-top:.35rem;text-align:center;white-space:nowrap}
.co-step.active .co-step-label,.co-step.done .co-step-label{color:var(--accent)}
.co-step-line{flex:1;height:2px;background:var(--border);margin-bottom:1.4rem;transition:background .3s}
.co-step-line.done{background:var(--accent)}
/* Тіло */
.co-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}
/* Превʼю замовлення */
.co-summary{background:linear-gradient(135deg,#fff5f2,#ffe8e0);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:1rem}
.co-summary-thumbs{display:flex;gap:.35rem;flex-wrap:wrap}
.co-summary-thumb{width:44px;height:52px;border-radius:7px;object-fit:cover;border:2px solid rgba(255,77,48,.2);background:#f0f0f0}
.co-summary-info{flex:1;min-width:0}
.co-summary-count{font-size:.78rem;color:var(--text-light);margin-bottom:.2rem}
.co-summary-total{font-size:1.2rem;font-weight:900;color:var(--accent)}
.co-summary-discount{font-size:.75rem;color:#2e7d32;font-weight:700;margin-top:.1rem}
/* Секції форми */
.co-section{margin-bottom:1.25rem}
.co-section-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}
.co-field{margin-bottom:.85rem}
.co-field label{display:block;font-size:.8rem;font-weight:700;color:var(--text);margin-bottom:.35rem}
.co-input{width:100%;padding:.75rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:.9rem;font-family:inherit;outline:none;transition:all .2s;background:#fff;color:var(--text)}
.co-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,77,48,.08)}
.co-input::placeholder{color:#bbb}
.co-input.error{border-color:#e53935;animation:shake .3s}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
textarea.co-input{resize:vertical;min-height:80px}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
/* Радіо картки */
.co-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.co-radio{position:relative}
.co-radio input{position:absolute;opacity:0;width:0;height:0}
.co-radio-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.85rem .5rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .25s;text-align:center;background:#fff}
.co-radio-card .ico{font-size:1.4rem}
.co-radio-card .lbl{font-size:.8rem;font-weight:700;color:var(--text-light);transition:color .2s;line-height:1.2}
.co-radio input:checked+.co-radio-card{border-color:var(--accent);background:var(--accent-pale)}
.co-radio input:checked+.co-radio-card .lbl{color:var(--accent)}
/* Промокод */
.co-promo-row{display:flex;gap:.5rem}
.co-promo-btn{padding:.75rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;font-family:inherit;transition:opacity .2s}
.co-promo-btn:hover{opacity:.85}
.co-promo-msg{font-size:.78rem;margin-top:.4rem;font-weight:600}
.co-promo-msg.ok{color:#2e7d32}
.co-promo-msg.err{color:#e53935}
/* Реквізити */
.co-card-box{background:#f0f4ff;border:1.5px solid #c5d8ff;border-radius:12px;padding:.9rem 1.1rem;margin-top:.75rem}
.co-card-box-title{font-size:.78rem;font-weight:800;color:#1967d2;margin-bottom:.4rem}
.co-card-box-note{font-size:.78rem;color:#555;margin-bottom:.6rem;line-height:1.5}
.co-card-num-row{display:flex;align-items:center;gap:.5rem}
.co-card-num{font-size:1rem;font-weight:800;letter-spacing:.05em;flex:1}
.co-card-copy{background:#1967d2;color:#fff;border:none;border-radius:7px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .2s}
.co-card-copy:hover{opacity:.8}
/* Футер */
.co-footer{padding:1.1rem 1.5rem;border-top:1px solid var(--border);background:#fafaf9;flex-shrink:0}
.co-submit{width:100%;padding:1rem;background:linear-gradient(135deg,#ff4d30,#ff7a5c);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.6rem}
.co-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,77,48,.4)}
.co-submit:disabled{opacity:.6;transform:none;cursor:not-allowed}
.co-submit-note{text-align:center;font-size:.73rem;color:var(--text-muted);margin-top:.6rem}
@media(max-width:540px){
  .co-row{grid-template-columns:1fr}
  .co-body{padding:1rem}
  .co-header{padding:.9rem 1rem}
  .co-steps{padding:.75rem 1rem}
  .co-footer{padding:.9rem 1rem}
  .co-step-label{font-size:.58rem}
}
.cf-turnstile{margin:.75rem 0 .25rem}
.cf-turnstile iframe{border-radius:8px}
.auth-tabs{display:flex;background:#f0f0f0;border-radius:12px;padding:4px;margin-bottom:1.5rem}
.auth-tab{flex:1;padding:.75rem;border:none;background:none;border-radius:10px;font-weight:700;cursor:pointer;color:var(--text-light);transition:all .3s}
.auth-tab.active{background:#fff;color:var(--primary);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.success-box{text-align:center}
.success-icon{width:90px;height:90px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#4CAF50,#8BC34A);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:popIn .5s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 40px rgba(76,175,80,.4)}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}
.success-icon svg{width:44px;height:44px;color:#fff}
.success-box h2{font-family:'Playfair Display',serif;margin-bottom:.75rem}
.success-box>p{color:var(--text-light);margin-bottom:1.5rem}
.success-box>p b{color:var(--accent)}
.success-suggest{background:#f8f9fa;border-radius:16px;padding:1.5rem;margin-top:1.5rem}
.success-suggest p{font-size:.9rem;color:var(--text-light);margin-bottom:1rem}
.status-badge{display:inline-block;padding:.35rem .9rem;border-radius:20px;font-size:.8rem;font-weight:700;color:#fff}
.ttn-box{margin-top:.6rem;background:#eef4ff;border:1px solid #c9dbff;border-radius:10px;padding:.7rem .9rem;font-size:.9rem}
.ttn-box b{letter-spacing:.5px;overflow-wrap:anywhere}
.ttn-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.ttn-actions a,.ttn-actions button{font-size:.8rem;font-weight:700;padding:.4rem .8rem;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all .3s;white-space:nowrap}
.ttn-track{background:#2196F3;color:#fff}
.ttn-track:hover{background:#1976D2}
.ttn-copy{background:#fff;border:1px solid var(--border) !important;color:var(--text)}
.ttn-copy:hover{border-color:var(--accent) !important;color:var(--accent)}
/* ===== КАБІНЕТ КОРИСТУВАЧА ===== */
.cab-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px)}
.cab-overlay.active{opacity:1;pointer-events:all}
.cab-drawer{position:fixed;top:0;right:0;height:100vh;width:480px;max-width:100vw;background:#fff;z-index:1001;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:none}
.cab-drawer.active{transform:none}
.cab-header{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;flex-shrink:0}
.cab-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ff4d30,#ff7a5c);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.cab-user-info{flex:1;min-width:0}
.cab-user-email{font-size:.8rem;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cab-user-name{font-weight:700;font-size:.95rem}
.cab-header-btns{display:flex;gap:.5rem;flex-shrink:0}
.cab-btn-icon{background:rgba(255,255,255,.1);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cab-btn-icon:hover{background:rgba(255,255,255,.2)}
.cab-warn{background:#fff4e5;border-bottom:1px solid #ffe082;padding:.7rem 1.5rem;font-size:.82rem;display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.cab-warn-btn{margin-left:auto;background:#ff9800;color:#fff;border:none;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.cab-body{flex:1;overflow-y:auto;padding:1.25rem}
.cab-section-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin:.5rem 0 .75rem}
.cab-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#aaa;gap:.6rem;font-size:.9rem}
.cab-empty{text-align:center;padding:3rem 1rem;color:#aaa}
.cab-empty .ico{font-size:3rem;margin-bottom:.75rem}
/* Картка замовлення */
.mo-progress{padding:.85rem 1.1rem;border-bottom:1px solid var(--border);background:#fafaf9}
.mo-progress-steps{display:flex;align-items:center;position:relative}
.mo-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1}
.mo-step-dot{width:28px;height:28px;border-radius:50%;border:2.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .3s;flex-shrink:0}
.mo-step.done .mo-step-dot{background:var(--accent);border-color:var(--accent);color:#fff}
.mo-step.active .mo-step-dot{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,77,48,.15)}
.mo-step.active .mo-step-dot::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--accent);display:block}
.mo-step-label{font-size:.65rem;font-weight:700;color:var(--text-light);margin-top:.4rem;text-align:center;line-height:1.2;white-space:nowrap}
.mo-step.done .mo-step-label,.mo-step.active .mo-step-label{color:var(--accent)}
.mo-step-line{flex:1;height:2.5px;background:var(--border);margin:0 -2px;margin-bottom:1.2rem;transition:background .3s;position:relative;z-index:0}
.mo-step-line.done{background:var(--accent)}
.mo-cancelled .mo-step-dot{background:#f5f5f5;border-color:#ccc}
.mo-cancelled .mo-step-label{color:#bbb}
.mo-card{border:1.5px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:.9rem;transition:border-color .2s}
.mo-card:hover{border-color:rgba(255,77,48,.25)}
.mo-card-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;background:#fafaf9;gap:.5rem;flex-wrap:wrap}
.mo-num{font-weight:800;font-size:.92rem}
.mo-date{font-size:.76rem;color:var(--text-light);margin-top:.1rem}
.mo-status{padding:.25rem .7rem;border-radius:20px;font-size:.72rem;font-weight:800;color:#fff;white-space:nowrap}
.mo-thumbs{display:flex;gap:.5rem;padding:.75rem 1.1rem;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.mo-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:#f0f0f0;transition:transform .2s;cursor:pointer}
.mo-thumb:hover{transform:scale(1.08)}
.mo-foot{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.1rem;gap:.5rem}
.mo-meta{font-size:.8rem;color:var(--text-light)}
.mo-total{font-weight:800;color:var(--accent);font-size:1rem}
.mo-toggle{background:none;border:none;color:var(--accent);font-size:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.3rem;padding:.2rem 0;transition:opacity .2s;font-family:inherit}
.mo-toggle:hover{opacity:.7}
.mo-toggle svg{transition:transform .3s}
.mo-toggle.open svg{transform:rotate(180deg)}
/* Деталі */
.mo-details{display:none;border-top:1px solid var(--border)}
.mo-details.open{display:block}
.mo-item{display:flex;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid #f5f5f4}
.mo-item:last-child{border-bottom:none}
.mo-item-img{width:72px;height:88px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f0f0f0;border:1px solid var(--border);cursor:pointer;transition:opacity .2s}
.mo-item-img:hover{opacity:.8}
.mo-item-body{flex:1;min-width:0}
.mo-item-title{font-weight:700;font-size:.88rem;margin-bottom:.4rem}
.mo-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}
.mo-tag{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:20px;font-size:.72rem;font-weight:700}
.mo-tag.kind{background:rgba(255,77,48,.1);color:var(--accent)}
.mo-tag.size{background:#e8f0fe;color:#1967d2}
.mo-tag.frame{background:#f3e8fd;color:#7b1fa2}
.mo-tag.qty{background:#e8f7ec;color:#2e7d32}
.mo-tag.price{background:#fff5f2;color:var(--accent);font-weight:800}
.mo-caption{font-size:.78rem;color:var(--text-light);display:flex;gap:.3rem;margin-top:.25rem;line-height:1.5}
.mo-caption b{color:#444;flex-shrink:0}
/* ТТН */
.mo-ttn{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #c5d8ff;border-radius:10px;padding:.75rem 1.1rem;margin:.75rem 1.1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.mo-ttn-icon{font-size:1.4rem;flex-shrink:0}
.mo-ttn-body{flex:1;min-width:0}
.mo-ttn-label{font-size:.7rem;color:#1967d2;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.mo-ttn-num{font-weight:800;font-size:.92rem;margin:.1rem 0}
.mo-ttn-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.mo-ttn-btn{padding:.35rem .75rem;border-radius:7px;font-size:.78rem;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all .2s}
.mo-ttn-track{background:#1967d2;color:#fff}
.mo-ttn-track:hover{background:#1557b0}
.mo-ttn-copy{background:#fff;color:#1967d2;border:1.5px solid #1967d2}
.mo-ttn-copy:hover{background:#e8f0fe}
@media(max-width:520px){.mo-item{gap:.6rem}.mo-item-img{width:56px;height:70px}.cab-header{padding:1rem}.cab-body{padding:1rem}}
#dbModeLabel{font-size:.85rem;font-weight:700;color:var(--text-light);background:#f0f0f0;padding:.5rem 1rem;border-radius:20px}
.notification{position:fixed;bottom:2rem;right:2rem;background:var(--primary);color:#fff;padding:1rem 1.5rem;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.3);display:none;align-items:center;gap:1rem;z-index:3000;animation:slideInRight .4s cubic-bezier(.4,0,.2,1);border-left:4px solid #4CAF50;max-width:90%}
.notification.show{display:flex}
@keyframes slideInRight{from{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.reveal.active{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.customizer-grid{grid-template-columns:1fr;gap:1.5rem}.preview-container{position:relative;top:0;padding:2rem}.preview-frame{min-height:420px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:1fr}.hero h1{font-size:3.5rem}}
@media(max-width:1024px){.burger{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);flex-direction:column;padding:.5rem 0 1rem;border-bottom:1px solid var(--border);box-shadow:0 15px 30px rgba(0,0,0,.1)}.nav-links.open{display:flex}.nav-links a{display:block;padding:.9rem 2rem}}
@media(max-width:768px){.hero{padding:5rem 1.25rem 4rem}.hero h1{font-size:2.6rem}.hero p{font-size:1.05rem}.customizer{padding:2.5rem 1rem}.section-header{margin-bottom:2.5rem}.section-header h2{font-size:1.9rem}.preview-container{padding:1.25rem}.preview-frame{padding:1rem;min-height:340px}.controls-panel{padding:1.5rem 1.25rem}.upload-area{padding:1.75rem 1rem}.stock-grid{grid-template-columns:repeat(3,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}.modal-content{padding:1.5rem 1.25rem}.modal-header h2{font-size:1.4rem}.gallery{padding:4rem 1rem}.features{padding:4rem 1rem}.feature{padding:2rem 1.25rem}footer{padding:3rem 1rem 1.5rem}.notification{left:1rem;right:1rem;bottom:1rem;max-width:none}.cart-item{padding:1rem;gap:1rem}.cart-item-image{width:72px;height:72px}.radio-group{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.frame-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.myorder-thumb{width:60px;height:60px}.price-row.total{font-size:1.2rem}.card-number{letter-spacing:1px;font-size:1rem}.color-dot{width:30px;height:30px}.size-options{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){nav{padding:.9rem 1rem}.logo{font-size:1.4rem}.hero h1{font-size:2.1rem}.hero-badge{font-size:.75rem}.add-to-cart{font-size:1rem;padding:1.1rem}.stock-grid{gap:.45rem}.stock-item .stock-title{font-size:.58rem}.frame-options{gap:.5rem}.frame-option{padding:.75rem .5rem}.frame-option .frame-name{font-size:.75rem}}

/* ================= ТЕКСТОВІ БЛОКИ СТОРІНОК ТОВАРІВ (з колишнього landing.css) ================= */
.pg .btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.6rem;border-radius:14px;font-weight:700;text-decoration:none;font-size:1rem;transition:transform .2s,box-shadow .2s}
.pg .btn-primary{background:var(--gradient);color:#fff;box-shadow:0 10px 30px var(--accent-glow)}
.pg .btn-primary:hover{transform:translateY(-2px)}
.pg .btn-ghost{background:#fff;border:2px solid var(--border);color:var(--text)}
.pg .btn-ghost:hover{border-color:var(--accent)}
.pg .hero-chips{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.75rem}
.pg .chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;color:var(--text-light)}
.pg .chip b{color:var(--accent)}
.pg section{padding:4rem 1.5rem}
.pg .wrap{max-width:1100px;margin:0 auto}
.pg h2{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;letter-spacing:-.5px;margin-bottom:.75rem;text-align:center}
.pg .sub{color:var(--text-light);text-align:center;max-width:640px;margin:0 auto 2.5rem}
.pg .alt{background:#fff}
.pg .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}
.pg .card{background:var(--card);border:1.5px solid var(--border);border-radius:18px;padding:1.5rem}
.pg .alt .card{background:var(--bg)}
.pg .card .ico{font-size:1.8rem;margin-bottom:.6rem}
.pg .card h3{font-size:1.05rem;font-weight:800;margin-bottom:.4rem}
.pg .card p{font-size:.92rem;color:var(--text-light)}
.pg .steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}
.pg .step{position:relative;background:var(--card);border-radius:18px;padding:1.5rem 1.5rem 1.5rem 4.2rem;border:1.5px solid var(--border)}
.pg .step::before{counter-increment:s;content:counter(s);position:absolute;left:1.25rem;top:1.4rem;width:34px;height:34px;border-radius:50%;background:var(--gradient);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pg .step h3{font-size:1rem;font-weight:800;margin-bottom:.3rem}
.pg .step p{font-size:.9rem;color:var(--text-light)}
.pg .price-table{width:100%;max-width:720px;margin:0 auto;border-collapse:collapse;background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.pg .price-table th,.pg .price-table td{padding:.95rem 1.25rem;text-align:left;border-bottom:1px solid var(--border)}
.pg .price-table th{background:#fff5f2;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light)}
.pg .price-table td:last-child,.pg .price-table th:last-child{text-align:right;white-space:nowrap}
.pg .price-table td:last-child{font-weight:800}
.pg .price-table tr:last-child td{border-bottom:none}
.pg .price-note{text-align:center;font-size:.85rem;color:var(--text-light);margin-top:1rem}
.pg .prose{max-width:760px;margin:0 auto}
.pg .prose p{margin-bottom:1rem;color:#333}
.pg .prose ul{margin:0 0 1rem 1.2rem}
.pg .prose li{margin-bottom:.4rem;color:#333}
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.faq details{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:1rem 1.25rem}
.pg .alt .faq details{background:var(--bg)}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--accent);font-weight:800;font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:'−'}
.faq details p{margin-top:.6rem;color:var(--text-light);font-size:.95rem}
.pg .cta{background:var(--primary);color:#fff;text-align:center;border-radius:24px;padding:3rem 1.5rem;max-width:1100px;margin:0 auto}
.pg .cta h2{color:#fff}
.pg .cta p{opacity:.8;margin:0 auto 1.75rem;max-width:560px}
.pg .others{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.pg .other{display:block;text-decoration:none;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1.2rem 1.25rem;transition:border-color .2s}
.pg .other:hover{border-color:var(--accent)}
.pg .other b{display:block;margin-bottom:.2rem}
.pg .other span{font-size:.88rem;color:var(--text-light)}
.pg section{padding:3rem 1rem}
.pg h2{font-size:1.75rem}
.pg .price-table th,.pg .price-table td{padding:.8rem .9rem;font-size:.9rem}
@media(max-width:600px){.pg section{padding:3rem 1rem}.pg h2{font-size:1.75rem}.pg .price-table th,.pg .price-table td{padding:.8rem .9rem;font-size:.9rem}}

/* ================= СТОРІНКИ ТОВАРІВ ================= */
/* Компактна шапка сторінки товару: хлібні крихти, H1, коротко, переваги — і одразу конструктор */
.pg-hero{position:relative;padding:3rem 2rem 1.5rem;text-align:center;background:linear-gradient(180deg,#fff5f2 0%,var(--bg) 100%)}
.pg-hero .crumbs{font-size:.82rem;color:var(--text-light);margin-bottom:1rem}
.pg-hero .crumbs a{color:var(--text-light);text-decoration:none}
.pg-hero .crumbs a:hover{color:var(--accent)}
.pg-hero h1{font-family:'Playfair Display',serif;font-size:3rem;font-weight:900;line-height:1.12;letter-spacing:-1px;max-width:900px;margin:0 auto .8rem}
.pg-hero h1 em{font-style:normal;background:linear-gradient(135deg,#e43f1f,#c2301a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pg-hero .lead{font-size:1.1rem;color:var(--text-light);max-width:720px;margin:0 auto 1.2rem;line-height:1.6}
.pg-hero .chips{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.pg-hero .chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;color:var(--text-light)}
.pg-hero .chip b{color:var(--accent)}
#constructor{scroll-margin-top:84px}
.pg-sec-title{text-align:center;margin-bottom:2rem}
.pg .cta .btn{margin:0 .25rem .5rem}
@media(max-width:600px){.pg-hero{padding:2rem 1rem 1rem}.pg-hero h1{font-size:2rem}.pg-hero .lead{font-size:1rem}}

/* Навігація: активна сторінка */
.nav-links a[aria-current="page"]{color:var(--accent);font-weight:700}
.nav-links a[aria-current="page"]::before{width:100%}

/* ================= ГОЛОВНА ================= */
.home-hero .hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease .55s both}
.hero-cta.ghost{background:#fff;color:var(--text);box-shadow:0 6px 20px rgba(0,0,0,.06);border:1.5px solid var(--border)}
.hero-cta.ghost::before{display:none}
.hero-trust{display:flex;gap:.6rem 1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;font-size:.9rem;font-weight:600;color:var(--text-light);animation:fadeInUp .8s ease .7s both}
.hero-trust span{display:inline-flex;align-items:center;gap:.35rem}
.home-sec{padding:5.5rem 2rem}
.home-sec.alt{background:#fff}
.home-wrap{max-width:1200px;margin:0 auto}
/* Як це працює */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:how}
.how-step{position:relative;background:var(--card);border:1.5px solid var(--border);border-radius:22px;padding:1.75rem 1.5rem 1.5rem}
.home-sec.alt .how-step{background:var(--bg)}
.how-step::before{counter-increment:how;content:counter(how);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--gradient);color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:1rem;box-shadow:0 8px 20px var(--accent-glow)}
.how-step h3{font-size:1.1rem;font-weight:800;margin-bottom:.4rem}
.how-step p{font-size:.92rem;color:var(--text-light);line-height:1.55}
/* Примірка в кімнаті — тизер */
.room-teaser{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:center}
.room-teaser h2{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:900;line-height:1.12;letter-spacing:-1px;margin-bottom:1rem}
.room-teaser p{color:var(--text-light);font-size:1.05rem;line-height:1.65;margin-bottom:1.25rem}
.room-teaser ul{list-style:none;margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.55rem}
.room-teaser li{display:flex;gap:.6rem;align-items:flex-start;font-weight:600}
.room-teaser li::before{content:'✓';color:var(--accent);font-weight:900}
.room-shot{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.18)}
.room-shot img{display:block;width:100%;height:auto}
.room-shot .mini-poster{position:absolute;left:41.4%;top:21%;width:17.2%;aspect-ratio:1/1.414;background:#fff;padding:1.1%;box-shadow:4px 10px 22px rgba(0,0,0,.35)}
.room-shot .mini-poster div{width:100%;height:100%;background:radial-gradient(circle at 68% 28%,#ffe3b3 0 9%,transparent 10%),linear-gradient(to top,#141a2e 0 26%,transparent 26%),linear-gradient(170deg,#2b3a78 0%,#6f3c96 48%,#ff7a5c 82%,#ffb088 100%)}
.room-shot .tag{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.65);color:#fff;font-size:.8rem;font-weight:700;padding:.35rem .7rem;border-radius:8px;backdrop-filter:blur(4px)}
@media(max-width:900px){.how{grid-template-columns:1fr}.room-teaser{grid-template-columns:1fr;gap:2rem}.room-teaser h2{font-size:2rem}.home-sec{padding:4rem 1rem}}

/* ================= ПІДВАЛ ================= */
.ft{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;text-align:left}
.ft h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:1rem}
.ft a{display:block;color:#fff;opacity:.8;text-decoration:none;font-size:.92rem;margin-bottom:.55rem}
.ft a:hover{opacity:1}
.ft .brand{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:900;margin-bottom:.75rem}
.ft .brand span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ft p{opacity:.75;font-size:.9rem;line-height:1.6;margin-bottom:1rem}
.ft-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;opacity:.6}
@media(max-width:900px){.ft{grid-template-columns:1fr 1fr}.ft-col-brand{grid-column:1/-1}}
@media(max-width:480px){.ft{gap:1.75rem 1rem}.ft-col-contacts{grid-column:1/-1}.ft-bottom{justify-content:center;text-align:center}}

/* Промокод в оформленні: результат */
.co-promo-msg.ok{color:#2e7d32;font-weight:700}
.co-promo-msg.err{color:#c62828}

/* Конструктор одразу під шапкою сторінки — без великого відступу зверху */
#constructor>section{padding-top:1.5rem}
.ft .tg-link{display:inline-flex;opacity:1;margin-top:.25rem}
/* Головна: перший екран */
.home-hero{min-height:72vh}
.home-hero h1{font-size:4.25rem}
.home-hero p{margin-bottom:2.25rem}
@media(max-width:1024px){.home-hero h1{font-size:3.3rem}}
@media(max-width:768px){.home-hero h1{font-size:2.5rem}}
@media(max-width:480px){.home-hero h1{font-size:2rem}.home-hero .hero-cta{padding:1rem 1.6rem;font-size:1rem}}
/* Як це працює — компактно на телефоні: номер ліворуч від тексту */
@media(max-width:600px){.how{gap:.75rem}.how-step{display:grid;grid-template-columns:42px 1fr;column-gap:1rem;padding:1.1rem 1.1rem 1rem}.how-step::before{margin:0;grid-row:1/3}.how-step h3{align-self:center}}
/* Посилання в текстах сторінок */
.pg a:not(.btn):not(.other),.faq a{color:var(--accent);font-weight:600}
.pg .cta a:not(.btn){color:#ff9a85}
/* Ціни фотодруку — плитками */
.pg .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;max-width:860px;margin:0 auto}
.pg .tile{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.pg .tile b{font-weight:700;font-size:.95rem}
.pg .tile span{color:var(--accent);font-weight:800;white-space:nowrap}
/* Мобільне меню: активна сторінка — фоном, без підкреслення на всю ширину */
@media(max-width:1024px){.nav-links a[aria-current="page"]::before{display:none}.nav-links a[aria-current="page"]{background:rgba(255,77,48,.07)}}

/* ===== ОФОРМЛЕННЯ: підказки, Нова Пошта ===== */
.co-label-note{text-transform:none;letter-spacing:0;font-weight:600;color:#b9b2ac;font-size:.72rem}
.co-opt{font-weight:500;color:var(--text-light);font-size:.75rem;margin-left:.25rem}
.co-hint{font-size:.78rem;color:var(--text-light);margin-top:.4rem;line-height:1.45}
.co-field-after{margin-top:.75rem}
.np-field{position:relative}
.np-list{margin-top:.35rem;border:2px solid var(--border);border-radius:12px;background:#fff;max-height:260px;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.np-list button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f1eeeb;padding:.65rem .9rem;font:inherit;font-size:.86rem;color:var(--text);cursor:pointer;line-height:1.35}
.np-list button:last-child{border-bottom:0}
.np-list button:hover,.np-list button:focus{background:#fff5f2;outline:none}
.np-list button b{color:var(--accent);margin-right:.25rem}
.np-empty{padding:.7rem .9rem;font-size:.82rem;color:var(--text-light)}
/* Панель «ціна + в кошик» — лише на телефоні й планшеті */
.buy-bar{display:none}
@media(max-width:1024px){
.buy-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:990;align-items:center;gap:1rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);box-shadow:0 -8px 30px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .3s ease}
.buy-bar.show{transform:none}
.buy-bar-price{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.buy-bar-price small{font-size:.72rem;color:var(--text-light);font-weight:600}
.buy-bar-price b{font-size:1.35rem;font-weight:800;color:var(--accent);white-space:nowrap}
.buy-bar-btn{margin-left:auto;flex:0 0 auto;border:0;border-radius:14px;padding:.9rem 1.4rem;background:var(--gradient);color:#fff;font:inherit;font-weight:800;font-size:1rem;box-shadow:0 8px 22px var(--accent-glow);cursor:pointer}
body.buy-bar-on .notification{bottom:5.5rem}
}

/* ===== КОНСТРУКТОР ПОСТЕРА: кадрування ===== */
.poster-wrap.landscape{max-width:620px}
.poster-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.poster-wrap.cropping canvas{cursor:grab;touch-action:none}
.poster-wrap.cropping canvas:active{cursor:grabbing}
.poster-wrap.cropping .poster-text{pointer-events:none;opacity:.55}
.poster-wrap.cropping::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px var(--accent);
  background:linear-gradient(to right,transparent 33.2%,rgba(255,255,255,.75) 33.2%,rgba(255,255,255,.75) 33.5%,transparent 33.5%,transparent 66.5%,rgba(255,255,255,.75) 66.5%,rgba(255,255,255,.75) 66.8%,transparent 66.8%),
             linear-gradient(to bottom,transparent 33.2%,rgba(255,255,255,.75) 33.2%,rgba(255,255,255,.75) 33.5%,transparent 33.5%,transparent 66.5%,rgba(255,255,255,.75) 66.5%,rgba(255,255,255,.75) 66.8%,transparent 66.8%)}
.crop-bar{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}
.crop-bar[hidden],.crop-panel[hidden]{display:none}
.crop-btn{border:2px solid var(--border);background:#fff;border-radius:12px;padding:.6rem 1rem;font:inherit;font-weight:700;font-size:.88rem;color:var(--text);cursor:pointer;transition:all .2s}
.crop-btn:hover{border-color:var(--accent);color:var(--accent)}
.crop-btn.active{border-color:var(--accent);background:#fff5f2;color:var(--accent)}
.crop-panel{margin-top:.75rem;background:#fff;border:2px solid var(--border);border-radius:16px;padding:1rem 1.1rem}
.crop-hint{font-size:.85rem;color:var(--text-light);margin-bottom:.75rem;line-height:1.45}
.crop-zoom{display:flex;align-items:center;gap:.75rem;font-weight:800;color:var(--text-light)}
.crop-zoom input{flex:1;accent-color:var(--accent);height:28px}
.crop-quality{font-size:.85rem;font-weight:700;margin-top:.6rem}
.crop-quality:empty{display:none}
.crop-quality.ok{color:#2e7d32}.crop-quality.mid{color:#b26a00}.crop-quality.bad{color:#c62828}
.crop-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}
.crop-done{background:var(--gradient);border-color:transparent;color:#fff}
.crop-done:hover{color:#fff}
.quality-badge.mid{display:block;background:#fff4e5;color:#b26a00}
.quality-badge.bad{display:block;background:#fdecea;color:#c62828}

/* ===== КОНСТРУКТОР ВІЗИТОК ===== */
.bz-modes{display:flex;gap:.6rem;justify-content:center;max-width:720px;margin:0 auto 1.5rem}
.bz-mode{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;border:2px solid var(--border);background:#fff;border-radius:16px;padding:.8rem 1rem;font:inherit;font-weight:800;font-size:1rem;color:var(--text);cursor:pointer;transition:all .2s}
.bz-mode small{font-weight:500;font-size:.78rem;color:var(--text-light)}
.bz-mode.active{border-color:var(--accent);background:#fff5f2;color:var(--accent)}
.bz-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2rem;max-width:1240px;margin:0 auto;align-items:start}
.bz-preview,.bz-own-info{position:sticky;top:calc(var(--header-h,84px) + 12px)}
.bz-own-info{background:#fff;border-radius:22px;padding:1.5rem;box-shadow:0 10px 40px rgba(0,0,0,.06)}
.bz-own-info h3{font-size:1.2rem;font-weight:800;margin-bottom:.6rem}
.bz-own-info p{color:var(--text-light);line-height:1.6;margin-bottom:1rem}
.bz-card{margin:0 0 1.25rem}
.bz-card canvas{display:block;width:100%;height:auto;aspect-ratio:90/50;border-radius:6px;box-shadow:0 18px 45px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);background:#fff}
.bz-card figcaption{font-size:.78rem;color:var(--text-light);text-align:center;margin-top:.55rem}
.bz-side-tabs{display:none}
.bz-warn{background:#fff4e5;color:#b26a00;border-radius:10px;padding:.6rem .8rem;font-size:.85rem;font-weight:600;line-height:1.45}
.bz-right{background:#fff;border-radius:22px;padding:1.5rem;box-shadow:0 10px 40px rgba(0,0,0,.06)}
.bz-h{font-weight:800;font-size:1.05rem;margin:0 0 .75rem}
.bz-h-sm{font-size:.85rem;margin:1.1rem 0 .5rem}
.bz-templates{margin-bottom:1.5rem}
.bz-cats{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}
.bz-cat{border:1.5px solid var(--border);background:#fff;border-radius:999px;padding:.3rem .75rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;color:var(--text-light);white-space:nowrap}
.bz-cat.active{background:var(--text);border-color:var(--text);color:#fff}
.bz-tpl-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.bz-tpl{border:0;background:none;padding:0;cursor:pointer;text-align:center;font:inherit;min-width:0}
.bz-tpl-c{display:block;border-radius:6px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.14);transition:transform .2s}
.bz-tpl:hover .bz-tpl-c{transform:translateY(-2px)}
.bz-tpl canvas{display:block;width:100%;aspect-ratio:90/50;height:auto}
.bz-tpl-n{display:block;font-size:.74rem;font-weight:700;color:var(--text-light);margin-top:.35rem}
.bz-tpl.active .bz-tpl-c{outline:3px solid var(--accent);outline-offset:2px}
.bz-tpl.active .bz-tpl-n{color:var(--accent)}
.bz-sample{background:#fff8e1;color:#7a5b00;border-radius:10px;padding:.55rem .8rem;font-size:.82rem;margin-bottom:.75rem;line-height:1.45}
.bz-sample[hidden]{display:none}
.bz-fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .75rem}
.bz-f label{display:block;font-size:.78rem;font-weight:700;margin-bottom:.25rem}
.bz-in{width:100%;padding:.65rem .8rem;border:2px solid var(--border);border-radius:10px;font:inherit;font-size:.9rem;background:#fff;color:var(--text);outline:none;transition:border-color .2s}
.bz-in:focus{border-color:var(--accent)}
.bz-in[hidden]{display:none}
.bz-wide{grid-column:1/-1}
.bz-opt{font-weight:500;color:var(--text-light);font-size:.75rem}
.bz-colors{display:flex;flex-wrap:wrap;gap:.45rem}
.bz-color{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--border);cursor:pointer;padding:0;position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--text-light);background:#fff}
.bz-color.active{box-shadow:0 0 0 2.5px var(--accent)}
.bz-color-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.bz-logo{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.bz-logo small{width:100%;color:var(--text-light);font-size:.75rem}
.bz-btn{border:2px dashed var(--border);background:#fafaf9;border-radius:12px;padding:.6rem 1rem;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--text)}
.bz-btn:hover{border-color:var(--accent);color:var(--accent)}
.bz-logo-name{display:none;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.bz-logo.has .bz-logo-name{display:inline-flex}
.bz-x{border:0;background:#f1eeeb;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:.7rem;flex:0 0 auto}
.bz-order{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.bz-grid.own .bz-order{margin-top:1rem;padding-top:0;border-top:0}
.bz-sides{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}
.bz-sides button{border:2px solid var(--border);background:#fff;border-radius:12px;padding:.65rem .5rem;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.1rem;color:var(--text)}
.bz-sides button small{font-weight:600;font-size:.72rem;color:var(--text-light)}
.bz-sides button.active{border-color:var(--accent);background:#fff5f2;color:var(--accent)}
.bz-back-opts{display:grid;gap:.6rem;margin-bottom:.9rem}
.bz-back-opts[hidden]{display:none}
.bz-check{display:flex;gap:.55rem;align-items:flex-start;font-size:.84rem;font-weight:600;margin:.9rem 0 .25rem;cursor:pointer;line-height:1.4}
.bz-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent);margin-top:1px}
.bz-check.attn{color:#c62828;animation:bzShake .4s}
@keyframes bzShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
[data-bz][hidden]{display:none!important}
@media(max-width:900px){
.bz-modes{gap:.4rem}.bz-mode{padding:.6rem .5rem;font-size:.9rem}.bz-mode small{font-size:.7rem}
.bz-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
.bz-preview{top:var(--header-h,84px);z-index:20;background:#faf7f5;margin:0 -1rem;padding:.6rem 1rem .4rem;box-shadow:0 10px 18px -12px rgba(0,0,0,.3)}
.bz-own-info{position:static}
.bz-side-tabs:not([hidden]){display:flex;gap:.4rem;margin-bottom:.5rem}
.bz-side-tabs button{flex:1;border:1.5px solid var(--border);background:#fff;border-radius:999px;padding:.35rem;font:inherit;font-size:.8rem;font-weight:700;color:var(--text-light);cursor:pointer}
.bz-side-tabs button.active{border-color:var(--accent);color:var(--accent);background:#fff5f2}
.bz-preview[data-side="front"] .bz-card[data-side="back"],.bz-preview[data-side="back"] .bz-card[data-side="front"]{display:none}
.bz-card{margin:0 0 .4rem}.bz-card figcaption{display:none}
.bz-card canvas{max-width:330px;margin:0 auto;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.bz-warn{font-size:.78rem;padding:.4rem .6rem}
.bz-cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}
.bz-tpl-list{display:flex;overflow-x:auto;gap:.6rem;scroll-snap-type:x mandatory;padding:.25rem .1rem .5rem;scrollbar-width:thin}
.bz-tpl{flex:0 0 130px;scroll-snap-align:start}
.bz-right{padding:1.1rem;border-radius:18px}
.bz-fields{grid-template-columns:1fr}
}
/* Візитки: ламінат — три варіанти в ряд, також на телефоні */
.bizcard-options.bz-lam{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.bz-lam .bizcard-opt{padding:.65rem .35rem}
/* Оформлення: логотипи Telegram і Viber; обраний месенджер — у його фірмовому кольорі */
.co-radio-card .ico svg{display:block;margin:0 auto}
.co-msgr .lbl{font-size:.88rem}
.co-radio input[value="telegram"]:checked+.co-msgr{border-color:#229ED9;background:#eaf6fc}
.co-radio input[value="telegram"]:checked+.co-msgr .lbl{color:#1a7fb8}
.co-radio input[value="viber"]:checked+.co-msgr{border-color:#7360F2;background:#f1eefe}
.co-radio input[value="viber"]:checked+.co-msgr .lbl{color:#5b48d6}
.co-lbl-icon{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.co-lbl-icon[hidden]{display:none}
.co-lbl-icon .co-opt{margin-left:0}
.mi{flex:0 0 auto}

/* Фонове завантаження файлів: смужка в кошику й оформленні, позначка на позиції, крапка на значку кошика */
.uq-status{background:#f0f7ff;border:1.5px solid #cfe3fb;color:#1d4f8c;border-radius:12px;padding:.65rem .85rem;font-size:.82rem;font-weight:600;line-height:1.4;margin:.75rem 0}
.uq-status.err{background:#fdecea;border-color:#f5c2bd;color:#b3261e}
.uq-status button{margin-left:.35rem;border:0;background:#b3261e;color:#fff;border-radius:8px;padding:.3rem .7rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.uq-bar{height:6px;border-radius:99px;background:#dbe9fb;margin-top:.45rem;overflow:hidden}
.uq-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f80ed,#56a0ff);border-radius:99px;transition:width .3s}
#uqCheckout .uq-status{margin:0 0 .6rem}
.cart-up{font-size:.75rem;font-weight:700;color:#1d4f8c;margin:.15rem 0}
.cart-up.err{color:#b3261e}
.cart-icon.uploading::before{content:'';position:absolute;left:6px;bottom:6px;width:10px;height:10px;border-radius:50%;background:#2f80ed;box-shadow:0 0 0 2px #fff;animation:uqPulse 1.2s ease-in-out infinite}
@keyframes uqPulse{50%{opacity:.35;transform:scale(.8)}}
/* Підвал: Telegram та Instagram — кожен з нового рядка */
.ft-col-brand .tg-link{display:flex;width:max-content;margin-bottom:.5rem}
