:root{
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html,body{height:100%;}
body{min-height:100vh;background-color:transparent;}
img,video,picture,figure{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
button,input,select,textarea,a{font-family:inherit}
:focus{outline:none}
:focus-visible{outline:3px solid rgba(0,0,0,0.06);outline-offset:2px;border-radius:8px}
.no-scroll{overflow:hidden;height:100vh}
#mobileMenu{display:none}
#mobileMenu.active{display:block}
#mobilePanel{transform:translateY(8px);opacity:0;transition:transform 280ms cubic-bezier(.2,.9,.3,1),opacity 220ms ease}
#mobilePanel.open{transform:translateY(0);opacity:1}
.cookie-dialog{max-width:380px}
@media(min-width:640px){
  .cookie-dialog{max-width:420px}
}
.card-image{width:100%;height:220px;object-fit:cover;border-radius:12px}
.btn-disabled{opacity:0.5;pointer-events:none}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}
.modal{max-width:960px;width:100%;margin:1rem;background-color:var(--bg,white);border-radius:12px;padding:1.25rem}
kbd{background:#f3f4f6;border-radius:6px;padding:0.15rem 0.5rem;font-size:0.85em}
.small-note{font-size:0.875rem;color:rgba(17,24,39,0.7)}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.iconify{display:inline-flex;vertical-align:middle}
