/* Recepty táty — papírová kartička rodinného receptu. Extrakce z prototypů. */

/* ===== FONTY (self-hosted, subset latin + latin-ext) ===== */
@font-face{font-family:'Gelasio';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/gelasio-v14-latin_latin-ext-regular.woff2') format('woff2');}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/gelasio-v14-latin_latin-ext-500.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/cormorant-garamond-v21-latin_latin-ext-500.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/cormorant-garamond-v21-latin_latin-ext-600.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/cormorant-garamond-v21-latin_latin-ext-700.woff2') format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/caveat-v23-latin_latin-ext-600.woff2') format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/caveat-v23-latin_latin-ext-700.woff2') format('woff2');}

/* ===== BAREVNÉ TOKENY — light ===== */
:root{
  color-scheme:light;
  --paper:#f6efe2; --paper-2:#efe5d2;
  --ink:#332820; --ink-soft:#5e4d3b;
  --accent:#8f3326; --accent-2:#c98a2e; --amber-text:#9a6516;
  --line:#d9c9ac; --gold:#b88a3e;
  --card-top:#fbf6ec; --card-bot:#f3e9d6; --card-border:#e6d7bc;
  --head-top:#9c3b2e; --head-bot:#7e2e23;
  --note-text:#4a3a28; --note-bg:rgba(184,138,62,.18);
  --inset:rgba(255,255,255,.6); --noise-op:.5;
  /* odvozené (drží dark režim čistě přes tokeny, bez přepisů komponent) */
  --q-color:#9a6516; --q-bg:rgba(184,138,62,.16);
  --cost-bg:rgba(184,138,62,.1);
  --vbox-bg:rgba(184,138,62,.09); --vbox-bl:var(--accent-2);
}

/* ===== BAREVNÉ TOKENY — dark (přepínač data-theme) ===== */
[data-theme="dark"]{
  color-scheme:dark;
  --paper:#1c1612; --paper-2:#241b15;
  --ink:#ede0cd; --ink-soft:#c2ac92;
  --accent:#e8896f; --accent-2:#e8a94e; --amber-text:#f5b94a;
  --line:#4a3a2a; --gold:#d6a64e;
  --card-top:#2a201a; --card-bot:#221a14; --card-border:#473521;
  --head-top:#7e2e23; --head-bot:#5c2018;
  --note-text:#e0cba8; --note-bg:rgba(214,166,78,.14);
  --inset:rgba(255,255,255,.05); --noise-op:.7;
  --q-color:#ffc95c; --q-bg:rgba(245,185,74,.12);
  --cost-bg:rgba(245,185,74,.06);
  --vbox-bg:rgba(245,185,74,.07); --vbox-bl:var(--gold);
}

/* Fallback bez JS: respektuj systémovou preferenci (se zapnutým JS řídí data-theme skript v <head>) */
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
    color-scheme:dark;
    --paper:#1c1612; --paper-2:#241b15;
    --ink:#ede0cd; --ink-soft:#c2ac92;
    --accent:#e8896f; --accent-2:#e8a94e; --amber-text:#f5b94a;
    --line:#4a3a2a; --gold:#d6a64e;
    --card-top:#2a201a; --card-bot:#221a14; --card-border:#473521;
    --head-top:#7e2e23; --head-bot:#5c2018;
    --note-text:#e0cba8; --note-bg:rgba(214,166,78,.14);
    --inset:rgba(255,255,255,.05); --noise-op:.7;
    --q-color:#ffc95c; --q-bg:rgba(245,185,74,.12);
    --cost-bg:rgba(245,185,74,.06);
    --vbox-bg:rgba(245,185,74,.07); --vbox-bl:var(--gold);
  }
}

/* ===== ZÁKLAD ===== */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
/* Čtení z dálky (mobil opřený na lince): větší text, roste s viewportem. */
html{font-size:clamp(18px, 5vw, 21px);}
@media (max-width:400px){
  html{font-size:18px;}
  .stage{padding:8px;}
  .head{padding:18px 16px 14px;}
}
@media (orientation:landscape) and (min-width:700px){
  html{font-size:clamp(17px, 1.1vw, 19px);}
  .col,.card{max-width:560px;}
}
body{
  font-family:'Gelasio',Georgia,serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(201,138,46,.12), transparent 45%),
    radial-gradient(circle at 85% 100%, rgba(156,59,46,.10), transparent 40%),
    var(--paper);
  display:flex;flex-direction:column;min-height:100%;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-op);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

