/* ── Kóbor Macska Fogadó – közös stíluslap (minden oldal ezt linkeli) ── */
:root{--ink:#16140f;--ink2:#1d1b15;--paper:#f7f4ee;--card:#fffdf9;--line:#e4ddd0;--muted:#5f5a4e;--faint:#9a9384;--gold:#9a7b43;--gold-d:#7a5f30;--forest:#1f4d3a;--forest-l:#e8efe9}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
.serif{font-family:'Fraunces',Georgia,serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
a{color:inherit}
img{max-width:100%}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:13px 24px;font-weight:600;text-decoration:none;transition:.18s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-d)}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{opacity:.9}
.btn-outline{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-outline:hover{border-color:var(--gold)}
.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);font-weight:600}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.mark{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600}
.brand b{font-family:'Fraunces',serif;font-weight:600;font-size:17px;letter-spacing:-.01em;display:block}
.brand span{display:block;font-size:11px;color:var(--faint);font-weight:400;letter-spacing:.04em}
nav.links{display:flex;gap:24px;align-items:center}
nav.links a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:500}
nav.links a:hover,nav.links a.active{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:20px;color:var(--ink);align-items:center;justify-content:center}
.mobilemenu{display:none;flex-direction:column;border-top:1px solid var(--line);background:var(--paper)}
.mobilemenu.open{display:flex}
.mobilemenu a{padding:14px 24px;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:1px solid #f0ece3}
.mobilemenu a.book{color:var(--gold-d);font-weight:600}
@media(max-width:880px){nav.links{display:none}.nav-cta .btn{display:none}.burger{display:flex}}

/* hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;background:#2a2a26}
.hero.tall{min-height:86vh}
.hero::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;background-image:linear-gradient(180deg,rgba(20,18,12,.28),rgba(20,18,12,.8)),var(--hero-img)}
.hero-in{position:relative;padding:0 0 56px;max-width:760px}
.hero .kicker{color:#e9c98a}
.hero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(34px,6vw,62px);line-height:1.04;letter-spacing:-.02em;margin:14px 0 18px}
.hero p.l{font-size:19px;color:#ece7dc;max-width:56ch;margin-bottom:26px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.rating{display:inline-flex;align-items:center;gap:9px;margin-left:6px;color:#f3ecdd;font-size:14px}
.rating b{font-family:'Fraunces',serif;font-size:20px;color:#fff}
.stars{color:#e9c98a;letter-spacing:1px}

/* sections */
section{padding:74px 0}
.eyebrow{margin-bottom:14px}
h2.sec{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(27px,4vw,40px);letter-spacing:-.01em;line-height:1.1;margin-bottom:18px}
p.lead{font-size:18px;color:var(--muted);max-width:64ch;margin-bottom:14px}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media(max-width:820px){.two{grid-template-columns:1fr;gap:28px}}
.imgcard{border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(40,30,10,.4)}
.imgcard img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}

/* camp price cards (elsődleges ajánlat) */
.camp2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
@media(max-width:760px){.camp2{grid-template-columns:1fr}}
.cc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;position:relative;display:flex;flex-direction:column}
.cc.big{border-color:var(--gold);box-shadow:0 20px 50px -30px rgba(122,95,48,.55)}
.cc .flag{position:absolute;top:-12px;left:24px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:8px}
.cc .nm{font-family:'Fraunces',serif;font-size:26px;font-weight:600}
.cc .pr{font-family:'Fraunces',serif;font-size:34px;font-weight:600;color:var(--gold-d);margin:8px 0 2px}
.cc .pr small{font-size:15px;color:var(--faint);font-weight:400}
.cc ul{list-style:none;margin:16px 0 22px}
.cc li{padding:8px 0;border-top:1px solid #f0ece3;font-size:15px;color:var(--muted);display:flex;gap:10px}
.cc li::before{content:"✓";color:var(--forest);font-weight:700}
.cc .btn{margin-top:auto;justify-content:center}

/* theme grid */
.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
@media(max-width:820px){.themes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.themes{grid-template-columns:1fr}}
.th{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--card)}
.th .tn{font-family:'Fraunces',serif;font-size:18px;font-weight:600}
.th .td{font-size:13.5px;color:var(--muted);margin-top:5px}

