/*
 * OneDailyDrop — Liquid Glass 2.0
 * A restrained, premium glass system inspired by modern iOS materials.
 * This file intentionally loads last and normalizes every public surface.
 */

:root {
  color-scheme: light;
  --bg: #dfe7f1;
  --surface: rgba(255, 255, 255, .38);
  --text: #0d1528;
  --muted: #5d687c;
  --line: rgba(255, 255, 255, .68);
  --accent: #4868e8;
  --orange: #4868e8;
  --soft: rgba(227, 234, 250, .52);
  --accent-soft: rgba(72, 104, 232, .1);
  --success: #16866f;
  --success-soft: rgba(22, 134, 111, .1);

  --glass-fill: linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .22));
  --glass-fill-strong: linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(244, 248, 255, .42));
  --glass-fill-soft: linear-gradient(145deg, rgba(255, 255, 255, .4), rgba(255, 255, 255, .14));
  --glass-hover-fill: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(229, 237, 255, .58));
  --glass-border: rgba(255, 255, 255, .72);
  --glass-inner: rgba(255, 255, 255, .82);
  --glass-hairline: rgba(41, 58, 91, .12);
  --glass-shadow:
    0 28px 80px rgba(37, 50, 78, .14),
    0 7px 20px rgba(37, 50, 78, .08),
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 -1px 0 rgba(255, 255, 255, .22);
  --glass-shadow-hover:
    0 34px 94px rgba(30, 44, 77, .19),
    0 10px 26px rgba(30, 44, 77, .1),
    inset 0 1px 0 rgba(255, 255, 255, .94);
  --glass-blur: blur(34px) saturate(145%);
  --glass-blur-small: blur(20px) saturate(135%);
  --primary-fill: linear-gradient(145deg, rgba(12, 22, 43, .96), rgba(35, 49, 82, .92));
  --primary-shadow: 0 13px 28px rgba(12, 22, 43, .23), inset 0 1px 0 rgba(255, 255, 255, .2);
  --brand-fill: linear-gradient(145deg, #4f75ee, #655adf 70%, #6f5bd4);
  --accent-gradient: linear-gradient(105deg, #3559d6, #536fdb 48%, #665bcf);
  --accent-gradient-text: linear-gradient(105deg, #233b77, #4765cf 48%, #6957c9);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
}

body.dark {
  color-scheme: dark;
  --bg: #070c16;
  --surface: rgba(15, 23, 40, .5);
  --text: #f4f7ff;
  --muted: #a7b2c6;
  --line: rgba(190, 207, 255, .14);
  --accent: #8ca8ff;
  --orange: #8ca8ff;
  --soft: rgba(119, 145, 218, .1);
  --accent-soft: rgba(120, 150, 240, .13);
  --success: #64d4b7;
  --success-soft: rgba(61, 205, 165, .12);

  --glass-fill: linear-gradient(145deg, rgba(27, 39, 64, .62), rgba(10, 17, 31, .42));
  --glass-fill-strong: linear-gradient(145deg, rgba(38, 51, 79, .75), rgba(14, 22, 39, .59));
  --glass-fill-soft: linear-gradient(145deg, rgba(29, 42, 69, .44), rgba(9, 16, 29, .28));
  --glass-hover-fill: linear-gradient(145deg, rgba(48, 65, 101, .82), rgba(16, 25, 45, .68));
  --glass-border: rgba(198, 214, 255, .16);
  --glass-inner: rgba(255, 255, 255, .13);
  --glass-hairline: rgba(191, 207, 255, .13);
  --glass-shadow:
    0 30px 86px rgba(0, 0, 0, .44),
    0 8px 24px rgba(0, 0, 0, .25),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    inset 0 -1px 0 rgba(0, 0, 0, .16);
  --glass-shadow-hover:
    0 38px 100px rgba(0, 0, 0, .55),
    0 12px 30px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .16);
  --primary-fill: linear-gradient(145deg, rgba(239, 244, 255, .96), rgba(202, 216, 250, .9));
  --primary-shadow: 0 14px 32px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .9);
  --brand-fill: linear-gradient(145deg, #7095ff, #766ce4 72%, #7d70dd);
  --accent-gradient: linear-gradient(105deg, #8facff, #9aaaff 52%, #b0a2ff);
  --accent-gradient-text: linear-gradient(105deg, #eef3ff, #a9bfff 48%, #c4b7ff);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 132px;
  background: var(--bg);
}

body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 8% -8%, rgba(120, 171, 244, .58), transparent 34rem),
    radial-gradient(circle at 92% 7%, rgba(158, 141, 225, .46), transparent 35rem),
    radial-gradient(circle at 56% 48%, rgba(169, 208, 227, .32), transparent 39rem),
    radial-gradient(circle at 12% 84%, rgba(135, 155, 211, .28), transparent 34rem),
    linear-gradient(145deg, #dce6f1 0%, #e8eaf3 49%, #dce4ee 100%) !important;
  background-attachment: fixed !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.dark {
  background:
    radial-gradient(circle at 7% -7%, rgba(62, 99, 191, .35), transparent 35rem),
    radial-gradient(circle at 94% 4%, rgba(100, 72, 165, .3), transparent 37rem),
    radial-gradient(circle at 54% 48%, rgba(35, 93, 123, .18), transparent 40rem),
    radial-gradient(circle at 10% 86%, rgba(62, 74, 134, .2), transparent 35rem),
    linear-gradient(145deg, #060a13 0%, #0a1020 52%, #090c18 100%) !important;
}

body::before,
body::after {
  content: none !important;
  display: none !important;
}

a,
button,
input,
summary {
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease,
    opacity .2s ease;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 46%, transparent);
  outline-offset: 3px;
}

/* Header and navigation */
.site-header,
body > header,
.page-header {
  top: 12px !important;
  width: min(1380px, calc(100% - 28px)) !important;
  margin: 12px auto 0 !important;
  overflow: visible !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--glass-fill-strong) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  backdrop-filter: var(--glass-blur) !important;
  box-shadow: var(--glass-shadow) !important;
}

.site-header::after,
body > header::after,
.page-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, .42), transparent 24%, transparent 72%, rgba(255, 255, 255, .12));
  opacity: .72;
}

