/** Shopify CDN: Minification failed

Line 4532:10 Expected identifier but found whitespace
Line 4532:11 Unexpected "0"

**/

  /* Cart quantity – smaller Apple pill */
  .template-cart .cart-item__quantity .quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    overflow: visible !important;

    height: 34px !important;
    padding: 0 10px !important;

    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 999px !important;
  }

  .template-cart .cart-item__quantity .quantity-selector__wrapper {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .template-cart .cart-item__quantity .quantity-selector__button {
    width: 22px !important;
    height: 34px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  .template-cart .cart-item__quantity .quantity-selector__input {
    flex: 0 0 auto !important;
    width: 6.5ch !important;
    min-width: 5.5ch !important;
    max-width: 7ch !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1d1d1f !important;
    text-align: center !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" !important;
    background: transparent !important;
    border: none !important;
    -webkit-appearance: textfield !important;
    appearance: textfield !important;
    opacity: 1 !important;
  }

  /* PAB stacks qty — same width as regular cart lines (up to 5 digits + comma). */
  .template-cart .cartitems--list > li.pab-card .pab-line__stacks-quantity .quantity-selector__input,
  .template-cart .cartitems--list > li.cart-item--pab-classic .pab-line__stacks-quantity .quantity-selector__input {
    flex: 0 0 auto !important;
    width: 6.5ch !important;
    min-width: 5.5ch !important;
    max-width: 7ch !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" !important;
  }

  /* FIX: show cart quantity number */
  .template-cart .cart-item__quantity .quantity-selector__wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .template-cart .cart-item__quantity .quantity-selector__input {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    display: block !important;
    line-height: 1 !important;
    padding: 0 !important;
    -webkit-text-fill-color: #1d1d1f !important;
  }

  .productitem {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 18px;
    box-shadow:
      0 1px 2px rgba(0,0,0,0.04),
      0 6px 18px rgba(0,0,0,0.06);
    transition: transform 0.5s cubic-bezier(.22,.61,.36,1),
                box-shadow 0.5s cubic-bezier(.22,.61,.36,1);
  }

  .productitem img {
    border-radius: 12px;
  }

  .product-gallery--media,
  .product-gallery--image,
  .product-gallery--image-background {
    border-radius: 14px;
    overflow: hidden;
  }

  .template-product .product-gallery--media {
    border-radius: 14px !important;
    overflow: hidden;
  }

  /* Product page thumbnails */
  .product-gallery--media-thumbnail img,
  .product-gallery--media-thumbnail-wrapper,
  .product-gallery--media-thumbnail {
    border-radius: 10px;
    overflow: hidden;
  }

  .template-product .product-gallery--media-thumbnail img {
    border-radius: 10px !important;
  }

  /* Empire-safe desktop proportion tuning (flex-based) */
  @media (min-width: 1101px) {
    .template-product .product--outer {
      column-gap: 16px !important;
    }

    .template-product .product-gallery {
      flex: 0 0 calc(58% - 8px) !important;
      max-width: calc(58% - 8px) !important;
    }

    .template-product .product-main {
      flex: 0 0 calc(42% - 8px) !important;
      max-width: calc(42% - 8px) !important;
    }
  }
  @media (min-width: 1101px) {
    .template-product .product-gallery {
      flex: 0 0 calc(58% - 12px) !important;
      max-width: calc(58% - 12px) !important;
    }

    .template-product .product-main {
      flex: 0 0 calc(42% - 12px) !important;
      max-width: calc(42% - 12px) !important;
    }
  }

  /* Product gallery rhythm: clear separation before feature strip */
  .template-product .product-gallery {
    margin-bottom: 48px !important;
  }

  .template-product .product-gallery--navigation {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 40px !important;
    box-sizing: border-box !important;
  }

  .template-product .product-gallery--viewer {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .template-product .gallery-navigation--scroller {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.375rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /*
    Size thumbnails to 1/7 of gallery width so a full first row aligns with the main image.
    flex-grow: 0 keeps partial rows (e.g. 2 thumbs) at the same size — left-aligned, not stretched.
  */
  .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail {
    margin: 0 !important;
    flex: 0 0 calc((100% - 6 * 0.375rem) / 7) !important;
    width: calc((100% - 6 * 0.375rem) / 7) !important;
    max-width: calc((100% - 6 * 0.375rem) / 7) !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    padding: 2px !important;
    box-sizing: border-box !important;
  }

  .template-product [data-product-gallery-aspect-ratio="square"] .gallery-navigation--scroller .product-gallery--media-thumbnail {
    aspect-ratio: 1 / 1 !important;
  }

  .template-product [data-product-gallery-aspect-ratio="tall"] .gallery-navigation--scroller .product-gallery--media-thumbnail {
    aspect-ratio: 2 / 3 !important;
  }

  .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail .product-gallery--media-thumbnail-img-wrapper {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  @media (max-width: 1100px) {
    /* Room for selected-thumb ring — padding only (no negative margin; product--outer clips overflow) */
    .template-product .product-gallery {
      overflow: visible !important;
    }

    .template-product .product-gallery--navigation {
      overflow: visible !important;
      padding: 3px !important;
      box-sizing: border-box !important;
    }

    .template-product .gallery-navigation--scroller {
      padding: 0 !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail {
      overflow: visible !important;
    }
  }

  @media (max-width: 719px) {
    .template-product .gallery-navigation--scroller {
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      overflow-y: visible !important;
      -webkit-overflow-scrolling: touch;
      scroll-padding-left: 3px !important;
      scroll-padding-right: 3px !important;
      padding: 3px !important;
    }

    .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail {
      flex: 0 0 4.5rem !important;
      width: 4.5rem !important;
      min-width: 4.5rem !important;
      height: auto !important;
    }
  }

  /* Round thumbnail selector outline — keep ring visible; clip image inside wrapper only */
  .product-gallery--media-thumbnail[aria-current="true"],
  .product-gallery--media-thumbnail[aria-selected="true"] {
    border-radius: 10px !important;
    overflow: visible;
  }

  .product-gallery--media-thumbnail.is-selected {
    border-radius: 10px !important;
  }

  .template-product .gallery-navigation--scroller .product-gallery--media-thumbnail-img-wrapper {
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  /* Round the thumbnail button + active state */
  .gallery-navigation--scroller button {
    border-radius: 12px !important;
  }

  .template-product .gallery-navigation--scroller button.product-gallery--media-thumbnail {
    overflow: visible !important;
  }

  .gallery-navigation--scroller button[aria-current="true"],
  .gallery-navigation--scroller button.is-selected {
    border-radius: 12px !important;
  }

  /* Tighten beige product feature section spacing */
  #shopify-section-template--23347195773204__77798950-ba00-44fe-8a7d-f6a09c9c72e3 .section.product__container.product__container--two-columns,
  .template-product .section.product__container.product__container--two-columns {
    margin-top: 0 !important;
    padding-top: 44px !important;
    padding-bottom: 52px !important;
    border-top: 1px solid rgba(0,0,0,0.05) !important;
  }

  @media (hover:hover) {
    .productitem:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 28px rgba(0,0,0,0.08);
    }
  }

  .productgrid--item {
    padding: 12px !important;
  }

  @media (max-width: 767px) {
    /* More space between thumbnail strip and beige features box */
    .template-product .product-gallery {
      margin-bottom: 8px !important;
    }

    .template-product .product-gallery--navigation {
      margin-bottom: 8px !important;
    }

    #shopify-section-template--23347195773204__77798950-ba00-44fe-8a7d-f6a09c9c72e3 .section.product__container.product__container--two-columns,
    .template-product .section.product__container.product__container--two-columns {
      margin-top: 14px !important;
    }

    .template-product .product-main {
      margin-top: 0 !important;
      padding-top: 0 !important;
    }

    .template-product .product-details .product-title,
    .template-product .product-main .product-details h1.product-title {
      margin-top: 0 !important;
    }

    .productitem {
      box-shadow: none !important;
      border: none !important;
      transition: none !important;
      transform: none !important;
    }

    .productgrid--item {
      padding: 8px !important;
    }
  }

  @media (hover: none) and (pointer: coarse) {
    .productitem,
    .productitem:hover {
      transition: none !important;
      transform: none !important;
      box-shadow: none !important;
    }
  }

  /* Blank filler popup: softer Apple-style glass treatment */
  #bf-popup {
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    background: rgba(0, 0, 0, 0.25) !important;
  }

  #bf-popup > div {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  }

  #bf-popup a {
    background: rgba(0,0,0,0.06) !important;
    color: #111 !important;
  }

  #bf-popup a:hover {
    background: rgba(0,0,0,0.1) !important;
  }

  @media (max-width: 600px) {
    #bf-popup > div > div:last-of-type {
      flex-direction: column !important;
      gap: 10px !important;
    }

    #bf-popup button,
    #bf-popup a {
      width: 100% !important;
      text-align: center;
    }
  }

  /* Force Globo collection layout to use a real grid so cards never get too skinny */
  #gf-grid .productgrid--items {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
  }

  #gf-grid .productgrid--item {
    width: 100% !important;
    min-width: 240px !important;
    margin: 0 !important;
  }

  @media (max-width: 768px) {
    #gf-grid .productgrid--items {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 12px !important;
      padding: 0 10px !important;
    }

    #gf-grid .productgrid--item {
      margin: 0 !important;
      min-width: 0 !important;
    }
  }

  @media (max-width: 600px) {
    /* FORCE override Globo + theme */
    #gf-grid #gf-products.productgrid--items {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 4px !important;
      padding: 0 2px !important;
    }

    #gf-grid .productgrid--item {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    #gf-grid .productitem .productitem--action-trigger,
    #gf-grid .productitem .productitem--action-trigger.productitem--action-atc,
    #gf-grid .productitem .productitem--actions .button,
    #gf-grid .productitem .productitem--actions button,
    #gf-grid .productitem button,
    #gf-grid .productitem .button {
      height: 42px !important;
      min-height: 42px !important;
      line-height: 1 !important;
      font-size: 14px;
      border-radius: 999px;
    }

    #gf-grid .productitem--title,
    #gf-grid .productitem--title a {
      margin-bottom: 0 !important;
    }

    #gf-grid .productitem--reviews {
      margin-top: 0 !important;
    }

    #gf-grid .productitem .jdgm-prev-badge {
      margin-top: 2px !important;
    }

    #gf-grid .productitem--reviews span:last-child {
      display: none;
    }
  }

  @media (max-width: 380px) {
    #gf-grid .productgrid--items {
      grid-template-columns: 1fr !important;
    }
  }

  /* Tighten vertical rhythm inside Globo collection cards without losing aligned buttons */
  #gf-grid .productitem {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding-bottom: 12px !important;
  }

  #gf-grid .productitem--info,
  #gf-grid .productitem__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    flex-grow: 0 !important;
  }

  #gf-grid .productitem--actions,
  #gf-grid .productitem__actions {
    margin-top: auto !important;
  }

  /* Quick shop modal: tighter, premium styling using the theme's real selectors */
  .modal--quickshop-slim .modal-inner {
    border-radius: 20px !important;
    overflow: visible !important;
    box-shadow: 0 22px 70px rgba(0,0,0,0.16) !important;
    padding: 28px !important;
  }

  .modal--quickshop-slim {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  .modal--quickshop-slim .modal-close {
    transform: translate(-4px, 4px);
  }

  /* Mobile quick shop: theme header is z-index 1110 vs modal ~700, so it paints on top.
     Hide top chrome and lift the overlay while the slim quick shop is open. */
  @media screen and (max-width: 1023px) {
    body.modal-visible:has(.modal--quickshop-slim) .announcement-static,
    body.modal-visible:has(.modal--quickshop-slim) .shopify-section-group-header-group {
      display: none !important;
    }

    body.modal-visible:has(.modal--quickshop-slim) .modal.modal--quickshop-slim {
      z-index: 1200 !important;
    }

    body.modal-visible:has(.modal--quickshop-slim) .modal.modal--quickshop-slim .modal-inner {
      z-index: 1201 !important;
      margin-top: 0 !important;
    }

    /* Recart + chat sit above modal backdrop (z-index ~999999); hide while options popup is open */
    body.modal-visible:has(.modal--quickshop-slim) button[class*="custom-minimized"],
    body.modal-visible:has(.modal--quickshop-slim) div[class*="custom-minimized"],
    body.modal-visible:has(.modal--quickshop-slim) .recart-custom-minimized,
    body.modal-visible:has(.modal--quickshop-slim) .recart-button,
    body.modal-visible:has(.modal--quickshop-slim) .recart-widget,
    body.modal-visible:has(.modal--quickshop-slim) #recart-widget-container,
    body.modal-visible:has(.modal--quickshop-slim) [id*="recart"],
    body.modal-visible:has(.modal--quickshop-slim) [class*="recart"],
    body.modal-visible:has(.modal--quickshop-slim) iframe[src*="recart"],
    body.modal-visible:has(.modal--quickshop-slim) #pm-chat-root,
    body.modal-visible:has(.modal--quickshop-slim) #pm-chat-launcher,
    body.modal-visible:has(.modal--quickshop-slim) #pm-chat-window,
    body.modal-visible:has(.modal--quickshop-slim) #pm-chat-nudge,
    body.modal-visible:has(.modal--quickshop-slim) #pm-chat-badge,
    body.modal-visible:has(.modal--quickshop-slim) [id^="pm-chat-"],
    body.modal-visible:has(.modal--quickshop-slim) .chat-widget,
    body.modal-visible:has(.modal--quickshop-slim) .intercom-lightweight-app,
    body.modal-visible:has(.modal--quickshop-slim) #crisp-chatbox,
    body.modal-visible:has(.modal--quickshop-slim) iframe[title="chat widget"] {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }
  }

  .modal--quickshop-slim .product-form--atc {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }

  .modal--quickshop-slim .product-form__action-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  /* Dropdown: clean 48px field with consistent text rendering */
  .modal--quickshop-slim [data-options-selection],
  .modal--quickshop-slim .variant-selection,
  .modal--quickshop-slim .form-options,
  .modal--quickshop-slim .options-selection__select-wrapper,
  .modal--quickshop-slim .options-selection__select,
  .modal--quickshop-slim .options-selection__input-select-wrapper {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
  }

  .modal--quickshop-slim .variant-selection options-selection > * {
    margin-top: 0 !important;
  }

  .modal--quickshop-slim .options-selection__select {
    margin: 0 0 8px !important;
    overflow: visible !important;
  }

  .modal--quickshop-slim [data-product-form-area],
  .modal--quickshop-slim .product-form--atc {
    overflow: visible !important;
  }

  .modal--quickshop-slim .options-selection__select-label {
    display: none !important;
  }

  .modal--quickshop-slim .options-selection__input-select-wrapper {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .modal--quickshop-slim .options-selection__input-select {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 36px 0 14px !important;
    border: 1px solid #c8c8c8 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: #fff !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 48px !important;
    color: #1d1d1d !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    vertical-align: middle !important;
  }

  .modal--quickshop-slim .options-selection__input-select[data-variant-option-chosen-value="false"] {
    color: #888 !important;
    font-weight: 500 !important;
  }

  .modal--quickshop-slim .options-selection__input-select:not([data-variant-option-chosen-value="false"]) {
    color: #1d1d1d !important;
  }

  .modal--quickshop-slim .options-selection__input-select:focus {
    border-color: #a8a8a8 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
  }

  .modal--quickshop-slim .options-selection__input-select-chevron,
  .modal--quickshop-slim .options-selection__input-select-wrapper svg {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    pointer-events: none !important;
    z-index: 3 !important;
    color: #555 !important;
  }

  /* Quantity selector: pill layout matching the site */
  .modal--quickshop-slim .quantity-selector {
    width: 100% !important;
  }

  .modal--quickshop-slim .quantity-selector__label {
    display: none !important;
  }

  .modal--quickshop-slim .quantity-selector__wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 999px !important;
    padding: 6px !important;
    width: 136px !important;
    max-width: 136px !important;
    margin: 12px 0 16px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  .modal--quickshop-slim .quantity-selector__button-wrapper {
    display: flex !important;
    flex: 0 0 auto !important;
  }

  .modal--quickshop-slim .quantity-selector__button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    border: none !important;
    font-size: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  .modal--quickshop-slim .quantity-selector__button:hover {
    background: #ececec !important;
  }

  .modal--quickshop-slim .quantity-selector__input {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    text-align: center !important;
    border: none !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    background: transparent !important;
    padding: 0 !important;
    color: #1d1d1d !important;
  }

  /* Reduce floating empty space inside the quick shop stack */
  .modal--quickshop-slim .authorized-use-notice {
    margin: 16px 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid #eee !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .modal--quickshop-slim .shopify-payment-button,
  .modal--quickshop-slim .product-form__payment-container,
  .modal--quickshop-slim .atc-button--checkout {
    margin-top: 0 !important;
  }

  /* Buttons: identical height, width, radius, and typography */
  .modal--quickshop-slim .product-form--atc-button,
  .modal--quickshop-slim .shopify-payment-button__button,
  .modal--quickshop-slim .shopify-payment-button .shopify-payment-button__button--unbranded,
  .modal--quickshop-slim .shopify-payment-button .shopify-payment-button__button--branded,
  .modal--quickshop-slim .atc-button--checkout {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .modal--quickshop-slim .shopify-payment-button {
    flex-basis: auto !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .modal--quickshop-slim .shopify-payment-button__more-options {
    margin-top: 8px !important;
    text-align: center !important;
    font-size: 13px !important;
  }

  /* Buy Now — full width below Add to cart */
  .modal--quickshop-slim .product-form__buy-now-row {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-top: 12px !important;
    padding-top: 0 !important;
    border-top: none !important;
    box-sizing: border-box !important;
  }

  .modal--quickshop-slim .product-form--buy-now-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 999px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
  }

  .modal--quickshop-slim .product-form--buy-now-button:hover {
    background: #111 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  }

  .modal--quickshop-slim .product-form--buy-now-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  }

  .modal--quickshop-slim .product-form--buy-now-button.processing {
    opacity: 0.72 !important;
    cursor: wait !important;
    transform: none !important;
  }

  .modal--quickshop-slim .product-form--atc redo-shopify-toggle,
  .modal--quickshop-slim .product-form--atc [class*="redo-"],
  .modal--quickshop-slim .product-form--atc [id*="redo-"] {
    display: none !important;
  }

  /* Rounded posters */
  .logolist--item img.logolist--image {
    border-radius: 8px;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  /* Restore hover lift */
  @media (min-width: 769px) {
    .logolist--item:hover img.logolist--image {
      transform: scale(1.06);
    }
  }

  .highlights-banner__content {
    padding-top: 16px !important;
    padding-bottom: 36px !important;
  }

  /* Slightly reduce spacing above highlights icons */
  [id*="dynamic_highlights_banner"].highlights-banner__container.section-spacing {
    margin-top: 0.75rem !important;
  }

  @media screen and (min-width: 860px) {
    [id*="dynamic_highlights_banner"].highlights-banner__container.section-spacing {
      margin-top: 2.5rem !important;
    }
  }

  [id*="dynamic_highlights_banner"] .highlights-banner__content {
    padding-top: 10px !important;
  }

  .highlights-banner {
    background: #F6F3ED;
    border-top: 1px solid rgba(0,0,0,0.05);
    border-bottom: 1px solid rgba(0,0,0,0.05);
    overflow: visible !important;
  }

  .highlights-banner__content > div {
    padding: 0 16px;
  }

  .highlights-banner svg,
  .highlights-banner img {
    opacity: 0.9;
    transform: none !important;
    width: 40px;
    height: auto;
  }

  .highlights-banner h3 {
    font-weight: 600;
    letter-spacing: -0.01em;
  }

  .highlights-banner p {
    opacity: 0.75;
  }

  @media (max-width: 768px) {
    .template-product #shopify-section-template--23347195773204__77798950-ba00-44fe-8a7d-f6a09c9c72e3 {
      margin-top: 16px !important;
    }

    .template-product [id*="dynamic_highlights_banner"].highlights-banner__container.section-spacing {
      margin-top: 16px !important;
    }

    .highlights-banner svg,
    .highlights-banner img {
      width: 44px;
    }

    .highlights-banner__block {
      padding: 12px 8px !important;
    }

    .highlights-banner h3 {
      margin-top: 8px;
      margin-bottom: 4px;
      font-weight: 600;
    }

    .highlights-banner p {
      margin-top: 0;
    }

    .highlights-banner__content {
      padding: 20px 16px 28px !important;
      row-gap: 18px !important;
    }
  }

  /* CLEAN NEWSLETTER FIX — wider for input + button, no overlap */
  footer .site-footer-block-newsletter .newsletter {
    max-width: 440px !important;
    width: 100% !important;
    margin-top: 16px !important; /* spacing above field */
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  footer .form-fields-inline.pxs-newsletter-form-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: 40px !important;
    background: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
    margin: 0 !important;
  }

  footer .site-footer-block-newsletter .newsletter .form-field {
    margin: 0 !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
  }

  footer .site-footer-block-newsletter .newsletter .newsletter-input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  footer .site-footer-block-newsletter .newsletter .newsletter-submit {
    flex: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  footer #footer_newsletter_email {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
    padding-right: 20px !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    height: 40px !important;
    margin: 0 !important;
    line-height: normal !important;
  }

  footer #footer_newsletter_email:focus + .form-field-title,
  footer #footer_newsletter_email.form-field-filled + .form-field-title {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  footer:not(.footer-mobile) .form-fields-inline.pxs-newsletter-form-fields button {
    flex: none !important;
    width: auto !important;
    white-space: nowrap !important;
    padding: 0 20px !important;
    min-width: 80px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    height: 40px !important;
    background: #1d1d1f !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Footer button text — lighter weight to match UI (exclude .footer-mobile redesign accordions) */
  footer:not(.footer-mobile) .form-fields-inline.pxs-newsletter-form-fields button,
  footer:not(.footer-mobile) .site-footer-block-newsletter .newsletter-submit button,
  footer:not(.footer-mobile) .button,
  footer:not(.footer-mobile) button {
    background: #1d1d1f !important;
    font-weight: 500;
    font-size: 15px;
  }

  /* Footer layout — fixed 4 columns: Prop Money Hub | Support | Made in the USA | Subscribe + Social */
  @media screen and (min-width: 1024px) {
    .site-footer-blocks,
    .site-footer-blocks--fixed,
    .footer__blocks {
      display: grid !important;
      grid-template-columns: 1fr 1fr 1.2fr 1fr;
      max-width: 1200px;
      margin: 0 auto;
      gap: 48px;
    }

    .site-footer-column {
      min-width: 0;
    }

    .site-footer-block-item {
      flex: 0 0 auto;
      min-width: 0;
    }

    .site-footer-column--1 .site-footer-block-item {
      min-width: 180px;
    }

    .site-footer-column--2 .site-footer-block-item {
      min-width: 180px;
    }

    .site-footer-column--3 .site-footer-block-item {
      min-width: 200px;
      max-width: 240px;
    }

    .site-footer-column--4 .site-footer-block-item {
      min-width: 280px;
    }

    .site-footer-block-menu .navmenu-link,
    .site-footer-block-menu a,
    .site-footer-block-support .navmenu-link,
    .site-footer-block-support a,
    .site-footer-block-support-menu .navmenu-link,
    .site-footer-block-support-menu a {
      white-space: nowrap;
    }

    .site-footer-block-menu .navmenu-item,
    .site-footer-block-support .navmenu-item,
    .site-footer-block-support-menu .navmenu-item {
      line-height: 1.7;
    }

    /* Footer menus — no bullets, consistent spacing */
    .site-footer-block-menu .navmenu,
    .site-footer-block-support .navmenu,
    .site-footer-block-support-menu .navmenu {
      list-style: none !important;
      padding-left: 0 !important;
    }

    .site-footer-block-menu .navmenu-item:not(:first-child),
    .site-footer-block-support .navmenu-item:not(:first-child),
    .site-footer-block-support-menu .navmenu-item:not(:first-child) {
      margin-top: 0.3125rem !important;
    }

  /* Shop by Use rich-text column: visually match footer menu links */
  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte p {
    margin: 0 !important;
    line-height: 1.7 !important;
  }

  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte p:not(:first-child) {
    margin-top: 0.3125rem !important;
  }

  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte a,
  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte a:hover,
  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte a:focus,
  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte a:active,
  .site-footer-column--3 .site-footer-block-rich-text .site-footer-block-content.rte a:visited {
    color: inherit !important;
    text-decoration: none !important;
    font-weight: inherit !important;
  }
  }

  @media screen and (min-width: 1024px) and (max-width: 1199px) {
    .site-footer-blocks,
    .site-footer-blocks--fixed,
    .footer__blocks {
      grid-template-columns: 1fr 1fr 1.1fr 1fr !important;
      gap: 32px !important;
      max-width: 1200px !important;
    }

    .site-footer-column--1 .site-footer-block-item,
    .site-footer-column--2 .site-footer-block-item {
      min-width: 160px !important;
    }

    .site-footer-column--3 .site-footer-block-item {
      min-width: 180px !important;
      max-width: 220px !important;
    }

    .site-footer-column--4 .site-footer-block-item {
      min-width: 220px !important;
    }

    .site-footer-block-rich-text .site-footer-block-content.rte {
      max-width: 100% !important;
    }

    footer .form-fields-inline.pxs-newsletter-form-fields button {
      padding: 0 14px !important;
      min-width: 0 !important;
    }
  }

  /* ===== Stacked footer (≤1023px): layout + chevron alignment only; spacing = canonical block at EOF ===== */
  @media screen and (max-width: 1023px) {
    .site-footer-blocks--fixed {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      text-align: left !important;
      align-items: stretch !important;
    }

    .site-footer-column {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      width: 100% !important;
    }

    .site-footer-column,
    .site-footer-block-item {
      text-align: left !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    footer .site-footer-block-item.has-accordion > .site-footer-block-title {
      padding-right: 32px !important;
    }

    footer .site-footer-block-item.has-accordion .site-footer-block-icon {
      right: 8px !important;
    }

    footer .site-footer-block-item.has-accordion .navmenu {
      list-style: none !important;
      padding-left: 0 !important;
    }

    footer .site-footer-block-item.has-accordion .navmenu-item:not(:first-child) {
      margin-top: 0.3125rem !important;
    }

    footer .site-footer-block-newsletter .newsletter {
      max-width: 320px !important;
      margin-left: 0 !important;
      margin-right: auto !important;
    }

    footer .site-footer-block-content .social-icons,
    footer .site-footer-block-social-accounts .social-icons {
      gap: 5px !important;
    }

    footer .site-footer-block-content .social-icons a,
    footer .site-footer-block-social-accounts .social-icons a {
      width: 28px !important;
      height: 28px !important;
      min-width: 28px !important;
      min-height: 28px !important;
    }

    footer .site-footer-block-content .social-icons a svg,
    footer .site-footer-block-social-accounts .social-icons a svg {
      width: 24px !important;
      height: 24px !important;
    }

    footer #footer_newsletter_email {
      min-width: 120px !important;
    }
  }

  /* Testimonials: match rounded card system without changing size */
  .testimonial {
    border-radius: 16px;
    overflow: hidden;
    min-height: 22.5rem;
  }

  .testimonial__content {
    border-radius: inherit;
    background-clip: padding-box;
    min-height: inherit;
    justify-content: flex-start;
    gap: 0.875rem;
    padding: 1.75rem 1.5rem;
  }

  @media screen and (min-width: 1080px) {
    .testimonial {
      min-height: 24rem;
    }

    .testimonial__content {
      padding: 1.75rem 1.5rem;
    }
  }

  .testimonial__text[data-testimonial-text] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }

  .testimonial__star-ratings {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.1875rem;
    margin-bottom: 0;
  }

  .testimonial__text {
    margin-top: 0;
    margin-bottom: 0;
  }

  .testimonial__author {
    margin-top: 0.875rem;
  }

  .testimonial__content.testimonial__content--expandable .testimonial__text[data-testimonial-text] {
    cursor: pointer;
  }

  .testimonial__content.testimonial__content--expanded .testimonial__text[data-testimonial-text] {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }

  .testimonial__toggle[hidden] {
    display: none !important;
  }

  .testimonial__toggle {
    margin-top: 0;
    margin-bottom: 0.625rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(29, 29, 29, 0.72);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    cursor: pointer;
  }

  .testimonial__toggle:hover {
    color: rgba(29, 29, 29, 0.95);
  }

  /* Footer headings — darker/heavier for easier scanning */
  .site-footer-block-title {
    color: rgba(29, 29, 29, 0.95) !important;
    font-weight: 600 !important;
  }

  /* Spacing between heading and content */
  .site-footer-block-content {
    margin-top: 1.35rem !important;
  }

  /* Made in the USA — tighten: limit width, smaller text, line-height 1.6 */
  .site-footer-block-rich-text .site-footer-block-content.rte {
    max-width: 320px !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
  }

  /* Trust badge under "Made in the USA" */
  .site-footer-trust-badge {
    font-size: 0.8125rem;
    margin-top: 0.75rem;
    color: rgba(29, 29, 29, 0.75);
  }

  /* Social icons — no circles, clean standalone icons, match heading weight */
  .site-footer-column,
  .footer-column {
    min-width: 0 !important;
  }

  .site-footer-blocks,
  .site-footer-blocks--fixed,
  .footer__blocks,
  .footer-grid {
    align-items: flex-start !important;
  }

  footer .social-link::before {
    content: none !important;
    display: none !important;
  }

  footer .site-footer-block-content .social-icons,
  footer .site-footer-block-social-accounts .social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
    max-width: none !important;
  }

  footer .site-footer-block-content .social-icons a,
  footer .site-footer-block-social-accounts .social-icons a {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    flex-shrink: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    border: none !important;
    color: rgba(29, 29, 29, 0.75) !important;
    transition: color 0.2s ease !important;
  }

  footer .site-footer-block-content .social-icons a:hover,
  footer .site-footer-block-social-accounts .social-icons a:hover {
    color: #1d1d1d !important;
  }

  footer .site-footer-block-content .social-icons a svg,
  footer .site-footer-block-social-accounts .social-icons a svg {
    width: 30px !important;
    height: 30px !important;
    display: block !important;
  }

  @media screen and (max-width: 767px) {
    footer .site-footer-block-content .social-icons,
    footer .site-footer-block-social-accounts .social-icons {
      flex-wrap: nowrap !important;
      gap: 5px !important;
      max-width: none !important;
    }
  }

  #shop-hcaptcha-badge-container {
    position: fixed !important;
    bottom: 90px !important;
    right: 8px !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
    z-index: 10 !important;
  }

  .h-captcha-badge,
  .grecaptcha-badge {
    position: fixed !important;
    bottom: 90px !important;
    right: 18px !important;
    z-index: 10 !important;
  }

@media (max-width: 1024px) and (orientation: landscape) {
  .recart-button,
  .recart-widget,
  #recart-widget-container {
    bottom: 80px !important;
  }
}

  #shop-hcaptcha-badge-container > *,
  #shop-hcaptcha-badge-container div,
  #shop-hcaptcha-badge-container .info,
  #shop-hcaptcha-badge-container iframe {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 9999px !important;
    padding: 0 !important;
    transform: translateX(-4px) !important;
    transform-origin: center center !important;
  }

  .dynamic-video-wrapper, .navmenu-meganav-wrapper, .site-navigation, .product-section--container, .product-row--container, .productgrid--outer, .pagination--container, .page-content, .page-masthead, .message-banner--outer, .breadcrumbs-container, .atc-banner--outer, .contact-page-content, .account-page-content, .account-page-masthead, .pxs-image-with-text-section, .pxs-newsletter-section, .pxs-map-section, .testimonials-section, .twitter--container, .slideshow--width-content, .shoppable-image, .rich-text--container, .promo-mosaic--container, .promo-grid--container, .page__container, .menulist-container, .logolist--container, .image-with-text, .custom-html--container, .custom-liquid--container, .highlights-banner__content, .highlights-banner__container.content-width, .featured-product__container, .featured-collection__container, .countdown-timer, .collection-list__container, .blogposts--container, .subcollections-banner__container, .subcollections__container, .subcollections-featured-collection__header, .utility-bar__content, .blog--container, .product-compare-container, .product__container, .password-page-footer, .password-page-content--inner, .cart--section, .article--container, .article-image--content-width, .announcement-bar-text-mobile, .announcement-bar-text, .fourohfour--container, .site-footer-item, .site-header-main {
    width: 100%;
    max-width: var(--layout-container-max-width);
    box-sizing: border-box;
  }

  .prop-guide-intro {
    margin-bottom: 32px !important;
  }

  .prop-guide-intro .rich-text-block {
    margin-bottom: 0 !important;
  }

  .prop-guide-intro p {
    max-width: 700px;
    margin: 16px auto 0;
    line-height: 1.6;
  }

  .prop-guide-section {
    margin: 96px 0 !important;
    width: 100%;
    max-width: 1400px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .shopify-section:has(.prop-guide-intro) + .shopify-section:has(.prop-guide-section) .prop-guide-section {
    margin-top: 32px !important;
  }

  @media screen and (min-width: 720px) {
    .prop-guide-section .image-with-text__container {
      display: grid;
      width: 100%;
      min-width: 0;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
      align-items: center;
      gap: 64px;
    }

    .prop-guide-section .image-with-text__image-wrapper,
    .prop-guide-section .image-with-text__content {
      width: 100%;
      min-width: 0;
    }

    .prop-guide-section .image-with-text__content {
      padding: 0;
    }

    .prop-guide-section.image-with-text--desktop-image-alignment-left .image-with-text__content,
    .prop-guide-section.image-with-text--desktop-image-alignment-right .image-with-text__content {
      padding-left: 0;
      padding-right: 0;
    }
  }

  .shopify-section:has(.prop-guide-section) + .shopify-section:has(.prop-guide-section) .prop-guide-section {
    border-top: 1px solid #eee;
    padding-top: 72px;
  }

  .prop-guide-section .image-with-text__heading {
    font-size: 30px;
    margin-bottom: 14px;
  }

  .prop-guide-section .image-with-text__text {
    line-height: 1.6;
  }

  .prop-guide-section .image-with-text__text p {
    max-width: 560px;
    line-height: 1.6;
  }

  .prop-guide-section .image-with-text__content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .prop-guide-section .image-with-text__button {
    align-self: flex-start;
    margin-top: 12px;
  }

  @media (max-width: 768px) {
    .prop-guide-section .image-with-text__content-wrapper {
      width: 100%;
    }
    .prop-guide-section .image-with-text__content-wrapper .image-with-text__button {
      align-self: flex-end;
      margin-top: 14px;
    }
  }

  .prop-guide-section .image-with-text__image-wrapper {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
  }

  .prop-guide-section .image-with-text__image,
  .prop-guide-section [data-rimg-canvas] {
    width: 100%;
    height: auto;
    border-radius: 14px;
  }

  /* Contact-us page: white text + overlay covers full image */
  body.page-contact-us .promo-mosaic--container .promo-block--header,
  body.page-contact-us .promo-mosaic--container .promo-block--text {
    color: #ffffff !important;
  }
  body.page-contact-us .promo-mosaic--container .promo-block--content,
  body.page-contact-us .promo-mosaic--container .promo-block--content a {
    color: #ffffff !important;
  }
  body.page-contact-us .promo-mosaic--container .promo-block--image {
    position: relative;
  }
  body.page-contact-us .promo-mosaic--container .promo-block--content {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Contact-us page: drop the site-wide cream background + hairline borders
     and force a clean 3x2 grid for the contact_options highlights-banner
     (the native theme has no count-6 width rule, so we provide the layout). */
  body.page-contact-us .highlights-banner,
  body.page-contact-us .highlights-banner__container,
  body.page-contact-us .shopify-section.highlights-banner {
    background: transparent !important;
    background-color: transparent !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
  }
  body.page-contact-us .highlights-banner__content {
    background-color: transparent !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    overflow: visible !important;
    justify-content: stretch !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.page-contact-us .highlights-banner__content::before,
  body.page-contact-us .highlights-banner__content::after {
    display: none !important;
  }
  body.page-contact-us .highlights-banner__block {
    width: auto !important;
    max-width: none !important;
    flex: unset !important;
    flex-shrink: unset !important;
  }
  @media (max-width: 859px) {
    body.page-contact-us .highlights-banner__content {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 24px !important;
    }
  }
  @media (max-width: 559px) {
    body.page-contact-us .highlights-banner__content {
      gap: 16px !important;
      padding-left: 12px !important;
      padding-right: 12px !important;
    }
  }

  /* Premium footer separation: soft elevated break above footer (site-wide) */
  .site-footer-wrapper {
    margin-top: 0 !important;
    border-top: 1px solid rgba(29, 29, 29, 0.06) !important;
    box-shadow: 0 -18px 40px rgba(29, 29, 29, 0.035) !important;
  }

  .site-footer-wrapper,
  .site-footer {
    padding-top: 60px !important;
    padding-bottom: 24px;
  }

  .site-footer-information {
    margin-top: 48px !important;
  }

  /* Footer bottom bar — flex container, SAM (left) | Copyright (center) | Legal (right), aligned on same center line */
  .site-footer-bottom {
    border-top: 1px solid rgba(29, 29, 29, 0.15);
    margin-top: 80px;
    padding-top: 56px;
  }

  .site-footer-bottom-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
  }

  .site-footer-bottom-inner > .site-footer-sam-badge {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }

  .site-footer-bottom-inner > .site-footer-sam-badge a {
    display: flex;
    align-items: center;
  }

  .site-footer-bottom-inner > .site-footer-bottom-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 2px;
    margin: 0;
  }

  .site-footer-bottom-inner > .site-footer-legal-nav {
    display: flex;
    align-items: center;
    margin: 0;
  }

  .site-footer-sam-badge img {
    width: 180px !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    vertical-align: middle;
  }

  .site-footer-bottom-center .site-footer-credits {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .site-footer-bottom-center .site-footer-credits:not(:first-child) {
    margin-top: 0;
  }

  .site-footer-legal-nav {
    font-size: 0.875rem;
    font-weight: 400;
    color: rgba(29, 29, 29, 0.7);
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 1em;
    justify-content: flex-end;
    margin-left: auto;
  }

  .site-footer-legal-nav a {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 400;
  }

  .site-footer-legal-nav a:hover {
    text-decoration: underline;
  }

  .site-footer-legal-sep {
    color: rgba(29, 29, 29, 0.5);
    user-select: none;
    pointer-events: none;
    margin: 0 0.5em;
  }

  @media screen and (max-width: 1023px) {
    .site-footer-information {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

    /* 6. Bottom section — 8px more space above divider, SAM logo 48-56px, 8-10px to copyright */
    .site-footer-bottom {
      margin-top: 28px !important;
      padding-top: 0 !important;
      border-top: none !important;
    }

    .site-footer-bottom-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
      width: 100%;
    }

    .site-footer-bottom-inner > .site-footer-sam-badge {
      order: 1;
      margin: 0 !important;
    }

    .site-footer-bottom-inner > .site-footer-bottom-center {
      order: 2;
      text-align: left;
      align-items: flex-start;
      margin-top: 10px !important;
      margin-bottom: 0 !important;
    }

    .site-footer-bottom-inner > .site-footer-legal-nav {
      order: 3;
      flex-direction: column;
      align-items: flex-start;
      gap: 5px 0;
      margin-top: 12px !important;
      margin-bottom: 0 !important;
    }

    .site-footer-legal-sep {
      display: none;
    }

    .site-footer-sam-badge img {
      max-height: 52px !important;
      width: auto !important;
      height: auto !important;
    }
  }

  /* ===== Productions Mobile Carousel ===== */
  @media (max-width: 767px) {
    /* Horizontal carousel */
    .logolist--inner {
      display: flex !important;
      overflow-x: auto !important;
      scroll-snap-type: x mandatory;
      gap: 16px !important;
      padding: 0 16px 10px 16px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      scroll-padding-left: 16px !important;
      align-items: flex-start !important;
      touch-action: auto !important;
      overscroll-behavior-x: contain;
      overscroll-behavior-y: none;
    }

    /* Uniform card width */
    .logolist--inner > * {
      flex: 0 0 44%;
      scroll-snap-align: start;
      margin: 0 !important;
      align-self: flex-start !important;
      transform: translateY(0) !important;
    }

    /* Reset theme nth-child spacing/size differences */
    .logolist--inner .logolist--item {
      margin: 0 !important;
      width: auto !important;
      flex: 0 0 44% !important;
      display: flex !important;
      align-self: flex-start !important;
      top: 0 !important;
    }

    /* Kill inconsistent wrapper styling */
    .logolist--inner > *,
    .logolist--inner > * > *,
    .logolist--inner picture {
      height: auto !important;
      max-height: none !important;
    }

    .logolist--inner .logolist--link {
      width: 100% !important;
      display: block !important;
    }

    /* Uniform poster shape */
    .logolist--inner img {
      width: 100% !important;
      aspect-ratio: 2 / 3 !important;  /* identical size */
      object-fit: cover !important;    /* consistent crop */
      max-height: none !important;
      border-radius: 16px !important;
      display: block !important;
    }

    /*
      Cart: logo list has no .poster-marquee-target (homepage-only), so the tap/hover scale reset
      for .poster-marquee-target below does not run — neutralize expand/LIA zoom same as other pages.
    */
    body.template-cart section.logolist--container .logolist--image,
    body.template-cart section.logolist--container .logolist--image:hover,
    body.template-cart section.logolist--container .logolist--image:active,
    body.template-cart section.logolist--container .logolist--item:hover .logolist--image,
    body.template-cart section.logolist--container .logolist--item:active .logolist--image,
    body.template-cart section.logolist--container .logolist--link:hover .logolist--image,
    body.template-cart section.logolist--container .logolist--link:active .logolist--image,
    body.template-cart section.logolist--container .logolist--item:hover img.logolist--image,
    body.template-cart section.logolist--container .logolist--item:active img.logolist--image {
      transform: none !important;
      -webkit-transform: none !important;
      box-shadow: none !important;
      transition: none !important;
    }
    body.template-cart section.logolist--container .logolist--inner.pxu-lia-block,
    body.template-cart section.logolist--container .logolist--inner.pxu-lia-block--play,
    body.template-cart section.logolist--container .logolist--item.pxu-lia-element {
      animation: none !important;
      -webkit-animation: none !important;
    }
    body.template-cart section.logolist--container .logolist--item.pxu-lia-element {
      --zoom-fade-scale: 1 !important;
      opacity: 1 !important;
    }

  }

  /* Cart logo strip: vertical drag scrolls the page (matches product-template logolist; global inner uses overscroll-behavior-y: none) */
  @media screen and (max-width: 1023px) {
    body.template-cart section.logolist--container .logolist--inner {
      touch-action: pan-x pan-y !important;
      overscroll-behavior-y: auto !important;
      overflow-y: visible !important;
      scroll-snap-type: none !important;
    }
    body.template-cart section.logolist--container .logolist--link,
    body.template-cart section.logolist--container .logolist--item,
    body.template-cart section.logolist--container .logolist--image,
    body.template-cart section.logolist--container .logolist--inner picture {
      touch-action: pan-x pan-y !important;
    }
  }

  section.logolist--container.poster-marquee-target {
    padding-top: 60px;
    padding-bottom: 80px;
  }

  @media (max-width: 767px) {
    section.logolist--container.poster-marquee-target {
      padding-top: 46px;
      padding-bottom: 52px;
      overflow: visible !important;
    }

    section.logolist--container.poster-marquee-target .logolist--inner {
      padding-top: 14px !important;
      padding-bottom: 20px !important;
      overflow-y: visible !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: none;
      flex-wrap: nowrap !important;
    }
    section.logolist--container.poster-marquee-target .logolist--inner > * {
      flex: 0 0 44% !important;
      scroll-snap-align: none;
    }
    /* Disable hover/active scale on touch – base theme scales images and breaks smooth scroll */
    section.logolist--container.poster-marquee-target .logolist--image:hover,
    section.logolist--container.poster-marquee-target .logolist--image:active,
    section.logolist--container.poster-marquee-target .logolist--item:hover .logolist--image,
    section.logolist--container.poster-marquee-target .logolist--item:active .logolist--image {
      transform: none !important;
    }
    section.logolist--container.poster-marquee-target .logolist--link,
    section.logolist--container.poster-marquee-target .logolist--item {
      -webkit-tap-highlight-color: transparent;
      touch-action: auto;
      overflow: visible !important;
    }
  }

  @media (min-width: 1024px) {
    .poster-marquee-target .home-section--title {
      font-size: 32px;
      margin-bottom: 40px;
    }
  }


  /* Product pages: poster/logo marquee should not expand on tap and must allow vertical page scroll */
  @media (max-width: 1023px) {
    body.template-product section.logolist--container .logolist--inner {
      display: flex !important;
      overflow-x: auto !important;
      overflow-y: visible !important;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-x pan-y !important;
      scroll-snap-type: none !important;
      align-items: flex-start !important;
      flex-wrap: nowrap !important;
      gap: 12px !important;
      padding: 8px 12px 18px 12px !important;
    }

    body.template-product section.logolist--container .logolist--inner > *,
    body.template-product section.logolist--container .logolist--inner .logolist--item {
      flex: 0 0 43% !important;
      width: auto !important;
      margin: 0 !important;
      align-self: flex-start !important;
      transform: none !important;
    }

    body.template-product section.logolist--container .logolist--link,
    body.template-product section.logolist--container .logolist--item,
    body.template-product section.logolist--container .logolist--image {
      -webkit-tap-highlight-color: transparent;
      touch-action: pan-x pan-y !important;
      transform: none !important;
      transition: none !important;
    }

    body.template-product section.logolist--container .logolist--image:hover,
    body.template-product section.logolist--container .logolist--image:active,
    body.template-product section.logolist--container .logolist--item:hover .logolist--image,
    body.template-product section.logolist--container .logolist--item:active .logolist--image,
    body.template-product section.logolist--container .logolist--link:hover .logolist--image,
    body.template-product section.logolist--container .logolist--link:active .logolist--image {
      transform: none !important;
      transition: none !important;
    }
  }

  /* Collection, product, and as-seen-on poster lists: manual scroll, no tap expansion */
  

  /* Remove click/focus rectangle from main/mega nav links */
  .site-navigation .navmenu-link,
  .site-navigation .navmenu-depth-1 > li > a,
  .site-navigation a,
  .navmenu-meganav.navmenu-meganav--desktop .navmenu-item-text {
    -webkit-tap-highlight-color: transparent;
    outline: none !important;
    box-shadow: none !important;
    transition: color 160ms ease, opacity 160ms ease;
  }

  .site-navigation .navmenu-link:focus,
  .site-navigation .navmenu-link:active,
  .site-navigation .navmenu-link:focus-visible,
  .site-navigation .navmenu-depth-1 > li > a:focus,
  .site-navigation .navmenu-depth-1 > li > a:active,
  .site-navigation .navmenu-depth-1 > li > a:focus-visible,
  .navmenu-meganav.navmenu-meganav--desktop .navmenu-item-text:focus,
  .navmenu-meganav.navmenu-meganav--desktop .navmenu-item-text:active,
  .navmenu-meganav.navmenu-meganav--desktop .navmenu-item-text:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .site-navigation .navmenu-link:hover,
  .site-navigation .navmenu-depth-1 > li > a:hover,
  .site-navigation a:hover,
  .navmenu-meganav.navmenu-meganav--desktop .navmenu-item-text:hover {
    color: #000 !important;
    opacity: 0.72;
  }

  @media (min-width: 1024px) {
    /* Unified desktop mega menu panel (Shop only — mobile unchanged) */
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop:has(.navmenu-meganav-standard__wrapper) {
      background: #f7f7f5;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop:has(.navmenu-meganav-standard__wrapper)[data-animation-state="open"] {
      box-shadow: 0 10px 40px rgba(17, 17, 17, 0.07);
    }

    .site-navigation .navmenu-submenu.navmenu-meganav[data-animation-state="open"]
    .navmenu-meganav-standard__wrapper.navmenu-meganav-wrapper:not(.meganav-ghost) {
      box-shadow: none;
      border: none !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__wrapper.navmenu-meganav-wrapper {
      display: grid;
      grid-template-columns: repeat(4, minmax(125px, 155px)) 240px;
      gap: 32px;
      align-items: start;
      justify-content: center;
      width: 100%;
      max-width: 1220px;
      margin-left: auto;
      margin-right: auto;
      background: transparent;
      border-radius: 0;
      padding: 36px 24px 44px;
      overflow: visible;
      box-sizing: border-box;
      min-width: 0;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__items {
      display: contents !important;
      max-width: none !important;
      width: auto !important;
      min-width: 0;
      margin: 0 !important;
      padding: 0 !important;
      flex: unset !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__item {
      display: block !important;
      width: auto !important;
      min-width: 0;
      padding: 0 !important;
      margin: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      border: none !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-id-denomination,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-id-denominations {
      display: none !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3.navmenu-submenu {
      background: transparent !important;
      box-shadow: none !important;
      border: none !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__item > .navmenu-item-text.navmenu-link-parent {
      display: block;
      font-family: inherit;
      font-size: var(--font-size-menu);
      font-weight: 600;
      font-style: inherit;
      letter-spacing: inherit;
      text-transform: none;
      line-height: 1.3;
      color: #2f2f34 !important;
      padding: 0 0 10px;
      margin: 0;
      opacity: 1 !important;
      white-space: normal;
      word-wrap: break-word;
      overflow-wrap: anywhere;
      background: transparent !important;
      transition: color 180ms ease;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__item > .navmenu-item-text.navmenu-link-parent:hover,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__item > .navmenu-item-text.navmenu-link-parent:focus {
      color: #000000 !important;
      opacity: 1 !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 {
      margin-top: 0;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 .navmenu-submenu {
      padding: 0 !important;
      margin: 0 !important;
      background: transparent !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 .navmenu-link {
      font-size: 13px;
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: -0.01em;
      color: #757575 !important;
      padding: 5px 0;
      white-space: normal;
      word-wrap: break-word;
      overflow-wrap: anywhere;
      background: transparent !important;
      transition: color 180ms ease;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 .navmenu-link:hover,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 .navmenu-link:focus {
      color: #111111 !important;
      opacity: 1 !important;
      background: transparent !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__items + .navmenu-meganav-standard__image-last,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__image-first + .navmenu-meganav-standard__items {
      margin-left: 0 !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-promo-stack {
      grid-column: 5;
      grid-row: 1;
      display: flex;
      flex-direction: column;
      gap: 14px;
      width: 100%;
      max-width: 240px;
      min-width: 0;
      align-self: start;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-promo-stack .meganav-featured-card {
      grid-column: auto;
      grid-row: auto;
      width: 100%;
      max-width: none;
      margin: 0 !important;
      align-self: auto;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card {
      width: 100%;
      max-width: 240px;
      min-width: 0;
      margin: 0 !important;
      background: transparent !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__link {
      display: block;
      height: 100%;
      text-decoration: none;
      color: inherit;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__link:hover {
      opacity: 1 !important;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__panel,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-simulator-card__panel {
      display: flex;
      flex-direction: column;
      height: auto;
      min-height: 0;
      background: #fafafa;
      border: 1px solid rgba(0, 0, 0, 0.05);
      border-radius: 16px;
      padding: 16px;
      box-sizing: border-box;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
      transition: border-color 180ms ease, box-shadow 180ms ease;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__link:hover .meganav-featured-card__panel,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-simulator-card:hover .meganav-simulator-card__panel {
      background: #fafafa;
      border-color: rgba(0, 0, 0, 0.08);
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__image {
      border-radius: 10px;
      overflow: hidden;
      margin-bottom: 12px;
      background: #f0f0f0;
      aspect-ratio: 4 / 3;
      flex-shrink: 0;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__image .navmenu-meganav-standard__image,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__image img {
      width: 100% !important;
      max-width: 100% !important;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__label {
      display: block;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #868686;
      margin: 0 0 8px;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__title {
      font-size: 14px;
      font-weight: 600;
      line-height: 1.35;
      letter-spacing: -0.015em;
      color: #1d1d1d;
      margin: 0 0 12px;
      max-width: none;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__cta {
      display: block;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: -0.01em;
      color: #1d1d1d;
      margin-top: auto;
      padding-top: 2px;
      transition: opacity 180ms ease;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card__link:hover .meganav-featured-card__cta,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-simulator-card:hover .meganav-featured-card__cta {
      opacity: 0.65;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-simulator-card {
      display: block;
      text-decoration: none;
      color: inherit;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-simulator-card__copy {
      font-size: 13px;
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: -0.01em;
      color: #757575;
      margin: 0 0 10px;
    }
  }

  @media (min-width: 1024px) and (max-width: 1199px) {
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__wrapper.navmenu-meganav-wrapper {
      grid-template-columns: repeat(4, minmax(110px, 140px)) 220px;
      gap: 28px;
      max-width: 1180px;
      padding: 32px 20px 40px;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-promo-stack,
    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .meganav-featured-card {
      max-width: 220px;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-meganav-standard__item > .navmenu-item-text.navmenu-link-parent {
      padding-bottom: 10px;
    }

    .site-navigation .navmenu-meganav.navmenu-meganav--desktop .navmenu-depth-3 .navmenu-link {
      font-size: 12px;
      padding: 4px 0;
    }
  }

  /* PDP details column only: typography + rhythm */
  .product-details .product-title,
  .product-main .product-details h1.product-title {
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    font-size: 20px !important;
    margin-bottom: 6px !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-pricing,
  .product-container--two-columns article.product--outer .product-main .product-details .product-pricing {
    margin: 0.5rem 0 0.75rem !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__current,
  .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__current {
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at,
  .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at {
    font-size: 16px !important;
    font-weight: 500 !important;
    opacity: 0.62;
    margin-right: 0.35rem !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-block--inventory_status,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--inventory_status {
    margin: 0.3rem 0 !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-block--rating,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--rating {
    margin: 0.25rem 0 0.35rem !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-block--rating + .product-block--price,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--rating + .product-block--price {
    margin-top: 0.15rem !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-block--form,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--form {
    margin-bottom: 20px !important;
  }

  .product__container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--description,
  .product__container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--text,
  .product__container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--tabs,
  .product__container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--collapsible-tab,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--description,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--text,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--tabs,
  .product-container--two-columns article.product--outer .product-main .product-details .product-block--form + .product-block--collapsible-tab {
    margin-top: 20px !important;
  }

  @media (min-width: 768px) and (max-width: 1199px) {
    .product-details .product-title,
    .product-main .product-details h1.product-title {
      font-size: 24px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
      margin-bottom: 6px !important;
    }

    .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__current,
    .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__current {
      font-size: 25px !important;
    }

    .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at,
    .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at {
      font-size: 17px !important;
    }
  }

  @media (min-width: 1200px) {
    .product-details .product-title,
    .product-main .product-details h1.product-title {
      font-size: 25px !important;
      line-height: 1.2 !important;
      letter-spacing: -0.01em !important;
      margin-bottom: 6px !important;
    }

    .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__current,
    .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__current {
      font-size: 29px !important;
    }

    .product__container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at,
    .product-container--two-columns article.product--outer .product-main .product-details .product__price .price__compare-at {
      font-size: 18px !important;
    }
  }

  @media (max-width: 767px) {
    .product-details .product-title,
    .product-main .product-details h1.product-title {
      font-size: 20px !important;
      font-weight: 600 !important;
      line-height: 1.25 !important;
      margin-bottom: 6px !important;
    }
  }

  /* Judge.me visibility reset (product pages only) */
  .template-product .jdgm-rev-widg {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .template-product .jdgm-rev,
  .template-product .jdgm-row-actions,
  .template-product .jdgm-rev-widg__reviews,
  .template-product .jdgm-rev-widg__body {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }

  .template-product .jdgm-divider-top,
  .template-product .jdgm-divider-bottom {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
  }

  /* Judge.me premium polish (safe: spacing + typography only) */
  .template-product .jdgm-rev-widg {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 56px 24px !important;
  }

  .template-product .jdgm-rev-widg__header {
    margin-bottom: 28px !important;
  }

  .template-product .jdgm-rev-widg .jdgm-rev-widg__title,
  .template-product .jdgm-rev-widg .jdgm-rev-widg__title * {
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 8px !important;
  }

  .template-product .jdgm-rev-widg__summary {
    font-size: 15px !important;
    color: #3a3a3c !important;
    opacity: 0.78 !important;
    margin-bottom: 0 !important;
  }

  .template-product .jdgm-rev {
    padding: 28px 0 !important;
    border-top-color: rgba(0,0,0,0.06) !important;
    border-bottom-color: rgba(0,0,0,0.06) !important;
  }

  .template-product .jdgm-rev__author {
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .template-product .jdgm-rev__title {
    margin: 8px 0 6px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
  }

  .template-product .jdgm-rev__body {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #3a3a3c !important;
  }

  .template-product .jdgm-rev__verified-badge {
    font-size: 12px !important;
    font-weight: 500 !important;
    border-radius: 999px !important;
    padding: 2px 10px !important;
    background: #f2f2f7 !important;
  }

  .template-product .jdgm-paginate {
    display: flex !important;
    justify-content: center !important;
  }

  .template-product .jdgm-paginate__load-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 220px !important;
    width: auto !important;
    height: 48px !important;
    border-radius: 999px !important;
    padding: 0 32px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    font-weight: 600 !important;
    margin-top: 20px !important;
    white-space: nowrap !important;
  }

  @media (min-width: 768px) and (max-width: 1199px) {
    .template-product .jdgm-rev-widg .jdgm-rev-widg__title,
    .template-product .jdgm-rev-widg .jdgm-rev-widg__title * {
      font-size: 24px !important;
    }
  }

  @media (max-width: 767px) {
    .template-product .jdgm-rev-widg {
      padding: 40px 16px !important;
    }

    .template-product .jdgm-rev-widg .jdgm-rev-widg__title,
    .template-product .jdgm-rev-widg .jdgm-rev-widg__title * {
      font-size: 21px !important;
      line-height: 1.25 !important;
    }

    .template-product .jdgm-rev {
      padding: 22px 0 !important;
    }

    /* Add breathing room before first divider line under summary */
    .template-product .jdgm-rev-widg__summary {
      margin-bottom: 14px !important;
    }

    .template-product .jdgm-divider-top {
      margin-top: 10px !important;
    }
  }

  /* Review image fullscreen: remove weird clipping shape so content shows fully */
  [class*="jdgm"][class*="modal"],
  [class*="jdgm"][class*="lightbox"],
  [class*="jdgm"][class*="popup"],
  [class*="jdgm-rev"] [class*="modal"],
  [class*="jdgm-rev"] [class*="lightbox"],
  [class*="stamped"][class*="modal"],
  [class*="stamped"] [class*="modal"],
  [class*="ugc"][class*="modal"] {
    border-radius: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
  }
  [class*="jdgm"] [class*="modal"] > *,
  [class*="jdgm"] [class*="lightbox"] > *,
  [class*="stamped"] [class*="modal"] > * {
    border-radius: 0 !important;
    overflow: visible !important;
  }

  /* Review modal: padding around content, gap between image and review panel */
  [class*="jdgm"][class*="modal"] > div,
  [class*="jdgm"][class*="modal"] > section,
  [class*="jdgm"][class*="lightbox"] > div,
  [class*="stamped"][class*="modal"] > div,
  [class*="stamped"][class*="modal"] > section,
  [class*="ugc"][class*="modal"] > div {
    padding: 24px !important;
    gap: 28px !important;
    box-sizing: border-box !important;
  }
  [class*="jdgm"] [class*="modal"] [class*="content"],
  [class*="jdgm"] [class*="modal"] [class*="body"],
  [class*="jdgm"] [class*="modal"] [class*="sidebar"],
  [class*="jdgm"] [class*="lightbox"] [class*="content"],
  [class*="jdgm"] [class*="lightbox"] [class*="body"],
  [class*="stamped"] [class*="modal"] [class*="content"],
  [class*="stamped"] [class*="modal"] [class*="body"],
  [class*="stamped"] [class*="modal"] [class*="sidebar"],
  [class*="ugc"] [class*="modal"] [class*="content"] {
    padding: 24px 28px !important;
    padding-left: 28px !important;
    box-sizing: border-box !important;
  }
  /* White review panel - padding left/right to match (Stamped/Judge.me) */
  [class*="jdgm"][class*="modal"] > div > *:last-child,
  [class*="jdgm"][class*="modal"] > * > *:last-child,
  [class*="jdgm"][class*="lightbox"] > div > *:last-child,
  [class*="jdgm"][class*="lightbox"] > * > *:last-child,
  [class*="stamped"][class*="modal"] > div > *:last-child,
  [class*="stamped"][class*="modal"] > * > *:last-child,
  [class*="stamped"] [class*="ugc"] > div > *:last-child,
  [class*="ugc"][class*="modal"] > div > *:last-child,
  [class*="ugcmodal"] > div > *:last-child,
  [id*="stamped"] [class*="modal"] > *:last-child,
  [id*="stamped"] [class*="ugc"] > *:last-child,
  [class*="stamped"] > div > div:last-child,
  [class*="stamped"] > div > section:last-child {
    padding: 24px 28px !important;
    box-sizing: border-box !important;
  }
  /* Add margin between image area and review panel */
  [class*="jdgm"][class*="modal"] > div > *:first-child,
  [class*="jdgm"][class*="lightbox"] > div > *:first-child,
  [class*="stamped"][class*="modal"] > div > *:first-child,
  [class*="ugc"][class*="modal"] > div > *:first-child {
    margin-right: 28px !important;
  }
  /* Space to the left of review section (between image and review) */
  [class*="jdgm"][class*="modal"] > div > *:last-child,
  [class*="jdgm"][class*="lightbox"] > div > *:last-child,
  [class*="stamped"][class*="modal"] > div > *:last-child,
  [class*="ugc"][class*="modal"] > div > *:last-child {
    margin-left: 28px !important;
  }

  /* Judge.me review lightbox: target exact classes - override padding: 28px 0px */
  .jdgm-rev.jdgm-divider-top {
    padding: 28px 28px !important;
  }
  .jdgm-rev_content {
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }

  /* Desktop product pages: more space below description before features bar */
  @media (min-width: 769px) {
    .template-product .product-main {
      padding-bottom: 28px !important;
    }

    .template-product .product-block--description,
    .template-product .product-description {
      margin-bottom: 28px !important;
    }
  }

  /* Product zoom modal should always overlay header + announcement */
  .pswp {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999 !important;
  }

  .pswp__scroll-wrap,
  .pswp__bg {
    position: absolute !important;
    inset: 0 !important;
  }

  .site-header,
  .site-header-wrapper,
  .announcement-static,
  .announcement-bar {
    z-index: 1100 !important;
  }

  /* ===== Shipping Updates - Final Premium Version ===== */
  .shipping-updates {
    padding: 120px 20px 140px;
    background: #ffffff;
  }

  .shipping-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .shipping-updates h1 {
    font-size: 44px;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 48px;
  }

  .shipping-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #f5f5f7;
    padding: 14px 26px;
    border-radius: 999px;
    font-weight: 500;
    margin-bottom: 40px;
  }

  .shipping-icon {
    font-size: 12px;
    color: #ff9f0a;
  }

  .shipping-body {
    font-size: 18px;
    line-height: 1.7;
    color: #555;
    max-width: 640px;
    margin: 0 auto 60px;
  }

  .shipping-actions {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 36px;
  }

  .shipping-actions a.primary {
    background: #111;
    color: #fff;
    padding: 16px 32px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
  }

  .shipping-actions a.primary:hover {
    opacity: 0.85;
    transform: translateY(-1px);
  }

  .shipping-secondary {
    display: flex;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }

  .shipping-secondary a {
    font-size: 14px;
    color: #666;
    text-decoration: none;
    border: none !important;
    padding: 0;
    position: relative;
  }

  .shipping-secondary a::after {
    content: "";
    display: block;
    height: 1px;
    background: #ddd;
    width: 0%;
    margin-top: 4px;
    transition: width 0.2s ease;
  }

  .shipping-secondary a:hover {
    color: #111;
  }

  .shipping-secondary a:hover::after {
    width: 100%;
  }

  .shipping-secondary a,
  .shipping-secondary a:before,
  .shipping-secondary a:after {
    border-top: none !important;
    border-bottom: none !important;
  }

  .shipping-date {
    font-size: 13px;
    color: #999;
  }

  /* ===== Responsive Refinement ===== */
  @media (max-width: 1024px) {
    .shipping-updates {
      padding: 100px 20px 120px;
    }

    .shipping-updates h1 {
      font-size: 38px;
    }

    .shipping-body {
      font-size: 17px;
    }
  }

  @media (max-width: 640px) {
    .shipping-updates {
      padding: 80px 18px 100px;
    }

    .shipping-updates h1 {
      font-size: 32px;
      margin-bottom: 36px;
    }

    .shipping-pill {
      font-size: 14px;
      padding: 12px 20px;
    }

    .shipping-body {
      font-size: 16px;
      margin-bottom: 48px;
    }

    .shipping-actions {
      flex-direction: column;
      gap: 14px;
    }

    .shipping-actions a.primary {
      width: 100%;
    }

    .shipping-secondary {
      flex-direction: column;
      gap: 18px;
    }

    .shipping-secondary a::after {
      display: none;
    }
  }


  @media (max-width: 1023px) {
    body.template-collection .featured-collection__content.flickity-enabled,
    body.template-collection .featured-collection__content .flickity-viewport {
      touch-action: pan-x pan-y !important;
    }

    body.template-collection .featured-collection__content[data-layout="slideshow"]:not(.flickity-enabled) {
      display: flex !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      -webkit-overflow-scrolling: touch !important;
      scroll-snap-type: x proximity !important;
      touch-action: pan-x pan-y !important;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    body.template-collection .featured-collection__content[data-layout="slideshow"]:not(.flickity-enabled)::-webkit-scrollbar {
      display: none;
    }

    body.template-collection .featured-collection__content[data-layout="slideshow"]:not(.flickity-enabled) .productgrid--item {
      scroll-snap-align: start;
      flex: 0 0 auto !important;
    }
  }

  .productgrid--masthead {
    margin-top: 40px;
    margin-bottom: 25px;
  }

  .collection--title,
  .collection-title {
    margin-bottom: 12px;
  }

  .collection-intro {
    margin-top: 18px;
    margin-bottom: 14px;
    line-height: 1.6;
  }

  /* Collection masthead: full width of the theme container
     Theme grid uses layout--no-sidebar when there is no filter *block*, but Globo still uses .gf-left and ~80% #gf-grid — masthead ends up narrow unless we break it out. */
  body.template-collection .collection--section .productgrid--outer .productgrid--masthead {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }

  @supports (grid-column: 1 / -1) {
    body.template-collection .collection--section .productgrid--outer .productgrid--masthead {
      grid-column: 1 / -1;
    }
  }

  /* realaged-2 / faceted collections: no theme sidebar block → layout--no-sidebar, but theme still uses 185px | 1fr columns — intro looks “short”. Single column restores full-width masthead row. */
  @media screen and (min-width: 860px) {
    body.template-collection .collection--section .productgrid--outer.layout--no-sidebar {
      grid-template-columns: minmax(0, 1fr) !important;
      grid-template-areas:
        "masthead"
        "product-items-wrapper" !important;
    }
  }

  /* Globo: visible filter tree + #gf-grid is the product column — expand masthead to full combined row width (100% / 0.8) */
  body.template-collection .collection--section #gf-tree:not(.spf-hidden) + #gf-grid .productgrid--masthead {
    width: 125% !important;
    max-width: none !important;
    margin-left: -25% !important;
    box-sizing: border-box !important;
  }

  body.template-collection .collection--section .productgrid--masthead .collection--title,
  body.template-collection .collection--section .productgrid--masthead .collection-intro,
  body.template-collection .collection--section .productgrid--masthead .collection-intro p,
  body.template-collection .collection--section .productgrid--masthead .shorcontent,
  body.template-collection .collection--section .productgrid--masthead .shorcontent p,
  body.template-collection .collection--section .productgrid--masthead .metafield-rich_text_field,
  body.template-collection .collection--section .productgrid--masthead .metafield-rich_text_field p {
    max-width: none !important;
  }

  @media (max-width: 768px) {

    .productgrid--masthead {
      padding-top: 0 !important;
      margin-top: 0 !important;
    }

    .productgrid--masthead h1 {
      margin-bottom: 18px !important;
    }

    .collection-intro {
      margin-bottom: 24px !important;
    }

  }

  @media (max-width: 768px) {

    .rich-text--container {
      padding-top: 24px !important;
    }

    .rich-text--container h1,
    .rich-text--container h2 {
      margin-top: 0 !important;
    }

  }

  @media (max-width: 768px) {

    iframe {
      margin-top: 20px !important;
    }

  }

  @media (max-width: 900px) and (max-height: 500px) {

    iframe {
      margin-top: 30px !important;
    }

    .rich-text--container {
      padding-top: 20px !important;
    }

  }

  /* Product page only + mobile landscape only: preserve poster proportions */
  @media (max-width: 900px) and (orientation: landscape) {

    body.template-product section.logolist--container.collection-poster-list-target .logolist--inner,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--inner {
      gap: 8px !important;
    }

    body.template-product section.logolist--container.collection-poster-list-target .logolist--item,
    body.template-product section.logolist--container.collection-poster-list-target .logolist--inner > *,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--item,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--inner > * {
      flex: 0 0 auto !important;
      width: 160px !important;
      height: auto !important;
      margin-right: 8px !important;
    }

    body.template-product section.logolist--container.collection-poster-list-target .logolist--link,
    body.template-product section.logolist--container.collection-poster-list-target .logolist--inner picture,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--link,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--inner picture {
      display: block !important;
      width: 160px !important;
      height: auto !important;
      max-width: 160px !important;
      margin-right: 0 !important;
    }

    body.template-product section.logolist--container.collection-poster-list-target .logolist--image,
    body.template-product section.logolist--container.collection-poster-list-target .logolist--image:hover,
    body.template-product section.logolist--container.collection-poster-list-target .logolist--image:active,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--image,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--image:hover,
    body[class*="product"] section.logolist--container.collection-poster-list-target .logolist--image:active {
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: none !important;
      aspect-ratio: auto !important;
      object-fit: contain !important;
      object-position: center top !important;
    }

  }

  @media (max-width: 767px) {
    html.pm-mobile-nav-open button[class*="custom-minimized"],
    html.pm-mobile-nav-open div[class*="custom-minimized"],
    html.pm-mobile-nav-open .recart-custom-minimized,
    html.pm-mobile-nav-open [id*="recart"],
    html.pm-mobile-nav-open [class*="recart"],
    html.pm-mobile-nav-open iframe[src*="recart"],
    body.menu-open button[class*="custom-minimized"],
    body.menu-open div[class*="custom-minimized"],
    body.menu-open .recart-custom-minimized,
    body.menu-open [id*="recart"],
    body.menu-open [class*="recart"],
    body.menu-open iframe[src*="recart"],
    html.menu-open button[class*="custom-minimized"],
    html.menu-open div[class*="custom-minimized"],
    html.menu-open .recart-custom-minimized,
    html.menu-open [id*="recart"],
    html.menu-open [class*="recart"],
    html.menu-open iframe[src*="recart"] {
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }
  }

  @media (max-width: 767px) and (orientation: portrait) {
    body.template-index section.marquee-container {
      margin-top: 26px !important;
      padding-top: 12px !important;
      padding-bottom: 6px !important;
    }

    body.template-index section.marquee-container .marquee-title {
      margin: 0 0 16px !important;
    }
  }

/* Main header nav: make all items slightly lighter gray */
.site-navigation .navmenu-depth-1 > li > a.navmenu-link,
.site-navigation .navmenu-depth-1 > li > summary.navmenu-link {
  color: #2f2f34 !important;
  opacity: 1 !important;
}

/* Main header nav: hover to full black for clear interactivity */
.site-navigation .navmenu-depth-1 > li > a.navmenu-link:hover,
.site-navigation .navmenu-depth-1 > li > a.navmenu-link:focus,
.site-navigation .navmenu-depth-1 > li > summary.navmenu-link:hover,
.site-navigation .navmenu-depth-1 > li > summary.navmenu-link:focus {
  color: #000000 !important;
  opacity: 1 !important;
}

/* Main header nav: Bulk Orders is the visual primary action */
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link.navmenu-link-active,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link:hover,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link:focus,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link.navmenu-link-active,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link:hover,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link:focus,
.mobile-nav-content .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link,
.mobile-nav-content .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link.navmenu-link-active,
.mobile-nav-primary-content .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link,
.mobile-nav-primary-content .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link.navmenu-link-active {
  font-weight: 800 !important;
  color: #000000 !important;
  opacity: 1 !important;
  letter-spacing: 0.01em !important;
}

/* Match Print A Bill underline style for Bulk Orders in main menu */
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link {
  position: relative;
  text-decoration: none !important;
  transition: color 0.4s ease;
}

.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link::after,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 74%;
  height: 1px;
  background-color: currentColor;
  opacity: 0;
  transform: translateX(-50%);
  transition: opacity 0.6s ease-out;
}

.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link:hover::after,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > a.navmenu-link:focus::after,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link:hover::after,
.site-navigation .navmenu-depth-1 > li.navmenu-id-bulk-orders > summary.navmenu-link:focus::after {
  opacity: 1;
}

/* Keep Bulk Orders bold in footer menu only */
.site-footer-wrapper li.navmenu-id-bulk-orders > .navmenu-link,
.site-footer-wrapper li.navmenu-id-bulk-orders > .navmenu-link:hover,
.site-footer-wrapper li.navmenu-id-bulk-orders > .navmenu-link:focus,
.site-footer-wrapper li.navmenu-id-bulk-orders > .navmenu-link:active {
  font-weight: 700 !important;
}

/* =============================================================================
   Footer rhythm (canonical) — stacked footer ≤1023px, 8px grid via tokens
   Phone portrait + landscape both use this block: landscape viewport width is
   usually >768px, so a second “phone lock” at max-width 768 caused portrait-only
   spacing/typography. Removed that layer so orientations match.
   Symmetric padding on block cells; accordion title row = equal top/bottom;
   RTE / newsletter / social margin resets; safe-area + room for Recart/chat
   ============================================================================= */
footer .site-footer-wrapper {
  --footer-rhythm: 10px;
  --footer-rhythm-sm: 6px;
  --footer-title-body-gap: 8px;
  /* Slightly tighter than rhythm: pulls border-bottom dividers up vs content */
  --footer-block-pad-y: calc(var(--footer-rhythm) - 3px);
}

@media screen and (max-width: 1023px) {
  footer .site-footer-wrapper,
  footer .site-footer {
    padding-top: var(--footer-block-pad-y) !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  footer .site-footer-block-item {
    margin: 0 !important;
    padding-top: calc(var(--footer-block-pad-y) + 1px) !important;
    padding-bottom: calc(var(--footer-block-pad-y) + 1px) !important;
    border-bottom: 1px solid rgba(29, 29, 29, 0.15) !important;
  }

  /* Single visual group: Made in the USA + Subscribe (no rule between them) */
  footer .site-footer-column--3 .site-footer-block-rich-text.site-footer-block-item {
    border-bottom: none !important;
  }

  footer .site-footer-column .site-footer-block-item:not(:first-child) {
    margin-top: 0 !important;
  }

  footer .site-footer-block-title,
  footer .site-footer-block-title h4,
  footer .site-footer-block-title summary {
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  /* Accordions: one rule set (.has-accordion). Theme only special-cases .site-footer-block-menu — normalize support/support-menu to match. */
  footer .site-footer-block-item.has-accordion > .site-footer-block-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 32px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
  }

  footer .site-footer-column .site-footer-block-item.has-accordion:not(:first-child) > .site-footer-block-title {
    margin-top: 3px !important;
  }

  footer .site-footer-block-item.has-accordion .site-footer-block-icon {
    top: 50% !important;
    margin-top: 0 !important;
    transform: translateY(-50%) !important;
  }

  footer .site-footer-block-item.has-accordion > .site-footer-block-content {
    margin-top: var(--footer-title-body-gap) !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  footer .site-footer-block-item.has-accordion .navmenu-item:last-child,
  footer .site-footer-block-rich-text.has-accordion .site-footer-block-content.rte > *:last-child {
    padding-bottom: var(--footer-rhythm-sm) !important;
  }

  /* Made in the USA + Subscribe: same tight title → copy gap (theme adds title padding) */
  footer .site-footer-block-rich-text > .site-footer-block-title,
  footer .site-footer-block-newsletter > .site-footer-block-title {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  footer .site-footer-block-content {
    margin-top: var(--footer-rhythm) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.5 !important;
  }

  footer .site-footer-block-rich-text .site-footer-block-content.rte,
  footer .site-footer-block-rich-text .site-footer-block-content.rte > * {
    line-height: 1.5 !important;
  }

  footer .site-footer-block-rich-text .site-footer-block-content.rte p {
    margin-top: var(--footer-rhythm-sm) !important;
    margin-bottom: 0 !important;
  }

  footer .site-footer-block-rich-text .site-footer-block-content.rte > *:first-child {
    margin-top: 0 !important;
  }

  footer .site-footer-block-rich-text .site-footer-block-content.rte > *:last-child {
    margin-bottom: 0 !important;
  }

  footer .site-footer-trust-badge {
    margin-top: var(--footer-rhythm) !important;
    margin-bottom: 0 !important;
    line-height: 1.45 !important;
  }

  footer .site-footer-block-rich-text .site-footer-block-content.rte,
  footer .site-footer-block-newsletter .site-footer-block-content.rte {
    margin-top: var(--footer-title-body-gap) !important;
  }

  footer .site-footer-block-newsletter .site-footer-block-content.rte {
    margin-bottom: var(--footer-rhythm-sm) !important;
  }

  footer .site-footer-block-newsletter.site-footer-block-item {
    margin-top: var(--footer-rhythm) !important;
    padding-top: calc(var(--footer-block-pad-y) + var(--footer-rhythm-sm)) !important;
    border-top: 1px solid rgba(29, 29, 29, 0.15) !important;
  }

  footer .site-footer-block-newsletter .newsletter,
  footer .site-footer-block-newsletter .form-field {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  footer .site-footer-column .site-footer-block-item.site-footer-block-social-accounts {
    margin-top: 0 !important;
  }

  footer .site-footer-block-social-accounts .site-footer-block-content {
    margin-top: var(--footer-rhythm-sm) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  footer .site-footer-block-social-accounts .social-icons {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  footer .site-footer-bottom {
    margin-top: var(--footer-rhythm) !important;
  }

  footer .site-footer-bottom-inner > .site-footer-bottom-center,
  footer .site-footer-bottom-inner > .site-footer-legal-nav {
    margin-top: var(--footer-rhythm-sm) !important;
  }

  footer .site-footer-bottom-inner > .site-footer-legal-nav {
    gap: 4px 0 !important;
  }

  footer .site-footer-bottom-center .site-footer-credits,
  footer .site-footer-legal-nav {
    line-height: 1.35 !important;
  }

  footer .site-footer-block-item.has-accordion .navmenu-item {
    line-height: 1.5 !important;
  }
}

/* SAM.gov: text variant hidden on desktop; logo visible */
footer .samgov-mobile {
  display: none;
}

/*
 * Mobile footer redesign (sections/footer-mobile-redesign.liquid):
 * Legacy static footer stays in the theme for rollback — remove this rule and
 * disable/remove the “Mobile footer (redesign)” section in the footer group to restore.
 */
@media (max-width: 768px) {
  footer.legacy-site-footer {
    display: none !important;
  }

  /* Mobile footer redesign: warm stone shell (#F2EFEA) */
  .shopify-section-group-footer-group,
  .shopify-section-group-footer,
  #shopify-section-group-footer-group,
  #shopify-section-group-footer,
  .shopify-section-group-footer-group > .shopify-section,
  .site-footer,
  .footer {
    background: #f2efea !important;
  }

  body.page-bulk-orders .shopify-section-group-footer-group,
  body.page-bulk-prop-money .shopify-section-group-footer-group,
  body.page-bulk-orders footer[role="contentinfo"],
  body.page-bulk-prop-money footer[role="contentinfo"],
  body.page-bulk-orders section.site-footer-wrapper,
  body.page-bulk-prop-money section.site-footer-wrapper {
    background: #f2efea !important;
  }

  footer.legacy-site-footer .site-footer-wrapper {
    background: #f2efea !important;
  }

  /* Chat widgets: stay above mobile footer + black launcher (matches footer CTAs) */
  .chat-widget,
  .intercom-lightweight-app,
  #crisp-chatbox,
  iframe[title="chat widget"] {
    z-index: 999999 !important;
  }

  .chat-widget button,
  .intercom-lightweight-app-launcher {
    background: #111 !important;
  }
}

/* Beat theme.css.liquid “center entire footer on mobile” (max-width: 767px) inside <footer> only */
@media screen and (max-width: 767px) {
  footer .site-footer-blocks.site-footer-blocks--fixed,
  footer .site-footer-blocks--fixed .site-footer-column {
    align-items: stretch !important;
    text-align: left !important;
  }

  footer .site-footer-blocks--fixed .site-footer-block-item {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  footer .site-footer-block-item.has-accordion > .site-footer-block-title {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  footer .site-footer-blocks--fixed .site-footer-block-item .site-footer-block-title {
    text-align: left !important;
  }

  footer .site-footer-blocks--fixed .site-footer-block-item .site-footer-block-content,
  footer .site-footer-blocks--fixed .site-footer-block-item .site-footer-block-content * {
    text-align: left !important;
  }

  footer .site-footer-wrapper,
  footer .site-footer-item,
  footer .site-footer-information {
    text-align: left !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }
}

/* ===== Collection description: target actual Shopify element ===== */
.metafield-rich_text_field {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Match .collection-intro: full masthead width, no extra inset (720px + mobile padding read as “indent” vs default template) */
.productgrid--masthead .metafield-rich_text_field {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  opacity: 0;
  transform: translateY(6px);
  animation: fadeInSoft 0.6s ease forwards;
  animation-delay: 0.1s;
}

.productgrid--masthead .shorcontent {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

/* Masthead collection image: fixed band + crop (object-fit), not squashed. Scoped to .collection--image so subcollection thumbs in masthead are untouched. */
.productgrid--masthead .collection--image {
  overflow: hidden;
  border-radius: 8px;
}

.productgrid--masthead .collection--image img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

/*
 * Collection hero via dynamic-promo-mosaic (e.g. realaged-2: show_collection_image false, banner in mosaic above main).
 * Not inside .productgrid--masthead; class is .promo-mosaic--container. Visible art is background-size:cover on .promo-block, not the <img> (theme hides .promo-block img).
 */
body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1 .promo-block,
body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1 .promo-block--content {
  min-height: 240px !important;
}

@media screen and (min-width: 860px) {
  body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1 .promo-block,
  body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1 .promo-block--content {
    min-height: 240px !important;
  }
}

@media screen and (min-width: 720px) {
  body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1.promo-mosaic--maintain-aspect-ratio .promo-block,
  body.template-collection .promo-mosaic--height-small .promo-mosaic--inner.promo-mosaic--layout-1.promo-mosaic--maintain-aspect-ratio .promo-block--content {
    min-height: 240px !important;
  }
}

body.template-collection .promo-mosaic--inner.promo-mosaic--layout-1 .promo-block--image {
  border-radius: 8px;
  overflow: hidden;
}

/* Keep collection section from inheriting oversized Globo offset. */
body.template-collection .shopify-section.collection--section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Add back a controlled gap only when mosaic hero sits above collection content. */
body.template-collection .shopify-section.promo-mosaic--section + .shopify-section.collection--section {
  margin-top: 0.9rem !important;
}

body.template-collection .shopify-section.promo-mosaic--section + .shopify-section.collection--section .productgrid--masthead h1.collection--title {
  padding-top: 0.75rem !important;
}

.productgrid--masthead .collection-intro,
.productgrid--masthead .collection-intro p,
.productgrid--masthead .shorcontent,
.productgrid--masthead .shorcontent p,
.productgrid--masthead .metafield-rich_text_field,
.productgrid--masthead .metafield-rich_text_field p {
  text-indent: 0 !important;
}

.metafield-rich_text_field p {
  margin-bottom: 10px;
  font-size: 14px;
  color: #555;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.metafield-rich_text_field p:first-child {
  font-weight: 500;
  letter-spacing: 0.2px;
}

/* Collection page: description HTML is in .collection-intro; metafield block is in .shorcontent */
/* Masthead editorial links: border-bottom (not text-underline) — avoids a “dash” look when links wrap on mobile */
.productgrid--masthead .collection-intro a,
.productgrid--masthead .collection-intro a:link,
.productgrid--masthead .collection-intro a:visited,
.productgrid--masthead .collection-intro a:active,
.productgrid--masthead .collection-intro a:-webkit-any-link,
.productgrid--masthead .shorcontent a,
.productgrid--masthead .shorcontent a:link,
.productgrid--masthead .shorcontent a:visited,
.productgrid--masthead .shorcontent a:active,
.productgrid--masthead .shorcontent a:-webkit-any-link,
.productgrid--masthead .metafield-rich_text_field a,
.productgrid--masthead .metafield-rich_text_field a:link,
.productgrid--masthead .metafield-rich_text_field a:visited,
.productgrid--masthead .metafield-rich_text_field a:active,
.productgrid--masthead .metafield-rich_text_field a:-webkit-any-link {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid #111;
  padding-bottom: 1px;
  transition: color 0.2s ease, border-color 0.2s ease;
  margin: 0 !important;
}

.productgrid--masthead .collection-intro a + a,
.productgrid--masthead .shorcontent a + a,
.productgrid--masthead .metafield-rich_text_field a + a {
  margin-left: 0 !important;
}

.productgrid--masthead .collection-intro a:hover,
.productgrid--masthead .shorcontent a:hover,
.productgrid--masthead .metafield-rich_text_field a:hover {
  color: #111 !important;
  border-bottom-color: #111;
}

/* Metafield rich text outside collection masthead: keep subtle underline */
.metafield-rich_text_field a,
.metafield-rich_text_field a:link,
.metafield-rich_text_field a:visited,
.metafield-rich_text_field a:active,
.metafield-rich_text_field a:-webkit-any-link {
  color: inherit !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.metafield-rich_text_field a:hover {
  color: #111 !important;
}

.metafield-rich_text_field strong {
  font-weight: 600;
  color: #111;
}

@keyframes fadeInSoft {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .metafield-rich_text_field {
    padding: 0 16px;
    max-width: 100%;
  }

  /* Masthead: same horizontal edges as .collection-intro (no extra 16px inset) */
  .productgrid--masthead .metafield-rich_text_field,
  .productgrid--masthead .shorcontent {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .metafield-rich_text_field p {
    font-size: 13px;
  }

  .productgrid--masthead .metafield-rich_text_field p:last-child,
  .productgrid--masthead .collection-intro p:last-child {
    line-height: 1.7;
  }
}

.metafield-rich_text_field a {
  display: inline;
  white-space: nowrap;
}

.metafield-rich_text_field a strong {
  display: inline;
}

body.template-collection .collection-description a,
body.template-collection .collection-description a strong {
  display: inline;
  margin: 0 !important;
}

/* Collection poster marquee: disable tap/hover enlargement on mobile/tablet. */
@media (max-width: 1023px) {
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--image,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--image:hover,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--image:active,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--item:hover .logolist--image,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--item:active .logolist--image,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--link:hover .logolist--image,
  body.template-collection section.logolist--container.collection-poster-list-target .logolist--link:active .logolist--image {
    transform: none !important;
    transition: none !important;
  }
}

/* Mobile drawer: glass panel + dim overlay (overrides theme.css) */
@media screen and (max-width: 1023px) {
  /* Light scroll lock: theme ScrollLock + allow-scroll-while-locked (Empire). */
  html.scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.scroll-locked body {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  html.scroll-locked .allow-scroll-while-locked {
    touch-action: pan-y !important;
  }

  html.scroll-locked .allow-scroll-while-locked .mobile-nav-content,
  html.scroll-locked .allow-scroll-while-locked [data-scroll-lock-scrollable] {
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #site-mobile-nav .mobile-nav-panel,
  .site-mobile-nav .mobile-nav-panel {
    background-color: rgba(255, 255, 255, 0.8) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.07) !important;
    transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    overflow: hidden !important;
  }

  #site-mobile-nav .mobile-nav-panel[data-animation="open=>closed"],
  .site-mobile-nav .mobile-nav-panel[data-animation="open=>closed"] {
    transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  #site-mobile-nav .mobile-nav-panel > *,
  #site-mobile-nav .mobile-nav-panel[data-animation-state="open"] > *,
  #site-mobile-nav .mobile-nav-panel[data-animation="open=>closed"] > *,
  .site-mobile-nav .mobile-nav-panel > *,
  .site-mobile-nav .mobile-nav-panel[data-animation-state="open"] > *,
  .site-mobile-nav .mobile-nav-panel[data-animation="open=>closed"] > * {
    opacity: 1 !important;
  }

  #site-mobile-nav .mobile-nav-panel a,
  .site-mobile-nav .mobile-nav-panel a {
    opacity: 1 !important;
  }

  #site-mobile-nav .mobile-nav-overlay,
  .site-mobile-nav .mobile-nav-overlay {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    background-color: rgba(0, 0, 0, 0.2) !important;
    transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  #site-mobile-nav .mobile-nav-overlay[data-animation="open=>closed"],
  .site-mobile-nav .mobile-nav-overlay[data-animation="open=>closed"] {
    transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  /* Mobile nav: text-first, no thumbnails / promo images, premium typography */
  #site-mobile-nav .mobile-nav-panel .navmenu-item__image-wrapper,
  #site-mobile-nav .mobile-nav-panel .navmenu-item__image,
  #site-mobile-nav .mobile-nav-panel .navmenu-meganav-standard__image-container,
  #site-mobile-nav .mobile-nav-panel .navmenu-meganav-standard__image-wrapper,
  #site-mobile-nav .mobile-nav-panel .navmenu-meganav-standard__image,
  #site-mobile-nav .mobile-nav-panel .navmenu-meganav-standard__image-text,
  #site-mobile-nav .mobile-nav-panel .meganav-promo-stack,
  #site-mobile-nav .mobile-nav-panel .meganav-simulator-card {
    display: none !important;
  }

  #site-mobile-nav .mobile-nav-panel {
    display: flex !important;
    flex-direction: column !important;
    letter-spacing: -0.2px !important;
    -webkit-font-smoothing: antialiased;
    margin: 0 !important;
  }

  /* Drawer chrome: logo + close, then muted login row (non-scrolling); nav scrolls below */
  #site-mobile-nav .mobile-nav-panel__sticky-head {
    flex-shrink: 0 !important;
    z-index: 2 !important;
    background: rgba(255, 255, 255, 0.92) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
  }

  #site-mobile-nav .mobile-nav-panel__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 14px 20px 10px !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
  }

  #site-mobile-nav .mobile-nav-panel__logo-link {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-decoration: none !important;
    color: #111 !important;
  }

  #site-mobile-nav .mobile-nav-panel__logo-img {
    display: block !important;
    max-height: 46px !important;
    width: auto !important;
    max-width: min(280px, 72vw) !important;
    height: auto !important;
  }

  #site-mobile-nav .mobile-nav-panel__logo-text {
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-close,
  #site-mobile-nav .mobile-nav-panel__close {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 auto !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    margin: -6px -8px -6px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.15s ease !important;
    opacity: 0.92 !important;
  }

  #site-mobile-nav .mobile-nav-panel__close svg {
    width: 13px !important;
    height: 13px !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row {
    padding: 0 20px 14px !important;
    flex-shrink: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px 14px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions__account-link {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-icon {
    display: none !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-links {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 14px !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header_account-link-text {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions a,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header_account-link-anchor,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--account,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--logout {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: rgba(17, 17, 17, 0.82) !important;
    transition: color 0.15s ease, opacity 0.15s ease !important;
    padding: 4px 0 !important;
    margin: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions a:hover,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions a:focus,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions a:focus-visible,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--account:hover,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--logout:hover {
    color: #111111 !important;
    opacity: 1 !important;
  }

  #site-mobile-nav .mobile-nav-panel__login-row .site-header-actions a:active,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--account:active,
  #site-mobile-nav .mobile-nav-panel__login-row .site-header__account-link--logout:active {
    opacity: 0.85 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 4px 20px 10px !important;
  }

  /*
    Language/currency strip (cloned from utility bar). Outer wrapper was getting padding +
    frosted background even when empty → ~25px white bar. Collapse when no real content;
    move chrome to inner blocks only when present.
  */
  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure {
    flex-shrink: 0 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border: none !important;
    box-sizing: border-box !important;
  }

  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure:not(:has(*)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure .utility-bar__social-container--mobile {
    padding: 12px 20px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure .utility-bar__disclosure--mobile {
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.82) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    backdrop-filter: blur(18px) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
  }

  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure .utility-bar__social-container--mobile:only-child {
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    backdrop-filter: blur(18px) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  /* Section headers (parent rows): slightly larger + semibold; same tap target as links */
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-1 > .navmenu-item > .navmenu-link.navmenu-link-parent {
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    color: #111111 !important;
    padding: 10px 0 !important;
    transition: none !important;
  }

  /* Shop: anchor the primary section (same weight, slightly stronger presence) */
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-1 > .navmenu-id-shop > .navmenu-link {
    font-weight: 600 !important;
    font-size: 17px !important;
    letter-spacing: -0.015em !important;
  }

  /* Any depth-1 link without children (rare) */
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-1 > .navmenu-item > .navmenu-link:not(.navmenu-link-parent) {
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #111111 !important;
    padding: 10px 0 !important;
    transition: none !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 {
    background: transparent !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    padding-left: 14px !important;
    padding-right: 0 !important;
    font-size: 16px !important;
  }

  /* All submenu links: +1px for tap/readability under Shop */
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 .navmenu-link,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 .navmenu-item-text,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 .navmenu-link,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 .navmenu-item-text {
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #111111 !important;
    padding: 7px 0 !important;
    margin: 0 !important;
    transition: none !important;
  }

  /* Nested accordion parent inside submenu */
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 > .navmenu-item > .navmenu-link.navmenu-link-parent,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 > .navmenu-item > .navmenu-link.navmenu-link-parent {
    font-weight: 600 !important;
    font-size: 16px !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 .navmenu-submenu {
    padding: 0 !important;
    margin: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-meganav.navmenu-submenu {
    padding: 0 !important;
    margin: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 > .navmenu-item,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 > .navmenu-item {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-item-text,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link.navmenu-link-parent,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-item-text,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link.navmenu-link-parent {
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: rgba(17, 17, 17, 0.65) !important;
    opacity: 1 !important;
    padding: 6px 0 !important;
    transition: none !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link:hover,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link:focus,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link:focus-visible,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link.navmenu-link-active,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link:hover,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link:focus,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link:focus-visible,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link.navmenu-link-active {
    color: #111111 !important;
    opacity: 1 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-auxiliary .navmenu-link:active,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__secondary-menu .navmenu-link:active {
    opacity: 0.88 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-link:hover,
  #site-mobile-nav .mobile-nav-panel .navmenu-link:focus,
  #site-mobile-nav .mobile-nav-panel .navmenu-link:focus-visible {
    color: #111111 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-link.navmenu-link-active {
    color: #111111 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-1 > .navmenu-item > .navmenu-link.navmenu-link-parent.navmenu-link-active {
    font-weight: 600 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 .navmenu-link.navmenu-link-active,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-3 .navmenu-link.navmenu-link-active {
    font-weight: 400 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-content > .navmenu-depth-1 > .navmenu-item > .navmenu-link:not(.navmenu-link-active):hover,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content > .navmenu-depth-1 > .navmenu-item > .navmenu-link:not(.navmenu-link-active):focus {
    color: #111111 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-depth-2 .navmenu-link:active,
  #site-mobile-nav .mobile-nav-panel .navmenu-depth-1 > .navmenu-item > .navmenu-link:active {
    opacity: 0.88 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-content__border {
    display: block !important;
    margin: 16px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    height: 0 !important;
    padding: 0 !important;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .utility-bar__mobile__border,
  #site-mobile-nav .mobile-nav-panel .utility-bar__mobile-disclosure .utility-bar__mobile__border {
    margin: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-button {
    transition: opacity 0.15s ease !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-button:active {
    opacity: 0.75 !important;
  }

  #site-mobile-nav .mobile-nav-panel .navmenu-icon,
  #site-mobile-nav .mobile-nav-panel .icon-chevron-down-small {
    transition: none !important;
  }

  /* Accordion: height-only expansion, no inner translate jump; match drawer easing */
  #site-mobile-nav .mobile-nav-panel [data-accordion-content][data-accordion-animation] > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  #site-mobile-nav .mobile-nav-panel [data-accordion-content][data-accordion-animation="closed=>open"] {
    transition: height 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  #site-mobile-nav .mobile-nav-panel [data-accordion-content][data-accordion-animation="open=>closed"] {
    transition: height 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }
}

/* Product card badges (featured collection on homepage: inset avoids overflow:hidden clip on .productitem--image) */
body.template-index .shopify-section.featured-collection--section .productitem--image .custom-badge {
  top: 5px !important;
  left: 5px !important;
}

/* Sale pill: match tag badges (#DE0101) on homepage featured rows */
body.template-index .shopify-section.featured-collection--section .productitem__badge--sale {
  background-color: #de0101 !important;
}

.custom-badge {
  position: absolute;
  top: 6px;
  left: 7px;
  background: black;
  color: white;
  padding: 6px 10px;
  font-size: 11px;
  border-radius: 20px;
  z-index: 10;
  font-weight: 600;
  text-decoration: none;
}

.productitem--image .custom-badge,
.productitem--image-link .custom-badge {
  color: white !important;
  text-decoration: none !important;
}

.badge-most-popular {
  background: #de0101 !important;
  box-shadow: none;
}

/* Best Value Bundles — emphasis without a heavy boxed panel */
.best-value-bundles-section {
  background: transparent;
  padding-top: 30px;
  padding-bottom: 20px;
  padding-left: 0;
  padding-right: 0;
  border-radius: 0;
  box-sizing: border-box;
}

.best-value-bundles-section .badge-most-popular {
  transform: scale(1.05);
}

.best-value-bundles-section h2.home-section--title {
  font-size: 32px !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
  text-align: center !important;
  line-height: 1.15 !important;
}

@media screen and (max-width: 719px) {
  .best-value-bundles-section h2.home-section--title {
    font-size: 28px !important;
  }
}

/* Subheading only (not all p — avoids product card copy) */
.best-value-bundles-section .featured-collection__subheading {
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 auto 25px !important;
  color: #555 !important;
  opacity: 1 !important;
  font-weight: 400 !important;
  max-width: 42rem !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .featured-collection__content:not(.pm-seo-featured-grid__content) {
    display: flex !important;
    overflow-x: auto !important;
    gap: 12px;
    padding-left: 16px;
    scroll-snap-type: x mandatory;
  }

  .featured-collection__content:not(.pm-seo-featured-grid__content)::-webkit-scrollbar {
    display: none;
  }

  .featured-collection__content:not(.pm-seo-featured-grid__content) .productgrid--item {
    min-width: 75% !important;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  /* Fade hint on right */
  .featured-collection__container:not(.pm-seo-featured-grid) {
    position: relative;
  }

  .featured-collection__container:not(.pm-seo-featured-grid)::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255,255,255,0), #fff);
  }
}

/*
  Cart only — bottom "Best Sellers" (Flickity): global mobile rules add flex + overflow-x to ALL
  .featured-collection__content, which fights Flickity. Undo ONLY on cart + .flickity-enabled.
  Do not override .productgrid--item here — keep the same 75% card width as the global mobile strip.
  Flickity sets viewport touch-action to pan-y; pan-x pan-y (see product logolist carousels in this file)
  restores vertical page scroll while horizontal drag still works.
*/
@media screen and (max-width: 1079px) {
  body.template-cart .shopify-section.featured-collection--section .featured-collection__content.flickity-enabled {
    display: block !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    padding-left: 0 !important;
    gap: 0 !important;
  }

  body.template-cart .shopify-section.featured-collection--section .featured-collection__content.flickity-enabled .flickity-viewport {
    touch-action: pan-x pan-y pinch-zoom !important;
    overflow: hidden !important;
  }
}

/* SEO page bottom collection — static responsive grid (pm-seo-featured-grid class) */
.pm-seo-featured-grid.featured-collection__container,
body.page-seo-page .shopify-section.featured-collection--section .featured-collection__container {
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

.pm-seo-featured-grid.featured-collection__container::after,
body.page-seo-page .shopify-section.featured-collection--section .featured-collection__container::after {
  display: none !important;
}

.pm-seo-featured-grid .pm-seo-featured-grid__content,
.pm-seo-featured-grid .featured-collection__content,
body.page-seo-page .shopify-section.featured-collection--section .featured-collection__content {
  display: grid !important;
  grid-auto-flow: row !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  overflow-x: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  scroll-snap-type: none !important;
  gap: 8px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.pm-seo-featured-grid .featured-collection__content .productgrid--item,
body.page-seo-page .shopify-section.featured-collection--section .featured-collection__content .productgrid--item {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  flex: none !important;
  flex-shrink: 0 !important;
  scroll-snap-align: unset !important;
}

.pm-seo-featured-grid .featured-collection__content .productgrid--item .productitem,
.pm-seo-featured-grid .featured-collection__content .productgrid--item .productitem__container {
  height: 100% !important;
}

/* If Flickity ran before our guard, flatten its wrappers so the grid spans full width */
.pm-seo-featured-grid .featured-collection__content .flickity-viewport,
.pm-seo-featured-grid .featured-collection__content .flickity-slider--wrapper,
.pm-seo-featured-grid .featured-collection__content .flickity-slider {
  display: contents !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
  position: static !important;
}

.pm-seo-featured-grid .flickity-button,
.pm-seo-featured-grid .flickity-page-dots {
  display: none !important;
}

body.page-seo-page .shopify-section.featured-collection--section {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

@media screen and (min-width: 720px) {
  .pm-seo-featured-grid .featured-collection__content,
  body.page-seo-page .shopify-section.featured-collection--section .featured-collection__content {
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 1080px) {
  .pm-seo-featured-grid .featured-collection__content,
  body.page-seo-page .shopify-section.featured-collection--section .featured-collection__content {
    gap: 10px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Standard pages — title typography (spacing: block at file bottom) */
.template-page h1,
.template-page .page-title {
  font-size: 36px !important;
  font-weight: 600 !important;
}

.template-page .rte > h2:first-of-type {
  margin-top: 40px !important;
}

/*
  Undo harmful CSS sometimes pasted into page content:
  .page-content.rte { margin-top: -75px !important; ... }
  Remove that block in Online Store → Pages → [page] if present; this enforces sane spacing in the theme.
*/
body.template-page .page-content.rte {
  margin-top: 0 !important;
}

/* Bulk orders template: avoid stacking extra header offset on top of the h1 margins above */
body.page-bulk-orders .bulk-header,
body.page-bulk-prop-money .bulk-header {
  margin-top: 0 !important;
}

/* Bulk prop money page: remove white strip above footer (empty footer app wrapper + margin collapse) */
body.page-bulk-orders,
body.page-bulk-prop-money {
  background: #f9f9f9 !important;
}

body.page-bulk-orders .shopify-section-group-footer-group > .shopify-section:first-child,
body.page-bulk-prop-money .shopify-section-group-footer-group > .shopify-section:first-child,
body.page-bulk-orders #shopify-section-1696670069836ff4c4,
body.page-bulk-prop-money #shopify-section-1696670069836ff4c4 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* FIX Get a Quote title spacing */
.template-page .page-title,
.template-page h1 {
  margin-top: 40px !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}

body.page-as-seen-on .rich-text--section .rich-text-content h1 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* match Contact / Shipping container */
.quote-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px 0 60px;
}

/* headings */
.quote-heading {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 8px;
}

.quote-sub {
  margin-bottom: 32px;
  color: #555;
  font-size: 16px;
}

/* gray box */
.quote-box {
  background: #f5f5f5;
  padding: 28px;
  border-radius: 12px;
  margin-bottom: 40px;
}

.quote-box h3 {
  margin-bottom: 16px;
  font-size: 18px;
}

.quote-box ul {
  padding-left: 18px;
  line-height: 1.8;
  font-size: 15px;
  margin: 0;
}

.utility-bar__content .get-access-btn {
  display: inline-block;
  font-weight: 600;
  color: #fff;
  background-color: #000;
  padding: 6px 14px;
  border-radius: 999px;
  margin-left: 12px;
  text-decoration: none;
  line-height: 1;
  vertical-align: middle;
}

.utility-bar__content .get-access-btn {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.utility-bar__content .get-access-btn:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Klaviyo "Get 15% Off" popup (utility bar) — nudge close X 8px up + 8px right, desktop only */
@media screen and (min-width: 769px) {
  body.pm-popup-open [role="dialog"] button[aria-label="Close dialog"],
  body.pm-popup-open [role="dialog"] button[aria-label="Close"],
  body.pm-popup-open button[aria-label="Close dialog"],
  body.pm-popup-open button[aria-label="Close"],
  body.pm-popup-open [data-testid="close-button"],
  body.pm-popup-open .klaviyo-close-form {
    transform: translate(8px, -8px) !important;
  }
}

/* Email Signup page only: hide top utility bar "Get Access" (.utility-bar__menu-link; href may omit locale or use full URL) */
body.page-email-signup .utility-bar a.utility-bar__menu-link[href*="/pages/email-signup"],
body.page-email-signup .utility-bar a[href="/pages/email-signup"],
body.page-email-signup .utility-bar a[href*="/pages/email-signup"] {
  display: none !important;
}

/* Klaviyo opt-in state: hide only explicit Get Access targets (no blanket newsletter hide) */
html.pm-klaviyo-identified .get-access-btn,
body.pm-klaviyo-identified .get-access-btn,
html.pm-klaviyo-identified a[href*="email-signup"],
body.pm-klaviyo-identified a[href*="email-signup"],
html.pm-klaviyo-identified .utility-bar .utility-bar__menu-link[href*="email-signup"],
body.pm-klaviyo-identified .utility-bar .utility-bar__menu-link[href*="email-signup"],
body.pm-klaviyo-identified #site-mobile-nav .utility-bar__mobile-nav a[href*="email-signup"],
body.pm-klaviyo-identified #site-mobile-nav .mobile-get-access-fallback-item,
body.pm-klaviyo-identified #site-mobile-nav .mobile-get-access-fallback-link[href*="email-signup"],
body.pm-klaviyo-identified .get-access-section,
body.pm-klaviyo-identified .get-access-wrapper {
  display: none !important;
}

/* Desktop utility bar Get Access: hidden by default (via .get-access-btn class), revealed after Klaviyo SDK confirms unidentified.
   Mobile fallback item: NOT hidden here — its button styling is applied via inline <style> in theme.liquid,
   and it is hidden for identified users via the pm-klaviyo-identified rules further down. */
.get-access-wrapper,
.get-access-btn,
.get-access-section {
  visibility: hidden;
}

html.pm-klaviyo-unidentified .get-access-wrapper,
body.pm-klaviyo-unidentified .get-access-wrapper,
html.pm-klaviyo-unidentified .get-access-btn,
body.pm-klaviyo-unidentified .get-access-btn,
html.pm-klaviyo-unidentified .get-access-section,
body.pm-klaviyo-unidentified .get-access-section {
  visibility: visible;
}

html.pm-klaviyo-identified {
  visibility: visible;
}

/* Collapse wrapper when identified; avoid :empty because Klaviyo injects hidden nodes */
body.pm-klaviyo-identified .get-access-wrapper {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

@media screen and (max-width: 1023px) {
  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"] {
    display: block !important;
    width: 100% !important;
    background: #000 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 12px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    margin-top: 18px !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
  }

  /* Must include .mobile-nav-panel — otherwise secondary-menu link rules (font-weight: 400 !important) win on specificity */
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"] {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    background: #000 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 12px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    margin-top: 18px !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
  }

  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"]:hover,
  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"]:focus,
  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"]:focus-visible,
  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"]:active,
  #site-mobile-nav .mobile-nav-content .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"].navmenu-link-active {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 600 !important;
    opacity: 0.85;
  }

  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"]:hover,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"]:focus,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"]:focus-visible,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"]:active,
  #site-mobile-nav .mobile-nav-panel .mobile-nav-content .mobile-nav-content__secondary-menu .mobile-get-access-fallback-item > a[href*="email-signup"].navmenu-link-active {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 600 !important;
    opacity: 0.85;
  }

  /* Opted-in users: hide Get Access everywhere in mobile nav */
  body.pm-klaviyo-identified #site-mobile-nav a[href*="email-signup"],
  body.pm-klaviyo-identified #site-mobile-nav .mobile-get-access-fallback-item,
  body.pm-klaviyo-identified #site-mobile-nav .mobile-get-access-fallback-item a,
  body.pm-klaviyo-identified #site-mobile-nav .utility-bar__mobile-nav .navmenu > .navmenu-item > a[href*="email-signup"] {
    display: none !important;
  }
}

footer:not(.footer-mobile) .site-footer-block-newsletter > .site-footer-block-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy {
  margin-top: 8px !important;
  color: rgba(29, 29, 31, 0.68) !important;
  font-weight: 400 !important;
}

footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy,
footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy p,
footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy span,
footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy strong,
footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy em,
footer:not(.footer-mobile) .site-footer-block-newsletter .footer-subscribe-copy a {
  color: rgba(29, 29, 31, 0.68) !important;
  font-weight: 400 !important;
}

footer .site-footer-block-newsletter .footer-subscribe-form {
  margin-top: 8px;
}

footer .footer-follow {
  margin-top: 0 !important;
}

footer .site-footer-block-social-accounts .site-footer-block-content {
  margin-top: 4px !important;
}

footer .footer-social-icons {
  margin-top: 0 !important;
}

footer .site-footer-block-menu.has-accordion > .site-footer-block-content {
  margin-top: 6px !important;
}

footer .site-footer-block-menu .navmenu-item {
  line-height: 1.7 !important;
}

footer .site-footer-block-menu .navmenu-item:not(:first-child) {
  margin-top: 0.3125rem !important;
}

footer .site-footer-block-menu .navmenu-link {
  line-height: 1.7 !important;
}

footer .footer-menu-block--prop-money-hub.has-accordion > .site-footer-block-content {
  margin-top: 10px !important;
}

footer .footer-menu-block--support.has-accordion > .site-footer-block-content {
  margin-top: 2px !important;
}

footer .footer-rich-text-block--support .site-footer-block-content.rte {
  margin-top: 2px !important;
}

footer .footer-rich-text-block--support .site-footer-block-content.rte p {
  margin-top: 0.3125rem !important;
  margin-bottom: 0 !important;
  line-height: 1.7 !important;
}

footer .footer-rich-text-block--support .site-footer-block-content.rte > *:first-child {
  margin-top: 0 !important;
}

@media screen and (min-width: 1024px) {
  /* Prop Money Hub: nudge menu list up slightly */
  footer .site-footer-column--1 .site-footer-block-menu.has-accordion > .site-footer-block-content {
    margin-top: 4px !important;
  }

  /* Support: remove default UL top gap and pull links up */
  footer .site-footer-block-support.has-accordion > .site-footer-block-content,
  footer .site-footer-block-support-menu.has-accordion > .site-footer-block-content {
    margin-top: 2px !important;
  }

  footer .site-footer-block-support .navmenu,
  footer .site-footer-block-support-menu .navmenu {
    margin: 0 !important;
    padding-left: 0 !important;
  }

  footer .site-footer-block-support .navmenu-item,
  footer .site-footer-block-support-menu .navmenu-item {
    line-height: 1.7 !important;
  }

  footer .site-footer-block-support .navmenu-item:not(:first-child),
  footer .site-footer-block-support-menu .navmenu-item:not(:first-child) {
    margin-top: 0.3125rem !important;
  }
}

@media screen and (min-width: 1024px) {
  /* Desktop footer baseline lock: Prop Money Hub / Support / Shop by Use / Subscribe */
  footer .site-footer-column--1 .site-footer-block-item.site-footer-block-menu,
  footer .site-footer-column--2 .site-footer-block-item.site-footer-block-menu,
  footer .site-footer-column--2 .site-footer-block-item.site-footer-block-support,
  footer .site-footer-column--2 .site-footer-block-item.site-footer-block-support-menu,
  footer .site-footer-column--3 .site-footer-block-item.site-footer-block-rich-text.has-accordion,
  footer .site-footer-column--4 .site-footer-block-item.site-footer-block-newsletter {
    margin-top: 0 !important;
  }

  footer .site-footer-column--1 .site-footer-block-menu.has-accordion > .site-footer-block-content,
  footer .site-footer-column--2 .site-footer-block-menu.has-accordion > .site-footer-block-content,
  footer .site-footer-column--2 .site-footer-block-support.has-accordion > .site-footer-block-content,
  footer .site-footer-column--2 .site-footer-block-support-menu.has-accordion > .site-footer-block-content,
  footer .site-footer-column--3 .site-footer-block-rich-text.has-accordion > .site-footer-block-content.rte,
  footer .site-footer-column--4 .site-footer-block-newsletter .site-footer-block-content.rte {
    margin-top: 8px !important;
  }

  footer .site-footer-column--1 .site-footer-block-menu .navmenu,
  footer .site-footer-column--2 .site-footer-block-menu .navmenu,
  footer .site-footer-column--2 .site-footer-block-support .navmenu,
  footer .site-footer-column--2 .site-footer-block-support-menu .navmenu {
    margin: 0 !important;
    padding-left: 0 !important;
  }

  footer .site-footer-column--1 .site-footer-block-menu .navmenu-link,
  footer .site-footer-column--2 .site-footer-block-menu .navmenu-link,
  footer .site-footer-column--2 .site-footer-block-support .navmenu-link,
  footer .site-footer-column--2 .site-footer-block-support-menu .navmenu-link,
  footer .site-footer-column--3 .site-footer-block-rich-text.has-accordion .site-footer-block-content.rte a,
  footer .site-footer-column--4 .site-footer-block-newsletter .site-footer-block-content.rte p {
    line-height: 1.7 !important;
  }

  footer .site-footer-column--1 .site-footer-block-menu .navmenu-item:not(:first-child),
  footer .site-footer-column--2 .site-footer-block-menu .navmenu-item:not(:first-child),
  footer .site-footer-column--2 .site-footer-block-support .navmenu-item:not(:first-child),
  footer .site-footer-column--2 .site-footer-block-support-menu .navmenu-item:not(:first-child),
  footer .site-footer-column--3 .site-footer-block-rich-text.has-accordion .site-footer-block-content.rte p:not(:first-child),
  footer .site-footer-column--4 .site-footer-block-newsletter .site-footer-block-content.rte p:not(:first-child) {
    margin-top: 0.3125rem !important;
  }
}

/* Follow Us / Subscribe offsets: desktop only.
   Also reset on narrow viewports AND typical phone-landscape (short viewport height)
   so tablet-wide landscape widths do not inherit “desktop” spacing. */
@media screen and (max-width: 1023px) {
  footer .site-footer-block-item.footer-follow-us--desktop-only-offset,
  footer .site-footer-block-item.footer-newsletter--desktop-only-offset {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  footer .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 0 !important;
  }
}

@media screen and (orientation: landscape) and (max-height: 500px) {
  footer .site-footer-block-item.footer-follow-us--desktop-only-offset,
  footer .site-footer-block-item.footer-newsletter--desktop-only-offset {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  footer .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 0 !important;
  }
}

/* True desktop widths only — avoids tablet / wide-phone landscape (often 1024–1279) taking “desktop” footer nudges */
@media screen and (min-width: 1280px) {
  /* Entire social block: lower Follow Us vs Klaviyo neighbor column */
  footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    margin-top: 56px !important;
  }

  footer .site-footer-block-item.site-footer-block-newsletter.footer-newsletter--desktop-only-offset {
    margin-bottom: 48px !important;
  }

  footer .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 32px !important;
  }

  /* Stacked Subscribe + Follow Us in column 4: old “neighbor column” offsets don’t apply */
  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter + .site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    margin-top: 12px !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter.footer-newsletter--desktop-only-offset {
    margin-bottom: 0 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter + .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 8px !important;
  }

  footer .site-footer-block-social-accounts .footer-follow-us-section .footer-follow {
    margin-top: 0 !important;
  }

  footer .site-footer-block-social-accounts .footer-follow-us-section .site-footer-block-content {
    margin-top: 4px !important;
  }

  footer .site-footer-wrapper .site-footer-block-newsletter + .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 8px !important;
  }

  footer .site-footer-blocks.column-count-5 .site-footer-block-newsletter + .site-footer-block-social-accounts {
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

  /* Email Signup: newsletter hidden — cancel the “lower Follow Us vs Klaviyo” desktop nudge */
  body.page-email-signup footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset,
  body.pm-klaviyo-identified footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    margin-top: 0 !important;
  }

  body.page-email-signup footer .site-footer-block-social-accounts .footer-follow-us-section,
  body.pm-klaviyo-identified footer .site-footer-block-social-accounts .footer-follow-us-section {
    margin-top: 0 !important;
  }
}

/* Klaviyo embed (footer): ensure theme never blocks taps/clicks on injected form UI */
footer .footer-subscribe-form,
footer .footer-subscribe-form * {
  pointer-events: auto !important;
}

footer .footer-subscribe-form {
  position: relative;
  z-index: 2;
}

/* Nudge the Klaviyo form embed up by reducing its internal top padding */
footer .footer-subscribe-form [data-testid="form-component"] > div:first-child,
footer .footer-subscribe-form form > div:first-child,
footer .footer-subscribe-form .klaviyo-form > div:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
footer .footer-subscribe-form .klaviyo-form,
footer .footer-subscribe-form [class*="klaviyo-form"] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Subtext under the footer newsletter heading */
.footer-klaviyo-subtext {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 400;
  margin: 6px 0 0 0;
  padding: 0;
  line-height: 1.3;
}

.footer-mobile-klaviyo__title {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1d1d1d !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.footer-mobile-klaviyo {
  padding-top: 12px !important;
}

/* Footer Klaviyo embeds: Inter (embed roots use .klaviyo-form or .klaviyo-form-* IDs) */
footer .klaviyo-form *,
footer [class*="klaviyo-form"] * {
  font-family: Inter, -apple-system, system-ui, sans-serif !important;
}

/* 5-block desktop footer: keep Subscribe in col 4 row 1 and Follow Us directly below in row 2.
   Follow Us stays its own section and does not inherit/narrow with Klaviyo field width. */
@media screen and (min-width: 1024px) {
  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-item:nth-child(1) {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-item:nth-child(2) {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-item:nth-child(3) {
    grid-column: 3 / 4 !important;
    grid-row: 1 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter {
    grid-column: 4 / 5 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts {
    grid-column: 4 / 5 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts .footer-follow-us-section,
  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts .site-footer-block-content,
  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts .social-icons.footer-social-icons {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter .footer-subscribe-form {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Email Signup page (desktop): hide Subscribe block + keep Follow Us in column 4 row 1 */
  body.page-email-signup footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter,
  body.page-email-signup footer:not(.footer-mobile) .site-footer-block-newsletter {
    display: none !important;
  }

  body.page-email-signup footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts,
  body.pm-klaviyo-identified footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-social-accounts {
    grid-column: 4 / 5 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
  }
}

/* Desktop legacy footer: keep Follow Us icons in a horizontal row.
   Klaviyo (and similar embeds) can inject column flex on generic footer containers — restore row layout here. */
@media screen and (min-width: 1024px) {
  footer:not(.footer-mobile) .site-footer-block-item.site-footer-block-social-accounts .footer-follow-us-section .social-icons.footer-social-icons,
  footer:not(.footer-mobile) .site-footer-block-social-accounts .social-icons.footer-social-icons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  footer:not(.footer-mobile) .site-footer-block-social-accounts .social-icons.footer-social-icons > a.social-link {
    display: flex !important;
    flex-direction: row !important;
    flex: 0 0 auto !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 40px !important;
  }
}

/* Final desktop-only force move for Follow Us block (heading + icons).
   Uses pointer/hover desktop targeting and positional offset so it always moves. */
@media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    margin-top: 0 !important;
    position: relative !important;
    top: 36px !important;
  }

  footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset .footer-follow-us-section {
    margin-top: 0 !important;
  }

  /* Stacked column-4 layout: drop the old vertical nudge — grid row handles placement */
  footer:not(.footer-mobile) .site-footer-blocks.column-count-5 .site-footer-block-newsletter + .site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    top: 0 !important;
    margin-top: 12px !important;
  }

  body.page-email-signup footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset,
  body.pm-klaviyo-identified footer .site-footer-block-item.site-footer-block-social-accounts.footer-follow-us--desktop-only-offset {
    top: 0 !important;
    margin-top: 0 !important;
  }
}

/* Homepage hero — RealAged® lockup */
@media screen and (max-width: 1023px) {
  body.template-index .mobile-hero-heading .ra-reg {
    top: calc(-0.22em + 5px) !important;
    font-weight: 400 !important;
  }
}

@media screen and (min-width: 1024px) {
  body.template-index .desktop-overlay h2 .ra-reg {
    top: calc(-0.22em + 5px) !important;
    font-weight: 400 !important;
  }
}

/* ---------------------------------------------------------
   RealAged homepage section: narrower subtitle on mobile
   so it doesn't crowd the screen edges.
   --------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .shopify-section[id*="dynamic_featured_collection_realaged"] .featured-collection__subheading {
    max-width: 320px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/*
 * Cart page: equal vertical rhythm between all line items (desktop/tablet).
 * Mobile stacked (≤1023px) uses flex gap in static-cart.liquid.
 */
@media screen and (min-width: 1024px) {
  body.template-cart .cartitems--list[data-cart-item-list] > li {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  body.template-cart .cartitems--list[data-cart-item-list] > li:last-child {
    margin-bottom: 0 !important;
  }
  body.template-cart .cartitems--list[data-cart-item-list] > li[data-pab-line] ~ li {
    margin-top: 16px !important;
  }
}

@media screen and (max-width: 1023px) {
  /* Unified mobile stacked cart cluster — zero li margins so flex gap is sole rhythm source. */
  body.template-cart .cart-layout .cart-main .cartitems--list[data-cart-item-list] > li.cart-item,
  body.template-cart .cartitems--list[data-cart-item-list] > li {
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-block: 0 !important;
  }
  body.template-cart .cartitems--list[data-cart-item-list] > li[data-pab-line] ~ li {
    margin-top: 0 !important;
  }
  body.template-cart .cartitems--list > style {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Theme cart UI only: bold property label, normal value, tight spacing.
   Multiline Accessories values use pre-line in the drawer. */
.cart-drawer .product-option,
.cart-drawer dl.product-option {
  margin: 0 0 0.2em;
  line-height: 1.3;
}
.cart-drawer .product-option dt,
.cart-item--product-options .cart-item--option-name {
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}
.cart-drawer .product-option dd {
  font-weight: 400;
  margin: 0 0 0.25em;
  line-height: 1.35;
  white-space: pre-line;
}

/* Regular product sale totals: compare-at struck, sale line total clear (not overlapped). */
.cart-drawer .cart-item__discounted-prices,
.cart-drawer .cart-item__price-wrapper .cart-item__discounted-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  line-height: 1.25;
}
.cart-drawer .cart-item__details .cart-item__discounted-prices {
  align-items: flex-start;
}
.cart-drawer .cart-item__discounted-prices .cart-item__old-price {
  text-decoration: line-through !important;
  color: #999;
  font-weight: 500;
  font-size: 0.9em;
}
.cart-drawer .cart-item__discounted-prices .cart-item__final-price,
.cart-drawer .cart-item__discounted-prices .price:not(.cart-item__old-price) {
  text-decoration: none !important;
  color: #c9a341;
  font-weight: 700;
}

/* Priority Processing upsell (cart page + drawer) */
.priority-processing-upsell {
  margin: 0 0 12px;
}
.atc-banner--cart-footer .priority-processing-upsell {
  margin: 6px 0 12px;
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: center;
}
.atc-banner--cart-footer .priority-processing-upsell__card {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.atc-banner--cart-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-top: 8px;
}
.atc-banner--cart-footer .atc-button--viewcart {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}
@media (min-width: 720px) {
  .atc-banner--cart-footer {
    align-items: stretch;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .atc-banner--cart-footer .priority-processing-upsell {
    width: 100%;
    max-width: 100%;
  }
  .atc-banner--cart-footer .atc-button--viewcart {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}
.atc-banner--cart-footer .priority-processing-upsell__title {
  font-size: 14px;
}
.atc-banner--cart-footer .priority-processing-upsell__subtitle,
.atc-banner--cart-footer .priority-processing-upsell__description,
.atc-banner--cart-footer .priority-processing-upsell__price {
  font-size: 12px;
}
.atc-banner--cart-footer > .priority-processing-upsell + a.atc-button--viewcart {
  margin-top: 0;
}

/* ATC drawer — Priority Processing added confirmation (no upsell repeat) */
.priority-processing-upsell__atc-confirm {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, #fafafa 0%, #f5f5f5 100%);
  box-shadow: none;
  box-sizing: border-box;
  text-align: left;
  cursor: pointer;
}

.priority-processing-upsell__atc-confirm:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

.priority-processing-upsell__atc-confirm[hidden] {
  display: none !important;
}

.priority-processing-upsell__atc-offer[hidden] {
  display: none !important;
}

.priority-processing-upsell__atc-confirm-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  line-height: 0;
  pointer-events: none;
}

.priority-processing-upsell__atc-confirm-icon svg {
  display: block;
  width: 16px;
  height: 16px;
  pointer-events: none;
}

.priority-processing-upsell__atc-confirm-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.priority-processing-upsell__atc-confirm-title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  color: #111;
}

.priority-processing-upsell__atc-confirm-subtitle {
  font-size: 12.5px;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.62);
}

.atc-banner--cart-footer .priority-processing-upsell__atc-confirm {
  margin: 0;
  align-self: stretch;
}

.priority-processing-upsell__card {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  width: 100%;
  padding: 14px;
  border: 1px solid #eee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.priority-processing-upsell__card:hover {
  border-color: #eee;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.priority-processing-upsell__input {
  position: absolute;
  opacity: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
.priority-processing-upsell__indicator {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1.5px solid rgba(0, 0, 0, 0.24);
  background: #fff;
  margin-top: 1px;
  box-sizing: border-box;
  transition: border-color 0.18s ease, background-color 0.18s ease;
}
.priority-processing-upsell__input:checked + .priority-processing-upsell__indicator {
  border-color: #111;
  background: #111;
}
.priority-processing-upsell__input:checked + .priority-processing-upsell__indicator::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  margin: 4px 0 0 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(42deg);
}
.priority-processing-upsell__content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.priority-processing-upsell__title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  color: #111;
}
.priority-processing-upsell__subtitle {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.74);
}
.priority-processing-upsell__description {
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.62);
}
.priority-processing-upsell__price {
  margin-top: 2px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  color: #111;
}
/* Cart page only: pin PP price to top-right corner.
   Leaves drawer/ATC styles untouched via surface gate. */
.priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__content {
  padding-right: 68px;
}
.priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__price {
  position: absolute;
  top: 14px;
  right: 18px;
  margin-top: 0;
  font-size: 15px;
  white-space: nowrap;
}

/* ATC drawer: pin PP price to top-right corner (same visual treatment
   as the cart page). Higher specificity than the
   `.atc-banner--cart-footer` mobile grid placement, so this also wins
   on mobile without using !important. */
.priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__card {
  position: relative;
}
.priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__content {
  padding-right: 68px;
}
.priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__price {
  position: absolute;
  top: 14px;
  right: 18px;
  margin-top: 0;
  font-size: 15px;
  white-space: nowrap;
  grid-column: auto;
  grid-row: auto;
}
@media (max-width: 719px) {
  .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__title {
    padding-right: 64px;
  }
  .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__price {
    top: 12px;
    right: 14px;
    font-size: 14px;
  }
}
.priority-processing-upsell__input:focus-visible + .priority-processing-upsell__indicator {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

/* Mobile ATC drawer — compact Priority Processing above View Cart CTA */
@media (max-width: 719px) {
  .atc-banner--cart-footer .priority-processing-upsell {
    margin: 0;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
  }

  .atc-banner--cart-footer .priority-processing-upsell__card {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto auto;
    column-gap: 10px;
    row-gap: 1px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    text-align: left;
  }

  .atc-banner--cart-footer .priority-processing-upsell__card:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
  }

  .atc-banner--cart-footer .priority-processing-upsell__content {
    display: contents;
  }

  .atc-banner--cart-footer .priority-processing-upsell__indicator {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: 3px;
    width: 20px;
    height: 20px;
    border: 1.5px solid #cfcfcf;
    background: #fff;
    box-sizing: border-box;
    flex-shrink: 0;
  }

  .atc-banner--cart-footer .priority-processing-upsell__input {
    width: 20px;
    height: 20px;
  }

  .atc-banner--cart-footer .priority-processing-upsell__input:checked + .priority-processing-upsell__indicator {
    border-color: #111;
    background: #111;
  }

  .atc-banner--cart-footer .priority-processing-upsell__input:checked + .priority-processing-upsell__indicator::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 4px;
    height: 7px;
    margin: 0;
    border: 0;
    border-right: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
    transform: translate(-50%, -58%) rotate(42deg);
  }

  .atc-banner--cart-footer .priority-processing-upsell__title {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
  }

  .atc-banner--cart-footer .priority-processing-upsell__helper,
  .atc-banner--cart-footer .priority-processing-upsell__helper-note,
  .atc-banner--cart-footer .priority-processing-upsell__description {
    grid-column: 2;
    text-align: left;
  }

  .atc-banner--cart-footer .priority-processing-upsell__helper {
    grid-row: 2;
    font-size: 13px;
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.62);
    overflow: visible;
    white-space: normal;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }

  .atc-banner--cart-footer .priority-processing-upsell__helper-note {
    grid-row: 3;
    font-size: 13px;
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.55);
    overflow: visible;
    white-space: normal;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }

  .atc-banner--cart-footer .priority-processing-upsell__subtitle {
    grid-column: 2;
    grid-row: 4;
    margin-top: 3px;
    font-size: 14px;
    line-height: 1.12;
    text-align: left;
  }

  .atc-banner--cart-footer .priority-processing-upsell__price {
    grid-column: 2;
    grid-row: 5;
    margin-top: 3px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
  }

  .atc-banner--cart-footer .atc-button--viewcart {
    width: 100%;
    max-width: 100%;
    align-self: stretch;
  }

  .atc-banner--cart-footer .priority-processing-upsell__atc-confirm {
    padding: 11px 14px;
    border-radius: 14px;
  }

  .atc-banner--cart-footer .priority-processing-upsell__atc-confirm-title {
    font-size: 15px;
    line-height: 1.2;
  }

  .atc-banner--cart-footer .priority-processing-upsell__atc-confirm-subtitle {
    font-size: 13px;
    line-height: 1.25;
  }
}

/* ============================================================
   Desktop ATC drawer — alignment refinement (≥1024px only).
   Scope notes:
   - Targets true desktop only (mobile portrait is untouched, and
     mobile landscape is also untouched because its existing
     @media (max-width: 900px) and (orientation: landscape) rules
     stop applying well below this 1024px breakpoint).
   - Pure visual refinement: no functional, PP-logic, or overlay
     changes.
   ============================================================ */
@media (min-width: 1024px) {
  /* Close X: pull noticeably off the right edge so the button
     reads as part of the modal rather than pinned to the page edge.
     +30px further from the right vs. the previous pass; still well
     clear of the subtotal group, which sits ~20px in from column 2's
     right edge via auto-margins on the 520px-wide container, so
     there's ~46px of breathing room between the subtotal price and
     the X. */
  .atc-banner--container .atc-banner--close {
    top: 22px !important;
    right: 90px !important;
  }
}

/* Hide qty controls for Priority Processing line item. */
tr.cart-item[data-priority-processing-line] .quantity-popover-container,
tr.cart-item[data-priority-processing-line] quantity-input,
li.cart-item[data-priority-processing-line] .cart-item__quantity,
li[data-cartitem][data-priority-processing-line] .cart-item__quantity {
  display: none !important;
}

/* ============================================================
   ATC drawer — landscape-phone layouts (moved from theme.liquid)
   ------------------------------------------------------------
   Two tiers:
     1) 540px-tier — fires on any landscape phone (≤540px tall):
        product (image+title+price) on the left, PP card on the
        right, full-width subtotal strip, View Cart + Checkout
        side-by-side. Keeps drawer under 220px tall.
     2) SE-class tier — fires only on iPhone SE-class landscape
        (≤400px tall): rebalances into a 4-col grid so the
        product spans 75% of inner width, subtotal sits in col 4,
        PP card spans full width, and both CTAs are equal halves.
        Tighter typography + paddings keep drawer under 200px.

   `.atc-banner--product`, `.atc-banner--cart`, and
   `.atc-banner--cart-footer` use `display: contents` so their
   descendants (header, product card, subtotal, PP card,
   View Cart, Checkout form) become direct grid items of the
   outer `.atc-banner--inner` grid and can be placed in
   individual cells without HTML changes.
   ============================================================ */

/* 540px-tier — all landscape phones (≤540px tall) */
@media (orientation: landscape) and (max-height: 540px) {
  .atc-banner--container {
    border-bottom-left-radius: 14px !important;
    border-bottom-right-radius: 14px !important;
  }
  .atc-banner--outer {
    padding: 10px 14px !important;
  }
  .atc-banner--inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    align-items: stretch !important;
    text-align: left !important;
    padding: 4px 4px 6px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .atc-banner--product-title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 36px 2px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
    text-align: left !important;
    color: rgba(0, 0, 0, 0.85) !important;
  }
  .atc-banner--close {
    top: 8px !important;
    right: 12px !important;
    width: 28px !important;
    height: 28px !important;
  }
  .atc-banner--product {
    display: contents !important;
  }
  .atc--product {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 4px 14px 4px 0 !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
    text-align: left !important;
    min-width: 0 !important;
  }
  .atc-banner--container .atc--product-image {
    width: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .atc--product-image img,
  .atc--product-image svg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .atc--product-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  .atc-banner--container .atc--product-details--title {
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    margin: 0 0 2px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .atc--product-details--options {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
  .atc--product-details--price {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
  .atc-banner--cart {
    display: contents !important;
  }
  .atc-banner--cart-footer {
    display: contents !important;
  }
  .priority-processing-upsell {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
  .atc-banner--cart-subtotal {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 2px 0 0 !important;
    padding: 6px 0 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-left: 0 !important;
    font-size: 13px !important;
  }
  .atc-subtotal--label {
    font-size: 12px !important;
    color: rgba(29, 29, 31, 0.62) !important;
    margin: 0 !important;
  }
  .atc-subtotal--price {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 0 !important;
  }
  .atc-banner--cart-footer > a.atc-button--viewcart,
  a.atc-button--viewcart {
    grid-column: 1 !important;
    grid-row: 4 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
  }
  .atc-banner--cart-footer > form,
  form.atc-banner--cart-checkout-form {
    grid-column: 2 !important;
    grid-row: 4 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    height: auto !important;
  }
  .atc-banner--cart-footer .atc-button--viewcart,
  .atc-banner--cart-footer .atc-button--checkout {
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
  .atc-banner--cart-footer .atc-button--checkout svg {
    width: 13px !important;
    height: 13px !important;
    margin: 0 6px 0 0 !important;
  }
}

/* SE-class tier — very small landscape only (≤400px tall):
   4-col grid for maximum horizontal density. */
@media (orientation: landscape) and (max-height: 400px) {
  .atc-banner--container {
    max-height: 100dvh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
  }
  .atc-banner--outer {
    padding: 8px 40px 8px 10px !important;
  }
  .atc-banner--inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    align-items: center !important;
    padding: 2px 0 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .atc-banner--product-title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
    text-align: left !important;
    color: rgba(0, 0, 0, 0.85) !important;
  }
  .atc-banner--close {
    top: 8px !important;
    right: 10px !important;
    width: 24px !important;
    height: 24px !important;
    z-index: 2 !important;
  }
  .atc-banner--product {
    display: contents !important;
  }
  .atc--product {
    grid-column: 1 / 4 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 2px 8px 2px 0 !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
    text-align: left !important;
    min-width: 0 !important;
  }
  .atc-banner--container .atc--product-image {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .atc--product-image img,
  .atc--product-image svg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .atc--product-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  .atc-banner--container .atc--product-details--title {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    margin: 0 0 1px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .atc--product-details--options {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
  }
  .atc--product-details--price {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }
  .atc-banner--cart {
    display: contents !important;
  }
  .atc-banner--cart-footer {
    display: contents !important;
  }
  .atc-banner--cart-subtotal {
    grid-column: 4 / -1 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 0 0 8px !important;
    border: 0 !important;
    font-size: 12px !important;
    min-width: 0 !important;
    text-align: right !important;
  }
  .atc-subtotal--label {
    flex: 0 1 auto !important;
    font-size: 11px !important;
    color: rgba(29, 29, 31, 0.62) !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  .atc-subtotal--price {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  /* PP card on the LEFT half of row 3 (cols 1-2 of the 4-col grid),
     View Cart button on the RIGHT half (cols 3-4 of the same row).
     The button sits directly under the subtotal price (which lives
     in col 4 of row 2), so the visual right edge of the price and
     the right edge of the button line up cleanly. */
  .priority-processing-upsell {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    margin: 2px 0 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
  /* Wide low-profile PP card — flex row: [indicator] [text stack] [+price].
     Layout strategy:
       - Card itself = flex row. Indicator on the left (fixed 18 px),
         text content fills the middle, and price is absolutely
         positioned on the right (same approach the base ATC styles
         already use for `data-priority-surface="atc"` at line 6117).
       - The 719-tier mobile rules at the top of this file fire on
         this same viewport (iPhone SE landscape is 667 × 375, so
         max-width: 719 matches too). Those rules give the card a
         `display: grid` layout and explicitly place the indicator,
         title, subtitle, description, and price into grid cells via
         `grid-column` / `grid-row`. We must explicitly reset every
         one of those placements back to `auto` so they don't fight
         our flex layout — otherwise the children try to occupy
         non-existent grid cells and effectively disappear from view.
       - Right-padding of 56 px on the card reserves space for the
         absolutely-positioned price so it never overlaps the text. */
  .atc-banner--cart-footer .priority-processing-upsell__card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 11px !important;
    padding: 9px 52px 9px 11px !important;
    border-radius: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__indicator {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 3px 0 0 !important;
    border-radius: 999px !important;
    align-self: flex-start !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .priority-processing-upsell__input:checked + .priority-processing-upsell__indicator::after {
    width: 5px !important;
    height: 8px !important;
    margin: 3px 0 0 6px !important;
  }
  /* Reset 719-tier `display: contents` so the content wrapper holds the
     text stack as a flex column. */
  .atc-banner--cart-footer .priority-processing-upsell__content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding-right: 0 !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__title {
    order: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: #111 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__subtitle {
    display: block !important;
    order: 2 !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: rgba(0, 0, 0, 0.74) !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__helper {
    order: 3 !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__helper-note {
    order: 4 !important;
  }
  .atc-banner--cart-footer .priority-processing-upsell__description {
    display: block !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    color: rgba(0, 0, 0, 0.58) !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  /* Price pinned to the right, vertically centred against the card. */
  .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__price,
  .atc-banner--cart-footer .priority-processing-upsell__price {
    position: absolute !important;
    top: 50% !important;
    right: 11px !important;
    bottom: auto !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .priority-processing-upsell__atc-confirm {
    padding: 8px 10px !important;
    gap: 8px !important;
    border-radius: 12px !important;
  }
  .priority-processing-upsell__atc-confirm-title {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }
  .priority-processing-upsell__atc-confirm-subtitle {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  /* View Cart — right half of row 3, vertically centred so the
     34 px tall button floats in the middle of the taller PP card
     row. Right edge tracks the subtotal price's right edge above. */
  .atc-banner--cart-footer > a.atc-button--viewcart,
  a.atc-button--viewcart {
    grid-column: 3 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: center !important;
  }
  /* Checkout form selector kept for parity if the theme ever
     re-introduces a separate form; placed in the same row/col so it
     stacks behind View Cart rather than reflowing into row 4. */
  .atc-banner--cart-footer > form,
  form.atc-banner--cart-checkout-form {
    grid-column: 3 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: center !important;
    height: auto !important;
  }
  .atc-banner--cart-footer .atc-button--viewcart,
  .atc-banner--cart-footer .atc-button--checkout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 14px !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
  .atc-banner--cart-footer .atc-button--checkout svg {
    width: 12px !important;
    height: 12px !important;
    margin: 0 5px 0 0 !important;
  }
}
/* ============================================================
   ATC drawer — Apple-style stable layout (moved from theme.liquid)
   Product → Subtotal → Priority Processing → Checkout CTA
   ============================================================ */

    .atc-banner--outer {
      padding: 18px 16px !important;
      box-sizing: border-box !important;
    }

    .atc-banner--inner {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 14px !important;
      max-width: 700px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding: 0 !important;
      text-align: left !important;
      box-sizing: border-box !important;
    }

    /* Top section: product info (subtotal is NOT here) */
    .atc-banner--product {
      display: flex !important;
      flex-direction: column !important;
      gap: 10px !important;
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      min-width: 0 !important;
      border: 0 !important;
    }

    .atc-banner--product-title {
      margin: 0 !important;
      padding: 0 52px 0 0 !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      letter-spacing: -0.01em !important;
      line-height: 1.15 !important;
      color: rgba(0, 0, 0, 0.86) !important;
    }

    .atc-banner--container .atc--product,
    .atc--product {
      display: flex !important;
      align-items: center !important;
      gap: 12px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      min-width: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* Match header "Added to cart" width so image ends at "cart" */
    .atc-banner--container .atc--product-image {
      font-size: 16px !important;
      width: 6.48em !important;
      height: 6.48em !important;
      flex: 0 0 6.48em !important;
      border-radius: 12px !important;
      overflow: hidden !important;
      margin: 0 !important;
    }

    .atc-banner--container .atc--product-image img,
    .atc-banner--container .atc--product-image svg {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
    }

    .atc--product-details {
      flex: 1 1 auto !important;
      min-width: 0 !important;
      overflow: hidden !important;
    }

    .atc-banner--container .atc--product-details--title,
    .atc--product-details--title {
      display: block !important;
      -webkit-line-clamp: unset !important;
      line-clamp: unset !important;
      -webkit-box-orient: unset !important;
      white-space: nowrap !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      line-height: 1.22 !important;
      margin: 0 0 2px !important;
      width: 100% !important;
      max-width: none !important;
    }

    /* Close icon: top-right of the modal, never intersects content */
    .atc-banner--close {
      top: 14px !important;
      right: 14px !important;
      z-index: 2 !important;
      width: 30px !important;
      height: 30px !important;
    }

    /* Middle section: Subtotal (full width row) */
    .atc-banner--container .atc-banner--cart,
    .atc-banner--cart {
      display: flex !important;
      flex-direction: column !important;
      gap: 12px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      align-self: stretch !important;
    }

    .atc-banner--container .atc-banner--cart-subtotal,
    .atc-banner--cart-subtotal {
      display: flex !important;
      align-items: baseline !important;
      justify-content: space-between !important;
      gap: 12px !important;
      margin: 0 0 0 0 !important;
      margin-left: 2px !important;
      margin-right: 2px !important;
      padding: 10px 0 !important;
      border: 0 !important;
      border-top: 1px solid rgba(0, 0, 0, 0.04) !important;
      border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
      text-align: left !important;
      box-sizing: border-box !important;
      width: calc(100% - 4px) !important;
      max-width: calc(100% - 4px) !important;
      align-self: center !important;
    }

    .atc-subtotal--label {
      margin: 0 !important;
      font-size: 14px !important;
      color: rgba(29, 29, 31, 0.58) !important;
    }

    .atc-subtotal--price {
      margin: 0 !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      color: rgba(0, 0, 0, 0.88) !important;
      white-space: nowrap !important;
      text-align: right !important;
    }

    /* Priority Processing: compact inline add-on row (full width) */
    .atc-banner--container .atc-banner--cart-footer,
    .atc-banner--cart-footer {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 10px !important;
      margin: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      align-self: stretch !important;
    }

    .atc-banner--container .atc-banner--cart-footer .priority-processing-upsell,
    .atc-banner--container .atc-banner--cart-footer .atc-button--viewcart {
      width: 100% !important;
      max-width: 100% !important;
      align-self: stretch !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    .atc-banner--container .priority-processing-upsell {
      width: calc(100% - 4px) !important;
      max-width: calc(100% - 4px) !important;
      margin-left: 2px !important;
      margin-right: 2px !important;
    }

    .atc-banner--container .priority-processing-upsell__card {
      width: 100% !important;
      max-width: 100% !important;
      display: grid !important;
      grid-template-columns: 18px minmax(0, 1fr) auto !important;
      grid-template-rows: auto auto auto !important;
      column-gap: 12px !important;
      row-gap: 3px !important;
      align-items: start !important;
      padding: 12px 12px !important;
      border-radius: 14px !important;
      background: #f7f7f7 !important;
      border: 1px solid rgba(0, 0, 0, 0.08) !important;
      box-shadow: none !important;
      cursor: pointer !important;
      box-sizing: border-box !important;
      transition: background-color 180ms ease, border-color 180ms ease;
      overflow: visible !important;
    }

    .atc-banner--container .priority-processing-upsell__card:hover {
      background: #f2f2f2 !important;
      border-color: rgba(0, 0, 0, 0.12) !important;
    }

    .atc-banner--container .priority-processing-upsell__content {
      display: contents !important;
    }

    .atc-banner--container .priority-processing-upsell__indicator {
      grid-column: 1 !important;
      grid-row: 1 / -1 !important;
      width: 18px !important;
      height: 18px !important;
      margin: 0 !important;
      align-self: start !important;
    }

    .atc-banner--container .priority-processing-upsell__title {
      grid-column: 2 !important;
      grid-row: 1 !important;
      margin: 0 !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      line-height: 1.2 !important;
      letter-spacing: -0.01em !important;
      color: #111 !important;
    }

    .atc-banner--container .priority-processing-upsell__subtitle {
      grid-column: 2 !important;
      grid-row: 2 !important;
      margin: 0 !important;
      font-size: 13px !important;
      font-weight: 600 !important;
      line-height: 1.3 !important;
      color: rgba(0, 0, 0, 0.74) !important;
      display: block !important;
      white-space: normal !important;
    }

    .atc-banner--container .priority-processing-upsell__helper {
      grid-column: 2 !important;
      grid-row: 3 !important;
      margin: 0 !important;
      font-size: 13px !important;
      line-height: 1.3 !important;
      color: rgba(0, 0, 0, 0.62) !important;
      display: block !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: normal !important;
      word-wrap: break-word !important;
      overflow-wrap: anywhere !important;
      -webkit-line-clamp: unset !important;
      line-clamp: unset !important;
    }

    .atc-banner--container .priority-processing-upsell__helper-note {
      grid-column: 2 !important;
      grid-row: 3 !important;
      margin: 0 !important;
      font-size: 13px !important;
      line-height: 1.3 !important;
      color: rgba(0, 0, 0, 0.55) !important;
      display: block !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: normal !important;
      word-wrap: break-word !important;
      overflow-wrap: anywhere !important;
      -webkit-line-clamp: unset !important;
      line-clamp: unset !important;
    }

    .atc-banner--container .priority-processing-upsell__price {
      grid-column: 3 !important;
      grid-row: 1 !important;
      margin: 0 !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      line-height: 1.2 !important;
      color: #111 !important;
      white-space: nowrap !important;
      align-self: start !important;
      justify-self: end !important;
      position: static !important;
      top: auto !important;
      right: auto !important;
      transform: none !important;
    }

    /* Landscape: keep product copy clear of the close button */
    @media (orientation: landscape) {
      .atc-banner--inner {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
      }

      .atc-banner--product {
        display: flex !important;
        flex-direction: column !important;
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
      }

      .atc-banner--container .atc-banner--cart,
      .atc-banner--cart {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-left: 0 !important;
      }

      /* Full-width subtotal strip — beats desktop max-width: 520px in custom-overrides */
      .atc-banner--container .atc-banner--cart-subtotal,
      .atc-banner--cart-subtotal {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: calc(100% - 4px) !important;
        max-width: calc(100% - 4px) !important;
        margin-left: 2px !important;
        margin-right: 2px !important;
        padding: 10px 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.04) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
        align-self: center !important;
        text-align: left !important;
        box-sizing: border-box !important;
        grid-column: auto !important;
        grid-row: auto !important;
      }

      .atc-banner--container .atc-banner--cart-footer .priority-processing-upsell,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] {
        width: calc(100% - 4px) !important;
        max-width: calc(100% - 4px) !important;
        margin-left: 2px !important;
        margin-right: 2px !important;
      }

      .atc-banner--container .atc-banner--cart-footer,
      .atc-banner--cart-footer {
        display: flex !important;
        flex-direction: column !important;
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: stretch !important;
      }

      .atc-banner--outer {
        padding-right: 44px !important;
      }
      .atc-banner--product-title {
        padding-right: 72px !important;
      }
      .atc-banner--container .atc--product,
      .atc--product {
        padding-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        border-right: 0 !important;
      }
      /* Product row: title left, qty × price on same line at far right */
      .atc-banner--container .atc--product-details,
      .atc--product-details {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto auto !important;
        column-gap: 10px !important;
        row-gap: 2px !important;
        align-items: baseline !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        overflow: visible !important;
      }

      .atc-banner--container .atc--product-details--title,
      .atc--product-details--title {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        padding-right: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        font-weight: 600 !important;
      }

      .atc-banner--container .atc--product-details--price,
      .atc--product-details--price {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: baseline !important;
        margin: 0 !important;
        padding-right: 0 !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        text-align: right !important;
      }

      .atc-subtotal--price {
        padding-right: 0 !important;
      }

      .atc--product-details--options {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
      }

      .atc--product-details .discount-list {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
      }

      .atc--product-details .atc--line-item-subscriptions {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
      }

      /* PP card: beat SE-tier flex `order` rules — title + price share row 1 */
      .atc-banner--cart-footer .priority-processing-upsell__card,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__card {
        display: grid !important;
        grid-template-columns: 18px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 22px !important;
        row-gap: 3px !important;
        align-items: start !important;
        padding: 12px 14px !important;
        flex-direction: unset !important;
      }

      .atc-banner--cart-footer .priority-processing-upsell__content,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__content {
        display: contents !important;
        flex: unset !important;
        flex-direction: unset !important;
        gap: unset !important;
        padding-right: 0 !important;
      }

      .atc-banner--cart-footer .priority-processing-upsell__indicator,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__indicator {
        grid-column: 1 !important;
        grid-row: 1 / -1 !important;
        margin: 0 !important;
        flex: unset !important;
        order: unset !important;
      }

      .atc-banner--cart-footer .priority-processing-upsell__title,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__title {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        order: unset !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        align-self: start !important;
      }

      .atc-banner--cart-footer .priority-processing-upsell__subtitle,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__subtitle {
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin: 0 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        color: rgba(0, 0, 0, 0.74) !important;
        white-space: normal !important;
      }

      .atc-banner--cart-footer .priority-processing-upsell__helper,
      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__helper {
        grid-column: 2 / -1 !important;
        grid-row: 3 !important;
        margin: 0 !important;
        order: unset !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
      }

      .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__price,
      .atc-banner--cart-footer .priority-processing-upsell__price {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: start !important;
        justify-self: end !important;
        margin: 0 !important;
        padding: 0 !important;
        order: unset !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
      }
    }

    /* Portrait: full product title + PP copy uses full width beside price */
    @media (orientation: portrait) {
      .atc-banner--container .atc--product,
      .atc--product {
        max-width: 100% !important;
        width: 100% !important;
      }

      .atc--product-details {
        overflow: visible !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding-top: 2px !important;
      }

      .atc-banner--container .atc--product-details--title,
      .atc--product-details--title {
        display: block !important;
        font-weight: 600 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__content {
        padding-right: 0 !important;
      }

      .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__title,
      .atc-banner--cart-footer .priority-processing-upsell__title {
        padding-right: 0 !important;
      }

      .atc-banner--container .priority-processing-upsell__card {
        grid-template-columns: 18px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 10px !important;
        padding-right: 10px !important;
      }

      .atc-banner--container .priority-processing-upsell__subtitle {
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin: 0 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        color: rgba(0, 0, 0, 0.74) !important;
        white-space: normal !important;
      }

      .atc-banner--container .priority-processing-upsell__helper {
        grid-column: 2 / -1 !important;
        grid-row: 3 !important;
        margin: 0 !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
      }

      .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__price,
      .atc-banner--cart-footer .priority-processing-upsell__price {
        grid-row: 1 !important;
        grid-column: 3 !important;
        align-self: start !important;
        justify-self: end !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        transform: none !important;
      }
    }

    /* Bottom section: full width CTA */
    .atc-banner--container .atc-banner--cart-footer > a.atc-button--viewcart,
    .atc-banner--cart-footer > a.atc-button--viewcart {
      width: 100% !important;
      margin: 0 !important;
      max-width: 100% !important;
      align-self: stretch !important;
    }

    /*
      Final cascade win: desktop custom-overrides caps subtotal/footer at 520px.
      Higher specificity + last in document = full-width divider lines on iPad/desktop.
    */
    .atc-banner--container .atc-banner--inner .atc-banner--cart,
    .atc-banner--container .atc-banner--cart {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      align-self: stretch !important;
    }

    .atc-banner--container .atc-banner--inner .atc-banner--cart-subtotal,
    .atc-banner--container .atc-banner--cart-subtotal {
      width: calc(100% - 4px) !important;
      max-width: calc(100% - 4px) !important;
      margin-left: 2px !important;
      margin-right: 2px !important;
      align-self: center !important;
      justify-content: space-between !important;
      box-sizing: border-box !important;
    }

    .atc-banner--container .atc-banner--cart-footer .priority-processing-upsell,
    .atc-banner--container .priority-processing-upsell[data-priority-surface="atc"] {
      width: calc(100% - 4px) !important;
      max-width: calc(100% - 4px) !important;
      margin-left: 2px !important;
      margin-right: 2px !important;
    }

    .atc-banner--container .atc-banner--inner .atc-banner--cart-footer,
    .atc-banner--container .atc-banner--cart-footer {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      align-items: stretch !important;
      align-self: stretch !important;
    }

    .atc-banner--container .atc-banner--inner .atc-banner--cart-footer .priority-processing-upsell,
    .atc-banner--container .atc-banner--inner .atc-banner--cart-footer .atc-button--viewcart,
    .atc-banner--container .atc-banner--cart-footer .priority-processing-upsell,
    .atc-banner--container .atc-banner--cart-footer .atc-button--viewcart {
      width: 100% !important;
      max-width: 100% !important;
      align-self: stretch !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    /* Never truncate Priority Processing copy in the ATC drawer */
    .atc-banner--cart-footer .priority-processing-upsell__title,
    .atc-banner--cart-footer .priority-processing-upsell__helper,
    .atc-banner--cart-footer .priority-processing-upsell__helper-note,
    .atc-banner--cart-footer .priority-processing-upsell__description,
    .atc-banner--cart-footer .priority-processing-upsell__subtitle {
      display: block !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: normal !important;
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      -webkit-line-clamp: unset !important;
      line-clamp: unset !important;
      -webkit-box-orient: unset !important;
    }

/* Cart page — restore Priority Processing card (isolate from ATC drawer rules) */
body.template-cart .priority-processing-upsell[data-priority-surface="page"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: auto !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  align-items: start !important;
  flex-direction: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 14px !important;
  border: 1px solid #eee !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  overflow: visible !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  flex: none !important;
  min-width: 0 !important;
  padding-right: 68px !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__indicator {
  grid-column: auto !important;
  grid-row: auto !important;
  order: unset !important;
  flex: none !important;
  width: 22px !important;
  height: 22px !important;
  margin-top: 1px !important;
  align-self: auto !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__title,
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__subtitle,
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__description,
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__helper,
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__helper-note {
  grid-column: auto !important;
  grid-row: auto !important;
  order: unset !important;
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__subtitle {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: rgba(0, 0, 0, 0.74) !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__description {
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  color: rgba(0, 0, 0, 0.62) !important;
}
body.template-cart .priority-processing-upsell[data-priority-surface="page"] .priority-processing-upsell__price {
  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  order: unset !important;
  align-self: auto !important;
  justify-self: auto !important;
  margin-top: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* ATC drawer mobile portrait only — push helper below subtitle */
@media screen and (max-width: 719px) and (orientation: portrait) {
  .atc-banner--cart-footer .priority-processing-upsell__subtitle,
  .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__subtitle {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .atc-banner--cart-footer .priority-processing-upsell__helper,
  .priority-processing-upsell[data-priority-surface="atc"] .priority-processing-upsell__helper {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin-top: 3px !important;
  }
}


/* Registered trademark — secondary to the wordmark (Apple-style) */
.trademark-symbol {
  font-size: 0.6em;
  vertical-align: super;
  line-height: 0;
  letter-spacing: normal;
  font-weight: 500;
  opacity: 0.72;
  position: relative;
  top: 0.14em;
  left: -0.12em;
}

/* Main nav + mobile drawer — RealAged® lockup (lower than generic sup; beats body sup { top: -0.65em }) */
.site-navigation sup.ra-reg,
.site-navigation .ra-reg,
#site-mobile-nav sup.ra-reg,
#site-mobile-nav .ra-reg {
  font-size: 0.55em !important;
  vertical-align: super !important;
  line-height: 0 !important;
  position: relative !important;
  top: 0.1em !important;
  font-weight: 600 !important;
  color: currentColor !important;
  opacity: 1 !important;
}

/* Logo lockup ® — visual only, not alt text or meta.
   font-size on .brand-logo-lockup must match logo height so em scales correctly. */
.brand-logo-lockup {
  position: relative;
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
}

.brand-logo-lockup::after {
  content: '\00AE';
  position: absolute;
  top: 0.08em;
  right: -0.45em;
  font-size: 0.38em;
  font-weight: 500;
  line-height: 0;
  letter-spacing: normal;
  opacity: 0.72;
  color: currentColor;
  pointer-events: none;
}

/* Header logo lockup — desktop */
@media screen and (min-width: 1024px) {
  .site-header .site-logo .brand-logo-lockup::after {
    color: #1d1d1f;
    top: calc(0.50em + 8px);
    right: calc(-0.28em + 5px);
    font-size: calc(0.22em - 4px);
  }
}

/* Mobile header bar — logo 1px smaller, ® 1px lower and 1px left */
@media screen and (max-width: 1023px) {
  .site-header .site-logo .brand-logo-lockup::after {
    color: #1d1d1f;
    top: calc(0.50em + 9px);
    right: calc(-0.28em + 5px);
    font-size: calc(0.22em - 4px);
  }
}

/* Mobile drawer logo lockup — same ® as header bar */
#site-mobile-nav .brand-logo-lockup::after {
  color: #1d1d1f;
  top: calc(0.50em + 5px);
  right: calc(-0.28em + 4px);
  font-size: calc(0.22em - 2px);
}

.footer-branding .brand-logo-lockup {
  font-size: 26px;
}

/* ® proportional to hamburger menu lockup (46px → 26px footer logo) */
.footer-branding .brand-logo-lockup::after {
  color: #1d1d1f;
  top: calc(0.50em + 3px);
  right: calc(-0.28em + 0px);
  font-size: calc(0.22em);
}

/* As Seen On — Journal CTA rich text (inline styles removed for Shopify richtext validation) */
.as-seen-on-journal-cta .rich-text-content > p:first-of-type {
  margin: 0 0 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.55);
}

.as-seen-on-journal-cta .rich-text-content > h2 {
  margin: 0 0 10px;
  font-family: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 520;
  letter-spacing: -0.02em;
}

.as-seen-on-journal-cta .rich-text-content > p:nth-of-type(2) {
  margin: 0;
  color: rgba(0, 0, 0, 0.62);
  font-size: 15px;
  line-height: 1.6;
}

.as-seen-on-journal-cta .rich-text-content > p:last-of-type {
  margin: 14px 0 0;
}

.as-seen-on-journal-cta .rich-text-content a {
  font-weight: 700;
  text-decoration: none;
}



/* Moved from layout/theme.liquid (4950–5735) to stay under 256KB layout limit */
  /* FORCE BOTH BARS TO BE IDENTICAL */
  .announcement-static {
    background: #f5f3ed;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }
  
  .announcement-static .announcement-bar__text,
  .announcement-static .announcement-bar__text a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
    line-height: 1.25;
  
    height: 38px;          /* ← THIS MATCHES BOTH BARS */
    padding: 0 10px;
    white-space: nowrap;
  
    color: #1d1d1f;
    text-decoration: none;
  }


.announcement-static .announcement-bar__text a {
  margin: 0 !important;
  padding: 0 !important;
}

.announcement-mobile { display: none; }
.announcement-desktop { display: inline; }

@media (max-width: 768px) {
  .announcement-desktop { display: none; }
  .announcement-mobile { display: inline; }
}

.announcement-bar a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.announcement-bar {
  padding: 8px 16px;
  font-size: 13px;
  line-height: 1.3;
}

/* Match secondary bar height to rotating bar below */
.announcement-static.announcement-bar--secondary {
  padding: 0 !important;
}

@media (max-width: 768px) {
  .announcement-bar {
    padding: 6px 12px;
    font-size: 12px;
  }

  .announcement-static.announcement-bar--secondary {
    padding: 0 !important;
  }
}

.announcement-bar a {
  display: block;
  padding: 0;
}

  .announcement-static.temporary-checkout-alert {
    background: #FDEFC9;
    border-bottom: 1px solid #F8DDA3;
  }

  .announcement-static.temporary-checkout-alert .announcement-bar__text,
  .announcement-static.temporary-checkout-alert .announcement-bar__text a {
    color: #1D1D1F !important;
    font-weight: 500 !important;
  }

  .announcement-static.temporary-checkout-alert .announcement-bar__text a {
    text-decoration: none !important;
  }

  .announcement-static.temporary-checkout-alert .announcement-bar__text a:hover {
    text-decoration: underline !important;
  }

  .site-main-dimmer {
    background: rgba(255,255,255,0.35) !important;
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
  }

  @media (min-width: 768px) {
    .announcement-static {
      position: relative;
      z-index: 10002;
    }
  }
  /* Fade transition for rotating messages */
  .announcement-rotating {
    position: relative;
  }
  .announcement-rotating .announcement-message {
    opacity: 0;
    transition: opacity 0.45s ease;
    position: absolute;
    left: 0;
    right: 0;
  }
  .announcement-rotating .announcement-message.active {
    opacity: 1;
    position: relative;
  }

  .desktop-only { display: block; }
  .mobile-only { display: none; }

  @media (max-width: 767px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: block !important; }
  }
  
  /* Global page container: max-width + centered layout with side spacing */
  .page-width,
  .container,
  .main-content,
  .product__container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }
  .product__container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .template-product .product__container {
    padding-right: 20px !important;
  }
  /* Prevent horizontal overflow */
  body {
    overflow-x: hidden;
  }
  /* Allow flex/grid children to shrink below content size - prevents horizontal overflow */
  .product__container,
  .product--outer,
  .product-gallery,
  .product-main,
  .product-details,
  .product-block,
  .product-form__action-wrapper,
  .approval-required-wrap,
  .featured-product__container,
  .featured-collection__container,
  .article--container,
  .cart--section {
    min-width: 0 !important;
  }
  /* Ensure long text wraps instead of overflowing */
  .product-title,
  .product-details,
  .product-block--title h1,
  .product-block--title h2,
  .product-form__action-wrapper,
  .authorized-use-notice,
  .product-description,
  .product-block--form,
  .approval-required-wrap,
  .product-form--atc-button {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }
  /* All text in product details must wrap - catch links, paragraphs, buttons */
  .template-product .product-details,
  .template-product .product-details *,
  .template-product .product-main a,
  .template-product .product-main p,
  .template-product .product-main button,
  .template-product .product-main .product-block {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  .template-product .product-details .product-form--buy-now-button {
    overflow-wrap: normal !important;
    word-wrap: normal !important;
    word-break: normal !important;
  }
  /* Keep purchase controls from clipping focus rings; text blocks still wrap via word-break rules */
  .template-product .product-main {
    overflow-x: visible !important;
  }

  .template-product .product-form--atc,
  .template-product .product-form__action-wrapper {
    overflow: visible !important;
  }
  /* Keep product-page content aligned to standard container gutters */
  .template-product .product-main,
  .template-product .product-details {
    box-sizing: border-box !important;
  }
  .template-product .product-main {
    margin-left: 0 !important;
  }
  /* Product page: description, readmore, and collapsible content must wrap - prevent right-edge cutoff */
  .template-product .product-description,
  .template-product .product-readmore,
  .template-product .collapsible-tab__text,
  .template-product .product-text,
  .template-product .product-block--description,
  .template-product .product-block--collapsible-tab {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .template-product .product-description.rte,
  .template-product .product-readmore.rte,
  .template-product .collapsible-tab__text .rte,
  .template-product .product-description p,
  .template-product .product-readmore p,
  .template-product .collapsible-tab__text p,
  .template-product .product-description li,
  .template-product .product-readmore li,
  .template-product .collapsible-tab__text li {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
  }
  /* When two-column layout is active: allow product-main to shrink so content wraps instead of overflowing */
  @media (min-width: 1101px) {
    .template-product .product--outer {
      flex-wrap: nowrap !important;
      min-width: 0 !important;
      column-gap: 24px !important;
    }
    .template-product .product-gallery {
      flex: 0 0 51.5% !important;
      min-width: 0 !important;
    }
    .template-product .product-main {
      flex: 0 1 46% !important;
      min-width: 0 !important;
    }
  }
  
  /* MOBILE: TALLER BAR + SHORT SHIPPING TEXT (FIRST BAR ONLY) */
  @media (max-width: 767px) {
  
    /* bar sizing */
    .announcement-static .announcement-bar__text,
    .announcement-static .announcement-bar__text a {
      font-size: 13.5px;
      font-weight: 500 !important;
      letter-spacing: 0.02em;
      min-height: 46px !important;
      height: 46px !important;
      line-height: 1.2;
      padding: 0 14px;
      white-space: nowrap;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  
  }
  button,
.button,
.btn,
input[type="submit"],
.shopify-payment-button__button {
  border-radius: 30px !important;
}
a.button,
a.btn,
a[class*="button"],
a[class*="btn"] {
  border-radius: 30px !important;
}
.live-search-form {
  border-radius: 30px !important;
  overflow: hidden !important;
}

.live-search-form input {
  border-radius: 30px 0 0 30px !important;
}

.live-search-button {
  border-radius: 0 30px 30px 0 !important;
}
.product-gallery--media-thumbnail-img-wrapper,
.product-gallery--media-thumbnail-img-wrapper img,
.product-gallery--image-thumbnail,
.product-gallery--image-thumbnail img {
  border-radius: 0 !important;
}
/* Remove label */
.quantity-selector__label {
  display: none !important;
}

.template-product .product--outer {
  padding-top: 16px !important;
}

/* Desktop product pages: more space between image and text */
@media screen and (min-width: 1101px) {
  .template-product .product-main {
    margin-left: 3% !important;
  }
}

/* Collection pages: Globo sort/limit controls — rounded attached dropdown */
body.template-collection #gf-controls-container,
body.template-search #gf-controls-container {
  --pm-gf-control-radius: 12px;
  --pm-gf-control-border: #c8c8c8;
  --pm-gf-sort-width: 196px;
}

body.template-collection #gf-controls-container .gf-filter-selection,
body.template-search #gf-controls-container .gf-filter-selection {
  overflow: visible !important;
}

body.template-collection #gf-controls-container .sort-by,
body.template-search #gf-controls-container .sort-by {
  border: 1px solid var(--pm-gf-control-border) !important;
  border-radius: var(--pm-gf-control-radius) !important;
  background: #fff !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.template-collection #gf-controls-container .sort-by .sort-by-toggle,
body.template-search #gf-controls-container .sort-by .sort-by-toggle {
  border-radius: var(--pm-gf-control-radius) !important;
  background: transparent !important;
}

body.template-collection #gf-controls-container .sort-by.active,
body.template-search #gf-controls-container .sort-by.active {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  z-index: 20 !important;
}

body.template-collection #gf-controls-container .sort-by.active .sort-by-toggle,
body.template-search #gf-controls-container .sort-by.active .sort-by-toggle,
body.template-collection #gf-controls-container .sort-by.limit-by.active .pm-limit-toggle,
body.template-search #gf-controls-container .sort-by.limit-by.active .pm-limit-toggle {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.template-collection #gf-controls-container .sort-by:not(.limit-by),
body.template-search #gf-controls-container .sort-by:not(.limit-by) {
  flex: 0 0 var(--pm-gf-sort-width) !important;
  width: var(--pm-gf-sort-width) !important;
  min-width: var(--pm-gf-sort-width) !important;
  max-width: var(--pm-gf-sort-width) !important;
}

body.template-collection #gf-controls-container .sort-by.limit-by,
body.template-search #gf-controls-container .sort-by.limit-by {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

body.template-collection #gf-controls-container .sort-by.limit-by label[for="setLimit"],
body.template-search #gf-controls-container .sort-by.limit-by label[for="setLimit"] {
  margin: 0 3px 0 10px !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

body.template-collection #gf-controls-container .sort-by.limit-by .pm-limit-toggle,
body.template-search #gf-controls-container .sort-by.limit-by .pm-limit-toggle {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 25px 0 4px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  height: 38px !important;
  line-height: 38px !important;
  font: inherit !important;
  color: inherit !important;
  text-align: left !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: var(--pm-gf-control-radius) !important;
  box-sizing: border-box !important;
}

body.template-collection #gf-controls-container .globo-dropdown-custom__options,
body.template-search #gf-controls-container .globo-dropdown-custom__options {
  left: -1px !important;
  right: -1px !important;
  width: calc(100% + 2px) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-top: 0 !important;
  padding: 6px 0 !important;
  border: 1px solid var(--pm-gf-control-border) !important;
  border-top: 1px solid #e5e5e5 !important;
  border-radius: 0 0 var(--pm-gf-control-radius) var(--pm-gf-control-radius) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12) !important;
  box-sizing: border-box !important;
}

body.template-collection #gf-controls-container .globo-dropdown-custom__options span,
body.template-search #gf-controls-container .globo-dropdown-custom__options span {
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.template-collection #gf-controls-container .sort-by:not(.limit-by) .globo-dropdown-custom__options span,
body.template-search #gf-controls-container .sort-by:not(.limit-by) .globo-dropdown-custom__options span {
  overflow: visible !important;
  text-overflow: clip !important;
}

body.template-collection #gf-controls-container .globo-dropdown-custom__options span.pm-gf-option-selected::before,
body.template-search #gf-controls-container .globo-dropdown-custom__options span.pm-gf-option-selected::before {
  content: "✓ ";
  font-weight: 700;
}

body.template-collection #gf-controls-container .sort-by:not(.limit-by) .sort-by-toggle span,
body.template-search #gf-controls-container .sort-by:not(.limit-by) .sort-by-toggle span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 767px) {
  body.template-collection #gf-controls-container,
  body.template-search #gf-controls-container {
    --pm-gf-sort-width: 100%;
  }

  body.template-collection #gf-controls-container .sort-by:not(.limit-by),
  body.template-search #gf-controls-container .sort-by:not(.limit-by) {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.template-collection #gf-controls-container .gf-filter-trigger .gf-refine-toggle-mobile,
  body.template-search #gf-controls-container .gf-filter-trigger .gf-refine-toggle-mobile {
    border-radius: var(--pm-gf-control-radius) !important;
    border-color: var(--pm-gf-control-border) !important;
    overflow: hidden !important;
  }

  body.template-collection #gf-controls-container .gf-filter-selection .sort-by:not(.active),
  body.template-search #gf-controls-container .gf-filter-selection .sort-by:not(.active) {
    border-color: var(--pm-gf-control-border) !important;
    border-radius: var(--pm-gf-control-radius) !important;
  }

  body.template-collection #gf-controls-container .gf-filter-selection .sort-by.active,
  body.template-search #gf-controls-container .gf-filter-selection .sort-by.active {
    border-color: var(--pm-gf-control-border) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  body.template-collection #gf-controls-container .gf-filter-selection .sort-by.active .sort-by-toggle,
  body.template-search #gf-controls-container .gf-filter-selection .sort-by.active .sort-by-toggle {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  /* Globo mobile filter drawer — Apple premium */
  body.gf-offcanvas #gf-tree .gf-filter-header > .gf-filter-heading {
    text-transform: none !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    letter-spacing: -0.022em !important;
    color: #1d1d1f !important;
  }

  /* Hide duplicate lower "Filter by" label; keep Clear All link */
  body.gf-offcanvas #gf-tree .js-floating-refinements .plp-title-filters {
    font-size: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
    padding: 0 15px 4px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  body.gf-offcanvas #gf-tree .js-floating-refinements .plp-title-filters a,
  body.gf-offcanvas #gf-tree .js-floating-refinements .plp-title-filters .clear-refinements,
  body.gf-offcanvas #gf-tree .js-floating-refinements .plp-title-filters button {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: #1d1d1f !important;
    text-transform: none !important;
  }

  body.gf-offcanvas #gf-tree .globo-selected-items-wrapper > .gf-block-title h3,
  body.gf-offcanvas #gf-tree .globo-selected-items-wrapper > .gf-block-title .h3 {
    display: none !important;
  }

  body.gf-offcanvas #gf-tree .globo-selected-items-wrapper > .gf-block-title {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 0 15px 4px !important;
    border: 0 !important;
  }

  body.gf-offcanvas #gf-tree .gf-filter-footer button {
    text-transform: none !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    background: #1d1d1f !important;
    border: 1px solid #1d1d1f !important;
    border-radius: 999px !important;
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 20px !important;
  }

  body.gf-offcanvas #gf-tree .gf-filter-footer button:hover,
  body.gf-offcanvas #gf-tree .gf-filter-footer button:focus {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
  }
}

/* Product page: rounded variant option dropdowns (matches quickshop + pill buttons) */
.template-product .options-selection__select {
  position: relative !important;
}

.template-product .options-selection__input-select-wrapper {
  position: relative !important;
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 12px !important;
  overflow: visible !important;
}

.template-product .options-selection__input-select-wrapper.is-open .options-selection__input-select,
.modal--quickshop-slim .options-selection__input-select-wrapper.is-open .options-selection__input-select {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-color: #a8a8a8 !important;
}

.template-product .pm-option-dropdown__list,
.modal--quickshop-slim .pm-option-dropdown__list {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid #c8c8c8 !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12) !important;
  max-height: min(280px, 50vh) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 60 !important;
  box-sizing: border-box !important;
  -webkit-overflow-scrolling: touch;
}

.template-product .pm-option-dropdown__option,
.modal--quickshop-slim .pm-option-dropdown__option {
  padding: 12px 14px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #1d1d1d !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.template-product .pm-option-dropdown__option.is-selected::before,
.modal--quickshop-slim .pm-option-dropdown__option.is-selected::before {
  content: "✓ ";
  font-weight: 700;
}

.template-product .pm-option-dropdown__option.is-disabled,
.modal--quickshop-slim .pm-option-dropdown__option.is-disabled {
  opacity: 0.55 !important;
  cursor: default !important;
}

.template-product .pm-option-dropdown__option:not(.is-disabled):active,
.modal--quickshop-slim .pm-option-dropdown__option:not(.is-disabled):active {
  background: #f0f0f0 !important;
}

/* Custom dropdown: native select is display-only; wrapper receives all taps */
.pm-option-dropdown-wrap {
  cursor: pointer !important;
}

.pm-option-dropdown-wrap .options-selection__input-select {
  pointer-events: none !important;
}

.pm-option-dropdown-wrap .pm-option-dropdown__list,
.pm-option-dropdown-wrap .pm-option-dropdown__option {
  pointer-events: auto !important;
}

.template-product .options-selection__select-label {
  position: absolute !important;
  left: 14px !important;
  z-index: 3 !important;
  pointer-events: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: #888 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: top 125ms cubic-bezier(0, 0, 0.2, 1), font-size 125ms cubic-bezier(0, 0, 0.2, 1), transform 125ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.template-product .options-selection__select:has(.options-selection__input-select:not([data-variant-option-chosen-value="false"])) .options-selection__select-label {
  top: 0.4375rem !important;
  transform: none !important;
  font-size: 11px !important;
  color: #666 !important;
}

.template-product .options-selection__input-select {
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 1.375rem 36px 0.625rem 14px !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  background: #fff !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: #1d1d1d !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  vertical-align: middle !important;
}

.template-product .options-selection__input-select[data-variant-option-chosen-value="false"] {
  color: transparent !important;
}

.template-product .options-selection__input-select:not([data-variant-option-chosen-value="false"]) {
  color: #1d1d1d !important;
  font-weight: 500 !important;
}

.template-product .options-selection__input-select:focus {
  border-color: #a8a8a8 !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
  outline: none !important;
}

.template-product .options-selection__input-select-chevron,
.template-product .options-selection__input-select-wrapper svg {
  position: absolute !important;
  top: 50% !important;
  right: 14px !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
  pointer-events: none !important;
  z-index: 3 !important;
  color: #555 !important;
}

/* Product quantity selector – match ATC button height, Empire pill style */
.template-product .product-form__action-wrapper > .quantity-selector,
.template-product .product-form__action-wrapper > quantity-selector.quantity-selector {
  display: flex !important;
  align-items: stretch !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid #dcdcdc !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.template-product .product-form__action-wrapper .quantity-selector__wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 !important;
  min-width: 0 !important;
  padding: 0 14px !important;
}

.template-product .product-form__action-wrapper .quantity-selector__button-wrapper {
  flex-shrink: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.template-product .product-form__action-wrapper .quantity-selector__button,
.template-product .product-form__action-wrapper .quantity-selector__button.quantity-selector__button--minus,
.template-product .product-form__action-wrapper .quantity-selector__button.quantity-selector__button--plus {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1d1d1d !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.template-product .product-form__action-wrapper .quantity-selector__button:hover {
  background: #f4f4f4 !important;
}

.template-product .product-form__action-wrapper .quantity-selector__button:focus {
  box-shadow: none !important;
}

.template-product .product-form__action-wrapper .quantity-selector__input {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 60px !important;
  border: none !important;
  background: transparent !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
  padding: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

.template-product .product-form__action-wrapper > .product-form--atc-button {
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  position: relative !important;
}

.template-product .product-form__action-wrapper > .product-form--atc-button .atc-button--text {
  line-height: 1 !important;
}

.template-product .product-form__action-wrapper > .product-form--atc-button .atc-button--icon svg {
  vertical-align: middle !important;
}

/* Add to Cart — premium focus ring (no clipped blue Empire outline after cart drawer) */
.template-product .product-form--atc-button:focus {
  outline: none !important;
}

.template-product .product-form--atc-button:focus:not(:focus-visible) {
  box-shadow: none !important;
}

.template-product .product-form--atc-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.14) !important;
}

/* Buy Now — full width below qty + ATC row (all breakpoints) */
.template-product .product-form--atc {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.template-product .product-form__buy-now-row {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 12px !important;
  padding-top: 0 !important;
  border-top: none !important;
  box-sizing: border-box !important;
}

.template-product .product-form--buy-now-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 999px !important;
  background: #000 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.template-product .product-form--buy-now-button:hover {
  background: #111 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.template-product .product-form--buy-now-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

.template-product .product-form--buy-now-button.processing {
  opacity: 0.72 !important;
  cursor: wait !important;
  transform: none !important;
}

/* No Checkout+ on product page — protection choice happens on /cart */
.template-product .product-form--atc redo-shopify-toggle,
.template-product .product-form--atc [class*="redo-"],
.template-product .product-form--atc [id*="redo-"] {
  display: none !important;
}

/* Switch to single-column earlier to prevent right-edge cutoff (was 932px) */
@media (max-width: 1100px) {
  .template-product .product__container,
  .template-product .product__container--two-columns,
  .template-product .product--outer {
    display: block !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .template-product .product-gallery,
  .template-product .product-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  .template-product .product-main {
    margin-left: 0 !important;
  }

  .template-product .product-form--atc {
    margin-bottom: 8px !important;
  }

  .template-product .product-form__action-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
  }

  .template-product .authorized-use-notice {
    order: -1 !important;
    width: 100% !important;
    margin-top: 14px !important;
    margin-bottom: 22px !important;
  }

  /* Quantity selector */
  .template-product .product-form__action-wrapper > .quantity-selector,
  .template-product .product-form__action-wrapper > quantity-selector.quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
  }

  .template-product .product-form__action-wrapper .quantity-selector__wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 12px !important;
  }

  .template-product .product-form__action-wrapper .quantity-selector__button {
    width: 32px !important;
    height: 32px !important;
  }

  .template-product .product-form__action-wrapper .quantity-selector__input {
    width: 36px !important;
  }

  /* Add to cart */
  .template-product .product-form__action-wrapper > .product-form--atc-button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /* Continue to checkout */
  .template-product .shopify-payment-button,
  .template-product .shopify-payment-button__button,
  .template-product .atc-button--checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}


@media (min-width: 1025px) {
  .template-product .quantity-selector,
  .template-product .product-form--atc-button,
  .template-product .shopify-payment-button__button,
  .template-product .atc-button--checkout {
    height: 48px !important;
    min-height: 48px !important;
  }

  .template-product .product-form--buy-now-button {
    height: 50px !important;
    min-height: 50px !important;
  }

  .template-product .product-form__action-wrapper > quantity-selector.quantity-selector,
  .template-product .product-form__action-wrapper > .quantity-selector,
  .template-product .product-form__action-wrapper > .product-form--atc-button,
  .template-product .product-form__action-wrapper > .atc-button--checkout,
  .template-product .product-form__action-wrapper > .shopify-payment-button__button {
    height: 48px !important;
    min-height: 48px !important;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {
  .template-product .quantity-selector,
  .template-product .product-form--atc-button,
  .template-product .shopify-payment-button__button,
  .template-product .atc-button--checkout {
    height: 44px !important;
    min-height: 44px !important;
  }

  .template-product .product-form--buy-now-button {
    height: 48px !important;
    min-height: 48px !important;
  }
}

/* Phone/tablet landscape: width is often >767px, so do not use max-width:767 only.
   Checkout link: +2px vs Add to cart (50px below 768, 46px at 768–1024). */
@media (max-width: 1024px) and (orientation: landscape) {
  .template-product .product-form__action-wrapper > .atc-button--checkout {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 20px !important;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .template-product .product-form__action-wrapper > .atc-button--checkout {
    height: 50px !important;
    min-height: 50px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .template-product .product-form__action-wrapper > .atc-button--checkout {
    height: 46px !important;
    min-height: 46px !important;
  }
}

/* Keep ATC drawer buttons on one row on mobile across all pages */
@media (max-width: 719px) {
  .atc-banner--cart {
    margin-top: 1.25rem !important;
  }

  .atc--product {
    margin-top: 0.85rem !important;
  }

  .atc-banner--container .atc--product-details--title {
    line-height: 1.2 !important;
  }

  .atc-banner--cart-subtotal {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }

  .atc-subtotal--label {
    flex: 0 1 auto;
    margin: 0 !important;
  }

  .atc-subtotal--price {
    flex: 0 0 auto;
    display: block !important;
    margin-left: 0 !important;
    text-align: right !important;
  }

  .atc-banner--cart-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 0.5rem !important;
  }

  .atc-banner--cart-footer > .priority-processing-upsell {
    grid-row: 1 !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    align-self: stretch !important;
  }

  .atc-banner--cart-footer > a.atc-button--viewcart,
  .atc-banner--cart-footer > form {
    grid-row: 2 !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .atc-banner--cart-footer > form .atc-button--checkout,
  .template-product .atc-banner--cart-footer .atc-button--checkout {
    margin-top: 0 !important;
  }

  .atc-banner--cart-footer .atc-button--viewcart,
  .atc-banner--cart-footer .atc-button--checkout {
    white-space: nowrap !important;
    height: 48px !important;
    min-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }

  .atc-banner--cart-footer > form {
    height: 48px !important;
    min-height: 48px !important;
  }

  .atc-banner--cart-footer > form .atc-button--checkout {
    height: 100% !important;
    min-height: 100% !important;
  }

  .atc-banner--container[data-animation-state=open] .atc-banner--outer {
    animation: pmAtcScaleIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
    transform-origin: top center;
  }

  @keyframes pmAtcScaleIn {
    from {
      transform: scale(1.02);
    }
    to {
      transform: scale(1);
    }
  }

  .atc-banner--cart-footer .atc-button--checkout:active {
    filter: brightness(0.94);
  }
}

/* ATC drawer — landscape-phone layouts (540px-tier + iPhone SE
   extra-compact tier) live in `assets/custom-overrides.css(.liquid)`
   so this file stays under Shopify's 256 KB per-liquid-file limit.
   Search "ATC drawer — landscape-phone layouts" in that file. */


button,
input[type="submit"],
input[type="button"],
.button,
.btn,
[class*="button"],
[class*="btn"],
a[role="button"],
a[class*="button"],
a[class*="btn"] {
  border-radius: 999px !important;
}

/* Search bubble shape: square left, rounded right (all breakpoints) */
button[aria-label*="search" i],
a[aria-label*="search" i],
.live-search-button,
.site-header button[title*="search" i],
.site-mobile-nav button[title*="search" i],
.navigation-drawer button[title*="search" i] {
  border-radius: 0 999px 999px 0 !important;
  -webkit-border-radius: 0 999px 999px 0 !important;
}

.mobile-text a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 240px !important;
  max-width: 70% !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 999px);
}

@media (min-width: 768px) {
  [id*="dynamic_highlights_banner"] a[href*="/collections/all-full-print"],
  .highlights-banner__container a[href*="/collections/all-full-print"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    -webkit-border-radius: 999px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 999px);
  }
}

/* === Global Apple Typography === */

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display",
               "SF Pro Text", Inter, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
}

/* Product recently viewed: match standard section width/gutters */
.template-product .product-recently-viewed__wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.template-product .product-recently-viewed__content {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Product recently viewed: no edge fade */
.template-product .product-recently-viewed--section .flickity-viewport::before,
.template-product .product-recently-viewed--section .flickity-viewport::after {
  display: none !important;
  content: none !important;
}

/* Mobile: native iOS-style horizontal scroll (Apple.com pattern) */
@media (max-width: 859px) {
  .template-product .product-recently-viewed__content--native {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .template-product .product-recently-viewed__content--native::-webkit-scrollbar {
    display: none;
  }

  .template-product .product-recently-viewed__content--native > .product-recently-viewed-card,
  .template-product .product-recently-viewed__content--native > .productgrid--item {
    flex: 0 0 auto;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
}

/* Product FAQ accordion: keep + icon from overlapping question text */
.faq-bodySec h2 {
  padding-right: 52px !important;
  box-sizing: border-box !important;
}

.faq-bodySec h2::after {
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  width: 1em !important;
  text-align: center !important;
}

/* SEO page template — shared trust logo strip (page-seo-page only) */
body.page-seo-page .pm-seo-trust-logos {
  width: 100%;
  max-width: 1120px;
  margin: 28px auto 44px;
  padding: 0;
  box-sizing: border-box;
}

body.page-seo-page .pm-seo-trust-logos__card {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  padding: 22px 48px 10px;
  text-align: center;
}

body.page-seo-page .pm-seo-trust-logos__heading {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #777;
}

body.page-seo-page .pm-seo-trust-logos__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  margin: -4px 0 0;
  padding: 0;
  list-style: none;
}

body.page-seo-page .pm-seo-trust-logos__list > li {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
}

body.page-seo-page .pm-seo-trust-logos__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 96px;
  object-fit: contain;
  background: transparent;
  border: 0;
  mix-blend-mode: multiply;
  filter: grayscale(100%) contrast(1.06);
  opacity: 0.88;
}

body.page-seo-page .pm-seo-trust-logos__logo--wide {
  max-height: 84px;
}

body.page-seo-page .pm-seo-trust-logos__logo--prime {
  max-height: 72px;
  opacity: 0.9;
}

body.page-seo-page .page-content.rte.page-content--intro,
body.page-seo-page .page-content--intro {
  max-width: 700px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  line-height: 1.6;
}

body.page-seo-page .page-content.rte.page-content--intro p,
body.page-seo-page .page-content--intro p,
body.page-seo-page .page-content--intro > p {
  text-align: center !important;
  line-height: 1.6;
}

body.page-seo-page .page-content--intro > p:last-child {
  margin-bottom: 0 !important;
}

body.page-seo-page .page-content.rte.page-content--body,
body.page-seo-page .page-content--body {
  margin-top: 0 !important;
  text-align: left !important;
}

@media (max-width: 767px) {
  body.page-seo-page .page-masthead .page-title,
  body.page-seo-page .page-masthead h1.page-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    text-align: center !important;
  }

  body.page-seo-page .page-content.rte.page-content--intro,
  body.page-seo-page .page-content--intro {
    max-width: 700px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.page-seo-page .page-content.rte.page-content--intro p,
  body.page-seo-page .page-content--intro p,
  body.page-seo-page .page-content--intro > p {
    text-align: center !important;
  }
}

body.page-seo-page .page-content--body > h2:first-child {
  margin-top: 0 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.page-seo-page .pm-seo-trust-logos {
    max-width: 1120px;
    padding: 0 20px;
  }

  body.page-seo-page .pm-seo-trust-logos__card {
    padding: 18px 32px 4px;
  }

  body.page-seo-page .pm-seo-trust-logos__list {
    gap: 28px;
  }

  body.page-seo-page .pm-seo-trust-logos__logo {
    max-height: 88px;
  }

  body.page-seo-page .pm-seo-trust-logos__logo--wide {
    max-height: 76px;
  }

  body.page-seo-page .pm-seo-trust-logos__logo--prime {
    max-height: 64px;
  }
}

@media (max-width: 767px) {
  body.page-seo-page .pm-seo-trust-logos {
    max-width: 100%;
    margin: 16px auto 24px;
    padding: 0 16px;
    overflow: visible;
  }

  body.page-seo-page .pm-seo-trust-logos__card {
    padding: 20px 18px;
    border-radius: 14px;
    overflow: visible;
  }

  body.page-seo-page .pm-seo-trust-logos__heading {
    margin: 0 0 14px;
    font-size: 10px;
    letter-spacing: 0.12em;
    line-height: 1.25;
  }

  body.page-seo-page .pm-seo-trust-logos__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 10px;
    justify-items: center;
    align-items: center;
    margin: 0;
    width: 100%;
    overflow: visible;
  }

  body.page-seo-page .pm-seo-trust-logos__list > li {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: 0;
    box-shadow: none !important;
  }

  body.page-seo-page .pm-seo-trust-logos__logo {
    display: block;
    max-height: 46px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: 0;
    box-shadow: none !important;
    mix-blend-mode: multiply;
    -webkit-mix-blend-mode: multiply;
    /* iOS Safari bakes white JPG backgrounds when filter + multiply are combined */
    -webkit-filter: none !important;
    filter: none !important;
    opacity: 0.9;
  }

  body.page-seo-page .pm-seo-trust-logos__logo--wide,
  body.page-seo-page .pm-seo-trust-logos__logo--prime {
    max-height: 46px !important;
    max-width: 100% !important;
    opacity: 0.9;
  }
}

/* SEO page template — From the Journal (3 articles, responsive grid) */
body.page-seo-page .pm-prod-guides__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.page-seo-page .pm-prod-guides__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.page-seo-page .pm-prod-guides__list {
    grid-template-columns: 1fr;
  }
}

/* Homepage only — fake money SEO card (links to /pages/fake-money) */
body.template-index .pm-home-fake-money-seo {
  padding: 0 16px;
  margin: 36px auto 44px;
  box-sizing: border-box;
}

body.template-index .pm-home-fake-money-seo__wrap {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

body.template-index .pm-home-fake-money-seo__card {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  padding: 22px 40px 26px;
  text-align: center;
}

body.template-index .pm-home-fake-money-seo__eyebrow {
  margin: 0 0 8px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #777;
}

body.template-index .pm-home-fake-money-seo__heading {
  margin: 0 0 10px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, sans-serif;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #121212;
}

body.template-index .pm-home-fake-money-seo__heading-link {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.18s ease;
}

body.template-index .pm-home-fake-money-seo__heading-link:hover,
body.template-index .pm-home-fake-money-seo__heading-link:focus-visible {
  opacity: 0.72;
  color: inherit;
}

body.template-index .pm-home-fake-money-seo__body {
  max-width: 660px;
  margin: 0 auto 16px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(0, 0, 0, 0.72);
}

body.template-index .pm-home-fake-money-seo__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 11px 26px;
  border-radius: 999px;
  background: #1d1d1d;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity 0.18s ease;
}

body.template-index .pm-home-fake-money-seo__cta:hover,
body.template-index .pm-home-fake-money-seo__cta:focus-visible {
  opacity: 0.88;
  color: #fff;
}

@media (max-width: 767px) {
  body.template-index .pm-home-fake-money-seo {
    padding: 0 12px;
    margin: 28px auto 36px;
  }

  body.template-index .pm-home-fake-money-seo__card {
    padding: 18px 18px 20px;
    border-radius: 14px;
  }

  body.template-index .pm-home-fake-money-seo__eyebrow {
    margin-bottom: 6px;
    font-size: 10px;
  }

  body.template-index .pm-home-fake-money-seo__body {
    font-size: 14px;
    margin-bottom: 14px;
  }

  body.template-index .pm-home-fake-money-seo__cta {
    min-width: 180px;
    width: 100%;
    max-width: 280px;
  }
}

/* ============================================================
   Blog/article thumbnails — 2:1 aspect, full image visible (no crop)
   Cards, grids, featured blog sections, related posts, journal previews.
   ============================================================ */
.article--excerpt-image:not(.placeholder--image),
.blogposts--container .article--excerpt-image:not(.placeholder--image),
.pm-prod-guides__media,
.pm-home-journal__featured-media,
.article--inner .pm-related__image {
  aspect-ratio: 2 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}

.article--excerpt-image:not(.placeholder--image) img,
.article--excerpt-image:not(.placeholder--image) img[data-rimg],
.article--excerpt-image:not(.placeholder--image) img[data-rimg=loaded],
.blogposts--container .article--excerpt-image img,
.pm-prod-guides__media img,
.pm-home-journal__featured-media img,
.article--inner .pm-related__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.article--excerpt-image:not(.placeholder--image) [data-rimg-canvas],
.article--inner .pm-related__image [data-rimg-canvas] {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
