:root{
  --bg:#0b0c10;
  --panel:#111319;
  --text:#e9e9ee;
  --muted:#a6a6b3;
  --line:rgba(255,255,255,.10);
  --accent:#ffffff;
  --content:#d2d2d2; /* ~95 % white */

}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 800px at 20% -10%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(900px 600px at 80% 10%, rgba(120,130,160,.08), transparent 55%),
    linear-gradient(180deg, #0b0c10 0%, #0e1016 100%);
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.55;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.9}

.container{max-width:980px; margin:0 auto; padding:24px}
.header{
  position:sticky; top:0;
  backdrop-filter:saturate(140%) blur(10px);
  background:rgba(11,12,16,.6);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:980px; margin:0 auto;
  padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.logo{font-weight:700; letter-spacing:.3px}
.nav-links{display:flex; gap:18px; font-size:14px; color:var(--muted)}
.nav-links a.active{color:var(--text)}

.hero{padding:42px 0 18px}
.kicker{
  display:inline-block;
  border:1px solid var(--line);
  padding:6px 10px;
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1{font-size:42px; line-height:1.1; margin:14px 0 12px}
.lead{font-size:18px; color:var(--muted); max-width:56ch}

.card{
  margin:26px 0;
  padding:18px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:16px;
    box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 18px 40px rgba(0,0,0,.55);
}

.prose h1{font-size:38px}
.prose h2{margin-top:28px; font-size:20px}
.prose p,
.prose li{color:var(--content);
}
.prose ul{padding-left:18px}
.muted{color:var(--muted); font-size:13px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 16px;

  background:transparent;
  color:var(--content);

  border:1px solid rgba(255,255,255,.6);
  border-radius:12px;

  font-weight:500;
  letter-spacing:.01em;

  box-shadow:none;
  transition:opacity .2s ease, border-color .2s ease;
}

.btn:hover{
  opacity:.70;
  border-color:rgba(255,255,255,.8);
}

.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}

.footer{
  border-top:1px solid var(--line);
  margin-top:36px;
  padding:18px 0;
  background:rgba(0,0,0,.25);
}
.grid-2{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:16px;
}
.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}

.card-glow{
  background:
    radial-gradient(800px 240px at 20% 0%, rgba(255,255,255,.10), rgba(255,255,255,.03));
}

.bullets{
  margin:14px 0 0;
  padding-left:18px;
  color:var(--muted);
}
.price{
  font-size:42px;
  margin:10px 0 8px;
  letter-spacing:-.02em;
}
.price-sub{
  font-size:14px;
  color:var(--muted);
  margin-left:8px;
  font-weight:500;
}
.h3{
  margin:0 0 8px;
  font-size:16px;
  letter-spacing:.01em;
}
.fine{
  margin-top:12px;
  font-size:12px;
  color:var(--muted);
  opacity:.9;
}

@media (max-width: 900px){
  h1{font-size:38px}
  .grid-2{grid-template-columns: 1fr}
  .grid-3{grid-template-columns: 1fr}
}
.nav-right{
  display:flex;
  align-items:center;
  gap:16px;
}

.lang{
  display:flex;
  gap:10px;
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--line);
  padding:6px 10px;
  border-radius:999px;
}

.lang a{opacity:.85}
.lang a.active{color:var(--text); opacity:1}
.lang a:hover{opacity:1}

@media (max-width: 900px){
  .nav{gap:10px}
  .nav-right{gap:10px}
  .lang{padding:6px 8px}
}
/* --- Banana Girls: editorial typography pass --- */

:root{
  --text-max: 64ch;     /* pohodlná šířka textu */
  --leading: 1.65;      /* vzduch = luxus */
}

/* Čitelnost textu */
.prose{
  max-width: var(--text-max);
  line-height: var(--leading);
  font-size: 1.05rem;
}

/* Jemný kontrast – ať tmavý web nepůsobí “mrtvě” */
.prose p,
.prose li{
  opacity: 0.92;
}


/* H1 výrazně větší a vzdušnější */
.prose h1{
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.08;
  margin: 0.2em 0 0.35em;
}

/* H2 klidně menší, ale “editorial” */
.prose h2{
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
  margin-top: 1.6em;
}

/* Lead text – subtilní, ale prémiový */
.prose .lead{
  font-size: 1.15rem;
  line-height: 1.55;
  opacity: 0.9;
}

/* Více rytmu mezi sekcemi */
.prose section,
.prose .card{
  margin-top: 1.2rem;
}

/* Tlačítka: méně “eshop”, víc “gallery CTA” */
.btn{
  letter-spacing: 0.01em;
}
/* --- Hero figure (gallery object) --- */
.hero-figure{
  margin: 1.2rem 0 1.4rem;
}

.hero-figure img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  opacity: 0.96;
  /* jemný “gallery” pocit */
  box-shadow: 0 18px 60px rgba(0,0,0,0.45);
}
/* --- Header menu: bigger gaps + subtle separators (only .nav-links) --- */

.nav-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap: 28px;            /* větší mezery */
  font-size:14px;
  color:var(--muted);
}

/* ať se položky nelámou uprostřed slov */
.nav-links a{ white-space:nowrap; }

/* oddělovače jen mezi položkami menu */
.nav-links a{
  position:relative;
  display:inline-block;
  padding: 0 .2rem;
}
.nav-links a:not(:last-child)::after{
  content:"│";
  position:absolute;
  right:-16px;
  top:50%;
  transform:translateY(-50%);
  font-size:.85em;
  opacity:.30;
  pointer-events:none;
}
.logo img{
  height: 50px;
  width: auto;
  display: block;
  opacity: .80;
}
/* --- Headlines: Manrope (thin, modern, gallery) --- */

