/* AASI poukazový e-shop — storefront (Alena). Paleta = klientský brand (gold/cream/cocoa). */
:root{
  --gold:#D4AF37; --gold-d:#B8902B; --cream:#EBDEC8; --cream-l:#F6EFE2;
  --bronze:#8B6F47; --cocoa:#4A3728; --ink:#2c2118; --paper:#FBF7EF;
  --shadow:0 6px 24px rgba(74,55,40,.12); --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Montserrat",system-ui,Arial,sans-serif;
  color:var(--ink); background:var(--paper);
  line-height:1.5; padding-bottom:96px;
}
h1,h2{font-family:"Cormorant Garamond","Montserrat",serif;font-weight:600;letter-spacing:.2px}

/* Hlavička = sdílená .site-header z webu (/assets/style.css). Zde nestylovat. */

main{max-width:1080px;margin:0 auto;padding:24px 24px 0}

.intro{text-align:center;padding:42px 0 24px}
.intro h1{font-size:44px;color:var(--cocoa);margin:0 0 10px}
.lead{max-width:560px;margin:0 auto;color:var(--bronze);font-size:15px}

/* Taby kategorií */
.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 28px}
.tab{
  border:1px solid rgba(184,144,43,.4); background:#fff; color:var(--bronze);
  padding:8px 18px; border-radius:999px; font-size:13px; font-weight:500;
  cursor:pointer; transition:.15s;
}
.tab:hover{border-color:var(--gold)}
.tab.active{background:var(--gold);border-color:var(--gold);color:#fff}

/* Mřížka karet */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;padding-bottom:40px}
.card{
  background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;border:1px solid rgba(184,144,43,.12);
}
.card-img{aspect-ratio:4/3;background:var(--cream) center/cover no-repeat;}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-title{font-size:16px;font-weight:600;color:var(--cocoa);margin:0}
.card-variants{display:flex;flex-direction:column;gap:6px}
.card-variant{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--bronze);cursor:pointer;
}
.card-variant input{accent-color:var(--gold)}
.card-variant .vp{margin-left:auto;font-weight:600;color:var(--cocoa)}
.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-price{font-size:18px;font-weight:700;color:var(--gold-d);white-space:nowrap;line-height:1.15}
.card-price small{font-size:11px;font-weight:500;color:var(--bronze);margin-right:4px}