.header-top,
.page-header-inner {
  padding: 12px 18px !important;
}

.main-nav {
  gap: 12px !important;
  padding: 9px 18px 11px !important;
  border-top: 1px solid var(--glass-hairline) !important;
}

.main-nav a,
.category-menu > button,
header nav > a:not(.primary),
.sign-in-link,
.back-link {
  min-height: 38px;
  padding: 0 13px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  color: var(--text) !important;
}

.main-nav a:hover,
.category-menu > button:hover,
header nav > a:not(.primary):hover,
.sign-in-link:hover,
.back-link:hover {
  transform: translateY(-1px);
  border-color: var(--glass-border) !important;
  background: var(--glass-fill-soft) !important;
  box-shadow: inset 0 1px 0 var(--glass-inner), 0 7px 20px rgba(30, 44, 77, .08);
}

.brand-mark,
.brand > span:first-child,
.profile-avatar {
  border: 1px solid rgba(255, 255, 255, .32) !important;
  border-radius: 14px !important;
  background: var(--brand-fill) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(54, 72, 155, .23), inset 0 1px 1px rgba(255, 255, 255, .38) !important;
}

.brand-copy strong,
.brand > b {
  color: var(--text) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.brand-copy {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.brand-copy small {
  color: var(--muted) !important;
}

.header-search {
  border: 1px solid var(--glass-border) !important;
  border-radius: 15px !important;
  background: var(--glass-fill-soft) !important;
  -webkit-backdrop-filter: var(--glass-blur-small);
  backdrop-filter: var(--glass-blur-small);
  box-shadow: inset 0 1px 0 var(--glass-inner), 0 7px 18px rgba(34, 48, 78, .06);
}

.header-search input,
input {
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-fill-soft) !important;
  color: var(--text) !important;
  -webkit-backdrop-filter: var(--glass-blur-small);
  backdrop-filter: var(--glass-blur-small);
  box-shadow: inset 0 1px 0 var(--glass-inner) !important;
}

.header-search input {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.header-search:focus-within,
input:focus {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--glass-border)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent), inset 0 1px 0 var(--glass-inner) !important;
}

.icon-button {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center;
  flex: 0 0 44px;
  border: 1px solid var(--glass-border) !important;
  border-radius: 50% !important;
  background: var(--glass-fill-strong) !important;
  color: var(--text) !important;
  box-shadow: inset 0 1px 0 var(--glass-inner), 0 8px 22px rgba(30, 44, 77, .1) !important;
}

.icon-button:hover {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--accent) 35%, var(--glass-border)) !important;
}

