:root{--motion-out:cubic-bezier(.22,1,.36,1);--motion-in:cubic-bezier(.4,0,.8,.3)}
html{scrollbar-gutter:stable}
.callback-drawer[open],.cart-drawer[open]{animation:panel-enter .65s var(--motion-out) both}
.callback-drawer[open].is-closing,.cart-drawer[open].is-closing{animation:panel-exit .42s cubic-bezier(.4,0,.6,1) both;pointer-events:none}
.callback-drawer[open]::backdrop,.cart-drawer[open]::backdrop,.review-lightbox[open]::backdrop{animation:veil-enter .55s ease both}
.callback-drawer.is-closing::backdrop,.cart-drawer.is-closing::backdrop,.review-lightbox.is-closing::backdrop{animation:veil-exit .42s ease both}
.review-lightbox[open]{animation:viewer-enter .5s var(--motion-out) both}
.review-lightbox[open].is-closing{animation:viewer-exit .42s ease both;pointer-events:none}
.contact-panel{animation:viewer-enter .5s var(--motion-out)}
.contact-panel.is-closing{animation:viewer-exit .35s ease both;pointer-events:none}
.promo-content,.benefit-card,.review-card,.film-card-product,.contacts-card{transition-timing-function:var(--motion-out);transition-duration:.55s}
.film-product-image img,.review-photo img{transition:transform .8s var(--motion-out)}
.premium-primary,.premium-secondary,.film-select,.promo-button,.callback-submit,.contact-launcher,.callback-close,.cart-drawer-close,.footer-socials a{transition:transform .4s var(--motion-out),background-color .3s ease,border-color .3s ease,box-shadow .4s ease,opacity .3s ease}
@keyframes panel-enter{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes panel-exit{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}
@keyframes veil-enter{from{opacity:0}to{opacity:1}}
@keyframes veil-exit{from{opacity:1}to{opacity:0}}
@keyframes viewer-enter{from{opacity:0;transform:translate3d(0,18px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes viewer-exit{from{opacity:1;transform:translate3d(0,0,0) scale(1)}to{opacity:0;transform:translate3d(0,12px,0) scale(.98)}}
@media(max-width:1280px){.main-nav{display:block;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .35s ease,transform .5s var(--motion-out),visibility .5s}.main-nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}}
@media(max-width:600px){.callback-drawer[open],.cart-drawer[open],.contact-panel{animation-name:sheet-enter}.callback-drawer[open].is-closing,.cart-drawer[open].is-closing,.contact-panel.is-closing{animation-name:sheet-exit}}
@keyframes sheet-enter{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}
@keyframes sheet-exit{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,100%,0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.floating-cart.cart-link{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(102px + env(safe-area-inset-bottom));z-index:89;display:grid;place-items:center;width:64px;height:64px;border:1px solid #88404e;border-radius:50%;background:#160d11;box-shadow:0 8px 24px #0005;color:#fff;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .45s var(--motion-out),visibility .3s}
.floating-cart.cart-link.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.floating-cart.cart-link svg{display:block;width:30px;height:30px}
.floating-cart .cart-count{position:absolute;right:-2px;top:-3px;background:#ed2445;color:white;border:1px solid #ff6880;border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:14px;padding:0 4px}
.cart-inline-status{font-size:14px;line-height:1.5;color:#e0c8cf}
@media(max-width:600px){.floating-cart.cart-link{right:max(16px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));width:58px;height:58px}}
/* Overscan keeps edges covered throughout the background's travel. */
.background-parallax{overflow:hidden}
.background-parallax>img{translate:0 var(--background-drift,0px);scale:1.16}
.background-parallax.background-in-view>img{will-change:translate}
@media(prefers-reduced-motion:reduce){.background-parallax>img{translate:none;scale:none;will-change:auto}}
.mobile-menu-heading,.mobile-menu-contacts,.mobile-menu-backdrop{display:none}
@media(max-width:1280px){
  html.mobile-menu-open{overflow:hidden}
  .mobile-menu-open .site-header{z-index:200}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;background:#000a;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;z-index:0}
  .mobile-menu-open .mobile-menu-backdrop{opacity:1;visibility:visible}
  .site-header .main-nav{position:fixed;inset:auto 0 0;z-index:1;width:100%;max-height:calc(100dvh - 60px - env(safe-area-inset-top));padding:22px 26px calc(26px + env(safe-area-inset-bottom));border:1px solid #60313f;border-bottom:0;border-radius:26px 26px 0 0;background:radial-gradient(ellipse at 100% 0,#42152255,transparent 55%),#100b0e;overflow-y:auto;overscroll-behavior:contain;transform:translate3d(0,100%,0);opacity:1;visibility:hidden;transition:transform .55s var(--motion-out),visibility .55s;box-shadow:0 -20px 65px #0007}
  .site-header .main-nav.open{transform:translate3d(0,0,0);visibility:visible}
  .mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;color:#d4a8b4;font-size:14px;letter-spacing:.1em}
  .mobile-menu-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #653340;border-radius:50%;background:#25131c;color:#fff;cursor:pointer}
  .mobile-menu-close svg{width:24px;height:24px}
  .site-header .primary-menu>li>a{font-size:18px;padding:16px 0}
  .site-header .mobile-quote{margin-top:20px;min-height:54px}
  .mobile-menu-contacts{display:grid;gap:8px;border-top:1px solid #402730;margin-top:24px;padding-top:20px}
  .mobile-menu-contacts>span{color:#ac8593;font-size:14px;letter-spacing:.12em;margin-bottom:4px}
  .site-header .mobile-menu-contacts>a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere;color:#eee1e7}
  .mobile-menu-contacts svg{width:22px;height:22px;color:#fb506e;flex-shrink:0}
}
.woocommerce-cart-form.cart-auto-enabled [name="update_cart"]{display:none!important}
.cart-auto-status{font-size:14px;line-height:1.5;color:#cfb4bf;margin:14px 0;min-height:21px}
.woocommerce-cart-form[aria-busy=true] .product-subtotal,.woocommerce-cart-form[aria-busy=true]~.cart-collaterals{opacity:.65;transition:opacity .2s}
.woocommerce-cart-form[aria-busy=true] .quantity{cursor:progress}
.header-call{position:relative;order:2;flex-shrink:0}.header-actions>.cart-link{order:3}.header-call-toggle{display:grid;place-items:center;width:46px;height:46px;border:1px solid #65313e;border-radius:50%;color:#fff;background:#1b0d13;transition:background .25s,border-color .25s}.header-call-toggle:hover,.header-call-toggle[aria-expanded=true]{background:#6d172a;border-color:#f13c5b}.header-call-toggle svg{width:23px;height:23px}.header-call-details{position:absolute;top:calc(100% + 16px);right:0;width:max-content;max-width:calc(100vw - 32px);padding:20px 24px;border:1px solid #6d3042;border-radius:16px;background:#150d12;box-shadow:0 18px 45px #0008;z-index:40;animation:viewer-enter .3s var(--motion-out)}.header-call-details[hidden]{display:none}.header-call-details span{display:block;font-size:14px;letter-spacing:.1em;color:#db8fa2;margin-bottom:8px}.header-call-details a{display:block;font-size:20px;font-weight:600;white-space:nowrap;color:#fff}.header-call-toggle:focus-visible{outline:2px solid #ff718c;outline-offset:4px}
@media(max-width:1280px){.site-header .header-actions{gap:10px}.header-call-toggle{width:44px;height:44px}}
@media(max-width:400px){.site-header .header-actions{gap:4px}.header-call-toggle{width:40px;height:44px;border-color:transparent;background:transparent}.site-header .header-actions>.cart-link{width:40px}.site-header .custom-logo{width:104px}}

/* SVG notice icons are identical on mobile and desktop. */
.woocommerce-message::before{content:""!important;display:block;width:22px;height:22px;font-family:inherit!important;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m7%2012%203%203%207-7%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m7%2012%203%203%207-7%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.woocommerce-info::before{content:""!important;display:block;width:22px;height:22px;font-family:inherit!important;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%2011v6m0-10v1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%2011v6m0-10v1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.woocommerce-error::before{content:""!important;display:block;width:22px;height:22px;font-family:inherit!important;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%2010%2018H2L12%203Z%22%2F%3E%3Cpath%20d%3D%22M12%209v5m0%203v1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%2010%2018H2L12%203Z%22%2F%3E%3Cpath%20d%3D%22M12%209v5m0%203v1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.woocommerce a.remove{display:inline-flex!important;align-items:center;justify-content:center;min-width:32px;min-height:32px}.woocommerce a.remove svg{display:block;flex-shrink:0;width:22px;height:22px}
.footer-payments .payment-badge.payment-logo{display:grid;place-items:center;background:transparent;border:0;box-shadow:none;padding:0;min-width:0;width:76px;height:48px;border-radius:6px;overflow:hidden}
.footer-payments .payment-logo img{display:block;width:76px;height:48px;object-fit:contain}
.footer-payments .payment-logo:before,.footer-payments .payment-logo:after{display:none}
@media(max-width:600px){.footer-payments{gap:8px;flex-wrap:wrap}.footer-payments .payment-badge.payment-logo,.footer-payments .payment-logo img{width:64px;height:41px}}

/* Quiet, periodic invitation to contact the team. */
.contact-launcher{isolation:isolate}
.contact-launcher::after{content:"";position:absolute;inset:-1px;border:1px solid #ff607d;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;animation:contact-ring 6s ease-out 1.5s infinite}
.contact-launcher>svg{transform-origin:50% 60%;animation:contact-wave 6s cubic-bezier(.22,1,.36,1) 1.5s infinite}
.contact-launcher:hover>svg,.contact-launcher:focus-visible>svg,.contact-launcher[aria-expanded=true]>svg{animation:none;transform:none}
.contact-launcher:hover::after,.contact-launcher:focus-visible::after,.contact-launcher[aria-expanded=true]::after{animation:none;opacity:0}
@keyframes contact-ring{0%,40%,100%{opacity:0;transform:scale(1)}4%{opacity:.5;transform:scale(1)}28%{opacity:0;transform:scale(1.42)}}
@keyframes contact-wave{0%,30%,100%{transform:rotate(0)}5%{transform:rotate(-9deg)}10%{transform:rotate(8deg)}15%{transform:rotate(-5deg)}20%{transform:rotate(3deg)}25%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.contact-launcher::after,.contact-launcher>svg{animation:none!important}.contact-launcher::after{display:none}}
.review-lightbox[aria-busy=true] .lightbox-count::after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border:2px solid #ffffff35;border-top-color:#ff4568;border-radius:50%;vertical-align:middle;animation:photo-loading .7s linear infinite}
@keyframes photo-loading{to{transform:rotate(360deg)}}

/* Compact cart drawer, including the embedded WordPress document. */
html:has(>body.tint-drawer-document){margin-top:0!important}
.cart-drawer .cart-drawer-heading{padding:12px 20px;gap:14px}
.cart-drawer .cart-drawer-heading h2{font-size:24px;margin:2px 0 0;line-height:1.1}
.cart-drawer .cart-drawer-heading span{font-size:14px;letter-spacing:1px}
.cart-drawer .cart-drawer-full{padding:9px 20px calc(9px + env(safe-area-inset-bottom));font-size:14px}
.tint-drawer-document .drawer-checkout-content{padding:14px 18px}
.tint-drawer-document .drawer-steps{gap:12px;min-height:28px;margin:0;font-size:14px}
.tint-drawer-document .drawer-checkout-content>h1{font-size:26px;line-height:1.15;margin:12px 0 16px}
.tint-drawer-document .woocommerce table.shop_table{margin-bottom:14px}
.tint-drawer-document .woocommerce table.shop_table td,.tint-drawer-document .woocommerce table.shop_table th{padding:10px 12px;font-size:16px;line-height:1.45}
.tint-drawer-document .woocommerce table.shop_table td.product-remove{padding-block:6px}
.tint-drawer-document .woocommerce .product-name dl.variation{margin:8px 0 0;font-size:14px}
.tint-drawer-document .woocommerce .product-name dl.variation dt,.tint-drawer-document .woocommerce .product-name dl.variation dd{margin-bottom:4px;padding:0}
.tint-drawer-document .woocommerce .product-name dl.variation dd p{margin:0}
.tint-drawer-document .woocommerce .quantity.tint-quantity,.tint-drawer-document .woocommerce .quantity.tint-quantity .qty,.tint-drawer-document .woocommerce .quantity.tint-quantity .quantity-step{min-height:44px;height:44px}
.tint-drawer-document .woocommerce .quantity.tint-quantity .quantity-step{width:38px}
.tint-drawer-document .woocommerce .quantity.tint-quantity .qty{width:44px;font-size:16px}
.tint-drawer-document .cart-collaterals{margin-top:16px}
.tint-drawer-document .cart_totals h2{font-size:24px;margin:0 0 12px}
.tint-drawer-document .cart-auto-status{margin:6px 0;min-height:0;font-size:14px}
.tint-drawer-document .cart-auto-status:empty{display:none}
.tint-drawer-document .cart-auto-enabled td.actions:has(>[name="update_cart"]){padding:0;border:0}
.tint-drawer-document .woocommerce .wc-proceed-to-checkout{padding:8px 0}
.tint-drawer-document .woocommerce .wc-proceed-to-checkout a.checkout-button{min-height:54px!important;padding:14px 20px!important;margin-bottom:8px;font-size:16px!important}
@media(max-width:480px){.tint-drawer-document .drawer-checkout-content{padding:12px 14px}.cart-drawer .cart-drawer-heading{padding:10px 16px}.cart-drawer .cart-drawer-heading h2{font-size:22px}}

/* Emphasize the final cart total without enlarging every line item. */
.woocommerce-cart .cart_totals .order-total th,
.tint-drawer-document .cart_totals .order-total th{font-size:18px;font-weight:700;vertical-align:middle}
.woocommerce-cart .cart_totals .order-total td,
.tint-drawer-document .cart_totals .order-total td{padding-block:16px;font-weight:800;color:#fff}
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.tint-drawer-document .cart_totals .order-total td .woocommerce-Price-amount{font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.woocommerce-cart .cart_totals .order-total td small,
.tint-drawer-document .cart_totals .order-total td small{display:block;margin-top:6px;font-size:14px;font-weight:400;color:#bcaab4}
.woocommerce-cart .cart_totals .order-total td small .woocommerce-Price-amount,
.tint-drawer-document .cart_totals .order-total td small .woocommerce-Price-amount{font-size:14px;font-weight:400;letter-spacing:0}

/* Full-width mobile product quantity control aligned with the purchase button. */
@media(max-width:700px){
  .woocommerce div.product.noir-product form.cart div.quantity.tint-quantity{display:flex;width:100%;max-width:none;margin:0 0 14px;min-height:56px}
  .woocommerce div.product.noir-product form.cart div.quantity.tint-quantity .quantity-step,
  .woocommerce div.product.noir-product form.cart div.quantity.tint-quantity .qty{flex:1 1 0;width:0;min-width:0;height:56px;min-height:56px}
  .woocommerce div.product.noir-product form.cart div.quantity.tint-quantity .qty{font-size:22px;font-weight:700}
}
