:root{
  /* Brand */
  --mdg-red:#d42128;

  /* You asked for these accents (same value) */
  --mdg-green:#d42128;
  --mdg-gray:#d42128;

  /* Light theme */
  --mdg-bg:#ffffff;
  --mdg-bg2:#f6f7f9;
  --mdg-card:#ffffff;
  --mdg-card2:#fbfbfc;

  --mdg-border:rgba(0,0,0,0.10);
  --mdg-border-strong:rgba(0,0,0,0.16);

  --mdg-text:#0f1115;
  --mdg-muted:rgba(15,17,21,0.62);

  --mdg-shadow: 0 18px 50px rgba(12, 18, 28, 0.12);
  --mdg-shadow-soft: 0 12px 30px rgba(12, 18, 28, 0.10);

  --mdg-radius:18px;
  --mdg-radius-lg:22px;
}

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

body{
  font-family:"Nunito",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(1200px 650px at 10% 0%, rgba(212,33,40,0.10), transparent 60%),
    radial-gradient(1000px 650px at 90% 20%, rgba(212,33,40,0.06), transparent 55%),
    var(--mdg-bg);
  color:var(--mdg-text);
}

a{color:var(--mdg-red)}
a:hover{color:#b0191f}

::selection{background:rgba(212,33,40,0.20)}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important}
  .marquee-track{animation:none!important}
  .gallery-img{transition:none!important}
}

/* -----------------------------
   Topbar
------------------------------ */
/* -----------------------------
   Topbar (Red + White, icons-only on mobile)
------------------------------ */
.topbar{
  background: var(--mdg-red);
  border-bottom: 1px solid rgba(255,255,255,0.22);
  color:#fff;
}

