/* =========================================================
   ALMARA Destinations v1.0.3 STRUCTURE FIX
   Server filename: /wp-content/mu-plugins/almara-platform/assets/almara-destinations.css
   Compatible with: Elementor Container templates v1.0.3

   Purpose:
   - Restore real section/grid/card layout for Destinations
   - Use the same direct-container-safe strategy as working Partners CSS
   - Keep Destinations as strategic rollout/season/growth page

   Safety:
   - no :has()
   - no 100vw breakout
   - no negative viewport margins
   - no html/body overflow hacks
   - no admin/editor selectors
   ========================================================= */

[id^="alm-destinations-"],
[id^="alm-destinations-"] *,
[id^="alm-destinations-"] *::before,
[id^="alm-destinations-"] *::after {
  box-sizing: border-box;
}

[id^="alm-destinations-"] {
  --alm-d-navy: var(--alm-navy, #063247);
  --alm-d-navy-soft: #123d50;
  --alm-d-muted: var(--alm-muted, #587081);
  --alm-d-sand: var(--alm-sand, #f3eadb);
  --alm-d-cream: var(--alm-cream, #fbf8f1);
  --alm-d-white: #ffffff;
  --alm-d-aqua: #38c6d9;
  --alm-d-aqua-soft: rgba(56, 198, 217, .14);
  --alm-d-line: rgba(6, 50, 71, .13);
  --alm-d-shadow: 0 20px 52px rgba(6, 50, 71, .11);
  --alm-d-shadow-soft: 0 12px 30px rgba(6, 50, 71, .085);
  --alm-d-radius: 18px;
  --alm-d-radius-lg: 22px;
  min-width: 0 !important;
  color: var(--alm-d-navy) !important;
}

/* ---------- Root sections ---------- */
#alm-destinations-hero,
#alm-destinations-logic,
#alm-destinations-rollout,
#alm-destinations-pilot,
#alm-destinations-winter,
#alm-destinations-mediterranean,
#alm-destinations-readiness,
#alm-destinations-location,
#alm-destinations-final-cta {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding-left: clamp(28px, 5vw, 76px) !important;
  padding-right: clamp(28px, 5vw, 76px) !important;
}

#alm-destinations-hero {
  padding-top: clamp(54px, 5vw, 88px) !important;
  padding-bottom: clamp(60px, 7vw, 106px) !important;
  background:
    radial-gradient(circle at 82% 13%, rgba(56,198,217,.16), transparent 37%),
    var(--alm-d-sand) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(380px, .92fr) !important;
  column-gap: clamp(42px, 5.3vw, 86px) !important;
  row-gap: clamp(28px, 3.4vw, 46px) !important;
  align-items: center !important;
  justify-content: center !important;
}

#alm-destinations-logic,
#alm-destinations-pilot,
#alm-destinations-mediterranean,
#alm-destinations-final-cta {
  background: rgba(251,248,241,.76) !important;
}

#alm-destinations-rollout,
#alm-destinations-winter,
#alm-destinations-readiness {
  background:
    radial-gradient(circle at 14% 16%, rgba(56,198,217,.13), transparent 31%),
    linear-gradient(180deg, rgba(243,234,219,.86), rgba(56,198,217,.055)) !important;
}

#alm-destinations-location {
  background: rgba(243,234,219,.86) !important;
  display: grid !important;
  grid-template-columns: minmax(320px, .96fr) minmax(0, .82fr) !important;
  column-gap: clamp(44px, 5vw, 88px) !important;
  row-gap: clamp(28px, 4vw, 52px) !important;
  align-items: center !important;
}

#alm-destinations-logic,
#alm-destinations-rollout,
#alm-destinations-pilot,
#alm-destinations-winter,
#alm-destinations-mediterranean,
#alm-destinations-readiness,
#alm-destinations-final-cta {
  padding-top: clamp(86px, 8vw, 132px) !important;
  padding-bottom: clamp(86px, 8vw, 132px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

#alm-destinations-location {
  padding-top: clamp(88px, 8vw, 132px) !important;
  padding-bottom: clamp(88px, 8vw, 132px) !important;
}

/* ---------- Inner layout guards ---------- */
#alm-destinations-hero-copy,
#alm-destinations-hero-media,
#alm-destinations-hero-status,
#alm-destinations-logic-copy,
#alm-destinations-rollout-copy,
#alm-destinations-pilot-copy,
#alm-destinations-winter-copy,
#alm-destinations-mediterranean-copy,
#alm-destinations-readiness-copy,
#alm-destinations-location-copy,
#alm-destinations-location-visual,
#alm-destinations-final-cta-grid,
#alm-destinations-logic-grid,
#alm-destinations-rollout-grid,
#alm-destinations-pilot-grid,
#alm-destinations-winter-grid,
#alm-destinations-mediterranean-grid,
#alm-destinations-readiness-grid {
  min-width: 0 !important;
}

#alm-destinations-hero-copy,
#alm-destinations-logic-copy,
#alm-destinations-rollout-copy,
#alm-destinations-pilot-copy,
#alm-destinations-winter-copy,
#alm-destinations-mediterranean-copy,
#alm-destinations-readiness-copy,
#alm-destinations-location-copy {
  width: 100% !important;
  max-width: 980px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

#alm-destinations-hero-copy {
  max-width: 700px !important;
  justify-self: end !important;
}

#alm-destinations-logic-copy,
#alm-destinations-rollout-copy,
#alm-destinations-pilot-copy,
#alm-destinations-winter-copy,
#alm-destinations-mediterranean-copy,
#alm-destinations-readiness-copy {
  margin: 0 auto clamp(34px, 4vw, 56px) !important;
}

#alm-destinations-location-copy {
  max-width: 700px !important;
}

[id^="alm-destinations-"] > .elementor-widget,
[id^="alm-destinations-"] .alm-card > .elementor-widget,
[id^="alm-destinations-"] .alm-final-cta-card > .elementor-widget,
#alm-destinations-hero-copy > .elementor-widget,
#alm-destinations-location-copy > .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* ---------- Typography ---------- */
[id^="alm-destinations-"] .alm-kicker,
[id^="alm-destinations-"] .alm-kicker p,
[id^="alm-destinations-"] .alm-eyebrow,
[id^="alm-destinations-"] .alm-eyebrow p,
[id^="alm-destinations-"] .alm-card-eyebrow,
[id^="alm-destinations-"] .alm-card-eyebrow p {
  margin: 0 0 22px !important;
  color: rgba(6,50,71,.68) !important;
  font-size: .76rem !important;
  line-height: 1.35 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
}

[id^="alm-destinations-"] h1,
[id^="alm-destinations-"] h2,
[id^="alm-destinations-"] h3,
[id^="alm-destinations-"] .elementor-heading-title {
  margin: 0 !important;
  color: var(--alm-d-navy) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
}

#alm-destinations-hero h1,
#alm-destinations-hero .alm-hero-title .elementor-heading-title {
  max-width: 720px !important;
  font-size: clamp(4.1rem, 6.2vw, 7rem) !important;
}

#alm-destinations-logic h2,
#alm-destinations-rollout h2,
#alm-destinations-pilot h2,
#alm-destinations-winter h2,
#alm-destinations-mediterranean h2,
#alm-destinations-readiness h2,
#alm-destinations-location h2,
#alm-destinations-final-cta h2,
#alm-destinations-logic .elementor-heading-title,
#alm-destinations-rollout .elementor-heading-title,
#alm-destinations-pilot .elementor-heading-title,
#alm-destinations-winter .elementor-heading-title,
#alm-destinations-mediterranean .elementor-heading-title,
#alm-destinations-readiness .elementor-heading-title,
#alm-destinations-location .elementor-heading-title,
#alm-destinations-final-cta .elementor-heading-title {
  max-width: 960px !important;
  font-size: clamp(2.7rem, 4.45vw, 5.2rem) !important;
}

[id^="alm-destinations-"] p {
  margin-top: 0 !important;
}

[id^="alm-destinations-"] .alm-hero-lead,
[id^="alm-destinations-"] .alm-section-lead,
[id^="alm-destinations-"] .alm-visual-text,
[id^="alm-destinations-"] .alm-final-cta-text,
[id^="alm-destinations-"] .alm-card-text {
  color: var(--alm-d-muted) !important;
  font-size: clamp(1.02rem, 1.08vw, 1.15rem) !important;
  line-height: 1.72 !important;
}

[id^="alm-destinations-"] .alm-hero-lead,
[id^="alm-destinations-"] .alm-section-lead {
  margin-top: clamp(20px, 2vw, 28px) !important;
  max-width: 860px !important;
}

[id^="alm-destinations-"] .alm-card-title .elementor-heading-title,
[id^="alm-destinations-"] .alm-card-title h3,
[id^="alm-destinations-"] .alm-card-title h4 {
  font-size: clamp(1.25rem, 1.22vw, 1.55rem) !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
}

[id^="alm-destinations-"] .alm-card-text {
  margin-top: 16px !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

/* ---------- Buttons ---------- */
#alm-destinations-hero .alm-destinations-cta-row,
#alm-destinations-hero .alm-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-top: clamp(28px, 3vw, 42px) !important;
}

[id^="alm-destinations-"] .elementor-button {
  border-radius: 999px !important;
  padding: .82rem 1.08rem !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(6, 50, 71, .14) !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease !important;
}

[id^="alm-destinations-"] .alm-btn-primary .elementor-button,
#alm-destinations-final-cta .alm-final-cta-card--dark .elementor-button {
  background: var(--alm-d-navy) !important;
  color: #fff !important;
}

[id^="alm-destinations-"] .alm-btn-secondary .elementor-button,
#alm-destinations-final-cta .alm-final-cta-card--light .elementor-button {
  background: #fff !important;
  color: var(--alm-d-navy) !important;
}

[id^="alm-destinations-"] .elementor-button:hover,
[id^="alm-destinations-"] .elementor-button:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 28px rgba(6, 50, 71, .18) !important;
}

[id^="alm-destinations-"] .alm-btn-primary .elementor-button:hover,
#alm-destinations-final-cta .alm-final-cta-card--dark .elementor-button:hover {
  background: var(--alm-d-aqua) !important;
  color: var(--alm-d-navy) !important;
}

/* ---------- Hero media and status ---------- */
#alm-destinations-hero-media,
#alm-destinations-location-visual {
  width: 100% !important;
  max-width: 500px !important;
  padding: 16px !important;
  border: 1px solid rgba(56,198,217,.38) !important;
  border-radius: var(--alm-d-radius-lg) !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: var(--alm-d-shadow) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

#alm-destinations-hero-media {
  justify-self: start !important;
}

#alm-destinations-location-visual {
  max-width: 720px !important;
  justify-self: end !important;
}

[id^="alm-destinations-"] .alm-visual-title .elementor-heading-title,
[id^="alm-destinations-"] .alm-visual-title h3 {
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}

[id^="alm-destinations-"] .alm-destinations-video,
[id^="alm-destinations-"] .alm-destinations-video .elementor-wrapper,
[id^="alm-destinations-"] .alm-destinations-video iframe,
[id^="alm-destinations-"] .alm-destinations-video video,
[id^="alm-destinations-"] .alm-destinations-image,
[id^="alm-destinations-"] .alm-destinations-image img {
  overflow: hidden !important;
  border-radius: 13px !important;
}

