/* utf8 ő
   HOTEL2 admin + onboarding (Claude Design terv: Hotelizátor – szálláshely-onboarding)
   Figtree, lila #5232DB, sötét #130b37, háttér #f5f7f7 */

:root{
	--h2-brand:#5232DB;
	--h2-brand-hover:#7865CF;
	--h2-brand-soft:#f1effc;
	--h2-brand-mid:#a99bff;
	--h2-brand-light:#ddd6ff;
	--h2-ink:#130b37;
	--h2-black:#000000;
	--h2-text:#444150;
	--h2-muted:#5f5a77;
	--h2-faint:#6f6a85;
	--h2-ghost:#8a86a0;
	--h2-line:#e6e4ee;
	--h2-line2:#dcdcdc;
	--h2-field:#cfccd9;
	--h2-bg:#f5f7f7;
	--h2-white:#ffffff;
	--h2-err:#b3261e;
	--h2-err-soft:#fbe9e7;
	--h2-ok:#1f7a4d;
	--h2-ok-soft:#e5f3ec;
	--h2-warn:#8a5300;
	--h2-warn-soft:#fdf0dc;
	--h2-star:#e3a008;
	--h2-price:#9822BF;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.h2{background:var(--h2-bg);font-family:'Figtree',system-ui,sans-serif;color:var(--h2-text);letter-spacing:-0.01em;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
.h2 a{color:var(--h2-brand)}
.h2 a:hover{color:var(--h2-brand-hover)}
.h2 h1{margin:0;font-size:36px;line-height:1.1;font-weight:500;letter-spacing:-0.03em;color:var(--h2-black)}
.h2 h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-0.02em;color:var(--h2-ink)}
.h2 h3{margin:0;font-size:18px;font-weight:600;color:var(--h2-ink)}
.h2 p{margin:0}
.h2-lead{margin-top:10px !important;max-width:680px;font-size:18px;line-height:1.5}
.h2-flex{flex:1 1 0}
.h2-eyebrow{font-size:14px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--h2-brand)}
.h2-eyebrow-light{font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#ddd6ff}
.h2-small{font-size:14px;color:var(--h2-muted);line-height:1.45}
.h2-req{color:var(--h2-brand)}
.h2-hidden{display:none !important}
.h2-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- mezők --- */
.h2 label,.h2 legend,.h2-label{font-size:15px;font-weight:600;color:var(--h2-ink)}
.h2 input,.h2 select,.h2 textarea{font-family:inherit;font-size:16px;color:var(--h2-ink);border:1px solid var(--h2-field);border-radius:12px;background:var(--h2-white)}
.h2 input[type=text],.h2 input[type=email],.h2 input[type=tel],.h2 input[type=password],.h2 input[type=number],.h2 input[type=url],.h2 input[type=date],.h2 input[type=time],.h2 input[type=search],.h2 select{min-height:48px;padding:0 14px;width:100%}
.h2 textarea{padding:12px 14px;width:100%;line-height:1.5;resize:vertical}
.h2 input:focus,.h2 select:focus,.h2 textarea:focus{outline:2px solid var(--h2-brand);outline-offset:1px;border-color:var(--h2-brand)}
.h2 input[type=checkbox],.h2 input[type=radio]{width:20px;height:20px;accent-color:var(--h2-brand);margin:0;flex-shrink:0}
.h2 input.is-error,.h2 select.is-error,.h2 textarea.is-error{border-color:var(--h2-err);border-width:2px}
.h2 button{font-family:inherit;cursor:pointer}
.h2 button:disabled{cursor:not-allowed}
.h2 fieldset{border:0;margin:0;padding:0;min-width:0}
.h2 legend{padding:0;margin-bottom:10px}
.h2-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.h2-field-err{font-size:14px;color:var(--h2-err)}
.h2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.h2-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.h2-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.h2-grid-addr{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:18px}
.h2-range{display:flex;align-items:center;gap:6px}
.h2-range input{min-width:0}
.h2-suffix{position:relative}
.h2-suffix input{padding-right:56px}
.h2-suffix span{position:absolute;right:14px;top:13px;font-size:16px;color:var(--h2-muted);pointer-events:none}
.h2-search{position:relative}
.h2-search input{padding-left:42px}
.h2-search svg{position:absolute;left:14px;top:15px;color:var(--h2-muted)}
.h2-name-input{min-height:60px !important;font-size:26px !important;font-weight:600;letter-spacing:-0.02em}

/* kapcsoló */
.h2 input.h2-sw{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:100px;background:var(--h2-field);position:relative;cursor:pointer;border:0;flex-shrink:0}
.h2 input.h2-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}
.h2 input.h2-sw:checked{background:var(--h2-brand)}
.h2 input.h2-sw:checked::after{left:21px}
.h2-swrow{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:16px;background:var(--h2-white);border:1px solid var(--h2-line)}
.h2-swrow.is-soft{background:var(--h2-bg);border:0;align-items:flex-start;padding:16px}
.h2-swrow > div{display:flex;flex-direction:column;gap:2px}
.h2-swline{display:flex;justify-content:space-between;gap:16px;align-items:center;font-weight:500;min-height:44px}
.h2-swlist{display:flex;flex-direction:column;border-top:1px solid var(--h2-line)}
.h2-swlist .h2-swline{padding:14px 0;border-bottom:1px solid var(--h2-line)}
.h2-swlist .h2-swline:last-child{border-bottom:0}
.h2-checkline{display:flex;gap:12px;align-items:center;font-weight:500 !important;min-height:44px}

