/**
 * Widget: form|shortcode-course — contatti con sfondo immagine + pannello form.
 */


.form-shortcode{
    padding: var(--website-padding-top-bottom);
}

.form-shortcode-course h2.website-title{

}

.form-shortcode>.container{
    max-width: 640px;
    background-color: var(--website-third);
    padding: 40px;
    margin: 0 auto;
    border-radius: 12px;
}

.form-shortcode-course .boxInput{
    padding: 8px 0;
    margin-bottom: 8px;
}

.form-shortcode-course .boxInput>p{
    padding: 0;
    margin: 0;
}

.form-shortcode-course .boxInput label{
    display: block;
    color: var(--icotea-brand-blue);
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: normal;
    margin: 0;
    padding: 0 0 2px 0;
}

.form-shortcode-course .boxInput textarea,
.form-shortcode-course .boxInput input[type=text],
.form-shortcode-course .boxInput input[type=email]{
    background-color: #ffffff66;
    font-size: 1rem;
    font-weight: normal;
    margin: 0;
    padding: 12px 8px;
    width: 100%;
    border-radius: 4px;
    border: 1px solid var(--icotea-brand-blue);
}

.form-shortcode-course .boxInput input:focus,
.form-shortcode-course .boxInput textarea:focus {
    outline: none;
}

.form-shortcode-course input[type="submit"] {
    background: var(--icotea-brand-blue);
    color: #fff;
    border: none;
    padding: 12px 32px;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease-out;
}

.form-shortcode-course input[type="submit"]:hover {
    background: var(--icotea-brand-blue-dark);
    transition: all 0.3s ease-in;
}

.form-shortcode-course input[type="submit"]:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}


.form-shortcode-course .autoload-select-toggle svg{
    width: 20px;
    height: 20px;
    color: #896A43;
}

.form-shortcode-course .col-for-input-privacy .boxInput{
    border: none;
    padding: 8px 0;
    background: transparent;
}

.form-shortcode-course .col-for-input-privacy .boxInput label{
    display: inline-block;
}


.form-shortcode-course .col-for-input-privacy .boxInput a{
    font-size: 1rem;
    color: var(--website-primary);
    text-decoration: underline;
}

.form-shortcode-course .col-for-input-privacy .boxInput .wpcf7-list-item {
    margin: 0;
}

.form-shortcode-course .col-for-input-privacy .boxInput .wpcf7-list-item-label{
    display: none;
}

.form-shortcode-course .col-for-input-privacy .boxInput a:hover{
    color: var(--website-primary-dark);
}


.form-shortcode-course input[type="submit"]:disabled{
    opacity: 0.6;
    cursor: not-allowed;
}

.form-shortcode-course .wpcf7 form.invalid .wpcf7-response-output,
.form-shortcode.wpcf7 form.unaccepted .wpcf7-response-output,
.form-shortcode.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--website-primary-light);
}


.form-shortcode-course {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
    overflow: hidden;
}

.form-shortcode-course .form-shortcode-course-inner {
    display: flex;
    justify-content: flex-start;
    padding: 40px 20px;
}

/* Pannello form a destra: bianco semi-opaco */
.form-shortcode-course .form-shortcode-course-panel {
    width: 100%;
    max-width: 50%;
    background: rgba(255, 255, 255, 0.90);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border-radius: 16px;
    padding: 32px;
    font-family: var(--icotea-font-body);
    color: var(--icotea-dark-blue);
}

.form-shortcode-course .form-shortcode-course-subtitle {
    font-family: var(--icotea-font-heading);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .5px;
    color: var(--icotea-brand-blue);
    margin-bottom: 6px;
}

.form-shortcode-course .form-shortcode-course-title {
    margin: 0 0 12px;
    font-family: var(--icotea-font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--icotea-brand-blue);
}

.form-shortcode-course .form-shortcode-course-content {
    margin-bottom: 20px;
    line-height: 1.6;
    color: var(--icotea-brand-blue);
}

.form-shortcode-course .form-shortcode-course-content :last-child { margin-bottom: 0; }


.form-shortcode-course .form-shortcode-course-inner {
    padding: 64px 0;
}

/*
xs      <576px      col-            smart-phone
sm      ≥576px 	    col-sm
md      ≥768px 	    col-md          ipad
lg      ≥992px 	    col-lg          ipad pro
xl      ≥1200px 	col-xl          desktop
xxl     ≥1400px     col-xxl
*/

