/*
Theme Name: Szenti
Theme URI: https://szenti.org/
Author: Szentkirály-Boda László
Description: Trilingual (EN/HU/RO) consulting theme for szenti.org. Turquoise, white and red, with server-rendered language pages, blog styling and a built-in contact form.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: szenti
*/

/* Layout: Axivantis-style editorial: serif display with italic accent, mono labels led by a short rule, hairline borders, square buttons, deep-teal ink bands with a giant watermark; turquoise for structure, red only for figures and calls to action */
:root{
  --bg:#FFFFFF;
  --surface:#F1F9F9;
  --ink:#0B2A2E;
  --muted:#3F585C;
  --line:#CFE4E5;
  --teal:#0A7F86;
  --forest:#0B2E33;
  --forest-ink:#FFFFFF;
  --teal-light:#5FD3D8;
  --amber:#D1273B;
  --amber-soft:#FDE8EA;
  --font-display:"Cormorant Garamond", Garamond, "Times New Roman", serif;
  --font-body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono:"DM Mono", ui-monospace, Menlo, Consolas, monospace;
  --font-mark:"Syne", "Figtree", sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#061A1C; --surface:#0C2629; --ink:#EAF5F5; --muted:#A9C2C4; --line:#1D3D40;
    --teal:#3CC9CF; --forest:#04191B; --forest-ink:#F4FCFC; --teal-light:#5FD3D8; --amber:#FF5D6C; --amber-soft:#3A1419;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#061A1C; --surface:#0C2629; --ink:#EAF5F5; --muted:#A9C2C4; --line:#1D3D40;
  --teal:#3CC9CF; --forest:#04191B; --forest-ink:#F4FCFC; --teal-light:#5FD3D8; --amber:#FF5D6C; --amber-soft:#3A1419;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(40px, env(safe-area-inset-left,0px));padding-right:max(40px, env(safe-area-inset-right,0px))}}

/* Header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:24px;padding-block:14px}
.mark{display:inline-flex;align-items:center;gap:10px;color:var(--amber);font-family:var(--font-display);font-weight:600;font-size:1.75rem;letter-spacing:.005em;text-decoration:none;white-space:nowrap}
.mark img{width:64px;height:auto;display:block}
.mark span{color:var(--amber)}
.foot-bird{width:120px;height:auto;display:block;margin-bottom:14px}
nav.main{display:none;gap:22px;margin-left:auto}
nav.main a{text-decoration:none;font-size:.92rem;color:var(--muted);transition:color .15s}
nav.main a:hover{color:var(--ink)}
@media (min-width:1020px){nav.main{display:flex}}
.lang{display:flex;border:1px solid var(--line);border-radius:0;padding:3px;margin-left:auto;background:var(--surface)}
@media (min-width:1020px){.lang{margin-left:8px}}
.lang a{text-decoration:none;font:500 .78rem var(--font-mono);letter-spacing:.06em;border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:0;cursor:pointer}
.lang a[aria-current="page"]{background:var(--forest);color:var(--forest-ink)}
.btn{display:inline-flex;align-items:center;gap:10px;font:500 .8rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:0;padding:16px 26px;cursor:pointer;border:1px solid transparent;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--amber);color:#fff}
:root[data-theme="dark"] .btn.primary{color:#1A1206}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.primary{color:#1A1206}}
.btn.ghost{border-color:var(--line);color:var(--ink);background:transparent}
.bar .btn{display:none;padding:11px 16px;font-size:.72rem}
@media (min-width:640px){.bar .btn{display:inline-flex}}

/* Hero */
.hero{padding-block:72px 56px}
.eyebrow{font:500 .78rem var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;flex-shrink:0}
.hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(3rem, 7.6vw, 6.2rem);line-height:1.02;letter-spacing:-.01em;margin:18px 0 0;max-width:13ch;text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--teal)}
h2 em{font-style:italic;color:var(--teal)}
.hero-grid{display:grid;gap:40px;margin-top:36px}
@media (min-width:900px){.hero-grid{grid-template-columns:7fr 5fr;align-items:end}}
.lead{font-size:1.18rem;max-width:58ch;color:var(--ink);margin:0}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.clocks{border-top:1px solid var(--teal);padding-top:14px}
.clocks .cap{font:500 .72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.clock-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.clock{min-width:0}
.clock b{display:block;font:400 1.6rem var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.clock small{display:block;font-size:.82rem;color:var(--muted)}
.clock i{font-style:normal;display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--line)}
.clock i.on{background:#2F9E6E}

/* Stats */
.stats{border-block:1px solid var(--line);background:var(--surface)}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr)}
@media (min-width:820px){.stat-row{grid-template-columns:repeat(4,1fr)}}
.stat{padding-block:26px;padding-right:16px;min-width:0}
.stat b{display:block;font-family:var(--font-display);font-weight:600;font-size:3.2rem;line-height:1;color:var(--amber);font-variant-numeric:lining-nums tabular-nums}
.stat span{display:block;margin-top:8px;font-size:.92rem;color:var(--muted);max-width:22ch}

