/* Upratovanie Stav — self-hosted styles */

@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/archivo-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/archivo-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;
}

html,body{margin:0;background:#f3f2f2;color:#201e1d;font-family:'Archivo',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#a3210c;text-decoration:underline;text-underline-offset:3px}
a:hover{color:#ec3013}
::selection{background:#fbd3cb}
:focus-visible{outline:2px solid #ec3013;outline-offset:2px}
h1,h2,h3,h4,p{margin:0}
input,select,textarea,button{font-family:inherit;font-size:16px}
input[type=range]{accent-color:#ec3013}
input[type=checkbox],input[type=radio]{accent-color:#ec3013;width:18px;height:18px}
img{max-width:100%;display:block}

.page{min-height:100vh;display:flex;flex-direction:column;background:#f3f2f2}

/* top bar */
.topbar{background:#201e1d;color:#f3f2f2;font-size:14px}
.topbar-in{max-width:1280px;margin:0 auto;padding:8px clamp(16px,4vw,40px);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
.topbar-in a{color:#f3f2f2;text-decoration:none}
.topbar-in a:first-child{font-weight:600}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:#f3f2f2;border-bottom:2px solid #201e1d}
.header-in{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#201e1d}
.brand-mark{width:34px;height:34px;background:#ec3013;display:block;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-name{font-weight:800;font-size:20px;letter-spacing:-0.02em}
.brand-sub{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;margin-top:4px;color:#5d5957}
.main-nav{display:flex;flex-wrap:wrap;gap:4px 22px;flex:1;font-weight:600;font-size:15px}
.nav-link{color:#201e1d;text-decoration:none}
.nav-link:hover{color:#ec3013}
.nav-link.is-active{color:#ec3013}
.cart-btn{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#201e1d;color:#f3f2f2;border:2px solid #201e1d;cursor:pointer;font-weight:600;border-radius:0}
.cart-btn:hover{background:#ec3013;border-color:#ec3013}
.cart-count{background:#ec3013;color:#fff;min-width:24px;padding:2px 6px;font-size:14px;text-align:center}

main{flex:1}

/* buttons */
.btn{display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:200px;padding:15px 18px;font-weight:600;text-decoration:none;border:2px solid;cursor:pointer;border-radius:0;font-size:16px;font-family:inherit}
.btn-primary{background:#ec3013;color:#fff;border-color:#ec3013}
.btn-primary:hover{background:#c9280f;border-color:#c9280f;color:#fff}
.btn-outline{background:transparent;color:#201e1d;border-color:#201e1d}
.btn-outline:hover{background:#201e1d;color:#f3f2f2}
.btn-outline-white{background:transparent;color:#fff;border-color:#fff}
.btn-outline-white:hover{background:#fff;color:#201e1d}
.btn-dark{background:#201e1d;color:#fff;border-color:#201e1d}
.btn-dark:hover{background:#ec3013;border-color:#ec3013;color:#fff}
.btn-onDark{background:#201e1d;color:#fff;border-color:#201e1d}
.btn-onDark:hover{background:#fff;color:#201e1d}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}

.link-strong{font-weight:600}

/* generic layout helpers */
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.section{border-bottom:2px solid #201e1d}
.section-alt{background:#eae9e9}
.section-dark{background:#201e1d;color:#fff}
.section-accent{background:#ec3013;color:#fff}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#a3210c}
.eyebrow-onDark{font-size:14px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fbd3cb}

.photo{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#e2e0df 0 12px,#eae9e9 12px 24px);display:block;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo.gray img{filter:grayscale(1)}
.photo-square{aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#e2e0df 0 12px,#eae9e9 12px 24px);overflow:hidden}
.photo-square img{width:100%;height:100%;object-fit:cover;display:block}
.photo-fill{position:relative;overflow:hidden;min-height:420px;background:repeating-linear-gradient(135deg,#e2e0df 0 12px,#eae9e9 12px 24px)}
.photo-fill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.photo-fill.gray img{filter:grayscale(1)}

/* cards grid with 2px gap border look */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:2px;background:#201e1d;border:2px solid #201e1d}
.grid-cell{background:#f3f2f2}
.card-link{text-decoration:none;color:#201e1d;display:flex;flex-direction:column}
.card-link:hover{background:#fff}

table{border-collapse:collapse}

/* FAQ (native details/summary) */
.faq-item{border-bottom:2px solid #201e1d}
.faq-item summary{list-style:none;width:100%;display:flex;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;font-weight:600;font-size:18px;color:#201e1d}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:#ec3013;font-size:22px;line-height:1;flex:none}
.faq-item[open] summary::after{content:'\2212'}
.faq-item p{padding:0 0 22px;line-height:1.6;color:#4a4644;max-width:640px}

/* calculator */
.type-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:#201e1d;border:2px solid #201e1d}
.type-opt{text-align:left;padding:16px;border:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;background:#f3f2f2;color:#201e1d;border-radius:0;font-family:inherit}
.type-opt.is-active{background:#201e1d;color:#fff}
.stepper{display:flex;align-items:center;border:2px solid #201e1d}
.stepper button{width:44px;height:44px;border:0;background:#f3f2f2;cursor:pointer;font-size:20px;font-family:inherit}
.stepper button:hover{background:#fbd3cb}
.stepper span{min-width:44px;text-align:center;font-weight:800}
.qty-btn:hover{background:#fbd3cb}

.chip{padding:10px 14px;border:2px solid #201e1d;color:#201e1d;text-decoration:none;font-weight:600;display:inline-block}
.chip:hover{background:#201e1d;color:#f3f2f2}

/* shop */
.cat-btn{padding:10px 16px;border:2px solid #201e1d;background:transparent;color:#201e1d;font-weight:600;cursor:pointer;border-radius:0;font-family:inherit}
.cat-btn.is-active{background:#201e1d;color:#fff}
.product-badge{align-self:flex-start;background:#ec3013;color:#fff;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase;letter-spacing:0.06em}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(32,30,29,.55);z-index:60;display:none}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#f3f2f2;z-index:61;border-left:2px solid #201e1d;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease}
body.cart-open .cart-overlay{display:block}
body.cart-open .cart-drawer{transform:translateX(0)}
.cart-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #201e1d}
.cart-close{background:none;border:2px solid #201e1d;width:44px;height:44px;cursor:pointer;font-size:20px;border-radius:0}
.cart-close:hover{background:#201e1d;color:#fff}
.cart-drawer-items{flex:1;overflow:auto;padding:0 24px}
.cart-line{padding:18px 0;border-bottom:1px solid #c9c6c4;display:flex;flex-direction:column;gap:10px}
.cart-drawer-foot{padding:20px 24px;border-top:2px solid #201e1d;display:flex;flex-direction:column;gap:12px}
.qty-btn{width:40px;height:40px;border:0;background:#f3f2f2;cursor:pointer;font-size:18px;font-family:inherit}

/* cookie banner */
.cookie-banner{position:fixed;left:clamp(8px,2vw,24px);right:clamp(8px,2vw,24px);bottom:clamp(8px,2vw,24px);z-index:70;max-width:760px;background:#f3f2f2;border:2px solid #201e1d;box-shadow:0 12px 32px rgba(32,30,29,.18);padding:24px;display:none;flex-direction:column;gap:14px}
.cookie-banner.is-open{display:flex}
.cookie-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #c9c6c4}

/* footer */
.site-footer{background:#201e1d;color:#d8d5d3}
.footer-grid{max-width:1280px;margin:0 auto;padding:56px clamp(16px,4vw,40px) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer-col a{color:#d8d5d3;text-decoration:none}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:2px solid #3a3735}
.footer-bottom-in{max-width:1280px;margin:0 auto;padding:18px clamp(16px,4vw,40px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#a8a4a1}

label.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.field input,.field select,.field textarea{padding:13px;border:2px solid #201e1d;background:#fff;border-radius:0}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.check-row input{margin-top:2px;flex:none}

@media (max-width:640px){
  .btn{min-width:0;width:100%}
}