/* chipek */
.h2-chips{display:flex;flex-wrap:wrap;gap:8px}
.h2-chip{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px 0 12px;border-radius:100px;border:1px solid var(--h2-line2);background:var(--h2-white);color:var(--h2-ink);font-size:15px;font-weight:500 !important;cursor:pointer;user-select:none}
.h2-chip input{position:absolute;opacity:0;width:1px;height:1px}
.h2-chip .h2-chip-on{display:none}
.h2-chip .h2-chip-off{display:inline-flex}
.h2-chip.is-on{border-color:var(--h2-brand);background:var(--h2-brand-soft);color:var(--h2-brand)}
.h2-chip.is-on .h2-chip-on{display:inline-flex}
.h2-chip.is-on .h2-chip-off{display:none}
.h2-chip.is-solid.is-on{background:var(--h2-brand);color:#fff}
.h2-chip-sm{min-height:36px;font-size:14px;padding:0 12px}
.h2-chip:focus-within{outline:2px solid var(--h2-brand);outline-offset:2px}
.h2-chip-plain{padding:0 16px}
.h2-suggest{min-height:34px;padding:0 12px;border-radius:100px;border:1px solid var(--h2-line2);background:var(--h2-white);color:var(--h2-ink);font-size:14px}
.h2-suggest:hover{border-color:var(--h2-brand);color:var(--h2-brand)}

/* kártya-választó */
.h2-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.h2-cards.is-wide{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.h2-cards.is-narrow{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.h2-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:17px;border-radius:16px;border:1px solid var(--h2-line2);background:var(--h2-white);cursor:pointer;font-weight:400 !important;text-align:left;color:var(--h2-text)}
.h2-card.is-on{border:2px solid var(--h2-brand);padding:16px;background:var(--h2-brand-soft)}
.h2-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--h2-brand);width:100%}
.h2-card-title{font-size:17px;font-weight:600;color:var(--h2-ink)}
.h2-card-desc{font-size:14px;line-height:1.45;color:var(--h2-muted)}
.h2-card-example{font-size:14px;letter-spacing:0;color:var(--h2-muted);padding:10px 12px;border-radius:10px;background:var(--h2-bg)}
.h2-card.is-on .h2-card-example{background:var(--h2-white)}
.h2-badge{padding:2px 8px;border-radius:100px;background:var(--h2-brand);color:#fff;font-size:12px;font-weight:700}
.h2-card-code{width:36px;height:36px;border-radius:10px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.h2-card.is-on .h2-card-code{background:var(--h2-brand);color:#fff}
.h2-card:focus-within{outline:2px solid var(--h2-brand);outline-offset:2px}
.h2-optbtn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--h2-line2);background:var(--h2-white);font-weight:500 !important;cursor:pointer}
.h2-optbtn.is-on{border-color:var(--h2-brand);background:var(--h2-brand-soft)}

/* szegmens */
.h2-seg{display:inline-flex;padding:4px;border-radius:100px;background:var(--h2-bg);border:1px solid var(--h2-line)}
.h2-seg label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:40px;padding:0 22px;border-radius:100px;color:var(--h2-ink);font-size:15px;font-weight:600;cursor:pointer}
.h2-seg label input{position:absolute;opacity:0;width:1px;height:1px}
.h2-seg label.is-on{background:#000;color:#fff}
.h2-seg.is-small{border-radius:12px;padding:3px}
.h2-seg.is-small label{min-width:44px;padding:0 10px;border-radius:9px}

/* csillag */
.h2-stars{display:flex;gap:2px;color:var(--h2-star)}
.h2-stars button{width:44px;height:44px;border:0;background:transparent;color:var(--h2-field);padding:0;display:flex;align-items:center;justify-content:center}
.h2-stars button.is-on{color:var(--h2-star)}

/* tag input */
.h2-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:6px 8px;border:1px solid var(--h2-field);border-radius:12px;background:var(--h2-white)}
.h2-tags:focus-within{outline:2px solid var(--h2-brand);outline-offset:1px;border-color:var(--h2-brand)}
.h2-tag{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 4px 0 12px;border-radius:100px;background:var(--h2-brand-soft);color:var(--h2-ink);font-size:15px}
.h2-tag button{width:30px;height:30px;border:0;background:transparent;color:var(--h2-muted);display:flex;align-items:center;justify-content:center;border-radius:50%}
.h2 .h2-tags input{flex:1 1 160px;min-height:34px !important;border:0;padding:0 6px;width:auto}
.h2 .h2-tags input:focus{outline:none}

