/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/
/*
 * Avada Child Theme – Design System Tokens
 * Sursă: Sistem de design profesional.rtf
 * Recomandat: Appearance > Theme File Editor > style.css (child theme)
 * sau Avada > Options > Custom CSS
 */

:root {
  /* =========================
     SPACING
     ========================= */
  --space-xs: clamp(0.25rem, 0.20rem + 0.30vw, 0.50rem);
  --space-s: clamp(0.50rem, 0.40rem + 0.40vw, 0.75rem);
  --space-m: clamp(0.75rem, 0.60rem + 0.60vw, 1.25rem);
  --space-l: clamp(1.25rem, 1.05rem + 0.80vw, 2rem);
  --space-xl: clamp(2rem, 1.50rem + 1.00vw, 3rem);
  --space-2xl: clamp(3rem, 2.20rem + 1.20vw, 4.5rem);
  --space-3xl: clamp(4.5rem, 3.20rem + 1.60vw, 6rem);

  /* Gap aliases */
  --gap-xs: var(--space-xs);
  --gap-s: var(--space-s);
  --gap-m: var(--space-m);
  --gap-l: var(--space-l);
  --gap-xl: var(--space-xl);

  /* =========================
     TYPOGRAPHY SCALE
     ========================= */
  --display-lg: clamp(4rem, 6.49vw + 2.46rem, 8rem);
  --display-md: clamp(3rem, 5vw + 2rem, 6rem);
  --display-sm: clamp(2.5rem, 4vw + 1.5rem, 4.5rem);

  --heading-1: clamp(2.25rem, 3.5vw + 1.5rem, 3.5rem);
  --heading-2: clamp(1.75rem, 2.5vw + 1.2rem, 2.75rem);
  --heading-3: clamp(1.5rem, 2vw + 1rem, 2rem);
  --heading-4: clamp(1.25rem, 1.5vw + 0.8rem, 1.5rem);
  --heading-5: clamp(1.125rem, 1vw + 0.9rem, 1.25rem);
  --heading-6: clamp(1rem, 0.5vw + 0.9rem, 1.125rem);

  --text-xs: clamp(0.75rem, 0.70rem + 0.30vw, 0.875rem);
  --text-s: clamp(0.875rem, 0.82rem + 0.28vw, 0.9375rem);
  --text-m: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-l: clamp(1.25rem, 1.15rem + 0.50vw, 1.50rem);
  --text-xl: clamp(1.50rem, 1.30rem + 1.00vw, 2.00rem);
  --text-2xl: clamp(2.00rem, 1.70rem + 1.50vw, 3.00rem);
  --text-3xl: clamp(3.00rem, 2.50rem + 2.50vw, 4.50rem);

  /* Alternate text aliases from document */
  --k-text-xsmall: clamp(0.7rem, 0.65rem + 0.2vw, 0.75rem);
  --k-text-small: clamp(0.8rem, 0.75rem + 0.3vw, 0.875rem);
  --k-body-text: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --k-text-large: clamp(1.125rem, 1.05rem + 0.4vw, 1.5rem);

  /* =========================
     LINE HEIGHT
     ========================= */
  --leading-tight: 1.15;
  --leading-normal: 1.3;
  --leading-relaxed: 1.5;
  --leading-solid: 1;

  /* =========================
     CONTENT WIDTHS
     ========================= */
  --content-width: clamp(18rem, 90vw, 75rem);
  --content-width-large: clamp(20rem, 92vw, 90rem);
  --content-width-xlarge: clamp(22rem, 95vw, 112.5rem);

  --text-width: clamp(16rem, 85vw, 42rem);
  --text-width-wide: clamp(20rem, 85vw, 60rem);

  /* =========================
     RADIUS
     ========================= */
  --radius-xs: clamp(2px, 2px + 0.15vw, 4px);
  --radius-s: clamp(4px, 3px + 0.3vw, 6px);
  --radius-m: clamp(6px, 5px + 0.4vw, 10px);
  --radius-l: clamp(10px, 8px + 0.5vw, 16px);
  --radius-xl: clamp(16px, 12px + 1vw, 24px);
  --radius-2xl: clamp(24px, 18px + 1.5vw, 40px);

  /* =========================
     PADDING
     ========================= */
  --padding-xs: clamp(0.25rem, 0.20rem + 0.30vw, 0.50rem);
  --padding-s: clamp(0.50rem, 0.40rem + 0.40vw, 0.75rem);
  --padding-m: clamp(0.75rem, 0.60rem + 0.60vw, 1.25rem);
  --padding-l: clamp(1.25rem, 1.05rem + 0.80vw, 2rem);
  --padding-xl: clamp(2rem, 1.50rem + 1.00vw, 3rem);
  --padding-2xl: clamp(3rem, 2.20rem + 1.20vw, 4.5rem);

  /* =========================
     ASPECT RATIOS
     ========================= */
  --ratio-portrait: 3 / 4;
  --ratio-video: 16 / 9;
  --ratio-square: 1 / 1;
}

