/*
 * Mevolution Hero Theme v1
 * ------------------------------------------------------------
 * Pure visual override layer. No business logic lives here.
 * Everything is scoped behind html.mv-hero-theme-v1 so the
 * complete visual pass can be disabled without reverting markup.
 */
html.mv-hero-theme-v1 {
  --mv-ink:#f7f9ff;
  --mv-muted:#b8c2dd;
  --mv-muted-2:#8f9ab8;
  --mv-navy-0:#050d22;
  --mv-navy-1:#071631;
  --mv-navy-2:#0b1e46;
  --mv-navy-3:#10285a;
  --mv-blue:#25a9ff;
  --mv-blue-soft:#70c9ff;
  --mv-violet:#8a57ff;
  --mv-magenta:#d34aff;
  --mv-gold:#ffd84a;
  --mv-gold-2:#ffb51f;
  --mv-orange:#ff9917;
  --mv-line:rgba(71,158,255,.28);
  --mv-line-gold:rgba(255,204,72,.42);
  --mv-panel:linear-gradient(155deg,rgba(14,32,75,.96),rgba(8,17,46,.97) 64%,rgba(19,12,52,.94));
  --mv-panel-soft:linear-gradient(155deg,rgba(17,38,84,.82),rgba(8,18,47,.88));
  --mv-gold-fill:linear-gradient(180deg,#ffe86e 0%,#ffd237 32%,#ffb317 70%,#ff9711 100%);
  --mv-shadow:0 18px 48px rgba(0,5,22,.28);
  --mv-glow:0 0 0 1px rgba(96,180,255,.05),0 18px 44px rgba(4,8,35,.25);
  --mv-radius:18px;
  --mv-radius-sm:12px;
}

html.mv-hero-theme-v1 body {
  color:var(--mv-ink);
  background:
    radial-gradient(circle at 72% 5%,rgba(65,71,210,.11),transparent 28rem),
    radial-gradient(circle at 6% 38%,rgba(126,54,211,.08),transparent 24rem),
    var(--mv-navy-0);
}

html.mv-hero-theme-v1 body,
html.mv-hero-theme-v1 button,
html.mv-hero-theme-v1 input,
html.mv-hero-theme-v1 select,
html.mv-hero-theme-v1 textarea {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

html.mv-hero-theme-v1 h1,
html.mv-hero-theme-v1 h2,
html.mv-hero-theme-v1 h3,
html.mv-hero-theme-v1 .builder-title,
html.mv-hero-theme-v1 .section-heading,
html.mv-hero-theme-v1 .legal-titleblock h1,
html.mv-hero-theme-v1 .tracking-head h1,
html.mv-hero-theme-v1 .backend-title h1 {
  color:#fff;
  letter-spacing:-.025em;
  text-wrap:balance;
}

html.mv-hero-theme-v1 .step-heading h2,
html.mv-hero-theme-v1 .preview-title h2,
html.mv-hero-theme-v1 .legal-card h2,
html.mv-hero-theme-v1 .admin-card h2,
html.mv-hero-theme-v1 .tracking-card h2,
html.mv-hero-theme-v1 .home-section h2,
html.mv-hero-theme-v1 .faq-section h2,
html.mv-hero-theme-v1 .themes-section h2,
html.mv-hero-theme-v1 .product-showcase-section h2 {
  text-shadow:0 0 24px rgba(71,148,255,.10);
}

html.mv-hero-theme-v1 p,
html.mv-hero-theme-v1 small,
html.mv-hero-theme-v1 .muted-contact {
  color:var(--mv-muted);
}

html.mv-hero-theme-v1 .eyebrow,
html.mv-hero-theme-v1 .product-kicker,
html.mv-hero-theme-v1 .subsection-heading,
html.mv-hero-theme-v1 .field > span,
html.mv-hero-theme-v1 fieldset > legend {
  color:#ffe383;
  font-weight:800;
  letter-spacing:.025em;
}

html.mv-hero-theme-v1 a:not(.btn):not(.landing-cart-button):not(.round-action):not(.header-logo):not(.legal-logo) {
  text-decoration-color:rgba(255,210,68,.42);
  text-underline-offset:3px;
}

/* ---------- Unified actions ---------- */
html.mv-hero-theme-v1 .btn,
html.mv-hero-theme-v1 button.btn,
html.mv-hero-theme-v1 .upload-button,
html.mv-hero-theme-v1 .submit-order,
html.mv-hero-theme-v1 .prompt-download-btn {
  min-height:44px;
  border-radius:12px;
  font-weight:900;
  letter-spacing:.018em;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease,background .16s ease;
}

html.mv-hero-theme-v1 .btn-primary,
html.mv-hero-theme-v1 .submit-order,
html.mv-hero-theme-v1 .upload-button {
  color:#07142f !important;
  border:1px solid rgba(255,239,151,.95) !important;
  background:var(--mv-gold-fill) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -2px 0 rgba(177,87,0,.20),
    0 8px 24px rgba(255,166,20,.20),
    0 0 22px rgba(255,208,57,.07) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.25);
}

html.mv-hero-theme-v1 .btn-primary:hover,
html.mv-hero-theme-v1 .submit-order:hover,
html.mv-hero-theme-v1 .upload-button:hover {
  transform:translateY(-1px);
  filter:saturate(1.06) brightness(1.035);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 11px 28px rgba(255,162,16,.27),
    0 0 28px rgba(255,213,65,.12) !important;
}

html.mv-hero-theme-v1 .btn-secondary,
html.mv-hero-theme-v1 .text-button,
html.mv-hero-theme-v1 .icon-button {
  color:#f8fbff !important;
  border:1px solid rgba(79,169,255,.42) !important;
  background:linear-gradient(180deg,rgba(19,48,103,.94),rgba(8,24,63,.96)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 7px 20px rgba(0,5,24,.20);
}

html.mv-hero-theme-v1 .btn-secondary:hover,
html.mv-hero-theme-v1 .text-button:hover,
html.mv-hero-theme-v1 .icon-button:hover {
  border-color:rgba(255,210,72,.58) !important;
  background:linear-gradient(180deg,rgba(26,58,118,.98),rgba(10,27,68,.98)) !important;
}

html.mv-hero-theme-v1 .btn:focus-visible,
html.mv-hero-theme-v1 button:focus-visible,
html.mv-hero-theme-v1 a:focus-visible,
html.mv-hero-theme-v1 input:focus-visible,
html.mv-hero-theme-v1 textarea:focus-visible,
html.mv-hero-theme-v1 select:focus-visible {
  outline:2px solid #ffe061 !important;
  outline-offset:3px;
}

html.mv-hero-theme-v1 .round-action,
html.mv-hero-theme-v1 .landing-cart-button,
html.mv-hero-theme-v1 .builder-cart-button {
  border-color:rgba(255,211,79,.48) !important;
  background:radial-gradient(circle at 45% 34%,rgba(42,74,151,.72),rgba(7,24,63,.96) 72%) !important;
  box-shadow:inset 0 0 0 1px rgba(85,175,255,.11),0 7px 22px rgba(0,3,22,.22),0 0 16px rgba(80,134,255,.06) !important;
}

/* ---------- Inputs ---------- */
html.mv-hero-theme-v1 input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="range"]),
html.mv-hero-theme-v1 textarea,
html.mv-hero-theme-v1 select {
  color:#f9fbff;
  background:linear-gradient(180deg,rgba(8,28,66,.96),rgba(6,20,52,.98));
  border:1px solid rgba(93,158,235,.34);
  border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 0 20px rgba(31,74,153,.04);
}

