/* =========================================================
   MEGA-MENU.CSS — RUSTIC PARCHMENT STYLE
   ========================================================= */


/* =========================================================
   MEGA MENU WRAPPERS
   ========================================================= */

.products-mega,
.guide-mega,
.journal-mega {
  position: fixed;
  top: calc(var(--banner-top) + var(--banner-height) + 12px);
  left: var(--banner-visual-side-gap);
  right: var(--banner-visual-side-gap);
  z-index: 99999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-8px);

  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease;
}

.products-mega.is-open,
.guide-mega.is-open,
.journal-mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: translateY(0);
}

.products-mega-inner,
.guide-mega-inner,
.journal-mega-inner {
  width: min(1280px, 100%);
  max-width: 1280px;
  margin-inline: auto;
  padding: 20px;
  overflow: visible;

  border: none;
  border-radius: 0;
  background: transparent;

  box-shadow: none;

  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}


/* =========================================================
   MEGA MENU GRIDS
   ========================================================= */

.products-mega-grid.services-mega-grid,
.products-mega-grid.services-mega-grid--three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  align-items: stretch;
  gap: 18px;

  max-width: 1280px;
  margin-inline: auto;
}

.products-mega-grid.services-mega-grid--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  align-items: stretch;
  gap: 18px;

  max-width: 860px;
  margin-inline: auto;
}

.info-mega .info-mega-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  align-items: stretch;
  gap: 18px;

  max-width: 860px;
  margin-inline: auto;
}

.guide-mega-inner--info-grid,
.journal-mega-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  align-items: stretch;
  gap: 18px;
}


/* =========================================================
   BASE MEGA CARDS — PARCHMENT
   ========================================================= */

.service-mega-card,
.journal-mega-card {
  position: relative;

  display: flex;
  flex-direction: column;

  width: 100%;
  height: 200px;
  min-height: 200px;
  max-height: 200px;

  padding: 17px 18px 15px;
  overflow: hidden;

  border: 1px solid rgba(120, 78, 34, 0.72);
  border-radius: 19px;

  color: #20160d;
  font: inherit;
  text-align: center;
  text-decoration: none;

  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.34), transparent 28%),
    radial-gradient(circle at 82% 80%, rgba(96, 61, 26, 0.12), transparent 35%),
    linear-gradient(
      180deg,
      #eadcc3 0%,
      #e2d0b3 48%,
      #cdb78f 100%
    );

  box-shadow:
    0 16px 32px rgba(0, 0, 0, 0.48),
    0 2px 0 rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 0 0 1px rgba(255, 246, 220, 0.20),
    inset 0 -20px 38px rgba(84, 52, 20, 0.11);

  cursor: pointer;
  appearance: none;

  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.service-mega-card::before,
.journal-mega-card::before {
  content: "";

  position: absolute;
  inset: 8px;
  z-index: 0;

  border: 1px solid rgba(126, 91, 42, 0.36);
  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(82, 58, 28, 0.13) 0%,
      transparent 16%,
      transparent 84%,
      rgba(82, 58, 28, 0.11) 100%
    ),
    repeating-linear-gradient(
      0deg,
      rgba(72, 48, 21, 0.035) 0px,
      rgba(72, 48, 21, 0.035) 1px,
      transparent 1px,
      transparent 7px
    );

  pointer-events: none;
}

.service-mega-card::after,
.journal-mega-card::after {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    radial-gradient(circle at 2% 5%, rgba(69, 42, 17, 0.20), transparent 15%),
    radial-gradient(circle at 98% 8%, rgba(69, 42, 17, 0.16), transparent 16%),
    radial-gradient(circle at 0% 98%, rgba(69, 42, 17, 0.18), transparent 16%),
    radial-gradient(circle at 100% 100%, rgba(69, 42, 17, 0.18), transparent 16%);

  opacity: 0.75;
}

