/* Bridges from the module stylesheets to the shared look, loaded after them (docs/DESIGN_SYSTEM.md):
   flat colour blocks, covers, avatars, washes and the condensed titles of module classes. Each rule goes away
   when its module moves to the shared components (web/ui.css, pass 3). Tokens: web/tokens.css. */

/* Hero blocks: flat blue with ink outline */
.tg-profile-head, .tg-plan { background: var(--color-block-blue); color: var(--color-block-blue-text); border: var(--card-border); box-shadow: var(--card-shadow); }
.tg-quiz-progress span { background: var(--accent); }

/* Covers: one flat colour per place, no glossy gradients */
.tg-cover { background: var(--c1, var(--sea)); }
.tg-cover::after { display: none; }
.tg-plan-dot { background: var(--c1, var(--sea)); }
.tg-qcard { background: var(--c1, var(--sea)); border: var(--card-border); }
.biz-cover { background: var(--sea); }
.biz-cover--museum { background: var(--color-cat-culture); }
.biz-cover--bar { background: var(--color-cat-drink); }
.biz-cover--restaurant { background: var(--color-cat-food); }
.biz-cover--shop { background: var(--color-cat-shop); }

/* Avatars and marks: yellow with an ink outline */
.account-avatar, .tg-avatar { background: var(--color-yellow); color: var(--color-block-yellow-text); border: var(--border-width) solid var(--color-outline); box-shadow: none; }

/* Cards that carried a soft wash */
.grp-welcome, .grp-join-card, .grp-home-invite, .ntf-consent { background: var(--gold-soft); border: var(--card-border); }
.grp-home-tile.is-poll, .grp-pin.is-poll.is-todo { background: var(--accent-soft); }
.grp-pin.is-plan, .pa-zones-cta { background: var(--sea-soft); }
.grp-poll::before { background: var(--accent); }
:where([data-theme="dark"]) .grp-welcome, :where([data-theme="dark"]) .grp-join-card, :where([data-theme="dark"]) .grp-home-invite, :where([data-theme="dark"]) .ntf-consent, :where([data-theme="dark"]) .personal-why { color: var(--ink); }

/* Titles: Archivo condensed, black, uppercase (headings); numbers and long questions only condensed and bold */
.app-page-title, .page-heading h1, .ws-page-header h1, .tg-map-page-heading h1, .empty h2, .personal-empty h2, .section-title h2, .app-section-title h2,
.home-head h2, .home .app-section-title h2, .home-title, .home-pick-title, .dialog-top h2, .route-heading h2, .iris-header h1, .iris-welcome h2, .app-about-card h2,
.personal-why h2, .setup-heading h1, .setup-section-heading h2, .setup-taste-card h1, .geo-section-heading h2, .ws-section-heading h2, .auth-hero h1, .amici-title,
.tu-plain-head h1, .aik-card h2, .an-section, .biz-h2, .biz-manage-head h1, .grp-h2, .grp-welcome h2, .grp-hero-copy h1, .grp-join-card h1, .grp-done h3,
.tgv-panel-head h2, .gad-title, .gad-tr-bar-title h2, .mg-hero h1, .mg-item-head h1, .mg-facts h2, .mg-sources h2, .mg-ar-card h2, .mg-ar-fallback h2, .mg-clue-floor h2,
.mt-title, .mt-steps-head h2, .mt-start h1, .ngv-title, .ngv-arrive h2, .ntf-consent h2, .pa-h2, .pa-section-title, .sfy-cd h2, .sfy-sos-head h2, .sfy-sos-done h2,
.sfy-alert-title, .sfy-t-title, .social-title, .social-hero h1, .social-reviews-head h1, .tg-plan-head h3, .tg-profile-id h1, .tg-quiz-saving h1, .tg-quiz-intro h1,
.tg-quiz-done h1, .va-card h2, .va-drawer-head h2, .zones-form h2 { font-weight: 900; font-stretch: var(--font-stretch-display); text-transform: uppercase; letter-spacing: 0; font-variation-settings: normal; line-height: 1; }
.an-kpi strong, .ws-metric strong, .bl-price strong, .biz-metrics strong, .gad-kpi strong, .gad-tr-card-count strong, .gad-tr-mins.is-side strong, .mg-museum-copy strong,
.mt-emblem strong, .mt-stats dd, .ngv-opt-time, .pa-date b, .pa-kpi strong, .pa-big, .social-summary-score strong, .grp-poll-q, .tg-subtitle, .tg-qcard-copy h2,
.mg-item-treasure-card h3, .gad-tr-auto h3, .social-extras-head h3, .cover-index, .phase-number, .mg-cover-code { font-weight: 850; font-stretch: var(--font-stretch-numbers); letter-spacing: 0; font-variation-settings: normal; }
