/* ===== kupsipisek design system v1.0 ===== */
:root{
  --sand:#E8C878; --sand-dark:#C9A254; --sand-light:#F6E3B4;
  --ink:#2B2416; --paper:#FDF8EE; --accent:#D96C2C; --accent-dark:#B5541C;
  --green:#4E7C3A; --green-bg:#EAF2E4; --red:#B33A2B; --red-bg:#F6E4E1;
  --gold:#B8912F; --line:rgba(43,36,22,.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;}
img{max-width:100%;display:block;}
button{font-family:inherit;}

/* --- nav --- */
.site-nav{
  position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 5vw;background:rgba(253,248,238,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
.logo{font-family:Georgia,serif;font-weight:bold;font-size:1.25rem;letter-spacing:-.5px;text-decoration:none;color:var(--ink);white-space:nowrap;}
.logo span{color:var(--accent);}
.site-nav .links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.site-nav .links a{color:var(--ink);text-decoration:none;font-size:.92rem;opacity:.72;}
.site-nav .links a:hover,.site-nav .links a.on{opacity:1;font-weight:600;}
.cart-btn{
  position:relative;background:none;border:1.5px solid var(--ink);border-radius:999px;
  padding:8px 16px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--ink);
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.cart-count{background:var(--green);color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;padding:0 6px;}

/* --- základní prvky --- */
.kicker{display:inline-block;background:var(--ink);color:var(--sand-light);font-size:.74rem;letter-spacing:2.5px;text-transform:uppercase;padding:6px 16px;border-radius:999px;margin-bottom:20px;}
.btn{
  display:inline-block;background:var(--accent);color:#fff !important;padding:13px 30px;border-radius:999px;
  text-decoration:none;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:transform .15s,background .2s;
}
.btn:hover{background:var(--accent-dark);transform:translateY(-2px);}
.btn.big{padding:16px 38px;font-size:1.08rem;}
.btn.ghost{background:transparent;color:var(--ink) !important;border:2px solid var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper) !important;}
.btn.dark{background:var(--ink);}
.btn.dark:hover{background:#000;}

section.block{padding:76px 6vw;}
.sec-head{text-align:center;max-width:46rem;margin:0 auto 50px;}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.5px;margin-bottom:12px;}
.sec-head p{opacity:.75;font-size:1.04rem;}

.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;max-width:1120px;margin:0 auto;}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 26px;transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(43,36,22,.1);}
.card .ico{font-size:2rem;margin-bottom:12px;}
.card h3{font-size:1.13rem;margin-bottom:8px;}
.card p{font-size:.94rem;opacity:.75;}

.marquee{background:var(--ink);color:var(--sand-light);overflow:hidden;white-space:nowrap;padding:12px 0;font-size:.95rem;letter-spacing:1px;}
.marquee .track{display:inline-block;animation:mq 28s linear infinite;}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee b{color:#fff;}
.marquee i{font-style:normal;opacity:.5;margin:0 18px;}

table.tbl{width:100%;border-collapse:collapse;font-size:.88rem;}
.tbl th{text-align:left;background:var(--ink);color:var(--sand-light);padding:9px 12px;font-weight:600;font-size:.74rem;letter-spacing:.6px;text-transform:uppercase;}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);}
.tbl tr:last-child td{border-bottom:none;}
.tbl td.r,.tbl th.r{text-align:right;white-space:nowrap;}

.site-footer{background:var(--ink);color:var(--sand-light);text-align:center;padding:44px 5vw;font-size:.86rem;}
.site-footer .fam{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:12px 0 16px;}
.site-footer .fam a{color:#fff;text-decoration:none;font-weight:600;opacity:.85;}
.site-footer .fam a:hover{opacity:1;}
.site-footer p{opacity:.65;}

/* --- toast --- */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--ink);color:#fff;border-radius:999px;padding:12px 26px;font-size:.92rem;
  opacity:0;transition:all .3s;z-index:400;box-shadow:0 12px 30px rgba(0,0,0,.3);pointer-events:none;white-space:nowrap;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* --- košík drawer --- */