html.mv-hero-theme-v1 input::placeholder,
html.mv-hero-theme-v1 textarea::placeholder { color:#71809f; opacity:1; }

html.mv-hero-theme-v1 input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):focus,
html.mv-hero-theme-v1 textarea:focus,
html.mv-hero-theme-v1 select:focus {
  border-color:rgba(255,208,65,.72);
  box-shadow:0 0 0 3px rgba(255,201,40,.09),0 0 22px rgba(66,129,255,.08);
}

/* ---------- Universal card language ---------- */
html.mv-hero-theme-v1 .wizard-panel,
html.mv-hero-theme-v1 .live-preview-panel,
html.mv-hero-theme-v1 .cart-panel,
html.mv-hero-theme-v1 .address-card,
html.mv-hero-theme-v1 .review-callout,
html.mv-hero-theme-v1 .payment-method-card,
html.mv-hero-theme-v1 .legal-card,
html.mv-hero-theme-v1 .tracking-card,
html.mv-hero-theme-v1 .admin-card,
html.mv-hero-theme-v1 .landing-product-card,
html.mv-hero-theme-v1 .process-card,
html.mv-hero-theme-v1 .final-banner,
html.mv-hero-theme-v1 .trust-band {
  border-color:var(--mv-line) !important;
  background:var(--mv-panel) !important;
  box-shadow:var(--mv-glow) !important;
}

html.mv-hero-theme-v1 .wizard-panel,
html.mv-hero-theme-v1 .live-preview-panel,
html.mv-hero-theme-v1 .tracking-card,
html.mv-hero-theme-v1 .legal-card,
html.mv-hero-theme-v1 .admin-card {
  border-radius:var(--mv-radius) !important;
}

html.mv-hero-theme-v1 .tip-box,
html.mv-hero-theme-v1 .privacy-note,
html.mv-hero-theme-v1 .name-variation-note,
html.mv-hero-theme-v1 .auth-label-info,
html.mv-hero-theme-v1 .auth-label-panel,
html.mv-hero-theme-v1 .personalized-product-warning,
html.mv-hero-theme-v1 .shipping-quote,
html.mv-hero-theme-v1 .shipping-free-callout,
html.mv-hero-theme-v1 .cart-persistence-note,
html.mv-hero-theme-v1 .tracking-label-note,
html.mv-hero-theme-v1 .prompt-mapping-note,
html.mv-hero-theme-v1 .admin-label-box {
  border:1px solid rgba(111,137,255,.25) !important;
  border-radius:13px !important;
  background:linear-gradient(145deg,rgba(31,32,91,.64),rgba(8,28,66,.76)) !important;
  box-shadow:inset 0 0 22px rgba(112,68,255,.035);
}

/* ---------- Builder ---------- */
html.mv-hero-theme-v1 .builder-page {
  background:
    radial-gradient(circle at 82% 12%,rgba(55,91,205,.10),transparent 31rem),
    radial-gradient(circle at 8% 50%,rgba(123,54,205,.07),transparent 26rem),
    var(--mv-navy-0) !important;
}

html.mv-hero-theme-v1 .builder-header {
  border-bottom-color:rgba(64,154,255,.23) !important;
  background:linear-gradient(180deg,rgba(5,18,48,.98),rgba(6,20,51,.94)) !important;
  box-shadow:0 12px 35px rgba(0,5,25,.14);
}

html.mv-hero-theme-v1 .builder-title {
  font-weight:950;
  text-shadow:0 0 26px rgba(54,151,255,.12);
}

html.mv-hero-theme-v1 .step-dot {
  color:#fff5bf !important;
  border:1px solid rgba(255,214,85,.62) !important;
  background:radial-gradient(circle at 38% 30%,rgba(94,79,184,.96),rgba(19,38,93,.98) 66%) !important;
  box-shadow:0 0 20px rgba(91,96,255,.14);
}

html.mv-hero-theme-v1 .wizard-step.active .step-dot {
  color:#07142f !important;
  background:var(--mv-gold-fill) !important;
  box-shadow:0 0 22px rgba(255,194,31,.23);
}

html.mv-hero-theme-v1 .design-source-option,
html.mv-hero-theme-v1 .name-style-option,
html.mv-hero-theme-v1 .theme-option,
html.mv-hero-theme-v1 .product-variant-card,
html.mv-hero-theme-v1 .holo-option,
html.mv-hero-theme-v1 .legal-check,
html.mv-hero-theme-v1 .discount-status-card {
  border-color:rgba(78,145,230,.26) !important;
  background:linear-gradient(155deg,rgba(16,37,82,.90),rgba(8,20,53,.93)) !important;
  box-shadow:inset 0 0 20px rgba(76,69,188,.035),0 6px 20px rgba(0,4,22,.10);
}

html.mv-hero-theme-v1 .design-source-option.selected,
html.mv-hero-theme-v1 .name-style-option.selected,
html.mv-hero-theme-v1 .theme-option.selected,
html.mv-hero-theme-v1 .product-variant-card.selected,
html.mv-hero-theme-v1 .holo-option.selected {
  border-color:rgba(255,210,64,.84) !important;
  background:linear-gradient(150deg,rgba(45,42,93,.95),rgba(12,32,73,.97) 68%,rgba(68,44,14,.68)) !important;
  box-shadow:0 0 0 1px rgba(255,214,73,.12),0 10px 28px rgba(0,6,31,.18),0 0 26px rgba(255,187,31,.08) !important;
}

html.mv-hero-theme-v1 .design-source-check,
html.mv-hero-theme-v1 .name-style-check,
html.mv-hero-theme-v1 .selected-mark {
  color:#07142f !important;
  background:var(--mv-gold-fill) !important;
  border-color:#fff0a0 !important;
}

html.mv-hero-theme-v1 .theme-option:hover,
html.mv-hero-theme-v1 .interest-chips button:hover,
html.mv-hero-theme-v1 .holo-option:hover,
html.mv-hero-theme-v1 .product-variant-card:hover {
  border-color:rgba(105,183,255,.52) !important;
  transform:translateY(-1px);
}

