/*
 * GRANDTHAI mobile branch sliders.
 * Loaded after canonical page styles so every branch selector follows one
 * compact touch-friendly layout without changing desktop prototypes.
 */

.slider-controls button,
.branch-about-slider__controls button,
.spap-branch-slider__arrow,
.seo-slider-controls button,
.rc-arrow {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

@media (hover: none), (pointer: coarse) {
  .slider-controls button:hover:not(:disabled),
  .slider-controls button:focus:not(:focus-visible):not(:disabled),
  .branch-about-slider__controls button:hover:not(:disabled),
  .branch-about-slider__controls button:focus:not(:focus-visible):not(:disabled),
  .spap-branch-slider__arrow:hover:not(:disabled),
  .spap-branch-slider__arrow:focus:not(:focus-visible):not(:disabled),
  .seo-slider-controls button:hover:not(:disabled),
  .seo-slider-controls button:focus:not(:focus-visible):not(:disabled),
  .rc-arrow:hover:not(:disabled),
  .rc-arrow:focus:not(:focus-visible):not(:disabled) {
    border-color: rgba(40, 78, 55, .28);
    background: var(--cream-pale, #f8e9c4);
    color: var(--green, #284e37);
    outline: 0;
    transform: none;
  }

  .slider-controls button:active:not(:disabled),
  .branch-about-slider__controls button:active:not(:disabled),
  .spap-branch-slider__arrow:active:not(:disabled),
  .seo-slider-controls button:active:not(:disabled),
  .rc-arrow:active:not(:disabled) {
    border-color: var(--green, #284e37);
    background: rgba(40, 78, 55, .12);
    color: var(--green, #284e37);
  }
}

.grandthai-canonical-page main [id],
.home main [id] {
  scroll-margin-top: 92px;
}

@media (max-width: 820px) {
  .branch-head,
  .spa-section-head,
  .seo-section-head,
  .spap-branch-slider__head {
    align-items: flex-start;
  }

  .branch-head .slider-controls,
  .spa-section-head .slider-controls,
  .branch-about-slider__controls,
  .seo-slider-controls {
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
  }

  .slider-controls button,
  .branch-about-slider__controls button,
  .seo-slider-controls button {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .slider-controls span,
  .branch-about-slider__controls span {
    flex: 0 0 auto;
    min-width: 48px;
  }

  .spap-branch-slider__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  .spap-branch-slider__controls span {
    min-width: 0;
    overflow: hidden;
    color: var(--burgundy, #7f2a21);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .spap-branch-slider__arrow {
    width: 44px;
    height: 44px;
  }

  .spap-branch,
  .seo-branch {
    border-radius: 24px;
  }

  .spap-branch figure,
  .seo-branch figure {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .spap-branch h3,
  .seo-branch h3 {
    font-size: 28px;
    line-height: 1.08;
  }
}

@media (max-width: 680px) {
  .rc-branch-switch {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 11px;
    margin-bottom: 18px;
  }

  .rc-branch-switch__controls {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  .rc-branch-switch__current {
    justify-content: center;
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 7px 10px;
    overflow-wrap: anywhere;
    text-align: center;
    font-size: 13px;
    line-height: 1.2;
  }

  .rc-arrow {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  .rc-route {
    gap: 12px;
  }

  .rc-route__info,
  .rc-branch-copy {
    border-radius: 24px;
  }
}

@media (max-width: 520px) {
  .spap-branch-slider__controls {
    grid-template-columns: minmax(0, 1fr) 42px 42px;
  }

  .spap-branch-slider__arrow,
  .slider-controls button,
  .branch-about-slider__controls button,
  .seo-slider-controls button {
    width: 42px;
    height: 42px;
  }
}
