/* ===== Pool Party: phone polish + floating-widget cleanup (proposed, NOT deployed) =====
   Target: assets/css/pp-mobile-polish.css in wp-content/plugins/pp-2026 (enqueued after pp-2026.css / pp-2026-chrome.css)
   Everything is phone-only (<=767px) except the footer link styling. */

/* Footer "Cookie settings" / "Accessibility" links (all devices): look like the other footer links */
.footer .pp-footer-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;display:block}

@media (max-width:767px){
  /* 1. Floating widgets: hide on phones (desktop/tablet unchanged). Cookie banner itself is untouched. */
  .cky-btn-revisit-wrapper{display:none!important}                 /* CookieYes re-open badge */
  .onetap-container-toggle .onetap-toggle{display:none!important}  /* OneTap floating button (panel still opens from footer link) */

  /* 2. Header: 79px -> ~62px */
  html:root,html body,html body .pp26c{--nav-h:58px!important}
  header.nav .nav-inner{min-height:58px!important;padding-top:6px!important;padding-bottom:6px!important;gap:10px}
  /* the theme stacks 6+ !important logo-height overrides; this one must out-rank them */
  html body header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img,html body.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{height:44px!important;max-height:44px!important;width:auto!important}
  header.nav .nav-cta{padding:8px 13px!important;font-size:12.5px}
  header.nav .nav-toggle{width:40px;height:40px}

  /* 3. Hero: less dead space above the eyebrow, tighter type */
  .page-hero,.vhero,.ppx-hero{padding-top:84px!important;padding-bottom:28px!important}
  section.hero{padding-top:96px!important}
  .page-hero h1{font-size:clamp(30px,8.6vw,36px)!important;line-height:1.06!important;margin-bottom:12px!important}
  .hero .hero-title{font-size:clamp(42px,12.5vw,52px)!important}
  .page-hero .eyebrow{margin-bottom:12px!important;letter-spacing:.12em!important}
  .page-hero .lead{font-size:15.5px!important;line-height:1.5!important;padding:10px 12px!important}
  .vhero .lead{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;padding-bottom:0!important;border-bottom:10px solid transparent!important}
  .vhero .lead br{display:none}

  /* 4. Hero CTAs: equal-width 2-up grid, 3rd button full width (no ragged wrapping) */
  .lean-hero__cta,.hero-ctas{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:16px!important}
  .lean-hero__cta>.btn,.hero-ctas>.hero-cta{width:100%!important;min-height:48px;padding:12px 10px!important;font-size:14.5px!important;justify-content:center;text-align:center;white-space:normal;line-height:1.15!important;min-width:0;text-wrap:balance}
  .lean-hero__cta>.btn:nth-child(3):last-child{grid-column:1/-1}

  /* 5. Event cards: matching button sizes */
  .card-actions .btn.card-info,.card-actions .btn.card-buy{font-size:14px!important;min-height:44px}

  /* 6. City venue cards (2-up at 158px): readable, tappable, aligned */
  .lean-vc-card .card-body{padding:10px 10px 12px!important}
  .lean-vc-card h3{font-size:15px!important;line-height:1.2!important}
  .lean-vc-card .card-actions{margin-top:auto!important;gap:6px!important}
  .lean-vc-card .card-actions .btn{min-height:40px!important;font-size:13px!important;width:100%}

  /* 7. Event product page (Beaver Builder): oversized title */
  .single-event_listing h1.fl-heading,body.single h1.fl-heading{font-size:30px!important;line-height:1.12!important;margin:12px 16px!important}

  /* 8. Pass page ticket: 8px "Golden ticket" + clipped "VIP" stub */
  .ppx-ticket__stub i{font-size:10px!important}
  .ppx-ticket__stub b{font-size:24px!important;line-height:1}

  /* 9. Floating music dock + find bar: slimmer bottom chrome */
  .pp-music-dock{transform:scale(.84);transform-origin:bottom right}
  form.find-bar{padding:5px!important}
  form.find-bar select,form.find-bar button{min-height:42px}
}

/* ===== 0.6.70 (Oct 9 2026): robust phone header + music button placement =====
   Frank's S25 (Chrome text scaling / display zoom) renders the page at ~220-280 CSS px wide: the 0.6.69 header
   (logo 139 + Book Now 91 + menu 40, all flex:0 0 auto) needed ~300px, so Book Now and the menu fell off-screen,
   and the floating music button sat over the hero text. All px-based so system text scaling can't grow it. */