.service-mega-card:hover,
.service-mega-card:focus-visible,
.guide-mega-panel:hover,
.guide-mega-panel:focus-visible,
.journal-mega-card:hover,
.journal-mega-card:focus-visible {
  border-color: rgba(207, 151, 56, 0.92);

  box-shadow:
    0 19px 40px rgba(0, 0, 0, 0.54),
    0 0 0 1px rgba(250, 186, 0, 0.22),
    0 0 24px rgba(250, 186, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 0 0 1px rgba(255, 246, 220, 0.26),
    inset 0 -20px 38px rgba(84, 52, 20, 0.12);

  transform: translateY(-2px);
}


/* =========================================================
   NORMAL CARD IMAGE AREA
   ========================================================= */

.service-mega-card:not(#info-mega-guide) .service-mega-image-wrap,
.journal-mega-card .journal-mega-image-wrap {
  position: relative;
  z-index: 2;

  flex: 1 1 auto;

  display: block;
  width: min(78%, 260px);
  min-height: 0;
  margin: 0 auto 10px;
  overflow: hidden;

  border: 1px solid rgba(69, 43, 18, 0.46);
  border-radius: 7px;

  background:
    linear-gradient(180deg, rgba(10, 8, 6, 0.92), rgba(25, 16, 9, 0.86));

  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.service-mega-card:not(#info-mega-guide) .service-mega-image,
.journal-mega-card .journal-mega-image {
  position: absolute;
  top: 50%;
  left: 50%;

  display: block;

  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;

  margin: 0;
  padding: 0;

  border-radius: 6px;

  object-fit: cover;
  object-position: center center;

  transform: translate(-50%, -50%);

  filter:
    brightness(0.88)
    contrast(1.08)
    saturate(0.88)
    sepia(0.10);
}

.service-mega-image-contain {
  object-fit: contain;
  padding: 0;
  background: transparent;
}


/* =========================================================
   IMAGE ADJUSTMENTS
   ========================================================= */

#products-mega .service-mega-card:not(#info-mega-guide) .service-mega-image {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}

/* Vain Lähiretket-kuvan koko */
#mega-open-tours .service-mega-image {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;

  object-fit: cover !important;
  object-position: center 15% !important;

  transform: translate(-50%, -50%) scale(1.06) !important;
}

#mega-open-tours .service-mega-image-wrap {
  background:
    linear-gradient(180deg, rgba(10, 8, 6, 0.92), rgba(25, 16, 9, 0.86)) !important;
  border-radius: 7px !important;
}

/* Retkikirja-kuvat */
#journal-mega .service-mega-card .service-mega-image {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}

/* Historia ja luonto -kuva */
#info-mega-history .service-mega-image {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;

  object-fit: contain;
}


/* =========================================================
   NORMAL CARD TEXT — BELOW IMAGE
   ========================================================= */

.service-mega-card:not(#info-mega-guide) .service-mega-content,
.journal-mega-card .journal-mega-content {
  position: relative;
  z-index: 3;

  flex: 0 0 auto;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 48px;

  margin: 0;
  padding: 4px 8px 0;

  text-align: center;
  overflow: visible;
}

.service-mega-card:not(#info-mega-guide) .service-mega-content::before,
.journal-mega-card .journal-mega-content::before {


  display: block;

  margin: 0 0 5px;

  color: rgba(183, 127, 32, 0.88);
  font-family: Georgia, serif;
  font-size: 13px;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(255, 245, 210, 0.38);
}

.service-mega-card:not(#info-mega-guide) .service-mega-content::after,
.journal-mega-card .journal-mega-content::after {
  content: "";

  display: block;

  width: 44px;
  height: 1px;
  margin-top: 7px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(176, 119, 28, 0.92),
      transparent
    );
}

.service-mega-card:not(#info-mega-guide) .service-mega-content h3,
.journal-mega-card .journal-mega-content h3 {
  margin: 0;

  color: #21160c;
  font-family: var(--font-vollkorn);
  font-size: clamp(1.05rem, 1.16vw, 1.28rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.055em;
  text-align: center;
  text-transform: none;

  text-shadow:
    0 1px 0 rgba(255, 245, 221, 0.70),
    0 2px 8px rgba(92, 54, 20, 0.12);
}

.service-mega-card:not(#info-mega-guide) .service-mega-content p,
.journal-mega-card .journal-mega-content p {
  display: none;
}


/* =========================================================
   DECORATIVE CARD ORNAMENTS
   ========================================================= */


#mega-open-tours::before {
  background:
    linear-gradient(
      135deg,
      rgba(82, 58, 28, 0.13) 0%,
      transparent 16%,
      transparent 84%,
      rgba(82, 58, 28, 0.11) 100%
    ),
    radial-gradient(ellipse at 10% 64%, rgba(74, 57, 30, 0.16), transparent 18%),
    repeating-linear-gradient(
      0deg,
      rgba(72, 48, 21, 0.035) 0px,
      rgba(72, 48, 21, 0.035) 1px,
      transparent 1px,
      transparent 7px
    );
}

#products-mega .service-mega-card:nth-child(2)::before,
#journal-mega .service-mega-card:nth-child(2)::before {
  background:
    linear-gradient(
      135deg,
      transparent 0%,
      transparent 70%,
      rgba(82, 58, 28, 0.13) 100%
    ),
    radial-gradient(ellipse at 84% 16%, rgba(74, 57, 30, 0.13), transparent 20%),
    repeating-linear-gradient(
      0deg,
      rgba(72, 48, 21, 0.035) 0px,
      rgba(72, 48, 21, 0.035) 1px,
      transparent 1px,
      transparent 7px
    );
}

#products-mega .service-mega-card:nth-child(3)::before,
#info-mega-history::before {
  background:
    linear-gradient(
      135deg,
      rgba(82, 58, 28, 0.10) 0%,
      transparent 22%,
      transparent 74%,
      rgba(82, 58, 28, 0.18) 100%
    ),
    radial-gradient(ellipse at 90% 66%, rgba(74, 57, 30, 0.18), transparent 22%),
    repeating-linear-gradient(
      0deg,
      rgba(72, 48, 21, 0.035) 0px,
      rgba(72, 48, 21, 0.035) 1px,
      transparent 1px,
      transparent 7px
    );
}


/* =========================================================
   WIP RIBBON
   ========================================================= */

.service-mega-card-wip .service-mega-image-wrap::before {
  content: "Work in progress";

  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;

  padding: 8px 18px;

  border: 2px solid rgba(176, 119, 28, 0.92);
  border-radius: 999px;

  color: #2b1b0d;
  background: rgba(236, 218, 184, 0.88);

  font-family: var(--font-inter);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;

  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.36),
    0 0 18px rgba(250, 186, 0, 0.10);

  pointer-events: none;

  transform: translate(-50%, -50%) rotate(-18deg);
}

.service-mega-card-wip .service-mega-image {
  filter:
    brightness(0.62)
    saturate(0.75);
}


/* =========================================================
   INFO MEGA — DEFAULTS
   ========================================================= */

.info-mega-card {
  height: 210px;
  min-height: 210px;
  max-height: 210px;
}

.info-mega-contact {
  display: grid;
  gap: 3px;

  margin: 7px 0 0;
  padding: 0;
  list-style: none;

  color: rgba(45, 29, 14, 0.88);
  font-family: var(--font-inter, "Inter", sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
}

.info-mega-contact li {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

.info-mega-contact span:not(.info-mega-icon) {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.info-mega-icon {
  color: rgba(160, 105, 24, 0.95);
  font-size: 0.72rem;
}

.info-mega-button {
  display: none !important;
}


/* =========================================================
   INFO MEGA — GUIDE CARD SPECIAL LAYOUT
   ========================================================= */

#info-mega-guide {
  position: relative;

  display: grid !important;
  grid-template-columns: minmax(0, 56%) minmax(118px, 36%);
  align-items: center;
  gap: 8%;

  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;

  padding: 18px 24px !important;
  overflow: hidden;

  border: 1px solid rgba(120, 78, 34, 0.72);
  border-radius: 19px;

  color: #20160d;

  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.34), transparent 28%),
    radial-gradient(circle at 82% 80%, rgba(96, 61, 26, 0.12), transparent 35%),
    linear-gradient(
      180deg,
      #eadcc3 0%,
      #e2d0b3 48%,
      #cdb78f 100%
    );

  box-shadow:
    0 16px 32px rgba(0, 0, 0, 0.48),
    0 2px 0 rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 0 0 1px rgba(255, 246, 220, 0.20),
    inset 0 -20px 38px rgba(84, 52, 20, 0.11);
}

#info-mega-guide::before {
  content: "";

  position: absolute;
  inset: 8px;
  z-index: 0;

  border: 1px solid rgba(126, 91, 42, 0.36);
  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(82, 58, 28, 0.13) 0%,
      transparent 16%,
      transparent 84%,
      rgba(82, 58, 28, 0.11) 100%
    ),
    radial-gradient(ellipse at 8% 72%, rgba(74, 57, 30, 0.15), transparent 20%),
    repeating-linear-gradient(
      0deg,
      rgba(72, 48, 21, 0.035) 0px,
      rgba(72, 48, 21, 0.035) 1px,
      transparent 1px,
      transparent 7px
    );

  pointer-events: none;
}

