

:root{
--color-paper:#E8E5DA;
--color-ink:#1C221E;
--color-body:#483C32;
--color-accent:#A63A50;
--color-border:rgba(28,34,30,0.12);
--color-halftone:rgba(28,34,30,0.16);

--font-heading:'Lora',Georgia,'Times New Roman',serif;
--font-body:'Source Serif Pro',Georgia,'Times New Roman',serif;

--fs-1:2.6rem;
--fs-2:2rem;
--fs-3:1.5rem;
--fs-4:1.15rem;
--fs-5:1rem;
--fs-6:0.92rem;

--space-0:0px;
--space-1:4px;
--space-2:8px;
--space-3:16px;
--space-4:24px;
--space-5:36px;
--space-6:56px;
--space-7:96px;

--radius-sm:2px;
--radius-md:6px;

--container-main:900px;

--transition-fast:120ms ease;
}

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

html{
font-size:16px;
-webkit-text-size-adjust:100%;
}

body{
min-height:100vh;
background:var(--color-paper);
color:var(--color-body);
font-family:var(--font-body);
font-size:var(--fs-5);
line-height:1.65;
text-rendering:optimizeLegibility;
}

img,
picture,
video,
canvas,
svg{
display:block;
max-width:100%;
height:auto;
}

img{
border:1px solid var(--color-border);
background:var(--color-paper);
object-fit:cover;
}

a{
color:var(--color-accent);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:2px;
transition:color var(--transition-fast),text-decoration-thickness var(--transition-fast);
}

a:hover{
text-decoration-thickness:2px;
}

button,
input,
textarea,
select{
font:inherit;
color:inherit;
background:none;
border:none;
outline:none;
}

button{
cursor:pointer;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
color:var(--color-ink);
line-height:1.2;
}

h1{font-size:var(--fs-1);margin-block-end:var(--space-4);}
h2{font-size:var(--fs-2);margin-block-end:var(--space-4);}
h3{font-size:var(--fs-3);margin-block-end:var(--space-3);}
h4{font-size:var(--fs-4);margin-block-end:var(--space-3);}
h5{font-size:var(--fs-5);margin-block-end:var(--space-2);}
h6{font-size:var(--fs-6);margin-block-end:var(--space-2);}

p{
margin-block-end:var(--space-3);
}

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

li{
margin-block-end:var(--space-1);
}

blockquote{
margin-block-end:var(--space-4);
padding-left:var(--space-3);
border-left:2px solid var(--color-border);
font-style:italic;
}

hr{
border:none;
border-top:1px solid var(--color-border);
margin-block:var(--space-5);
}

small{
font-size:var(--fs-6);
}

figure{
margin-block-end:var(--space-4);
}

figcaption{
font-size:var(--fs-6);
color:var(--color-body);
margin-top:var(--space-2);
}

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

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

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid-4{
grid-template-columns:repeat(4,minmax(0,1fr));
}

@media (max-width:900px){
.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:640px){
.grid-4,
.grid-3,
.grid-2{
grid-template-columns:1fr;
}
}

.flex{
display:flex;
gap:var(--space-3);
}

.flex-col{
flex-direction:column;
}

.flex-wrap{
flex-wrap:wrap;
}

.flex-between{
justify-content:space-between;
align-items:center;
}

.card{
background:var(--color-paper);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
padding:var(--space-3);
}

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

.surface{
background:var(--color-paper);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
}

.aspect-3-2{
aspect-ratio:3/2;
overflow:hidden;
}

.aspect-4-3{
aspect-ratio:4/3;
overflow:hidden;
}

.aspect-1-1{
aspect-ratio:1/1;
overflow:hidden;
}

.aspect-3-2 img,
.aspect-4-3 img,
.aspect-1-1 img{
width:100%;
height:100%;
object-fit:cover;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
padding:var(--space-2) var(--space-4);
background:var(--color-accent);
color:var(--color-ink);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
transition:background var(--transition-fast),color var(--transition-fast);
}

.button:hover{
background:#922f44;
}

.button:active{
background:var(--color-ink);
color:var(--color-paper);
}

