/* ============================================================
   GLOBAL CSS VARIABLES
   Base font size: 16px (1rem = 16px)
   Google Fonts: Cormorant Garamond + DM Sans
   ============================================================ */

/*@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400;1,9..40,700&display=swap');

:root {
	/* Structure */
	--boxed-width: 1120px;
	--boxed-width-2: 1300px;
}



:root {
 
  /* ============================================================
     FONT FAMILY
     ============================================================ */
 
  --ff-heading : 'Cormorant Garamond', Georgia, serif;
  --ff-base    : 'DM Sans', system-ui, sans-serif;
  --ff-mono    : 'DM Mono', 'Courier New', monospace;
 
 
  /* ============================================================
     COLORI
     ============================================================ */
 
  /* Navy */
	--navy       : #0D2340;
	--navy-mid   : #1A3A5C;
	--navy-light : #1E4A6E;
	--navy-extra-light: #3D7099;   /* sat 43%, light 42% */
	--navy-ultra-light: #6B9AB8;   /* sat 33%, light 57% */
 
  /* Gold */
  --gold       : #B8933F;
  --gold-light : #D4AF6A;
  --gold-pale  : rgba(184, 147, 63, 0.12);
 
  /* Neutri */
  --cream      : #F7F4EF;
  --white      : #ffffff;
 
  /* Testo */
  --text       : #1C1C1C;
  --muted      : #6B7280;
 
  /* Bordi */
  --border     : rgba(184, 147, 63, 0.2);
	
	
	/*--primary-color: var(--navy);*/
	--secondary-color: #6c757d;
	--bg-color-alt: #ffffff;
	
	
	--primary-accent: var(--gold);
	--primary-accent-light: var(--gold-light);
	--bg-color: var(--white);
	
	--heading-color: var(--navy);
	--heading-color-light: var(--white);
	--text-color: var(--muted);
	
	
	
  /* ============================================================
     FONT SIZE  (scala modulare ~1.25)
     ============================================================ */
 
  --fs-xs   : 0.75rem;    /*  12px */
  --fs-sm   : 0.875rem;   /*  14px */
  --fs-base : 1rem;       /*  16px */
  --fs-md   : 1.125rem;   /*  18px */
  --fs-lg   : 1.25rem;    /*  20px */
  --fs-xl   : 1.5rem;     /*  24px */
  --fs-2xl  : 1.875rem;   /*  30px */
  --fs-3xl  : 2.25rem;    /*  36px */
  --fs-4xl  : 3rem;       /*  48px */
  --fs-5xl  : 3.75rem;    /*  60px */
  --fs-6xl  : 4.5rem;     /*  72px */
 
 
  /* ============================================================
     FONT WEIGHT
     ============================================================ */
 
  --fw-light   : 300;
  --fw-normal  : 400;
  --fw-medium  : 500;
  --fw-semi    : 600;
  --fw-bold    : 700;
 
 
  /* ============================================================
     LINE HEIGHT
     ============================================================ */

	--lh-xx-tight   : 1.0; 
	--lh-x-tight   : 1.1;
  --lh-tight   : 1.2;
  --lh-snug    : 1.35;
  --lh-base    : 1.6;
  --lh-relaxed : 1.75;
 
 
  /* ============================================================
     LETTER SPACING
     ============================================================ */
 
  --ls-tight : -0.03em;
  --ls-base  :  0em;
  --ls-wide  :  0.05em;
  --ls-wider :  0.1em;
  --ls-caps  :  0.15em;
 
 
  /* ============================================================
     SPAZIATURA  (scala ×0.25rem → 4px step)
     ============================================================ */
 
  --sp-1  : 0.25rem;    /*   4px */
  --sp-2  : 0.5rem;     /*   8px */
  --sp-3  : 0.75rem;    /*  12px */
  --sp-4  : 1rem;       /*  16px */
  --sp-5  : 1.25rem;    /*  20px */
  --sp-6  : 1.5rem;     /*  24px */
  --sp-7  : 1.75rem;    /*  28px */
  --sp-8  : 2rem;       /*  32px */
  --sp-10 : 2.5rem;     /*  40px */
  --sp-12 : 3rem;       /*  48px */
  --sp-16 : 4rem;       /*  64px */
  --sp-20 : 5rem;       /*  80px */
  --sp-24 : 6rem;       /*  96px */
  --sp-32 : 8rem;       /* 128px */
 
 
  /* ============================================================
     BORDER RADIUS
     ============================================================ */
 
  --rad-xs   : 0.125rem;   /*  2px */
  --rad-sm   : 0.25rem;    /*  4px */
  --rad-md   : 0.5rem;     /*  8px */
  --rad-lg   : 0.75rem;    /* 12px */
  --rad-xl   : 1rem;       /* 16px */
  --rad-2xl  : 1.5rem;     /* 24px */
  --rad-full : 9999px;
 
 
  /* ============================================================
     OMBRE
     ============================================================ */
 
  --shadow-xs : 0 1px 2px rgba(13, 35, 64, 0.06);
  --shadow-sm : 0 2px 6px rgba(13, 35, 64, 0.08);
  --shadow-md : 0 4px 16px rgba(13, 35, 64, 0.10);
  --shadow-lg : 0 8px 32px rgba(13, 35, 64, 0.14);
  --shadow-xl : 0 20px 60px rgba(13, 35, 64, 0.18);
 
  /* Ombra dorata (per card/elementi accent) */
  --shadow-gold    : 0 4px 20px rgba(184, 147, 63, 0.18);
  --shadow-gold-lg : 0 8px 40px rgba(184, 147, 63, 0.24);
 
 
  /* ============================================================
     TRANSIZIONI
     ============================================================ */
 
  --ease-default : cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in      : cubic-bezier(0.4, 0, 1, 1);
  --ease-out     : cubic-bezier(0, 0, 0.2, 1);
  --ease-bounce  : cubic-bezier(0.34, 1.56, 0.64, 1);
 
  --dur-fast   : 120ms;
  --dur-base   : 220ms;
  --dur-slow   : 400ms;
  --dur-slower : 650ms;
 
  --transition-base : var(--dur-base) var(--ease-default);
  --transition-fast : var(--dur-fast) var(--ease-out);
  --transition-slow : var(--dur-slow) var(--ease-out);
 
 
  /* ============================================================
     LAYOUT
     ============================================================ */
 
  --container-sm    : 40rem;    /*  640px */
  --container-md    : 48rem;    /*  768px */
  --container-lg    : 64rem;    /* 1024px */
  --container-xl    : 80rem;    /* 1280px */
  --container-2xl   : 90rem;    /* 1440px */
  --container-pad   : var(--sp-6);
 
  --grid-cols       : 12;
  --grid-gap        : var(--sp-6);
 
  --sidebar-width   : 16rem;    /* 256px */
  --navbar-height   : 4rem;     /*  64px */
 
 
  /* ============================================================
     Z-INDEX
     ============================================================ */
 
  --z-base      :   0;
  --z-raised    :  10;
  --z-dropdown  : 100;
  --z-sticky    : 200;
  --z-navbar    : 300;
  --z-modal     : 400;
  --z-toast     : 500;
  --z-tooltip   : 600;
 
 
  /* ============================================================
     PULSANTI
     ============================================================ */
 
  --btn-pad-x       : var(--sp-6);
  --btn-pad-y       : var(--sp-3);
  --btn-fs          : var(--fs-sm);
  --btn-fw          : var(--fw-medium);
  --btn-ls          : var(--ls-wide);
  --btn-rad         : var(--rad-sm);
  --btn-transition  : var(--transition-base);
 
  /* Variante primaria (gold su navy) */
  --btn-primary-bg     : var(--gold);
  --btn-primary-color  : var(--white);
  --btn-primary-hover  : var(--gold-light);
 
  /* Variante outline */
  --btn-outline-border : var(--gold);
  --btn-outline-color  : var(--gold);
  --btn-outline-hover  : var(--gold-pale);
 
  /* Stato disabilitato */
  --btn-disabled-opacity : 0.45;
 
 
  /* ============================================================
     FORM & INPUT
     ============================================================ */
 
  --input-height       : 2.75rem;   /* 44px */
  --input-pad-x        : var(--sp-4);
  --input-fs           : var(--fs-base);
  --input-fw           : var(--fw-normal);
  --input-bg           : var(--white);
  --input-border       : var(--border);
  --input-border-focus : var(--gold);
  --input-rad          : var(--rad-sm);
  --input-color        : var(--text);
  --input-placeholder  : var(--muted);
  --input-shadow-focus : 0 0 0 3px var(--gold-pale);
 
  --label-fs           : var(--fs-sm);
  --label-fw           : var(--fw-medium);
  --label-color        : var(--navy-mid);
  --label-ls           : var(--ls-wide);
 
 
}