#info-mega-guide::after {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    radial-gradient(circle at 2% 5%, rgba(69, 42, 17, 0.20), transparent 15%),
    radial-gradient(circle at 98% 8%, rgba(69, 42, 17, 0.16), transparent 16%),
    radial-gradient(circle at 0% 98%, rgba(69, 42, 17, 0.18), transparent 16%),
    radial-gradient(circle at 100% 100%, rgba(69, 42, 17, 0.18), transparent 16%);

  opacity: 0.75;
}

#info-mega-guide .info-mega-content {
  position: relative !important;
  inset: auto !important;
  z-index: 3;

  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  width: 100% !important;
  height: auto !important;
  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
  overflow: hidden !important;
}

#info-mega-guide .service-mega-image-wrap {
  position: relative !important;
  inset: auto !important;
  z-index: 3;

  display: block !important;

  width: 100% !important;
  height: 150px !important;
  max-height: 150px !important;

  overflow: hidden;

  border: 1px solid rgba(69, 43, 18, 0.46);
  border-radius: 7px;

  background:
    linear-gradient(180deg, rgba(10, 8, 6, 0.92), rgba(25, 16, 9, 0.86));

  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

#info-mega-guide .service-mega-image {
  position: static !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;

  border-radius: 6px;

  object-fit: cover !important;
  object-position: center !important;

  transform: none !important;

  filter:
    brightness(0.88)
    contrast(1.08)
    saturate(0.88)
    sepia(0.10);
}