html.mv-hero-theme-v1 .interest-chips button {
  color:#dce7ff;
  border:1px solid rgba(78,153,236,.26);
  background:rgba(13,35,79,.86);
  border-radius:999px;
}

html.mv-hero-theme-v1 .interest-chips button.active {
  color:#07142f;
  border-color:#ffe57b;
  background:var(--mv-gold-fill);
}

html.mv-hero-theme-v1 .upload-zone {
  border:1.5px dashed rgba(81,166,255,.46) !important;
  background:
    radial-gradient(circle at 50% 28%,rgba(83,74,192,.12),transparent 13rem),
    linear-gradient(160deg,rgba(13,36,81,.78),rgba(7,21,56,.90)) !important;
  border-radius:16px !important;
}

html.mv-hero-theme-v1 .upload-zone:hover {
  border-color:rgba(255,210,65,.72) !important;
  box-shadow:0 0 26px rgba(65,134,255,.08);
}

html.mv-hero-theme-v1 .holo-discount-chip,
html.mv-hero-theme-v1 .product-discount-badge,
html.mv-hero-theme-v1 .discount-highlight,
html.mv-hero-theme-v1 .success-text,
html.mv-hero-theme-v1 .price-highlight {
  color:#ffe66d !important;
}

html.mv-hero-theme-v1 .bundle-discount-banner,
html.mv-hero-theme-v1 .builder-free-shipping-banner,
html.mv-hero-theme-v1 .bundle-upsell {
  border-color:rgba(255,204,62,.38) !important;
  background:linear-gradient(105deg,rgba(73,29,115,.72),rgba(15,35,83,.88) 60%,rgba(82,47,15,.65)) !important;
  box-shadow:inset 0 0 24px rgba(112,74,255,.04),0 8px 24px rgba(0,4,25,.12);
}

html.mv-hero-theme-v1 .builder-pricebar {
  border-top:1px solid rgba(255,205,67,.28) !important;
  background:linear-gradient(180deg,rgba(7,20,51,.96),rgba(4,13,34,.985)) !important;
  box-shadow:0 -16px 38px rgba(0,4,23,.22),0 -1px 0 rgba(64,153,255,.10);
  backdrop-filter:blur(18px);
}

html.mv-hero-theme-v1 .free-shipping-track {
  background:rgba(20,47,98,.86) !important;
  box-shadow:inset 0 0 0 1px rgba(92,152,233,.16);
}

