:root{--bg:#080b10;--bg2:#0c1118;--panel:#10161f;--panel2:#131b26;--text:#f5f8fc;--muted:#8f9bad;--line:rgba(143,163,189,.16);--line2:rgba(143,163,189,.28);--accent:#6db2ff;--accent2:#a6d4ff;--ok:#65dca4;--warn:#ffc86b;--danger:#ff7780;--shadow:0 28px 90px rgba(0,0,0,.38);--radius:22px;--radius-lg:30px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% -5%,rgba(71,137,217,.16),transparent 28%),linear-gradient(180deg,#080b10 0%,#0a0f16 45%,#080b10 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(1220px,calc(100% - 44px));margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(8,11,16,.74);backdrop-filter:blur(22px) saturate(130%);border-bottom:1px solid rgba(255,255,255,.055)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:820;letter-spacing:-.025em}.brandmark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#9ed5ff,#458bdc);box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 34px rgba(78,154,241,.22);position:relative}.brandmark:before{content:"";position:absolute;inset:7px;border:1px solid rgba(6,16,29,.85);border-radius:6px}.brandmark:after{content:"";position:absolute;left:11px;right:11px;bottom:9px;height:2px;border-radius:4px;background:#0a1421;box-shadow:0 -6px #0a1421}.menu{display:flex;gap:4px;align-items:center}.menu a{padding:10px 12px;color:var(--muted);border-radius:10px;font-size:.94rem;transition:.2s}.menu a:hover{color:#fff;background:rgba(255,255,255,.045)}.navcta{padding:11px 16px!important;color:#06101d!important;background:linear-gradient(180deg,#8bc5ff,#5ca4f4)!important;font-weight:850;box-shadow:0 10px 30px rgba(58,133,224,.18)}
.hero{padding:74px 0 70px;position:relative}.hero:after{content:"SYSTEM / 01";position:absolute;right:4vw;bottom:12px;font-size:.68rem;letter-spacing:.22em;color:rgba(166,212,255,.28)}.heroGrid{display:grid;grid-template-columns:1.03fr .97fr;gap:62px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent2);font-size:.74rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}h1{font-size:clamp(3.35rem,6.2vw,6.8rem);line-height:.91;letter-spacing:-.068em;margin:21px 0 26px;max-width:880px;font-weight:820}h2{letter-spacing:-.045em}.lead{font-size:1.14rem;color:#aeb9c8;max-width:700px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{border:1px solid var(--line2);background:rgba(17,24,34,.76);color:#fff;padding:14px 19px;border-radius:13px;font-weight:820;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;backdrop-filter:blur(10px)}.btn:hover{transform:translateY(-2px);border-color:rgba(109,178,255,.48);background:#151f2c}.btn.primary{background:linear-gradient(180deg,#88c4ff,#5da8fa);color:#06101b;border-color:transparent;box-shadow:0 18px 45px rgba(66,145,238,.16)}
.heroVisual{min-height:500px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.008));isolation:isolate}.heroVisual:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(8,11,16,var(--fade,.72)) 0%,rgba(8,11,16,.18) 44%,rgba(8,11,16,.04) 100%),linear-gradient(180deg,rgba(6,10,15,.06),rgba(6,10,15,.56));box-shadow:inset 0 0 120px rgba(0,0,0,.34)}.heroVisual:after{content:"LIVE / SERVICE INTERFACE";position:absolute;left:26px;bottom:21px;z-index:5;font-size:.64rem;letter-spacing:.18em;color:rgba(212,230,250,.62)}.heroMedia{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus-x,70%) var(--focus-y,45%);filter:brightness(.76) contrast(1.08) saturate(.82);transform:scale(1.018)}.heroVisual.tone-neutral .heroMedia{filter:brightness(.80) contrast(1.06) saturate(.9)}.heroVisual.tone-mono .heroMedia{filter:grayscale(.78) brightness(.79) contrast(1.14) saturate(.45)}.device{position:absolute;inset:52px 80px;background:linear-gradient(145deg,#28313e,#101620);border:1px solid #344154;border-radius:28px;box-shadow:0 34px 64px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.08)}.device:before{content:"";position:absolute;left:50%;top:44px;transform:translateX(-50%);width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,#26394f 0 38%,#0a1017 40% 100%);border:1px solid #50647d;box-shadow:0 0 46px rgba(102,169,255,.12)}.device:after{content:"";position:absolute;left:50%;bottom:48px;transform:translateX(-50%);width:126px;height:9px;border-radius:50px;background:repeating-linear-gradient(90deg,#536172 0 4px,transparent 4px 8px);opacity:.56}.blueGlow{position:absolute;width:270px;height:270px;border-radius:50%;background:rgba(68,145,255,.13);filter:blur(32px);right:-70px;top:-65px;z-index:2}
.section{padding:68px 0;position:relative}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.sectionHead h2{font-size:clamp(2.1rem,4vw,4rem);line-height:.98;margin:0}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{background:linear-gradient(180deg,rgba(20,28,39,.82),rgba(12,17,24,.92));border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:218px;transition:.25s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:auto -30px -65px auto;width:145px;height:145px;border:1px solid rgba(109,178,255,.12);border-radius:50%;transition:.3s}.card:hover{transform:translateY(-5px);border-color:rgba(109,178,255,.34);box-shadow:0 24px 55px rgba(0,0,0,.22)}.card:hover:after{transform:scale(1.15);border-color:rgba(109,178,255,.23)}.card .num{font-size:.7rem;color:var(--accent2);font-weight:900;letter-spacing:.14em}.card h3{font-size:1.26rem;margin:38px 0 8px}.card p{color:var(--muted);margin:0}.diagnostic{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px}.panel{background:linear-gradient(180deg,rgba(17,23,32,.96),rgba(12,17,24,.96));border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 14px 50px rgba(0,0,0,.13)}.choiceGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{padding:17px;border-radius:13px;border:1px solid var(--line);background:#111821;color:#e8eef7;cursor:pointer;text-align:left;transition:.2s}.choice:hover,.choice.active{border-color:rgba(109,178,255,.52);background:#142238;box-shadow:inset 3px 0 0 rgba(109,178,255,.72)}.result{display:none;margin-top:16px;padding:17px;border-radius:14px;background:rgba(102,169,255,.07);border:1px solid rgba(102,169,255,.22)}.result.show{display:block}.contactGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.contactBtn{padding:19px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(17,24,32,.88);text-align:center;font-weight:820;color:#dfe7f1;transition:.2s}.contactBtn:hover{border-color:rgba(109,178,255,.5);transform:translateY(-2px);background:#142033}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;color:#aeb8c6}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#0d131b;color:#fff;padding:13px 14px;border-radius:12px;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(109,178,255,.58);box-shadow:0 0 0 3px rgba(109,178,255,.06)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.stat{padding:26px;background:#0f151d}.stat strong{display:block;font-size:2.15rem;letter-spacing:-.05em}.ad{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);background:linear-gradient(120deg,#0f151d,#111b27);border-radius:20px;padding:22px;position:relative;overflow:hidden}.ad.hasImage{min-height:210px}.adMedia{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus-x,65%) var(--focus-y,50%);filter:brightness(.6) saturate(.78) contrast(1.06)}.ad.hasImage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,16,.94),rgba(7,11,16,.58) 52%,rgba(7,11,16,.18));z-index:1}.ad>*:not(.adMedia){position:relative;z-index:2}.blogGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.blogCard{border:1px solid var(--line);border-radius:20px;padding:26px;background:linear-gradient(180deg,#111821,#0d131b);transition:.2s}.blogCard:hover{transform:translateY(-3px);border-color:rgba(109,178,255,.34)}.blogCard small{color:var(--accent2)}.footer{padding:44px 0 86px;border-top:1px solid var(--line);color:var(--muted);margin-top:52px}.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:80;max-width:820px;margin:auto;background:rgba(17,24,34,.94);backdrop-filter:blur(20px);border:1px solid var(--line2);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:none}.cookie.show{display:flex;justify-content:space-between;gap:18px;align-items:center}.mobileToggle{display:none}.badge{font-size:.72rem;padding:6px 9px;border-radius:999px;background:#152133;color:#afd3ff;border:1px solid #2a4161}.notice{padding:14px 16px;border:1px solid #2a493d;background:#10231c;color:#baf0d3;border-radius:12px;margin-bottom:18px}.pageHero{padding:70px 0 30px}.pageHero h1{font-size:clamp(3rem,5.3vw,5.8rem)}.imagePreview{min-height:260px;border-radius:18px;border:1px solid var(--line);background:#0b1017 center/cover no-repeat;position:relative;overflow:hidden}.imagePreview:after{content:"PREVIEW";position:absolute;left:15px;bottom:13px;font-size:.65rem;letter-spacing:.17em;color:#c7d9ed;background:rgba(8,11,16,.66);padding:6px 8px;border-radius:8px}.rangeRow{display:grid;grid-template-columns:120px 1fr 44px;gap:10px;align-items:center}.rangeRow input{padding:0}.adminHint{font-size:.82rem;color:var(--muted);margin-top:8px}
@media(max-width:960px){.menu{display:none;position:absolute;left:20px;right:20px;top:72px;background:#101720;border:1px solid var(--line);padding:12px;border-radius:16px;box-shadow:var(--shadow)}.menu.open{display:grid}.mobileToggle{display:block;background:none;border:1px solid var(--line);color:#fff;border-radius:10px;padding:9px 12px}.heroGrid,.diagnostic{grid-template-columns:1fr}.heroVisual{min-height:430px}.cards{grid-template-columns:1fr 1fr}.contactGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.wrap{width:min(100% - 24px,1220px)}.hero{padding-top:52px}h1{font-size:clamp(2.8rem,14vw,4.5rem)}.heroVisual{min-height:330px}.device{inset:40px 42px}.cards,.blogGrid,.formGrid,.stats{grid-template-columns:1fr}.field.full{grid-column:auto}.contactGrid{grid-template-columns:1fr 1fr}.section{padding:48px 0}.cookie.show{display:block}.cookie .actions{margin-top:14px}.sectionHead{display:block}.sectionHead p{margin-top:12px}.hero:after{display:none}.rangeRow{grid-template-columns:1fr}.rangeRow span:last-child{display:none}}
/* V3 — technical intercom visual system */
body{background:radial-gradient(circle at 82% 0,rgba(64,137,220,.13),transparent 24%),linear-gradient(180deg,#070a0e,#0a0f15 48%,#070a0e)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,transparent 0 49.8%,rgba(112,177,244,.025) 50%,transparent 50.2%),radial-gradient(circle at 1px 1px,rgba(133,188,243,.10) 1px,transparent 1.5px);background-size:220px 100%,22px 22px;opacity:.45}
.brandmark{border-radius:5px;background:linear-gradient(145deg,#25394d,#0d1720);border:1px solid #52708e;box-shadow:inset 0 0 0 3px #0b1118,0 0 24px rgba(79,154,235,.12)}
.card,.panel,.blogCard,.contactBtn,.stats,.ad{border-radius:8px}.btn{border-radius:5px}.heroVisual{border-radius:10px}.heroVisual:after{content:"ENTRY SYSTEM / ONLINE"}.heroVisual:before{background:linear-gradient(90deg,rgba(7,10,14,.90),rgba(7,10,14,.18) 48%,rgba(7,10,14,.08)),linear-gradient(180deg,transparent 55%,rgba(5,8,12,.72))}.heroVisual{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.card{clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%)}.card:before{content:"STATUS / READY";position:absolute;right:17px;top:15px;font-size:.55rem;letter-spacing:.14em;color:rgba(135,192,248,.45)}.card h3{margin-top:48px}.section:before{content:"";position:absolute;left:max(22px,calc((100% - 1220px)/2));top:0;width:90px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.techHero{border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(92,160,229,.035),transparent 45%);position:relative}.techHero:after{content:"01  /  ACCESS CONTROL";position:absolute;right:5vw;bottom:22px;font-size:.62rem;letter-spacing:.18em;color:rgba(142,193,242,.25)}.techCode{display:block;font-size:.63rem;letter-spacing:.18em;color:var(--accent2);margin-bottom:18px}.identifierLayout{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.scannerPanel{background:#080d12}.scannerTop{display:flex;justify-content:space-between;font-size:.64rem;letter-spacing:.17em;color:#8fa6bd;margin-bottom:13px}.statusDot{color:#7fe0b0}.cameraFrame{aspect-ratio:4/3;background:linear-gradient(135deg,#0d151d,#06090d);border:1px solid #2a4055;position:relative;overflow:hidden}.cameraFrame video,.cameraFrame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.cameraFrame.active video,.cameraFrame.hasPreview img{display:block}.cameraFrame.hasPreview video{display:none}.cameraPlaceholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#7790a8;text-align:center}.cameraPlaceholder strong{font-size:1.2rem;letter-spacing:.22em;color:#b6c9db}.cameraFrame.active .cameraPlaceholder,.cameraFrame.hasPreview .cameraPlaceholder{display:none}.scanCorners:before,.scanCorners:after,.cameraFrame:before,.cameraFrame:after{content:"";position:absolute;width:38px;height:38px;z-index:4;border-color:#74b8f5;border-style:solid;pointer-events:none}.cameraFrame:before{left:16px;top:16px;border-width:1px 0 0 1px}.cameraFrame:after{right:16px;top:16px;border-width:1px 1px 0 0}.scanCorners:before{left:16px;bottom:16px;border-width:0 0 1px 1px}.scanCorners:after{right:16px;bottom:16px;border-width:0 1px 1px 0}.scanLine{display:none;position:absolute;z-index:5;left:7%;right:7%;height:1px;background:linear-gradient(90deg,transparent,#75baff,transparent);box-shadow:0 0 14px #62aaf4;animation:scan 2.4s linear infinite}.cameraFrame.active .scanLine{display:block}@keyframes scan{0%{top:12%}50%{top:86%}100%{top:12%}}.uploadBtn{position:relative;overflow:hidden}.uploadBtn input{position:absolute;inset:0;opacity:0;cursor:pointer}.identifierInfo h2{font-size:2.25rem;margin-top:0}.featureList{border-top:1px solid var(--line);margin:25px 0}.featureList div{display:grid;grid-template-columns:45px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.featureList b{color:var(--accent2);font-size:.7rem;letter-spacing:.12em}.identifierResult{margin-bottom:16px}.contactDetails{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contactData{min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.contactData:before{content:"";position:absolute;right:-55px;top:-55px;width:180px;height:180px;border:1px solid rgba(109,178,255,.12);border-radius:50%;box-shadow:0 0 0 24px rgba(109,178,255,.025),0 0 0 48px rgba(109,178,255,.015)}.contactData strong{font-size:clamp(1.65rem,3.2vw,3.2rem);letter-spacing:-.04em;margin:5px 0 20px;overflow-wrap:anywhere}.emailValue{font-size:clamp(1.35rem,2.6vw,2.65rem)!important}.messaging{grid-template-columns:repeat(3,1fr)}.contactBtn{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:24px;text-align:left}.contactBtn small{font-size:.62rem;letter-spacing:.14em;color:var(--accent2);border:1px solid var(--line2);padding:5px 7px}.compactSection{padding-top:25px}.copyBtn.copied{border-color:rgba(101,220,164,.5);color:#9cebc4}
@media(max-width:960px){.identifierLayout,.contactDetails{grid-template-columns:1fr}.techHero:after{display:none}}
@media(max-width:640px){.messaging{grid-template-columns:1fr}.cameraActions .btn,.cameraActions .uploadBtn{width:100%;text-align:center}.cameraFrame{aspect-ratio:3/4}.contactData{min-height:210px}}

/* V4 — tighter typography, red service accents, PCB trace details */
:root{--service-red:#e5484d;--service-red-soft:rgba(229,72,77,.16)}
@media(min-width:961px){
  h1{font-size:clamp(2.9rem,4.35vw,5.1rem);line-height:.96;letter-spacing:-.055em}
  .pageHero h1{font-size:clamp(2.65rem,4vw,4.55rem)}
  .sectionHead h2{font-size:clamp(1.9rem,3vw,3.1rem)}
  .lead{font-size:1.05rem}
  .contactData strong{font-size:clamp(1.35rem,2vw,2rem)}
  .emailValue{font-size:clamp(1.12rem,1.65vw,1.7rem)!important}
  .stat strong{font-size:1.75rem}
  .stat{padding:22px 26px}
}
/* red is a precision accent, not a second theme */
.eyebrow:after{content:"";width:5px;height:5px;background:var(--service-red);box-shadow:0 0 12px rgba(229,72,77,.34);margin-left:2px}
.card:hover,.panel:hover{border-color:rgba(126,168,210,.30)}
.navcta{box-shadow:0 10px 30px rgba(58,133,224,.18),inset 3px 0 0 rgba(229,72,77,.85)}
.statusDot{color:#7fe0b0}.statusDot:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--service-red);margin-right:8px;vertical-align:1px;box-shadow:0 0 10px rgba(229,72,77,.4)}
.stats{position:relative}.stats:before{content:"";position:absolute;left:0;top:0;width:72px;height:2px;background:linear-gradient(90deg,var(--service-red),transparent);z-index:2}
.stat:first-child{box-shadow:inset 2px 0 0 rgba(229,72,77,.62)}
/* circuit-board traces */
.section:nth-of-type(even):after,.statsSection:after{content:"";position:absolute;pointer-events:none;right:max(20px,calc((100% - 1220px)/2));top:10px;width:170px;height:70px;opacity:.38;background:
linear-gradient(90deg,transparent 0 16px,rgba(100,171,235,.28) 16px 17px,transparent 17px 52px,rgba(100,171,235,.20) 52px 53px,transparent 53px),
linear-gradient(0deg,transparent 0 24px,rgba(100,171,235,.23) 24px 25px,transparent 25px 54px,rgba(229,72,77,.18) 54px 55px,transparent 55px),
radial-gradient(circle at 16px 24px,rgba(100,171,235,.7) 0 2px,transparent 3px),
radial-gradient(circle at 53px 55px,rgba(229,72,77,.75) 0 2px,transparent 3px)}
.hero:before{content:"";position:absolute;left:0;right:0;bottom:28px;height:90px;pointer-events:none;opacity:.24;background:
linear-gradient(90deg,transparent 0 12%,rgba(91,164,229,.34) 12% 12.08%,transparent 12.08% 31%,rgba(91,164,229,.2) 31% 31.08%,transparent 31.08%),
linear-gradient(0deg,transparent 0 28px,rgba(91,164,229,.24) 28px 29px,transparent 29px 62px,rgba(229,72,77,.16) 62px 63px,transparent 63px)}
.card .num{position:relative}.card .num:after{content:"";position:absolute;left:31px;top:50%;width:38px;height:1px;background:linear-gradient(90deg,var(--service-red),transparent)}
.heroVisual:after{border-left:2px solid rgba(229,72,77,.7);padding-left:10px}
/* admin preview is intentionally larger and unmistakable */
.imagePreview{min-height:320px;background-size:cover!important;background-repeat:no-repeat!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 18px 46px rgba(0,0,0,.26)}
.imagePreview:before{content:"LIVE IMAGE";position:absolute;right:14px;top:12px;font-size:.58rem;letter-spacing:.15em;color:#ff9c9f;border:1px solid rgba(229,72,77,.34);padding:5px 7px;background:rgba(8,11,16,.64)}
@media(max-width:640px){.section:nth-of-type(even):after,.statsSection:after,.hero:before{display:none}.imagePreview{min-height:230px}}

/* V5 — refined technical premium layer + mobile typography */
:root{--pcb:#55a7e8;--pcb-soft:rgba(85,167,232,.18);--metal:#17202b}
body{background:
 radial-gradient(circle at 86% 2%,rgba(57,126,197,.13),transparent 27%),
 radial-gradient(circle at 8% 68%,rgba(229,72,77,.035),transparent 24%),
 linear-gradient(180deg,#070a0f 0%,#0a0f16 46%,#070b10 100%)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 8%,rgba(85,167,232,.48) 22%,transparent 48%,rgba(229,72,77,.38) 76%,transparent 92%);opacity:.55}
.panel,.card,.blogCard,.contactData,.ad{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 22px 60px rgba(0,0,0,.16)}
.panel{position:relative}.panel:before{content:"";position:absolute;left:-1px;top:24px;width:2px;height:34px;background:linear-gradient(var(--service-red),transparent);opacity:.8}.panel:after{content:"";position:absolute;right:16px;top:16px;width:7px;height:7px;border:1px solid rgba(85,167,232,.38);border-radius:50%;box-shadow:-18px 0 0 -3px rgba(229,72,77,.75)}
.card{border-radius:16px}.card:before{content:"";position:absolute;left:24px;right:24px;top:52px;height:1px;background:linear-gradient(90deg,rgba(85,167,232,.18),transparent 72%)}
.card h3{margin-top:45px}.card:hover{background:linear-gradient(180deg,rgba(20,31,43,.92),rgba(11,17,24,.96))}
.sectionHead{padding-left:17px;border-left:1px solid rgba(85,167,232,.24)}
.sectionHead:before{content:"";display:block;position:absolute;width:6px;height:6px;margin-left:-20px;margin-top:5px;border-radius:50%;background:var(--service-red);box-shadow:0 0 12px rgba(229,72,77,.25)}
.accentWord{color:#dce8f4;text-shadow:0 0 38px rgba(85,167,232,.11)}
.bookingLayout{display:grid;grid-template-columns:.38fr 1fr;gap:16px;align-items:start}.bookingRail{position:sticky;top:100px;border-top:1px solid rgba(85,167,232,.24);padding:24px 18px 18px 0}.bookingRail h3{font-size:1.2rem;margin:16px 0 22px}.serviceSteps{display:grid;gap:18px}.serviceSteps div{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start}.serviceSteps b{font-size:.68rem;letter-spacing:.12em;color:#ff8f94;padding-top:3px}.serviceSteps span{color:var(--muted);font-size:.9rem}.bookingPanel{padding:30px}.bookingHero{position:relative}.bookingHero:after{content:"REQ / SERVICE BUS";position:absolute;right:max(22px,calc((100% - 1220px)/2));bottom:4px;font-size:.61rem;letter-spacing:.2em;color:rgba(85,167,232,.32)}
.fileDrop{min-height:118px;border:1px dashed rgba(85,167,232,.28);border-radius:14px;background:linear-gradient(135deg,rgba(85,167,232,.055),rgba(229,72,77,.025));padding:18px 20px;display:grid;align-content:center;gap:4px;cursor:pointer;position:relative;overflow:hidden}.fileDrop:after{content:"";position:absolute;right:-22px;bottom:-34px;width:120px;height:90px;border-left:1px solid rgba(85,167,232,.2);border-top:1px solid rgba(85,167,232,.2);transform:skewX(-22deg)}.fileDrop:hover{border-color:rgba(85,167,232,.58);background:linear-gradient(135deg,rgba(85,167,232,.085),rgba(229,72,77,.035))}.fileDrop input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.fileDropCode{font-size:.62rem;letter-spacing:.18em;color:#ff9195}.fileDrop strong{font-size:1rem}.fileDrop small{color:var(--muted)}.optional{color:#6f7e91;font-weight:400}.bookingImagePreview{display:none;margin-top:10px;border:1px solid var(--line);background:#0b1118;border-radius:13px;overflow:hidden;grid-template-columns:110px 1fr;align-items:center}.bookingImagePreview.show{display:grid}.bookingImagePreview img{width:110px;height:88px;object-fit:cover}.bookingImagePreview div{padding:12px}.bookingImagePreview strong,.bookingImagePreview span{display:block}.bookingImagePreview span{font-size:.76rem;color:var(--muted);margin-top:4px}.fileError{padding:12px;color:#ff9c9f}.submitRow{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:4px}.bookingNotice{margin-bottom:24px}
.adminFileLink{color:var(--accent2);font-weight:750}.mailState{display:inline-block;margin-top:4px;font-size:.69rem;color:#ff999d}.mailState.ok{color:#7fe0b0}
/* finer mobile scale: premium should not mean oversized */
@media(max-width:960px){.bookingLayout{grid-template-columns:1fr}.bookingRail{position:relative;top:auto;padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(12,17,24,.76)}.serviceSteps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
 body{font-size:15px}.nav{height:68px}.brand{font-size:.93rem}.brandmark{width:31px;height:31px;border-radius:9px}
 .hero{padding:42px 0 44px}h1{font-size:clamp(2.08rem,9.8vw,3.05rem);line-height:.98;letter-spacing:-.052em;margin:16px 0 18px}.pageHero{padding:46px 0 16px}.pageHero h1{font-size:clamp(2rem,9.3vw,2.85rem);line-height:1}.sectionHead h2{font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.03}.lead{font-size:.96rem;line-height:1.55}.eyebrow{font-size:.64rem;letter-spacing:.14em}.section{padding:40px 0}.panel{padding:20px}.bookingPanel{padding:18px}.btn{padding:12px 14px;font-size:.9rem}.card{padding:20px;min-height:176px}.card h3{font-size:1.08rem;margin:38px 0 6px}.card p{font-size:.9rem}.stat{padding:18px}.stat strong{font-size:1.55rem}.contactData{padding:20px;min-height:auto}.contactData strong{font-size:1.22rem!important;line-height:1.25;overflow-wrap:anywhere}.contactData .emailValue{font-size:1.05rem!important}.contactData .actions{margin-top:20px}.contactGrid{grid-template-columns:1fr}.serviceSteps{grid-template-columns:1fr}.bookingRail{padding:18px}.bookingRail h3{margin:12px 0 18px}.submitRow{align-items:stretch;flex-direction:column}.submitRow .btn{width:100%}.bookingImagePreview{grid-template-columns:84px 1fr}.bookingImagePreview img{width:84px;height:78px}.fileDrop{min-height:106px}.heroVisual{min-height:285px}.stats{border-radius:14px}.statsSection{padding-top:28px}
}

/* V6 — FAQ, rotating ads, visual identifier references */
.adRotator{position:relative}.adSlide{display:none}.adSlide.active{display:grid;animation:adIn .45s ease both}.adDots{display:flex;justify-content:center;gap:8px;margin-top:12px}.adDot{width:28px;height:4px;border:0;border-radius:99px;background:rgba(255,255,255,.12);padding:0;cursor:pointer}.adDot.active{background:linear-gradient(90deg,var(--service-red),var(--accent2))}@keyframes adIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.referenceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.referenceCard{border:1px solid var(--line);background:linear-gradient(180deg,rgba(17,24,33,.94),rgba(9,14,20,.96));border-radius:17px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.18)}.referenceImage{display:block;position:relative;width:100%;aspect-ratio:1.45/1;border:0;padding:0;background:#080c12;cursor:zoom-in;overflow:hidden}.referenceImage img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.referenceImage:hover img{transform:scale(1.025);filter:brightness(1.06)}.referenceImage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,7,11,.76));pointer-events:none}.referenceImage span{position:absolute;right:12px;bottom:10px;z-index:2;font-size:.62rem;letter-spacing:.14em;color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(5,8,13,.66);padding:6px 8px;border-radius:7px}.referencePlaceholder{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.7rem;letter-spacing:.2em}.referenceBody{padding:18px 20px 22px}.referenceBody small{color:var(--accent2);text-transform:uppercase;letter-spacing:.1em}.referenceBody h3{margin:6px 0 9px;font-size:1.22rem}.referenceBody p{margin:0;font-size:.91rem;line-height:1.55}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(2,5,9,.9);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,92vw);max-height:82vh;border:1px solid rgba(120,177,226,.26);border-radius:16px;box-shadow:0 40px 120px rgba(0,0,0,.58)}.lightboxClose{position:absolute;right:24px;top:22px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#101722;color:#fff;font-size:1.7rem;cursor:pointer}.lightboxCaption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:rgba(8,12,18,.8);border:1px solid var(--line);padding:9px 13px;border-radius:10px;font-size:.82rem;color:#dce8f4;white-space:nowrap;max-width:80vw;overflow:hidden;text-overflow:ellipsis}
.faqWrap{max-width:980px}.faqItem{border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(17,24,33,.88),rgba(10,15,21,.92));margin-bottom:10px;overflow:hidden;position:relative}.faqItem:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--service-red),transparent 75%);opacity:.75}.faqItem summary{list-style:none;display:grid;grid-template-columns:42px 1fr 32px;gap:12px;align-items:center;padding:19px 20px;cursor:pointer}.faqItem summary::-webkit-details-marker{display:none}.faqIndex{font-size:.65rem;letter-spacing:.14em;color:var(--accent2)}.faqPlus{font-size:1.4rem;color:#ff8e93;text-align:center;transition:transform .2s ease}.faqItem[open] .faqPlus{transform:rotate(45deg)}.faqAnswer{padding:0 20px 20px 74px;color:var(--muted);line-height:1.65;border-top:1px solid rgba(255,255,255,.035);padding-top:16px}
@media(max-width:960px){.referenceGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.referenceGrid{grid-template-columns:1fr}.referenceBody{padding:16px 17px 19px}.faqItem summary{grid-template-columns:32px 1fr 24px;padding:16px}.faqAnswer{padding:14px 16px 18px 60px}.lightbox{padding:14px}.lightboxClose{right:12px;top:12px}.lightboxCaption{bottom:12px}}

/* V7 — fault workflow, references, seasonal accents, media library, popup */
.faultChoiceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.faultChoiceGrid label{cursor:pointer}.faultChoiceGrid input{position:absolute;opacity:0;pointer-events:none}.faultChoiceGrid span{display:block;border:1px solid var(--line);background:linear-gradient(180deg,rgba(19,27,37,.96),rgba(10,15,21,.95));border-radius:12px;padding:14px 13px;font-size:.9rem;transition:.2s ease}.faultChoiceGrid input:checked+span{border-color:rgba(225,61,69,.68);box-shadow:0 0 0 1px rgba(225,61,69,.18),inset 0 0 28px rgba(225,61,69,.08);color:#fff}.workGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.workCard{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(17,24,33,.94),rgba(9,14,20,.96));position:relative}.workCard:before{content:"";position:absolute;left:0;top:0;width:54px;height:2px;background:var(--service-red);z-index:3}.workImages{display:grid;grid-template-columns:1fr 1fr;min-height:230px;background:#090d13}.workImage{padding:0;border:0;position:relative;cursor:zoom-in;background:#080c12;overflow:hidden}.workImage img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s ease}.workImage:hover img{transform:scale(1.025)}.workImage span{position:absolute;left:10px;bottom:10px;background:rgba(7,10,15,.8);border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:5px 8px;font-size:.6rem;letter-spacing:.13em;color:#fff}.workPlaceholder{grid-column:1/-1;display:grid;place-items:center;color:var(--muted);letter-spacing:.18em;font-size:.7rem;min-height:230px}.workBody{padding:20px}.workBody small{color:var(--accent2);text-transform:uppercase;letter-spacing:.11em}.workBody h3{margin:6px 0 9px}.promoPopup{position:fixed;inset:0;z-index:9998;background:rgba(3,6,10,.76);backdrop-filter:blur(9px);display:none;align-items:center;justify-content:center;padding:18px}.promoPopup.show{display:flex;animation:promoBg .25s ease both}.promoCard{width:min(680px,94vw);border:1px solid rgba(118,171,221,.2);border-radius:19px;background:linear-gradient(145deg,#111923,#090e14 72%);padding:28px;position:relative;overflow:hidden;box-shadow:0 38px 110px rgba(0,0,0,.55)}.promoCard:before{content:"";position:absolute;left:0;top:0;width:110px;height:2px;background:linear-gradient(90deg,var(--service-red),transparent)}.promoCard:after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border:1px solid rgba(87,157,216,.1);border-radius:50%}.promoClose{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#0c121a;color:#fff;font-size:1.4rem;cursor:pointer}.promoImage{height:180px;margin:-28px -28px 23px;overflow:hidden;position:relative}.promoImage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,18,.08),#0e151e)}.promoImage img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}@keyframes promoBg{from{opacity:0}to{opacity:1}}
.mediaLibrary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mediaTile{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel)}.mediaTile img{width:100%;height:170px;object-fit:cover;display:block;background:#080c12}.mediaTile>div{padding:14px}.mediaTile strong,.mediaTile small,.mediaTile code{display:block}.mediaTile small{color:var(--muted);margin:4px 0}.mediaTile code{font-size:.68rem;color:#91a9bd;word-break:break-all;margin:7px 0}.faviconPreview{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#0a1017}.faviconPreview img{width:48px;height:48px;object-fit:contain;border-radius:9px;background:#fff;padding:4px}.faviconPreview code{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.smallPreview{min-height:150px}.seasonRow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.045);border-radius:12px;background:rgba(255,255,255,.015)}
/* seasonal styling: visible enough to notice, restrained enough to stay premium */
body[class*="season-"]:not(.season-normal){--season-glow:rgba(86,157,216,.08)}
body[class*="season-"]:not(.season-normal) .hero{position:relative;overflow:hidden}
body[class*="season-"]:not(.season-normal) .hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 84% 18%,var(--season-glow),transparent 31%);opacity:.9}
body[class*="season-"]:not(.season-normal) .hero>.wrap{position:relative;z-index:1}
body.season-aug20:after,body.season-march15:after,body.season-oct23:after{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:1002;background:linear-gradient(90deg,#c9323c 0 33.33%,#eceff2 33.33% 66.66%,#35845c 66.66%);opacity:.92;pointer-events:none}
body.season-aug20,body.season-march15,body.season-oct23{--season-glow:rgba(201,50,60,.10)}
body.season-aug20 .heroVisual:after,body.season-march15 .heroVisual:after,body.season-oct23 .heroVisual:after{content:"";position:absolute;inset:8% 5%;pointer-events:none;background:linear-gradient(90deg,transparent 0 12%,rgba(201,50,60,.20) 12% 12.25%,transparent 12.25% 48%,rgba(236,239,242,.12) 48% 48.25%,transparent 48.25% 76%,rgba(53,132,92,.18) 76% 76.25%,transparent 76.25%),linear-gradient(0deg,transparent 0 27%,rgba(201,50,60,.16) 27% 27.25%,transparent 27.25% 68%,rgba(53,132,92,.14) 68% 68.25%,transparent 68.25%);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.75}
body.season-aug20 .eyebrow,body.season-march15 .eyebrow,body.season-oct23 .eyebrow{color:#f0d9da}
body.season-christmas{--season-glow:rgba(207,55,64,.12)}
body.season-christmas .brandmark{box-shadow:0 0 24px rgba(208,52,61,.28),0 0 46px rgba(220,180,104,.08)}
body.season-christmas .hero:after{content:"";position:absolute;right:4%;top:9%;width:280px;height:280px;background:radial-gradient(circle at 50% 50%,rgba(235,192,111,.12),transparent 62%),radial-gradient(circle at 25% 36%,rgba(207,55,64,.13) 0 2px,transparent 3px),radial-gradient(circle at 71% 62%,rgba(235,192,111,.12) 0 2px,transparent 3px);pointer-events:none;opacity:.95}
body.season-christmas .eyebrow{color:#dfc89d}
body.season-christmas .btn.primary{box-shadow:0 10px 30px rgba(207,55,64,.12)}
body.season-easter{--season-glow:rgba(112,173,132,.12)}
body.season-easter .eyebrow{color:#a8d0b4}
body.season-easter .heroVisual:after{content:"";position:absolute;right:4%;bottom:7%;width:150px;height:110px;border:1px solid rgba(168,208,180,.12);border-radius:50%;transform:rotate(-12deg);box-shadow:40px -18px 0 -1px rgba(218,196,145,.04),40px -18px 0 0 rgba(218,196,145,.10);pointer-events:none}
body.season-newyear{--season-glow:rgba(186,198,214,.11)}
body.season-newyear .eyebrow{color:#d1dae5}
body.season-newyear .hero:after{content:"";position:absolute;right:6%;top:12%;width:240px;height:240px;background:repeating-radial-gradient(circle at 60% 40%,rgba(207,55,64,.12) 0 1px,transparent 2px 19px),repeating-radial-gradient(circle at 43% 58%,rgba(205,215,227,.10) 0 1px,transparent 2px 24px);mask-image:radial-gradient(circle,#000,transparent 66%);pointer-events:none;opacity:.7}
body.season-normal{}
@media(max-width:900px){.workGrid{grid-template-columns:1fr}.mediaLibrary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.faultChoiceGrid{grid-template-columns:repeat(2,1fr)}.faultChoiceGrid span{padding:12px 10px;font-size:.82rem}.workImages{min-height:190px}.promoCard{padding:21px}.promoImage{margin:-21px -21px 20px;height:145px}.mediaLibrary{grid-template-columns:1fr}.seasonRow{grid-template-columns:1fr}.promoCard h2{font-size:1.45rem}}

/* V9 — designed technical header + clearly visible but restrained seasonal header language */
.topbar{overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(8,12,18,.94),rgba(7,10,15,.88));box-shadow:0 16px 48px rgba(0,0,0,.18)}
.topbar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0 4%,rgba(84,153,214,.28) 18%,rgba(229,72,77,.42) 50%,rgba(84,153,214,.22) 82%,transparent 96%);z-index:-1}
.headerCircuit{position:absolute;inset:0;pointer-events:none;opacity:.68;z-index:-1;background:linear-gradient(90deg,transparent 0 7%,rgba(83,151,211,.11) 7% 7.08%,transparent 7.08% 21%,rgba(83,151,211,.08) 21% 21.06%,transparent 21.06% 79%,rgba(229,72,77,.09) 79% 79.06%,transparent 79.06%)}
.headerCircuit:before,.headerCircuit:after{content:"";position:absolute;height:1px;background:linear-gradient(90deg,rgba(83,151,211,.3),rgba(83,151,211,.05));top:24px;width:180px}
.headerCircuit:before{left:2%}.headerCircuit:after{right:3%;transform:scaleX(-1)}
.headerCircuit i{position:absolute;width:5px;height:5px;border-radius:50%;border:1px solid rgba(101,174,233,.55);background:#0a1119;box-shadow:0 0 12px rgba(70,144,205,.2)}
.headerCircuit i:nth-child(1){left:7%;top:22px}.headerCircuit i:nth-child(2){left:21%;bottom:16px}.headerCircuit i:nth-child(3){right:21%;top:20px;border-color:rgba(229,72,77,.55)}.headerCircuit i:nth-child(4){right:7%;bottom:17px}
.nav{height:82px;position:relative}.brandText{display:grid;line-height:1.05;gap:4px}.brandText b{font-size:.98rem;letter-spacing:-.02em}.brandText small{font-size:.54rem;letter-spacing:.18em;color:#6f8da7;font-weight:760}.brandmark{border-radius:8px;transform:rotate(45deg);width:34px;height:34px}.brandmark:before,.brandmark:after{transform:rotate(-45deg)}
.menu a{position:relative}.menu a:not(.navcta):after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:linear-gradient(90deg,var(--service-red),transparent);transform:scaleX(0);transform-origin:left;transition:.2s}.menu a:not(.navcta):hover:after{transform:scaleX(1)}
.headerStatus{border-top:1px solid rgba(255,255,255,.035);background:rgba(5,8,12,.46)}.headerStatus>.wrap{height:24px;display:flex;align-items:center;gap:26px;font-size:.52rem;letter-spacing:.15em;color:#637b91;font-weight:760}.headerStatus span:first-child{color:#8aa5bc}.headerStatus i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#df4d52;margin-right:7px;box-shadow:0 0 10px rgba(223,77,82,.45)}.headerStatusRight{margin-left:auto}
.seasonSignal{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(11,15,21,.94)}.seasonSignal>.wrap{height:32px;display:flex;align-items:center;gap:10px;font-size:.61rem;letter-spacing:.12em}.seasonSignal strong{font-size:.62rem}.seasonNote{color:#748ca2;font-size:.54rem}.seasonLamp{width:7px;height:7px;border-radius:50%;background:#d64b50;box-shadow:0 0 14px rgba(214,75,80,.45)}
/* Hungarian national holidays: visible tricolour atmosphere concentrated in header */
body.season-aug20 .topbar,body.season-march15 .topbar,body.season-oct23 .topbar{background:linear-gradient(105deg,rgba(117,20,28,.26) 0%,rgba(8,12,18,.94) 27%,rgba(8,12,18,.96) 69%,rgba(23,83,54,.24) 100%)}
body.season-aug20 .seasonSignal,body.season-march15 .seasonSignal,body.season-oct23 .seasonSignal{background:linear-gradient(90deg,rgba(166,34,43,.42),rgba(238,241,243,.08) 49%,rgba(42,122,82,.34));box-shadow:inset 0 -1px rgba(255,255,255,.07)}
body.season-aug20 .seasonSignal:before,body.season-march15 .seasonSignal:before,body.season-oct23 .seasonSignal:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#b82e39 0 33.333%,#e9ecef 33.333% 66.666%,#347f59 66.666%);opacity:.12;pointer-events:none}
body.season-aug20 .topbar:after,body.season-march15 .topbar:after,body.season-oct23 .topbar:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 8% 50%,rgba(196,49,58,.15),transparent 24%),radial-gradient(circle at 92% 50%,rgba(52,128,88,.13),transparent 24%)}
body.season-aug20 .brandmark,body.season-march15 .brandmark,body.season-oct23 .brandmark{background:linear-gradient(135deg,#b6323c 0 34%,#dfe4e8 34% 66%,#3b875f 66%);box-shadow:0 0 26px rgba(255,255,255,.08)}
/* Christmas: warm, elegant light points instead of decorative clip-art */
body.season-christmas .topbar{background:radial-gradient(circle at 14% 25%,rgba(164,29,38,.23),transparent 25%),radial-gradient(circle at 88% 10%,rgba(210,168,87,.12),transparent 24%),linear-gradient(180deg,rgba(13,13,16,.96),rgba(8,11,15,.92))}
body.season-christmas .seasonSignal{background:linear-gradient(90deg,rgba(151,27,36,.34),rgba(155,117,53,.16),rgba(12,16,21,.85))}.season-christmas .seasonLamp{background:#d7ac62;box-shadow:0 0 15px rgba(215,172,98,.58)}
body.season-christmas .headerCircuit i{border-color:rgba(218,176,100,.46);box-shadow:0 0 16px rgba(218,176,100,.25)}
body.season-christmas .headerCircuit i:nth-child(odd){border-color:rgba(202,53,61,.52)}
/* Easter: fresh restrained green/cream signal */
body.season-easter .topbar{background:radial-gradient(circle at 9% 40%,rgba(93,147,105,.17),transparent 27%),radial-gradient(circle at 92% 18%,rgba(205,179,120,.10),transparent 25%),linear-gradient(180deg,rgba(8,13,15,.96),rgba(7,11,14,.91))}
body.season-easter .seasonSignal{background:linear-gradient(90deg,rgba(76,130,88,.27),rgba(192,169,112,.11),rgba(9,14,18,.88))}.season-easter .seasonLamp{background:#83b58e;box-shadow:0 0 15px rgba(131,181,142,.42)}
/* New year: cool metallic sparkle kept inside header */
body.season-newyear .topbar{background:radial-gradient(circle at 18% 20%,rgba(192,205,221,.12),transparent 25%),radial-gradient(circle at 82% 25%,rgba(205,59,67,.10),transparent 24%),linear-gradient(180deg,rgba(10,13,19,.97),rgba(7,10,15,.92))}
body.season-newyear .seasonSignal{background:linear-gradient(90deg,rgba(157,174,195,.18),rgba(173,44,51,.14),rgba(8,12,18,.88))}.season-newyear .seasonLamp{background:#c9d3df;box-shadow:0 0 16px rgba(201,211,223,.45)}
@media(max-width:900px){.headerStatus>.wrap span:nth-child(2),.headerStatusRight{display:none}.brandText small{display:none}.nav{height:70px}.seasonSignal>.wrap{height:29px}.seasonNote{display:none}}
@media(max-width:640px){.headerStatus{display:none}.brandmark{width:29px;height:29px}.brandText b{font-size:.86rem}.seasonSignal>.wrap{font-size:.56rem}.seasonSignal strong{font-size:.57rem}}

/* V10 — header structure repair: no concatenated labels in any seasonal profile */
.topbar{isolation:isolate}
.brand{min-width:0;flex:0 1 auto}
.brandText{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;line-height:1.08}
.brandText b{display:block;font-size:.98rem;line-height:1.08;white-space:nowrap}
.brandText small{display:block;font-size:.55rem;line-height:1.2;letter-spacing:.105em;text-transform:uppercase;color:#758ca2;font-weight:750;white-space:nowrap}
.seasonSignal{position:relative;z-index:4}
.seasonSignal>.wrap{min-height:34px;height:auto;padding:7px 0;display:flex;align-items:center;gap:10px;line-height:1.1}
.seasonSignal strong{display:block;line-height:1.15;white-space:nowrap;letter-spacing:.11em}
.seasonNote{display:block;line-height:1.15;white-space:nowrap;margin-left:2px;color:#8495a7}
.headerStatus>.wrap{display:flex;align-items:center;gap:0;min-height:34px;height:auto;padding:7px 0;overflow:hidden}
.statusItem{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-style:normal;font-size:.59rem;letter-spacing:.09em;color:#8da0b4}
.statusItem+ .statusItem{margin-left:15px;padding-left:15px;border-left:1px solid rgba(255,255,255,.09)}
.statusItem b{font-size:.59rem;letter-spacing:.11em;color:#b6c4d2;font-weight:850}
.statusItem em{font-style:normal;color:#657b90;font-size:.53rem;letter-spacing:.07em}
.statusItem i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#65dca4;box-shadow:0 0 12px rgba(101,220,164,.45);flex:none}
.headerStatusRight{margin-left:auto;white-space:nowrap;font-size:.55rem;letter-spacing:.12em;color:#60768a}
/* seasonal banner gets visual identity without contaminating header text */
body.season-march15 .seasonSignal,body.season-aug20 .seasonSignal,body.season-oct23 .seasonSignal{background:linear-gradient(90deg,rgba(177,38,48,.38) 0%,rgba(177,38,48,.18) 28%,rgba(235,239,241,.075) 49%,rgba(47,129,86,.18) 72%,rgba(47,129,86,.34) 100%)}
body.season-march15 .seasonSignal:after,body.season-aug20 .seasonSignal:after,body.season-oct23 .seasonSignal:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#ba303c 0 33.333%,#e9ecef 33.333% 66.666%,#38865f 66.666%);opacity:.8}
body.season-christmas .seasonSignal{background:linear-gradient(90deg,rgba(151,28,38,.38),rgba(185,140,65,.16) 48%,rgba(12,16,21,.93))}
body.season-christmas .seasonSignal:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#a92d38,#d5ad68,#7c252e);opacity:.72}
body.season-easter .seasonSignal{background:linear-gradient(90deg,rgba(73,130,87,.32),rgba(199,177,122,.12) 54%,rgba(10,15,18,.92))}
body.season-easter .seasonSignal:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#5b956b,#d4c08d,#86ad8f);opacity:.66}
body.season-newyear .seasonSignal{background:linear-gradient(90deg,rgba(157,174,195,.22),rgba(171,47,56,.17) 54%,rgba(8,12,18,.92))}
body.season-newyear .seasonSignal:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#adb9c8,#d5dde6,#a63a44);opacity:.68}
@media(max-width:1100px){.brandText small{display:none}.menu a{padding:9px 9px;font-size:.86rem}.nav{gap:14px}.statusItem em{display:none}}
@media(max-width:900px){.seasonSignal>.wrap{min-height:31px;padding:6px 0}.seasonNote{display:none}.headerStatus>.wrap{min-height:30px;padding:6px 0}.statusItem:nth-child(n+3){display:none}.headerStatusRight{display:none}}
@media(max-width:640px){.brandText b{font-size:.84rem}.seasonSignal strong{font-size:.56rem;letter-spacing:.08em}.seasonSignal>.wrap{gap:8px}.headerStatus{display:none}}

/* V11 — robust mobile navigation + stronger but restrained seasonal header identity */
@media(max-width:960px){
  .nav{position:relative;z-index:6}
  .mobileToggle{position:relative;z-index:8;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;letter-spacing:.02em;background:linear-gradient(180deg,#151f2b,#101720);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
  .mobileToggle:before{content:"";width:15px;height:11px;border-top:2px solid #dce8f6;border-bottom:2px solid #dce8f6;box-shadow:inset 0 4px 0 -2px #dce8f6;opacity:.9}
  .menu{display:none;position:fixed;left:14px;right:14px;top:var(--mobile-menu-top,76px);z-index:1200;max-height:calc(100dvh - var(--mobile-menu-top,76px) - 14px);overflow-y:auto;overscroll-behavior:contain;background:rgba(10,15,22,.985);backdrop-filter:blur(22px) saturate(135%);border:1px solid rgba(120,169,216,.25);padding:10px;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.035);grid-template-columns:1fr}
  .menu.open{display:grid}
  .menu a{display:flex;align-items:center;min-height:44px;padding:11px 13px;border-radius:10px;font-size:.91rem;border-bottom:1px solid rgba(255,255,255,.035)}
  .menu a:last-child{border-bottom:0}
  .menu .badge,.menu .navcta{justify-content:center;margin-top:4px}
  body.mobile-menu-open{overflow:hidden}
}

/* Give the normal header more designed, technical depth too. */
.topbar{isolation:isolate;overflow:visible}
.topbar:before{content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;background:linear-gradient(90deg,transparent 0 10%,rgba(75,139,204,.035) 28%,transparent 46% 72%,rgba(203,52,61,.025) 92%,transparent),linear-gradient(180deg,rgba(255,255,255,.018),transparent 58%)}
.headerCircuit{opacity:.62}
.headerStatus{background:rgba(4,8,13,.34);border-top:1px solid rgba(255,255,255,.025)}

/* National holidays — unmistakable tricolour atmosphere, still dark/premium. */
body.season-march15 .topbar,body.season-aug20 .topbar,body.season-oct23 .topbar{
  background:
    radial-gradient(ellipse at 4% 48%,rgba(190,39,49,.30),transparent 30%),
    radial-gradient(ellipse at 96% 50%,rgba(41,126,82,.27),transparent 30%),
    linear-gradient(90deg,rgba(168,29,40,.16) 0 26%,rgba(235,239,242,.055) 43% 57%,rgba(43,122,80,.15) 74% 100%),
    rgba(7,11,16,.93);
}
body.season-march15 .nav,body.season-aug20 .nav,body.season-oct23 .nav{position:relative}
body.season-march15 .nav:after,body.season-aug20 .nav:after,body.season-oct23 .nav:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:5px;
  background:linear-gradient(90deg,#bb303b 0 33.333%,#edf0f2 33.333% 66.666%,#37865e 66.666%);
  opacity:.9;box-shadow:0 0 18px rgba(255,255,255,.08)
}
body.season-march15 .seasonSignal,body.season-aug20 .seasonSignal,body.season-oct23 .seasonSignal{
  background:linear-gradient(90deg,rgba(169,30,40,.62) 0%,rgba(117,25,33,.28) 30%,rgba(232,236,239,.12) 50%,rgba(37,105,69,.28) 70%,rgba(43,125,82,.57) 100%);
}
body.season-march15 .seasonSignal strong,body.season-aug20 .seasonSignal strong,body.season-oct23 .seasonSignal strong{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.4)}

/* Christmas — richer warm red/gold header with tiny light points, no cartoon graphics. */
body.season-christmas .topbar{
  background:
    radial-gradient(circle at 7% 30%,rgba(177,28,39,.30),transparent 27%),
    radial-gradient(circle at 88% 18%,rgba(220,174,86,.20),transparent 28%),
    linear-gradient(105deg,rgba(108,18,27,.18),rgba(8,11,15,.95) 43%,rgba(103,75,29,.13)),
    rgba(8,11,15,.94);
}
body.season-christmas .nav:after{content:"";position:absolute;left:2%;right:2%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#b5333e 18%,#dab368 50%,#b5333e 82%,transparent);box-shadow:24vw -53px 0 1px rgba(213,172,94,.55),47vw -53px 0 1px rgba(185,49,58,.5),68vw -53px 0 1px rgba(213,172,94,.48),82vw -53px 0 1px rgba(185,49,58,.42)}
body.season-christmas .seasonSignal{background:linear-gradient(90deg,rgba(151,27,37,.60),rgba(94,26,30,.30) 32%,rgba(151,113,49,.24) 68%,rgba(101,75,30,.37))}

/* Easter — recognisable fresh spring tint without eggs/bunnies. */
body.season-easter .topbar{
  background:
    radial-gradient(circle at 8% 44%,rgba(91,155,105,.28),transparent 28%),
    radial-gradient(circle at 92% 22%,rgba(215,190,126,.18),transparent 28%),
    linear-gradient(105deg,rgba(51,104,66,.13),rgba(8,12,15,.95) 44%,rgba(116,94,48,.10)),
    rgba(8,12,15,.94);
}
body.season-easter .nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#5e9b70,#d8c48d,#8db696);opacity:.75}
body.season-easter .seasonSignal{background:linear-gradient(90deg,rgba(69,128,83,.52),rgba(99,132,90,.22) 42%,rgba(194,169,105,.22),rgba(94,77,40,.18))}

/* New year — brighter metallic / red highlights, still architectural. */
body.season-newyear .topbar{
  background:
    radial-gradient(circle at 11% 20%,rgba(207,219,233,.20),transparent 25%),
    radial-gradient(circle at 88% 30%,rgba(190,49,59,.18),transparent 26%),
    linear-gradient(105deg,rgba(135,153,174,.12),rgba(7,10,15,.96) 48%,rgba(118,27,35,.11)),
    rgba(7,10,15,.95);
}
body.season-newyear .nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#aebbc9,#eef3f8,#a83d47,transparent);opacity:.8}
body.season-newyear .seasonSignal{background:linear-gradient(90deg,rgba(147,166,190,.38),rgba(103,121,143,.18) 42%,rgba(151,43,52,.25),rgba(88,25,31,.18))}

@media(max-width:640px){
  .seasonSignal>.wrap{padding-left:2px;padding-right:2px}
  .seasonSignal strong{font-size:.61rem;letter-spacing:.07em}
  body.season-march15 .topbar,body.season-aug20 .topbar,body.season-oct23 .topbar{background:linear-gradient(90deg,rgba(168,29,40,.22),rgba(8,11,16,.95) 38% 62%,rgba(43,122,80,.20)),rgba(7,11,16,.95)}
}

/* V12 navigation, reviews, seasonal cleanup */
body.season-christmas .nav:after{display:none!important;content:none!important}
.menu>a{position:relative;padding:10px 8px;border:1px solid transparent;border-radius:9px;transition:background .2s,border-color .2s,color .2s,transform .2s}
.menu>a:not(.navcta):hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07);color:#f6f8fb}
.menu>a:not(.navcta):before{content:"";position:absolute;left:50%;right:50%;bottom:3px;height:2px;background:#d84b50;border-radius:2px;transition:left .22s,right .22s;box-shadow:0 0 8px rgba(216,75,80,.28)}
.menu>a:not(.navcta):hover:before{left:10px;right:10px}
.menu>a.badge:before{display:none}.desktopHidden{display:none!important}
.reviewGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.reviewCard{padding:22px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(18,26,36,.94),rgba(9,14,20,.92));border-radius:16px;position:relative;overflow:hidden}.reviewCard:before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#d84b50}.stars{color:#e2b766;letter-spacing:.12em;font-size:.88rem}.reviewCard p{line-height:1.65;color:#dce4ed}.reviewCard footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem}.reviewScore{text-align:right}.reviewScore strong{display:block;font-size:1.5rem}.reviewScore span{color:var(--muted);font-size:.75rem}
@media(max-width:1100px){.reviewGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.desktopHidden{display:none!important}.menu>a.mobileHidden{display:none!important}.menu>a{width:100%;padding:12px 14px}.menu>a:not(.navcta):before{bottom:6px}}
@media(min-width:901px){.menu>a.desktopHidden{display:none!important}}
@media(max-width:640px){.reviewGrid{grid-template-columns:1fr}}

/* v13: aktív navigáció és értékelések */
.menu>a.current:not(.navcta){color:#fff;background:linear-gradient(180deg,rgba(216,75,80,.105),rgba(255,255,255,.025));border-color:rgba(216,75,80,.22)}
.menu>a.current:not(.navcta):before,.menu>a.current:not(.navcta):after{left:10px!important;right:10px!important;transform:scaleX(1)!important;background:#e24b50!important;box-shadow:0 0 12px rgba(226,75,80,.38)}
.menu>a.navcta.current{box-shadow:0 0 0 2px rgba(226,75,80,.5),0 10px 30px rgba(58,133,224,.18)!important}
.reviewAvatar{width:52px;height:52px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12);margin-bottom:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.reviewAdminImage{display:block;width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid var(--line);margin-top:8px}
.reviewSubmitSection{padding-top:14px}
@media(max-width:900px){.menu>a.current:not(.navcta){background:rgba(216,75,80,.09);border-color:rgba(216,75,80,.18)}.menu>a.current:not(.navcta):before{left:14px!important;right:14px!important}}

/* v14 usability fixes */
.reviewActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.reviewActions .btn.primary{box-shadow:0 10px 28px rgba(83,164,255,.16)}
input[type="date"]{color-scheme:dark;padding-right:46px;position:relative;background-color:rgba(10,16,24,.92)}
input[type="date"]::-webkit-calendar-picker-indicator{opacity:1;filter:invert(1) brightness(1.85);cursor:pointer;width:20px;height:20px;margin-right:4px}
input[type="date"]::-webkit-calendar-picker-indicator:hover{filter:invert(61%) sepia(70%) saturate(1653%) hue-rotate(185deg) brightness(106%) contrast(101%)}
@media(max-width:720px){.reviewActions{display:grid;grid-template-columns:1fr}.reviewActions .btn{text-align:center;justify-content:center}input[type="date"]{font-size:16px!important;min-height:52px}}

/* V16 — selectable brightness profiles: same technical identity, more breathing room */
body.theme-dark{--bg:#080b10;--bg2:#0c1118;--panel:#10161f;--panel2:#131b26;--line:rgba(143,163,189,.16);--line2:rgba(143,163,189,.28)}
body.theme-graphite{--bg:#111418;--bg2:#151a20;--panel:#181d22;--panel2:#20262c;--text:#f1f3f4;--muted:#aeb6bd;--line:rgba(190,203,214,.17);--line2:rgba(190,203,214,.29);background:radial-gradient(circle at 76% -8%,rgba(137,159,179,.17),transparent 31%),radial-gradient(circle at 15% 28%,rgba(213,43,50,.045),transparent 24%),linear-gradient(180deg,#111418 0%,#151a20 48%,#101317 100%)}
body.theme-light-graphite{--bg:#181c20;--bg2:#1d2227;--panel:#22282e;--panel2:#293037;--text:#f5f6f7;--muted:#bcc3c9;--line:rgba(211,220,227,.18);--line2:rgba(211,220,227,.31);background:radial-gradient(circle at 76% -8%,rgba(183,198,211,.18),transparent 33%),radial-gradient(circle at 15% 28%,rgba(213,43,50,.05),transparent 24%),linear-gradient(180deg,#181c20 0%,#1d2227 48%,#161a1e 100%)}
body.theme-graphite .card,body.theme-light-graphite .card{background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%,transparent),color-mix(in srgb,var(--panel) 97%,#000))}
body.theme-graphite .panel,body.theme-light-graphite .panel{background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 94%,transparent),color-mix(in srgb,var(--panel) 97%,#000));box-shadow:0 18px 55px rgba(0,0,0,.15)}
body.theme-graphite .stat,body.theme-light-graphite .stat{background:var(--panel)}
body.theme-graphite .choice,body.theme-light-graphite .choice,body.theme-graphite .field input,body.theme-graphite .field textarea,body.theme-graphite .field select,body.theme-light-graphite .field input,body.theme-light-graphite .field textarea,body.theme-light-graphite .field select{background:color-mix(in srgb,var(--panel) 86%,#090c10)}
body.theme-graphite .topbar,body.theme-light-graphite .topbar{background:linear-gradient(180deg,rgba(13,17,22,.93),rgba(10,13,17,.89))}
body.theme-graphite .heroVisual,body.theme-light-graphite .heroVisual{box-shadow:0 30px 90px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.055)}
body.theme-graphite .heroVisual:before,body.theme-light-graphite .heroVisual:before{background:linear-gradient(90deg,rgba(12,15,19,var(--fade,.66)) 0%,rgba(12,15,19,.13) 47%,rgba(12,15,19,.025) 100%),linear-gradient(180deg,rgba(15,19,24,.02),rgba(9,12,16,.42))}
body.theme-graphite .heroMedia{filter:brightness(.84) contrast(1.06) saturate(.86)}body.theme-light-graphite .heroMedia{filter:brightness(.9) contrast(1.04) saturate(.88)}
body.theme-graphite:before,body.theme-light-graphite:before{opacity:.25}
.themeChooser{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.themeOption{position:relative}.themeOption input{position:absolute;opacity:0;pointer-events:none}.themeSwatch{display:block;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:.2s}.themeSwatch:hover{transform:translateY(-2px);border-color:rgba(213,43,50,.48)}.themeOption input:checked+.themeSwatch{border-color:#d52b32;box-shadow:inset 0 -3px #d52b32,0 10px 30px rgba(0,0,0,.13)}.themeSample{height:72px;border-radius:10px;margin-bottom:10px;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.themeSample:after{content:"";position:absolute;left:12px;right:35%;bottom:14px;height:3px;background:#d52b32;box-shadow:0 -12px rgba(255,255,255,.35),55px -12px rgba(255,255,255,.18)}.sampleDark{background:#080b10}.sampleGraphite{background:linear-gradient(135deg,#111418,#20262c)}.sampleLight{background:linear-gradient(135deg,#181c20,#293037)}.themeSwatch b{display:block}.themeSwatch small{color:var(--muted)}
@media(max-width:640px){.themeChooser{grid-template-columns:1fr}}


/* v17 — navigation active-state fix
   Only the current page may keep the red underline.
   Other items receive it only while hovered/focused. */
.site-nav a::after,
.main-nav a::after,
.nav-links a::after,
header nav a::after {
    transform: scaleX(0) !important;
    opacity: 0 !important;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.nav-links a:hover::after,
.nav-links a:focus-visible::after,
header nav a:hover::after,
header nav a:focus-visible::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}

.site-nav a.active::after,
.site-nav a[aria-current="page"]::after,
.main-nav a.active::after,
.main-nav a[aria-current="page"]::after,
.nav-links a.active::after,
.nav-links a[aria-current="page"]::after,
header nav a.active::after,
header nav a[aria-current="page"]::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}


/* V18 — operational UX */
.utilityGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inlineForm,.callbackForm{display:flex;gap:10px;flex-wrap:wrap}.inlineForm input,.callbackForm input,.callbackForm select{flex:1;min-width:150px}.miniResult{margin-top:12px;padding:10px 12px;border-radius:10px}.miniResult.ok{background:#153427;color:#a9f1ca;border:1px solid #2c694f}.miniResult.warn{background:#392b18;color:#f1ce93;border:1px solid #75542a}.hpField{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.systemPage{min-height:100vh;display:grid;place-items:center;padding:30px}.systemPanel{width:min(720px,100%);padding:42px;border:1px solid var(--line);background:var(--panel);border-radius:20px}.interactiveIntercom{position:relative;width:min(330px,78%);aspect-ratio:.62;margin:auto;border-radius:26px;background:linear-gradient(145deg,#263440,#10171e 60%,#313d45);border:1px solid #52606a;box-shadow:inset 0 0 0 2px #ffffff08,0 32px 90px #000a}.intercomLens{position:absolute;left:50%;top:12%;translate:-50% 0;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,#6b8ba4 0 15%,#14202a 17% 45%,#05090d 47% 62%,#304657 64%);box-shadow:0 0 0 1px #71889966}.intercomSpeaker{position:absolute;left:18%;right:18%;top:40%;height:42px;background:repeating-linear-gradient(90deg,transparent 0 10px,#71808b55 10px 13px);opacity:.75}.intercomButton{position:absolute;left:50%;top:59%;translate:-50% 0;width:74px;height:74px;border-radius:50%;border:1px solid #8ba0ad;background:radial-gradient(circle,#253746 0 45%,#0e161d 47% 60%,#71818d 62%);cursor:pointer}.intercomButton span{position:absolute;inset:22px;border-radius:50%;border:2px solid #e24b55;box-shadow:0 0 18px #e24b5544}.intercomLabel{position:absolute;left:19%;right:19%;bottom:13%;height:48px;border:1px solid #778690;background:#dfe5e7;color:#182028;font-weight:800;letter-spacing:.08em;border-radius:6px;cursor:pointer}.intercomTip{position:absolute;left:50%;bottom:3%;translate:-50% 0;width:90%;text-align:center;font-size:11px;letter-spacing:.12em;color:#a8bac7;text-transform:uppercase}.hotspot{transition:.2s}.hotspot:hover,.hotspot:focus{filter:brightness(1.28);box-shadow:0 0 0 2px #e24b5555,0 0 30px #e24b5522}.adminSearchResult{padding:12px;border-bottom:1px solid var(--line)}
@media(max-width:760px){.utilityGrid{grid-template-columns:1fr}.callbackForm{display:grid;grid-template-columns:1fr}.interactiveIntercom{width:min(260px,84%)}}


/* v20 — Seasonal atmosphere engine.
   Seasonal profiles temporarily override the normal Dark/Graphite/Light-graphite
   atmosphere while preserving the site's technical identity. */
:root{
  --season-strength:.72;
}
html[data-season-strength="soft"], body.season-strength-soft{--season-strength:.42}
html[data-season-strength="normal"], body.season-strength-normal{--season-strength:.72}
html[data-season-strength="strong"], body.season-strength-strong{--season-strength:1}

/* A separate fixed atmosphere layer prevents the holiday treatment from
   interfering with content layout or the normal theme selector. */
body[class*="season-"]::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:var(--season-strength);
  background-repeat:no-repeat;
  background-size:100% 100%,100% 100%,100% 100%;
}

/* Hungarian national holidays — visible tricolour light fields, still technical. */
body.season-mar15::before,
body.season-aug20::before,
body.season-oct23::before,
body.season-national::before{
  background:
    radial-gradient(ellipse at 6% 14%,rgba(206,35,55,.32),transparent 31%),
    radial-gradient(ellipse at 50% 7%,rgba(245,245,240,.13),transparent 27%),
    radial-gradient(ellipse at 94% 16%,rgba(32,135,75,.27),transparent 31%),
    linear-gradient(180deg,rgba(206,35,55,.055),transparent 24%,rgba(32,135,75,.04) 82%,transparent);
}
body.season-mar15,
body.season-aug20,
body.season-oct23,
body.season-national{
  --bg:#151a1d;
  --surface:#1c2226;
  --panel:#20272b;
}

/* Christmas — warm graphite/burgundy atmosphere with restrained gold light. */
body.season-christmas::before,
body.season-xmas::before{
  background:
    radial-gradient(ellipse at 12% 7%,rgba(146,20,35,.34),transparent 34%),
    radial-gradient(ellipse at 88% 12%,rgba(205,157,73,.22),transparent 31%),
    radial-gradient(circle at 68% 62%,rgba(151,28,35,.12),transparent 24%),
    linear-gradient(145deg,rgba(88,12,24,.13),transparent 42%,rgba(174,128,55,.07));
}
body.season-christmas,
body.season-xmas{
  --bg:#171416;
  --surface:#211a1d;
  --panel:#272023;
}

/* Easter — lighter graphite with fresh cream/green light. */
body.season-easter::before{
  background:
    radial-gradient(ellipse at 10% 10%,rgba(111,165,111,.27),transparent 34%),
    radial-gradient(ellipse at 87% 8%,rgba(235,218,174,.19),transparent 31%),
    radial-gradient(circle at 55% 70%,rgba(132,177,135,.10),transparent 27%),
    linear-gradient(160deg,rgba(220,211,174,.055),transparent 45%,rgba(78,136,91,.065));
}
body.season-easter{
  --bg:#181d1b;
  --surface:#202622;
  --panel:#252c27;
}

/* New year — colder steel graphite, silver highlights, red identity retained. */
body.season-newyear::before,
body.season-nye::before{
  background:
    radial-gradient(ellipse at 15% 8%,rgba(205,215,224,.23),transparent 31%),
    radial-gradient(ellipse at 88% 11%,rgba(199,43,54,.20),transparent 30%),
    radial-gradient(circle at 56% 62%,rgba(132,151,167,.12),transparent 25%),
    linear-gradient(145deg,rgba(192,207,220,.06),transparent 43%,rgba(170,27,40,.055));
}
body.season-newyear,
body.season-nye{
  --bg:#14191e;
  --surface:#1c2329;
  --panel:#222a31;
}

/* v21 final feature pass */
.hpField{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.quickStartGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quickStartCard{position:relative;min-height:235px;padding:22px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border-radius:18px;overflow:hidden;color:var(--text);transition:.22s ease}.quickStartCard:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,var(--red,#d52b32),transparent 80%);opacity:.72}.quickStartCard:hover{transform:translateY(-3px);border-color:rgba(213,43,50,.4);background:linear-gradient(145deg,rgba(213,43,50,.07),rgba(255,255,255,.018))}.quickStartCard h3{font-size:1.25rem;margin:34px 0 8px}.quickStartCard p{color:var(--muted);min-height:56px}.quickStartCard b{font-size:.82rem;color:#f06b70}.quickCode{font-size:.72rem;letter-spacing:.13em;color:var(--muted)}.quickPulse{position:absolute;right:20px;top:20px;width:8px;height:8px;border-radius:50%;background:#d52b32;box-shadow:0 0 0 5px rgba(213,43,50,.08),0 0 18px rgba(213,43,50,.28)}
.slotStatus{font-size:.78rem;line-height:1.35;margin-top:7px;min-height:1em}.slotStatus.free{color:#82c99a}.slotStatus.conflict,.conflictText{color:#ff9d68}.conflictBadge{border-color:rgba(255,157,104,.3)!important;color:#ffb186!important}.leadEditForm{display:grid;gap:12px;margin-top:16px}
.videoGrid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:30px;align-items:center}.videoFrame{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#080b0e;box-shadow:0 20px 55px rgba(0,0,0,.22)}.videoFrame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.calendarNav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.adminCalendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calHead{text-align:center;color:var(--muted);font-size:.78rem;padding:8px}.calDay{min-height:130px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--panel)}.calDay.empty{opacity:.25}.calDay.today{border-color:rgba(213,43,50,.55);box-shadow:inset 0 0 0 1px rgba(213,43,50,.15)}.calDay>b{display:block;font-size:.82rem;margin-bottom:6px}.calEvent{display:block;position:relative;padding:7px;margin-top:5px;border-radius:8px;background:rgba(72,129,101,.14);border:1px solid rgba(72,129,101,.22);font-size:.72rem;color:var(--text)}.calEvent span,.calEvent small{display:block}.calEvent small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calEvent.collision{background:rgba(213,84,43,.13);border-color:rgba(255,157,104,.3)}.calEvent em{position:absolute;right:5px;top:5px;font-style:normal}
.statusGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.statusCheck{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.statusCheck>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:800}.statusCheck.ok>span{background:rgba(64,150,95,.16);color:#89d19f}.statusCheck.warn>span{background:rgba(213,84,43,.16);color:#ffab78}.statusCheck small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:980px){.quickStartGrid{grid-template-columns:repeat(2,1fr)}.videoGrid{grid-template-columns:1fr}.adminCalendar{gap:4px}.calDay{min-height:100px;padding:6px}.calEvent{padding:5px;font-size:.68rem}}
@media(max-width:600px){.quickStartGrid{grid-template-columns:1fr}.quickStartCard{min-height:175px}.adminCalendar{display:block}.calHead,.calDay.empty{display:none}.calDay{min-height:auto;margin-bottom:8px}.calDay>b:before{content:'Nap: '}.statusGrid{grid-template-columns:1fr}}

/* v23 — mobile hero composition and contact/provider refinements */
.diagActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.providerCard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:36px;align-items:start}.providerCard h2{margin:14px 0 4px}.providerRole{margin:0 0 18px;color:var(--accent2);font-weight:750}.providerAbout{max-width:700px;line-height:1.65}.providerMeta{display:grid;gap:1px;border:1px solid var(--line);background:var(--line);border-radius:12px;overflow:hidden}.providerMeta>div{background:var(--panel);padding:15px 17px;display:flex;flex-direction:column;gap:5px}.providerMeta span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.providerMeta strong{font-size:.94rem;overflow-wrap:anywhere}
@media(max-width:700px){
 .heroVisual{min-height:230px!important;height:auto;aspect-ratio:16/10;background:linear-gradient(145deg,#141a20,#0b0f14)!important;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
 .heroMedia{object-fit:contain!important;object-position:var(--focus-x,50%) var(--focus-y,50%)!important;transform:none!important;padding:8px;filter:brightness(.88) contrast(1.04) saturate(.88)!important}
 .heroVisual:before{background:linear-gradient(180deg,rgba(10,14,18,.04),rgba(8,11,15,.30))!important;box-shadow:inset 0 0 55px rgba(0,0,0,.25)!important}
 .heroVisual:after{left:16px!important;bottom:13px!important;font-size:.52rem!important}
 .providerCard{grid-template-columns:1fr;gap:22px}.diagActions{flex-direction:column}.diagActions .btn{width:100%;text-align:center}
}




/* v27 — authoritative mobile navigation styles */
@media (max-width:960px) {
  .mobileToggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    z-index: 100001;
    pointer-events: auto !important;
  }

  .menu {
    display: none !important;
  }

  .menu.open {
    display: flex !important;
    position: fixed !important;
    top: var(--mobile-menu-top, 72px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - var(--mobile-menu-top, 72px) - 12px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px !important;
    background: rgba(10,15,22,.985) !important;
    border: 1px solid rgba(120,169,216,.25) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.62) !important;
    backdrop-filter: blur(22px) saturate(135%);
    z-index: 100000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .menu.open a {
    display: flex !important;
    width: 100%;
    min-height: 44px;
    align-items: center;
    box-sizing: border-box;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }
}

@media (min-width:961px) {
  .mobileToggle {
    display: none !important;
  }

  .menu {
    display: flex !important;
  }
}


/* v29 — advertisement carousel is explicitly visible on desktop and mobile */
.adSection{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible;
}
.adRotator{
  position:relative;
  width:100%;
  min-height:160px;
}
.adViewport{position:relative;width:100%}
.adSlide{display:none !important;width:100%;box-sizing:border-box}
.adSlide.active{display:grid !important}
.adControls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:14px;
}
.adArrow{
  width:42px;
  height:38px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(12,18,26,.88);
  color:#fff;
  cursor:pointer;
  font-size:1.55rem;
  line-height:1;
  transition:.18s ease;
}
.adArrow:hover,.adArrow:focus-visible{
  border-color:rgba(229,72,77,.58);
  background:rgba(229,72,77,.09);
  transform:translateY(-1px);
}
.adDots{margin-top:0}
@media (max-width:700px){
  .adControls{justify-content:space-between}
  .adArrow{width:46px;height:42px}
}

/* Popup must remain above every site layer */
.promoPopup{z-index:200000 !important}


/* v31 — service showcase, neutral class names to avoid desktop ad-block rules */
.servicePromoSection{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}
.servicePromoRotator{position:relative;width:100%;min-height:160px}
.servicePromoViewport{position:relative;width:100%}
.servicePromoSlide{
  display:none !important;
  width:100%;
  box-sizing:border-box;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid var(--line);
  background:linear-gradient(120deg,#0f151d,#111b27);
  border-radius:12px;
  padding:22px;
  position:relative;
  overflow:hidden;
  min-height:160px;
}
.servicePromoSlide.active{
  display:grid !important;
  grid-template-columns:1fr auto;
  animation:adIn .35s ease both;
}
.servicePromoSlide.hasImage{min-height:210px}
.servicePromoMedia{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.6) saturate(.78) contrast(1.06)
}
.servicePromoSlide.hasImage:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,11,16,.94),rgba(7,11,16,.58) 52%,rgba(7,11,16,.18));
  z-index:1
}
.servicePromoSlide>*:not(.servicePromoMedia){position:relative;z-index:2}
.servicePromoControls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}
.servicePromoDots{display:flex;justify-content:center;gap:8px}
.servicePromoDot{
  width:28px;height:4px;border:0;border-radius:99px;background:rgba(255,255,255,.12);
  padding:0;cursor:pointer
}
.servicePromoDot.active{background:linear-gradient(90deg,var(--service-red),var(--accent2))}
.servicePromoArrow{
  width:42px;height:38px;border-radius:10px;border:1px solid var(--line);
  background:rgba(12,18,26,.88);color:#fff;cursor:pointer;font-size:1.55rem;line-height:1
}
.servicePromoArrow:hover,.servicePromoArrow:focus-visible{
  border-color:rgba(229,72,77,.58);background:rgba(229,72,77,.09)
}

/* v31 — tablet/mobile content hierarchy */
@media (max-width:960px){
  .sectionHead{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:16px !important;
    margin-bottom:22px !important;
  }
  .sectionHead>div{width:100%;min-width:0}
  .sectionHead h2{
    font-size:clamp(1.75rem,6.6vw,2.65rem) !important;
    line-height:1.03 !important;
    overflow-wrap:anywhere;
  }
  .sectionHead>.btn,.sectionHead>.actions{
    margin:0 !important;
    position:static !important;
  }
  .blogGrid{gap:12px}
  .blogCard{padding:20px !important}
  .blogCard h3{font-size:1.12rem;line-height:1.22}
  .blogCard p{font-size:.92rem;line-height:1.5}
  .servicePromoSlide.active{grid-template-columns:1fr !important;gap:14px}
  .servicePromoSlide .btn{justify-self:start}
}

@media (max-width:640px){
  .wrap{width:calc(100% - 28px) !important}
  .section{padding:36px 0 !important}
  .sectionHead{padding-left:12px !important}
  .sectionHead h2{font-size:clamp(1.6rem,8vw,2.12rem) !important}
  .blogGrid{grid-template-columns:1fr !important}
  .blogCard{min-height:0}
  .servicePromoSection{padding-top:30px !important;padding-bottom:30px !important}
  .servicePromoSlide{padding:18px !important;min-height:145px}
  .servicePromoControls{justify-content:space-between}
  .servicePromoArrow{width:46px;height:42px}
}

/* v31 — popup on compact phones */
.promoPopup{
  position:fixed !important;
  inset:0 !important;
  z-index:250000 !important;
  overflow:auto;
  padding:16px;
}
.promoPopup.show{display:grid !important;place-items:center !important}
@media(max-width:640px){
  .promoPopup{padding:10px !important}
  .promoCard{
    width:min(100%,520px) !important;
    max-height:calc(100dvh - 20px);
    overflow:auto;
    padding:20px !important;
  }
  .promoImage{max-height:180px;overflow:hidden}
  .promoImage img{width:100%;height:180px;object-fit:cover}
}


/* v32 — popup/cookie visibility is class-driven only */
.promoPopup{display:none !important}
.promoPopup.show{display:grid !important}
.cookieBanner{display:none !important}
.cookieBanner.show{display:flex !important}


/* v33 — popup image reliability */
.promoImage{
  width:100%;
  margin:0 0 16px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:#0a1017;
}
.promoImage img{
  display:block;
  width:100%;
  height:auto;
  max-height:280px;
  object-fit:cover;
}
.popupAdminPreview{
  display:block;
  width:min(100%,520px);
  max-height:280px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  margin:8px 0;
}


/* ==========================================================
   V37 — FULL DESIGN ENGINE
   Four complete themes, one content/data model.
   ========================================================== */

body.theme-technical-light,
body.theme-clean-white,
body.theme-steel,
body.theme-graphite-pro{
  transition:background-color .22s ease,color .22s ease;
}

/* GRAPHITE PRO — the dark legacy look, refined */
body.theme-graphite-pro{
  --bg:#0b0f14;--bg2:#11171e;--panel:#151b23;--panel2:#1b232d;
  --text:#f4f6f8;--muted:#a8b2bd;--line:rgba(171,188,204,.16);--line2:rgba(171,188,204,.29);
  --accent:#d7333b;--accent2:#ff6a70;--service-red:#d7333b;
  --shadow:0 28px 80px rgba(0,0,0,.34);
  background:
    radial-gradient(circle at 84% -8%,rgba(137,159,179,.13),transparent 32%),
    radial-gradient(circle at 13% 26%,rgba(215,51,59,.055),transparent 25%),
    linear-gradient(180deg,#0b0f14,#11171e 48%,#0b0f14);
}

/* TECHNICAL LIGHT — recommended default */
body.theme-technical-light{
  --bg:#eef1f4;--bg2:#f6f7f8;--panel:#ffffff;--panel2:#f8f9fa;
  --text:#182028;--muted:#68737e;--line:rgba(41,55,68,.13);--line2:rgba(41,55,68,.22);
  --accent:#c9242d;--accent2:#d83a42;--service-red:#c9242d;
  --ok:#18895a;--warn:#9b6700;--danger:#bd2731;
  --shadow:0 24px 65px rgba(37,48,58,.11);
  background:
    radial-gradient(circle at 84% 0%,rgba(148,166,183,.18),transparent 29%),
    radial-gradient(circle at 12% 23%,rgba(201,36,45,.055),transparent 24%),
    linear-gradient(180deg,#f7f8f9 0%,#edf1f4 48%,#f5f6f7 100%);
}

/* STEEL — cool industrial */
body.theme-steel{
  --bg:#dce3e8;--bg2:#e8edf1;--panel:#f4f7f9;--panel2:#eaf0f4;
  --text:#17232d;--muted:#5f6f7b;--line:rgba(38,61,79,.15);--line2:rgba(38,61,79,.25);
  --accent:#b6252e;--accent2:#c9363f;--service-red:#b6252e;
  --shadow:0 25px 70px rgba(31,51,67,.14);
  background:
    radial-gradient(circle at 82% -5%,rgba(92,126,152,.22),transparent 31%),
    linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),
    linear-gradient(180deg,#eaf0f4,#dce4e9 55%,#e8edf0);
}

/* CLEAN WHITE — minimal bright */
body.theme-clean-white{
  --bg:#fafafa;--bg2:#ffffff;--panel:#ffffff;--panel2:#fbfbfb;
  --text:#15191d;--muted:#697078;--line:rgba(17,25,32,.105);--line2:rgba(17,25,32,.18);
  --accent:#cb252e;--accent2:#df3a42;--service-red:#cb252e;
  --shadow:0 20px 52px rgba(29,35,40,.075);
  background:
    radial-gradient(circle at 10% 20%,rgba(203,37,46,.035),transparent 22%),
    linear-gradient(180deg,#fff 0%,#f8f9fa 55%,#fff 100%);
}

/* Shared bright-theme surfaces */
body.theme-technical-light,
body.theme-steel,
body.theme-clean-white{
  color:var(--text);
}
body.theme-technical-light:before,
body.theme-steel:before,
body.theme-clean-white:before{
  opacity:.38;
  background-image:
    linear-gradient(rgba(37,54,68,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,54,68,.028) 1px,transparent 1px);
}

/* Header remains dark to preserve the technical identity */
body.theme-technical-light .topbar,
body.theme-steel .topbar,
body.theme-clean-white .topbar{
  background:rgba(18,23,29,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 30px rgba(26,34,41,.10);
}
body.theme-technical-light .topbar .brand,
body.theme-steel .topbar .brand,
body.theme-clean-white .topbar .brand{color:#f5f7f9}
body.theme-technical-light .topbar .menu a,
body.theme-steel .topbar .menu a,
body.theme-clean-white .topbar .menu a{color:#b9c1c9}
body.theme-technical-light .topbar .menu a:hover,
body.theme-steel .topbar .menu a:hover,
body.theme-clean-white .topbar .menu a:hover{
  color:#fff;background:rgba(255,255,255,.065)
}
body.theme-technical-light .brandmark,
body.theme-steel .brandmark,
body.theme-clean-white .brandmark,
body.theme-graphite-pro .brandmark{
  background:linear-gradient(145deg,#f14b53,#a91620);
  box-shadow:0 0 0 1px rgba(255,255,255,.13),0 0 28px rgba(207,37,46,.18)
}

/* Typography and links */
body.theme-technical-light .lead,
body.theme-steel .lead,
body.theme-clean-white .lead{color:#5d6873}
body.theme-technical-light .eyebrow,
body.theme-steel .eyebrow,
body.theme-clean-white .eyebrow{color:var(--accent)}
body.theme-technical-light .eyebrow:before,
body.theme-steel .eyebrow:before,
body.theme-clean-white .eyebrow:before{background:linear-gradient(90deg,var(--accent),transparent)}

/* Buttons */
body.theme-technical-light .btn,
body.theme-steel .btn,
body.theme-clean-white .btn{
  background:rgba(255,255,255,.86);
  color:#202830;
  border-color:var(--line2);
  box-shadow:0 8px 20px rgba(35,47,58,.05);
}
body.theme-technical-light .btn:hover,
body.theme-steel .btn:hover,
body.theme-clean-white .btn:hover{
  background:#fff;border-color:rgba(201,36,45,.35)
}
body.theme-technical-light .btn.primary,
body.theme-steel .btn.primary,
body.theme-clean-white .btn.primary,
body.theme-graphite-pro .btn.primary,
body.theme-technical-light .navcta,
body.theme-steel .navcta,
body.theme-clean-white .navcta,
body.theme-graphite-pro .navcta{
  background:linear-gradient(180deg,#df3d45,#ba1d27)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 14px 32px rgba(190,30,40,.18)
}

/* General panels/cards */
body.theme-technical-light .card,
body.theme-technical-light .panel,
body.theme-technical-light .blogCard,
body.theme-steel .card,
body.theme-steel .panel,
body.theme-steel .blogCard,
body.theme-clean-white .card,
body.theme-clean-white .panel,
body.theme-clean-white .blogCard{
  background:linear-gradient(180deg,var(--panel),var(--panel2));
  border-color:var(--line);
  color:var(--text);
  box-shadow:0 12px 34px rgba(31,43,54,.055);
}
body.theme-clean-white .card,
body.theme-clean-white .panel,
body.theme-clean-white .blogCard{
  box-shadow:0 8px 30px rgba(31,38,44,.045)
}
body.theme-technical-light .card:hover,
body.theme-steel .card:hover,
body.theme-clean-white .card:hover,
body.theme-technical-light .blogCard:hover,
body.theme-steel .blogCard:hover,
body.theme-clean-white .blogCard:hover{
  border-color:rgba(201,36,45,.28);
  box-shadow:0 20px 45px rgba(31,43,54,.09)
}
body.theme-technical-light .card:after,
body.theme-steel .card:after,
body.theme-clean-white .card:after{border-color:rgba(201,36,45,.10)}
body.theme-technical-light .card .num,
body.theme-steel .card .num,
body.theme-clean-white .card .num,
body.theme-technical-light .blogCard small,
body.theme-steel .blogCard small,
body.theme-clean-white .blogCard small{color:var(--accent)}

/* Forms / diagnostic */
body.theme-technical-light .choice,
body.theme-steel .choice,
body.theme-clean-white .choice{
  background:#fff;color:#25303a;border-color:var(--line)
}
body.theme-steel .choice{background:#edf2f5}
body.theme-technical-light .choice:hover,
body.theme-technical-light .choice.active,
body.theme-steel .choice:hover,
body.theme-steel .choice.active,
body.theme-clean-white .choice:hover,
body.theme-clean-white .choice.active{
  background:#fff6f6;border-color:rgba(201,36,45,.38);
  box-shadow:inset 3px 0 0 rgba(201,36,45,.75)
}
body.theme-technical-light .result,
body.theme-steel .result,
body.theme-clean-white .result{
  background:rgba(201,36,45,.045);
  border-color:rgba(201,36,45,.18)
}
body.theme-technical-light .field label,
body.theme-steel .field label,
body.theme-clean-white .field label{color:#5e6974}
body.theme-technical-light .field input,
body.theme-technical-light .field textarea,
body.theme-technical-light .field select,
body.theme-steel .field input,
body.theme-steel .field textarea,
body.theme-steel .field select,
body.theme-clean-white .field input,
body.theme-clean-white .field textarea,
body.theme-clean-white .field select{
  background:#fff;color:#1d252c;border-color:var(--line2)
}
body.theme-steel .field input,
body.theme-steel .field textarea,
body.theme-steel .field select{background:#f7f9fb}
body.theme-technical-light .field input:focus,
body.theme-technical-light .field textarea:focus,
body.theme-technical-light .field select:focus,
body.theme-steel .field input:focus,
body.theme-steel .field textarea:focus,
body.theme-steel .field select:focus,
body.theme-clean-white .field input:focus,
body.theme-clean-white .field textarea:focus,
body.theme-clean-white .field select:focus{
  border-color:rgba(201,36,45,.45);
  box-shadow:0 0 0 3px rgba(201,36,45,.065)
}

/* Contact / stats */
body.theme-technical-light .contactBtn,
body.theme-steel .contactBtn,
body.theme-clean-white .contactBtn{
  background:var(--panel);color:#28313a;border-color:var(--line);
  box-shadow:0 8px 22px rgba(34,46,57,.045)
}
body.theme-technical-light .contactBtn:hover,
body.theme-steel .contactBtn:hover,
body.theme-clean-white .contactBtn:hover{
  background:#fff;border-color:rgba(201,36,45,.34)
}
body.theme-technical-light .stats,
body.theme-steel .stats,
body.theme-clean-white .stats{background:var(--line);border-color:var(--line)}
body.theme-technical-light .stat,
body.theme-steel .stat,
body.theme-clean-white .stat{background:var(--panel);color:var(--text)}

/* Service promo / ads */
body.theme-technical-light .servicePromoSlide,
body.theme-steel .servicePromoSlide,
body.theme-clean-white .servicePromoSlide{
  background:linear-gradient(120deg,#fff,#f4f6f8);
  color:var(--text);border-color:var(--line);
  box-shadow:0 14px 35px rgba(34,47,58,.06)
}
body.theme-steel .servicePromoSlide{background:linear-gradient(120deg,#f4f7f9,#e8eef2)}
body.theme-technical-light .servicePromoSlide.hasImage,
body.theme-steel .servicePromoSlide.hasImage,
body.theme-clean-white .servicePromoSlide.hasImage{color:#fff}
body.theme-technical-light .servicePromoSlide.hasImage:before,
body.theme-steel .servicePromoSlide.hasImage:before,
body.theme-clean-white .servicePromoSlide.hasImage:before{
  background:linear-gradient(90deg,rgba(14,19,24,.91),rgba(14,19,24,.54) 55%,rgba(14,19,24,.12))
}
body.theme-technical-light .servicePromoArrow,
body.theme-steel .servicePromoArrow,
body.theme-clean-white .servicePromoArrow{
  background:#fff;color:#252d34;border-color:var(--line2)
}

/* Hero: preserve photo drama but integrate into light canvas */
body.theme-technical-light .heroVisual,
body.theme-steel .heroVisual,
body.theme-clean-white .heroVisual{
  border-color:rgba(46,62,76,.14);
  box-shadow:0 28px 65px rgba(34,46,58,.15);
}
body.theme-technical-light .heroVisual:before,
body.theme-clean-white .heroVisual:before{
  background:linear-gradient(90deg,rgba(18,24,30,var(--fade,.62)) 0%,rgba(18,24,30,.10) 45%,rgba(18,24,30,.02) 100%),
             linear-gradient(180deg,rgba(10,15,20,.02),rgba(10,15,20,.35))
}
body.theme-steel .heroVisual:before{
  background:linear-gradient(90deg,rgba(21,33,42,var(--fade,.64)) 0%,rgba(21,33,42,.12) 45%,rgba(21,33,42,.02) 100%),
             linear-gradient(180deg,rgba(13,22,29,.03),rgba(13,22,29,.38))
}

/* Footer */
body.theme-technical-light .footer,
body.theme-steel .footer,
body.theme-clean-white .footer{
  border-color:var(--line);color:#68737d
}

/* Cookie / popup retain strong contrast and legibility */
body.theme-technical-light .cookie,
body.theme-steel .cookie,
body.theme-clean-white .cookie{
  background:rgba(255,255,255,.97);
  color:#20272e;
  border-color:var(--line2);
  box-shadow:0 22px 60px rgba(30,40,50,.16)
}
body.theme-technical-light .promoCard,
body.theme-steel .promoCard,
body.theme-clean-white .promoCard{
  background:#fff;color:#1d252c;border-color:rgba(42,55,66,.14);
  box-shadow:0 30px 90px rgba(20,29,36,.20)
}

/* Generic accordion/details and tables, where present */
body.theme-technical-light details,
body.theme-steel details,
body.theme-clean-white details{
  border-color:var(--line)
}
body.theme-technical-light table,
body.theme-steel table,
body.theme-clean-white table{color:var(--text)}

/* Seasonal overlays stay independent from the selected base design */
body.theme-technical-light[class*="season-"]::before,
body.theme-steel[class*="season-"]::before,
body.theme-clean-white[class*="season-"]::before{
  mix-blend-mode:multiply;
}

/* Theme chooser previews */
.themeChooserV37{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important
}
.themeOptionV37{display:block!important}
.themeOptionV37 .themeSwatch{
  display:block!important;
  height:100%;
  padding:14px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.018)!important;
  cursor:pointer!important
}
.themeOptionV37 input:checked + .themeSwatch{
  border-color:rgba(216,48,58,.72)!important;
  box-shadow:0 0 0 3px rgba(216,48,58,.10)!important
}
.themeSample{
  display:block;position:relative;height:145px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(128,145,160,.22);margin-bottom:12px
}
.themeSample .sampleHeader{position:absolute;left:0;right:0;top:0;height:25px;background:#151b22}
.themeSample .sampleHero{position:absolute;left:10px;top:38px;width:48%;height:47px;border-radius:7px}
.themeSample .sampleCard{position:absolute;bottom:12px;height:31px;border-radius:6px}
.themeSample .sampleCard.one{left:10px;width:39%}
.themeSample .sampleCard.two{left:53%;right:10px}
.themeSample .sampleAccent{position:absolute;right:13px;top:9px;width:34px;height:5px;border-radius:8px;background:#cf2831}
.sampleTechnicalLight{background:#eef1f4}
.sampleTechnicalLight .sampleHero{background:linear-gradient(135deg,#d8dee3,#fff)}
.sampleTechnicalLight .sampleCard{background:#fff;box-shadow:0 3px 9px rgba(0,0,0,.08)}
.sampleGraphitePro{background:#0d1218}
.sampleGraphitePro .sampleHero{background:linear-gradient(135deg,#1e2934,#121820)}
.sampleGraphitePro .sampleCard{background:#18212a}
.sampleSteel{background:#dce4e9}
.sampleSteel .sampleHeader{background:#202b34}
.sampleSteel .sampleHero{background:linear-gradient(135deg,#b8c7d1,#edf2f5)}
.sampleSteel .sampleCard{background:#f3f6f8}
.sampleCleanWhite{background:#fff}
.sampleCleanWhite .sampleHeader{background:#161b20}
.sampleCleanWhite .sampleHero{background:linear-gradient(135deg,#f1f2f3,#fff);border:1px solid #e3e5e7}
.sampleCleanWhite .sampleCard{background:#fff;border:1px solid #e4e6e8}
.themeMeta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px}
.themeMeta b{font-size:1rem}
.themeMeta em{font-style:normal;font-size:.69rem;color:#ff7b81;background:rgba(216,48,58,.08);padding:4px 7px;border-radius:999px}
.themeOptionV37 small{display:block;margin-top:7px;line-height:1.45;color:#98a4b1}

@media(max-width:760px){
  .themeChooserV37{grid-template-columns:1fr!important}
}

/* Mobile navigation in light themes remains intentionally dark */
@media(max-width:960px){
  body.theme-technical-light .menu.open,
  body.theme-steel .menu.open,
  body.theme-clean-white .menu.open{
    background:rgba(15,20,26,.985)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.10)!important
  }
  body.theme-technical-light .menu.open a,
  body.theme-steel .menu.open a,
  body.theme-clean-white .menu.open a{color:#d4dbe1!important}
}


/* ==========================================================
   V39 — EXACT IDENTIFIER CARD LIGHT-THEME FIX
   ========================================================== */

/* The identifier page uses identifierReferences / identifierInfo blocks,
   not the generic card classes. */
body.theme-technical-light .identifierReferences,
body.theme-steel .identifierReferences,
body.theme-clean-white .identifierReferences{
  color:var(--text) !important;
}

body.theme-technical-light .identifierReferences > *,
body.theme-steel .identifierReferences > *,
body.theme-clean-white .identifierReferences > *{
  background:linear-gradient(180deg,var(--panel),var(--panel2)) !important;
  color:var(--text) !important;
  border-color:var(--line2) !important;
  box-shadow:0 12px 30px rgba(31,43,54,.07) !important;
}

body.theme-technical-light .identifierInfo,
body.theme-steel .identifierInfo,
body.theme-clean-white .identifierInfo{
  background:linear-gradient(180deg,var(--panel),var(--panel2)) !important;
  color:var(--text) !important;
  border-color:var(--line2) !important;
}

body.theme-technical-light .identifierReferences h1,
body.theme-technical-light .identifierReferences h2,
body.theme-technical-light .identifierReferences h3,
body.theme-technical-light .identifierReferences h4,
body.theme-steel .identifierReferences h1,
body.theme-steel .identifierReferences h2,
body.theme-steel .identifierReferences h3,
body.theme-steel .identifierReferences h4,
body.theme-clean-white .identifierReferences h1,
body.theme-clean-white .identifierReferences h2,
body.theme-clean-white .identifierReferences h3,
body.theme-clean-white .identifierReferences h4,
body.theme-technical-light .identifierInfo h1,
body.theme-technical-light .identifierInfo h2,
body.theme-technical-light .identifierInfo h3,
body.theme-steel .identifierInfo h1,
body.theme-steel .identifierInfo h2,
body.theme-steel .identifierInfo h3,
body.theme-clean-white .identifierInfo h1,
body.theme-clean-white .identifierInfo h2,
body.theme-clean-white .identifierInfo h3{
  color:#17212a !important;
}

body.theme-technical-light .identifierReferences p,
body.theme-steel .identifierReferences p,
body.theme-clean-white .identifierReferences p,
body.theme-technical-light .identifierInfo p,
body.theme-steel .identifierInfo p,
body.theme-clean-white .identifierInfo p{
  color:#5f6d78 !important;
}

/* Exact fallback for the actual reference tiles inside identifierReferences */
body.theme-technical-light .identifierReferences article,
body.theme-technical-light .identifierReferences .referenceCard,
body.theme-technical-light .identifierReferences .referenceItem,
body.theme-steel .identifierReferences article,
body.theme-steel .identifierReferences .referenceCard,
body.theme-steel .identifierReferences .referenceItem,
body.theme-clean-white .identifierReferences article,
body.theme-clean-white .identifierReferences .referenceCard,
body.theme-clean-white .identifierReferences .referenceItem{
  background:#fff !important;
  color:#17212a !important;
  border-color:rgba(41,55,68,.16) !important;
}

body.theme-steel .identifierReferences article,
body.theme-steel .identifierReferences .referenceCard,
body.theme-steel .identifierReferences .referenceItem{
  background:#f3f6f8 !important;
}

/* Preserve image area; only textual lower content becomes light */
body.theme-technical-light .identifierReferences img,
body.theme-steel .identifierReferences img,
body.theme-clean-white .identifierReferences img{
  background:#eef1f4;
}

/* FAQ readability from v38 retained */
body.theme-technical-light .faqItem,
body.theme-steel .faqItem,
body.theme-clean-white .faqItem{
  background:linear-gradient(180deg,var(--panel),var(--panel2)) !important;
  color:var(--text) !important;
  border-color:var(--line2) !important;
  box-shadow:0 10px 28px rgba(31,43,54,.055) !important;
}
body.theme-technical-light .faqItem summary,
body.theme-steel .faqItem summary,
body.theme-clean-white .faqItem summary{
  color:var(--text) !important;
}
body.theme-technical-light .faqItem p,
body.theme-steel .faqItem p,
body.theme-clean-white .faqItem p,
body.theme-technical-light .faqAnswer,
body.theme-steel .faqAnswer,
body.theme-clean-white .faqAnswer{
  color:var(--muted) !important;
}


/* ==========================================================
   V40 — FAQ VISUAL HIERARCHY
   Kérdés és válasz egyértelmű, külön vizuális szinteken.
   ========================================================== */

.faqWrap{
  display:grid;
  gap:14px;
}

.faqItem{
  overflow:hidden;
  border-radius:16px;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.faqItem:hover{
  transform:translateY(-1px);
}

.faqItem > summary{
  position:relative;
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:15px 18px 15px 16px !important;
  cursor:pointer;
  list-style:none;
  border-bottom:1px solid transparent;
}

.faqItem > summary::-webkit-details-marker{
  display:none;
}

.faqItem[open] > summary{
  border-bottom-color:var(--line);
}

/* Existing number gets its own visual badge/rail */
.faqItem .faqIndex{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:10px;
  color:var(--accent) !important;
  background:rgba(201,36,45,.075);
  border:1px solid rgba(201,36,45,.18);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.10em;
}

/* Question = primary visual information */
.faqItem summary strong,
.faqItem summary b{
  display:block;
  font-size:1.03rem;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.015em;
}

/* Plus/minus lives in its own control chip */
.faqItem .faqPlus{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:9px;
  color:var(--accent) !important;
  border:1px solid rgba(201,36,45,.18);
  background:rgba(201,36,45,.055);
  font-size:1.15rem;
  line-height:1;
}

/* Answer is a separate inset panel, not just loose text */
.faqAnswer{
  position:relative;
  margin:0 16px 16px 84px !important;
  padding:18px 20px 18px 22px !important;
  border-radius:12px;
  border:1px solid var(--line);
  border-left:3px solid var(--accent) !important;
  background:rgba(127,143,158,.055);
  line-height:1.65;
}

.faqAnswer:before{
  content:"VÁLASZ";
  display:block;
  margin-bottom:8px;
  color:var(--accent);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.14em;
}

.faqAnswer p:first-child{margin-top:0}
.faqAnswer p:last-child{margin-bottom:0}

/* Light themes: stronger separation while staying premium */
body.theme-technical-light .faqItem,
body.theme-clean-white .faqItem{
  background:#fff !important;
  box-shadow:0 9px 26px rgba(31,43,54,.055) !important;
}
body.theme-steel .faqItem{
  background:#f3f6f8 !important;
}
body.theme-technical-light .faqAnswer,
body.theme-clean-white .faqAnswer{
  background:#f7f8f9 !important;
}
body.theme-steel .faqAnswer{
  background:#e8eef2 !important;
}

/* Graphite keeps the same hierarchy in dark form */
body.theme-graphite-pro .faqAnswer{
  background:rgba(255,255,255,.025);
  border-color:rgba(171,188,204,.14);
}

/* Phone layout */
@media(max-width:640px){
  .faqWrap{gap:10px}
  .faqItem > summary{
    grid-template-columns:42px minmax(0,1fr) 30px;
    gap:10px;
    min-height:66px;
    padding:12px 12px !important;
  }
  .faqItem .faqIndex{
    width:34px;height:34px;border-radius:9px;font-size:.67rem;
  }
  .faqItem summary strong,
  .faqItem summary b{
    font-size:.95rem;
    line-height:1.28;
  }
  .faqItem .faqPlus{
    width:28px;height:28px;border-radius:8px;
  }
  .faqAnswer{
    margin:0 12px 12px 54px !important;
    padding:15px 16px 15px 17px !important;
    font-size:.92rem;
    line-height:1.6;
  }
}


/* ==========================================================
   V41 — MOBILE HERO CLEANUP + PREMIUM PROMO CARD
   ========================================================== */

/* Mobile hero: remove the leftover dark technical frame/overlay.
   The uploaded image becomes the visual itself, not a picture inside a black box. */
@media (max-width:760px){
  .hero{
    padding-top:34px !important;
    padding-bottom:42px !important;
  }

  .heroGrid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .heroVisual{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    width:100% !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#eef2f5 !important;
    border:1px solid rgba(40,56,69,.14) !important;
    box-shadow:0 16px 38px rgba(31,43,54,.10) !important;
    isolation:auto !important;
  }

  body.theme-clean-white .heroVisual{background:#fff !important}
  body.theme-steel .heroVisual{background:#e6ecef !important}
  body.theme-graphite-pro .heroVisual{background:#121820 !important}

  .heroVisual:before,
  .heroVisual:after{
    display:none !important;
    content:none !important;
  }

  .heroMedia{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    filter:none !important;
    padding:8px !important;
    background:transparent !important;
  }

  /* if no custom image and the decorative device is used, keep it compact */
  .heroVisual .device{
    inset:28px !important;
    border-radius:20px !important;
    opacity:.92;
  }

  .blueGlow{display:none !important}
}

/* Slightly more photographic crop on very narrow phones if the uploaded
   image is a normal photo instead of a logo. */
@media (max-width:480px){
  .heroVisual{
    aspect-ratio:1.18/1 !important;
  }
  .heroMedia{
    padding:6px !important;
  }
}

/* PREMIUM PROMO / REKLÁM */
.servicePromoSection{
  position:relative;
}

.servicePromoRotator{
  position:relative;
  border-radius:24px;
}

.servicePromoViewport{
  border-radius:24px;
  overflow:hidden;
}

.servicePromoSlide{
  min-height:245px !important;
  padding:34px 36px !important;
  border-radius:24px !important;
  border:1px solid rgba(201,36,45,.16) !important;
  box-shadow:0 22px 58px rgba(28,39,49,.11) !important;
  isolation:isolate;
}

.servicePromoSlide:after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-95px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:1px solid rgba(201,36,45,.10);
  box-shadow:0 0 0 34px rgba(201,36,45,.025),
             0 0 0 68px rgba(201,36,45,.018);
  z-index:0;
  pointer-events:none;
}

.servicePromoSlide .eyebrow{
  color:var(--accent) !important;
  margin-bottom:8px;
}

.servicePromoSlide h3{
  font-size:clamp(1.65rem,3vw,2.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  margin:6px 0 12px !important;
  max-width:720px;
}

.servicePromoSlide p{
  font-size:1rem;
  line-height:1.55;
  max-width:720px;
}

.servicePromoSlide .btn{
  min-width:148px;
  justify-content:center;
  position:relative;
  z-index:3;
}

/* Image ad: stronger editorial look */
.servicePromoSlide.hasImage{
  min-height:310px !important;
}

.servicePromoSlide.hasImage .servicePromoMedia{
  filter:brightness(.68) saturate(.88) contrast(1.06) !important;
  transform:scale(1.015);
}

.servicePromoSlide.hasImage:before{
  background:
    linear-gradient(90deg,rgba(10,15,20,.94) 0%,rgba(10,15,20,.78) 38%,rgba(10,15,20,.28) 72%,rgba(10,15,20,.08) 100%) !important;
}

/* Controls become a compact premium rail */
.servicePromoControls{
  width:max-content;
  max-width:100%;
  margin:16px auto 0 !important;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(31,43,54,.065);
  backdrop-filter:blur(12px);
}

body.theme-graphite-pro .servicePromoControls{
  background:rgba(15,20,27,.88);
  border-color:rgba(171,188,204,.16);
}

.servicePromoArrow{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  font-size:1.25rem !important;
  box-shadow:none !important;
}

.servicePromoDots{
  align-items:center;
  gap:6px !important;
}

.servicePromoDot{
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  transition:width .2s ease, background .2s ease;
}

.servicePromoDot.active{
  width:24px !important;
  border-radius:999px !important;
}

/* Mobile promo: card becomes compact, image/CTA remain clean */
@media(max-width:760px){
  .servicePromoSlide{
    min-height:0 !important;
    padding:24px 22px !important;
    border-radius:18px !important;
    gap:18px !important;
  }

  .servicePromoSlide.hasImage{
    min-height:260px !important;
  }

  .servicePromoSlide h3{
    font-size:1.65rem !important;
    line-height:1.06 !important;
  }

  .servicePromoSlide p{
    font-size:.94rem !important;
  }

  .servicePromoSlide .btn{
    width:auto !important;
    min-width:0 !important;
    justify-self:start !important;
  }

  .servicePromoControls{
    margin-top:12px !important;
  }
}


/* ==========================================================
   V42 — PAGE HERO READABILITY + CONTACT SECTIONING
   ========================================================== */

/* The pale oversized ghost word behind inner-page titles was competing with
   the actual heading. Keep the technical motif, but make it background-only. */
body.theme-technical-light .pageHero:before,
body.theme-steel .pageHero:before,
body.theme-clean-white .pageHero:before{
  opacity:.035 !important;
  filter:none !important;
  color:#597082 !important;
  text-shadow:none !important;
}

body.theme-technical-light .pageHero,
body.theme-steel .pageHero,
body.theme-clean-white .pageHero{
  isolation:isolate;
}

body.theme-technical-light .pageHero .wrap,
body.theme-steel .pageHero .wrap,
body.theme-clean-white .pageHero .wrap{
  position:relative;
  z-index:2;
}

body.theme-technical-light .pageHero h1,
body.theme-steel .pageHero h1,
body.theme-clean-white .pageHero h1{
  color:#14212b !important;
  text-shadow:none !important;
}

body.theme-technical-light .pageHero .lead,
body.theme-steel .pageHero .lead,
body.theme-clean-white .pageHero .lead{
  color:#5f6d78 !important;
  max-width:820px;
}

/* On phones, remove the decorative ghost word altogether: clarity wins. */
@media(max-width:760px){
  .pageHero:before{
    display:none !important;
    content:none !important;
  }
  .pageHero{
    padding-top:38px !important;
    padding-bottom:44px !important;
  }
  .pageHero h1{
    font-size:clamp(2.8rem,13vw,4.5rem) !important;
    line-height:.92 !important;
    margin-bottom:22px !important;
  }
  .pageHero .lead{
    font-size:1rem !important;
    line-height:1.58 !important;
  }
}

/* CONTACT — visually separate identity, direct contact, and service details. */
.contactGrid{
  gap:12px !important;
}

body.theme-technical-light .contactBtn,
body.theme-steel .contactBtn,
body.theme-clean-white .contactBtn{
  min-height:96px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:16px !important;
  background:linear-gradient(180deg,#fff,#f7f9fa) !important;
  color:#1c2831 !important;
  box-shadow:0 10px 28px rgba(31,43,54,.055) !important;
}

body.theme-steel .contactBtn{
  background:linear-gradient(180deg,#f6f9fb,#eaf0f4) !important;
}

body.theme-technical-light .contactBtn:hover,
body.theme-steel .contactBtn:hover,
body.theme-clean-white .contactBtn:hover{
  border-color:rgba(201,36,45,.35) !important;
  box-shadow:0 15px 34px rgba(31,43,54,.09) !important;
}

/* Generic contact panels become clearly separated information sections. */
body.theme-technical-light [class*="contact"] .panel,
body.theme-steel [class*="contact"] .panel,
body.theme-clean-white [class*="contact"] .panel,
body.theme-technical-light .providerInfo,
body.theme-steel .providerInfo,
body.theme-clean-white .providerInfo,
body.theme-technical-light .providerCard,
body.theme-steel .providerCard,
body.theme-clean-white .providerCard{
  position:relative;
  background:linear-gradient(180deg,var(--panel),var(--panel2)) !important;
  border:1px solid var(--line2) !important;
  border-radius:18px !important;
  padding:24px !important;
  box-shadow:0 12px 32px rgba(31,43,54,.055) !important;
  color:var(--text) !important;
}

body.theme-technical-light [class*="contact"] .panel:before,
body.theme-steel [class*="contact"] .panel:before,
body.theme-clean-white [class*="contact"] .panel:before,
body.theme-technical-light .providerInfo:before,
body.theme-steel .providerInfo:before,
body.theme-clean-white .providerInfo:before,
body.theme-technical-light .providerCard:before,
body.theme-steel .providerCard:before,
body.theme-clean-white .providerCard:before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  bottom:20px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--accent),rgba(201,36,45,.14));
}

body.theme-technical-light [class*="contact"] h2,
body.theme-technical-light [class*="contact"] h3,
body.theme-steel [class*="contact"] h2,
body.theme-steel [class*="contact"] h3,
body.theme-clean-white [class*="contact"] h2,
body.theme-clean-white [class*="contact"] h3{
  color:#17232c !important;
}

body.theme-technical-light [class*="contact"] p,
body.theme-steel [class*="contact"] p,
body.theme-clean-white [class*="contact"] p,
body.theme-technical-light [class*="contact"] .muted,
body.theme-steel [class*="contact"] .muted,
body.theme-clean-white [class*="contact"] .muted{
  color:#64717c !important;
}

/* Make raw phone/e-mail values easier to scan and copy. */
body.theme-technical-light [class*="contact"] a[href^="tel:"],
body.theme-technical-light [class*="contact"] a[href^="mailto:"],
body.theme-steel [class*="contact"] a[href^="tel:"],
body.theme-steel [class*="contact"] a[href^="mailto:"],
body.theme-clean-white [class*="contact"] a[href^="tel:"],
body.theme-clean-white [class*="contact"] a[href^="mailto:"]{
  color:#17232c !important;
  font-weight:800;
}

/* Compact contact layout on mobile. */
@media(max-width:760px){
  .contactGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .contactBtn{
    min-height:82px !important;
    padding:14px 9px !important;
    font-size:.9rem !important;
  }
  body.theme-technical-light [class*="contact"] .panel,
  body.theme-steel [class*="contact"] .panel,
  body.theme-clean-white [class*="contact"] .panel,
  .providerInfo,.providerCard{
    padding:20px 18px !important;
    border-radius:15px !important;
  }
}


/* ==========================================================
   V43 — INNER PAGE TITLE + BOOKING INFO + MESSAGING ICONS
   ========================================================== */

/* The second line of the page title is real content, not ghost decoration. */
body.theme-technical-light .pageHero .accentWord,
body.theme-steel .pageHero .accentWord,
body.theme-clean-white .pageHero .accentWord{
  display:block;
  margin-top:10px;
  color:#778590 !important;
  font-size:.48em !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  text-shadow:none !important;
  opacity:1 !important;
  font-weight:720 !important;
}

body.theme-graphite-pro .pageHero .accentWord{
  display:block;
  margin-top:10px;
  color:#aebac5 !important;
  font-size:.48em !important;
  line-height:1.08 !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Booking process panel must follow the selected light theme. */
body.theme-technical-light .bookingRail,
body.theme-clean-white .bookingRail{
  background:#ffffff !important;
  color:#18242d !important;
  border:1px solid rgba(42,58,72,.14) !important;
  border-top:3px solid var(--accent) !important;
  border-radius:18px !important;
  padding:24px !important;
  box-shadow:0 12px 32px rgba(31,43,54,.07) !important;
}
body.theme-steel .bookingRail{
  background:#f1f5f7 !important;
  color:#18242d !important;
  border:1px solid rgba(42,58,72,.16) !important;
  border-top:3px solid var(--accent) !important;
  border-radius:18px !important;
  padding:24px !important;
  box-shadow:0 12px 32px rgba(31,43,54,.08) !important;
}

body.theme-technical-light .bookingRail h3,
body.theme-steel .bookingRail h3,
body.theme-clean-white .bookingRail h3{
  color:#18242d !important;
}
body.theme-technical-light .bookingRail .techCode,
body.theme-steel .bookingRail .techCode,
body.theme-clean-white .bookingRail .techCode,
body.theme-technical-light .serviceSteps b,
body.theme-steel .serviceSteps b,
body.theme-clean-white .serviceSteps b{
  color:var(--accent) !important;
}
body.theme-technical-light .serviceSteps span,
body.theme-steel .serviceSteps span,
body.theme-clean-white .serviceSteps span{
  color:#64727d !important;
}
body.theme-technical-light .serviceSteps div,
body.theme-steel .serviceSteps div,
body.theme-clean-white .serviceSteps div{
  padding:10px 0;
  border-top:1px solid var(--line);
}
body.theme-technical-light .serviceSteps div:first-child,
body.theme-steel .serviceSteps div:first-child,
body.theme-clean-white .serviceSteps div:first-child{
  border-top:0;
}

/* Messaging buttons: recognizable first-party icons, no external dependency. */
.messagingBtn{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center !important;
  gap:15px !important;
  text-align:left !important;
  min-height:94px !important;
}

.messagingBtn > span:last-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.messagingBtn small{
  border:0 !important;
  padding:0 !important;
  font-size:.58rem !important;
  letter-spacing:.12em !important;
  opacity:.72;
}

.messagingBtn strong{
  font-size:1.08rem;
  letter-spacing:-.015em;
}

.messagingIcon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.messagingIcon svg{
  width:27px;
  height:27px;
  display:block;
}

.whatsappBtn .messagingIcon{
  background:#25D366;
  box-shadow:0 8px 20px rgba(37,211,102,.20);
}
.whatsappBtn .messagingIcon svg{
  fill:none;
  stroke:#fff;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.whatsappBtn .messagingIcon svg path:nth-child(2){
  fill:#fff;
  stroke:none;
}

.viberBtn .messagingIcon{
  background:#7360F2;
  box-shadow:0 8px 20px rgba(115,96,242,.20);
}
.viberBtn .messagingIcon svg{
  fill:none;
  stroke:#fff;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.viberBtn .messagingIcon svg path:first-child{
  fill:#7360F2;
  stroke:#fff;
}
.viberBtn .messagingIcon svg path:nth-child(2){
  fill:#fff;
  stroke:none;
}

.telegramBtn .messagingIcon{
  background:#229ED9;
  box-shadow:0 8px 20px rgba(34,158,217,.20);
}
.telegramBtn .messagingIcon svg{
  fill:#fff;
  stroke:none;
}

@media(max-width:760px){
  .pageHero .accentWord{
    margin-top:8px !important;
    font-size:.46em !important;
    line-height:1.12 !important;
  }

  body.theme-technical-light .bookingRail,
  body.theme-steel .bookingRail,
  body.theme-clean-white .bookingRail{
    padding:20px !important;
    border-radius:16px !important;
  }

  .messaging{
    grid-template-columns:1fr !important;
  }

  .messagingBtn{
    min-height:82px !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:13px !important;
    padding:15px 16px !important;
  }

  .messagingIcon{
    width:42px;
    height:42px;
    border-radius:12px;
  }

  .messagingIcon svg{
    width:24px;
    height:24px;
  }
}


/* ==========================================================
   V44 — QUICK START HIERARCHY + INSTANT PHONE IN HEADER
   ========================================================== */

/* Quick-start cards: clear code / title / description / action zones */
.quickStartGrid{
  gap:14px !important;
}

.quickStartCard{
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:0 !important;
  min-height:250px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:20px !important;
  position:relative !important;
}

.quickStartCard .quickCode{
  display:flex !important;
  align-items:center;
  min-height:52px;
  padding:0 28px !important;
  border-bottom:1px solid var(--line) !important;
  font-size:.7rem !important;
  letter-spacing:.14em !important;
}

.quickStartCard .quickPulse{
  position:absolute !important;
  top:19px !important;
  right:22px !important;
}

.quickStartCard h3{
  margin:0 !important;
  padding:25px 28px 10px !important;
  font-size:1.3rem !important;
  line-height:1.15 !important;
  letter-spacing:-.025em;
}

.quickStartCard p{
  margin:0 !important;
  padding:0 28px 25px !important;
  line-height:1.55 !important;
}

.quickStartCard > b{
  display:flex !important;
  align-items:center;
  min-height:58px;
  padding:0 28px !important;
  border-top:1px solid var(--line) !important;
  color:var(--accent) !important;
  font-size:.85rem !important;
  letter-spacing:.01em;
  transition:padding-left .2s ease,background .2s ease;
}

.quickStartCard:hover > b{
  padding-left:34px !important;
  background:rgba(201,36,45,.04);
}

body.theme-technical-light .quickStartCard,
body.theme-clean-white .quickStartCard{
  background:linear-gradient(180deg,#fff,#f8fafb) !important;
  border:1px solid rgba(39,55,68,.15) !important;
  box-shadow:0 12px 30px rgba(31,43,54,.055) !important;
}

body.theme-steel .quickStartCard{
  background:linear-gradient(180deg,#f7fafb,#eaf0f4) !important;
  border:1px solid rgba(39,55,68,.16) !important;
}

body.theme-technical-light .quickStartCard h3,
body.theme-clean-white .quickStartCard h3,
body.theme-steel .quickStartCard h3{
  color:#17232c !important;
}

body.theme-technical-light .quickStartCard p,
body.theme-clean-white .quickStartCard p,
body.theme-steel .quickStartCard p{
  color:#65737e !important;
}

/* Header phone: visible, tap/click to call, independent from menus */
.headerPhone{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:7px 12px 7px 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  color:#fff !important;
  transition:.2s ease;
  flex:0 0 auto;
}

.headerPhone:hover{
  background:rgba(201,36,45,.12);
  border-color:rgba(230,68,76,.38);
  transform:translateY(-1px);
}

.headerPhoneIcon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:linear-gradient(180deg,#e5434b,#bd2029);
  box-shadow:0 8px 18px rgba(199,31,41,.20);
}

.headerPhoneIcon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linejoin:round;
  stroke-linecap:round;
}

.headerPhoneText{
  display:flex;
  flex-direction:column;
  gap:0;
  line-height:1.08;
}

.headerPhoneText small{
  color:#aeb9c3;
  font-size:.52rem;
  letter-spacing:.11em;
  font-weight:800;
}

.headerPhoneText strong{
  color:#fff;
  font-size:.88rem;
  white-space:nowrap;
}

/* Keep enough room in desktop header. */
@media(min-width:961px) and (max-width:1260px){
  .headerPhoneText small{display:none}
  .headerPhone{padding-right:9px}
  .headerPhoneText strong{font-size:.8rem}
  .menu a{padding-left:9px !important;padding-right:9px !important}
}

/* Mobile: phone is a first-class action next to Menu. */
@media(max-width:960px){
  .nav{
    gap:8px !important;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
  }

  .headerPhone{
    order:2;
    min-height:46px;
    padding:6px !important;
    border-radius:12px;
  }

  .headerPhoneIcon{
    width:34px;
    height:34px;
  }

  .headerPhoneText{
    display:none;
  }

  .mobileToggle{
    order:3;
    flex:0 0 auto;
  }

  .quickStartGrid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .quickStartCard{
    min-height:0 !important;
    border-radius:17px !important;
  }

  .quickStartCard .quickCode{
    min-height:45px;
    padding:0 20px !important;
  }

  .quickStartCard h3{
    padding:20px 20px 8px !important;
    font-size:1.16rem !important;
  }

  .quickStartCard p{
    padding:0 20px 19px !important;
    font-size:.92rem !important;
  }

  .quickStartCard > b{
    min-height:50px;
    padding:0 20px !important;
  }
}

/* Very small phones: keep brand + call + menu usable without wrapping. */
@media(max-width:430px){
  .brandText small{display:none !important}
  .brandText b{font-size:.86rem !important}
  .brandmark{width:32px !important;height:32px !important}
  .headerPhoneIcon{width:32px;height:32px}
  .headerPhone{min-height:42px}
  .mobileToggle{
    padding:9px 10px !important;
    min-height:42px !important;
    font-size:.86rem !important;
  }
}


/* ==========================================================
   V45 — BLOG + IDENTIFIER STRUCTURE REFINEMENT
   ========================================================== */

/* BLOG — stronger editorial hierarchy */
.blogGrid{
  gap:18px !important;
}

.blogCard{
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:20px !important;
  min-height:260px !important;
}

.blogCard small{
  display:flex !important;
  align-items:center;
  min-height:48px;
  padding:0 24px !important;
  border-bottom:1px solid var(--line) !important;
  font-size:.67rem !important;
  font-weight:850 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
}

.blogCard h3{
  margin:0 !important;
  padding:24px 24px 10px !important;
  font-size:1.35rem !important;
  line-height:1.14 !important;
  letter-spacing:-.025em !important;
}

.blogCard p{
  margin:0 !important;
  padding:0 24px 22px !important;
  line-height:1.58 !important;
}

.blogCard > a,
.blogCard .blogLink{
  display:flex !important;
  align-items:center;
  min-height:54px;
  padding:0 24px !important;
  border-top:1px solid var(--line) !important;
  color:var(--accent) !important;
  font-weight:800;
}

body.theme-technical-light .blogCard,
body.theme-clean-white .blogCard{
  background:linear-gradient(180deg,#fff,#f8fafb) !important;
  border:1px solid rgba(41,55,68,.14) !important;
  box-shadow:0 12px 30px rgba(31,43,54,.055) !important;
}

body.theme-steel .blogCard{
  background:linear-gradient(180deg,#f5f8fa,#e9eef2) !important;
  border:1px solid rgba(41,55,68,.16) !important;
}

body.theme-technical-light .blogCard h3,
body.theme-clean-white .blogCard h3,
body.theme-steel .blogCard h3{
  color:#17232c !important;
}

body.theme-technical-light .blogCard p,
body.theme-clean-white .blogCard p,
body.theme-steel .blogCard p{
  color:#65737e !important;
}

/* Blog article / detail page */
.blogArticle,
.blogDetail,
.articleBody{
  max-width:920px;
  margin-inline:auto;
}

.blogArticle > *,
.blogDetail > *,
.articleBody > *{
  position:relative;
}

body.theme-technical-light .blogArticle,
body.theme-clean-white .blogArticle,
body.theme-technical-light .blogDetail,
body.theme-clean-white .blogDetail,
body.theme-technical-light .articleBody,
body.theme-clean-white .articleBody{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:clamp(22px,4vw,42px);
  box-shadow:0 14px 36px rgba(31,43,54,.06);
}

body.theme-steel .blogArticle,
body.theme-steel .blogDetail,
body.theme-steel .articleBody{
  background:#f4f7f9;
  border:1px solid var(--line);
  border-radius:20px;
  padding:clamp(22px,4vw,42px);
}

.blogArticle h2,
.blogDetail h2,
.articleBody h2{
  margin-top:2.2em;
  padding-top:.35em;
  border-top:1px solid var(--line);
}

.blogArticle h3,
.blogDetail h3,
.articleBody h3{
  margin-top:1.7em;
}

.blogArticle p,
.blogDetail p,
.articleBody p{
  line-height:1.75;
}

/* IDENTIFIER — clearer step-by-step visual separation */
.identifierLayout{
  gap:20px !important;
}

.identifierInfo,
.identifierResult,
.identifierReferences{
  border-radius:20px !important;
}

body.theme-technical-light .identifierInfo,
body.theme-clean-white .identifierInfo,
body.theme-technical-light .identifierResult,
body.theme-clean-white .identifierResult,
body.theme-technical-light .identifierReferences,
body.theme-clean-white .identifierReferences{
  background:#fff !important;
  border:1px solid rgba(41,55,68,.14) !important;
  box-shadow:0 12px 32px rgba(31,43,54,.055) !important;
}

body.theme-steel .identifierInfo,
body.theme-steel .identifierResult,
body.theme-steel .identifierReferences{
  background:#f2f6f8 !important;
  border:1px solid rgba(41,55,68,.16) !important;
}

.identifierInfo{
  position:relative;
  padding:26px !important;
  border-top:3px solid var(--accent) !important;
}

.identifierInfo:before{
  content:"01 / KÉP";
  display:block;
  margin-bottom:12px;
  color:var(--accent);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.14em;
}

.identifierResult{
  position:relative;
  padding:26px !important;
  border-top:3px solid var(--accent) !important;
}

.identifierResult:before{
  content:"02 / TALÁLAT";
  display:block;
  margin-bottom:12px;
  color:var(--accent);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.14em;
}

.identifierReferences{
  position:relative;
  padding:26px !important;
  border-top:3px solid var(--accent) !important;
}

.identifierReferences:before{
  content:"03 / REFERENCIA";
  display:block;
  margin-bottom:16px;
  color:var(--accent);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.14em;
}

/* Reference tiles inside identifier */
.referenceGrid{
  gap:16px !important;
}

.referenceCard{
  overflow:hidden !important;
  border-radius:17px !important;
  border:1px solid var(--line) !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.referenceCard:hover{
  transform:translateY(-3px);
  border-color:rgba(201,36,45,.28) !important;
  box-shadow:0 16px 34px rgba(31,43,54,.08) !important;
}

.referenceBody{
  padding:20px !important;
  border-top:1px solid var(--line) !important;
}

.referenceBody h3{
  margin:0 0 8px !important;
  font-size:1.16rem !important;
  line-height:1.18 !important;
}

.referenceBody p{
  margin:0 !important;
  line-height:1.55 !important;
}

.referenceImage{
  position:relative;
}

.referenceImage:after{
  content:"KÉP NAGYÍTÁSA";
  position:absolute;
  right:12px;
  bottom:12px;
  padding:6px 9px;
  border-radius:8px;
  background:rgba(10,15,20,.76);
  color:#fff;
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.08em;
  pointer-events:none;
}

@media(max-width:760px){
  .blogGrid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .blogCard{
    min-height:0 !important;
    border-radius:17px !important;
  }

  .blogCard small{
    min-height:44px;
    padding:0 18px !important;
  }

  .blogCard h3{
    padding:19px 18px 8px !important;
    font-size:1.16rem !important;
  }

  .blogCard p{
    padding:0 18px 18px !important;
    font-size:.92rem !important;
  }

  .identifierLayout{
    gap:14px !important;
  }

  .identifierInfo,
  .identifierResult,
  .identifierReferences{
    padding:20px !important;
    border-radius:16px !important;
  }

  .referenceGrid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .referenceBody{
    padding:17px !important;
  }
}


/* ==========================================================
   V46 — MOBILE/TABLET FLOATING INSTANT CALL
   ========================================================== */

/* The header phone from V44 is no longer used. */
.headerPhone{display:none !important}

/* Hidden on desktop; fixed bottom-right action on phone/tablet. */
.floatingCall{
  display:none;
}

@media(max-width:1024px){
  .floatingCall{
    position:fixed;
    right:max(16px, env(safe-area-inset-right));
    bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));
    z-index:9998;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:58px;
    padding:7px 15px 7px 8px;
    border-radius:18px;
    background:linear-gradient(180deg,#e8444d,#c5202a);
    color:#fff !important;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 14px 34px rgba(112,20,26,.28),0 3px 8px rgba(20,28,35,.18);
    text-decoration:none !important;
    -webkit-tap-highlight-color:transparent;
    transform:translateZ(0);
  }

  .floatingCall:active{
    transform:scale(.97);
  }

  .floatingCallIcon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:13px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.18);
  }

  .floatingCallIcon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:#fff;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .floatingCallLabel{
    display:flex;
    flex-direction:column;
    line-height:1.03;
    padding-right:2px;
  }

  .floatingCallLabel small{
    color:rgba(255,255,255,.76);
    font-size:.51rem;
    font-weight:850;
    letter-spacing:.12em;
  }

  .floatingCallLabel strong{
    color:#fff;
    font-size:.95rem;
    font-weight:900;
    letter-spacing:-.01em;
  }
}

/* Phone: still clearly labelled, but compact enough not to cover content. */
@media(max-width:520px){
  .floatingCall{
    right:max(12px, env(safe-area-inset-right));
    bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px));
    min-height:54px;
    padding:6px 13px 6px 7px;
    border-radius:16px;
    gap:9px;
  }

  .floatingCallIcon{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:12px;
  }

  .floatingCallIcon svg{
    width:21px;
    height:21px;
  }

  .floatingCallLabel small{
    font-size:.47rem;
  }

  .floatingCallLabel strong{
    font-size:.9rem;
  }
}

/* V47 — Árlista */
.priceSection{padding-top:34px!important}
.priceNotice{display:flex;align-items:flex-start;gap:13px;padding:17px 19px;margin-bottom:18px;border:1px solid rgba(201,36,45,.18);border-radius:15px;background:rgba(201,36,45,.045)}
.priceNotice p{margin:0;line-height:1.55}.priceNoticeIcon{width:28px;height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:900}
.priceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.priceCard{display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;min-height:280px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:0 12px 30px rgba(31,43,54,.055)}
.priceTop{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:0 21px;border-bottom:1px solid var(--line)}
.priceCode{font-size:.64rem;font-weight:900;letter-spacing:.13em;color:var(--accent)}.priceBadge{padding:5px 8px;border-radius:999px;background:rgba(201,36,45,.09);color:var(--accent);font-size:.56rem;font-weight:900;letter-spacing:.08em}
.priceBody{padding:24px 21px 20px}.priceBody h2{margin:0 0 10px;font-size:1.28rem;line-height:1.15;letter-spacing:-.025em}.priceBody p{margin:0;line-height:1.58;color:var(--muted)}
.priceBottom{padding:18px 21px 20px;border-top:1px solid var(--line);background:rgba(127,143,158,.035)}.priceAmount{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.priceAmount strong{font-size:1.62rem;line-height:1;color:var(--text);letter-spacing:-.035em}.priceAmount small{font-size:.72rem;color:var(--muted);font-weight:700}.priceNote{display:block;margin-top:8px;font-size:.75rem;color:var(--muted)}
.priceCta{margin-top:22px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(120deg,var(--panel),var(--panel2));box-shadow:0 12px 30px rgba(31,43,54,.055)}
.priceCta h2{margin:5px 0 8px}.priceCta p{margin:0;color:var(--muted);line-height:1.55}.emptyPrice{padding:28px;border:1px dashed var(--line2);border-radius:18px;display:flex;flex-direction:column;gap:5px;text-align:center}.emptyPrice span{color:var(--muted)}
body.theme-technical-light .priceCard,body.theme-clean-white .priceCard,body.theme-technical-light .priceCta,body.theme-clean-white .priceCta{background:linear-gradient(180deg,#fff,#f8fafb)}
body.theme-steel .priceCard,body.theme-steel .priceCta{background:linear-gradient(180deg,#f5f8fa,#e9eef2)}
@media(max-width:960px){.priceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.priceGrid{grid-template-columns:1fr;gap:12px}.priceCard{min-height:0;border-radius:16px}.priceTop{padding:0 17px;min-height:45px}.priceBody{padding:19px 17px 17px}.priceBottom{padding:16px 17px 18px}.priceCta{grid-template-columns:1fr;padding:21px;border-radius:17px}.priceCta .actions{display:grid;grid-template-columns:1fr;gap:9px}}


/* ==========================================================
   V48 — GUARANTEED MOBILE/TABLET INSTANT CALL VISIBILITY
   ========================================================== */
@media (max-width:1280px){
  body .floatingCall{
    position:fixed !important;
    right:max(16px, env(safe-area-inset-right)) !important;
    bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px)) !important;
    top:auto !important;
    left:auto !important;
    z-index:2147483000 !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    align-items:center !important;
    gap:10px !important;
    min-height:58px !important;
    width:auto !important;
    max-width:calc(100vw - 32px) !important;
    padding:7px 15px 7px 8px !important;
    margin:0 !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#e8444d,#c5202a) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.32) !important;
    box-shadow:0 14px 38px rgba(112,20,26,.34),0 4px 10px rgba(20,28,35,.20) !important;
    text-decoration:none !important;
    transform:none !important;
    overflow:visible !important;
  }

  body .floatingCallIcon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.18) !important;
  }

  body .floatingCallIcon svg{
    display:block !important;
    width:23px !important;
    height:23px !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:1.9 !important;
  }

  body .floatingCallLabel{
    display:flex !important;
    flex-direction:column !important;
    line-height:1.03 !important;
  }

  body .floatingCallLabel small{
    display:block !important;
    color:rgba(255,255,255,.78) !important;
    font-size:.51rem !important;
    font-weight:850 !important;
    letter-spacing:.12em !important;
  }

  body .floatingCallLabel strong{
    display:block !important;
    color:#fff !important;
    font-size:.95rem !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:1281px){
  body .floatingCall{display:none !important}
}

@media(max-width:520px){
  body .floatingCall{
    right:max(12px, env(safe-area-inset-right)) !important;
    bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px)) !important;
    min-height:54px !important;
    padding:6px 13px 6px 7px !important;
    border-radius:16px !important;
  }
}


/* ==========================================================
   V49 — IDENTIFIER LABEL WRAP FIX + HEADER CALL CTA
   ========================================================== */

/* No floating call anymore. */
.floatingCall{display:none !important}

/* Identifier technical labels: never split awkwardly on mobile. */
.identifierInfo:before,
.identifierResult:before,
.identifierReferences:before{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  align-items:center;
  line-height:1 !important;
  letter-spacing:.10em !important;
}

.identifierInfo .eyebrow,
.identifierResult .eyebrow,
.identifierReferences .eyebrow{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1.1 !important;
}

/* Hide duplicated / competing technical prefix on compact screens where needed. */
@media(max-width:760px){
  .identifierInfo:before,
  .identifierResult:before,
  .identifierReferences:before{
    font-size:.60rem !important;
    letter-spacing:.08em !important;
    margin-bottom:10px !important;
  }

  .identifierInfo .eyebrow,
  .identifierResult .eyebrow,
  .identifierReferences .eyebrow{
    font-size:.61rem !important;
    letter-spacing:.09em !important;
  }
}

/* Header call CTA with text */
.headerCallNow{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:7px 12px 7px 8px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg,rgba(222,57,66,.18),rgba(173,27,35,.14));
  color:#fff !important;
  text-decoration:none !important;
  flex:0 0 auto;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.headerCallNow:hover{
  background:linear-gradient(180deg,rgba(230,68,77,.27),rgba(183,30,39,.22));
  border-color:rgba(236,88,96,.45);
  transform:translateY(-1px);
}

.headerCallIcon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:linear-gradient(180deg,#e7444d,#bd2029);
  box-shadow:0 7px 17px rgba(199,31,41,.20);
}

.headerCallIcon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.headerCallText{
  display:flex;
  flex-direction:column;
  line-height:1.04;
}

.headerCallText small{
  color:#ff9ca1;
  font-size:.49rem;
  font-weight:900;
  letter-spacing:.11em;
}

.headerCallText strong{
  color:#fff;
  font-size:.83rem;
  font-weight:850;
  white-space:nowrap;
}

@media(max-width:960px){
  .nav{
    gap:8px !important;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
  }

  .headerCallNow{
    order:2;
    min-height:43px;
    padding:5px 8px 5px 6px;
    gap:7px;
    border-radius:11px;
  }

  .headerCallIcon{
    width:31px;
    height:31px;
    border-radius:9px;
  }

  .headerCallText small{
    font-size:.44rem;
  }

  .headerCallText strong{
    font-size:.74rem;
  }

  .mobileToggle{
    order:3;
  }
}

@media(max-width:560px){
  .headerCallText strong{
    display:none;
  }

  .headerCallText small{
    font-size:.50rem;
    letter-spacing:.07em;
    white-space:nowrap;
  }

  .headerCallNow{
    padding-right:9px;
  }
}

@media(max-width:410px){
  .headerCallText small{
    display:none;
  }

  .headerCallNow{
    padding:5px !important;
  }
}


/* ==========================================================
   V50 — MOBILE HEADER CTA + IDENTIFIER CLEANUP + NORMAL IMAGES
   ========================================================== */

/* Always explain the phone button on mobile/tablet. */
@media(max-width:960px){
  .headerCallNow{
    display:flex !important;
    min-width:112px !important;
    justify-content:flex-start !important;
    padding:5px 9px 5px 6px !important;
  }

  .headerCallText{
    display:flex !important;
    min-width:0 !important;
  }

  .headerCallText small{
    display:block !important;
    white-space:nowrap !important;
    font-size:.47rem !important;
    letter-spacing:.07em !important;
  }

  .headerCallText strong{
    display:none !important;
  }
}

@media(max-width:430px){
  .headerCallNow{
    min-width:105px !important;
    padding-right:8px !important;
  }

  .headerCallText small{
    display:block !important;
    font-size:.44rem !important;
  }
}

/* Identifier: remove duplicated pseudo step labels causing overflow.
   The existing techCode / eyebrow already communicates the section. */
.identifierInfo:before,
.identifierResult:before,
.identifierReferences:before{
  display:none !important;
  content:none !important;
}

/* Keep all visible red technical labels inside their cards. */
.identifierInfo,
.identifierResult,
.identifierReferences{
  overflow:hidden !important;
}

.identifierInfo .techCode,
.identifierInfo .eyebrow,
.identifierResult .techCode,
.identifierResult .eyebrow,
.identifierReferences .techCode,
.identifierReferences .eyebrow{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.2 !important;
}

/* The reference heading itself should not escape the inner content column. */
.identifierReferences .sectionHead,
.identifierReferences .sectionHead > div{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}

.identifierReferences .sectionHead h2{
  max-width:100% !important;
  overflow-wrap:break-word !important;
}

/* Reference images must be shown naturally, not artificially darkened. */
.referenceImage{
  background:#fff !important;
}

.referenceImage img{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  transform:none !important;
  background:#fff !important;
}

/* Remove any dark overlay from the reference image button. */
.referenceImage:before,
.referenceImage:after{
  filter:none !important;
}

.referenceImage:before{
  display:none !important;
  content:none !important;
}

/* Keep only the small magnification label, without dimming the whole image. */
.referenceImage > span{
  z-index:3 !important;
  background:rgba(12,18,24,.78) !important;
  color:#fff !important;
}

/* Light themes: clean image cards. */
body.theme-technical-light .referenceCard,
body.theme-clean-white .referenceCard,
body.theme-steel .referenceCard{
  background:#fff !important;
}

body.theme-steel .referenceCard{
  background:#f7f9fa !important;
}

@media(max-width:760px){
  .identifierReferences{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .identifierReferences .sectionHead{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .identifierReferences .sectionHead .eyebrow{
    font-size:.58rem !important;
    letter-spacing:.08em !important;
  }

  .referenceImage img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}


/* ==========================================================
   V51 — REFERENCE IMAGES: ABSOLUTELY NO DARKENING
   ========================================================== */

.referenceCard .referenceImage{
  position:relative !important;
  background:#fff !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  isolation:isolate !important;
}

.referenceCard .referenceImage::before,
.referenceCard .referenceImage::after{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
  opacity:0 !important;
  filter:none !important;
  box-shadow:none !important;
}

.referenceCard .referenceImage img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  transform:none !important;
  background:#fff !important;
}

.referenceCard .referenceImage > span{
  position:absolute !important;
  right:10px !important;
  bottom:10px !important;
  z-index:5 !important;
  background:rgba(12,18,24,.82) !important;
  color:#fff !important;
  opacity:1 !important;
  filter:none !important;
}

/* Any inherited theme/media overlay is disabled specifically for identifier refs. */
.identifierReferences .referenceImage,
.identifierReferences .referenceImage *,
.identifierReferences .referenceCard img{
  filter:none !important;
  -webkit-filter:none !important;
}

.identifierReferences .referenceImage{
  background-image:none !important;
}

.identifierReferences .referenceCard{
  overflow:hidden !important;
}

/* If a previous generic overlay selector uses an :after on card/button,
   suppress it only inside identifier references. */
.identifierReferences .referenceCard::before,
.identifierReferences .referenceCard::after{
  content:none !important;
  display:none !important;
}