/* Serious glass buttons */
.primary-cta,
.featured-button,
.button,
.mini-action,
.primary,
.club-action,
.subscribe-button,
.header-subscribe,
.compact-subscribe,
.club-nav-link,
.upgrade-link,
.store-button.other {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 14px !important;
  background: var(--primary-fill) !important;
  color: #fff !important;
  box-shadow: var(--primary-shadow) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .16);
}

body.dark .primary-cta,
body.dark .featured-button,
body.dark .button,
body.dark .mini-action,
body.dark .primary,
body.dark .club-action,
body.dark .subscribe-button,
body.dark .header-subscribe,
body.dark .compact-subscribe,
body.dark .club-nav-link,
body.dark .upgrade-link,
body.dark .store-button.other {
  color: #0c1427 !important;
  text-shadow: none;
}

.primary-cta::after,
.featured-button::after,
.button::after,
.mini-action::after,
.primary::after,
.club-action::after,
.subscribe-button::after,
.header-subscribe::after,
.compact-subscribe::after,
.club-nav-link::after,
.upgrade-link::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, rgba(255, 255, 255, .25), transparent 31%, transparent 72%, rgba(255, 255, 255, .08));
}

.primary-cta:hover,
.featured-button:hover,
.button:hover,
.mini-action:hover,
.primary:hover,
.club-action:hover,
.subscribe-button:hover,
.header-subscribe:hover,
.compact-subscribe:hover,
.club-nav-link:hover,
.upgrade-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(12, 22, 43, .25), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}

.primary-cta:active,
.featured-button:active,
.button:active,
.mini-action:active,
.primary:active,
.club-action:active,
.subscribe-button:active {
  transform: translateY(0) scale(.985);
}

.secondary-cta,
.secondary,
.secondary-action,
.logout-button,
.back-link,
.tabs button,
.account-popover a:not(.upgrade-link),
.account-popover button {
  border: 1px solid var(--glass-border) !important;
  border-radius: 14px !important;
  background: var(--glass-fill-soft) !important;
  color: var(--text) !important;
  -webkit-backdrop-filter: var(--glass-blur-small);
  backdrop-filter: var(--glass-blur-small);
  box-shadow: inset 0 1px 0 var(--glass-inner), 0 8px 22px rgba(32, 46, 76, .07) !important;
}

.secondary-cta:hover,
.secondary:hover,
.secondary-action:hover,
.logout-button:hover,
.back-link:hover,
.tabs button:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--accent) 38%, var(--glass-border)) !important;
}

.tabs button.active {
  border-color: rgba(255, 255, 255, .18) !important;
  background: var(--primary-fill) !important;
  color: #fff !important;
  box-shadow: var(--primary-shadow) !important;
}

body.dark .tabs button.active {
  color: #0c1427 !important;
}

/* Hero and primary commerce surfaces */
.hero {
  position: relative;
  border-bottom: 0 !important;
}

.hero-copy {
  position: relative;
  overflow: hidden;
  padding: 42px !important;
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  background: var(--glass-fill-soft);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  box-shadow: var(--glass-shadow);
}

.hero-copy::before,
.account-card::before,
.content-card::before,
.plan-card::before,
.feature::before,
.subscribe-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(118deg, rgba(255, 255, 255, .34), transparent 27%, transparent 77%, rgba(255, 255, 255, .08));
  opacity: .7;
}

.hero h1,
.page-main h1,
.section-heading h1,
.section-heading h2,
.section-title h2,
.how h2,
.confidence-section h2,
.score-method h2 {
  color: var(--text) !important;
}

.hero h1 span,
.hero h1 em {
  background: var(--accent-gradient-text) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.eyebrow {
  color: var(--accent) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.hero-intro,
.lead,
.lede,
.description,
.verification,
.section-title > p,
.product-lead {
  color: var(--muted) !important;
}

.featured-deal,
.card,
.mini-card,
.method-grid article,
.confidence-grid article,
.feature,
.plan-card,
.account-card,
.content-card,
.contact-item,
.product-detail-media,
.editorial-box,
.detail-grid section,
.live-card,
.rules,
.countdown-card,
.score-strip,
.account-popover,
.mega-menu,
.deal-modal-panel,
.modal-card,
.subscribe-card,
.score-breakdown span,
.empty-state,
.admin-panel,
pre {
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-fill) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  backdrop-filter: var(--glass-blur) !important;
  box-shadow: var(--glass-shadow) !important;
}

.featured-deal,
.live-card,
.rules,
.habit-section {
  border-radius: var(--radius-xl) !important;
}

.card,
.feature,
.plan-card,
.account-card,
.content-card,
.product-detail-media,
.editorial-box,
.modal-card,
.deal-modal-panel,
.subscribe-card,
.admin-panel {
  border-radius: var(--radius-lg) !important;
}

.mini-card,
.method-grid article,
.confidence-grid article,
.detail-grid section,
.account-popover,
.mega-menu,
.score-breakdown span,
.contact-item,
.countdown-card,
.score-strip {
  border-radius: var(--radius-md) !important;
}

.card,
.mini-card,
.method-grid article,
.confidence-grid article,
.feature,
.plan-card,
.account-card,
.content-card,
.contact-item,
.editorial-box,
.live-card,
.rules,
.subscribe-card {
  position: relative;
  overflow: hidden;
}

.card:hover,
.mini-card:hover,
.feature:hover,
.plan-card:hover,
.method-grid article:hover,
.confidence-grid article:hover,
.contact-item:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--glass-border)) !important;
  box-shadow: var(--glass-shadow-hover) !important;
}

