/*
 * OnagiTV — Compact / Density Overrides v1.2
 * Reduces spacing, icons, and button sizes sitewide.
 * Loads last — overrides all other CSS files.
 */

/* ── Core spacing ───────────────────────────────────── */
:root {
  --otv-section-py: 3.5rem !important;
}

/* ── Navbar ─────────────────────────────────────────── */
.otv-nav-inner              { height: 60px !important; }
.otv-btn-nav-ghost          { padding: .32rem .85rem !important; font-size: .78rem !important; }
.otv-btn-nav-cta            { padding: .35rem .85rem !important; font-size: .78rem !important; }
.otv-btn-nav-cta svg        { width: 13px !important; height: 13px !important; }
.otv-logo__icon             { width: 34px !important; height: 34px !important; }
.otv-logo__icon svg         { width: 17px !important; height: 17px !important; }
.otv-logo__name             { font-size: 1.05rem !important; }
.otv-logo__tagline          { font-size: .52rem !important; }
.otv-nav-links a            { padding: .38rem .75rem !important; font-size: .825rem !important; }

/* ── Hero (home page) ───────────────────────────────── */
#otv-home                   { padding-top: 60px !important; }
.otv-hero-inner             { padding: 2.5rem 0 3rem !important; }
.otv-hero-h1                { font-size: clamp(1.75rem,4vw,3rem) !important; margin-bottom: 1rem !important; }
.otv-hero-sub               { font-size: .9rem !important; margin-bottom: 1.25rem !important; }
.otv-hero-badge             { font-size: .7rem !important; padding: .25rem .75rem !important; margin-bottom: 1rem !important; }
.otv-hero-checks            { margin-bottom: 1.25rem !important; gap: .4rem !important; }
.otv-hero-checks li         { font-size: .82rem !important; }
.otv-hero-checks li::before { width: 18px !important; height: 18px !important; font-size: .7rem !important; }
.otv-hero-stats             { padding: .6rem .9rem !important; margin-bottom: 1.25rem !important; gap: .875rem !important; }
.otv-hero-stat .num         { font-size: 1.15rem !important; }
.otv-hero-stat .lbl         { font-size: .6rem !important; }
.otv-hero-stat-divider      { height: 1.5rem !important; }
.otv-hero-btn-main          { padding: .75rem 1.6rem !important; font-size: .9rem !important; }
.otv-hero-btn-sec           { padding: .7rem 1.4rem !important; font-size: .85rem !important; }
.otv-hero-trust             { margin-top: 1rem !important; gap: 1rem !important; }
.otv-hero-trust-item        { font-size: .72rem !important; }
.otv-hero-trust-item svg    { width: 12px !important; height: 12px !important; }
.otv-hero-bg-blur           { display: none !important; }

/* ── Page hero (setup guide, channels, reseller) ────── */
.otv-page-hero              { padding: 2.5rem 0 2rem !important; }
.otv-page-hero__title       { font-size: clamp(1.5rem,3vw,2.25rem) !important; margin-bottom: .5rem !important; }
.otv-page-hero__sub         { font-size: .875rem !important; margin-bottom: 1rem !important; }
.otv-page-hero__tag         { font-size: .65rem !important; padding: .2rem .65rem !important; margin-bottom: .875rem !important; }
.otv-page-hero__stat        { padding: .5rem .875rem !important; min-width: 5rem !important; }
.otv-page-hero__stat .num   { font-size: 1.2rem !important; }
.otv-page-hero__stat .lbl   { font-size: .62rem !important; }
.otv-page-hero__stats       { gap: .625rem !important; margin-top: 1.25rem !important; }
.otv-page-hero__cta         { margin-top: 1rem !important; gap: .625rem !important; }
.otv-page-hero__pills       { margin-top: 1.25rem !important; gap: .35rem !important; }
.otv-guide-pill             { font-size: .72rem !important; padding: .3rem .65rem !important; }

