/**
 * Johnny Rockets Store Locator Brand Overrides
 *
 * Brand-specific CSS variable overrides for fatburger-jnrk child theme.
 * Colors align with theme variables.less: --red #D01240, --blue #1A6AA2
 *
 * @version 1.0.3
 */

.owl-sl-page,
.locations-wrapper {
  /* Johnny Rockets brand colors */
  --owl-sl-primary: #D01240;
  --owl-sl-primary-hover: #AD0035;
  --owl-sl-primary-text: #ffffff;
  --owl-sl-secondary: #1A6AA2;

  /* Text colors */
  --owl-sl-text-primary: #000000;
  --owl-sl-text-secondary: #4b5563;
  --owl-sl-text-muted: #4b5563;

  /* UI colors */
  --owl-sl-border: #e5e7eb;
  --owl-sl-bg: #F3F1E3;
  --owl-sl-card-bg: #ffffff;
  --owl-sl-link: #D01240;

  /* Status colors */
  --owl-sl-status-open: #15803d;
  --owl-sl-status-open-bg: #f0fdf4;
  --owl-sl-status-closed: #dc2626;
  --owl-sl-status-closed-bg: #fee2e2;
  --owl-sl-status-closing-soon: #ea580c;
  --owl-sl-status-closing-soon-bg: #ffedd5;

  /* Directory count badge — white pill with dark outline */
  --owl-sl-badge-bg: #ffffff;
  --owl-sl-badge-border: #000000;

  /* Johnny Rockets fonts */
  --owl-sl-font-heading: 'HamburgerMenu', sans-serif;
  --owl-sl-font-body: 'MerloNeue', sans-serif;

  /* Bridge theme globals used by plugin .bt parity rules */
  --red: #D01240;
  --blue: #1A6AA2;
  --yellow: #ffffff;
}

/* Page titles — red display heading */
.owl-sl-page .owl-sl-header__title,
.owl-sl-page .owl-sl-header--directory .owl-sl-header__title,
.owl-sl-page .owl-sl-header--directory-root .owl-sl-header__title {
  color: var(--owl-sl-primary);
}

/* Search form — pill inputs and blue borders */
.owl-sl-page .owl-sl-search-form__input-wrapper,
.owl-sl-page .owl-sl-search-form__action-btn,
.owl-sl-page .owl-sl-search-form__directory-btn {
  border-radius: 999px;
  border-color: var(--owl-sl-secondary);
  font-family: var(--owl-sl-font-body);
}

.owl-sl-page .owl-sl-search-form__icon {
  color: var(--owl-sl-secondary);
}

.owl-sl-page .owl-sl-search-form__action-btn,
.owl-sl-page .owl-sl-search-form__directory-btn {
  color: var(--owl-sl-secondary);
  text-transform: uppercase;
  font-weight: 700;
}

.owl-sl-page .owl-sl-search-form__action-btn:hover,
.owl-sl-page .owl-sl-search-form__directory-btn:hover {
  background-color: var(--owl-sl-secondary);
  color: #fff;
  border-color: var(--owl-sl-secondary);
}

/* Search form — mobile stacked layout (Figma) */
@media (max-width: 768px) {

  .owl-sl-page--search .owl-sl-search-form,
  .owl-sl-page--search .owl-sl-search-form:has(.owl-sl-search-form__directory-btn) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    grid-template-columns: none;
  }

  .owl-sl-page--search .owl-sl-search-form__input-wrapper {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }

  .owl-sl-page--search .owl-sl-search-form__action-btn,
  .owl-sl-page--search .owl-sl-search-form__location-btn,
  .owl-sl-page--search .owl-sl-search-form__directory-btn {
    grid-column: auto;
    width: 100%;
  }
}

