/* The free wash prompt (inc/freewash-prompt.php, assets/js/freewash-prompt.js).
   Desktop: a centred dialog over a scrim. Phone (.is-sheet): a card above the bottom bar, no scrim, page still usable. */
.pl-fwp[hidden] { display: none; }
.pl-fwp { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 16px; }
.pl-fwp__scrim { position: absolute; inset: 0; background: rgba(6, 20, 46, .55); opacity: 0; transition: opacity .22s; }
.pl-fwp__card { position: relative; width: min(100%, 440px); padding: 28px 26px 18px; border-radius: 22px; background: var(--pl-navy-deep, #06142E);
  color: #fff; box-shadow: 0 24px 60px rgba(6, 20, 46, .45); text-align: center; opacity: 0; transform: translateY(14px) scale(.98);
  transition: opacity .22s, transform .22s; background-image: radial-gradient(120% 80% at 50% 0%, rgba(60, 203, 234, .22), transparent 60%); }
.pl-fwp.is-in .pl-fwp__scrim { opacity: 1; }
.pl-fwp.is-in .pl-fwp__card { opacity: 1; transform: none; }
.pl-fwp__x { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent;
  color: var(--pl-on-dark-2, #B9C8DE); font-size: 26px; line-height: 1; cursor: pointer; }
.pl-fwp__x:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.pl-fwp__tag { margin: 0 0 10px; font: 600 11px/1.2 var(--pl-mono); letter-spacing: .14em; color: var(--pl-cyan, #3CCBEA); }
.pl-fwp__h { margin: 0 0 10px; font-size: clamp(26px, 3.4vw, 32px); font-weight: 650; letter-spacing: -0.02em; line-height: 1.1; color: #fff; }
.pl-fwp__p { margin: 0 auto 20px; max-width: 34ch; font-size: 15px; line-height: 1.5; color: var(--pl-on-dark, #D5DEEA); }
.pl-fwp__go { min-height: 50px; font-size: 16px; }
.pl-fwp__no { margin-top: 6px; min-height: 44px; padding: 0 16px; border: 0; background: transparent; color: var(--pl-on-dark-2, #B9C8DE);
  font: 500 14px/1 var(--pl-font); cursor: pointer; }
.pl-fwp__no:hover { color: #fff; text-decoration: underline; }

/* phone: a sheet above the bottom bar */
.pl-fwp.is-sheet { inset: auto 12px calc(92px + env(safe-area-inset-bottom)) 12px; z-index: 62; display: block; padding: 0; }
.pl-fwp.is-sheet .pl-fwp__scrim { display: none; }
.pl-fwp.is-sheet .pl-fwp__card { width: 100%; padding: 18px 18px 8px; border-radius: 18px; text-align: left; }
.pl-fwp.is-sheet .pl-fwp__tag { margin-bottom: 6px; }
.pl-fwp.is-sheet .pl-fwp__h { font-size: 22px; margin-bottom: 6px; padding-right: 32px; }
.pl-fwp.is-sheet .pl-fwp__p { margin: 0 0 14px; max-width: none; font-size: 14px; }
.pl-fwp.is-sheet .pl-fwp__go { min-height: 46px; }
.pl-fwp.is-sheet .pl-fwp__no { display: block; margin: 2px auto 0; }
.pl-fwp.is-sheet .pl-fwp__x { top: 4px; right: 4px; }

@media (prefers-reduced-motion: reduce) { .pl-fwp__scrim, .pl-fwp__card { transition: none; } }