#info-mega-guide .info-guide-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  margin: 0 0 7px;
}

#info-mega-guide .info-guide-title span {
  margin-bottom: 5px;

  color: rgba(160, 105, 24, 0.96);
  font-family: var(--font-raleway);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

#info-mega-guide .info-guide-title strong {
  color: #21160c;
  font-family: var(--font-cormorant);
  font-size: clamp(22px, 1.6vw, 28px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.01em;

  text-shadow:
    0 1px 0 rgba(255, 245, 221, 0.70),
    0 2px 8px rgba(92, 54, 20, 0.12);
}

#info-mega-guide .info-guide-title::after {
  content: "";

  display: block;

  width: 42px;
  height: 1px;
  margin-top: 8px;

  background:
    linear-gradient(
      90deg,
      rgba(176, 119, 28, 0.1),
      rgba(176, 119, 28, 0.92),
      rgba(176, 119, 28, 0.1)
    );
}

#info-mega-guide .info-mega-contact {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;

  width: 100%;
  margin: 0 0 9px !important;
  padding: 0 !important;

  list-style: none;
}

#info-mega-guide .info-mega-contact li {
  display: flex !important;
  align-items: center;
  gap: 7px;

  width: 100%;
  min-width: 0;

  color: rgba(45, 29, 14, 0.88);
  font-family: var(--font-inter);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.1;
}

