

:root{
  --color-surface-sand:#F4EFEB;
  --color-surface-stone:#E0DBD3;
  --color-surface-paper:rgba(244,239,235,0.92);
  --color-text-primary:#3D3327;
  --color-text-secondary:#6D6155;
  --color-accent-moss:#6A7B5D;
  --color-accent-moss-hover:#5d6d52;
  --color-border:#C4BBAF;

  --font-heading:"Cormorant Garamond",serif;
  --font-body:"Source Serif Pro",serif;

  --text-xxl:36px;
  --text-xl:28px;
  --text-lg:22px;
  --text-md:18px;
  --text-base:16px;
  --text-sm:14px;

  --space-xs:0.5rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2rem;
  --space-xl:3rem;
  --space-xxl:5rem;

  --container-max:900px;
  --container-pad:1rem;

  --radius-organic-lg:40px;
  --radius-organic-md:28px;
  --radius-input:18px;

  --shadow-soft:0 6px 14px rgba(0,0,0,0.08);
}

*,*::before,*::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,body{
  height:100%;
}

body{
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:1.65;
  color:var(--color-text-primary);
  background:var(--color-surface-sand);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,video{
  max-width:100%;
  display:block;
  height:auto;
  object-fit:cover;
}

picture{
  display:block;
}

a{
  color:var(--color-accent-moss);
  text-decoration:none;
  transition:color .2s ease;
}

a:hover{
  color:var(--color-accent-moss-hover);
}

button{
  font:inherit;
  color:inherit;
  background:none;
  border:none;
  cursor:pointer;
}

input,textarea,select{
  font:inherit;
  color:var(--color-text-primary);
  background:var(--color-surface-stone);
  border:1px solid var(--color-border);
  border-radius:var(--radius-input);
  padding:0.75rem 1rem;
  width:100%;
}

input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--color-accent-moss);
}

::placeholder{
  color:var(--color-text-secondary);
}

h1,h2,h3,h4{
  font-family:var(--font-heading);
  line-height:1.25;
  color:var(--color-text-primary);
  margin-block-end:var(--space-md);
}

h1{font-size:var(--text-xxl);}
h2{font-size:var(--text-xl);}
h3{font-size:var(--text-lg);}
h4{font-size:var(--text-md);}

p{
  font-size:var(--text-base);
  color:var(--color-text-primary);
  margin-block-end:var(--space-md);
}

small{
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
}

ul,ol{
  padding-left:1.2em;
  margin-block-end:var(--space-md);
}

li{
  margin-block-end:0.4em;
}

blockquote{
  margin-block-end:var(--space-md);
  padding-left:1rem;
  border-left:2px solid var(--color-border);
  color:var(--color-text-secondary);
}

hr{
  border:none;
  height:1px;
  background:var(--color-border);
  margin:var(--space-lg) 0;
}

section{
  padding-block:var(--space-xl);
}

.container{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--container-pad);
}

.stack > *{
  margin-block-end:var(--space-md);
}

.stack > *:last-child{
  margin-block-end:0;
}

.cluster{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-sm);
  align-items:center;
}

.grid{
  display:grid;
  gap:var(--space-md);
}

.grid-2{
  grid-template-columns:1fr;
}

.grid-3{
  grid-template-columns:1fr;
}

@media(min-width:768px){
  .grid-2{
    grid-template-columns:1fr 1fr;
    gap:var(--space-lg);
  }
  .grid-3{
    grid-template-columns:repeat(3,1fr);
    gap:var(--space-sm);
  }
}

.card{
  background:var(--color-surface-paper);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-md);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}

.card > *:last-child{
  margin-block-end:0;
}

.panel{
  background:var(--color-surface-paper);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-lg);
}

.panel > *:last-child{
  margin-block-end:0;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.7rem 1.4rem;
  border-radius:var(--radius-organic-md);
  background:var(--color-accent-moss);
  color:var(--color-text-primary);
  font-size:var(--text-base);
  letter-spacing:0.03em;
  transition:background .2s ease;
}

.button:hover{
  background:var(--color-accent-moss-hover);
}

.button:active{
  background:#7f8f70;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:0.4rem;
  margin-block-end:var(--space-md);
}

label{
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
}

img.rounded{
  border-radius:32px;
}

.media{
  position:relative;
  overflow:hidden;
  border-radius:32px;
}

.media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.no-overflow{
  overflow-x:hidden;
}


