/*
Theme Name: Rola Child
Template: rola
*/

/* ==========================================================
   LOGO 25° ANNIVERSARIO
   ========================================================== */

.anniversary-logo img.menu-anniversary-logo {
    max-height: 60px;
    height: auto;
    width: auto;
    margin-left: 15px;
}

@media (max-width: 768px) {
    .anniversary-logo img.menu-anniversary-logo {
        max-height: 40px;
        margin-left: 0;
        margin-top: 10px;
    }
}


/* ==========================================================
   ENTOSTUDIO - PAGINA CONTATTI
   Pagina Elementor ID 8853
   ========================================================== */

.elementor-8853 {
    --ento-navy: #284159;
    --ento-green: #139F49;
    --ento-text: #53697B;
    --ento-light: #EEF8FB;
    --ento-border: #DCE8ED;

    overflow: hidden;
}


/* ==========================================================
   INTRO "CONTATTI"
   Classe Elementor sezione: ento-contatti-intro
   ========================================================== */

.elementor-8853 .ento-contatti-intro {
    position: relative;

    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-contatti-intro > .elementor-container {
    align-items: flex-start !important;
}

.elementor-8853 .ento-contatti-intro .elementor-widget-wrap {
    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-contatti-intro .elementor-heading-title {
    color: var(--ento-navy);
    line-height: 1.2;
}

.elementor-8853 .ento-contatti-intro .elementor-widget-text-editor p {
    max-width: 840px;
    margin-bottom: 0;

    color: var(--ento-text);
    line-height: 1.7;
}


/* ==========================================================
   CARD CONTATTI DIRETTI
   Sezione: ento-contatti-diretti
   Colonne: ento-contatto-card
   ========================================================== */

.elementor-8853 .ento-contatti-diretti {
    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-contatti-diretti > .elementor-container {
    display: flex !important;

    flex-wrap: nowrap !important;
    align-items: stretch !important;

    gap: 24px;
}

.elementor-8853 .ento-contatto-card {
    display: flex !important;

    flex: 1 1 0 !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
}

.elementor-8853 .ento-contatto-card > .elementor-widget-wrap {
    display: flex !important;

    flex: 1 1 auto;
    flex-direction: column;

    width: 100%;

    height: 100% !important;
    min-height: 150px !important;

    padding: 28px 26px !important;

    background: #FFFFFF;

    border: 1px solid var(--ento-border);
    border-top: 4px solid var(--ento-green);
    border-radius: 16px;

    box-shadow: 0 8px 24px rgba(40, 65, 89, 0.07);

    overflow: visible !important;
}

.elementor-8853 .ento-contatto-card .elementor-widget {
    width: 100%;
}

.elementor-8853 .ento-contatto-card .elementor-heading-title {
    margin: 0;

    color: var(--ento-navy);
    line-height: 1.3;
}

.elementor-8853 .ento-contatto-card .elementor-widget-text-editor {
    margin-top: 8px;
}

.elementor-8853 .ento-contatto-card p {
    margin-bottom: 0;

    color: var(--ento-text);
    line-height: 1.65;
}

.elementor-8853 .ento-contatto-card a {
    color: var(--ento-navy);

    font-weight: 600;
    text-decoration: none;
}

.elementor-8853 .ento-contatto-card a:hover {
    color: var(--ento-green);
}


/* ==========================================================
   INTRO "LE NOSTRE SEDI"
   Classe Elementor sezione: ento-sedi-intro
   ========================================================== */

.elementor-8853 .ento-sedi-intro {
    position: relative;

    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-sedi-intro > .elementor-container {
    align-items: flex-start !important;
}

.elementor-8853 .ento-sedi-intro .elementor-widget-wrap {
    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-sedi-intro .elementor-heading-title {
    color: var(--ento-navy);
    line-height: 1.2;
}

.elementor-8853 .ento-sedi-intro .elementor-widget-text-editor p {
    max-width: 840px;
    margin-bottom: 0;

    color: var(--ento-text);
    line-height: 1.7;
}


/* ==========================================================
   CARD SEDI
   Sezione: ento-sedi
   Colonne: ento-sede-card
   ========================================================== */

.elementor-8853 .ento-sedi {
    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}

.elementor-8853 .ento-sedi > .elementor-container {
    display: flex !important;

    flex-wrap: nowrap !important;
    align-items: stretch !important;

    gap: 24px;
}

.elementor-8853 .ento-sede-card {
    display: flex !important;

    flex: 1 1 0 !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
}

.elementor-8853 .ento-sede-card > .elementor-widget-wrap {
    display: flex !important;

    flex: 1 1 auto;
    flex-direction: column;

    width: 100%;

    height: 100% !important;
    min-height: 210px !important;

    padding: 28px 26px !important;

    background: #FFFFFF;

    border: 1px solid var(--ento-border);
    border-radius: 16px;

    box-shadow: 0 8px 24px rgba(40, 65, 89, 0.07);

    overflow: visible !important;
}

.elementor-8853 .ento-sede-card .elementor-widget {
    width: 100%;
}

.elementor-8853 .ento-sede-card .elementor-heading-title {
    margin: 0;

    color: var(--ento-navy);
    line-height: 1.3;
}

.elementor-8853 .ento-sede-card .elementor-widget-text-editor {
    margin-top: 10px;
}

.elementor-8853 .ento-sede-card p {
    margin-bottom: 10px;

    color: var(--ento-text);
    line-height: 1.65;
}

.elementor-8853 .ento-sede-card a {
    display: inline-block;

    color: var(--ento-green);

    font-weight: 700;
    text-decoration: none;
}

.elementor-8853 .ento-sede-card a:hover {
    color: var(--ento-navy);
}


/* ==========================================================
   FORM CONTATTI
   Sezione Elementor: ento-form-contatti
   ========================================================== */

.elementor-8853 .ento-form-contatti {
    height: auto !important;
    min-height: 0 !important;

    margin-top: 42px;

    padding-top: 54px !important;
    padding-bottom: 54px !important;

    background: var(--ento-light);

    overflow: visible !important;
}

.elementor-8853 .ento-form-contatti > .elementor-container {
    align-items: stretch !important;
}

.elementor-8853 .ento-form-contatti > .elementor-container > .elementor-column {
    height: auto !important;
    min-height: 0 !important;
}

.elementor-8853 .ento-form-contatti
> .elementor-container
> .elementor-column
> .elementor-widget-wrap {
    height: auto !important;
    min-height: 0 !important;

    padding: 34px !important;

    background: #FFFFFF;

    border: 1px solid var(--ento-border);
    border-radius: 18px;

    box-shadow: 0 10px 28px rgba(40, 65, 89, 0.07);

    overflow: visible !important;
}

.elementor-8853 .ento-form-contatti .elementor-heading-title {
    color: var(--ento-navy);
    line-height: 1.2;
}

.elementor-8853 .ento-form-contatti .elementor-widget-text-editor p {
    color: var(--ento-text);
    line-height: 1.7;
}


/* Campi form */

.elementor-8853 .ento-form-contatti .elementor-form-fields-wrapper {
    align-items: flex-start;
}

.elementor-8853 .ento-form-contatti .elementor-field-group {
    margin-bottom: 16px;
}

.elementor-8853 .ento-form-contatti .elementor-field-textual {
    min-height: 48px;

    padding: 11px 14px !important;

    color: var(--ento-navy) !important;
    background: #FFFFFF !important;

    border: 1px solid #C9D9E0 !important;
    border-radius: 8px !important;

    box-shadow: none !important;
}

.elementor-8853 .ento-form-contatti textarea.elementor-field-textual {
    min-height: 145px;

    resize: vertical;
}

.elementor-8853 .ento-form-contatti .elementor-field-textual::placeholder {
    color: #708392;
    opacity: 1;
}

.elementor-8853 .ento-form-contatti .elementor-field-textual:focus {
    border-color: var(--ento-green) !important;

    outline: 3px solid rgba(19, 159, 73, 0.16);
    outline-offset: 1px;
}


/* Privacy */

.elementor-8853 .ento-form-contatti .elementor-field-type-acceptance {
    margin-top: 2px;
}

.elementor-8853 .ento-form-contatti
.elementor-field-type-acceptance
.elementor-field-option {
    display: flex;

    align-items: flex-start;

    gap: 9px;
}

.elementor-8853 .ento-form-contatti .elementor-acceptance-field {
    flex: 0 0 auto;

    margin-top: 4px;
}

.elementor-8853 .ento-form-contatti .elementor-field-type-acceptance label {
    color: var(--ento-text);
    line-height: 1.55;
}

.elementor-8853 .ento-form-contatti .elementor-field-type-acceptance a {
    color: var(--ento-navy);
    font-weight: 600;
}

.elementor-8853 .ento-form-contatti .elementor-field-type-acceptance a:hover {
    color: var(--ento-green);
}


/* Pulsante */

.elementor-8853 .ento-form-contatti .elementor-field-type-submit {
    width: 200px !important;
    max-width: 100%;

    margin-top: 2px;
}

.elementor-8853 .ento-form-contatti .elementor-button {
    width: 100%;

    min-height: 48px;

    padding: 12px 24px;

    background: var(--ento-green);

    border: 0;
    border-radius: 8px;

    font-weight: 700;
}

.elementor-8853 .ento-form-contatti .elementor-button:hover {
    background: var(--ento-navy);
}


/* ==========================================================
   ACCESSIBILITÀ - FOCUS
   ========================================================== */

.elementor-8853 .ento-contatto-card a:focus-visible,
.elementor-8853 .ento-sede-card a:focus-visible,
.elementor-8853 .ento-form-contatti a:focus-visible,
.elementor-8853 .ento-form-contatti .elementor-button:focus-visible,
.elementor-8853 .ento-form-contatti .elementor-acceptance-field:focus-visible {
    outline: 3px solid var(--ento-green);
    outline-offset: 3px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .elementor-8853 .ento-contatti-diretti > .elementor-container,
    .elementor-8853 .ento-sedi > .elementor-container {
        flex-wrap: wrap !important;

        gap: 18px;
    }

    .elementor-8853 .ento-contatto-card,
    .elementor-8853 .ento-sede-card {
        flex: 1 1 calc(50% - 9px) !important;

        width: calc(50% - 9px) !important;
    }

    .elementor-8853 .ento-contatto-card:nth-child(3),
    .elementor-8853 .ento-sede-card:nth-child(3) {
        flex-basis: 100% !important;

        width: 100% !important;
    }

    .elementor-8853 .ento-contatto-card > .elementor-widget-wrap,
    .elementor-8853 .ento-sede-card > .elementor-widget-wrap {
        min-height: 0 !important;
    }

    .elementor-8853 .ento-form-contatti
    > .elementor-container
    > .elementor-column
    > .elementor-widget-wrap {
        padding: 28px !important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .elementor-8853 .ento-contatti-intro,
    .elementor-8853 .ento-contatti-diretti,
    .elementor-8853 .ento-sedi-intro,
    .elementor-8853 .ento-sedi,
    .elementor-8853 .ento-form-contatti,
    .elementor-8853 .ento-contatto-card,
    .elementor-8853 .ento-sede-card,
    .elementor-8853 .ento-contatto-card > .elementor-widget-wrap,
    .elementor-8853 .ento-sede-card > .elementor-widget-wrap {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: visible !important;
    }

    .elementor-8853 .ento-contatti-diretti > .elementor-container,
    .elementor-8853 .ento-sedi > .elementor-container {
        display: flex !important;

        flex-direction: column !important;
        flex-wrap: nowrap !important;

        gap: 16px;
    }

    .elementor-8853 .ento-contatto-card,
    .elementor-8853 .ento-sede-card,
    .elementor-8853 .ento-contatto-card:nth-child(3),
    .elementor-8853 .ento-sede-card:nth-child(3) {
        display: flex !important;

        flex: 0 0 auto !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-8853 .ento-contatto-card > .elementor-widget-wrap,
    .elementor-8853 .ento-sede-card > .elementor-widget-wrap {
        width: 100% !important;

        min-height: 0 !important;

        padding: 22px 20px !important;

        border-radius: 14px;
    }

    .elementor-8853 .ento-form-contatti {
        margin-top: 28px;

        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }

    .elementor-8853 .ento-form-contatti
    > .elementor-container
    > .elementor-column
    > .elementor-widget-wrap {
        padding: 22px 18px !important;

        border-radius: 14px;
    }

    .elementor-8853 .ento-form-contatti
    .elementor-form-fields-wrapper
    > .elementor-column.elementor-col-50 {
        width: 100% !important;
    }

    .elementor-8853 .ento-form-contatti .elementor-field-type-submit {
        width: 100% !important;
    }

    .elementor-8853 .ento-form-contatti .elementor-button {
        width: 100%;
    }
}


/* ==========================================================
   MOBILE PICCOLO
   ========================================================== */

@media (max-width: 480px) {

    .elementor-8853 .ento-contatto-card > .elementor-widget-wrap,
    .elementor-8853 .ento-sede-card > .elementor-widget-wrap {
        padding: 20px 17px !important;
    }

    .elementor-8853 .ento-form-contatti
    > .elementor-container
    > .elementor-column
    > .elementor-widget-wrap {
        padding: 20px 16px !important;
    }

    .elementor-8853 .ento-form-contatti .elementor-field-textual {
        font-size: 16px !important;
    }
}