/* Sections */
.block{padding-block:96px}
.head{display:grid;gap:18px;margin-bottom:48px}
@media (min-width:900px){.head{grid-template-columns:5fr 7fr;align-items:end}}
h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem, 5vw, 3.8rem);line-height:1.05;letter-spacing:-.005em;margin:14px 0 0;text-wrap:balance}
.head p{margin:0;color:var(--muted);max-width:56ch;font-size:1.06rem}

/* Principles */
.principles{display:grid;gap:36px}
@media (min-width:860px){.principles{grid-template-columns:repeat(3,1fr);gap:44px}}
.principle h3{font:600 1.65rem/1.15 var(--font-display);margin:0 0 12px;padding-top:18px;border-top:1px solid var(--teal)}
.principle p{margin:0;color:var(--muted)}

/* Services */
.services{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media (min-width:760px){.services{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.services{grid-template-columns:repeat(3,1fr)}}
.svc{padding:28px 24px 30px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-width:0}
@media (min-width:760px){.svc{padding-right:32px}}
.svc .tag{font:500 .72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.svc h3{font-family:var(--font-display);font-weight:600;font-size:1.85rem;line-height:1.15;margin:0}
.svc p{margin:0;color:var(--muted)}

/* Method band */
.band{background:var(--forest);color:var(--forest-ink);position:relative;overflow:hidden}
.band::before{content:"SZENTI";position:absolute;right:-2vw;bottom:-6vw;font:800 26vw/1 var(--font-mark);letter-spacing:-.04em;color:var(--forest-ink);opacity:.03;pointer-events:none;user-select:none;white-space:nowrap}
.band > .wrap{position:relative;z-index:1}
.band .eyebrow{color:var(--teal-light)}
.band .head p{color:var(--forest-ink);opacity:.85}
.band h2 em{color:var(--teal-light)}
.steps{display:grid;gap:0 40px;counter-reset:s}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{padding:28px 0 32px 0;border-top:1px solid color-mix(in srgb, var(--forest-ink) 28%, transparent);min-width:0}
.step .n{font:500 .78rem var(--font-mono);letter-spacing:.18em;color:var(--teal-light)}
.step h3{font-family:var(--font-display);font-weight:600;font-size:2.2rem;margin:10px 0 10px}
.step p{margin:0;color:var(--forest-ink)}
.band .btn.ghost{color:var(--forest-ink);border-color:color-mix(in srgb, var(--forest-ink) 35%, transparent)}
.band-cta{margin-top:48px;display:flex;flex-wrap:wrap;gap:12px}

/* Results */
.cases{display:grid;gap:20px}
@media (min-width:760px){.cases{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.cases{grid-template-columns:repeat(3,1fr)}}
.case{background:var(--surface);border:1px solid var(--line);border-radius:0;transition:border-color .2s;padding:26px;display:flex;flex-direction:column;gap:12px;min-width:0}
.case .tag{font:500 .72rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.case .fig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.case .fig b{font-family:var(--font-display);font-weight:600;font-size:3.4rem;line-height:1;color:var(--amber);font-variant-numeric:lining-nums}
.case .fig span{font-weight:600;font-size:.98rem;max-width:20ch;line-height:1.35}
.case:hover{border-color:var(--teal)}
.case p{margin:0;color:var(--muted);font-size:.95rem;border-top:1px solid var(--line);padding-top:12px}

/* Blog */
.posts{display:grid;gap:0;border-top:1px solid var(--line)}
@media (min-width:900px){.posts{grid-template-columns:repeat(2,1fr);column-gap:56px}}
.post{display:grid;gap:10px;padding-block:30px;border-bottom:1px solid var(--line);min-width:0}
.post .meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:500 .74rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.post .meta b{color:var(--teal);font-weight:500}
.post h3{font-family:var(--font-display);font-weight:600;font-size:1.9rem;line-height:1.15;margin:0;text-wrap:balance}
.post h3 a{text-decoration:none}
.post h3 a:hover{color:var(--teal)}
.post p{margin:0;color:var(--muted);max-width:56ch}
.post .more{font:500 .74rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);text-decoration:none;justify-self:start;border-bottom:1px solid currentColor;padding-bottom:2px}

/* About */
.about{display:grid;gap:48px}
@media (min-width:940px){.about{grid-template-columns:7fr 5fr;gap:72px}}
.about .name{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.08;margin:10px 0 6px}
.about .role{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.55rem;line-height:1.3;color:var(--teal);margin:0 0 28px;max-width:34ch}
.about .body p{margin:0 0 18px;max-width:62ch}
.side h3{font:500 .76rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.creds{list-style:none;margin:0 0 36px;padding:0}
.creds li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.98rem}
.creds li:nth-child(-n+3){font-weight:700;color:var(--teal)}
.langs{display:grid;grid-template-columns:1fr auto;gap:0;margin:0}
.langs dt,.langs dd{padding:9px 0;border-bottom:1px solid var(--line);margin:0;font-size:.95rem}
.langs dd{color:var(--muted);font:400 .82rem var(--font-mono);text-align:right;align-self:center}

/* Contact */
.contact{display:grid;gap:48px}
@media (min-width:940px){.contact{grid-template-columns:5fr 7fr;gap:72px}}
.info{display:grid;gap:0;margin-top:28px}
.info-row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.info-row .k{font:500 .72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.info-row .v{min-width:0;overflow-wrap:anywhere;user-select:all}
.info-row .v.plain{user-select:text}
.copy{font:500 .74rem var(--font-mono);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:0;padding:5px 9px;cursor:pointer}
form{display:grid;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:0;padding:28px}
.row2{display:grid;gap:16px}
@media (min-width:640px){.row2{grid-template-columns:1fr 1fr}}
label{display:grid;gap:6px;font-size:.86rem;font-weight:600}
input,select,textarea{font:400 1rem var(--font-body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:0;padding:11px 12px;width:100%;min-width:0}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);outline-offset:0;border-color:transparent}
.status{background:var(--amber-soft);border-radius:0;padding:14px 16px;font-size:.95rem}
.status textarea{margin-top:10px;background:var(--surface);font-size:.9rem}

.site-foot{border-top:1px solid var(--line);padding-block:32px 40px;color:var(--muted);font-size:.88rem}
.foot{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:flex-end}

/* ---------- WordPress specifics ---------- */
.admin-bar header.top{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){.admin-bar header.top{top:calc(46px + env(safe-area-inset-top,0px))}}
@media (max-width:600px){.admin-bar header.top{top:env(safe-area-inset-top,0px)}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px}
.skip:focus{left:16px}
.flush-top{padding-top:0!important}
.after-posts{margin-top:36px}
.contact-sec{background:var(--surface);color:var(--ink);border-top:1px solid var(--line)}
.contact-text{color:var(--muted);margin-top:16px;max-width:46ch}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.submit-row small{color:var(--muted);font-size:.85rem}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.status.is-ok{background:color-mix(in srgb, var(--teal) 14%, transparent)}
.status.is-error{background:var(--amber-soft)}

/* ---------- Blog index, articles, pages ---------- */
.page-head{margin-bottom:40px;display:grid;gap:14px}
.page-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.06;letter-spacing:-.005em;margin:0;text-wrap:balance;max-width:22ch}
.page-title em{font-style:italic;color:var(--teal)}
.page-intro{color:var(--muted);max-width:58ch;font-size:1.08rem;margin:0}
.pager{margin-top:36px}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pager .page-numbers{font:500 .8rem var(--font-mono);letter-spacing:.1em;border:1px solid var(--line);padding:9px 13px;text-decoration:none;color:var(--ink)}
.pager .page-numbers.current{background:var(--forest);color:var(--forest-ink);border-color:var(--forest)}
.article-head{padding-block:72px 32px;display:grid;gap:16px;max-width:calc(820px + 80px)}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font:500 .74rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.article-cover{margin:0 auto 24px;max-width:var(--wrap)}
.article-cover img{display:block;width:100%}
.entry{max-width:720px;padding-bottom:56px;font-size:1.1rem;line-height:1.75}
.entry > *{margin-block:0 1.15em}
.entry h2{font-family:var(--font-display);font-weight:600;font-size:2.1rem;line-height:1.15;margin:1.6em 0 .5em}
.entry h3{font-family:var(--font-display);font-weight:600;font-size:1.6rem;line-height:1.2;margin:1.4em 0 .4em}
.entry h4{font-size:1.1rem;margin:1.2em 0 .4em}
.entry a{color:var(--teal);text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{margin-bottom:.4em}
.entry blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:2px solid var(--teal);font-family:var(--font-display);font-style:italic;font-size:1.45rem;line-height:1.45;color:var(--ink)}
.entry img,.entry figure{max-width:100%;height:auto}
.entry figure{margin:1.6em 0}
.entry figcaption{font-size:.88rem;color:var(--muted);margin-top:8px}
.entry table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.98rem}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:2px 5px}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry .wp-block-button__link{background:var(--amber);color:#fff;border-radius:0;font:500 .8rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;padding:14px 22px;text-decoration:none}
.article-foot{padding-bottom:80px}
.author-box{display:flex;gap:20px;align-items:flex-start;max-width:720px;padding:28px;background:var(--surface);border:1px solid var(--line)}
.author-box img{flex-shrink:0}
.author-box b{font-family:var(--font-display);font-size:1.5rem;font-weight:600}
.author-box p{margin:4px 0 10px;color:var(--muted);font-style:italic}
.post-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:720px;margin-top:32px;font-size:.95rem}
.post-nav a{color:var(--teal);text-decoration:none}
.alignwide{max-width:960px}
.alignfull{max-width:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