.input,
.textarea,
.select{
width:100%;
border:1px solid var(--color-border);
padding:var(--space-2) var(--space-3);
border-radius:var(--radius-sm);
background:transparent;
}

.input:focus,
.textarea:focus,
.select:focus{
border-color:var(--color-accent);
outline:1px solid var(--color-accent);
}

.label{
display:block;
margin-bottom:var(--space-1);
font-size:var(--fs-6);
}

.dateline{
font-size:var(--fs-6);
text-transform:uppercase;
letter-spacing:0.04em;
color:var(--color-body);
margin-bottom:var(--space-2);
}

.caption{
font-size:var(--fs-6);
color:var(--color-body);
}

.page-number{
font-size:var(--fs-6);
text-transform:uppercase;
letter-spacing:0.05em;
color:var(--color-body);
}

.dropcap::first-letter{
float:left;
font-family:var(--font-heading);
font-size:3.2em;
line-height:0.9;
padding-right:var(--space-2);
color:var(--color-accent);
}

.stack > *{
margin-bottom:var(--space-3);
}

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

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

@media (max-width:640px){
.section{
padding-block:var(--space-5);
}
}


.ucg-header{position:sticky;top:0;background:var(--color-paper);border-bottom:1px solid var(--color-border);z-index:50}
.ucg-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:72px}
.ucg-brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-ink)}
.ucg-logo{height:44px;width:auto}
.ucg-brand-text{font-family:var(--font-heading);font-size:var(--fs-4)}

.ucg-nav{display:flex}
.ucg-nav-list{display:flex;gap:var(--space-4);list-style:none !important}
.ucg-nav a{text-decoration:none;color:var(--color-ink);font-size:var(--fs-6);text-transform:uppercase;letter-spacing:0.05em}

.ucg-nav-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.ucg-nav-toggle span{display:block;width:18px;height:2px;background:var(--color-ink)}

.ucg-mobile-only{display:none}

@media (max-width:900px){
.ucg-nav-toggle{display:flex;flex-direction:column;gap:5px;}
.ucg-nav{position:fixed;top:72px;left:0;width:100%;max-height:calc(100vh - 72px);overflow:auto;background:var(--color-paper);border-top:1px solid var(--color-border);display:none}
.ucg-nav.open{display:block}
.ucg-nav-list{flex-direction:column;padding:var(--space-4)}
.ucg-mobile-only{display:block}
}


.ucg-footer{border-top:1px solid var(--color-border);padding:var(--space-6) 0}
.ucg-footer-inner{display:grid;gap:var(--space-4)}
.ucg-footer-nav ul{list-style:none !important;display:grid;gap:var(--space-2)}
.ucg-footer-brand p{max-width:480px}

.ucg-consent{position:fixed;bottom:0;left:0;width:100%;background:var(--color-paper);border-top:1px solid var(--color-border);padding:var(--space-3);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.ucg-consent.hidden{display:none}

.ucg-age{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center}
.ucg-age.hidden{display:none}
.ucg-age-dialog{background:var(--color-paper);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}


.cookie-policy-page{
background:var(--color-paper);
}

.cp-hero-inner{
max-width:720px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-3);
}

.cp-intro{
max-width:720px;
}

.cp-section{
border-top:1px solid var(--color-border);
}

.cp-narrow{
max-width:760px;
}

.cp-medium{
max-width:720px;
margin-inline:auto;
}

.cp-compact{
max-width:680px;
margin-inline:auto;
}

.cp-block{
display:flex;
flex-direction:column;
gap:var(--space-2);
margin-bottom:var(--space-4);
}

.cp-block:last-child{
margin-bottom:0;
}

@media (max-width:640px){
.cp-hero-inner,
.cp-medium,
.cp-compact{
padding-inline:var(--space-3);
}
}


.privacy-policy-page{position:relative;}

.pp-hero{border-bottom:1px solid var(--color-border);}
.pp-hero-inner{max-width:700px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);}

.pp-section{border-bottom:1px solid var(--color-border);}