.site-header{position:sticky;top:0;z-index:100;background:var(--color-surface-paper);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border);} .header-inner{max-width:var(--container-max);margin:0 auto;padding:0.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;} .brand{display:flex;align-items:center;gap:0.6rem;} .brand-mark{height:40px;width:auto;} .brand-text{font-family:var(--font-heading);font-size:22px;} .nav{display:flex;} .nav-list{display:flex;gap:1rem;list-style:none;padding:0;margin:0;} .nav a{font-size:16px;letter-spacing:0.04em;} .nav-toggle{display:none;width:44px;height:44px;border-radius:28px;background:var(--color-surface-stone);align-items:center;justify-content:center;} .toggle-lines, .toggle-lines::before, .toggle-lines::after{content:"";display:block;width:18px;height:2px;background:var(--color-text-primary);position:relative;} .toggle-lines::before{position:absolute;top:-6px;} .toggle-lines::after{position:absolute;top:6px;} @media(max-width:768px){.brand-mark{height:32px;} .brand-text{font-size:16px;} .nav{position:fixed;inset:0;background:var(--color-surface-sand);padding:2rem;transform:translateY(-100%);transition:transform .3s ease;flex-direction:column;} .nav.open{transform:translateY(0);} .nav-list{flex-direction:column;gap:1.5rem;} .nav-toggle{display:flex;} }


.site-footer{margin-top:var(--space-xl);padding:2rem 1rem;background:var(--color-surface-stone);} .footer-inner{max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;} .footer-nav,.footer-legal{display:flex;flex-wrap:wrap;gap:0.6rem;} .footer-title{font-family:var(--font-heading);font-size:22px;} .consent{position:fixed;bottom:1rem;left:1rem;right:1rem;background:var(--color-surface-paper);padding:1rem;border-radius:28px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:0.5rem;} .consent-actions{display:flex;gap:0.5rem;} .button.ghost{background:transparent;border:1px solid var(--color-border);} .age-modal{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;} .consent[hidden],.age-modal[hidden]{display:none;} .age-panel{background:var(--color-surface-paper);padding:2rem;border-radius:40px;text-align:center;max-width:300px;width:90%;} .age-actions{display:flex;gap:0.5rem;justify-content:center;margin-top:1rem;}


.contact-page section{position:relative;}

.contact-hero{padding-top:var(--space-xxl);}
.contact-hero-panel{max-width:640px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-md);}

.contact-help h2{text-align:left;margin-bottom:var(--space-lg);}
.contact-cards{align-items:stretch;}
.contact-card{display:flex;flex-direction:column;gap:var(--space-sm);}

.contact-form-section{padding-top:var(--space-xl);}
.contact-form-wrapper{max-width:520px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-md);}
.contact-form{display:flex;flex-direction:column;gap:var(--space-md);}
.form-feedback{font-size:var(--text-sm);color:var(--color-text-secondary);min-height:1.2em;}

.contact-response .contact-text-block{display:flex;flex-direction:column;gap:var(--space-sm);}

.contact-info-panel{max-width:600px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-md);}

.contact-tone-inner{max-width:640px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-md);}

.contact-alt > div{display:flex;flex-direction:column;gap:var(--space-sm);}

.contact-cta-panel{max-width:640px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-md);align-items:center;}

@media(max-width:767px){
  .contact-help h2{text-align:left;}
}


.pp-page section{position:relative}

.pp-hero .container{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}
.pp-hero-panel{max-width:760px;margin-inline:auto;text-align:center;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg)}
.pp-hero-text{max-width:720px}

.pp-section .container{display:flex;flex-direction:column;gap:var(--space-lg)}

.pp-surface-alt{background:var(--color-surface-stone)}
.pp-surface-strong{background:var(--color-surface-stone)}

.pp-blocks{max-width:800px}
.pp-purpose{max-width:820px}
.pp-security{max-width:760px}
.pp-rights{max-width:720px}
.pp-closing-inner{max-width:600px;margin-inline:auto;text-align:center}

.pp-item{display:flex;flex-direction:column;gap:var(--space-sm)}

.pp-blocks h2,.pp-purpose h2,.pp-security h2,.pp-rights h2{text-align:left}

@media(min-width:768px){
.pp-hero .container{gap:var(--space-xl)}
}


.cookie-policy-page section{
  position:relative;
}

.cp-hero{
  padding-top:var(--space-xxl);
}

