/* ════════════════════════════════════════ TOORA Wiki Global Stylesheet Vodafone-inspired design language ════════════════════════════════════════ */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap'); /* ═══ DESIGN TOKENS ═══ */ :root { /* Colors */ --primary: #e60000; --on-primary: #ffffff; --ink: #25282b; --body: #7e7e7e; --mute: #bebebe; --canvas: #ffffff; --canvas-soft: #f2f2f2; --on-dark: #ffffff; /* Typography */ --font-display: 'Inter', 'Vodafone', 'Helvetica Neue', Arial, sans-serif; /* Radius */ --radius-none: 0px; --radius-card: 6px; --radius-pill-md: 32px; --radius-pill-lg: 60px; --radius-full: 9999px; /* Spacing */ --space-xs: 4px; --space-sm: 8px; --space-md: 12px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 24px; --space-3xl: 32px; } /* ═══ RESET ═══ */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; box-shadow: none !important; } html { background: var(--canvas); color: var(--ink); font-family: var(--font-display); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; } body { background: var(--canvas); color: var(--ink); min-height: 100vh; } /* ═══ TYPOGRAPHY ═══ */ .display-hero { font-size: clamp(64px, 10vw, 144px); font-weight: 800; line-height: 0.8; letter-spacing: -1px; text-transform: uppercase; color: var(--ink); } .display-xxl { font-size: clamp(56px, 8vw, 126px); font-weight: 800; line-height: 0.9; letter-spacing: -1px; text-transform: uppercase; color: var(--ink); } .display-xl { font-size: clamp(48px, 7vw, 90px); font-weight: 800; line-height: 0.94; text-transform: uppercase; color: var(--ink); } .display-lg { font-size: 48px; font-weight: 300; line-height: 1.08; color: var(--ink); } .display-md { font-size: 40px; font-weight: 300; line-height: 1.1; color: var(--ink); } .display-sm { font-size: 32px; font-weight: 700; line-height: 1.25; color: var(--ink); } .display-xs { font-size: 24px; font-weight: 700; line-height: 1; color: var(--ink); } .eyebrow { font-size: 16px; font-weight: 800; text-transform: uppercase; line-height: 1.5; color: var(--primary); letter-spacing: 0.5px; } .body-lg { font-size: 22px; font-weight: 400; line-height: 1.4; color: var(--ink); } .body-md { font-size: 18px; font-weight: 400; line-height: 1.55; color: var(--ink); } .body-sm { font-size: 16px; font-weight: 400; line-height: 1.4; color: var(--body); } .caption-uppercase { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.57px; color: var(--body); } /* ═══ BUTTONS — Vodafone pill system ═══ */ .btn, .vf-btn { display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 18px; font-weight: 400; line-height: 1; border-radius: var(--radius-pill-lg); padding: var(--space-md) var(--space-2xl); cursor: pointer; text-decoration: none; border: 1px solid; transition: opacity 0.2s ease, transform 0.2s ease; white-space: nowrap; } .btn:hover, .vf-btn:hover { opacity: 0.85; } .btn:active, .vf-btn:active { transform: scale(0.98); } .vf-btn-primary { background: var(--primary); color: var(--on-primary); border-color: var(--primary); } .vf-btn-outline-red { background: var(--canvas); color: var(--primary); border-color: var(--primary); } .vf-btn-outline-dark { background: var(--canvas); color: var(--ink); border-color: var(--ink); } /* ═══ BADGES / CHIPS ═══ */ .vf-badge { display: inline-block; background: var(--canvas-soft); color: var(--ink); font-family: var(--font-display); font-size: 14px; font-weight: 700; border-radius: var(--radius-pill-md); padding: var(--space-xs) var(--space-md); line-height: 1.5; } /* ═══ CARDS — 6px radius ═══ */ .vf-card { background: var(--canvas); color: var(--ink); border-radius: var(--radius-card); padding: var(--space-lg); border: 1px solid var(--mute); transition: border-color 0.2s ease; } .vf-card:hover { border-color: var(--ink); } .vf-card-soft { background: var(--canvas-soft); border: 1px solid var(--mute); } .vf-card-title { font-size: 32px; font-weight: 700; line-height: 1.25; color: var(--ink); margin-bottom: var(--space-sm); } .vf-card-desc { font-size: 16px; font-weight: 400; line-height: 1.4; color: var(--body); } /* ═══ HERO BANDS ═══ */ .vf-hero-dark { background: var(--ink); color: var(--on-dark); padding: var(--space-3xl); } .vf-hero-dark .display-hero, .vf-hero-dark .display-xxl, .vf-hero-dark .display-xl { color: var(--on-dark); } .vf-hero-dark .eyebrow { color: var(--primary); } .vf-hero-dark .body-lg { color: var(--on-dark); } .vf-hero-red { background: var(--primary); color: var(--on-primary); padding: var(--space-3xl); } .vf-hero-red .display-hero, .vf-hero-red .display-xxl, .vf-hero-red .display-xl { color: var(--on-primary); } .vf-band-light { background: var(--canvas); color: var(--ink); padding: var(--space-3xl); } /* ═══ NAV BAR ═══ */ .vf-nav { background: var(--ink); color: var(--on-dark); display: flex; align-items: center; justify-content: space-between; padding: var(--space-lg) var(--space-3xl); position: sticky; top: 0; z-index: 100; } .vf-nav .vf-nav-brand { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: var(--on-dark); text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; } .vf-nav .vf-nav-brand .speechmark { display: inline-block; background: var(--primary); color: var(--on-primary); border-radius: var(--radius-card); width: 32px; height: 32px; text-align: center; line-height: 32px; font-size: 20px; margin-right: 8px; font-weight: 800; } .vf-nav .vf-nav-links { display: flex; gap: var(--space-2xl); list-style: none; margin: 0; padding: 0; } .vf-nav .vf-nav-links a { font-family: var(--font-display); font-size: 16px; font-weight: 400; color: var(--on-dark); text-decoration: none; opacity: 0.85; transition: opacity 0.2s; } .vf-nav .vf-nav-links a:hover { opacity: 1; } /* ═══ GRIDS ═══ */ .vf-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); } .vf-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); } /* ═══ SECTION LABEL ═══ */ .vf-section-label { font-size: 16px; font-weight: 800; text-transform: uppercase; color: var(--primary); margin-bottom: var(--space-xl); display: block; } /* ═══ FOOTER ═══ */ .vf-footer { background: var(--ink); color: var(--on-dark); padding: var(--space-3xl); text-align: center; font-size: 14px; opacity: 0.85; } /* ═══ WIKI.JS OVERRIDES ═══ */ body, .content, .page-content, .main-panel { background: var(--canvas) !important; color: var(--ink) !important; } h1, h2, h3, h4, h5, h6 { color: var(--ink) !important; font-family: var(--font-display) !important; } a { color: var(--primary) !important; } .wiki-logo img, .navbar-brand img, [class*="logo"] img { display: none !important; } .wiki-logo:after, .navbar-brand:after { content: "TOORA"; font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif; font-size: 20px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; color: #ffffff; white-space: nowrap; } .navbar, .navbar-default, .navbar-primary { background: var(--ink) !important; border-bottom: none !important; box-shadow: none !important; } /* ═══ RESPONSIVE ═══ */ @media (max-width: 1024px) { .vf-grid-3 { grid-template-columns: 1fr 1fr; } } @media (max-width: 768px) { .vf-grid, .vf-grid-3 { grid-template-columns: 1fr; } .vf-nav .vf-nav-links { display: none; } .display-lg { font-size: 36px; } .display-md { font-size: 32px; } .display-sm { font-size: 28px; } }