[id^="alm-destinations-"] .alm-destinations-video .elementor-wrapper,
[id^="alm-destinations-"] .alm-destinations-video video,
[id^="alm-destinations-"] .alm-destinations-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
}

#alm-destinations-location-visual .alm-destinations-image img {
  aspect-ratio: 16 / 8.8 !important;
}

[id^="alm-destinations-"] .alm-visual-text {
  margin-top: 14px !important;
  font-size: .9rem !important;
  line-height: 1.58 !important;
}

#alm-destinations-hero-status {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 790px !important;
  justify-self: center !important;
  margin-top: 2px !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(6,50,71,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 24px rgba(6,50,71,.08) !important;
  text-align: center !important;
}

#alm-destinations-hero-status p {
  margin: 0 !important;
  color: var(--alm-d-navy-soft) !important;
  font-size: .79rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

/* ---------- Grids and cards ---------- */
#alm-destinations-logic-grid,
#alm-destinations-rollout-grid,
#alm-destinations-pilot-grid,
#alm-destinations-winter-grid,
#alm-destinations-mediterranean-grid,
#alm-destinations-readiness-grid {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: clamp(18px, 2.2vw, 28px) !important;
  align-items: stretch !important;
}

#alm-destinations-logic-grid,
#alm-destinations-winter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 940px !important;
}

#alm-destinations-rollout-grid,
#alm-destinations-pilot-grid,
#alm-destinations-mediterranean-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#alm-destinations-readiness-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

[id^="alm-destinations-"] .alm-card,
[id^="alm-destinations-"] .alm-destinations-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(210px, 16vw, 260px) !important;
  padding: clamp(24px, 2.5vw, 34px) !important;
  border: 1px solid rgba(6,50,71,.09) !important;
  border-top: 4px solid var(--alm-d-aqua) !important;
  border-radius: var(--alm-d-radius) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.9)) !important;
  box-shadow: var(--alm-d-shadow-soft) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

[id^="alm-destinations-"] .alm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--alm-d-shadow) !important;
  border-top-color: var(--alm-d-navy) !important;
}

/* ---------- Final CTA ---------- */
#alm-destinations-final-cta-grid {
  width: 100% !important;
  max-width: 930px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(22px, 3vw, 34px) !important;
}

#alm-destinations-final-cta .alm-final-cta-card {
  min-height: 320px !important;
  padding: clamp(32px, 4vw, 48px) !important;
  border-radius: var(--alm-d-radius-lg) !important;
  box-shadow: var(--alm-d-shadow-soft) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

#alm-destinations-final-cta .alm-final-cta-card--dark {
  background: var(--alm-d-navy) !important;
  color: #fff !important;
}

#alm-destinations-final-cta .alm-final-cta-card--dark h2,
#alm-destinations-final-cta .alm-final-cta-card--dark .elementor-heading-title,
#alm-destinations-final-cta .alm-final-cta-card--dark p {
  color: #fff !important;
}

#alm-destinations-final-cta .alm-final-cta-card--light {
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(6,50,71,.09) !important;
}

#alm-destinations-final-cta .alm-final-cta-text {
  margin-top: 18px !important;
  margin-bottom: 24px !important;
}

#alm-destinations-final-cta .alm-final-cta-card .elementor-widget-button {
  margin-top: auto !important;
}

/* ---------- Home Destinations sector support ---------- */
.alm-home-destinations-grid,
.alm-destinations-home-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
}

.alm-home-destination-card,
.alm-destinations-home-card {
  min-height: 280px !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  #alm-destinations-hero,
  #alm-destinations-location {
    grid-template-columns: 1fr !important;
  }

  #alm-destinations-hero-copy,
  #alm-destinations-hero-media,
  #alm-destinations-location-copy,
  #alm-destinations-location-visual {
    justify-self: center !important;
    max-width: 760px !important;
  }

  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  .alm-home-destinations-grid,
  .alm-destinations-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  #alm-destinations-hero,
  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-winter,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  #alm-destinations-hero {
    padding-top: 50px !important;
    padding-bottom: 58px !important;
    row-gap: 24px !important;
  }

  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-winter,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  #alm-destinations-hero h1,
  #alm-destinations-hero .alm-hero-title .elementor-heading-title {
    font-size: clamp(2.7rem, 13vw, 4.1rem) !important;
    line-height: 1.02 !important;
  }

  #alm-destinations-logic h2,
  #alm-destinations-rollout h2,
  #alm-destinations-pilot h2,
  #alm-destinations-winter h2,
  #alm-destinations-mediterranean h2,
  #alm-destinations-readiness h2,
  #alm-destinations-location h2,
  #alm-destinations-final-cta h2,
  #alm-destinations-logic .elementor-heading-title,
  #alm-destinations-rollout .elementor-heading-title,
  #alm-destinations-pilot .elementor-heading-title,
  #alm-destinations-winter .elementor-heading-title,
  #alm-destinations-mediterranean .elementor-heading-title,
  #alm-destinations-readiness .elementor-heading-title,
  #alm-destinations-location .elementor-heading-title,
  #alm-destinations-final-cta .elementor-heading-title {
    font-size: clamp(2.15rem, 10vw, 3.45rem) !important;
  }

  [id^="alm-destinations-"] .alm-kicker,
  [id^="alm-destinations-"] .alm-kicker p,
  [id^="alm-destinations-"] .alm-eyebrow,
  [id^="alm-destinations-"] .alm-eyebrow p {
    font-size: .68rem !important;
    letter-spacing: .22em !important;
    margin-bottom: 16px !important;
  }

  [id^="alm-destinations-"] .alm-hero-lead,
  [id^="alm-destinations-"] .alm-section-lead,
  [id^="alm-destinations-"] .alm-visual-text,
  [id^="alm-destinations-"] .alm-card-text,
  [id^="alm-destinations-"] .alm-final-cta-text {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row,
  #alm-destinations-hero .alm-cta-row {
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  [id^="alm-destinations-"] .elementor-button {
    padding: .78rem 1rem !important;
    font-size: .74rem !important;
  }

  #alm-destinations-hero-media,
  #alm-destinations-location-visual {
    max-width: 100% !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  #alm-destinations-hero-status {
    border-radius: 18px !important;
    padding: 10px 14px !important;
    text-align: left !important;
  }

  #alm-destinations-logic-grid,
  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-winter-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  #alm-destinations-final-cta-grid,
  .alm-home-destinations-grid,
  .alm-destinations-home-grid {
    grid-template-columns: 1fr !important;
    max-width: 430px !important;
    gap: 16px !important;
  }

  [id^="alm-destinations-"] .alm-card,
  [id^="alm-destinations-"] .alm-destinations-card {
    min-height: auto !important;
    padding: 24px !important;
  }

  #alm-destinations-final-cta .alm-final-cta-card {
    min-height: auto !important;
    padding: 30px 26px !important;
  }
}

/* =========================================================
   ALMARA Destinations v1.0.4 ID-ANCHOR OVERRIDE
   Reason:
   Elementor import keeps stable _element_id values, but in this
   environment CSS classes on imported nested containers/widgets are
   not consistently emitted. Therefore the layout must not depend on
   .alm-card / .alm-card-title / .alm-final-cta-card classes.
   This override anchors on the stable IDs already present in v1.0.3.
   Loader remains unchanged.
   ========================================================= */

/* 01. Card containers: ID-based, independent of emitted classes */
#alm-destinations-logic-grid > .e-con,
#alm-destinations-logic-grid > .elementor-element,
#alm-destinations-rollout-grid > .e-con,
#alm-destinations-rollout-grid > .elementor-element,
#alm-destinations-pilot-grid > .e-con,
#alm-destinations-pilot-grid > .elementor-element,
#alm-destinations-winter-grid > .e-con,
#alm-destinations-winter-grid > .elementor-element,
#alm-destinations-mediterranean-grid > .e-con,
#alm-destinations-mediterranean-grid > .elementor-element,
#alm-destinations-readiness-grid > .e-con,
#alm-destinations-readiness-grid > .elementor-element {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(210px, 16vw, 260px) !important;
  padding: clamp(24px, 2.5vw, 34px) !important;
  border: 1px solid rgba(6,50,71,.09) !important;
  border-top: 4px solid var(--alm-d-aqua, #38c6d9) !important;
  border-radius: var(--alm-d-radius, 18px) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.9)) !important;
  box-shadow: var(--alm-d-shadow-soft, 0 12px 30px rgba(6, 50, 71, .085)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

#alm-destinations-logic-grid > .e-con:hover,
#alm-destinations-logic-grid > .elementor-element:hover,
#alm-destinations-rollout-grid > .e-con:hover,
#alm-destinations-rollout-grid > .elementor-element:hover,
#alm-destinations-pilot-grid > .e-con:hover,
#alm-destinations-pilot-grid > .elementor-element:hover,
#alm-destinations-winter-grid > .e-con:hover,
#alm-destinations-winter-grid > .elementor-element:hover,
#alm-destinations-mediterranean-grid > .e-con:hover,
#alm-destinations-mediterranean-grid > .elementor-element:hover,
#alm-destinations-readiness-grid > .e-con:hover,
#alm-destinations-readiness-grid > .elementor-element:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--alm-d-shadow, 0 20px 52px rgba(6, 50, 71, .11)) !important;
  border-top-color: var(--alm-d-navy, #063247) !important;
}

/* 02. Card widget rhythm: prevent Elementor default heading sizing from leaking into cards */
#alm-destinations-logic-grid > .e-con > .elementor-widget,
#alm-destinations-logic-grid > .elementor-element > .elementor-widget,
#alm-destinations-rollout-grid > .e-con > .elementor-widget,
#alm-destinations-rollout-grid > .elementor-element > .elementor-widget,
#alm-destinations-pilot-grid > .e-con > .elementor-widget,
#alm-destinations-pilot-grid > .elementor-element > .elementor-widget,
#alm-destinations-winter-grid > .e-con > .elementor-widget,
#alm-destinations-winter-grid > .elementor-element > .elementor-widget,
#alm-destinations-mediterranean-grid > .e-con > .elementor-widget,
#alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget,
#alm-destinations-readiness-grid > .e-con > .elementor-widget,
#alm-destinations-readiness-grid > .elementor-element > .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Eyebrow inside cards = first text editor */
#alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
  margin-bottom: clamp(40px, 5vw, 74px) !important;
}

#alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child p,
#alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child p,
#alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child p,
#alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child p,
#alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child p,
#alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child p,
#alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: rgba(6,50,71,.62) !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 850 !important;
}

/* Heading inside cards */
#alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-winter-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--alm-d-navy, #063247) !important;
  font-size: clamp(1.18rem, 1.15vw, 1.48rem) !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

/* Body text inside cards = non-first text editor */
#alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child),
#alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child),
#alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child),
#alm-destinations-winter-grid .elementor-widget-text-editor:not(:first-child),
#alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child),
#alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) {
  margin-top: 16px !important;
}

#alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-winter-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) p {
  margin: 0 !important;
  color: var(--alm-d-muted, #587081) !important;
  font-size: .96rem !important;
  line-height: 1.66 !important;
}