.cp-hero-panel{
  max-width:700px;
  margin-inline:auto;
  text-align:left;
  background:var(--color-surface-paper);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-lg);
}

.cp-types h2{
  margin-bottom:var(--space-lg);
}

.cp-types-wrap{
  max-width:800px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-lg);
}

.cp-type-block{
  background:var(--color-surface-paper);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-lg);
}

.cp-type-block.alt{
  background:var(--color-surface-stone);
}

.cp-why-inner{
  max-width:650px;
  margin-inline:auto;
}

.cp-control-wrap{
  max-width:750px;
  display:flex;
  flex-direction:column;
  gap:var(--space-lg);
}

.cp-control-block{
  background:var(--color-surface-paper);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-lg);
}

.cp-trust-panel{
  max-width:600px;
  margin-inline:auto;
  background:var(--color-surface-stone);
  border-radius:var(--radius-organic-lg);
  padding:var(--space-lg);
}

.cp-contact-inner{
  max-width:600px;
  margin-inline:auto;
}

@media(max-width:768px){
  .cp-hero-panel,
  .cp-type-block,
  .cp-control-block,
  .cp-trust-panel{
    padding:var(--space-md);
  }
}


.home .hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.home .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home .hero-panel{position:relative;max-width:520px;margin-inline:auto;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg);backdrop-filter:blur(6px);text-align:center;display:flex;flex-direction:column;gap:var(--space-md)}
.home .hero-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}

.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}
@media(min-width:768px){.about-grid{grid-template-columns:60% 40%}}
.about-text{max-width:65ch}

.programs-grid .program-card{display:flex;flex-direction:column;gap:var(--space-sm)}

.flow-grid{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}
@media(min-width:768px){.flow-grid{flex-direction:row;justify-content:space-between}}
.flow-step{max-width:280px;text-align:center}

.private-grid,.corporate-grid{align-items:center}

.gallery-intro{max-width:520px;margin-inline:auto;text-align:center}
.gallery-grid{margin-top:var(--space-lg);display:flex;justify-content:center}
.gallery-img{border-radius:32px;max-width:500px;cursor:pointer}

.cta-panel{max-width:500px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-md)}
.cta-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}

@media(max-width:600px){
.home .hero{min-height:auto;padding:var(--space-xl) var(--space-sm)}
.home .hero-panel{padding:var(--space-md)}
}


.fooldal .hero{position:relative}
.fooldal .hero-media{width:100%;height:70vh;min-height:420px}
.fooldal .hero-media img{width:100%;height:100%}
.fooldal .hero-panel{position:absolute;top:50%;left:8%;transform:translateY(-50%);max-width:520px}
.fooldal .hero-panel-inner{background:var(--color-surface-paper);padding:var(--space-lg);border-radius:48px;display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--shadow-soft)}

.overview-inner{max-width:700px;margin-inline:auto;text-align:center}
.overview-cards{margin-top:var(--space-lg)}
.overview-card{display:flex;flex-direction:column;gap:var(--space-sm)}

.experience-grid{display:grid;gap:var(--space-lg);align-items:center}
.experience-image{height:320px}
.experience-text{max-width:500px;margin-left:auto}

@media(min-width:768px){
.experience-grid{grid-template-columns:60% 40%}
}

.types-inner{text-align:center}
.types-grid{display:grid;gap:var(--space-md);margin-top:var(--space-lg)}
.types-card{display:flex;flex-direction:column;gap:var(--space-sm)}
@media(min-width:768px){
.types-grid{grid-template-columns:1fr 1fr}
.types-card:nth-child(odd){transform:translateY(10px)}
}

.why-inner{text-align:center;max-width:600px;margin-inline:auto}
.why-grid{margin-top:var(--space-lg)}
.why-item{display:flex;flex-direction:column;gap:var(--space-sm)}

.cta-panel{display:flex;justify-content:center}
.cta-inner{max-width:600px;text-align:center;display:flex;flex-direction:column;gap:var(--space-md)}

.steps-inner{text-align:center}
.steps-grid{margin-top:var(--space-lg)}
.step-item{display:flex;flex-direction:column;gap:var(--space-sm)}

.closing-inner{max-width:520px;margin-inline:auto;text-align:center}

@media(max-width:767px){
.fooldal .hero-panel{position:static;transform:none;padding:var(--space-md)}
.fooldal .hero-media{height:auto}
}


.tc-page{}

.tc-intro-inner{
  max-width:680px;
  margin-inline:auto;
}