/* ── Legal hero ─────────────────────────────────────── */
.otv-legal-page             { padding-top: 60px !important; }
.otv-legal-hero             { padding: 2.25rem 0 2rem !important; }
.otv-legal-hero__title      { font-size: clamp(1.5rem,3vw,2.25rem) !important; margin-bottom: .4rem !important; }
.otv-legal-hero__meta       { font-size: .75rem !important; }
.otv-legal-page-tag         { font-size: .62rem !important; padding: .18rem .6rem !important; margin-bottom: .75rem !important; }
.otv-legal-nav              { margin-top: 1rem !important; padding-top: .625rem !important; }
.otv-legal-nav a            { font-size: .75rem !important; padding: .3rem .75rem !important; }

/* ── Reseller hero ──────────────────────────────────── */
.otv-rs-hero                { padding: 2.5rem 0 3rem !important; min-height: 55vh !important; }
.otv-rs-hero__title         { font-size: clamp(1.75rem,3.5vw,2.75rem) !important; margin-bottom: .875rem !important; }
.otv-rs-hero__subtitle      { font-size: .9rem !important; margin-bottom: 2rem !important; }
.otv-rs-hero__cta           { margin-bottom: 1.5rem !important; gap: .625rem !important; }
.otv-rs-trust               { gap: .375rem 1rem !important; }
.otv-rs-trust__item         { font-size: .78rem !important; }

/* ── Buttons (global) ───────────────────────────────── */
.otv-btn                    { padding: .6rem 1.25rem !important; font-size: .85rem !important; gap: .4rem !important; }
.otv-btn svg, .otv-btn-primary svg,
.otv-btn-cta svg            { width: 14px !important; height: 14px !important; }
.otv-btn-order              { padding: .6rem !important; font-size: .82rem !important; }
.otv-btn-order-wa           { padding: .45rem !important; font-size: .76rem !important; margin-top: .4rem !important; }
.otv-btn-order-wa svg       { width: 13px !important; height: 13px !important; }
.otv-btn-trial              { padding: .75rem 2rem !important; font-size: .9rem !important; }
.otv-btn-trial svg          { width: 16px !important; height: 16px !important; }
.otv-hero-btn-main svg, .otv-hero-btn-sec svg { width: 14px !important; height: 14px !important; }

/* ── Section headers ────────────────────────────────── */
.otv-section-tag            { font-size: .68rem !important; padding: .22rem .75rem !important; margin-bottom: .75rem !important; }
.otv-section-header         { margin-bottom: 2.5rem !important; }
.otv-section-header h2      { font-size: clamp(1.5rem,2.8vw,2.25rem) !important; margin-bottom: .5rem !important; }
.otv-section-header p       { font-size: .875rem !important; }