/* Tlačítka */
.btn{
  font-family:inherit;font-size:13px;font-weight:600;border:none;border-radius:999px;
  padding:9px 16px;cursor:pointer;transition:.15s;
}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:var(--gold-d)}
.btn-add{background:var(--cream);color:var(--cocoa)}
.btn-add:hover{background:var(--gold);color:#fff}
.btn-block{display:block;width:100%;padding:13px;font-size:14px;margin-top:8px}
.btn-link{background:none;color:var(--bronze);text-decoration:underline;padding:8px;display:block;width:100%}

/* Plovoucí košík */
.cartbar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  background:var(--cocoa);color:#fff;display:flex;align-items:center;gap:14px;
  padding:12px 24px;box-shadow:0 -6px 24px rgba(74,55,40,.25);
}
.cartbar-summary{background:none;border:none;color:#fff;display:flex;align-items:center;gap:10px;cursor:pointer;font:inherit;flex:1}
.cart-count{background:var(--gold);color:#fff;border-radius:999px;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;padding:0 6px}
.cart-label{font-size:13px;opacity:.85}
.cart-total{margin-left:auto;font-weight:700;font-size:16px}

/* Overlay + drawer */
.overlay{position:fixed;inset:0;background:rgba(44,33,24,.45);z-index:10000}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:10001;
  height:100vh;height:100dvh;            /* jistá výška → overflow má co scrollovat */
  background:var(--paper);box-shadow:-8px 0 30px rgba(74,55,40,.25);
  padding:28px 26px;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
/* při otevřeném draweru zamknout scroll pozadí — jinak gesto mimo panel roluje stránku za ním */
body.drawer-open{overflow:hidden}
.drawer h2{font-size:26px;color:var(--cocoa);margin:0 0 18px}
.drawer-close{position:absolute;top:10px;right:12px;z-index:5;width:44px;height:44px;background:none;border:none;font-size:32px;line-height:1;color:var(--bronze);cursor:pointer;border-radius:50%}
.drawer-close:hover{background:var(--cream)}
.cart-empty{color:var(--bronze);font-size:14px;padding:10px 0 4px}
/* karta bez fotky = elegantní cream placeholder, ne „rozbitý obrázek" */
.card-noimg .card-img{background:linear-gradient(135deg,var(--cream),var(--cream-l));display:flex;align-items:center;justify-content:center}
.card-noimg .card-img::after{content:"Dárkový poukaz";font-family:"Cormorant Garamond",serif;font-size:18px;color:var(--bronze);opacity:.55}
.btn:disabled{opacity:.5;cursor:default}

.cart-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cart-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:10px;padding:12px;box-shadow:var(--shadow)}
.cart-item .ci-main{flex:1}
.cart-item .ci-name{font-size:14px;font-weight:600;color:var(--cocoa)}
.cart-item .ci-sub{font-size:12px;color:var(--bronze)}
.cart-item .ci-price{font-weight:700;color:var(--gold-d);white-space:nowrap}
.cart-item .ci-rm{background:none;border:none;color:var(--bronze);cursor:pointer;font-size:18px;line-height:1}
.cart-foot{display:flex;justify-content:space-between;align-items:center;margin:18px 0 4px;font-size:15px;color:var(--cocoa)}
.cart-foot strong{font-size:20px;color:var(--gold-d)}

.field{display:block;margin:0 0 14px}
.field span{display:block;font-size:12.5px;color:var(--bronze);margin-bottom:5px}
.field em{color:#b4452e;font-style:normal}
.field input,.field textarea{width:100%;padding:11px 13px;border:1px solid rgba(184,144,43,.4);border-radius:10px;font:inherit;background:#fff;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field input.field-err,input.field-err{border-color:#c0392b;background:#fdf3f1}
.ded{border:1px solid rgba(184,144,43,.3);border-radius:12px;padding:14px 14px 2px;margin:0 0 14px}
.ded legend{font-size:12px;color:var(--bronze);padding:0 6px}
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--cocoa);margin:4px 0 16px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--gold)}
.form-hint{font-size:12.5px;color:var(--bronze);margin:18px 0 16px}
#orderForm{margin-top:6px}

.field-row{display:flex;gap:10px}
.field-row .field{margin:0 0 14px}
.coupon-row{display:flex;gap:8px;margin:4px 0 6px}
.coupon-row input{flex:1;padding:11px 13px;border:1px solid rgba(184,144,43,.4);border-radius:10px;font:inherit;background:#fff;text-transform:uppercase}
.coupon-row input:focus{outline:none;border-color:var(--gold)}
.coupon-row .btn-add{white-space:nowrap}
.form-summary{display:flex;justify-content:space-between;align-items:center;background:var(--cream-l);border-radius:10px;padding:12px 14px;margin:6px 0}
.form-summary.disc{background:none;padding:4px 14px;color:#3f7d4f}
.form-summary.disc strong{color:#3f7d4f}
[hidden]{display:none!important}
.form-summary strong{font-size:18px;color:var(--gold-d)}
.msg{font-size:13px;min-height:18px;margin:8px 0 0}
.msg.err{color:#b4452e}
.msg.ok{color:#3f7d4f}

/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.done-mark{width:64px;height:64px;border-radius:50%;background:var(--gold);color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;margin:10px auto 18px}
.drawer-step{text-align:left}
#stepDone{text-align:center}

.sitefoot{text-align:center;color:var(--bronze);font-size:12px;padding:18px}

@media(max-width:560px){
  .intro h1{font-size:34px}
  .drawer{padding:24px 18px}
}