.topbar-link{
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  display:flex;
  gap:8px;
  align-items:center;
  line-height:1;
}
.topbar-link:hover{color:#fff;text-decoration:underline}

.topbar-icon{
  color: rgba(255,255,255,0.95);
  font-size:18px;
}
.topbar-icon:hover{color:#fff;opacity:0.95}

.topbar-chip{
  color: rgba(255,255,255,0.95);
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.12);
}

/* Topbar CTA button: white bg + red text */
.btn-mdg-topbar{
  background:#fff;
  color: var(--mdg-red);
  border:1px solid rgba(255,255,255,0.65);
  font-weight:900;
  border-radius:14px;
  padding:8px 12px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.btn-mdg-topbar:hover{
  background: rgba(255,255,255,0.92);
  color: var(--mdg-red);
  transform: translateY(-1px);
}
.btn-mdg-topbar:active{transform: translateY(0)}
.btn-mdg-topbar:focus{box-shadow:none}
.btn-mdg-topbar i{color: var(--mdg-red)}


/* Make spacing comfy on small screens */
@media (max-width: 576px){
  .topbar{padding-top:6px;padding-bottom:6px}

  /* Show only icons for link items */
  .topbar-link{
    font-size:0;          /* hides text while keeping the link accessible */
    gap:0;
    padding:6px 10px;
  }
  .topbar-link i,
  .topbar-link svg{
    font-size:18px;       /* re-show icon size */
  }

  /* If you have text spans inside the link, hide them too */
  .topbar-link span,
  .topbar-link small{
    display:none !important;
  }

  /* Optional: hide chips on mobile to keep it clean */
  .topbar-chip{
    display:none;
  }
}


/* -----------------------------
   Nav
------------------------------ */
.mdg-nav{
  background:rgba(255,255,255,0.90);
  border-bottom:1px solid var(--mdg-border);
  backdrop-filter: blur(14px);
}
.logo{width:auto; height:60px}
.brand-text{
  font-weight:900;
  letter-spacing:0.2px;
  color:var(--mdg-text);
}
.navbar-toggler{border-color:rgba(255, 255, 255, 0)}
.navbar-toggler:focus{box-shadow:none}

.nav-link{
  color:rgba(15,17,21,0.72)!important;
  font-weight:800;
}
.nav-link:hover,.nav-link.active{
  color:var(--mdg-text)!important;
}
.w-fit{width:fit-content}

/* Language dropdown */
.lang-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px !important;
  border-radius:999px;
  border:1px solid var(--mdg-border);
  background:rgba(255,255,255,0.92);
  color:var(--mdg-text) !important;
  font-weight:900;
  line-height:1;
}

.lang-pill:hover{
  border-color:rgba(212,33,40,0.30);
  background:rgba(212,33,40,0.04);
  color:var(--mdg-text) !important;
}

.lang-pill .fa-globe{color:var(--mdg-red)}

.lang-label{
  font-size:12px;
  letter-spacing:0.5px;
}

.lang-menu{
  border:1px solid var(--mdg-border);
  border-radius:16px;
  overflow:hidden;
  box-shadow: 0 18px 50px rgba(12,18,28,0.14);
  padding:6px;
  background:#fff;
  min-width: 180px;
}

.lang-menu .dropdown-item{
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
  color:rgba(15,17,21,0.82);
}

.lang-menu .dropdown-item:hover{
  background:rgba(212,33,40,0.06);
  color:var(--mdg-text);
}

.lang-menu .dropdown-item.active,
.lang-menu .dropdown-item:active{
  background:rgba(212,33,40,0.12);
  color:var(--mdg-text);
}

.flag-dot{
  width:12px;height:12px;border-radius:999px;
  border:1px solid rgba(0,0,0,0.10);
  display:inline-block;
}
.flag-de{background:linear-gradient(180deg,#000 0 33%, #dd0000 33% 66%, #ffce00 66% 100%)}
.flag-en{background:linear-gradient(135deg,#012169 0 45%, #fff 45% 55%, #c8102e 55% 100%)}

/* Mobile: make it big + easy to tap */
@media (max-width: 991px){
  .lang-pill{
    width:100%;
    justify-content:center;
    margin-top:10px;
  }
  .lang-menu{
    width:100%;
    min-width:unset;
  }
  .mdg-lang-wrap{
    align-items: center; text-align: center; justify-content: center;
  }
}

/* Center nav items (desktop) */
.mdg-nav-center{
  justify-content:center;
  text-align:center;
}

/* Language wrapper sits at far right on desktop */
.mdg-lang-wrap{
  margin-left:auto;
  display:flex;
  align-items:center;
}
@media (max-width: 991px){
  /* Center the whole collapsed menu */
  .navbar-nav{
    width:100%;
    align-items:center !important;
    gap:6px;
    padding-top:10px;
    padding-bottom:12px;
  }
  .navbar-nav .nav-link{
    text-align:center;
    width:100%;
    padding:10px 12px;
    border-radius:14px;
  }
  .navbar-nav .nav-link:hover{
    background:rgba(212,33,40,0.05);
  }

  /* Put language selector INSIDE the menu, as last element */
  .mdg-lang-wrap{
    width:100%;
    margin-left:0;
    margin-top:10px;
  }

  /* Language pill full width on mobile */
  .lang-pill{
    width:100%;
    justify-content:center;
  }
  .lang-menu{
    width:100%;
    min-width:unset;
  }
}


/* -----------------------------
   Buttons
------------------------------ */
.btn-mdg{
  background:var(--mdg-red);
  border:1px solid rgba(212,33,40,0.75);
  color:#fff;
  font-weight:900;
  border-radius:14px;
  padding:10px 14px;
  box-shadow: 0 10px 22px rgba(212,33,40,0.18);
}
.btn-mdg:hover{
  filter:brightness(0.98);
  transform:translateY(-1px);
}
.btn-mdg:active{transform:translateY(0)}
.btn-mdg:focus{box-shadow:none}

.btn-mdg-outline{
  background:#fff;
  border:1px solid rgba(212,33,40,0.45);
  color:var(--mdg-text);
  font-weight:900;
  border-radius:14px;
  padding:10px 14px;
}
.btn-mdg-outline:hover{
  border-color:rgba(212,33,40,0.70);
  background:rgba(212,33,40,0.06);
}
.btn-mdg-outline:focus{box-shadow:none}

/* -----------------------------
   Hero
------------------------------ */
.hero{
  position:relative;
  min-height:86vh;
  display:flex;
  align-items:stretch;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: top center; /* ✅ align to top */
  filter:saturate(1.05) contrast(1.02) brightness(1.06);
}

.hero-overlay{
  position:absolute;inset:0;
  /* White overlay so text stays black, even on busy video */
  background:linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0.1) 100%
  );
}
.hero-content{position:relative;padding:64px 0}

.hero-kicker{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,0.85);
  border:1px solid var(--mdg-border);
  color:rgba(15,17,21,0.80);
  font-size:14px;margin-bottom:14px;
}
.fw-800{font-weight:900; color: #fff;}

.hero-lead{
  color:rgba(255, 255, 255, 0.72);
  max-width:44ch;
}

/* Hero alignment helper */
.min-vh-75{min-height:75vh;}
.hero-inner{max-width: 60ch;}


.hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{
  display:inline-flex;align-items:center;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,0.92);
  border:1px solid var(--mdg-border);
  color:rgba(15,17,21,0.80);
  font-size:13px;
}
.chip-dark{background:rgba(255,255,255,0.92)}
.chip-soft{background:rgba(255,255,255,0.85)}

.scroll-hint{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;
  color:rgba(15,17,21,0.55);
  font-size:13px;
}

.hero-card{
  background:rgba(255,255,255,0.92);
  border:1px solid var(--mdg-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--mdg-shadow);
}
.hero-card-body{padding:14px}

/* -----------------------------
   Sections
------------------------------ */
.section{padding:72px 0}
.section-dark{
  background:linear-gradient(180deg, var(--mdg-bg2), rgba(246,247,249,0.55));
  border-top:1px solid var(--mdg-border);
  border-bottom:1px solid var(--mdg-border);
}
.section-head{max-width:70ch}
.section-head h2{font-weight:900}
.text-muted{color:var(--mdg-muted)!important}

/* -----------------------------
   Cards
------------------------------ */
.mdg-card{
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:var(--mdg-radius);
  overflow:hidden;
  box-shadow:var(--mdg-shadow-soft);
}
.mdg-card-img{
  height:230px;
  background-size:cover;
  background-position:center;
}
.shadow-soft{box-shadow:var(--mdg-shadow-soft)}
.icon-pill{
  width:36px;height:36px;border-radius:12px;
  background:rgba(212,33,40,0.10);
  border:1px solid rgba(212,33,40,0.22);
  display:flex;align-items:center;justify-content:center;
  color:var(--mdg-red);
}

/* -----------------------------
   Locations
------------------------------ */
.location-card{
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:var(--mdg-radius);
  padding:16px;
  height:100%;
  box-shadow:var(--mdg-shadow-soft);
}
.location-day{font-weight:900;font-size:18px}
.location-time{color:var(--mdg-muted);margin-top:2px}
.location-place{margin-top:10px;font-weight:900}
.location-addr{margin-top:4px;color:rgba(15,17,21,0.74)}

/* -----------------------------
   Reviews
------------------------------ */
.review-card{
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:var(--mdg-radius);
  padding:16px;
  box-shadow:var(--mdg-shadow-soft);
}
.stars{display:flex;gap:3px}
.stars .fa-star{color:rgba(15,17,21,0.20)}
.stars .fa-star.on{color:var(--mdg-red)}

/* -----------------------------
   Parallax
------------------------------ */
.parallax{
  position:relative;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.parallax-1{background-image:url("/img/fire.jpg")}
.parallax-2{background-image:url("/img/food/catering/tacos.jpeg")}

.parallax-overlay{
  position:absolute;inset:0;
  /* White overlay to keep black text readable */
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0.92),
    rgba(255,255,255,0.42),
    rgba(255,255,255,0)
  );
}
.parallax .container{position:relative}

/* -----------------------------
   Truck 3D
------------------------------ */
.truck-3d-wrap{position:relative;perspective:900px}
.truck-3d{
  transform-style:preserve-3d;
  will-change:transform;
  filter:drop-shadow(0 18px 44px rgba(12,18,28,0.18));
}
.truck-glow{
  position:absolute;inset:auto 10% -10% 10%;
  height:120px;border-radius:999px;
  background:radial-gradient(circle at center, rgba(212,33,40,0.22), transparent 65%);
  filter:blur(18px);
  z-index:-1;
}

/* -----------------------------
   Marquee (Partners)
------------------------------ */
.marquee{
  overflow:hidden;
}
.marquee-track{
  display:flex;
  gap:14px;
  width:max-content;
  padding:14px;
  animation:marquee 18s linear infinite;
}
.marquee-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:14px;
  border:1px solid var(--mdg-border);
  background:rgba(246,247,249,0.85);
  color:rgba(15,17,21,0.82);
  white-space:nowrap;
}
.marquee-item i{color:var(--mdg-red)}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Partner logos in marquee */
.marquee-logo{
  gap:100px;
  background: rgba(255,255,255,0.92);
}