/* ── Setup guide cards ──────────────────────────────── */
.otv-guide-prereq           { padding: 1.5rem 0 !important; }
.otv-guide-prereq__title    { font-size: 1.05rem !important; margin-bottom: 1.25rem !important; }
.otv-guide-prereq__item     { padding: 1rem !important; gap: .75rem !important; }
.otv-guide-prereq__icon     { font-size: 1.375rem !important; }
.otv-guide-prereq__item strong { font-size: .85rem !important; }
.otv-guide-prereq__item p   { font-size: .8rem !important; }
.otv-guide-device-card      { margin-bottom: 1.25rem !important; }
.otv-guide-device-card__header { padding: 1rem 1.25rem .875rem !important; }
.otv-guide-device-card__icon { font-size: 1.5rem !important; }
.otv-guide-device-card__name { font-size: 1rem !important; }
.otv-guide-device-card__app { font-size: .78rem !important; }
.otv-guide-device-badge     { font-size: .68rem !important; padding: .18rem .6rem !important; margin-bottom: .35rem !important; }
.otv-guide-device-card__stats { font-size: .72rem !important; }
.otv-guide-device-card__intro { font-size: .85rem !important; }
.otv-guide-steps            { padding: 1rem 1.25rem !important; }
.otv-guide-step             { padding: .875rem 0 !important; gap: 1rem !important; }
.otv-guide-step__num        { width: 1.875rem !important; height: 1.875rem !important; font-size: .78rem !important; }
.otv-guide-step__title      { font-size: .875rem !important; margin-bottom: .25rem !important; }
.otv-guide-step__desc       { font-size: .82rem !important; }
.otv-guide-tip              { margin: 0 1.25rem !important; padding: .75rem 1rem !important; font-size: .8rem !important; }
.otv-guide-device-card__footer { padding: .875rem 1.25rem !important; gap: .625rem !important; }
.otv-guide-player           { padding: .75rem 1rem !important; gap: .625rem !important; }
.otv-guide-player__icon     { font-size: 1.25rem !important; }
.otv-guide-player__name     { font-size: .85rem !important; }
.otv-guide-player__platforms { font-size: .75rem !important; }
.otv-guide-player__rec      { font-size: .62rem !important; padding: .1rem .4rem !important; }
.otv-guide-trouble-item__q  { padding: .75rem 1rem !important; font-size: .875rem !important; }
.otv-guide-trouble-item__a  { padding: .75rem 1rem !important; }
.otv-guide-trouble-item__a p { font-size: .82rem !important; }
.otv-guide-cta-card         { padding: 2rem 1.75rem !important; }
.otv-guide-cta-card__icon   { width: 2.5rem !important; height: 2.5rem !important; margin-bottom: 1rem !important; }
.otv-guide-cta-card__icon svg { width: 1.375rem !important; height: 1.375rem !important; }
.otv-guide-cta-card__title  { font-size: clamp(1.2rem,2.2vw,1.625rem) !important; margin-bottom: .625rem !important; }
.otv-guide-cta-card__desc   { font-size: .85rem !important; margin-bottom: 1.5rem !important; }
.otv-guide-cta-card__btns   { gap: .625rem !important; }

/* ── WA float button ────────────────────────────────── */
.otv-wa-float               { padding: .45rem .875rem .45rem .7rem !important; font-size: .75rem !important; gap: .4rem !important; bottom: 1.25rem !important; right: auto !important; left: 1.25rem !important; }
.otv-wa-float svg           { width: 18px !important; height: 18px !important; }

/* ── WA banner ──────────────────────────────────────── */
.otv-wa-banner              { padding: 1.25rem 0 !important; }
.otv-wa-banner__inner       { gap: .875rem !important; }
.otv-wa-banner__icon        { width: 2.25rem !important; height: 2.25rem !important; }
.otv-wa-banner__icon svg    { width: 18px !important; height: 18px !important; }
.otv-wa-banner__text strong { font-size: .875rem !important; }
.otv-wa-banner__text p      { font-size: .8rem !important; }
.otv-wa-banner__btn         { padding: .45rem .95rem !important; font-size: .78rem !important; gap: .35rem !important; }
.otv-wa-banner__btn svg     { width: 13px !important; height: 13px !important; }

/* ── Legal pages ────────────────────────────────────── */
.otv-legal-body             { padding-bottom: 3rem !important; }
.otv-legal-layout           { padding-top: 1.75rem !important; gap: 2rem !important; }
.otv-legal-section          { margin-bottom: 1.75rem !important; }
.otv-legal-section h2       { font-size: 1.1rem !important; }
.otv-legal-section h3       { font-size: .9rem !important; }
.otv-legal-section p        { font-size: .875rem !important; line-height: 1.7 !important; }
.otv-legal-section li       { font-size: .875rem !important; }
.otv-legal-section__head    { padding-bottom: .6rem !important; margin-bottom: .875rem !important; }
.otv-legal-section__num     { width: 1.625rem !important; height: 1.625rem !important; font-size: .7rem !important; }
.otv-legal-alert            { padding: .875rem 1.125rem !important; margin-bottom: 1.75rem !important; }
.otv-legal-alert__icon      { font-size: 1.25rem !important; }
.otv-legal-alert__body strong { font-size: .875rem !important; }
.otv-legal-alert__body p    { font-size: .8125rem !important; }
.otv-legal-toc__header      { padding: .6rem .875rem !important; font-size: .65rem !important; }
.otv-legal-toc__list a      { font-size: .75rem !important; padding: .35rem .875rem !important; }
.otv-legal-toc__num         { width: 16px !important; height: 16px !important; font-size: .6rem !important; }
.otv-legal-contact-card     { padding: 1.25rem !important; }
.otv-legal-contact-item     { font-size: .825rem !important; gap: .5rem !important; }
.otv-legal-contact-item svg { width: .875rem !important; height: .875rem !important; }
.otv-legal-contact-card__title { font-size: .875rem !important; margin-bottom: .875rem !important; }
.otv-legal-contact-card__title svg { width: 1rem !important; height: 1rem !important; }