/* =========================
   OPTIONAL BASE STYLES
   Safe defaults for Avada child theme
   ========================= */
body {
  font-size: var(--k-body-text);
  line-height: var(--leading-relaxed);
}

h1, .title h1 {
  font-size: var(--heading-1);
  line-height: var(--leading-tight);
}

h2, .title h2 {
  font-size: var(--heading-2);
  line-height: var(--leading-tight);
}

h3, .title h3 {
  font-size: var(--heading-3);
  line-height: var(--leading-tight);
}

h4 {
  font-size: var(--heading-4);
  line-height: var(--leading-normal);
}

h5 {
  font-size: var(--heading-5);
  line-height: var(--leading-normal);
}

h6 {
  font-size: var(--heading-6);
  line-height: var(--leading-normal);
}

p,
li,
.fusion-text,
.fusion-body,
.entry-content p {
  font-size: var(--k-body-text);
  line-height: var(--leading-relaxed);
}

/* Utility classes */
.u-display-lg { font-size: var(--display-lg); line-height: var(--leading-tight); }
.u-display-md { font-size: var(--display-md); line-height: var(--leading-tight); }
.u-display-sm { font-size: var(--display-sm); line-height: var(--leading-tight); }

.u-text-xs { font-size: var(--text-xs); }
.u-text-s { font-size: var(--text-s); }
.u-text-m { font-size: var(--text-m); }
.u-text-l { font-size: var(--text-l); }
.u-text-xl { font-size: var(--text-xl); }
.u-text-2xl { font-size: var(--text-2xl); }
.u-text-3xl { font-size: var(--text-3xl); }

.u-content-width { max-width: var(--content-width); margin-inline: auto; }
.u-content-width-large { max-width: var(--content-width-large); margin-inline: auto; }
.u-content-width-xlarge { max-width: var(--content-width-xlarge); margin-inline: auto; }
.u-text-width { max-width: var(--text-width); }
.u-text-width-wide { max-width: var(--text-width-wide); }

.u-gap-xs { gap: var(--gap-xs); }
.u-gap-s { gap: var(--gap-s); }
.u-gap-m { gap: var(--gap-m); }
.u-gap-l { gap: var(--gap-l); }
.u-gap-xl { gap: var(--gap-xl); }

.u-p-xs { padding: var(--padding-xs); }
.u-p-s { padding: var(--padding-s); }
.u-p-m { padding: var(--padding-m); }
.u-p-l { padding: var(--padding-l); }
.u-p-xl { padding: var(--padding-xl); }
.u-p-2xl { padding: var(--padding-2xl); }

.u-radius-xs { border-radius: var(--radius-xs); }
.u-radius-s { border-radius: var(--radius-s); }
.u-radius-m { border-radius: var(--radius-m); }
.u-radius-l { border-radius: var(--radius-l); }
.u-radius-xl { border-radius: var(--radius-xl); }
.u-radius-2xl { border-radius: var(--radius-2xl); }

.u-ratio-portrait { aspect-ratio: var(--ratio-portrait); }
.u-ratio-video { aspect-ratio: var(--ratio-video); }
.u-ratio-square { aspect-ratio: var(--ratio-square); }

/* Useful examples for Avada buttons/cards */
.fusion-button,
button,
input[type="submit"] {
  border-radius: var(--radius-s);
  line-height: var(--leading-solid);
}

.fusion-post-card,
.fusion-blog-layout-grid .fusion-post-grid,
.fusion-person,
.fusion-flip-box,
.fusion-modal {
  border-radius: var(--radius-m);
}
