/* СОБРАНО — Studio V4. Non-disruptive finishing layer, responsive at 320–1440px. */
:root{--studio-cream:#f7efe3;--studio-olive:#151913;--studio-gold:#e7c48b;--studio-accent:#bf9555}
html{scroll-behavior:smooth}body{overflow-x:clip}
/* Navigation is immediate; do not hide the entire page while quantities change. */
.route-shell,.route-shell.is-entering,.route-shell.is-entered,.page-ready .route-shell{opacity:1!important;transform:none!important;transition:none!important}
.page-transition{display:none!important}
.route-shell .reveal,.route-shell .reveal.is-visible{opacity:1!important;filter:none!important;transform:none!important;visibility:visible!important;transition:box-shadow .25s ease,border-color .25s ease!important}
/* Individual cards can enter gently, but no parent or container may disappear. */
.studio-compact-card{animation:studio-rise .46s cubic-bezier(.2,.7,.23,1) both;will-change:auto}
.studio-compact-card:nth-child(2){animation-delay:50ms}.studio-compact-card:nth-child(3){animation-delay:90ms}.studio-compact-card:nth-child(4){animation-delay:130ms}
@keyframes studio-rise{from{opacity:.8;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes studio-tap{0%{box-shadow:0 0 0 0 rgba(231,196,139,.35)}55%{box-shadow:0 0 0 8px rgba(231,196,139,0)}100%{box-shadow:0 0 0 0 rgba(231,196,139,0)}}
.studio-added{animation:studio-tap .5s ease-out!important}
/* Compact balanced product catalog with no internal scrollbars. */
.route-shell .product-grid{gap:clamp(13px,1.6vw,19px);align-items:stretch}
.route-shell .studio-compact-card{display:flex;flex-direction:column;border-radius:15px;overflow:hidden;min-width:0;box-shadow:0 14px 30px rgba(0,0,0,.16);transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.route-shell .studio-compact-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(0,0,0,.25);border-color:#b9a071}
.route-shell .studio-compact-card .photo{height:auto;aspect-ratio:1.48;min-height:0;overflow:hidden}
.route-shell .studio-compact-card .photo>a{display:block;width:100%;height:100%}
.route-shell .studio-compact-card .photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.route-shell .studio-compact-card:hover .photo img{transform:scale(1.035)}
.route-shell .studio-compact-card .body{padding:15px 17px 16px;min-height:0!important;height:auto!important;display:flex;flex-direction:column;flex:1;gap:0}
.route-shell .studio-compact-card .body>a{text-decoration:none}
.route-shell .studio-compact-card h3{font:400 clamp(18px,1.55vw,22px)/1.2 var(--serif);min-height:0!important;margin:0;color:#25261e;max-height:none!important;overflow:visible!important;overflow-wrap:anywhere;hyphens:auto}
.route-shell .studio-compact-card .desc{color:#777268;font-size:11px;line-height:1.55;margin:8px 0 0;min-height:0;max-height:none!important;overflow:visible!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden!important}
.route-shell .studio-compact-card .product-meta{margin:10px 0 6px;font-size:10px;min-height:14px}
.route-shell .studio-compact-card .product-bottom{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:9px;border-top:1px solid rgba(70,64,49,.09)}
.route-shell .studio-compact-card .product-price{font-size:clamp(17px,1.8vw,23px);white-space:normal}
.route-shell .studio-compact-card .product-bottom .btn{padding:9px 13px;min-height:35px;min-width:0;white-space:nowrap;font-size:9px;letter-spacing:.02em;gap:5px}
/* Product images are visually full-bleed, naturally proportioned, and NEVER padded in a square frame. */
.atelier-product-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(20px,3vw,45px);align-items:start}
.atelier-main-photo{height:auto!important;max-height:none!important;aspect-ratio:auto!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.atelier-main-photo .atelier-zoom{height:auto;display:block;width:100%;overflow:hidden;border-radius:10px}
.atelier-main-photo .atelier-zoom>img{height:auto!important;width:100%!important;max-height:480px;display:block;aspect-ratio:auto!important;object-fit:contain!important;background:transparent}
.atelier-main-photo .concept-note{bottom:16px}
.atelier-thumbs .gallery-thumb{width:74px;height:67px;border:1px solid rgba(212,172,109,.25);border-radius:8px;transition:transform .22s ease,border-color .22s ease}
.atelier-thumbs .gallery-thumb:hover{transform:translateY(-2px)}
.atelier-gallery-hint{margin-top:3px}
.atelier-product-side h1{font-size:clamp(35px,4vw,58px);line-height:1.1}
.atelier-specs{margin:18px 0;padding:13px 0}
.atelier-personal-panel{margin:18px 0 14px;padding:17px 19px}
.atelier-personal-panel h2{font-size:24px}
.atelier-quick-button{display:none!important}
/* Unframed edge-to-edge fullscreen photo viewer, minimal controls and discrete thumbs. */
#atelierOverlay.open:has(.atelier-lightbox){background:#080908}
.atelier-lightbox{position:fixed!important;inset:0!important;transform:none!important;display:flex!important;flex-direction:column!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:#080908!important;overflow:hidden!important;animation:studio-gallery-in .25s ease-out!important}
@keyframes studio-gallery-in{from{opacity:.7}to{opacity:1}}
.atelier-lightbox .atelier-modal-top{background:linear-gradient(#090a08e8,#090a08bb)!important;border:0!important;min-height:49px!important;padding:9px 22px!important;flex-shrink:0!important}
.atelier-lightbox .atelier-close{background:rgba(255,255,255,.11)!important;border:0!important;color:#fff!important}
.atelier-lightbox-main{position:relative;flex:1;min-height:0!important;height:auto!important;display:flex!important;align-items:center;justify-content:center;padding:2px 5vw!important;margin:0!important}
.atelier-lightbox-main>img{display:block!important;object-fit:contain!important;width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;min-width:0!important;object-position:center center}
.atelier-lightbox-arrow{position:absolute;z-index:2;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px!important;height:45px!important;border:0!important;border-radius:8px!important;background:rgba(16,17,13,.55)!important;color:#fff!important;transition:background .2s ease}
.atelier-lightbox-arrow:last-child{left:auto;right:12px}.atelier-lightbox-arrow:hover{background:rgba(54,46,31,.8)!important}
.atelier-lightbox-bottom{flex-shrink:0;padding:7px 23px 1px;font-size:11px;background:#080908}
.atelier-lightbox-thumbs{flex-shrink:0;justify-content:center;overflow-x:auto;padding:8px 12px calc(12px + env(safe-area-inset-bottom));gap:7px;background:#080908}
.atelier-lightbox-thumbs button{width:53px;flex:0 0 53px;height:46px;border:1px solid transparent;background:transparent;border-radius:5px}
.atelier-lightbox-thumbs button.active{border-color:#ebc88b}.atelier-lightbox-thumbs img{border-radius:4px}
/* Stable cart drawer + no secondary route/action. */
.atelier-cart-dialog{box-shadow:-20px 0 75px #000b;border-left:1px solid rgba(225,195,144,.28)}
.atelier-drawer-item{transition:background .2s ease}
.atelier-drawer-footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.atelier-drawer-footer .btn{font-size:13px!important;letter-spacing:.02em}
/* Cart and checkout content: one continuous purchase path, without competing popups. */
.route-shell .cart-layout{gap:22px;grid-template-columns:minmax(0,1fr) minmax(275px,340px);align-items:start}
.route-shell .cart-item{grid-template-columns:110px minmax(0,1fr) auto;padding:14px;gap:15px;align-items:start;min-width:0}
.route-shell .cart-item>img{width:110px;height:100px;object-fit:cover;border-radius:10px}
.route-shell .cart-item h3{font-size:clamp(18px,2vw,23px);overflow-wrap:anywhere}
.route-shell .cart-item .side .product-price{font-size:18px}
.route-shell .cart-item .side{gap:12px}
.route-shell .summary-panel{top:100px;border-radius:15px;box-shadow:0 16px 35px #0002}
.route-shell .summary-panel .btn{font-size:12px;letter-spacing:0}
.route-shell .checkout-layout{align-items:start;gap:22px}
.route-shell .form-panel{border-radius:16px}
.route-shell .cart-item .quantity button,.atelier-drawer-controls button{transition:background .15s ease,transform .15s ease}
.route-shell .cart-item .quantity button:active,.atelier-drawer-controls button:active{transform:scale(.93)}
/* General tactile micro-interactions, restrained and performance-friendly. */
.btn-gold,.luxury-order,.atelier-edit-options,.category-card,.lux-product-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
.btn-gold:hover,.luxury-order:hover{transform:translateY(-2px);box-shadow:0 9px 25px #c69c5250}
.btn-gold:active,.atelier-edit-options:active{transform:translateY(0) scale(.985)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #eac58a!important;outline-offset:3px}
@media(max-width:1050px){.route-shell .product-grid{gap:14px}.atelier-product-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.atelier-main-photo .atelier-zoom>img{max-height:410px}}
@media(max-width:980px){.route-shell .cart-layout{grid-template-columns:1fr}.route-shell .summary-panel{position:static}.route-shell .studio-compact-card .photo{aspect-ratio:1.3}}
@media(max-width:780px){.atelier-product-grid{grid-template-columns:1fr}.atelier-main-photo .atelier-zoom>img{max-height:none}.route-shell .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.route-shell .studio-compact-card .photo{aspect-ratio:1.4}}
@media(max-width:560px){.route-shell .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.route-shell .studio-compact-card .photo{aspect-ratio:1.1}.route-shell .studio-compact-card .body{padding:10px 10px 12px}.route-shell .studio-compact-card h3{font-size:17px}.route-shell .studio-compact-card .desc{font-size:10px;-webkit-line-clamp:2}.route-shell .studio-compact-card .product-price{font-size:16px}.route-shell .studio-compact-card .product-bottom{align-items:stretch;flex-direction:column;gap:6px}.route-shell .studio-compact-card .product-bottom .btn{width:100%;justify-content:center}.atelier-main-photo{border-radius:0!important}.atelier-main-photo .atelier-zoom{border-radius:0!important}.atelier-product-page .atelier-gallery-column{margin:0 -10px}.atelier-lightbox-main{padding:0 9px!important}.atelier-lightbox-arrow{width:30px!important;height:40px!important;left:2px}.atelier-lightbox-arrow:last-child{right:2px}.atelier-lightbox-thumbs button{width:42px;flex-basis:42px;height:37px}.atelier-lightbox-bottom{font-size:10px;padding:6px 12px 0}.atelier-lightbox .atelier-modal-top{padding:8px 12px!important}.route-shell .cart-item{grid-template-columns:73px minmax(0,1fr);gap:9px}.route-shell .cart-item>img{width:73px;height:80px}.route-shell .cart-item .side{grid-column:2;align-items:flex-start;flex-direction:row;justify-content:space-between}.route-shell .cart-item .side .product-price{font-size:16px;align-self:center}.route-shell .cart-item .side .cart-remove{order:2}.route-shell .cart-item h3{font-size:16px}.route-shell .summary-panel{padding:18px}.route-shell .page-head{padding-top:24px}.atelier-product-route .floating-contacts{bottom:calc(75px + env(safe-area-inset-bottom))!important}}
@media(max-width:350px){.route-shell .studio-compact-card .photo{aspect-ratio:1.05}.route-shell .studio-compact-card .body{padding:9px}.route-shell .studio-compact-card h3{font-size:15px}.route-shell .studio-compact-card .product-bottom .btn{font-size:8px;padding:7px 5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.studio-compact-card,.studio-added,.atelier-lightbox{animation:none!important}.btn-gold,.luxury-order,.atelier-edit-options,.category-card,.lux-product-card,.studio-compact-card,.studio-compact-card img{transition:none!important}}

/* Never cover order forms, purchase CTAs or product personalization with floating controls. */
.studio-purchase-route .floating-contacts,.atelier-product-route .floating-contacts{display:none!important}

.studio-catalog-route .floating-contacts{display:none!important}
.studio-purchase-route .mobile-bottom{display:none!important}
.studio-purchase-route .route-shell .page-head{padding-bottom:12px!important}
.studio-purchase-route .route-shell .section-sm{padding-top:8px!important}
@media(max-width:780px){.floating-contacts{display:none!important}}
