/*
Theme Name: TV Subingen
Theme URI: https://tvsubingen.ch
Author: Your Name
Author URI: https://yoursite.com
Description: Custom WordPress theme for TV Subingen built on Adobe XD designs.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tvsubingen
Tags: custom-background, custom-logo, custom-menu, featured-images, block-styles, wide-blocks
*/

/* =========================================================
   DESIGN TOKENS — CSS Custom Properties
   ========================================================= */
:root {
  /* --- Colors --- */
  --color-primary:    #1D255E;
  --color-secondary:  #1673A8;
  --color-bg:         #F7F4F2;
  --color-text:       #1D255E;
  --color-white:      #FFFFFF;
  --color-black:      #000000;

  /* Tints & shades (generated at 20 % steps) */
  --color-primary-90: color-mix(in srgb, var(--color-primary) 90%, white);
  --color-primary-20: color-mix(in srgb, var(--color-primary) 20%, white);
  --color-secondary-90: color-mix(in srgb, var(--color-secondary) 90%, white);
  --color-secondary-20: color-mix(in srgb, var(--color-secondary) 20%, white);

  /* --- Typography --- */
  --font-heading:  'PT Sans', sans-serif;
  --font-body:     'PT Sans', sans-serif;
  --font-weight-regular: 400;
  --font-weight-bold:    700;

  /* Type scale (1.25 minor-third) */
  --text-xs:   0.64rem;   /* ~10px */
  --text-sm:   0.8rem;    /* ~13px */
  --text-base: 1rem;      /* 16px  */
  --text-md:   1.25rem;   /* 20px  */
  --text-lg:   1.563rem;  /* 25px  */
  --text-xl:   1.953rem;  /* 31px  */
  --text-2xl:  2.441rem;  /* 39px  */
  --text-3xl:  3.052rem;  /* 49px  */

  --line-height-tight:  1.2;
  --line-height-normal: 1.5;
  --line-height-loose:  1.75;

  /* --- Spacing (base 8 px) --- */
  --space-1:  0.5rem;   /*  8px */
  --space-2:  1rem;     /* 16px */
  --space-3:  1.5rem;   /* 24px */
  --space-4:  2rem;     /* 32px */
  --space-5:  2.5rem;   /* 40px */
  --space-6:  3rem;     /* 48px */
  --space-8:  4rem;     /* 64px */
  --space-10: 5rem;     /* 80px */
  --space-12: 6rem;     /* 96px */
  --space-16: 8rem;     /* 128px */

  /* --- Border radius --- */
  --radius-sm:   4px;
  --radius-md:   12px;
  --radius-lg:   24px;   /* primary radius from design */
  --radius-full: 9999px;

  /* --- Shadows --- */
  --shadow-sm:  0 1px 3px 0 rgb(29 37 94 / 0.1), 0 1px 2px -1px rgb(29 37 94 / 0.1);
  --shadow-md:  0 4px 6px -1px rgb(29 37 94 / 0.1), 0 2px 4px -2px rgb(29 37 94 / 0.1);
  --shadow-lg:  0 10px 15px -3px rgb(29 37 94 / 0.1), 0 4px 6px -4px rgb(29 37 94 / 0.1);

  /* --- Transitions --- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* --- Layout --- */
  --container-max:     1440px;
  --container-content: 960px;
  --container-narrow:  720px;
  --container-padding: var(--space-2);

  /* --- Z-index layers --- */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:   10;
  --z-overlay:  100;
  --z-modal:    200;
  --z-toast:    300;
  --z-header:   400;
}

/* =========================================================
   BREAKPOINT REFERENCE (for use in media queries)

   Mobile:  375px  (@media (min-width: 375px))
   Tablet:  768px  (@media (min-width: 768px))
   Desktop: 1440px (@media (min-width: 1440px))
   ========================================================= */
