/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

h2 {font-size: 35px !important;}
h3 {font-size: 22px !important;}
.titoletto {color: #1a1a1a !important;}
.slogan {font-size: 44px !important;}
.arancione {color: #FFA300 !important;}

.no-link {cursor: default; }
.nav-dropdown>li>a {
    width: 300px !important;
}

.gratuita {color: #FFA300 !important;}

/* --- CSS BASE MANTENUTO --- */
.ace-group-container {
    position: relative;
    width: 100%;
    max-width: 1000px;
    height: 700px;
    margin: 80px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.center-circle {
    width: 200px;
    height: 200px;
    background-color: #FFA300;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    box-shadow: 0 0 0 15px rgba(255, 163, 0, 0.1);
    z-index: 5;
}

.center-circle strong { font-size: 22px; font-weight: 800; text-transform: uppercase; }
.center-circle span { font-size: 13px; font-weight: 300; }


/* Stile Card e Link */

.ace-item {
    position: absolute;
    width: 170px;
    z-index: 10;
    text-decoration: none !important; /* Rimuove sottolineatura link */
}

.ace-card {
    background: #ffffff;
    padding: 15px 10px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 6px 15px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.03);
    transition: transform 0.3s ease;
}

.ace-card:hover { transform: scale(1.05); }

/* --- ADATTAMENTO SPECIFICO PER SVG --- */
.ace-svg-icon {
    width: 24px;       /* Ridotta per essere più minimale */
    height: 24px;      /* Mantiene la proporzione quadrata */
    margin-bottom: 8px; /* Spazio tra icona e testo */
    display: block;
    margin-left: auto;
    margin-right: auto;
    transition: transform 0.3s ease;
}

/* Opzionale: un leggero effetto quando passi sopra con il mouse */
.ace-item:hover .ace-svg-icon {
    transform: scale(1.1);
}

.ace-card p {
    margin: 0;
    font-weight: 700;
    font-size: 13px;
    color: #2D3748;
    line-height: 1.2;
}

/* --- POSIZIONAMENTO MANTENUTO --- */
.pos-0 { top: 0; left: 50%; transform: translateX(-50%); } 
.pos-1 { top: 70px; right: 10%; } 
.pos-2 { top: 240px; right: 0; } 
.pos-3 { bottom: 240px; right: 0; } 
.pos-4 { bottom: 70px; right: 10%; } 
.pos-5 { bottom: 0; left: 50%; transform: translateX(-50%); } 
.pos-6 { bottom: 70px; left: 10%; }
.pos-7 { bottom: 240px; left: 0; }
.pos-8 { top: 240px; left: 0; }
.pos-9 { top: 70px; left: 10%; }

/* --- RESPONSIVE MANTENUTO --- */
@media (max-width: 900px) {
    .ace-group-container { height: auto; flex-direction: column; padding: 20px; }
    .ace-item { position: static; width: 100%; max-width: 300px; margin-bottom: 12px; transform: none !important; }
    .center-circle { margin-bottom: 40px; }
}



/* Container principale */
.custom-contact-form {
    max-width: 500px;
    margin: 0 auto;
    color: #4a5568;
}


/* Etichette (Labels) */
.custom-contact-form label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #5D6D7e;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* Campi di input e Textarea */
.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form textarea {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background-color: #fcfcfc;
    font-size: 16px;
    color: #4a5568;
    margin-bottom: 20px;
    box-sizing: border-box;
}

/* Placeholder (testo grigio interno) */
.custom-contact-form ::placeholder {
    color: #a0aec0;
}

/* Textarea specifica */
.custom-contact-form textarea {
    height: 120px;
    resize: vertical;
}

/* Bottone Invia */
.custom-contact-form input[type="submit"] {
    width: 100%;
    background-color: #ffa500; /* Colore arancione dell'immagine */
    color: #ffffff;
    border: none;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.custom-contact-form input[type="submit"]:hover {
    background-color: #e69500;
}

/* Rimuove i messaggi di errore standard che spostano il layout */
.wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: -15px;
    margin-bottom: 10px;
}


.grecaptcha-badge { display: none !important; }

.profilo img {
    object-position: top center !important;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
h1 {font-size: 35px !important;}
h2 {font-size: 30px !important;}
h3 {font-size: 20px !important;}
.slogan {font-size: 40px !important;}
}