/* =====================================================================
   Ferienhaus Flueeli - sitebuild
   Minden, ami ennek a weboldalnak a kinezete. A style.css URES (csak header).
   Bootstrap 5 a keretrendszer; itt csak a sajat retegunk van.
   ===================================================================== */

/* =========================================================================
   1. VALTOZOK
   ========================================================================= */
:root{
  --brand:#719430;
  --brand-dark:#56751b;
  --brand-darker:#425719;
  --brand-footer:#658529;
  --brand-light:#ecf2e1;
  --brand-cream:#f3ffde;
  --text:#222222;
  --meta:#7a7a7a;
  --border:#e1e1e1;
  --header-h:90px;
  --header-h-shrink:64px;
  /* A logo-kicsinyites es a hatter valtas KOZOS ideje - kulonben
     csuszik egymashoz kepest a ket animacio. */
  --header-anim:.28s;
  --font-body:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
}

/* =========================================================================
   2. BOOTSTRAP PRIMARY / SECONDARY UJRADEFINIALAS
   Igy a Bootstrap sajat .btn-primary / .btn-secondary is a brandet hasznalja,
   es nem kell mindenhol sajat class.
   ========================================================================= */
.btn-primary{
  --bs-btn-bg:var(--brand);
  --bs-btn-border-color:var(--brand);
  --bs-btn-hover-bg:var(--brand-dark);
  --bs-btn-hover-border-color:var(--brand-dark);
  --bs-btn-active-bg:var(--brand-darker);
  --bs-btn-active-border-color:var(--brand-darker);
  --bs-btn-disabled-bg:var(--brand);
  --bs-btn-disabled-border-color:var(--brand);
  --bs-btn-color:#fff;
  --bs-btn-hover-color:#fff;
  --bs-btn-active-color:#fff;
  border-width:2px;border-radius:3px;font-weight:700;letter-spacing:.02em;
  padding:13px 28px;
}
.btn-secondary{
  --bs-btn-bg:transparent;
  --bs-btn-border-color:var(--brand);
  --bs-btn-color:var(--brand-dark);
  --bs-btn-hover-bg:var(--brand);
  --bs-btn-hover-border-color:var(--brand);
  --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--brand-dark);
  --bs-btn-active-border-color:var(--brand-dark);
  --bs-btn-active-color:#fff;
  border-width:2px;border-radius:3px;font-weight:700;letter-spacing:.02em;
  padding:13px 28px;
}
/* Hero-n a secondary feher keretes (sotet hatteren) */
.hero .btn-secondary{
  --bs-btn-border-color:#fff;
  --bs-btn-color:#fff;
  --bs-btn-hover-bg:#fff;
  --bs-btn-hover-border-color:#fff;
  --bs-btn-hover-color:var(--brand-darker);
}

.btn-lg-brand{
  background:var(--brand);border:2px solid var(--brand);color:#fff;
  padding:14px 34px;border-radius:3px;font-weight:700;letter-spacing:.02em;
  text-decoration:none;display:inline-block;transition:background .25s ease,border-color .25s ease;
}
.btn-lg-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;}

/* =========================================================================
   3. ALAP
   ========================================================================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* Sticky+shrink menu miatt az anchor klikkeket offsetelni kell */
html{scroll-padding-top:calc(var(--header-h-shrink) + 16px);}
:target{scroll-margin-top:calc(var(--header-h-shrink) + 16px);}

body{
  font-family:var(--font-body);
  color:var(--text);
  margin:0;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand-dark);text-decoration:none;}
a:hover{color:var(--brand);}
h1,h2,h3,h4{font-weight:600;color:var(--text);}
img{max-width:100%;height:auto;display:block;}

/* Fokusz-keret inputokra (Inteliza irányelv) */
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:1px;
}

/* A [hidden] gyengebb barmely szerzoi display szabalynal */
[hidden]{display:none !important;}

