/* ============================================
   Metahost — Dark Navy + Champagne Gold
   Design System v3 (Full Dark Mode)
   ============================================ */

:root {
    --mh-navy:           #0a0f2e;
    --mh-navy-mid:       #0d1535;
    --mh-navy-dark:      #060b20;
    --mh-navy-card:      #0f163d;
    --mh-navy-glass:     rgba(15, 22, 61, 0.7);

    --mh-gold:           #c9a96e;
    --mh-gold-light:     #e8d48d;
    --mh-gold-dark:      #9a7840;
    --mh-gold-glow:      rgba(201, 169, 110, 0.38);
    --mh-gold-btn:       #c9a96e;

    --mh-primary:        #c9a96e;
    --mh-primary-dark:   #9a7840;
    --mh-primary-light:  #e8d48d;
    --mh-accent:         #c9a96e;
    --mh-blue-light:     #42a5f5;

    --mh-text-body:      rgba(255, 255, 255, 0.82);
    --mh-text-muted:     rgba(255, 255, 255, 0.65);
    --mh-text-heading:   #ffffff;
    --mh-border-dark:    rgba(201, 169, 110, 0.15);
    --mh-border-subtle:  rgba(255, 255, 255, 0.07);

    --mh-grad-hero:      linear-gradient(135deg, #060b20 0%, #0a0f2e 50%, #0d1535 100%);
    --mh-grad-primary:   linear-gradient(135deg, #9a7840 0%, #c9a96e 100%);
    --mh-grad-gold:      linear-gradient(135deg, #c9a96e 0%, #e8d48d 100%);
    --mh-grad-navy:      linear-gradient(135deg, #060b20 0%, #0d1535 100%);
    --mh-grad-card:      linear-gradient(145deg, rgba(15,22,61,0.9) 0%, rgba(10,15,46,0.95) 100%);
    --mh-grad-purple:    linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --mh-grad-amber:     linear-gradient(135deg, #f59e0b 0%, #ec4899 100%);
    --mh-grad-emerald:   linear-gradient(135deg, #10b981 0%, #06b6d4 100%);

    --mh-shadow-sm:      0 1px 3px rgba(0,0,0,.3);
    --mh-shadow:         0 4px 16px rgba(0,0,0,.35);
    --mh-shadow-lg:      0 20px 48px rgba(0,0,0,.45);
    --mh-shadow-glow:    0 8px 32px rgba(201,169,110,.32);
    --mh-shadow-card:    0 4px 24px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
}

/* ============================================
   Base — full dark mode
   ============================================ */

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--mh-navy);
    color: var(--mh-text-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

main { flex: 1 0 auto; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--mh-text-heading);
}

p { color: var(--mh-text-body); }

a { color: var(--mh-gold-light); }
a:hover { color: var(--mh-gold); }

/* ============================================
   Glowing accent stripe
   ============================================ */

.mh-glow-stripe {
    position: fixed;
    top: 0; left: 0;
    width: 3px;
    height: 100vh;
    background: linear-gradient(
        180deg,
        transparent 0%,
        var(--mh-gold-dark) 15%,
        var(--mh-gold) 35%,
        var(--mh-gold-light) 50%,
        var(--mh-gold) 65%,
        var(--mh-gold-dark) 85%,
        transparent 100%
    );
    z-index: 1050;
    pointer-events: none;
    animation: glowStripe 4s ease-in-out infinite;
}

@keyframes glowStripe {
    0%, 100% {
        box-shadow: 0 0 6px 2px var(--mh-gold-glow), 0 0 18px 4px rgba(201,169,110,.12);
        opacity: 0.6;
    }
    50% {
        box-shadow: 0 0 14px 5px var(--mh-gold-glow), 0 0 40px 10px rgba(201,169,110,.25);
        opacity: 1;
    }
}

/* ============================================
   Buttons
   ============================================ */

.btn { border-radius: .6rem; font-weight: 600; transition: all .2s ease; }

.btn-primary {
    background: var(--mh-grad-primary);
    border: none;
    color: #fff;
    box-shadow: 0 4px 14px rgba(154,120,64,.4);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(154,120,64,.55);
    color: #fff;
    filter: brightness(1.08);
}

.btn-outline-primary {
    color: var(--mh-gold);
    border: 2px solid var(--mh-gold);
    background: transparent;
}
.btn-outline-primary:hover {
    background: var(--mh-gold);
    border-color: var(--mh-gold);
    color: var(--mh-navy);
    transform: translateY(-2px);
}

/* Gold outlined — for hero secondary CTA */
.btn-outline-gold {
    color: rgba(255,255,255,.88);
    border: 1.5px solid rgba(255,255,255,.35);
    background: transparent;
    font-weight: 600;
    border-radius: .6rem;
    transition: all .2s ease;
}
.btn-outline-gold:hover {
    border-color: var(--mh-gold);
    color: var(--mh-gold-light);
    transform: translateY(-2px);
}

/* Solid gold button */
.btn-gold {
    background: var(--mh-grad-primary);
    color: #fff;
    border: none;
    font-weight: 700;
    border-radius: .6rem;
    box-shadow: var(--mh-shadow-glow);
    transition: all .2s ease;
}
.btn-gold:hover {
    filter: brightness(1.1);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(201,169,110,.45);
    color: #fff;
}

.btn-lg { padding: .75rem 1.75rem; }

/* Bootstrap override */
.text-primary  { color: var(--mh-gold) !important; }
.bg-primary    { background-color: var(--mh-gold) !important; }

/* ============================================
   Top bar
   ============================================ */

.topbar {
    background: var(--mh-navy-dark);
    font-size: .82rem;
    border-bottom: 1px solid var(--mh-border-subtle);
}
.topbar a:hover { color: var(--mh-gold-light) !important; }

.btn-topbar-login,
.btn-topbar-register {
    font-size: .78rem;
    font-weight: 600;
    padding: .25rem .75rem;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    transition: all .2s ease;
}
.btn-topbar-login {
    color: rgba(255,255,255,.85) !important;
    border: 1px solid rgba(255,255,255,.35);
}
.btn-topbar-login:hover {
    color: #fff !important;
    border-color: rgba(255,255,255,.6);
    background: rgba(255,255,255,.08);
}
.btn-topbar-register {
    background: var(--mh-grad-primary);
    color: #fff !important;
    border: 1px solid transparent;
}
.btn-topbar-register:hover {
    color: #fff !important;
    filter: brightness(1.1);
}

/* ============================================
   Navbar
   ============================================ */

.navbar {
    transition: background-color .25s ease, box-shadow .25s ease;
    backdrop-filter: blur(12px);
}
.navbar.scrolled {
    box-shadow: 0 4px 24px rgba(0,0,0,.4);
}
.navbar-brand {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    letter-spacing: -.01em;
}
.navbar .nav-link {
    position: relative;
    font-weight: 500;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
.navbar .nav-link::after {
    content: '';
    position: absolute;
    bottom: .35rem; left: 50%;
    width: 0; height: 2px;
    background: var(--mh-gold);
    transition: all .2s ease;
}
.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
    left: 1rem;
    width: calc(100% - 2rem);
}

.mh-navbar {
    background: rgba(6,11,32,.96) !important;
    border-bottom: 1px solid rgba(201,169,110,.12);
}
.mh-nav-logo { border-radius: 6px; }
.mh-brand-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: -.01em;
    color: #fff;
}
.mh-navbar .nav-link {
    font-weight: 500;
    color: rgba(255,255,255,.80) !important;
    transition: color .2s ease;
}
.mh-navbar .nav-link:hover,
.mh-navbar .nav-link.active {
    color: var(--mh-gold-light) !important;
}
.mh-navbar .nav-link::after {
    background: var(--mh-gold);
}

/* Navbar Get Started button */
.btn-nav-cta {
    background: var(--mh-grad-primary);
    color: #fff !important;
    font-weight: 700;
    font-size: .88rem;
    padding: .45rem 1.1rem;
    border-radius: .5rem;
    border: none;
    text-decoration: none;
    transition: all .2s ease;
    display: inline-block;
    box-shadow: 0 4px 12px rgba(154,120,64,.35);
    white-space: nowrap;
}
.btn-nav-cta:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(154,120,64,.5);
    color: #fff !important;
}
.btn-nav-blog {
    border: 1px solid rgba(6,182,212,.4);
    border-radius: 999px;
    color: #22d3ee !important;
    padding: .28rem .9rem;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
    white-space: nowrap;
    display: inline-block;
}
.btn-nav-blog:hover, .btn-nav-blog.active {
    background: rgba(6,182,212,.1);
    border-color: #06b6d4;
    color: #22d3ee !important;
}
[data-theme="light"] .btn-nav-blog { border-color: rgba(6,182,212,.55); color: #0891b2 !important; }
[data-theme="light"] .btn-nav-blog:hover { background: rgba(6,182,212,.08); color: #0891b2 !important; }

/* ============================================
   Page header (subpages)
   ============================================ */

.page-header {
    background: var(--mh-grad-hero) !important;
    padding: 3.5rem 0 3.5rem;
    position: relative;
    overflow: visible;
}
.page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 70% 50%, rgba(201,169,110,.1) 0%, transparent 55%);
}
.page-header > .container { position: relative; }

/* ============================================
   Hero — dark directional gradient
   ============================================ */

.hero {
    position: relative;
    background: var(--mh-grad-hero) !important;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
    min-height: 540px;
    display: flex;
    align-items: center;
    padding: 4rem 0;
}
.hero > .container { width: 100%; position: relative; z-index: 1; }

/* ============================================
   Hero Carousel — full dark, directional
   ============================================ */

.mh-hero-carousel { margin-top: 0; }

.mh-slide {
    position: relative;
    overflow: hidden;
    background: var(--mh-navy-dark);
}

/* Directional overlay: dark on left for text, reveals image on right */
.mh-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(6,11,32,0.97) 0%,
        rgba(6,11,32,0.88) 40%,
        rgba(6,11,32,0.55) 65%,
        rgba(6,11,32,0.25) 100%
    );
    z-index: 1;
}
.mh-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    z-index: 0;
    transition: transform 8s ease;
    will-change: transform;
}
.carousel-item.active .mh-slide-bg { transform: scale(1.04); }
.mh-slide-content {
    position: relative;
    z-index: 2;
}

.mh-eyebrow-light {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: rgba(201,169,110,.14);
    color: var(--mh-gold-light);
    border: 1px solid rgba(201,169,110,.3);
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .07em;
    padding: .3rem .85rem;
    text-transform: uppercase;
}

.mh-gradient-text {
    background: var(--mh-grad-gold);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.text-white-75 { color: rgba(255,255,255,.75) !important; }
.text-white-60 { color: rgba(255,255,255,.60) !important; }

/* Hero feature badges */
.mh-hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    margin: 1.5rem 0 2rem;
}
.mh-hero-feat {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .88rem;
    color: rgba(255,255,255,.72);
}
.mh-hero-feat i {
    color: var(--mh-gold);
    font-size: 1rem;
}

/* Hero icon on right */
.mh-hero-icon-wrap {
    position: relative;
    display: inline-block;
    animation: float-soft 6s ease-in-out infinite;
}

