/* MeGiWeb UX polish: contact experience, Material fields and success feedback. */
.contact-section {
    position: relative;
    overflow: hidden;
    padding-top: 76px;
    padding-bottom: 86px;
    background:
        radial-gradient(circle at 12% 14%, rgba(33,150,243,.12), transparent 30%),
        radial-gradient(circle at 88% 82%, rgba(0,184,169,.11), transparent 31%),
        #f7fafc;
}
.contact-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .35;
    background-image: radial-gradient(rgba(33,150,243,.23) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}
.contact-header { position: relative; z-index: 1; }
.contact-lead { max-width: 720px; margin: -24px auto 34px; color: #64748b; text-align: center; line-height: 1.65; }
.contact-experience { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr); gap: 32px; max-width: 1120px; margin: 0 auto; align-items: stretch; }
.contact-visual, .contact-container { border: 1px solid rgba(148,163,184,.22); border-radius: 24px; box-shadow: 0 22px 55px rgba(15,23,42,.10); }
.contact-visual { position: relative; min-height: 520px; overflow: hidden; padding: 28px; background: linear-gradient(145deg,#0d4775 0%,#0b6ba1 48%,#0a867f 100%); color: #fff; }
.contact-visual::after { content:""; position:absolute; inset:auto -70px -90px auto; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,.08); }
.contact-orbit-svg { display: block; width: 100%; height: 320px; overflow: visible; }
.contact-orbit { fill:none; stroke:rgba(255,255,255,.20); stroke-width:1.4; stroke-dasharray:6 8; transform-origin:260px 210px; animation: contactSpin 18s linear infinite; }
.contact-orbit-b { animation-direction: reverse; animation-duration: 13s; }
.contact-route { fill:none; stroke:rgba(255,255,255,.36); stroke-width:2; stroke-linecap:round; stroke-dasharray:5 9; }
.contact-node { fill:#fff; opacity:.92; transform-origin:center; animation: contactNodePulse 2.8s ease-in-out infinite; }
.contact-node-b { animation-delay:.7s; }.contact-node-c { animation-delay:1.25s; }
.contact-node-main { filter: drop-shadow(0 12px 24px rgba(0,0,0,.22)); animation: contactCorePulse 3s ease-in-out infinite; }
.contact-envelope { fill:none; stroke:#fff; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.contact-traveller { fill:#b7fff5; }
.contact-visual-copy { position: relative; z-index: 2; margin-top: -8px; }
.contact-kicker { display:inline-flex; padding:6px 10px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.09); font-size:11px; font-weight:800; letter-spacing:.08em; }
.contact-visual-copy h3 { margin:15px 0 10px; font-size:28px; line-height:1.18; }
.contact-visual-copy p { margin:0; color:rgba(255,255,255,.84); line-height:1.65; }
.contact-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.contact-chips span { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.10); font-size:12px; font-weight:700; }
.contact-container { max-width:none; margin:0; padding:34px 36px; background:rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.contact-consent { margin: 10px 0 8px; color:#475569; font-size:13px; line-height:1.45; }
.contact-submit-btn { margin-top:18px; min-height:48px; border-radius:12px !important; box-shadow:0 10px 24px rgba(33,150,243,.22) !important; }


.registration-success { padding-top: 30px; }
.registration-success-visual { width:150px; height:150px; margin:0 auto 4px; }
.registration-success-svg { width:100%; height:100%; overflow:visible; }
.success-ring { fill:none; stroke:#38b27d; transform-origin:90px 90px; }
.success-ring-outer { stroke-width:2; stroke-dasharray:7 9; opacity:.36; animation: successSpin 10s linear infinite; }
.success-ring-inner { stroke-width:3; opacity:.22; animation: successRing 2.4s ease-in-out infinite; }
.success-core { fill:#e9fbf3; stroke:#57c493; stroke-width:2; transform-origin:90px 90px; animation: successCore 2.1s ease-in-out infinite; }
.success-check { fill:none; stroke:#188c5a; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:70; stroke-dashoffset:70; animation: successDraw .75s .12s cubic-bezier(.2,.8,.2,1) forwards; }
.success-spark { fill:#2196f3; transform-origin:center; animation: successSpark 2s ease-in-out infinite; }
.spark-b{animation-delay:.45s}.spark-c{animation-delay:.9s}
.registration-success > p, .registration-success .ui-panelgroup > p { max-width:660px; margin:8px auto 10px; color:#64748b; line-height:1.62; }

@keyframes contactSpin { to { transform:rotate(360deg); } }
@keyframes contactNodePulse { 0%,100%{opacity:.55; transform:scale(.85)} 50%{opacity:1; transform:scale(1.12)} }
@keyframes contactCorePulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.055)} }
@keyframes successSpin { to{transform:rotate(360deg)} }
@keyframes successRing { 0%,100%{transform:scale(.94);opacity:.18} 50%{transform:scale(1.06);opacity:.42} }
@keyframes successCore { 0%,100%{transform:scale(.98)} 50%{transform:scale(1.035)} }
@keyframes successDraw { to{stroke-dashoffset:0} }
@keyframes successSpark { 0%,100%{opacity:.18;transform:scale(.65)} 50%{opacity:1;transform:scale(1.25)} }

@media (max-width: 900px) {
    .contact-experience { grid-template-columns:1fr; max-width:680px; }
    .contact-visual { min-height:430px; }
    .contact-orbit-svg { height:260px; }
}
@media (max-width: 600px) {
    .contact-section { padding:58px 14px 66px; }
    .contact-visual { padding:20px; min-height:390px; }
    .contact-container { padding:24px 18px; }
    .contact-visual-copy h3 { font-size:23px; }
}
@media (prefers-reduced-motion: reduce) {
    .contact-orbit,.contact-node,.contact-node-main,.success-ring,.success-core,.success-spark,.success-check { animation:none !important; }
    .success-check { stroke-dashoffset:0; }
}

/* Barion compliance / trust surfaces */
.barion-catalog-item,.barion-order-state{display:none!important}.barion-payment-badge{display:flex;align-items:center;gap:.85rem;margin-top:.85rem;padding:.8rem 1rem;border:1px solid rgba(9,99,170,.15);border-radius:12px;background:#fff}.barion-payment-badge img{width:min(280px,48%);height:auto;background:#101010;padding:.55rem .65rem;border-radius:10px}.barion-payment-badge span{line-height:1.45;color:#526575}.barion-footer-trust{display:grid;gap:.45rem;margin:1rem 0}.barion-footer-trust img{width:min(280px,100%);height:auto;background:#101010;padding:.45rem .55rem;border-radius:10px}.barion-footer-trust span{font-size:.82rem;opacity:.86}@media(max-width:640px){.barion-payment-badge{align-items:flex-start;flex-direction:column}.barion-payment-badge img{width:min(300px,100%)}}
.megi-reviews-section{position:relative;padding:96px 20px;background:linear-gradient(180deg,#f7f9fc 0%,#eef7ff 52%,#f7f9fc 100%);overflow:hidden;scroll-margin-top:90px}.megi-reviews-section::before,.megi-reviews-section::after{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.megi-reviews-section::before{width:360px;height:360px;right:-180px;top:-120px;background:radial-gradient(circle,rgba(33,150,243,.14),rgba(33,150,243,0) 70%)}.megi-reviews-section::after{width:280px;height:280px;left:-150px;bottom:-100px;background:radial-gradient(circle,rgba(16,185,129,.1),rgba(16,185,129,0) 72%)}.megi-reviews-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}.megi-reviews-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-bottom:30px}.megi-reviews-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.06);font-size:13px;font-weight:800;letter-spacing:.02em;color:#1976d2}.megi-reviews-heading h2{font-size:38px;line-height:1.12;color:#111827;margin:0 0 10px}.megi-reviews-heading p{max-width:720px;color:#64748b;font-size:16px;line-height:1.65;margin:0}.megi-review-overall{min-width:190px;padding:20px 22px;background:rgba(255,255,255,.9);border:1px solid rgba(33,150,243,.13);border-radius:22px;box-shadow:0 14px 40px rgba(15,23,42,.08);text-align:center}.megi-review-overall-score{display:flex;align-items:baseline;justify-content:center;gap:6px;color:#111827}.megi-review-overall-score strong{font-size:40px;line-height:1}.megi-review-overall-score span{font-size:15px;color:#64748b}.megi-review-overall-stars{display:flex;justify-content:center;gap:3px;margin:9px 0}.megi-review-overall small{color:#64748b;font-weight:700}.megi-review-star-svg{width:20px;height:20px;fill:#d7dee8;transition:transform .2s ease,fill .2s ease,filter .2s ease}.megi-review-star-svg.is-active{fill:#f5b301;filter:drop-shadow(0 2px 4px rgba(245,179,1,.25))}.megi-review-package-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.megi-review-package-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.07);box-shadow:0 5px 18px rgba(15,23,42,.04)}.megi-review-package-chip strong{color:#1e293b}.megi-review-package-chip span{font-size:13px;color:#64748b}.megi-review-package-chip i{color:#f5b301}.megi-review-card{scroll-snap-align:start;position:relative;display:flex;flex-direction:column;min-height:285px;padding:24px;border-radius:24px;background:rgba(255,255,255,.95);border:1px solid rgba(15,23,42,.07);box-shadow:0 16px 45px rgba(15,23,42,.08);overflow:hidden}.megi-review-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#2196f3,#10b981)}.megi-review-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.megi-review-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#e3f2fd,#eefcf7);color:#1976d2;font-weight:900;letter-spacing:.03em}.megi-review-person{min-width:0;flex:1}.megi-review-person strong{display:block;color:#111827;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.megi-review-person small{display:block;margin-top:3px;color:#64748b;font-size:12px}.megi-review-card-rating{display:flex;gap:2px}.megi-review-card-rating .megi-review-star-svg{width:16px;height:16px}.megi-review-message{margin:0;color:#475569;font-size:15px;line-height:1.72;flex:1}.megi-review-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid #eef2f7}.megi-review-package-badge,.megi-review-source-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:11px;font-weight:800}.megi-review-package-badge{padding:6px 9px;color:#1976d2;background:#eef7ff}.megi-review-source-badge{color:#64748b}.package-review-mini{display:flex;align-items:center;gap:7px;margin-top:13px;color:#64748b;font-size:12px;font-weight:700}.package-review-mini i{color:#f5b301}.package-review-action{margin-top:8px!important}.megi-review-dialog.ui-dialog{border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(15,23,42,.24)}.megi-review-dialog .ui-dialog-titlebar{padding:18px 22px;background:linear-gradient(135deg,#f8fbff,#eef8f5);border:0}.megi-review-dialog .ui-dialog-content{padding:0!important}.megi-review-form-shell{padding:24px}.megi-review-dialog-intro{display:flex;gap:16px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eef7ff,#f3fcf8);margin-bottom:20px}.megi-review-dialog-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:#fff;color:#1976d2;box-shadow:0 8px 24px rgba(33,150,243,.12)}.megi-review-dialog-icon svg{width:31px;height:31px}.megi-review-dialog-intro h3{margin:0 0 4px;color:#0f172a}.megi-review-dialog-intro p{margin:0;color:#64748b;font-size:13px;line-height:1.5}.megi-review-field{margin-bottom:18px}.megi-review-field label{display:block;margin-bottom:8px;color:#334155;font-size:13px;font-weight:800}.megi-review-field .ui-inputfield{width:100%;border-radius:12px}.megi-review-consent{display:flex;gap:10px;align-items:flex-start;color:#64748b;font-size:12px;line-height:1.5;margin:8px 0 20px}.megi-review-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.megi-review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.megi-review-empty-note{font-size:12px;color:#64748b}@media(max-width:760px){.megi-reviews-section{padding:72px 16px}.megi-reviews-heading{grid-template-columns:1fr}.megi-review-overall{justify-self:start}.megi-reviews-heading h2{font-size:31px}.megi-review-form-shell{padding:18px}.megi-review-dialog-intro{align-items:flex-start}.megi-review-dialog-actions{flex-direction:column-reverse}.megi-review-dialog-actions .ui-button{width:100%}}

/* Google Business Profile review integration */
.megi-review-source-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
    justify-content: flex-end;
}

.megi-review-overall-google {
    border-color: rgba(66, 133, 244, .28);
}

.megi-review-overall-google small,
.megi-review-source-google,
.megi-google-review-link {
    color: #1a73e8;
}

.megi-google-review-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .45rem;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.megi-google-review-link:hover {
    text-decoration: underline;
}

.megi-review-card-google {
    position: relative;
}

.megi-review-card-google::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    border-radius: inherit;
    background: linear-gradient(90deg, #4285f4, #34a853, #fbbc05, #ea4335);
}

.megi-review-avatar-google {
    background: #fff;
    color: #1a73e8;
    border: 1px solid rgba(66, 133, 244, .25);
}

@media (max-width: 900px) {
    .megi-review-source-summary {
        justify-content: stretch;
    }
    .megi-review-source-summary .megi-review-overall {
        flex: 1 1 220px;
    }
}

/* PrimeFaces rating, styled to keep the original MeGi star appearance. */
.megi-review-prime-rating.ui-rating{display:inline-flex;align-items:center;gap:7px}.megi-review-prime-rating .ui-rating-star{margin:0!important}.megi-review-prime-rating .ui-rating-star a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px}.megi-review-prime-rating .ui-rating-star .ui-icon{width:36px;height:36px;background:none!important;position:relative;overflow:visible}.megi-review-prime-rating .ui-rating-star .ui-icon:before{content:"\2605";display:block;font-size:36px;line-height:36px;color:#d9e1ea;text-shadow:0 0 0 #cbd5e1;transition:transform .18s ease,color .18s ease,filter .18s ease}.megi-review-prime-rating .ui-rating-star-on .ui-icon:before,.megi-review-prime-rating .ui-rating-star-hover .ui-icon:before{color:#f5b301;filter:drop-shadow(0 4px 7px rgba(245,179,1,.28));transform:translateY(-2px) scale(1.06)}.megi-review-prime-rating .ui-rating-star a:focus-visible{outline:2px solid #1976d2;outline-offset:2px}


/* Batch 7: prevent review metadata from squeezing or overflowing narrow cards. */
@media (max-width: 420px) {
    .megi-review-card-footer {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .megi-review-package-badge,
    .megi-review-source-badge {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}


/* Batch 9: mobile viewport, keyboard and safe-area hardening. */
.form-group,
.registration-field,
.calc-group,
.landing-contact-form .form-group {
    scroll-margin-block: 96px 24px;
}

@media (hover: none), (pointer: coarse) {
    .package-card:hover,
    .service-card:hover,
    .footer-project-link:hover {
        transform: none;
    }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 960px) {
    .hero-section {
        min-height: auto;
        padding-top: 104px;
        padding-bottom: 44px;
    }

    .nav-links.active {
        max-height: calc(100dvh - 112px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .registration-content,
    .registration-success {
        max-height: calc(100dvh - 72px);
    }
}

@media (max-width: 720px) {
    .marketing-consent-banner {
        max-height: calc(100dvh - 1rem);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@supports (padding: max(0px)) {
    @media (max-width: 720px) {
        .marketing-consent-banner {
            left: max(.5rem, env(safe-area-inset-left));
            right: max(.5rem, env(safe-area-inset-right));
            bottom: max(.5rem, env(safe-area-inset-bottom));
        }
    }
}

/* Shared MeGi auth artwork for the public registration flow. */
.service-registration-dialog.ui-dialog {
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 20px;
    background: #f8fafc;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
}

.service-registration-dialog .ui-dialog-titlebar {
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.service-registration-dialog .ui-dialog-content {
    background-color: #f8fafc;
    background-image:
        linear-gradient(rgba(248, 250, 252, 0.72), rgba(248, 250, 252, 0.72)),
        url("/jakarta.faces.resource/images/megi-auth-background.webp.xhtml");
    background-image:
        linear-gradient(rgba(248, 250, 252, 0.72), rgba(248, 250, 252, 0.72)),
        image-set(
            url("/jakarta.faces.resource/images/megi-auth-background.avif.xhtml") type("image/avif"),
            url("/jakarta.faces.resource/images/megi-auth-background.webp.xhtml") type("image/webp")
        );
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.service-registration-dialog .registration-content,
.service-registration-dialog .registration-success {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

@media (max-width: 768px) {
    .service-registration-dialog.ui-dialog {
        border-radius: 14px;
    }

    .service-registration-dialog .ui-dialog-content {
        background-position: center center;
    }

    .service-registration-dialog .registration-content,
    .service-registration-dialog .registration-success {
        background: rgba(255, 255, 255, 0.84);
    }
}

/* Catalog card hardening: CSC packages must not inherit the legacy fixed 240px .card shell. */
.services-section .service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-auto-rows:auto;align-items:stretch;gap:28px;max-width:1200px;margin-inline:auto}.services-section .service-card{min-width:0;width:100%;max-width:none;height:auto;align-self:stretch;background:#fff;border:1px solid rgba(33,150,243,.12);border-radius:12px;box-shadow:0 4px 12px rgba(15,23,42,.06);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.services-section .service-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(15,23,42,.1);border-color:rgba(33,150,243,.28)}.services-section .service-card .service-image{height:190px;min-height:190px;flex:0 0 190px;background:#edf6ff;overflow:hidden}.services-section .service-card .service-image img{width:100%;height:100%;object-fit:cover;display:block}.services-section .service-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin:16px 0 8px;gap:14px}.services-section .service-card .card-header-icon{display:inline-flex;align-items:center;justify-content:center;min-width:36px;width:36px;height:36px;border-radius:10px;background:#eef7ff;color:#1976d2;font-size:20px}.services-section .service-card .service-short-description,.services-section .service-card .card-content{overflow-wrap:anywhere}.services-section .service-card .card-content{flex:1}.services-section .service-card .button-container{margin:auto 16px 18px;width:auto}.services-section .service-card .service-action{width:100%;box-sizing:border-box}.services-section .service-card-unavailable{min-height:210px;justify-content:center;padding:28px}.services-section .service-card-unavailable .card-header{margin:12px 0 8px;padding:0}.services-section .service-card-unavailable .card-content{padding:0;flex:0;color:#52606d}.services-section .service-unavailable-icon{font-size:28px;color:#2196f3}@media(max-width:700px){.services-section .service-grid{grid-template-columns:1fr;gap:18px}.services-section .service-card .service-image{height:170px;min-height:170px;flex-basis:170px}}


/* PrimeFaces-native public form controls: ui-float-label, no runtime DOM wrapping. */
.contact-form .ui-float-label,
.registration-content .ui-float-label,
.landing-contact-form .ui-float-label {display:block;width:100%;margin-top:18px}
.contact-form .ui-float-label > .ui-inputfield,
.contact-form .ui-float-label > .ui-inputtextarea,
.registration-content .ui-float-label > .ui-inputfield,
.registration-content .ui-float-label > .ui-password,
.registration-content .ui-float-label > .ui-autocomplete,
.landing-contact-form .ui-float-label > .ui-inputfield,
.landing-contact-form .ui-float-label > .ui-inputtextarea {width:100%}
.contact-form .ui-inputfield,.contact-form .ui-inputtextarea,
.registration-content .ui-inputfield,.registration-content .ui-autocomplete-input,.registration-content .ui-password-input,
.landing-contact-form .ui-inputfield,.landing-contact-form .ui-inputtextarea {
    min-height:48px!important;border-radius:10px!important;border-color:#cbd5e1!important;background:#fff!important;
    transition:border-color .18s ease,box-shadow .18s ease!important
}
.contact-form .ui-inputtextarea,.landing-contact-form .ui-inputtextarea {min-height:132px!important;padding-top:14px!important}
.contact-form .ui-inputfield:focus,.contact-form .ui-inputtextarea:focus,
.registration-content .ui-inputfield:focus,.registration-content .ui-autocomplete-input:focus,.registration-content .ui-password-input:focus,
.landing-contact-form .ui-inputfield:focus,.landing-contact-form .ui-inputtextarea:focus {
    border-color:#2196f3!important;box-shadow:0 0 0 3px rgba(33,150,243,.11)!important
}
.contact-form .ui-float-label > label,.registration-content .ui-float-label > label,.landing-contact-form .ui-float-label > label {left:13px}
.registration-field {gap:2px}

/* Native PrimeFaces TabView keeps the previous package-overview visual hierarchy without a custom tab runtime. */
.megi-package-overview .megi-package-tabview.ui-tabs {display:flex;flex-direction:row;gap:26px;width:100%;border:0;background:transparent}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-panels {
    order:1;flex:1 1 auto;min-width:0;padding:28px 30px;border:1px solid #e6edf5;border-radius:18px;
    background:rgba(255,255,255,.96);box-shadow:0 10px 32px rgba(15,23,42,.06)
}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav {
    order:2;float:none!important;width:210px!important;min-width:210px;margin:0!important;padding:8px 0!important;
    display:flex;flex-direction:column;gap:10px;border:0!important;background:transparent!important
}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li {
    float:none!important;width:100%;margin:0!important;border:1px solid #e2e8f0!important;border-radius:12px!important;
    background:#fff!important;box-shadow:none!important
}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li > a {
    display:flex!important;align-items:center;gap:12px;width:100%;min-height:66px;padding:14px!important;color:#64748b!important;text-decoration:none
}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li > a::before {
    display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:.75rem;font-weight:800
}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(1) > a::before {content:"01"}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(2) > a::before {content:"02"}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(3) > a::before {content:"03"}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(1).ui-tabs-selected {border-color:var(--package-start)!important;background:var(--package-start-soft)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(2).ui-tabs-selected {border-color:var(--package-balance)!important;background:var(--package-balance-soft)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(3).ui-tabs-selected {border-color:var(--package-pro)!important;background:var(--package-pro-soft)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(1).ui-tabs-selected > a {color:var(--package-start)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(2).ui-tabs-selected > a {color:var(--package-balance)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(3).ui-tabs-selected > a {color:var(--package-pro)!important}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(1).ui-tabs-selected > a::before {background:var(--package-start);color:#fff}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(2).ui-tabs-selected > a::before {background:var(--package-balance);color:#fff}
.megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li:nth-child(3).ui-tabs-selected > a::before {background:var(--package-pro);color:#fff}
.megi-package-overview .megi-package-tabview .ui-tabs-panel {padding:0!important}
.megi-package-overview .overview-panel {animation:none}
.megi-package-overview .overview-panel-start {--overview-accent:var(--package-start);--overview-tint:var(--package-start-soft)}
.megi-package-overview .overview-panel-balance {--overview-accent:var(--package-balance);--overview-tint:var(--package-balance-soft)}
.megi-package-overview .overview-panel-pro {--overview-accent:var(--package-pro);--overview-tint:var(--package-pro-soft)}
@media(max-width:767.98px){
    .megi-package-overview .megi-package-tabview.ui-tabs{flex-direction:column;gap:16px}
    .megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav{order:1;width:100%!important;min-width:0;flex-direction:row;gap:8px;padding:0!important}
    .megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-panels{order:2;padding:20px;border-radius:14px;width:100%;}
    .megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li > a{justify-content:center;min-height:48px;padding:10px 8px!important}
    .megi-package-overview .megi-package-tabview.ui-tabs > .ui-tabs-nav > li > a::before{display:none}
}


/* PrimeFaces native rating skin */
.megi-review-prime-rating.ui-rating{display:inline-flex;align-items:center;gap:7px}
.megi-review-prime-rating .ui-rating-star{margin:0!important}
.megi-review-prime-rating .ui-rating-star a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px}
.megi-review-prime-rating .ui-rating-star .ui-icon{width:36px;height:36px;background:none!important;position:relative;overflow:visible}
.megi-review-prime-rating .ui-rating-star .ui-icon:before{content:"\2605";display:block;font-size:36px;line-height:36px;color:#d9e1ea;text-shadow:0 0 0 #cbd5e1;transition:transform .18s ease,color .18s ease,filter .18s ease}
.megi-review-prime-rating .ui-rating-star-on .ui-icon:before,.megi-review-prime-rating .ui-rating-star-hover .ui-icon:before{color:#f5b301;filter:drop-shadow(0 4px 7px rgba(245,179,1,.28));transform:translateY(-2px) scale(1.06)}
.megi-review-prime-rating .ui-rating-star a:focus-visible{outline:2px solid #1976d2;outline-offset:2px}


/* Main navigation */
.megi-navigation-form{width:100%;margin:0}
#navbar{padding:9px 24px}
#navbar.scrolled{padding:9px 24px}
#navbar .megi-navbar-shell{position:relative;display:flex;align-items:center;width:100%;max-width:1500px;min-height:54px;margin:0 auto;gap:18px}
#navbar .logo{display:flex;align-items:center;flex:0 0 150px;width:150px;min-width:150px}
#navbar .logo img{display:block;width:150px;max-width:100%;height:auto}
#navbar .megi-desktop-nav{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:2px;white-space:nowrap}
#navbar .megi-nav-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:9px 9px;border-radius:8px;color:var(--text-base);font-size:14px;font-weight:500;line-height:1;text-decoration:none;background:transparent;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
#navbar .megi-nav-link:hover,#navbar .megi-nav-link:focus-visible{background:rgba(33,150,243,.08);color:var(--primary);outline:none}
#navbar .megi-nav-home{color:var(--primary)}
#navbar .megi-nav-register{color:var(--primary);font-weight:600}
#navbar .megi-nav-login{margin-left:auto;padding-inline:18px;background:var(--primary);color:var(--white);font-weight:600;box-shadow:0 5px 14px rgba(33,150,243,.18)}
#navbar .megi-nav-login:hover,#navbar .megi-nav-login:focus-visible{background:var(--primary-dark);color:var(--white)}

#navbar .megi-mobile-menu{display:none;margin-left:auto}
#navbar .megi-mobile-menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:42px;height:42px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-darkest);cursor:pointer;list-style:none;transition:background-color .18s ease;box-sizing:border-box}
#navbar .megi-mobile-menu-toggle::-webkit-details-marker{display:none}
#navbar .megi-mobile-menu-toggle::marker{display:none;content:""}
#navbar .megi-mobile-menu-toggle:hover,#navbar .megi-mobile-menu-toggle:focus-visible{background:rgba(33,150,243,.09);outline:none}
#navbar .megi-mobile-menu-toggle:focus-visible{box-shadow:0 0 0 3px rgba(33,150,243,.2)}
#navbar .megi-mobile-menu-toggle-line{display:block;width:22px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .2s ease,opacity .2s ease}
#navbar .megi-mobile-menu[open] .megi-mobile-menu-toggle-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
#navbar .megi-mobile-menu[open] .megi-mobile-menu-toggle-line:nth-child(2){opacity:0}
#navbar .megi-mobile-menu[open] .megi-mobile-menu-toggle-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
#navbar .megi-mobile-nav{display:none}

@media(min-width:961px) and (max-width:1180px){
    #navbar{padding-inline:14px}
    #navbar.scrolled{padding-inline:14px}
    #navbar .megi-navbar-shell{gap:8px}
    #navbar .logo{flex-basis:132px;width:132px;min-width:132px}
    #navbar .logo img{width:132px}
    #navbar .megi-desktop-nav{gap:0}
    #navbar .megi-nav-link{padding:8px 5px;font-size:12.5px}
    #navbar .megi-nav-login{padding-inline:11px}
}

@media(max-width:960px){
    #navbar{padding:8px 14px}
    #navbar.scrolled{padding:8px 14px}
    #navbar .megi-navbar-shell{min-height:48px;gap:16px}
    #navbar .logo{flex-basis:118px;width:118px;min-width:118px}
    #navbar .logo img{width:118px}
    #navbar .megi-desktop-nav{display:none}
    #navbar .megi-mobile-menu{display:block;flex:0 0 42px;margin-left:auto}
    #navbar .megi-mobile-nav{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;right:0;max-height:calc(100dvh - 78px);padding:8px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e7edf3;border-radius:0 0 14px 14px;box-shadow:0 14px 30px rgba(15,23,42,.12)}
    #navbar .megi-mobile-menu[open] .megi-mobile-nav{display:flex;flex-direction:column;align-items:stretch;gap:2px}
    #navbar .megi-mobile-nav-link{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:43px;padding:9px 14px;border:0;border-radius:8px;color:var(--text-base);font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;background:transparent;box-sizing:border-box}
    #navbar .megi-mobile-nav-link:hover,#navbar .megi-mobile-nav-link:focus-visible{background:rgba(33,150,243,.08);color:var(--primary);outline:none}
    #navbar .megi-mobile-nav .megi-nav-home{background:rgba(33,150,243,.08);color:var(--primary)}
    #navbar .megi-mobile-nav .megi-nav-register{color:var(--primary);font-weight:600}
    #navbar .megi-mobile-nav .megi-nav-login{justify-content:center;margin-top:3px;background:var(--primary);color:var(--white);font-weight:600}
    #navbar .megi-mobile-nav .megi-nav-login:hover,#navbar .megi-mobile-nav .megi-nav-login:focus-visible{background:var(--primary-dark);color:var(--white)}
}

@media(max-width:480px){
    #navbar{padding-inline:10px}
    #navbar.scrolled{padding-inline:10px}
    #navbar .logo{flex-basis:108px;width:108px;min-width:108px}
    #navbar .logo img{width:108px}
}

/* PrimeFaces native review carousel */
.megi-reviews-carousel-form{margin:0}
.megi-reviews-carousel.ui-carousel{border:0;background:transparent;padding:0}
.megi-reviews-carousel .ui-carousel-header{display:none}
.megi-reviews-carousel .ui-carousel-viewport{padding:4px 4px 18px}
.megi-reviews-carousel .ui-carousel-items-container{align-items:stretch}
.megi-reviews-carousel .ui-carousel-item{padding:0 9px;box-sizing:border-box}
.megi-reviews-carousel .ui-carousel-item .megi-review-card{height:100%;box-sizing:border-box}
.megi-reviews-carousel .ui-carousel-button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(33,150,243,.16);background:#fff;color:#1976d2;box-shadow:0 6px 18px rgba(15,23,42,.07)}
.megi-reviews-carousel .ui-carousel-button:hover,.megi-reviews-carousel .ui-carousel-button:focus-visible{background:#f8fbff;box-shadow:0 10px 24px rgba(15,23,42,.11)}


/* Registration ownership + generated username UX */
.registration-admin-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #cfe0ff;
    border-radius: 12px;
    background: #f5f9ff;
    color: #334155;
}
.registration-admin-info > i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #2563eb;
    font-size: 1.15rem;
}
.registration-admin-info > div {
    display: grid;
    gap: 4px;
}
.registration-admin-info strong {
    color: #172554;
}
.registration-admin-info span {
    line-height: 1.5;
}
.registration-username-preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 10px 0 18px;
    padding: 12px 14px;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    background: #eff6ff;
}
.registration-username-preview > span {
    color: #64748b;
    font-size: .88rem;
}
.registration-username-preview > strong {
    color: #1d4ed8;
    font-size: 1rem;
    letter-spacing: .03em;
    overflow-wrap: anywhere;
}
@media (max-width: 640px) {
    .registration-username-preview {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }
}

/* Registration dialog stable top focus target. */
.registration-dialog-top-anchor {
    width: 0;
    height: 0;
    overflow: hidden;
    outline: none;
}


/* Registration form polish: PrimeFaces ui-float-label markup for the project PrimeFaces version; AutoComplete stays one control. */
.registration-content .ui-float-label {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 14px;
}
.registration-content .ui-float-label > label {
    left: 14px;
    max-width: calc(100% - 28px);
}
.registration-content .ui-float-label > .ui-autocomplete {
    display: flex !important;
    align-items: stretch;
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
}
.registration-content .ui-float-label > .ui-autocomplete > .ui-autocomplete-input {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: 48px !important;
    border-radius: 10px 0 0 10px !important;
}
.registration-content .ui-float-label > .ui-autocomplete > .ui-autocomplete-dropdown {
    position: static !important;
    flex: 0 0 48px;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    margin: 0 !important;
    border-radius: 0 10px 10px 0 !important;
}
.registration-content .ui-float-label > .ui-autocomplete > .ui-autocomplete-dropdown .ui-button-icon-left {
    margin-top: -0.5em;
}
.registration-content .ui-float-label > .ui-autocomplete.ui-state-focus > .ui-autocomplete-input,
.registration-content .ui-float-label > .ui-autocomplete:focus-within > .ui-autocomplete-input {
    border-color: #2196f3 !important;
    box-shadow: 0 0 0 3px rgba(33,150,243,.11) !important;
}
.registration-content .registration-field {
    overflow: visible;
}
.registration-field-hint {
    display: block;
    margin: 6px 2px 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.45;
}

/* Registration order summary. */
.registration-summary-package {
    display: grid;
}
.registration-summary-package-row {
    align-items: center;
}
.registration-package-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
}
.registration-package-badge-start {
    color: var(--package-start);
    background: var(--package-start-soft);
}
.registration-package-badge-balance {
    color: var(--package-balance);
    background: var(--package-balance-soft);
}
.registration-package-badge-pro {
    color: var(--package-pro);
    background: var(--package-pro-soft);
}
.registration-summary-discount strong {
    color: #16803f;
}
.registration-summary-total {
    margin-top: 4px;
    padding: 13px 0 4px;
    border-top: 1px solid rgba(33,150,243,.2);
    font-size: 15px;
}
.registration-summary-total span,
.registration-summary-total strong {
    color: #0f172a;
    font-weight: 800;
}
.registration-summary-total strong {
    font-size: 18px;
}
.registration-summary-note {
    margin: 10px 0 0;
    padding-top: 10px;
    border-top: 1px dashed rgba(15,23,42,.12);
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

/* Legal consent links in registration. */
.registration-terms-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.registration-terms-line .ui-chkbox {
    flex: 0 0 auto;
    margin-top: 2px;
}
.registration-terms-copy {
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
}
.registration-terms-copy a {
    color: #1976d2;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.registration-terms-copy a:hover,
.registration-terms-copy a:focus-visible {
    color: #115293;
}
.registration-terms-line .required-marker {
    flex: 0 0 auto;
    color: #dc2626;
    font-weight: 800;
}

@media (max-width: 760px) {
    .registration-summary-package-row {
        align-items: flex-start;
    }
    .registration-package-badge {
        align-self: flex-start;
    }
}

/* Home page package/order UX refinements. */
.about-container {
    column-gap: 50px;
    row-gap: 20px;
}

.about-content {
    grid-column: 1;
}

.about-visual-card {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.about-spine-highlight {
    grid-column: 1;
    align-self: start;
    margin-top: 0;
    margin-bottom: 0;
}

.package-feature-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 14px;
    padding: 8px 11px;
    border: 1px solid rgba(33, 150, 243, .14);
    border-radius: 999px;
    background: #f5faff;
    color: #285f8f;
    font-size: 13px;
    line-height: 1.2;
}

.package-feature-count i {
    color: var(--primary);
}

.package-feature-count strong {
    font-weight: 800;
}

.package-card-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.package-card-footer .ui-commandlink {
    min-height: 48px;
    padding: 10px 12px;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
    text-wrap: balance;
}

.package-card-footer .ui-commandlink span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.package-card-footer .package-order-button {
    grid-column: 1 / -1;
    min-height: 50px;
    margin: 0;
    font-size: 15px;
    font-weight: 800;
}

.package-card-footer .package-calculator-action,
.package-card-footer .package-review-action {
    margin: 0 !important;
    font-size: 13px;
    font-weight: 700;
}

.megi-floating-order-cta {
    position: fixed;
    right: 1.25rem;
    bottom: 5.35rem;
    z-index: 998;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid rgba(25, 118, 210, .22);
    border-radius: 999px;
    background: linear-gradient(135deg, #2196f3, #1976d2);
    color: #fff;
    box-shadow: 0 10px 28px rgba(25, 118, 210, .28);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    animation: megiFloatingOrderFloat 2.4s ease-in-out infinite;
    transition: box-shadow .2s ease, background .2s ease;
}

.megi-floating-order-cta:hover,
.megi-floating-order-cta:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #1976d2, #115293);
    box-shadow: 0 14px 34px rgba(25, 118, 210, .36);
    text-decoration: none;
}

.megi-floating-order-cta:focus-visible {
    outline: 3px solid rgba(33, 150, 243, .24);
    outline-offset: 3px;
}

.megi-floating-order-cta i {
    flex: 0 0 auto;
    font-size: 15px;
}

@keyframes megiFloatingOrderFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

@media (max-width: 1024px) {
    .about-container {
        column-gap: 0;
        row-gap: 28px;
    }

    .about-content,
    .about-visual-card,
    .about-spine-highlight {
        grid-column: 1;
        grid-row: auto;
    }

    .about-spine-highlight {
        margin-top: -4px;
        margin-bottom: -8px;
    }
}

@media (max-width: 760px) {
    .package-card-footer {
        grid-template-columns: 1fr;
    }

    .package-card-footer .package-order-button {
        grid-column: auto;
    }

    .package-card-footer .ui-commandlink {
        min-height: 46px;
    }
}

@media (max-width: 520px) {
    .megi-floating-order-cta {
        right: 1rem;
        bottom: 5rem;
        width: 48px;
        min-width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
    }

    .megi-floating-order-cta span {
        display: none;
    }

    .megi-floating-order-cta i {
        font-size: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .megi-floating-order-cta {
        animation: none;
    }
}

/* Package overview: the same declaration tracking is available in every MeGi package. */
.overview-tracked-declarations {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 20px 0 18px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--overview-accent, #2196f3) 28%, #dbe6f0);
    border-left: 4px solid var(--overview-accent, #2196f3);
    border-radius: 12px;
    background: linear-gradient(135deg, var(--overview-tint, #eef7ff), #fff 72%);
}

.overview-tracked-declarations-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--overview-accent, #2196f3);
    color: #fff;
}

.overview-tracked-declarations strong {
    display: block;
    margin-bottom: 5px;
    color: #172033;
    font-size: .88rem;
    font-weight: 800;
}

.overview-tracked-declarations p {
    margin: 0;
    color: #41556b;
    font-size: .84rem;
    font-weight: 650;
    line-height: 1.55;
}

/* Keep the featured label, but remove the special "popular" frame/elevation from the Balance card. */
.packages-section .package-card.popular-card,
.packages-section .package-card.card-balance {
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: var(--shadow-sm);
}

.packages-section .package-card.popular-card:hover,
.packages-section .package-card.card-balance:hover {
    border-color: rgba(var(--package-balance-rgb), .24);
    box-shadow: 0 20px 35px rgba(0, 0, 0, .07);
}

/* Per-package release countdown. */
.package-release-countdown {
    margin: -8px 0 24px;
    padding: 13px 14px 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.package-release-countdown-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    color: #526579;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.package-release-countdown-heading strong {
    color: #1e3a56;
    font-size: 11px;
    white-space: nowrap;
}

.package-flip-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.package-flip-unit {
    display: grid;
    min-width: 0;
    gap: 5px;
    text-align: center;
}

.package-flip-value {
    position: relative;
    display: block;
    min-height: 46px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 9px;
    background: #132333;
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .08),
        inset 0 -1px rgba(0, 0, 0, .18),
        0 4px 10px rgba(15, 23, 42, .13);
    color: #fff;
    font-size: clamp(17px, 2.1vw, 23px);
    font-variant-numeric: tabular-nums;
    font-weight: 850;
    letter-spacing: .025em;
    perspective: 320px;
    isolation: isolate;
}

.package-flip-value::before,
.package-flip-value::after {
    position: absolute;
    top: 50%;
    z-index: 8;
    width: 3px;
    height: 8px;
    content: "";
    transform: translateY(-50%);
    border-radius: 1px;
    background: rgba(3, 12, 20, .72);
    box-shadow:
        inset 0 0 0 1px
        rgba(255, 255, 255, .04);
    pointer-events: none;
}

.package-flip-value::before {
    left: 2px;
}

.package-flip-value::after {
    right: 2px;
}

.package-flip-layer {
    position: absolute;
    right: 0;
    left: 0;
    height: 50%;
    overflow: hidden;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    pointer-events: none;
}

.package-flip-layer-top {
    top: 0;
    border-radius: 8px 8px 0 0;
    background:
        linear-gradient(
            180deg,
            #2b4258 0%,
            #1b3043 100%
        );
}

.package-flip-layer-bottom {
    bottom: 0;
    border-radius: 0 0 8px 8px;
    background:
        linear-gradient(
            180deg,
            #15283a 0%,
            #0d1b28 100%
        );
}

.package-flip-digits {
    position: absolute;
    right: 0;
    left: 0;
    display: grid;
    height: 200%;
    place-items: center;
    line-height: 1;
    text-shadow:
        0 1px 1px
        rgba(0, 0, 0, .35);
}

.package-flip-layer-top
.package-flip-digits {
    top: 0;
}

.package-flip-layer-bottom
.package-flip-digits {
    top: -100%;
}

.package-flip-static-top,
.package-flip-static-bottom {
    z-index: 1;
}

.package-flip-fold-top,
.package-flip-fold-bottom {
    z-index: 4;
    visibility: hidden;
}

.package-flip-fold-top {
    transform-origin: center bottom;
}

.package-flip-fold-bottom {
    transform-origin: center top;
    transform: rotateX(90deg);
}

.package-flip-value.is-flipping
.package-flip-fold-top,
.package-flip-value.is-flipping
.package-flip-fold-bottom {
    visibility: visible;
}

.package-flip-value.is-flipping
.package-flip-fold-top {
    animation:
        megiFlipTop
        .58s
        cubic-bezier(.42, 0, .58, 1)
        both;
}

.package-flip-value.is-flipping
.package-flip-fold-bottom {
    animation:
        megiFlipBottom
        .58s
        cubic-bezier(.18, .72, .24, 1)
        both;
}

.package-flip-seam {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    z-index: 7;
    height: 1px;
    transform: translateY(-.5px);
    background:
        rgba(255, 255, 255, .07);
    box-shadow:
        0 1px rgba(0, 0, 0, .55),
        0 -1px rgba(0, 0, 0, .12);
    pointer-events: none;
}

.package-flip-a11y {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.package-flip-unit small {
    color: #718096;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.package-release-countdown.is-live
.package-release-countdown-heading
span::after {
    content: " – elérhető";
    color: #16803a;
}

@keyframes megiFlipTop {
    0% {
        transform: rotateX(0deg);
        filter: brightness(1);
        box-shadow: none;
    }

    46% {
        filter: brightness(.88);
    }

    50%,
    100% {
        transform: rotateX(-90deg);
        filter: brightness(.72);
        box-shadow:
            0 8px 12px
            rgba(0, 0, 0, .22);
    }
}

@keyframes megiFlipBottom {
    0%,
    49% {
        transform: rotateX(90deg);
        filter: brightness(.7);
        opacity: 0;
        box-shadow:
            0 -8px 12px
            rgba(0, 0, 0, .18);
    }

    50% {
        transform: rotateX(90deg);
        filter: brightness(.72);
        opacity: 1;
    }

    76% {
        filter: brightness(.9);
    }

    100% {
        transform: rotateX(0deg);
        filter: brightness(1);
        opacity: 1;
        box-shadow: none;
    }
}

@media (max-width: 560px) {
    .package-flip-countdown {
        gap: 5px;
    }

    .package-flip-value {
        min-height: 40px;
        font-size: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .package-flip-value.is-flipping
    .package-flip-fold-top,
    .package-flip-value.is-flipping
    .package-flip-fold-bottom {
        animation: none;
        visibility: hidden;
    }
}

/* Stronger blue footer while keeping the existing footer structure intact. */
.site-footer {
    background: linear-gradient(135deg, #0b4f91 0%, #1268b3 48%, #0d47a1 100%);
}

@media (max-width: 560px) {
    .overview-tracked-declarations {
        padding: 14px;
    }

    .package-release-countdown {
        margin-top: -4px;
    }

    .package-flip-countdown {
        gap: 5px;
    }

    .package-flip-value {
        min-height: 38px;
        font-size: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .package-flip-value.is-flipping {
        animation: none;
    }
}

/* Homepage icon subset extensions. */
.fa-solid.fa-list-check{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik05IDVoMTF2Mkg5VjV6bTAgNmgxMXYySDl2LTJ6bTAgNmgxMXYySDl2LTJ6TTMuNyA3LjcgMS44IDUuOGwxLjQtMS40LjUuNSAyLTJMNy4xIDQuMyAzLjcgNy43em0wIDZMMS44IDExLjhsMS40LTEuNC41LjUgMi0yIDEuNCAxLjQtMy40IDMuNHptMCA2LTEuOS0xLjkgMS40LTEuNC41LjUgMi0yIDEuNCAxLjQtMy40IDMuNHoiLz48L3N2Zz4=");
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik05IDVoMTF2Mkg5VjV6bTAgNmgxMXYySDl2LTJ6bTAgNmgxMXYySDl2LTJ6TTMuNyA3LjcgMS44IDUuOGwxLjQtMS40LjUuNSAyLTJMNy4xIDQuMyAzLjcgNy43em0wIDZMMS44IDExLjhsMS40LTEuNC41LjUgMi0yIDEuNCAxLjQtMy40IDMuNHptMCA2LTEuOS0xLjkgMS40LTEuNC41LjUgMi0yIDEuNCAxLjQtMy40IDMuNHoiLz48L3N2Zz4=");
}

.fa-solid.fa-box-open{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0zIDcuNSA3LjIgNCAxMiA2LjggMTYuOCA0IDIxIDcuNWwtMy42IDQuMUwxMyA5LjN2MTAuMWw0LjUtMi4zVjEyaDJ2Ni4zTDEyIDIyIDQuNSAxOC4zVjEyaDJ2NS4xbDQuNSAyLjNWOS4zbC00LjQgMi4zTDMgNy41em00LjQtMS4xTDUuOSA3LjdsMS4yIDEuNEwxMCA3LjYgNy40IDYuNHptOS4yIDBMMTQgNy42bDIuOSAxLjUgMS4yLTEuNC0xLjUtMS4zeiIvPjwvc3ZnPg==");
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0zIDcuNSA3LjIgNCAxMiA2LjggMTYuOCA0IDIxIDcuNWwtMy42IDQuMUwxMyA5LjN2MTAuMWw0LjUtMi4zVjEyaDJ2Ni4zTDEyIDIyIDQuNSAxOC4zVjEyaDJ2NS4xbDQuNSAyLjNWOS4zbC00LjQgMi4zTDMgNy41em00LjQtMS4xTDUuOSA3LjdsMS4yIDEuNEwxMCA3LjYgNy40IDYuNHptOS4yIDBMMTQgNy42bDIuOSAxLjUgMS4yLTEuNC0xLjUtMS4zeiIvPjwvc3ZnPg==");
}

.fa-solid.fa-user-shield{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik04LjUgMTFhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4em0wLTZhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00ek0yIDIwLjVWMThjMC0zIDIuNy01LjUgNi41LTUuNSAxLjMgMCAyLjUuMyAzLjUuOC0uNS41LS45IDEuMS0xLjIgMS43LS43LS4zLTEuNS0uNS0yLjMtLjVDNS45IDE0LjUgNCAxNiA0IDE4di41aDYuMWMuMS43LjMgMS40LjYgMkgyem0xNS04LjUgNSAydjMuNWMwIDMuMi0yLjEgNS41LTUgNi41LTIuOS0xLTUtMy4zLTUtNi41VjE0bDUtMnptMCAyLjItMyAxLjJ2Mi4xYzAgMi4xIDEuMiAzLjYgMyA0LjQgMS44LS44IDMtMi4zIDMtNC40di0yLjFsLTMtMS4yem0tLjggNC44LTEuNC0xLjQgMS40LTEuNC44LjggMS44LTEuOCAxLjQgMS40LTMuMiAzLjItLjgtLjh6Ii8+PC9zdmc+");
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iYmxhY2siIGQ9Ik04LjUgMTFhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4em0wLTZhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00ek0yIDIwLjVWMThjMC0zIDIuNy01LjUgNi41LTUuNSAxLjMgMCAyLjUuMyAzLjUuOC0uNS41LS45IDEuMS0xLjIgMS43LS43LS4zLTEuNS0uNS0yLjMtLjVDNS45IDE0LjUgNCAxNiA0IDE4di41aDYuMWMuMS43LjMgMS40LjYgMkgyem0xNS04LjUgNSAydjMuNWMwIDMuMi0yLjEgNS41LTUgNi41LTIuOS0xLTUtMy4zLTUtNi41VjE0bDUtMnptMCAyLjItMyAxLjJ2Mi4xYzAgMi4xIDEuMiAzLjYgMyA0LjQgMS44LS44IDMtMi4zIDMtNC40di0yLjFsLTMtMS4yem0tLjggNC44LTEuNC0xLjQgMS40LTEuNC44LjggMS44LTEuOCAxLjQgMS40LTMuMiAzLjItLjgtLjh6Ii8+PC9zdmc+");
}

/* Service artwork inside the ordering dialog. */
.registration-choice-visual {
    display: block;
    width: 100%;
    height: 78px;
    overflow: hidden;
    border: 1px solid #e3edf5;
    border-radius: 11px;
    background: #f4f8fc;
}

.registration-choice-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.registration-vps-choice-grid .registration-choice-visual {
    height: 66px;
}