/* ============================================================
   BREAKPOINT — @media queries (valori hardcoded per spec CSS)
   ============================================================ */
 
/* sm  → @media (min-width: 640px)  */
/* md  → @media (min-width: 768px)  */
/* lg  → @media (min-width: 1024px) */
/* xl  → @media (min-width: 1280px) */
/* 2xl → @media (min-width: 1440px) */
 
 
/* ============================================================
   RESET / BASE
   ============================================================ */
 
*, *::before, *::after {
  box-sizing : border-box;
  margin     : 0;
  padding    : 0;
}
 
html {
  font-size        : 100%   /* 1rem = 16px */
  scroll-behavior  : smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family      : var(--ff-base);
  font-size        : var(--fs-base);
  font-weight      : var(--fw-normal);
  line-height      : var(--lh-base);
  color            : var(--text-color);
  /* 
  background-color : var(--bg-color);
  -webkit-font-smoothing  : antialiased;
  -moz-osx-font-smoothing : grayscale;*/
}
 
/* Tipografia titoli */
h1, h2, h3, h4, h5, h6 {
	font-family  : var(--ff-heading);
	font-weight  : var(--fw-medium);
	line-height  : var(--lh-tight);
	color: var(--heading-color);
}

h1 { font-size: var(--fs-5xl); letter-spacing: var(--ls-tight); }
h2 { font-size: var(--fs-4xl); letter-spacing: var(--ls-tight); }
h3 { font-size: var(--fs-3xl); }
h4 { font-size: var(--fs-2xl); }
h5 { font-size: var(--fs-xl);  }
h6 { font-size: var(--fs-lg);  }