.featured-media,
.image-wrap,
.mini-card > a,
.product-detail-media {
  background: linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(223, 232, 245, .24)) !important;
}

body.dark .featured-media,
body.dark .image-wrap,
body.dark .mini-card > a,
body.dark .product-detail-media {
  background: linear-gradient(145deg, rgba(55, 70, 101, .34), rgba(10, 17, 31, .23)) !important;
}

.featured-media img,
.image-wrap img,
.mini-card img,
.product-detail-media img {
  mix-blend-mode: multiply;
}

body.dark .featured-media img,
body.dark .image-wrap img,
body.dark .mini-card img,
body.dark .product-detail-media img {
  mix-blend-mode: normal;
}

.featured-body,
.card-content,
.mini-card-body {
  position: relative;
  z-index: 1;
}

.featured-ribbon,
.featured-badge,
.badge,
.save-pill,
.best-value,
.live-top span,
.interest-chips span {
  border: 1px solid var(--glass-border) !important;
  box-shadow: inset 0 1px 0 var(--glass-inner), 0 7px 18px rgba(34, 48, 78, .1) !important;
  -webkit-backdrop-filter: var(--glass-blur-small);
  backdrop-filter: var(--glass-blur-small);
}

.featured-ribbon,
.best-value,
.live-top span {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

.featured-badge,
.badge,
.save-pill {
  background: var(--glass-fill-strong) !important;
}

.featured-badge,
.badge {
  color: var(--text) !important;
}

.save-pill {
  color: var(--success) !important;
}

.score-strip,
.profile-plan,
.plan-note,
.notice,
.deal-summary {
  border: 1px solid var(--glass-border) !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 11%, transparent), rgba(255, 255, 255, .12)) !important;
  color: var(--text) !important;
}

.rank,
.score-strip strong,
.product-score strong {
  color: var(--accent) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.habit-section {
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-fill-soft) !important;
  color: var(--text) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  backdrop-filter: var(--glass-blur) !important;
  box-shadow: var(--glass-shadow) !important;
}

.habit-copy p,
.live-card > p,
.timeline span,
.fair-note,
.rules p {
  color: var(--muted) !important;
}

.subscribe-card {
  color: var(--text) !important;
}

.interest-chips span {
  background: var(--glass-fill-soft) !important;
  color: var(--muted) !important;
}

.interest-chips input:checked + span {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--glass-border)) !important;
  background: color-mix(in srgb, var(--accent) 14%, var(--surface)) !important;
  color: var(--text) !important;
}

.club-plan,
.feature.featured {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--glass-border)) !important;
  box-shadow: var(--glass-shadow), inset 0 3px 0 color-mix(in srgb, var(--accent) 68%, transparent) !important;
}

.timeline strong {
  color: var(--text) !important;
  border-color: var(--accent) !important;
}

/* Club contrast: old Club styles used white text on what is now light glass. */
.live-card,
.rules {
  color: var(--text) !important;
}

.live-card h2,
.live-card .live-top b,
.rules h2,
.feature h3,
.plan-card h3 {
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
}

.live-card > p,
.timeline span,
.rules p {
  color: var(--muted) !important;
}

.rules span,
.profile-avatar {
  background: var(--brand-fill) !important;
}

.password-rules li.met {
  color: var(--success) !important;
}

.forgot,
.back-button,
.contact-item a,
.content-card a,
.breadcrumb a,
.score-method a {
  color: var(--accent) !important;
}

/* Menus and dialogs */
.mega-menu,
.account-popover {
  padding: 14px !important;
}

