/* Shared campaign presentation, scoped to all four villa themes. */
.property-grid .img-holder,.property-grid figure{position:relative}
.vc-stamp{position:absolute!important;right:16px;top:18px;z-index:4;width:92px;height:92px;border-radius:50%;background:#e52e42;color:#fff!important;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);box-shadow:0 5px 18px #68071645;border:3px solid #fff;outline:2px dashed #e52e42;outline-offset:3px;pointer-events:none;text-align:center;line-height:1.1;font-family:inherit}
.vc-stamp strong{font-size:29px;font-weight:800;color:#fff!important;letter-spacing:-1px}
.vc-stamp>span{font-size:12px;font-weight:800;letter-spacing:1px;margin-top:3px}
.vc-stamp small{font-size:8px;font-weight:700;margin-top:4px;letter-spacing:.3px}

/* Compact listing footer: one price column and the existing theme actions. */
.property-grid .villa-price-box{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px;min-height:98px}
.property-grid .villa-price-box>.vc-list-price{flex:1 1 105px;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:68px;margin:0!important;float:none!important;text-align:left}
.property-grid .villa-price-box>.btn{flex:0 0 auto;margin-top:0!important;margin-bottom:0!important}
.vc-list-price>b,.vc-list-price .vc-card-price{float:none!important;width:auto!important;display:flex!important;align-items:flex-start;flex-direction:column;gap:3px;line-height:1.2}
.vc-list-price del{display:block;color:#858c96!important;font-size:13px!important;font-weight:400!important;text-decoration-thickness:1px}
.villa-price .vc-list-price g{display:block;font-size:21px!important;color:#cf2840!important;font-weight:700!important;line-height:1.2}
.vc-list-price .vc-list-label{display:block!important;float:none!important;color:#be3045!important;font-size:11px!important;line-height:16px!important;min-height:16px;margin-top:5px;font-weight:500}
.vc-list-label i{font-size:10px}
/* Center cards even when only one or two offers exist. */
#villa-campaigns.vc-offers{display:flex!important;flex-wrap:wrap;justify-content:center!important;align-items:stretch;gap:16px;padding:22px 16px;margin:0 0 16px;width:100%;box-sizing:border-box;scroll-margin-top:110px}
#villa-campaigns .vc-offer{flex:0 1 300px;max-width:100%;box-sizing:border-box;border:1px solid #f4d1d6;border-radius:12px;padding:20px;background:#fffafb;text-align:center;box-shadow:none}
#villa-campaigns .vc-offer-top{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:13px}
.vc-offer-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fee6e9;color:#d9233d;border-radius:11px;font-size:19px}
.vc-offer-rate{font-size:31px!important;font-weight:800;color:#d9233d!important;line-height:1;letter-spacing:-.5px}
.vc-offer-rate small{display:block;font-size:9px;font-weight:700;letter-spacing:1px;margin-top:5px}
#villa-campaigns .vc-offer h3{font-size:16px!important;font-weight:700!important;line-height:1.4!important;margin:0 0 11px!important;color:#26354a!important;text-align:center!important;border:0!important;padding:0!important}
#villa-campaigns .vc-offer-copy{font-size:12px!important;line-height:1.8!important;color:#526071!important;margin:0!important;text-align:center!important}
#villa-campaigns .vc-conditions{flex-basis:100%;font-size:11px!important;line-height:1.5!important;text-align:center!important;color:#78808b!important;margin:0!important;padding-top:1px}
.vc-campaign-link{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #f0cbd1;background:#fff5f6;color:#c02a40!important;border-radius:7px;padding:9px 12px;margin:0 0 10px;font-size:13px;font-weight:600;text-decoration:none!important}
.vc-campaign-link:hover,.vc-campaign-link:focus{background:#ffe8ed;border-color:#dd8292}
/* Compact reservation summary, protected from theme typography. */
.villa-campaign-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #efd4d9;border-radius:10px;overflow:hidden;background:#fffafb;margin:0 0 18px;text-align:left;color:#26354a;box-shadow:none}
.vc-summary-head{display:flex;align-items:center;gap:12px;padding:16px;min-width:0;background:none}
.vc-summary-rate{flex:0 0 auto;min-width:70px;box-sizing:border-box;padding:12px 9px;border-radius:9px;background:#e72d47;color:#fff!important;font-size:22px!important;font-weight:750;line-height:1.2;white-space:nowrap;text-align:center}
.vc-summary-rate small{display:block!important;font-size:8px!important;letter-spacing:.8px;margin:4px 0 0!important;color:#fff!important;line-height:1.2!important}
.vc-summary-description{min-width:0}
.vc-summary-description>strong{display:block!important;font-size:14px!important;line-height:1.5!important;color:#26354a!important;overflow-wrap:anywhere}
.vc-summary-saving{display:block!important;background:none;color:#187144!important;border:0;border-radius:0;font-size:12px!important;font-weight:600!important;padding:0!important;margin:4px 0 0!important;float:none!important;line-height:1.4!important}
.vc-summary-totals{display:flex;align-items:center;gap:20px;padding:16px;text-align:left}
.vc-summary-totals>div:last-child{text-align:right}
.vc-summary-totals small{display:block!important;color:#78808b;font-size:10px!important;line-height:1.4!important;margin-bottom:4px}
.vc-summary-totals del{color:#858c95;font-size:15px!important;text-decoration-thickness:1px;white-space:nowrap}
.vc-summary-totals strong{color:#cf2840!important;font-size:24px!important;line-height:1.2!important;white-space:nowrap}
.vc-summary-note{grid-column:1/-1;display:block;margin:0!important;padding:0 16px 10px;color:#78808b;font-size:10px!important;line-height:1.5!important}
.villa-campaign-summary details{grid-column:1/-1;border-top:1px solid #f0e6e8;padding:9px 16px;font-size:11px;line-height:1.6;background:#fff}
.villa-campaign-summary summary{cursor:pointer;color:#526074;font-weight:500}
.villa-campaign-summary details div{padding-top:5px}
.vc-day-offer{display:flex;flex-direction:column;align-items:center;background:#fff0f1;border:1px solid #f5c4cb;border-radius:4px;padding:3px 1px!important;margin-top:3px;line-height:1.2!important;white-space:nowrap}
.vc-day-offer del{font-size:9px!important;line-height:1.3!important;color:#937b80!important;text-decoration:line-through}
.vc-day-offer strong{font-size:10px!important;line-height:1.3!important;color:#b61e35!important;font-weight:700}
.caleran-container .caleran-day,.caleran-container-mobile .caleran-day{min-height:65px!important;height:auto!important}
.caleran-container .caleran-day .vc-day-offer,.caleran-container-mobile .caleran-day .vc-day-offer{height:auto!important;min-height:0!important;width:100%;display:flex!important;flex-direction:column!important}
@media(max-width:575px){#villa-campaigns.vc-offers{padding:16px 10px;gap:12px}#villa-campaigns .vc-offer{flex-basis:100%;max-width:350px;padding:17px}.villa-campaign-summary{grid-template-columns:1fr}.vc-summary-head{padding:13px}.vc-summary-totals{padding:0 13px 12px;justify-content:space-between}.vc-summary-totals strong{font-size:23px!important}.vc-summary-note{padding:0 13px 10px}.vc-stamp{width:78px;height:78px;right:13px;top:14px}.vc-stamp strong{font-size:25px}}