/* ===== PŘÍSTUPNOST ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--head-top);color:#f7ecd9;padding:.6rem 1rem;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold);outline-offset:2px;border-radius:6px;
}
.tab:focus-visible{outline-offset:-3px;}

/* ===== STICKY LIŠTA ===== */
.nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 18px;
  background:linear-gradient(180deg,var(--head-top),var(--head-bot));
  border-bottom:2px solid var(--gold);
  box-shadow:0 4px 16px -6px rgba(0,0,0,.5);
}
.nav::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 18px);opacity:.55;
}
.brand{display:flex;flex-direction:column;text-decoration:none;cursor:pointer;line-height:1;}
.brand .bname{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.55rem;color:#f7ecd9;letter-spacing:.3px;}
.brand .tag{font-family:'Caveat',cursive;font-size:.95rem;color:var(--gold);margin-top:1px;letter-spacing:.4px;}
.nav-actions{display:flex;align-items:center;gap:10px;}
.theme-toggle{
  width:2.7rem;height:2.7rem;min-width:44px;min-height:44px;
  border:1px solid rgba(247,236,217,.18);background:rgba(255,255,255,.1);border-radius:11px;
  color:#f7ecd9;font-size:1.15rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.theme-toggle:hover{background:rgba(255,255,255,.18);border-color:rgba(247,236,217,.35);}
.burger{
  width:2.7rem;height:2.7rem;min-width:44px;min-height:44px;border:none;cursor:pointer;
  background:rgba(255,255,255,.1);border:1px solid rgba(247,236,217,.18);border-radius:11px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:background .2s,border-color .2s;
}
.burger:hover{background:rgba(255,255,255,.18);border-color:rgba(247,236,217,.35);}
.burger span{display:block;width:1.35rem;height:2px;border-radius:2px;background:#f7ecd9;transition:transform .28s cubic-bezier(.6,.2,.2,1),opacity .18s;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* dropdown menu */
.menu-wrap{position:relative;}
.menu{
  position:absolute;right:0;top:calc(100% + 12px);width:min(78vw,240px);
  background:linear-gradient(180deg,var(--card-top),var(--card-bot));
  border:1px solid var(--card-border);border-radius:14px;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.55);overflow:hidden;
  opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transform-origin:top right;
  transition:opacity .22s,transform .22s;
}
.menu::before{content:"";position:absolute;top:-7px;right:18px;width:13px;height:13px;rotate:45deg;background:var(--card-top);border-left:1px solid var(--card-border);border-top:1px solid var(--card-border);}
.menu.open{opacity:1;transform:none;pointer-events:auto;}
.menu a{
  position:relative;display:flex;align-items:center;min-height:44px;
  padding:11px 18px 11px 20px;font-size:1.0625rem;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--line);transition:background .15s,color .15s,padding .15s;
}
.menu a:last-child{border-bottom:none;}
.menu a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;border-radius:2px;background:var(--accent);transition:height .18s;}
.menu a:hover{background:var(--vbox-bg);color:var(--accent);padding-left:24px;}
.menu a:hover::before{height:60%;}
.menu a.is-active{color:var(--accent);background:var(--q-bg);}
.menu a.is-active::before{height:60%;}
.menu .mi-em{margin-right:6px;}
.menu .ghead{
  padding:9px 18px 5px;font-family:'Caveat',cursive;font-size:.95rem;color:var(--amber-text);
  letter-spacing:.5px;background:rgba(184,138,62,.05);border-bottom:1px solid var(--line);
}

/* ===== STAGE + SLOUPEC ===== */
.stage{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:14px;position:relative;z-index:1;}
.col{width:100%;max-width:430px;display:flex;flex-direction:column;}

/* drobečková navigace */
.crumb{padding:2px 6px 8px;font-family:'Caveat',cursive;font-size:1.05rem;color:var(--ink-soft);}
.crumb a{color:var(--accent);text-decoration:none;}
.crumb a:hover{text-decoration:underline;}
.crumb .sep{margin:0 4px;color:var(--gold);}

