/* Requested round surfaces, local pictograms and smooth, native interactions. */
#app{--radius-sm:16px;--radius-md:24px;--radius-lg:32px;--radius-xl:44px;--lb-ease:cubic-bezier(.22,1,.36,1)}
#app :is(.hero-grid,.callback-banner,.custom-request-box,.slider-card,.video-card){border-radius:54px}
#app :is(.product-image-wrap,.main-image-wrap,.cat-image-box,.photo-card){border-radius:32px}
#app :is(.contact-info-card,.contact-form-card,.calc-card,.calc-box,.cart-summary-card,.summary-card,.checkout-card,.details-card,.info-content-card,.info-box,.info-card,.delivery-progress-card,.empty-cart-card,.empty-state,.step-card,.notice-card,.promo-box,.price-card,.size-card,.cart-item-card,.seo-card){border-radius:36px}
#app .catalog-toolbar{border-radius:30px}
#app :is(.form-input,.catalog-search-input,.sort-select){border-radius:22px}
#app :is(.btn,.product-card .add-cart-btn,.product-card .quick-buy-btn,.tab-btn,.occ-tab-btn,.filter-pill,.type-tab-btn,.method-btn,.msg-link,.header-cart-btn,.lb-contact-toggle){border-radius:999px}
#app .product-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#app .product-card .add-cart-btn,#app .modal-cart-btn{background:#2b2f33;color:#fff;box-shadow:none}
#app .product-card .add-cart-btn:hover,#app .modal-cart-btn:hover{background:#454950;color:#fff;box-shadow:0 8px 24px #2b2f331a}
#app .product-card .quick-buy-btn{width:100%;min-height:46px;font-size:15px;background:#f4f3f5;color:#42414a;white-space:normal}
#app .product-card .add-cart-btn{min-height:52px}
#app .modal-content{border-radius:36px}
#app .qty-selector,#app .item-qty-controls{border-radius:999px}
#app .lb-video-switch{border-radius:999px}
#app .app-footer{border-radius:44px 44px 0 0}
#app .footer-logo-img{width:88px;height:88px;object-fit:contain;border-radius:50%;background:transparent;padding:0;border:0;box-shadow:none;outline:0}
#app .footer-socials .social-btn,#app .footer-socials .social-btn:hover{background:transparent;box-shadow:none;border:0;padding:0;color:#ffacd3}

/* A unified rounded mega menu; links, names and handlers are preserved. */
#app .header-inner{position:relative}
#app .nav-dropdown-wrapper{position:static}
#app .catalog-dropdown{left:50%;top:calc(100% - 2px);width:min(940px,calc(100vw - 64px));max-width:none;transform:translateX(-50%);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,1.15fr);gap:20px;padding:26px;border:0;border-radius:36px;background:#fff;box-shadow:0 20px 70px #3b20351f;animation:lbMegaIn .55s var(--lb-ease)}
#app .dropdown-menu.client-dropdown{left:42%;top:calc(100% - 2px);width:310px;padding:16px;border-radius:30px;border:0;box-shadow:0 20px 70px #3b20351f;animation:lbMenuIn .5s var(--lb-ease)}
#app .dropdown-main-link{border-radius:20px;min-height:52px;display:flex;align-items:center;gap:10px}
#app .dropdown-item{display:flex;align-items:center;gap:10px;min-height:46px;border-radius:18px;font-size:15px}
#app .dropdown-section-title{font-size:13px;color:#79707c;margin:8px 0 6px;padding-left:12px}
#app .dropdown-column-special{border-radius:28px;background:#fff3f9;padding:12px;border:0}
#app .special-links{gap:10px}
#app .dropdown-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#app .nav-dropdown-wrapper.lb-menu-open .catalog-dropdown{display:grid!important}
#app .nav-dropdown-wrapper.lb-menu-open .client-dropdown{display:flex!important}
#app .dropdown-special-link{padding:15px 14px;min-height:78px;border-radius:22px;border:0;background:#fff;box-shadow:none;gap:12px}
#app .dropdown-special-link:hover{background:#ffe8f3;transform:translateY(-2px);box-shadow:none}
#app .special-link-title{font-size:15px;font-weight:600;white-space:normal;line-height:1.4}
#app .special-link-sub{font-size:13px;white-space:normal;line-height:1.4;color:#78717a}
#app .special-link-badge.lb-symbol-badge,#app .cat-badge.lb-symbol-badge{width:44px;height:44px;min-width:44px;border:0;border-radius:50%;padding:9px;display:inline-flex;align-items:center;justify-content:center;background:#fff1f8;color:#a54576;box-shadow:none;font-size:0;flex-shrink:0}
#app .cat-badge.lb-symbol-badge{position:absolute;top:12px;right:12px;margin:0;background:#fffffff0}
#app .lb-icon{width:24px;height:24px;flex:0 0 auto;display:inline-block;vertical-align:middle;color:inherit;pointer-events:none}
#app .lb-symbol-badge .lb-icon{width:26px;height:26px}
#app .dropdown-item>.lb-icon,#app .mobile-sub-item>.lb-icon{width:22px;height:22px;color:#a54576}
#app .lb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app .mobile-drawer{top:84px;left:12px;width:calc(100% - 24px);height:calc(100dvh - 96px);border-radius:32px;background:#fff8fb;box-shadow:0 18px 60px #3b203524;border:0;animation:lbMenuIn .55s var(--lb-ease);scrollbar-width:thin}
#app .mobile-drawer-content{padding:24px 18px 36px;gap:18px}
#app .mobile-phone-block{border-radius:26px;background:#fff;border:0;padding:22px 16px}
#app .mobile-nav-item{border-radius:22px;background:#fff;min-height:54px;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}
#app .mobile-nav-item.primary{background:#ffe4f1;color:#813158}
#app .mobile-sub-item{border:0;background:#fff;min-height:52px;border-radius:20px;margin-bottom:6px;padding:13px 16px;gap:12px;font-size:15px;display:flex;align-items:center}
#app .mobile-section-heading{font-size:13px;text-transform:none;letter-spacing:0;color:#82717c;margin-block:12px 8px}
#app .mobile-special-links{padding:10px;border:0;border-radius:30px;background:#ffeef7;gap:10px}
#app .mobile-special-card{min-height:86px;border-radius:24px;padding:16px;background:#fff;border:0;box-shadow:none;gap:10px}
#app .mobile-special-card.special-constructor{border:0;background:#fff}

