/* Customer/public visual refresh */
.public-home{display:grid;gap:18px}
.announcement-strip{position:relative;overflow:hidden;padding:2px}
.announcement-strip .section-head{margin-bottom:10px}
.announcement-strip .section-head h2{font-size:1.25rem}
.announcement-grid{gap:12px;padding:2px 2px 8px;scroll-snap-type:x mandatory}
.announcement-card{flex-basis:min(360px,86vw);min-height:226px;border-radius:20px;box-shadow:0 14px 35px rgba(15,23,42,.07);scroll-snap-align:start}
.announcement-media,.announcement-icon{height:132px}
.announcement-body{padding:14px 15px 16px}
.home-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.hero{min-height:360px}
.home-hero .hero-actions{margin-top:18px}
.hero h1{font-size:clamp(2rem,5vw,4.2rem)}
.home-quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:0}
.home-quick-link{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:15px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);font-size:.76rem;font-weight:900}
.home-quick-link b{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--secondary) 10%,var(--surface));color:var(--secondary)}
.home-quick-link:hover{border-color:color-mix(in srgb,var(--secondary) 28%,transparent)}
.home-section-card{padding:18px;border-radius:20px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.home-section-card .sport-grid{margin-top:0}
.section+.section{margin-top:24px}
.live-now-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}.hero{min-height:0}.home-quick-links{grid-template-columns:1fr 1fr}.live-now-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.page-shell{width:calc(100% - 14px)}.announcement-card{flex-basis:88vw}.hero{padding:22px;border-radius:20px}.hero h1{font-size:2.25rem}.hero p{font-size:.84rem}.hero-stats{grid-template-columns:repeat(3,1fr);display:grid}.hero-stats div{padding:10px;border-radius:14px}.hero-stats strong{font-size:1.1rem}.hero-stats span{font-size:.62rem}.home-quick-links{grid-template-columns:1fr 1fr;gap:8px}.home-quick-link{padding:11px;font-size:.68rem}.section-head{margin-bottom:10px}.section h2{font-size:1.3rem}.live-now-grid{grid-template-columns:1fr}}

