/* Sklenárstvo Jas — self-hosted fonts + shared component styles */
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/schibsted-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/schibsted-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#F5F7F8;color:#14202B;font-family:'Schibsted Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1F6F8B}
a:hover{color:#14202B}
input,select,textarea,button{font-family:inherit}
img{max-width:100%}
.img-cover{width:100%;height:100%;object-fit:cover;display:block}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* buttons with hover (style-hover from the design spec) */
.btn-teal{background:#1F6F8B;color:#fff;border:none;cursor:pointer;transition:background .15s ease}
.btn-teal:hover{background:#185A72}
.btn-outline-dark{background:transparent;color:#14202B;border:1.5px solid #14202B;cursor:pointer;transition:background .15s ease,color .15s ease}
.btn-outline-dark:hover{background:#14202B;color:#fff}
.card-home-service{transition:border-color .15s ease,box-shadow .15s ease}
.card-home-service:hover{border-color:#1F6F8B;box-shadow:0 14px 34px rgba(15,27,36,0.08)}
.filter-chip{transition:background .15s ease,color .15s ease,border-color .15s ease}

/* FAQ accordion via native <details> */
.faq-item{border-bottom:1px solid #DCE3E7}
.faq-item > summary{list-style:none;cursor:pointer;width:100%;padding:22px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:18px;font-weight:600;color:#14202B}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item > summary .sign{color:#1F6F8B;font-size:22px;line-height:1}
.faq-item > summary .sign::before{content:'+'}
.faq-item[open] > summary .sign::before{content:'\2212'}
.faq-item .faq-a{margin:0 0 22px;font-size:16px;line-height:1.7;color:#3A4955;max-width:760px}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(15,27,36,0.45);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s ease}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#F5F7F8;z-index:61;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(15,27,36,0.2);transform:translateX(100%);transition:transform .25s ease}
.cart-drawer.open{transform:translateX(0)}

/* toast */
.jas-toast{position:fixed;left:50%;top:92px;transform:translate(-50%,-14px);z-index:70;background:#14202B;color:#fff;padding:14px 20px;border-radius:12px;font-size:15px;box-shadow:0 14px 40px rgba(15,27,36,0.3);display:flex;gap:14px;align-items:center;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.jas-toast.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:760px;margin:0 auto;background:#fff;border:1px solid #DCE3E7;border-radius:18px;box-shadow:0 24px 60px rgba(15,27,36,0.22);padding:24px;display:none;flex-direction:column;gap:14px}
.cookie-banner.show{display:flex}
.cookie-detail{display:none;flex-direction:column;gap:10px;background:#F5F7F8;border-radius:12px;padding:14px}
.cookie-detail.show{display:flex}

@media (max-width:640px){
  .cart-drawer{width:100vw}
}
