/*
Theme Name: BELICZKY V2
Theme URI: https://beliczky.com/
Author: OpenAI for Beliczky
Description: Egyedi, magazinos, fotóközpontú WordPress theme.
Version: 2.0.1
Text Domain: beliczky
*/

:root{
  --bg:#f4f0e8;
  --paper:#fffdf8;
  --ink:#111318;
  --muted:#6e6a63;
  --line:#d8d0c5;
  --accent:#c69a60;
  --dark:#0d1114;
  --max:1460px;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.site-shell{overflow:hidden}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(248,245,239,.95);
  border-bottom:1px solid rgba(0,0,0,.06);
  backdrop-filter:blur(14px);
}
.header-inner{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.brand{font-weight:950;font-size:2.05rem;letter-spacing:-.055em;justify-self:start}
.primary-nav{justify-self:center}
.primary-nav ul{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}
.primary-nav a{font-size:.82rem;font-weight:700}
.nav-cta{border:1px solid #777;padding:9px 14px;border-radius:999px}
.mobile-toggle{display:none;justify-self:end;background:none;border:0;font-size:1.5rem}

/* HERO - now mirrors the visual mockup */
.hero{padding:0;background:#ddd}
.hero-stage{
  position:relative;
  min-height:640px;
  overflow:hidden;
  background:#7f786f;
}
.hero-stage > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.30) 40%,rgba(0,0,0,.06) 72%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.30));
}
.hero-inner{
  position:relative;z-index:2;
  width:min(calc(100% - 48px),var(--max));
  margin-inline:auto;
  padding-top:48px;
  min-height:640px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:44px;
}
.hero-wordmark{
  position:absolute;left:0;top:34px;
  font-size:clamp(5rem,11vw,12rem);
  line-height:.82;
  letter-spacing:-.075em;
  font-weight:950;
  color:#fff;
}
.hero-copy{max-width:620px}
.hero-title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(2rem,3.5vw,4rem);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:850;
}
.hero-sub{margin:0;color:rgba(255,255,255,.9);max-width:54ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 16px;border-radius:6px;
  border:1px solid var(--ink);
  font-size:.78rem;font-weight:800;letter-spacing:.02em
}
.btn-light{background:#fff;border-color:#fff;color:#111}
.btn-outline-light{border-color:rgba(255,255,255,.85);color:#fff}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#111}
.hero-location{
  position:absolute;right:0;bottom:42px;
  color:#fff;text-align:right;font-size:.78rem
}
.coord{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* Generic section */
.section{padding:74px 0}
.section-white{background:var(--paper)}
.section-dark{background:var(--dark);color:#f6f1e8}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:26px}
.section-title{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  font-size:clamp(2.6rem,4.7vw,5.6rem);
  line-height:.95;
  letter-spacing:-.05em;
  margin:0
}
.section-kicker{max-width:500px;color:var(--muted);font-size:.94rem}
.eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}

/* Featured/editorial grid */
.feature-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:28px}
.feature-main{
  position:relative;min-height:530px;border-radius:8px;overflow:hidden;background:#aaa
}
.feature-main img{width:100%;height:100%;object-fit:cover}
.feature-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.68))}
.feature-main-copy{position:absolute;left:30px;right:30px;bottom:28px;color:#fff}
.feature-main h3{
  font-family:Georgia,serif;
  font-size:clamp(2.2rem,4vw,4.4rem);
  line-height:.98;letter-spacing:-.045em;margin:.35em 0 .25em;font-weight:500
}
.feature-main p{max-width:54ch;color:rgba(255,255,255,.88);margin:0}
.side-stories{display:flex;flex-direction:column;gap:18px}
.side-story{
  display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;
  padding-bottom:18px;border-bottom:1px solid var(--line)
}
.side-story img{width:160px;height:118px;object-fit:cover;border-radius:6px}
.side-story h4{font-family:Georgia,serif;font-size:1.45rem;line-height:1.1;margin:.2em 0}
.side-story p{margin:0;color:var(--muted);font-size:.84rem}

/* Planner */
.planner{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.planner-copy h2{
  font-family:Georgia,serif;font-weight:500;
  font-size:clamp(3rem,5vw,6rem);line-height:.92;letter-spacing:-.05em;margin:.15em 0 .3em
}
.planner-copy p{color:#bdb7af;max-width:56ch}
.planner-box{border:1px solid #35393d;border-radius:12px;padding:24px;background:#12171b}
.planner-box label{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}
.planner-box input,.planner-box textarea{
  width:100%;background:#0d1114;color:#fff;border:1px solid #35393d;border-radius:7px;
  padding:11px 12px;margin-top:6px
}
.planner-box textarea{min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-field{margin-bottom:12px}
.planner-note{font-size:.73rem;color:#8f8a84;margin-top:10px}

/* Map */
.map-wrap{display:grid;grid-template-columns:1.55fr .45fr;gap:26px}
.map-card{min-height:390px;background:#d6e3e4;border-radius:8px;position:relative;overflow:hidden}
.world-map{
  position:absolute;inset:0;
  background:
   radial-gradient(circle at 23% 40%,#688f8a 0 4px,transparent 5px),
   radial-gradient(circle at 42% 34%,#688f8a 0 4px,transparent 5px),
   radial-gradient(circle at 56% 38%,#688f8a 0 4px,transparent 5px),
   radial-gradient(circle at 68% 45%,#688f8a 0 4px,transparent 5px),
   radial-gradient(circle at 78% 62%,#688f8a 0 4px,transparent 5px),
   linear-gradient(135deg,#e5efef,#cbdadb);
}
.map-card:after{
  content:"";position:absolute;inset:8%;
  background:
    radial-gradient(ellipse at 18% 32%,rgba(84,119,116,.28) 0 18%,transparent 19%),
    radial-gradient(ellipse at 46% 36%,rgba(84,119,116,.28) 0 13%,transparent 14%),
    radial-gradient(ellipse at 67% 38%,rgba(84,119,116,.28) 0 16%,transparent 17%),
    radial-gradient(ellipse at 77% 70%,rgba(84,119,116,.28) 0 8%,transparent 9%);
}
.stats{display:grid;grid-template-columns:1fr;gap:10px}
.stat{padding:20px;background:var(--paper);border-bottom:1px solid var(--line)}
.stat strong{font-size:2.35rem;line-height:1;display:inline-block;margin-right:12px}
.stat span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* Projects */
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project-card{min-height:270px;border:1px solid var(--line);background:#f1e9dc;padding:26px;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px}
.project-card.dark{background:#101417;color:#fff;border-color:#101417}
.project-card h3{font-family:Georgia,serif;font-size:2rem;margin:0}
.project-card p{color:var(--muted);max-width:54ch}
.project-card.dark p{color:#a8a29a}

.topic-cloud{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.topic-pill{padding:14px 0;border-bottom:1px solid var(--line);font-size:.92rem}

/* About */
.about-grid{display:grid;grid-template-columns:330px 1fr;gap:46px;align-items:center}
.about-photo{aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#bbb}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-copy h2{
  font-family:Georgia,serif;font-size:clamp(3rem,5vw,6rem);line-height:.92;letter-spacing:-.05em;
  font-weight:500;margin:.15em 0 .3em
}
.about-copy p{max-width:65ch;color:var(--muted);font-size:1rem}

/* Footer */
.site-footer{background:#0d1114;color:#fff;padding:46px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
.footer-brand{font-size:clamp(3.6rem,7vw,7.5rem);font-weight:950;line-height:.8;letter-spacing:-.07em}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #2c3135;margin-top:30px;padding-top:22px;color:#8c9296;font-size:.76rem}

/* Articles */
.article-shell{padding:64px 0 90px}
.article-head{max-width:920px;margin:0 auto 34px}
.article-title{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,7rem);line-height:.92;letter-spacing:-.055em;margin:.2em 0}
.article-meta{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.article-cover{max-width:1200px;margin:0 auto 40px;border-radius:8px;overflow:hidden}
.article-content{max-width:780px;margin:0 auto;font-family:Georgia,serif;font-size:1.18rem;line-height:1.75}
.article-content h2,.article-content h3{font-family:Inter,system-ui,sans-serif}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:70px}
.card{background:var(--paper);border:1px solid rgba(0,0,0,.06);border-radius:8px;overflow:hidden}
.card-media{aspect-ratio:4/3;background:#ddd}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:18px}
.card-meta{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.card-title{font-family:Georgia,serif;font-size:1.55rem;line-height:1.12;margin:.5em 0 .35em}
.card-excerpt{font-size:.9rem;color:var(--muted)}

@media(max-width:1000px){
  .header-inner{grid-template-columns:1fr auto}
  .primary-nav{display:none}
  .mobile-toggle{display:block}
  .hero-stage,.hero-inner{min-height:570px}
  .feature-grid,.planner,.map-wrap,.about-grid,.footer-grid{grid-template-columns:1fr}
  .hero-location{display:none}
  .about-grid{grid-template-columns:280px 1fr}
}
@media(max-width:700px){
  .container,.hero-inner{width:min(calc(100% - 24px),var(--max))}
  .hero-stage,.hero-inner{min-height:610px}
  .hero-wordmark{font-size:clamp(4.3rem,22vw,7rem);top:28px}
  .hero-copy{padding-top:210px}
  .section{padding:54px 0}
  .section-head{display:block}
  .section-kicker{margin-top:12px}
  .feature-grid{grid-template-columns:1fr}
  .feature-main{min-height:460px}
  .side-story{grid-template-columns:115px 1fr}
  .side-story img{width:115px;height:90px}
  .form-row{grid-template-columns:1fr}
  .projects,.archive-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .about-photo{max-width:360px}
  .footer-bottom{display:block}
}


/* --- V2.1 production foundation --- */
.mobile-nav-open{overflow:hidden}
@media(max-width:1000px){
  .site-header{position:sticky;top:0;z-index:999}
  .primary-nav.is-open{
    display:block!important;position:absolute;top:72px;left:12px;right:12px;
    background:rgba(243,239,231,.985);padding:18px;border:1px solid rgba(0,0,0,.08);
    border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.14)
  }
  .primary-nav.is-open ul{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .primary-nav.is-open a{display:block;padding:12px 8px}
}

.page-hero{padding:76px 0 42px;border-bottom:1px solid var(--line)}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(3.5rem,7vw,7.2rem);font-weight:500;line-height:.9;letter-spacing:-.055em;margin:.12em 0 .2em}
.page-hero p{max-width:65ch;color:var(--muted);font-size:1.04rem}
.page-shell{padding:48px 0 84px}
.page-narrow{max-width:780px}
.content-prose{font-family:Georgia,serif;font-size:1.12rem;line-height:1.72}
.content-prose h2,.content-prose h3{font-family:Inter,system-ui,sans-serif;line-height:1.1}

.travel-form{display:grid;gap:14px;margin-top:24px}
.travel-form .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.travel-form label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.travel-form input,.travel-form textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:13px 14px;font:inherit}
.travel-form textarea{min-height:150px;resize:vertical}
.form-message{padding:14px 16px;border:1px solid var(--line);border-radius:7px;margin:18px 0;background:#fff}
.form-message.success{border-color:#79906f}.form-message.error{border-color:#a46b62}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.writing-index{display:grid;grid-template-columns:1.1fr .9fr;gap:42px}
.category-stack{border-top:1px solid var(--line)}
.category-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}
.category-row span{color:var(--muted);font-size:.82rem}
.contact-card{background:var(--dark);color:#fff;padding:28px;border-radius:10px}
.contact-card a{text-decoration:underline;text-underline-offset:3px}

.project-external{display:inline-flex;margin-top:12px;font-weight:800}
.setup-note{font-size:.84rem;color:var(--muted)}

@media(max-width:700px){
  .hero-stage,.hero-inner{min-height:590px}
  .hero-wordmark{font-size:clamp(4.1rem,21vw,6.5rem)}
  .hero-title{font-size:clamp(2.3rem,10.5vw,3.45rem)}
  .hero-actions{gap:8px}
  .btn{min-height:45px;padding:0 15px}
  .travel-form .grid-2,.writing-index{grid-template-columns:1fr}
  .page-hero{padding:52px 0 30px}
}