.partner-logo{
  height:100px;
  width:auto;
  max-width:140px;
  object-fit:contain;
  filter: saturate(1.05) contrast(1.02);
}

.partner-name{
  font-weight:900;
  font-size:13px;
  color: rgba(15,17,21,0.78);
  white-space:nowrap;
}

/* Mobile: keep it compact */
@media (max-width: 576px){
  .partner-logo{height:24px; max-width:110px}
  .partner-name{font-size:12px}
}


/* -----------------------------
   Page hero
------------------------------ */
.page-hero{padding:56px 0 18px}
.page-hero h1{letter-spacing:-0.5px;font-weight:900}

/* -----------------------------
   Service slabs
------------------------------ */
.service-slab{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:0;
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:20px;
  overflow:hidden;
  min-height:260px;
  box-shadow:var(--mdg-shadow-soft);
}
.service-img{background-size:cover;background-position:center}
.service-body{padding:18px}
.service-body ul{color:rgba(15,17,21,0.72)}
.service-body li{margin-bottom:6px}

/* Hover reveal service cards */
.service-hover-card{
  position:relative;
  display:block;
  height:100%;
  min-height:600px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--mdg-border);
  background:#fff;
  text-decoration:none;
  color:var(--mdg-text);
  box-shadow: var(--mdg-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.service-hover-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform: scale(1.02);
  transition: transform .35s ease, filter .35s ease;
}