.sr-only,.visually-hidden{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:2100;
  background:var(--brand);color:#fff;padding:12px 20px;border-radius:0 0 4px 0;
}
.skip-link:focus{left:0;color:#fff;}

/* =========================================================================
   4. HEADER / MENU
   Sticky + shrink; lefele gorgetve eltunik, felfele elobujik.
   ========================================================================= */
#site-header{
  position:fixed;top:0;left:0;width:100%;z-index:1030;
  height:var(--header-h);
  transition:
    height var(--header-anim) ease,
    background-color var(--header-anim) ease,
    box-shadow var(--header-anim) ease,
    transform .35s ease;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
#site-header.on-hero{background:transparent;box-shadow:none;}
/* A hero felett a logo zold doboza kap egy halk arnyekot, hogy vilagos
   egszakasz elott se olvadjon bele a kepbe. */
#site-header.on-hero .logo-box{box-shadow:0 4px 18px rgba(0,0,0,.28);}
#site-header.on-hero .icon-btn{backdrop-filter:blur(2px);}
#site-header.shrink{height:var(--header-h-shrink);}
#site-header.hide{transform:translateY(-100%);}

.header-inner{
  max-width:1300px;margin:0 auto;height:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;
}

/* Logo - zold negyzet, extra padding/margo */
.logo-box{
  display:flex;align-items:center;gap:10px;
  background:var(--brand);
  padding:5px 7px;
  margin:5px 0;
  border-radius:4px;
  transition:
    padding var(--header-anim) ease,
    margin var(--header-anim) ease,
    background-color var(--header-anim) ease;
}
#site-header.shrink .logo-box{padding:4px 6px;margin:3px 0;}
.logo-box .logo-img{
  height:64px;width:auto;display:block;border-radius:3px;
  transition:height var(--header-anim) ease;
}
#site-header.shrink .logo-box .logo-img{height:50px;}

/* Desktop nav */
.main-nav{display:flex;align-items:center;gap:2px;margin:0;padding:0;}
.main-nav li{position:relative;list-style:none;}
.main-nav > li > a{
  display:block;padding:10px 14px;font-size:.86rem;font-weight:600;
  letter-spacing:.02em;color:var(--text);border-radius:3px;
  transition:color var(--header-anim) ease,background-color var(--header-anim) ease;
}
#site-header.on-hero .main-nav > li > a{color:#fff;}
#site-header.on-hero .icon-btn{color:#fff;border-color:rgba(255,255,255,.55);}
.main-nav > li > a:hover,
.main-nav > li.current-menu-item > a,
.main-nav > li.current-menu-ancestor > a,
.main-nav > li.current_page_item > a{color:var(--brand);}
#site-header.on-hero .main-nav > li > a:hover,
#site-header.on-hero .main-nav > li.current-menu-item > a,
#site-header.on-hero .main-nav > li.current-menu-ancestor > a{
  color:#fff;text-decoration:underline;text-underline-offset:4px;
}