/* kafka block */
.kafka{background:var(--ink);color:#e9e3d6}
.kafka .kicker{color:#caa867}.kafka h2.sec{color:#fff}
.kafka .q{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:#f0e6cf;max-width:60ch;line-height:1.45;margin-bottom:16px}
.kafka p{color:#bdb6a6;max-width:64ch}

/* generic cards / rhythm */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
@media(max-width:820px){.cards3{grid-template-columns:1fr}}
.c{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.c .t{font-family:'Fraunces',serif;font-size:20px;font-weight:600;margin-bottom:6px}
.c p{color:var(--muted);font-size:14.5px}
.amen{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.amen span{font-size:13px;background:var(--forest-l);color:var(--forest);border-radius:999px;padding:5px 13px;font-weight:500}

/* communication block */
.comm{background:linear-gradient(180deg,#f3efe6,var(--paper));border-top:1px solid var(--line)}
.commgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:820px){.commgrid{grid-template-columns:1fr;gap:26px}}
.commform{display:flex;flex-direction:column;gap:12px}
.commform input,.commform textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;outline:none;font:inherit}
.commform input:focus,.commform textarea:focus{border-color:#34d399}
.commform button{align-self:flex-start;margin-top:4px}
.formnote{font-size:13px;color:var(--faint);margin-top:10px}
.cinfo .row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cinfo .row .k{font-size:13px;color:var(--faint);width:96px;flex:none}
.cinfo .row a{font-weight:500;text-decoration:none;color:var(--ink)}
.mapbox{border-radius:16px;overflow:hidden;border:1px solid var(--line);margin-top:18px}
.mapbox iframe{width:100%;height:240px;border:0;display:block}

/* footer */
footer{background:var(--ink);color:#cfc8b8;padding:44px 0 28px}
.frow{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.frow .brand b,.frow .brand span{color:#fff}
.fnav{display:flex;gap:20px;flex-wrap:wrap}
.fnav a{color:#cfc8b8;text-decoration:none;font-size:14px}.fnav a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:36px;height:36px;border:1px solid #3a382f;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#cfc8b8;text-decoration:none}
.social a:hover{border-color:var(--gold);color:#fff}
.fbot{margin-top:28px;padding-top:18px;border-top:1px solid #2c2a22;font-size:12px;color:#8b8576;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ── 2026-frissítés: szállásajánlatok, felárak, kiemelt promó, recepció ── */
.recstrip{background:var(--forest-l);border-bottom:1px solid var(--line)}
.recstrip .recrow{display:flex;align-items:center;gap:20px;padding:18px 0;flex-wrap:wrap}
.recstrip .badge{flex:none;font-family:'Fraunces',serif;font-weight:600;color:#fff;background:var(--forest);border-radius:10px;padding:8px 13px;font-size:14px;letter-spacing:.02em}
.recstrip .tx{flex:1;min-width:240px}
.recstrip .tx b{font-family:'Fraunces',serif;color:var(--forest);font-size:16px}
.recstrip .tx p{font-size:14px;color:var(--muted);margin-top:2px}
.recstrip .btn{flex:none}
@media(max-width:560px){.recstrip .btn{width:100%;justify-content:center}}

/* árdoboz alcím + felárpanel */
.cc .meta{font-size:13.5px;color:var(--faint);margin:-2px 0 4px}
.fees{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 26px;margin-top:22px}
.fees h3{font-family:'Fraunces',serif;font-weight:600;font-size:18px;margin-bottom:8px}
.fees .frow{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #f0ece3;font-size:14.5px;color:var(--muted)}
.fees .frow:first-of-type{border-top:none}
.fees .frow b{color:var(--ink);font-weight:600;white-space:nowrap}
.fees .note{font-size:13px;color:var(--faint);margin-top:14px;line-height:1.55}

/* kiemelt nyári promó */
.promo{background:linear-gradient(135deg,var(--forest),#15392a);color:#fff;border-radius:22px;padding:40px 36px;box-shadow:0 24px 60px -34px rgba(31,77,58,.7)}
.promo .tag{display:inline-block;background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;border-radius:8px;margin-bottom:16px}
.promo h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(26px,4vw,38px);line-height:1.1;margin-bottom:6px;color:#fff}
.promo .big{font-family:'Fraunces',serif;font-size:clamp(34px,6vw,52px);color:#e9c98a;font-weight:600;line-height:1.05;margin:6px 0 4px}
.promo p{color:#d6e1d8;max-width:56ch;margin:10px 0 22px}
.promo .btn-gold{background:var(--gold)}.promo .btn-gold:hover{background:#b8924f}

/* két oszlopos kártyák (jövőkép) + kis árcímke */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
@media(max-width:760px){.cards2{grid-template-columns:1fr}}
.tag-soft{display:inline-block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--gold-d);background:var(--forest-l);padding:4px 11px;border-radius:7px;margin-bottom:12px}
.c .price-sm{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--gold-d);margin:10px 0 2px}
.c .price-sm small{font-size:13px;color:var(--faint);font-weight:400}
.c .more{display:inline-block;margin-top:14px;font-weight:600;color:var(--forest);text-decoration:none;font-size:14.5px}
.c .more:hover{color:var(--gold-d)}

/* úticél-lista (kirándulások) */
.dest{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dest span{font-family:'Fraunces',serif;font-size:15px;color:var(--forest);background:var(--forest-l);border:1px solid #d6e3d8;border-radius:999px;padding:7px 16px;font-weight:500}

/* ── jogi oldalak: ÁSZF, adatvédelmi tájékoztató ── */
.legal{max-width:820px;margin:0 auto}
.legal .updated{font-size:13px;color:var(--faint);margin:0 0 6px}
.legal>p.intro{font-size:16px;color:var(--muted);line-height:1.7;margin:6px 0 8px}
.legal h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(19px,2.6vw,25px);color:var(--forest);margin:34px 0 10px;padding-top:20px;border-top:1px solid var(--line)}
.legal h2:first-of-type{border-top:none;padding-top:4px;margin-top:6px}
.legal h3{font-weight:600;font-size:16px;margin:18px 0 4px;color:var(--ink)}
.legal p,.legal li{font-size:15.5px;line-height:1.72;color:var(--muted)}
.legal p{margin:8px 0}
.legal ul{margin:8px 0;padding-left:22px}
.legal li{margin:5px 0}
.legal strong{color:var(--ink)}
.legal a{color:var(--forest);text-decoration:underline;text-underline-offset:2px}
.legal .box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 22px;margin:16px 0}
.legal .box p{margin:5px 0}
.legal table.dt{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px}
.legal table.dt th,.legal table.dt td{text-align:left;padding:10px 12px;border:1px solid var(--line);vertical-align:top;color:var(--muted)}
.legal table.dt th{color:var(--ink);font-weight:600;background:var(--forest-l);width:30%}
.legal .todo{background:#fff3d6;color:#7c5c1b;padding:1px 6px;border-radius:4px;font-weight:600;font-size:.92em}
