/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://altea-service.com
 Description:  Child theme di Hello Elementor per Altea Service
 Author:       Altea Service
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

/* =============================================================================
   FONT LOCALI
   Josefin Sans  – variabile, pesi 100-700 (normal + italic)
   Roboto        – variabile, pesi 100-900 (normal + italic)
   ============================================================================= */

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 100 700;
    font-display: swap;
    src: url('fonts/josefin-sans.woff2') format('woff2');
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: italic;
    font-weight: 100 700;
    font-display: swap;
    src: url('fonts/josefin-sans-italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('fonts/roboto.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('fonts/roboto-italic.woff2') format('woff2');
}

/* =============================================================================
   TIPOGRAFIA GLOBALE
   Titoli  → Josefin Sans
   Testi   → Roboto
   Valori estratti da aetmedia.it (tema Wanium)
   ============================================================================= */

body,
p,
li,
td,
th,
label,
input,
textarea,
select,
button,
.elementor-widget-text-editor,
.elementor-widget-icon-box .elementor-icon-box-description {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #262626;
}

p {
    margin-bottom: 35px;
}

h1, h2, h3, h4, h5, h6,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-button .elementor-button {
    font-family: 'Josefin Sans', sans-serif;
    line-height: 1.2;
    margin-bottom: 20px;
}

/* Scala tipografica – allineata a Wanium (base 16px) */
h1, .elementor-heading-title.elementor-size-xxl { font-size: 3.58em; }
h2, .elementor-heading-title.elementor-size-xl  { font-size: 2.49em; }
h3, .elementor-heading-title.elementor-size-large { font-size: 1.73em; }
h4, .elementor-heading-title.elementor-size-medium { font-size: 1.2em; }
h5, .elementor-heading-title.elementor-size-small  { font-size: 1em; }
h6  { font-size: 0.83em; }

@media (max-width: 1024px) {
    h1 { font-size: 2.49em; }
    h2 { font-size: 2.07em; }
    h3 { font-size: 1.73em; }
}

@media (max-width: 768px) {
    h1 { font-size: 2.07em; }
    h2 { font-size: 1.73em; }
    h3 { font-size: 1.44em; }
    body, p { font-size: 15px; }
}

/* =============================================================================
   HEADER – Hello Elementor dynamic-header
   Selettori reali: #site-header, .header-inner, .site-navigation, ecc.
   ============================================================================= */

#site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

#site-header .header-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 30px;
    min-height: 64px;
}

/* ── Logo ── */
#site-header .custom-logo {
    max-height: 34px !important;
    width: auto;
}

/* ── Voci menu desktop ── */
#site-header .site-navigation .menu > li > a,
#site-header .site-navigation .menu > li > a:visited {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

#site-header .site-navigation .menu > li > a:hover,
#site-header .site-navigation .menu > li.current-menu-item > a,
#site-header .site-navigation .menu > li.current-menu-ancestor > a {
    color: #faa51e !important;
}

/* ── Dropdown ── */
#site-header .site-navigation .sub-menu {
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border: none !important;
}

#site-header .site-navigation .sub-menu li a,
#site-header .site-navigation .sub-menu li a:visited {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #262626 !important;
    text-decoration: none !important;
}

#site-header .site-navigation .sub-menu li a:hover {
    color: #faa51e !important;
    background: rgba(250, 165, 30, 0.07) !important;
}

/* ── Hamburger (mobile toggle) ── */
#site-header .site-navigation-toggle {
    color: #ffffff !important;
}

#site-header .site-navigation-toggle .site-navigation-toggle-icon,
#site-header .site-navigation-toggle .site-navigation-toggle-icon::before,
#site-header .site-navigation-toggle .site-navigation-toggle-icon::after {
    background-color: #ffffff !important;
}

/* ── Mobile dropdown nav ── */
#site-header .site-navigation-dropdown {
    background: #ffffff;
    border-top: 2px solid #faa51e;
}

#site-header .site-navigation-dropdown .menu > li > a,
#site-header .site-navigation-dropdown .menu > li > a:visited {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #262626 !important;
    text-decoration: none !important;
    letter-spacing: 0.04em !important;
}

#site-header .site-navigation-dropdown .menu > li > a:hover,
#site-header .site-navigation-dropdown .menu > li.current-menu-item > a {
    color: #faa51e !important;
}

@media (max-width: 480px) {
    #site-header .header-inner {
        padding: 0 16px;
    }
}

/* ── Admin bar: compensa offset quando l'utente è loggato ── */
.admin-bar #site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #site-header {
        top: 46px;
    }
}

/* ── Evita che il contenuto parta sotto l'header fixed sulle pagine senza hero ── */
.elementor-page .elementor-section:first-of-type {
    /* nessun padding: il hero copre l'header */
}

/* =============================================================================
   CONTAINER – Max-width allineato a Wanium (1366px)
   ============================================================================= */

.elementor-section.elementor-section-boxed > .elementor-container,
.e-con-inner {
    max-width: 1366px;
}

/* =============================================================================
   SEZIONI ELEMENTOR – Spaziatura verticale (96px come Wanium)
   ============================================================================= */

.elementor-section {
    padding-top: 96px;
    padding-bottom: 96px;
}

/* Prima sezione (hero) non ha padding aggiuntivo */
.elementor-section:first-child {
    padding-top: 0;
    padding-bottom: 0;
}

/* =============================================================================
   BOTTONI ELEMENTOR – Gradiente globale + border-radius 5px (come Wanium)
   ============================================================================= */

.elementor-button,
.elementor-button-link,
.elementor-size-md {
    color: #ffffff !important;
    background: linear-gradient(to right, #330a4e 0%, #faa51e 100%) !important;
    border-radius: 5px !important;
    padding: 12px 31px !important;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: opacity 0.25s ease !important;
}

.elementor-button:hover,
.elementor-button-link:hover {
    opacity: 0.88 !important;
}

/* =============================================================================
   COLORI DI SFONDO SEZIONI – palette aetmedia.it
   ============================================================================= */

:root {
    --aet-orange:  #faa51e;
    --aet-purple:  #330a4e;
    --aet-dark:    #262626;
    --aet-light:   #f4f4f4;
    --aet-white:   #ffffff;
}

/* =============================================================================
   ICON BOX – spaziatura interna coerente
   ============================================================================= */

.elementor-widget-icon-box .elementor-icon-box-wrapper {
    padding: 24px 16px;
}

.elementor-widget-icon-box .elementor-icon-box-title {
    font-size: 1.2em;
    margin-bottom: 12px;
}

.elementor-widget-icon-box .elementor-icon-box-description {
    font-size: 15px;
    line-height: 1.7;
    color: #4f4f4f;
}
