/* Rybárovna – shared stylesheet */
:root{
  --bg:#F5F0E4;
  --ink:#1A2420;
  --dark:#142A21;
  --green:#1E3A2F;
  --green-hover:#23475A;
  --blue:#23475A;
  --cream:#E9DFC9;
  --cream-light:#FBF8F1;
  --border:#DDD3BC;
  --border2:#E3D9C3;
  --border3:#CFC3A8;
  --muted:#4E5A54;
  --muted2:#3C4842;
  --muted3:#5A6660;
  --faint:#C9D3C4;
  --ok:#2F6B4A;
  --err:#7A2E1E;
  --font-display:Georgia,'Times New Roman',serif;
  --font-body:'Segoe UI',Manrope,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'Consolas','Courier New',monospace;
  --wrap:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--blue)}
input,select,textarea,button{font-family:inherit;font-size:inherit}
.container{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0}

/* top bar */
.topbar{background:var(--dark);color:var(--cream);font-size:13px}
.topbar .container{padding:8px 24px;display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:center}

/* header */
header.site{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border)}
header.site .container{padding:14px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green)}
.logo .dot{width:34px;height:34px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center}
.logo .dot span{width:14px;height:14px;border-radius:50%;border:2px solid var(--cream)}
.logo .word{font-family:var(--font-display);font-size:28px;letter-spacing:.3px}
nav.main{display:flex;gap:4px;flex:1;flex-wrap:wrap}
nav.main a{padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;color:var(--green)}
nav.main a:hover,nav.main a.active{background:var(--cream);color:var(--green)}
.cart-btn{display:flex;align-items:center;gap:10px;background:var(--green);color:var(--bg);border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;text-decoration:none}
.cart-btn:hover{background:var(--green-hover)}
.cart-count{background:var(--cream);color:var(--green);border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;padding:0 6px}

/* buttons */
.btn{display:inline-block;border:0;border-radius:999px;padding:16px 28px;font-weight:700;cursor:pointer;text-decoration:none;font-size:16px}
.btn-cream{background:var(--cream);color:var(--dark)}
.btn-cream:hover{background:var(--cream-light)}
.btn-outline{border:1.5px solid var(--cream);color:var(--cream-light);background:transparent}
.btn-outline:hover{background:rgba(233,223,201,.15)}
.btn-green{background:var(--green);color:var(--bg)}
.btn-green:hover{background:var(--green-hover)}
.btn-sm{padding:12px 20px;font-size:14px}
.btn-line{background:transparent;color:var(--green);border:1px solid var(--border3)}
.btn-line:hover{background:var(--cream)}

/* hero */
.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#FBF8F1;background-size:cover;background-position:center}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,42,33,0) 25%,rgba(20,42,33,.88) 100%)}
.hero-inner{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 24px 64px;width:100%}
.hero-small{min-height:380px;display:flex;align-items:center}
.hero-small .hero-inner{padding:90px 24px 56px}
.eyebrow{font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--cream);margin-bottom:16px}
.hero h1{font-size:clamp(40px,6.5vw,88px);line-height:1;margin:0 0 18px;max-width:900px}
.hero p.lead{font-size:18px;line-height:1.65;max-width:620px;margin:0 0 28px;color:#F0EADB}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* page header (simple, no photo) */
.page-head{background:var(--green);color:#FBF8F1}
.page-head .container{padding:56px 24px 40px}
.page-head h1{font-size:52px;margin:0 0 10px}
.breadcrumb{font-size:13px;color:var(--faint);margin-bottom:10px}
.breadcrumb a{color:var(--faint)}

/* strip */
.strip{background:var(--green);color:var(--cream)}
.strip .container{padding:28px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.strip .t{font-family:var(--font-display);font-size:22px;color:#FBF8F1}
.strip .s{font-size:14px;margin-top:4px}

/* sections */
section.sec{padding:48px 24px}
section.sec.first{padding-top:88px}
section.sec .container{max-width:var(--wrap);margin:0 auto}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.sec-head h2{font-size:48px;color:var(--green)}
.sec-head p{margin:8px 0 0;color:var(--muted)}
.link-strong{font-weight:700}

/* grids */
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:center}

/* category tile */
.cat-tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:22px;border-radius:14px;text-decoration:none;color:#FBF8F1;position:relative;overflow:hidden;background-size:cover;background-position:center}
.cat-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,42,33,.05) 40%,rgba(20,42,33,.75) 100%)}
.cat-tile:hover{transform:translateY(-3px)}
.cat-tile .label,.cat-tile .sub{position:relative}
.cat-tile .label{font-family:var(--font-display);font-size:28px}
.cat-tile .sub{font-size:14px;color:var(--cream);margin-top:4px}