.pp-block{max-width:760px;display:flex;flex-direction:column;gap:var(--space-3);}

.pp-narrow{max-width:720px;display:flex;flex-direction:column;gap:var(--space-3);}

.pp-closing-inner{max-width:680px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);}

.pp-block,.pp-narrow{margin-inline:0;}

@media (max-width:640px){
.pp-hero-inner,.pp-closing-inner{padding-inline:var(--space-3);} 
.pp-block,.pp-narrow{padding-inline:var(--space-3);} 
}

.privacy-policy-page section{background:var(--color-paper);}

.privacy-policy-page h3{margin-top:var(--space-3);} 

.privacy-policy-page a{color:var(--color-accent);}


.contact-page{}

.contact-hero-inner{
max-width:620px;
margin-inline:auto;
}

.contact-types-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:var(--space-4);
}

.contact-type{
display:flex;
flex-direction:column;
gap:var(--space-3);
min-width:0;
}

.contact-process-inner{
max-width:640px;
margin-inline:auto;
}

.contact-highlight{
border-left:2px solid var(--color-accent);
padding-left:var(--space-3);
}

.contact-form-container{
max-width:520px;
margin-inline:auto;
padding:var(--space-4);
display:flex;
flex-direction:column;
gap:var(--space-4);
}

.form-group{
display:flex;
flex-direction:column;
gap:var(--space-1);
}

.form-response{
font-size:var(--fs-6);
min-height:1.2em;
}

.contact-mood-inner{
max-width:580px;
margin-inline:auto;
}

.contact-notice-box{
border:1px solid var(--color-border);
padding:var(--space-4);
max-width:900px;
}

.contact-footer-grid{
display:flex;
flex-wrap:wrap;
gap:var(--space-4);
}

@media (max-width:900px){
.contact-types-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width:640px){
.contact-types-grid{
grid-template-columns:1fr;
}
}


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

.tc-hero-inner{
  max-width:760px;
  margin-inline:auto;
}

.tc-section .tc-block{
  max-width:820px;
}

.tc-section.tc-narrow .tc-block{
  max-width:720px;
}

.tc-block{
  display:block;
}

.tc-hero{
  text-align:left;
}

.tc-hero-inner p{
  max-width:70ch;
}

.tc-section .tc-block p{
  max-width:75ch;
}

.tc-section.tc-narrow .tc-block p{
  max-width:65ch;
}

.tc-section{
  display:block;
}

.tc-block{
  margin-inline:auto;
}

@media (max-width:640px){
  .tc-hero-inner,
  .tc-block{
    padding-inline:var(--space-3);
  }

  .tc-hero-inner p,
  .tc-section .tc-block p,
  .tc-section.tc-narrow .tc-block p{
    max-width:100%;
  }
}


.szerk-main{background:var(--color-paper);}

.szerk-hero-inner{max-width:680px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);} 

.szerk-mission .szerk-col{max-width:100%;}

.szerk-selection-inner{max-width:760px;}

.szerk-process .szerk-step{min-width:0;}

.szerk-ethics-inner{max-width:700px;margin-inline:auto;border:1px solid var(--color-border);padding:var(--space-4);}

.szerk-types .szerk-card{min-width:0;display:flex;flex-direction:column;gap:var(--space-2);} 

.szerk-update-inner{max-width:680px;}

.szerk-reader-inner{max-width:640px;margin-inline:auto;}

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

@media (max-width:640px){
.szerk-hero-inner{padding-inline:var(--space-2);} 
}


.helyszinek-page{display:block}

.hero-section{display:flex;flex-direction:column;gap:var(--space-5)}
.hero-text{max-width:700px;margin-inline:auto;text-align:left}

.editorial-section .editorial-inner{max-width:680px}

.profile-grid{display:grid;grid-template-columns:40% 60%;gap:var(--space-5);align-items:start}
.profile-grid.reverse{grid-template-columns:60% 40%}
.profile-text{min-width:0}
.profile-image{width:100%}

.cards-grid .card{height:100%}

.narrative-inner{max-width:620px}

.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);max-width:800px}

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

