/* CMS marketing pages (catering, gift cards) — layout fixes */



.branch-journeys-top {

  display: none !important;

  height: 0 !important;

  overflow: hidden !important;

  pointer-events: none !important;

}



/* SingleFile save pins body to viewport — allow full page scroll */

body#stick-to.cms {

  height: auto !important;

  min-height: 100vh !important;

  overflow-y: auto !important;

}



header.header-sticky {

  position: fixed !important;

  top: 0 !important;

  left: 0 !important;

  right: 0 !important;

  width: 100% !important;

  z-index: 10001 !important;

  background: #fff !important;

  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.13) !important;

}



header.header-sticky > header {

  display: block !important;

  margin: 0 !important;

  padding: 0 !important;

  width: 100% !important;

}



header .navbar.cms,

nav.navbar.cms {

  position: relative !important;

  top: auto !important;

  z-index: 1 !important;

  background: #fff !important;

  width: 100% !important;

  max-width: 1280px !important;

  margin: 0 auto !important;

  box-sizing: border-box !important;

}



/* nav_padding sits inside fixed header and creates a white bar over page content */
body#stick-to.cms .nav_padding,
header.header-sticky .nav_padding {

  display: none !important;

  height: 0 !important;

  padding: 0 !important;

  margin: 0 !important;

  overflow: hidden !important;

  pointer-events: none !important;

}



body#stick-to.cms main.body_container {

  padding-top: 8.6rem !important;

  margin-top: 0 !important;

}



@media screen and (max-width: 1023px) {

  body#stick-to.cms main.body_container {

    padding-top: 6.9rem !important;

  }

}



main.body_container.catering_container,

main.body_container.subwaycard_container {

  overflow: visible !important;

}



/* SingleFile save metadata sometimes renders as stray text in the corner */

html > :not(head):not(body):not(script):not(link):not(style):not(meta):not(title) {

  display: none !important;

}



/* ── CMS header right: Start Order + cart (no profile, no green bar) ── */

.navbar.cms .navbar_right .account_logged,

.navbar.cms .navbar_right .account_loggedIn,

.navbar.cms .navbar_right .view_bag_button,

.navbar.cms .navbar_right [data-testauto-id="view bag"] {

  display: none !important;

  visibility: hidden !important;

  width: 0 !important;

  height: 0 !important;

  overflow: hidden !important;

  pointer-events: none !important;

}



.navbar.cms .navbar_right {

  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  flex: 0 0 auto !important;

  flex-shrink: 0 !important;

  gap: 1rem !important;

  padding: 0 !important;

  margin: 0 !important;

}



.navbar.cms .navbar_right .start_order {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  flex: 0 0 auto !important;

  width: auto !important;

  max-width: none !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 1rem 2rem !important;

  white-space: nowrap !important;

  background-color: #008938 !important;

  border-radius: 0.5rem !important;

  color: #fff !important;

  text-transform: uppercase !important;

  font-size: 1.8rem !important;

  border: none !important;

  cursor: pointer !important;

}



.navbar.cms .navbar_right .cart_bag {

  flex: 0 0 auto !important;

  width: auto !important;

  max-width: none !important;

  min-width: 0 !important;

  margin: 0 !important;

  height: auto !important;

  box-sizing: border-box !important;

}



.navbar.cms .navbar_right .cart_bag.empty {

  display: none !important;

  align-items: center !important;

  justify-content: center !important;

  background: transparent !important;

  padding: 1rem 1.2rem !important;

  border: none !important;

}

.navbar.cms .navbar_right .cart_bag.empty.subway-bag--active {

  display: inline-flex !important;

  visibility: visible !important;

  pointer-events: auto !important;

}

.navbar.cms .navbar_right .cart_bag.empty.subway-bag--hidden,

.navbar.cms .navbar_right .cart_bag.empty[style*="display: none"],

.navbar.cms .navbar_right .cart_bag.empty[style*="display:none"] {

  display: none !important;

  visibility: hidden !important;

  pointer-events: none !important;

  width: 0 !important;

  min-width: 0 !important;

  padding: 0 !important;

  margin: 0 !important;

  overflow: hidden !important;

}



.navbar.cms .navbar_right .cart_bag.full {

  display: none !important;

  align-items: center !important;

  justify-content: center !important;

  background-color: #008938 !important;

  border-radius: 0.5rem !important;

  padding: 1rem 1.4rem !important;

  width: auto !important;

}

.navbar.cms .navbar_right .cart_bag.full.subway-bag--active {

  display: inline-flex !important;

  visibility: visible !important;

  pointer-events: auto !important;

  cursor: pointer !important;

}

