.elementor-1786 .elementor-element.elementor-element-2310800{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-1786 .elementor-element.elementor-element-cf3e354{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1786 .elementor-element.elementor-element-b368bff .elementor-heading-title{font-family:"Oswald", Sans-serif;font-weight:600;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1786 .elementor-element.elementor-element-f08ed7b .elementor-button{background-color:var( --e-global-color-f3d9b4d );font-family:"Poppins", Sans-serif;font-weight:500;border-radius:16px 16px 16px 16px;}.elementor-1786 .elementor-element.elementor-element-f08ed7b .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1786 .elementor-element.elementor-element-12516aa{padding:10px 20px 10px 20px;}.elementor-1786 .elementor-element.elementor-element-12516aa.elementor-element{--align-self:flex-end;}.elementor-1786 .elementor-element.elementor-element-68d9896{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}body.elementor-page-1786:not(.elementor-motion-effects-element-type-background), body.elementor-page-1786 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-1786 .elementor-element.elementor-element-12516aa.elementor-element{--align-self:center;}}/* Start custom CSS for shortcode, class: .elementor-element-b852177 */.calendario-godimento form {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.04);
    font-family: inherit;
}

/* input base */
.calendario-godimento input[type="text"],
.calendario-godimento input[type="date"],
.calendario-godimento input[type="number"], .calendario-godimento select {
    width: 100%;
    padding: 10px 12px;
    margin: 6px 0;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* focus */
.calendario-godimento input:focus {
    border-color: #999;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.05);
}

/* riga tabella */
.calendario-godimento .riga {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 0.8fr 1fr 38px 38px 46px 38px;
    gap: 8px;
    margin-bottom: 10px;
    padding: 10px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 10px;
    position: relative;
    align-items: center;
}

/* pulsante inserisci riga (+) */
.calendario-godimento .inserisci-riga {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #2e7d32;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.calendario-godimento .inserisci-riga:hover {
    background: #1b5e20;
    transform: scale(1.08);
}

/* bottone duplica */
.calendario-godimento .duplica-riga {
    width: 42px;
    height: 42px;
    padding: 0;
    margin: 0;
    background: #2d2d2d;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.calendario-godimento .duplica-riga:hover {
    background: #444;
}

/* bottone elimina */
.calendario-godimento .elimina-riga {
    position: static;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    border: none;
    background: #ff4d4d;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.calendario-godimento .elimina-riga:hover {
    background: #d93636;
}

/* bottone aggiungi riga */
.calendario-godimento .aggiungi-riga {
    margin-top: 10px;
    padding: 10px 14px;
    background: #2d2d2d;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.2s ease;
}

.calendario-godimento .aggiungi-riga:hover {
    background: #444;
}

/* Pulsante inline "Chiusura Residence" */
.calendario-godimento .inserisci-chiusura-inline {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 50%;

    background: #8e24aa;
    color: #ffffff;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;
    transition: all 0.2s ease;
}

.calendario-godimento .inserisci-chiusura-inline:hover {
    background: #6a1b9a;
    transform: scale(1.08);
}

/* Mobile */
@media (max-width: 768px) {
    .calendario-godimento .inserisci-chiusura-inline {
        width: 100%;
        height: 40px;
        border-radius: 8px;
        font-size: 16px;
    }
}

/* submit */
.calendario-godimento input[type="submit"] {
    margin-top: 20px;
    padding: 12px 18px;
    background: #1a73e8;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.2s ease;
}

.calendario-godimento input[type="submit"]:hover {
    background: #1557b0;
}

/* titolo */
.calendario-godimento input[name="titolo"] {
    font-size: 16px;
    font-weight: 500;
}

/* messaggio successo */
.calendario-godimento .success-message {
    padding: 12px 16px;
    margin-bottom: 20px;
    background: #e8f7e8;
    border: 1px solid #b7e0b7;
    color: #226622;
    border-radius: 8px;
}

/* Pulsante inserisci riga (+) */
.calendario-godimento .inserisci-riga {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 50%;

    background: #2e7d32; /* verde */
    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;
    transition: all 0.2s ease;
}

.calendario-godimento .inserisci-riga:hover {
    background: #1b5e20;
    transform: scale(1.08);
}

/* Pulsante "Inserisci chiusura residence" */
.calendario-godimento .aggiungi-chiusura {
    margin-top: 10px;
    margin-left: 10px;
    padding: 10px 14px;

    background: #A22B24; /* rosso */
    color: #ffffff;

    border: none;
    border-radius: 8px;

    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;

    cursor: pointer;
    transition: all 0.2s ease;
}

.calendario-godimento .aggiungi-chiusura:hover {
    background: #6a1b9a;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* Tooltip personalizzato per i pulsanti del calendario */
.calendario-godimento .inserisci-riga,
.calendario-godimento .inserisci-chiusura-inline,
.calendario-godimento .duplica-riga,
.calendario-godimento .elimina-riga {
    position: relative;
}

.calendario-godimento .inserisci-riga::after,
.calendario-godimento .inserisci-chiusura-inline::after,
.calendario-godimento .duplica-riga::after,
.calendario-godimento .elimina-riga::after {
    content: attr(aria-label);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);

    background: rgba(0, 0, 0, 0.9);
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.15s ease;

    z-index: 9999;
}

.calendario-godimento .inserisci-riga:hover::after,
.calendario-godimento .inserisci-chiusura-inline:hover::after,
.calendario-godimento .duplica-riga:hover::after,
.calendario-godimento .elimina-riga:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* responsive */
@media (max-width: 768px) {

    .calendario-godimento .riga {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px;
    }

    .calendario-godimento .inserisci-riga,
    .calendario-godimento .duplica-riga,
    .calendario-godimento .elimina-riga {
        width: 100%;
        height: 40px;
        border-radius: 8px;
    }

    .calendario-godimento form {
        padding: 15px;
    }

    .calendario-godimento .aggiungi-riga,
    .calendario-godimento .aggiungi-chiusura,
    .calendario-godimento input[type="submit"] {
        width: 100%;
    }
    
    .calendario-godimento .aggiungi-chiusura {
        width: 100%;
        margin-left: 0;
    }
    
     .calendario-godimento .inserisci-riga::after,
    .calendario-godimento .inserisci-chiusura-inline::after,
    .calendario-godimento .duplica-riga::after,
    .calendario-godimento .elimina-riga::after {
        display: none;
    }
}/* End custom CSS */