/* Slide text animation */
.animate-slide { opacity: 0; transform: translateY(28px); }
.animate-slide.slide-in {
    animation: slideUp .75s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes slideUp { to { opacity: 1; transform: translateY(0); } }

@keyframes float-soft {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    33% { transform: translateY(-10px) rotate(1.5deg); }
    66% { transform: translateY(-5px) rotate(-1deg); }
}
@keyframes float { 0%, 100% { transform: translate(0,0); } 50% { transform: translate(20px,-15px); } }
@keyframes floatIcon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

/* Carousel indicators — gold */
.carousel-indicators [data-bs-target] {
    width: 8px; height: 8px;
    border-radius: 50%;
    background-color: rgba(255,255,255,.3);
    border: 1.5px solid rgba(201,169,110,.4);
    margin: 0 4px;
    transition: all .2s ease;
}
.carousel-indicators .active {
    background-color: var(--mh-gold);
    border-color: var(--mh-gold);
    width: 24px;
    border-radius: 4px;
}

/* ============================================
   Stats bar
   ============================================ */

.mh-stats-bar {
    background: var(--mh-navy-dark);
    border-top: 1px solid var(--mh-border-dark);
    border-bottom: 1px solid var(--mh-border-subtle);
}
.mh-stat-item {
    padding: 1.5rem 1rem;
    text-align: center;
    position: relative;
}
.mh-stat-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0; top: 20%; height: 60%;
    width: 1px;
    background: var(--mh-border-dark);
}
.mh-stat-icon {
    font-size: 1.6rem;
    color: var(--mh-gold);
    margin-bottom: .4rem;
    display: block;
    opacity: .85;
}
.mh-stat-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    display: block;
    line-height: 1.1;
    background: linear-gradient(90deg, #fff, var(--mh-gold-light));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.mh-stat-label {
    font-size: .82rem;
    color: var(--mh-text-muted);
    margin-top: .25rem;
    display: block;
    font-weight: 500;
}

/* ============================================
   Section headers
   ============================================ */

.section-eyebrow {
    display: inline-block;
    text-transform: uppercase;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--mh-gold);
    background: rgba(201,169,110,.12);
    border: 1px solid rgba(201,169,110,.2);
    padding: .32rem .85rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}

/* Section divider */
.mh-section-divider {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.45;
}

/* ============================================
   Service cards — dark glass
   ============================================ */

.mh-svc-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1.1rem;
    padding: 2rem 1.75rem;
    transition: all .3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: var(--mh-shadow-card);
}
.mh-svc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,169,110,.3), transparent);
}
.mh-svc-card:hover {
    transform: translateY(-6px);
    border-color: rgba(201,169,110,.35);
    box-shadow: 0 20px 48px rgba(0,0,0,.5), 0 0 24px var(--mh-gold-glow);
}
.mh-svc-card h5 { color: #fff; margin-bottom: .6rem; }
.mh-svc-card p  { color: var(--mh-text-muted); font-size: .92rem; }

.mh-svc-icon {
    width: 60px; height: 60px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
    color: var(--mh-gold-light);
    margin-bottom: 1.1rem;
    background: rgba(201,169,110,.1);
    border: 1px solid rgba(201,169,110,.25);
    transition: all .3s ease;
}
.mh-svc-card:hover .mh-svc-icon {
    background: rgba(201,169,110,.18);
    border-color: rgba(201,169,110,.5);
    box-shadow: 0 0 20px var(--mh-gold-glow);
}

/* SVG icon variant */
.mh-svc-icon-svg {
    background: rgba(10,15,46,0.8) !important;
    border: 1px solid rgba(201,169,110,.3) !important;
}
.mh-svc-card:hover .mh-svc-icon-svg {
    background: rgba(10,15,46,0.6) !important;
    border-color: rgba(201,169,110,.55) !important;
    box-shadow: 0 0 24px var(--mh-gold-glow) !important;
}

/* Floating icon animation */
.mh-svc-icon-float { animation: floatIcon 5s ease-in-out infinite; }
.mh-svc-card:nth-child(1) .mh-svc-icon-float { animation-delay: 0s; }
.mh-svc-card:nth-child(2) .mh-svc-icon-float { animation-delay: -.8s; }
.mh-svc-card:nth-child(3) .mh-svc-icon-float { animation-delay: -1.6s; }
.mh-svc-card:nth-child(4) .mh-svc-icon-float { animation-delay: -2.4s; }
.mh-svc-card:nth-child(5) .mh-svc-icon-float { animation-delay: -3.2s; }
.mh-svc-card:nth-child(6) .mh-svc-icon-float { animation-delay: -4s; }

/* ============================================
   Numbers / Counter section
   ============================================ */

.mh-numbers-section {
    background: var(--mh-navy-dark);
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--mh-border-subtle);
    border-bottom: 1px solid var(--mh-border-subtle);
}
.mh-numbers-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(201,169,110,.12) 0%, transparent 45%),
        radial-gradient(circle at 80% 50%, rgba(154,120,64,.08) 0%, transparent 45%);
    pointer-events: none;
}
.mh-numbers-section::after {
    content: '';
    position: absolute;
    right: 0; top: 0;
    width: 50%; height: 100%;
    background: url('/assets/img/decor-network-nodes.png') right center / contain no-repeat;
    opacity: 0.05;
    pointer-events: none;
}
.mh-counter-card { position: relative; z-index: 1; }
.mh-counter-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    background: linear-gradient(90deg, #fff, var(--mh-gold-light));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
}
.mh-counter-label {
    color: var(--mh-text-muted);
    font-size: .92rem;
    margin-top: .5rem;
    font-weight: 500;
}

/* ============================================
   Why us — checklist
   ============================================ */

.mh-why-section { background: var(--mh-navy); }
.mh-checklist {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mh-checklist li {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    font-size: 1rem;
    color: var(--mh-text-body);
}
.mh-checklist li i { color: var(--mh-gold); font-size: 1.2rem; flex-shrink: 0; margin-top: .1rem; }

/* ============================================
   Tech badges — dark glass
   ============================================ */

.mh-tech-section {
    background: var(--mh-navy-mid);
    border-top: 1px solid var(--mh-border-subtle);
    border-bottom: 1px solid var(--mh-border-subtle);
}
.mh-tech-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1.15rem;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--mh-border-dark);
    border-radius: 999px;
    font-size: .88rem;
    font-weight: 600;
    color: rgba(255,255,255,.78);
    transition: all .2s ease;
    cursor: default;
}
.mh-tech-badge:hover {
    background: rgba(201,169,110,.12);
    border-color: rgba(201,169,110,.4);
    color: var(--mh-gold-light);
    transform: translateY(-2px);
}
.mh-tech-badge i { color: var(--mh-gold); }

/* ============================================
   CTA section
   ============================================ */

.mh-cta-section {
    background: var(--mh-navy-dark);
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--mh-border-dark);
}
.mh-cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 60%, rgba(201,169,110,.15) 0%, transparent 45%),
        radial-gradient(circle at 85% 30%, rgba(154,120,64,.1) 0%, transparent 45%);
    pointer-events: none;
}
.mh-cta-inner { position: relative; z-index: 1; }
.mh-cta-icon {
    font-size: 3.5rem;
    color: var(--mh-gold);
    opacity: .8;
    filter: drop-shadow(0 4px 16px rgba(201,169,110,.5));
    display: block;
    margin-bottom: 1.25rem;
}

/* ============================================
   Pricing cards
   ============================================ */

.pricing-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1.25rem;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: visible;
    box-shadow: var(--mh-shadow-card);
}
.pricing-card.featured {
    border: 1.5px solid var(--mh-gold);
    box-shadow: 0 0 0 1px rgba(201,169,110,.2), var(--mh-shadow-lg);
    transform: translateY(-8px);
}
.pricing-card .price-badge {
    position: absolute; top: 0; left: 50%;
    transform: translate(-50%, -50%);
    visibility: visible; /* override inherited visibility:hidden from WOW.js parent */
    background: var(--mh-grad-primary);
    color: #fff;
    padding: .3rem 1.1rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
    box-shadow: var(--mh-shadow-glow);
}
.pricing-card:hover { transform: translateY(-6px); box-shadow: var(--mh-shadow-lg); }
.pricing-card.featured:hover { transform: translateY(-14px); }
.pricing-card .price-amount {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    background: var(--mh-grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
}
/* Pricing section typography & layout helpers */
.mh-pricing-tier {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mh-gold);
    margin-bottom: .5rem;
}
.mh-pricing-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mh-text-heading);
    margin-bottom: 0;
    line-height: 1.3;
}
.mh-pricing-subtitle {
    color: var(--mh-text-muted);
    max-width: 560px;
    margin: .85rem auto 0;
}
.mh-pricing-divider {
    border: 0;
    border-top: 1px solid var(--mh-border-dark);
    margin: 1.25rem 0;
}
.mh-pricing-features {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mh-pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .4rem 0;
    font-size: .875rem;
    color: var(--mh-text-body);
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.mh-pricing-features li:last-child { border-bottom: 0; }
.mh-pricing-features li i {
    color: var(--mh-gold);
    flex-shrink: 0;
    margin-top: .15rem;
    font-size: .95rem;
}
/* light mode */
[data-theme="light"] .mh-pricing-divider { border-color: rgba(0,0,0,.1); }
[data-theme="light"] .mh-pricing-features li { border-color: rgba(0,0,0,.06); }

/* ============================================
   Highlight-Card Pricing (üzemeltetés oldal)
   ============================================ */

.mh-hcard {
    position: relative;
    background: linear-gradient(145deg, #020510 0%, #080d28 55%, #020510 100%);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1.25rem;
    overflow: visible;
    box-shadow: 0 20px 40px rgba(0,0,0,.55);
    display: flex;
    flex-direction: column;
    transition: border-color .3s ease, box-shadow .3s ease, transform .25s ease;
}
.mh-hcard:hover {
    border-color: rgba(255,255,255,.22);
    transform: translateY(-4px);
    box-shadow: 0 28px 50px rgba(0,0,0,.6);
}
.mh-hcard.featured {
    border-color: rgba(201,169,110,.5);
    box-shadow: 0 22px 50px rgba(0,0,0,.6), 0 0 40px rgba(201,169,110,.14);
    transform: translateY(-8px);
}
.mh-hcard.featured:hover {
    border-color: rgba(201,169,110,.8);
    box-shadow: 0 28px 60px rgba(0,0,0,.65), 0 0 55px rgba(201,169,110,.22);
    transform: translateY(-12px);
}

.mh-hcard-shimmer-wrap {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}
.mh-hcard-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.055) 50%, transparent 70%);
    animation: mhShimmer 3.8s ease-in-out infinite;
}
@keyframes mhShimmer {
    0%   { transform: translateX(110%); }
    100% { transform: translateX(-220%); }
}

.mh-hcard-body {
    position: relative;
    z-index: 1;
    padding: 2rem 2rem 0;
    flex-grow: 1;
}
.mh-hcard-body.pt-featured { padding-top: 2.5rem; }

.mh-hcard-title {
    font-size: 1.3rem;
    font-weight: 700;
    background: linear-gradient(135deg, #ffffff 0%, #c8d4ff 50%, #ffffff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 0;
    line-height: 1.3;
    display: inline-block;
    transition: transform .2s ease;
}
.mh-hcard:hover .mh-hcard-title {
    transform: scale(1.04);
    transform-origin: left top;
}

.mh-hcard-divider {
    border: 0;
    height: 1px;
    background: rgba(255,255,255,.12);
    width: 28%;
    margin: 1.1rem 0;
    transition: width .35s ease;
}
.mh-hcard:hover .mh-hcard-divider { width: 52%; }

.mh-hcard-bottom {
    position: relative;
    z-index: 1;
    padding: 1.25rem 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.1rem;
}

.mh-btn-megrendelem {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: .65rem 1.5rem;
    border-radius: .75rem;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid rgba(201,169,110,.4);
    color: rgba(201,169,110,.9);
    background: rgba(201,169,110,.07);
    transition: background .2s, border-color .2s, color .2s, transform .15s;
    visibility: visible;
}
.mh-btn-megrendelem:hover {
    background: rgba(201,169,110,.17);
    border-color: var(--mh-gold);
    color: #fff;
    transform: translateY(-2px);
}
.mh-hcard.featured .mh-btn-megrendelem {
    background: linear-gradient(135deg, #c9a96e, #a07840);
    border-color: transparent;
    color: #0a0f2e;
    font-weight: 700;
    box-shadow: 0 4px 16px rgba(201,169,110,.35);
}
.mh-hcard.featured .mh-btn-megrendelem:hover {
    box-shadow: 0 6px 22px rgba(201,169,110,.52);
    transform: translateY(-2px);
}

.mh-hcard-orbs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    height: 32px;
}
.mh-hcard-orb {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #c9a96e, #6366f1);
    box-shadow: 0 0 10px rgba(201,169,110,.7), 0 0 22px rgba(99,102,241,.4);
    animation: mhOrbBounce 1.4s ease-in-out infinite;
    position: relative;
    visibility: visible;
}
.mh-hcard-orb::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: inherit;
    animation: mhOrbPing 1.4s ease-in-out infinite;
    visibility: visible;
}
@keyframes mhOrbBounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-12px); }
}
@keyframes mhOrbPing {
    0%        { transform: scale(1); opacity: .55; }
    70%, 100% { transform: scale(2.6); opacity: 0; }
}

