/* ============================================
   MOBILE APP EXPERIENCE — Ayman Sports v1.0
   Native-feel overrides loaded LAST
   Covers ALL pages: home, listings, details, auth, dashboard, admin
   ============================================ */
:root{--app-header-h:56px;--app-dock-h:64px;--app-safe:env(safe-area-inset-bottom,0px)}
*{ -webkit-tap-highlight-color: transparent }
html{ -webkit-text-size-adjust:100%; scroll-padding-top: calc(var(--app-header-h) + 10px); scroll-behavior:smooth; overflow-y:auto; overflow-x:hidden; height:auto }
body{ overflow-y:auto; overflow-x:hidden; position:relative; height:auto; min-height:100dvh; -webkit-overflow-scrolling:touch }
body.mobile-wizard-active .mobile-bottom-nav,
body.mobile-wizard-active .mobile-app-dock,
body.mobile-wizard-active .floating-buttons{ display:none !important }
body.mobile-wizard-active{ padding-bottom:0 !important }
@media (max-width:768px){
  :root{ --app-header-h:56px !important }
  html,body{ overflow-x:hidden !important; overflow-y:auto !important; width:100%; max-width:100vw; height:auto !important; position:relative !important; overscroll-behavior-y:auto !important }
  body{ padding-bottom: calc(var(--app-dock-h) + var(--app-safe) + 10px) !important; overflow-y:auto !important }
  .container{ padding-left:14px !important; padding-right:14px !important; max-width:100% !important }
  main, #app, .page-section{ overflow:visible !important }
  .btn,.btn-primary,.btn-ghost,.btn-outline,.btn-apply,.btn-auth-submit{ min-height:44px !important; border-radius:14px !important }
  input,select,textarea,.form-control,.form-select,.page-filter-search input,.search-input{ font-size:16px !important; min-height:46px !important }
  /* HEADER — compact app bar */
  .header-main-nav{ background:#030619 !important; border-bottom:1px solid rgba(255,255,255,.08) !important; backdrop-filter:none !important }
  .main-nav-inner{ height:var(--app-header-h) !important; padding:0 14px !important; gap:10px !important; flex-wrap:nowrap !important; overflow:visible !important }
  .site-logo-img{ height:38px !important; width:auto !important }
  .header-nav-links{ display:none !important }
  .header-hamburger{ display:flex !important; width:44px !important; height:44px !important; border-radius:12px !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.1) !important }
  .hamburger-line{ background:#fff !important; width:18px !important }
  .btn-apply{ display:none !important }
  .header-user-btn{ min-height:40px !important; padding:6px 10px !important; gap:6px !important }
  .header-user-btn .header-user-name{ display:none !important }
  .header-user-area.is-logged .header-user-btn--logged{ padding:4px 8px 4px 4px !important }
  /* DOCK — native bottom bar */
  .mobile-bottom-nav,.mobile-app-dock{ display:block !important; position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:9999 !important; background:rgba(255,255,255,.96) !important; backdrop-filter:blur(20px) saturate(180%) !important; -webkit-backdrop-filter:blur(20px) saturate(180%) !important; border-top:1px solid rgba(0,0,0,.08) !important; box-shadow:0 -8px 30px rgba(0,0,0,.08) !important; padding:6px 0 calc(6px + var(--app-safe)) !important; height:auto !important }
  .mobile-bottom-nav-inner,.mobile-app-dock-inner{ height:52px !important; padding:0 6px !important; gap:2px !important; max-width:500px !important }
  .mobile-tab-item,.dock-tab-item{ flex:1 !important; min-width:0 !important; height:52px !important; border-radius:14px !important; gap:3px !important; font-size:.62rem !important; color:#94a3b8 !important; font-weight:700 !important }
  .mobile-tab-item.active,.dock-tab-item.active{ color:#0e8f5c !important; background:#ecfdf5 !important }
  .mobile-tab-item.active::before,.dock-tab-item.active::before{ display:none !important }
  .mobile-tab-item i,.dock-tab-item i{ font-size:1.2rem !important; margin-bottom:1px !important }
  .mobile-tab-item span,.dock-tab-item span{ font-size:.60rem !important; letter-spacing:-.02em !important }
  /* DRAWER — bottom sheet style */
  .mobile-drawer{ width:min(88vw,360px) !important; max-width:360px !important; border-radius:20px 0 0 20px !important; box-shadow:-12px 0 40px rgba(0,0,0,.18) !important; overflow-y:auto !important; overscroll-behavior:contain !important }
  .mobile-drawer-header{ padding:14px 16px !important }
  .mobile-drawer-body{ padding:16px !important; gap:1.1rem !important }
  .mobile-drawer-body::before{ content:''; display:block; width:36px; height:4px; background:#e2e8f0; border-radius:999px; margin:0 auto 4px }
  .mobile-ctas .btn{ min-height:46px !important; font-size:.9rem !important }
  .mobile-nav-link{ min-height:44px !important; border-radius:12px !important; font-size:.92rem !important }
  /* SEARCH — sheet */
  .header-search-overlay{ align-items:flex-end !important; padding:0 !important; background:rgba(2,6,23,.55) !important }
  .header-search-overlay.open{ align-items:flex-end !important }
  .search-overlay-inner{ background:#fff !important; border-radius:20px 20px 0 0 !important; padding:16px 14px calc(16px + var(--app-safe)) !important; max-width:100% !important; width:100% !important; box-shadow:0 -12px 40px rgba(0,0,0,.18) !important }
  .search-overlay-inner::before{ content:''; display:block; width:36px; height:4px; background:#e2e8f0; border-radius:999px; margin:0 auto 12px }
  .search-input{ background:#f8fafc !important; border:1px solid #e2e8f0 !important; border-radius:14px !important; min-height:48px !important; font-size:16px !important }
  .search-suggestions{ max-height:50vh !important; overflow-y:auto !important }
  /* FOOTER — compact app footer */
  .site-footer{ padding-bottom: calc(var(--app-dock-h) + var(--app-safe)) !important }
  .footer-marquee-bar{ display:none !important }
  .footer-contact-bar{ padding:1rem !important; gap:.75rem !important; border-radius:16px !important }
  .footer-contact-bar .contact-item{ flex-direction:row !important; text-align:left !important; gap:10px !important }
  .footer-main-card{ padding:1.25rem !important; border-radius:16px !important }
  .footer-layout{ grid-template-columns:1fr 1fr !important; gap:1.25rem !important }
  .footer-brand-col{ grid-column:1 / -1 !important; text-align:center !important }
  .footer-brand-col .footer-desc{ max-width:100% !important; font-size:.84rem !important }
  .footer-col-title{ font-size:.82rem !important; margin-bottom:.7rem !important }
  .footer-links a{ font-size:.82rem !important }
  .floating-buttons{ bottom: calc(var(--app-dock-h) + var(--app-safe) + 12px) !important; right:12px !important }
  .fab-btn{ width:44px !important; height:44px !important }
  /* HOMEPAGE — premium app sections */
  .hs-hero{ min-height: 56dvh !important; padding: calc(var(--app-header-h) + 8px) 0 14px !important; align-items:flex-end !important }
  .hs-hero-bg .hs-hero-img{ width:100% !important; inset:0 !important; object-position:center 30% !important }
  .hs-hero-overlay{ background: linear-gradient(180deg, rgba(2,6,23,.22) 0%, rgba(2,6,23,.38) 35%, rgba(2,6,23,.85) 100%) !important }
  .hs-hero-content{ grid-template-columns:1fr !important; gap:0 !important }
  .hs-hero-badge{ background:rgba(255,255,255,.14) !important; backdrop-filter:blur(12px) !important; border-color:rgba(255,255,255,.18) !important; color:#fff !important; font-size:.66rem !important }
  .hs-hero-title{ color:#fff !important; font-size: clamp(1.6rem, 7vw, 2.1rem) !important; line-height:1.02 !important; margin-bottom:.5rem !important; text-shadow:0 2px 16px rgba(0,0,0,.25) !important }
  .hs-hero-accent{ color:#fde68a !important }
  .hs-hero-accent::after{ display:none !important }
  .hs-hero-desc{ color:rgba(255,255,255,.88) !important; font-size:.84rem !important; line-height:1.5 !important; margin-bottom:.8rem !important }
  .hs-hero-actions{ gap:.5rem !important; margin-bottom:.7rem !important }
  .hs-hero-actions .btn{ flex:1 !important; justify-content:center !important; min-height:42px !important; border-radius:12px !important; font-size:.8rem !important; padding:.7rem .7rem !important }
  .hs-hero-actions .hs-btn-secondary{ background:rgba(255,255,255,.14) !important; backdrop-filter:blur(12px) !important; border-color:rgba(255,255,255,.22) !important; color:#fff !important }
  .hs-hero-mini-row{ border-top-color:rgba(255,255,255,.18) !important; gap:.9rem !important; padding-top:.8rem !important }
  .hs-hero-mini-stat{ border-left-color:rgba(255,255,255,.18) !important; padding-left:.6rem !important }
  .hs-hero-mini-value{ color:#fff !important; font-size:1.35rem !important }
  .hs-hero-mini-label{ color:rgba(255,255,255,.72) !important; font-size:.60rem !important }
  .hs-hero-side{ display:none !important }
  .hs-trustbar{ padding:.35rem 0 !important }
  .hs-trustbar-inner{ justify-content:flex-start !important; flex-wrap:nowrap !important; overflow-x:auto !important; gap:.8rem !important; padding:0 14px 2px !important; -webkit-overflow-scrolling:touch }
  .hs-trustbar-logos{ gap:.7rem !important; flex-wrap:nowrap !important }
  .hs-section{ padding:1.25rem 0 !important }
  .hs-section-header{ margin-bottom:.9rem !important; padding:0 4px !important }
  .hs-section-kicker{ font-size:.62rem !important; letter-spacing:.1em !important }
  .hs-section-title{ font-size: clamp(1.25rem, 5vw, 1.6rem) !important; line-height:1.15 !important }
  .hs-section-desc{ font-size:.86rem !important; line-height:1.5 !important }
  /* Grids → 2 cols snap like app */
  .hs-events-grid,.hs-players-grid,.hs-coaches-grid,.hs-partners-strip,.hs-testimonials-grid{ grid-template-columns:1fr !important; gap:14px !important }
  .hs-services-grid{ grid-template-columns:1fr !important; gap:14px !important }
  .hs-stats-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px !important }
  .hs-stat-card{ padding:.75rem .45rem !important; border-radius:14px !important }
  .hs-stat-icon{ width:30px !important; height:30px !important; font-size:.85rem !important; margin-bottom:.4rem !important; border-radius:8px !important }
  .hs-stat-value{ font-size:1.25rem !important }
  .hs-stat-label{ font-size:.56rem !important }
  .hs-stat-sub{ font-size:.58rem !important }
  .hs-card{ border-radius:12px !important; box-shadow:0 2px 12px rgba(0,0,0,.06) !important; min-height:0 !important }
  .hs-card-media{ aspect-ratio: 4/3.2 !important }
  .hs-card-body{ padding:.85rem .9rem .75rem !important }
  .hs-card-title{ font-size:1rem !important; line-height:1.3 !important; min-height:0 !important; margin-bottom:.35rem !important }
  .hs-card-meta{ font-size:.72rem !important; gap:.35rem !important; margin-bottom:.4rem !important }
  .hs-card-desc{ display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:6 !important; overflow:hidden !important; font-size:.82rem !important; line-height:1.55 !important; margin-top:.4rem !important }
  .hs-card-facilities{ display:flex !important; flex-wrap:wrap !important; gap:4px !important; max-height:3.2rem !important; overflow:hidden !important }
  .hs-card-footer{ display:grid !important; grid-template-columns:1fr !important; gap:.4rem !important; }
  .hs-card-footer .hs-card-cta{ display:flex !important; width:100% !important; justify-content:center !important }
  .hs-card-stats{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .hs-card-price{ font-size:.8rem !important }
  .hs-card-cta{ padding:.65rem .5rem !important; font-size:.76rem !important; border-radius:10px !important }
  .hs-card-service{ padding:.85rem .7rem !important }
  .hs-card-service::after{ font-size:2.6rem !important; top:-.15rem !important }
  .hs-partner-card{ height:148px !important; border-radius:14px !important }
  .hs-cta{ padding:2.2rem 0 !important }
  .hs-cta-card{ padding:0 !important }
  .hs-cta-title{ font-size:1.45rem !important }
  .hs-cta-desc{ font-size:.88rem !important }
  .hs-cta-actions{ flex-direction:column !important }
  .hs-cta-actions .btn{ width:100% !important; justify-content:center !important }
  /* LISTINGS — sticky filters like app */
  .page-hero{ min-height:auto !important; padding: calc(var(--app-header-h) + 18px) 0 1.1rem !important }
  .page-hero-badge{ font-size:.72rem !important; padding:.35rem .7rem !important }
  .page-hero-title{ font-size: clamp(1.45rem, 6vw, 1.9rem) !important; line-height:1.1 !important }
  .page-hero-desc{ font-size:.88rem !important; line-height:1.5 !important }
  .page-hero-stats{ gap:1rem !important; margin-top:1rem !important }
  .page-hero-stat-value{ font-size:1.35rem !important }
  .page-filter-bar{ position:sticky !important; top:var(--app-header-h) !important; z-index:30 !important; margin:0 -14px 1rem !important; border-radius:0 !important; border-left:none !important; border-right:none !important; padding:10px 14px !important; gap:.6rem !important; background:rgba(255,255,255,.96) !important; backdrop-filter:blur(16px) !important }
  .page-filter-search{ min-width:0 !important }
  .page-filter-search input{ min-height:44px !important; border-radius:14px !important }
  .page-filter-chips{ flex-wrap:nowrap !important; overflow-x:auto !important; padding-bottom:2px !important; -webkit-overflow-scrolling:touch !important; gap:6px !important }
  .page-filter-chip{ flex-shrink:0 !important; min-height:36px !important; padding:0 .75rem !important; font-size:.78rem !important }
  .listing-hero{ padding: calc(var(--app-header-h) + 14px) 0 1rem !important }
  /* Players/Camps/Trials cards 2-col */
  .pw-players-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important }
  .pw-player-card{ border-radius:12px !important; min-height:0 !important }
  .pw-player-img{ aspect-ratio: 3/3.5 !important }
  .pw-player-body{ padding:.6rem .6rem .62rem !important }
  .pw-player-name{ font-size:.82rem !important }
  .pw-player-meta{ font-size:.68rem !important }
  .pw-player-stats{ gap:.2rem !important; padding:.42rem 0 !important }
  .pw-player-stat strong{ font-size:.72rem !important }
  .pw-card-actions{ opacity:1 !important; transform:none !important; background: linear-gradient(transparent, rgba(0,0,0,.55)) !important; padding:8px 8px 6px !important; border-radius:0 0 16px 16px !important; bottom:0 !important; left:0 !important; right:0 !important }
  .camp-card-grid,.camp-card{ border-radius:16px !important }
  .camp-card-cover,.camp-card-image{ aspect-ratio: 16/10.5 !important }
  /* Trial detail — app sheet */
  .pw-trial-detail{ padding-top: calc(var(--app-header-h) + 10px) !important; padding-bottom:1.5rem !important }
  .pw-detail-banner{ height:210px !important; border-radius:16px !important }
  .pw-detail-grid{ grid-template-columns:1fr !important; gap:1rem !important }
  .pw-detail-policies{ grid-template-columns:1fr !important; gap:.6rem !important }
  .pw-leadership-grid{ grid-template-columns:1fr !important }
  .pw-detail-inc-exc{ grid-template-columns:1fr !important }
  .pw-gallery-main{ height:190px !important; border-radius:16px !important }
  .pw-fee-card,.pw-trial-form-card{ position:sticky !important; bottom: calc(var(--app-dock-h) + var(--app-safe) + 8px) !important; z-index:20 !important; border-radius:16px !important; box-shadow:0 12px 32px rgba(0,0,0,.12) !important }
  .pw-form-grid{ grid-template-columns:1fr !important }
  /* Auth — full bleed */
  .auth-split-layout{ grid-template-columns:1fr !important; min-height:auto !important }
  .auth-photo-panel{ display:none !important }
  .auth-form-panel{ padding: calc(var(--app-header-h) + 16px) 16px 24px !important }
  .auth-heading{ font-size:1.5rem !important }
  .auth-role-grid{ grid-template-columns:1fr 1fr !important; gap:.6rem !important }
  .auth-role-card{ padding:.9rem .6rem !important }
  /* Dashboard — app tabs */
  .dashboard-layout{ grid-template-columns:1fr !important; padding-top:var(--app-header-h) !important; min-height:auto !important }
  .dashboard-sidebar{ display:flex !important; position:sticky !important; top:var(--app-header-h) !important; height:auto !important; flex-direction:row !important; overflow-x:auto !important; gap:.4rem !important; padding:8px 12px !important; background:#0f172a !important; border-right:none !important; border-bottom:1px solid rgba(255,255,255,.08) !important; z-index:25 !important }
  .dashboard-sidebar-header,.dashboard-sidebar-footer{ display:none !important }
  .dashboard-nav{ flex-direction:row !important; gap:.35rem !important; flex-wrap:nowrap !important; overflow-x:auto !important }
  .dashboard-nav-item{ white-space:nowrap !important; padding:.5rem .7rem !important; border-radius:999px !important; font-size:.72rem !important; flex-shrink:0 !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.1) !important }
  .dashboard-nav-item.active{ background:#ecfdf5 !important; color:#065f46 !important; border-color:#a7f3d0 !important }
  .dashboard-nav-item.active i{ color:#065f46 !important }
  .dashboard-content{ padding:12px !important }
  .dash-hero-banner{ border-radius:14px !important; padding:.9rem .8rem !important; flex-direction:column !important; align-items:flex-start !important; gap:.7rem !important; margin-bottom:.9rem !important }
  .dash-hero-heading{ font-size:1.2rem !important }
  .dashboard-stats{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; margin-bottom:1rem !important }
  .stat-card-luxury{ padding:.7rem .65rem !important; border-radius:12px !important; gap:.55rem !important }
  .stat-icon-wrap{ width:34px !important; height:34px !important; border-radius:10px !important; font-size:1rem !important }
  .stat-val-num{ font-size:1.15rem !important }
  .dashboard-grid-row{ grid-template-columns:1fr !important; gap:.8rem !important }
  .dashboard-card-wrapper{ padding:.9rem !important; border-radius:14px !important }
  .form-row,
  .admin-detail-grid,
  .hotel-status-row,
  .pw-form-grid,
  .cw-form-grid,
  .tw-form-grid,
  .field-grid,
  .form-grid,
  .admin-form-grid,
  .bi-grid{ grid-template-columns:1fr !important; gap:10px !important }
  .form-group{ margin-bottom:10px !important }
  .form-section-card,
  .admin-form-card,
  .camp-form-card,
  .player-form-card,
  .admin-shell-card,
  .dashboard-panel,
  .dashboard-card-wrapper{ padding:14px !important; border-radius:14px !important }
  .admin-content{ padding:78px 12px 90px !important }
  .admin-page-header,
  .admin-header-row,
  .admin-page-actions,
  .dashboard-title-actions{ flex-direction:column !important; align-items:stretch !important; gap:10px !important }
  .admin-page-actions .btn,
  .admin-header-row .btn,
  .admin-header-row > button,
  .admin-header-row > a{ width:100% !important; justify-content:center !important }
  .admin-form-section{ margin-top:10px !important; padding-top:8px !important; letter-spacing:.04em !important }
  .admin-add-another-btn{ width:auto !important; align-self:flex-start !important }
  .chat-layout-container{ border-radius:16px !important; min-height:60vh !important }
  .chat-messages-stream{ max-height:45vh !important }
  /* Tables → scroll */
  .table-wrapper,.table-responsive{ overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; border-radius:14px !important; border:1px solid #e2e8f0 !important }
  .table{ min-width:560px !important; font-size:.82rem !important }
  .table th,.table td{ padding:.65rem .7rem !important; white-space:nowrap !important }
  /* Wizards */
  .player-wizard-topbar,.admin-wizard-topbar{ padding:.9rem !important; border-radius:14px !important; position:sticky !important; top:var(--app-header-h) !important; z-index:20 !important; background:rgba(255,255,255,.98) !important; backdrop-filter:blur(12px) !important }
  .player-step-tabs,.admin-step-tabs{ gap:6px !important }
  .player-step-tab,.admin-step-tab{ padding:.4rem .6rem !important; font-size:.72rem !important }
  .player-wizard-actions,.admin-wizard-actions{ position:sticky !important; bottom: calc(var(--app-dock-h) + var(--app-safe) + 8px) !important; background:#fff !important; padding:10px 14px !important; margin:0 -14px !important; border-top:1px solid #e2e8f0 !important; z-index:20 !important; border-radius:0 !important }
  /* Modals → bottom sheet */
  .pw-profile-modal,.ui-modal-box,.modal{ width:100% !important; max-width:100% !important; max-height:88dvh !important; border-radius:20px 20px 0 0 !important; margin:0 !important; align-self:flex-end !important }
  .pw-modal-overlay,.ui-modal-overlay,.modal-backdrop{ align-items:flex-end !important; padding:0 !important; background:rgba(2,6,23,.55) !important }
  .pw-profile-hero-content{ flex-direction:column !important; align-items:center !important; text-align:center !important; padding:0 1rem 1rem !important; margin-top:-36px !important }
  .pw-profile-portrait{ width:84px !important; height:84px !important }
  .pw-profile-body{ padding:12px !important }
  .pw-info-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important }
  .pw-match-stats{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
  .pw-ai-scores-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important }
  .pw-array-fields{ grid-template-columns:1fr !important }
  /* Cards grids correction */
  .trials-grid,.camps-grid,.hs-events-grid,.hs-services-grid{ grid-template-columns:1fr !important; gap:14px !important }
  .page-section{ padding:1.25rem 0 !important }
  .breadcrumb{ font-size:.78rem !important; margin-bottom:.7rem !important }
  /* Notifications */
  .notif-dropdown{ position:fixed !important; top:var(--app-header-h) !important; left:8px !important; right:8px !important; width:auto !important; max-width:none !important; border-radius:16px !important }
  .toast-container{ top: calc(var(--app-header-h) + 8px) !important; right:8px !important; left:8px !important }
  .toast{ min-width:0 !important; width:100% !important; border-radius:14px !important }
  .swal2-popup:not(.swal2-toast){ width:94% !important; max-width:360px !important; border-radius:18px !important; padding:1.25rem !important }
  /* Blog/FAQ/Contact/Hotels */
  .faq-item,.blog-card{ border-radius:16px !important }
  .contact-hero{ padding-top: calc(var(--app-header-h) + 12px) !important }
  /* Hotel & Camp Profile Mobile Layout */
  .camp-profile-hero{ padding: calc(var(--app-header-h) + 14px) 14px 20px !important; min-height: auto !important }
  .camp-profile-hero-inner{ grid-template-columns: 1fr !important; gap: 14px !important }
  .camp-profile-copy{ max-width: 100% !important }
  .camp-hero-title{ font-size: clamp(1.35rem, 5.8vw, 1.8rem) !important; line-height: 1.15 !important }
  .camp-investment-hero-card{ width: 100% !important; max-width: 100% !important; margin-top: 8px !important; border-radius: 16px !important }
  .camp-profile-layout{ grid-template-columns: 1fr !important; gap: 14px !important }
  .camp-main-column, .camp-side-stack{ width: 100% !important; min-width: 0 !important }
  .hotel-card-related{ gap: 4px !important; margin-top: 6px !important }
  .hotel-related-chip{ font-size: 0.62rem !important; padding: 2px 7px !important }
  .mobile-detail-sticky-bar{ display: flex !important; position: fixed !important; left: 0 !important; right: 0 !important; bottom: calc(var(--app-dock-h) + var(--app-safe)) !important; z-index: 9998 !important; background: rgba(255,255,255,.96) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; padding: 8px 14px !important; border-top: 1px solid rgba(0,0,0,.08) !important; box-shadow: 0 -4px 18px rgba(0,0,0,.06) !important; justify-content: space-between !important; align-items: center !important }
  .mobile-detail-sticky-info{ display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; flex: 1 !important }
  .mobile-detail-sticky-price{ font-weight: 850 !important; font-size: 0.88rem !important; color: #0f172a !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important }
  .mobile-detail-sticky-subtitle{ font-size: 0.68rem !important; color: #64748b !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important }
  .mobile-detail-sticky-btn{ flex-shrink: 0 !important; min-height: 38px !important; padding: 0 14px !important; font-size: 0.78rem !important; border-radius: 10px !important }
}
#trials,#camps,#players,#coaches,#partners,#testimonials,#services,#stats,#cta{ content-visibility:auto; contain-intrinsic-size: 700px }
.hs-hero{ content-visibility:visible; contain-intrinsic-size:auto }
@media (max-width:480px){
  .hs-events-grid,.hs-players-grid,.hs-coaches-grid,.hs-partners-strip,.trials-grid,.camps-grid,.pw-players-grid{ grid-template-columns:1fr !important; gap:12px !important }
  .hs-services-grid{ grid-template-columns:1fr !important }
  .dashboard-stats{ grid-template-columns:1fr 1fr !important }
  .pw-ai-scores-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important }
  .hs-card-body{ padding:.52rem .54rem .5rem !important }
  .hs-card-title{ font-size:.7rem !important }
  .page-filter-bar{ padding-top:8px !important; padding-bottom:8px !important }
}
@media (max-width:360px){
  .hs-events-grid,.hs-players-grid,.hs-coaches-grid,.hs-partners-strip,.trials-grid,.camps-grid,.pw-players-grid{ grid-template-columns:1fr !important }
  .container{ padding-left:10px !important; padding-right:10px !important }
  .page-filter-bar{ margin-left:-10px !important; margin-right:-10px !important; padding-left:10px !important; padding-right:10px !important }
  .hs-hero-title{ font-size:1.7rem !important }
}