/* 03. Final CTA cards: ID-based instead of class-based */
#alm-destinations-final-cta-grid > .e-con,
#alm-destinations-final-cta-grid > .elementor-element {
  min-width: 0 !important;
  min-height: 320px !important;
  padding: clamp(32px, 4vw, 48px) !important;
  border-radius: var(--alm-d-radius-lg, 22px) !important;
  box-shadow: var(--alm-d-shadow-soft, 0 12px 30px rgba(6, 50, 71, .085)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

#alm-destinations-final-cta-card-1 {
  background: var(--alm-d-navy, #063247) !important;
  color: #fff !important;
}

#alm-destinations-final-cta-card-1 .elementor-heading-title,
#alm-destinations-final-cta-card-1 p {
  color: #fff !important;
}

#alm-destinations-final-cta-card-2 {
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(6,50,71,.09) !important;
  color: var(--alm-d-navy, #063247) !important;
}

#alm-destinations-final-cta-grid .elementor-heading-title {
  font-size: clamp(2.1rem, 2.6vw, 3.3rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

#alm-destinations-final-cta-grid .elementor-widget-text-editor {
  margin-top: 18px !important;
  margin-bottom: 24px !important;
}

#alm-destinations-final-cta-grid .elementor-widget-button {
  margin-top: auto !important;
}

#alm-destinations-final-cta-card-1 .elementor-button {
  background: #fff !important;
  color: var(--alm-d-navy, #063247) !important;
}

#alm-destinations-final-cta-card-1 .elementor-button:hover {
  background: var(--alm-d-aqua, #38c6d9) !important;
  color: var(--alm-d-navy, #063247) !important;
}

#alm-destinations-final-cta-card-2 .elementor-button {
  background: #fff !important;
  color: var(--alm-d-navy, #063247) !important;
}

/* 04. Mobile containment: ID-based card fallback */
@media (max-width: 767px) {
  #alm-destinations-logic-grid > .e-con,
  #alm-destinations-logic-grid > .elementor-element,
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element,
  #alm-destinations-pilot-grid > .e-con,
  #alm-destinations-pilot-grid > .elementor-element,
  #alm-destinations-winter-grid > .e-con,
  #alm-destinations-winter-grid > .elementor-element,
  #alm-destinations-mediterranean-grid > .e-con,
  #alm-destinations-mediterranean-grid > .elementor-element,
  #alm-destinations-readiness-grid > .e-con,
  #alm-destinations-readiness-grid > .elementor-element {
    min-height: auto !important;
    padding: 24px !important;
  }

  #alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
    margin-bottom: 42px !important;
  }

  #alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-winter-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
    font-size: 1.28rem !important;
    line-height: 1.18 !important;
  }

  #alm-destinations-final-cta-grid > .e-con,
  #alm-destinations-final-cta-grid > .elementor-element {
    min-height: auto !important;
    padding: 30px 26px !important;
  }

  #alm-destinations-final-cta-grid .elementor-heading-title {
    font-size: clamp(2rem, 9.3vw, 3rem) !important;
  }
}

/* =========================================================
   ALMARA Destinations v1.0.5 POLISH OVERRIDE
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Goals:
   - Improve mobile containment and card width
   - Balance hero media and hero spacing
   - Strengthen card typography and card proportions
   - Add subtle rollout/timeline feel to seasonal logic
   - Polish From Destination to Location section
   - Keep final CTA behavior; no Home/Experience/Partners changes here
   ========================================================= */

/* ---------- 01. Section rhythm polish ---------- */
#alm-destinations-logic,
#alm-destinations-rollout,
#alm-destinations-pilot,
#alm-destinations-winter,
#alm-destinations-mediterranean,
#alm-destinations-readiness,
#alm-destinations-final-cta {
  padding-top: clamp(88px, 7.2vw, 124px) !important;
  padding-bottom: clamp(88px, 7.2vw, 124px) !important;
}

#alm-destinations-location {
  padding-top: clamp(84px, 7vw, 118px) !important;
  padding-bottom: clamp(84px, 7vw, 118px) !important;
}

#alm-destinations-logic-copy,
#alm-destinations-rollout-copy,
#alm-destinations-pilot-copy,
#alm-destinations-winter-copy,
#alm-destinations-mediterranean-copy,
#alm-destinations-readiness-copy {
  margin-bottom: clamp(36px, 3.7vw, 52px) !important;
}

/* ---------- 02. Hero balance ---------- */
#alm-destinations-hero {
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.02fr) !important;
  column-gap: clamp(46px, 5.1vw, 78px) !important;
  padding-top: clamp(58px, 5.2vw, 88px) !important;
  padding-bottom: clamp(56px, 6.3vw, 94px) !important;
}

#alm-destinations-hero-copy {
  max-width: 690px !important;
}

#alm-destinations-hero h1,
#alm-destinations-hero .alm-hero-title .elementor-heading-title {
  font-size: clamp(4.05rem, 5.75vw, 6.55rem) !important;
  line-height: 1.01 !important;
}

#alm-destinations-hero-media {
  max-width: 590px !important;
  padding: 17px !important;
}

#alm-destinations-hero-status {
  margin-top: clamp(6px, 1.2vw, 16px) !important;
  max-width: 820px !important;
  padding: 11px 20px !important;
}

/* ---------- 03. Card typography/proportion polish ---------- */
#alm-destinations-logic-grid,
#alm-destinations-rollout-grid,
#alm-destinations-pilot-grid,
#alm-destinations-winter-grid,
#alm-destinations-mediterranean-grid,
#alm-destinations-readiness-grid {
  gap: clamp(20px, 2vw, 26px) !important;
}

#alm-destinations-logic-grid > .e-con,
#alm-destinations-logic-grid > .elementor-element,
#alm-destinations-rollout-grid > .e-con,
#alm-destinations-rollout-grid > .elementor-element,
#alm-destinations-pilot-grid > .e-con,
#alm-destinations-pilot-grid > .elementor-element,
#alm-destinations-winter-grid > .e-con,
#alm-destinations-winter-grid > .elementor-element,
#alm-destinations-mediterranean-grid > .e-con,
#alm-destinations-mediterranean-grid > .elementor-element,
#alm-destinations-readiness-grid > .e-con,
#alm-destinations-readiness-grid > .elementor-element {
  min-height: clamp(222px, 15.5vw, 268px) !important;
  padding: clamp(26px, 2.35vw, 34px) !important;
}

#alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
#alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
#alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
  margin-bottom: clamp(34px, 3.5vw, 58px) !important;
}

#alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-winter-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
#alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(1.26rem, 1.2vw, 1.54rem) !important;
  line-height: 1.16 !important;
}

#alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-winter-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) p {
  font-size: 1rem !important;
  line-height: 1.66 !important;
}

/* ---------- 04. Seasonal Rollout = subtle timeline logic on desktop ---------- */
@media (min-width: 1025px) {
  #alm-destinations-rollout-grid {
    position: relative !important;
  }

  #alm-destinations-rollout-grid::before {
    content: "";
    position: absolute;
    left: 8% !important;
    right: 8% !important;
    top: 50% !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(6,50,71,.12), transparent) !important;
    transform: translateY(-50%) !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    z-index: 1 !important;
  }

  #alm-destinations-rollout-grid > .e-con::after,
  #alm-destinations-rollout-grid > .elementor-element::after {
    content: "";
    position: absolute;
    top: 18px !important;
    right: 18px !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: var(--alm-d-aqua, #38c6d9) !important;
    box-shadow: 0 0 0 7px rgba(56,198,217,.13) !important;
  }
}

/* ---------- 05. From Destination to Location polish ---------- */
#alm-destinations-location {
  grid-template-columns: minmax(380px, .95fr) minmax(0, .88fr) !important;
  column-gap: clamp(46px, 5.2vw, 82px) !important;
}

#alm-destinations-location-visual {
  max-width: 660px !important;
}

#alm-destinations-location-copy {
  max-width: 650px !important;
}

#alm-destinations-location .elementor-button {
  margin-top: 4px !important;
}

/* ---------- 06. Final CTA width and dark-button behavior ---------- */
#alm-destinations-final-cta-grid {
  max-width: 1020px !important;
  gap: clamp(26px, 3.3vw, 46px) !important;
}

#alm-destinations-final-cta-grid > .e-con,
#alm-destinations-final-cta-grid > .elementor-element {
  min-height: 350px !important;
  padding: clamp(38px, 4.4vw, 58px) !important;
}

#alm-destinations-final-cta-card-1 .elementor-button {
  background: #ffffff !important;
  color: var(--alm-d-navy, #063247) !important;
  border: 1px solid rgba(255,255,255,.92) !important;
}

#alm-destinations-final-cta-card-1 .elementor-button:hover,
#alm-destinations-final-cta-card-1 .elementor-button:focus-visible {
  background: var(--alm-d-aqua, #38c6d9) !important;
  border-color: var(--alm-d-aqua, #38c6d9) !important;
  color: var(--alm-d-navy, #063247) !important;
}

#alm-destinations-final-cta-card-1 .elementor-button .elementor-button-text::after {
  content: " →";
  display: inline-block;
  margin-left: .22em;
  transition: transform .18s ease !important;
}

#alm-destinations-final-cta-card-1 .elementor-button:hover .elementor-button-text::after,
#alm-destinations-final-cta-card-1 .elementor-button:focus-visible .elementor-button-text::after {
  transform: translateX(3px) !important;
}

/* ---------- 07. Tablet polish ---------- */
@media (max-width: 1024px) {
  #alm-destinations-hero {
    grid-template-columns: 1fr !important;
    padding-top: 58px !important;
    padding-bottom: 72px !important;
  }

  #alm-destinations-hero-copy,
  #alm-destinations-hero-media {
    justify-self: center !important;
  }

  #alm-destinations-hero-media {
    max-width: 620px !important;
  }

  #alm-destinations-location {
    grid-template-columns: 1fr !important;
  }

  #alm-destinations-location-visual,
  #alm-destinations-location-copy {
    justify-self: center !important;
    max-width: 720px !important;
  }

  #alm-destinations-final-cta-grid {
    max-width: 860px !important;
  }
}