.mega-menu a,
.mega-menu button {
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-fill-soft) !important;
  color: var(--text) !important;
}

.mega-menu a:hover,
.mega-menu button:hover {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--glass-border)) !important;
  background: var(--glass-fill-strong) !important;
}

.account-avatar {
  border: 1px solid rgba(255, 255, 255, .2);
  background: var(--primary-fill) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
}

body.dark .account-avatar {
  color: #0c1427 !important;
}

.main-nav a.club-nav-link {
  color: #fff !important;
}

body.dark .main-nav a.club-nav-link {
  color: #0c1427 !important;
}

.modal,
.deal-modal {
  isolation: isolate;
}

.backdrop,
.deal-modal-backdrop {
  background: rgba(6, 11, 22, .42) !important;
  -webkit-backdrop-filter: blur(22px) saturate(120%);
  backdrop-filter: blur(22px) saturate(120%) !important;
}

.close,
.deal-modal-close {
  z-index: 4 !important;
  display: grid !important;
  place-items: center;
  cursor: pointer !important;
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-fill-strong) !important;
  color: var(--text) !important;
  box-shadow: 0 10px 28px rgba(10, 18, 37, .18), inset 0 1px 0 var(--glass-inner) !important;
}

.close {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  line-height: 1;
}

.close:hover,
.deal-modal-close:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--accent) 42%, var(--glass-border)) !important;
}

/* Information, product and admin pages */
.page-main {
  max-width: 980px !important;
  padding-top: 76px !important;
}

.page-main > h1 {
  max-width: 820px;
}

.content-card {
  padding: clamp(24px, 4vw, 48px) !important;
}

.content-card h2 {
  padding-top: 25px;
  border-top: 1px solid var(--glass-hairline);
}

.content-card h2:first-child,
.content-card .notice + h2 {
  border-top: 0;
}

.contact-item {
  padding: 20px !important;
}

.product-score {
  border: 1px solid var(--glass-border);
  background: var(--glass-fill-soft) !important;
  box-shadow: inset 0 1px 0 var(--glass-inner);
}

.detail-grid section p {
  color: var(--text) !important;
  font-size: 17px;
  font-weight: 800;
}

.admin-page main {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 30px;
}

.admin-panel {
  width: min(720px, 100%);
  padding: 32px;
}

.admin-panel pre {
  max-height: 420px;
  overflow: auto;
  padding: 18px;
  color: var(--text);
  white-space: pre-wrap;
}

