
    /*
     * CSS SPECIFICO PRENOTAZIONI HOST.
     * Bottoni, card, input, badge, ecc. arrivano dal Design System.
     */

    body:has(.ava-host-bookings-v9) #main,
    body:has(.ava-host-bookings-v9) .fusion-row,
    body:has(.ava-host-bookings-v9) .fusion-builder-row,
    body:has(.ava-host-bookings-v9) .fusion-fullwidth{
        width:100%!important;
        max-width:none!important;
    }

    body:has(.ava-host-bookings-v9) #main{
        padding:0!important;
    }

    body:has(.ava-host-bookings-v9) #footer,
    body:has(.ava-host-bookings-v9) .fusion-footer,
    body:has(.ava-host-bookings-v9) .wpml-ls-statics-footer,
    body:has(.ava-host-bookings-v9) .wpml-ls-statics-post_translations{
        display:none!important;
    }

    .ava-host-bookings-v9{
        width:100%;
        padding:12px;
        background:#fff;
    }

    .ava-hb-app{
        width:100%;
        height:calc(100dvh - 92px);
        min-height:560px;

        display:grid;
        grid-template-columns:360px minmax(0,1fr);

        overflow:hidden;

        border:1px solid var(--ava-border,#e1e5e5);
        border-radius:var(--ava-radius-2xl);

        background:#fff;
    }

    .ava-hb-sidebar{
        min-width:0;
        display:flex;
        flex-direction:column;

        border-right:1px solid var(--ava-border,#e1e5e5);
        background:#fbfcfc;
    }

    .ava-hb-sidebar-head{
        flex:0 0 auto;
        padding:18px 16px 14px;

        border-bottom:1px solid var(--ava-border,#e1e5e5);
        background:#fff;
    }

    .ava-hb-sidebar-head h2{
        margin:0 0 4px;
        font-size:18px;
        line-height:1.2;
    }

    .ava-hb-sidebar-head p{
        margin:0 0 13px;
        color:#7a7a7a;
        font-size:12px;
    }

    .ava-hb-search{
        position:relative;
        width:100%;
    }

    .ava-hb-search .ava-input{
        width:100%!important;
        min-width:0!important;
        height:50px!important;
        padding:0 44px 0 43px!important;
        border-radius:var(--ava-radius-md)!important;
        background:#fff!important;
        font-size:13px!important;
    }

    .ava-hb-search:before{
        content:"";
        position:absolute;
        left:15px;
        top:50%;
        width:16px;
        height:16px;
        transform:translateY(-50%);
        border:1.8px solid #667273;
        border-radius:var(--ava-radius-round);
        pointer-events:none;
        z-index:2;
    }

    .ava-hb-search:after{
        content:"";
        position:absolute;
        left:27px;
        top:29px;
        width:7px;
        height:1.8px;
        background:#667273;
        transform:rotate(45deg);
        transform-origin:left center;
        border-radius:var(--ava-radius-pill);
        pointer-events:none;
        z-index:2;
    }

    .ava-hb-list{
        flex:1 1 auto;
        min-height:0;
        overflow-y:auto;
        padding:8px;
    }

    .ava-hb-booking{
        display:grid;
        grid-template-columns:72px minmax(0,1fr);
        gap:14px;
        align-items:center;
        width:100%;
        padding:14px 10px;
        border:1px solid transparent;
        border-radius:var(--ava-radius-md);
        color:inherit!important;
        text-decoration:none!important;
        transition:.16s ease;
    }

    .ava-hb-booking:hover{background:#f7f7f7;border-color:#eceeee}
    .ava-hb-booking.is-active{background:#f4f9f9;border-color:#d8e7e8;box-shadow:none}
    .ava-hb-booking + .ava-hb-booking{margin-top:6px}

    .ava-hb-booking-image{display:block;width:72px;height:72px;border-radius:14px;overflow:hidden;background:#f1f1f1}
    .ava-hb-booking-image img{display:block;width:100%;height:100%;object-fit:cover}
    .ava-hb-booking-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
    .ava-hb-booking-name{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:780;color:#202020}
    .ava-hb-booking-dates{display:block;margin-top:4px;font-size:12px;color:#777}
    .ava-hb-booking-property{display:none}

    .ava-hb-mod-alert{
        display:flex;
        align-items:center;
        gap:6px;

        margin-top:8px;

        color:#b56d16;
        font-size:11px;
        font-weight:800;
    }

    .ava-hb-mod-alert:before{
        content:"";
        width:7px;
        height:7px;
        border-radius:var(--ava-radius-round);
        background:#db8a26;
    }

    .ava-hb-main{
        min-width:0;
        min-height:0;
        overflow-y:auto;
        padding:26px 30px 38px;
        background:#fff;
        position:relative;
    }

    .ava-hb-main > *{
        max-width:100%;
        box-sizing:border-box;
    }

    .ava-hb-detail{
        position:relative;
        z-index:1;
    }

    .ava-hb-detail{
        width:100%;
        max-width:1120px;
        margin:0 auto;
        padding-bottom:28px;
    }

    .ava-hb-hero{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:18px;

        margin-bottom:20px;
        padding-bottom:20px;

        border-bottom:1px solid #eceeee;
    }

    .ava-hb-hero h1{
        margin:0;
        font-size:29px;
        line-height:1.12;
        letter-spacing:-.02em;
    }

    .ava-hb-hero p{
        margin:6px 0 0;
        font-size:13px;
        color:#777;
    }

    .ava-hb-section{
        margin-bottom:16px;
    }

    .ava-hb-section-title{
        margin:0 0 13px;
        font-size:19px;
        line-height:1.2;
    }

    .ava-hb-summary-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px;
    }

    .ava-hb-summary-cell{
        padding:15px;
        border:1px solid #eceeee;
        border-radius:15px;
        background:#fafbfb;
    }

    .ava-hb-summary-cell small{
        display:block;
        margin-bottom:5px;
        color:#7d7d7d;
        font-size:11px;
    }

    .ava-hb-summary-cell strong{
        display:block;
        font-size:14px;
        line-height:1.35;
    }

    .ava-hb-guest{
        display:grid;
        grid-template-columns:76px minmax(0,1fr);
        gap:16px;
        align-items:center;

        margin-bottom:18px;
    }

    .ava-hb-avatar{
        width:76px;
        height:76px;
        border-radius:var(--ava-radius-round);
        overflow:hidden;
        background:#eef1f1;
    }

    .ava-hb-avatar img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }

    .ava-hb-avatar-fallback{
        width:100%;
        height:100%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:26px;
        font-weight:800;
        color:#7b8788;
    }

    .ava-hb-guest h3{
        margin:0;
        font-size:20px;
    }

    .ava-hb-guest p{
        margin:5px 0 0;
        color:#777;
        font-size:12px;
    }

    .ava-hb-data-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .ava-hb-data{
        min-height:72px;
        padding:13px 14px;

        border:1px solid #eceeee;
        border-radius:14px;

        background:#fff;
    }

    .ava-hb-data span{
        display:block;
        margin-bottom:5px;
        color:#808080;
        font-size:11px;
    }

    .ava-hb-data strong{
        display:block;
        font-size:13px;
        line-height:1.4;
        word-break:break-word;
    }

    .ava-hb-price-list{
        display:grid;
        gap:0;
    }

    .ava-hb-price-row{
        display:flex;
        justify-content:space-between;
        gap:18px;

        padding:11px 0;

        border-bottom:1px solid #eeeeee;

        font-size:13px;
    }

    .ava-hb-price-row:last-child{
        border-bottom:0;
    }

    .ava-hb-price-row span{
        color:#626262;
    }

    .ava-hb-price-row strong{
        text-align:right;
    }

    .ava-hb-price-row.is-total{
        margin-top:5px;
        padding-top:15px;

        font-size:16px;
        font-weight:800;
    }

    .ava-hb-price-row.is-host{
        color:var(--ava-primary,var(--ava-petrol));
        font-size:15px;
        font-weight:800;
    }

    .ava-hb-reconstruction-note{
        margin-top:12px;

        padding:12px 14px;

        border-radius:13px;

        background:#fff9eb;
        color:#7e651f;

        font-size:11px;
        line-height:1.5;
    }

    .ava-hb-payout{
        display:grid;
        grid-template-columns:1fr auto;
        gap:18px;
        align-items:center;
    }

    .ava-hb-payout strong{
        display:block;
        margin-bottom:5px;
        font-size:16px;
    }

    .ava-hb-payout p{
        margin:0;
        color:#707070;
        font-size:12px;
        line-height:1.5;
    }

    .ava-hb-payout-status{
        min-width:150px;
        padding:13px 14px;
        border-radius:15px;
        text-align:center;
        background:#f4f6f6;
    }

    .ava-hb-payout-status.is-sent{
        background:#e8f7ed;
        color:#237442;
    }

    .ava-hb-modification{
        border:1px solid #efd4ad;
        background:#fffaf2;
    }

    .ava-hb-mod-grid{
        display:grid;
        grid-template-columns:1fr auto 1fr;
        gap:14px;
        align-items:stretch;
    }

    .ava-hb-mod-side{
        padding:15px;
        border:1px solid #eadfcf;
        border-radius:15px;
        background:#fff;
    }

    .ava-hb-mod-side small{
        display:block;
        margin-bottom:7px;
        color:#8a765d;
        font-weight:800;
    }

    .ava-hb-mod-side strong{
        display:block;
        margin-bottom:5px;
        font-size:14px;
    }

    .ava-hb-mod-side span{
        display:block;
        color:#777;
        font-size:12px;
        line-height:1.45;
    }

    .ava-hb-mod-arrow{
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:22px;
        color:#9c7d53;
    }

    .ava-hb-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .ava-hb-action-card{
        width:100%;
        display:flex;
        justify-content:space-between;
        gap:15px;
        align-items:center;

        padding:17px;

        border:1px solid #e3e7e7;
        border-radius:var(--ava-radius-md);

        background:#fff;

        text-align:left;
        cursor:pointer;
    }

    .ava-hb-action-card:hover{
        background:#fafcfc;
        border-color:#c9d7d8;
    }

    .ava-hb-action-card strong{
        display:block;
        margin-bottom:5px;
        font-size:14px;
    }

    .ava-hb-action-card p{
        margin:0;
        color:#777;
        font-size:11px;
        line-height:1.4;
    }

    .ava-hb-action-card.is-danger{
        border-color:#efd9d9;
    }

    .ava-hb-action-card.is-danger .ava-hb-action-icon{
        color:#a72b2b;
    }

    .ava-hb-action-icon{
        flex:0 0 auto;
        font-size:22px;
        color:var(--ava-petrol);
    }

    .ava-hb-policy{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .ava-hb-policy-box{
        padding:15px;
        border:1px solid #e8eaea;
        border-radius:15px;
        background:#fafbfb;
    }

    .ava-hb-policy-box strong{
        display:block;
        margin-bottom:6px;
        font-size:14px;
    }

    .ava-hb-policy-box p{
        margin:0;
        color:#727272;
        font-size:12px;
        line-height:1.5;
    }

    .ava-hb-empty{
        height:100%;
        min-height:420px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .ava-hb-empty-inner{
        max-width:420px;
        text-align:center;
        color:#777;
    }

    .ava-hb-empty-inner h2{
        color:#222;
        font-size:22px;
        margin:0 0 8px;
    }

    .ava-hb-placeholder-modal .ava-info-box{
        margin-bottom:14px;
    }


    .ava-hb-accordion{
        border:1px solid #e3e7e7;
        border-radius:var(--ava-radius-lg);
        background:#fff;
        overflow:hidden;
        margin-bottom:12px;
    }

    .ava-hb-accordion-toggle{
        width:100%;
        min-height:78px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:18px;
        padding:17px 19px;
        border:0;
        background:#fff;
        text-align:left;
        cursor:pointer;
        transition:background .16s ease;
    }

    .ava-hb-accordion-toggle:hover{
        background:#fafcfc;
    }

    .ava-hb-accordion-copy{
        min-width:0;
    }

    .ava-hb-accordion-copy strong{
        display:block;
        margin:0 0 5px;
        font-size:16px;
        line-height:1.25;
        color:#222;
    }

    .ava-hb-accordion-copy span{
        display:block;
        font-size:12px;
        line-height:1.45;
        color:#777;
    }

    .ava-hb-accordion-chevron{
        flex:0 0 auto;
        width:34px;
        height:34px;
        border:1px solid #e0e5e5;
        border-radius:var(--ava-radius-round);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:18px;
        color:#4f5d5e;
        transition:transform .18s ease, background .18s ease;
    }

    .ava-hb-accordion.is-open .ava-hb-accordion-chevron{
        transform:rotate(90deg);
        background:#f4f8f8;
    }

    .ava-hb-accordion-panel{
        display:none;
        padding:0 19px 20px;
        border-top:1px solid #eef0f0;
    }

    .ava-hb-accordion.is-open .ava-hb-accordion-panel{
        display:block;
    }

    .ava-hb-accordion-panel > .ava-hb-inner{
        padding-top:18px;
    }

    .ava-hb-accordion.is-attention{
        border-color:#efd4ad;
        background:#fffdf9;
    }

    .ava-hb-accordion.is-attention .ava-hb-accordion-toggle{
        background:#fffaf2;
    }


    /* V6 - accenti Ava Home */
    .ava-hb-hero{
        border-bottom:2px solid #dbe8e9;
    }

    .ava-hb-hero-main{
        min-width:0;
    }

    .ava-hb-hero-line{
        display:flex;
        align-items:baseline;
        flex-wrap:wrap;
        gap:12px 18px;
    }

    .ava-hb-reservation-hero{
        display:inline-flex;
        align-items:center;
        min-height:38px;
        padding:0 13px;
        border-radius:var(--ava-radius-pill);
        background:#eef7f7;
        color:var(--ava-primary,var(--ava-petrol));
        font-size:17px;
        font-weight:850;
        letter-spacing:-.01em;
    }

    .ava-hb-accordion{
        border-color:#dfe7e7;
    }

    .ava-hb-accordion.is-open{
        border-color:#b8d0d2;
        box-shadow:0 0 0 1px rgba(40,95,104,.025);
    }

    .ava-hb-accordion.is-open .ava-hb-accordion-toggle{
        background:#f6fbfb;
    }

    .ava-hb-accordion.is-open .ava-hb-accordion-copy strong{
        color:var(--ava-primary,var(--ava-petrol));
    }

    .ava-hb-summary-cell{
        border-color:#e1e8e8;
    }

    .ava-hb-payout-v6{
        display:grid;
        grid-template-columns:minmax(0,1.6fr) minmax(210px,.7fr);
        gap:14px;
    }

    .ava-hb-payout-main{
        padding:21px;
        border:1px solid #dce7e7;
        border-radius:var(--ava-radius-lg);
        background:linear-gradient(135deg,#f7fbfb 0%,#fff 100%);
    }

    .ava-hb-payout-eyebrow{
        display:block;
        margin-bottom:8px;
        color:#708080;
        font-size:11px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.05em;
    }

    .ava-hb-payout-main h3{
        margin:0 0 8px;
        color:#1d292a;
        font-size:20px;
        line-height:1.25;
    }

    .ava-hb-payout-main p{
        margin:0;
        color:#687172;
        font-size:13px;
        line-height:1.6;
    }

    .ava-hb-payout-date{
        margin-top:18px;
        display:flex;
        align-items:center;
        gap:11px;
    }

    .ava-hb-payout-date-icon{
        width:42px;
        height:42px;
        flex:0 0 auto;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:13px;
        background:#e7f3f3;
        color:var(--ava-primary,var(--ava-petrol));
        font-size:19px;
        font-weight:800;
    }

    .ava-hb-payout-date small{
        display:block;
        color:#7b8384;
        font-size:11px;
        margin-bottom:2px;
    }

    .ava-hb-payout-date strong{
        display:block;
        color:#252d2e;
        font-size:15px;
    }

    .ava-hb-payout-side{
        padding:20px;
        border-radius:var(--ava-radius-lg);
        background:var(--ava-primary,var(--ava-petrol));
        color:#fff;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }

    .ava-hb-payout-side.is-sent{
        background:#237442;
    }

    .ava-hb-payout-side.is-hold{
        background:#89691e;
    }

    .ava-hb-payout-side small{
        display:block;
        margin-bottom:7px;
        opacity:.75;
        font-size:11px;
    }

    .ava-hb-payout-side strong{
        display:block;
        margin:0 0 6px;
        font-size:22px;
        line-height:1.15;
    }

    .ava-hb-payout-side span{
        font-size:12px;
        line-height:1.45;
        opacity:.9;
    }

    .ava-hb-policy-v6{
        display:grid;
        grid-template-columns:210px minmax(0,1fr);
        gap:14px;
        align-items:stretch;
    }

    .ava-hb-policy-type{
        padding:20px;
        border-radius:var(--ava-radius-lg);
        background:#eef7f7;
        border:1px solid #cadede;
    }

    .ava-hb-policy-type small{
        display:block;
        margin-bottom:8px;
        color:#718080;
        font-size:11px;
        font-weight:750;
    }

    .ava-hb-policy-type strong{
        display:block;
        color:var(--ava-primary,var(--ava-petrol));
        font-size:22px;
        line-height:1.2;
    }

    .ava-hb-policy-detail{
        padding:20px;
        border:1px solid #e2e7e7;
        border-radius:var(--ava-radius-lg);
        background:#fff;
    }

    .ava-hb-policy-detail strong{
        display:block;
        margin-bottom:7px;
        font-size:15px;
    }

    .ava-hb-policy-detail p{
        margin:0;
        color:#6f7677;
        font-size:13px;
        line-height:1.55;
    }

    .ava-hb-policy-meter{
        margin-top:15px;
        display:flex;
        gap:8px;
        flex-wrap:wrap;
    }

    .ava-hb-policy-pill{
        display:inline-flex;
        align-items:center;
        min-height:34px;
        padding:0 11px;
        border-radius:var(--ava-radius-pill);
        background:#f3f5f5;
        color:#566061;
        font-size:11px;
        font-weight:800;
    }

    .ava-hb-policy-pill.is-good{
        background:#e9f7ed;
        color:#237442;
    }

    .ava-hb-policy-pill.is-warn{
        background:#fff3df;
        color:#9a651b;
    }

    @media(max-width:760px){
        .ava-hb-payout-v6,
        .ava-hb-policy-v6{
            grid-template-columns:1fr;
        }
    }



    /*
     * Il modal viene portato sotto <body> via JS.
     * Queste regole sono solo di integrazione/layout per la pagina Host:
     * lo stile visivo di .ava-modal/.ava-btn ecc. resta nel Design System.
     */

    .ava-host-bookings-v9 template[data-hb-modal-template]{
        display:none!important;
    }

    body > .ava-hb-placeholder-modal{
        position:fixed!important;
        inset:0!important;
        z-index:2147483000!important;
        width:100vw!important;
        height:100dvh!important;
        max-width:none!important;
        max-height:none!important;
        margin:0!important;
        padding:24px!important;

        display:none!important;
        align-items:center!important;
        justify-content:center!important;

        overflow:auto!important;

        background:rgba(22,28,29,.45)!important;
        backdrop-filter:blur(5px);
        -webkit-backdrop-filter:blur(5px);
    }

    body > .ava-hb-placeholder-modal.is-open{
        display:flex!important;
    }

    body > .ava-hb-placeholder-modal > .ava-modal{
        position:relative!important;
        width:min(760px,calc(100vw - 48px))!important;
        max-width:760px!important;
        max-height:calc(100dvh - 48px)!important;
        margin:auto!important;

        display:flex!important;
        flex-direction:column!important;

        overflow:hidden!important;

        background:#fff!important;
        border:1px solid #dce4e4!important;
        border-radius:var(--ava-radius-2xl)!important;
        box-shadow:0 28px 90px rgba(0,0,0,.24)!important;
    }

    body > .ava-hb-placeholder-modal .ava-modal-header{
        flex:0 0 auto!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:space-between!important;
        gap:20px!important;

        padding:22px 24px!important;
        border-bottom:1px solid #e8eded!important;
        background:#fff!important;
    }

    body > .ava-hb-placeholder-modal .ava-modal-body{
        flex:1 1 auto!important;
        min-height:0!important;
        overflow-y:auto!important;
        padding:22px 24px 26px!important;
        background:#fff!important;
    }

    body > .ava-hb-placeholder-modal .ava-icon-btn{
        flex:0 0 auto!important;
    }

    body.ava-hb-modal-open{
        overflow:hidden!important;
    }

    @media(max-width:700px){
        body > .ava-hb-placeholder-modal{
            padding:12px!important;
        }

        body > .ava-hb-placeholder-modal > .ava-modal{
            width:100%!important;
            max-width:none!important;
            max-height:calc(100dvh - 24px)!important;
            border-radius:var(--ava-radius-xl)!important;
        }
    }

    .ava-hb-action-form{
        display:grid;
        gap:16px;
    }

    .ava-hb-action-form-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .ava-hb-field{
        display:grid;
        gap:7px;
    }

    .ava-hb-field label{
        font-size:12px;
        font-weight:800;
        color:#3b4546;
    }

    .ava-hb-field .ava-input{
        width:100%!important;
    }

    .ava-hb-guests{
        display:grid;
        gap:0;
        border:1px solid #e0e6e6;
        border-radius:var(--ava-radius-lg);
        overflow:hidden;
    }

    .ava-hb-counter{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:15px;
        min-height:70px;
        padding:12px 15px;
        background:#fff;
    }

    .ava-hb-counter + .ava-hb-counter{
        border-top:1px solid #e8ebeb;
    }

    .ava-hb-counter-copy strong{
        display:block;
        font-size:13px;
    }

    .ava-hb-counter-copy span{
        display:block;
        margin-top:3px;
        color:#8a8a8a;
        font-size:11px;
    }

    .ava-hb-counter-controls{
        display:flex;
        align-items:center;
        gap:10px;
    }

    .ava-hb-counter-controls button{
        width:36px;
        height:36px;
        border:1px solid #cfdadb;
        border-radius:var(--ava-radius-round);
        background:#fff;
        color:var(--ava-primary,var(--ava-petrol));
        font-size:21px;
        line-height:1;
        cursor:pointer;
    }

    .ava-hb-counter-value{
        min-width:25px;
        text-align:center;
        font-size:15px;
        font-weight:850;
    }

    .ava-hb-quote{
        padding:15px;
        border:1px solid #dbe7e7;
        border-radius:var(--ava-radius-md);
        background:#f7fbfb;
    }

    .ava-hb-quote.is-danger{
        border-color:#efd2d2;
        background:#fff7f7;
    }

    .ava-hb-quote-row{
        display:flex;
        justify-content:space-between;
        gap:15px;
        font-size:13px;
    }

    .ava-hb-quote-row + .ava-hb-quote-row{
        margin-top:8px;
    }

    .ava-hb-quote-row.is-total{
        padding-top:10px;
        border-top:1px solid #dce7e7;
        font-weight:850;
        font-size:15px;
    }

    .ava-hb-cancel-summary{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .ava-hb-cancel-box{
        padding:16px;
        border:1px solid #e1e6e6;
        border-radius:var(--ava-radius-md);
        background:#fafbfb;
    }

    .ava-hb-cancel-box small{
        display:block;
        margin-bottom:5px;
        color:#818788;
        font-size:11px;
    }

    .ava-hb-cancel-box strong{
        display:block;
        font-size:17px;
    }

    .ava-hb-cancel-box.is-penalty{
        border-color:#efd5ad;
        background:#fff9ef;
    }

    .ava-hb-action-submit{
        width:100%;
    }

    .ava-hb-booking-state{display:inline-flex;width:max-content;margin-top:5px;padding:4px 8px;border-radius:var(--ava-radius-pill);font-size:11px;font-weight:700}
    .ava-hb-booking-state.is-confirmed{background:var(--ava-success-bg);color:var(--ava-success)}
    .ava-hb-booking-state.is-cancelled{background:var(--ava-danger-bg);color:var(--ava-danger)}

    .ava-hb-payment-lines{display:flex;flex-direction:column;gap:0;border:1px solid #e4e7e7;border-radius:var(--ava-radius-md);overflow:hidden}
    .ava-hb-payment-lines>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid #eceeee;font-size:13px}
    .ava-hb-payment-lines>div:last-child{border-bottom:0}
    .ava-hb-payment-lines .is-discount{color:var(--ava-positive)}
    .ava-hb-payment-lines .is-total{font-size:14px;font-weight:800;background:#fafafa}
    .ava-hb-payment-lines .is-commission{color:#a16420}
    .ava-hb-payment-lines .is-host{color:var(--ava-petrol);font-size:14px;font-weight:800;background:#f2f8f8}

    .ava-hb-status-message{
        margin-bottom:14px;
    }

    @media(max-width:640px){
        .ava-hb-action-form-grid,
        .ava-hb-cancel-summary{
            grid-template-columns:1fr;
        }
    }

    @media(max-width:1000px){
        .ava-hb-app{
            grid-template-columns:310px minmax(0,1fr);
        }

        .ava-hb-summary-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:760px){
        .ava-host-bookings-v9{
            padding:0;
        }

        .ava-hb-app{
            height:auto;
            min-height:100dvh;
            grid-template-columns:1fr;
            border-radius:0;
            border-left:0;
            border-right:0;
        }

        .ava-hb-sidebar{
            max-height:42dvh;
            border-right:0;
            border-bottom:1px solid #e1e5e5;
        }

        .ava-hb-main{
            overflow:visible;
            padding:22px 15px 35px;
        }

        .ava-hb-summary-grid,
        .ava-hb-data-grid,
        .ava-hb-actions,
        .ava-hb-policy{
            grid-template-columns:1fr;
        }

        .ava-hb-mod-grid{
            grid-template-columns:1fr;
        }

        .ava-hb-mod-arrow{
            transform:rotate(90deg);
        }

        .ava-hb-payout{
            grid-template-columns:1fr;
        }
    }
    

/* AVA HOME — HOST PRENOTAZIONI DESKTOP */
@media (min-width:761px){
  body:has(.ava-host-bookings-v9) #main{
    padding:20px clamp(30px,3.4vw,52px) 18px!important;
  }
  .ava-host-bookings-v9{padding:0;background:#fff}
  .ava-hb-app{
    height:calc(100dvh - 132px);
    min-height:590px;
    grid-template-columns:340px minmax(0,1fr);
    border:0;
    border-radius:0;
  }
  .ava-hb-sidebar{
    border-right:1px solid var(--ava-border,#e1e5e5);
    background:#fff;
  }
  .ava-hb-sidebar-head{padding:16px 18px 15px}
  .ava-hb-search .ava-input{
    height:46px!important;
    border:1px solid var(--ava-border-strong,#cfd7d7)!important;
    box-shadow:none!important;
  }
  .ava-hb-list{padding:8px 10px 18px 0}
  .ava-hb-main{padding:20px 0 36px 34px}
  .ava-hb-detail{max-width:1160px}
}



/* AVA HOME — GERARCHIA TITOLI E MODALI PRENOTAZIONI */
.ava-hb-sidebar-head h2,
.ava-hb-hero h2{
  margin:0;
  color:var(--ava-text,#222);
  font-size:clamp(27px,2.25vw,32px)!important;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.025em;
}
.ava-hb-sidebar-head p{margin-top:7px}
.ava-hb-hero-line{align-items:center}
.ava-hb-detail h3{
  margin-top:0!important;
  font-size:18px!important;
  line-height:1.25!important;
}

body > .ava-hb-placeholder-modal{
  padding:clamp(18px,3vw,36px)!important;
}
body > .ava-hb-placeholder-modal > .ava-modal{
  width:min(720px,calc(100vw - 36px))!important;
  max-width:720px!important;
  border-color:var(--ava-border,#e1e5e5)!important;
  border-radius:22px!important;
  box-shadow:0 24px 70px rgba(18,35,37,.22)!important;
}
body > .ava-hb-placeholder-modal .ava-modal-header{
  align-items:flex-start!important;
  padding:20px 22px 18px!important;
}
body > .ava-hb-placeholder-modal .ava-modal-header > div{
  min-width:0;
}
body > .ava-hb-placeholder-modal [data-hb-modal-title]{
  margin:0!important;
  color:var(--ava-text,#222)!important;
  font-family:inherit!important;
  font-size:27px!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
body > .ava-hb-placeholder-modal [data-hb-modal-subtitle]{
  margin:6px 0 0!important;
  color:var(--ava-muted,#777)!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body > .ava-hb-placeholder-modal .ava-icon-btn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid var(--ava-border,#e1e5e5)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#3a4445!important;
  font-size:20px!important;
  line-height:1!important;
  box-shadow:none!important;
}
body > .ava-hb-placeholder-modal .ava-icon-btn:hover{
  border-color:var(--ava-primary-border,#b9cccc)!important;
  background:var(--ava-primary-soft,#f2f8f8)!important;
  color:var(--ava-primary,#285f68)!important;
}
body > .ava-hb-placeholder-modal .ava-modal-body{
  padding:20px 22px 22px!important;
  scrollbar-width:thin;
  scrollbar-color:#cbd5d6 transparent;
}
body > .ava-hb-placeholder-modal .ava-hb-action-form{
  gap:14px;
}
body > .ava-hb-placeholder-modal .ava-hb-availability-note{
  margin-bottom:0!important;
  padding:13px 14px;
  border:1px solid #dce8e8;
  border-radius:14px;
  background:#f6fafa;
  color:#5f6b6c;
  font-size:12px;
  line-height:1.55;
}
body > .ava-hb-placeholder-modal .ava-hb-availability-note strong{
  display:block;
  margin-bottom:3px;
  color:var(--ava-primary,#285f68);
  font-size:12px;
}
body > .ava-hb-placeholder-modal .ava-hb-field .ava-input{
  height:50px!important;
  padding:0 14px!important;
  border:1px solid #dce3e3!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#2a3031!important;
  font-size:15px!important;
  box-shadow:none!important;
}
body > .ava-hb-placeholder-modal .ava-hb-field .ava-input:focus{
  border-color:var(--ava-primary,#285f68)!important;
  box-shadow:0 0 0 3px rgba(40,95,104,.08)!important;
}
body > .ava-hb-placeholder-modal .ava-hb-guests{
  border-radius:16px;
}
body > .ava-hb-placeholder-modal .ava-hb-counter{
  min-height:64px;
  padding:10px 14px;
}
body > .ava-hb-placeholder-modal .ava-hb-counter-controls button{
  width:34px;
  height:34px;
}
body > .ava-hb-placeholder-modal .ava-hb-quote{
  padding:14px;
  border-radius:14px;
}
body > .ava-hb-placeholder-modal .ava-hb-action-submit{
  min-height:48px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
body > .ava-hb-placeholder-modal .ava-btn--primary{
  background:var(--ava-primary,#285f68)!important;
  color:#fff!important;
}
body > .ava-hb-placeholder-modal .ava-btn--primary:hover{
  background:var(--ava-primary-hover,#204f57)!important;
}
body > .ava-hb-placeholder-modal .ava-btn--danger{
  background:#a73c3c!important;
  color:#fff!important;
}
body > .ava-hb-placeholder-modal .ava-btn--danger:hover{
  background:#8f3030!important;
}
.ava-hb-cancel-confirm{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:13px 14px;
  border:1px solid #eadede;
  border-radius:14px;
  background:#fffafa;
  color:#535b5c;
  font-size:12px;
  line-height:1.5;
}
.ava-hb-cancel-checkbox{
  width:17px!important;
  height:17px!important;
  margin:1px 0 0!important;
  accent-color:#a73c3c;
  flex:0 0 auto;
}

/* Flatpickr del popup: sopra la modale e ancorato al campo attivo. */
.flatpickr-calendar.ava-hb-date-calendar{
  z-index:2147483500!important;
  border:1px solid #dce4e4!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(18,35,37,.22)!important;
  overflow:hidden!important;
}
.flatpickr-calendar.ava-hb-date-calendar:before,
.flatpickr-calendar.ava-hb-date-calendar:after{
  display:none!important;
}
.flatpickr-calendar.ava-hb-date-calendar .flatpickr-months{
  padding-top:7px!important;
}
.flatpickr-calendar.ava-hb-date-calendar .flatpickr-day.ava-hb-occupied,
.flatpickr-calendar.ava-hb-date-calendar .flatpickr-day.flatpickr-disabled{
  background:#f1f3f3!important;
  color:#a4abad!important;
  text-decoration:line-through;
  cursor:not-allowed!important;
}
.flatpickr-calendar.ava-hb-date-calendar .flatpickr-day.ava-hb-current-stay{
  background:var(--ava-primary-soft,#f2f8f8)!important;
  color:var(--ava-primary,#285f68)!important;
  box-shadow:inset 0 0 0 1px var(--ava-primary-border,#b9cccc);
}
.flatpickr-calendar.ava-hb-date-calendar .flatpickr-day.selected{
  background:var(--ava-primary,#285f68)!important;
  color:#fff!important;
  box-shadow:none!important;
}
@media(max-width:700px){
  body > .ava-hb-placeholder-modal{
    padding:10px!important;
    align-items:flex-end!important;
  }
  body > .ava-hb-placeholder-modal > .ava-modal{
    width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:20px 20px 14px 14px!important;
  }
  body > .ava-hb-placeholder-modal [data-hb-modal-title]{
    font-size:24px!important;
  }
}