/* ===== KARTA ===== */
.card{
  position:relative;z-index:1;width:100%;max-width:430px;
  background:linear-gradient(180deg,var(--card-top),var(--card-bot));
  border-radius:18px;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.5),0 2px 0 var(--inset) inset;
  border:1px solid var(--card-border);overflow:hidden;
}
.head{position:relative;padding:22px 20px 16px;text-align:center;background:linear-gradient(180deg,var(--head-top),var(--head-bot));color:#f7ecd9;border-bottom:3px solid var(--gold);}
.head::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 18px);}
.kicker{font-family:'Caveat',cursive;font-size:1.125rem;letter-spacing:.5px;color:#f0c98a;}
.title{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:2.625rem;line-height:1;letter-spacing:.5px;}
.emoji{font-size:1.875rem;display:block;margin-bottom:2px;}
.meta{font-family:'Caveat',cursive;font-size:1.0625rem;color:#f3dcb8;margin-top:6px;}

/* úvodní odstavec pod hlavičkou */
.uvod{padding:14px 18px 2px;font-size:1.03rem;line-height:1.5;color:var(--ink-soft);}
.uvod strong{color:var(--accent);font-weight:500;}

/* ===== TABY ===== */
.tabs{display:flex;background:var(--paper-2);border-bottom:1px solid var(--line);}
.tab{flex:1;border:none;cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.35rem;padding:16px 0;min-height:44px;color:var(--ink-soft);background:transparent;position:relative;transition:color .25s;letter-spacing:.5px;}
.tab .ico{font-size:1.05rem;margin-right:6px;}
.tab.active{color:var(--accent);}
.tab.active::after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--gold));}
/* Bez JS jsou oba panely viditelné (AI i no-JS vidí kompletní obsah); JS schová neaktivní přes [hidden]. */
.panel{display:block;padding:18px 16px 8px;animation:fade .4s ease;}
.panel[hidden]{display:none;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ===== SUROVINY ===== */
ul.ing{list-style:none;}
ul.ing li{display:flex;align-items:center;gap:10px;padding:11px 2px;font-size:1.0625rem;border-bottom:1px dashed var(--line);}
ul.ing li:last-child{border-bottom:none;}
.em{font-size:1.5rem;width:1.7rem;text-align:center;flex-shrink:0;line-height:1;}
.amt{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.1875rem;color:var(--accent);min-width:5.2rem;flex-shrink:0;}
.nm{color:var(--ink);}
.sub{margin-top:14px;padding-top:10px;border-top:2px solid var(--line);}
.sub .lbl{font-family:'Caveat',cursive;font-size:1.1875rem;color:var(--amber-text);margin-bottom:4px;}
.pozn{margin-top:12px;font-family:'Caveat',cursive;font-size:1.05rem;color:var(--amber-text);}

/* ===== POSTUP ===== */
ol.steps{list-style:none;counter-reset:s;}
ol.steps li{counter-increment:s;position:relative;padding:0 0 20px 2rem;font-size:1.125rem;line-height:1.55;}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:.15em;width:1.5rem;height:1.5rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c98a2e,#9c3b2e);color:#fbf2e0;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px rgba(126,46,35,.35);}
ol.steps li::after{content:"";position:absolute;left:.72rem;top:1.7rem;bottom:5px;width:2px;background:linear-gradient(var(--line),transparent);}
ol.steps li:last-child::after{display:none;}
.st-t{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.3rem;color:var(--accent);display:block;margin-bottom:3px;}
.q{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.18em;color:var(--q-color);background:var(--q-bg);padding:0 .28em;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* varianty (stroj / ruka / ohřev) */
.variant{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px;}
.vbox{background:var(--vbox-bg);border:1px solid var(--line);border-left:3px solid var(--vbox-bl);border-radius:0 9px 9px 0;padding:9px 12px;font-size:1rem;line-height:1.45;}
.vt{display:block;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.08rem;color:var(--accent);margin-bottom:1px;}

/* tip — rukopisná poznámka uvnitř kroku */
.tip{display:block;margin-top:7px;font-family:'Caveat',cursive;font-size:1.12rem;line-height:1.3;color:var(--ink-soft);padding-left:13px;border-left:2px solid var(--gold);}

/* ===== CENA ===== */
.cost{margin:18px 2px 4px;padding:13px 15px;background:var(--cost-bg);border:1px solid var(--line);border-radius:11px;font-size:.95rem;line-height:1.5;color:var(--ink-soft);}
.cost b{color:var(--accent);font-weight:600;}
.cost .big{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--amber-text);}
.cost .ct{display:block;font-family:'Caveat',cursive;font-size:1.15rem;color:var(--amber-text);margin-bottom:5px;}

/* ===== WAKE LOCK ===== */
.wake{display:inline-flex;align-items:center;gap:8px;margin:8px 16px 2px;padding:11px 16px;min-height:44px;font-family:'Caveat',cursive;font-size:1.15rem;cursor:pointer;color:var(--accent);background:var(--q-bg);border:1px solid var(--line);border-radius:11px;transition:background .2s,color .2s,border-color .2s;}
.wake[aria-pressed="true"]{background:linear-gradient(180deg,var(--head-top),var(--head-bot));color:#f7ecd9;border-color:var(--gold);}

/* datum aktualizace + patička karty */
.updated{text-align:center;font-size:.8rem;color:var(--ink-soft);opacity:.85;padding:8px 20px 0;}
.foot{text-align:center;font-family:'Caveat',cursive;font-size:1rem;color:var(--ink-soft);padding:4px 20px 18px;}

/* ===== HOMEPAGE — seznam receptů ===== */
.recipe-list{list-style:none;display:flex;flex-direction:column;gap:12px;padding:14px 16px 18px;}
.recipe-list a{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;background:var(--card-top);border:1px solid var(--card-border);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:0 6px 16px -10px rgba(0,0,0,.4);transition:transform .15s,box-shadow .15s,border-color .15s;}
.recipe-list a:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.45);border-color:var(--gold);}
.recipe-list .rl-em{font-size:2rem;flex-shrink:0;width:2.4rem;text-align:center;}
.recipe-list .rl-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.recipe-list .rl-name{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;color:var(--accent);line-height:1.05;}
.recipe-list .rl-meta{font-family:'Caveat',cursive;font-size:1.05rem;color:var(--ink-soft);margin-top:2px;}
.recipe-list .rl-arrow{font-size:1.4rem;color:var(--gold);flex-shrink:0;}