/* ---------- 08. Mobile premium containment ---------- */
@media (max-width: 767px) {
  #alm-destinations-hero,
  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-winter,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #alm-destinations-hero {
    padding-top: 44px !important;
    padding-bottom: 52px !important;
    row-gap: 22px !important;
  }

  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-winter,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  #alm-destinations-hero h1,
  #alm-destinations-hero .alm-hero-title .elementor-heading-title {
    font-size: clamp(2.55rem, 11.6vw, 3.65rem) !important;
    line-height: 1.03 !important;
  }

  #alm-destinations-logic h2,
  #alm-destinations-rollout h2,
  #alm-destinations-pilot h2,
  #alm-destinations-winter h2,
  #alm-destinations-mediterranean h2,
  #alm-destinations-readiness h2,
  #alm-destinations-location h2,
  #alm-destinations-final-cta h2,
  #alm-destinations-logic .elementor-heading-title,
  #alm-destinations-rollout .elementor-heading-title,
  #alm-destinations-pilot .elementor-heading-title,
  #alm-destinations-winter .elementor-heading-title,
  #alm-destinations-mediterranean .elementor-heading-title,
  #alm-destinations-readiness .elementor-heading-title,
  #alm-destinations-location .elementor-heading-title,
  #alm-destinations-final-cta .elementor-heading-title {
    font-size: clamp(2rem, 8.9vw, 3rem) !important;
    line-height: 1.06 !important;
  }

  [id^="alm-destinations-"] .alm-hero-lead,
  [id^="alm-destinations-"] .alm-section-lead,
  [id^="alm-destinations-"] .alm-visual-text,
  [id^="alm-destinations-"] .alm-final-cta-text {
    font-size: .94rem !important;
    line-height: 1.62 !important;
  }

  #alm-destinations-hero-media,
  #alm-destinations-location-visual {
    width: 100% !important;
    max-width: 340px !important;
    justify-self: center !important;
    padding: 11px !important;
  }

  #alm-destinations-hero-status {
    width: 100% !important;
    max-width: 340px !important;
    justify-self: center !important;
    border-radius: 16px !important;
    text-align: center !important;
    padding: 10px 13px !important;
  }

  #alm-destinations-hero-status p {
    font-size: .7rem !important;
    line-height: 1.42 !important;
  }

  #alm-destinations-logic-grid,
  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-winter-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  #alm-destinations-final-cta-grid {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    gap: 15px !important;
  }

  #alm-destinations-logic-grid > .e-con,
  #alm-destinations-logic-grid > .elementor-element,
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element,
  #alm-destinations-pilot-grid > .e-con,
  #alm-destinations-pilot-grid > .elementor-element,
  #alm-destinations-winter-grid > .e-con,
  #alm-destinations-winter-grid > .elementor-element,
  #alm-destinations-mediterranean-grid > .e-con,
  #alm-destinations-mediterranean-grid > .elementor-element,
  #alm-destinations-readiness-grid > .e-con,
  #alm-destinations-readiness-grid > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 22px 22px 23px !important;
    border-radius: 16px !important;
  }

  #alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
    margin-bottom: 28px !important;
  }

  #alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-winter-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
    font-size: 1.22rem !important;
    line-height: 1.18 !important;
  }

  #alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-winter-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) p {
    font-size: .9rem !important;
    line-height: 1.58 !important;
  }

  #alm-destinations-location {
    row-gap: 28px !important;
  }

  #alm-destinations-location-copy {
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #alm-destinations-final-cta-grid > .e-con,
  #alm-destinations-final-cta-grid > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 28px 24px !important;
    border-radius: 18px !important;
  }

  #alm-destinations-final-cta-grid .elementor-heading-title {
    font-size: clamp(2rem, 8.8vw, 2.8rem) !important;
    line-height: 1.05 !important;
  }

  #alm-destinations-final-cta-grid .elementor-widget-text-editor {
    margin-top: 15px !important;
    margin-bottom: 21px !important;
  }
}

/* =========================================================
   ALMARA Destinations v1.0.6 FINAL POLISH OVERRIDE
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Goals:
   - Make Seasonal Rollout logic subtly visible as a sequence
   - Keep premium editorial calm; no structural or JSON change
   - Maintain mobile-safe one-column rollout cards
   ========================================================= */

/* ---------- 01. Seasonal Rollout: premium sequence rail ---------- */
@media (min-width: 1025px) {
  #alm-destinations-rollout-grid {
    isolation: isolate !important;
    gap: clamp(24px, 2.35vw, 34px) !important;
    padding-top: 10px !important;
  }

  #alm-destinations-rollout-grid::before {
    left: 10% !important;
    right: 10% !important;
    top: 28px !important;
    height: 2px !important;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(56,198,217,.28) 16%,
      rgba(6,50,71,.14) 50%,
      rgba(56,198,217,.28) 84%,
      transparent
    ) !important;
    transform: none !important;
    z-index: 0 !important;
  }

  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    min-height: clamp(238px, 15.8vw, 280px) !important;
    padding-top: clamp(34px, 2.8vw, 42px) !important;
    background:
      radial-gradient(circle at 86% 17%, rgba(56,198,217,.105), transparent 34%),
      linear-gradient(145deg, rgba(255,255,255,.985), rgba(255,255,255,.91)) !important;
  }

  #alm-destinations-rollout-grid > .e-con::before,
  #alm-destinations-rollout-grid > .elementor-element::before {
    position: absolute !important;
    top: -10px !important;
    left: 26px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--alm-d-navy, #063247) !important;
    color: #ffffff !important;
    border: 5px solid rgba(243,234,219,.96) !important;
    box-shadow: 0 12px 28px rgba(6,50,71,.16) !important;
    font-size: .7rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    font-weight: 900 !important;
    z-index: 3 !important;
  }

  #alm-destinations-rollout-grid > .e-con:nth-child(1)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(1)::before { content: "01" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(2)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(2)::before { content: "02" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(3)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(3)::before { content: "03" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(4)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(4)::before { content: "04" !important; }

  #alm-destinations-rollout-grid > .e-con::after,
  #alm-destinations-rollout-grid > .elementor-element::after {
    top: 20px !important;
    right: 22px !important;
    width: 10px !important;
    height: 10px !important;
    background: var(--alm-d-aqua, #38c6d9) !important;
    box-shadow: 0 0 0 8px rgba(56,198,217,.12) !important;
  }

  #alm-destinations-rollout-grid > .e-con:nth-child(2),
  #alm-destinations-rollout-grid > .elementor-element:nth-child(2),
  #alm-destinations-rollout-grid > .e-con:nth-child(4),
  #alm-destinations-rollout-grid > .elementor-element:nth-child(4) {
    transform: translateY(14px) !important;
  }

  #alm-destinations-rollout-grid > .e-con:hover,
  #alm-destinations-rollout-grid > .elementor-element:hover,
  #alm-destinations-rollout-grid > .e-con:nth-child(2):hover,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(2):hover,
  #alm-destinations-rollout-grid > .e-con:nth-child(4):hover,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(4):hover {
    transform: translateY(-4px) !important;
  }
}

/* ---------- 02. Seasonal Rollout: tablet as calm two-step rhythm ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    padding-top: 34px !important;
  }

  #alm-destinations-rollout-grid > .e-con::before,
  #alm-destinations-rollout-grid > .elementor-element::before {
    position: absolute !important;
    top: 16px !important;
    right: 18px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(56,198,217,.16) !important;
    color: var(--alm-d-navy, #063247) !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    font-weight: 900 !important;
  }

  #alm-destinations-rollout-grid > .e-con:nth-child(1)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(1)::before { content: "01" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(2)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(2)::before { content: "02" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(3)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(3)::before { content: "03" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(4)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(4)::before { content: "04" !important; }
}

/* ---------- 03. Seasonal Rollout: mobile step cue without extra height ---------- */
@media (max-width: 767px) {
  #alm-destinations-rollout-grid {
    position: relative !important;
  }

  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    padding-top: 24px !important;
    padding-left: 24px !important;
  }

  #alm-destinations-rollout-grid > .e-con::before,
  #alm-destinations-rollout-grid > .elementor-element::before {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(56,198,217,.16) !important;
    color: var(--alm-d-navy, #063247) !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    font-weight: 900 !important;
    box-shadow: inset 0 0 0 1px rgba(56,198,217,.25) !important;
  }

  #alm-destinations-rollout-grid > .e-con:nth-child(1)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(1)::before { content: "01" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(2)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(2)::before { content: "02" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(3)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(3)::before { content: "03" !important; }
  #alm-destinations-rollout-grid > .e-con:nth-child(4)::before,
  #alm-destinations-rollout-grid > .elementor-element:nth-child(4)::before { content: "04" !important; }
}

/* =========================================================
   ALMARA Destinations v1.0.7 MOBILE POLISH OVERRIDE
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Goals:
   - Fix mobile hero CTA button rhythm
   - Reduce mobile text-to-card gaps
   - Tighten mobile section spacing without losing premium calm
   - Reposition Seasonal Rollout step badges so they do not collide
   - Keep desktop v1.0.6 visual state intact
   ========================================================= */

@media (max-width: 767px) {
  /* 01. Mobile section rhythm: less vertical drag between sectors */
  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-winter,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  #alm-destinations-hero {
    padding-top: 42px !important;
    padding-bottom: 46px !important;
    row-gap: 20px !important;
  }

  /* 02. Mobile text-to-card gaps: keep sections connected */
  #alm-destinations-logic-copy,
  #alm-destinations-rollout-copy,
  #alm-destinations-pilot-copy,
  #alm-destinations-winter-copy,
  #alm-destinations-mediterranean-copy,
  #alm-destinations-readiness-copy {
    margin-bottom: 26px !important;
  }

  #alm-destinations-location-copy {
    margin-top: 0 !important;
  }

  [id^="alm-destinations-"] .alm-hero-lead,
  [id^="alm-destinations-"] .alm-section-lead {
    margin-top: 16px !important;
  }

  /* 03. Hero buttons: no clipped/tiny pills on mobile */
  #alm-destinations-hero .alm-destinations-cta-row,
  #alm-destinations-hero .alm-cta-row {
    width: 100% !important;
    max-width: 340px !important;
    margin-top: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 9px !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button,
  #alm-destinations-hero .alm-cta-row .elementor-widget-button {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
  #alm-destinations-hero .alm-cta-row .elementor-button {
    min-width: 184px !important;
    max-width: 100% !important;
    justify-content: center !important;
    padding: .82rem 1.14rem !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* 04. Mobile contained widths: slightly calmer, still compact */
  #alm-destinations-hero-media,
  #alm-destinations-location-visual,
  #alm-destinations-hero-status,
  #alm-destinations-logic-grid,
  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-winter-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  #alm-destinations-final-cta-grid,
  #alm-destinations-location-copy {
    max-width: 350px !important;
  }

  #alm-destinations-logic-grid,
  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-winter-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  #alm-destinations-final-cta-grid {
    gap: 14px !important;
  }

  /* 05. Standard mobile cards: a little tighter vertically */
  #alm-destinations-logic-grid > .e-con,
  #alm-destinations-logic-grid > .elementor-element,
  #alm-destinations-pilot-grid > .e-con,
  #alm-destinations-pilot-grid > .elementor-element,
  #alm-destinations-winter-grid > .e-con,
  #alm-destinations-winter-grid > .elementor-element,
  #alm-destinations-mediterranean-grid > .e-con,
  #alm-destinations-mediterranean-grid > .elementor-element,
  #alm-destinations-readiness-grid > .e-con,
  #alm-destinations-readiness-grid > .elementor-element {
    padding: 21px 21px 22px !important;
  }

  #alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-winter-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
    margin-bottom: 24px !important;
  }

  /* 06. Seasonal Rollout badges: readable, ordered, no collision */
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    padding: 58px 22px 23px !important;
  }

  #alm-destinations-rollout-grid > .e-con::before,
  #alm-destinations-rollout-grid > .elementor-element::before {
    top: 17px !important;
    left: 20px !important;
    right: auto !important;
    width: 32px !important;
    height: 32px !important;
    background: var(--alm-d-navy, #063247) !important;
    color: #ffffff !important;
    border: 4px solid rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 22px rgba(6,50,71,.14) !important;
    font-size: .6rem !important;
    letter-spacing: .08em !important;
  }

  #alm-destinations-rollout-grid > .e-con::after,
  #alm-destinations-rollout-grid > .elementor-element::after {
    top: 26px !important;
    right: 20px !important;
    width: 8px !important;
    height: 8px !important;
    box-shadow: 0 0 0 7px rgba(56,198,217,.11) !important;
  }

  #alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child {
    margin-bottom: 22px !important;
  }

  /* 07. Location bridge: less gap between visual and copy */
  #alm-destinations-location {
    row-gap: 22px !important;
  }

  #alm-destinations-location-visual {
    padding: 10px !important;
  }

  /* 08. Final CTA mobile: contained but less squeezed */
  #alm-destinations-final-cta-grid > .e-con,
  #alm-destinations-final-cta-grid > .elementor-element {
    padding: 28px 24px 29px !important;
  }

  #alm-destinations-final-cta-grid .elementor-widget-text-editor {
    margin-bottom: 18px !important;
  }
}

