/*
Theme Name: HitterNet
Theme URI: https://example.com/hitternet
Author: HitterNet
Author URI: https://example.com
Description: Modern, minimalista, világos WordPress sablon mérnöki és IT megoldásokat nyújtó vállalkozásoknak. Fix bal oldali főmenü, mobilon fix hamburger menü, beépített román–magyar kétnyelvűség (RO|HU kapcsolóval, bővítmény nélkül), teljes Gutenberg (blokk) szerkesztő támogatás és egy kattintással importálható minta tartalom.
Version: 1.2.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hitternet
Tags: business, portfolio, blog, one-column, custom-menu, custom-logo, featured-images, block-styles, wide-blocks, editor-style, full-width-template, threaded-comments, translation-ready
*/

/* =========================================================
   1. Design tokens
   ========================================================= */
:root{
  --hn-ink:#14181d;
  --hn-ink-2:#242b34;
  --hn-body:#4a5461;
  --hn-muted:#6b7684;
  --hn-line:#e3e7ec;
  --hn-line-soft:#eef1f4;
  --hn-bg:#ffffff;
  --hn-bg-soft:#f5f7f9;
  --hn-accent:#ff6a1a;
  --hn-accent-dark:#e2550b;
  --hn-accent-soft:#fff2e9;
  --hn-sidebar-w:272px;
  --hn-topbar-h:64px;
  --hn-radius:14px;
  --hn-radius-sm:10px;
  --hn-shadow:0 1px 2px rgba(20,24,29,.04), 0 8px 24px rgba(20,24,29,.06);
  --hn-shadow-lg:0 2px 4px rgba(20,24,29,.05), 0 18px 50px rgba(20,24,29,.10);
  --hn-content:780px;
  --hn-wide:1180px;
  --hn-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --hn-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

/* =========================================================
   2. Reset / alapok
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--hn-font);
  font-size:17px;
  line-height:1.7;
  color:var(--hn-body);
  background:var(--hn-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--hn-ink);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--hn-accent)}
h1,h2,h3,h4,h5,h6{
  color:var(--hn-ink);
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.02em;
  margin:0 0 .6em;
}
h1{font-size:clamp(2.15rem,1.5rem + 2.4vw,3.6rem)}
h2{font-size:clamp(1.7rem,1.25rem + 1.6vw,2.6rem)}
h3{font-size:clamp(1.25rem,1.05rem + .7vw,1.65rem)}
h4{font-size:1.15rem}
h5{font-size:1rem}
h6{font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.3em;padding-left:1.3em}
li{margin-bottom:.45em}
hr{border:0;border-top:1px solid var(--hn-line);margin:2.5rem 0}
::selection{background:var(--hn-accent);color:#fff}
:focus-visible{outline:2px solid var(--hn-accent);outline-offset:3px;border-radius:4px}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:9999;background:var(--hn-ink);color:#fff;
  padding:.8rem 1.2rem;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;color:#fff}

/* =========================================================
   3. Elrendezés: fix bal oldali menü
   ========================================================= */
.hn-layout{min-height:100vh}

.hn-sidebar{
  position:fixed;
  top:0;left:0;bottom:0;
  width:var(--hn-sidebar-w);
  background:var(--hn-ink);
  color:#c9d0d8;
  display:flex;
  flex-direction:column;
  z-index:100;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#3a434e transparent;
}
.hn-sidebar::-webkit-scrollbar{width:8px}
.hn-sidebar::-webkit-scrollbar-thumb{background:#333c47;border-radius:8px}

.hn-sidebar__inner{display:flex;flex-direction:column;min-height:100%;padding:30px 26px 26px}

/* Logó */
.hn-brand{display:flex;align-items:center;gap:12px;margin-bottom:38px}
.hn-brand__mark{
  flex:0 0 auto;width:38px;height:38px;border-radius:11px;
  background:var(--hn-accent);
  display:grid;place-items:center;
  box-shadow:0 6px 18px rgba(255,106,26,.35);
}
.hn-brand__mark svg{width:20px;height:20px;display:block}
.hn-brand__text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.hn-brand__name{
  color:#fff;font-weight:700;font-size:1.14rem;letter-spacing:-.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hn-brand__name a{color:#fff}
.hn-brand__name a:hover{color:var(--hn-accent)}
.hn-brand__tagline{
  color:#7c8794;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hn-brand img{max-height:44px;width:auto}

/* Navigáció */
.hn-nav{margin-bottom:auto}
.hn-nav__label{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:#5f6a77;
  margin:0 0 14px 12px;font-weight:600;
}
.hn-nav ul{list-style:none;margin:0;padding:0}
.hn-nav li{margin:0 0 2px;position:relative}
.hn-nav a{
  display:block;padding:10px 14px;border-radius:9px;
  color:#c9d0d8;font-size:.96rem;font-weight:500;line-height:1.4;
  transition:background .18s ease,color .18s ease;
}
.hn-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.hn-nav .current-menu-item>a,
.hn-nav .current_page_item>a,
.hn-nav .current-menu-ancestor>a,
.hn-nav .current_page_parent>a{
  background:rgba(255,255,255,.08);color:#fff;
  box-shadow:inset 3px 0 0 var(--hn-accent);
}
/* Almenük */
.hn-nav .sub-menu{margin:2px 0 6px;padding-left:12px;border-left:1px solid rgba(255,255,255,.10)}
.hn-nav .sub-menu a{font-size:.88rem;padding:7px 12px;color:#9aa4b1}
.hn-nav .sub-menu a:hover{color:#fff}

/* Sidebar lábrész */
.hn-sidebar__foot{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}
.hn-sidebar__cta{
  display:block;text-align:center;background:var(--hn-accent);color:#fff!important;
  font-weight:600;font-size:.92rem;padding:12px 16px;border-radius:10px;
  transition:background .18s ease,transform .18s ease;
}
.hn-sidebar__cta:hover{background:var(--hn-accent-dark);transform:translateY(-1px)}
.hn-sidebar__meta{margin-top:18px;font-size:.8rem;color:#79838f;line-height:1.65}
.hn-sidebar__meta a{color:#c9d0d8}
.hn-sidebar__meta a:hover{color:var(--hn-accent)}
.hn-sidebar__meta strong{display:block;color:#fff;font-weight:600;font-size:.82rem;margin-bottom:2px}
.hn-social{display:flex;gap:8px;margin-top:16px}
.hn-social a{
  width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.07);
  display:grid;place-items:center;color:#c9d0d8;
}
.hn-social a:hover{background:var(--hn-accent);color:#fff}
.hn-social svg{width:15px;height:15px;fill:currentColor}

/* Fő tartalom oldal */
.hn-content{
  margin-left:var(--hn-sidebar-w);
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--hn-bg);
}
.hn-main{flex:1 0 auto;width:100%}

/* Mobil fejléc (fix felül) */
.hn-topbar{
  display:none;
  position:fixed;top:0;left:0;right:0;height:var(--hn-topbar-h);
  background:var(--hn-ink);
  z-index:120;
  align-items:center;justify-content:space-between;
  padding:0 16px;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.hn-topbar .hn-brand{margin:0}
.hn-topbar .hn-brand__mark{width:34px;height:34px;border-radius:10px}
.hn-topbar .hn-brand__tagline{display:none}
.hn-burger{
  appearance:none;border:0;background:rgba(255,255,255,.07);
  width:42px;height:42px;border-radius:10px;cursor:pointer;
  display:grid;place-items:center;padding:0;transition:background .18s ease;
}
.hn-burger:hover{background:rgba(255,255,255,.14)}
.hn-burger__bars{display:block;width:19px;height:13px;position:relative}
.hn-burger__bars span{
  position:absolute;left:0;height:2px;width:100%;background:#fff;border-radius:2px;
  transition:transform .28s ease,opacity .2s ease,top .28s ease;
}
.hn-burger__bars span:nth-child(1){top:0}
.hn-burger__bars span:nth-child(2){top:5.5px}
.hn-burger__bars span:nth-child(3){top:11px}
.hn-burger[aria-expanded="true"] .hn-burger__bars span:nth-child(1){top:5.5px;transform:rotate(45deg)}
.hn-burger[aria-expanded="true"] .hn-burger__bars span:nth-child(2){opacity:0}
.hn-burger[aria-expanded="true"] .hn-burger__bars span:nth-child(3){top:5.5px;transform:rotate(-45deg)}

.hn-overlay{
  display:none;position:fixed;inset:0;background:rgba(20,24,29,.5);
  z-index:110;opacity:0;transition:opacity .28s ease;
  backdrop-filter:blur(2px);
}


/* Nyelvváltó (RO | HU) */
.hn-langs{
  display:flex;gap:4px;background:rgba(255,255,255,.06);
  padding:4px;border-radius:11px;
}
.hn-langs--sidebar{margin:-18px 0 28px}
.hn-langs__item{
  flex:1;text-align:center;padding:7px 10px;border-radius:8px;
  font-size:.76rem;font-weight:700;letter-spacing:.08em;color:#9aa4b1;
  transition:background .18s ease,color .18s ease;
}
.hn-langs__item:hover{color:#fff;background:rgba(255,255,255,.08)}
.hn-langs__item.is-active{background:var(--hn-accent);color:#fff}
.hn-langs__item.is-active:hover{background:var(--hn-accent-dark);color:#fff}

.hn-topbar__actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.hn-topbar .hn-brand{min-width:0;flex:1 1 auto;overflow:hidden}
.hn-langs--topbar{padding:3px;border-radius:9px}
.hn-langs--topbar .hn-langs__item{padding:6px 9px;font-size:.7rem;flex:0 0 auto}

/* Nyelvi jelölő a szerkesztett listákban */
.hn-postlist{margin-top:clamp(40px,4vw,64px)}

/* =========================================================
   4. Tartalom konténerek (Gutenberg kompatibilis)
   ========================================================= */
.hn-container{width:100%;max-width:var(--hn-wide);margin:0 auto;padding:0 32px}

.hn-entry-content > *{
  max-width:var(--hn-content);
  margin-left:auto;margin-right:auto;
}
.hn-entry-content > .alignwide{max-width:var(--hn-wide)}
.hn-entry-content > .alignfull{max-width:none;width:100%}
.hn-entry-content > .alignfull:not(.hn-section):not(.hn-hero):not(.hn-bleed){padding-left:32px;padding-right:32px}
.hn-entry-content > *:first-child{margin-top:0}
.alignleft{float:left;margin:.4em 1.8em 1.2em 0}
.alignright{float:right;margin:.4em 0 1.2em 1.8em}
.aligncenter{margin-left:auto;margin-right:auto}
.hn-page{padding:0 0 90px}
.hn-page--padded{padding-top:clamp(44px,4.5vw,72px)}
/* Ha az oldal első blokkja egy teljes szélességű szekció, annak saját belső margója
   elég – ilyenkor nem kell fölé extra térköz. */
.hn-page--padded > .hn-section:first-child,
.hn-page--padded > .hn-hero:first-child{margin-top:calc(-1 * clamp(44px,4.5vw,72px))}


/* Tartalék: ha a WordPress blokk-elrendezés (layout) CSS-e valamiért nem töltődne be,
   a szekciók belső tartalma akkor is középre igazodik. A :where() nulla specifikussága
   miatt a WordPress saját szabályai mindig felülírják ezt. */
:where(.hn-section,.hn-hero) > :where(*){max-width:var(--hn-wide);margin-left:auto;margin-right:auto}

/* Blokk térközök */
.hn-entry-content > * + *{margin-top:1.35rem}
.hn-entry-content > .wp-block-group + .wp-block-group{margin-top:0}

/* =========================================================
   5. Gutenberg core blokkok stílusa
   ========================================================= */
.wp-block-group.has-background{padding:clamp(28px,4vw,64px) clamp(20px,3vw,48px);border-radius:var(--hn-radius)}
.wp-block-group.alignfull.has-background{border-radius:0}

.wp-block-buttons{gap:12px}
.wp-block-button__link,.wp-element-button{
  background:var(--hn-accent);
  color:#fff;
  border-radius:10px;
  font-weight:600;
  font-size:.97rem;
  padding:14px 26px;
  line-height:1.3;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
  box-shadow:0 6px 18px rgba(255,106,26,.22);
}
.wp-block-button__link:hover,.wp-element-button:hover{
  background:var(--hn-accent-dark);color:#fff;transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(255,106,26,.28);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--hn-ink);border:1px solid var(--hn-line);box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  border-color:var(--hn-ink);background:var(--hn-ink);color:#fff;
}
.has-hn-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.hn-hero .wp-block-button.is-style-outline .wp-block-button__link,
.hn-section--dark .wp-block-button.is-style-outline .wp-block-button__link,
.hn-dark .wp-block-button.is-style-outline .wp-block-button__link{
  color:#fff;border-color:rgba(255,255,255,.28);
}
.has-hn-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hn-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hn-section--dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hn-dark .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--hn-ink);border-color:#fff}

.wp-block-image img{border-radius:var(--hn-radius)}
.wp-block-image.alignfull img,.wp-block-cover.alignfull{border-radius:0}
.wp-block-image figcaption,.wp-block-embed figcaption{
  font-size:.85rem;color:var(--hn-muted);text-align:center;margin-top:.7em;
}

.wp-block-quote{
  border-left:3px solid var(--hn-accent);
  margin:2rem 0;padding:.2rem 0 .2rem 1.6rem;
  font-size:1.15rem;color:var(--hn-ink);font-style:normal;
}
.wp-block-quote cite{display:block;margin-top:.8rem;font-size:.9rem;color:var(--hn-muted);font-style:normal}

.wp-block-pullquote{border:0;padding:2rem 0}
.wp-block-separator{border-top:1px solid var(--hn-line);max-width:100%;opacity:1}
.wp-block-separator.is-style-wide{max-width:100%}

.wp-block-table{font-size:.95rem}
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table th,.wp-block-table td{border:1px solid var(--hn-line);padding:13px 16px;text-align:left}
.wp-block-table th{background:var(--hn-bg-soft);color:var(--hn-ink);font-weight:600}

.wp-block-code,pre{
  background:var(--hn-ink);color:#e6ebf1;padding:20px 22px;border-radius:var(--hn-radius-sm);
  font-family:var(--hn-mono);font-size:.87rem;overflow-x:auto;
}
code{font-family:var(--hn-mono);font-size:.88em;background:var(--hn-bg-soft);padding:.15em .4em;border-radius:5px}
.wp-block-code code{background:none;padding:0}

.wp-block-columns{gap:32px}
.wp-block-media-text{border-radius:var(--hn-radius);overflow:hidden}
.wp-block-media-text .wp-block-media-text__content{padding:clamp(20px,3vw,44px)}

/* Színpaletta osztályok (theme.json) */
.has-hn-ink-color{color:var(--hn-ink)!important}
.has-hn-ink-background-color{background-color:var(--hn-ink)!important}
.has-hn-accent-color{color:var(--hn-accent)!important}
.has-hn-accent-background-color{background-color:var(--hn-accent)!important}
.has-hn-soft-background-color{background-color:var(--hn-bg-soft)!important}
.has-hn-white-background-color{background-color:#fff!important}
.has-hn-body-color{color:var(--hn-body)!important}
.has-hn-muted-color{color:var(--hn-muted)!important}
.has-hn-white-color{color:#fff!important}

.has-hn-ink-background-color,.has-hn-ink-background-color h1,.has-hn-ink-background-color h2,
.has-hn-ink-background-color h3,.has-hn-ink-background-color h4{color:#fff}
.has-hn-ink-background-color p{color:#b9c2cc}

/* =========================================================
   6. Egyedi tartalom-stílusok (minta tartalomhoz)
   ========================================================= */
.hn-eyebrow{
  font-size:.74rem!important;text-transform:uppercase;letter-spacing:.16em;
  font-weight:700;color:var(--hn-accent)!important;margin-bottom:.9em!important;
}
.hn-lead{font-size:clamp(1.08rem,1rem + .4vw,1.28rem)!important;color:var(--hn-body);line-height:1.65}
.hn-dark .hn-lead,.hn-section--dark .hn-lead,.hn-hero .hn-lead,.has-hn-ink-background-color .hn-lead{color:#b9c2cc}
.hn-small{font-size:.86rem!important;color:var(--hn-muted)}

/* Hero */
.hn-hero{
  position:relative;overflow:hidden;background:var(--hn-ink);
  padding:clamp(58px,7vw,104px) clamp(24px,4vw,64px)!important;border-radius:0!important;
}
.hn-hero h1{color:#fff;max-width:16ch}
.hn-hero p{color:#b9c2cc}
.hn-hero .hn-eyebrow{color:var(--hn-accent)!important}

/* Kártyák */
.hn-card{
  background:#fff;border:1px solid var(--hn-line);border-radius:var(--hn-radius);
  padding:30px 28px!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
/* Egy oszlopban álló magányos kártyák egyforma magasak legyenek (rácsos elrendezés) */
.wp-block-column > .hn-card:only-child{height:100%}
.hn-card:hover{border-color:#d3d9e0;box-shadow:var(--hn-shadow);transform:translateY(-2px)}
.hn-card h3,.hn-card h4{margin-bottom:.5em}
.hn-card p:last-child{margin-bottom:0}
.hn-card--soft{background:var(--hn-bg-soft);border-color:transparent}
.hn-card--dark{background:var(--hn-ink-2);border-color:transparent}
.hn-card--dark h3,.hn-card--dark h4{color:#fff}
.hn-card--dark p{color:#b9c2cc}
.hn-card--accent{border-color:var(--hn-accent);box-shadow:0 10px 30px rgba(255,106,26,.10)}

.hn-num{
  font-family:var(--hn-mono);font-size:.8rem!important;font-weight:600;
  color:var(--hn-accent)!important;letter-spacing:.1em;margin-bottom:1.1em!important;
  display:block;
}
.hn-card--dark .hn-num{color:var(--hn-accent)!important}

/* Statisztika */
.hn-stat{text-align:center;padding:8px 0!important}
.hn-stat__value{
  font-size:clamp(2rem,1.4rem + 2vw,2.9rem)!important;font-weight:700;color:var(--hn-ink)!important;
  line-height:1.05;letter-spacing:-.03em;margin-bottom:.25em!important;
}
.hn-stat__label{font-size:.85rem!important;color:var(--hn-muted)!important;margin-bottom:0!important}
.hn-dark .hn-stat__value,
.hn-section--dark .hn-stat__value,
.hn-hero .hn-stat__value,
.hn-card--dark .hn-stat__value,
.has-hn-ink-background-color .hn-stat__value{color:#fff!important}
.hn-dark .hn-stat__label,
.hn-section--dark .hn-stat__label,
.hn-hero .hn-stat__label,
.hn-card--dark .hn-stat__label,
.has-hn-ink-background-color .hn-stat__label{color:#8d97a3!important}

/* Szekció keret */
.hn-section{padding:clamp(56px,6vw,96px) clamp(24px,4vw,64px)!important;border-radius:0!important}
.hn-section--soft{background:var(--hn-bg-soft)}
.hn-section--dark{background:var(--hn-ink)}
.hn-section--dark h2,.hn-section--dark h3{color:#fff}
.hn-section--dark p{color:#b9c2cc}
.hn-section--dark strong{color:#fff}
.hn-section--dark a:not(.wp-block-button__link){color:#fff;text-decoration:underline}
.hn-section--dark a:not(.wp-block-button__link):hover{color:var(--hn-accent)}
.hn-section--line{border-top:1px solid var(--hn-line)}

/* Pipás lista */
.hn-check{list-style:none;padding-left:0}
.hn-check li{position:relative;padding-left:32px;margin-bottom:.75em}
.hn-check li::before{
  content:"";position:absolute;left:0;top:.42em;width:18px;height:18px;border-radius:50%;
  background:var(--hn-accent-soft);
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6a1a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px 11px;background-position:center;background-repeat:no-repeat;
}
.hn-section--dark .hn-check li::before,.hn-card--dark .hn-check li::before{background-color:rgba(255,106,26,.18)}

/* Számozott lépések */
.hn-step{position:relative;padding-left:0!important}
.hn-step .hn-num{
  width:38px;height:38px;border-radius:10px;background:var(--hn-accent-soft);
  display:grid;place-items:center;margin-bottom:16px!important;font-size:.85rem!important;
}

/* Logó sor */
.hn-logos{opacity:.75}
.hn-logos p{
  font-weight:700;font-size:1.05rem!important;color:var(--hn-muted)!important;
  letter-spacing:-.01em;text-align:center;margin:0!important;
}

/* Idézet / vélemény */
.hn-quote{
  background:var(--hn-bg-soft);border-radius:var(--hn-radius);padding:34px 32px!important;
}
.hn-quote p:first-child{font-size:1.1rem;color:var(--hn-ink)}

/* Táblázat-szerű ár doboz */
.hn-price{font-size:2.2rem!important;font-weight:700;color:var(--hn-ink)!important;letter-spacing:-.03em}

/* Kapcsolat űrlap */
.hn-form{max-width:640px;margin:0}
.hn-form__row{margin-bottom:16px}
.hn-form__row--split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hn-form label{display:block;font-size:.85rem;font-weight:600;color:var(--hn-ink);margin-bottom:6px}
.hn-form input[type=text],.hn-form input[type=email],.hn-form input[type=tel],.hn-form textarea,.hn-form select{
  width:100%;padding:12px 14px;border:1px solid var(--hn-line);border-radius:10px;
  font-family:inherit;font-size:.97rem;color:var(--hn-ink);background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.hn-form input:focus,.hn-form textarea:focus,.hn-form select:focus{
  outline:none;border-color:var(--hn-accent);box-shadow:0 0 0 3px rgba(255,106,26,.14);
}
.hn-form textarea{min-height:150px;resize:vertical}
.hn-form button{
  background:var(--hn-accent);color:#fff;border:0;border-radius:10px;padding:14px 30px;
  font-family:inherit;font-size:.97rem;font-weight:600;cursor:pointer;
  box-shadow:0 6px 18px rgba(255,106,26,.22);transition:background .18s ease,transform .18s ease;
}
.hn-form button:hover{background:var(--hn-accent-dark);transform:translateY(-1px)}
.hn-form__consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--hn-muted)}
.hn-form__consent input{margin-top:5px}
.hn-form__hp{position:absolute!important;left:-9999px}
.hn-notice{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:.93rem}
.hn-notice--ok{background:#eefaf1;color:#1b7a3d;border:1px solid #c9ecd4}
.hn-notice--err{background:#fdeeea;color:#b4331a;border:1px solid #f7cfc5}

/* =========================================================
   7. Blog / archívum
   ========================================================= */
.hn-pagehead{
  border-bottom:1px solid var(--hn-line);
  padding:clamp(48px,5vw,78px) 0 clamp(34px,4vw,52px);
  margin-bottom:0;
}
.hn-pagehead h1{margin-bottom:.3em}
.hn-pagehead p{max-width:62ch;margin-bottom:0;color:var(--hn-muted)}

.hn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:34px}

.hn-post-card{
  border:1px solid var(--hn-line);border-radius:var(--hn-radius);overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.hn-post-card:hover{border-color:#d3d9e0;box-shadow:var(--hn-shadow);transform:translateY(-2px)}
.hn-post-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--hn-bg-soft)}
.hn-post-card__media img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .5s ease}
.hn-post-card:hover .hn-post-card__media img{transform:scale(1.04)}
.hn-post-card__body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.hn-post-card__meta{font-size:.78rem;color:var(--hn-muted);letter-spacing:.04em;margin-bottom:10px}
.hn-post-card__meta a{color:var(--hn-accent);font-weight:600}
.hn-post-card h2,.hn-post-card h3{font-size:1.18rem;margin-bottom:.5em;line-height:1.35}
.hn-post-card p{font-size:.94rem;margin-bottom:1.1em}
.hn-post-card__more{margin-top:auto;font-size:.88rem;font-weight:600;color:var(--hn-ink)}
.hn-post-card__more:hover{color:var(--hn-accent)}

.hn-entry-meta{font-size:.85rem;color:var(--hn-muted);margin-bottom:1.6rem}
.hn-entry-meta a{color:var(--hn-accent);font-weight:600}
.hn-featured{margin-bottom:2.6rem}
.hn-featured img{width:100%;border-radius:var(--hn-radius)}

.hn-tags{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--hn-line);font-size:.86rem}
.hn-tags a{
  display:inline-block;background:var(--hn-bg-soft);padding:5px 12px;border-radius:20px;
  margin:0 6px 8px 0;color:var(--hn-muted);
}
.hn-tags a:hover{background:var(--hn-accent);color:#fff}

.hn-pagination{margin-top:60px;display:flex;justify-content:center}
.hn-pagination .page-numbers{
  display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--hn-line);border-radius:9px;margin:0 4px;font-size:.9rem;color:var(--hn-body);
}
.hn-pagination .page-numbers:hover,.hn-pagination .current{
  background:var(--hn-ink);border-color:var(--hn-ink);color:#fff;
}

.hn-postnav{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px;padding-top:32px;
  border-top:1px solid var(--hn-line);
}
.hn-postnav a{display:block;padding:20px 22px;border:1px solid var(--hn-line);border-radius:var(--hn-radius)}
.hn-postnav a:hover{border-color:var(--hn-ink)}
.hn-postnav span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--hn-muted);margin-bottom:6px}
.hn-postnav strong{color:var(--hn-ink);font-weight:600;font-size:.98rem}
.hn-postnav .is-next{text-align:right}

/* Kereső */
.hn-searchform{display:flex;gap:10px;max-width:460px}
.hn-searchform input[type=search]{
  flex:1;padding:12px 16px;border:1px solid var(--hn-line);border-radius:10px;font-size:.97rem;font-family:inherit;
}
.hn-searchform input[type=search]:focus{outline:none;border-color:var(--hn-accent);box-shadow:0 0 0 3px rgba(255,106,26,.14)}
.hn-searchform button{
  background:var(--hn-ink);color:#fff;border:0;border-radius:10px;padding:12px 22px;
  font-weight:600;font-size:.94rem;cursor:pointer;font-family:inherit;
}
.hn-searchform button:hover{background:var(--hn-accent)}

/* Hozzászólások */
.hn-comments{margin-top:64px;padding-top:40px;border-top:1px solid var(--hn-line)}
.hn-comments ol{list-style:none;padding-left:0}
.hn-comments .children{padding-left:28px;border-left:1px solid var(--hn-line);margin-top:16px}
.hn-comments li.comment{margin-bottom:26px}
.hn-comments .comment-body{background:var(--hn-bg-soft);border-radius:var(--hn-radius-sm);padding:20px 22px}
.hn-comments .comment-meta{font-size:.82rem;color:var(--hn-muted);margin-bottom:8px}
.hn-comments .comment-author img{border-radius:50%;margin-right:10px;vertical-align:middle}
.hn-comments input[type=text],.hn-comments input[type=email],.hn-comments input[type=url],.hn-comments textarea{
  width:100%;padding:12px 14px;border:1px solid var(--hn-line);border-radius:10px;font-family:inherit;font-size:.95rem;
}
.hn-comments .submit{
  background:var(--hn-accent);color:#fff;border:0;border-radius:10px;padding:13px 28px;
  font-weight:600;cursor:pointer;font-family:inherit;
}

/* 404 */
.hn-404{text-align:center;padding:clamp(60px,10vw,140px) 0}
.hn-404__code{font-size:clamp(4rem,3rem + 6vw,8rem);font-weight:700;color:var(--hn-accent);line-height:1;letter-spacing:-.04em}

/* =========================================================
   8. Lábléc
   ========================================================= */
.hn-footer{
  background:var(--hn-bg-soft);border-top:1px solid var(--hn-line);
  padding:56px 0 30px;margin-top:auto;
}
.hn-footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px;
}
.hn-footer h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--hn-muted);margin-bottom:16px}
.hn-footer__about p{font-size:.93rem;max-width:42ch;color:var(--hn-muted)}
.hn-footer__name{font-size:1.05rem;font-weight:700;color:var(--hn-ink);margin-bottom:10px!important}
.hn-footer ul{list-style:none;margin:0;padding:0}
.hn-footer li{margin-bottom:9px}
.hn-footer a{font-size:.93rem;color:var(--hn-body)}
.hn-footer a:hover{color:var(--hn-accent)}
.hn-footer__bottom{
  border-top:1px solid var(--hn-line);padding-top:22px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.85rem;color:var(--hn-muted);
}
.hn-footer__bottom a{font-size:.85rem;color:var(--hn-muted)}

/* =========================================================
   9. Reszponzív
   ========================================================= */
@media (max-width:1180px){
  :root{--hn-sidebar-w:248px}
  .hn-container{padding:0 26px}
}

@media (max-width:1024px){
  .hn-topbar{display:flex}
  body{padding-top:var(--hn-topbar-h)}
  .hn-content{margin-left:0}
  .hn-sidebar{
    top:var(--hn-topbar-h);
    width:min(320px,84vw);
    transform:translateX(-102%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    z-index:115;
  }
  .hn-sidebar .hn-brand{display:none}
  .hn-langs--sidebar{display:none}
  .hn-sidebar__inner{padding-top:26px}
  body.hn-nav-open .hn-sidebar{transform:translateX(0)}
  body.hn-nav-open{overflow:hidden}
  .hn-overlay{display:block;pointer-events:none}
  body.hn-nav-open .hn-overlay{opacity:1;pointer-events:auto}
  .hn-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .hn-footer__about{grid-column:1/-1}
}

@media (max-width:781px){
  body{font-size:16px}
  .hn-container{padding:0 20px}
  .hn-entry-content > .alignfull:not(.hn-section):not(.hn-hero):not(.hn-bleed){padding-left:20px;padding-right:20px}
  .hn-form__row--split{grid-template-columns:1fr}
  .hn-postnav{grid-template-columns:1fr}
  .hn-postnav .is-next{text-align:left}
  .wp-block-columns{gap:20px}
  .hn-grid{grid-template-columns:1fr;gap:26px}
  .alignleft,.alignright{float:none;margin:1.2em 0}
}

@media (max-width:600px){
  .hn-footer__grid{grid-template-columns:1fr}
  .hn-footer__bottom{flex-direction:column;gap:6px}
  .hn-card{padding:24px 22px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media print{
  .hn-sidebar,.hn-topbar,.hn-overlay,.hn-footer{display:none!important}
  .hn-content{margin-left:0}
  body{padding-top:0}
}