/* Radar autocomplete — subtle JNRK styling */
.owl-sl-page.owl-store-locator .radar-autocomplete-results-list {
  padding: 4px;
  border: 1px solid rgba(26, 106, 162, 0.18);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  max-height: 240px;
  scrollbar-color: rgba(26, 106, 162, 0.3) transparent;
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-list::-webkit-scrollbar {
  width: 4px;
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-list::-webkit-scrollbar-track {
  background: transparent;
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-list::-webkit-scrollbar-thumb {
  background: rgba(26, 106, 162, 0.3);
  border-radius: 999px;
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-item {
  padding: 7px 12px;
  font-size: 13px;
  line-height: 18px;
  color: var(--owl-sl-text-muted);
  border-radius: 8px;
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-item:hover,
.owl-sl-page.owl-store-locator .radar-autocomplete-results-item-selected,
.owl-sl-page.owl-store-locator .radar-autocomplete-results-item[aria-selected="true"] {
  background: rgba(26, 106, 162, 0.07);
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-item b {
  font-weight: 500;
  color: var(--owl-sl-text-primary);
}

.owl-sl-page.owl-store-locator .radar-autocomplete-results-marker {
  width: 14px;
  height: 14px;
  opacity: 0.35;
}

.owl-sl-page .owl-sl-search-form__input-wrapper:focus-within {
  border-color: var(--owl-sl-secondary);
  box-shadow: 0 0 0 2px rgba(26, 106, 162, 0.1);
}

/* Location cards */
.owl-sl-page .owl-sl-card {
  border-radius: 20px;
}

/* Inner stack — Figma uses 10px between the title group and hours/services */
.owl-sl-page .owl-sl-card__inner {
  gap: 10px;
}

/* Card content uses the body font in Figma. The display font (HamburgerMenu)
   is reserved for page titles + accordion/region headings. Override the plugin
   default (font-heading) AND the theme's global h1-h6 rule that targets the
   card headline <h3>. */
.owl-sl-page .owl-sl-card__headline,
.owl-sl-page .owl-sl-card__directions,
.owl-sl-page .owl-sl-card__pill-link--phone .owl-sl-card__pill-text,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details {
  font-family: var(--owl-sl-font-body);
}

/* Headline — 20/26 bold (Figma) */
.owl-sl-page .owl-sl-card__headline {
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
}

/* Card CTAs — pill buttons: red Order now, blue Details */
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details {
  border-radius: 999px;
  text-transform: uppercase;
  font-size: 15px;
  line-height: normal;
  font-weight: 900;
}

.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary:link,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary:visited {
  background-color: var(--owl-sl-primary);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-color: var(--owl-sl-primary);
}

.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--primary:hover {
  background-color: var(--owl-sl-primary-hover);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-color: var(--owl-sl-primary-hover);
}

.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details:link,
.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details:visited,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details:link,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details:visited {
  background-color: var(--owl-sl-card-bg);
  color: var(--owl-sl-secondary);
  -webkit-text-fill-color: var(--owl-sl-secondary);
  border: 1.5px solid var(--owl-sl-secondary);
}

.owl-sl-page .owl-sl-card__actions .owl-sl-card__btn--details:hover,
.owl-sl-page .no_locations_selected_btn.owl-sl-card__btn--details:hover {
  background-color: var(--owl-sl-secondary);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-color: var(--owl-sl-secondary);
}

/* ==========================================================================
   Directory page (accordion view)
   ========================================================================== */

/* Accordion header — full pill bar (Figma) */
.owl-sl-page .owl-sl-accordion__header {
  border-radius: 999px;
  border: 1px solid var(--owl-sl-border);
}

/* Accordion title (e.g. "United States") — blue display type */
.owl-sl-page .owl-sl-accordion__title {
  color: var(--owl-sl-secondary);
  font-size: 28px;
  line-height: 32px;
  font-weight: 550;
}

/* Accordion chevron — dark */
.owl-sl-page .owl-sl-accordion__icon {
  color: #000;
}

/* Region heading (e.g. "North America") — blue display type, uppercase */
.owl-sl-page .owl-sl-directory-region {
  color: var(--owl-sl-secondary);
  font-family: var(--owl-sl-font-heading);
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Directory count badge — white pill, dark outline, dark text */
.owl-sl-page .owl-sl-badge,
.owl-sl-page .owl-sl-badge--locations {
  background: #fff;
  border: 1px solid #000;
  color: #000;
}

/* Map marker — Johnny Rockets pin size (custom yellow pin via admin upload) */
.owl-sl-map-marker img,
.owl-sl-map-marker svg {
  width: 86px;
  height: 86px;
}

/* Active card highlight */
.owl-sl-card--active {
  border-color: var(--owl-sl-primary);
  box-shadow: 0 0 0 2px var(--owl-sl-primary);
}

/* Responsive horizontal padding — match Figma 80px inset */
@media (max-width: 767px) {
  .owl-sl-page.owl-sl-page--directory {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (min-width: 769px) {
  .owl-sl-page.owl-sl-page--search {
    padding-left: clamp(24px, 2.60416667vw, 50px) !important;
    padding-right: clamp(24px, 2.60416667vw, 50px) !important;
  }
}

@media (min-width: 768px) {
  .owl-sl-page.owl-sl-page--directory {
    padding-left: clamp(24px, 2.60416667vw, 50px) !important;
    padding-right: clamp(24px, 2.60416667vw, 50px) !important;
  }
}