/* Soft overlay so title always readable */
.service-hover-card::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.10) 0%,
    rgba(255,255,255,0.82) 72%,
    rgba(255,255,255,0.96) 100%
  );
  transition: opacity .25s ease;
}

/* Title bar (always visible) */
.service-hover-top{
  position:absolute;
  left:16px; right:16px; bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 14px;
  border-radius:16px;
  background: rgba(255,255,255,0.92);
  border:1px solid var(--mdg-border);
  backdrop-filter: blur(10px);
}

.service-hover-top h5{
  font-weight:900;
  margin:0;
}

/* Hidden content */
.service-hover-more{
  position:absolute;
  left:16px; right:16px; top:16px;
  padding:14px 14px;
  border-radius:16px;
  background: rgba(255,255,255,0.92);
  border:1px solid var(--mdg-border);
  backdrop-filter: blur(10px);

  opacity:0;
  transform: translateY(8px);
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}

.service-hover-more p{
  color: rgba(15,17,21,0.72);
  font-weight:800;
}
.service-hover-more ul{margin:0; padding-left:18px}
.service-hover-more li{margin-bottom:6px; color: rgba(15,17,21,0.70)}

/* Hover/focus effects */
.service-hover-card:hover,
.service-hover-card:focus-visible{
  transform: translateY(-4px);
  border-color: rgba(212,33,40,0.25);
  box-shadow: 0 18px 50px rgba(12,18,28,0.16);
}

.service-hover-card:hover .service-hover-bg,
.service-hover-card:focus-visible .service-hover-bg{
  transform: scale(1.08);
  filter: saturate(1.15) contrast(1.05);
}

/* Reveal content on hover/focus */
.service-hover-card:hover .service-hover-more,
.service-hover-card:focus-visible .service-hover-more{
  opacity:1;
  transform: translateY(0);
}