/* =========================================================
   ALMARA Destinations v1.0.8 MOBILE HERO CTA FREEZE CANDIDATE
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Goals:
   - Make mobile hero CTAs clearly two-line / stacked
   - Prevent Elementor flex-row inheritance from squeezing buttons
   - Keep desktop v1.0.7 unchanged
   - Slightly calm mobile hero and rollout badge rhythm
   ========================================================= */

@media (max-width: 767px) {
  /* Mobile hero: two clean CTA lines instead of squeezed pills */
  #alm-destinations-hero .alm-destinations-cta-row,
  #alm-destinations-hero .alm-cta-row {
    width: 100% !important;
    max-width: 350px !important;
    margin-top: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    align-items: start !important;
    gap: 10px !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row > .elementor-widget-button,
  #alm-destinations-hero .alm-cta-row > .elementor-widget-button,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button,
  #alm-destinations-hero .alm-cta-row .elementor-widget-button {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    align-self: start !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
  #alm-destinations-hero .alm-cta-row .elementor-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: 232px !important;
    padding: .78rem 1.08rem !important;
    white-space: normal !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: center !important;
    line-height: 1.18 !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row .elementor-button-content-wrapper,
  #alm-destinations-hero .alm-cta-row .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    white-space: normal !important;
    line-height: 1.18 !important;
  }

  #alm-destinations-hero .alm-destinations-cta-row .elementor-button-text,
  #alm-destinations-hero .alm-cta-row .elementor-button-text {
    white-space: normal !important;
    line-height: 1.18 !important;
  }

  /* Secondary hero CTA should read like a deliberate second option, not a leftover mini-pill. */
  #alm-destinations-hero .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  #alm-destinations-hero .alm-cta-row .alm-btn-secondary .elementor-button {
    max-width: 218px !important;
  }

  /* Mobile hero: tighten after CTA but preserve visual breathing room before media/status. */
  #alm-destinations-hero-copy {
    margin-bottom: 2px !important;
  }

  #alm-destinations-hero-media {
    margin-top: 4px !important;
  }

  #alm-destinations-hero-status {
    margin-top: 2px !important;
  }

  /* Seasonal Rollout mobile: make step badges quieter and less like separate icons. */
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element {
    padding-top: 50px !important;
  }

  #alm-destinations-rollout-grid > .e-con::before,
  #alm-destinations-rollout-grid > .elementor-element::before {
    top: 16px !important;
    left: 18px !important;
    width: 28px !important;
    height: 28px !important;
    border-width: 3px !important;
    font-size: .56rem !important;
    box-shadow: 0 8px 18px rgba(6,50,71,.12) !important;
  }

  #alm-destinations-rollout-grid > .e-con::after,
  #alm-destinations-rollout-grid > .elementor-element::after {
    top: 24px !important;
    right: 18px !important;
    opacity: .78 !important;
  }

  /* Very small phones: allow the hero buttons to occupy a little more width without clipping. */
  @media (max-width: 380px) {
    #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
    #alm-destinations-hero .alm-cta-row .elementor-button {
      max-width: 222px !important;
      padding-left: .98rem !important;
      padding-right: .98rem !important;
    }
  }
}

/* =========================================================
   ALMARA Destinations v1.0.9 MOBILE HERO CTA HARD FIX
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Reason:
   On real mobile the hero CTA widgets can still inherit Elementor's
   compact inline/flex behavior. This override anchors on the hero-copy
   container and makes the two CTA widgets read as deliberate stacked
   actions: primary full-width, secondary calmer full-width.
   ========================================================= */

@media (max-width: 767px) {
  /* Hero CTA row/container: force true vertical flow, regardless of Elementor export structure. */
  #alm-destinations-hero-copy .alm-destinations-cta-row,
  #alm-destinations-hero-copy .alm-cta-row,
  #alm-destinations-hero .alm-destinations-cta-row,
  #alm-destinations-hero .alm-cta-row {
    width: 100% !important;
    max-width: 318px !important;
    margin-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 9px !important;
  }

  /* Button widgets: no inline shrink, no side-by-side behavior. */
  #alm-destinations-hero-copy .elementor-widget-button,
  #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-button,
  #alm-destinations-hero-copy .alm-cta-row .elementor-widget-button,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button,
  #alm-destinations-hero .alm-cta-row .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Button anchors: full button, readable text, premium pill proportion. */
  #alm-destinations-hero-copy .elementor-widget-button .elementor-button,
  #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
  #alm-destinations-hero-copy .alm-cta-row .elementor-button,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
  #alm-destinations-hero .alm-cta-row .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: .86rem 1.18rem !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.16 !important;
    font-size: .74rem !important;
  }

  #alm-destinations-hero-copy .elementor-button-content-wrapper,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-button-content-wrapper,
  #alm-destinations-hero .alm-cta-row .elementor-button-content-wrapper {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.16 !important;
  }

  #alm-destinations-hero-copy .elementor-button-text,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-button-text,
  #alm-destinations-hero .alm-cta-row .elementor-button-text {
    white-space: normal !important;
    line-height: 1.16 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Make the secondary CTA visibly secondary, but still intentionally sized. */
  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button,
  #alm-destinations-hero-copy .alm-btn-secondary .elementor-button,
  #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button:nth-of-type(2) .elementor-button,
  #alm-destinations-hero .alm-cta-row .elementor-widget-button:nth-of-type(2) .elementor-button,
  #alm-destinations-hero .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  #alm-destinations-hero .alm-cta-row .alm-btn-secondary .elementor-button {
    background: rgba(255,255,255,.88) !important;
    color: var(--alm-d-navy, #063247) !important;
    border-color: rgba(6,50,71,.12) !important;
    box-shadow: 0 10px 22px rgba(6,50,71,.08) !important;
  }

  /* Keep the hero stack compact after changing the CTA to full width. */
  #alm-destinations-hero-media {
    margin-top: 2px !important;
  }

  #alm-destinations-hero-status {
    margin-top: 0 !important;
  }

  /* 360px devices: avoid touching viewport edges while keeping buttons readable. */
  @media (max-width: 380px) {
    #alm-destinations-hero-copy .alm-destinations-cta-row,
    #alm-destinations-hero-copy .alm-cta-row,
    #alm-destinations-hero .alm-destinations-cta-row,
    #alm-destinations-hero .alm-cta-row {
      max-width: 296px !important;
    }

    #alm-destinations-hero-copy .elementor-widget-button .elementor-button,
    #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
    #alm-destinations-hero .alm-cta-row .elementor-button {
      padding-left: 1rem !important;
      padding-right: 1rem !important;
      font-size: .72rem !important;
    }
  }
}

/* =========================================================
   ALMARA Destinations v1.0.10 MOBILE HERO CTA RESET / FIX
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Reason:
   v1.0.9 made the hero CTA too rigid and still did not solve
   the real mobile issue reliably. This reset anchors directly on
   the hero copy container and the native Elementor button wrapper.
   It avoids relying on an optional CTA-row class and creates two
   deliberate stacked premium pills without changing desktop.
   ========================================================= */

@media (max-width: 767px) {
  /* Give the mobile hero-copy column enough real width for readable CTAs. */
  #alm-destinations-hero-copy {
    width: 100% !important;
    max-width: 350px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-self: center !important;
  }

  /* The CTA container is the only direct inner container in the hero copy.
     Make it a clean vertical button stack even if it has no custom class. */
  #alm-destinations-hero-copy > .e-con,
  #alm-destinations-hero-copy > .elementor-element.e-con,
  #alm-destinations-hero-copy .alm-destinations-cta-row,
  #alm-destinations-hero-copy .alm-cta-row {
    width: 100% !important;
    max-width: 248px !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  /* Button widgets and Elementor's own wrappers must all become block-level.
     This is the missing piece on real mobile. */
  #alm-destinations-hero-copy .elementor-widget-button,
  #alm-destinations-hero-copy .elementor-widget-button .elementor-widget-container,
  #alm-destinations-hero-copy .elementor-widget-button .elementor-button-wrapper {
    width: 100% !important;
    max-width: 248px !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    align-self: flex-start !important;
    text-align: left !important;
  }

  #alm-destinations-hero-copy .elementor-widget-button .elementor-button {
    width: 100% !important;
    max-width: 248px !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0.72rem 0.96rem !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.14 !important;
    font-size: 0.72rem !important;
    letter-spacing: -0.005em !important;
  }

  #alm-destinations-hero-copy .elementor-widget-button .elementor-button-content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    line-height: 1.14 !important;
    white-space: normal !important;
  }

  #alm-destinations-hero-copy .elementor-widget-button .elementor-button-text {
    display: inline !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.14 !important;
  }

  /* Secondary button: intentionally smaller, but not a mini-chip. */
  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2),
  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-widget-container,
  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button-wrapper,
  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button {
    max-width: 220px !important;
  }

  #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button {
    background: rgba(255,255,255,.92) !important;
    color: var(--alm-d-navy, #063247) !important;
    border: 1px solid rgba(6,50,71,.12) !important;
    box-shadow: 0 10px 22px rgba(6,50,71,.08) !important;
  }

  @media (max-width: 380px) {
    #alm-destinations-hero-copy > .e-con,
    #alm-destinations-hero-copy > .elementor-element.e-con,
    #alm-destinations-hero-copy .alm-destinations-cta-row,
    #alm-destinations-hero-copy .alm-cta-row,
    #alm-destinations-hero-copy .elementor-widget-button,
    #alm-destinations-hero-copy .elementor-widget-button .elementor-widget-container,
    #alm-destinations-hero-copy .elementor-widget-button .elementor-button-wrapper,
    #alm-destinations-hero-copy .elementor-widget-button .elementor-button {
      max-width: 232px !important;
    }

    #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2),
    #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-widget-container,
    #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button-wrapper,
    #alm-destinations-hero-copy .elementor-widget-button:nth-of-type(2) .elementor-button {
      max-width: 210px !important;
    }
  }
}

/* =========================================================
   ALMARA Destinations v1.0.11 MOBILE HERO CTA TRUE FIX
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Purpose:
   Keep the approved desktop layout unchanged and repair only the
   mobile hero CTA. Earlier mobile overrides made the button widgets
   too chip-like. This final block targets the real CTA row class and
   creates two calm, readable stacked pills with equal width.
   ========================================================= */