#info-mega-guide .info-mega-contact li span:last-child {
  overflow: hidden;
  max-width: 100%;

  white-space: nowrap;
  text-overflow: ellipsis;
}

#info-mega-guide .info-mega-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 13px;
  min-width: 13px;

  color: rgba(160, 105, 24, 0.95);
  font-size: 11px;
  line-height: 1;
}


/* =========================================================
   INFO MEGA — HISTORY CARD
   ========================================================= */

#info-mega-history {
  display: flex !important;
  flex-direction: column !important;

  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;

  padding: 17px 18px 15px !important;
}

#info-mega-history .info-mega-content {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3;

  flex: 0 0 auto;

  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100% !important;
  min-height: 48px;

  margin: 0 !important;
  padding: 4px 8px 0 !important;

  text-align: center !important;
  overflow: visible !important;
}

#info-mega-history .info-mega-content::before {


  display: block;

  margin: 0 0 5px;

  color: rgba(183, 127, 32, 0.88);
  font-family: Georgia, serif;
  font-size: 13px;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(255, 245, 210, 0.38);
}

#info-mega-history .info-mega-content::after {
  content: "";

  display: block;

  width: 44px;
  height: 1px;
  margin-top: 7px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(176, 119, 28, 0.92),
      transparent
    );
}

#info-mega-history .info-mega-content h3 {
  margin: 0;

  color: #21160c;
  font-family: var(--font-vollkorn);
  font-size: clamp(1.05rem, 1.16vw, 1.28rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.055em;
  text-align: center;

  text-shadow:
    0 1px 0 rgba(255, 245, 221, 0.70),
    0 2px 8px rgba(92, 54, 20, 0.12);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1360px) {
  .info-mega .info-mega-grid {
    max-width: 780px;
  }

  #info-mega-guide {
    grid-template-columns: minmax(0, 58%) minmax(104px, 34%);
    gap: 8%;
    padding: 18px 24px !important;
  }

  #info-mega-guide .service-mega-image-wrap {
    height: 142px !important;
    max-height: 142px !important;
  }

  #info-mega-guide .info-guide-title strong {
    font-size: clamp(20px, 1.45vw, 26px);
  }

  #info-mega-guide .info-mega-contact li {
    font-size: 8px;
  }
}

@media (max-width: 900px) {
  .products-mega,
  .guide-mega,
  .journal-mega,
  .info-mega {
    display: none;
  }
}
/* =========================================================
   FINAL OVERRIDE: kuvat isommiksi, viiva pois, teksti alemmas
   ========================================================= */