p {
  max-width   : 68ch;
  line-height : var(--lh-relaxed);
}
 
a {
  color           : var(--gold);
  text-decoration : none;
  transition      : color var(--transition-fast);
}
 
a:hover {
  color: var(--gold-light);
}
 
img, video {
  max-width : 100%;
  display   : block;
}
 
/*
 * 
 * CUSTOM STYLE
 *  
 * */


body {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	font-size: clamp(1rem, 0.946rem + 0.239vw, 1.125rem);
	/*font-size: clamp(1rem, 0.75rem + 0.5vw, 1.125rem);*/
	font-size: 1.125rem;
	line-height: 1.8;
}

h1 {
	/*font-size: clamp(2.1rem, 1.6rem + 2.2vw, 3.25rem);*/
	font-size: clamp(2.85rem, 2.349rem + 2.201vw, 4rem);
	line-height: 1.1;
}
h2 {
	font-size: clamp(2.55rem, 2.202rem + 1.531vw, 3.35rem);
	font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);
	line-height: 1.15;
}
h3 {
	font-size: clamp(2.25rem, 1.989rem + 1.148vw, 2.85rem);
	font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.1rem);
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.6rem);
	line-height: 1.2;
}
h4 {
	font-size: clamp(2rem, 1.848rem + 0.67vw, 2.35rem);
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.6rem);
	font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
	line-height: 1.25;
}
h5 {
	font-size: clamp(1.875rem, 1.799rem + 0.335vw, 2.05rem);
	font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
	font-size: clamp(1rem, 0.98rem + 0.2vw, 1.125rem);
	line-height: 1.3;
}
h6 {
	font-size: clamp(1.75rem, 1.696rem + 0.239vw, 1.875rem);
	font-size: clamp(1rem, 0.98rem + 0.2vw, 1.125rem);
	line-height: 1.35rem;
}

.heading-light h1, .heading-light h1, .heading-light h1, .heading-light h1, .heading-light h1, .heading-light h1 {
	color: var(--heading-color-light);
}

p > strong, span > strong, p > b, span > b {
    color: var(--navy-mid);
}

.elementor .info-box.info-box-border {
	border-left: 3px solid var(--gold);
}

footer p {
	margin-block-end: 0rem;
}


/*

@media (max-width: 1024px) {
	section {
		padding-inline-start: 1rem;
		padding-inline-end: 1rem;		
	}	

}

@media (max-width: 1024px) {
	section {
		padding-inline-start: 0.625rem;
		padding-inline-end: 0.625rem;
	}
	
}
*/