/* Products responsive auto-fill grid */
.mh-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}
/* Product card title: block + centered (overrides inline-block default) */
.mh-products-grid .mh-hcard-title {
    display: block;
    text-align: center;
    transform-origin: center;
}
/* Divider centered in product cards */
.mh-products-grid .mh-hcard-divider {
    margin-left: auto;
    margin-right: auto;
}

/* Product card icon -- centered at top */
.mh-hcard-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: .75rem;
    background: linear-gradient(135deg, rgba(201,169,110,.25), rgba(99,102,241,.2));
    border: 1px solid rgba(201,169,110,.3);
    flex-shrink: 0;
    visibility: visible;
    margin-left: auto;
    margin-right: auto;
}
.mh-hcard-icon i {
    font-size: 1.2rem;
    background: linear-gradient(135deg, #c9a96e, #a78bfa);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    visibility: visible;
}

/* Price badge */
.mh-hcard-price-badge {
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: rgba(201,169,110,.14);
    color: var(--mh-gold);
    border: 1px solid rgba(201,169,110,.28);
    visibility: visible;
}
.mh-hcard-price-free {
    background: rgba(34,197,94,.12);
    color: #22c55e;
    border-color: rgba(34,197,94,.22);
}

/* Light mode price badge */
[data-theme="light"] .mh-hcard-price-badge { background: rgba(201,169,110,.1); }
[data-theme="light"] .mh-hcard-icon { background: linear-gradient(135deg, rgba(201,169,110,.15), rgba(99,102,241,.1)); }
[data-theme="light"] .mh-pricing-features li { color: var(--mh-text-body); }

/* WOW.js visibility-override for child elements */
.mh-hcard-shimmer,
.mh-hcard-orb,
.mh-hcard-orb::after,
.mh-btn-megrendelem { visibility: visible; }

/* Light mode */
[data-theme="light"] .mh-hcard {
    background: linear-gradient(145deg, #f2f5ff 0%, #e8edff 55%, #f2f5ff 100%);
    border-color: rgba(10,15,46,.1);
    box-shadow: 0 8px 30px rgba(10,15,46,.1);
}
[data-theme="light"] .mh-hcard:hover { border-color: rgba(10,15,46,.22); }
[data-theme="light"] .mh-hcard.featured {
    border-color: rgba(201,169,110,.5);
    box-shadow: 0 14px 40px rgba(10,15,46,.15), 0 0 30px rgba(201,169,110,.1);
}
[data-theme="light"] .mh-hcard-title {
    background: linear-gradient(135deg, #0a0f2e 0%, #2a3070 50%, #0a0f2e 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
[data-theme="light"] .mh-hcard-divider { background: rgba(10,15,46,.14); }
[data-theme="light"] .mh-hcard-shimmer {
    background: linear-gradient(105deg, transparent 30%, rgba(10,15,46,.03) 50%, transparent 70%);
}
[data-theme="light"] .mh-btn-megrendelem {
    color: var(--mh-navy);
    border-color: rgba(10,15,46,.3);
    background: rgba(10,15,46,.06);
}
[data-theme="light"] .mh-btn-megrendelem:hover {
    background: rgba(10,15,46,.12);
    border-color: var(--mh-navy);
    color: var(--mh-navy-dark);
}

/* ============================================
   Projekt portfólió kártyák (Munkáink oldal)
   ============================================ */

.mh-proj-card {
    background: var(--mh-navy-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    overflow: hidden;
    transition: box-shadow .3s ease;
}
.mh-proj-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.45); }

/* Hero */
.mh-proj-hero {
    position: relative;
    height: 320px;
    overflow: hidden;
}
.mh-proj-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .9;
    transition: transform .4s ease, opacity .3s ease;
}
.mh-proj-card:hover .mh-proj-hero img { transform: scale(1.03); opacity: 1; }
.mh-proj-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 30%, rgba(8,15,26,.88) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem;
}

/* Thumbnail sor */
.mh-proj-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    background: rgba(0,0,0,.4);
    height: 110px;
}
.mh-proj-thumbs img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
    transition: opacity .2s;
}
.mh-proj-thumbs img:hover { opacity: .85; }
.mh-proj-thumb-ph {
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mh-proj-thumb-ph span {
    font-size: .7rem;
    color: rgba(255,255,255,.35);
    text-align: center;
    padding: .25rem;
}

/* Body */
.mh-proj-body {
    padding: 1.5rem;
}
.mh-proj-desc {
    font-size: .875rem;
    color: var(--mh-text-muted);
    line-height: 1.72;
    margin-bottom: 1rem;
}
.mh-proj-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.mh-proj-tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
    padding: .25em .7em;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
    color: rgba(255,255,255,.65);
}
.mh-proj-footer { display: flex; align-items: center; gap: .75rem; margin-top: 1.25rem; flex-wrap: wrap; }

/* Modal */
.mh-proj-modal .modal-content {
    background: var(--mh-navy-card);
    border: 1px solid var(--mh-border-dark);
    color: var(--mh-text-body);
}
.mh-proj-modal .modal-header { padding: 1.5rem 1.5rem .75rem; }
.mh-proj-modal .modal-body   { padding: 0 1.5rem 1rem; }
.mh-proj-modal .modal-footer { padding: .75rem 1.5rem 1.5rem; }
.mh-proj-modal .btn-close-white { filter: invert(1) grayscale(1) brightness(2); }

/* Light mode */
[data-theme="light"] .mh-proj-card {
    background: #fff;
    border-color: rgba(10,15,46,.1);
    box-shadow: 0 2px 12px rgba(10,15,46,.07);
}
[data-theme="light"] .mh-proj-card:hover { box-shadow: 0 10px 32px rgba(10,15,46,.15); }
[data-theme="light"] .mh-proj-thumbs { background: rgba(10,15,46,.08); }
[data-theme="light"] .mh-proj-tag {
    background: rgba(10,15,46,.06);
    border-color: rgba(10,15,46,.14);
    color: rgba(10,15,46,.6);
}
[data-theme="light"] .mh-proj-modal .modal-content {
    background: #f8faff;
    border-color: rgba(10,15,46,.12);
}

/* ============================================
   Page content (DB content)
   ============================================ */

.page-content { color: var(--mh-text-body); }
.page-content h2 { color: #fff; margin-bottom: 1rem; }
.page-content ul { padding-left: 1.5rem; }
.page-content p  { line-height: 1.8; color: var(--mh-text-body); }

/* ============================================
   Footer
   ============================================ */

.footer {
    margin-top: auto;
    flex-shrink: 0;
    background: var(--mh-navy-dark) !important;
    border-top: 1px solid var(--mh-border-dark);
    position: relative;
    overflow: visible;
}
.footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 50%, rgba(201,169,110,.06) 0%, transparent 40%);
    pointer-events: none;
}
.footer > * { position: relative; }
.footer h5, .footer h6 { color: #fff; }
.footer a:hover { color: var(--mh-gold-light) !important; }
.footer hr { border-color: var(--mh-border-dark) !important; }

/* ============================================
   Reveal on scroll
   ============================================ */

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s ease, transform .65s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ============================================
   Utility
   ============================================ */

.py-6 { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
.text-gold { color: var(--mh-gold) !important; }
.bg-navy-dark { background: var(--mh-navy-dark) !important; }

/* ============================================
   Domain search
   ============================================ */

.domain-search .card {
    background: var(--mh-navy-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    box-shadow: var(--mh-shadow-lg);
}
.domain-search input.form-control-lg {
    background: rgba(255,255,255,.06);
    border: 1.5px solid var(--mh-border-dark);
    color: #fff;
    border-radius: .75rem 0 0 .75rem;
    border-right: none;
    padding: 1rem 1.25rem;
}
.domain-search input.form-control-lg::placeholder { color: rgba(255,255,255,.35); }
.domain-search input.form-control-lg:focus {
    background: rgba(255,255,255,.08);
    border-color: var(--mh-gold);
    box-shadow: 0 0 0 3px rgba(201,169,110,.18);
    color: #fff;
}
.domain-search .btn-lg { border-radius: 0 .75rem .75rem 0; }
@media (max-width:767px) {
    .domain-search input.form-control-lg { border-radius: .75rem; border-right: 1.5px solid var(--mh-border-dark); }
    .domain-search .btn-lg { border-radius: .75rem; margin-top: .5rem; }
}

/* ============================================
   Admin panel
   ============================================ */

.admin-sidebar {
    background: var(--mh-navy-dark);
    min-height: 100vh;
    color: #cbd5e1;
}
.admin-sidebar a {
    color: #cbd5e1;
    text-decoration: none;
    display: block;
    padding: .65rem 1rem;
    border-radius: .5rem;
    margin-bottom: .15rem;
    transition: all .15s ease;
}
.admin-sidebar a:hover { background: rgba(255,255,255,.06); color: #fff; }
.admin-sidebar a.active {
    background: var(--mh-grad-primary);
    color: #fff;
    box-shadow: var(--mh-shadow-glow);
}
.admin-brand { padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 1rem; }

/* ============================================
   Üzemeltetés page — dark theme
   ============================================ */

.uzemeltetes-intro {
    padding: 70px 0;
    background: var(--mh-navy);
}
.uzemeltetes-intro h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
}
.uzemeltetes-intro p {
    color: var(--mh-text-body);
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 1.2rem;
}
.uzemeltetes-services {
    padding: 70px 0;
    background: var(--mh-navy-mid);
    border-top: 1px solid var(--mh-border-subtle);
}
.uzemeltetes-services h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2.5rem;
    text-align: center;
}
.uzemeltetes-tech {
    padding: 60px 0;
    background: var(--mh-navy-dark);
    border-top: 1px solid var(--mh-border-subtle);
}
.uzemeltetes-tech h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2rem;
    text-align: center;
}
.tech-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 12px;
}
.tech-badge {
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 8px 18px;
}
.uzemeltetes-cta {
    padding: 70px 0;
    text-align: center;
    background: var(--mh-navy-dark);
    border-top: 1px solid var(--mh-border-dark);
    position: relative;
}
.uzemeltetes-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, rgba(201,169,110,.12) 0%, transparent 55%);
}
.uzemeltetes-cta > .container { position: relative; }
.uzemeltetes-cta h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
}
.uzemeltetes-cta .btn-cta {
    background: var(--mh-grad-primary);
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 14px 40px;
    border-radius: 8px;
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: all .25s ease;
    box-shadow: var(--mh-shadow-glow);
}
.uzemeltetes-cta .btn-cta:hover {
    filter: brightness(1.1);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(201,169,110,.45);
}
.service-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 12px;
    padding: 32px 24px;
    transition: all .3s ease;
    cursor: default;
    box-shadow: var(--mh-shadow-card);
}
.service-card:hover {
    border-color: rgba(201,169,110,.4);
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,.5), 0 0 20px var(--mh-gold-glow);
}
.service-icon {
    font-size: 2.2rem;
    color: var(--mh-gold);
    margin-bottom: 1rem;
    display: block;
    transition: color .3s ease;
}
.service-card:hover .service-icon { color: var(--mh-gold-light); }
.service-card h5 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .75rem;
}
.service-card p {
    font-size: .92rem;
    color: var(--mh-text-muted);
    line-height: 1.7;
    margin-bottom: 0;
}

/* ============================================
   Parallax helper
   ============================================ */
.mh-parallax-bg { will-change: background-position-y; }

/* ============================================
   Swiper Hero Slider
   ============================================ */

.mh-hero-swiper-section {
    position: relative;
    background: var(--mh-navy-dark);
    margin-top: -1px;
}

.heroSwiper { width: 100%; }

.heroSwiper .swiper-slide {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #060b20 0%, #0a0f2e 50%, #0d1535 100%);
    overflow: hidden;
}