/* ── Pricing cards ──────────────────────────────────── */
.otv-pricing-card           { padding: 1.375rem !important; }
.otv-plan-name              { font-size: .95rem !important; }
.otv-plan-period            { font-size: .75rem !important; margin-bottom: .75rem !important; }
.otv-plan-price             { font-size: 2.1rem !important; margin-bottom: 1rem !important; }
.otv-plan-features          { gap: .5rem !important; margin-bottom: 1.25rem !important; }
.otv-plan-features li       { font-size: .78rem !important; }
.otv-plan-features li::before { font-size: .78rem !important; }
.otv-popular-tag            { font-size: .68rem !important; padding: .22rem .875rem !important; }
.otv-popular-tag svg        { width: 11px !important; height: 11px !important; }

/* ── Features section ───────────────────────────────── */
.otv-feature-card           { padding: 1.375rem !important; }
.otv-feature-icon           { width: 2.5rem !important; height: 2.5rem !important; margin-bottom: .75rem !important; }
.otv-feature-icon svg       { width: 1.25rem !important; height: 1.25rem !important; }
.otv-feature-card h3        { font-size: .95rem !important; margin-bottom: .35rem !important; }
.otv-feature-card p         { font-size: .82rem !important; }

/* ── Testimonials ───────────────────────────────────── */
.otv-testi-card             { padding: 1.375rem !important; }
.otv-testi-text             { font-size: .875rem !important; }

/* ── FAQ ────────────────────────────────────────────── */
.otv-faq-btn                { padding: .875rem 1rem !important; font-size: .875rem !important; }
.otv-faq-body p             { font-size: .85rem !important; padding: .75rem 1rem !important; }

/* ── Footer ─────────────────────────────────────────── */
#otv-footer                 { padding: 3rem 0 1.5rem !important; }
.otv-footer-grid            { gap: 2rem !important; }
.otv-footer-col ul li a     { font-size: .8rem !important; }
.otv-footer-col h4          { font-size: .75rem !important; margin-bottom: .625rem !important; }
.otv-footer-bar p,
.otv-footer-bar span        { font-size: .75rem !important; }
.otv-footer-brand p         { font-size: .8rem !important; }

/* ── Responsive compact overrides ───────────────────── */
@media (max-width: 768px) {
  :root { --otv-section-py: 2.75rem !important; }
  .otv-nav-inner              { height: 56px !important; }
  .otv-page-hero              { padding: 2rem 0 1.75rem !important; }
  .otv-rs-hero                { padding: 2rem 0 2.5rem !important; }
  .otv-legal-hero             { padding: 2rem 0 1.75rem !important; }
  .otv-guide-cta-card         { padding: 1.5rem 1.25rem !important; }
  .otv-pricing-card           { padding: 1.125rem !important; }
  .otv-wa-float               { bottom: 1rem !important; left: 1rem !important; right: auto !important; }
  .otv-guide-device-card__header { padding: .875rem 1rem .75rem !important; }
  .otv-guide-steps            { padding: .875rem 1rem !important; }
  .otv-guide-device-card__footer { padding: .75rem 1rem !important; }
  .otv-guide-tip              { margin: 0 1rem !important; }
}
@media (max-width: 480px) {
  :root { --otv-section-py: 2.25rem !important; }
  .otv-page-hero              { padding: 1.75rem 0 1.5rem !important; }
  .otv-wa-float               { padding: .7rem !important; border-radius: 50% !important; }
  .otv-wa-float__label        { display: none !important; }
}