@media (max-width: 767px) {
  body #alm-destinations-hero-copy {
    width: 100% !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body #alm-destinations-hero-copy > .alm-destinations-cta-row,
  body #alm-destinations-hero-copy .alm-destinations-cta-row,
  body #alm-destinations-hero .alm-destinations-cta-row {
    width: 100% !important;
    max-width: 214px !important;
    margin: 15px auto 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 8px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    justify-content: center !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
  }

  body #alm-destinations-hero-copy > .alm-destinations-cta-row > .elementor-widget-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row > .elementor-widget-button,
  body #alm-destinations-hero .alm-destinations-cta-row > .elementor-widget-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: none !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    text-align: center !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-container,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-wrapper,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-container,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    text-align: center !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0.68rem 0.78rem !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 0.68rem !important;
    line-height: 1.05 !important;
    letter-spacing: -0.01em !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-content-wrapper,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    line-height: 1.05 !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-text,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-text {
    display: inline-block !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    line-height: 1.05 !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .alm-btn-secondary .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--alm-d-navy, #063247) !important;
    border: 1px solid rgba(6, 50, 71, 0.14) !important;
    box-shadow: 0 10px 22px rgba(6, 50, 71, 0.08) !important;
  }

  @media (max-width: 380px) {
    body #alm-destinations-hero-copy > .alm-destinations-cta-row,
    body #alm-destinations-hero-copy .alm-destinations-cta-row,
    body #alm-destinations-hero .alm-destinations-cta-row {
      max-width: 204px !important;
    }

    body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
    body #alm-destinations-hero .alm-destinations-cta-row .elementor-button {
      font-size: 0.66rem !important;
      padding-left: 0.68rem !important;
      padding-right: 0.68rem !important;
    }
  }
}

/* =========================================================
   ALMARA Destinations v1.0.12 MOBILE HERO CTA WIDTH FIX
   Date: 2026-05-04
   Scope: Destinations page only. Loader unchanged.

   Purpose:
   Undo the too-small chip behavior from v1.0.11. On mobile the
   hero CTA row becomes a calm vertical stack with readable full-width
   pills inside the hero copy column. Desktop is untouched.
   ========================================================= */

@media (max-width: 767px) {
  body #alm-destinations-hero-copy {
    width: calc(100vw - 48px) !important;
    max-width: 312px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-self: center !important;
  }

  body #alm-destinations-hero-copy > .alm-destinations-cta-row,
  body #alm-destinations-hero-copy .alm-destinations-cta-row,
  body #alm-destinations-hero .alm-destinations-cta-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 16px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    justify-items: stretch !important;
    gap: 9px !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row > .elementor-widget-button,
  body #alm-destinations-hero .alm-destinations-cta-row > .elementor-widget-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-container,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-container,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-wrapper,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    text-align: left !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .alm-btn-primary .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .alm-btn-primary .elementor-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .alm-btn-secondary .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 39px !important;
    padding: 0.78rem 0.96rem !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 0.72rem !important;
    line-height: 1.16 !important;
    letter-spacing: -0.005em !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-content-wrapper,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-content-wrapper {
    width: auto !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    white-space: normal !important;
    line-height: 1.16 !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button-text,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-text {
    display: inline !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.16 !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .alm-btn-secondary .elementor-button,
  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-button:nth-child(2) .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button:nth-child(2) .elementor-button {
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--alm-d-navy, #063247) !important;
    border: 1px solid rgba(6, 50, 71, 0.14) !important;
    box-shadow: 0 10px 22px rgba(6, 50, 71, 0.08) !important;
  }

  @media (max-width: 380px) {
    body #alm-destinations-hero-copy {
      width: calc(100vw - 44px) !important;
      max-width: 292px !important;
    }

    body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
    body #alm-destinations-hero .alm-destinations-cta-row .elementor-button {
      min-height: 38px !important;
      padding: 0.74rem 0.82rem !important;
      font-size: 0.69rem !important;
    }
  }
}


/* =========================================================
   ALMARA DESTINATIONS v1.0.14 — CENTRAL DARK CTA MICRO-INTERACTION
   Scope: Destinations final partner CTA only
   Intent: align with Home v1.4.8 / central ALMARA CTA logic
   - Initial: white button, navy text, no visible arrow
   - Hover/focus: aqua fill, navy CSS-only arrow appears and moves subtly
   - Elementor icons are suppressed to prevent the DE double-arrow mismatch
   ========================================================= */

body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-icon {
  display: none !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 42px !important;
  padding: 0.82rem 1.18rem !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18) !important;
  transform: translateY(0) !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button *,
body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-text {
  color: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
  fill: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button:hover,
body #alm-destinations-final-cta-card-1 .elementor-button:focus-visible {
  background: var(--alm-d-aqua, var(--alm-aqua, #38c6d9)) !important;
  background-color: var(--alm-d-aqua, var(--alm-aqua, #38c6d9)) !important;
  border-color: var(--alm-d-aqua, var(--alm-aqua, #38c6d9)) !important;
  color: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
  box-shadow: 0 24px 54px rgba(56, 198, 217, 0.26) !important;
  transform: translateY(-1px) !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button:hover *,
body #alm-destinations-final-cta-card-1 .elementor-button:focus-visible *,
body #alm-destinations-final-cta-card-1 .elementor-button:hover .elementor-button-text,
body #alm-destinations-final-cta-card-1 .elementor-button:focus-visible .elementor-button-text {
  color: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
  fill: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-text {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-text::after {
  content: "→" !important;
  display: inline-block !important;
  width: 0 !important;
  max-width: 0 !important;
  margin-left: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  color: var(--alm-d-navy, var(--alm-navy, #063247)) !important;
  transform: translateX(-2px) !important;
  transition:
    width 180ms ease,
    max-width 180ms ease,
    margin-left 180ms ease,
    opacity 160ms ease,
    transform 180ms ease !important;
}

body #alm-destinations-final-cta-card-1 .elementor-button:hover .elementor-button-text::after,
body #alm-destinations-final-cta-card-1 .elementor-button:focus-visible .elementor-button-text::after {
  width: 1em !important;
  max-width: 1em !important;
  margin-left: 0.42em !important;
  opacity: 1 !important;
  transform: translateX(2px) !important;
}

@media (max-width: 767px) {
  body #alm-destinations-final-cta-card-1 .elementor-button .elementor-button-text {
    white-space: normal !important;
    text-align: center !important;
  }
}

/* =========================================================
   ALMARA Destinations v1.1.0 IMAGE ASSET LOCK
   Date: 2026-05-13
   Scope: Destinations page only.

   Purpose:
   - Replace former hero video card with final hero-only image asset.
   - Use final text-free destinations mosaic as single image asset.
   - Preserve Header v2.3 and existing page structure.
   - No JS dependency.
   ========================================================= */

#alm-destinations-hero-media {
  max-width: 620px !important;
  padding: 14px !important;
  border-color: rgba(56, 198, 217, .30) !important;
  background: rgba(255, 255, 255, .88) !important;
}

#alm-destinations-hero-media .alm-destinations-hero-image,
#alm-destinations-hero-media .alm-destinations-hero-image img,
#alm-destinations-location-visual .alm-destinations-image,
#alm-destinations-location-visual .alm-destinations-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

#alm-destinations-hero-media .alm-destinations-hero-image img {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#alm-destinations-location-visual {
  max-width: 760px !important;
  padding: 14px !important;
}

#alm-destinations-location-visual .alm-destinations-image img {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#alm-destinations-location-visual .alm-visual-title {
  margin-bottom: 14px !important;
}

#alm-destinations-location-visual .alm-visual-text {
  margin-top: 14px !important;
}

@media (max-width: 1024px) {
  #alm-destinations-hero-media,
  #alm-destinations-location-visual {
    max-width: 760px !important;
  }
}

@media (max-width: 767px) {
  #alm-destinations-hero-media,
  #alm-destinations-location-visual {
    padding: 10px !important;
    border-radius: 18px !important;
  }

  #alm-destinations-hero-media .alm-destinations-hero-image img,
  #alm-destinations-location-visual .alm-destinations-image img {
    border-radius: 12px !important;
  }

  #alm-destinations-hero-media .alm-destinations-hero-image img {
    aspect-ratio: 16 / 10 !important;
  }

  #alm-destinations-location-visual .alm-destinations-image img {
    aspect-ratio: 16 / 10.8 !important;
  }
}


/* =========================================================
   ALMARA Destinations v1.1.2 MOBILE STRUCTURAL LOCK
   Date: 2026-05-13
   Scope: Destinations page only.

   Purpose:
   - CSS-only repair for real-device mobile squeeze / right offset.
   - Keep Header v2.3 untouched: no header, nav, burger, language-switcher selectors.
   - Break each Destinations section back to the viewport on mobile,
     then center a readable inner column.
   - Preserve desktop and tablet layout.
   ========================================================= */