.mh-swiper-bg {
    position: absolute;
    inset: 0;
    background-color: var(--mh-navy-dark);
    background-image:
        radial-gradient(ellipse at 70% 50%, rgba(201,169,110,0.07) 0%, transparent 55%),
        radial-gradient(ellipse at 10% 80%, rgba(13,21,53,0.8) 0%, transparent 50%),
        linear-gradient(rgba(201,169,110,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201,169,110,0.03) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 55px 55px, 55px 55px;
    z-index: 0;
}
.mh-swiper-bg::after { display: none; }

.mh-swiper-content {
    position: relative;
    z-index: 1;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.mh-slide-text {
    max-width: 580px;
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity .7s ease .15s, transform .7s ease .15s;
}
.swiper-slide-active .mh-slide-text {
    opacity: 1;
    transform: translateX(0);
}
.mh-slide-text h1 {
    font-size: clamp(1.85rem, 4vw, 3rem);
    line-height: 1.1;
    color: #fff;
    margin-bottom: 1rem;
}
.mh-slide-text p {
    font-size: 1.05rem;
    color: rgba(255,255,255,.75);
    margin-bottom: 1.75rem;
    line-height: 1.7;
}

/* Visual right column wrap — holds image + floating stat boxes */
.mh-hero-visual-wrap {
    position: relative;
    padding: 2.5rem 1rem 2.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mh-slide-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 340px;
    width: 100%;
}
.mh-hero-png {
    max-height: 420px;
    max-width: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 24px 64px rgba(0,0,0,.7));
}

/* Floating stat boxes — glassmorphism */
.mh-stat-box {
    position: absolute;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(201,169,110,0.22);
    border-radius: 14px;
    padding: 12px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 120px;
    box-shadow: 0 8px 32px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .5s ease, transform .5s ease;
}
.swiper-slide-active .mh-stat-box {
    opacity: 1;
    transform: translateY(0);
}
.swiper-slide-active .mh-stat-box--2 { transition-delay: .15s; }

.mh-stat-box-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--mh-gold);
    line-height: 1;
}
.mh-stat-box-label {
    font-size: .75rem;
    color: rgba(255,255,255,.72);
    font-weight: 500;
    margin-top: .3rem;
    white-space: nowrap;
}

/* Float animation on active slide */
@keyframes floatBox {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-6px); }
}
.swiper-slide-active .mh-stat-box--1 {
    animation: floatBox 4s ease-in-out 0.5s infinite;
}
.swiper-slide-active .mh-stat-box--2 {
    animation: floatBox 4s ease-in-out 2.5s infinite;
}

/* Stat box positions */
.mh-stat-box--1 { top: 8%; left: -10px; }
.mh-stat-box--2 { bottom: 10%; right: -10px; }

/* ============================================
   Marquee location strip
   ============================================ */
.mh-marquee-section {
    background: var(--mh-navy-dark);
    border-top: 1px solid rgba(201,169,110,.1);
    border-bottom: 1px solid rgba(201,169,110,.1);
    padding: .85rem 0;
    overflow: hidden;
    user-select: none;
}
.mh-marquee-track {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    width: max-content;
    animation: marqueeScroll 32s linear infinite;
}
.mh-marquee-track:hover { animation-play-state: paused; }
.mh-marquee-item {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .84rem;
    font-weight: 500;
    color: rgba(255,255,255,.55);
    white-space: nowrap;
}
.mh-marquee-item .mh-m-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--mh-gold);
    opacity: .5;
    flex-shrink: 0;
}
@keyframes marqueeScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* Swiper pagination — gold dots */
.heroSwiper .swiper-pagination {
    bottom: 1.5rem;
}
.heroSwiper .swiper-pagination-bullet {
    width: 8px; height: 8px;
    background: rgba(255,255,255,.3);
    opacity: 1;
    transition: all .25s ease;
}
.heroSwiper .swiper-pagination-bullet-active {
    background: var(--mh-gold);
    width: 24px;
    border-radius: 4px;
}

/* Swiper navigation — gold arrows */
.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev {
    color: var(--mh-gold);
    width: 46px; height: 46px;
    background: rgba(6,11,32,.6);
    border: 1px solid rgba(201,169,110,.3);
    border-radius: 50%;
    transition: all .2s ease;
    backdrop-filter: blur(6px);
}
.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after { font-size: .95rem; font-weight: 800; }
.heroSwiper .swiper-button-next:hover,
.heroSwiper .swiper-button-prev:hover {
    background: rgba(201,169,110,.18);
    border-color: var(--mh-gold);
    box-shadow: 0 0 16px rgba(201,169,110,.3);
}

/* ---- ANIMATION 1: Float + Pulse (üzemeltetés) ---- */
@keyframes heroFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-18px); }
}
@keyframes heroPulse {
    0%, 100% { filter: drop-shadow(0 20px 60px rgba(0,0,0,.65)) drop-shadow(0 0 0 transparent); }
    50% { filter: drop-shadow(0 10px 40px rgba(0,0,0,.5)) drop-shadow(0 0 44px rgba(201,169,110,.5)); }
}
.mh-anim-float.mh-animate .mh-hero-png {
    animation: heroFloat 3s ease-in-out infinite, heroPulse 3s ease-in-out infinite;
}

/* ---- ANIMATION: Server slide — csak sima float, flash nélkül ---- */
.mh-anim-server .mh-hero-png {
    animation: heroFloat 4s ease-in-out infinite;
    border-radius: 12px;
    filter: drop-shadow(0 24px 64px rgba(0,0,0,.55));
}

/* ---- ANIMATION: Team slide — float + opacity breath ---- */
@keyframes teamBreath {
    0%, 100% { opacity: .9; }
    50%       { opacity: 1; }
}
.mh-anim-team.mh-animate .mh-hero-png {
    animation: heroFloat 4s ease-in-out infinite, teamBreath 4s ease-in-out infinite;
    border-radius: 12px;
}

/* ---- ANIMATION 3: Globe rotate + pulsing dots (domain) ---- */
@keyframes heroRotate {
    to { transform: rotate(360deg); }
}
.mh-anim-globe.mh-animate .mh-hero-png {
    animation: heroRotate 22s linear infinite;
}
.mh-pulse-dot {
    position: absolute;
    border-radius: 50%;
    background: var(--mh-gold);
    z-index: 3;
    pointer-events: none;
}
.mh-pd-1 { width: 10px; height: 10px; top: 22%;  left: 12%; }
.mh-pd-2 { width:  8px; height:  8px; top: 52%;  right: 10%; }
.mh-pd-3 { width: 12px; height: 12px; bottom: 22%; left: 28%; }
@keyframes dotPulse {
    0%, 100% { transform: scale(1); opacity: .5; box-shadow: 0 0 0 0 rgba(201,169,110,.4); }
    50% { transform: scale(1.7); opacity: 1; box-shadow: 0 0 0 10px rgba(201,169,110,0); }
}
.mh-anim-globe.mh-animate .mh-pulse-dot { animation: dotPulse 1.9s ease-in-out infinite; }
.mh-anim-globe.mh-animate .mh-pd-2 { animation-delay: .65s; }
.mh-anim-globe.mh-animate .mh-pd-3 { animation-delay: 1.3s; }

/* ---- ANIMATION 4: SSL activate + glow pulse ---- */
.mh-anim-ssl .mh-hero-png {
    opacity: 0.35;
    filter: drop-shadow(0 20px 60px rgba(0,0,0,.65));
}
@keyframes sslActivate {
    to {
        opacity: 1;
        filter: drop-shadow(0 20px 60px rgba(0,0,0,.5)) drop-shadow(0 0 32px rgba(201,169,110,.6));
    }
}
@keyframes sslGlowPulse {
    0%, 100% { filter: drop-shadow(0 0 16px rgba(201,169,110,.45)); }
    50% { filter: drop-shadow(0 0 55px rgba(201,169,110,.9)); }
}
.mh-anim-ssl.mh-animate .mh-hero-png {
    animation: sslActivate 1s ease .3s forwards, sslGlowPulse 2.5s ease-in-out 1.5s infinite;
}

/* ---- ANIMATION 5: Ascending gold dots (cloud) ---- */
.mh-dot {
    position: absolute;
    border-radius: 50%;
    background: var(--mh-gold);
    opacity: 0;
    z-index: 2;
    pointer-events: none;
}
.mh-dot-1 { width: 8px;  height: 8px;  bottom: 15%; left: 8%; }
.mh-dot-2 { width: 6px;  height: 6px;  bottom: 22%; left: 33%; }
.mh-dot-3 { width: 10px; height: 10px; bottom: 12%; right: 18%; }
.mh-dot-4 { width: 5px;  height: 5px;  bottom: 28%; right: 8%; }
.mh-dot-5 { width: 7px;  height: 7px;  bottom: 6%;  left: 52%; }
@keyframes ascendDot {
    0%   { opacity: 0; transform: translateY(0) scale(1); }
    15%  { opacity: .9; }
    85%  { opacity: .35; }
    100% { opacity: 0; transform: translateY(-140px) scale(.4); }
}
.mh-anim-cloud.mh-animate .mh-dot { animation: ascendDot 2.4s ease-in-out infinite; }
.mh-anim-cloud.mh-animate .mh-dot-2 { animation-delay: .5s; }
.mh-anim-cloud.mh-animate .mh-dot-3 { animation-delay: 1s; }
.mh-anim-cloud.mh-animate .mh-dot-4 { animation-delay: 1.5s; }
.mh-anim-cloud.mh-animate .mh-dot-5 { animation-delay: .3s; }

/* Mobile */
@media (max-width: 991px) {
    .heroSwiper .swiper-slide { min-height: auto; }
    .mh-swiper-content { padding-top: 3rem; padding-bottom: 3rem; }
    .mh-slide-text h1 { font-size: 1.75rem; }
    .mh-slide-visual { min-height: 260px; margin-bottom: 1rem; }
    .mh-hero-png { max-height: 280px; }
}
@media (max-width: 767px) {
    .heroSwiper .swiper-button-next,
    .heroSwiper .swiper-button-prev { display: none; }
    .mh-slide-text {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ============================================
   Blog — list cards
   ============================================ */

.mh-blog-cat-badge {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--mh-gold-dark);
    background: rgba(201,169,110,.12);
    border: 1px solid rgba(201,169,110,.25);
    border-radius: 999px;
    padding: .18rem .65rem;
    text-decoration: none;
    margin-right: .3rem;
    margin-bottom: .25rem;
    transition: all .15s ease;
}
.mh-blog-cat-badge:hover {
    background: rgba(201,169,110,.22);
    color: var(--mh-gold);
}

.mh-blog-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--mh-shadow-card);
    transition: transform .25s ease, box-shadow .25s ease;
}
.mh-blog-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--mh-shadow-lg);
}
.mh-blog-card-img-wrap { display: block; overflow: hidden; }
.mh-blog-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.mh-blog-card:hover .mh-blog-card-img { transform: scale(1.04); }
.mh-blog-card-img-placeholder {
    height: 140px;
    background: rgba(201,169,110,.07);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: rgba(201,169,110,.3);
}
.mh-blog-card-body { padding: 1.25rem 1.25rem .5rem; flex: 1; }
.mh-blog-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: .5rem;
    line-height: 1.35;
}
.mh-blog-card-title a {
    color: var(--mh-text-heading);
    text-decoration: none;
    transition: color .15s ease;
}
.mh-blog-card-title a:hover { color: var(--mh-gold); }
.mh-blog-card-excerpt {
    font-size: .88rem;
    color: var(--mh-text-muted);
    line-height: 1.65;
    margin-bottom: .75rem;
}
.mh-blog-card-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: .78rem;
    color: var(--mh-text-muted);
}
.mh-blog-card-footer {
    padding: .75rem 1.25rem 1.25rem;
    border-top: 1px solid var(--mh-border-subtle);
    margin-top: .5rem;
}
.mh-blog-pagination .page-link {
    background: var(--mh-navy-card);
    border-color: var(--mh-border-dark);
    color: var(--mh-text-body);
}
.mh-blog-pagination .page-item.active .page-link {
    background: var(--mh-grad-primary);
    border-color: var(--mh-gold);
    color: #fff;
}
.mh-blog-pagination .page-link:hover {
    background: rgba(201,169,110,.12);
    color: var(--mh-gold);
}