.cart-overlay{position:fixed;inset:0;background:rgba(43,36,22,.4);opacity:0;pointer-events:none;transition:opacity .25s;z-index:150;}
.cart-overlay.open{opacity:1;pointer-events:auto;}
.cart-drawer{
  position:fixed;top:0;right:-430px;width:min(410px,93vw);height:100%;background:#fff;z-index:160;
  transition:right .28s;display:flex;flex-direction:column;box-shadow:-16px 0 44px rgba(0,0,0,.18);
}
.cart-drawer.open{right:0;}
.cart-drawer header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);}
.cart-drawer header h3{font-size:1.2rem;}
.cart-drawer .close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);line-height:1;}
.cart-items{flex:1;overflow-y:auto;padding:14px 22px;}
.ci{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--line);}
.ci .em{font-size:1.7rem;line-height:1.2;}
.ci .n{font-size:.92rem;font-weight:600;line-height:1.3;}
.ci .v{font-size:.78rem;opacity:.55;}
.ci .ctr{display:flex;align-items:center;gap:8px;margin-top:6px;}
.ci .ctr button{width:24px;height:24px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;font-size:.9rem;line-height:1;color:var(--ink);}
.ci .ctr span{font-size:.88rem;font-weight:700;min-width:18px;text-align:center;}
.ci .pr{margin-left:auto;text-align:right;font-weight:700;font-size:.92rem;white-space:nowrap;}
.ci .rm{background:none;border:none;color:var(--red);font-size:.74rem;cursor:pointer;opacity:.7;padding:0;margin-top:4px;}
.cart-empty{text-align:center;opacity:.5;padding:50px 20px;font-size:.95rem;}
.cart-drawer footer{border-top:1px solid var(--line);padding:16px 22px 22px;}
.coupon-row{display:flex;gap:8px;margin-bottom:12px;}
.coupon-row input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.88rem;font-family:inherit;text-transform:uppercase;}
.coupon-row button{background:var(--ink);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:.85rem;}
.coupon-note{font-size:.78rem;margin-bottom:10px;}
.coupon-note.ok{color:var(--green);font-weight:600;}
.coupon-note.err{color:var(--red);}
.cart-total{display:flex;justify-content:space-between;font-size:1.05rem;font-weight:800;margin-bottom:6px;}
.cart-disc{display:flex;justify-content:space-between;font-size:.85rem;color:var(--green);margin-bottom:6px;}
.checkout-btn{width:100%;background:var(--green);color:#fff;border:none;border-radius:999px;padding:15px;font-size:1rem;font-weight:800;cursor:pointer;margin-top:8px;}
.checkout-btn:hover{filter:brightness(1.1);}


/* --- volba režimu (gender) --- */
.gender-overlay{
  position:fixed;inset:0;background:rgba(43,36,22,.55);backdrop-filter:blur(4px);
  z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;
}
.gender-modal{
  background:var(--paper);border-radius:26px;max-width:560px;width:100%;
  padding:40px 36px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:gm .4s ease;
}
@keyframes gm{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.gender-modal h2{font-size:1.7rem;letter-spacing:-.5px;margin-bottom:8px;}
.gender-modal .sub{opacity:.7;font-size:.94rem;margin-bottom:24px;}
.gender-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
@media(max-width:560px){.gender-opts{grid-template-columns:1fr;}}
.gender-opt{
  background:#fff;border:2px solid var(--line);border-radius:18px;padding:22px 12px;
  cursor:pointer;font-family:inherit;transition:all .15s;display:flex;flex-direction:column;gap:6px;align-items:center;
}
.gender-opt:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 26px rgba(43,36,22,.12);}
.gender-opt .gi{font-size:2rem;}
.gender-opt b{font-size:1rem;}
.gender-opt small{font-size:.74rem;opacity:.6;line-height:1.35;}
.gender-modal .note{font-size:.76rem;opacity:.5;font-style:italic;}
.gender-banner{
  text-align:center;font-size:.85rem;padding:10px 5vw;
  background:var(--sand-light);border-bottom:1px solid var(--line);
}
.gender-banner b{color:var(--accent);}
.gender-banner button{
  background:none;border:none;color:var(--accent);font-weight:700;cursor:pointer;
  font-size:.8rem;text-decoration:underline;margin-left:10px;font-family:inherit;
}

/* hormonální režimy — písek zůstává pískem, atmosféra se ladí */
body[data-gender="testosteron"]{
  --accent:#3E7C9C;--accent-dark:#2C607C;
  --sand-light:#DCE7ED;--sand:#B8CDD9;--paper:#F7F9FA;
}
body[data-gender="estrogen"]{
  --accent:#C2597E;--accent-dark:#A34064;
  --sand-light:#F8E2DE;--sand:#EBC2BC;--paper:#FDF7F3;
}
/* režim "oboji" = originál. Přesně tak. */

/* --- přepínač režimu v liště (jako cz/en) --- */
.mode-switch{display:flex;gap:5px;align-items:center;margin-left:6px;}
.mode-chip{
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--line);background:#fff;color:var(--ink);
  font-size:1.15rem;font-weight:700;cursor:pointer;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s;font-family:inherit;
}
.mode-chip:hover{border-color:var(--accent);transform:translateY(-1px);}
.mode-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;}