@media (max-width: 767px) {
  body:has(#alm-destinations-hero) {
    overflow-x: hidden !important;
  }

  body:has(#alm-destinations-hero) * {
    box-sizing: border-box;
  }

  /* Section viewport lock: fixes Elementor/mobile inherited offset and content clipping. */
  body #alm-destinations-hero,
  body #alm-destinations-logic,
  body #alm-destinations-rollout,
  body #alm-destinations-pilot,
  body #alm-destinations-winter,
  body #alm-destinations-mediterranean,
  body #alm-destinations-readiness,
  body #alm-destinations-location,
  body #alm-destinations-final-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    overflow-x: clip !important;
    --width: 100vw !important;
    --max-width: 100vw !important;
    --container-widget-width: 100% !important;
  }

  body #alm-destinations-hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    padding-top: 42px !important;
    padding-bottom: 48px !important;
  }

  body #alm-destinations-logic,
  body #alm-destinations-rollout,
  body #alm-destinations-pilot,
  body #alm-destinations-winter,
  body #alm-destinations-mediterranean,
  body #alm-destinations-readiness,
  body #alm-destinations-location,
  body #alm-destinations-final-cta {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  /* Inner-column lock: all main content areas are centered inside the viewport. */
  body #alm-destinations-hero > .e-con,
  body #alm-destinations-hero > .elementor-element,
  body #alm-destinations-logic > .e-con,
  body #alm-destinations-logic > .elementor-element,
  body #alm-destinations-rollout > .e-con,
  body #alm-destinations-rollout > .elementor-element,
  body #alm-destinations-pilot > .e-con,
  body #alm-destinations-pilot > .elementor-element,
  body #alm-destinations-winter > .e-con,
  body #alm-destinations-winter > .elementor-element,
  body #alm-destinations-mediterranean > .e-con,
  body #alm-destinations-mediterranean > .elementor-element,
  body #alm-destinations-readiness > .e-con,
  body #alm-destinations-readiness > .elementor-element,
  body #alm-destinations-location > .e-con,
  body #alm-destinations-location > .elementor-element,
  body #alm-destinations-final-cta > .e-con,
  body #alm-destinations-final-cta > .elementor-element,
  body #alm-destinations-hero-copy,
  body #alm-destinations-hero-media,
  body #alm-destinations-hero-status,
  body #alm-destinations-logic-copy,
  body #alm-destinations-rollout-copy,
  body #alm-destinations-pilot-copy,
  body #alm-destinations-winter-copy,
  body #alm-destinations-mediterranean-copy,
  body #alm-destinations-readiness-copy,
  body #alm-destinations-location-copy,
  body #alm-destinations-location-visual,
  body #alm-destinations-logic-grid,
  body #alm-destinations-rollout-grid,
  body #alm-destinations-pilot-grid,
  body #alm-destinations-winter-grid,
  body #alm-destinations-mediterranean-grid,
  body #alm-destinations-readiness-grid,
  body #alm-destinations-final-cta-grid {
    width: min(calc(100vw - 40px), 340px) !important;
    max-width: min(calc(100vw - 40px), 340px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    translate: none !important;
    left: auto !important;
    right: auto !important;
    flex: 0 1 auto !important;
    flex-basis: auto !important;
    align-self: center !important;
    justify-self: center !important;
  }

  body #alm-destinations-hero-copy,
  body #alm-destinations-logic-copy,
  body #alm-destinations-rollout-copy,
  body #alm-destinations-pilot-copy,
  body #alm-destinations-winter-copy,
  body #alm-destinations-mediterranean-copy,
  body #alm-destinations-readiness-copy,
  body #alm-destinations-location-copy {
    text-align: left !important;
  }

  body #alm-destinations-logic-copy,
  body #alm-destinations-rollout-copy,
  body #alm-destinations-pilot-copy,
  body #alm-destinations-winter-copy,
  body #alm-destinations-mediterranean-copy,
  body #alm-destinations-readiness-copy {
    margin-bottom: 24px !important;
  }

  /* Typography: readable without pushing the column outside the viewport. */
  body #alm-destinations-hero h1,
  body #alm-destinations-hero .alm-hero-title .elementor-heading-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.05rem, 9.15vw, 2.86rem) !important;
    line-height: 1.045 !important;
    letter-spacing: -0.046em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body #alm-destinations-logic h2,
  body #alm-destinations-rollout h2,
  body #alm-destinations-pilot h2,
  body #alm-destinations-winter h2,
  body #alm-destinations-mediterranean h2,
  body #alm-destinations-readiness h2,
  body #alm-destinations-location h2,
  body #alm-destinations-final-cta h2,
  body #alm-destinations-logic .elementor-heading-title,
  body #alm-destinations-rollout .elementor-heading-title,
  body #alm-destinations-pilot .elementor-heading-title,
  body #alm-destinations-winter .elementor-heading-title,
  body #alm-destinations-mediterranean .elementor-heading-title,
  body #alm-destinations-readiness .elementor-heading-title,
  body #alm-destinations-location .elementor-heading-title,
  body #alm-destinations-final-cta .elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(1.74rem, 7.3vw, 2.42rem) !important;
    line-height: 1.075 !important;
    letter-spacing: -0.041em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body [id^="alm-destinations-"] .alm-kicker,
  body [id^="alm-destinations-"] .alm-kicker p,
  body [id^="alm-destinations-"] .alm-eyebrow,
  body [id^="alm-destinations-"] .alm-eyebrow p {
    font-size: .62rem !important;
    line-height: 1.24 !important;
    letter-spacing: .19em !important;
    margin-bottom: 14px !important;
  }

  body [id^="alm-destinations-"] .alm-hero-lead,
  body [id^="alm-destinations-"] .alm-section-lead,
  body [id^="alm-destinations-"] .alm-visual-text,
  body [id^="alm-destinations-"] .alm-final-cta-text,
  body [id^="alm-destinations-"] .elementor-widget-text-editor p {
    max-width: 100% !important;
    font-size: .90rem !important;
    line-height: 1.57 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Hero CTAs: readable vertical stack, no clipped pills. */
  body #alm-destinations-hero-copy .alm-destinations-cta-row,
  body #alm-destinations-hero-copy .alm-cta-row,
  body #alm-destinations-hero .alm-destinations-cta-row,
  body #alm-destinations-hero .alm-cta-row {
    width: min(100%, 268px) !important;
    max-width: 268px !important;
    min-width: 0 !important;
    margin: 17px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 9px !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-widget-button,
  body #alm-destinations-hero-copy .alm-cta-row .elementor-widget-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-widget-button,
  body #alm-destinations-hero .alm-cta-row .elementor-widget-button,
  body #alm-destinations-hero-copy .elementor-widget-button .elementor-widget-container,
  body #alm-destinations-hero-copy .elementor-widget-button .elementor-button-wrapper,
  body #alm-destinations-hero .elementor-widget-button .elementor-widget-container,
  body #alm-destinations-hero .elementor-widget-button .elementor-button-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    align-self: stretch !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row .elementor-button,
  body #alm-destinations-hero-copy .alm-cta-row .elementor-button,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button,
  body #alm-destinations-hero .alm-cta-row .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 39px !important;
    padding: .76rem .92rem !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    font-size: .70rem !important;
    line-height: 1.15 !important;
  }

  body #alm-destinations-hero-copy .elementor-button-content-wrapper,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-content-wrapper,
  body #alm-destinations-hero .alm-cta-row .elementor-button-content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    gap: 5px !important;
  }

  body #alm-destinations-hero-copy .elementor-button-text,
  body #alm-destinations-hero .alm-destinations-cta-row .elementor-button-text,
  body #alm-destinations-hero .alm-cta-row .elementor-button-text {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.15 !important;
  }

  /* Visual cards: centered, contained, no inherited tablet squeeze. */
  body #alm-destinations-hero-media,
  body #alm-destinations-location-visual {
    padding: 10px !important;
    border-radius: 18px !important;
  }

  body #alm-destinations-hero-status {
    padding: 10px 13px !important;
    border-radius: 999px !important;
    text-align: center !important;
  }

  body #alm-destinations-hero-status p {
    font-size: .64rem !important;
    line-height: 1.34 !important;
  }

  body #alm-destinations-hero-media .alm-destinations-hero-image,
  body #alm-destinations-location-visual .alm-destinations-image,
  body #alm-destinations-hero-media .alm-destinations-hero-image img,
  body #alm-destinations-location-visual .alm-destinations-image img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  body #alm-destinations-hero-media .alm-destinations-hero-image img {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body #alm-destinations-location-visual .alm-destinations-image img {
    aspect-ratio: 16 / 10.8 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body #alm-destinations-location-visual .alm-visual-title {
    margin-bottom: 12px !important;
  }

  body #alm-destinations-location-visual .alm-visual-text {
    margin-top: 12px !important;
  }

  /* Grids/cards: one readable column. */
  body #alm-destinations-logic-grid,
  body #alm-destinations-rollout-grid,
  body #alm-destinations-pilot-grid,
  body #alm-destinations-winter-grid,
  body #alm-destinations-mediterranean-grid,
  body #alm-destinations-readiness-grid,
  body #alm-destinations-final-cta-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  body #alm-destinations-logic-grid > .e-con,
  body #alm-destinations-logic-grid > .elementor-element,
  body #alm-destinations-rollout-grid > .e-con,
  body #alm-destinations-rollout-grid > .elementor-element,
  body #alm-destinations-pilot-grid > .e-con,
  body #alm-destinations-pilot-grid > .elementor-element,
  body #alm-destinations-winter-grid > .e-con,
  body #alm-destinations-winter-grid > .elementor-element,
  body #alm-destinations-mediterranean-grid > .e-con,
  body #alm-destinations-mediterranean-grid > .elementor-element,
  body #alm-destinations-readiness-grid > .e-con,
  body #alm-destinations-readiness-grid > .elementor-element,
  body #alm-destinations-final-cta-grid > .e-con,
  body #alm-destinations-final-cta-grid > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    flex-basis: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    transform: none !important;
    min-height: auto !important;
    border-radius: 16px !important;
    padding: 21px 21px 22px !important;
  }

  body #alm-destinations-final-cta-grid > .e-con,
  body #alm-destinations-final-cta-grid > .elementor-element {
    padding: 28px 24px 29px !important;
  }

  body #alm-destinations-rollout-grid > .e-con,
  body #alm-destinations-rollout-grid > .elementor-element {
    padding-top: 50px !important;
  }

  body #alm-destinations-rollout-grid > .e-con::before,
  body #alm-destinations-rollout-grid > .elementor-element::before {
    top: 16px !important;
    left: 18px !important;
    right: auto !important;
    width: 28px !important;
    height: 28px !important;
    border-width: 3px !important;
    font-size: .56rem !important;
  }

  body #alm-destinations-rollout-grid > .e-con::after,
  body #alm-destinations-rollout-grid > .elementor-element::after {
    top: 24px !important;
    right: 18px !important;
    width: 8px !important;
    height: 8px !important;
  }

  body #alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
  body #alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
  body #alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
  body #alm-destinations-winter-grid .elementor-widget-heading .elementor-heading-title,
  body #alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
  body #alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
    font-size: 1.14rem !important;
    line-height: 1.17 !important;
    letter-spacing: -0.026em !important;
  }

  body #alm-destinations-logic-grid .elementor-widget-text-editor p,
  body #alm-destinations-rollout-grid .elementor-widget-text-editor p,
  body #alm-destinations-pilot-grid .elementor-widget-text-editor p,
  body #alm-destinations-winter-grid .elementor-widget-text-editor p,
  body #alm-destinations-mediterranean-grid .elementor-widget-text-editor p,
  body #alm-destinations-readiness-grid .elementor-widget-text-editor p,
  body #alm-destinations-final-cta-grid .elementor-widget-text-editor p {
    font-size: .84rem !important;
    line-height: 1.52 !important;
  }

  body #alm-destinations-location {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    row-gap: 24px !important;
  }

  body #alm-destinations-location-visual {
    order: 1 !important;
  }

  body #alm-destinations-location-copy {
    order: 2 !important;
    margin-top: 0 !important;
  }

  body #alm-destinations-final-cta-card-1 .elementor-button,
  body #alm-destinations-final-cta-card-2 .elementor-button {
    max-width: 100% !important;
    white-space: normal !important;
  }
}