/* ============================================
   Blog — sidebar
   ============================================ */

.mh-blog-sidebar { position: sticky; top: 90px; }
.mh-sidebar-widget {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: .9rem;
    padding: 1.25rem 1.35rem;
    margin-bottom: 1.25rem;
    box-shadow: var(--mh-shadow-sm);
}
.mh-sidebar-title {
    font-size: .92rem;
    font-weight: 700;
    color: var(--mh-text-heading);
    margin-bottom: .9rem;
    padding-bottom: .6rem;
    border-bottom: 1px solid var(--mh-border-subtle);
}
.mh-sidebar-input {
    background: rgba(255,255,255,.06) !important;
    border-color: var(--mh-border-dark) !important;
    color: var(--mh-text-heading) !important;
    border-radius: .5rem 0 0 .5rem !important;
}
.mh-sidebar-input:focus {
    background: rgba(255,255,255,.09) !important;
    border-color: var(--mh-gold) !important;
    box-shadow: 0 0 0 2px rgba(201,169,110,.18) !important;
}
.mh-sidebar-list { list-style: none; padding: 0; margin: 0; }
.mh-sidebar-list li { border-bottom: 1px solid var(--mh-border-subtle); }
.mh-sidebar-list li:last-child { border-bottom: none; }
.mh-sidebar-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .55rem 0;
    color: var(--mh-text-body);
    text-decoration: none;
    font-size: .9rem;
    transition: color .15s ease;
}
.mh-sidebar-link:hover, .mh-sidebar-link.active { color: var(--mh-gold); }
.mh-sidebar-count {
    font-size: .72rem;
    background: rgba(201,169,110,.12);
    color: var(--mh-gold);
    border-radius: 999px;
    padding: .1rem .5rem;
    font-weight: 600;
}
.mh-tag-cloud { display: flex; flex-wrap: wrap; gap: .4rem; }
.mh-tag-badge {
    display: inline-block;
    font-size: .78rem;
    font-weight: 600;
    padding: .28rem .7rem;
    background: rgba(255,255,255,.05);
    border: 1px solid var(--mh-border-dark);
    border-radius: 999px;
    color: var(--mh-text-muted);
    text-decoration: none;
    transition: all .15s ease;
}
.mh-tag-badge:hover {
    background: rgba(201,169,110,.12);
    border-color: rgba(201,169,110,.35);
    color: var(--mh-gold);
}

/* ============================================
   Blog — single post
   ============================================ */

.mh-blog-post-title {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    line-height: 1.2;
    font-weight: 800;
    color: var(--mh-text-heading);
}
.mh-blog-post-meta {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    font-size: .85rem;
    color: var(--mh-text-muted);
}
.mh-blog-post-hero { border-radius: .75rem; overflow: hidden; }
.mh-blog-post-content {
    font-size: 1rem;
    line-height: 1.85;
    color: var(--mh-text-body);
}
.mh-blog-post-content h2 { font-size: 1.45rem; color: var(--mh-text-heading); margin: 2rem 0 .75rem; }
.mh-blog-post-content h3 { font-size: 1.2rem; color: var(--mh-text-heading); margin: 1.5rem 0 .6rem; }
.mh-blog-post-content p  { margin-bottom: 1.25rem; }
.mh-blog-post-content ul,
.mh-blog-post-content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.mh-blog-post-content li { margin-bottom: .4rem; }
.mh-blog-post-content blockquote {
    border-left: 3px solid var(--mh-gold);
    padding: .75rem 1.25rem;
    margin: 1.5rem 0;
    background: rgba(201,169,110,.06);
    border-radius: 0 .5rem .5rem 0;
    color: var(--mh-text-muted);
    font-style: italic;
}
.mh-blog-post-content code {
    background: rgba(255,255,255,.07);
    border-radius: .3rem;
    padding: .15rem .4rem;
    font-size: .88em;
    color: var(--mh-gold-light);
}
.mh-blog-post-content pre {
    background: var(--mh-navy-dark);
    border: 1px solid var(--mh-border-dark);
    border-radius: .6rem;
    padding: 1rem 1.25rem;
    overflow-x: auto;
    margin-bottom: 1.25rem;
}
.mh-blog-post-content pre code { background: none; padding: 0; color: var(--mh-text-body); }
.mh-blog-post-content a { color: var(--mh-gold); }
.mh-blog-post-content a:hover { color: var(--mh-gold-light); }
.mh-blog-post-content img { max-width: 100%; border-radius: .5rem; margin: 1rem 0; }
.mh-blog-post-content hr { border-color: var(--mh-border-dark); margin: 2rem 0; }

/* Share bar */
.mh-share-bar {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    position: relative;
}
.mh-share-label {
    font-size: .82rem;
    color: var(--mh-text-muted);
    font-weight: 500;
    margin-right: .25rem;
}
.mh-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 1px solid var(--mh-border-dark);
    background: transparent;
    color: var(--mh-text-muted);
    font-size: 1rem;
    text-decoration: none;
    cursor: pointer;
    transition: all .2s ease;
}
.mh-share-fb:hover  { background: #1877f2; border-color: #1877f2; color: #fff; }
.mh-share-tw:hover  { background: #000;    border-color: #000;    color: #fff; }
.mh-share-wa:hover  { background: #25d366; border-color: #25d366; color: #fff; }
.mh-share-copy:hover { background: rgba(201,169,110,.15); border-color: var(--mh-gold); color: var(--mh-gold); }
.mh-copy-feedback {
    font-size: .78rem;
    color: var(--mh-gold);
    font-weight: 600;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}
.mh-copy-feedback.visible { opacity: 1; }

/* Related posts */
.mh-related-card {
    display: flex;
    flex-direction: column;
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: .75rem;
    overflow: hidden;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}
.mh-related-card:hover { transform: translateY(-3px); box-shadow: var(--mh-shadow); }
.mh-related-img {
    height: 110px;
    background-size: cover;
    background-position: center;
}
.mh-related-img-placeholder {
    display: flex; align-items: center; justify-content: center;
    background: rgba(201,169,110,.07);
    color: rgba(201,169,110,.3);
    font-size: 1.8rem;
}
.mh-related-body { padding: .75rem; }
.mh-related-title {
    font-size: .85rem;
    font-weight: 600;
    color: var(--mh-text-heading);
    margin-bottom: .25rem;
    line-height: 1.35;
}
.mh-related-date { font-size: .72rem; color: var(--mh-text-muted); }

/* ============================================
   Blog light mode overrides
   ============================================ */

[data-theme="light"] .mh-blog-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 20px rgba(0,0,0,.07);
}
[data-theme="light"] .mh-sidebar-widget {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
}
[data-theme="light"] .mh-sidebar-input {
    background: rgba(0,0,0,.04) !important;
    border-color: rgba(0,0,0,.12) !important;
    color: #1a1a2e !important;
}
[data-theme="light"] .mh-tag-badge {
    background: rgba(0,0,0,.04);
    border-color: rgba(0,0,0,.1);
    color: rgba(26,26,46,.65);
}
[data-theme="light"] .mh-tag-badge:hover {
    background: rgba(201,169,110,.1);
    border-color: rgba(201,169,110,.4);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-blog-pagination .page-link {
    background: #ffffff;
    border-color: rgba(0,0,0,.1);
    color: rgba(26,26,46,.75);
}
[data-theme="light"] .mh-blog-post-content blockquote {
    background: rgba(201,169,110,.06);
}
[data-theme="light"] .mh-blog-post-content code {
    background: rgba(0,0,0,.06);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-blog-post-content pre {
    background: #f0f4ff;
    border-color: rgba(0,0,0,.1);
}
[data-theme="light"] .mh-share-btn {
    border-color: rgba(0,0,0,.12);
    color: rgba(26,26,46,.55);
}
[data-theme="light"] .mh-related-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
}

/* ============================================
   Ügyfélvélemények carousel
   ============================================ */

.mh-testimonials-section {
    background: var(--mh-navy-mid);
    border-top: 1px solid var(--mh-border-subtle);
}
.mh-testimonial-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1.1rem;
    padding: 2rem 1.75rem 1.75rem;
    box-shadow: var(--mh-shadow-card);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: transform .25s ease, box-shadow .25s ease;
}
.mh-testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mh-shadow-lg);
}
.mh-testimonial-quote {
    font-size: 4rem;
    line-height: .8;
    color: var(--mh-gold);
    opacity: .35;
    font-family: Georgia, serif;
    margin-bottom: .5rem;
    user-select: none;
}
.mh-testimonial-text {
    font-size: .96rem;
    color: var(--mh-text-body);
    line-height: 1.75;
    flex: 1;
    margin-bottom: 1.5rem;
}
.mh-testimonial-footer {
    display: flex;
    align-items: center;
    gap: .85rem;
    border-top: 1px solid var(--mh-border-subtle);
    padding-top: 1rem;
}
.mh-testimonial-avatar {
    width: 42px; height: 42px;
    border-radius: 50%;
    background: rgba(201,169,110,.12);
    border: 1px solid rgba(201,169,110,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--mh-gold);
    flex-shrink: 0;
}
.mh-testimonial-name {
    font-weight: 700;
    font-size: .92rem;
    color: var(--mh-text-heading);
}
.mh-testimonial-project {
    font-size: .78rem;
    color: var(--mh-text-muted);
    margin-top: .1rem;
}
.mh-testi-prev, .mh-testi-next {
    color: var(--mh-gold);
    width: 42px; height: 42px;
    background: rgba(6,11,32,.55);
    border: 1px solid rgba(201,169,110,.3);
    border-radius: 50%;
    backdrop-filter: blur(6px);
    transition: all .2s ease;
    top: 45%;
}
.mh-testi-prev::after, .mh-testi-next::after { font-size: .85rem; font-weight: 800; }
.mh-testi-prev:hover, .mh-testi-next:hover {
    background: rgba(201,169,110,.18);
    border-color: var(--mh-gold);
}
.mh-testi-pagination { bottom: 0; }
.mh-testi-pagination .swiper-pagination-bullet { background: rgba(255,255,255,.3); opacity:1; }
.mh-testi-pagination .swiper-pagination-bullet-active {
    background: var(--mh-gold);
    width: 20px;
    border-radius: 4px;
}

/* ============================================
   GYIK accordion
   ============================================ */

.mh-faq-accordion { max-width: 780px; margin: 0 auto; }
.mh-faq-item {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark) !important;
    border-radius: .9rem !important;
    margin-bottom: .65rem;
    overflow: hidden;
}
.mh-faq-btn {
    background: transparent !important;
    color: var(--mh-text-heading) !important;
    font-weight: 600;
    font-size: .97rem;
    padding: 1.1rem 1.35rem;
    box-shadow: none !important;
}
.mh-faq-btn:not(.collapsed) { color: var(--mh-gold) !important; }
.mh-faq-btn::after {
    filter: invert(1) sepia(1) saturate(2) hue-rotate(8deg) brightness(.9);
}
.mh-faq-body {
    color: var(--mh-text-body);
    font-size: .94rem;
    line-height: 1.75;
    padding: 0 1.35rem 1.2rem;
    background: transparent;
}

/* ============================================
   Theme toggle button
   ============================================ */

.mh-theme-toggle {
    background: transparent;
    border: 1px solid rgba(201,169,110,.3);
    border-radius: 6px;
    color: rgba(255,255,255,.7);
    padding: .2rem .55rem;
    cursor: pointer;
    transition: all .2s ease;
    line-height: 1.4;
    font-size: .88rem;
    vertical-align: middle;
}
.mh-theme-toggle:hover {
    border-color: var(--mh-gold);
    color: var(--mh-gold);
    background: rgba(201,169,110,.06);
}
[data-theme="light"] .mh-theme-toggle {
    border-color: rgba(0,0,0,.2);
    color: rgba(26,26,46,.65);
}
[data-theme="light"] .mh-theme-toggle:hover {
    border-color: var(--mh-gold-dark);
    color: var(--mh-gold-dark);
    background: rgba(201,169,110,.08);
}
.mh-icon-dark, .mh-icon-light { display: none; }
[data-theme="dark"]  .mh-icon-dark { display: inline; }
[data-theme="light"] .mh-icon-light { display: inline; }