.hero h1{
  text-shadow:
    0 0 40px rgba(255,255,255,.06),
    0 0 8px rgba(120,130,160,.08);
}

.prose h1,
.prose h2{
  font-family: "Manrope", system-ui, sans-serif;
  font-weight: 80;
  letter-spacing: 0.1em;
}
/* --- Mobile hamburger menu --- */

.nav-toggle{
  display:none;
  width:42px;
  height:42px;
  border-radius:12px;
  background:transparent;
  border:1px solid var(--line);
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0;
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  background:rgba(255,255,255,.75);
  border-radius:999px;
  transition: transform .18s ease, opacity .18s ease;
  transform-origin:center;

}

body.nav-open .nav-toggle span:nth-child(1){
  transform: translateY(3px) rotate(45deg);
}
body.nav-open .nav-toggle span:nth-child(2){
  transform: translateY(-3px) rotate(-45deg);
}

@media (max-width: 900px){
  .nav-toggle{ display:inline-flex; }

  /* Na mobilu schovej desktop separátory */
  .site-header nav a::after{ content:none !important; }

  .nav{ position:relative; }

  /* Mobilní menu jako "sheet" přes šířku */
  .nav-links{
    display:none;
    position:absolute;
    left:16px;
    right:16px;
    top:64px;

    flex-direction:column;
    gap:0;

    padding:10px;
    background:rgba(11,12,16,.94);
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    backdrop-filter:saturate(140%) blur(14px);
    box-shadow: 0 28px 70px rgba(0,0,0,.55);
    z-index:60;
  }

  body.nav-open .nav-links{ display:flex; }

  /* Linky jako čisté řádky (luxus, ne "menu bublina") */
  .nav-links a{
    font-size:18px;
    line-height:1.2;
    color:rgba(255,255,255,.92);
    padding:14px 14px;
    border-radius:14px;
  }

  .nav-links a + a{
    border-top:1px solid rgba(255,255,255,.10);
    border-radius:0;
  }

  .nav-links a:hover{
    opacity:1;
    background:rgba(255,255,255,.04);
  }

  /* header layout na mobilu */
  .nav{
    align-items:center;
  }

  /* ať se horní pravá část nelepí na menu */
  .nav-right{ gap:10px; }
}
/* --- Mobile menu overlay (backdrop) --- */
.nav-overlay{
  display:none;
}

@media (max-width: 900px){
  .nav-overlay{
    position:fixed;
    inset:0;
    display:none;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px) saturate(120%);
    z-index:55; /* pod menu, nad obsahem */
  }

  body.nav-open .nav-overlay{
    display:block;
  }

  /* menu musí být nad overlay */
  body.nav-open .nav-links{
    z-index:60;
  }

  /* ať header zůstane nad overlay i menu */
  .header{
    z-index:70;
  }

  /* menu panel: čistší, bez rušivých dělení */
  .nav-links a + a{
    border-top:1px solid rgba(255,255,255,.08);
  }
}
/* --- FORCE mobile menu open state --- */
@media (max-width: 900px){
  body.nav-open #site-nav.nav-links{ 
    display:flex !important; 
  }

  /* overlay nesmí blokovat header kliky */
  .nav-overlay{ z-index: 40 !important; }
  .header{ z-index: 80 !important; }

  /* menu panel musí být nad overlay */
  #site-nav.nav-links{ z-index: 70 !important; }
}
/* --- Layering: header always on top --- */
.header{
  position: sticky;
  top: 0;
  z-index: 1000;
  isolation: isolate; /* zabrání divným z-index konfliktům */
}

/* Pokud se ti někde zobrazuje něco "nad" headrem, typicky to je kvůli z-index na jiných prvcích.
   Tímto to utneš. */
.hero, .card, .footer{
  position: relative;
  z-index: 1;
}

/* --- Prevent H1/anchors from hiding under sticky header --- */
:root{ --header-h: 74px; }  /* když bude potřeba, uprav na 68–86 */

h1, h2, h3, [id]{
  scroll-margin-top: var(--header-h);
}

/* --- Checkout overlay (dark, premium) --- */
.checkout-overlay{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;

  background: rgba(0,0,0,.55);
  backdrop-filter: blur(8px) saturate(120%);
}

.checkout-overlay__box{
  width: min(420px, calc(100vw - 32px));
  padding: 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(11,12,16,.92);
  box-shadow: 0 28px 70px rgba(0,0,0,.55);
  text-align: center;
}

.checkout-overlay__title{
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
}

.checkout-overlay__sub{
  margin-top: 6px;
  font-size: 14px;
  color: rgba(255,255,255,.72);
}

body.checkout-opening .checkout-overlay{
  display: flex;
}
/* --- Shipping note --- */
.shipping-note{
  margin-top: 12px;
  opacity: .9;
}
/* --- CTA block layout (EN + DE unified) --- */

.cta-block {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: start;
  margin-top: 32px;
}

.cta-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cta-block .btn {
  min-width: 180px;
}

/* shipping text aligned to button top */
.shipping-note {
  opacity: 0.7;
  line-height: 1.4;
  font-size: 12px;
  padding-top: 6px;
}

/* --- Mobile: stack everything nicely --- */
@media (max-width: 700px) {
  .cta-block {
    grid-template-columns: 1fr;
  }

  .shipping-note {
    padding-top: 0;
  }
}