/* ===== TEXTOVÉ STRÁNKY (O webu, 404) ===== */
.card--text{max-width:560px;}
.prose{padding:20px 20px 6px;}
.prose h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.55rem;color:var(--accent);margin:18px 0 8px;line-height:1.15;}
.prose h2:first-child{margin-top:2px;}
.prose p{font-size:1.05rem;line-height:1.55;margin-bottom:12px;}
.prose p.lead{color:var(--ink-soft);}
.prose a{color:var(--accent);}
.prose ul{margin:0 0 12px 1.1rem;}
.prose li{margin-bottom:6px;line-height:1.5;}

/* FAQ */
.faq{padding:4px 18px 10px;}
.faq h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.55rem;color:var(--accent);margin:8px 0 12px;}
.faq details{border:1px solid var(--line);border-radius:11px;padding:10px 14px;margin-bottom:10px;background:var(--q-bg);}
.faq summary{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.2rem;color:var(--accent);cursor:pointer;list-style:none;min-height:32px;display:flex;align-items:center;gap:8px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"▸";color:var(--gold);flex-shrink:0;}
.faq details[open] summary::before{content:"▾";}
.faq details p{margin-top:8px;font-size:1.02rem;line-height:1.5;color:var(--ink);}

/* Kontaktní formulář */
.form{padding:8px 18px 20px;}
.form h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.55rem;color:var(--accent);margin:8px 0 4px;}
.form label{display:block;font-family:'Caveat',cursive;font-size:1.2rem;color:var(--amber-text);margin:14px 0 4px;}
.form input,.form textarea{width:100%;padding:11px 12px;font-family:'Gelasio',Georgia,serif;font-size:1rem;color:var(--ink);background:var(--card-top);border:1px solid var(--line);border-radius:10px;}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--q-bg);}
.form textarea{min-height:120px;resize:vertical;}
.form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form button{margin-top:18px;min-height:48px;padding:12px 24px;cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.25rem;color:#f7ecd9;background:linear-gradient(180deg,var(--head-top),var(--head-bot));border:none;border-radius:12px;border-bottom:3px solid var(--gold);transition:filter .2s;}
.form button:hover{filter:brightness(1.07);}
.form-msg{margin:6px 0 4px;padding:12px 14px;border-radius:10px;font-size:1rem;line-height:1.45;}
.form-msg.ok{background:var(--q-bg);color:var(--amber-text);border:1px solid var(--gold);}
.form-msg.err{background:rgba(143,51,38,.12);color:var(--accent);border:1px solid var(--accent);}

/* ===== MINI PATIČKA ===== */
.site-foot{position:relative;z-index:1;text-align:center;padding:16px 16px 26px;color:var(--ink-soft);font-family:'Caveat',cursive;font-size:1.05rem;}
.site-foot .foot-links a{color:var(--accent);text-decoration:none;margin:0 2px;}
.site-foot .foot-links a:hover{text-decoration:underline;}
.site-foot .foot-copy{margin-top:4px;font-size:.95rem;opacity:.85;}

/* ===== TISK ===== */
@media print{
  body{background:#fff;color:#000;}
  body::before,.nav,header,.site-foot,.tabs,.wake,.theme-toggle,.skip-link,.crumb{display:none!important;}
  .stage{padding:0;}
  .col,.card{max-width:100%;}
  .card{box-shadow:none;border:1px solid #999;background:#fff;border-radius:0;}
  .head{background:#fff;color:#000;border-bottom:2px solid #000;}
  .head::after{display:none;}
  .kicker,.meta,.title,.emoji{color:#000;}
  .panel,.panel[hidden]{display:block!important;}
  #ing::before{content:"Suroviny";}
  #post::before{content:"Postup";}
  #ing::before,#post::before{display:block;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.4rem;color:#000;margin:6px 0 8px;border-bottom:1px solid #999;}
  .q,.cost,.vbox,.tip,.uvod{background:transparent!important;color:#000!important;border-color:#999!important;}
  .st-t,.amt,.vt,.cost .big,.cost .ct,.cost b,.pozn,.sub .lbl{color:#000!important;}
  ol.steps li::before{background:#000;color:#fff;box-shadow:none;}
}