@media (max-width: 380px) {
  body #alm-destinations-hero,
  body #alm-destinations-logic,
  body #alm-destinations-rollout,
  body #alm-destinations-pilot,
  body #alm-destinations-winter,
  body #alm-destinations-mediterranean,
  body #alm-destinations-readiness,
  body #alm-destinations-location,
  body #alm-destinations-final-cta {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body #alm-destinations-hero > .e-con,
  body #alm-destinations-hero > .elementor-element,
  body #alm-destinations-logic > .e-con,
  body #alm-destinations-logic > .elementor-element,
  body #alm-destinations-rollout > .e-con,
  body #alm-destinations-rollout > .elementor-element,
  body #alm-destinations-pilot > .e-con,
  body #alm-destinations-pilot > .elementor-element,
  body #alm-destinations-winter > .e-con,
  body #alm-destinations-winter > .elementor-element,
  body #alm-destinations-mediterranean > .e-con,
  body #alm-destinations-mediterranean > .elementor-element,
  body #alm-destinations-readiness > .e-con,
  body #alm-destinations-readiness > .elementor-element,
  body #alm-destinations-location > .e-con,
  body #alm-destinations-location > .elementor-element,
  body #alm-destinations-final-cta > .e-con,
  body #alm-destinations-final-cta > .elementor-element,
  body #alm-destinations-hero-copy,
  body #alm-destinations-hero-media,
  body #alm-destinations-hero-status,
  body #alm-destinations-logic-copy,
  body #alm-destinations-rollout-copy,
  body #alm-destinations-pilot-copy,
  body #alm-destinations-winter-copy,
  body #alm-destinations-mediterranean-copy,
  body #alm-destinations-readiness-copy,
  body #alm-destinations-location-copy,
  body #alm-destinations-location-visual,
  body #alm-destinations-logic-grid,
  body #alm-destinations-rollout-grid,
  body #alm-destinations-pilot-grid,
  body #alm-destinations-winter-grid,
  body #alm-destinations-mediterranean-grid,
  body #alm-destinations-readiness-grid,
  body #alm-destinations-final-cta-grid {
    width: min(calc(100vw - 36px), 324px) !important;
    max-width: min(calc(100vw - 36px), 324px) !important;
  }

  body #alm-destinations-hero h1,
  body #alm-destinations-hero .alm-hero-title .elementor-heading-title {
    font-size: clamp(2rem, 9.05vw, 2.72rem) !important;
  }

  body #alm-destinations-hero-copy .alm-destinations-cta-row,
  body #alm-destinations-hero-copy .alm-cta-row,
  body #alm-destinations-hero .alm-destinations-cta-row,
  body #alm-destinations-hero .alm-cta-row {
    max-width: 258px !important;
  }
}


/* =========================================================
   ALMARA Destinations B2C v1.1 POLISH
   Scope: B2C Destinations template only, using existing alm-destinations IDs.
   Purpose:
   - Make the public Destinations page more B2C/emotional.
   - Reduce mobile length and spacing after the removed Seasonal Feeling section.
   - Keep desktop layout stable.
   - Preserve B2B/Growth Destinations templates separately.
   ========================================================= */

/* B2C: slightly calmer vertical rhythm for the public menu page */
#alm-destinations-logic,
#alm-destinations-rollout,
#alm-destinations-pilot,
#alm-destinations-mediterranean,
#alm-destinations-readiness,
#alm-destinations-location,
#alm-destinations-final-cta {
  padding-top: clamp(78px, 6.7vw, 112px) !important;
  padding-bottom: clamp(78px, 6.7vw, 112px) !important;
}

/* The B2C page no longer needs the old winter/season section. If an older import still contains it, soften it. */
#alm-destinations-winter {
  padding-top: clamp(56px, 5vw, 78px) !important;
  padding-bottom: clamp(56px, 5vw, 78px) !important;
}

/* Hero CTA: keep first CTA primary and second CTA quiet, public-facing */
#alm-destinations-hero .alm-destinations-cta-row,
#alm-destinations-hero .alm-cta-row {
  gap: 12px !important;
}

/* Public Destinations cards: more readable, less technical */
#alm-destinations-logic-grid > .e-con,
#alm-destinations-logic-grid > .elementor-element,
#alm-destinations-rollout-grid > .e-con,
#alm-destinations-rollout-grid > .elementor-element,
#alm-destinations-pilot-grid > .e-con,
#alm-destinations-pilot-grid > .elementor-element,
#alm-destinations-mediterranean-grid > .e-con,
#alm-destinations-mediterranean-grid > .elementor-element,
#alm-destinations-readiness-grid > .e-con,
#alm-destinations-readiness-grid > .elementor-element {
  min-height: clamp(198px, 14vw, 242px) !important;
}

#alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child) p,
#alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) p {
  font-size: .98rem !important;
  line-height: 1.62 !important;
}

/* Final CTA dark-card button: central ALMARA behavior for this page */
#alm-destinations-final-cta-card-1 .elementor-button {
  background: #ffffff !important;
  color: var(--alm-d-navy, #063247) !important;
  border: 1px solid rgba(255,255,255,.92) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
}

#alm-destinations-final-cta-card-1 .elementor-button:hover,
#alm-destinations-final-cta-card-1 .elementor-button:focus-visible {
  background: var(--alm-d-aqua, #38c6d9) !important;
  border-color: var(--alm-d-aqua, #38c6d9) !important;
  color: var(--alm-d-navy, #063247) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 36px rgba(56,198,217,.24) !important;
}

/* Mobile: reduce page length and make the B2C flow feel calmer */
@media (max-width: 767px) {
  #alm-destinations-hero {
    padding-top: 42px !important;
    padding-bottom: 46px !important;
    row-gap: 18px !important;
  }

  #alm-destinations-logic,
  #alm-destinations-rollout,
  #alm-destinations-pilot,
  #alm-destinations-mediterranean,
  #alm-destinations-readiness,
  #alm-destinations-location,
  #alm-destinations-final-cta {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  #alm-destinations-logic-copy,
  #alm-destinations-rollout-copy,
  #alm-destinations-pilot-copy,
  #alm-destinations-mediterranean-copy,
  #alm-destinations-readiness-copy {
    margin-bottom: 24px !important;
  }

  #alm-destinations-logic-grid,
  #alm-destinations-rollout-grid,
  #alm-destinations-pilot-grid,
  #alm-destinations-mediterranean-grid,
  #alm-destinations-readiness-grid,
  #alm-destinations-final-cta-grid {
    max-width: 344px !important;
    gap: 12px !important;
  }

  #alm-destinations-logic-grid > .e-con,
  #alm-destinations-logic-grid > .elementor-element,
  #alm-destinations-rollout-grid > .e-con,
  #alm-destinations-rollout-grid > .elementor-element,
  #alm-destinations-pilot-grid > .e-con,
  #alm-destinations-pilot-grid > .elementor-element,
  #alm-destinations-mediterranean-grid > .e-con,
  #alm-destinations-mediterranean-grid > .elementor-element,
  #alm-destinations-readiness-grid > .e-con,
  #alm-destinations-readiness-grid > .elementor-element {
    padding: 20px 20px 21px !important;
    border-radius: 16px !important;
  }

  #alm-destinations-logic-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-logic-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-rollout-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-pilot-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-mediterranean-grid > .elementor-element > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .e-con > .elementor-widget-text-editor:first-child,
  #alm-destinations-readiness-grid > .elementor-element > .elementor-widget-text-editor:first-child {
    margin-bottom: 20px !important;
  }

  #alm-destinations-logic-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-rollout-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-pilot-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-mediterranean-grid .elementor-widget-heading .elementor-heading-title,
  #alm-destinations-readiness-grid .elementor-widget-heading .elementor-heading-title {
    font-size: 1.18rem !important;
    line-height: 1.16 !important;
  }

  #alm-destinations-logic-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-rollout-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-pilot-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-mediterranean-grid .elementor-widget-text-editor:not(:first-child) p,
  #alm-destinations-readiness-grid .elementor-widget-text-editor:not(:first-child) p {
    font-size: .88rem !important;
    line-height: 1.52 !important;
  }

  #alm-destinations-location {
    row-gap: 22px !important;
  }

  #alm-destinations-final-cta-grid > .e-con,
  #alm-destinations-final-cta-grid > .elementor-element {
    padding: 26px 23px !important;
  }
}


/* =========================================================
   ALMARA Mobile Late Lock v3.0 — Destinations
   Scope: phone only; ID-first. No header/footer selectors.
   ========================================================= */
@media screen and (max-width: 767px) {
  html body :is(#alm-destinations-hero,#alm-destinations-logic,#alm-destinations-rollout,#alm-destinations-pilot,#alm-destinations-winter,#alm-destinations-mediterranean,#alm-destinations-readiness,#alm-destinations-location,#alm-destinations-final-cta) {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    overflow: hidden !important;
    --width: 100% !important;
    --content-width: 100% !important;
    --container-widget-width: 100% !important;
  }
  html body :is(#alm-destinations-hero,#alm-destinations-logic,#alm-destinations-rollout,#alm-destinations-pilot,#alm-destinations-winter,#alm-destinations-mediterranean,#alm-destinations-readiness,#alm-destinations-location,#alm-destinations-final-cta) > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 430px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    grid-template-columns: none !important;
  }
  html body [id^="alm-destinations-"] :is(.e-con,.e-con-inner,.elementor-element,.elementor-widget,.elementor-widget-container) {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  html body :is(#alm-destinations-logic-grid,#alm-destinations-rollout-grid,#alm-destinations-pilot-grid,#alm-destinations-winter-grid,#alm-destinations-mediterranean-grid,#alm-destinations-readiness-grid,#alm-destinations-final-cta-grid),
  html body :is(#alm-destinations-logic-grid,#alm-destinations-rollout-grid,#alm-destinations-pilot-grid,#alm-destinations-winter-grid,#alm-destinations-mediterranean-grid,#alm-destinations-readiness-grid,#alm-destinations-final-cta-grid) > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
  }
  html body [id^="alm-destinations-"] :is(.alm-card,.alm-destinations-card,.alm-final-cta-card,.alm-final-cta-card--dark,.alm-final-cta-card--light),
  html body :is(#alm-destinations-logic-grid,#alm-destinations-rollout-grid,#alm-destinations-pilot-grid,#alm-destinations-winter-grid,#alm-destinations-mediterranean-grid,#alm-destinations-readiness-grid,#alm-destinations-final-cta-grid) > .e-con-inner > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}


/* =========================================================
   ALMARA Mobile Late Lock v3.0 — Visual/Image Card Polish
   Scope: phone only. Restores visible rounded image-card frames.
   ========================================================= */
@media screen and (max-width: 767px) {
  html body :is(
    #alm-destinations-hero-media,
    #alm-destinations-location-visual,
    #alm-experience-hero-media,
    #alm-experience-visual-media,
    #alm-home-hero-media,
    #alm-home-experience-media,
    .almara-coastline-visual,
    .alm-photo-slot,
    .alm-image-widget-slot,
    .alm-partner-image-card,
    .alm-equipment-card .alm-photo-mosaic,
    .almara-location-card .elementor-widget-image
  ) {
    border: 1px solid rgba(9, 43, 61, 0.12) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(9, 43, 61, 0.10) !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.82) !important;
  }

  html body :is(
    #alm-destinations-hero-media .alm-destinations-hero-image,
    #alm-destinations-location-visual .alm-destinations-image,
    #alm-experience-hero-media .elementor-widget-container,
    #alm-experience-visual-media .elementor-widget-container,
    #alm-home-hero-media .elementor-widget-container,
    #alm-home-experience-media .elementor-widget-container,
    .alm-photo-slot .elementor-widget-container,
    .alm-image-widget-slot .elementor-widget-container,
    .alm-partner-image-card .elementor-widget-container,
    .almara-location-card .elementor-widget-image .elementor-widget-container
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  html body :is(
    #alm-destinations-hero-media img,
    #alm-destinations-location-visual img,
    #alm-experience-hero-media img,
    #alm-experience-visual-media img,
    #alm-home-hero-media img,
    #alm-home-experience-media img,
    .alm-photo-slot img,
    .alm-image-widget-slot img,
    .alm-partner-image-card img,
    .almara-location-card .elementor-widget-image img
  ) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 16px !important;
  }
}