@media (max-width:900px){
.profile-grid,.profile-grid.reverse{grid-template-columns:1fr}
.guide-grid{grid-template-columns:1fr}
}


.galeria-main{background:var(--color-paper);}

.galeria-hero-grid{display:grid;grid-template-columns:40% 60%;gap:var(--space-5);align-items:start;}
.galeria-hero-intro{max-width:60ch;}

.galeria-centered{display:flex;justify-content:center;}
.galeria-figure{max-width:70%;}
.galeria-caption{max-width:50ch;margin-inline:auto;text-align:left;}

.galeria-image{position:relative;padding:6px;background:var(--color-paper);}
.galeria-image::after{content:"";position:absolute;inset:0;background:var(--color-halftone);pointer-events:none;mix-blend-mode:multiply;opacity:.6;}
.galeria-image:hover::after{opacity:.8;}

.galeria-note{padding:var(--space-4);max-width:70ch;margin-inline:auto;}

.galeria-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center;}
.galeria-split-text{max-width:50ch;}
.galeria-split-image{width:100%;}

.galeria-split.reverse .galeria-split-grid{grid-template-columns:1fr 1fr;}
.galeria-split.reverse .galeria-split-text{order:1;}
.galeria-split.reverse .galeria-split-image{order:2;}

.galeria-transition-inner{max-width:60ch;margin-inline:auto;text-align:center;}

.galeria-links-intro{max-width:60ch;}
.galeria-link-grid a{text-decoration:underline;}

.galeria-cta-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:50ch;margin-inline:auto;text-align:center;}

.galeria-closing-inner{max-width:50ch;margin-inline:auto;text-align:center;}

@media (max-width:900px){
.galeria-hero-grid{grid-template-columns:1fr;}
.galeria-figure{max-width:100%;}
.galeria-split-grid{grid-template-columns:1fr;}
.galeria-split-text,.galeria-hero-intro{max-width:100%;}
}

@media (max-width:640px){
.galeria-caption,.galeria-transition-inner,.galeria-cta-inner,.galeria-closing-inner{max-width:100%;}
}


.privat-esemenyek{position:relative}

.pe-hero-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}
.pe-hero-image{max-width:900px;width:100%}
.pe-hero-text{max-width:620px;text-align:center;margin-inline:auto}

.pe-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.pe-type{max-width:420px}

.pe-experience-grid{display:grid;grid-template-columns:7fr 3fr;gap:var(--space-5);align-items:start}
.pe-experience-text{max-width:640px}
.pe-experience-image{width:100%}

.pe-venues-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}

.pe-logistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}

.pe-cards .pe-card{display:flex;flex-direction:column;gap:var(--space-2)}
.pe-card:hover{background:rgba(166,58,80,0.06)}

.pe-editorial-inner{display:flex;justify-content:center}
.pe-editorial-text{max-width:600px}

.pe-cta-inner{max-width:500px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);background:rgba(166,58,80,0.08);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.pe-cta-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}

@media (max-width:900px){
.pe-types-grid{grid-template-columns:1fr 1fr}
.pe-experience-grid{grid-template-columns:1fr}
.pe-venues-grid{grid-template-columns:1fr}
.pe-logistics-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
.pe-types-grid{grid-template-columns:1fr}
.pe-hero-text{max-width:100%;text-align:left}
}


.idopontok-page .idopontok-hero-inner{max-width:700px}
.idopontok-intro-grid{align-items:start}
.idopontok-note{max-width:320px}
.idopontok-card{display:flex;flex-direction:column;gap:var(--space-3)}
.idopontok-list .day-block{border-top:1px solid var(--color-border);padding-top:var(--space-3)}
.event-item{display:flex;flex-direction:column;gap:var(--space-2)}
.idopontok-observe-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center}
.idopontok-observe-inner img{width:100%;height:100%;object-fit:cover}
.idopontok-observe-inner>div{max-width:700px}
.idopontok-booking-inner{max-width:700px}
.idopontok-end-inner{max-width:600px;margin-inline:auto;text-align:center}
@media (max-width:640px){
.idopontok-observe-inner{grid-template-columns:1fr}
.idopontok-note{max-width:100%}
}