/* Dropdown (WP sub-menu) */
.main-nav .sub-menu{
  position:absolute;top:100%;left:50%;
  background:#fff;border-top:3px solid var(--brand);
  box-shadow:0 20px 40px rgba(0,0,0,.14);
  min-width:250px;padding:10px 0;margin:0;border-radius:0 0 6px 6px;
  list-style:none;
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
  z-index:10;
}
.main-nav > li:hover > .sub-menu,
.main-nav > li:focus-within > .sub-menu{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.main-nav .sub-menu a{
  display:flex;align-items:center;gap:8px;padding:9px 20px;
  font-size:.83rem;color:var(--text);white-space:nowrap;
}
.main-nav .sub-menu a i,
.main-nav .sub-menu a .menu-icon{color:var(--brand);width:16px;text-align:center;flex:none;}
.main-nav .sub-menu a:hover{background:var(--brand-light);color:var(--brand-dark);}

.header-actions{display:flex;align-items:center;gap:6px;}
.icon-btn{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;background:transparent;
  color:var(--text);transition:all .25s ease;cursor:pointer;
}
.icon-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
#burger-btn{display:none;border:none;border-radius:0;background:transparent;}
#burger-btn:hover{background:transparent;color:var(--brand);}

/* Nyelvvalto */
.lang-switch{display:flex;align-items:center;gap:4px;margin-right:6px;}
.lang-switch a{
  font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:5px 8px;border-radius:3px;color:var(--meta);
}
.lang-switch a.active{background:var(--brand);color:#fff;}
#site-header.on-hero .lang-switch a{color:rgba(255,255,255,.8);}
#site-header.on-hero .lang-switch a.active{background:rgba(255,255,255,.22);color:#fff;}

/* Kereses popover */
.search-pop{
  position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:6px;
  box-shadow:0 15px 35px rgba(0,0,0,.18);padding:12px;width:280px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s ease;
  z-index:20;
}
.search-pop.open{opacity:1;visibility:visible;transform:translateY(0);}
.search-pop form{display:flex;gap:6px;}
.search-pop input{flex:1;border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:.85rem;}
.search-pop button{background:var(--brand);border:none;color:#fff;border-radius:4px;padding:0 12px;}

/* =========================================================================
   5. MOBIL MENU - jobbrol usszon be, ne toltse ki a teljes kepet
   ========================================================================= */
#mobile-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1050;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
#mobile-overlay.open{opacity:1;visibility:visible;}
#mobile-menu{
  position:fixed;top:0;right:0;height:100%;width:320px;max-width:86%;
  background:#fff;z-index:1060;transform:translateX(100%);
  transition:transform .35s cubic-bezier(.75,0,.25,1);
  display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.2);
}
#mobile-menu.open{transform:translateX(0);}
.mm-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid var(--border);background:var(--brand);color:#fff;
}
.mm-head strong{font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;}
.mm-head button{background:none;border:none;color:#fff;font-size:1.3rem;line-height:1;}
.mm-body{overflow-y:auto;flex:1;padding:6px 0;}
.mm-body ul{list-style:none;margin:0;padding:0;}
.mm-body > ul > li{border-bottom:1px solid var(--border);}
.mm-link-row{display:flex;align-items:stretch;}
/* Teljes szelesseg kattinthato, nem csak a link szovege */
.mm-link-row > a{flex:1;padding:15px 18px;font-weight:600;font-size:.95rem;color:var(--text);display:flex;align-items:center;gap:10px;}
.mm-link-row > a:hover{color:var(--brand);}
.mm-toggle{
  width:52px;border:none;background:transparent;border-left:1px solid var(--border);
  color:var(--meta);font-size:.85rem;flex:none;
}
.mm-toggle i{transition:transform .25s ease;}
.mm-toggle[aria-expanded="true"] i{transform:rotate(180deg);}
/* Accordion: felcsukva indul */
.mm-sub{list-style:none;margin:0;padding:0;max-height:0;overflow:hidden;background:var(--brand-light);transition:max-height .3s ease;}
.mm-sub.open{max-height:600px;}
.mm-sub a{display:flex;align-items:center;gap:10px;padding:12px 18px 12px 34px;font-size:.86rem;color:var(--brand-darker);}
.mm-sub a i,.mm-sub a .menu-icon{color:var(--brand);width:16px;text-align:center;flex:none;}
.mm-search{padding:16px 18px;border-top:1px solid var(--border);}
.mm-search form{display:flex;gap:8px;}
.mm-search input{flex:1;border:1px solid var(--border);border-radius:4px;padding:9px 10px;}
.mm-search button{background:var(--brand);border:none;color:#fff;border-radius:4px;padding:0 14px;}
.mm-lang{display:flex;gap:6px;padding:12px 18px;border-top:1px solid var(--border);}
.mm-lang a{
  font-size:.78rem;font-weight:700;text-transform:uppercase;
  padding:6px 12px;border:1px solid var(--border);border-radius:3px;color:var(--meta);
}
.mm-lang a.active{background:var(--brand);border-color:var(--brand);color:#fff;}

/* =========================================================================
   6. HERO
   ========================================================================= */
.hero{
  position:relative;min-height:86vh;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
}
.hero-slide{
  position:relative;min-height:86vh;display:flex;align-items:center;justify-content:center;
}
.hero-img,.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;
  z-index:0;
}
.hero::before,.hero-slide::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,30,10,.32) 0%,rgba(20,30,10,.6) 100%);
}
.hero-content{position:relative;z-index:2;max-width:760px;padding:0 20px;}
.hero-content h1{color:#fff;font-size:2.6rem;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.hero-content h2{color:#fff;font-size:2.1rem;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.hero-content p.lead{color:#f3ffe4;font-size:1.15rem;margin-bottom:1.7rem;text-shadow:0 1px 6px rgba(0,0,0,.3);}
.hero-buttons a{margin:0 6px 8px;}

/* CLS: slick init elott csak az elso slide latszik.
   A :not() miatt a szabaly init utan magatol hatalyat veszti. */
.hero-slider:not(.slick-initialized) > .hero-slide:not(:first-child){display:none;}
.hero-slider .slick-dots{bottom:26px;z-index:3;}
.hero-slider .slick-dots li button:before{color:#fff;opacity:.5;font-size:10px;}
.hero-slider .slick-dots li.slick-active button:before{color:#fff;opacity:1;}
.hero-slider .slick-arrow{
  z-index:3;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);
  display:flex !important;align-items:center;justify-content:center;
}
.hero-slider .slick-arrow:hover{background:var(--brand);}
.hero-slider .slick-prev{left:24px;}
.hero-slider .slick-next{right:24px;}
.hero-slider .slick-arrow:before{font-family:"Font Awesome 6 Free";font-weight:900;opacity:1;font-size:1.1rem;}
.hero-slider .slick-prev:before{content:'\f053';}
.hero-slider .slick-next:before{content:'\f054';}

/* =========================================================================
   7. ALTALANOS OLDALFEJ (nem fooldal)
   ========================================================================= */
.page-hero{
  padding:150px 0 60px;background:var(--brand-light);
  border-bottom:1px solid var(--border);text-align:center;
}
.page-hero h1{font-size:2.1rem;color:var(--brand-darker);margin:0;}
.page-hero p{color:var(--meta);max-width:640px;margin:8px auto 0;}

/* =========================================================================
   8. VERFUGBARKEIT PRUFEN
   ========================================================================= */
.avail-box{
  background:#fff;border:1px solid var(--border);border-radius:8px;
  box-shadow:0 20px 45px rgba(66,87,25,.14);
  margin-top:-70px;position:relative;z-index:5;
  padding:26px 28px;max-width:920px;margin-left:auto;margin-right:auto;
}
.avail-box h2,.avail-box h5{color:var(--brand-darker);font-weight:700;margin-bottom:14px;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;}
.avail-box label{font-size:.78rem;font-weight:600;color:var(--meta);text-transform:uppercase;letter-spacing:.03em;}
.avail-box .form-control{border-radius:3px;border-color:var(--border);padding:10px 12px;}
.avail-box .btn-primary{width:100%;padding:11px 10px;}
.avail-note{
  background:var(--brand-light);border:1px solid #d1ddbc;border-radius:6px;
  padding:12px 16px;color:var(--brand-darker);font-size:.9rem;margin:1.5rem 0;
}

/* =========================================================================
   9. GALERIA - fooldali mozaik
   ========================================================================= */
.gallery-grid{
  display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:160px;grid-auto-flow:dense;gap:8px;
}
.gallery-grid .g-item{border-radius:5px;overflow:hidden;cursor:pointer;position:relative;display:block;}
.gallery-grid .g-item:first-child{grid-column:span 2;grid-row:span 2;}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.gallery-grid .g-item:hover img{transform:scale(1.08);}
.gallery-grid .g-item::before{
  content:'\f00e';font-family:"Font Awesome 6 Free";font-weight:900;color:#fff;
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;background:rgba(66,87,25,0);opacity:0;transition:all .3s ease;z-index:2;
}
.gallery-grid .g-item:hover::before{opacity:1;background:rgba(66,87,25,.35);}

/* =========================================================================
   10. GALERIA OLDAL - 1 sorban 5 kep
   ========================================================================= */
.gal-section{margin-bottom:48px;}
.gal-section h2,.gal-section h3{
  font-size:1.1rem;font-weight:600;color:var(--brand-dark);margin-bottom:6px;
  padding-bottom:8px;border-bottom:2px solid var(--brand-light);
}
.gal-count{font-weight:400;color:var(--meta);font-size:.9rem;}
.gal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px;}
.gal-item{
  aspect-ratio:4/3;border-radius:4px;overflow:hidden;cursor:pointer;
  position:relative;background:var(--brand-light);display:block;
}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.gal-item:hover img{transform:scale(1.07);}
.gal-item::after{content:'';position:absolute;inset:0;background:rgba(66,87,25,0);transition:background .3s ease;}
.gal-item:hover::after{background:rgba(66,87,25,.22);}

/* =========================================================================
   11. LIGHTBOX
   ========================================================================= */
#lightbox{
  position:fixed;inset:0;background:rgba(10,15,5,.92);z-index:2000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
#lightbox.open{opacity:1;visibility:visible;}
#lightbox .lb-inner{width:min(900px,90vw);height:min(600px,72vh);position:relative;}
#lightbox #lb-photo-img{width:100%;height:100%;object-fit:contain;border-radius:4px;background:#000;}
#lightbox .lb-close,#lightbox .lb-prev,#lightbox .lb-next{
  position:absolute;background:rgba(255,255,255,.12);border:none;color:#fff;
  width:46px;height:46px;border-radius:50%;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;
}
#lightbox .lb-close:hover,#lightbox .lb-prev:hover,#lightbox .lb-next:hover{background:var(--brand);}
#lightbox .lb-close{top:-58px;right:0;}
#lightbox .lb-prev{left:-60px;top:50%;transform:translateY(-50%);}
#lightbox .lb-next{right:-60px;top:50%;transform:translateY(-50%);}
#lightbox .lb-caption{
  position:absolute;bottom:-40px;left:0;right:0;text-align:center;
  color:#dfe9cf;font-size:.85rem;
}