/* Footer */
footer,
.page-footer {
  width: min(1380px, calc(100% - 28px)) !important;
  margin: 44px auto 14px !important;
  padding: 38px !important;
  border: 1px solid rgba(196, 211, 255, .16) !important;
  border-radius: var(--radius-lg) !important;
  background: linear-gradient(145deg, rgba(11, 20, 38, .82), rgba(21, 29, 49, .7)) !important;
  color: #f5f7ff !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  backdrop-filter: var(--glass-blur) !important;
  box-shadow: 0 24px 70px rgba(6, 12, 25, .25), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

body.dark footer,
body.dark .page-footer {
  background: linear-gradient(145deg, rgba(12, 20, 36, .62), rgba(6, 11, 21, .52)) !important;
}

footer p,
.page-footer p {
  color: #aeb9cc !important;
}

footer a,
.page-footer a {
  color: #e8edfa !important;
}

footer a:hover,
.page-footer a:hover {
  color: #aebfff !important;
}

/* A visible but restrained glass response for mouse users. */
@media (hover: hover) and (pointer: fine) {
  .featured-deal,
  .card,
  .mini-card,
  .feature,
  .plan-card,
  .method-grid article,
  .confidence-grid article,
  .contact-item,
  .live-card,
  .rules,
  .account-card,
  .content-card,
  .subscribe-card {
    transition:
      transform .24s cubic-bezier(.2, .8, .2, 1),
      border-color .24s ease,
      background .24s ease,
      box-shadow .24s ease,
      filter .24s ease;
  }

  .featured-deal:hover,
  .card:hover,
  .mini-card:hover,
  .feature:hover,
  .plan-card:hover,
  .method-grid article:hover,
  .confidence-grid article:hover,
  .contact-item:hover,
  .live-card:hover,
  .rules:hover,
  .account-card:hover,
  .content-card:hover,
  .subscribe-card:hover {
    transform: translateY(-6px) scale(1.006);
    border-color: color-mix(in srgb, var(--accent) 58%, var(--glass-border)) !important;
    background: var(--glass-hover-fill) !important;
    box-shadow:
      0 34px 90px rgba(29, 45, 82, .22),
      0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent),
      inset 0 1px 0 rgba(255, 255, 255, .94) !important;
  }

  body.dark .featured-deal:hover,
  body.dark .card:hover,
  body.dark .mini-card:hover,
  body.dark .feature:hover,
  body.dark .plan-card:hover,
  body.dark .method-grid article:hover,
  body.dark .confidence-grid article:hover,
  body.dark .contact-item:hover,
  body.dark .live-card:hover,
  body.dark .rules:hover,
  body.dark .account-card:hover,
  body.dark .content-card:hover,
  body.dark .subscribe-card:hover {
    box-shadow:
      0 38px 100px rgba(0, 0, 0, .58),
      0 0 0 1px color-mix(in srgb, var(--accent) 42%, transparent),
      inset 0 1px 0 rgba(255, 255, 255, .18) !important;
  }

  .feature:hover > span,
  .plan-card:hover > .eyebrow,
  .card:hover .rank,
  .mini-card:hover h3,
  .method-grid article:hover > span {
    color: color-mix(in srgb, var(--accent) 86%, var(--text)) !important;
  }
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .site-header,
  body > header,
  .page-header,
  .hero-copy,
  .featured-deal,
  .card,
  .mini-card,
  .feature,
  .plan-card,
  .account-card,
  .content-card,
  .modal-card,
  .deal-modal-panel,
  .subscribe-card {
    background: rgba(242, 246, 252, .96) !important;
  }

  body.dark .site-header,
  body.dark > header,
  body.dark .page-header,
  body.dark .hero-copy,
  body.dark .featured-deal,
  body.dark .card,
  body.dark .mini-card,
  body.dark .feature,
  body.dark .plan-card,
  body.dark .account-card,
  body.dark .content-card,
  body.dark .modal-card,
  body.dark .deal-modal-panel,
  body.dark .subscribe-card {
    background: rgba(17, 26, 45, .98) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (max-width: 1080px) {
  .hero-copy {
    padding: 34px !important;
  }
}

@media (max-width: 900px) {
  .site-header,
  body > header,
  .page-header {
    top: 7px !important;
    width: calc(100% - 14px) !important;
    margin-top: 7px !important;
    border-radius: 18px !important;
  }

  header nav {
    gap: 7px !important;
  }

  .compact-subscribe {
    font-size: 0 !important;
    padding: 0 13px !important;
  }

  .compact-subscribe::before {
    content: "Club $2.99";
    font-size: 12px;
  }
}

@media (max-width: 720px) {
  html {
    scroll-padding-top: 170px;
  }

  main {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .header-top {
    padding: 10px 11px !important;
    gap: 9px !important;
  }

  .main-nav {
    gap: 5px !important;
    padding: 7px 10px 9px !important;
  }

  .main-nav > a,
  .category-menu > button {
    min-height: 34px;
    padding: 0 9px !important;
    white-space: nowrap;
  }

  .hero {
    padding-top: 44px !important;
  }

  .hero-copy {
    padding: 28px 22px !important;
    border-radius: 22px;
  }

  .hero h1 {
    font-size: clamp(46px, 14vw, 64px) !important;
  }

  .featured-deal,
  .live-card,
  .rules,
  .habit-section {
    border-radius: 22px !important;
  }

  .card,
  .feature,
  .plan-card,
  .account-card,
  .content-card,
  .subscribe-card {
    border-radius: 19px !important;
  }

  .card:hover,
  .mini-card:hover,
  .feature:hover,
  .plan-card:hover,
  .method-grid article:hover,
  .confidence-grid article:hover,
  .contact-item:hover {
    transform: none;
  }

  footer,
  .page-footer {
    width: calc(100% - 14px) !important;
    margin-bottom: 7px !important;
    padding: 28px 22px !important;
    border-radius: 19px !important;
  }
}

/* Categories must remain readable over product photography. */
.mega-menu {
  background: #f7f9fd !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-color: rgba(82, 99, 140, .24) !important;
  box-shadow: 0 24px 60px rgba(28, 39, 68, .24) !important;
}

body.dark .mega-menu {
  background: #182033 !important;
  border-color: rgba(168, 184, 223, .22) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .52) !important;
}

.mega-menu a,
.mega-menu button {
  background: rgba(255, 255, 255, .9) !important;
}

body.dark .mega-menu a,
body.dark .mega-menu button {
  background: #222c43 !important;
}