.foglalas-page .headline-block{max-width:680px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);} 
.hero-lead{font-size:var(--fs-4);} 

.two-col .col{min-width:0;} 

.steps .step{display:flex;flex-direction:column;gap:var(--space-2);} 

.cards .type-card{display:flex;flex-direction:column;gap:var(--space-3);} 
.cards img{filter:grayscale(100%);} 

.prep > .container > div{min-width:0;} 

.feature-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-5);align-items:start;} 
.feature-text{max-width:720px;} 
.feature-image{min-width:0;} 

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

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

@media (max-width:900px){
.feature-inner{grid-template-columns:1fr;}
}


.vt-page{}

.vt-hero-grid{
display:grid;
grid-template-columns:60% 40%;
gap:var(--space-5);
align-items:center;
}

.vt-hero-text{
max-width:60ch;
}

.vt-note-box{
max-width:520px;
margin-inline:auto;
border:1px solid var(--color-border);
padding:var(--space-4);
}

.vt-story-grid{
display:grid;
grid-template-columns:45% 55%;
gap:var(--space-5);
align-items:start;
}

.vt-story-grid.reverse{
grid-template-columns:55% 45%;
}

.vt-story-text{
max-width:65ch;
}

.vt-card{
transition:background var(--transition-fast);
}

.vt-card:hover{
background:rgba(166,58,80,0.06);
}

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

.vt-guide .container{
max-width:700px;
}

.vt-links .container{
max-width:800px;
}

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

@media (max-width:900px){
.vt-hero-grid,
.vt-story-grid,
.vt-story-grid.reverse{
grid-template-columns:1fr;
}

.vt-hero-text,
.vt-story-text{
max-width:100%;
}
}


.home-page .hero-grid{gap:var(--space-5);align-items:start}
.hero-title h1{max-width:18ch}
.hero-media{display:flex;flex-direction:column;gap:var(--space-3)}
.hero-lead{max-width:60ch}
.hero-meta{display:flex;gap:var(--space-3);flex-wrap:wrap}

.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.intro-grid > div{max-width:70ch}

.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}
.story-text{max-width:55ch}

.venues-intro{max-width:60ch;margin-bottom:var(--space-4)}

.types .grid > div{max-width:45ch}

.timing .grid > div,
.guests .grid > div,
.booking .grid > div{max-width:65ch}

.gallery-intro{text-align:center;max-width:50ch;margin-inline:auto;margin-bottom:var(--space-4)}

.closing-inner{max-width:55ch;margin-inline:auto}

@media (max-width:900px){
.home-page .hero-grid{grid-template-columns:1fr}
.intro-grid{grid-template-columns:1fr}
.story-grid{grid-template-columns:1fr}
}


.poker-page .hero-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-5);align-items:center}
.hero-text{max-width:60ch}
.hero-image{position:relative}
.hero-image::after{content:"";position:absolute;inset:0;background:var(--color-halftone);pointer-events:none}

.explanation .col{max-width:55ch}

.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}
.story-grid.reverse{grid-template-columns:1fr 1fr}
.story-text{max-width:65ch}
.story-image{position:relative}
.story-image::after{content:"";position:absolute;inset:0;background:var(--color-halftone)}
.note{margin-top:var(--space-3)}

.community div{max-width:60ch}

.practical div{max-width:60ch}

.related .cards .card{display:flex;flex-direction:column;gap:var(--space-2)}

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

@media (max-width:900px){
.hero-grid{grid-template-columns:1fr}
.story-grid,.story-grid.reverse{grid-template-columns:1fr}
}


.thankyou{
text-align:center;
}

.thankyou__content{
max-width:560px;
margin-inline:auto;
}

.thankyou__actions{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:var(--space-3);
margin-top:var(--space-4);
}

.thankyou .dateline{
margin-bottom:var(--space-2);
}

.thankyou .page-number{
margin-top:var(--space-5);
}

@media (max-width:640px){
.thankyou__actions{
flex-direction:column;
align-items:center;
}
}