/* =========================================================================
   12. IDEZET SZEKCIO
   ========================================================================= */
.quote-section{padding:90px 0;text-align:center;background:#fff;}
.quote-section h2{
  font-family:var(--font-display);font-style:italic;font-weight:600;
  font-size:2.1rem;color:var(--brand-darker);max-width:820px;margin:0 auto 26px;line-height:1.35;
}
.quote-section .welcome-text{max-width:760px;margin:0 auto;color:#444;font-size:1.03rem;line-height:1.8;}
.uf-quote{
  font-family:var(--font-display);font-style:italic;font-weight:600;
  font-size:1.3rem;color:var(--brand-darker);border-left:3px solid var(--brand);
  padding:6px 0 6px 20px;margin:1.6rem 0;
}

/* =========================================================================
   13. TABOK
   ========================================================================= */
.feri-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px;}
.feri-tabs button{
  border:1px solid var(--border);background:#fff;color:var(--text);
  padding:11px 20px;border-radius:30px;font-weight:600;font-size:.85rem;
  display:flex;align-items:center;gap:8px;transition:all .25s ease;cursor:pointer;
}
.feri-tabs button i{color:var(--brand);}
.feri-tabs button:hover{border-color:var(--brand);}
.feri-tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff;}
.feri-tabs button.active i{color:#fff;}
.feri-tabs--small{justify-content:flex-start;margin-bottom:24px;}
.feri-tabs--small button{padding:9px 18px;font-size:.82rem;}
.feri-pane{display:none;}
.feri-pane.active{display:block;}

/* =========================================================================
   14. LINK KARTYAK
   ========================================================================= */
.link-card{
  display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:6px;
  padding:14px 16px;margin-bottom:10px;transition:all .25s ease;color:var(--text);
  text-decoration:none;
}
.link-card:hover{
  border-color:var(--brand);box-shadow:0 8px 20px rgba(113,148,48,.15);
  transform:translateY(-2px);color:var(--brand-dark);
}
.link-card i{font-size:1.3rem;color:var(--brand);flex:none;}
.link-card span small{display:block;color:var(--meta);font-size:.76rem;}
.gb-list .link-card{margin-bottom:8px;}

.icon-list{list-style:none;margin:0;padding:0;}
.icon-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px dashed var(--border);}
.icon-list li i{color:var(--brand);margin-top:3px;width:18px;text-align:center;}