html.mv-hero-theme-v1 .free-shipping-track i {
  background:linear-gradient(90deg,#6c55ff,#21b6ff 48%,#ffd83f 100%) !important;
  box-shadow:0 0 12px rgba(65,163,255,.25);
}

html.mv-hero-theme-v1 .review-grid > div,
html.mv-hero-theme-v1 .cart-items > *,
html.mv-hero-theme-v1 .cart-totals,
html.mv-hero-theme-v1 .tracking-product > div {
  border-color:rgba(76,147,229,.19) !important;
  background:rgba(9,27,65,.58) !important;
}

html.mv-hero-theme-v1 .review-final-total,
html.mv-hero-theme-v1 .cart-totals-large {
  border-color:rgba(255,207,61,.37) !important;
  background:linear-gradient(145deg,rgba(47,35,89,.72),rgba(13,31,71,.82)) !important;
}

/* ---------- Landing sections under the hero ---------- */
html.mv-hero-theme-v1 .landing-page .home-section,
html.mv-hero-theme-v1 .landing-page .transform-section,
html.mv-hero-theme-v1 .landing-page .themes-section,
html.mv-hero-theme-v1 .landing-page .faq-section,
html.mv-hero-theme-v1 .landing-page .product-showcase-section {
  color:var(--mv-ink);
}

html.mv-hero-theme-v1 .landing-page .section-heading h2,
html.mv-hero-theme-v1 .landing-page .transform-copy h2,
html.mv-hero-theme-v1 .landing-page .final-banner h2 {
  color:#fff !important;
  text-shadow:0 0 25px rgba(71,148,255,.13);
}

html.mv-hero-theme-v1 .landing-page .process-card,
html.mv-hero-theme-v1 .landing-page .landing-product-card,
html.mv-hero-theme-v1 .landing-page .faq-list details,
html.mv-hero-theme-v1 .landing-page .theme-chip {
  border-color:rgba(72,151,239,.24) !important;
  background:linear-gradient(155deg,rgba(17,38,84,.88),rgba(7,19,51,.92)) !important;
  box-shadow:0 10px 28px rgba(0,5,27,.14),inset 0 0 20px rgba(83,69,198,.03);
}

html.mv-hero-theme-v1 .landing-page .step-number {
  color:#07142f !important;
  background:var(--mv-gold-fill) !important;
  border-color:#ffeb94 !important;
  box-shadow:0 0 20px rgba(255,194,31,.13);
}

html.mv-hero-theme-v1 .landing-page .holo-pills span,
html.mv-hero-theme-v1 .landing-page .theme-chip {
  color:#eaf1ff;
}

html.mv-hero-theme-v1 .landing-page .final-banner {
  border-color:rgba(255,205,64,.34) !important;
  background:
    radial-gradient(circle at 82% 15%,rgba(81,66,228,.18),transparent 18rem),
    linear-gradient(150deg,rgba(19,41,91,.96),rgba(9,20,54,.97) 62%,rgba(39,19,66,.95)) !important;
}

/* ---------- Legal + tracking ---------- */
html.mv-hero-theme-v1 .legal-shell,
html.mv-hero-theme-v1 .success-page {
  background:
    radial-gradient(circle at 80% 2%,rgba(63,83,214,.12),transparent 28rem),
    var(--mv-navy-0) !important;
}

html.mv-hero-theme-v1 .legal-header,
html.mv-hero-theme-v1 .tracking-head {
  border-color:rgba(73,153,240,.18) !important;
}

html.mv-hero-theme-v1 .legal-highlight,
html.mv-hero-theme-v1 .tracking-payment-ok {
  border-color:rgba(255,209,64,.38) !important;
  background:linear-gradient(145deg,rgba(57,45,94,.70),rgba(10,33,73,.82)) !important;
}

html.mv-hero-theme-v1 .legal-warning,
html.mv-hero-theme-v1 .tracking-payment-warning,
html.mv-hero-theme-v1 .flash.error {
  border-color:rgba(255,140,67,.40) !important;
  background:linear-gradient(145deg,rgba(84,41,33,.72),rgba(28,24,59,.84)) !important;
}

html.mv-hero-theme-v1 .timeline-dot {
  border-color:rgba(87,157,244,.42) !important;
  background:#0b2557 !important;
  color:#dbeaff !important;
}

html.mv-hero-theme-v1 .timeline-item.done .timeline-dot,
html.mv-hero-theme-v1 .timeline-item.active .timeline-dot {
  color:#07142f !important;
  border-color:#ffe87a !important;
  background:var(--mv-gold-fill) !important;
  box-shadow:0 0 18px rgba(255,194,33,.17);
}

/* ---------- Backend: same family, calmer intensity ---------- */
html.mv-hero-theme-v1 .backend-page,
html.mv-hero-theme-v1 .backend-shell,
html.mv-hero-theme-v1 .backend-main {
  color:var(--mv-ink);
}

html.mv-hero-theme-v1 .backend-sidebar,
html.mv-hero-theme-v1 .backend-topbar {
  border-color:rgba(72,149,233,.19) !important;
  background:linear-gradient(180deg,rgba(7,22,56,.98),rgba(5,15,39,.985)) !important;
}

html.mv-hero-theme-v1 .admin-card,
html.mv-hero-theme-v1 .backend-order-item,
html.mv-hero-theme-v1 .prompt-card-row {
  border-color:rgba(74,147,233,.22) !important;
  background:linear-gradient(150deg,rgba(14,34,78,.94),rgba(7,20,52,.96)) !important;
}

html.mv-hero-theme-v1 .status,
html.mv-hero-theme-v1 .payment-status {
  border-radius:999px !important;
  font-weight:800;
  letter-spacing:.018em;
}

html.mv-hero-theme-v1 table,
html.mv-hero-theme-v1 .backend-table {
  border-color:rgba(74,145,225,.18) !important;
}

/* ---------- Motion: subtle, never arcade-chaotic ---------- */
@media (prefers-reduced-motion:no-preference) {
  html.mv-hero-theme-v1 .btn-primary:hover,
  html.mv-hero-theme-v1 .product-variant-card:hover,
  html.mv-hero-theme-v1 .holo-option:hover,
  html.mv-hero-theme-v1 .theme-option:hover { transform:translateY(-1px); }
}

/* ---------- Mobile consistency ---------- */
@media (max-width:620px) {
  html.mv-hero-theme-v1 { --mv-radius:15px; --mv-radius-sm:11px; }

  html.mv-hero-theme-v1 .btn,
  html.mv-hero-theme-v1 button.btn,
  html.mv-hero-theme-v1 .upload-button {
    min-height:46px;
    border-radius:11px;
  }

  html.mv-hero-theme-v1 .wizard-panel,
  html.mv-hero-theme-v1 .live-preview-panel,
  html.mv-hero-theme-v1 .legal-card,
  html.mv-hero-theme-v1 .tracking-card,
  html.mv-hero-theme-v1 .admin-card {
    box-shadow:0 10px 28px rgba(0,4,23,.19),inset 0 0 24px rgba(68,75,188,.025) !important;
  }

  html.mv-hero-theme-v1 .step-heading h2 { font-size:clamp(1.22rem,5.3vw,1.55rem); line-height:1.08; }
  html.mv-hero-theme-v1 .step-heading p { line-height:1.5; }
  html.mv-hero-theme-v1 .field > span { font-size:.86rem; }

  html.mv-hero-theme-v1 input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
  html.mv-hero-theme-v1 textarea,
  html.mv-hero-theme-v1 select { font-size:16px; }

  html.mv-hero-theme-v1 .design-source-option,
  html.mv-hero-theme-v1 .name-style-option,
  html.mv-hero-theme-v1 .product-variant-card,
  html.mv-hero-theme-v1 .holo-option { border-radius:14px !important; }

  html.mv-hero-theme-v1 .builder-pricebar { box-shadow:0 -12px 32px rgba(0,4,22,.24); }
}

/* ---------- v0.5.38: desktop-style bundle tiers on the mobile hero ----------
   The original compact text line remains in the template for Classic Theme.
   Hero Theme v1 replaces it visually with the same tier hierarchy used on
   desktop: card stacks, large percentages, arrows and a clear max tier. */
.mv538-mobile-bundle-visual { display:none; }

@media (max-width:620px) {
  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle {
    min-height:0;
    padding:8px 9px 9px;
    border-color:rgba(255,204,59,.72);
    background:
      radial-gradient(circle at 14% 20%,rgba(185,71,255,.16),transparent 34%),
      linear-gradient(102deg,rgba(65,27,109,.92),rgba(17,34,83,.94) 58%,rgba(75,39,19,.80));
    box-shadow:
      inset 0 0 0 1px rgba(108,161,255,.08),
      inset 0 0 24px rgba(113,71,255,.07),
      0 7px 20px rgba(0,4,25,.16);
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-icon {
    align-self:start;
    margin-top:1px;
    width:34px;
    height:34px;
    border-radius:10px;
    background:
      radial-gradient(circle at 42% 34%,rgba(137,84,255,.52),transparent 50%),
      linear-gradient(180deg,rgba(71,42,141,.98),rgba(18,44,105,.98));
    box-shadow:0 0 13px rgba(131,75,255,.14),inset 0 0 0 1px rgba(255,218,93,.08);
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-copy > b {
    margin:1px 0 5px;
    color:#ffe052;
    font-size:clamp(.67rem,2.75vw,.78rem);
    line-height:1.08;
    letter-spacing:.012em;
    text-shadow:0 0 12px rgba(255,197,37,.11);
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-tierline {
    display:none !important;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-visual {
    display:block;
    position:relative;
    padding-top:18px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-chip {
    position:absolute;
    top:0;
    left:0;
    display:inline-flex;
    align-items:center;
    min-height:15px;
    padding:1px 6px 2px;
    border:1px solid rgba(105,176,255,.30);
    border-radius:999px;
    color:#cfe6ff;
    background:rgba(8,29,71,.76);
    font-size:.43rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.075em;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tiers {
    display:grid;
    grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1.08fr);
    align-items:center;
    gap:2px;
    min-width:0;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier {
    display:grid;
    grid-template-columns:27px 1fr;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:5px;
    min-width:0;
    min-height:36px;
    padding:3px 4px;
    border:1px solid rgba(85,152,235,.16);
    border-radius:9px;
    background:linear-gradient(155deg,rgba(16,42,92,.72),rgba(7,22,61,.66));
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier--max {
    border-color:rgba(255,207,59,.44);
    background:linear-gradient(150deg,rgba(51,41,95,.84),rgba(19,37,82,.76) 66%,rgba(83,50,12,.56));
    box-shadow:inset 0 0 12px rgba(255,196,39,.04),0 0 12px rgba(255,187,24,.035);
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier > strong {
    grid-column:2;
    grid-row:1;
    align-self:end;
    color:#fff2a5;
    font-size:clamp(.69rem,3vw,.84rem);
    line-height:.95;
    font-weight:950;
    letter-spacing:-.02em;
    white-space:nowrap;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier--max > strong { color:#ffdf3f; }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier > small {
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin-top:2px;
    color:rgba(232,241,255,.78);
    font-size:.43rem;
    line-height:1;
    white-space:nowrap;
  }

  html.mv-hero-theme-v1 .mv538-mini-card-stack {
    grid-column:1;
    grid-row:1 / span 2;
    position:relative;
    display:block;
    width:23px;
    height:29px;
    transform:rotate(-4deg);
  }

  html.mv-hero-theme-v1 .mv538-mini-card-stack i {
    position:absolute;
    left:4px;
    top:2px;
    width:17px;
    height:24px;
    border:1px solid rgba(255,221,106,.86);
    border-radius:3px;
    background:
      radial-gradient(circle at 62% 32%,rgba(227,72,255,.58),transparent 34%),
      linear-gradient(145deg,#263c99 0%,#251357 58%,#5f215c 100%);
    box-shadow:inset 0 0 0 1px rgba(74,188,255,.16),0 1px 4px rgba(0,0,0,.20);
  }
  html.mv-hero-theme-v1 .mv538-mini-card-stack i:nth-child(1) { transform:translate(-3px,1px) rotate(-7deg); opacity:.38; }
  html.mv-hero-theme-v1 .mv538-mini-card-stack i:nth-child(2) { transform:translate(-1px,0) rotate(-3deg); opacity:.66; }
  html.mv-hero-theme-v1 .mv538-mini-card-stack i:nth-child(3) { transform:none; opacity:1; }

  html.mv-hero-theme-v1 .mv538-stack-one i:nth-child(1),
  html.mv-hero-theme-v1 .mv538-stack-one i:nth-child(2) { opacity:0; }
  html.mv-hero-theme-v1 .mv538-stack-two i:nth-child(1) { opacity:0; }
  html.mv-hero-theme-v1 .mv538-stack-three i:nth-child(1) { opacity:.42; }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,220,95,.76);
    font-size:.92rem;
    line-height:1;
    transform:translateY(-1px);
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-caption {
    display:block;
    margin:5px 1px 0;
    color:rgba(215,229,255,.70);
    font-size:.43rem;
    line-height:1.1;
    text-align:right;
  }
}

@media (max-width:355px) {
  html.mv-hero-theme-v1 .mv538-mobile-bundle-tiers {
    grid-template-columns:minmax(0,1fr) 7px minmax(0,1fr) 7px minmax(0,1.04fr);
  }
  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier {
    grid-template-columns:22px 1fr;
    column-gap:3px;
    padding-left:2px;
    padding-right:2px;
  }
  html.mv-hero-theme-v1 .mv538-mini-card-stack {
    width:20px;
    height:27px;
    transform:scale(.88) rotate(-4deg);
    transform-origin:center;
  }
  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier > strong { font-size:.67rem; }
  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier > small { font-size:.39rem; }
}
html.mv-hero-theme-v1 .mv538-mobile-bundle-chip { text-transform:uppercase; }

/* ---------- v0.5.39: mobile bundle alignment polish ----------
   Hero Theme only. The promo header owns the icon + title; the tier row spans
   the full banner width; the slab/holo qualifier moves into a centered footer
   with the product-total caption. This removes the left/right visual pull. */
@media (max-width:620px) {
  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle {
    grid-template-columns:34px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:8px;
    row-gap:7px;
    padding:8px 9px 8px;
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-icon {
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:center;
    margin:0;
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-copy {
    display:contents;
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-copy > b {
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    padding:0 2px 0 0;
    line-height:1.12;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-visual {
    grid-column:1 / -1;
    grid-row:2;
    display:grid;
    grid-template-columns:auto auto;
    justify-content:center;
    align-items:center;
    gap:6px 7px;
    width:100%;
    min-width:0;
    padding:0;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tiers {
    grid-column:1 / -1;
    grid-row:1;
    width:100%;
    grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr);
    gap:3px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier {
    grid-template-columns:25px minmax(0,1fr);
    min-height:38px;
    column-gap:5px;
    padding:4px 5px;
  }

  html.mv-hero-theme-v1 .mv538-mini-card-stack {
    width:22px;
    height:29px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-chip {
    position:static;
    grid-column:1;
    grid-row:2;
    justify-self:end;
    min-height:16px;
    margin:0;
    padding:2px 7px 3px;
    font-size:.42rem;
    line-height:1;
    letter-spacing:.065em;
    white-space:nowrap;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-caption {
    grid-column:2;
    grid-row:2;
    justify-self:start;
    margin:0;
    color:rgba(220,232,255,.72);
    font-size:.43rem;
    line-height:1.05;
    text-align:left;
    white-space:nowrap;
  }
}

@media (max-width:355px) {
  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle {
    grid-template-columns:30px minmax(0,1fr);
    column-gap:6px;
    row-gap:6px;
    padding-left:7px;
    padding-right:7px;
  }

  html.mv-hero-theme-v1 .mv531-mobile-promos .mv531-mobile-promo--bundle .mv531-mobile-promo-icon {
    width:30px;
    height:30px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tiers {
    grid-template-columns:minmax(0,1fr) 7px minmax(0,1fr) 7px minmax(0,1fr);
    gap:2px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-tier {
    grid-template-columns:21px minmax(0,1fr);
    column-gap:3px;
    min-height:36px;
    padding:3px;
  }

  html.mv-hero-theme-v1 .mv538-mobile-bundle-chip { font-size:.39rem; padding-left:6px; padding-right:6px; }
  html.mv-hero-theme-v1 .mv538-mobile-bundle-caption { font-size:.39rem; }
}

/* ---------- v0.5.40: desktop hero artwork vertical alignment ----------
   Lift only the preview-grade desktop artwork so it sits higher beside the
   headline on first load. Mobile stays untouched and Classic Theme keeps the
   previous positioning because this is scoped to Hero Theme v1. */
@media (min-width:1081px) {
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    transform:translateY(-45px);
  }
}
@media (min-width:621px) and (max-width:1080px) {
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    transform:translateY(-25px);
  }
}

/* ---------- v0.5.41: desktop hero artwork top alignment ----------
   Align the preview-grade artwork with the upper copy block instead of
   vertically centring it against the full (and much taller) left column.
   This moves the complete card into the initial desktop viewport and makes
   it sit genuinely beside the headline. Mobile and Classic Theme stay intact. */
@media (min-width:1081px) {
  html.mv-hero-theme-v1 .landing-page .hero-showcase {
    align-self:start !important;
    margin-top:-34px !important;
  }
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    transform:translateY(-82px) !important;
  }
}
@media (min-width:621px) and (max-width:1080px) {
  html.mv-hero-theme-v1 .landing-page .hero-showcase {
    align-self:start !important;
    margin-top:-16px !important;
  }
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    transform:translateY(-52px) !important;
  }
}


/* ---------- v0.5.42: desktop hero exact headline alignment ----------
   Keep the artwork visually level with the first line of the large kicker,
   rather than the logo above it. The kicker is forced to three intentional
   desktop lines so JOUW FOTO. / JOUW VERHAAL. / JOUW KAART. never wraps into
   extra lines. Mobile and Classic Theme remain untouched. */
@media (min-width:621px) {
  html.mv-hero-theme-v1 .landing-page .hero-kicker {
    font-size:clamp(2.35rem,4.15vw,4.65rem) !important;
    line-height:.94 !important;
    letter-spacing:-.035em !important;
    max-width:none !important;
  }
  html.mv-hero-theme-v1 .landing-page .hero-kicker > span,
  html.mv-hero-theme-v1 .landing-page .hero-kicker > strong {
    display:block !important;
    white-space:nowrap !important;
  }
  html.mv-hero-theme-v1 .landing-page .hero-showcase {
    align-self:start !important;
    margin-top:0 !important;
    transform:none !important;
  }
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    margin:0 -8% -5% -3% !important;
    transform:none !important;
  }
}
@media (min-width:621px) and (max-width:1080px) {
  html.mv-hero-theme-v1 .landing-page .hero-desktop-fx {
    margin:0 -5% -3% 0 !important;
  }
}
/* Longer translations keep the same deliberate three-line structure. */
@media (min-width:621px) {
  html[lang="de"].mv-hero-theme-v1 .landing-page .hero-kicker {
    font-size:clamp(2.00rem,3.45vw,3.85rem) !important;
  }
  html[lang="fr"].mv-hero-theme-v1 .landing-page .hero-kicker {
    font-size:clamp(2.12rem,3.65vw,4.05rem) !important;
  }
}


/* v0.5.43 — mobile benefit icons upgraded to match the preview-grade hero.
   Scoped to Hero Theme so ?theme=classic keeps the original simple glyphs. */
@media (max-width: 620px) {
  html.mv-hero-theme-v1 .mv531-mobile-features {
    padding-top:12px;
    padding-bottom:10px;
  }

  html.mv-hero-theme-v1 .mv531-mobile-feature-icon.mv543-feature-icon {
    position:relative;
    z-index:0;
    width:44px;
    height:44px;
    margin-bottom:7px;
    overflow:visible;
    border:1.4px solid rgba(255,196,49,.78);
    background:
      radial-gradient(circle at 50% 36%, rgba(53,91,190,.36), transparent 44%),
      radial-gradient(circle at 72% 78%, rgba(179,49,221,.19), transparent 48%),
      linear-gradient(145deg, rgba(21,49,117,.96), rgba(25,22,84,.98));
    box-shadow:
      0 0 0 1px rgba(44,146,255,.20),
      0 0 16px rgba(48,127,255,.20),
      0 0 13px rgba(186,52,233,.10),
      inset 0 1px 0 rgba(255,255,255,.10),
      inset 0 -8px 16px rgba(4,8,34,.20);
  }

  html.mv-hero-theme-v1 .mv531-mobile-feature-icon.mv543-feature-icon::after {
    content:"";
    position:absolute;
    inset:-3px;
    border-radius:inherit;
    pointer-events:none;
    background:conic-gradient(from 205deg, transparent 0 18%, rgba(36,153,255,.50) 29%, transparent 42% 67%, rgba(227,58,227,.38) 79%, transparent 91%);
    filter:blur(2px);
    opacity:.42;
    z-index:-1;
  }

  html.mv-hero-theme-v1 .mv543-feature-classic-glyph { display:none; }
  html.mv-hero-theme-v1 .mv543-preview-icon {
    display:block;
    width:27px;
    height:27px;
    overflow:visible;
    fill:none;
    stroke:#ffd43f;
    stroke-width:2.15;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 3px rgba(255,205,59,.34));
  }

  html.mv-hero-theme-v1 .mv531-mobile-features b {
    color:#ffd43f;
    font-weight:900;
    letter-spacing:-.012em;
  }

  html.mv-hero-theme-v1 .mv531-mobile-features small {
    color:rgba(244,247,255,.88);
  }
}

@media (max-width: 360px) {
  html.mv-hero-theme-v1 .mv531-mobile-feature-icon.mv543-feature-icon {
    width:38px;
    height:38px;
    margin-bottom:6px;
  }
  html.mv-hero-theme-v1 .mv543-preview-icon { width:23px; height:23px; }
}


/* ---------- v0.5.46: premium navigation drawer, viewport portal ----------
   The Hero Theme drawer is now used on both mobile and desktop. The menu and
   backdrop are moved to document.body by landing.html, which keeps them out of
   page-specific stacking contexts so they always render above hero/content. */
.mv545-mobile-drawer,
.mv545-mobile-backdrop {
  display:none;
}

html.mv-hero-theme-v1.mv545-menu-open,
html.mv-hero-theme-v1 body.mv545-menu-open {
  overflow:hidden !important;
  overscroll-behavior:none;
}

html.mv-hero-theme-v1 .mv545-mobile-backdrop {
  display:block;
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 14%,rgba(38,99,220,.16),transparent 33%),
    rgba(2,7,24,.76);
  -webkit-backdrop-filter:blur(8px) saturate(1.06);
  backdrop-filter:blur(8px) saturate(1.06);
  transition:opacity .26s ease,visibility .26s ease;
}
html.mv-hero-theme-v1 .mv545-mobile-backdrop.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

html.mv-hero-theme-v1 .mv545-mobile-drawer {
  display:flex;
  position:fixed !important;
  top:0 !important;
  bottom:0 !important;
  left:0;
  z-index:2147483001 !important;
  width:min(88vw,365px);
  max-width:calc(100vw - 34px);
  box-sizing:border-box;
  flex-direction:column;
  gap:0;
  padding:
    max(14px,env(safe-area-inset-top))
    14px
    max(16px,env(safe-area-inset-bottom))
    max(14px,env(safe-area-inset-left));
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  isolation:isolate;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(calc(-100% - 20px),0,0);
  border-right:1px solid rgba(255,199,61,.55);
  border-radius:0 27px 27px 0;
  background:
    radial-gradient(circle at 12% 2%,rgba(43,126,255,.30),transparent 26%),
    radial-gradient(circle at 94% 19%,rgba(182,48,228,.19),transparent 30%),
    radial-gradient(circle at 72% 91%,rgba(255,171,38,.09),transparent 27%),
    linear-gradient(165deg,#071b4d 0%,#08143d 44%,#120c36 100%);
  box-shadow:
    24px 0 55px rgba(0,0,0,.48),
    3px 0 24px rgba(38,119,255,.13),
    inset -1px 0 0 rgba(78,169,255,.17),
    inset 0 1px 0 rgba(255,255,255,.04);
  transition:
    transform .30s cubic-bezier(.2,.78,.2,1),
    opacity .22s ease,
    visibility .30s ease;
}
html.mv-hero-theme-v1 .mv545-mobile-drawer::before {
  content:"";
  position:absolute;
  left:22px;
  right:34px;
  top:0;
  height:2px;
  border-radius:0 0 999px 999px;
  pointer-events:none;
  background:linear-gradient(90deg,#29a8ff 0%,#8c52ff 45%,#ff4cd8 69%,#ffc52f 100%);
  box-shadow:0 0 13px rgba(67,154,255,.58),0 0 20px rgba(211,65,234,.22);
  z-index:2;
}
html.mv-hero-theme-v1 .mv545-mobile-drawer::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.26;
  background-image:
    radial-gradient(circle at 12% 20%,rgba(255,255,255,.72) 0 1px,transparent 1.3px),
    radial-gradient(circle at 76% 9%,rgba(255,214,70,.72) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 61%,rgba(84,172,255,.65) 0 1px,transparent 1.4px);
  background-size:93px 87px,137px 121px,163px 149px;
  z-index:-1;
}
html.mv-hero-theme-v1 .mv545-mobile-drawer.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0);
}

html.mv-hero-theme-v1 .mv545-menu-head {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:61px;
  padding:2px 2px 13px;
  margin-bottom:12px;
}
html.mv-hero-theme-v1 .mv545-menu-head::after {
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(52,157,255,.62),rgba(255,199,62,.54),rgba(217,62,228,.12));
}
html.mv-hero-theme-v1 .mv545-menu-brand {
  display:flex;
  align-items:center;
  width:min(46vw,158px);
  text-decoration:none;
}
html.mv-hero-theme-v1 .mv545-menu-brand img {
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.26));
}
html.mv-hero-theme-v1 .mv545-menu-close {
  position:relative;
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(78,177,255,.65);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 32%,rgba(42,111,212,.32),transparent 58%),
    linear-gradient(180deg,rgba(11,44,104,.96),rgba(7,23,65,.98));
  box-shadow:inset 0 0 0 1px rgba(255,206,69,.09),0 0 14px rgba(42,144,255,.13);
  cursor:pointer;
}
html.mv-hero-theme-v1 .mv545-menu-close span,
html.mv-hero-theme-v1 .mv545-menu-close span::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#ffdc62;
  box-shadow:0 0 5px rgba(255,196,43,.28);
}
html.mv-hero-theme-v1 .mv545-menu-close span { transform:translate(-50%,-50%) rotate(45deg); }
html.mv-hero-theme-v1 .mv545-menu-close span::after { transform:translate(-50%,-50%) rotate(90deg); }
html.mv-hero-theme-v1 .mv545-menu-close:focus-visible {
  outline:2px solid rgba(255,218,89,.88);
  outline-offset:3px;
}

html.mv-hero-theme-v1 .mv545-menu-nav {
  display:grid;
  gap:8px;
  margin:0;
}
html.mv-hero-theme-v1 .mv545-menu-link {
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 18px;
  gap:10px;
  align-items:center;
  min-height:55px;
  padding:7px 11px 7px 8px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid rgba(77,152,255,.22);
  border-radius:15px;
  color:#f7f9ff;
  text-decoration:none;
  background:linear-gradient(100deg,rgba(25,55,125,.50),rgba(22,20,75,.52));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 7px 18px rgba(0,0,0,.10);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
html.mv-hero-theme-v1 .mv545-menu-link::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  opacity:0;
  background:linear-gradient(90deg,transparent,#45aaff,#d95cf2,#ffc83e,transparent);
  transition:opacity .16s ease;
}
html.mv-hero-theme-v1 .mv545-menu-link--home {
  border-color:rgba(255,197,53,.46);
  background:radial-gradient(circle at 10% 50%,rgba(255,193,47,.09),transparent 27%),linear-gradient(100deg,rgba(28,63,141,.62),rgba(38,19,87,.59));
}
html.mv-hero-theme-v1 .mv545-menu-link:active { transform:scale(.986); }
html.mv-hero-theme-v1 .mv545-menu-link:focus-visible { outline:2px solid rgba(255,216,78,.80); outline-offset:2px; }
@media (hover:hover) {
  html.mv-hero-theme-v1 .mv545-menu-link:hover {
    transform:translateX(3px);
    border-color:rgba(255,200,61,.52);
    background:linear-gradient(100deg,rgba(30,70,157,.68),rgba(47,24,101,.65));
    box-shadow:0 9px 20px rgba(0,0,0,.15),0 0 15px rgba(55,141,255,.08);
  }
  html.mv-hero-theme-v1 .mv545-menu-link:hover::after { opacity:.55; }
}
html.mv-hero-theme-v1 .mv545-menu-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,196,46,.58);
  border-radius:12px;
  background:radial-gradient(circle at 45% 28%,rgba(53,104,207,.30),transparent 56%),linear-gradient(145deg,rgba(19,48,113,.98),rgba(25,20,79,.98));
  box-shadow:0 0 0 1px rgba(51,148,255,.12),inset 0 1px 0 rgba(255,255,255,.06);
}
html.mv-hero-theme-v1 .mv545-menu-icon svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:#ffd23d;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 3px rgba(255,194,43,.25));
}
html.mv-hero-theme-v1 .mv545-menu-link--home .mv545-menu-icon svg path:first-child { fill:rgba(255,210,55,.08); }
html.mv-hero-theme-v1 .mv545-menu-label {
  min-width:0;
  font-size:.94rem;
  line-height:1.15;
  font-weight:850;
  letter-spacing:.005em;
}
html.mv-hero-theme-v1 .mv545-menu-arrow {
  justify-self:end;
  color:#ffd348;
  font-size:1.45rem;
  line-height:1;
  opacity:.88;
}
html.mv-hero-theme-v1 .mv545-menu-actions {
  display:grid;
  gap:9px;
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid rgba(86,151,255,.16);
}
html.mv-hero-theme-v1 .mv545-menu-primary {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:52px;
  padding:0 17px !important;
  border-radius:15px !important;
  font-size:.90rem !important;
  letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(255,174,20,.15),0 0 18px rgba(255,196,45,.10) !important;
}
html.mv-hero-theme-v1 .mv545-menu-primary > span:last-child { font-size:1.15rem; }
html.mv-hero-theme-v1 .mv545-menu-cart {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 18px;
  gap:9px;
  align-items:center;
  min-height:50px;
  padding:5px 11px 5px 7px;
  border:1px solid rgba(255,199,61,.34);
  border-radius:14px;
  color:#ffe7a1;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
  background:radial-gradient(circle at 8% 50%,rgba(255,187,38,.11),transparent 28%),rgba(13,29,76,.68);
}
html.mv-hero-theme-v1 .mv545-menu-cart-icon {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:rgba(255,190,37,.11);
  font-size:1rem;
}
html.mv-hero-theme-v1 .mv545-menu-note {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:9px;
  align-items:start;
  margin-top:11px;
  padding:11px 12px;
  border:1px solid rgba(111,92,206,.30);
  border-radius:13px;
  color:rgba(239,243,255,.76);
  font-size:.72rem;
  line-height:1.42;
  background:linear-gradient(110deg,rgba(49,35,112,.35),rgba(14,33,79,.32));
}
html.mv-hero-theme-v1 .mv545-menu-note-icon {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid rgba(255,196,52,.46);
  border-radius:9px;
  color:#ffd13d;
  background:rgba(28,58,129,.54);
  box-shadow:0 0 9px rgba(90,85,255,.10);
}

/* Hero Theme desktop: use the same drawer instead of the classic inline nav.
   The existing logo/language/cart layout stays intact; only navigation changes. */
@media (min-width:621px) {
  html.mv-hero-theme-v1 .landing-page .desktop-nav { display:none !important; }
  html.mv-hero-theme-v1 .landing-page .main-header .menu-button {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    line-height:0 !important;
    font-size:0 !important;
    color:transparent !important;
    border:1px solid rgba(75,184,255,.72) !important;
    border-radius:50% !important;
    background:radial-gradient(circle at 50% 32%,rgba(40,105,201,.34),transparent 57%),linear-gradient(180deg,rgba(12,45,105,.96),rgba(7,24,67,.98)) !important;
    box-shadow:inset 0 0 0 1px rgba(255,205,73,.10),inset 0 -8px 16px rgba(20,8,68,.22),0 0 13px rgba(48,145,255,.13) !important;
    cursor:pointer;
  }
  html.mv-hero-theme-v1 .landing-page .main-header .menu-button::before {
    content:"";
    display:block;
    width:19px;
    height:2px;
    border-radius:999px;
    background:#ffdc62;
    box-shadow:0 -6px 0 #ffe78a,0 6px 0 #ffc83d;
    filter:drop-shadow(0 0 4px rgba(255,194,45,.28));
  }
  html.mv-hero-theme-v1 .landing-page .main-header .menu-button:focus-visible {
    outline:2px solid rgba(255,216,91,.82) !important;
    outline-offset:3px !important;
  }
  html.mv-hero-theme-v1 .mv545-mobile-drawer {
    left:auto;
    right:0;
    width:min(390px,calc(100vw - 56px));
    max-width:390px;
    padding:18px 18px 22px;
    transform:translate3d(calc(100% + 24px),0,0);
    border-right:0;
    border-left:1px solid rgba(255,199,61,.55);
    border-radius:30px 0 0 30px;
    box-shadow:-24px 0 55px rgba(0,0,0,.48),-3px 0 24px rgba(38,119,255,.13),inset 1px 0 0 rgba(78,169,255,.17),inset 0 1px 0 rgba(255,255,255,.04);
  }
  html.mv-hero-theme-v1 .mv545-mobile-drawer::before { left:34px; right:22px; }
  html.mv-hero-theme-v1 .mv545-mobile-drawer.open { transform:translate3d(0,0,0); }
  html.mv-hero-theme-v1 .mv545-menu-brand { width:158px; }
}

@media (max-width:360px) {
  html.mv-hero-theme-v1 .mv545-mobile-drawer {
    width:min(91vw,340px);
    max-width:calc(100vw - 22px);
    padding-left:11px;
    padding-right:11px;
  }
  html.mv-hero-theme-v1 .mv545-menu-link {
    min-height:51px;
    grid-template-columns:38px minmax(0,1fr) 16px;
    gap:8px;
  }
  html.mv-hero-theme-v1 .mv545-menu-icon { width:34px; height:34px; border-radius:11px; }
  html.mv-hero-theme-v1 .mv545-menu-icon svg { width:19px; height:19px; }
  html.mv-hero-theme-v1 .mv545-menu-label { font-size:.89rem; }
}

/* ---------- v0.5.47: restore original desktop top navigation ----------
   v0.5.46 intentionally reused the premium drawer on desktop, but that also
   replaced the existing inline desktop navigation. The desktop header is now
   restored exactly in concept: inline navigation stays visible and the
   hamburger remains a mobile control. The body-portal stacking fix for the
   premium mobile drawer remains intact. */
@media (min-width:621px) {
  html.mv-hero-theme-v1 .landing-page .desktop-nav {
    display:flex !important;
  }
  html.mv-hero-theme-v1 .landing-page .main-header .menu-button {
    display:none !important;
  }
}

/* ---------- v0.5.48: compact sticky scroll-to-top control ----------
   Public pages receive this control from app.py. It deliberately sits below
   the navigation drawer layer and above ordinary page/sticky content. */
.mv-scroll-top {
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  bottom:max(16px,env(safe-area-inset-bottom));
  z-index:1600;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  padding:0;
  border:1px solid rgba(255,205,74,.70);
  border-radius:50%;
  color:#ffe06b;
  background:
    radial-gradient(circle at 50% 28%,rgba(64,124,233,.30),transparent 54%),
    linear-gradient(180deg,rgba(12,43,101,.97),rgba(7,23,65,.98));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 -8px 15px rgba(23,7,68,.20),
    0 8px 22px rgba(0,0,0,.28),
    0 0 13px rgba(57,139,255,.15);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px) scale(.94);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease,border-color .18s ease,box-shadow .18s ease;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.mv-scroll-top svg {
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 4px rgba(255,198,47,.22));
}
.mv-scroll-top.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.mv-scroll-top:hover {
  border-color:rgba(255,222,111,.96);
  color:#fff0a2;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 9px 24px rgba(0,0,0,.30),
    0 0 18px rgba(73,152,255,.22),
    0 0 10px rgba(255,194,43,.13);
}
.mv-scroll-top:focus-visible {
  outline:2px solid rgba(255,224,107,.92);
  outline-offset:3px;
}

/* The builder already has a sticky price/action bar on phones. Keep the small
   control above it instead of covering price or the Verder button. */
@media (max-width:620px) {
  .mv-scroll-top {
    right:max(11px,env(safe-area-inset-right));
    width:39px;
    height:39px;
    min-width:39px;
    min-height:39px;
    bottom:max(13px,env(safe-area-inset-bottom));
  }
  .builder-page ~ .mv-scroll-top {
    bottom:calc(92px + env(safe-area-inset-bottom));
  }
  .mv-scroll-top svg { width:18px; height:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .mv-scroll-top { transition:none; }
}
