/**
 * Sitewide responsive layer.
 *
 * Tiers (max-width):
 *   480  small mobile
 *   768  large mobile / small tablet
 *   1024 tablet
 *   1100 compact desktop / nav overlay
 *   1280+ dense desktop
 *
 * Horizontal overflow is contained on shared components (rails, tables,
 * stretched Elementor sections). Do not disable pinch-to-zoom.
 */

html {
  max-width: 100%;
  overflow-x: clip;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

.alignfull,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

html.blackoute-nav-open,
body.blackoute-nav-open {
  overflow: hidden;
}

img,
video,
svg,
canvas {
  max-width: 100%;
  height: auto;
}

iframe,
embed,
object {
  max-width: 100%;
}

.wp-site-blocks,
.wp-block-group,
main,
.gmap-container,
.blackoute-directory,
.blackoute-playbook-detail,
.blackoute-collection-detail,
.blackoute-goal-landing,
.blackoute-life-area-landing,
.gmap-site-header,
.gmap-site-footer,
.elementor,
.elementor-section,
.e-con {
  min-width: 0;
  max-width: 100%;
}

/* Elementor stretch uses 100vw (scrollbar + padding) and expands the page. */
.elementor-section.elementor-section-stretched,
.elementor-top-section.elementor-section-stretched {
  left: 0 !important;
  width: 100% !important;
  max-width: 100%;
}

.gmap-playbooks-grid,
.gmap-goal-grid,
.gmap-home-rail__track,
.gmap-home-rail__track--editorial,
.gmap-home-rail__track--standard,
.gmap-home-rail__track--compact,
.gmap-home-rail__track--horizontal,
.gmap-home-rail__track--creator,
.gmap-role-rail,
.gmap-profession-rail,
.gmap-collections-rail {
  min-width: 0;
  max-width: 100%;
}

h1,
h2,
h3,
.gmap-display,
.gmap-section-title {
  overflow-wrap: break-word;
}

.gmap-site-header,
.gmap-site-header__inner,
.blackoute-nav,
.blackoute-nav__mega {
  overflow: visible;
}

.blackoute-nav__mega,
.blackoute-nav__mega-title,
.blackoute-nav__mega-subtitle,
.blackoute-nav__mega-links a,
.blackoute-nav__mega-view-all {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}

.gmap-breadcrumb,
.gmap-yoast-breadcrumbs {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 768px) {
  .gmap-breadcrumb,
  .gmap-yoast-breadcrumbs {
    -webkit-line-clamp: 1;
  }
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
select,
textarea,
.gmap-dropdown-el__trigger,
.select2-container .select2-selection--single {
  font-size: 1rem;
  max-width: 100%;
}

button,
a.gmap-btn,
.gmap-btn,
.primary-btn,
.secondary-btn,
.ghost-btn {
  touch-action: manipulation;
}

@media (hover: none) and (pointer: coarse) {
  .gmap-btn,
  a.gmap-btn,
  button.gmap-btn,
  .blackoute-nav__toggle,
  .blackoute-directory__toggle-filters,
  .gmap-facet-filters__toggle,
  .tabbar button,
  .example-pill {
    min-height: var(--gmap-touch, 2.75rem);
  }

  .gmap-btn:hover:not(:disabled),
  a.gmap-btn--primary:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.bo-table-scroll,
.blackoute-directory table,
.blackoute-creator-studio table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.bo-table-scroll::-webkit-scrollbar,
.blackoute-directory table::-webkit-scrollbar,
.blackoute-creator-studio table::-webkit-scrollbar {
  display: none;
}

.gmap-playbook-sticky {
  padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
}

.blackoute-directory__filters,
.gmap-facet-filters .blackoute-directory__filters {
  padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 1024px) {
	.gmap-bottom-sheet .blackoute-directory__toggle-filters,
	.gmap-facet-filters__toggle {
		touch-action: manipulation;
	}
}

.blackoute-settings-nav,
.blackoute-settings-gate__actions,
.blackoute-profile-gate__actions,
.blackoute-auth__actions,
.blackoute-account-membership__actions,
.blackoute-membership-welcome__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

@media (max-width: 1100px) {
  .gmap-carousel-rail__nav--prev,
  .gmap-goal-rail__nav--prev {
    left: 0.35rem;
  }

  .gmap-carousel-rail__nav--next,
  .gmap-goal-rail__nav--next {
    right: 0.35rem;
  }
}

@media (max-width: 1024px) {
  .detail-layout,
  .blackoute-directory__layout {
    grid-template-columns: 1fr;
  }

  .stats-row,
  .stat-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card-grid.cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .gmap-btn,
  a.gmap-btn {
    white-space: normal;
    text-align: center;
  }

  .card-grid.cols-3,
  .stats-row,
  .stat-mini-grid {
    grid-template-columns: 1fr;
  }

  .blackoute-settings-nav .gmap-btn,
  .blackoute-settings-gate__actions .gmap-btn,
  .blackoute-profile-gate__actions .gmap-btn,
  .blackoute-auth__actions .gmap-btn {
    flex: 1 1 100%;
  }

  .meta-top,
  .gmap-playbook-sticky__inner,
  .blackoute-onboarding-page .af-submit {
    flex-direction: column;
    align-items: stretch;
  }

  .gmap-home-hero h1 {
    font-size: clamp(1.75rem, 8vw, 2.375rem);
  }
}

@media (max-width: 480px) {
  .gmap-site-header__utilities .gmap-btn--primary {
    min-width: 0;
  }
}

@media (max-height: 540px) {
  .gmap-home-hero {
    min-height: 0;
  }
}

/* Reinforce resting photo layers after page styles — hover zoom stays on the host */
.gmap-photo-surface,
:is(
  .gmap-photo-clip,
  .gmap-playbook-card,
  .gmap-collection-card,
  .gmap-creator-card,
  .gmap-ed-card,
  .gmap-goal-tile,
  .gmap-community-card,
  .gmap-la-mosaic-card,
  .gmap-home-tile,
  .gmap-home-life-area,
  .gmap-home-banner,
  .gmap-prof-dir-card,
  .gmap-prof-dir-field-card,
  .gmap-prof-dir-rising-card,
  .gmap-creator-directory-card,
  .gmap-profession-role-card,
  .gmap-search-card,
  .gmap-search-hit,
  .gmap-communities-hero-featured__media,
  .gmap-communities-host-card
):not(:hover):not(:focus-visible):not(:focus-within) :is(
  [class$="__media"]:not([class*="__media-"]),
  [class$="__cover"],
  [class$="__photo"],
  [class$="__thumb"],
  .gmap-communities-hero-featured__mosaic-tile
) {
  transform: none;
}