@media (max-width:767px){
  header.nav .nav-inner{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;min-width:0!important;box-sizing:border-box}
  header.nav a.logo{flex:0 1 auto!important;min-width:0!important;max-width:100%!important;overflow:hidden}
  html body header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img,html body.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{width:139px!important;max-width:100%!important;height:auto!important;max-height:44px!important;aspect-ratio:277/88;object-fit:contain;object-position:left center}
  header.nav .nav-actions{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;margin:0!important}
  html body header.nav .nav-cta{padding:8px 12px!important;font-size:12.5px!important;line-height:1.1!important;white-space:nowrap!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  header.nav .nav-toggle{flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important}
}
/* Narrow layout (small phones, or any phone with large text / display zoom): logo + music + menu, no header Book Now
   (hero and the Find-a-party bar still offer booking). Logo capped so the row always fits. */
@media (max-width:359px){
  header.nav .nav-inner{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important}
  html body header.nav .nav-cta{display:none!important}
  header.nav .nav-toggle{margin-left:48px!important} /* room for the music button (fixed, see below) */
  html body header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img,html body.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{width:min(139px,calc(100vw - 128px))!important}
}
/* Music button: never over page content.
   >=360: same row as the Find-a-party bar (bar shortened on the right), vertically centred on it.
   <=359: in the header row, left of the menu button. */
@media (max-width:640px){
  .pp-music-dock{transform:none!important;right:.6rem!important;left:auto!important;bottom:calc(.6rem + 5px + env(safe-area-inset-bottom))!important;top:auto!important}
  .pp-music-dock .ux-dock-toggle{width:44px!important;height:44px!important;font-size:1.15rem!important;flex:0 0 auto}
  body.has-find-bar form.find-bar{right:calc(.6rem + 52px)!important}
  body.has-find-bar form.find-bar button{padding:0 .75rem!important}
}
@media (max-width:359px){
  .pp-music-dock{top:9px!important;bottom:auto!important;right:60px!important;max-width:calc(100vw - 72px)!important}
  .pp-music-dock .ux-dock-toggle{width:40px!important;height:40px!important;font-size:1.05rem!important;box-shadow:0 3px 10px rgba(11,31,58,.25)!important}
  .pp-music-dock.ux-open{flex-direction:column-reverse!important}
  .pp-music-dock.ux-open .ux-dock-toggle{margin-top:0!important}
  .pp-music-dock.ux-open .pp-music-dock__inner{position:fixed!important;top:64px!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;flex-wrap:wrap!important;row-gap:6px;justify-content:center}
  body.has-find-bar form.find-bar{right:.6rem!important}
}

/* ===== 0.6.71 (Oct 9 2026): full-page overflow fixes for narrow / zoomed phones (Frank's S25 = ~218-250 CSS px) ===== */
@media (max-width:767px){
  /* Soundtrack card: flex item was min-width:auto, so the nowrap button forced it ~265px wide and the card clipped it */
  .music-band{min-width:0;max-width:100%}
  .music-band .music-inner{flex:1 1 auto;min-width:0!important;max-width:100%!important;box-sizing:border-box;padding:20px 16px!important}
  .music-inner h2,.music-inner p{overflow-wrap:anywhere;max-width:100%}
  .music-actions{min-width:0;max-width:100%}
  .music-actions .btn{max-width:100%;min-width:0}
  /* Subscribe band: 176px min-width button escaped the card */
  .pp-subband .pp-subband__in{max-width:100%!important;padding-left:16px!important;padding-right:16px!important}
  .pp-subband a.pp-subband__btn{min-width:0!important;width:100%!important;max-width:100%!important;padding:.8rem 1rem!important;margin-left:auto;margin-right:auto;white-space:nowrap}
  .pp-subband .pp-subband__title,.pp-subband .pp-subband__text{overflow-wrap:anywhere}
  /* Footer logo lockup (277x88 image, fixed height) */
  html body .footer a.logo,html body .pp26c .footer a.logo{max-width:100%!important;display:inline-block}
  html body .footer a.logo .logo-img,html body .pp26c .footer a.logo .logo-img,html body.home.pp2026 .footer a.logo .logo-img,html body.home.pp2026 .pp26c .footer a.logo .logo-img{max-width:100%!important;height:auto!important;max-height:88px!important;object-fit:contain;object-position:left center}
  .footer-grid,.pp26c .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .footer-grid>div{min-width:0}
  /* City / venue tiles: long names */
  .city-tile span,.lean-ve-grid .lean-ve-tile span,.city-tile small{overflow-wrap:anywhere;min-width:0}
  /* Advertise CTA card + venue info grid: let the text column shrink */
  .lean-ad__cta{grid-template-columns:minmax(0,1fr)!important}
  .lean-ad__cta-body{min-width:0;padding:22px 18px!important}
  .lean-ad__cta-body h2,.lean-ad__cta-body p{overflow-wrap:anywhere}
  .lean-ad__cta-img{max-width:100%}
  .lean-vs__info{grid-template-columns:minmax(0,1fr)!important}
  .lean-vs__main,.lean-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .card-body h3,.card-body h3 a{overflow-wrap:anywhere}
  /* Find-a-party bar: no backdrop-filter on phones (fixed+backdrop-filter layer), pin icon, select always tappable */
  form.find-bar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(247,244,238,.98)!important}
  form.find-bar select{position:relative;z-index:1;touch-action:manipulation;pointer-events:auto;padding-left:28px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%230B1F3A' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") no-repeat 8px 50%!important;background-size:16px 16px!important}
  /* Buttons: one-line labels */
  .btn,.hero-cta,.card-actions .btn,a.pp-subband__btn{white-space:nowrap}
}
@media (max-width:299px){
  /* Very narrow (large text / zoom): hero buttons stacked full width, one line each */
  .lean-hero__cta,.hero-ctas{grid-template-columns:minmax(0,1fr)!important}
  .lean-hero__cta>.btn,.hero-ctas>.hero-cta{white-space:nowrap!important;text-wrap:nowrap;min-height:46px}
  .lean-hero__cta>.btn:nth-child(3):last-child{grid-column:auto}
  /* City grids one per row */
  .weekend-city-grid .city-tile{flex-basis:100%!important}
  .lean-ve-grid{grid-template-columns:minmax(0,1fr)!important}
  form.find-bar button{padding:0 .6rem!important;font-size:.88rem!important}
  form.find-bar{gap:.3rem!important}
}
@media (max-width:767px){
  /* last-resort: a button never pokes out of its card (ellipsis instead of clipping) */
  .btn,.hero-cta,a.pp-subband__btn{max-width:100%;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:359px){
  .pp-lbl-x{display:none}   /* "Get music beds · SonicEarCandy.com" -> "Get music beds" on narrow screens */
}
/* 0.6.71 pass 2: generic narrow-screen safety (phones only) */
@media (max-width:767px){
  /* text can always break (long words, e-mails, URLs, uppercase eyebrows) so no text box is wider than its column */
  main p,main h1,main h2,main h3,main h4,main li,main blockquote,main .eyebrow,main strong,main em,main small,main dd,main dt,
  .lean-sec p,.lean-sec h2,.lean-sec h3,.ppx p,.ppx h2,.ppx h3,.pp-subband p,.pp-subband h2,.footer p,.footer a,
  .card-meta span,.lean-pick__card span,.lean-pick__card strong,.ppx-q__txt,.ppx-q__txt a,.lean-prose a{overflow-wrap:anywhere}
  /* grid/flex children may shrink below their content width */
  .lean-pick,.lean-help,.lean-about,.ppx-steps,.lean-ad__perks,.lean-vs__info,.lean-ve-intro{grid-template-columns:minmax(0,1fr)!important}
  .lean-pick>*,.lean-help>*,.lean-about>*,.ppx-steps>*,.lean-ad__perks>*,.lean-vc-intro>*,.ppx-step>*,.lean-pick__card>*,.lean-ad__perk>*,.card-body,.card-meta>*{min-width:0;max-width:100%}
  .lean-pick__card,.lean-help__item,.lean-ad__perk,.ppx-step,.lean-about,.lean-head--panel,.ppx-q__panel,.ppx-q__txt{box-sizing:border-box;max-width:100%;min-width:0}
  .ppx-q__panel p{max-width:100%}
  .badge-row{max-width:calc(100% - 1.6rem)}
  .badge-row .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* one-line button labels; long labels get smaller then ellipsis instead of wrapping */
  .lean-hero__cta>.btn,.hero-ctas>.hero-cta,.ppx a.ppx-btn,.pp-evbtns a,.lean-about__cta .btn,.lean-pick__card em.btn{white-space:nowrap!important;text-wrap:nowrap;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .pp-lean .ppx a.ppx-btn{padding-left:1.1rem!important;padding-right:1.1rem!important;letter-spacing:.03em!important}
  .pp-subband a.pp-subband__btn svg{flex:none}
}
@media (max-width:359px){
  .lean-pick__card,.lean-help__item,.lean-ad__perk,.lean-about{padding:18px 16px!important}
  .ppx-q__panel{padding:20px 14px!important}
  .ppx-q__txt{padding:.7rem .8rem!important;font-size:.95rem!important}
  .lean-head--panel{padding:14px 14px!important}
  .lean-head--panel .eyebrow,main .eyebrow{letter-spacing:.08em!important}
  /* hero buttons: one per row, block so ellipsis can work as a last resort */
  .lean-hero__cta,.hero-ctas{grid-template-columns:minmax(0,1fr)!important}
  .lean-hero__cta>.btn,.hero-ctas>.hero-cta{display:block!important;text-align:center;font-size:14px!important;line-height:22px!important;padding:12px 12px!important}
  .lean-hero__cta>.btn:nth-child(3):last-child{grid-column:auto}
  .pp-lean .ppx a.ppx-btn{font-size:.9rem!important}
  form.find-bar select{min-width:0!important;width:0;flex:1 1 0!important}
}
@media (max-width:299px){
  form.find-bar button{padding:0 .5rem!important;font-size:.82rem!important}
  form.find-bar{padding:4px!important}
}
/* 0.6.71 pass 3: on very narrow layouts cards go one per row so their buttons keep full one-line labels */
@media (max-width:359px){
  .lean-vc-grid,.lean-split,.lean-ev__grid,.lean-blog__grid{grid-template-columns:minmax(0,1fr)!important}
  .lean-vc-card .card-actions .btn,.lean-vc-grid .btn-sm{font-size:13px!important;padding:.55rem .6rem!important}
  .lean-pick__card em.btn,.lean-card .btn,.lean-about__cta .btn,.lean-ad__cta-body .btn,.ppx a.ppx-btn,.pp-subband a.pp-subband__btn{padding-left:.8rem!important;padding-right:.8rem!important;font-size:14px!important;letter-spacing:0!important}
  .lean-card{padding:18px 16px!important}
  .pp-subband{padding-left:.6rem!important;padding-right:.6rem!important}
  .pp-subband .pp-subband__in{padding-left:12px!important;padding-right:12px!important}
  .ppx-q__panel{padding:18px 10px!important}
  .lean-ad__cta-body{padding:20px 14px!important}
}
@media (max-width:359px){
  .card-actions{flex-direction:column!important;align-items:stretch!important}
  .card-actions>.btn,.card-actions>a{width:100%!important;flex:0 0 auto!important;max-width:100%}
  .lean-pick__card,.lean-card{padding-left:12px!important;padding-right:12px!important}
  .lean-pick__card em.btn,.lean-card .btn{font-size:13px!important;padding-left:.6rem!important;padding-right:.6rem!important}
}
/* 0.6.71 pass 4 */
@media (max-width:767px){
  /* 2-up venue cards: buttons stacked full width so labels stay on one line */
  .lean-vc-grid .card-actions,.lean-vc-card .card-actions{flex-direction:column!important;align-items:stretch!important}
  .lean-vc-grid .card-actions>.btn,.lean-vc-card .card-actions>.btn{width:100%!important;flex:0 0 auto!important}
  /* "Plan a party in Mykonos, Greece" -> "Plan a party" in the hero (page is already about that place) */
  .lean-hero__cta .pp-lbl-x{display:none}
  .fl-rich-text p,.fl-rich-text a,.fl-rich-text li{overflow-wrap:anywhere}
}
@media (max-width:299px){
  .btn,.pp-evbtns a,.ppx a.ppx-btn{font-size:13px!important;padding-left:.55rem!important;padding-right:.55rem!important;letter-spacing:0!important}
  .fl-col-content{padding-left:6px!important;padding-right:6px!important}
  .fl-module-content{margin-left:6px!important;margin-right:6px!important}
  .lean-ad__cta-body,.lean-card,.lean-pick__card,.lean-about{padding-left:10px!important;padding-right:10px!important}
  .wrap{width:calc(100% - 20px)!important}
  header.nav .nav-inner{width:calc(100% - 24px)!important}
}
@media (max-width:299px){
  .pp-evbtns a{padding-left:.35rem!important;padding-right:.35rem!important;gap:4px!important;font-size:12.5px!important}
}
/* ===== 0.6.72: no mid-word breaks: headings scale down on very narrow layouts instead of splitting words ===== */
@media (max-width:767px){
  main h1,main h2,main h3,main h4,.lean-sec h2,.lean-sec h3,.ppx h2,.ppx h3,.pp-subband h2,.music-inner h2,main .eyebrow{overflow-wrap:break-word!important;hyphens:manual}
}
@media (max-width:359px){
  html body .music-inner h2,html body .pp-subband .pp-subband__title,html body .lean-sec h2,html body .ppx h2,html body .pp-lean .ppx h2,html body main section h2{font-size:clamp(20px,9.6vw,30px)!important;letter-spacing:-.02em!important}
  html body .lean-help__item h3,html body .pp-lean .ppx-step h3,html body .ppx h3,html body .lean-sec h3{font-size:clamp(15px,7.2vw,20px)!important;letter-spacing:-.01em!important}
  html body main .eyebrow,html body .lean-card .eyebrow{font-size:11px!important;letter-spacing:.06em!important}
  .ppx-step{flex-direction:column!important;padding:16px 12px!important}
  .ppx-vip__panel,.ppx-vip__copy{padding-left:12px!important;padding-right:12px!important;min-width:0}
}
@media (max-width:299px){
  html body .music-inner h2,html body .pp-subband .pp-subband__title,html body .lean-sec h2,html body .ppx h2,html body .pp-lean .ppx h2,html body main section h2{font-size:clamp(18px,9.2vw,26px)!important}
  .music-band .music-inner{padding:16px 12px!important}
}
@media (max-width:359px){
  .lean-vc-intro .lean-head,.lean-head.lean-prose{padding:16px 12px!important}
  .lean-prose ul,.lean-prose ol{padding-left:1.1rem!important}
  .lean-prose li,.lean-prose p{font-size:15px!important}
}
@media (max-width:767px){
  .lean-ve-grid .lean-ve-tile span,.city-tile span{padding-left:.6rem!important;padding-right:.6rem!important;font-size:clamp(14px,4.9vw,18px)!important;letter-spacing:-.02em!important}
  .city-tile small{padding-left:.6rem!important;padding-right:.6rem!important}
}

/* design-1014: shared design tokens (homepage = reference). Inner-page H1 scale + primary button size. */
:root{--pp-h1-inner:clamp(34px,3.2vw + 18px,64px);--pp-btn-h:48px}
html body:not(.home) h1:not(.hero h1){font-size:var(--pp-h1-inner)!important;line-height:1.05}
html body:not(.home) main .btn-primary,html body:not(.home) .page-hero .btn-primary{min-height:var(--pp-btn-h);display:inline-flex;align-items:center;justify-content:center}
/* design-1014b: hero tiers, H2 scale, buttons, card framing, old-template footer */
:root{--pp-h2:clamp(28.8px,1.8vw + 20px,41.6px);--pp-h3:clamp(21.6px,.8vw + 16px,27.2px);--pp-card-r:16px;--pp-hero-hub:700px;--pp-hero-mid:620px;--pp-hero-low:500px}
@media(max-width:720px){:root{--pp-hero-hub:720px;--pp-hero-mid:600px;--pp-hero-low:520px}}
/* 1. hero tiers: min-height only, content can still grow (no clipping) */
html body main .page-hero.venues,html body.page-template-default main .page-hero.vhero{min-height:var(--pp-hero-hub)!important}
html body main .page-hero.events,html body main .page-hero.pass,html body main .page-hero.blog{min-height:var(--pp-hero-mid)!important}
html body.single-venue main .page-hero.vhero,html body main .page-hero.faqs,html body main .page-hero.contact{min-height:var(--pp-hero-low)!important}
/* 2. old-template H1 (event, blog post) */
html body.single h1.fl-module.fl-module-heading,html body.single .fl-module h1.fl-heading,html body.error404 h1.page-title{font-size:var(--pp-h1-inner)!important;line-height:1.05!important}
/* 3. H2 scale: section H2 + card-level H2 */
html body:not(.home) .lean-head h2,html body:not(.home) .ppx-head h2,html body:not(.home) .ppx-vip__copy h2,html body:not(.home) .lean-ad__cta-body h2,html body:not(.home) .lean-about h2,html body .pp-subband__title,html body.single .fl-module-heading h2.fl-heading,html body.single-post .fl-rich-text h2,html body.error404 .page-content h2{font-size:var(--pp-h2)!important;line-height:1.1!important}
html body .lean-prose h2,html body .lean-card h2,html body .ppx-card h2,html body .lean-faq__group h2,html body .lean-head.lean-prose h2{font-size:var(--pp-h3)!important;line-height:1.15!important}
/* 4. buttons */
html body:not(.home) main .btn{min-height:var(--pp-btn-h)!important;display:inline-flex;align-items:center;justify-content:center}
/* 5. card images: 4:3, 16px radius */
html body .card .card-media,html body a.city-tile,html body .lean-ve-intro__img,html body .lean-ad__cta-img{border-radius:var(--pp-card-r)!important;overflow:hidden}
html body .card .card-media{aspect-ratio:4/3}
html body .card .card-media>a{display:block;height:100%}
html body .card .card-media img,html body a.city-tile>img{aspect-ratio:4/3!important;width:100%;height:100%!important;object-fit:cover}
/* 6. footer on old-template pages matches new pages */
html body .pp26c footer.footer{line-height:1.6}
html body .pp26c footer.footer h4{line-height:1.05}
html body .pp26c footer.footer .wrap:last-child{line-height:1.6}
@media(max-width:720px){html body .pp26c footer.footer{font-size:17px;padding-top:52px}}
/* design-1014c: override higher-specificity old rules */
html body.pp-hybrid.single .fl-builder-content .fl-row:first-child h1.fl-heading,html body.pp-hybrid.single .fl-builder-content .fl-row:first-child h1.fl-module,html body.pp-hybrid.single .fl-row h1.fl-heading,html body.pp-hybrid.single .fl-row h1.fl-module-heading{font-size:var(--pp-h1-inner)!important;line-height:1.05!important}
html body .pp-subband .pp-subband__title,html body .ppx .ppx-q__panel h2,html body:not(.home) .lean-sec .lean-head h2{font-size:var(--pp-h2)!important;line-height:1.1!important}
html body:not(.home) main a.btn,html body:not(.home) main button.btn{min-height:var(--pp-btn-h)!important;height:auto!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:720px){html body .pp26c footer.footer::after{content:"";display:block;height:80px}}
/* design-1014d: card action + hero CTA buttons to 48px */
html body:not(.home) main .card .card-actions a.btn,html body:not(.home) main .card-actions a.btn.btn-sm{min-height:var(--pp-btn-h)!important}
html body:not(.home) main .lean-hero__cta a.btn{height:var(--pp-btn-h)!important;min-height:0!important;line-height:1.2!important;white-space:nowrap}
/* glass-1014: event hero - glass only behind the text, photo left sharp */
html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module:not(:has(a.fl-button,.fl-button-group,.uabb-button)){width:fit-content;max-width:100%;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box;background:rgba(11,31,58,.58)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:6px 18px!important}
html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module:not(:has(a.fl-button,.fl-button-group,.uabb-button))>.fl-module-content{margin:6px 0!important}
html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module+.fl-module{margin-top:10px!important}
html body.pp26-inner.single-product .fl-node-1dhvjp49baul>.fl-row-content-wrap::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(255,255,255,.12)!important}
@media(max-width:767px){html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module:not(:has(a.fl-button,.fl-button-group,.uabb-button)){background:rgba(11,31,58,.68)!important;padding:4px 14px!important;border-radius:12px}}
/* glass-1014b: no glass behind the button row; keep phone panels off the screen edges */
html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module.fl-module-html{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important}
@media(max-width:767px){html body.pp26-inner.single-product .fl-node-1dhvjp49baul .fl-col-content.fl-node-content>.fl-module.fl-module-heading{max-width:calc(100% - 24px)!important}}

/* 1014 tiles: one look for every location tile grid (home #home-cities, /venues/, venue city pages "Choose Another Location").
   Same 4:3 frame, navy base, 16px radius, centered cover crop, 18.4px title, same bottom spacing and hover. Column counts stay per page. */
html body a.city-tile{aspect-ratio:4/3!important;min-height:0!important;height:auto!important;position:relative;isolation:isolate;display:flex!important;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:16px!important;background:#0b1f3a!important;border:1px solid rgba(255,255,255,.18);padding:0 0 .9rem!important;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
html body a.city-tile>img{position:absolute!important;inset:0!important;z-index:-2;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 50%!important;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
html body a.city-tile::after{background:linear-gradient(0deg,rgba(11,31,58,.85) 0%,rgba(11,31,58,.25) 55%,transparent 100%)!important}
html body a.city-tile>span{font-family:var(--font-display);font-size:1.15rem!important;font-weight:750;line-height:1.6;letter-spacing:-.03em;color:#fff;padding:0 1rem}
html body a.city-tile>small{padding:.1rem 1rem 0!important}
html body a.city-tile:hover,html body a.city-tile:focus-visible{transform:translateY(-3px);border-color:var(--s-gold-deep,#c9a24a);box-shadow:0 14px 34px rgba(11,31,58,.1),0 0 0 1px rgba(11,31,58,.06)}
html body a.city-tile:hover>img,html body a.city-tile:focus-visible>img{transform:scale(1.06)}
@media(max-width:639px){
  html body a.city-tile>span{font-size:clamp(14px,4.9vw,18px)!important;padding:0 .6rem!important}
  html body a.city-tile>small{padding:.1rem .6rem 0!important}
  html body .weekend-city-grid.wcg-odd .city-tile:first-child{aspect-ratio:8/3!important}
}
/* clevelander-1016-hero (Frank OK Oct 16): venue 14028 only uses the existing mid hero tier on desktop. Undo: css14028.sh rollback */
@media(min-width:721px){html body.single-venue.postid-14028 main .page-hero.vhero{min-height:var(--pp-hero-mid)!important}} /* clevelander-1016-hero */

/* ===== A2 homepage phone fit (2026-10-26 polish): beat 0.6.70 44px/277:88 duck-r cap.
   Home-only. Correct A2 aspect 234/88. Keep clearance vs Book Now + hamburger. Backup: ppbk-logo-a2-polish-1026 */
@media (max-width:767px){
  html body.home.pp2026{--nav-h:64px!important}
  html body.home.pp2026 header.nav .nav-inner{min-height:64px!important;padding-top:7px!important;padding-bottom:7px!important}
  html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{
    width:auto!important;height:50px!important;max-height:50px!important;
    max-width:min(148px,calc(100vw - 150px))!important;
    aspect-ratio:234/88!important;object-fit:contain!important;object-position:left center!important;
  }
}
@media (max-width:380px){
  html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{
    height:48px!important;max-height:48px!important;
    max-width:min(140px,calc(100vw - 150px))!important;
  }
}
@media (max-width:359px){
  html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img{
    height:46px!important;max-height:46px!important;
    max-width:min(128px,calc(100vw - 128px))!important;
  }
}

/* UW-v14p: home footer logo size on mobile — beat height:auto/max-height:88 from above */
@media (max-width:760px){
  html body.home.pp2026 .footer a.logo .logo-img.logo-img,
  html body.home.pp2026 .pp26c .footer a.logo .logo-img.logo-img{
    height:76px!important;max-height:76px!important;width:auto!important;
  }
}
@media (max-width:390px){
  html body.home.pp2026 .footer a.logo .logo-img.logo-img,
  html body.home.pp2026 .pp26c .footer a.logo .logo-img.logo-img{
    height:70px!important;max-height:70px!important;width:auto!important;
  }
}

/* ticket2 (wider) (Oct 28 2026, Frank, STAGING): ticket logo on inner pages, mobile. Out-ranks the 139px/44px duck-r lockup above. Home + /events/ excluded. Backup: ~/ppbk-ticket-v1-20261028-231841 */
@media (max-width:767px){
  html body:not(.home):not(.post-type-archive-product) header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img{width:auto!important;height:70px!important;max-height:70px!important;max-width:100%!important;aspect-ratio:1251/626!important}
  html body:not(.home):not(.post-type-archive-product) .footer a.logo.logo .logo-img.logo-img.logo-img,html body:not(.home):not(.post-type-archive-product) .pp26c .footer a.logo.logo .logo-img.logo-img.logo-img{width:auto!important;height:75px!important;max-height:75px!important;max-width:100%!important;aspect-ratio:1251/626!important}
}
@media (max-width:359px){html body:not(.home):not(.post-type-archive-product) header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img{height:60px!important;max-height:60px!important;width:auto!important}}

/* ticket3 (Oct 29 2026, Frank, STAGING): advertise page only (page-id-48), mobile. */
@media (max-width:767px){
  html body.page-id-48.pp-lean:not(.home) header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img{content:url("../img/pp-logo-ticket-v3-header-2x.png?v=ticket3b")!important;content:image-set(url("../img/pp-logo-ticket-v3-header.webp?v=ticket3b") type("image/webp") 1x,url("../img/pp-logo-ticket-v3-header-2x.webp?v=ticket3b") type("image/webp") 2x,url("../img/pp-logo-ticket-v3-header.png?v=ticket3b") type("image/png") 1x,url("../img/pp-logo-ticket-v3-header-2x.png?v=ticket3b") type("image/png") 2x)!important;width:auto!important;height:67px!important;max-height:67px!important;max-width:100%!important;aspect-ratio:1196/576!important}
  html body.page-id-48.pp-lean:not(.home) .footer a.logo.logo .logo-img.logo-img.logo-img,html body.page-id-48.pp-lean:not(.home) .pp26c .footer a.logo.logo .logo-img.logo-img.logo-img{content:url("../img/pp-logo-ticket-v3-footer-2x.png?v=ticket3b")!important;content:image-set(url("../img/pp-logo-ticket-v3-footer.webp?v=ticket3b") type("image/webp") 1x,url("../img/pp-logo-ticket-v3-footer-2x.webp?v=ticket3b") type("image/webp") 2x,url("../img/pp-logo-ticket-v3-footer.png?v=ticket3b") type("image/png") 1x,url("../img/pp-logo-ticket-v3-footer-2x.png?v=ticket3b") type("image/png") 2x)!important;width:auto!important;height:72px!important;max-height:72px!important;max-width:100%!important;aspect-ratio:1196/576!important}
}
@media (max-width:359px){html body.page-id-48.pp-lean:not(.home) header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img{height:58px!important;max-height:58px!important}}

/* antb1 (Oct 30 2026, STAGING): homepage Anthony ticket logo on phones, fits beside Book Now + hamburger. Aspect 2000/900 kept. Rollback: delete this block. */
@media (max-width:767px){html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:60px!important;max-height:60px!important;width:auto!important;max-width:min(134px,calc(100vw - 150px))!important;aspect-ratio:2000/900!important;object-fit:contain!important;object-position:left center!important}
html body.home.pp2026 .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img,html body.home.pp2026 .pp26c .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img{height:84px!important;max-height:84px!important;width:auto!important;max-width:100%!important}}
@media (max-width:380px){html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:56px!important;max-height:56px!important;max-width:min(124px,calc(100vw - 150px))!important}}
@media (max-width:359px){html body.home.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:50px!important;max-height:50px!important;max-width:min(112px,calc(100vw - 128px))!important}}

/* antc1 (Oct 30 2026, STAGING): events page Anthony ticket logo on phones, fits beside Book Now + hamburger. Aspect 2000/900 kept. Rollback: delete this block. */
@media (max-width:767px){html body.post-type-archive-product.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:60px!important;max-height:60px!important;width:auto!important;max-width:min(134px,calc(100vw - 150px))!important;aspect-ratio:2000/900!important;object-fit:contain!important;object-position:left center!important}
html body.post-type-archive-product.pp2026 .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img,html body.post-type-archive-product.pp2026 .pp26c .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img{height:84px!important;max-height:84px!important;width:auto!important;max-width:100%!important}}
@media (max-width:380px){html body.post-type-archive-product.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:56px!important;max-height:56px!important;max-width:min(124px,calc(100vw - 150px))!important}}
@media (max-width:359px){html body.post-type-archive-product.pp2026 header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:50px!important;max-height:50px!important;max-width:min(112px,calc(100vw - 128px))!important}}

/* antf1 (Oct 30 2026, STAGING): venues pages logo on phones; width-capped to fit beside Book Now + menu. Rollback: sh ~/ppbk-logo-antf-1030/rollback.sh */
@media (max-width:767px){html body.page-id-43.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img,html body.single-venue.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{width:auto!important;height:auto!important;max-height:60px!important;max-width:min(150px,calc(100vw - 150px))!important;aspect-ratio:2850/1000!important;object-fit:contain!important;object-position:left center!important}
html body.page-id-43.pp-lean .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img,html body.single-venue.pp-lean .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:76px!important;max-height:76px!important;width:auto!important;max-width:100%!important}}
@media (max-width:359px){html body.page-id-43.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img,html body.single-venue.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{max-width:min(124px,calc(100vw - 128px))!important}}

/* antg5 (Oct 30 2026, STAGING): FAQs page logo on phones; width-capped to fit beside Book Now + menu. Rollback: sh ~/ppbk-logo-antg5-1030/rollback.sh */
@media (max-width:767px){html body.page-id-50.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{width:auto!important;height:auto!important;max-height:64px!important;max-width:min(180px,calc(100vw - 205px))!important;aspect-ratio:2850/1000!important;object-fit:contain!important;object-position:left center!important}}
@media (max-width:359px){html body.page-id-50.pp-lean header.nav.nav a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{max-width:min(124px,calc(100vw - 128px))!important}}

/* antg5f (Oct 30 2026, STAGING): FAQs footer logo on phones. Rollback: sh ~/ppbk-logo-antg5f-1030/rollback.sh */
@media (max-width:767px){html body.page-id-50.pp-lean .footer a.logo.logo .logo-img.logo-img.logo-img.logo-img.logo-img.logo-img{height:63px!important;max-height:63px!important;width:auto!important;max-width:100%!important}}