.tc-panel{
  background:var(--color-surface-paper);
}

.tc-section{
  padding-block:var(--space-xl);
}

.tc-text{
  max-width:720px;
}

.tc-text-narrow{
  max-width:640px;
  margin-inline:auto;
}

.tc-flow .container{
  max-width:680px;
}

.tc-block{
  margin-bottom:var(--space-md);
}

.tc-panel-wrap{
  max-width:720px;
}

.tc-closing{
  padding-bottom:var(--space-xxl);
}

@media(max-width:768px){
  .tc-text,
  .tc-flow .container,
  .tc-panel-wrap{
    max-width:100%;
  }
}


.privat-page section{position:relative}

.privat-page .hero{display:grid;align-items:center}
.privat-page .hero-media img{width:100%;height:70vh;object-fit:cover}
.privat-page .hero-panel{position:absolute;top:50%;left:5%;transform:translateY(-50%);max-width:560px;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg);display:flex;flex-direction:column;gap:var(--space-md)}

.occasions h2{text-align:center;margin-bottom:var(--space-lg)}
.occasion-grid .card{display:flex;flex-direction:column;gap:var(--space-sm)}

.atmosphere .text{max-width:520px}

.food-grid>div{max-width:520px}

.steps-grid{display:flex;gap:var(--space-lg);flex-wrap:wrap}
.step{flex:1 1 220px;min-width:220px;background:var(--color-surface-paper);padding:var(--space-md);border-radius:var(--radius-organic-md);display:flex;flex-direction:column;gap:var(--space-sm)}

.flexibility>div{max-width:520px}

.gallery{text-align:center}
.gallery-inner{max-width:700px;margin-inline:auto}
.gallery .media{margin-top:var(--space-md)}

.why h2{text-align:center;margin-bottom:var(--space-lg)}
.why .grid>div{max-width:320px}

.cta{text-align:center}
.cta-inner{max-width:520px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-md)}

@media(max-width:768px){
.privat-page .hero{display:block}
.privat-page .hero-panel{position:relative;top:auto;left:auto;transform:none;margin:var(--space-md)}
.privat-page .hero-media img{height:40vh}
.steps-grid{flex-direction:column}
}


.offline-page .hero{position:relative;min-height:70vh;display:flex;align-items:center}
.offline-page .hero-bg{position:absolute;inset:0}
.offline-page .hero-bg img{width:100%;height:100%}
.offline-page .hero-inner{position:relative}
.offline-page .hero-panel{max-width:480px;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg);text-align:center;display:flex;flex-direction:column;gap:var(--space-md)}
.offline-page .hero-lead{font-size:var(--text-md)}

.definition h2{text-align:center}
.definition-grid{display:grid;gap:var(--space-md);margin-top:var(--space-lg)}
@media(min-width:768px){.definition-grid{grid-template-columns:1fr 1fr 1fr}}
.definition-item{max-width:600px;margin-inline:auto}

.atmosphere-grid{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.atmosphere-grid{grid-template-columns:1fr 1fr;align-items:center}}
.atmosphere-text{max-width:480px}

.flow-grid{display:grid;gap:var(--space-md);margin-top:var(--space-lg)}
@media(min-width:768px){.flow-grid{grid-template-columns:1fr 1fr}}
.flow-step{background:var(--color-surface-paper);padding:var(--space-md);border-radius:var(--radius-organic-md)}

.food-grid{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.food-grid{grid-template-columns:1fr 1fr;align-items:center}}
.food-text{max-width:480px}

.audience-inner{max-width:600px;margin-inline:auto;text-align:center}

.host-text{max-width:500px}

.booking .container{max-width:600px}

.closing-inner{max-width:500px;margin-inline:auto;text-align:center}

.cta-panel{max-width:480px;margin-inline:auto;text-align:center;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg);display:flex;flex-direction:column;gap:var(--space-md)}


.tv-page section{position:relative}

.tv-hero{padding:0}
.tv-hero-bg{height:520px}
.tv-hero-bg img{height:100%}
.tv-hero-panel{
  position:relative;
  max-width:520px;
  margin-top:-120px;
  margin-left:var(--space-lg);
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
}
.tv-hero-panel p{max-width:60ch}

.tv-what-grid{display:grid;gap:var(--space-lg)}
@media(min-width:768px){
  .tv-what-grid{grid-template-columns:1fr 1fr 1fr}
}
.tv-what-col p{max-width:55ch}