.navbar.cms .navbar_right .cart_bag.full[style*="display: none"],
.navbar.cms .navbar_right .cart_bag.full[style*="display:none"],
.navbar.cms .navbar_right .cart_bag.full.subway-bag--hidden {

  display: none !important;

  width: 0 !important;

  min-width: 0 !important;

  padding: 0 !important;

  margin: 0 !important;

  overflow: hidden !important;

  visibility: hidden !important;

  pointer-events: none !important;

}



.navbar.cms .navbar_right .cart_bag .picture-container__img,

.navbar.cms .navbar_right .cart_bag img {

  width: 2.3rem !important;

  height: 2.9rem !important;

  max-width: none !important;

  object-fit: contain !important;

}



.navbar.cms .navbar_right .bag-quantity {

  color: #000 !important;

  background-color: #f2b700 !important;

}



@media screen and (min-width: 1024px) {

  nav.navbar.cms {

    display: flex !important;

    align-items: center !important;

    flex-wrap: nowrap !important;

    padding: 0 2.4rem !important;

  }



  .navbar.cms .navbar_left {

    display: flex !important;

    align-items: center !important;

    flex: 0 1 auto !important;

    min-width: 0 !important;

  }



  .navbar.cms .navbar_menu_items {

    display: flex !important;

    flex: 1 1 auto !important;

    min-width: 0 !important;

  }



  .navbar.cms .navbar_menu_items ul {

    display: flex !important;

    flex-wrap: nowrap !important;

    align-items: center !important;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

  }



  .navbar.cms .navbar_menu_items li {

    flex: 0 0 auto !important;

  }



  .navbar.cms .navbar_logo {

    flex-shrink: 0 !important;

    margin-right: 2rem !important;

    padding-right: 2rem !important;

    border-right: 1px solid #eaeaea !important;

  }



  .navbar.cms .navbar_logo .primary_logo {

    height: 3rem !important;

    width: auto !important;

    max-width: 15rem !important;

    min-width: 0 !important;

    margin: 0 !important;

  }

}



@media screen and (max-width: 1023px) {

  .navbar.cms .navbar_right .start_order {

    display: none !important;

  }

}

/* External CTAs / links (build-time + site-nav.js) */
.subway-external-disabled,
[data-subway-external-disabled] {
  pointer-events: none !important;
  cursor: default !important;
  opacity: 0.92;
}

.subway-external-disabled:hover,
[data-subway-external-disabled]:hover {
  text-decoration: none !important;
}

button.subway-external-disabled,
button[data-subway-external-disabled] {
  filter: grayscale(0.08);
}

/* ── CMS hero slider (gift cards, catering) — mobile layout ── */

body#stick-to.cms {
  overflow-x: hidden !important;
}

body#stick-to.cms .hero_slider.swiper,
body#stick-to.cms .hero_slider {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 1023px) {

  body#stick-to.cms .hero_slider .swiper-wrapper,
  body#stick-to.cms .hero_slider .hero_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body#stick-to.cms .hero_slider .swiper-slide,
  body#stick-to.cms .hero_slider .component_promotions.swiper-slide,
  body#stick-to.cms .component_promotions.swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body#stick-to.cms .hero_slider .swiper-slide:not(.swiper-slide-active) {
    display: none !important;
  }

  body#stick-to.cms .component_promotions.header {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body#stick-to.cms .component_promotions.header .component_promotions_text {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 2rem 1.6rem 1.6rem !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body#stick-to.cms .component_promotions.header .component_promotions_image {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  body#stick-to.cms .component_promotions.header .component_promotions_image picture,
  body#stick-to.cms .component_promotions.header .component_promotions_image img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body#stick-to.cms .component_promotions.header .title,
  body#stick-to.cms .component_promotions.header .decreption {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    white-space: normal !important;
  }

  body#stick-to.cms .component_promotions.header .title {
    font-size: 3.2rem !important;
    line-height: 1.2 !important;
  }

  body#stick-to.cms .component_promotions.header button.fullwidth.button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0.8rem 0 0 !important;
    padding: 1.2rem 1.6rem !important;
    color: #fff !important;
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-align: center !important;
    display: block !important;
    visibility: visible !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body#stick-to.cms .component_wrapper,
  body#stick-to.cms .component_wrapper.withGape {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body#stick-to.cms .rteCatering {
    padding: 0 1.6rem !important;
    box-sizing: border-box !important;
  }

  body#stick-to.cms #onetrust-banner-sdk:not(.ot-hide) {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 2147483645 !important;
  }

  body#stick-to.cms #onetrust-close-btn-container {
    position: absolute !important;
    top: 0.8rem !important;
    right: 0.8rem !important;
    z-index: 2 !important;
  }

  body#stick-to.cms .onetrust-close-btn-handler {
    width: 2.4rem !important;
    height: 2.4rem !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  body#stick-to.cms main.body_container {
    padding-bottom: calc(1.6rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}