@media (min-width: 901px) {
  :root {
    --mega-image-top: 15px;
    --mega-image-side: 15px;
    --mega-image-height: 138px;
    --mega-text-bottom: 9px;
  }

  /* Tavallisten korttien kuva-alue isommaksi ilman että kortti kasvaa */
  .service-mega-card:not(#info-mega-guide) .service-mega-image-wrap,
  .journal-mega-card .journal-mega-image-wrap {
    position: absolute !important;

    top: var(--mega-image-top) !important;
    left: var(--mega-image-side) !important;
    right: var(--mega-image-side) !important;

    width: auto !important;
    height: var(--mega-image-height) !important;
    min-height: var(--mega-image-height) !important;
    max-height: var(--mega-image-height) !important;

    margin: 0 !important;
  }

  /* Kuva täyttää isomman kuva-alueen */
  .service-mega-card:not(#info-mega-guide) .service-mega-image,
  .journal-mega-card .journal-mega-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
  }

  /* Lähiretket-kuvan oma rajaus */
  #mega-open-tours .service-mega-image {
    object-position: center 15% !important;
    transform: translate(-50%, -50%) scale(1.06) !important;
  }

  /* Teksti lukitaan alemmas */
  .service-mega-card:not(#info-mega-guide) .service-mega-content,
  .journal-mega-card .journal-mega-content,
  #info-mega-history .info-mega-content {
    position: absolute !important;

    left: 12px !important;
    right: 12px !important;
    bottom: var(--mega-text-bottom) !important;

    height: 28px !important;
    min-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
  }

  /* Tekstin alta viiva pois */
  .service-mega-card:not(#info-mega-guide) .service-mega-content::after,
  .journal-mega-card .journal-mega-content::after,
  #info-mega-history .info-mega-content::after {
    display: none !important;
    content: none !important;
  }

  /* Mahdollinen yläpuolen symboli pois */
  .service-mega-card:not(#info-mega-guide) .service-mega-content::before,
  .journal-mega-card .journal-mega-content::before,
  #info-mega-history .info-mega-content::before {
    display: none !important;
    content: none !important;
  }
}
/* =========================================================
   MEGAMENU HOVER — jyrkempi hillitty harmaa, ei liikettä
   ========================================================= */

@media (min-width: 901px) {
  .service-mega-card:hover,
  .service-mega-card:focus-visible,
  .journal-mega-card:hover,
  .journal-mega-card:focus-visible,
  #info-mega-history:hover,
  #info-mega-history:focus-visible {
    transform: none !important;

    background: #9f927c !important;
    border-color: rgba(62, 50, 35, 0.95) !important;

    box-shadow:
      0 16px 34px rgba(0, 0, 0, 0.54),
      0 0 0 1px rgba(255, 235, 190, 0.18),
      0 0 22px rgba(68, 55, 38, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.26),
      inset 0 -16px 30px rgba(44, 34, 22, 0.18) !important;
  }

  .service-mega-card:hover .service-mega-content h3,
  .service-mega-card:focus-visible .service-mega-content h3,
  .journal-mega-card:hover .journal-mega-content h3,
  .journal-mega-card:focus-visible .journal-mega-content h3,
  #info-mega-history:hover .info-mega-content h3,
  #info-mega-history:focus-visible .info-mega-content h3 {
    color: #140d06 !important;
    text-shadow:
      0 1px 0 rgba(230, 220, 200, 0.45),
      0 2px 5px rgba(45, 32, 18, 0.24) !important;
  }

  .service-mega-card:hover .service-mega-image-wrap,
  .service-mega-card:focus-visible .service-mega-image-wrap,
  .journal-mega-card:hover .journal-mega-image-wrap,
  .journal-mega-card:focus-visible .journal-mega-image-wrap,
  #info-mega-history:hover .service-mega-image-wrap,
  #info-mega-history:focus-visible .service-mega-image-wrap {
    border-color: rgba(48, 36, 22, 0.88) !important;
    box-shadow:
      0 8px 18px rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(255, 245, 220, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  }

  .service-mega-card:hover .service-mega-image,
  .service-mega-card:focus-visible .service-mega-image,
  .journal-mega-card:hover .journal-mega-image,
  .journal-mega-card:focus-visible .journal-mega-image,
  #info-mega-history:hover .service-mega-image,
  #info-mega-history:focus-visible .service-mega-image {
    filter:
      brightness(0.93)
      contrast(1.12)
      saturate(0.82)
      sepia(0.06) !important;
  }
}
.service-mega-image-wrap--coming-soon {
  position: relative;
}

.coming-soon-badge {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(5, 8, 12, 0.48);
  color: #fff7df;

  font-family: var(--font-cinzel, serif);
  font-size: clamp(1.1rem, 2.4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85);
  pointer-events: none;
}