/* Make overlay a bit stronger on hover for readability */
.service-hover-card:hover::before,
.service-hover-card:focus-visible::before{
  opacity:0.78;
}

/* Mobile: show "more" on tap focus (and keep it readable) */
@media (hover: none){
  .service-hover-more{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
  .service-hover-card::before{opacity:0.85}
}


/* -----------------------------
   PDF
------------------------------ */
.pdf-wrap{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--mdg-border);
  background:var(--mdg-card);
  box-shadow:var(--mdg-shadow-soft);
}
.pdf-frame{width:100%;height:78vh;border:0}

/* -----------------------------
   About
------------------------------ */
.about-card{
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--mdg-shadow-soft);
}

/* -----------------------------
   Gallery
------------------------------ */
.gallery-card{
  width:100%;
  border:0;
  padding:0;
  border-radius:18px;
  overflow:hidden;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.gallery-img{
  height:220px;
  background-size:cover;background-position:center;
  filter:saturate(1.04);
  transition:transform .25s ease, filter .25s ease;
}
.gallery-card:hover .gallery-img{
  transform:scale(1.04);
  filter:saturate(1.18) contrast(1.03);
}
.gallery-label{
  padding:10px 12px;
  background:rgba(255,255,255,0.95);
  border:1px solid var(--mdg-border);
  border-top:0;
  color:rgba(15,17,21,0.82);
  font-size:13px;
}
.lightbox-wrap{
  position:relative;
  display:flex;justify-content:center;align-items:center;
  min-height:60vh;
}
.lightbox-wrap img{
  max-width:100%;
  max-height:75vh;
  border-radius:18px;
  border:1px solid var(--mdg-border);
  box-shadow:var(--mdg-shadow);
}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  border:1px solid var(--mdg-border-strong);
  background:rgba(255,255,255,0.92);
  color:var(--mdg-text);
  width:46px;height:46px;border-radius:14px;
  box-shadow:var(--mdg-shadow-soft);
}
.lightbox-nav:hover{border-color:rgba(212,33,40,0.35)}
.lightbox-nav.prev{left:10px}
.lightbox-nav.next{right:10px}

/* -----------------------------
   FAQ
------------------------------ */
.mdg-accordion .accordion-item{
  background:var(--mdg-card);
  border:1px solid var(--mdg-border);
  border-radius:18px;
  overflow:hidden;
  margin-bottom:12px;
  box-shadow:var(--mdg-shadow-soft);
}
.mdg-accordion .accordion-button{
  background:transparent;
  color:var(--mdg-text);
  font-weight:900;
}
.mdg-accordion .accordion-button:focus{box-shadow:none}
.mdg-accordion .accordion-button:not(.collapsed){
  background:rgba(212,33,40,0.04);
}
.mdg-accordion .accordion-body{
  background:rgba(246,247,249,0.70);
  color:rgba(15,17,21,0.74);
}

/* -----------------------------
   Contact
------------------------------ */
.contact-cards{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:992px){.contact-cards{grid-template-columns:1fr 1fr}}
.contact-card{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--mdg-border);
  background:rgba(255,255,255,0.92);
  text-decoration:none;
  color:var(--mdg-text);
  box-shadow:var(--mdg-shadow-soft);
}
.contact-card:hover{
  border-color:rgba(212,33,40,0.28);
  background:rgba(212,33,40,0.03);
}
.contact-card i{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(212,33,40,0.10);
  border:1px solid rgba(212,33,40,0.22);
  color:var(--mdg-red);
}
.parallax-card{
  border-radius:22px;
  min-height:100%;
  background-size:cover;background-position:center;
  border:1px solid var(--mdg-border);
  overflow:hidden;
  position:relative;
  box-shadow:var(--mdg-shadow-soft);
}
.parallax-card::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,255,255,0.70));
}
.parallax-card-inner{position:relative;padding:26px}

