/* Shared storefront and account interface: light surfaces and solid colors. */
:root {
  color-scheme:light;
  --bg-dark:#f6f7fb; --bg-main:#f6f7fb; --bg-card:#fff; --bg-card-hover:#fff; --bg-input:#fff;
  --primary:#244bff; --primary-hover:#1738ce; --primary-glow:#e9eeff;
  --text-main:#182230; --text-muted:#536174; --text-faint:#536174; --border:#dce2eb; --border-focus:#244bff;
  --surface:#fff; --surface-raised:#eef2f8; --success:#137547; --accent:#ff743d;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --shadow-card:none; --shadow-glow:none; --font-small:.875rem;
}
html { scroll-padding-top:96px; }
body { background:#f6f7fb; background-image:none; background-attachment:scroll; color:var(--text-main); font-size:16px; }
.container { max-width:1180px; }
.hidden,[hidden] { display:none!important; }
button,input,select,textarea { font:inherit; }
button { touch-action:manipulation; }
input,select,textarea { min-width:0; color:var(--text-main); color-scheme:light; accent-color:var(--primary); }
input::placeholder,textarea::placeholder { color:var(--text-muted); opacity:1; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--primary)!important; outline-offset:4px;
}
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; border:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; top:8px; left:16px; z-index:10000; background:var(--primary); color:#fff; padding:12px 20px; border-radius:8px; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.header { background:#fff; background-image:none; backdrop-filter:none; border-bottom:1px solid var(--border); box-shadow:none; }
.header-content { min-height:76px; height:auto; padding-top:12px; padding-bottom:12px; gap:24px; }
.logo { gap:10px; flex-shrink:0; color:var(--text-main); }
.logo-icon { display:inline-block; vertical-align:middle; object-fit:contain; flex:none; }
.logo-text { color:var(--text-main); font-size:1.5rem; font-weight:800; line-height:1.1; letter-spacing:-.06em; white-space:nowrap; }
.logo-text strong { color:var(--primary); font-weight:800; }
.footer-brand>.logo { display:inline-flex; min-height:44px; }
.not-found>.logo { display:inline-flex; min-height:44px; margin-bottom:32px; }
.header-nav { display:flex; gap:28px; align-items:center; margin-left:auto; }
.header-nav a { color:var(--text-muted); font-size:.875rem; font-weight:600; padding:12px 0; text-decoration:none; }
.header-nav a:hover { color:var(--primary); }
.header-actions { margin-left:12px; }
.btn { min-height:46px; border-radius:8px; font-size:.9375rem; gap:10px; box-shadow:none; transition:background-color .15s,border-color .15s,color .15s; }
.btn-sm { min-height:44px; padding:10px 16px; font-size:.875rem; }
.btn-primary { background:var(--primary); background-image:none; color:#fff; border:1px solid var(--primary); box-shadow:none; }
.btn-primary:hover { background:var(--primary-hover); color:#fff; border-color:var(--primary-hover); box-shadow:none; transform:none; }
.btn-outline { background:#fff; color:var(--text-main); border:1px solid var(--border); }
.btn-outline:hover { background:#eef2f8; color:var(--text-main); border-color:#9ba8bc; transform:none; }
.btn-google { background:#fff; border:1px solid var(--border); color:var(--text-main); box-shadow:none; }
.btn-google:hover { background:#f6f7fb; transform:none; }
.btn:disabled,.btn[disabled] { opacity:1; background:#eef2f8; color:#536174; border-color:var(--border); cursor:not-allowed; box-shadow:none; transform:none; }
.user-btn { max-width:250px; }
.user-menu-identity { min-width:0; }
.user-email-text { max-width:165px; }
.user-avatar { display:inline-flex; color:var(--primary); }
.user-popover { min-width:252px; max-width:calc(100vw - 32px); background:#fff; border:1px solid #b8c3d4; border-radius:12px; box-shadow:none; }
.user-popover a,.user-popover button { min-height:44px; display:flex; align-items:center; font-size:.875rem; color:var(--text-main); padding:10px 12px; border-radius:7px; }
.user-popover a:hover,.user-popover button:hover { background:#eef2f8; color:var(--primary); }
.user-popover .logout-link { color:#b42318!important; }
.popover-divider { border-color:var(--border); }
.admin-badge { color:var(--primary); font-size:.6875rem; }

/* A compact editorial introduction keeps the catalogue close to the fold. */
.hero { padding:28px 0 8px; text-align:left; background:#f6f7fb; }
.hero-content { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); align-items:center; gap:40px; max-width:1180px; }
.hero-copy { min-width:0; }
.badge-pill { display:inline-flex; align-items:center; background:#e9eeff; border:1px solid #d3ddff; color:#2341b1; font-size:.75rem; font-weight:700; padding:7px 11px; margin-bottom:18px; border-radius:6px; box-shadow:none; }
.brand-dot { width:6px; height:6px; display:inline-block; background:var(--primary); border-radius:50%; margin-right:8px; flex-shrink:0; }
.hero-title { color:var(--text-main); font-size:clamp(2.25rem,3.3vw,3rem); line-height:1.12; letter-spacing:-.045em; margin:0 0 14px; font-weight:800; }
.gradient-text { color:var(--primary); background:none; background-image:none; -webkit-background-clip:initial; background-clip:initial; -webkit-text-fill-color:currentColor; }
.hero-subtitle { color:var(--text-muted); font-size:1rem; line-height:1.65; max-width:570px; margin:0 0 18px; }
.hero-actions { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:12px; margin:0 0 18px; }
.hero-actions .btn { padding:12px 20px; }
.hero-benefits { display:flex; flex-wrap:wrap; gap:10px 20px; list-style:none; color:var(--text-muted); font-size:.75rem; }
.hero-benefits li { display:flex; gap:6px; align-items:center; }
.hero-benefits li>span { color:#137547; font-weight:800; }
.hero-collection { padding:16px; border:1px solid #182230; border-radius:12px; background:#fff4ec; box-shadow:4px 4px 0 #ff743d; min-width:0; }
.collection-top { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.625rem; letter-spacing:.12em; font-weight:800; color:var(--text-main); }
.collection-symbol { font-size:1.5rem; line-height:1; }
.hero-collection h2 { margin:0 0 12px; font-size:1.125rem; line-height:1.4; letter-spacing:-.025em; color:var(--text-main); }
.collection-item { display:flex; align-items:center; gap:10px; min-height:52px; margin-top:8px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text-main); text-decoration:none; }
.collection-item:hover { border-color:var(--primary); background:#fff; }
.collection-item>span:nth-child(2) { flex:1; min-width:0; }
.collection-item strong { display:block; font-size:.8125rem; font-weight:700; line-height:1.5; }
.collection-item small { display:block; color:var(--text-muted); font-size:.75rem; margin-top:2px; }
.collection-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:7px; font-size:1.25rem; flex-shrink:0; }
.collection-play { background:#fff0e8; color:#a03814; }
.collection-create { background:#e6f4ec; color:#146447; }
.collection-ai { background:#e9eeff; color:#244bff; }
.collection-arrow { font-size:1rem; color:var(--text-main); }
.collection-caption { color:var(--text-muted); margin-top:16px; font-size:.6875rem; }
.metrics-grid { display:flex; align-items:center; flex-wrap:wrap; padding:12px 0 0; margin:16px 0 0; background:none; border:0; border-top:1px solid var(--border); border-radius:0; box-shadow:none; backdrop-filter:none; max-width:none; gap:12px 24px; }
.metrics-grid .metric-card { flex-direction:row; align-items:baseline; gap:8px; }
.catalog-summary-copy { margin:0; color:var(--text-muted); font-size:.8125rem; line-height:1.5; }
.metric-card { display:flex; flex-direction:column; gap:3px; align-items:flex-start; text-align:left; background:none; border:0; }
.metric-value { color:var(--text-main); font-size:1.125rem; line-height:1.5; font-weight:800; }
.metric-label { color:var(--text-muted); font-size:.75rem; line-height:1.5; }

/* Search, filters and offer cards. */
.catalog-section { padding-top:20px; padding-bottom:48px; }
.catalog-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.section-kicker { color:var(--primary); font-size:.6875rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; }
.catalog-heading .section-title { color:var(--text-main); font-size:1.75rem; margin:0; letter-spacing:-.045em; line-height:1.25; }
.catalog-heading p { color:var(--text-muted); font-size:.8125rem; }
.catalog-heading #catalogAvailability { max-width:400px; margin:0; color:var(--text-muted); }
.catalog-availability { padding:11px 14px; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); background:#fff; font-size:.8125rem; line-height:1.55; }
.catalog-availability.available { border-color:#a9d5bc; color:#146447; background:#eaf5ed; }
.controls-wrapper { gap:14px; margin-bottom:18px; }
.search-box input { background:#fff; min-height:50px; padding-right:60px; color:var(--text-main); border-color:#bac5d5; border-radius:8px; font-size:1rem; box-shadow:none; }
.search-box input:focus { border-color:var(--primary); box-shadow:none; }
.search-icon { color:var(--text-muted); }
.btn-clear { width:44px; height:44px; right:4px; color:var(--text-muted); font-size:1.3rem; background:transparent; }
.btn-clear:hover { color:var(--text-main); }
.category-tabs { flex-wrap:wrap; overflow:visible; gap:8px; }
.mobile-category { display:none; }
.tab-btn { border:1px solid var(--border); background:#fff; color:var(--text-muted); border-radius:7px; min-height:44px; padding:10px 14px; font-size:.8125rem; box-shadow:none; }
.tab-btn:hover { background:#eef2f8; border-color:#bac5d5; color:var(--text-main); }
.tab-btn.active { background:#e9eeff; border-color:#244bff; color:#1738ce; box-shadow:none; }
.grid-header { margin-bottom:18px; gap:16px; align-items:center; }
.catalog-refinements { margin:0 0 16px; min-width:0; border:1px solid var(--border); border-radius:10px; background:#fff; }
.catalog-refinements summary { min-height:44px; padding:12px 16px; cursor:pointer; font-size:.875rem; font-weight:600; overflow-wrap:anywhere; }
.catalog-refinements summary span { color:#244bff; }
.catalog-refinement-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:12px; padding:4px 16px 12px; align-items:end; }
.catalog-refinement-fields label { display:grid; gap:6px; min-width:0; font-size:.875rem; color:var(--text-muted); }
.catalog-refinement-fields select { width:100%; min-width:0; min-height:48px; padding:8px; border:1px solid var(--border); border-radius:7px; background:#fff; color:var(--text-main); font:inherit; font-size:max(16px,1rem); }
.catalog-refinement-fields button { min-width:0; min-height:48px; white-space:normal; overflow-wrap:anywhere; }
.catalog-refinements>p { padding:0 16px 16px; margin:0; color:var(--text-muted); font-size:.8125rem; line-height:1.6; }
@media (max-width:700px) {
  .controls-wrapper { display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:start; }
  .controls-wrapper>.search-box { grid-column:1/-1; }
  .controls-wrapper>.mobile-category { display:block; min-width:0; font-size:0; }
  .controls-wrapper>.mobile-category select { width:100%; max-width:100%; font-size:max(16px,.875rem); }
  .controls-wrapper>.catalog-refinements { margin:0; }
  .catalog-refinements summary { padding:12px 8px; }
  .catalog-refinements[open] { grid-column:1/-1; }
}
.results-count { font-size:.8125rem; color:var(--text-muted); }
.catalog-options { display:flex; align-items:center; gap:12px; }
.catalog-options label { display:flex; align-items:center; gap:10px; font-size:.8125rem; color:var(--text-muted); }
.catalog-options select { min-height:44px; border:1px solid var(--border); border-radius:7px; background:#fff; color:var(--text-main); padding:8px 26px 8px 12px; font-size:.8125rem; }
#btnFavoritesOnly[aria-pressed="true"] { background:#fff0e8; border-color:#dd845f; color:#8a3414; }
.cards-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sub-card { background:#fff; background-image:none; border:1px solid var(--border); border-radius:12px; padding:24px; box-shadow:none; backdrop-filter:none; gap:22px; transition:border-color .15s; }
.sub-card.featured { border-color:#a8b8ed; box-shadow:none; }
.sub-card:hover { transform:none; border-color:#244bff; box-shadow:none; }
.card-top { gap:12px; align-items:center; margin-bottom:18px; }
.service-mark { width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; flex:none; background:#fff; border:1px solid #e2e8f0; border-radius:10px; color:#20242c; }
.service-mark svg { display:block; width:32px; height:32px; }
.service-mark-youtube { color:#ff0033; }
.service-mark-netflix { color:#e50914; }
.service-mark-hbo { color:#111827; }
.service-mark-paramountplus { color:#0064ff; }
.service-mark-disneyplus { color:#136878; }
.service-mark-canva { color:#00a7b5; }
.service-mark-spotify { color:#1db954; }
.service-mark-duolingo { color:#58a700; }
.service-mark-openai,.service-mark-magnific { color:#000; }
.service-mark-claude { color:#c66140; }
.service-mark-icloud { color:#2584f5; }
.service-mark-applemusic { color:#fa243c; }
.service-mark-strava { color:#fc4c02; }
.service-mark-1password { color:#0572ec; }
.card-service { flex:1; min-width:0; }
.card-service strong { display:block; font-size:.875rem; color:var(--text-main); }
.card-category { color:var(--text-muted); font-size:.75rem; letter-spacing:0; text-transform:none; padding:0; background:none; border:0; }
.icon-button { width:44px; height:44px; min-width:44px; border:1px solid var(--border); border-radius:8px; display:inline-flex; align-items:center; justify-content:center; color:var(--text-muted); background:#fff; cursor:pointer; font-size:1.2rem; }
.icon-button:hover { background:#f6f7fb; border-color:#bac5d5; }
.icon-button[aria-pressed="true"] { color:#8a3414; background:#fff0e8; border-color:#dd845f; }
.card-title { color:var(--text-main); font-size:1.125rem; line-height:1.45; min-height:2.9em; letter-spacing:-.025em; margin-bottom:10px; }
.card-desc { color:var(--text-muted); font-size:.875rem; line-height:1.65; min-height:3.3em; -webkit-line-clamp:2; }
.card-badge { font-size:.6875rem; border-radius:5px; padding:4px 8px; background:#e9eeff; color:#1738ce; border:0; }
.offer-state { display:flex; align-items:center; gap:7px; width:fit-content; margin:10px 0 8px; padding:5px 8px; border:1px solid #eed6a6; border-radius:5px; background:#fff7e5; color:#805219; font-size:.8125rem; line-height:1.5; font-weight:600; }
.offer-state-ready { background:#e6f4ec; color:#146447; border-color:#b9deca; }
.offer-state>span { flex:none; width:5px; height:5px; border-radius:50%; background:currentColor; }
.card-meta { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.meta-row { color:var(--text-muted); font-size:.8125rem; gap:12px; }
.meta-row strong { color:var(--text-main); font-weight:600; text-align:right; overflow-wrap:anywhere; }
.catalog-access-method,.catalog-slots { color:var(--text-main); }
.card-bottom { flex-wrap:wrap; gap:12px; border-top:0; padding-top:0; margin-top:auto; }
.price-tag { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:4px; width:100%; }
.price-current { flex-basis:100%; font-size:.75rem; font-weight:600; color:var(--text-muted); margin-bottom:4px; }
.catalog-price-policy { color:var(--text-muted); font-size:.875rem; line-height:1.65; margin:0 0 20px; overflow-wrap:anywhere; }
.catalog-price-policy a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.price-tag .val { color:var(--text-main); font-size:1.875rem; letter-spacing:-.045em; }
.price-tag.price-quote .val,.price-amount.price-quote { font-size:1.5rem; letter-spacing:-.025em; }
.price-tag .curr { font-size:.875rem; color:var(--text-main); }
.price-tag .per { font-size:.8125rem; color:var(--text-muted); white-space:nowrap; margin-left:6px; }
.card-bottom .btn-open-modal { width:100%; justify-content:center; }
.card-compare { display:flex; gap:8px; align-items:center; min-height:44px; color:var(--text-muted); font-size:.75rem; cursor:pointer; }
.card-compare input { accent-color:var(--primary); width:18px; height:18px; }
.catalog-skeleton { height:385px; border:1px solid var(--border); border-radius:12px; background:#fff; padding:24px; }
.skeleton-line { display:block; height:18px; border-radius:5px; margin:20px 0; background:#e6ebf3; animation:none; }
.skeleton-line:first-child { width:48px; height:48px; }.skeleton-line:nth-child(3) { width:75%; }.skeleton-line:last-child { margin-top:80px; height:44px; }
.empty-state { padding:40px 24px; background:#fff; border:1px dashed #bac5d5; border-radius:12px; color:var(--text-main); }
.empty-state p { margin:8px 0 20px; color:var(--text-muted); }
.plan-description { display:block; color:var(--text-muted); font-size:.9375rem; line-height:1.75; margin-bottom:1rem; -webkit-line-clamp:none; overflow:visible; }
#staticCatalog .card-price { margin:18px 0; color:var(--text-main); font-size:1.375rem; font-weight:800; }
#staticCatalog .card-price small { display:block; font-size:.75rem; color:var(--text-muted); font-weight:500; }
#staticCatalog .catalog-notice { color:var(--text-muted); font-size:.8125rem; margin-bottom:20px; }
#staticCatalog .sub-card p:not(.card-price) { line-height:1.7; }

/* Guidance and common dialogs stay readable across every entry point. */
.invite-section,.faq-section { padding-top:44px; padding-bottom:44px; }
.section-heading-title { color:var(--text-main); font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.035em; }
.step-copy,.faq-answer,.section-heading-copy { color:var(--text-muted); font-size:.9375rem; }
.invite-step,.invite-step:nth-child(2) { background:#fff; border-color:var(--border); border-radius:12px; box-shadow:none; }
.invite-step:hover { transform:none; border-color:#bac5d5; box-shadow:none; }
.step-visual { height:110px; }
.step-visual::before,.invite-step:nth-child(2) .step-visual::before { display:none; }
.step-number { color:var(--text-main); background:#fff0e8; border-color:#efc9b6; border-radius:6px; }
.step-label { color:var(--primary); }
.step-title { color:var(--text-main); }
.faq-item { background:#fff; border-color:var(--border); border-radius:10px; box-shadow:none; }
.faq-item[open] { background:#fff; border-color:#a8b8ed; box-shadow:none; }
.faq-item summary { color:var(--text-main); min-height:60px; font-size:.9375rem; }
.faq-item summary:hover { color:var(--primary); }
.faq-toggle { color:var(--primary); }
.modal-backdrop { background:rgb(24 34 48 / 48%); backdrop-filter:none; }
.modal-card,.glass-panel { background:#fff; background-image:none; color:var(--text-main); border:1px solid var(--border); padding:30px; border-radius:16px; box-shadow:none; backdrop-filter:none; }
.modal-close { width:44px; height:44px; top:12px; right:12px; border-radius:8px; color:var(--text-muted); background:#f6f7fb; }
.modal-close:hover { color:var(--text-main); background:#e9eef6; }
.modal-header { padding-right:30px; }
.modal-header h3 { color:var(--text-main); font-size:1.55rem; line-height:1.4; letter-spacing:-.035em; }
.modal-badge { background:#e9eeff; color:#1738ce; border-radius:6px; }
.modal-code,.price-period,.field-hint,.auth-field-hint,.field-error,.section-help { font-size:.8125rem; line-height:1.65; }
.modal-code,.field-hint,.auth-field-hint,.section-help { color:var(--text-muted); }
.price-box { align-items:flex-start; flex-direction:column; gap:14px; background:#f6f7fb; border-color:var(--border); }
.price-left { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; }
.price-currency,.price-amount { color:var(--text-main); }
.price-period { white-space:normal; width:auto; max-width:100%; overflow-wrap:anywhere; margin-left:8px; color:var(--text-muted); }
.slots-info { font-size:.8125rem; color:var(--text-muted); }
.info-label,.info-list,.security-banner { font-size:.875rem; }
.info-label { color:var(--text-muted); }
.info-item { gap:16px; }
.info-item strong { color:var(--text-main); }
.security-banner { color:var(--text-muted); background:#eef2f8; border-left-color:var(--primary); }
#mProviderRules a,.provider-information a { color:#1738ce; text-underline-offset:3px; }
#mProviderRules a:hover,.provider-information a:hover { color:#142fa7; }
.provider-information { margin-block:16px; padding:16px; background:#f6f7fb; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); font-size:.8125rem; line-height:1.7; overflow-wrap:anywhere; }
.plan-sources { margin-block:16px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text-muted); font-size:.8125rem; }
.plan-sources>summary { min-height:44px; padding:12px 0; color:var(--text-main); font-weight:600; line-height:1.5; cursor:pointer; }
.plan-sources>summary:hover { color:var(--primary); }
.plan-sources>summary::marker { color:var(--primary); }
.plan-sources .section-help { margin:0 0 16px; font-size:.75rem; line-height:1.75; overflow-wrap:anywhere; }
.plan-sources a { color:#1738ce; text-decoration:underline; text-underline-offset:3px; }
.plan-sources a:hover { color:#142fa7; }
.provider-information h4 { color:var(--text-main); font-size:.875rem; margin-bottom:6px; }
.plan-conditions { padding:16px; border:1px solid #c6d2ef; border-radius:8px; background:#f3f6ff; margin:18px 0; }
.plan-conditions h4 { font-size:1rem; line-height:1.5; margin:0 0 10px; color:var(--text-main); }
.plan-conditions .section-help { font-size:.875rem; }
.plan-conditions p { margin:12px 0 0; }
#detailsAvailability { font-size:.875rem; line-height:1.65; }
#directPlanState { padding:16px; border:1px solid var(--border); border-radius:8px; margin-bottom:16px; }
#directPlanState button { display:block; margin-top:12px; }
#sharePlanField { width:100%; min-height:48px; font-size:1rem; padding:12px; background:#fff; color:var(--text-main); border:1px solid var(--border); border-radius:8px; }
.provider-information ul { padding-left:20px; margin-block:10px; }
.provider-information li+li { margin-top:6px; }
.form-group label,.form-group>.field-label,.form-group { color:var(--text-main); font-size:.9375rem; }
.form-group input,.form-group select,.form-group textarea,.account-form .form-input { font-size:1rem; background:#fff; color:var(--text-main); border-color:#bac5d5; min-height:48px; box-shadow:none; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.account-form .form-input:focus { border-color:var(--primary); box-shadow:none; }
.form-group input[readonly] { background:#f6f7fb; color:var(--text-muted); }
.form-group input[aria-invalid="true"],.form-group textarea[aria-invalid="true"] { border-color:#b42318; }
.field-error { color:#b42318; }
.auth-tabs { background:#eef2f8; border:1px solid var(--border); border-radius:8px; }
.auth-tab-btn { color:var(--text-muted); min-height:44px; }
.auth-tab-btn.active { background:#fff; color:#1738ce; border:1px solid #bac5d5; box-shadow:none; }
.auth-context-message { background:#e9eeff; color:#2341b1; border-color:#c8d4ff; }
.auth-form-error,.account-feedback.auth-form-error { background:#fff0ed; color:#a22b21; border:1px solid #e5afa6; }
.auth-status-message,.account-feedback.auth-status-message { background:#eaf4fb; color:#205d82; border:1px solid #b4d4e9; }
.auth-form-error,.auth-status-message,.account-feedback { border-radius:8px; padding:12px 14px; overflow-wrap:anywhere; }
.account-help-links { gap:12px 22px; }
.account-help-links>button { color:#1738ce; font-size:.8125rem; min-height:44px; }
.account-help-links>button:hover { color:#142fa7; }
.password-input-wrap { position:relative; }
.password-input-wrap input { padding-right:90px; }
.password-visibility { color:#1738ce; background:#fff; border-color:#dce2eb; min-height:36px; border-radius:6px; }
.password-visibility:hover { color:#142fa7; background:#eef2f8; }
.account-guidance { background:#f6f7fb; color:var(--text-main); border:1px solid var(--border); border-radius:8px; padding:14px; margin:14px 0; line-height:1.7; font-size:.875rem; overflow-wrap:anywhere; }
.account-sent-to { color:var(--text-main); font-weight:600; }
.account-cooldown { color:var(--text-muted); }
#modalMfa .auth-card { max-width:520px; }
#mfaTitle,#accountDataTitle { color:var(--text-main); padding-right:40px; font-size:1.5rem; line-height:1.35; margin-bottom:14px; }
#mfaHelp,#mfaSetup p,#modalAccountData p { color:var(--text-muted); font-size:.875rem; line-height:1.7; margin-block:12px; }
#mfaQr { display:block; margin:18px auto; max-width:100%; height:auto; background:#fff; border:1px solid var(--border); padding:8px; border-radius:8px; }
#mfaSetup details { padding:12px; background:#f6f7fb; border:1px solid var(--border); border-radius:8px; }
#mfaSetup summary { min-height:32px; cursor:pointer; font-size:.875rem; color:var(--text-main); }
#mfaSecret { display:block; overflow-wrap:anywhere; color:var(--text-main); margin-top:10px; }
#mfaForm { display:grid; gap:18px; margin-top:20px; }
#mfaCode { width:100%; padding:12px; border:1px solid #bac5d5; border-radius:8px; min-height:48px; color:var(--text-main); background:#fff; letter-spacing:.2em; margin-top:8px; }
#accountClosureForm { border-top:1px solid var(--border); padding-top:22px; margin-top:22px; }
#accountClosureForm h3,#modalAccountData .account-modal>h3 { color:var(--text-main); font-size:1.125rem; margin:18px 0 12px; }
#accountClosureMessage { display:block; width:100%; color:var(--text-main); background:#fff; border:1px solid #bac5d5; border-radius:8px; padding:12px; margin-top:8px; }
#accountClosureForm label { display:block; color:var(--text-main); font-size:.875rem; line-height:1.65; margin:16px 0; }
#accountClosureForm label.checkout-consent { display:flex; align-items:flex-start; gap:10px; }
#accountClosureForm input[type="checkbox"] { flex-shrink:0; width:18px; height:18px; margin-top:4px; }
.status-active,.status-completed { background:#e7f4ed; color:#146447; }
.status-pending,.status-under_review,.status-approved { background:#fff3db; color:#815711; }
.status-cancelled,.status-cancelado { background:#eef2f8; color:#536174; }
.status-failed,.status-rejected,.status-past_due { background:#fff0ed; color:#a22b21; }
.subscription-status,.subscription-test { font-size:.75rem; line-height:1.5; }
.toast-container { max-width:min(420px,calc(100vw - 32px)); }
.toast { display:flex; gap:12px; align-items:center; font-size:.875rem; padding:14px 16px; color:var(--text-main); background:#fff; border:1px solid #bac5d5; box-shadow:none; }
.toast button { background:transparent; color:inherit; border:0; min-width:36px; min-height:36px; cursor:pointer; font-size:1.2rem; }
.toast.error { background:#fff0ed; border-color:#e5afa6; color:#a22b21; }
.toast.success { background:#e7f4ed; border-color:#a9d5bc; color:#146447; }

.footer { background:#fff; border-top:1px solid var(--border); margin-top:24px; color:var(--text-main); }
.footer-content { gap:40px; }
.footer-desc { color:var(--text-muted); max-width:440px; font-size:.875rem; line-height:1.75; }
.footer-links h4 { color:var(--text-main); }
.footer-links a,.footer-links button { color:var(--text-muted); font-size:.875rem; padding:10px 0; min-height:44px; }
.footer-links a:hover,.footer-links button:hover { color:var(--primary); }
.footer-bottom { border-top-color:var(--border); }
.footer-bottom p { color:var(--text-muted); font-size:.8125rem; }
.trust-seals { gap:14px; }
.trust-seal { background:#f6f7fb; border:1px solid var(--border); color:var(--text-main); border-radius:8px; }
.trust-seal svg { color:var(--primary); }
.trust-seal span { font-size:.8125rem; }
.institutional-info { padding-top:24px; padding-bottom:24px; }
.institutional-info h2 { color:var(--text-main); font-size:1.125rem; margin-bottom:12px; }
#publicContact,#merchantIdentity,#publicLegalLinks { color:var(--text-muted); font-size:.875rem; line-height:1.7; overflow-wrap:anywhere; }
.institutional-info a { color:#1738ce; text-underline-offset:3px; }
.institutional-info details { border-top:1px solid var(--border); scroll-margin-top:96px; }
.institutional-info summary { min-height:54px; display:list-item; padding:16px 8px; cursor:pointer; font-size:.875rem; color:var(--text-main); }
.institutional-info details>div { color:var(--text-muted); max-width:900px; padding:8px 8px 24px; font-size:.875rem; line-height:1.75; }
.institutional-info p+p { margin-top:12px; }
.institutional-info button { margin-top:16px; }
.workspace-page { max-width:1180px; min-height:calc(100vh - 100px); margin:0 auto; padding:32px 20px 70px; color:var(--text-main); }
.workspace-page h1,.workspace-page h2,.workspace-page h3 { letter-spacing:-.025em; }
.compare-bar { position:fixed; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:12px; align-items:center; padding:12px 18px; background:#fff; color:var(--text-main); border:2px solid var(--primary); border-radius:12px; box-shadow:none; z-index:50; max-width:calc(100vw - 24px); font-size:.8125rem; }
.compare-content { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-top:24px; }
.compare-plan { border:1px solid var(--border); padding:18px; border-radius:10px; background:#f6f7fb; }
.compare-plan h4 { color:var(--text-main); line-height:1.5; margin:14px 0; }.compare-plan dl { font-size:.875rem; }.compare-plan dt { color:var(--text-muted); margin-top:14px; }.compare-plan dd { color:var(--text-main); margin-top:4px; overflow-wrap:anywhere; }
.compare-plan .btn { margin-top:18px; }
main.container.not-found { padding:80px 20px; max-width:760px; text-align:left; }
main.container.not-found .eyebrow { color:var(--primary); font-size:.75rem; letter-spacing:.12em; font-weight:800; margin-bottom:16px; }
main.container.not-found h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.15; letter-spacing:-.045em; }
main.container.not-found p:not(.eyebrow) { color:var(--text-muted); margin:20px 0 28px; line-height:1.7; }

@media(max-width:1000px) {
  .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .header-nav { gap:16px; }.hero-content { gap:24px; }.hero-title { font-size:2.5rem; }
  .hero-collection { padding:14px; }.hero-collection h2 { font-size:1.125rem; }
  .collection-item { gap:8px; padding:10px; }.collection-item strong { font-size:.75rem; }
  .catalog-heading { gap:18px; }.catalog-heading .section-title { font-size:1.5rem; }
}
@media(max-width:700px) {
  html { scroll-padding-top:84px; }
  .container { padding-left:16px; padding-right:16px; }
  .header-content { gap:12px; min-height:64px; flex-wrap:nowrap; padding-top:10px; padding-bottom:10px; }
  .header-nav { display:none; }.header-actions { margin-left:auto; }.logo-text { font-size:1.25rem; }
  .logo-icon { width:34px; height:34px; }.header-actions>.btn { min-height:44px; padding:10px 16px; font-size:.8125rem; }
  .hero { padding:20px 0 6px; }.hero-content { display:block; }.hero-collection { display:none; }
  .hero .badge-pill { display:none; }.hero-title { font-size:clamp(2rem,8.5vw,2.625rem); margin-bottom:12px; line-height:1.12; }
  .hero-subtitle { font-size:.875rem; line-height:1.65; margin:0 0 16px; max-width:480px; }
  .hero-actions { gap:10px; margin-bottom:12px; }.hero-actions .btn { font-size:.8125rem; padding:10px 15px; min-height:44px; }
  .hero-benefits { font-size:.75rem; gap:5px 14px; }.hero-benefits li { gap:5px; }
  .hero-benefits { display:none; }
  .metrics-grid { gap:8px; margin-top:12px; padding-top:10px; }
  .metric-card { flex-direction:row; align-items:center; gap:7px; }.metric-value { font-size:1rem; }.metric-label { max-width:none; font-size:.8125rem; line-height:1.45; }
  .catalog-summary-copy { display:none; }
  .catalog-section { padding-top:18px; padding-bottom:28px; }
  .catalog-heading { margin-bottom:14px; flex-direction:column; align-items:stretch; gap:10px; }
  .section-kicker { margin-bottom:5px; font-size:.75rem; }.catalog-heading .section-title { font-size:1.375rem; }
  .catalog-heading #catalogAvailability { max-width:none; }.catalog-availability { padding:9px 11px; font-size:.75rem; }
  .controls-wrapper { margin-bottom:12px; gap:10px; }.search-box input { min-height:46px; }
  .category-tabs { display:none; }.mobile-category { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--text-muted); font-size:.8125rem; }
  .mobile-category select { max-width:75%; min-height:44px; background:#fff; color:var(--text-main); border:1px solid var(--border); border-radius:7px; padding:8px; font-size:.8125rem; }
  .grid-header { align-items:center; flex-direction:row; gap:8px; margin-bottom:14px; }.catalog-options { width:auto; margin-left:auto; justify-content:flex-end; }.catalog-options label { gap:6px; font-size:0; }.catalog-options select { font-size:.8125rem; }
  .results-count { flex-shrink:0; font-size:.75rem; }
  .cards-grid { grid-template-columns:1fr; gap:16px; }.sub-card { padding:20px; }.card-title { min-height:0; }.card-desc { min-height:0; }
  .invite-section,.faq-section { padding-top:30px; padding-bottom:30px; }.section-heading-title { font-size:1.5rem; }
  .modal-backdrop { padding:12px; }.modal-card { padding:24px 20px; max-height:calc(100dvh - 24px); border-radius:12px; }
  .modal-header { padding-right:30px; }.modal-header h3 { font-size:1.3rem; }
  .price-left { align-items:baseline; }.price-period { margin-left:4px; font-size:.75rem; }.price-amount { font-size:2rem; }
  .info-item { flex-wrap:wrap; gap:5px 12px; }.info-item strong { overflow-wrap:anywhere; }
  .user-btn { max-width:180px; }.user-email-text { max-width:105px; }.user-avatar,.chevron { display:none; }
  .footer-content { gap:24px; }.footer-brand { grid-column:1/-1; }.trust-seals { gap:12px; }
  .compare-bar { padding:10px; gap:8px; flex-wrap:wrap; width:calc(100vw - 24px); justify-content:center; }.compare-bar>span { font-size:.75rem; }
  .workspace-page { padding:20px 16px 50px; }
  main.container.not-found { padding:56px 20px; }
}
@media(max-width:360px) {
  .hero-title { font-size:1.9375rem; }.hero-actions { gap:8px; }.hero-actions .btn { padding:10px 12px; }
  .hero-benefits { font-size:.75rem; gap:5px 10px; }
  .catalog-options { gap:6px; }.catalog-options label { gap:4px; min-width:0; }.catalog-options select { padding-left:8px; padding-right:20px; max-width:138px; }
  #btnFavoritesOnly { padding-left:10px; padding-right:10px; }
  .mobile-category { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; }.mobile-category select { width:100%; max-width:100%; }
  .user-btn { max-width:154px; }.user-email-text { max-width:95px; }
}
/* Storefront reflow: content determines height, including enlarged text and
   long service identifiers. Account and checkout layouts have their own rules. */
.header-content { flex-wrap:wrap; }
.header .logo { min-height:44px; min-width:0; max-width:100%; }
.header .logo-text { overflow-wrap:anywhere; }
.header-nav { flex-wrap:wrap; min-width:0; }
.header-nav a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.header-actions { min-width:0; max-width:100%; }
.header .user-popover { max-height:calc(100dvh - var(--site-header-height,76px) - 20px - env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; }
.hero-copy,.hero-collection,.catalog-heading>div,.catalog-options,.footer-brand,.footer-links,.compare-plan { min-width:0; }
.hero-title,.hero-subtitle,.collection-item strong,.collection-item small,.catalog-heading .section-title,.catalog-availability,.card-title,.card-service strong,.card-category,.card-badge,.card-desc,.offer-state,.step-title,.step-copy,.faq-item summary,.faq-answer,.footer-desc,.footer-links a,.footer-links button,.trust-seal span,.compare-plan h4 { overflow-wrap:anywhere; }
.hero-actions>.btn { max-width:100%; white-space:normal; }
.catalog-heading { flex-wrap:wrap; }
.catalog-heading>div { flex:1 1 18rem; }
.catalog-heading #catalogAvailability { flex:1 1 18rem; }
.search-box input { padding-inline:44px 12px; }
.search-box:has(.btn-clear:not(.hidden)) input { padding-right:56px; }
.grid-header,.catalog-options { flex-wrap:wrap; }
.catalog-options { max-width:100%; }
.catalog-options label { min-width:0; max-width:100%; }
.catalog-options select { max-width:100%; }
.results-count { max-width:100%; overflow-wrap:anywhere; }
.cards-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr)); }
.sub-card { min-width:0; padding:clamp(16px,2vw,24px); }
.card-title { text-wrap:pretty; }
.card-top { flex-wrap:wrap; }
.card-service { flex-basis:6rem; }
.meta-row { align-items:flex-start; }
.meta-row>span,.meta-row strong { min-width:0; overflow-wrap:anywhere; }
.meta-row>span { flex:0 0 auto; max-width:45%; }
.meta-row strong { flex:1 1 0; }
.card-bottom .btn-open-modal { white-space:normal; }
.invite-step { padding:clamp(18px,2.5vw,26px); }
.faq-section { column-gap:clamp(24px,4vw,56px); }
.faq-item summary { padding:18px; }
.footer-links a,.footer-links button { display:flex; align-items:center; max-width:100%; width:fit-content; min-width:44px; margin-bottom:2px; line-height:1.5; }
.footer-bottom { padding-inline:16px; overflow-wrap:anywhere; }
.compare-bar { width:max-content; flex-wrap:wrap; }
.compare-bar>span { min-width:0; overflow-wrap:anywhere; }
.compare-content { grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); }
.compare-plan { padding:16px; }
.compare-plan .btn { min-height:44px; max-width:100%; white-space:normal; }
body:has(#compareBar:not(.hidden)) .footer { padding-bottom:calc(8rem + 44px + env(safe-area-inset-bottom,0px)); }
@media(max-width:768px) {
  .footer-content { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:24px 16px; margin-bottom:24px; }
  .footer-brand { grid-column:1/-1; }
}
@media(max-width:700px) {
  .header-content { column-gap:12px; }
  .catalog-heading>div,.catalog-heading #catalogAvailability { flex:0 1 auto; }
  .grid-header { align-items:center; }
  .catalog-options { justify-content:flex-end; }
  .compare-bar { width:calc(100% - 24px); }
}
@media(max-width:360px) {
  .hero-title { font-size:1.8125rem; }
  .hero-actions .btn { padding-inline:10px; }
}
@media(max-height:480px) and (min-width:701px) {
  .header-content { min-height:64px; padding-block:6px; }
  .hero { padding-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .sub-card:hover,.btn:hover,.invite-step:hover { transform:none!important; }
}
@media(forced-colors:active) {
  .btn,.sub-card,.tab-btn,.modal-card,.hero-collection,.collection-item,.compare-bar { border:1px solid ButtonText; }
  .gradient-text { background:none; -webkit-text-fill-color:CanvasText; }.service-mark { forced-color-adjust:auto; }
}

/* Purchase decisions: a concrete price first, followed by participation rules. */
.hero { padding:32px 0 26px; border-bottom:1px solid var(--border); }
.hero-content { grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr); gap:56px; }
.hero .badge-pill { background:none; border:0; padding:0; border-radius:0; font-size:.8125rem; letter-spacing:.1em; margin-bottom:14px; }
.hero-title { font-size:clamp(2.35rem,3.8vw,3.2rem); letter-spacing:-.065em; line-height:1.08; }
.hero-subtitle { max-width:34rem; line-height:1.6; }
.hero-actions { align-items:center; margin-bottom:14px; }
.hero-actions>.btn { min-height:50px; font-weight:800; }
.hero-help-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 4px; font-size:.875rem; color:var(--text-main); text-decoration:underline; text-underline-offset:4px; }
.hero-benefits { font-size:.875rem; gap:8px 18px; }
.hero-collection { background:#244bff; border:0; border-radius:16px; box-shadow:none; color:#fff; padding:22px; }
.hero-price-intro { display:flex; justify-content:space-between; gap:10px; font-size:.75rem; font-weight:700; letter-spacing:.09em; color:#fff; }
.hero-price-intro>span:last-child { font-size:1.3rem; line-height:1; }
.hero-price { display:flex; flex-direction:column; gap:1px; margin:10px 0 14px; }
.hero-price>span { color:#fff; font-size:.875rem; }
.hero-price strong { color:#e5ff78; font-size:3.5rem; line-height:1.15; letter-spacing:-.065em; font-weight:800; overflow-wrap:anywhere; }
.hero-collection h2 { color:#fff; font-size:.875rem; font-weight:500; margin:0 0 10px; }
.hero-collection .collection-item { min-height:44px; padding:8px 10px; margin-top:8px; background:#fff; border:0; }
.hero-collection .collection-item small,.hero-collection .collection-icon { display:none; }
.hero-collection .collection-item strong { font-size:.875rem; }
.catalog-section { padding-top:28px; }
.catalog-heading { margin-bottom:12px; gap:18px; }
.catalog-heading .section-title { font-size:clamp(1.4rem,2.4vw,2rem); }
.catalog-heading .section-kicker { font-size:.75rem; }
.catalog-heading #catalogAvailability { max-width:370px; flex-basis:20rem; font-size:.875rem; border:0; border-left:3px solid #cd8b18; border-radius:0; background:#fff5dd; }
.catalog-heading #catalogAvailability.available { background:#eaf5ed; border-left-color:#137547; }
.catalog-price-policy { margin-bottom:18px; font-size:.875rem; }
.controls-wrapper { margin-bottom:12px; }
.grid-header { margin-bottom:16px; }
.offer-card { border:1px solid #cfd7e3; border-radius:14px; padding:22px; gap:18px; }
.offer-card:hover { border-color:#244bff; box-shadow:0 4px 0 #dfe6ff; }
.offer-card .card-top { margin-bottom:16px; flex-wrap:nowrap; }
.offer-card .card-service { flex:1 1 auto; }
.offer-card .card-service strong { font-size:.9375rem; }
.offer-card .card-title { min-height:0; margin:0 0 18px; font-size:1.125rem; line-height:1.4; }
.offer-card .price-tag { margin:0 0 18px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.offer-card .price-current { font-size:.875rem; font-weight:500; }
.offer-card .price-tag .val { font-size:2.75rem; font-weight:800; line-height:1.15; color:#182230; }
.offer-card .price-tag .curr { font-size:1.125rem; }
.offer-card .price-tag .per { font-size:.875rem; margin-left:0; max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.offer-card .card-price { font-size:2.5rem; font-weight:800; line-height:1.2; letter-spacing:-.045em; margin:0 0 18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.offer-card .card-price small { display:block; font-size:.875rem; font-weight:400; letter-spacing:0; margin-top:5px; }
.offer-card .card-desc { min-height:0; font-size:1rem; line-height:1.6; -webkit-line-clamp:3; margin-bottom:14px; }
.card-rule { font-size:.875rem; line-height:1.5; color:var(--text-main); padding-left:12px; border-left:2px solid #aeb8c9; margin:0; overflow-wrap:anywhere; }
.offer-card .card-bottom { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.offer-card .offer-state { margin:0; background:none; border:0; padding:0; font-size:.875rem; }
.offer-card .btn-open-modal { min-height:48px; font-weight:700; font-size:.9375rem; }
.offer-card .card-compare { justify-content:center; font-size:.875rem; }
.compare-plan dt { margin-top:10px; }
.compare-plan dd { font-size:.875rem; line-height:1.55; overflow-wrap:anywhere; }
.compare-plan dd.compare-price { font-size:1.8rem; line-height:1.2; font-weight:800; color:var(--primary); }
@media(min-width:1100px) {
  .controls-wrapper { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .controls-wrapper .category-tabs { margin:0; }
}
#modalDetails .modal-header h3 { font-size:clamp(1.35rem,2.2vw,1.75rem); line-height:1.3; }
#modalDetails .price-box { background:#eaf0ff; border:1px solid #cad6ff; padding:20px; border-radius:10px; }
#modalDetails .price-amount { font-size:2.7rem; color:#182230; letter-spacing:-.05em; }
#modalDetails .slots-info { font-size:.8125rem; }
#modalDetails .info-item.full { padding-top:16px; border-top:1px solid var(--border); }
#modalDetails #mDesc { font-size:1rem; line-height:1.7; }
#modalDetails .plan-conditions { background:#f6f7fb; border-left:3px solid #244bff; padding:18px; }
#modalDetails .plan-conditions h4 { font-size:1rem; margin-bottom:10px; }
#modalDetails .plan-conditions p { font-size:.9375rem; line-height:1.65; margin-top:12px; }
#modalDetails .plan-renewal-note { margin-top:18px; font-size:.875rem; line-height:1.65; }
#modalDetails .plan-renewal-note a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
#modalDetails .modal-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; border-top:1px solid var(--border); padding-top:20px; }
#btnOpenCardCheckout,#btnPlanContact { grid-column:1/-1; }
#btnBackToCatalog,#btnSharePlan { min-height:46px; font-size:.875rem; padding-inline:8px; }
@media(max-width:1000px) {
  .hero-content { gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  .hero-title { font-size:2.65rem; }
  .hero-collection { padding:18px; }
}
@media(max-width:700px) {
  .hero { padding:12px 0; }
  .hero-title { font-size:clamp(1.9rem,7.8vw,2.5rem); margin-bottom:10px; }
  .hero-subtitle { font-size:1rem; line-height:1.5; margin-bottom:12px; }
  .hero-actions { margin-bottom:0; gap:10px; }
  .hero-actions>.btn { min-height:46px; padding:10px 14px; font-size:.875rem; }
  .hero-collection { display:block; margin-top:12px; padding:12px 16px; border-radius:10px; }
  .hero-collection h2,.hero-price-intro,.hero-collection .collection-item { display:none; }
  .hero-price { margin:0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; align-items:center; }
  .hero-price>span { font-size:.75rem; line-height:1.4; }
  .hero-price strong { font-size:2rem; grid-column:2; grid-row:1/3; }
  .hero-price>span:last-child { grid-column:1; grid-row:2; }
  .hero-collection:has(.hero-price.hidden) { display:none; }
  .catalog-section { padding-top:18px; }
  .catalog-heading { gap:10px; }
  .catalog-heading #catalogAvailability { max-width:none; flex:0 1 auto; padding:8px 10px; font-size:.8125rem; }
  .catalog-price-policy { font-size:.8125rem; margin-bottom:14px; }
  .offer-card { padding:20px; }
  .offer-card .card-top { gap:10px; }
  .offer-card .price-tag .val { font-size:2.5rem; }
}
@media(forced-colors:active) {
  .hero-collection,.card-rule,.offer-card { border:1px solid CanvasText; }
  .hero-collection * { color:CanvasText!important; }
}

.service-mark-deezer { color:#A238FF; }
.service-mark-apple { color:#000; }
.service-mark-qobuz { color:#000; }
.service-mark-nintendoswitch { background:#E60012; color:#fff; border-radius:10px; padding:7px; }