/* Transform/opacity motion stays off the scroll input and layout calculations. */
html{scroll-behavior:smooth}
#app :is(.btn,.product-card,.category-card,.product-img,.cat-icon-img,.nav-link,.dropdown-item,.dropdown-special-link,.mobile-nav-item,.mobile-sub-item,.mobile-special-card,.tab-btn,.filter-pill,.social-btn,.lb-icon){transition:transform .65s var(--lb-ease),background-color .35s ease,color .35s ease,box-shadow .5s var(--lb-ease)}
#app .product-img,#app .cat-icon-img{transition:transform 1.1s var(--lb-ease)}
#app .product-card:hover .product-img{transform:scale(1.045)}
#app .category-card:hover .cat-icon-img{transform:scale(1.045)}
#app .btn:hover{transform:translateY(-2px)}
#app .btn:active{transform:translateY(0) scale(.98);transition-duration:.15s}
#app .dropdown-item:hover{transform:translateX(3px)}
#app :is(.mobile-special-card,.dropdown-special-link,.category-card):hover .lb-symbol-badge .lb-icon{transform:translateY(-2px) rotate(-5deg)}
#app .modal-content{animation:lbDialogIn .6s var(--lb-ease)}
#app .modal-overlay{animation:lbFadeIn .35s ease}
#app .lb-contact-open .dock-item{animation:lbMenuIn .45s var(--lb-ease) both}
#app .lb-contact-open .dock-item:nth-child(2){animation-delay:35ms}
#app .lb-contact-open .dock-item:nth-child(3){animation-delay:70ms}
#app .faq-answer{animation:lbMenuIn .5s var(--lb-ease)}
@keyframes lbMegaIn{from{opacity:0;transform:translate(-50%,12px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes lbMenuIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes lbDialogIn{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lbFadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
 #app :is(.hero-grid,.callback-banner,.custom-request-box){border-radius:40px}
 #app :is(.product-image-wrap,.main-image-wrap,.cat-image-box,.photo-card){border-radius:26px}
 #app :is(.contact-info-card,.contact-form-card,.calc-card,.calc-box,.cart-summary-card,.summary-card,.checkout-card,.details-card,.info-content-card,.info-box,.info-card,.delivery-progress-card,.empty-cart-card,.empty-state,.step-card,.notice-card,.promo-box,.price-card,.size-card,.cart-item-card){border-radius:30px}
 #app .hero-media-card{border-radius:26px}
 #app .modal-content{border-radius:32px}
 #app .catalog-toolbar{border-radius:28px}
 #app .product-card .quick-buy-btn{font-size:14px}
 #app .app-footer{border-radius:36px 36px 0 0}
 #app .lb-contact-dock.lb-mobile-menu-active{visibility:hidden;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 #app *,#app *::before,#app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 #app .catalog-dropdown{transform:translateX(-50%)}
 #app :is(.product-img,.cat-icon-img,.btn,.lb-icon){transform:none!important}
}

#app .lb-step-symbol .lb-icon{width:44px;height:44px;color:#a54576}
