/*
Theme Name: Divinus Rendezvényközpont
Theme URI: 
Author: 
Description: Egyedi, ACF Flexible Content alapú klasszikus WordPress téma a Divinus Rendezvényközpont weboldalához.
Version: 1.0
Text Domain: divinus
*/

:root{
  --cream:#f3efe4;
  --cream-2:#ede6d6;
  --white:#ffffff;
  --dark:#173327;
  --dark-2:#0f241b;
  --graphite:#22262a;
  --graphite-2:#161a1d;
  --gold:#c69a54;
  --gold-dark:#a97f3f;
  --ink:#20241f;
  --ink-soft:#5c6058;
  --ink-faint:#8a8d84;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins', sans-serif;
  color:var(--ink);
  background:var(--white);
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,.logo,.quote{font-family:'Cormorant Garamond', serif; font-weight:500; color:var(--ink);}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
img{display:block; width:100%; height:100%; object-fit:cover;}
.container{max-width:1240px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-dark); font-weight:500; margin-bottom:14px; display:block;
}
.rule{width:56px; height:2px; background:var(--gold); border:none; margin:18px 0 22px;}
.rule.center{margin-left:auto; margin-right:auto;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 30px; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  font-weight:500; border-radius:2px; border:1px solid transparent; cursor:pointer;
  transition:all .25s ease; white-space:nowrap;
}
.btn-dark{ background:var(--dark); color:#f2ede0; }
.btn-dark:hover{ background:var(--dark-2); }
.btn-outline{ background:transparent; border:1px solid var(--gold); color:var(--gold-dark); }
.btn-outline:hover{ background:var(--gold); color:var(--white); }
.btn-gold{ background:var(--gold); color:#1c1a12; }
.btn-gold:hover{ background:var(--gold-dark); color:#fff; }

/* HEADER */
.site-header{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.97);
  backdrop-filter:blur(6px); border-bottom:1px solid #eee6d5;
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px; max-width:1400px; margin:0 auto; position:relative; gap:24px;
}
.nav-links{ display:flex; gap:32px; flex:1; }
.nav-links.nav-right{ justify-content:flex-end; }
.nav-links li a{
  font-size:0.86rem; font-weight:400; color:var(--ink); position:relative; padding-bottom:4px;
}
.nav-links li a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-dark);
  transition:width .25s ease;
}
.nav-links li a:hover::after{ width:100%; }
.logo{ text-align:center; line-height:1.1; flex-shrink:0; flex: 1; }
.logo img{ max-height:52px; width:auto; object-fit:contain; }
.logo .big{ font-size:1.7rem; letter-spacing:0.16em; color:var(--gold-dark); font-weight:600; border-bottom: 1px solid var(--gold-dark);}
.logo .small{ font-size:0.62rem; letter-spacing:0.32em; color:var(--gold-dark); display:block; margin-top:8px; }
.nav-right-wrap{ display:flex; align-items:center; gap:28px; flex:1; justify-content:flex-end; }
.burger{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.burger span{ width:26px; height:2px; background:var(--dark); display:block; }

/* HERO */
.hero{
  position:relative; min-height:88vh; display:flex; align-items:center;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  padding:0 32px;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(15,30,22,0.82) 0%, rgba(15,30,22,0.45) 45%, rgba(15,30,22,0.05) 75%);
}
.hero-inner{ position:relative; max-width:660px; padding:60px 0; color:#fbf8f0; }
.hero h1{ font-size:3.1rem; line-height:1.15; font-weight:500; margin-bottom:22px; color:#fbf8f0; }
.hero p{ font-size:1.02rem; font-weight:300; color:#e7e2d3; max-width:520px; margin-bottom:32px; }

/* Divider */
.diamond-divider{ display:flex; align-items:center; justify-content:center; gap:14px; padding:70px 32px 10px; }
.diamond-divider .line{ width:110px; height:1px; background:#d9c9a3; }
.diamond-divider .dot{ width:9px; height:9px; border:1px solid var(--gold); transform:rotate(45deg); }

/* Intro */
.intro{ text-align:center; max-width:760px; margin:0 auto; padding:30px 32px 90px; }
.intro h2{ font-size:2.3rem; margin-bottom:34px; }
.intro p{ color:var(--ink-soft); font-size:1.02rem; margin-bottom:6px; }
.intro .quote{ margin-top:34px; font-style:italic; font-size:1.5rem; color:var(--gold-dark); line-height:1.5; }

/* Alternating split sections */
.split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; min-height:560px; }
.split.reverse .text-col{ order:2; }
.split.reverse .img-col{ order:1; }
.text-col{ display:flex; flex-direction:column; justify-content:center; padding:80px 64px; }
.text-col.cream{ background:var(--cream); }
.text-col.white{ background:var(--white); }
.text-col h2{ font-size:2rem; line-height:1.2; margin-bottom:6px; }
.text-col .body-text p{ color:var(--ink-soft); font-size:0.97rem; margin-bottom:16px; }
.text-col .btn{ margin-top:10px; align-self:flex-start; }
.img-col{ position:relative; min-height:340px; }
.img-col img{ position:absolute; inset:0; width:100%; height:100%; }

.img-grid{ display:grid; grid-template-rows:1.1fr 1fr 1fr; gap:0; min-height:560px; }
.img-grid img{ width:100%; height:100%; object-fit:cover; }

/* Feature (Miért a Divinus) */
.feature-block{ background:var(--dark); color:#eee8d8; text-align:center; padding:100px 32px; }
.feature-block .diamond-divider .line{ background:#3c5646; }
.feature-block h2{ color:#f4efe2; font-size:2.3rem; margin-bottom:34px; }
.feature-block > .container > .body-text p{ color:#cfd6c9; max-width:760px; margin:0 auto 8px; }
.stats{ display:grid; grid-template-columns:repeat(3,1fr); max-width:900px; margin:60px auto; gap:0; }
.stats div{ padding:0 30px; border-left:1px solid #3c5646; }
.stats div:first-child{ border-left:none; }
.stats .stat-title{
  font-family:'Cormorant Garamond', serif; font-style:italic; font-size:1.4rem; color:var(--gold);
  line-height:1.4; display:block; margin-bottom:8px;
}
.stats .stat-desc{ font-size:0.85rem; color:#b7bfb0; }

/* CTA banner */
.cta-banner{
  position:relative; min-height:60vh; display:flex; align-items:center; justify-content:center;
  text-align:center; color:#fff; padding:80px 32px; background-size:cover; background-position:center;
}
.cta-banner::before{ content:""; position:absolute; inset:0; background:rgba(10,20,15,0.72); }
.cta-banner-inner{ position:relative; max-width:820px; }
.cta-banner h2{ color:#fbf8f0; font-size:2.1rem; line-height:1.3; margin-bottom:22px; font-weight:500; }
.cta-banner p{ color:#ded7c4; margin-bottom:34px; }

/* Footer */
.site-footer{ background:var(--graphite-2); color:#c7c9c4; text-align:center; padding:70px 32px 40px; }
.site-footer .logo .big{ color:#f4efe2; }
.site-footer .foot-nav{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px; margin:30px 0 8px;
  font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase; color:#b2b5af;
}
.site-footer .foot-nav li::before{padding-right:30px;content:"·";color:#9a9d97;font-size: 13px;}
.site-footer .foot-nav li:first-of-type::before{display:none;}
.site-footer .foot-nav li {list-style-type: none;}
.site-footer .foot-contact{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; margin:0 0 30px;
  font-size:0.85rem; color:#9a9d97;
}
.site-footer .foot-contact a{ color:#c7c9c4; }
.site-footer .foot-contact a:hover{ color:var(--gold); }
.site-footer .rule.center{ background:#3a3e39; margin-bottom:0; }
.site-footer .copyright{ margin-top:26px; font-size:0.75rem; color:#75786f; letter-spacing:0.04em; }

/* Fényképgaléria blokk */
.photo-gallery-section{ padding:90px 32px; }
.photo-gallery-section.cream{ background:var(--cream); }
.photo-gallery-section.white{ background:var(--white); }
.photo-gallery-intro{ text-align:center; max-width:700px; margin:0 auto 50px; }
.photo-gallery-intro h2{ font-size:2.1rem; margin-bottom:0; }
.photo-gallery-intro .body-text p{ color:var(--ink-soft); font-size:0.97rem; }
.photo-gallery-empty{ text-align:center; color:var(--ink-faint); }

.photo-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:18px;
}
.gallery-item{
  position:relative; display:block; width:100%; aspect-ratio:4/3;
  padding:0; border:none; border-radius:2px; overflow:hidden; cursor:pointer;
  background:var(--cream-2);
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover; transition:transform .4s ease, filter .4s ease;
}
.gallery-item::after{
  content:""; position:absolute; inset:0; background:rgba(15,30,22,0);
  transition:background .3s ease;
}
.gallery-item:hover img{ transform:scale(1.05); }
.gallery-item:hover::after{ background:rgba(15,30,22,0.12); }
.gallery-item:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* Lightbox */
.lightbox{
  display:none; position:fixed; inset:0; z-index:300; background:rgba(10,18,14,0.94);
  align-items:center; justify-content:center; padding:60px 70px;
}
.lightbox.open{ display:flex; }
.lightbox-figure{ max-width:min(1100px, 92vw); max-height:82vh; text-align:center; }
.lightbox-image{
  width:auto; height:auto; max-width:100%; max-height:78vh; object-fit:contain;
  display:inline-block; box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.lightbox-caption{ color:#d8d2c0; font-size:0.85rem; margin-top:16px; letter-spacing:0.02em; }
.lightbox-close, .lightbox-prev, .lightbox-next{
  position:absolute; background:none; border:none; color:#f2ede0; cursor:pointer;
  line-height:1; transition:color .2s ease, opacity .2s ease;
}
.lightbox-close{ top:22px; right:28px; font-size:2.2rem; }
.lightbox-prev, .lightbox-next{
  top:50%; transform:translateY(-50%); font-size:3rem; padding:10px 16px;
}
.lightbox-prev{ left:10px; }
.lightbox-next{ right:10px; }
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover{ color:var(--gold); }

@media (max-width: 640px){
  .photo-gallery-section{ padding:60px 20px; }
  .photo-gallery-grid{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .lightbox{ padding:70px 16px 30px; }
  .lightbox-prev, .lightbox-next{ font-size:2.2rem; padding:8px 10px; }
  .lightbox-close{ top:14px; right:16px; font-size:1.9rem; }
}

/* Sima szöveges oldal (pl. Adatkezelési tájékoztató) */
.simple-page{ max-width:820px; padding:10px 32px 100px; }
.simple-page-title{ text-align:center; font-size:2.3rem; margin-bottom:0; }
.simple-page .rule.center{ margin-top:22px; margin-bottom:44px; }
.simple-page-content{ color:var(--ink-soft); font-size:0.99rem; }
.simple-page-content h2{
  color:var(--ink); font-size:1.5rem; margin:44px 0 14px; line-height:1.3;
}
.simple-page-content h3{
  color:var(--ink); font-size:1.2rem; margin:32px 0 12px; line-height:1.3;
}
.simple-page-content p{ margin-bottom:18px; }
.simple-page-content ul,
.simple-page-content ol{ margin:0 0 18px 22px; }
.simple-page-content li{ margin-bottom:8px; }
.simple-page-content a{ color:var(--gold-dark); text-decoration:underline; text-underline-offset:3px; }
.simple-page-content a:hover{ color:var(--dark); }
.simple-page-content strong{ color:var(--ink); font-weight:500; }
.simple-page-content table{ width:100%; border-collapse:collapse; margin:0 0 24px; font-size:0.92rem; }
.simple-page-content th,
.simple-page-content td{ border:1px solid #e4ded0; padding:10px 12px; text-align:left; }
.simple-page-content th{ background:var(--cream); font-weight:500; }
.simple-page-content blockquote{
  border-left:2px solid var(--gold); padding-left:20px; margin:24px 0;
  font-style:italic; color:var(--ink-soft);
}

@media (max-width: 560px){
  .simple-page{ padding:0 20px 70px; }
  .simple-page-title{ font-size:1.7rem; }
}

/* ===========================================================
   Ajánlatkérés űrlap (Contact Form 7) – .divinus-ajanlatkeres
   A mezők sorrendje a shortcode alapján fix, ezért a data-name
   attribútum alapján (:has() szelektor) állítjuk be, mely mezők
   legyenek egymás mellett (fél szélesség), és melyek teljes
   szélességűek (select, textarea, elfogadás, küldés gomb).
   =========================================================== */
.divinus-ajanlatkeres{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  max-width:760px;
  margin:0 auto;
}

/* Teljes szélességű mezők: rendezvény típusa, terem, üzenet */
.divinus-ajanlatkeres label:has(select[name="event-type"]),
.divinus-ajanlatkeres label:has(select[name="room"]),
.divinus-ajanlatkeres label:has(textarea[name="your-message"]){
  grid-column:1 / -1;
}

/* Elfogadó jelölőnégyzet és a küldés gomb szintén teljes szélességű,
   soruk saját maguk (nem <label> a wrapperük, hanem span / input) */
.divinus-ajanlatkeres > .wpcf7-acceptance,
.divinus-ajanlatkeres > input[type="submit"]{
  grid-column:1 / -1;
}

.divinus-ajanlatkeres label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:0.8rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--ink);
}

.divinus-ajanlatkeres .wpcf7-form-control-wrap{ display:block; }

/* Szöveges/e-mail/tel/szám/dátum mezők + textarea + select közös alapja */
.divinus-ajanlatkeres input.wpcf7-form-control,
.divinus-ajanlatkeres select.wpcf7-form-control,
.divinus-ajanlatkeres textarea.wpcf7-form-control{
  width:100%;
  font-family:'Poppins', sans-serif;
  font-weight:300;
  font-size:0.95rem;
  text-transform:none;
  letter-spacing:normal;
  color:var(--ink);
  background:var(--white);
  border:1px solid #ddd6c4;
  border-radius:2px;
  padding:14px 16px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.divinus-ajanlatkeres input.wpcf7-form-control::placeholder,
.divinus-ajanlatkeres textarea.wpcf7-form-control::placeholder{
  color:var(--ink-faint);
}
.divinus-ajanlatkeres input.wpcf7-form-control:focus,
.divinus-ajanlatkeres select.wpcf7-form-control:focus,
.divinus-ajanlatkeres textarea.wpcf7-form-control:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(198,154,84,0.18);
}
.divinus-ajanlatkeres textarea.wpcf7-form-control{
  min-height:150px;
  resize:vertical;
}

/* Legördülő menük – egyedi nyílikon, mert az alapértelmezett
   böngésző-nyíl nem illik a designba */
.divinus-ajanlatkeres select.wpcf7-form-control{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding-right:42px;
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2320241f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Dátumválasztó ikon árnyalata, ahol a böngésző engedi */
.divinus-ajanlatkeres input[type="date"]{ accent-color:var(--gold); }

/* Elfogadó jelölőnégyzet sora */
.divinus-ajanlatkeres .wpcf7-acceptance{
  display:block;
  margin-top:4px;
}
.divinus-ajanlatkeres .wpcf7-list-item{ margin:0; }
.divinus-ajanlatkeres .wpcf7-list-item label{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
  text-transform:none;
  letter-spacing:normal;
  font-weight:300;
  font-size:0.9rem;
  color:var(--ink-soft);
  cursor:pointer;
}
.divinus-ajanlatkeres .wpcf7-list-item input[type="checkbox"]{
  margin-top:3px;
  width:16px;
  height:16px;
  accent-color:var(--gold);
  flex-shrink:0;
  cursor:pointer;
}

/* Küldés gomb – a meglévő .btn.btn-dark vizuáljával összhangban */
.divinus-ajanlatkeres input[type="submit"].wpcf7-submit{
  justify-self:start;
  margin-top:6px;
  font-family:'Poppins', sans-serif;
  padding:15px 34px;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
  color:#f2ede0;
  background:var(--dark);
  border:1px solid var(--dark);
  border-radius:2px;
  cursor:pointer;
  transition:background .25s ease;
}
.divinus-ajanlatkeres input[type="submit"].wpcf7-submit:hover{
  background:var(--dark-2);
}
.divinus-ajanlatkeres input[type="submit"].wpcf7-submit:disabled{
  opacity:0.6; cursor:default;
}

/* Küldés közbeni pörgő ikon */
.divinus-ajanlatkeres .wpcf7-spinner{
  --wpcf7-spinner-color:var(--gold);
}

/* Hibaüzenetek mezőnként */
.divinus-ajanlatkeres .wpcf7-not-valid-tip{
  display:block;
  margin-top:6px;
  font-size:0.78rem;
  font-weight:400;
  text-transform:none;
  letter-spacing:normal;
  color:#b3462c;
}
.divinus-ajanlatkeres input.wpcf7-not-valid,
.divinus-ajanlatkeres select.wpcf7-not-valid,
.divinus-ajanlatkeres textarea.wpcf7-not-valid{
  border-color:#b3462c;
}

/* Összesítő válaszüzenet (siker / hiba) a form alján */
.divinus-ajanlatkeres-wrap .wpcf7-response-output,
.wpcf7-form .wpcf7-response-output{
  margin:26px auto 0;
  max-width:760px;
  padding:16px 20px;
  border-radius:2px;
  font-size:0.9rem;
  border:1px solid #ddd6c4;
  color:var(--ink-soft);
  text-align:center;
}
.wpcf7-form.sent .wpcf7-response-output{
  border-color:var(--dark);
  color:var(--dark);
  background:rgba(23,51,39,0.06);
}
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output{
  border-color:#b3462c;
  color:#b3462c;
  background:rgba(179,70,44,0.06);
}

@media (max-width: 700px){
  .divinus-ajanlatkeres{
    grid-template-columns:1fr;
    gap:20px;
  }
  .divinus-ajanlatkeres input[type="submit"].wpcf7-submit{
    justify-self:stretch;
    text-align:center;
  }
}


/* Mobile nav */
.mobile-menu{
  display:none; position:fixed; inset:0; background:var(--dark); z-index:200;
  flex-direction:column; align-items:center; justify-content:center; gap:24px;
  overflow-y:auto; padding:40px 20px;
}
.mobile-menu.open{ display:flex; }
.mobile-menu a{ color:#f2ede0; font-size:1.1rem; letter-spacing:0.08em; text-transform:uppercase; }
.mobile-menu .close-btn{
  position:absolute; top:24px; right:28px; background:none; border:none; color:#f2ede0;
  font-size:1.8rem; cursor:pointer; line-height:1;
}
.mobile-menu .btn{ margin-top:10px; }

/* Responsive */
@media (max-width: 980px){
  .nav-links{ display:none; }
  .nav-right-wrap .btn{ display:none; }
  .burger{ display:flex; }
  .split{ grid-template-columns:1fr; min-height:auto; }
  .split .img-col{ min-height:320px; order:1 !important; }
  .split .text-col{ order:2 !important; padding:56px 28px; }
  .img-grid{ grid-template-rows:260px 260px 260px; }
  .stats{ grid-template-columns:1fr; gap:26px; max-width:340px; }
  .stats div{ border-left:none; border-top:1px solid #3c5646; padding:26px 10px 0; }
  .stats div:first-child{ border-top:none; padding-top:0; }
  .hero h1{ font-size:2.2rem; }
  .hero-inner{ padding:40px 0; }
  .intro h2{ font-size:1.7rem; }
  .feature-block h2{ font-size:1.8rem; }
  .cta-banner h2{ font-size:1.5rem; }
}
@media (max-width: 560px){
  .container{ padding:0 20px; }
  .hero{ padding:0 20px; min-height:92vh; }
  .hero h1{ font-size:1.85rem; }
  .hero::before{ background:linear-gradient(180deg, rgba(12,24,18,0.78) 0%, rgba(12,24,18,0.72) 100%); }
  .logo .big{ font-size:1.25rem; letter-spacing:0.1em; }
  .diamond-divider .line{ width:60px; }
  .text-col{ padding:48px 22px; }
}