/* --- gombok --- */
.h2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:100px;font-size:17px;font-weight:500;text-decoration:none;border:0;box-sizing:border-box;cursor:pointer;font-family:inherit;white-space:nowrap}
.h2-btn-dark{background:#000;color:#fff !important;box-shadow:0 20px 20px -16px rgba(0,0,0,0.2)}
.h2-btn-dark:hover{background:#26203f}
.h2-btn-outline{background:#fff;color:#000 !important;border:1.5px solid #000;padding:0 24px}
.h2-btn-outline:hover{background:var(--h2-bg)}
.h2-btn-brand{background:var(--h2-brand);color:#fff !important;font-weight:600;box-shadow:0 20px 20px -16px rgba(82,50,219,0.5)}
.h2-btn-brand:hover{background:#4326c4}
.h2-btn-brand-outline{background:#fff;border:1.5px solid var(--h2-brand);color:var(--h2-brand) !important;font-weight:600;padding:0 24px}
.h2-btn-white{background:#fff;color:#000 !important;font-weight:600}
.h2-btn-disabled,.h2-btn:disabled{background:var(--h2-line);color:var(--h2-faint) !important;box-shadow:none;cursor:not-allowed}
.h2-btn-sm{min-height:44px;padding:0 18px;font-size:15px;font-weight:600}
.h2-btn-xs{min-height:40px;padding:0 14px;font-size:14px;font-weight:600}
.h2-btn-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:100px;border:0;background:var(--h2-brand);color:#fff;font-size:15px;font-weight:600;text-decoration:none}
.h2-linkbtn{border:0;background:transparent;color:var(--h2-brand);font-size:16px;font-weight:700;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:3px}
.h2-linkbtn:hover{color:var(--h2-brand-hover)}
.h2-iconbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--h2-line2);background:#fff;color:var(--h2-ink);display:inline-flex;align-items:center;justify-content:center;padding:0}
.h2-iconbtn.is-danger{color:var(--h2-err)}
.h2-iconbtn.is-plain{border:0;background:transparent;color:var(--h2-muted)}
.h2-grip{width:32px;height:44px;border:0;background:transparent;color:var(--h2-ghost);display:inline-flex;align-items:center;justify-content:center;cursor:grab;flex-shrink:0;padding:0}
.h2-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:8px}
.h2-buttons-note{margin-left:auto;font-size:14px;letter-spacing:0;color:var(--h2-muted)}
.h2-addpoint{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;margin-left:38px;border-radius:100px;border:1px dashed #b7b3c9;background:#fff;color:var(--h2-brand);font-size:15px;font-weight:600}

/* --- nyilvános oldal (regisztráció, kód) --- */
.h2-public{min-height:100vh;padding:48px 16px 64px;display:flex;flex-direction:column;align-items:center;gap:28px}
.h2-public-logo{display:flex;align-items:center;min-height:44px;line-height:0}
.h2-public-card{width:100%;max-width:520px;background:#fff;border:1px solid var(--h2-line);border-radius:24px;padding:clamp(24px,5vw,44px);display:flex;flex-direction:column;gap:24px;box-shadow:0 40px 60px -48px rgba(19,11,55,0.35)}
.h2-public-card h1{font-size:34px}
.h2-public-icon{width:56px;height:56px;border-radius:16px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center}
.h2-public-form{display:flex;flex-direction:column;gap:18px}
.h2-public-benefits{list-style:none;margin:0;padding:0;width:100%;max-width:760px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.h2-public-benefits li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45}
.h2-public-benefits li > span:first-child{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center}
.h2-public-benefits b{color:var(--h2-ink)}
.h2-pass{position:relative}
.h2-pass input{padding-right:56px}
.h2-pass button{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--h2-muted);display:flex;align-items:center;justify-content:center}
.h2-strength{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px}
.h2-strength span{height:5px;border-radius:4px;background:var(--h2-line)}
.h2-strength span.is-on{background:var(--h2-brand)}
.h2-aszf{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--h2-bg)}
.h2-aszf label{font-weight:400 !important;line-height:1.5;color:var(--h2-text)}
.h2-code{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.h2 .h2-code input{width:100%;height:64px;min-height:64px;text-align:center;font-size:28px;font-weight:600;padding:0}
.h2 .h2-code input:disabled{background:var(--h2-bg)}
.h2-code-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-top:16px;border-top:1px solid var(--h2-line)}
.h2-resend{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:100px;border:1.5px solid #000;background:#fff;color:#000;font-size:16px;font-weight:600}
.h2-resend:disabled{border-color:var(--h2-line2);color:var(--h2-faint)}

/* --- keret --- */
.h2-app{min-height:100vh;display:flex;flex-direction:column}
.h2-top{width:100%;min-height:68px;background:#fff;border-bottom:1px solid var(--h2-line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:0 clamp(16px,2vw,28px);color:var(--h2-ink);position:relative;z-index:20}
.h2-top-logo{display:flex;align-items:center;min-height:44px;line-height:0}
.h2-top-web{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:100px;background:var(--h2-brand-soft);color:var(--h2-brand) !important;font-size:15px;font-weight:700;text-decoration:none}
.h2-top-web.is-on{background:var(--h2-brand);color:#fff !important}
.h2-top-help{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:0;color:var(--h2-muted)}
.h2-top-help a{color:var(--h2-muted);text-decoration:none}
.h2-user{position:relative}
.h2-user summary{list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 12px 0 4px;border:1px solid var(--h2-line);border-radius:100px;background:#fff;color:var(--h2-ink);font-size:15px;font-weight:600;cursor:pointer}
.h2-user summary::-webkit-details-marker{display:none}
.h2-user-mono{width:36px;height:36px;border-radius:50%;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.h2-user-panel{position:absolute;right:0;top:52px;min-width:220px;background:#fff;border:1px solid var(--h2-line);border-radius:16px;box-shadow:0 30px 40px -30px rgba(19,11,55,0.45);padding:8px;display:flex;flex-direction:column}
.h2-user-panel a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--h2-ink);text-decoration:none;font-weight:500}
.h2-user-panel a:hover{background:var(--h2-bg)}
.h2-user-mail{padding:8px 12px;font-size:13px;color:var(--h2-muted);word-break:break-all}
.h2-body{flex:1 0 auto;display:flex;flex-wrap:wrap;align-items:stretch}
.h2-main{flex:999 1 560px;min-width:0;padding:28px clamp(16px,3vw,48px) 64px;display:flex;flex-direction:column;gap:24px}

/* menü */
.h2-menu{flex:1 1 240px;min-width:0;max-width:300px;background:#fff;border-right:1px solid var(--h2-line);padding:16px 12px 24px;color:var(--h2-ink)}
.h2-menu-bar{display:none;align-items:center;justify-content:space-between;gap:12px}
.h2-menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:100px;border:1px solid var(--h2-line2);background:#fff;color:var(--h2-ink);font-size:16px;font-weight:600}
.h2-menu-web{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:100px;background:var(--h2-brand-soft);color:var(--h2-brand) !important;font-size:15px;font-weight:700;text-decoration:none}
.h2-menu-full{display:flex;flex-direction:column;gap:2px}
.h2-menu-progress{display:flex;flex-direction:column;gap:10px;padding:16px;margin-bottom:12px;border-radius:16px;background:var(--h2-brand);color:#fff !important;text-decoration:none}
.h2-menu-progress-title{font-size:17px;font-weight:600;line-height:1.25}
.h2-menu-progress-bar{display:block;height:6px;border-radius:6px;background:rgba(255,255,255,0.25);overflow:hidden}
.h2-menu-progress-bar span{display:block;height:6px;background:#fff}
.h2-menu-progress-text{font-size:14px;color:#ece8ff}
.h2-menu-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:600;color:var(--h2-ink) !important}
.h2-menu-item svg{color:var(--h2-muted)}
.h2-menu-item:hover{background:var(--h2-bg)}
.h2-menu-item.is-active{color:var(--h2-brand) !important}
.h2-menu-item.is-active svg{color:var(--h2-brand)}
.h2-menu-item.is-current{background:var(--h2-brand-soft)}
.h2-menu-item.is-locked{color:var(--h2-ghost) !important}
.h2-menu-item.is-locked svg{color:var(--h2-ghost)}
.h2-menu-subs{display:flex;flex-direction:column;padding:0 0 8px 44px}
.h2-menu-sub{display:flex;align-items:center;min-height:40px;font-size:15px;font-weight:500;text-decoration:none;color:var(--h2-text) !important}
.h2-menu-sub.is-current{color:var(--h2-brand) !important;font-weight:700}
.h2-menu-note{margin:16px 12px 0 !important;display:flex;gap:8px;font-size:13px;line-height:1.45;letter-spacing:0;color:var(--h2-muted)}
.h2-menu-note svg{flex-shrink:0;margin-top:1px}

/* lépésjelző */
.h2-stepper{width:100%;background:#fff;border:1px solid var(--h2-line);border-radius:20px;padding:18px clamp(14px,2vw,22px);display:flex;flex-direction:column;gap:14px;color:var(--h2-ink)}
.h2-stepper-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px}
.h2-stepper-info{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:0;color:var(--h2-muted)}
.h2-stepper-info svg{color:var(--h2-ok)}
.h2-stepper-groups{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.h2-stepper-groups li{flex:1 1 120px;min-width:0}
.h2-stepper-group{display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px;border-radius:14px;text-decoration:none;color:var(--h2-ink) !important}
.h2-stepper-group.is-current{background:var(--h2-brand-soft)}
.h2-stepper-bar{display:block;height:4px;border-radius:4px;background:var(--h2-line)}
.h2-stepper-group.is-current .h2-stepper-bar,.h2-stepper-group.is-done .h2-stepper-bar{background:var(--h2-brand)}
.h2-stepper-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.2}
.h2-stepper-dot{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#fff;color:var(--h2-faint);border:1px solid var(--h2-field)}
.h2-stepper-group.is-current .h2-stepper-dot{background:var(--h2-ink);color:#fff;border-color:var(--h2-ink)}
.h2-stepper-group.is-done .h2-stepper-dot{background:var(--h2-brand);color:#fff;border-color:var(--h2-brand)}
.h2-stepper-group.is-future{color:var(--h2-faint) !important}
.h2-stepper-subs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.h2-stepper-sub{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:0;text-decoration:none;background:#fff;color:var(--h2-ink) !important;border:1px solid var(--h2-line2)}
.h2-stepper-sub.is-current{background:#000;color:#fff !important;border-color:#000}
.h2-stepper-sub.is-skipped{color:var(--h2-faint) !important}
.h2-stepper-sub.is-future{color:var(--h2-ghost) !important;border-style:dashed}

/* tartalom-elrendezés */
.h2-layout{display:flex;flex-wrap:wrap;gap:24px 32px;align-items:flex-start;max-width:1240px}
.h2-layout.is-wide{max-width:1320px}
.h2-col-main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}
.h2-col-side{flex:1 1 300px;min-width:0;max-width:400px;display:flex;flex-direction:column;gap:16px}
.h2-col-side.is-wide{flex-basis:380px;max-width:460px}
.h2-section{background:#fff;border:1px solid var(--h2-line);border-radius:20px;padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:20px}
.h2-section.is-tight{gap:14px}
.h2-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.h2-box{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:16px;background:var(--h2-bg)}
.h2-subbox{margin:0;min-width:0;border:1px solid var(--h2-line) !important;border-radius:16px;padding:18px !important;display:flex;flex-direction:column;gap:16px}
.h2-subbox legend{padding:0 6px !important;display:flex;align-items:center;gap:8px}

/* jelzések */
.h2-note{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:var(--h2-brand-soft);color:var(--h2-ink);font-size:15px;line-height:1.5}
.h2-note svg{flex-shrink:0;margin-top:2px;color:var(--h2-brand)}
.h2-note.is-white{background:#fff;border:1px solid var(--h2-line);font-size:14px}
.h2-alert{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;font-size:15px;line-height:1.5}
.h2-alert svg{flex-shrink:0;margin-top:2px}
.h2-alert ul{margin:6px 0 0;padding-left:18px}
.h2-alert-error{background:var(--h2-err-soft);color:#7a1c15}
.h2-alert-error svg{color:var(--h2-err)}
.h2-alert-warn{background:var(--h2-warn-soft);color:#5c3700}
.h2-alert-warn ul{margin:0}
.h2-alert-ok{background:var(--h2-ok-soft);color:#14532d}
.h2-alert-ok svg{color:var(--h2-ok)}
.h2-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:100px;background:var(--h2-brand-soft);color:var(--h2-brand);font-size:13px;font-weight:700;letter-spacing:0}
.h2-status{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px;border-radius:100px;font-size:13px;font-weight:700}
.h2-status.is-ok{background:var(--h2-ok-soft);color:var(--h2-ok)}
.h2-status.is-warn{background:var(--h2-warn-soft);color:var(--h2-warn)}
.h2-status.is-info{background:var(--h2-brand-soft);color:var(--h2-brand)}

/* előnézet-kártya */
.h2-preview{display:flex;flex-direction:column;gap:12px;color:var(--h2-ink)}
.h2-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;letter-spacing:0;color:var(--h2-muted)}
.h2-preview-head .h2-eyebrow{font-size:13px}
.h2-preview-card{background:#fff;border:1px solid var(--h2-line);border-radius:18px;overflow:hidden;box-shadow:0 30px 40px -36px rgba(19,11,55,0.45)}
.h2-preview-img{aspect-ratio:2/1;background:#8f86b8}
.h2-preview-img img{display:block;width:100%;height:100%;object-fit:cover}
.h2-preview-noimg{aspect-ratio:2/1;background:var(--h2-brand-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--h2-brand);font-size:14px;font-weight:600;letter-spacing:0}
.h2-preview-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}
.h2-preview-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.h2-preview-name{font-size:19px;font-weight:700;letter-spacing:-0.02em}
.h2-preview-stars{display:inline-flex;gap:1px;color:var(--h2-star)}
.h2-preview-sup{font-size:12px;font-weight:700;color:var(--h2-muted)}
.h2-preview-town{display:flex;align-items:center;gap:6px;font-size:14px;letter-spacing:0;color:var(--h2-muted)}
.h2-preview-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:6px}
.h2-preview-price{text-align:right;line-height:1.1;font-size:14px;font-weight:600;color:var(--h2-price)}
.h2-preview-price small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--h2-muted)}
.h2-preview-price b{font-size:22px;font-weight:700;color:var(--h2-price)}
.h2-preview-price b.is-empty{color:var(--h2-ghost)}
.h2-preview-total{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-radius:14px;background:var(--h2-brand-soft);font-size:15px;color:var(--h2-text)}
.h2-preview-total b{color:var(--h2-ink)}
.h2-calc{padding:20px;border-radius:18px;background:var(--h2-ink);color:#c9c3e6;display:flex;flex-direction:column;gap:14px}
.h2-calc .h2-eyebrow{color:var(--h2-brand-mid);font-size:13px}
.h2-calc-title{font-size:17px;line-height:1.4;color:#fff}
.h2-calc-rows{display:flex;flex-direction:column;font-size:15px}
.h2-calc-rows div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #2e2560}
.h2-calc-rows b{color:#fff;white-space:nowrap}
.h2-calc-foot{font-size:13px;line-height:1.5;color:#a39cc8}
.h2-sidebox{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--h2-line);display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.55}
.h2-sidebox .h2-eyebrow{font-size:13px}
.h2-sidebox ul{margin:0;padding-left:18px;font-size:14px;line-height:1.6}

/* térkép */
.h2-map{position:relative;height:260px;border-radius:16px;overflow:hidden;border:1px solid var(--h2-line2);background:#eef1ef}
.h2-map.is-error,.h2-tags.is-error{outline:2px solid var(--h2-err);outline-offset:1px}
.h2-map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--h2-muted);font-size:15px}

/* kor-tengely */
.h2-axis{position:relative;height:44px;border-radius:12px;background:var(--h2-bg);overflow:hidden}
.h2-axis span{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border-right:2px solid #fff;box-sizing:border-box;white-space:nowrap;overflow:hidden}
.h2-axis .h2-axis-adult{color:var(--h2-muted);font-weight:600;border-right:0}
.h2-axis.is-error{outline:2px solid var(--h2-err)}
.h2-axis-scale{display:flex;justify-content:space-between;font-size:13px;letter-spacing:0;color:var(--h2-muted)}
.h2-band-dot{width:14px;height:14px;border-radius:4px;display:inline-block}

/* szobalista */
.h2-roomlist{display:flex;flex-direction:column;gap:14px}
.h2-roomrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border-radius:16px;border:1px solid var(--h2-line);background:#fff}
.h2-roomrow.is-current{border:2px solid var(--h2-brand);padding:13px 15px;background:var(--h2-brand-soft)}
.h2-roomrow-info{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}
.h2-roomrow-name{font-size:17px;font-weight:600;color:var(--h2-ink)}
.h2-roomrow-meta{font-size:14px;letter-spacing:0;color:var(--h2-muted)}
.h2-roomrow-actions{display:flex;gap:4px}
.h2-roomrow.is-dragging,.is-dragging{opacity:0.45}
.h2-panel{background:#fff;border:1px solid var(--h2-line);border-radius:20px;box-shadow:0 40px 60px -40px rgba(19,11,55,0.35);padding:24px;display:flex;flex-direction:column;gap:18px}
.h2-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.h2-panel-close{width:44px;height:44px;border-radius:50%;border:0;background:var(--h2-bg);color:var(--h2-ink);display:flex;align-items:center;justify-content:center;text-decoration:none}
.h2-panel-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--h2-line)}
.h2-summary{padding:12px 14px;border-radius:12px;background:var(--h2-brand-soft);font-size:14px;line-height:1.5;color:var(--h2-ink)}
.h2-groupname{font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--h2-muted)}

/* táblázat */
.h2-tablewrap{overflow-x:auto;border:1px solid var(--h2-line);border-radius:16px}
.h2-table{width:100%;border-collapse:collapse;font-size:16px}
.h2-table thead tr{background:var(--h2-bg);text-align:left;vertical-align:top}
.h2-table th{padding:14px 16px;font-size:14px;font-weight:700;color:var(--h2-muted);text-align:left}
.h2-table tbody tr{border-top:1px solid var(--h2-line);vertical-align:top}
.h2-table tbody th{font-size:16px;font-weight:600;color:var(--h2-ink)}
.h2-table td{padding:10px 16px}
.h2-table td.is-muted{color:var(--h2-muted);padding-top:20px}
.h2-th-title{display:block;font-size:15px;font-weight:700;color:var(--h2-ink)}
.h2-th-sub{font-size:13px;font-weight:500;color:var(--h2-muted)}
.h2-cell{display:flex;flex-direction:column;gap:8px;min-width:200px}
.h2-cell-label{font-size:13px;font-weight:600;color:var(--h2-muted)}
.h2-cell-hint{font-size:13px;color:var(--h2-muted)}
.h2-cell-err{font-size:13px;font-weight:600;color:var(--h2-err)}
.h2-auto{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:var(--h2-bg)}
.h2-auto span{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.h2-auto b{color:var(--h2-ink)}
.h2-auto i{padding:1px 6px;border-radius:6px;background:var(--h2-brand-light);color:#3a1fb0;font-size:11px;font-weight:700;font-style:normal}
.h2-manual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.h2-manual label{font-size:12px !important;color:var(--h2-muted) !important}
.h2 .h2-manual input{margin-top:2px;min-height:40px;font-size:14px}
.h2-season-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.h2-season-dates{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.h2 .h2-season-dates input{min-height:36px;font-size:13px;padding:0 8px;width:auto;max-width:150px}
.h2 .h2-season-dates input[type=text]{max-width:160px}

/* feltöltés */
.h2-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:300px;padding:32px;border-radius:20px;border:2px dashed #b7b3c9;background:#fff;text-align:center;cursor:pointer;font-weight:400 !important}
.h2-drop.is-row{flex-direction:row;flex-wrap:wrap;gap:12px 20px;min-height:120px;padding:24px}
.h2-drop.is-small{min-height:150px;padding:16px;border-radius:14px;background:var(--h2-bg);gap:8px}
.h2-drop.is-over{border-color:var(--h2-brand);background:var(--h2-brand-soft)}
.h2-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.h2-drop-icon{width:64px;height:64px;border-radius:18px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center}
.h2-drop-title{font-size:22px;font-weight:600;color:var(--h2-ink)}
.h2-drop.is-row .h2-drop-title{font-size:18px}
.h2-drop.is-small .h2-drop-title{font-size:15px}
.h2-drop-files{font-size:14px;font-weight:600;color:var(--h2-brand)}
.h2-u{color:var(--h2-brand);font-weight:700;text-decoration:underline}
.h2-crop{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.h2-crop-frame{border-radius:12px;overflow:hidden;background:var(--h2-brand-soft)}
.h2-crop-frame img{display:block;width:100%;height:100%;object-fit:cover}
.h2-crop-frame.is-2-1{aspect-ratio:2/1}
.h2-crop-frame.is-12-7{aspect-ratio:12/7}
.h2-crop-frame.is-5-3{aspect-ratio:5/3}
.h2-crop-frame.is-4-3{aspect-ratio:4/3}
.h2-current{position:relative;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--h2-brand-soft)}
.h2-current img{display:block;width:100%;height:100%;object-fit:cover}
.h2-photos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.h2-photos.is-small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.h2-photo{display:flex;flex-direction:column;border:1px solid var(--h2-line);border-radius:16px;overflow:hidden;background:#fff}
.h2-photo-img{position:relative;aspect-ratio:3/2;background:var(--h2-brand-soft)}
.h2-photo-img img{display:block;width:100%;height:100%;object-fit:cover}
.h2-photo-n{position:absolute;left:8px;top:8px;min-width:24px;height:24px;border-radius:100px;background:rgba(19,11,55,0.7);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.h2-photo-tools{position:absolute;right:6px;top:6px;display:flex;gap:6px}
.h2-photo-tools button,.h2-photo-tools label{width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,0.92);color:var(--h2-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.h2-photo-tools .is-danger{color:var(--h2-err)}
.h2-photo-tools input{position:absolute;opacity:0;width:1px;height:1px}
.h2-photo.is-deleted{opacity:0.4}
.h2-photo.is-deleted .h2-photo-img{filter:grayscale(1)}
.h2-photo-body{padding:10px;display:flex;flex-direction:column;gap:6px}
.h2-roomcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.h2-roomcard{background:#fff;border:1px solid var(--h2-line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:14px}
.h2-roomcard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.h2-roomcard-pics{display:grid;grid-template-columns:5fr 4fr;gap:10px;align-items:end}
.h2-roomcard-pics span{font-size:12px;font-weight:600;letter-spacing:0;color:var(--h2-muted)}
.h2-acc{background:#fff;border:1px solid var(--h2-line);border-radius:20px;overflow:hidden}
.h2-acc summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:0 20px;cursor:pointer;list-style:none}
.h2-acc summary::-webkit-details-marker{display:none}
.h2-acc summary > span{display:flex;flex-direction:column;gap:2px}
.h2-acc-title{font-size:18px;font-weight:600;color:var(--h2-ink)}
.h2-acc[open] summary svg{transform:rotate(180deg)}
.h2-acc-body{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px}

/* pontlista */
.h2-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.h2-points li{display:flex;align-items:center;gap:6px}
.h2-points .h2-dot{width:6px;height:6px;border-radius:50%;background:var(--h2-brand);flex-shrink:0}
.h2 .h2-points input{flex:1 1 auto;min-width:0}
.h2-custom-add{display:flex;gap:8px;max-width:460px}
.h2-custom-add button{flex-shrink:0;min-height:48px;padding:0 18px;border-radius:100px;border:1.5px solid #000;background:#fff;color:#000;font-size:15px;font-weight:600}

/* ellenőrzőlista */
.h2-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.h2-checklist li{border-top:1px solid #f0eef5}
.h2-checklist a{display:flex;align-items:center;gap:14px;min-height:56px;padding:8px 4px;text-decoration:none;color:var(--h2-ink) !important}
.h2-check-ic{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.h2-check-ic.is-ok{background:var(--h2-ok-soft);color:var(--h2-ok)}
.h2-check-ic.is-bad{background:var(--h2-err);color:#fff}
.h2-check-ic.is-warn{background:var(--h2-warn-soft);color:var(--h2-warn)}
.h2-check-text{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:600}
.h2-check-text small{font-size:14px;font-weight:500;color:var(--h2-err)}
.h2-check-step{flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:0;color:var(--h2-muted)}
.h2-summarybar{display:flex;gap:16px;align-items:center;padding:20px 22px;border-radius:20px}
.h2-summarybar.is-ok{background:var(--h2-ok-soft);color:#14532d}
.h2-summarybar.is-bad{background:var(--h2-err-soft);color:#7a1c15}
.h2-summarybar > span:first-child{flex-shrink:0;width:48px;height:48px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center}
.h2-summarybar.is-ok > span:first-child{background:var(--h2-ok)}
.h2-summarybar.is-bad > span:first-child{background:var(--h2-err)}
.h2-summarybar b{display:block;font-size:20px;font-weight:600}

/* vezérlőpult */
.h2-progress{background:#fff;border:1px solid var(--h2-line);border-radius:24px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:22px;box-shadow:0 40px 60px -52px rgba(19,11,55,0.4)}
.h2-progress-big{font-size:30px;font-weight:500;letter-spacing:-0.03em;color:#000}
.h2-progress-bar{height:10px;border-radius:10px;background:var(--h2-brand-soft);overflow:hidden}
.h2-progress-bar div{height:10px;border-radius:10px;background:var(--h2-brand)}
.h2-progress-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px}
.h2-progress-group{display:flex;flex-direction:column;gap:4px}
.h2-progress-group > span{font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--h2-muted)}
.h2-progress-step{display:flex;align-items:center;gap:10px;min-height:40px;text-decoration:none;color:var(--h2-ink) !important;font-size:15px;font-weight:500}
.h2-progress-step.is-next{font-weight:700}
.h2-progress-step.is-done{color:var(--h2-text) !important}
.h2-progress-step.is-locked{color:var(--h2-ghost) !important}
.h2-progress-dot{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#fff;color:var(--h2-faint);border:1px solid var(--h2-field)}
.h2-progress-step.is-done .h2-progress-dot{background:var(--h2-brand);color:#fff;border:0}
.h2-progress-step.is-next .h2-progress-dot{background:#000;color:#fff;border:0}
.h2-progress-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-top:18px;border-top:1px solid var(--h2-line)}
.h2-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.h2-tip{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--h2-line);font-size:15px;line-height:1.5}
.h2-tip-ic{width:44px;height:44px;border-radius:12px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center}
.h2-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.h2-tile{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--h2-line);text-decoration:none;color:var(--h2-text) !important;min-height:150px}
.h2-tile-label{font-size:14px;font-weight:600;line-height:1.3;color:var(--h2-muted)}
.h2-tile-value{font-size:44px;line-height:1;font-weight:500;letter-spacing:-0.03em;color:#000}
.h2-tile .h2-status{margin-top:auto;align-self:flex-start;min-height:26px;padding:0 10px;font-size:12px}
.h2-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.h2-tile.is-brand{background:var(--h2-brand);border-color:var(--h2-brand);color:#e6e1ff !important}
.h2-tile.is-brand .h2-tile-label{color:#e6e1ff}
.h2-tile.is-brand .h2-tile-value{font-size:30px;line-height:1.05;font-weight:600;color:#fff}
.h2-quick{display:flex;flex-wrap:wrap;gap:10px}
.h2-quick a{min-height:48px;font-size:16px;padding:0 20px}
.h2-msgs{display:flex;flex-direction:column}
.h2-msg{display:flex;gap:14px;padding:14px 0;border-top:1px solid #f0eef5}
.h2-msg-dot{flex-shrink:0;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--h2-brand)}
.h2-msg-dot.is-old{background:var(--h2-field)}
.h2-msg b{display:block;font-size:16px;color:var(--h2-ink)}
.h2-msg span{font-size:14px;color:var(--h2-muted)}
.h2-nextcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.h2-nextcard{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:20px;background:#fff;border:1px solid var(--h2-line);text-decoration:none;color:var(--h2-text) !important}
.h2-nextcard b{font-size:17px;font-weight:600;color:var(--h2-ink)}
.h2-nextcard.is-brand{background:var(--h2-brand);border-color:var(--h2-brand);color:#e6e1ff !important}
.h2-nextcard.is-brand b{color:#fff}
.h2-nextcard.is-brand .h2-tip-ic{background:rgba(255,255,255,0.16);color:#fff}
.h2-hero{width:100%;max-width:980px;background:var(--h2-ink);color:#c9c3e6;border-radius:28px;padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:32px;align-items:center}
.h2-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-0.035em;color:#fff}
.h2-hero p{font-size:18px;line-height:1.5}
.h2-hero-ok{width:64px;height:64px;border-radius:50%;background:var(--h2-brand);color:#fff;display:flex;align-items:center;justify-content:center}
.h2-hero-side{flex:1 1 280px;min-width:0;max-width:340px;padding:16px;border-radius:20px;background:#fff}
.h2-hero .h2-btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 24px;border-radius:100px;border:1px solid #4a3f86;color:#fff !important;font-size:17px;font-weight:600;text-decoration:none}
.h2-gradient-pill{align-self:flex-start;display:inline-block;padding:9px 22px;border-radius:100px;border:1px solid transparent;background:linear-gradient(#130b37,#130b37) padding-box,linear-gradient(60deg,#f79533,#f37055,#ef4e7b,#a166ab,#5073b8,#1098ad,#07b39b,#6fba82) border-box;font-size:14px;font-weight:700;letter-spacing:0;color:#fff}
.h2-mock{flex:1 1 280px;min-width:0;max-width:380px;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 40px 60px -30px rgba(0,0,0,0.5)}
.h2-benefit{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--h2-line)}
.h2-benefit > span:first-child{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center}
.h2-benefit.is-brand > span:first-child{background:var(--h2-brand);color:#fff}
.h2-benefit b{display:block;font-size:17px;font-weight:600;color:var(--h2-ink)}
.h2-why{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:22px;background:#fff;border:1px solid var(--h2-line)}
.h2-why-n{font-size:40px;font-weight:500;letter-spacing:-0.03em;color:var(--h2-brand)}
.h2-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:28px clamp(20px,3vw,36px);border-radius:24px;background:var(--h2-brand);color:#e6e1ff}
.h2-cta b{font-size:24px;font-weight:500;letter-spacing:-0.02em;color:#fff}

/* előnézet oldal */
.h2-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.h2-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}

/* --- mobil --- */
@media (max-width:760px){
	.h2-full{display:none !important}
	.h2-menu{max-width:none;flex-basis:100%;border-right:0;border-bottom:1px solid var(--h2-line);padding:12px 16px}
	.h2-menu-bar{display:flex}
	.h2-menu-full{display:none;margin-top:12px}
	.h2-menu.is-open .h2-menu-full{display:flex}
	.h2-main{padding:20px 16px 48px}
	.h2 h1{font-size:30px}
	.h2-buttons-note{margin-left:0;flex-basis:100%;order:-1}
	.h2-buttons .h2-btn-dark{width:100%}
	.h2-col-side{max-width:none}
	.h2-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.h2-grid-addr{grid-template-columns:1fr}
	.h2-code{gap:6px}
	.h2 .h2-code input{height:56px;min-height:56px;font-size:24px}
}