/* -----------------------------
   Shop
------------------------------ */
.price-pill{
  padding:10px 14px;border-radius:999px;
  background:rgba(212,33,40,0.10);
  border:1px solid rgba(212,33,40,0.22);
  font-weight:900;
  color:var(--mdg-text);
}
.order-summary{
  border-radius:18px;
  padding:14px;
  border:1px solid var(--mdg-border);
  background:rgba(246,247,249,0.75);
  color:rgba(15,17,21,0.78);
}
.bank-box{
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(212,33,40,0.22);
  background:rgba(212,33,40,0.06);
}

/* -----------------------------
   Modal (Jetzt Anfragen)
------------------------------ */
.mdg-modal{
  background:rgba(255,255,255,0.96);
  border:1px solid var(--mdg-border);
  border-radius:22px;
  box-shadow:var(--mdg-shadow);
}
.wizard-progress{
  height:10px;border-radius:999px;
  background:rgba(246,247,249,0.95);
  border:1px solid var(--mdg-border);
  overflow:hidden;
}
.wizard-progress-bar{
  height:100%;
  width:33%;
  background:linear-gradient(90deg, var(--mdg-red), rgba(212,33,40,0.55));
  border-radius:999px;
  transition:width .25s ease;
}
.tag-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media(max-width:480px){.tag-grid{grid-template-columns:1fr}}
.tag-check input{display:none}
.tag-check span{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:16px;
  border:1px solid var(--mdg-border);
  background:rgba(255,255,255,0.92);
  color:rgba(15,17,21,0.84);
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.tag-check span i{color:rgba(15,17,21,0.55)}
.tag-check input:checked + span{
  border-color:rgba(212,33,40,0.55);
  background:rgba(212,33,40,0.08);
  transform:translateY(-1px);
}
.tag-check input:checked + span i{color:var(--mdg-red)}
.wizard-error{
  border:1px solid rgba(212,33,40,0.35);
  background:rgba(212,33,40,0.10);
  padding:10px 12px;border-radius:14px;
  color:var(--mdg-text);
}
.check-badge{
  width:70px;height:70px;border-radius:22px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(212,33,40,0.10);
  border:1px solid rgba(212,33,40,0.22);
  margin:0 auto;
  font-size:28px;
  color:var(--mdg-red);
}

/* -----------------------------
   CTA
------------------------------ */
.cta-card{
  background:rgba(255,255,255,0.92);
  border:1px solid var(--mdg-border);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--mdg-shadow-soft);
}

/* -----------------------------
   Footer
------------------------------ */
.footer{
  border-top:1px solid var(--mdg-border);
  background:linear-gradient(180deg, rgba(246,247,249,0.60), rgba(255,255,255,1));
}
.footer-title{font-weight:900;margin-bottom:12px}
.footer-link{
  color:rgba(15,17,21,0.70);
  text-decoration:none;
}
.footer-link:hover{color:var(--mdg-text)}

.footer-bottom{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
 display:block; justify-content:center; align-items:center; text-align: center;}
 
 
.social{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(246,247,249,0.95);
  border:1px solid var(--mdg-border);
  color:var(--mdg-text);
  text-decoration:none;
}
.social:hover{
  border-color:rgba(212,33,40,0.28);
  color:var(--mdg-red);
}
.hr-soft{height:1px;background:rgba(0,0,0,0.08)}

/* -----------------------------
   Back to top
------------------------------ */
.to-top{
  position:fixed;
  right:18px;bottom:18px;
  width:46px;height:46px;border-radius:16px;
  border:1px solid var(--mdg-border-strong);
  background:rgba(255,255,255,0.95);
  color:var(--mdg-text);
  box-shadow:var(--mdg-shadow-soft);
  display:none;
}
.to-top.show{display:inline-flex;align-items:center;justify-content:center}
.to-top:hover{border-color:rgba(212,33,40,0.35);color:var(--mdg-red)}

/* -----------------------------
   Responsive tweaks
------------------------------ */
@media(max-width:991px){
  .hero{min-height:78vh}
  .hero-content{padding:46px 0}
  .service-slab{grid-template-columns:1fr}
  .service-img{min-height:200px}
  .pdf-frame{height:70vh}
}