/* Kartya: a TELJES felulet kattinthato, nem csak a szoveg */
.feri-card{
  display:block;border:1px solid var(--border);border-radius:8px;overflow:hidden;
  background:#fff;color:var(--text);text-decoration:none;height:100%;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.feri-card:hover{
  transform:translateY(-4px);box-shadow:0 14px 30px rgba(66,87,25,.14);
  border-color:var(--brand);color:var(--text);
}
.feri-card .card-thumb{overflow:hidden;aspect-ratio:4/3;background:var(--brand-light);}
.feri-card .card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.feri-card:hover .card-thumb img{transform:scale(1.06);}
.feri-card .card-body{padding:20px 22px;}
.feri-card h2,.feri-card h3{font-size:1.05rem;color:var(--brand-darker);margin:0 0 8px;}
.feri-card .card-meta{font-size:.78rem;color:var(--meta);margin-bottom:10px;}
.feri-card p{color:#444;font-size:.92rem;line-height:1.65;margin:0;}

/* =========================================================================
   15. FOLYOSZOVEG (Preise, Unser Ferienhaus)
   ========================================================================= */
.entry-content h2,.preise-content h2{margin-top:2.4rem;margin-bottom:1rem;color:var(--brand-darker);}
.entry-content > h2:first-child,.preise-content h2:first-child{margin-top:0;}
.entry-content h3,.preise-content h3{margin-top:2rem;margin-bottom:1rem;color:var(--brand-darker);font-size:1.2rem;}
.entry-content p,.preise-content p{margin-bottom:1rem;line-height:1.75;color:#333;}
.entry-content ol,.preise-content ol{margin-bottom:1.2rem;padding-left:1.3rem;}
.entry-content ol li,.preise-content ol li{margin-bottom:.7rem;line-height:1.7;color:#333;}
.entry-content ul,.preise-content ul{margin-bottom:1.2rem;padding-left:1.3rem;}
.entry-content ul li,.preise-content ul li{margin-bottom:.5rem;line-height:1.7;color:#333;}
.entry-content a,.preise-content a{text-decoration:underline;text-underline-offset:2px;}
.entry-content img{border-radius:6px;margin:1.4rem 0;}

/* =========================================================================
   16. ACCORDION
   ========================================================================= */
.accordion-list{border-top:1px solid var(--border);margin-top:1.5rem;}
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:none;padding:16px 4px;text-align:left;
  font-weight:700;font-size:1rem;color:var(--brand-darker);cursor:pointer;
}
.accordion-head i{color:var(--brand);transition:transform .25s ease;flex:none;margin-left:12px;}
.accordion-item.open .accordion-head i{transform:rotate(180deg);}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.accordion-item.open .accordion-body{max-height:1400px;}
.accordion-body ul{list-style:none;margin:0;padding:0 4px 18px;}
.accordion-body li{position:relative;padding-left:22px;margin-bottom:10px;line-height:1.6;color:#333;}
.accordion-body li::before{
  content:'';position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--brand);
}
.accordion-body p{padding:0 4px 12px;margin:0;line-height:1.7;color:#333;}

/* =========================================================================
   17. r34 ICS NAPTAR
   A plugin sajat CSS-e keszit tablat, es a sajat CSS valtozoival temazhato.
   Csak a valtozokat + a MOBIL viselkedest irjuk felul.
   ========================================================================= */
.ics-calendar{
  font-family:var(--font-body);
  --r34ics--element--month--th--background:var(--brand);
  --r34ics--element--month--th--color:#ffffff;
  --r34ics--element--month-label--color:var(--brand-darker);
  --r34ics--element--select--background:#ffffff;
  --r34ics--element--select--color:var(--brand-darker);
  --r34ics--element--month--today-day--background:var(--brand-light);
  --r34ics--element--month--today-day--color:var(--brand-darker);
}
.ics-calendar-select{border:1px solid var(--border);border-radius:4px;padding:8px 12px;}
.ics-calendar-month-grid{border:1px solid var(--border);}
.ics-calendar-month-grid td.empty{background:var(--brand-light);}

/* --- MOBIL: a SZABAD napok a lenyeg -----------------------------------
   A plugin mobilon a .empty (= szabad) cellakat display:none-ra teszi,
   pedig a latogatok fele mobilos, es pont az erdekli, MI SZABAD.
   Visszahozzuk oket kompakt, kattinthato sorkent. */
@media (max-width:782px){
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.empty{
    display:block !important;
    padding:7px 12px !important;
    background:var(--brand-light) !important;
    border-left:3px solid var(--brand) !important;
    margin-bottom:3px !important;
    min-height:0 !important;height:auto !important;
    border-radius:0 3px 3px 0;
    cursor:pointer;
  }
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.empty .day{padding:0;}
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.empty .phone_only{
    display:inline !important;color:var(--brand-darker);font-size:.84rem;font-weight:600;
  }
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.empty .no_phone{display:none !important;}
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.empty .day::before{
    content:'\f00c';font-family:"Font Awesome 6 Free";font-weight:900;
    color:var(--brand);font-size:.78rem;margin-right:7px;
  }
  /* Multbeli szabad napok: halvany, nem kattinthato */
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.past.empty{
    background:#f5f5f5 !important;border-left-color:#ccc !important;opacity:.55;cursor:default;
  }
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.past.empty .day::before{content:'';margin:0;}
  /* Foglalt napok kompaktabban */
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.has_events{
    border-left:3px solid #8a8a8a !important;margin-bottom:3px !important;border-radius:0 3px 3px 0;
  }
  /* Honapon kivuli cellak maradnak rejtve */
  .ics-calendar:not(.nomobile) .ics-calendar-month-grid td.off{display:none !important;}
}

/* =========================================================================
   18. KONTAKT + CF7
   Szogletes logo -> szogletes frame; latható border helyett arnyek.
   ========================================================================= */
.contact-side{background:var(--brand-light);border-radius:8px;padding:26px;}
.contact-side h2,.contact-side h5{color:var(--brand-darker);font-weight:700;margin-bottom:16px;font-size:1.05rem;}
.contact-side .ci{display:flex;gap:12px;margin-bottom:16px;}
.contact-side .ci i{color:var(--brand);font-size:1.1rem;width:20px;margin-top:3px;flex:none;}
.map-frame{width:100%;height:340px;border:0;border-radius:8px;margin-bottom:16px;display:block;background:var(--brand-light);}

.form-control,.form-select{border-radius:3px;border-color:var(--border);}
.form-label{font-weight:600;font-size:.85rem;}
.form-card{
  border:0;border-radius:8px;padding:28px;background:#fff;
  box-shadow:0 15px 30px rgba(0,0,0,.07);
}
.form-card h2,.form-card h5{font-size:1.1rem;color:var(--brand-darker);margin-bottom:1.2rem;}

/* CF7 a dizajnhoz igazitva
   FIGYELEM: a .wpcf7-form-control classot a CF7 nem csak az inputokra teszi ki,
   hanem az acceptance / checkbox / radio csoportok <span> wrapperere is.
   Ezert a keret+padding CSAK a valodi beviteli mezokre mehet - kulonben a span
   kap egy dobozt, de inline marad, es a szoveg kilog belole. */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="time"],
.wpcf7 input[type="search"],
.wpcf7 textarea,
.wpcf7 select{
  width:100%;border:1px solid var(--border);border-radius:3px;
  padding:10px 12px;font-size:.95rem;font-family:var(--font-body);
  background:#fff;color:var(--text);
}
.wpcf7 textarea{min-height:130px;resize:vertical;}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}

/* A wrapper spanek nem kaphatnak keretet/paddingot */
.wpcf7 .wpcf7-form-control-wrap{display:block;}
.wpcf7 span.wpcf7-form-control{
  display:block;width:auto;border:0;padding:0;background:none;
}
.wpcf7 .wpcf7-submit{
  width:auto;background:var(--brand);border:2px solid var(--brand);color:#fff;
  padding:13px 30px;border-radius:3px;font-weight:700;letter-spacing:.02em;cursor:pointer;
  transition:background .25s ease,border-color .25s ease;
}
.wpcf7 .wpcf7-submit:hover{background:var(--brand-dark);border-color:var(--brand-dark);}
.wpcf7 .wpcf7-not-valid-tip{color:#c0392b;font-size:.8rem;margin-top:4px;}
.wpcf7 .wpcf7-response-output{
  border-radius:6px;border:0;padding:14px 18px;margin:1.4rem 0 0;
  background:var(--brand-light);color:var(--brand-darker);font-size:.9rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{background:#fbe9e7;color:#8c2f22;}
.wpcf7 .wpcf7-spinner{margin-left:12px;}
.wpcf7 label{display:block;font-weight:600;font-size:.85rem;margin-bottom:6px;}
.wpcf7 .feri-form-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;}
.wpcf7 .feri-form-col{flex:1 1 calc(50% - 8px);min-width:220px;}
.wpcf7 .feri-form-col--full{flex:1 1 100%;}

/* =========================================================================
   19. WEBCAM
   ========================================================================= */
.webcam-frame{
  border-radius:8px;overflow:hidden;border:1px solid var(--border);
  background:#111;position:relative;
}
.webcam-frame .webcam-img{width:100%;height:auto;display:block;}
.webcam-frame .badge-live{
  position:absolute;top:14px;left:14px;background:#c0392b;color:#fff;font-size:.7rem;
  padding:4px 10px;border-radius:20px;letter-spacing:.05em;z-index:2;
}
.webcam-frame .badge-live i{animation:blink 1.4s infinite;font-size:.55rem;}
@keyframes blink{50%{opacity:.2;}}
.webcam-note{color:var(--meta);font-size:.85rem;margin-top:12px;text-align:center;}

/* =========================================================================
   20. FOOTER
   ========================================================================= */
#site-footer{background:var(--brand-footer);color:#f3ffee;margin-top:0;}
#site-footer h2,#site-footer h6{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;margin-bottom:16px;}
#site-footer .foot-cols{padding:56px 0 30px;}
#site-footer ul{list-style:none;padding:0;margin:0;}
#site-footer ul li{margin-bottom:10px;}
#site-footer a{color:#e7f3d8;}
#site-footer a:hover{color:#fff;text-decoration:underline;}
#site-footer .foot-desc{color:#dcebc9;font-size:.87rem;line-height:1.7;max-width:280px;}
#footer-socket{background:var(--brand-darker);padding:16px 0;font-size:.8rem;color:#cfe0ba;}
#footer-socket a{color:#e7f3d8;margin-left:16px;}
#footer-socket .socket-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;}
.logos{display:inline-flex;align-items:center;}
.logos img{height:24px;width:auto;display:block;opacity:.92;transition:opacity .2s ease;}
.logos:hover img{opacity:1;}

/* =========================================================================
   21. UTIL
   ========================================================================= */
.section{padding:70px 0;}
.section--tight{padding:40px 0;}
.cta-wrap{text-align:center;margin-top:34px;}

/* Lapozas */
.feri-pagination{display:flex;gap:6px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.feri-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border:1px solid var(--border);
  border-radius:3px;color:var(--text);font-weight:600;font-size:.86rem;
}
.feri-pagination .page-numbers:hover{border-color:var(--brand);color:var(--brand);}
.feri-pagination .page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff;}

/* 404 / nincs talalat */
.feri-empty{text-align:center;padding:60px 20px;}
.feri-empty i{font-size:2.6rem;color:var(--brand);margin-bottom:18px;}
.feri-empty h2{color:var(--brand-darker);margin-bottom:12px;}
.feri-empty p{color:var(--meta);max-width:520px;margin:0 auto 24px;}

/* Placeholder ertesito doboz (pl. Gastebuch a previewben) */
.feri-notice{
  background:var(--brand-light);border:2px dashed var(--brand);border-radius:8px;
  padding:40px 32px;text-align:center;max-width:700px;margin:0 auto;
}
.feri-notice i{font-size:2.5rem;color:var(--brand);margin-bottom:20px;display:block;}
.feri-notice p{color:var(--brand-darker);font-size:1rem;line-height:1.7;margin:0;}

/* =========================================================================
   22. RESZPONZIV
   ========================================================================= */
@media (max-width:1199px){
  .gal-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:991px){
  .main-nav,.lang-switch,.header-actions .icon-btn:not(#burger-btn){display:none;}
  #burger-btn{display:flex;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:110px;}
  .gallery-grid .g-item:first-child{grid-column:span 2;grid-row:span 2;}
  .hero-content h1{font-size:1.9rem;}
  .hero-content h2{font-size:1.7rem;}
  .avail-box{margin-left:16px;margin-right:16px;}
  .page-hero{padding:120px 0 44px;}
  .quote-section{padding:60px 0;}
  .quote-section h2{font-size:1.6rem;}
}
@media (max-width:767px){
  .section{padding:48px 0;}
  .gal-grid{grid-template-columns:repeat(3,1fr);}
  #site-footer .foot-cols{padding:40px 20px 24px;}
  #footer-socket .container{padding-left:20px;padding-right:20px;}
  #footer-socket .socket-inner{flex-direction:column;align-items:flex-start;gap:12px;}
  #lightbox .lb-prev{left:6px;}
  #lightbox .lb-next{right:6px;}
  #lightbox .lb-close{top:-46px;}
  .form-card{padding:20px;}
  .feri-tabs{justify-content:flex-start;}
}
@media (max-width:575px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .hero,.hero-slide{min-height:70vh;}
  .hero-buttons a{display:block;margin:0 0 10px;}
}
@media (max-width:479px){
  .gal-grid{grid-template-columns:repeat(2,1fr);}
}

/* =========================================================================
   23. CSOKKENTETT MOZGAS
   ========================================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
}

/* =========================================================================
   24. NYOMTATAS
   ========================================================================= */
@media print{
  #site-header,#mobile-menu,#mobile-overlay,#site-footer,#lightbox,.hero-buttons,.avail-box{display:none !important;}
  body{color:#000;}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.75em;}
}

/* =========================================================================
   25. BEAGYAZOTT TABSOR
   A Gebrauchsanleitungen alkategoriai egy tabon BELUL ulnek - hogy ne
   mossodjanak ossze a fo tabsorral, kapnak egy halvany hattersavot.
   ========================================================================= */
.feri-tabs--inner{
  justify-content:flex-start;
  background:var(--brand-light);
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:24px;
  gap:6px;
}
.feri-tabs--inner button{
  padding:8px 16px;font-size:.8rem;background:#fff;
}
.feri-tabs--inner button.active{background:var(--brand);color:#fff;}
.feri-panes--inner{margin-top:0;}

@media (max-width:575px){
  .feri-tabs--inner{padding:10px;}
  .feri-tabs--inner button{padding:7px 13px;font-size:.76rem;}
}

/* =========================================================================
   26. CF7 - BUCHUNGSANFRAGE URLAP
   Szogletes logo -> szogletes frame. Lathato border helyett arnyek.
   ========================================================================= */
.feri-form .req{color:#c0392b;font-weight:700;}
.feri-form .feri-form-hint{
  color:var(--meta);font-size:.78rem;font-weight:400;display:block;margin-top:4px;
}
.feri-form hr{border:0;border-top:1px solid var(--border);margin:8px 0 20px;}
.feri-form h3{
  font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;
  color:var(--brand-darker);margin:28px 0 14px;font-weight:700;
}
.feri-form h3:first-child{margin-top:0;}

/* Datum mezok */
.wpcf7 input[type="date"]{min-height:44px;}
.wpcf7 input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;}
.wpcf7 input[type="date"]:hover::-webkit-calendar-picker-indicator{opacity:1;}

/* Ha a naptarbol erkezett elore kitoltott datum, jelezzuk */
.feri-prefilled{
  background:var(--brand-light);border:1px solid #d1ddbc;border-radius:6px;
  padding:10px 14px;color:var(--brand-darker);font-size:.85rem;margin-bottom:18px;
}
.feri-prefilled i{color:var(--brand);margin-right:7px;}

/* Datenschutz checkbox
   A CF7 harom <span>-be csomagolja: form-control-wrap > acceptance > list-item.
   Mindharmat block-ka tesszuk, es a dobozt a list-item kapja - igy a
   tobbsoros szoveg is a kereten BELUL marad. */
.wpcf7 .wpcf7-acceptance{display:block;}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{
  display:block;margin:0;
  border:1px solid var(--border);border-radius:6px;
  padding:14px 16px;background:#fff;
  transition:border-color .2s ease,background-color .2s ease;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item:hover{border-color:var(--brand);}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item:focus-within{
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(113,148,48,.15);
}
.wpcf7 .wpcf7-acceptance label{
  display:flex;align-items:flex-start;gap:12px;
  font-weight:400;font-size:.88rem;color:#444;line-height:1.6;
  cursor:pointer;margin:0;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label{
  flex:1 1 auto;min-width:0;
}
.wpcf7 .wpcf7-acceptance input[type="checkbox"]{
  width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;
  accent-color:var(--brand);cursor:pointer;
}
.wpcf7 .wpcf7-acceptance a{
  text-decoration:underline;text-underline-offset:2px;color:var(--brand-dark);
}
.wpcf7 .wpcf7-acceptance a:hover{color:var(--brand);}

/* Szamlalo mezo (Anzahl Personen) */
.wpcf7 input[type="number"]{max-width:160px;}

/* Submit sor */
.feri-form-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;}
.feri-form-submit .wpcf7-spinner{margin:0;}

@media (max-width:575px){
  .wpcf7 .feri-form-col{flex:1 1 100%;min-width:0;}
  .wpcf7 .wpcf7-submit{width:100%;}
}