/* Public home app-like refresh */
.home-ads-section{display:grid;gap:12px}
.featured-ad{overflow:hidden;border-radius:22px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);box-shadow:0 16px 42px rgba(15,23,42,.08)}
.featured-ad>a{display:grid;grid-template-columns:1.35fr .65fr;min-height:270px}
.featured-ad-media{position:relative;min-height:270px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;overflow:hidden}
.featured-ad-media img{width:100%;height:100%;object-fit:cover}
.featured-ad-video,.featured-ad-fallback{font-weight:950;font-size:1rem;color:#fff}
.featured-ad-badge{position:absolute;top:15px;right:15px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--text);font-size:.66rem;font-weight:950}
.featured-ad-copy{padding:28px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.featured-ad-copy h2{margin:3px 0 8px;font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.25}
.featured-ad-copy>span:last-child{color:var(--secondary);font-weight:900;font-size:.75rem}
.featured-ad-copy b{margin-inline-start:5px}
.ad-list{padding-bottom:2px}
.home-announcements{margin-top:2px}
.home-hero{margin-top:2px}
.home-quick-links{margin-top:0}
.home-section-head{padding:20px;border-radius:20px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.home-section-head h2{margin:6px 0}
.home-section-head p{margin:0;opacity:.62;line-height:1.8;font-size:.82rem}
.topbar{min-height:64px}
@media(max-width:800px){
  .featured-ad>a{grid-template-columns:1fr}
  .featured-ad-media{min-height:210px;max-height:240px}
  .featured-ad-copy{padding:18px}
  .featured-ad-copy h2{font-size:1.35rem}
}
@media(max-width:600px){
  .topbar{padding:8px 10px}
  .brand{gap:7px;font-size:.8rem}
  .brand img,.brand-mark{width:34px!important;height:34px!important}
  .page-shell{padding-bottom:88px}
  .public-home{gap:13px}
  .home-ads-section{margin-inline:-3px}
  .featured-ad{border-radius:18px}
  .featured-ad-media{min-height:180px;max-height:205px}
  .featured-ad-copy{padding:15px}
  .featured-ad-copy h2{font-size:1.18rem}
  .announcement-grid{gap:9px;padding-bottom:5px}
  .announcement-card{flex-basis:82vw;min-height:205px;border-radius:17px}
  .announcement-media,.announcement-icon{height:112px}
  .announcement-body{padding:12px}
  .announcement-body h3{font-size:.9rem}
  .announcement-body p{font-size:.74rem}
  .home-hero .hero{box-shadow:none}
  .home-quick-links{grid-template-columns:repeat(3,1fr);gap:7px}
  .home-quick-link{min-height:72px;display:grid;justify-items:center;align-content:center;text-align:center;gap:5px;padding:8px 5px;border-radius:14px;font-size:.6rem}
  .home-quick-link b{width:28px;height:28px}
  .home-section-card{padding:12px;border-radius:17px}
  .sport-grid{gap:8px}
  .sport-card{min-height:58px;padding:9px;font-size:.68rem;border-radius:14px}
  .sport-icon{width:34px;height:34px;border-radius:10px;flex:0 0 34px}
  .preview-panel{padding:15px;border-radius:17px}
  .preview-panel h2{font-size:1.15rem}
}
@media(max-width:390px){
  .topnav{display:none}
  .brand>span{max-width:110px;overflow:hidden;text-overflow:ellipsis}
  .mobile-nav{height:68px}
  .mobile-nav a{font-size:.61rem}
  .home-quick-links{grid-template-columns:repeat(3,1fr)}
}

/* Stronger visual hierarchy for the customer app */
.home-ads-section,.home-announcements,.home-hero,.home-quick-links,#booking,.booking-preview{position:relative}
.featured-ad{border-top:4px solid var(--accent)}
.featured-ad-copy h2{color:var(--text)}
.home-quick-link b{background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--secondary) 22%,transparent)}
.home-section-card{box-shadow:0 12px 30px rgba(15,23,42,.055)}
.sport-card{position:relative;overflow:hidden}
.sport-card::after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--secondary),var(--accent));opacity:.65}
.sport-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--secondary) 10%,transparent)}
.settings-cache-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-top:15px}
.settings-cache-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;font-size:1.4rem;font-weight:950}
.settings-cache-panel h2{margin:5px 0}
.settings-cache-panel p{margin:0;line-height:1.8;opacity:.62;font-size:.78rem}
.cache-status{grid-column:2/-1;color:var(--success);font-weight:800;font-size:.72rem}
@media(max-width:700px){
  .settings-cache-panel{grid-template-columns:auto 1fr}
  .cache-clear-btn{grid-column:1/-1;width:100%}
  .cache-status{grid-column:1/-1}
  .featured-ad-copy{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--secondary) 4%,var(--surface)))}
}

/* Guest-first booking */
.booking-guest-badge{
  display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;
  background:#eaf3ff;color:#1769e0;border:1px solid #cfe2f5;font-size:.68rem;font-weight:900;
}
.guest-contact-card{
  padding:15px;border-radius:18px;
  background:linear-gradient(135deg,#f3f8ff,#ffffff);
  border:1px solid #cfe2f5;
  box-shadow:0 8px 24px rgba(23,105,224,.05);
}
.guest-contact-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}
.guest-contact-title strong,.guest-contact-title small{display:block}
.guest-contact-title strong{font-size:.85rem;color:var(--text)}
.guest-contact-title small{margin-top:4px;color:#6c7f92;font-size:.68rem;line-height:1.7}
.guest-contact-icon{
  width:36px;height:36px;flex:0 0 36px;border-radius:11px;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff
}
.optional-label{opacity:.55;font-weight:600;font-size:.65rem}
@media(max-width:600px){
  .guest-contact-card{padding:13px;border-radius:16px}
  .guest-contact-title{gap:8px}
  .guest-contact-title small{font-size:.64rem}
}
