/* Shared interaction timing. Layout and content remain owned by each component. */
:root{--frige-ui-fast:150ms;--frige-ui-normal:260ms;--frige-ui-slow:380ms;--frige-ui-ease:cubic-bezier(.22,1,.36,1)}
html{scrollbar-gutter:stable}
body.frige-modal-open{overflow:hidden}
.frige-ui-action{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color var(--frige-ui-normal) ease,color var(--frige-ui-fast) ease,border-color var(--frige-ui-normal) ease,box-shadow var(--frige-ui-normal) ease,opacity var(--frige-ui-fast) ease,transform var(--frige-ui-normal) var(--frige-ui-ease),scale var(--frige-ui-fast) var(--frige-ui-ease),translate var(--frige-ui-normal) var(--frige-ui-ease)!important}
.frige-ui-action:not(:disabled):not([aria-disabled="true"]):active,.frige-ui-action.frige-ui-pressed{scale:.975}
.frige-ui-action:focus-visible{outline:3px solid #28a79c!important;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 .frige-ui-action.frige-ui-button:not(:disabled):hover{translate:0 -2px;box-shadow:0 6px 18px #087d801a}
 .frige-ui-card{transition:translate var(--frige-ui-slow) var(--frige-ui-ease),box-shadow var(--frige-ui-slow) ease,border-color var(--frige-ui-normal) ease!important}
 .frige-ui-card:hover{translate:0 -3px;box-shadow:0 12px 30px #103b4010}
 .frige-ui-card img{transition:scale .5s var(--frige-ui-ease)}
 .frige-ui-card:hover img{scale:1.025}
}
.frige-ui-card img{transform-origin:center}
.e-con.frige-ui-card{border-radius:16px}
.frige-ui-text-link{transition:color var(--frige-ui-fast) ease,text-decoration-color var(--frige-ui-normal) ease; text-decoration-thickness:1px;text-underline-offset:4px}
.frige-ui-text-link:hover{text-decoration:underline;text-decoration-color:#83bdb2}
.frige-ui-action[data-ui-pending]{opacity:.65;cursor:progress}
.frige-ui-field{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important;border-radius:9px!important}
.frige-ui-field:focus{outline:0!important;border-color:#168f89!important;box-shadow:0 0 0 3px #149b931a!important}
.frige-ui-field:user-invalid{border-color:#bb6058!important;box-shadow:0 0 0 3px #bb605811!important}
form :is(button[type="submit"],button:not([type])){position:relative;padding-inline:36px!important}
form[aria-busy="true"] :is(button[type="submit"],button:not([type])){cursor:progress}
form[aria-busy="true"] :is(button[type="submit"],button:not([type]))::after{content:'';position:absolute;right:13px;top:calc(50% - 7px);width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:frige-ui-spin .7s linear infinite}
:is(.frige-form-status,.reference-result){transition:background-color .2s ease,border-color .2s ease}
.frige-form-status:not(:empty),.reference-result:not(:empty){padding:13px 16px;border:1px solid #dce9e3;border-radius:10px;background:#f3f8f5;color:#335d5c;font:400 13px/1.7 Arial,sans-serif}
form[data-ui-state="error"] :is(.frige-form-status,.reference-result){background:#fff7f5;border-color:#ecd4ce;color:#8b4a43}
form[data-ui-state="success"] :is(.frige-form-status,.reference-result){border-color:#b8d8ca;background:#eef8f1}
.frige-dialog{border-radius:22px!important;box-shadow:0 28px 100px #102d4040!important;overscroll-behavior:contain}
.frige-dialog::backdrop{background:#102d407d;backdrop-filter:blur(4px);animation:frige-ui-backdrop-in .26s ease both}
.frige-dialog[data-closing]::backdrop{animation:frige-ui-backdrop-out .18s ease both}
.frige-dialog[data-closing]{pointer-events:none}
.frige-dialog-close{border-radius:50%!important;transition:background-color .2s ease,scale .15s ease!important}
.frige-dialog-close:hover{background:#edf5f1!important}
.frige-dialog-close:active{scale:.92}
.frige-quote-dialog>.elementor-location-popup{border-radius:inherit;overflow:clip}
.frige-dialog .dialog-widget-content{box-shadow:none!important}
.frige-motion-bounce,.frige-motion-headShake{animation-name:frige-ui-enter!important;animation-duration:.56s!important;animation-delay:0ms!important;animation-timing-function:var(--frige-ui-ease)!important}
.frige-module-reveal{translate:0 12px;transition:opacity .5s ease,translate .6s var(--frige-ui-ease)}
.frige-module-reveal.frige-module-visible{translate:0 0}
.e-n-tab-title,.frige-submenu-toggle{border-radius:10px!important}
/* Keep home product categories in a stable slot at every responsive width.
   Inactive panels retain layout only; visibility, hidden and inert exclude them
   from interaction and the accessibility tree. No height animation is needed. */
body[data-local-path="/"] .e-n-tabs-content{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-items:start;isolation:isolate;overflow:clip}
body[data-local-path="/"] .e-n-tabs-content>[role="tabpanel"]{display:flex!important;grid-area:1 / 1;align-self:start;min-width:0;visibility:hidden;pointer-events:none}
body[data-local-path="/"] .e-n-tabs-content>[role="tabpanel"].e-active:not([hidden]){visibility:visible;pointer-events:auto}
body[data-local-path="/"] .e-n-tabs-heading .e-n-tab-title{border:1px solid #087d80!important;margin:0!important}
@media(max-width:1024px){body[data-local-path="/"] .e-n-tabs-heading .e-n-tab-title{height:70px!important}}
@media(min-width:901px){body[data-local-path="/"] .e-n-tabs-content .elementor-widget-image img{height:clamp(220px,22vw,300px)!important;max-height:none!important;object-fit:contain!important}}
/* Give the opening image and copy more vertical breathing room. */
@media(min-width:901px){.elementor .frige-home-hero{min-height:clamp(640px,calc(100svh - 160px),800px)!important;padding-block:80px!important}}
@media(max-width:900px){.elementor .frige-home-hero{padding-block:48px!important}}
.frige-ui-details summary{cursor:pointer;touch-action:manipulation}
.frige-ui-details[open] .frige-ui-details-content{animation:frige-ui-content-in .24s var(--frige-ui-ease) both}
.frige-ui-details summary:focus-visible{outline:3px solid #28a79c;outline-offset:4px}
@media(max-width:1199px){
 .elementor-location-header .elementskit-menu-container.frige-menu-open{animation:none!important;border-radius:0 20px 20px 0!important;box-shadow:16px 0 60px #102d4020}
 .elementor-location-header .elementskit-menu-container[data-closing]{pointer-events:none!important}
 .frige-nav-backdrop.frige-backdrop-open{animation:frige-ui-backdrop-in .28s ease both!important;backdrop-filter:blur(2px)}
 body.frige-nav-is-closing .frige-nav-backdrop.frige-backdrop-open{animation:frige-ui-backdrop-out .2s ease both!important}
}
@keyframes frige-ui-spin{to{rotate:360deg}}
@keyframes frige-ui-enter{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes frige-ui-content-in{from{opacity:.35;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes frige-ui-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes frige-ui-backdrop-out{from{opacity:1}to{opacity:0}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:frige-ui-page-out .12s ease both}
::view-transition-new(root){animation:frige-ui-page-in .18s ease both}
@keyframes frige-ui-page-out{to{opacity:0}}
@keyframes frige-ui-page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 @view-transition{navigation:none}
 .frige-ui-action,.frige-ui-card,.frige-ui-field,.frige-ui-text-link,.frige-ui-card img{transition:none!important}
 .frige-ui-action:active,.frige-ui-action.frige-ui-pressed,.frige-ui-action:hover,.frige-ui-card:hover,.frige-ui-card:hover img{scale:1;translate:none}
 .frige-dialog::backdrop,.frige-dialog[data-closing]::backdrop,.frige-ui-details-content,.frige-motion-bounce,.frige-motion-headShake{animation:none!important}
 form[aria-busy="true"] :is(button[type="submit"],button:not([type]))::after{animation:none;border-style:dotted}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