/*============================================================
 *
 * XXL  desktop large
 *
 */
@media (min-width: 1400px) {

}

/*============================================================
 *
 * XL   desktop
 *
 */
@media (max-width: 1399px) {

}

/*============================================================
 *
 * LG   small desktop
 *
 */

@media (max-width: 1199px) {
    .form-shortcode-course .form-shortcode-course-panel {
        max-width: 70%;
    }
}

/*============================================================
 *
 * LG   ipadpro
 *
 */
@media (pointer:coarse) and (max-width: 1199px) {
}


/*============================================================
 *
 *  MD  ipad
 *
 */
@media (max-width: 991px) {

    .form-shortcode-course .form-shortcode-course-panel {
        max-width: 85%;
    }
}


/*============================================================
 *
 *  SM smart-phone 576-767
 *  XS 0-567
 */
@media (max-width: 767px) {
    .form-shortcode-course .form-shortcode-course-panel {
        max-width: 100%;
        background: rgba(255, 255, 255, 0.95);
        border-radius: 0;
        padding: 2rem 1rem;
    }
    .form-shortcode-course .form-shortcode-course-inner {
        padding: 0;
    }

    .form-shortcode-course {
        border-radius: 0 0;
    }

}

.form-shortcode-course input::placeholder,
.form-shortcode-course textarea::placeholder {
    color: #999;
    opacity: 0.9;
}

/* ------------------------------------------------------------------ *
 * Modal messaggi (errore / OK) del form richiesta informazioni corso.
 * Grafiche distinte: ERRORE = rosso + icona alert; OK = verde + icona check.
 * ------------------------------------------------------------------ */
body.fscm-modal-open { overflow: hidden; }
body.fscm-modal-open #btn-back-to-top { display: none !important; }

.fscm-overlay {
    position: fixed;
    inset: 0;
    z-index: 100070;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 23, 42, .5);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity .2s ease;
}
.fscm-overlay.is-open { opacity: 1; }

.fscm-dialog {
    position: relative;
    width: 100%;
    max-width: 30rem;
    max-height: 90vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    padding: 2rem 1.75rem 1.75rem;
    text-align: center;
    box-shadow: 0 20px 45px rgba(15, 23, 42, .25);
    border-top: 6px solid var(--icotea-brand-blue);
    transform: scale(.96);
    transition: transform .2s ease;
}
.fscm-overlay.is-open .fscm-dialog { transform: scale(1); }

.fscm-x {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: #f1f5f9;
    color: #45556c;
    cursor: pointer;
}
.fscm-x:hover,
.fscm-x:focus-visible { background: #e2e8f0; color: var(--icotea-brand-blue); }

.fscm-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.fscm-title {
    margin: 0 0 .5rem;
    font-family: var(--icotea-font-heading);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
}
.fscm-desc {
    margin: 0 auto;
    max-width: 24rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #45556c;
}
.fscm-errors {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.fscm-errors[hidden] { display: none; }
.fscm-errors li {
    position: relative;
    padding: .6rem .75rem .6rem 2.25rem;
    font-size: .95rem;
    color: #7f1d1d;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
}
.fscm-errors li::before {
    content: "!";
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .8rem;
    color: #fff;
    background: #dc2626;
    border-radius: 50%;
}
.fscm-actions { margin-top: 1.5rem; }
.fscm-actions .fscm-ok { min-width: 8rem; cursor: pointer; }

/* Variante ERRORE */
.fscm-dialog.fscm--error { border-top-color: #dc2626; }
.fscm-dialog.fscm--error .fscm-icon { background: #fef2f2; color: #dc2626; }
.fscm-dialog.fscm--error .fscm-title { color: #b91c1c; }

/* Variante OK */
.fscm-dialog.fscm--ok { border-top-color: #16a34a; }
.fscm-dialog.fscm--ok .fscm-icon { background: #f0fdf4; color: #16a34a; }
.fscm-dialog.fscm--ok .fscm-title { color: #15803d; }

/* CF7: nasconde la banda di risposta inline (ora mostrata nel modal),
   mantenendo i suggerimenti per-campo che guidano alla correzione. */
.form-shortcode-course .wpcf7-response-output {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 480px) {
    .fscm-dialog { padding: 1.5rem 1.25rem 1.25rem; }
    .fscm-actions .fscm-ok { width: 100%; }
}
