/**
Theme Name: xmess
Author: Colectic, SCCL
Author URI: https://colectic.coop
Description: El tema de la XMESS.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xmess
Template: generatepress
*/


/* Tipografies */
@font-face {
    font-family: "DM Sans";
    src: url("/wp-content/themes/xmess/assets/fonts/DMSans-VariableFont_opsz,wght.ttf") format("truetype-variations");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DM Sans";
    src: url("/wp-content/themes/xmess/assets/fonts/DMSans-Italic-VariableFont_opsz,wght.ttf") format("truetype-variations");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Playfair";
    src: url("/wp-content/themes/xmess/assets/fonts/Playfair-VariableFont_opsz,wdth,wght.ttf") format("truetype-variations");
    font-weight: 100 900;
    font-stretch: 75% 125%;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Playfair";
    src: url("/wp-content/themes/xmess/assets/fonts/Playfair-Italic-VariableFont_opsz,wdth,wght.ttf") format("truetype-variations");
    font-weight: 100 900;
    font-stretch: 75% 125%;
    font-style: italic;
    font-display: swap;
}


/* --------------------------------------------
   VARIABLES GLOBALS ASTRA + ELEMENTOR + DISSENY XMESS
--------------------------------------------- */
:root{
  /* PALETA CORPORATIVA */
  --verd: #8cc740; /* Serveix com a color base per destacar blocs importants */
  --verd-fosc: #12210d; /* Tipografía principal i elements estàtics */
  --blanc: #ffffff; /* Color de respiració i espai negatiu */
  --fons: #f0f0e3;/* Ajuda a modular la paleta sense saturar */   
  --color-primary: var(--verd);     /* Verd corporatiu */
  --color-primary-dark: #6fa42f;  /* Hover botons i enllaços */
  --color-secondary: var(--verd-fosc);      /* Verd fosc / text */
  --color-background: #f0f0e3;    /* Fons general del PDF */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-border: #d9d9d0;

  /* ELEMENTOR GLOBAL COLORS (linkats als nostres) */
  --e-global-color-primary: var(--color-primary);
  --e-global-color-secondary: var(--color-secondary);
  --e-global-color-text: var(--color-secondary);
  --e-global-color-accent: var(--color-primary-dark);
  --e-global-color-background: var(--color-background);

  /* TIPOGRAFIES */
  --font-base: "DM Sans", sans-serif;
  --font-heading: "Playfair", serif;

  /* ELEMENTOR GLOBAL FONTS */
  --e-global-typography-primary-font-family: var(--font-heading);
  --e-global-typography-primary-font-weight: 700;

  --e-global-typography-secondary-font-family: var(--font-base);
  --e-global-typography-secondary-font-weight: 400;

  --e-global-typography-text-font-family: var(--font-base);
  --e-global-typography-text-font-weight: 400;

  --e-global-typography-accent-font-family: var(--font-base);
  --e-global-typography-accent-font-weight: 500;

  /* ESCALA TIPOGRÀFICA ADAPTADA DEL PDF */
  --fs-xxl: clamp(3rem, 6vw, 4.5rem);  /* grans titulars de portada */
  --fs-xl:  2.5rem; 
  --fs-lg:  1.75rem;
  --fs-md:  1.125rem;
  --fs-base: 1rem;
  --fs-sm: 0.875rem;

  /* ELEMENTOR FONTS SIZES */
  --e-global-typography-primary-font-size: var(--fs-xl);
  --e-global-typography-secondary-font-size: var(--fs-base);
  --e-global-typography-text-font-size: var(--fs-base);
  --e-global-typography-accent-font-size: var(--fs-md);

  /* PESOS */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  /* ESPAIATGE */
  --sp-xxl: 6rem;
  --sp-xl: 3rem;
  --sp-lg: 2rem;
  --sp-md: 1.5rem;
  --sp-sm: 1rem;
  --sp-xs: 0.5rem;

  /* BORDES I RADIUS */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-full: 999px;

  /* BOTONS */
  --btn-padding: 0.75rem 1.5rem;
  --btn-radius: var(--radius-full);
  --btn-font-weight: var(--fw-medium);
  --btn-bg: var(--color-primary);
  --btn-bg-hover: var(--color-primary-dark);
  --btn-text: var(--color-white);

  /* ENLLAÇOS */
  --link-color: var(--color-primary);
  --link-hover: var(--color-primary-dark);

  /* OMBRES */
  --shadow-soft: 0 4px 14px rgba(0,0,0,0.06);
  --shadow-medium: 0 8px 24px rgba(0,0,0,0.10);

  /* AMPLADES */
  --container-width: 1200px;
  --container-padding: 1.5rem;
}

/* --------------------------------------------
   ESTILS GLOBALS
--------------------------------------------- */

body {
  font-family: var(--font-base);
  font-size: var(--fs-base);
  color: var(--color-secondary);
  background: var(--color-background);
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-secondary);
}

h1 { font-size: var(--fs-xxl); }
h2 { font-size: var(--fs-xl); }
h3 { font-size: var(--fs-lg); }
h4 { font-size: var(--fs-md); }

/* --------------------------------------------
   BOTONS ASTRA + ELEMENTOR
--------------------------------------------- */

button,
.ast-button,
.elementor-button,
.wp-block-button__link {
  padding: var(--btn-padding);
  border-radius: var(--btn-radius);
  background: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  font-family: var(--font-base);
  font-weight: var(--btn-font-weight);
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
}

button:hover,
.ast-button:hover,
.elementor-button:hover,
.wp-block-button__link:hover {
  background: var(--btn-bg-hover) !important;
}

a {
  color: var(--link-color);
  text-decoration: none;
  transition: 0.2s ease;
}

a:hover {
  color: var(--link-hover);
}

.ast-container,
.site-content > .ast-container,
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--container-width) !important;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.block-verd,
.has-xmess-green,
.elementor-widget-container.xmess-green {
  background: var(--color-primary);
  color: var(--color-white);
  padding: var(--sp-lg);
  border-radius: var(--radius-md);
}

.marquee {
  background: var(--color-secondary);
  color: var(--color-white);
  padding: var(--sp-sm) 0;
  font-size: var(--fs-md);
  white-space: nowrap;
  overflow: hidden;
}

.card,
.elementor-widget-container.card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--sp-md);
  box-shadow: var(--shadow-soft);
}

.site-footer,
.elementor-location-footer {
  background: var(--color-secondary);
  color: var(--color-white);
  padding: var(--sp-xl) 0;
}

.site-footer a,
.elementor-location-footer a {
  color: var(--color-white);
}

.elementor-heading-title {
  font-family: var(--font-heading) !important;
}

.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
  font-family: var(--font-base) !important;
}
