/* =========================================================
   LOCATION PAGE STYLES
   Shared rules are maintained in master.css.
   ========================================================= */

body.home-page #hubungi {
  scroll-margin-top: 124px;
}

/* Desktop / landscape tablet: all primary site heroes share one height. */

@media (min-width: 981px) {
  body.location-page .locator-premium-hero {
    height: var(--halogo-hero-height-desktop);
    min-height: var(--halogo-hero-height-desktop);
  }

  /* Home */

  /* Rakan Niaga / Partners. Match the higher-specificity luxury variant. */

  /* FAQ / eSIM */

  /* Location */
  body.location-page .locator-premium-hero {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  body.location-page .locator-premium-hero__inner {
    min-height: var(--halogo-hero-inner-desktop);
  }

  body.location-page .locator-premium-copy {
    padding-top: 0;
    padding-bottom: 0;
  }

  body.location-page .locator-premium-copy .eyebrow {
    display: inline-flex;
    width: fit-content;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 11px;

    padding: 7px 15px 7px 12px;

    border: 1px solid rgba(239, 204, 139, 0.20);
    border-radius: 999px;

    background: rgba(255, 248, 235, 0.045);

    color: rgba(255, 239, 211, 0.75);

    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.055);

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.19em;
    text-transform: uppercase;
  }

body.location-page .locator-premium-copy .eyebrow::before {
  display: inline-block;
  width: 28px;
  height: 2px;
  flex: 0 0 28px;
  margin: 0;

  border-radius: 999px;

  background: linear-gradient(
    90deg,
    #f8e3ad,
    #c88135
  );
}

body.location-page .locator-premium-visual {
    min-height: var(--halogo-hero-inner-desktop);
  }
}

/* FAQ had a legacy 1300px minimum width. Remove it at every viewport so
   headings, search and image never get pushed outside the visible canvas. */

/* Tablet: let copy + artwork stack and grow naturally instead of clipping. */

@media (max-width: 980px) {
  body.location-page .locator-premium-hero {
    height: auto;
  }

  /* A later desktop alignment rule previously restored two columns on the
         homepage at mobile widths. Force the hero back to one content-safe stack. */

  body.help-page .faq-v3-search {
    margin-right: auto;
    margin-left: auto;
  }

  body.location-page .locator-premium-hero {
    min-height: auto;
    padding-top: 56px;
    padding-bottom: 72px;
  }

  body.location-page .locator-premium-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  body.location-page .locator-premium-copy {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 0;
    text-align: center;
  }

  body.location-page .locator-premium-copy > p,
body.location-page .locator-hero-search,
body.location-page .locator-premium-hero .locator-compact-stats {
    margin-right: auto;
    margin-left: auto;
  }

  body.location-page .locator-premium-copy .eyebrow {
    display: inline-flex;
    width: fit-content;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 11px;

    padding: 7px 15px 7px 12px;

    border: 1px solid rgba(239, 204, 139, 0.20);
    border-radius: 999px;

    background: rgba(255, 248, 235, 0.045);

    color: rgba(255, 239, 211, 0.75);

    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.055);

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.19em;
    text-transform: uppercase;
  }

  body.location-page .locator-premium-copy .eyebrow::before {
    display: inline-block;
    width: 28px;
    height: 2px;
    flex: 0 0 28px;
    margin: 0;

    border-radius: 999px;

    background: linear-gradient(
      90deg,
      #f8e3ad,
      #c88135
    );
  }

  body.location-page .locator-premium-visual {
    width: min(720px, 100%);
    min-height: 500px;
    margin: 0 auto 18px;
  }

  body.location-page .locator-photo-frame {
    inset: 0 24px;
  }
}

/* Small screens: content dictates height; no fixed hero box is allowed. */

@media (max-width: 680px) {
  body.location-page .locator-premium-hero {
    min-height: auto;
  }

  body.location-page .locator-premium-hero {
    padding-top: 42px;
    padding-bottom: 72px;
  }

  body.location-page .locator-premium-visual {
    min-height: 390px;
    margin-top: 8px;
  }
}

@media (max-width: 980px) {

  .final-cta-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .final-cta-section .cta-banner {
    padding: 42px 38px;
    border-radius: 28px;
  }
}

@media (max-width: 620px) {

  .final-cta-section {
    padding: 58px 0;
  }

  .final-cta-section .cta-banner {
    min-height: auto;
    padding: 34px 24px;
    border-radius: 16px;
  }

  .final-cta-section .cta-left {
    align-items: flex-start;
  }

  .final-cta-section .cta-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .final-cta-section .cta-actions {
    width: 100%;
  }

  .final-cta-section .cta-actions .btn {
    width: 100%;
  }
}