/* ============================================
   Light Mode — [data-theme="light"]
   ============================================ */

[data-theme="light"] {
    --mh-navy:           #f0f4ff;
    --mh-navy-mid:       #e8eeff;
    --mh-navy-dark:      #e4eaff;
    --mh-navy-card:      #ffffff;
    --mh-navy-glass:     rgba(255,255,255,.9);

    --mh-text-body:      rgba(26,26,46,.82);
    --mh-text-muted:     rgba(26,26,46,.70);
    --mh-text-heading:   #1a1a2e;
    --mh-border-dark:    rgba(0,0,0,.1);
    --mh-border-subtle:  rgba(0,0,0,.07);

    --mh-grad-card:      linear-gradient(145deg, rgba(255,255,255,.99) 0%, rgba(248,249,255,.99) 100%);
    --mh-shadow-sm:      0 1px 3px rgba(0,0,0,.08);
    --mh-shadow:         0 4px 16px rgba(0,0,0,.1);
    --mh-shadow-lg:      0 20px 48px rgba(0,0,0,.15);
    --mh-shadow-card:    0 4px 24px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.9);
}

/* Hero slider — light mode */
[data-theme="light"] .mh-hero-swiper-section { background: #e8eeff; }
[data-theme="light"] .heroSwiper .swiper-slide {
    background: linear-gradient(135deg, #dde4f8 0%, #e8eeff 50%, #edf2ff 100%);
}
[data-theme="light"] .mh-swiper-bg {
    background-color: #e8eeff !important;
    background-image:
        radial-gradient(ellipse at 70% 50%, rgba(201,169,110,.08) 0%, transparent 55%),
        radial-gradient(ellipse at 10% 80%, rgba(200,210,240,.5) 0%, transparent 50%),
        linear-gradient(rgba(0,0,0,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.018) 1px, transparent 1px) !important;
}
[data-theme="light"] .mh-slide-text h1 { color: #1a1a2e; }
[data-theme="light"] .mh-slide-text p { color: rgba(26,26,46,.72); }
[data-theme="light"] .mh-eyebrow-light {
    background: rgba(201,169,110,.12);
    color: var(--mh-gold-dark);
    border-color: rgba(201,169,110,.28);
}
[data-theme="light"] .mh-hero-swiper-section .btn-outline-gold {
    color: rgba(26,26,46,.82);
    border-color: rgba(26,26,46,.25);
}
[data-theme="light"] .mh-hero-swiper-section .btn-outline-gold:hover {
    border-color: var(--mh-gold);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-stat-box {
    background: rgba(255,255,255,.72);
    border-color: rgba(201,169,110,.3);
    box-shadow: 0 8px 32px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.8);
}
[data-theme="light"] .mh-stat-box-label { color: rgba(26,26,46,.62); }
[data-theme="light"] .heroSwiper .swiper-button-next,
[data-theme="light"] .heroSwiper .swiper-button-prev {
    background: rgba(255,255,255,.82);
    border-color: rgba(0,0,0,.12);
    color: #1a1a2e;
}
[data-theme="light"] .heroSwiper .swiper-button-next:hover,
[data-theme="light"] .heroSwiper .swiper-button-prev:hover {
    background: rgba(255,255,255,.96);
    border-color: var(--mh-gold);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .heroSwiper .swiper-pagination-bullet {
    background: rgba(26,26,46,.25);
}
[data-theme="light"] .heroSwiper .swiper-pagination-bullet-active {
    background: var(--mh-gold-dark);
}

/* Topbar */
[data-theme="light"] .topbar,
[data-theme="light"] .topbar.bg-black {
    background: #dde4f8 !important;
    border-bottom-color: rgba(0,0,0,.08);
}
[data-theme="light"] .topbar a,
[data-theme="light"] .topbar .text-white-50 { color: rgba(26,26,46,.78) !important; }

/* Navbar */
[data-theme="light"] .mh-navbar {
    background: rgba(255,255,255,.97) !important;
    border-bottom-color: rgba(0,0,0,.1);
    box-shadow: 0 2px 16px rgba(0,0,0,.08);
}
[data-theme="light"] .mh-brand-name { color: #1a1a2e !important; }
[data-theme="light"] .mh-navbar .nav-link { color: rgba(26,26,46,.72) !important; }
[data-theme="light"] .mh-navbar .nav-link:hover,
[data-theme="light"] .mh-navbar .nav-link.active { color: var(--mh-gold-dark) !important; }
[data-theme="light"] .mh-navbar .nav-link::after { background: var(--mh-gold-dark); }
[data-theme="light"] .navbar-toggler { border-color: rgba(0,0,0,.15); }
[data-theme="light"] .navbar-toggler-icon {
    filter: invert(1) sepia(1) saturate(0) hue-rotate(0deg) brightness(.3);
}

/* Stats bar */
[data-theme="light"] .mh-stats-bar { background: #e4eaff; border-color: rgba(0,0,0,.08); }
[data-theme="light"] .mh-stat-num {
    background: linear-gradient(90deg, #1a1a2e, var(--mh-gold-dark));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* Marquee */
[data-theme="light"] .mh-marquee-section { background: #dde4f8; border-color: rgba(201,169,110,.15); }
[data-theme="light"] .mh-marquee-item { color: rgba(26,26,46,.70); }

/* Service cards */
[data-theme="light"] .mh-svc-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
[data-theme="light"] .mh-svc-card::before {
    background: linear-gradient(90deg, transparent, rgba(201,169,110,.18), transparent);
}
[data-theme="light"] .mh-svc-card h5 { color: #1a1a2e; }
[data-theme="light"] .mh-svc-card p { color: rgba(26,26,46,.72); }

/* Numbers / counter */
[data-theme="light"] .mh-numbers-section { background: #e8eeff; border-color: rgba(0,0,0,.07); }
[data-theme="light"] .mh-counter-num {
    background: linear-gradient(90deg, #1a1a2e, var(--mh-gold-dark));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
[data-theme="light"] .mh-counter-label { color: rgba(26,26,46,.72); }

/* Why section */
[data-theme="light"] .mh-why-section { background: #f4f7ff; }

/* Tech badges */
[data-theme="light"] .mh-tech-section { background: #edf0ff; border-color: rgba(0,0,0,.06); }
[data-theme="light"] .mh-tech-badge {
    background: rgba(0,0,0,.04);
    border-color: rgba(0,0,0,.1);
    color: rgba(26,26,46,.72);
}
[data-theme="light"] .mh-tech-badge:hover {
    background: rgba(201,169,110,.1);
    border-color: rgba(201,169,110,.4);
    color: var(--mh-gold-dark);
}

/* CTA section */
[data-theme="light"] .mh-cta-section { background: #e4eaff; border-color: rgba(0,0,0,.08); }

/* Footer */
[data-theme="light"] .footer { background: #dde4f8 !important; border-color: rgba(0,0,0,.1); }
[data-theme="light"] .footer h5,
[data-theme="light"] .footer h6 { color: #1a1a2e; }
[data-theme="light"] .footer .text-white-50 { color: rgba(26,26,46,.75) !important; }

/* Pricing cards */
[data-theme="light"] .pricing-card { background: #ffffff; border-color: rgba(0,0,0,.1); }

/* Üzemeltetés page */
[data-theme="light"] .uzemeltetes-intro { background: #f4f7ff; }
[data-theme="light"] .uzemeltetes-intro h2,
[data-theme="light"] .uzemeltetes-services h2,
[data-theme="light"] .uzemeltetes-tech h2,
[data-theme="light"] .uzemeltetes-cta h2 { color: #1a1a2e; }
[data-theme="light"] .uzemeltetes-services { background: #edf0ff; border-color: rgba(0,0,0,.06); }
[data-theme="light"] .uzemeltetes-tech { background: #e4eaff; border-color: rgba(0,0,0,.07); }
[data-theme="light"] .uzemeltetes-cta { background: #dde4f8; border-color: rgba(0,0,0,.08); }
[data-theme="light"] .service-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
[data-theme="light"] .service-card h5 { color: #1a1a2e; }
[data-theme="light"] .service-card p { color: rgba(26,26,46,.72); }

/* Domain search */
[data-theme="light"] .domain-search .card { background: #ffffff; border-color: rgba(0,0,0,.1); }
[data-theme="light"] .domain-search input.form-control-lg {
    background: rgba(0,0,0,.04);
    border-color: rgba(0,0,0,.12);
    color: #1a1a2e;
}
[data-theme="light"] .domain-search input.form-control-lg::placeholder { color: rgba(26,26,46,.4); }
[data-theme="light"] .domain-search input.form-control-lg:focus { background: #fff; color: #1a1a2e; }

/* Links */
[data-theme="light"] a { color: var(--mh-gold-dark); }
[data-theme="light"] a:hover { color: var(--mh-gold); }
[data-theme="light"] .page-content h2 { color: #1a1a2e; }

/* Testimonials */
[data-theme="light"] .mh-testimonials-section { background: #edf0ff; border-color: rgba(0,0,0,.06); }
[data-theme="light"] .mh-testimonial-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
[data-theme="light"] .mh-testimonial-footer { border-color: rgba(0,0,0,.07); }
[data-theme="light"] .mh-testi-prev,
[data-theme="light"] .mh-testi-next {
    background: rgba(255,255,255,.82);
    border-color: rgba(0,0,0,.12);
    color: #1a1a2e;
}
[data-theme="light"] .mh-testi-prev:hover,
[data-theme="light"] .mh-testi-next:hover {
    background: rgba(255,255,255,.96);
    border-color: var(--mh-gold);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-testi-pagination .swiper-pagination-bullet { background: rgba(26,26,46,.25); }

/* GYIK */
[data-theme="light"] .mh-faq-item {
    background: #ffffff;
    border-color: rgba(0,0,0,.1) !important;
}
[data-theme="light"] .mh-faq-btn { color: #1a1a2e !important; }
[data-theme="light"] .mh-faq-btn:not(.collapsed) { color: var(--mh-gold-dark) !important; }
[data-theme="light"] .mh-faq-btn::after { filter: none; }

/* Rólunk oldal */
[data-theme="light"] .page-content { color: rgba(26,26,46,.82); }

/* Page header banner — light mode */
[data-theme="light"] .page-header {
    background: linear-gradient(135deg, #c8d4f0 0%, #dde4f8 50%, #e4eaff 100%) !important;
}
[data-theme="light"] .page-header h1,
[data-theme="light"] .page-header h2 { color: #1a1a2e; }
[data-theme="light"] .page-header nav a { color: var(--mh-gold-dark) !important; }
[data-theme="light"] .page-header .text-white,
[data-theme="light"] .page-header .text-white-50 { color: rgba(26,26,46,.75) !important; }
[data-theme="light"] .page-header span[class*="text-white"] { color: rgba(26,26,46,.72) !important; }

/* Global text-white-50 / text-white fix in light mode */
[data-theme="light"] .text-white-50 { color: rgba(26,26,46,.68) !important; }
[data-theme="light"] .text-white    { color: #1a1a2e !important; }

/* Domain search input — light mode */
.mh-domain-search-input {
    background: rgba(255,255,255,.06);
    border: 1px solid var(--mh-border-dark);
    color: var(--mh-text-heading);
    border-radius: .6rem !important;
    font-size: 1.05rem;
}
[data-theme="light"] .mh-domain-search-input {
    background: rgba(255,255,255,.92) !important;
    border-color: rgba(0,0,0,.15) !important;
    color: #1a1a2e !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.06);
}
[data-theme="light"] .mh-domain-search-input::placeholder { color: rgba(26,26,46,.45); }
[data-theme="light"] .mh-domain-search-input:focus {
    background: #ffffff !important;
    border-color: var(--mh-gold) !important;
    box-shadow: 0 0 0 2px rgba(201,169,110,.18) !important;
}

/* Domain TLD alt cards hover — light mode */
[data-theme="light"] .mh-domain-alt-card {
    background: rgba(0,0,0,.03);
    border-color: rgba(0,0,0,.1);
}

/* Hosting page — light mode section backgrounds */
[data-theme="light"] .mh-hosting-hero { background: #f4f7ff; }
[data-theme="light"] .mh-hosting-features { background: #edf0ff; }

/* Üzemeltetés csomag kártyák — light mode list items */
[data-theme="light"] .mh-package-list-item { color: rgba(26,26,46,.78); }

/* ============================================
   Termékek — Highlight Cards (mhc-*)
   ============================================ */
.mh-highlight-card {
    position: relative;
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1.25rem;
    overflow: hidden;
    width: 100%;
    box-shadow: var(--mh-shadow-card);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.mh-highlight-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--mh-shadow-lg), 0 0 40px rgba(201,169,110,.1);
    border-color: rgba(201,169,110,.4);
}
.mhc-bg {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 30% 20%, rgba(201,169,110,.07) 0%, transparent 60%);
    pointer-events: none;
}
.mhc-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    animation: mhcOrbFloat 6s ease-in-out infinite;
}
.mhc-orb--1 {
    width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(201,169,110,.09) 0%, transparent 70%);
    top: -30px; right: -30px;
}
.mhc-orb--2 {
    width: 80px; height: 80px;
    background: radial-gradient(circle, rgba(100,149,237,.06) 0%, transparent 70%);
    bottom: 40px; left: -20px;
    animation-delay: -2s;
}
.mhc-orb--3 {
    width: 60px; height: 60px;
    background: radial-gradient(circle, rgba(201,169,110,.05) 0%, transparent 70%);
    bottom: -10px; right: 40px;
    animation-delay: -4s;
}
@keyframes mhcOrbFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50%       { transform: translateY(-8px) scale(1.08); }
}
.mhc-shimmer {
    position: absolute;
    top: 0; left: -100%;
    width: 60%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
    transform: skewX(-15deg);
    pointer-events: none;
    transition: left .65s ease;
}
.mh-highlight-card:hover .mhc-shimmer { left: 150%; }
.mhc-corner {
    position: absolute;
    width: 28px; height: 28px;
    border-color: rgba(201,169,110,.3);
    border-style: solid;
    pointer-events: none;
}
.mhc-corner--tl { top: 12px; left: 12px; border-width: 1.5px 0 0 1.5px; border-radius: .3rem 0 0 0; }
.mhc-corner--br { bottom: 12px; right: 12px; border-width: 0 1.5px 1.5px 0; border-radius: 0 0 .3rem 0; }
.mhc-body {
    position: relative;
    padding: 1.75rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    min-height: 280px;
}
.mhc-icon-wrap {
    position: relative;
    width: 56px; height: 56px;
    margin: 0 auto 1.25rem;
    display: flex; align-items: center; justify-content: center;
}
.mhc-icon-ring {
    position: absolute; inset: 0;
    border-radius: 50%;
    border: 1.5px solid rgba(201,169,110,.3);
}
.mhc-ring-ping  { animation: mhcRingPing  2.4s ease-out infinite; }
.mhc-ring-pulse { animation: mhcRingPulse 2.4s ease-out infinite; animation-delay: -1.2s; }
@keyframes mhcRingPing  { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(2);   opacity: 0; } }
@keyframes mhcRingPulse { 0% { transform: scale(1); opacity: .3; } 100% { transform: scale(1.7); opacity: 0; } }
.mhc-icon {
    position: relative;
    width: 44px; height: 44px;
    background: var(--mh-grad-primary);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.15rem; color: #fff;
    box-shadow: 0 4px 16px rgba(154,120,64,.4);
    z-index: 1;
}
.mhc-title {
    font-size: 1.05rem; font-weight: 700;
    color: var(--mh-text-heading);
    text-align: center; margin-bottom: .35rem;
}
.mhc-price {
    font-size: .92rem; font-weight: 600;
    color: var(--mh-gold);
    text-align: center; margin-bottom: .75rem;
}
.mhc-price--free { color: #22c55e; }
.mhc-desc {
    font-size: .88rem;
    color: var(--mh-text-muted);
    text-align: center; line-height: 1.65;
    flex: 1; margin-bottom: .75rem;
}
.mhc-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,169,110,.25), transparent);
    margin: .75rem 0;
}
.mhc-dots { display: flex; justify-content: center; gap: 4px; margin-bottom: .75rem; }
.mhc-dots span { width: 4px; height: 4px; border-radius: 50%; background: rgba(201,169,110,.35); }
.mhc-link {
    display: block; text-align: center;
    font-size: .85rem; font-weight: 600;
    color: var(--mh-gold-light);
    text-decoration: none;
    padding: .45rem;
    border: 1px solid rgba(201,169,110,.25);
    border-radius: .5rem;
    transition: all .2s ease;
    margin-top: auto;
}
.mhc-link:hover {
    background: rgba(201,169,110,.1);
    border-color: var(--mh-gold);
    color: var(--mh-gold);
}
[data-theme="light"] .mh-highlight-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
[data-theme="light"] .mh-highlight-card:hover { border-color: rgba(201,169,110,.45); }
[data-theme="light"] .mhc-title { color: #1a1a2e; }
[data-theme="light"] .mhc-desc  { color: rgba(26,26,46,.72); }
[data-theme="light"] .mhc-link  { color: var(--mh-gold-dark); border-color: rgba(201,169,110,.3); }
[data-theme="light"] .mhc-link:hover { color: var(--mh-gold-dark); }

/* ============================================
   Feature cards — Termékek oldal
   ============================================ */
.feature-card {
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    padding: 1.75rem;
    background: var(--mh-grad-card);
    transition: all .25s ease;
    height: 100%;
    box-shadow: var(--mh-shadow-sm);
}
.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--mh-shadow-lg);
    border-color: rgba(201,169,110,.3);
}
.feature-card h5 { color: var(--mh-text-heading); margin-bottom: .4rem; }
.feature-card p  { color: var(--mh-text-muted); }

.feature-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
.feature-icon.bg-grad-1 { background: var(--mh-grad-primary); }
.feature-icon.bg-grad-2 { background: var(--mh-grad-purple); }
.feature-icon.bg-grad-3 { background: var(--mh-grad-amber); }
.feature-icon.bg-grad-4 { background: var(--mh-grad-emerald); }

[data-theme="light"] .feature-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 20px rgba(0,0,0,.07);
}
[data-theme="light"] .feature-card:hover { border-color: rgba(201,169,110,.35); }
[data-theme="light"] .feature-card h5 { color: #1a1a2e; }
[data-theme="light"] .feature-card p  { color: rgba(26,26,46,.72); }

/* ============================================
   Testimonial cards — Főoldal ügyfélvélemények
   ============================================ */
.testimonial-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    padding: 1.75rem;
    height: 100%;
    transition: all .25s ease;
    position: relative;
    box-shadow: var(--mh-shadow-sm);
}
.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mh-shadow-lg);
    border-color: rgba(201,169,110,.25);
}
.testimonial-card::before {
    content: '\201C';
    position: absolute;
    top: -6px; left: 18px;
    font-family: serif;
    font-size: 5rem;
    color: var(--mh-gold);
    opacity: .18;
    line-height: 1;
    pointer-events: none;
}
.testimonial-stars { color: #f59e0b; letter-spacing: 2px; font-size: 1rem; }
.testimonial-card p  { color: var(--mh-text-body); font-size: .93rem; line-height: 1.7; }
.testimonial-card strong { color: var(--mh-text-heading); }
.testimonial-card small  { color: var(--mh-text-muted); font-size: .8rem; }

[data-theme="light"] .testimonial-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 4px 20px rgba(0,0,0,.07);
}
[data-theme="light"] .testimonial-card:hover { border-color: rgba(201,169,110,.3); }
[data-theme="light"] .testimonial-card p      { color: rgba(26,26,46,.80); }
[data-theme="light"] .testimonial-card strong { color: #1a1a2e; }
[data-theme="light"] .testimonial-card small  { color: rgba(26,26,46,.65); }

/* ============================================
   TESTIMONIALS — 3 oszlopos végtelen scroll
   ============================================ */
@keyframes mhTestiScroll {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.mh-testi-scroll-section {
    background: var(--mh-navy-mid);
    border-top: 1px solid var(--mh-border-subtle);
    border-bottom: 1px solid var(--mh-border-subtle);
}

.mh-testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-height: 580px;
    overflow: hidden;
    position: relative;
}
.mh-testi-grid::before,
.mh-testi-grid::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    height: 80px;
    z-index: 2;
    pointer-events: none;
}
.mh-testi-grid::before {
    top: 0;
    background: linear-gradient(to bottom, var(--mh-navy-mid), transparent);
}
.mh-testi-grid::after {
    bottom: 0;
    background: linear-gradient(to top, var(--mh-navy-mid), transparent);
}

.mh-testi-col { overflow: hidden; }

.mh-testi-track {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    animation: mhTestiScroll linear infinite;
    will-change: transform;
}
.mh-testi-col:nth-child(2) .mh-testi-track {
    animation-direction: reverse;
}
.mh-testi-col:hover .mh-testi-track { animation-play-state: paused; }

.mh-testi-card {
    background: var(--mh-card-bg);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    padding: 1.5rem;
    flex-shrink: 0;
    transition: border-color .25s;
}
.mh-testi-card:hover { border-color: rgba(201,169,110,.35); }

.mh-testi-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(201,169,110,.25);
}
.mh-testi-card p { font-size: .88rem; line-height: 1.7; color: var(--mh-text-body); }
.mh-testi-card strong { color: var(--mh-text-heading); font-size: .9rem; }
.mh-testi-card small { color: var(--mh-text-muted); font-size: .78rem; }
.mh-testi-card small.text-muted { color: rgba(255,255,255,.78) !important; }

@media (max-width: 767px) {
    .mh-testi-grid { grid-template-columns: 1fr; max-height: 420px; }
    .mh-testi-col:nth-child(2),
    .mh-testi-col:nth-child(3) { display: none; }
}

/* Light mode */
[data-theme="light"] .mh-testi-scroll-section { background: #edf0ff; border-color: rgba(0,0,0,.07); }
[data-theme="light"] .mh-testi-grid::before { background: linear-gradient(to bottom, #edf0ff, transparent); }
[data-theme="light"] .mh-testi-grid::after  { background: linear-gradient(to top,   #edf0ff, transparent); }
[data-theme="light"] .mh-testi-card {
    background: #ffffff;
    border-color: rgba(0,0,0,.09);
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
[data-theme="light"] .mh-testi-card p      { color: rgba(26,26,46,.78); }
[data-theme="light"] .mh-testi-card strong { color: #1a1a2e; }
[data-theme="light"] .mh-testi-card small  { color: rgba(26,26,46,.60); }

/* Slide 2 csapat-kép középen */
.mh-team-center-img {
    max-height: 420px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 40px rgba(0,0,0,.45));
}
.mh-team-slide-wrap { position: relative; }

/* ============================================
   FOOTER — újratervezett 4-oszlopos lábléc
   ============================================ */
.mh-footer { position: relative; overflow: visible; }

.mh-footer-blur {
    position: absolute;
    top: -80px; left: -80px;
    width: 340px; height: 340px;
    background: radial-gradient(circle, rgba(201,169,110,.12) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    filter: blur(40px);
}

.mh-footer-brand { color: #fff; }

.mh-footer-heading {
    color: var(--mh-gold);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mh-footer-muted { color: rgba(255,255,255,.52); }

/* Footer nav links */
.mh-footer-links { margin: 0; padding: 0; }
.mh-footer-links li { margin-bottom: .55rem; }
.mh-footer-links li a {
    color: rgba(255,255,255,.62);
    text-decoration: none;
    font-size: .88rem;
    position: relative;
    padding-bottom: 1px;
    transition: color .2s;
}
.mh-footer-links li a::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 0; height: 1px;
    background: var(--mh-gold);
    transition: width .25s ease;
}
.mh-footer-links li a:hover { color: var(--mh-gold-light); }
.mh-footer-links li a:hover::after { width: 100%; }

/* Footer contact list */
.mh-footer-contact { margin: 0; padding: 0; }
.mh-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: .75rem;
    font-size: .88rem;
    color: rgba(255,255,255,.62);
}
.mh-footer-contact li i {
    color: var(--mh-gold);
    font-size: .9rem;
    flex-shrink: 0;
    margin-top: .15em;
}
.mh-footer-contact li a {
    color: rgba(255,255,255,.62);
    text-decoration: none;
    transition: color .2s;
}
.mh-footer-contact li a:hover { color: var(--mh-gold-light); }

/* Social buttons */
.mh-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 1.5px solid rgba(201,169,110,.35);
    color: rgba(255,255,255,.7);
    font-size: .95rem;
    text-decoration: none;
    transition: background .22s, border-color .22s, color .22s, transform .18s;
}
.mh-social-btn:hover {
    background: var(--mh-gold);
    border-color: var(--mh-gold);
    color: #0a0f2e;
    transform: translateY(-2px);
}

/* Theme toggle in footer */
/* Footer "Maradj kapcsolatban" heading */
.mh-footer-stay-heading {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .4rem;
    line-height: 1.3;
}

/* Pill theme toggle (sun | track | moon) */
.mh-theme-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: rgba(255,255,255,.5);
}
.mh-theme-pill .bi { font-size: .85rem; line-height: 1; }
.mh-theme-pill-track {
    width: 42px;
    height: 22px;
    border-radius: 11px;
    background: rgba(201,169,110,.18);
    border: 1.5px solid rgba(201,169,110,.4);
    position: relative;
    cursor: pointer;
    transition: background .2s;
    flex-shrink: 0;
    padding: 0;
}
.mh-theme-pill-track::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mh-gold);
    top: 50%;
    left: calc(100% - 17px); /* dark mode: thumb RIGHT = moon active */
    transform: translateY(-50%);
    transition: left .2s;
}
[data-theme="light"] .mh-theme-pill-track::after {
    left: 1px; /* light mode: thumb LEFT = sun active */
}
[data-theme="light"] .mh-theme-pill { color: rgba(26,26,46,.5); }
[data-theme="light"] .mh-theme-pill-track { background: rgba(0,0,0,.07); border-color: rgba(0,0,0,.2); }
[data-theme="light"] .mh-theme-pill-track::after { background: #0a0f2e; }

/* Social icons unconfigured state */
.mh-social-btn--empty {
    opacity: .2;
    pointer-events: none;
    cursor: default;
}

/* Newsletter input */
.mh-footer-input {
    background: rgba(255,255,255,.07) !important;
    border: 1.5px solid rgba(255,255,255,.14) !important;
    color: #fff !important;
    border-radius: .5rem !important;
    font-size: .88rem;
    transition: border-color .2s, background .2s;
}
.mh-footer-input::placeholder { color: rgba(255,255,255,.35) !important; }
.mh-footer-input:focus {
    border-color: rgba(201,169,110,.55) !important;
    background: rgba(255,255,255,.1) !important;
    box-shadow: 0 0 0 3px rgba(201,169,110,.1) !important;
    outline: none;
}
.mh-newsletter-btn {
    flex-shrink: 0;
    border-radius: .5rem !important;
    padding: .45rem .75rem;
}

/* Divider */
.mh-footer-divider {
    border: none;
    border-top: 1px solid rgba(201,169,110,.15);
}

/* Legal links */
.mh-footer-legal {
    color: rgba(255,255,255,.45);
    text-decoration: none;
    font-size: .8rem;
    transition: color .2s;
}
.mh-footer-legal:hover { color: var(--mh-gold-light); }
.mh-footer-admin { opacity: .55; }
.mh-footer-admin:hover { opacity: 1; }

/* Light mode footer overrides */
[data-theme="light"] .mh-footer { background: #dde4f8 !important; border-color: rgba(0,0,0,.1); }
[data-theme="light"] .mh-footer-blur {
    background: radial-gradient(circle, rgba(201,169,110,.18) 0%, transparent 70%);
}
[data-theme="light"] .mh-footer-brand { color: #1a1a2e; }
[data-theme="light"] .mh-footer-muted { color: rgba(26,26,46,.60); }
[data-theme="light"] .mh-footer-links li a { color: rgba(26,26,46,.65); }
[data-theme="light"] .mh-footer-links li a:hover { color: var(--mh-gold-dark); }
[data-theme="light"] .mh-footer-contact li { color: rgba(26,26,46,.65); }
[data-theme="light"] .mh-footer-contact li a { color: rgba(26,26,46,.65); }
[data-theme="light"] .mh-footer-contact li a:hover { color: var(--mh-gold-dark); }
[data-theme="light"] .mh-social-btn {
    border-color: rgba(26,26,46,.2);
    color: rgba(26,26,46,.65);
}
[data-theme="light"] .mh-social-btn:hover {
    background: var(--mh-gold);
    border-color: var(--mh-gold);
    color: #fff;
}
[data-theme="light"] .mh-theme-toggle-footer {
    background: rgba(26,26,46,.06);
    border-color: rgba(26,26,46,.14);
    color: rgba(26,26,46,.70);
}
[data-theme="light"] .mh-theme-toggle-footer:hover {
    background: rgba(201,169,110,.15);
    border-color: rgba(201,169,110,.4);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-footer-input {
    background: rgba(26,26,46,.06) !important;
    border-color: rgba(26,26,46,.15) !important;
    color: #1a1a2e !important;
}
[data-theme="light"] .mh-footer-input::placeholder { color: rgba(26,26,46,.40) !important; }
[data-theme="light"] .mh-footer-input:focus {
    background: rgba(255,255,255,.7) !important;
    border-color: rgba(201,169,110,.55) !important;
}
[data-theme="light"] .mh-footer-divider { border-color: rgba(26,26,46,.12); }
[data-theme="light"] .mh-footer-legal { color: rgba(26,26,46,.50); }
[data-theme="light"] .mh-footer-legal:hover { color: var(--mh-gold-dark); }

/* =========================================================
   TECH MARQUEE (Stack szekció + Üzemeltetés)
   ========================================================= */
.mh-tech-marquee-wrap {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.mh-tech-marquee-track {
    display: flex;
    gap: 0.75rem;
    width: max-content;
    animation: mhTechScroll 40s linear infinite;
}
.mh-tech-marquee-track:hover { animation-play-state: paused; }
@keyframes mhTechScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.mh-tech-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 1.1rem;
    border-radius: 2rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    color: var(--mh-text-muted);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
    letter-spacing: .01em;
    transition: background .2s, border-color .2s, color .2s;
}
.mh-tech-badge-item:hover {
    background: rgba(201,169,110,.12);
    border-color: rgba(201,169,110,.35);
    color: var(--mh-gold);
}
.mh-m-icon {
    font-size: .9em;
    opacity: .75;
}
/* Fordított irány üzemeltetés oldalon */
.mh-marquee-reverse .mh-marquee-track {
    animation-direction: reverse;
    animation-duration: 35s;
}

/* =========================================================
   KAPCSOLAT OLDAL (Elérhetőségek)
   ========================================================= */

/* Kártya */
.mh-contact-card {
    background: var(--mh-grad-card);
    border: 1px solid var(--mh-border-dark);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: var(--mh-shadow-card);
}
.mh-contact-card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--mh-gold);
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--mh-border-dark);
}

/* Kapcsolati adatok */
.mh-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.mh-contact-icon {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    border-radius: .6rem;
    background: rgba(201,169,110,.12);
    border: 1px solid rgba(201,169,110,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mh-gold);
    font-size: 1.1rem;
}
.mh-contact-label {
    font-size: .75rem;
    font-weight: 600;
    color: var(--mh-text-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .15rem;
}
.mh-contact-value {
    font-size: .97rem;
    font-weight: 500;
    color: var(--mh-text-body);
    text-decoration: none;
}
a.mh-contact-value:hover { color: var(--mh-gold-light); }
.mh-contact-hours {
    margin-top: 1.75rem;
    padding: 1rem 1.1rem;
    background: rgba(201,169,110,.07);
    border-left: 3px solid var(--mh-gold);
    border-radius: .4rem;
    font-size: .88rem;
    color: var(--mh-text-muted);
    line-height: 1.6;
}

/* Értesítő sávok */
.mh-contact-success {
    background: rgba(16,185,129,.12);
    border: 1px solid rgba(16,185,129,.3);
    border-radius: .6rem;
    padding: .85rem 1rem;
    color: #6ee7b7;
    font-size: .92rem;
    margin-bottom: 1.25rem;
}
.mh-contact-error {
    background: rgba(239,68,68,.1);
    border: 1px solid rgba(239,68,68,.3);
    border-radius: .6rem;
    padding: .85rem 1rem;
    color: #fca5a5;
    font-size: .92rem;
    margin-bottom: 1.25rem;
}

/* Form */
.mh-contact-form { display: flex; flex-direction: column; gap: .9rem; }
.mh-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
@media (max-width: 576px) { .mh-contact-row { grid-template-columns: 1fr; } }
.mh-contact-field { display: flex; flex-direction: column; gap: .35rem; }
.mh-contact-field label {
    font-size: .8rem;
    font-weight: 600;
    color: var(--mh-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.mh-contact-req { color: var(--mh-gold); margin-left: .1rem; }
.mh-contact-field input,
.mh-contact-field textarea {
    background: rgba(255,255,255,.04);
    border: 1px solid var(--mh-border-subtle);
    border-radius: .5rem;
    padding: .65rem .9rem;
    color: var(--mh-text-body);
    font-size: .93rem;
    width: 100%;
    transition: border-color .2s, box-shadow .2s;
    font-family: inherit;
}
.mh-contact-field input:focus,
.mh-contact-field textarea:focus {
    outline: none;
    border-color: rgba(201,169,110,.5);
    box-shadow: 0 0 0 3px rgba(201,169,110,.12);
    background: rgba(255,255,255,.06);
}
.mh-contact-field input::placeholder,
.mh-contact-field textarea::placeholder { color: rgba(255,255,255,.3); }
.mh-contact-field textarea { resize: vertical; min-height: 110px; }

/* Küldés gomb */
.mh-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .75rem 2rem;
    background: var(--mh-grad-primary);
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    border: none;
    border-radius: .6rem;
    cursor: pointer;
    transition: opacity .2s, transform .15s, box-shadow .2s;
    box-shadow: var(--mh-shadow-glow);
    align-self: flex-start;
}
.mh-contact-submit:hover {
    opacity: .9;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(201,169,110,.4);
}

/* ---- Light mode overrides ---- */
[data-theme="light"] .mh-contact-card {
    background: #fff;
    border-color: rgba(0,0,0,.08);
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
[data-theme="light"] .mh-contact-card-title { color: var(--mh-gold-dark); }
[data-theme="light"] .mh-contact-icon {
    background: rgba(154,120,64,.1);
    border-color: rgba(154,120,64,.2);
    color: var(--mh-gold-dark);
}
[data-theme="light"] .mh-contact-label { color: #6b7280; }
[data-theme="light"] .mh-contact-value { color: #1a1a2e; }
[data-theme="light"] .mh-contact-hours {
    background: rgba(154,120,64,.07);
    border-color: var(--mh-gold-dark);
    color: #4b5563;
}
[data-theme="light"] .mh-contact-field input,
[data-theme="light"] .mh-contact-field textarea {
    background: #f9fafb;
    border-color: #d1d5db;
    color: #1a1a2e;
}
[data-theme="light"] .mh-contact-field input:focus,
[data-theme="light"] .mh-contact-field textarea:focus {
    border-color: var(--mh-gold-dark);
    box-shadow: 0 0 0 3px rgba(154,120,64,.12);
    background: #fff;
}
[data-theme="light"] .mh-contact-field input::placeholder,
[data-theme="light"] .mh-contact-field textarea::placeholder { color: #9ca3af; }
[data-theme="light"] .mh-contact-submit {
    background: var(--mh-grad-primary);
    box-shadow: 0 4px 12px rgba(154,120,64,.3);
}