.tv-card-group{margin-top:var(--space-md)}
.tv-card{transition:transform .2s ease}
.tv-card:hover{transform:translateY(-4px)}
.tv-card p{max-width:65ch}

.tv-steps{
  display:grid;
  gap:var(--space-lg);
}
@media(min-width:768px){
  .tv-steps{grid-template-columns:1fr 1fr 1fr}
}
.tv-step p{max-width:55ch}

.tv-space-grid{align-items:center}
.tv-space-text{display:flex;flex-direction:column;gap:var(--space-md)}
.tv-space-text p{max-width:60ch}

.tv-audience-inner{
  max-width:600px;
}
.tv-audience-inner p{max-width:55ch}

.tv-faq .tv-accordion{
  max-width:700px;
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.tv-acc-item{
  border:1px solid var(--color-border);
  border-radius:var(--radius-organic-md);
  overflow:hidden;
}
.tv-acc-trigger{
  width:100%;
  text-align:left;
  padding:var(--space-sm) var(--space-md);
}
.tv-acc-content{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
  padding:0 var(--space-md);
}
.tv-acc-item.active .tv-acc-content{
  padding:var(--space-sm) var(--space-md);
  max-height:200px;
}

.tv-cta-panel{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-md);
}
.tv-cta-panel p{max-width:50ch}

.tv-closing-inner{
  max-width:600px;
  margin-inline:auto;
  text-align:center;
}
.tv-closing-inner p{max-width:55ch;margin-inline:auto}

@media(max-width:767px){
  .tv-hero-panel{margin:var(--space-md)}
}


.asztalfoglalas-page .hero-grid{display:grid;gap:var(--space-lg);} 
@media(min-width:768px){.hero-grid{grid-template-columns:1fr 1fr;align-items:center;}}
.hero-text{max-width:520px}
.hero-image{min-height:320px}

.type-cards>a{display:block}

.steps{margin-top:var(--space-md)}
.step{background:var(--color-surface-paper);padding:var(--space-md);border-radius:var(--radius-organic-md)}

.form-wrap{display:flex;justify-content:center}
.form-panel{max-width:600px;width:100%;display:flex;flex-direction:column;gap:var(--space-md)}
.form-feedback{font-size:var(--text-sm);color:var(--color-text-secondary)}

.exp-grid{align-items:center}
.exp-text{max-width:600px}

.narrow{max-width:520px;margin-inline:auto;text-align:center}

.faq-wrap{max-width:700px;margin-inline:auto}
.faq-list{display:flex;flex-direction:column;gap:var(--space-sm)}
.faq-question{width:100%;text-align:left;padding:var(--space-sm);background:var(--color-surface-stone);border-radius:var(--radius-organic-md)}
.faq-answer{display:none;padding:var(--space-sm)}
.faq-item.active .faq-answer{display:block}

.cta-panel{display:flex;flex-direction:column;gap:var(--space-md);align-items:center;text-align:center}

.note{opacity:0.8}

@media(max-width:767px){
.hero-grid{grid-template-columns:1fr}
}


.vr-page section{position:relative}
.vr-hero{display:grid}
.vr-hero-media img{width:100%;height:70vh;object-fit:cover}
.vr-hero-panel{position:absolute;left:5%;top:50%;transform:translateY(-50%);max-width:520px}
.vr-hero-content{display:flex;flex-direction:column;gap:var(--space-md)}

.vr-center{text-align:center;max-width:620px;margin-inline:auto}
.vr-cards .card{transition:transform .2s ease, box-shadow .2s ease}
.vr-cards .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}

.vr-types-grid{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.vr-types-grid{grid-template-columns:1fr 1fr}}

.vr-space{align-items:center}
.vr-space-text{max-width:480px}

.vr-steps-grid{display:grid;gap:var(--space-md)}
@media(min-width:768px){.vr-steps-grid{grid-template-columns:repeat(4,1fr)}}
.vr-steps-grid>div{min-width:0}

.vr-memory{max-width:700px;margin-inline:auto;text-align:center}

.vr-custom-text{max-width:520px}

.vr-faq-list{display:flex;flex-direction:column;gap:var(--space-sm);max-width:700px;margin-inline:auto}
.vr-faq-question{width:100%;text-align:left;padding:1rem;border-radius:var(--radius-organic-md);background:var(--color-surface-stone)}
.vr-faq-answer{display:none;padding:0.5rem 1rem}
.vr-faq-item.active .vr-faq-answer{display:block}

