:root{
    --vrd-gold:#C8A976;--vrd-gmd:#DECBAC;--vrd-gpl:#EDE3D7;
    --vrd-brn:#4c4328;--vrd-drk:#2e2810;--vrd-brd:#d4c4a8;
}
#vrd-widget{
    font-family:'Open Sans',sans-serif;
    color:var(--vrd-brn);
    max-width:100%;
}

@media(min-width:768px){
    #vrd-widget{
        max-width:900px;
        margin:0 auto;
    }
}

.vrd-villa-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.vrd-vcard{
    border:2px solid var(--vrd-brd);
    border-radius:7px;
    padding:14px 12px;
    cursor:pointer;
    background:#fff;
    transition:all .2s;
    text-align:center;
    user-select:none;
}
.vrd-vcard:hover{border-color:var(--vrd-gold);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08);}
.vrd-vcard.sel{border-color:var(--vrd-drk);background:var(--vrd-gpl);}
.vrd-vcard h4{font-size:.88rem;font-weight:700;margin:6px 0 2px;color:var(--vrd-drk);}
.vrd-vcard .vc-sub{font-size:.70rem;color:#888;}
.vrd-vcard .vc-from{font-size:.75rem;color:var(--vrd-brn);font-weight:600;margin-top:4px;}

/* QUESTION BOX */
.vrd-question{
    background:#fff;border:2px solid var(--vrd-gold);border-radius:8px;padding:24px;
    text-align:center;display:none;margin-bottom:20px;
}
.vrd-question h3{font-size:1.1rem;color:var(--vrd-drk);margin-bottom:20px;}
.vrd-btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.vrd-btn{
    padding:12px 24px;border:none;border-radius:6px;font-size:.85rem;font-weight:700;
    cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1.2px;
}
.vrd-btn-primary{background:var(--vrd-gold);color:var(--vrd-drk);}
.vrd-btn-primary:hover{background:#b9944e;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15);}
.vrd-btn-secondary{background:#f0f0f0;color:#666;border:2px solid #ddd;}
.vrd-btn-secondary:hover{background:#e0e0e0;border-color:var(--vrd-gold);}

/* POPUP */
.vrd-popup{
    display:none;position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:center;
}
.vrd-popup-inner{
    background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;
    overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.3);
}
.vrd-popup-head{
    background:var(--vrd-drk);color:var(--vrd-gold);padding:16px 20px;
    display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0;
}
.vrd-popup-head h3{font-size:1rem;margin:0;}
.vrd-popup-close{
    background:none;border:none;color:var(--vrd-gold);font-size:1.5rem;
    cursor:pointer;line-height:1;padding:0;width:30px;height:30px;
}
.vrd-popup-body{padding:16px;}

.vrd-pop-month-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.vrd-month-arrow{
    background:var(--vrd-gold);color:#fff;border:none;border-radius:50%;
    width:32px;height:32px;font-size:1.4rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:all .2s;
    flex-shrink:0;
}
.vrd-month-arrow:hover{background:#b9944e;transform:scale(1.1);}
.vrd-month-arrow:disabled{background:#ddd;color:#999;cursor:not-allowed;opacity:.5;}

.vrd-pop-month-row{display:flex;flex-wrap:wrap;gap:6px;flex:1;}
.vrd-pop-mtab{
    flex:1 1 auto;min-width:55px;padding:8px 6px;border:none;border-radius:5px;
    background:#f5f5f5;color:#888;font-size:.75rem;font-weight:700;
    letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:all .2s;
}
.vrd-pop-mtab:hover{background:var(--vrd-gpl);color:var(--vrd-gold);}
.vrd-pop-mtab.active{background:var(--vrd-gold);color:var(--vrd-drk);}

.vrd-day-heads{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px;}
.vrd-dh{text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#aaa;padding:4px 0;}
.vrd-dh .wk{color:var(--vrd-gold);}

.vrd-pop-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.vrd-dc{
    aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;
    font-size:.85rem;font-weight:500;cursor:default;transition:all .15s;user-select:none;
}
.vrd-dc.empty{background:transparent!important;}
.vrd-dc.past,.vrd-dc.oos{color:#d0d0d0;background:#fafafa;font-size:.75rem;}
.vrd-dc.locked{opacity:.25;cursor:not-allowed;}

.vrd-dc.weekend{
    background:var(--vrd-gold);color:#fff;cursor:pointer;font-weight:700;
}
.vrd-dc.weekend:hover{
    transform:scale(1.15);box-shadow:0 4px 12px rgba(200,169,118,.4);z-index:10;
}

.vrd-dc.normal{
    background:var(--vrd-gpl);color:var(--vrd-drk);cursor:pointer;
}
.vrd-dc.normal:hover{
    transform:scale(1.15);box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10;
    background:var(--vrd-gmd);
}

/* TABELLA PREZZI */
.vrd-price-table{
    display:none;background:#fff;border:1px solid var(--vrd-brd);
    border-radius:8px;padding:20px;margin-bottom:20px;
}
.vrd-price-table h3{font-size:1.1rem;color:var(--vrd-drk);margin-bottom:16px;text-align:center;}

.vrd-price-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:12px;
}
.vrd-price-card{
    background:var(--vrd-gpl);
    border:1px solid var(--vrd-brd);
    border-radius:6px;
    padding:12px;
    text-align:center;
    transition:all .2s;
}
.vrd-price-card:hover{
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(0,0,0,.1);
    border-color:var(--vrd-gold);
}
.vrd-pc-periodo{
    font-size:.72rem;
    color:#666;
    margin-bottom:6px;
    font-weight:600;
}
.vrd-pc-prezzo{
    font-size:1.3rem;
    color:var(--vrd-drk);
    font-weight:700;
    margin:8px 0;
}
.vrd-pc-prezzo span{
    font-size:.7rem;
    color:#888;
    font-weight:400;
}
.vrd-pc-note{
    font-size:.68rem;
    color:#888;
    line-height:1.3;
}

/* Summary */
.vrd-summary{
    background:#fff;
    border:1px solid var(--vrd-brd);
    border-radius:7px;
    padding:16px 15px;
    margin-top:16px;
    display:none;
}
.vrd-summary.vis{display:block;}
.vrd-sum-title{
    font-size:.95rem;
    font-weight:700;
    color:var(--vrd-drk);
    margin-bottom:12px;
    padding-bottom:9px;
    border-bottom:2px solid var(--vrd-gpl);
}
.vrd-sr{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding:7px 0;
    border-bottom:1px solid var(--vrd-gpl);
    font-size:.80rem;
    gap:10px;
}
.vrd-sr .lbl{color:#777;flex-shrink:0;}
.vrd-sr .val{font-weight:600;text-align:right;}
.vrd-sr.tot{
    border-top:2px solid var(--vrd-gold);
    border-bottom:none;
    margin-top:5px;
    padding-top:10px;
    font-weight:700;
    font-size:.92rem;
    color:var(--vrd-drk);
}

.vrd-tog-wrap{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.vrd-tog{
    width:34px;
    height:17px;
    background:#ccc;
    border-radius:8.5px;
    position:relative;
    cursor:pointer;
    transition:background .2s;
    flex-shrink:0;
}
.vrd-tog.on{background:var(--vrd-gold);}
.vrd-tog::after{
    content:'';
    position:absolute;
    width:13px;
    height:13px;
    background:#fff;
    border-radius:50%;
    top:2px;
    left:2px;
    transition:left .2s;
}
.vrd-tog.on::after{left:19px;}

.vrd-gc{display:flex;align-items:center;gap:7px;margin-top:4px;}
.vrd-gcb{
    width:23px;
    height:23px;
    border-radius:50%;
    border:1.5px solid var(--vrd-gold);
    background:#fff;
    color:var(--vrd-drk);
    font-size:.85rem;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    transition:all .18s;
}
.vrd-gcb:hover{background:var(--vrd-gold);color:#fff;}

.vrd-note-area{
    width:100%;
    margin-top:7px;
    padding:8px 11px;
    border:1.5px solid var(--vrd-brd);
    border-radius:5px;
    font-family:'Open Sans',sans-serif;
    font-size:.78rem;
    color:var(--vrd-drk);
    resize:vertical;
    min-height:60px;
    transition:border .18s;
}
.vrd-note-area:focus{outline:none;border-color:var(--vrd-gold);}

.vrd-cta{
    display:block;
    width:100%;
    border:none;
    border-radius:5px;
    padding:11px;
    font-family:'Open Sans',sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:1.3px;
    text-transform:uppercase;
    cursor:pointer;
    text-align:center;
    text-decoration:none;
    margin-top:9px;
    transition:all .18s;
}
.vrd-cta.primary{background:var(--vrd-gold);color:var(--vrd-drk);}
.vrd-cta.primary:hover{background:#b9944e;color:#fff;}
.vrd-cta.secondary{background:transparent;border:1.5px solid var(--vrd-gold);color:var(--vrd-drk);}
.vrd-cta.secondary:hover{background:var(--vrd-gpl);}
.vrd-small{font-size:.68rem;color:#999;line-height:1.5;margin-top:9px;}

@media(max-width:480px){
    .vrd-villa-row{grid-template-columns:1fr;}
    .vrd-btn-row{flex-direction:column;}
    .vrd-btn{width:100%;}
    .vrd-vcard{padding:11px 8px;}
    .vrd-vcard h4{font-size:.80rem;}
    .vrd-price-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
}