/* product card */
.card{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card .thumb{cursor:pointer;aspect-ratio:4/3;background-size:cover;background-position:center;display:flex;align-items:flex-end;position:relative}
.card .badge{position:absolute;top:12px;left:12px;background:var(--blue);color:#FBF8F1;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.card .body{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .cat-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted3)}
.card .name{font-weight:700;font-size:17px;cursor:pointer;color:var(--ink);text-decoration:none}
.card .short{font-size:14px;color:var(--muted);line-height:1.5}
.card .price-row{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:10px}
.card .price{font-size:20px;font-weight:700;color:var(--green)}
.card .old{text-decoration:line-through;color:#7A847F;font-size:14px}
.card .stock{font-size:13px;color:var(--ok);font-weight:600}
.card .add{margin-top:8px}

/* generic image placeholder frame (used for section photos) */
.photo{border-radius:18px;background-size:cover;background-position:center;position:relative;min-height:320px}
.photo-cap{position:absolute;bottom:14px;left:14px;font-family:var(--font-mono);font-size:11px;color:var(--ink);background:rgba(245,240,228,.85);padding:4px 8px;border-radius:4px}
.photo-cap.right{left:auto;right:14px}
.photo-cap.top{bottom:auto;top:14px}

/* banner / dual block */
.dual{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;border-radius:18px;overflow:hidden;background:var(--blue);color:#FBF8F1}
.dual .text{padding:48px}
.dual .photo{border-radius:0;min-height:320px}
.dual .tag{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#C9D8DC}
.dual h2{font-size:44px;margin:12px 0 16px;color:#FBF8F1}
.dual p{line-height:1.7;color:#E4ECEE;margin:0 0 20px}
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip-static{background:rgba(251,248,241,.14);padding:6px 12px;border-radius:999px;font-size:14px}

/* guide cards */
.guide-card{text-decoration:none;color:var(--ink);background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px}
.guide-card:hover{border-color:var(--green)}
.guide-card .n{font-family:var(--font-mono);font-size:12px;color:var(--blue)}
.guide-card .t{font-family:var(--font-display);font-size:28px;color:var(--green)}
.guide-card .d{line-height:1.6;color:var(--muted)}

/* newsletter */
.newsletter{background:var(--cream)}
.newsletter .container{padding:64px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:center}
.form-row{display:flex;gap:10px;flex-wrap:wrap}
.input-pill{flex:1;min-width:200px;padding:15px 18px;border-radius:999px;border:1px solid var(--border3);background:var(--cream-light)}
.hint{font-size:13px;color:var(--muted)}
.notice-ok{background:var(--green);color:#FBF8F1;padding:20px 24px;border-radius:14px;font-weight:600}

/* about */
.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.stat-box{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;padding:22px}
.stat-box .n{font-family:var(--font-display);font-size:40px;color:var(--green)}
.stat-box .l{font-size:15px}

/* chips */
.chip{padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--border3);color:var(--green);background:var(--cream-light);cursor:pointer;display:inline-block}
.chip.active{color:#FBF8F1;background:var(--green)}
.chip .count{opacity:.7}

/* shop toolbar */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.chips-wrap{display:flex;flex-wrap:wrap;gap:8px}
.sort-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.select{padding:9px 12px;border-radius:8px;border:1px solid var(--border3);background:var(--cream-light)}

/* forms */
.panel{background:var(--cream-light);border:1px solid var(--border2);border-radius:18px;padding:28px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field textarea,.field select{padding:12px 14px;border-radius:10px;border:1px solid var(--border3);background:#fff;font-weight:400}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.checkline{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}
.err-box{background:var(--cream);color:var(--err);padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600}
.option-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;cursor:pointer;border:2px solid var(--border2);background:#fff}
.option-row.sel{border-color:var(--green);background:#EEF2EA}
.option-row .ttl{font-weight:700}
.option-row .sub{font-size:13px;color:var(--muted)}

/* checkout summary */
.summary{position:sticky;top:96px;background:var(--green);color:#FBF8F1;border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px}
.summary .row{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.summary hr{border:0;border-top:1px solid rgba(233,223,201,.25);margin:0;width:100%}
.summary .total{display:flex;justify-content:space-between;font-size:22px;font-weight:700}

/* footer */
footer.site{background:var(--dark);color:var(--cream)}
footer.site .cols{max-width:var(--wrap);margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px}
footer.site .col{display:flex;flex-direction:column;gap:9px;font-size:14px}
footer.site .col a{color:var(--cream);text-decoration:none}
footer.site .col a:hover{text-decoration:underline}
footer.site .col .h{font-weight:700;color:#FBF8F1;margin-bottom:4px}
footer.site .brand{font-family:var(--font-display);font-size:30px;color:#FBF8F1}
footer.site .bottom{max-width:var(--wrap);margin:0 auto;padding:20px 24px 32px;border-top:1px solid rgba(233,223,201,.18);display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-size:13px;color:var(--faint)}
footer.site .bottom a{color:var(--faint)}

/* table */
.tbl-wrap{overflow-x:auto;border:1px solid var(--border2);border-radius:14px;background:var(--cream-light)}
table.tbl{width:100%;border-collapse:collapse;min-width:480px;font-size:15px}
table.tbl thead tr{background:var(--green);color:#FBF8F1;text-align:left}
table.tbl th,table.tbl td{padding:12px 18px}
table.tbl tbody tr{border-top:1px solid var(--border2)}

/* faq */
.faq-item{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;background:transparent;border:0;padding:20px 22px;font-weight:700;font-size:17px;text-align:left;cursor:pointer;color:var(--ink)}
.faq-q .sign{font-size:24px;color:var(--blue)}
.faq-a{margin:0;padding:0 22px 22px;line-height:1.7;color:var(--muted2);display:none}
.faq-item.open .faq-a{display:block}

/* legal content */
.legal{max-width:860px;margin:0 auto;padding:48px 24px 96px;line-height:1.75;color:var(--muted2)}
.legal h2{font-size:28px;color:var(--green);margin:28px 0 10px}
.legal h2:first-child{margin-top:0}

/* cart drawer */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(20,42,33,.45);display:none}
.overlay.open{display:flex;justify-content:flex-end}
.drawer{width:min(420px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border)}
.drawer-head .t{font-family:var(--font-display);font-size:28px;color:var(--green)}
.icon-btn{background:transparent;border:0;font-size:28px;cursor:pointer;color:var(--green);line-height:1}
.progress{padding:16px 24px;border-bottom:1px solid var(--border)}
.progress-bar{height:6px;border-radius:3px;background:var(--border2);overflow:hidden;margin-top:8px}
.progress-bar>span{display:block;height:100%;background:var(--green)}
.drawer-items{flex:1;overflow:auto;padding:16px 24px;display:flex;flex-direction:column;gap:14px}
.drawer-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.drawer-item .thumb{width:64px;height:64px;border-radius:10px;background-size:cover;background-position:center}
.qty-ctl{display:flex;align-items:center;gap:8px;margin-top:6px}
.qty-ctl button{width:28px;height:28px;border-radius:50%;border:1px solid var(--border3);background:var(--cream-light);cursor:pointer}
.remove-link{background:transparent;border:0;color:var(--err);font-size:13px;cursor:pointer;text-decoration:underline}
.drawer-foot{padding:20px 24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}

/* product modal */
.modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(20,42,33,.5);display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:var(--cream-light);border-radius:18px;max-width:880px;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.modal-box .img{min-height:320px;background-size:cover;background-position:center}
.modal-box .info{padding:32px;display:flex;flex-direction:column;gap:12px}
.modal-box ul{margin:0;padding-left:18px;line-height:1.8;color:var(--muted2)}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:70;background:var(--green);color:#FBF8F1;padding:14px 22px;border-radius:999px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.2);display:none}
.toast.show{display:block}

/* cookie banner */
.cookiebar{position:fixed;left:20px;right:20px;bottom:20px;z-index:80;max-width:560px;background:var(--cream-light);border:1px solid var(--border3);border-radius:18px;padding:24px;box-shadow:0 12px 40px rgba(20,42,33,.25);display:none}
.cookiebar.show{display:block}
.cookiebar .t{font-family:var(--font-display);font-size:24px;color:var(--green);margin-bottom:8px}
.cookiebar p{margin:0 0 16px;line-height:1.6;font-size:14px;color:var(--muted2)}
.cookie-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;font-size:14px}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}

/* month / region pickers */
.pickbar{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:28px}
.pickbar button{padding:12px 0;border-radius:10px;border:1px solid var(--border3);font-weight:700;cursor:pointer;color:var(--green);background:var(--cream-light)}
.pickbar button.active{color:#FBF8F1;background:var(--blue)}

/* quiz */
.quiz-box{background:var(--green);color:#FBF8F1;border-radius:14px;padding:28px;min-height:280px}
.quiz-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--faint);line-height:1.6}
.quiz-grid{display:grid;grid-template-columns:110px 1fr;gap:10px 16px;font-size:15px;line-height:1.5}
.quiz-grid span:nth-child(odd){color:var(--faint)}
.quiz-note{margin:18px 0;padding:14px;background:rgba(233,223,201,.12);border-radius:10px;line-height:1.6;font-size:14px}

/* seasons/places */
.month-box{background:var(--blue);color:#FBF8F1;border-radius:18px;padding:36px}
.month-box h2{font-size:44px;margin:0 0 16px}
.month-box p{line-height:1.75;margin:0;color:#E4ECEE;font-size:17px}
.fact-box{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;padding:20px;margin-bottom:12px}
.fact-box .lbl{font-size:13px;color:var(--muted3);text-transform:uppercase;letter-spacing:1px}
.fact-box .val{font-weight:600;margin-top:6px;line-height:1.5}
.fact-box .val.lg{font-family:var(--font-display);font-size:30px;color:var(--green);font-weight:400}

.place-card{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;overflow:hidden}
.place-card .img{height:170px;background-size:cover;background-position:center;position:relative}
.place-card .body{padding:22px}
.place-tags{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.tag-a{font-size:12px;font-weight:700;background:var(--cream);padding:4px 10px;border-radius:999px}
.tag-b{font-size:12px;font-weight:700;background:#DCE6E8;color:var(--blue);padding:4px 10px;border-radius:999px}
.place-card h3{font-size:26px;margin:0 0 8px;color:var(--green)}
.place-card p{line-height:1.65;margin:0 0 12px;color:var(--muted2);font-size:15px}

/* articles */
.article-card{padding:28px;border-top:3px solid var(--green);background:var(--cream-light);border-radius:0 0 14px 14px}
.article-card h3{font-size:28px;margin:0 0 12px;color:var(--green)}
.article-card p{line-height:1.7;margin:0 0 12px;color:var(--muted2)}

.step-card{display:grid;grid-template-columns:56px 1fr;gap:16px;background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;padding:22px}
.step-card .num{font-family:var(--font-display);font-size:36px;color:var(--blue)}

.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 28px;line-height:1.6}

.knot-card{background:var(--cream-light);border:1px solid var(--border2);border-radius:14px;overflow:hidden}
.knot-card .img{height:140px;background-size:cover;background-position:center}
.knot-card .body{padding:18px}
.knot-card p{margin:8px 0 0;line-height:1.6;font-size:15px;color:var(--muted2)}

@media (max-width:720px){
  .hero{min-height:480px}
  .sec-head h2{font-size:34px}
  footer.site .cols{padding:48px 24px 24px}
}