.vr-cta{display:grid}
.vr-cta-media img{width:100%;height:60vh}
.vr-cta-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:420px;display:flex;flex-direction:column;gap:var(--space-md)}

@media(max-width:768px){
.vr-hero-panel{position:static;transform:none;margin:var(--space-md)}
.vr-cta-panel{position:static;transform:none;margin:var(--space-md)}
}


.asztali-page .hero{position:relative;display:grid;gap:var(--space-lg)}
.asztali-page .hero-media{height:420px}
.asztali-page .hero-panel{max-width:520px;margin-left:var(--space-lg);margin-top:-120px;display:flex;flex-direction:column;gap:var(--space-md)}

.intro-inner{max-width:720px;margin-inline:auto;text-align:center}
.intro-inner p{max-width:60ch;margin-inline:auto}

.host-grid > div{min-width:0}

.options h2{text-align:center;margin-bottom:var(--space-lg)}
.options .card{transition:transform .2s ease}
.options .card:hover{transform:translateY(-4px)}

.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}
.flow-step{min-width:0}
.flow-image{height:300px}

.food .grid > *{min-width:0}

.audience h2{text-align:center}
.audience .grid > div{text-align:center}

.faq-list{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-sm)}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-organic-md);overflow:hidden}
.faq-question{width:100%;text-align:left;padding:1rem;background:var(--color-surface-stone)}
.faq-answer{display:none;padding:1rem;background:var(--color-surface-paper)}
.faq-item.active .faq-answer{display:block}

.cta-panel{text-align:center;max-width:600px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-md)}

@media(max-width:768px){
.asztali-page .hero-panel{margin:0 var(--space-sm);margin-top:-60px}
.flow-grid{grid-template-columns:1fr}
.asztali-page .hero-media{height:260px}
}


.programok-page section{position:relative}

.programok-page .hero{padding:0}
.programok-page .hero-media img{width:100%;height:70vh;object-fit:cover}
.programok-page .hero-inner{position:absolute;inset:0;display:flex;align-items:center}
.programok-page .hero-panel{max-width:520px;background:var(--color-surface-paper);padding:var(--space-lg);border-radius:var(--radius-organic-lg);display:flex;flex-direction:column;gap:var(--space-md)}

.intro-inner{max-width:680px;margin-inline:auto;text-align:center}

.category-grid{display:grid;gap:var(--space-md)}
@media(min-width:768px){.category-grid{grid-template-columns:repeat(3,1fr)}}
.cat{display:flex;flex-direction:column;gap:var(--space-sm)}
.cat:hover{background:var(--color-surface-stone)}

.split-inner{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.split-inner{grid-template-columns:1fr 1fr;align-items:center}}
.split-text{max-width:520px}
.split.reverse .split-inner{direction:rtl}
.split.reverse .split-text{direction:ltr}

.dual-inner{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.dual-inner{grid-template-columns:1fr 1fr}}

.tips-grid{display:grid;gap:var(--space-lg)}
@media(min-width:768px){.tips-grid{grid-template-columns:repeat(3,1fr)}}
.tips-grid div{max-width:260px}

.details-inner{max-width:600px;margin-inline:auto;text-align:center}

.cta-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}

@media(max-width:767px){
.programok-page .hero-media img{height:50vh}
.programok-page .hero-inner{position:static}
.programok-page .hero-panel{margin-top:-3rem}
}


.thankyou-section{
  padding-block:var(--space-xxl);
}

.thankyou-panel{
  text-align:center;
}

.thankyou-content{
  max-width:560px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  text-align:center;
}

.thankyou-actions{
  justify-content:center;
  margin-top:var(--space-sm);
}

.button-secondary{
  background:transparent;
  border:1px solid var(--color-border);
}

.button-secondary:hover{
  background:var(--color-surface-stone);
}

@media(min-width:768px){
  .thankyou-section{
    padding-block:var(--space-xxl);
  }
}

@media (max-width: 768px) {
  .site-header .nav {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 100vh;
    padding: 5rem 2rem 2rem;
    overflow-y: auto;
    background: var(--color-surface-sand);
    transform: translateY(-100%);
    visibility: hidden;
    pointer-events: none;
    z-index: 100;
  }

  .site-header .nav.open {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }

  .site-header .nav-toggle {
    display: flex;
    position: relative;
    z-index: 101;
  }
}