
:root{
  --vml-navy:#071d3d;--vml-navy2:#102b50;--vml-orange:#f15a32;--vml-pink:#df3f82;
  --vml-bg:#fff;--vml-card:#fff;--vml-border:#dfe5ec;--vml-text:#16243a;--vml-muted:#68788c;
}
.vml-page,.vml-page *,.vml-page input,.vml-page select,.vml-page textarea,.vml-page button{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;box-sizing:border-box
}
.vml-page{background:#fff;color:var(--vml-text);padding:24px 0 64px}
.vml-wrap{width:min(1480px,calc(100% - 30px));margin:auto}
.vml-frame{border:1px solid #dfe5ec;border-radius:28px;box-shadow:0 28px 85px rgba(15,37,64,.16);overflow:visible;background:#fff}

/* HERO - full width visual with blurred side fill */
.vml-hero{position:relative;min-height:640px;border-radius:28px 28px 0 0;overflow:hidden;background:#0a1f3a;color:#fff}
.vml-hero-blur{position:absolute;inset:-34px;background-size:cover;background-position:center;filter:blur(28px) saturate(1.18) brightness(.72);transform:scale(1.08);opacity:.9}
.vml-hero-photo{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center}
.vml-hero-overlay{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(4,20,45,.87) 0%,rgba(4,20,45,.67) 31%,rgba(4,20,45,.18) 58%,rgba(4,20,45,.15) 100%),
 linear-gradient(0deg,rgba(4,20,45,.5),transparent 48%)}
.vml-hero-content{position:relative;z-index:2;min-height:640px;padding:78px 72px 34px;display:flex;flex-direction:column;justify-content:flex-end}
.vml-hero-copy{max-width:760px}
.vml-badges{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.vml-verified,.vml-rating-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px}
.vml-verified{background:#fff;color:#214a72;padding:9px 13px;font-size:13px}
.vml-verified svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.vml-rating-badge{padding:8px 12px;background:rgba(6,27,55,.62);border:1px solid rgba(255,255,255,.18)}
.vml-rating-badge small{color:#dbe4ef}.vml-stars{color:#ffac24;letter-spacing:1px}
.vml-hero h1{color:#fff!important;font-size:clamp(52px,5.7vw,86px);line-height:.96;margin:0 0 18px;letter-spacing:-.03em;font-weight:700}
.vml-tagline{font-size:22px;color:#fff!important;margin:0 0 22px;max-width:680px}
.vml-trust{display:flex;gap:12px;flex-wrap:wrap}
.vml-trust span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:600}
.vml-trust svg{width:16px;height:16px;fill:none;stroke:#ff8b62;stroke-width:1.8}
.vml-hero-thumbs{display:flex;gap:9px;margin-top:34px;overflow-x:auto;scrollbar-width:none}.vml-hero-thumbs::-webkit-scrollbar{display:none}
.vml-thumb{width:122px;height:74px;flex:0 0 auto;padding:0;border:2px solid rgba(255,255,255,.58);border-radius:11px;overflow:hidden;background:#fff;cursor:pointer}
.vml-thumb.is-active,.vml-thumb:hover{border-color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.22)}
.vml-thumb img{width:100%;height:100%;object-fit:cover}

/* Quick contact strip */
.vml-quickbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(230px,1.12fr);gap:12px;padding:14px 18px;background:#fff;border-top:1px solid #e2e7ed;border-bottom:1px solid #e2e7ed;box-shadow:0 14px 30px rgba(15,37,64,.08);position:relative;z-index:4}
.vml-quick,.vml-quote-jump{min-height:86px;border-radius:14px;text-decoration:none!important}
.vml-quick{display:flex;align-items:center;gap:14px;padding:14px 17px;border:1px solid #e5e9ef;background:#fff;color:var(--vml-text)!important}
.vml-quick:hover{border-color:#cad5e1;box-shadow:0 8px 18px rgba(18,40,68,.07)}
.vml-quick-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;color:var(--vml-navy);background:#eff4f9}
.vml-quick-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9}
.vml-quick strong,.vml-quick small,.vml-quote-jump strong,.vml-quote-jump small{display:block}.vml-quick strong{font-size:16px}.vml-quick small{color:var(--vml-muted);font-size:12px;margin-top:3px}
.vml-quote-jump{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 20px;color:#fff!important;background:linear-gradient(135deg,var(--vml-orange),var(--vml-pink));box-shadow:0 10px 25px rgba(223,63,130,.2)}
.vml-quote-jump .vml-quote-icon{background:rgba(255,255,255,.16);color:#fff}.vml-quote-jump strong{font-size:17px}.vml-quote-jump small{font-size:12px;margin-top:2px;color:#fff}

/* Main */
.vml-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;padding:30px 30px 22px;align-items:start}
.vml-main,.vml-sidebar{display:flex;flex-direction:column;gap:20px}
.vml-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:0 4px;color:#7a8796;font-size:12px}
.vml-breadcrumbs a{color:#5a7190;text-decoration:none}.vml-breadcrumbs strong{color:#263b57}
.vml-card,.vml-side-card{background:#fff;border:1px solid var(--vml-border);border-radius:18px;box-shadow:0 16px 42px rgba(19,42,70,.09)}
.vml-card{padding:30px}.vml-side-card{padding:22px}
.vml-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}
.vml-eyebrow,.vml-side-kicker{display:block;color:var(--vml-orange);font-size:11px;font-weight:800;letter-spacing:.08em}
.vml-section-title h2,.vml-side-card h3{margin:3px 0 0!important;color:var(--vml-navy)!important;font-weight:700!important}
.vml-section-title h2{font-size:29px}.vml-side-card h3{font-size:21px}.vml-section-note{font-size:12px;color:var(--vml-muted)}

/* About / stats */
.vml-about-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:26px}.vml-description{color:#526175;font-size:15px;line-height:1.82}.vml-description p{margin:0 0 12px}
.vml-stats{display:grid;gap:10px}.vml-stat{padding:17px;border:1px solid #e6ebf1;border-radius:14px;background:linear-gradient(180deg,#fff,#fafcff)}
.vml-stat strong{display:block;color:var(--vml-orange);font-size:30px;line-height:1;margin-bottom:7px}.vml-stat span{font-size:12px;color:var(--vml-muted)}

/* info table */
.vml-info-table{border:1px solid #e7ebf0;border-radius:14px;overflow:hidden}.vml-info-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid #edf1f4}.vml-info-row:last-child{border-bottom:0}
.vml-info-row span,.vml-info-row strong{padding:13px 16px}.vml-info-row span{background:#f7f9fc;color:#69798d}.vml-info-row strong{color:#20344f}.vml-info-row a{color:#1d5f9e;text-decoration:none}

/* Services icons */
.vml-service-slider{display:grid;grid-auto-flow:column;grid-auto-columns:176px;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px}
.vml-service{min-height:150px;scroll-snap-align:start;border:1px solid #e5eaf0;border-radius:15px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:#fff}
.vml-service:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,37,64,.1)}
.vml-service-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff2ed;color:var(--vml-orange)}
.vml-service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8}.vml-service strong{font-size:14px;color:var(--vml-navy)}.vml-service small{font-size:10px;color:var(--vml-muted)}

/* Areas */
.vml-chips{display:flex;flex-wrap:wrap;gap:8px}.vml-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid #dfe6ee;border-radius:999px;background:#f6f8fb;color:#344a64;font-size:12px}
.vml-chips svg{width:14px;height:14px;fill:none;stroke:var(--vml-orange);stroke-width:1.9}.vml-county-chips{margin-bottom:18px}.vml-area-groups{border-top:1px solid #edf1f4}
.vml-area-groups details{border-bottom:1px solid #edf1f4}.vml-area-groups summary{list-style:none;cursor:pointer;min-height:55px;display:flex;align-items:center;justify-content:space-between;color:var(--vml-navy);font-size:14px;font-weight:700}
.vml-area-groups summary::-webkit-details-marker{display:none}.vml-area-groups summary b{padding:5px 9px;border-radius:999px;background:#eef3f8;color:#4e6580;font-size:11px}.vml-child-chips{padding:0 0 16px}

/* Reviews/gallery */
.vml-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vml-reviews article{border:1px solid #e6ebf0;border-radius:14px;padding:16px}.vml-review-head{display:flex;gap:10px;align-items:center}
.vml-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--vml-navy);color:#fff;font-weight:700}.vml-review-head strong{display:block;font-size:13px}.vml-review-head .vml-stars{display:block;font-size:10px}.vml-reviews p{font-size:12px;line-height:1.6;color:#5b697a;margin:13px 0 0}
.vml-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vml-gallery a{aspect-ratio:4/3;overflow:hidden;border-radius:13px}.vml-gallery img{width:100%;height:100%;object-fit:cover;transition:.25s}.vml-gallery a:hover img{transform:scale(1.045)}

/* Main map */
.vml-main-map{height:360px;border-radius:15px;overflow:hidden;border:1px solid #e5eaf0}.vml-main-map iframe{width:100%;height:100%;border:0}

/* Sidebar */
.vml-sidebar>*{box-shadow:0 18px 45px rgba(14,35,62,.13)!important}
.vml-contact-list{display:grid;gap:4px}.vml-contact-list a,.vml-contact-row{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #eef1f4;color:var(--vml-text)!important;text-decoration:none!important}
.vml-contact-list i{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#fff2ed;color:var(--vml-orange);font-style:normal}.vml-contact-list i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.vml-contact-list small,.vml-contact-list strong{display:block}.vml-contact-list small{font-size:10px;color:var(--vml-muted)}.vml-contact-list strong{font-size:13px;overflow-wrap:anywhere}
.vml-hours{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f4;font-size:12px}.vml-hours span{color:#5f6d7c}.vml-hours b{color:var(--vml-navy);white-space:nowrap}
.vml-quote-card{position:sticky;top:90px;border-radius:18px;overflow:hidden;background:var(--vml-navy);box-shadow:0 22px 52px rgba(4,25,55,.2)!important}.vml-quote-head{padding:22px 22px 14px}.vml-quote-head>span{color:#ff9f7b;font-size:10px;font-weight:800;letter-spacing:.08em}.vml-quote-head h3{color:#fff!important;font-size:24px;margin:4px 0!important}.vml-quote-head p{color:#cbd7e5;font-size:12px;margin:0}
.vml-quote-form{display:grid;gap:10px;padding:0 18px 19px}.vml-quote-form label>span{display:block;color:#cbd7e5;font-size:10px;margin:0 0 5px 2px}.vml-quote-form input,.vml-quote-form select,.vml-quote-form textarea{width:100%;border:0;border-radius:9px;padding:11px 12px;background:#fff;color:#243346;font-size:13px}
.vml-quote-form button{min-height:49px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--vml-orange),var(--vml-pink));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px}.vml-quote-form button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.vml-privacy-note{color:#aebed0;text-align:center;font-size:9px}.vml-hp{position:absolute!important;left:-9999px!important}.vml-form-status{font-size:11px;text-align:center}.vml-form-status.is-success{color:#83e9a5}.vml-form-status.is-error{color:#ff9c9c}

/* Similar */
.vml-similar{padding:10px 30px 34px}.vml-similar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vml-similar-card{display:block;border:1px solid #dfe5ec;border-radius:16px;overflow:hidden;background:#fff;color:var(--vml-text)!important;text-decoration:none!important;box-shadow:0 14px 34px rgba(19,42,70,.09);transition:.2s}
.vml-similar-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(19,42,70,.14)}.vml-similar-img{position:relative;aspect-ratio:16/10;background:#eef2f5}.vml-similar-img img{width:100%;height:100%;object-fit:cover}.vml-similar-badge{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(7,29,61,.9);color:#fff;font-size:10px}
.vml-similar-body{padding:15px}.vml-similar-body small{color:var(--vml-orange);font-weight:700}.vml-similar-body h3{margin:5px 0 10px;color:var(--vml-navy);font-size:19px}.vml-similar-body>span{font-size:12px;color:#53708f}

@media(max-width:1100px){.vml-layout{grid-template-columns:minmax(0,1fr) 320px}.vml-hero-content{padding-inline:46px}}
@media(max-width:900px){
 .vml-wrap{width:min(100% - 18px,1480px)}.vml-layout{grid-template-columns:1fr}.vml-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vml-quote-card{position:static}
 .vml-quickbar{grid-template-columns:repeat(2,minmax(0,1fr))}.vml-about-grid{grid-template-columns:1fr}.vml-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .vml-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}.vml-similar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .vml-page{padding-top:8px}.vml-wrap{width:calc(100% - 10px)}.vml-frame{border-radius:18px}.vml-hero{min-height:560px;border-radius:18px 18px 0 0}.vml-hero-content{min-height:560px;padding:38px 20px 20px}
 .vml-hero h1{font-size:44px}.vml-tagline{font-size:17px}.vml-rating-badge{display:none}.vml-thumb{width:94px;height:58px}.vml-quickbar{grid-template-columns:1fr;padding:10px}.vml-layout{padding:14px 10px 18px}
 .vml-card{padding:19px}.vml-section-title h2{font-size:24px}.vml-info-row{grid-template-columns:1fr}.vml-info-row span{padding-bottom:4px}.vml-info-row strong{padding-top:4px}.vml-stats{grid-template-columns:1fr}.vml-reviews{grid-template-columns:1fr}.vml-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vml-sidebar{display:flex}.vml-main-map{height:280px}.vml-similar{padding:8px 10px 24px}.vml-similar-grid{grid-template-columns:1fr}
}


/* =========================================================
   v0.4.0 — Full-width hero + improved coverage/info/map
   ========================================================= */

/* Full-width hero shell. Blur lives outside boxed content. */
.vml-hero-shell{
    position:relative;
    width:100%;
    overflow:hidden;
    margin:0 0 0;
    background:#071d3d;
}

.vml-hero-bleed{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#081f3c 0%,#0e2c51 50%,#081f3c 100%);
}

.vml-hero-wrap{
    position:relative;
    z-index:1;
    width:min(1480px,calc(100% - 30px));
}

.vml-hero{
    border-radius:0 !important;
    min-height:690px !important;
    box-shadow:none !important;
}

.vml-hero-content{
    min-height:690px !important;
}

.vml-hero-blur{
    inset:-45px !important;
    filter:blur(34px) saturate(1.15) brightness(.72) !important;
    transform:scale(1.12) !important;
}

.vml-hero-photo{
    background-size:contain !important;
    background-position:center !important;
}

/* boxed page starts under hero */
.vml-frame{
    margin-top:0 !important;
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
}

/* Counties first, bold 3-column grid */
.vml-county-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.vml-county-box{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:14px 16px;
    border:1px solid #dfe6ed;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,37,64,.06);
}

.vml-county-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#fff2ed;
    color:var(--vml-orange);
}

.vml-county-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.vml-county-box strong{
    color:var(--vml-navy);
    font-size:16px;
    font-weight:800;
    letter-spacing:.01em;
}

.vml-county-more{
    margin-top:12px;
}

.vml-show-more-counties{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    min-height:42px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,var(--vml-orange),var(--vml-pink));
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(223,63,130,.18);
}

.vml-areas-divider{
    height:1px;
    background:#e8edf2;
    margin:28px 0 24px;
}

.vml-areas-title{
    margin-bottom:14px !important;
}

/* Better information table */
.vml-info-card{
    overflow:visible;
}

.vml-info-panel{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 28px;
    padding:10px 18px;
    border:1px solid #dfe5ec;
    border-radius:18px;
    background:linear-gradient(180deg,#f9fbfd,#f5f8fb);
    box-shadow:0 18px 34px rgba(15,37,64,.10);
}

.vml-info-row{
    display:grid !important;
    grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr) !important;
    align-items:center;
    min-height:56px;
    border-bottom:1px solid #dfe5ec !important;
    background:transparent !important;
}

.vml-info-row:nth-last-child(-n+2){
    border-bottom:0 !important;
}

.vml-info-label{
    padding:12px 0 !important;
    background:transparent !important;
    color:#55667b !important;
    font-weight:600;
}

.vml-info-value{
    padding:12px 0 !important;
    color:var(--vml-navy) !important;
    font-size:15px;
    font-weight:800 !important;
}

/* Ensure main map remains prominent */
.vml-main-map{
    display:block !important;
    min-height:420px !important;
    height:420px !important;
    border-radius:18px !important;
    border:1px solid #dfe5ec !important;
    overflow:hidden !important;
    box-shadow:0 16px 36px rgba(15,37,64,.10);
}

.vml-main-map iframe{
    display:block !important;
    width:100% !important;
    height:100% !important;
}

/* responsive */
@media(max-width:900px){
    .vml-county-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .vml-info-panel{
        grid-template-columns:1fr;
    }

    .vml-info-row:nth-last-child(-n+2){
        border-bottom:1px solid #dfe5ec !important;
    }

    .vml-info-row:last-child{
        border-bottom:0 !important;
    }
}

@media(max-width:640px){
    .vml-hero-wrap{
        width:100%;
    }

    .vml-hero{
        min-height:600px !important;
    }

    .vml-hero-content{
        min-height:600px !important;
    }

    .vml-county-grid{
        grid-template-columns:1fr;
    }

    .vml-info-row{
        grid-template-columns:1fr !important;
        gap:2px;
        padding:10px 0;
    }

    .vml-info-label,
    .vml-info-value{
        padding:3px 0 !important;
    }

    .vml-main-map{
        min-height:320px !important;
        height:320px !important;
    }
}


/* =========================================================
   v0.5.0 — exact hero structure / complete info / native map
   ========================================================= */

/* HERO: blurred full-width background, clear full image in the center */
.vml-hero-shell{
    position:relative !important;
    width:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#071d3d !important;
}

.vml-hero-blur-bg{
    position:absolute !important;
    inset:-48px !important;
    background-image:var(--vml-blur) !important;
    background-size:cover !important;
    background-position:center !important;
    filter:blur(38px) saturate(1.15) brightness(.68) !important;
    transform:scale(1.1) !important;
    opacity:.98 !important;
}

.vml-hero-clear{
    position:relative !important;
    z-index:2 !important;
    width:min(1280px,100%) !important;
    margin:0 auto !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#071d3d !important;
    box-shadow:0 0 52px rgba(0,0,0,.18) !important;
}

.vml-hero-main-image{
    position:relative !important;
    z-index:0 !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
}

.vml-hero-shell .vml-hero-overlay{
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    background:
      linear-gradient(90deg,rgba(4,20,45,.90) 0%,rgba(4,20,45,.67) 34%,rgba(4,20,45,.17) 66%,rgba(4,20,45,.08) 100%),
      linear-gradient(0deg,rgba(4,20,45,.45),transparent 52%) !important;
    pointer-events:none !important;
}

.vml-hero-shell .vml-hero-content{
    position:absolute !important;
    z-index:3 !important;
    inset:0 !important;
    min-height:0 !important;
    padding:clamp(34px,5vw,72px) clamp(24px,5vw,70px) 30px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
}

/* Override old forced hero heights */
.vml-hero,
.vml-hero-content{
    min-height:0 !important;
}

/* FULL information table, like the original but more polished */
.vml-info-full-table{
    width:min(620px,100%) !important;
    margin:0 auto !important;
    padding:16px 28px !important;
    border:1px solid #dfe5ec !important;
    border-radius:24px !important;
    background:linear-gradient(180deg,#f8fafc,#f2f6fa) !important;
    box-shadow:0 20px 42px rgba(15,37,64,.16) !important;
}

.vml-info-full-row{
    display:grid !important;
    grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr) !important;
    align-items:center !important;
    min-height:54px !important;
    border-bottom:1px solid #cfd7df !important;
}

.vml-info-full-row:last-child{
    border-bottom:0 !important;
}

.vml-info-full-row>span{
    color:#2f4054 !important;
    font-size:14px !important;
    font-weight:500 !important;
}

.vml-info-full-row>strong{
    color:#071d3d !important;
    font-size:15px !important;
    font-weight:800 !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
}

.vml-info-full-row a{
    color:#071d3d !important;
    text-decoration:none !important;
}

.vml-info-full-row em{
    color:#a2acb8 !important;
    font-style:normal !important;
    font-weight:500 !important;
}

/* Native Traveler-data map */
.vml-native-map{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:430px !important;
    overflow:hidden !important;
    border:1px solid #d9e1e9 !important;
    border-radius:16px !important;
    background:#eef3f6 !important;
    box-shadow:0 18px 38px rgba(15,37,64,.11) !important;
}

.vml-native-map iframe{
    display:block !important;
    width:100% !important;
    height:100% !important;
    border:0 !important;
}

.vml-native-map-loading{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#66788c;
    font-weight:600;
}

@media(max-width:900px){
    .vml-hero-clear{
        width:min(100%,1100px) !important;
    }
}

@media(max-width:640px){
    .vml-hero-clear{
        width:100% !important;
    }

    .vml-hero-shell .vml-hero-content{
        padding:28px 18px 18px !important;
    }

    .vml-info-full-table{
        padding:12px 18px !important;
        border-radius:18px !important;
    }

    .vml-info-full-row{
        grid-template-columns:1fr !important;
        gap:3px !important;
        padding:10px 0 !important;
    }

    .vml-info-full-row>span,
    .vml-info-full-row>strong{
        padding:0 !important;
    }

    .vml-native-map{
        height:330px !important;
    }
}


/* =========================================================
   v0.6.0 — precise blur boundary / premium info / coverage
   ========================================================= */

/* The clear hero now starts/ends EXACTLY where the boxed page content starts. */
.vml-hero-clear{
    width:min(1480px,calc(100% - 30px)) !important;
    margin:0 auto !important;
}

.vml-hero-blur-bg{
    z-index:0 !important;
}

.vml-hero-clear{
    z-index:2 !important;
}

/* Keep blur visible only OUTSIDE the boxed-content width. */
.vml-hero-clear::before,
.vml-hero-clear::after{
    content:none !important;
}

/* ---------------- Premium Information section ---------------- */
.vml-info-premium{
    position:relative !important;
    overflow:hidden !important;
    min-height:650px !important;
    padding:0 !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 72% 18%,rgba(85,161,234,.42),transparent 31%),
        radial-gradient(circle at 89% 58%,rgba(104,181,231,.22),transparent 32%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 42%,#e7f3ff 100%) !important;
    box-shadow:0 24px 54px rgba(21,54,91,.14) !important;
}

.vml-info-premium-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 38%,rgba(255,255,255,.36) 63%,rgba(255,255,255,.55) 100%),
        radial-gradient(circle at 82% 22%,rgba(255,255,255,.7),transparent 20%);
    pointer-events:none;
}

.vml-info-premium-content{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(470px,.9fr) minmax(460px,1.1fr);
    min-height:650px;
}

.vml-info-premium-left{
    padding:34px 30px 28px 34px;
    align-self:center;
}

.vml-info-heading{
    margin-bottom:18px !important;
}

.vml-info-heading h2{
    font-size:42px !important;
    line-height:1 !important;
    margin-top:10px !important;
}

.vml-info-heading p{
    margin:7px 0 0;
    color:#7c92b3;
    font-size:15px;
}

.vml-info-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 13px;
    border-radius:999px;
    background:linear-gradient(135deg,#ff5a22,#ff7040);
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.07em;
}

.vml-info-pill svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
}

.vml-info-full-table{
    width:100% !important;
    margin:0 !important;
    padding:13px 16px !important;
    border:1px solid rgba(208,220,235,.9) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.88) !important;
    backdrop-filter:blur(12px);
    box-shadow:0 18px 42px rgba(18,47,83,.12) !important;
}

.vml-info-full-row{
    grid-template-columns:minmax(225px,.95fr) minmax(0,1.05fr) !important;
    min-height:50px !important;
    border-bottom:1px solid #e2e8ef !important;
}

.vml-info-full-row>span{
    display:flex;
    align-items:center;
    gap:10px;
    color:#24416f !important;
    font-size:14px !important;
}

.vml-info-full-row>span b{
    font-weight:600;
}

.vml-info-icon{
    width:33px;
    height:33px;
    flex:0 0 33px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#edf4ff;
    color:#0d3d89;
    font-style:normal;
}

.vml-info-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.vml-info-full-row>strong{
    color:#0c2c66 !important;
    font-size:14px !important;
}

.vml-info-actions{
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:10px;
    padding-top:14px;
}

.vml-info-call,
.vml-info-quote{
    min-height:56px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none !important;
    font-weight:800;
}

.vml-info-call{
    border:1px solid #2d74d5;
    color:#0c3c82 !important;
    background:#fff;
}

.vml-info-quote{
    color:#fff !important;
    background:linear-gradient(135deg,var(--vml-orange),var(--vml-pink));
    box-shadow:0 10px 24px rgba(223,63,130,.2);
}

.vml-info-call svg,
.vml-info-quote svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
}

.vml-info-quote span,
.vml-info-quote strong,
.vml-info-quote small{
    display:block;
}

.vml-info-quote small{
    color:#fff;
    font-size:9px;
    margin-top:2px;
}

.vml-info-benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:24px;
}

.vml-info-benefits span{
    display:flex;
    align-items:center;
    gap:10px;
    color:#163c76;
    font-size:12px;
}

.vml-info-benefits svg{
    width:38px;
    height:38px;
    padding:8px;
    border-radius:50%;
    background:#fff4ed;
    color:#f05c2c;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    box-shadow:0 8px 18px rgba(21,54,91,.08);
}

.vml-info-premium-visual{
    min-height:650px;
    background-image:var(--vml-info-visual);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center bottom;
    filter:drop-shadow(0 18px 25px rgba(17,43,76,.12));
}

/* ---------------- Coverage section like reference 2 ---------------- */
.vml-coverage-card{
    overflow:hidden;
    background:linear-gradient(135deg,#fff 0%,#fbfdff 58%,#eff6ff 100%) !important;
}

.vml-coverage-top{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
    gap:28px;
    align-items:center;
}

.vml-coverage-copy{
    min-width:0;
}

.vml-coverage-map-art{
    min-height:340px;
    background-image:
        linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.7)),
        var(--vml-greece-map);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
    opacity:.96;
}

.vml-county-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:13px !important;
}

.vml-county-box{
    min-height:58px !important;
    justify-content:center !important;
    padding:12px 14px !important;
    border:1.5px solid #cfdae9 !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 5px 14px rgba(21,54,91,.045) !important;
}

.vml-county-box strong{
    color:#173464 !important;
    font-size:16px !important;
    font-weight:800 !important;
    text-align:center !important;
}

.vml-show-more-counties{
    min-width:245px;
    margin:18px auto 0 !important;
    display:flex !important;
    gap:8px;
    background:#fff !important;
    color:#274467 !important;
    border:1.5px solid #ccd7e5 !important;
    box-shadow:0 7px 17px rgba(21,54,91,.06) !important;
}

.vml-show-more-counties b{
    font-size:15px;
}

/* Sub-areas: tiny increase in weight + size as requested */
.vml-child-chips span{
    font-size:13.2px !important;
    font-weight:600 !important;
    color:#2d425f !important;
    background:#f8fafc !important;
    border-color:#dce4ed !important;
}

/* Map controls remain visible and map movable. */
.vml-native-map{
    touch-action:none !important;
}

@media(max-width:1080px){
    .vml-info-premium-content{
        grid-template-columns:1fr;
    }

    .vml-info-premium-visual{
        min-height:440px;
        background-size:contain;
        background-position:center bottom;
    }

    .vml-coverage-top{
        grid-template-columns:1fr;
    }

    .vml-coverage-map-art{
        min-height:280px;
    }
}

@media(max-width:900px){
    .vml-county-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .vml-info-premium-left{
        padding:28px 22px;
    }
}

@media(max-width:640px){
    .vml-hero-clear{
        width:100% !important;
    }

    .vml-info-heading h2{
        font-size:32px !important;
    }

    .vml-info-full-row{
        grid-template-columns:1fr !important;
    }

    .vml-info-actions{
        grid-template-columns:1fr;
    }

    .vml-info-benefits{
        grid-template-columns:1fr;
    }

    .vml-info-premium-visual{
        min-height:340px;
    }

    .vml-county-grid{
        grid-template-columns:1fr !important;
    }

    .vml-coverage-map-art{
        min-height:230px;
    }
}


/* =========================================================
   v0.7.0 — polish pass
   ========================================================= */

/* SAME width for quickbar and the content underneath */
.vml-content-width{
    width:min(1280px,calc(100% - 48px));
    margin-inline:auto;
}

.vml-content-width .vml-quickbar{
    width:100% !important;
    margin:0 !important;
}

.vml-content-width .vml-layout{
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Raise sidebar closer to breadcrumbs/top of main content */
.vml-sidebar{
    margin-top:-18px !important;
}

/* HERO: noticeably shorter, with more breathing room over verified pill */
.vml-hero-shell .vml-hero-content{
    padding-top:58px !important;
    padding-bottom:22px !important;
}

.vml-hero-main-image{
    max-height:510px !important;
    width:100% !important;
    object-fit:cover !important;
}

.vml-hero-clear{
    max-height:510px !important;
}

.vml-badges{
    margin-top:16px !important;
    margin-bottom:16px !important;
}

.vml-verified{
    padding:8px 12px !important;
    font-size:12px !important;
    background:#fff !important;
    color:#234e78 !important;
    box-shadow:0 6px 15px rgba(12,35,61,.09);
}

.vml-hero h1{
    font-size:clamp(42px,4.8vw,66px) !important;
    line-height:1 !important;
    margin-bottom:12px !important;
}

.vml-tagline{
    font-size:18px !important;
    margin-bottom:15px !important;
}

.vml-trust{
    gap:9px !important;
}

.vml-trust span{
    padding:6px 10px !important;
    background:rgba(7,29,61,.42) !important;
    border-color:rgba(255,255,255,.12) !important;
    font-size:12px !important;
}

/* Quickbar more compact and aligned to content width */
.vml-quickbar{
    padding:12px !important;
    gap:12px !important;
    box-shadow:0 14px 36px rgba(15,37,64,.10) !important;
}

.vml-quick,
.vml-quote-jump{
    min-height:74px !important;
}

/* premium info - more like supplied mockup */
.vml-info-premium{
    min-height:560px !important;
    background:
      radial-gradient(circle at 72% 17%,rgba(110,183,244,.34),transparent 32%),
      linear-gradient(135deg,#fff 0%,#f8fbff 47%,#e7f3ff 100%) !important;
}

.vml-info-premium-content{
    min-height:560px !important;
    grid-template-columns:minmax(470px,.88fr) minmax(500px,1.12fr) !important;
}

.vml-info-premium-left{
    padding:28px 26px 25px 30px !important;
}

.vml-info-premium-visual{
    position:relative;
    min-height:560px !important;
    background-position:center bottom !important;
    background-size:contain !important;
}

/* visually suppress brand marks in the packaged illustration and add sponsor label */
.vml-info-premium-visual::before{
    content:"";
    position:absolute;
    right:11%;
    bottom:12%;
    width:28%;
    height:8%;
    border-radius:10px;
    background:rgba(255,255,255,.90);
    filter:blur(.2px);
}

.vml-info-premium-visual::after{
    content:"";
    position:absolute;
    right:11%;
    bottom:34%;
    width:31%;
    height:11%;
    border-radius:12px;
    background:rgba(248,252,255,.88);
}

.vml-sponsored{
    position:absolute;
    z-index:3;
    right:7%;
    bottom:5%;
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(186,203,224,.9);
    box-shadow:0 8px 20px rgba(15,37,64,.09);
    color:#65748a;
    font-size:9px;
    font-weight:800;
    letter-spacing:.06em;
}

.vml-sponsored strong{
    color:#0a2f67;
    font-size:13px;
    letter-spacing:0;
}

.vml-sponsored strong span{
    color:#f05a2c;
}

/* Counties: bigger fonts + gentle hover */
.vml-coverage-card{
    padding-bottom:24px !important;
}

.vml-coverage-top{
    gap:20px !important;
}

.vml-county-box{
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.vml-county-box strong{
    font-size:17.5px !important;
}

.vml-county-box:hover{
    background:#fff4ed !important;
    border-color:#f2c1aa !important;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(239,98,49,.09) !important;
}

.vml-coverage-map-art{
    min-height:300px !important;
    background-image:var(--vml-greece-map) !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:1 !important;
    filter:contrast(1.05) saturate(1.07);
}

/* remove any stray decorative/bracket-like left artifacts */
.vml-coverage-map-art::before,
.vml-coverage-map-art::after{
    content:none !important;
}

/* Areas becomes its own section, no gap from prior card beyond standard card rhythm */
.vml-areas-card{
    margin-top:0 !important;
}

.vml-area-groups{
    margin-top:4px;
    border-top:0 !important;
}

.vml-area-groups details{
    border:1px solid #e5eaf0 !important;
    border-radius:15px;
    margin-bottom:12px;
    overflow:hidden;
    background:#fff;
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.vml-area-groups details:hover{
    background:#fffaf7;
    border-color:#f0cbb8 !important;
    box-shadow:0 8px 22px rgba(239,98,49,.06);
}

.vml-area-groups summary{
    min-height:64px !important;
    padding:0 17px !important;
}

.vml-area-parent{
    font-size:19px !important;
    font-weight:800 !important;
    color:#0b2d61 !important;
}

.vml-area-groups summary b{
    font-size:13px !important;
    font-weight:700 !important;
    padding:7px 11px !important;
}

.vml-subarea-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding:0 16px 16px;
}

.vml-subarea-item{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:44px;
    padding:8px 11px;
    border:1px solid #e7ebf0;
    border-radius:11px;
    background:#fafbfd;
    color:#30445f;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.vml-subarea-item i{
    width:25px;
    height:25px;
    flex:0 0 25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff0e8;
    color:#f2642f;
    font-style:normal;
    font-size:13px;
    font-weight:900;
}

.vml-subarea-item b{
    font-size:14.5px !important;
    font-weight:650 !important;
}

.vml-subarea-item:hover{
    background:#fff6f1;
    border-color:#f3cdbd;
    transform:translateY(-1px);
}

/* prevent oversized vertical whitespace */
.vml-coverage-card + .vml-areas-card{
    margin-top:0 !important;
}

@media(max-width:1024px){
    .vml-content-width{
        width:calc(100% - 28px);
    }
    .vml-info-premium-content{
        grid-template-columns:1fr !important;
    }
    .vml-info-premium-visual{
        min-height:420px !important;
    }
    .vml-sidebar{
        margin-top:0 !important;
    }
}

@media(max-width:900px){
    .vml-subarea-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .vml-content-width{
        width:calc(100% - 14px);
    }
    .vml-hero-main-image,
    .vml-hero-clear{
        max-height:none !important;
    }
    .vml-info-premium-visual{
        min-height:320px !important;
    }
    .vml-sponsored{
        right:4%;
        bottom:3%;
    }
    .vml-subarea-grid{
        grid-template-columns:1fr;
    }
    .vml-area-parent{
        font-size:17px !important;
    }
}


/* =========================================================
   v0.8.0 — hero restoration / layout width / new imagery
   ========================================================= */

/* HERO typography restored closer to the earlier clean version */
.vml-hero-shell .vml-badges{
    margin-top:18px !important;
    margin-bottom:16px !important;
}

.vml-hero-shell .vml-verified{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    min-height:31px !important;
    padding:6px 11px !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#173f6a !important;
    font-size:12px !important;
    font-weight:700 !important;
    box-shadow:0 5px 15px rgba(3,24,52,.09) !important;
}

.vml-hero-shell .vml-verified svg{
    width:15px !important;
    height:15px !important;
}

.vml-hero-shell h1{
    max-width:650px !important;
    font-size:clamp(44px,4.6vw,66px) !important;
    line-height:.98 !important;
    letter-spacing:-.025em !important;
    font-weight:700 !important;
    margin:0 0 13px !important;
    color:#fff !important;
    text-shadow:0 2px 16px rgba(0,0,0,.14);
}

.vml-hero-shell .vml-tagline{
    max-width:620px !important;
    margin:0 0 15px !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
}

.vml-hero-shell .vml-trust{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:9px !important;
}

.vml-hero-shell .vml-trust span{
    min-height:30px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    background:rgba(6,29,61,.54) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:650 !important;
}

.vml-hero-shell .vml-trust svg{
    width:14px !important;
    height:14px !important;
    stroke:#ff7445 !important;
}

/* Width matching the user's second screenshot.
   Quickbar + main/sidebar use one shared inner width. */
.vml-content-width{
    width:92% !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.vml-content-width .vml-quickbar{
    width:100% !important;
    margin:10px 0 0 !important;
    padding:12px !important;
    border:1px solid #e1e7ee !important;
    border-radius:16px !important;
    box-shadow:0 16px 38px rgba(18,40,68,.12) !important;
}

.vml-content-width .vml-layout{
    width:100% !important;
    grid-template-columns:minmax(0,1fr) 330px !important;
    gap:22px !important;
    padding:28px 0 22px !important;
}

.vml-sidebar{
    margin-top:-10px !important;
}

/* New featured image sidebar widget */
.vml-side-featured{
    position:relative;
    min-height:190px;
    overflow:hidden;
    border:1px solid #dfe5ec;
    border-radius:18px;
    background:#071d3d;
    box-shadow:0 18px 45px rgba(14,35,62,.14);
}

.vml-side-featured img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.vml-side-featured-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(0deg,rgba(4,22,48,.90) 0%,rgba(4,22,48,.30) 64%,rgba(4,22,48,.12) 100%);
}

.vml-side-featured-content{
    position:absolute;
    z-index:2;
    left:18px;
    right:18px;
    bottom:17px;
    color:#fff;
}

.vml-side-featured-content span{
    display:inline-block;
    margin-bottom:6px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    font-size:10px;
    font-weight:700;
}

.vml-side-featured-content h3{
    margin:0 !important;
    color:#fff !important;
    font-size:22px !important;
    line-height:1.05 !important;
    text-shadow:0 2px 12px rgba(0,0,0,.28);
}

/* Information section:
   replace old illustration with user's new supplied image
   and fade it into the white background on BOTH left and right. */
.vml-info-premium{
    min-height:590px !important;
    background:
      radial-gradient(circle at 72% 20%,rgba(104,175,235,.22),transparent 31%),
      linear-gradient(135deg,#fff 0%,#f8fbff 47%,#eef6ff 100%) !important;
}

.vml-info-premium-content{
    min-height:590px !important;
    grid-template-columns:minmax(460px,.83fr) minmax(520px,1.17fr) !important;
}

.vml-info-premium-visual{
    position:relative !important;
    min-height:590px !important;
    background-image:var(--vml-info-visual) !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;
    background-position:center !important;
    filter:none !important;

    /* actual white fade at both sides */
    -webkit-mask-image:linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.35) 7%,
        #000 17%,
        #000 83%,
        rgba(0,0,0,.35) 93%,
        transparent 100%
    );
    mask-image:linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.35) 7%,
        #000 17%,
        #000 83%,
        rgba(0,0,0,.35) 93%,
        transparent 100%
    );
}

.vml-info-premium-visual::before,
.vml-info-premium-visual::after{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    bottom:0 !important;
    width:15% !important;
    pointer-events:none !important;
    z-index:2 !important;
}

.vml-info-premium-visual::before{
    left:0 !important;
    background:linear-gradient(90deg,#fff,rgba(255,255,255,0)) !important;
}

.vml-info-premium-visual::after{
    right:0 !important;
    background:linear-gradient(270deg,#fff,rgba(255,255,255,0)) !important;
}

.vml-sponsored{
    display:none !important;
}

/* Counties: light blue hover, larger font */
.vml-county-box strong{
    font-size:18px !important;
    font-weight:800 !important;
}

.vml-county-box:hover{
    background:#eef7ff !important;
    border-color:#bcd8f0 !important;
    color:#123c6b !important;
    box-shadow:0 10px 24px rgba(53,127,192,.10) !important;
    transform:translateY(-2px) !important;
}

/* New clean Greece map supplied by the user */
.vml-coverage-map-art{
    min-height:320px !important;
    background-image:var(--vml-greece-map) !important;
    background-repeat:no-repeat !important;
    background-size:contain !important;
    background-position:center !important;
    opacity:1 !important;
    filter:drop-shadow(0 10px 18px rgba(55,126,201,.08)) !important;
}

/* Subarea hover uses the same light blue family as counties */
.vml-subarea-item:hover{
    background:#eef7ff !important;
    border-color:#bdd9f0 !important;
    color:#173f6b !important;
    transform:translateY(-1px) !important;
}

.vml-subarea-item:hover i{
    background:#dceeff !important;
    color:#1e67a8 !important;
}

/* responsive */
@media(max-width:1100px){
    .vml-content-width{
        width:94% !important;
    }

    .vml-content-width .vml-layout{
        grid-template-columns:minmax(0,1fr) 300px !important;
    }

    .vml-info-premium-content{
        grid-template-columns:1fr !important;
    }

    .vml-info-premium-visual{
        min-height:430px !important;
        background-size:cover !important;
    }
}

@media(max-width:900px){
    .vml-content-width .vml-layout{
        grid-template-columns:1fr !important;
    }

    .vml-sidebar{
        margin-top:0 !important;
    }
}

@media(max-width:640px){
    .vml-content-width{
        width:calc(100% - 14px) !important;
    }

    .vml-info-premium-visual{
        min-height:330px !important;
    }
}


/* =========================================================
   v0.9.0 — full hero image / Greece map / 7-day hours
   ========================================================= */

/*
 * HERO:
 * Do not crop, stretch or enlarge the source.
 * The complete gallery image is always visible.
 */
.vml-hero-shell{
    background:#071d3d !important;
}

.vml-hero-clear{
    position:relative !important;
    width:min(1480px,calc(100% - 30px)) !important;
    max-height:none !important;
    margin-inline:auto !important;
    overflow:hidden !important;
    background:#071d3d !important;
}

.vml-hero-main-image{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    max-height:560px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
    background:#071d3d !important;
}

/* The text remains an overlay but image proportions are never changed. */
.vml-hero-shell .vml-hero-content{
    min-height:0 !important;
    padding-top:44px !important;
    padding-bottom:22px !important;
}

/* On very wide screens, keep a sensible maximum clear-image height. */
@media(min-width:1300px){
    .vml-hero-main-image{
        max-height:540px !important;
    }
}

/* Greece image — make sure the supplied map is actually visible */
.vml-coverage-top{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
    align-items:center !important;
}

.vml-coverage-map-art{
    display:block !important;
    width:100% !important;
    min-height:370px !important;
    background-image:var(--vml-greece-map) !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:contain !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:drop-shadow(0 12px 22px rgba(37,112,199,.10)) !important;
}

/* Seven-day timetable remains compact in sidebar */
.vml-hours{
    min-height:35px !important;
    align-items:center !important;
}

.vml-hours span{
    font-size:11.5px !important;
}

.vml-hours b{
    font-size:11.5px !important;
}

/* Tablet/mobile */
@media(max-width:1050px){
    .vml-coverage-top{
        grid-template-columns:1fr !important;
    }

    .vml-coverage-map-art{
        min-height:320px !important;
    }
}

@media(max-width:640px){
    .vml-hero-clear{
        width:100% !important;
    }

    .vml-hero-main-image{
        width:100% !important;
        height:auto !important;
        max-height:none !important;
        object-fit:contain !important;
    }

    .vml-coverage-map-art{
        min-height:240px !important;
    }
}


/* =========================================================
   v0.9.1 — HERO edge cleanup + top spacing correction
   ========================================================= */

/*
 * Remove the solid navy side panels.
 * The hero now occupies only the actual content/image width,
 * so no artificial blue boxes are painted left/right.
 */
.vml-hero-shell{
    background:transparent !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.vml-hero-clear{
    background:transparent !important;
    width:min(1480px,calc(100% - 30px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/*
 * Keep the complete source image visible without creating
 * a navy "letterbox" around it.
 */
.vml-hero-main-image{
    background:transparent !important;
    object-fit:contain !important;
}

/*
 * Pull the complete hero slightly upward to remove the empty
 * strip visible between the header/navigation and hero.
 */
.vml-hero-shell{
    margin-top:-18px !important;
}

@media(max-width:1050px){
    .vml-hero-shell{
        margin-top:-10px !important;
    }
}

@media(max-width:640px){
    .vml-hero-shell{
        margin-top:0 !important;
    }
    .vml-hero-clear{
        width:100% !important;
    }
}


/* =========================================================
   v0.9.2 — Complete gallery images + centered lightbox
   ========================================================= */

/* Gallery cards show the COMPLETE image, centered. */
.vml-gallery{
    align-items:stretch !important;
}

.vml-gallery .vml-gallery-item{
    appearance:none !important;
    -webkit-appearance:none !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    padding:8px !important;
    overflow:hidden !important;
    border:1px solid #e2e8ef !important;
    border-radius:13px !important;
    background:#f7f9fc !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.vml-gallery .vml-gallery-item:hover{
    transform:translateY(-2px) !important;
    border-color:#cbd8e5 !important;
    box-shadow:0 10px 24px rgba(15,37,64,.09) !important;
}

.vml-gallery .vml-gallery-item img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    margin:auto !important;
    border-radius:8px !important;
}

/* Disable older crop/zoom behavior */
.vml-gallery .vml-gallery-item:hover img{
    transform:none !important;
}

/* Our own lightbox so the image is always centered on screen */
.vml-lightbox{
    position:fixed !important;
    z-index:999999 !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:34px !important;
    background:rgba(7,15,27,.88) !important;
    backdrop-filter:blur(3px) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:opacity .18s ease, visibility .18s ease !important;
}

.vml-lightbox.is-open{
    opacity:1 !important;
    visibility:visible !important;
}

.vml-lightbox-stage{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
}

.vml-lightbox-image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(92vw,1400px) !important;
    max-height:88vh !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 26px 70px rgba(0,0,0,.38) !important;
}

.vml-lightbox-close{
    position:fixed !important;
    z-index:2 !important;
    top:22px !important;
    right:26px !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    font:400 32px/40px Arial,sans-serif !important;
    cursor:pointer !important;
}

.vml-lightbox-close:hover{
    background:rgba(255,255,255,.20) !important;
}

html.vml-lightbox-lock,
body.vml-lightbox-lock{
    overflow:hidden !important;
}

@media(max-width:640px){
    .vml-gallery .vml-gallery-item{
        padding:5px !important;
    }

    .vml-lightbox{
        padding:18px !important;
    }

    .vml-lightbox-image{
        max-width:96vw !important;
        max-height:84vh !important;
    }

    .vml-lightbox-close{
        top:12px !important;
        right:12px !important;
    }
}


/* =========================================================
   v0.9.5 — Responsive rebuild + truly uncropped gallery
   ========================================================= */

/* GALLERY: never force photos into a crop box. */
.vml-gallery{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:start !important;
}
.vml-gallery .vml-gallery-item{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    padding:8px !important;
    display:block !important;
    overflow:hidden !important;
    background:#f7f9fc !important;
}
.vml-gallery .vml-gallery-item img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
    transform:none !important;
}

/* Lightbox uses the complete original image. */
.vml-lightbox-image{
    width:auto !important;
    height:auto !important;
    max-width:94vw !important;
    max-height:90vh !important;
    object-fit:contain !important;
    object-position:center !important;
}

/* TABLET */
@media (max-width:1024px){
    .vml-wrap{
        width:calc(100% - 24px) !important;
        max-width:none !important;
    }
    .vml-layout{
        grid-template-columns:1fr !important;
        gap:18px !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .vml-main,
    .vml-sidebar{
        min-width:0 !important;
        width:100% !important;
    }
    .vml-sidebar{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:16px !important;
        align-items:start !important;
    }
    .vml-quote-card{
        position:static !important;
    }
    .vml-quickbar{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .vml-about-grid,
    .vml-info-premium-content,
    .vml-coverage-top{
        grid-template-columns:1fr !important;
    }
    .vml-info-premium-visual{
        min-height:360px !important;
    }
    .vml-coverage-map-art{
        min-height:300px !important;
        background-size:contain !important;
        background-position:center !important;
    }
    .vml-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* MOBILE */
@media (max-width:767px){
    .vml-page{
        overflow-x:hidden !important;
    }
    .vml-wrap{
        width:calc(100% - 12px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
    .vml-frame,
    .vml-card,
    .vml-side-card,
    .vml-side-featured,
    .vml-quote-card{
        max-width:100% !important;
        box-sizing:border-box !important;
    }
    .vml-layout{
        display:block !important;
        padding:10px 0 16px !important;
    }
    .vml-main > *{
        margin-bottom:14px !important;
    }
    .vml-sidebar{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        gap:14px !important;
        margin-top:14px !important;
    }
    .vml-sidebar > *{
        width:100% !important;
    }
    .vml-card{
        padding:18px 14px !important;
        border-radius:16px !important;
    }
    .vml-quickbar{
        grid-template-columns:1fr !important;
        gap:8px !important;
        padding:10px !important;
    }
    .vml-stats,
    .vml-county-grid,
    .vml-subarea-grid,
    .vml-reviews,
    .vml-similar-grid{
        grid-template-columns:1fr !important;
    }
    .vml-info-premium-content{
        display:block !important;
    }
    .vml-info-premium-left{
        width:100% !important;
    }
    .vml-info-full-row{
        grid-template-columns:34px minmax(0,.8fr) minmax(0,1.2fr) !important;
        gap:7px !important;
    }
    .vml-info-actions{
        grid-template-columns:1fr !important;
    }
    .vml-info-premium-visual{
        min-height:250px !important;
        margin-top:16px !important;
        background-size:cover !important;
        background-position:center !important;
    }
    .vml-coverage-top{
        display:block !important;
    }
    .vml-coverage-map-art{
        width:100% !important;
        min-height:240px !important;
        margin-top:16px !important;
        background-size:contain !important;
        background-position:center !important;
    }

    /* One complete, full-width photo per row on phones. */
    .vml-gallery{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
    .vml-gallery .vml-gallery-item{
        width:100% !important;
        padding:6px !important;
    }
    .vml-gallery .vml-gallery-item img{
        width:100% !important;
        height:auto !important;
    }

    .vml-lightbox{
        padding:12px !important;
    }
    .vml-lightbox-image{
        max-width:calc(100vw - 24px) !important;
        max-height:calc(100vh - 54px) !important;
        border-radius:7px !important;
    }
}


/* =========================================================
   v0.9.6 — 1280px hero / responsive info table / modern scrollbar
   ========================================================= */

/* ---------------------------------------------------------
 * HERO
 * Clear image/content area is EXACTLY max 1280px.
 * Blur exists ONLY outside that 1280px area.
 * --------------------------------------------------------- */
.vml-hero-shell{
    position:relative !important;
    width:100% !important;
    overflow:hidden !important;
    background:transparent !important;
}

.vml-hero-blur-bg{
    display:block !important;
    position:absolute !important;
    z-index:0 !important;
    inset:-45px !important;
    background-image:var(--vml-blur) !important;
    background-size:cover !important;
    background-position:center !important;
    filter:blur(34px) saturate(1.08) brightness(.72) !important;
    transform:scale(1.08) !important;
    opacity:1 !important;
}

.vml-hero-clear{
    position:relative !important;
    z-index:2 !important;
    width:min(1280px,100%) !important;
    max-width:1280px !important;
    margin:0 auto !important;
    overflow:hidden !important;
    background:#071d3d !important;
    box-shadow:none !important;
}

.vml-hero-main-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    background:transparent !important;
}

/* Never let the blurred layer leak inside the clear 1280px box. */
.vml-hero-clear::before,
.vml-hero-clear::after{
    content:none !important;
    display:none !important;
}

/* ---------------------------------------------------------
 * INFORMATION TABLE
 * Robust desktop/tablet/mobile layout. Overrides old custom
 * width/min-width rules that can make rows overlap.
 * --------------------------------------------------------- */
.vml-info-premium-left,
.vml-info-full-table,
.vml-info-full-row,
.vml-info-full-row > span,
.vml-info-full-row > strong{
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:100% !important;
}

.vml-info-full-table{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    overflow:hidden !important;
}

.vml-info-full-row{
    display:grid !important;
    grid-template-columns:minmax(210px,44%) minmax(0,56%) !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    padding:7px 4px !important;
}

.vml-info-full-row > span{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:auto !important;
    min-width:0 !important;
    white-space:normal !important;
}

.vml-info-full-row > span b{
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.25 !important;
}

.vml-info-full-row > strong{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.3 !important;
}

.vml-info-full-row > strong a{
    display:inline !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
}

.vml-info-icon{
    flex:0 0 34px !important;
}

/* Tablet: keep two clear columns, but reduce label width. */
@media (max-width:1024px){
    .vml-info-full-row{
        grid-template-columns:minmax(185px,40%) minmax(0,60%) !important;
        gap:12px !important;
    }
}

/* Phone: stack label and value cleanly — no overlap, no horizontal scroll. */
@media (max-width:640px){
    .vml-info-premium-left{
        width:100% !important;
        padding:20px 14px !important;
    }

    .vml-info-full-table{
        padding:10px 12px !important;
        border-radius:16px !important;
    }

    .vml-info-full-row{
        grid-template-columns:1fr !important;
        gap:4px !important;
        padding:10px 0 !important;
        min-height:0 !important;
    }

    .vml-info-full-row > span{
        width:100% !important;
        gap:9px !important;
        font-size:13px !important;
    }

    .vml-info-full-row > strong{
        width:100% !important;
        padding-left:43px !important;
        font-size:14px !important;
        line-height:1.35 !important;
    }
}

/* ---------------------------------------------------------
 * SERVICES HORIZONTAL SCROLLBAR — modern, thin, rounded
 * --------------------------------------------------------- */
.vml-service-slider{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:4px 4px 18px !important;
    scroll-behavior:smooth !important;
    scrollbar-width:thin !important;
    scrollbar-color:#7c8da5 #edf2f7 !important;
}

.vml-service-slider::-webkit-scrollbar{
    height:9px !important;
}

.vml-service-slider::-webkit-scrollbar-track{
    background:#edf2f7 !important;
    border-radius:999px !important;
    margin:0 8px !important;
}

.vml-service-slider::-webkit-scrollbar-thumb{
    background:linear-gradient(90deg,#8fa2b8,#6f8299) !important;
    border:2px solid #edf2f7 !important;
    border-radius:999px !important;
}

.vml-service-slider::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(90deg,#71869e,#536a83) !important;
}

/* Hide native scrollbar arrows where a browser still exposes them. */
.vml-service-slider::-webkit-scrollbar-button{
    display:none !important;
    width:0 !important;
    height:0 !important;
}


/* =========================================================
   v0.9.7 — 1480px hero / desktop info-table alignment /
             show-more arrow baseline alignment
   ========================================================= */

/* HERO:
   clear image/content area is exactly max 1480px.
   blur remains ONLY outside this width. */
.vml-hero-clear{
    width:min(1480px,calc(100% - 30px)) !important;
    max-width:1480px !important;
    margin-inline:auto !important;
}

.vml-hero-shell .vml-hero-blur-bg{
    display:block !important;
}

/* Desktop info table:
   move the value column further left and prevent wrapping
   wherever there is enough space. */
@media (min-width:1100px){
    .vml-info-full-row{
        grid-template-columns:minmax(205px,.88fr) minmax(0,1.12fr) !important;
        column-gap:14px !important;
    }

    .vml-info-full-row > span{
        min-width:0 !important;
    }

    .vml-info-full-row > strong{
        min-width:0 !important;
        max-width:100% !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .vml-info-full-row > strong a{
        white-space:nowrap !important;
    }
}

/* Show-more button:
   text and arrow on exactly the same baseline/height. */
.vml-show-more-counties{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    line-height:1 !important;
}

.vml-show-more-counties span,
.vml-show-more-counties b{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
    vertical-align:middle !important;
}

.vml-show-more-counties b{
    position:relative !important;
    top:0 !important;
    font-size:18px !important;
    font-weight:700 !important;
    transform:translateY(-1px) !important;
}

/* v0.9.8 — premium stats, dynamic location banner, review form */
.vml-stat{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:22px 22px!important;background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%)!important;border:1px solid #dbe8f5!important;box-shadow:0 12px 28px rgba(15,85,137,.07)}
.vml-stat>div{min-width:0}.vml-stat strong{font-size:38px!important;color:#092b5d!important;margin:0 0 7px!important}.vml-stat span{font-size:14px!important;color:#7890ae!important}.vml-stat i{width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:grid;place-items:center;background:#eaf4ff;color:#0f72d6}.vml-stat i svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}
.vml-location-banner{position:relative;display:block;min-height:330px;border-radius:20px;overflow:hidden;background:#062b57 var(--vml-banner) center/cover no-repeat;color:#fff!important;text-decoration:none!important;box-shadow:0 18px 45px rgba(14,35,62,.16)!important}
.vml-location-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,27,58,.12),rgba(3,27,58,.38)),linear-gradient(90deg,transparent 0 32%,rgba(3,35,70,.78) 42% 100%)}
.vml-location-copy{position:absolute;z-index:2;right:20px;top:94px;width:60%;text-align:center;font-size:27px;font-weight:700;line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.35)}.vml-location-copy em{font-style:normal;font-weight:300}.vml-location-copy strong{display:inline-block;color:#d9e500;border-bottom:2px solid #d9e500;margin-top:8px}
.vml-location-cta{position:absolute;z-index:2;right:26px;bottom:24px;padding:11px 16px;border:1px solid rgba(255,255,255,.7);border-radius:10px;background:rgba(3,31,65,.6);font-weight:700}.vml-location-cta b{margin-left:8px}
.vml-review-submit p{color:#7a8ca3;margin:-5px 0 16px}.vml-review-form{display:grid;gap:12px}.vml-review-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#17365f}.vml-review-form input,.vml-review-form select,.vml-review-form textarea{width:100%;border:1px solid #d9e3ef;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#17365f}.vml-review-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vml-cat-ratings{border:1px solid #e5edf6;border-radius:12px;padding:5px 12px}.vml-cat-ratings label{grid-template-columns:1fr 76px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f7}.vml-cat-ratings label:last-child{border:0}.vml-cat-ratings select{padding:7px}.vml-review-form button{border:0;border-radius:10px;background:#082b59;color:#fff;padding:13px;font-weight:800;cursor:pointer}.vml-review-status{font-size:12px;line-height:1.4}.vml-review-status.ok{color:#14833b}.vml-review-status.err{color:#c53b2e}
@media(max-width:767px){.vml-stat strong{font-size:30px!important}.vml-location-banner{min-height:290px}.vml-location-copy{font-size:23px;top:82px}.vml-review-two{grid-template-columns:1fr}}


/* =========================================================
   v0.9.9 — sidebar single-column / banner first / reviews after map
   ========================================================= */

/* SIDEBAR: always exactly ONE column on desktop, tablet and mobile. */
.vml-sidebar,
@media (max-width:1480px){.vml-sidebar},
@media (max-width:1100px){.vml-sidebar},
@media (max-width:1024px){.vml-sidebar},
@media (max-width:900px){.vml-sidebar},
@media (max-width:767px){.vml-sidebar}{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    align-items:stretch !important;
    width:100% !important;
    gap:16px !important;
}
.vml-sidebar>*{width:100% !important;min-width:0 !important;box-sizing:border-box !important}

/* Location banner — first sidebar widget, premium crop + coded text. */
.vml-location-banner{
    order:-10 !important;
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-height:300px !important;
    border-radius:20px !important;
    overflow:hidden !important;
    background-image:var(--vml-banner) !important;
    background-size:cover !important;
    background-position:center center !important;
    text-decoration:none !important;
    box-shadow:0 18px 45px rgba(8,34,69,.18) !important;
}
.vml-location-banner::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(3,27,57,.14) 0%,rgba(4,28,59,.10) 35%,rgba(3,22,49,.72) 100%);
}
.vml-location-shade{position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(90deg,rgba(5,31,63,.08),rgba(5,31,63,.02),rgba(5,31,63,.18))!important}
.vml-location-copy{
    position:absolute!important;z-index:3!important;top:68px!important;right:18px!important;left:42%!important;
    color:#fff!important;font-size:25px!important;line-height:1.07!important;font-weight:800!important;text-align:left!important;
    text-shadow:0 2px 14px rgba(0,0,0,.28)!important;
}
.vml-location-copy span{display:block!important;white-space:nowrap!important}
.vml-location-copy em{font-style:normal!important;font-weight:400!important;color:#fff!important;margin-right:5px!important}
.vml-location-copy strong{color:#ff4f9a!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important;font-size:28px!important}
.vml-location-cta{
    position:absolute!important;z-index:4!important;right:18px!important;bottom:18px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    padding:11px 17px!important;border-radius:10px!important;background:linear-gradient(135deg,#ff506e,#eb3b91)!important;
    color:#fff!important;font-size:13px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(235,59,145,.28)!important;
}
.vml-location-cta b{font-size:17px!important;line-height:1!important}

/* About section: description full width, then 3 premium stats in one row. */
.vml-about-grid-new{display:block!important}
.vml-about-grid-new .vml-description{width:100%!important;max-width:none!important}
.vml-stats-new{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:24px!important}
.vml-stats-new .vml-stat{position:relative!important;min-height:132px!important;padding:22px 78px 20px 22px!important;border-radius:16px!important;overflow:hidden!important;box-shadow:none!important}
.vml-stats-new .vml-stat strong{font-size:31px!important;line-height:1!important;margin:0 0 7px!important}
.vml-stats-new .vml-stat span{display:block!important;font-size:13px!important;font-weight:700!important;color:#355170!important}
.vml-stats-new .vml-stat small{display:block!important;margin-top:5px!important;font-size:11px!important;color:#8a9bb1!important;font-weight:500!important}
.vml-stats-new .vml-stat i{position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;width:52px!important;height:52px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:transparent!important}
.vml-stats-new .vml-stat i svg{width:42px!important;height:42px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.55!important}
.vml-stat-years{background:linear-gradient(135deg,#fff9f5,#fff)!important;border-color:#ffd8c8!important}.vml-stat-years strong,.vml-stat-years i{color:#f05d35!important}
.vml-stat-moves{background:linear-gradient(135deg,#f5faff,#fff)!important;border-color:#cfe3ff!important}.vml-stat-moves strong,.vml-stat-moves i{color:#347fe6!important}
.vml-stat-sat{background:linear-gradient(135deg,#f5fff8,#fff)!important;border-color:#ccebd4!important}.vml-stat-sat strong,.vml-stat-sat i{color:#35a853!important}

/* Reviews are now a main-content section AFTER the map. */
.vml-reviews-section{margin-top:0!important}
.vml-reviews-layout{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;gap:22px!important;align-items:start!important}
.vml-review-overview{display:grid!important;grid-template-columns:190px 1fr!important;gap:14px!important;margin-bottom:16px!important}
.vml-review-score,.vml-review-trust-note{border:1px solid #e0e7ef!important;border-radius:15px!important;background:#fff!important;padding:18px!important}
.vml-review-score strong{display:block!important;font-size:46px!important;color:#092b5d!important;line-height:1!important}.vml-review-score .vml-stars{display:block!important;font-size:20px!important;margin:8px 0!important}.vml-review-score small{color:#7d8ca0!important}
.vml-review-trust-note{display:flex!important;align-items:center!important;gap:12px!important}.vml-review-trust-note>svg{width:34px!important;height:34px!important;color:#2f7edb!important;fill:none!important;stroke:currentColor!important}.vml-review-trust-note span{display:block!important}.vml-review-trust-note b{display:block!important;color:#17365f!important}.vml-review-trust-note small{display:block!important;color:#8190a3!important;margin-top:4px!important;line-height:1.4!important}
.vml-reviews-list{grid-template-columns:1fr!important;gap:10px!important}.vml-reviews-list article{padding:14px!important;background:#fff!important}.vml-no-reviews{padding:18px;border-radius:14px;background:#f7f9fc;color:#74869a;border:1px dashed #d7e0ea}
.vml-review-submit-main{border:1px solid #e0e7ef!important;border-radius:16px!important;padding:20px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 14px 34px rgba(14,35,62,.07)!important}
.vml-review-submit-main h3{font-size:22px!important;margin:4px 0 8px!important;color:#0a2d60!important}.vml-review-submit-main p{font-size:12px!important;color:#7b8ca0!important;margin:0 0 15px!important}
.vml-review-form{gap:11px!important}.vml-review-form label{font-size:12px!important}.vml-review-form input,.vml-review-form select,.vml-review-form textarea{min-height:42px!important;padding:10px 11px!important;border-radius:9px!important;font-size:13px!important}.vml-review-form textarea{min-height:105px!important;resize:vertical!important}.vml-review-form button{min-height:46px!important;background:linear-gradient(135deg,#0a346a,#092653)!important;border-radius:10px!important}.vml-proof-label small{font-size:10px!important;color:#8a98aa!important;font-weight:500!important}.vml-cat-ratings label{grid-template-columns:minmax(0,1fr) 90px!important}.vml-cat-ratings select{min-height:34px!important;padding:5px 7px!important}

/* Hero overall rating: always visible as information, including responsive. */
.vml-rating-badge{display:inline-flex!important;visibility:visible!important;opacity:1!important;flex-wrap:nowrap!important}
.vml-rating-badge .vml-stars{font-size:14px!important;color:#ffc21c!important}
.vml-rating-badge small{white-space:nowrap!important}

@media(max-width:1100px){
  .vml-stats-new{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vml-reviews-layout{grid-template-columns:1fr!important}
  .vml-location-banner{min-height:270px!important}
}
@media(max-width:767px){
  .vml-stats-new{grid-template-columns:1fr!important}
  .vml-stats-new .vml-stat{min-height:112px!important}
  .vml-review-overview{grid-template-columns:1fr!important}
  .vml-review-two{grid-template-columns:1fr!important}
  .vml-location-banner{min-height:290px!important}
  .vml-location-copy{left:40%!important;right:12px!important;top:70px!important;font-size:21px!important}.vml-location-copy strong{font-size:24px!important}
  .vml-location-cta{right:12px!important;bottom:14px!important}
  .vml-rating-badge{gap:5px!important;padding:6px 9px!important}.vml-rating-badge small{font-size:10px!important}
}


/* =========================================================
   v0.10.0 — 3-color stats / new sidebar image / premium reviews / 750px hero
   ========================================================= */

/* HERO: allow a taller, more impressive desktop hero without distortion. */
@media (min-width:1100px){
    .vml-hero-main-image{
        width:100% !important;
        height:auto !important;
        max-height:750px !important;
        object-fit:contain !important;
        object-position:center center !important;
    }
    .vml-hero-clear{max-height:750px !important;}
}

/* ABOUT STATS: return to three clearly differentiated colors. */
.vml-stats-new .vml-stat{
    border-width:1px !important;
    border-style:solid !important;
    box-shadow:0 12px 28px rgba(14,35,62,.055) !important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;
}
.vml-stats-new .vml-stat:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(14,35,62,.09)!important}
.vml-stat-years{background:linear-gradient(135deg,#fff1ea 0%,#fff9f6 62%,#fff 100%)!important;border-color:#ffc8b3!important}
.vml-stat-years strong,.vml-stat-years i{color:#ef5b32!important}.vml-stat-years i{background:#ffe2d5!important}
.vml-stat-moves{background:linear-gradient(135deg,#eaf5ff 0%,#f7fbff 62%,#fff 100%)!important;border-color:#bbd9f5!important}
.vml-stat-moves strong,.vml-stat-moves i{color:#176fc4!important}.vml-stat-moves i{background:#dcefff!important}
.vml-stat-sat{background:linear-gradient(135deg,#edf9f0 0%,#f8fcf8 62%,#fff 100%)!important;border-color:#bfe3c8!important}
.vml-stat-sat strong,.vml-stat-sat i{color:#2c9950!important}.vml-stat-sat i{background:#dff3e5!important}

/* SIDEBAR LOCATION BANNER: use the new text-free supplied image. */
.vml-location-banner{
    min-height:340px !important;
    background-image:var(--vml-banner) !important;
    background-size:cover !important;
    background-position:center center !important;
    border:1px solid rgba(216,226,237,.9) !important;
}
.vml-location-banner::after{
    background:linear-gradient(180deg,rgba(2,25,53,.05) 0%,rgba(2,25,53,.10) 42%,rgba(3,23,49,.78) 100%)!important;
}
.vml-location-shade{
    background:linear-gradient(90deg,rgba(4,28,60,.04) 0%,rgba(4,28,60,.04) 40%,rgba(4,28,60,.26) 100%)!important;
}
.vml-location-copy{
    top:72px!important;left:48%!important;right:16px!important;text-align:left!important;
    font-size:23px!important;line-height:1.05!important;
}
.vml-location-copy span{white-space:normal!important}
.vml-location-copy strong{display:block!important;margin-top:7px!important;color:#ff4a91!important;font-size:28px!important;text-decoration-thickness:3px!important}
.vml-location-cta{
    left:48%!important;right:16px!important;bottom:18px!important;
    background:linear-gradient(135deg,#ff536f,#e93493)!important;
    border:1px solid rgba(255,255,255,.55)!important;
    padding:12px 15px!important;
}

/* PREMIUM REVIEWS — main content, after map only. */
.vml-reviews-premium{
    position:relative!important;
    overflow:hidden!important;
    padding:30px!important;
    background:
      radial-gradient(circle at 95% 5%,rgba(255,83,111,.08),transparent 28%),
      radial-gradient(circle at 0% 100%,rgba(33,121,203,.08),transparent 30%),
      #fff!important;
}
.vml-reviews-premium::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(222,230,239,.82)}
.vml-reviews-title{margin-bottom:22px!important}.vml-reviews-title p{margin:7px 0 0!important;color:#7b8da3!important;font-size:13px!important}
.vml-review-premium-grid{display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr)!important;gap:22px!important;align-items:start!important}
.vml-review-summary-panel{display:grid!important;gap:14px!important}
.vml-review-score-premium{
    padding:24px!important;border-radius:18px!important;
    background:linear-gradient(145deg,#092e61 0%,#0f4e8a 100%)!important;
    color:#fff!important;box-shadow:0 16px 34px rgba(10,52,106,.17)!important;
}
.vml-review-score-label{display:block!important;color:#8fc8ff!important;font-size:10px!important;font-weight:800!important;letter-spacing:.09em!important;margin-bottom:10px!important}
.vml-score-line{display:flex!important;align-items:flex-end!important;gap:7px!important}.vml-score-line strong{font-size:60px!important;line-height:.9!important;color:#fff!important}.vml-score-line span{font-size:18px!important;color:#a9c5e3!important;padding-bottom:7px!important}
.vml-stars-xl{font-size:26px!important;color:#ffbd32!important;letter-spacing:3px!important;margin:13px 0 8px!important;text-shadow:0 2px 10px rgba(255,189,50,.18)!important}.vml-review-score-premium small{color:#c7d8ea!important;font-size:12px!important}
.vml-review-verified-box{display:flex!important;gap:13px!important;align-items:flex-start!important;padding:17px!important;border-radius:16px!important;background:#f7fbff!important;border:1px solid #dceaf7!important}.vml-review-shield{width:42px!important;height:42px!important;border-radius:12px!important;background:#e6f3ff!important;color:#2b79c8!important;display:grid!important;place-items:center!important;flex:0 0 42px!important}.vml-review-shield svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important}.vml-review-verified-box strong{color:#11345f!important;font-size:14px!important}.vml-review-verified-box p{margin:4px 0 0!important;font-size:11.5px!important;color:#7890a8!important;line-height:1.45!important}
.vml-rating-breakdown{padding:18px!important;border-radius:16px!important;background:#fbfcfe!important;border:1px solid #e2e9f1!important;display:grid!important;gap:12px!important}.vml-rating-breakdown-head{display:flex!important;align-items:center!important;justify-content:space-between!important;font-size:12px!important;color:#4d647d!important;margin-bottom:6px!important}.vml-rating-breakdown-head b{color:#0d3f75!important;font-size:13px!important}.vml-rating-bar{height:7px!important;border-radius:999px!important;background:#e7edf4!important;overflow:hidden!important}.vml-rating-bar i{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#ff9b32,#ffbf36)!important;box-shadow:0 2px 6px rgba(255,171,50,.22)!important}

.vml-review-form-premium{
    padding:24px!important;border-radius:18px!important;
    background:linear-gradient(180deg,#fff,#fbfdff)!important;
    border:1px solid #dde7f1!important;
    box-shadow:0 16px 40px rgba(14,35,62,.09)!important;
}
.vml-review-form-premium h3{font-size:25px!important;margin:4px 0 7px!important;color:#082e62!important}.vml-review-form-premium>p{font-size:12px!important;color:#7d8fa5!important;margin:0 0 17px!important}
.vml-review-form label>span{font-size:11px!important;font-weight:800!important;color:#244565!important}
.vml-review-form input,.vml-review-form textarea{border:1px solid #d9e4ef!important;background:#fff!important;border-radius:11px!important;box-shadow:0 2px 8px rgba(16,53,88,.025)!important;transition:border-color .18s ease,box-shadow .18s ease!important}.vml-review-form input:focus,.vml-review-form textarea:focus{outline:none!important;border-color:#7fb5e5!important;box-shadow:0 0 0 3px rgba(63,139,205,.11)!important}
.vml-star-fieldset,.vml-mini-star-row{border:0!important;margin:0!important;padding:0!important;min-width:0!important}.vml-star-fieldset{padding:15px 16px!important;border-radius:13px!important;background:#fff9ee!important;border:1px solid #ffe1a7!important}.vml-star-fieldset legend{padding:0!important;margin:0 0 5px!important;font-size:11px!important;font-weight:800!important;color:#624715!important}.vml-star-fieldset small{display:block!important;color:#a38758!important;font-size:10px!important;margin-top:3px!important}
.vml-star-picker,.vml-mini-stars{display:flex!important;flex-direction:row-reverse!important;justify-content:flex-end!important;gap:4px!important}.vml-star-picker input,.vml-mini-stars input{position:absolute!important;opacity:0!important;pointer-events:none!important}.vml-star-picker label{font-size:31px!important;line-height:1!important;color:#d8dee6!important;cursor:pointer!important;transition:color .15s ease,transform .15s ease!important}.vml-star-picker label:hover,.vml-star-picker label:hover~label,.vml-star-picker input:checked~label{color:#ffb522!important}.vml-star-picker label:hover{transform:scale(1.08)!important}
.vml-category-ratings-premium{display:grid!important;gap:7px!important;padding:12px 14px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid #e1e8f0!important}.vml-mini-star-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:6px 0!important;border-bottom:1px solid #e9eef4!important}.vml-mini-star-row:last-child{border-bottom:0!important}.vml-mini-star-row legend{font-size:11px!important;color:#36516d!important;font-weight:700!important}.vml-mini-stars label{font-size:18px!important;line-height:1!important;color:#d6dde5!important;cursor:pointer!important}.vml-mini-stars label:hover,.vml-mini-stars label:hover~label,.vml-mini-stars input:checked~label{color:#ffb522!important}
.vml-proof-label input[type=file]{padding:7px!important;background:#f8fafc!important}.vml-proof-label input[type=file]::file-selector-button{border:0!important;border-radius:8px!important;background:#eaf3fb!important;color:#164a7e!important;padding:8px 10px!important;margin-right:9px!important;font-weight:800!important;cursor:pointer!important}
.vml-review-submit-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;width:100%!important;min-height:50px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#ff5a49 0%,#e83d93 100%)!important;color:#fff!important;font-size:13px!important;font-weight:800!important;box-shadow:0 12px 26px rgba(232,61,147,.18)!important;transition:transform .18s ease,box-shadow .18s ease!important}.vml-review-submit-btn:hover{transform:translateY(-2px)!important;box-shadow:0 16px 30px rgba(232,61,147,.24)!important}.vml-review-submit-btn b{font-size:18px!important;line-height:1!important}

.vml-approved-reviews{margin-top:26px!important;padding-top:22px!important;border-top:1px solid #e6ebf1!important}.vml-approved-reviews-heading h3{font-size:21px!important;margin:4px 0 14px!important;color:#0a2f63!important}.vml-reviews-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.vml-reviews-cards article{position:relative!important;padding:17px!important;border:1px solid #e0e7ef!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 22px rgba(14,35,62,.05)!important}.vml-review-head{display:flex!important;align-items:center!important;gap:10px!important}.vml-review-head>div{min-width:0!important;flex:1!important}.vml-review-approved-badge{font-size:9px!important;color:#2c8b53!important;background:#eaf8ef!important;border:1px solid #ccecd8!important;border-radius:999px!important;padding:5px 7px!important;white-space:nowrap!important}.vml-no-reviews-premium{display:flex!important;align-items:center!important;gap:13px!important;background:#fafcff!important;border:1px dashed #cfdae6!important;padding:20px!important}.vml-no-reviews-premium>span{width:46px!important;height:46px!important;border-radius:50%!important;background:#fff4d8!important;color:#ffad13!important;display:grid!important;place-items:center!important;font-size:25px!important}.vml-no-reviews-premium strong{display:block!important;color:#183a60!important}.vml-no-reviews-premium p{margin:3px 0 0!important;color:#8392a3!important;font-size:12px!important}

/* Reviews stay in the main content after the map; never in the sidebar. */
.vml-sidebar .vml-reviews-section,.vml-sidebar .vml-review-submit{display:none!important}

@media(max-width:1100px){
    .vml-review-premium-grid{grid-template-columns:1fr!important}
    .vml-reviews-cards{grid-template-columns:1fr!important}
    .vml-location-banner{min-height:320px!important}
}
@media(max-width:767px){
    .vml-reviews-premium{padding:18px 14px!important}
    .vml-score-line strong{font-size:48px!important}
    .vml-star-picker label{font-size:28px!important}
    .vml-mini-star-row{grid-template-columns:1fr!important;gap:5px!important}
    .vml-location-banner{min-height:300px!important}
    .vml-location-copy{left:45%!important;top:66px!important;font-size:20px!important}.vml-location-copy strong{font-size:24px!important}
    .vml-location-cta{left:45%!important}
}


/* =========================================================
   v0.10.1 — area search / sticky tools / premium reviews
   ========================================================= */

/* Areas search */
.vml-areas-title{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
}
.vml-area-search-wrap{
    width:min(360px,42%)!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:0 14px!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(8,46,98,.06)!important;
    transition:.18s ease!important;
}
.vml-area-search-wrap:focus-within{
    border-color:#93c4ea!important;
    box-shadow:0 0 0 4px rgba(100,170,226,.12),0 10px 28px rgba(8,46,98,.08)!important;
}
.vml-area-search-wrap>span{font-size:21px!important;color:#4e7da8!important;line-height:1!important}
.vml-area-search{
    width:100%!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#0b2f5f!important;
    font-family:"Fira Sans Condensed",sans-serif!important;
    font-size:15px!important;
    font-weight:500!important;
    padding:12px 0!important;
}
.vml-area-no-results{margin-top:14px;padding:14px 16px;border-radius:12px;background:#f3f8fc;color:#55728f;font-size:14px}

/* Review form premium green heading */
.vml-review-form-premium{padding:0!important;overflow:hidden!important}
.vml-review-form-head{
    padding:22px 24px 20px!important;
    background:linear-gradient(135deg,#6fa67a 0%,#94c29c 42%,#cde5cf 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.28)!important;
}
.vml-review-form-head .vml-side-kicker{color:rgba(255,255,255,.72)!important}
.vml-review-form-head h3{color:#fff!important;margin:4px 0 6px!important;text-shadow:0 1px 2px rgba(13,57,31,.14)!important}
.vml-review-form-head p{color:rgba(255,255,255,.9)!important;margin:0!important;font-size:12.5px!important}
.vml-review-form-premium .vml-review-form{padding:22px 24px 24px!important}

/* Trip-like score breakdown, adapted to the site's palette */
.vml-rating-breakdown{padding:20px!important;gap:18px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
.vml-rating-breakdown-row{position:relative!important}
.vml-rating-breakdown-head{margin-bottom:9px!important;font-size:14px!important}
.vml-rating-breakdown-head span{font-weight:700!important;color:#173f6b!important}
.vml-rating-breakdown-head b{font-size:18px!important;font-weight:800!important;color:#0b2f5f!important}
.vml-rating-bar{
    position:relative!important;
    height:10px!important;
    overflow:visible!important;
    background:#e5eaf0!important;
    border-radius:999px!important;
}
.vml-rating-bar i{
    width:var(--vml-score-pct)!important;
    height:100%!important;
    display:block!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#165aa5 0%,#2f80c8 50%,#f15d42 100%)!important;
    box-shadow:0 4px 12px rgba(36,102,170,.2)!important;
}
.vml-rating-marker{
    position:absolute!important;
    left:clamp(8px,var(--vml-score-pct),calc(100% - 8px))!important;
    top:50%!important;
    width:2px!important;
    height:22px!important;
    background:#9aa9b8!important;
    transform:translate(-50%,-50%)!important;
}
.vml-rating-marker:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:-9px!important;
    width:0!important;
    height:0!important;
    border-left:7px solid transparent!important;
    border-right:7px solid transparent!important;
    border-bottom:0!important;
    border-top:8px solid #ef5b43!important;
    transform:translateX(-50%)!important;
}

/* Sticky utility rail — left side of the main content */
.vml-floating-tools{
    position:fixed!important;
    z-index:9997!important;
    left:max(14px,calc((100vw - 1480px)/2 - 76px))!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
}
.vml-floating-btn{
    width:58px!important;height:58px!important;border-radius:50%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    border:1px solid #dce5ef!important;background:rgba(255,255,255,.96)!important;
    color:#0c2d58!important;box-shadow:0 13px 34px rgba(9,34,67,.14)!important;
    cursor:pointer!important;transition:.2s ease!important;font-family:Arial,sans-serif!important;
}
.vml-floating-btn span{font-size:26px!important;line-height:1!important}
.vml-floating-btn:hover{transform:translateY(-2px)!important;border-color:#bfd2e5!important;box-shadow:0 16px 36px rgba(9,34,67,.2)!important}
.vml-floating-fav.is-active{background:#fff1f4!important;color:#e63b75!important;border-color:#ffc4d6!important}

/* Share modal */
.vml-share-modal{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important;background:rgba(4,17,36,.42)!important;backdrop-filter:blur(5px)!important;opacity:0!important;visibility:hidden!important;transition:.18s ease!important}
.vml-share-modal.is-open{opacity:1!important;visibility:visible!important}
.vml-share-dialog{position:relative!important;width:min(720px,94vw)!important;padding:34px!important;border-radius:22px!important;background:#fff!important;box-shadow:0 34px 90px rgba(5,24,51,.28)!important;border:1px solid #e2e7ed!important}
.vml-share-dialog h3{margin:0 0 28px!important;text-align:center!important;color:#0b2e5b!important;font-size:30px!important}
.vml-share-close{position:absolute!important;right:18px!important;top:14px!important;border:0!important;background:transparent!important;font-size:35px!important;color:#8493a6!important;cursor:pointer!important}
.vml-share-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px 16px!important}
.vml-share-grid button{border:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:9px!important;color:#47566b!important;cursor:pointer!important;font-size:15px!important}
.vml-share-grid b{width:68px!important;height:68px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #d9e0e8!important;background:#fff!important;color:#10233d!important;font-size:28px!important;font-family:Arial,sans-serif!important}
.vml-share-grid .wa{background:#16c84a!important;color:#fff!important;border-color:#16c84a!important}.vml-share-grid .fb{background:#1877f2!important;color:#fff!important;border-color:#1877f2!important;font-size:42px!important}.vml-share-grid .xx{background:#111!important;color:#fff!important;border-color:#111!important}.vml-share-grid .in{background:#0a66c2!important;color:#fff!important;border-color:#0a66c2!important}
.vml-share-status{text-align:center!important;margin-top:14px!important;color:#3f7c55!important;font-size:13px!important;min-height:18px!important}

@media(max-width:1180px){
    .vml-floating-tools{left:10px!important}
    .vml-floating-btn{width:48px!important;height:48px!important}
    .vml-floating-btn span{font-size:22px!important}
}
@media(max-width:900px){
    .vml-areas-title{align-items:stretch!important;flex-direction:column!important}
    .vml-area-search-wrap{width:100%!important;max-width:none!important}
    .vml-floating-tools{left:8px!important;top:auto!important;bottom:18px!important;transform:none!important;flex-direction:row!important}
    .vml-floating-btn{width:46px!important;height:46px!important}
    .vml-share-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:560px){
    .vml-share-dialog{padding:28px 18px 22px!important}
    .vml-share-dialog h3{font-size:24px!important}
    .vml-share-grid{grid-template-columns:repeat(2,1fr)!important;gap:18px 12px!important}
    .vml-review-form-head,.vml-review-form-premium .vml-review-form{padding-left:16px!important;padding-right:16px!important}
}

/* =========================================================
   v0.10.2 — bounded action rail / softer coverage / 30+50 areas
   ========================================================= */
.vml-areas-card .vml-eyebrow{color:#72a9d4!important}
.vml-areas-card .vml-section-title h2{color:#153b66!important}
.vml-area-groups details:hover{background:#f8fcff!important;border-color:#cfe3f3!important;box-shadow:0 9px 24px rgba(59,124,181,.07)!important}
.vml-subarea-item i{background:#eaf6ff!important;color:#5f9fd0!important;border:1px solid #cfe8fa!important}
.vml-subarea-item:hover{background:#f4faff!important;border-color:#cfe4f4!important}
.vml-area-load-hidden{display:none!important}
.vml-area-loadmore-wrap{display:flex!important;justify-content:center!important;padding:18px 0 2px!important}
.vml-area-loadmore{min-width:178px!important;height:50px!important;padding:0 24px!important;border:1px solid #c9e0f2!important;border-radius:999px!important;background:linear-gradient(135deg,#f8fcff,#eaf6ff)!important;color:#2f6f9f!important;font:700 15px/1 "Fira Sans Condensed",sans-serif!important;box-shadow:0 10px 26px rgba(38,102,153,.09)!important;cursor:pointer!important;transition:.2s ease!important}
.vml-area-loadmore b{display:inline-grid!important;place-items:center!important;margin-left:7px!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#d9efff!important;color:#397eae!important;font-size:17px!important}
.vml-area-loadmore:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,#eef9ff,#dff2ff)!important;box-shadow:0 14px 30px rgba(38,102,153,.14)!important}

/* Rail is positioned by JS only between the main content start and similar-listings end. */
.vml-floating-tools{top:0!important;transform:none!important;opacity:0!important;pointer-events:none!important;transition:opacity .18s ease!important;gap:12px!important}
.vml-floating-tools.is-in-range{opacity:1!important;pointer-events:auto!important}
.vml-floating-btn{width:54px!important;height:54px!important;border-radius:18px!important;border:1px solid rgba(190,213,233,.9)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,249,255,.96))!important;color:#174d7d!important;box-shadow:0 12px 30px rgba(14,52,91,.12),inset 0 1px 0 #fff!important}
.vml-floating-btn span{font-size:23px!important}
.vml-floating-btn:hover{background:linear-gradient(145deg,#f7fcff,#e7f5ff)!important;color:#e64b78!important;border-color:#c7dff1!important;transform:translateY(-2px) scale(1.03)!important}
.vml-floating-fav.is-active{background:linear-gradient(145deg,#fff5f8,#ffe9f0)!important;color:#e63b75!important;border-color:#ffc7d8!important}

.vml-share-modal{background:radial-gradient(circle at 50% 20%,rgba(48,112,169,.22),transparent 42%),rgba(5,24,48,.58)!important;backdrop-filter:blur(10px)!important}
.vml-share-dialog{width:min(760px,94vw)!important;padding:38px!important;border-radius:28px!important;background:linear-gradient(160deg,#fff 0%,#f7fbff 58%,#edf7ff 100%)!important;border:1px solid rgba(199,220,238,.95)!important;box-shadow:0 36px 100px rgba(4,29,59,.30)!important}
.vml-share-dialog:before{content:"";position:absolute;left:34px;right:34px;top:0;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#72b9e8,#72c9b4,#ef6c8e)}
.vml-share-dialog h3{font-size:31px!important;letter-spacing:-.02em!important}
.vml-share-grid{gap:16px!important}
.vml-share-grid button{padding:16px 10px!important;border:1px solid transparent!important;border-radius:18px!important;transition:.18s ease!important;font-weight:650!important}
.vml-share-grid button:hover{background:rgba(255,255,255,.88)!important;border-color:#dceaf5!important;box-shadow:0 10px 24px rgba(22,73,119,.09)!important;transform:translateY(-2px)!important}
.vml-share-grid b{width:64px!important;height:64px!important;box-shadow:0 8px 20px rgba(15,48,80,.10)!important}
@media(max-width:900px){.vml-floating-tools{display:none!important}}


/* =========================================================
   v0.10.3 — requested refinements
   ========================================================= */

/* 1) Gallery lightbox arrows restored — existing gallery classes unchanged */
.vml-lightbox-prev,
.vml-lightbox-next{
    position:fixed !important;
    z-index:4 !important;
    top:50% !important;
    width:66px !important;
    height:66px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.42) !important;
    border-radius:50% !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.96) !important;
    color:#0b2f5e !important;
    box-shadow:0 18px 42px rgba(0,0,0,.26) !important;
    cursor:pointer !important;
    transform:translateY(-50%) !important;
    transition:.18s ease !important;
}
.vml-lightbox-prev{left:28px !important}
.vml-lightbox-next{right:28px !important}
.vml-lightbox-prev span,
.vml-lightbox-next span{
    display:block !important;
    font:400 50px/.8 Arial,sans-serif !important;
    transform:translateY(-2px) !important;
}
.vml-lightbox-prev:hover,
.vml-lightbox-next:hover{
    background:#fff !important;
    color:#ea4b79 !important;
    transform:translateY(-50%) scale(1.06) !important;
}
.vml-lightbox-prev[hidden],
.vml-lightbox-next[hidden]{display:none !important}

/* 2) Left floating actions: larger, premium, and only in content range */
.vml-floating-tools{
    left:max(18px,calc((100vw - 1480px)/2 - 88px)) !important;
    gap:14px !important;
}
.vml-floating-btn{
    width:64px !important;
    height:64px !important;
    border-radius:20px !important;
    border:1px solid #d8e8f4 !important;
    background:rgba(255,255,255,.97) !important;
    color:#174f7d !important;
    box-shadow:
        0 15px 36px rgba(12,45,79,.14),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.vml-floating-btn span{
    font-size:28px !important;
    font-weight:500 !important;
}
.vml-floating-btn:hover{
    color:#e64d7b !important;
    border-color:#c8dfee !important;
    background:#f8fcff !important;
    box-shadow:0 18px 42px rgba(12,45,79,.20) !important;
}
.vml-floating-review{
    background:#edf7ff !important;
    color:#3c82b4 !important;
}
.vml-floating-review span{
    font-size:24px !important;
}

/* 3) Share modal — cleaner, more modern */
.vml-share-modal{
    background:
      radial-gradient(circle at 50% 12%,rgba(113,181,224,.24),transparent 36%),
      rgba(5,22,43,.64) !important;
    backdrop-filter:blur(12px) saturate(115%) !important;
}
.vml-share-dialog{
    width:min(800px,94vw) !important;
    padding:42px 38px 34px !important;
    border-radius:30px !important;
    background:
      linear-gradient(155deg,#ffffff 0%,#f8fcff 58%,#edf7ff 100%) !important;
    border:1px solid #d9e8f4 !important;
    box-shadow:0 42px 110px rgba(3,24,49,.34) !important;
}
.vml-share-dialog h3{
    margin-bottom:24px !important;
    font-size:32px !important;
}
.vml-share-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
}
.vml-share-grid button{
    min-height:126px !important;
    padding:18px 12px !important;
    border:1px solid #e1ebf3 !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:0 8px 20px rgba(18,59,94,.05) !important;
}
.vml-share-grid button:hover{
    border-color:#c7deee !important;
    background:#fff !important;
    box-shadow:0 14px 32px rgba(18,59,94,.11) !important;
}
.vml-share-grid b{
    width:62px !important;
    height:62px !important;
    border:0 !important;
    box-shadow:0 10px 24px rgba(16,49,78,.13) !important;
}
.vml-share-grid button > span{
    color:#24415f !important;
    font-size:14px !important;
    font-weight:700 !important;
}

/* 4) Review submit button: light color, no arrow */
.vml-review-submit-btn{
    background:linear-gradient(135deg,#e9f6ee 0%,#d6efdf 100%) !important;
    color:#286b45 !important;
    border:1px solid #bddfc9 !important;
    box-shadow:0 10px 24px rgba(47,126,79,.10) !important;
}
.vml-review-submit-btn:hover{
    background:linear-gradient(135deg,#dff2e6,#cae9d5) !important;
    color:#215f3b !important;
    box-shadow:0 14px 28px rgba(47,126,79,.15) !important;
}

/* Approved reviews kicker */
.vml-approved-reviews-heading .vml-side-kicker{
    color:#3c9b61 !important;
}

/* Empty review state: light green / lime */
.vml-no-reviews-premium{
    background:linear-gradient(135deg,#f4fbe8 0%,#e9f7d4 100%) !important;
    border:1px solid #cfe7ae !important;
}
.vml-no-reviews-premium>span{
    background:#dff2bd !important;
    color:#4e9a3e !important;
    border:1px solid #c6e29b !important;
}
.vml-no-reviews-premium strong{
    color:#356f36 !important;
}
.vml-no-reviews-premium p{
    color:#648361 !important;
}

/* 5) Areas coverage — blue family, transparent load-more INSIDE accordion */
.vml-areas-card .vml-eyebrow,
.vml-coverage-card .vml-eyebrow{
    color:#79add1 !important;
}
.vml-area-groups details{
    overflow:hidden !important;
}
.vml-area-loadmore-wrap{
    padding:12px 0 18px !important;
}
.vml-area-loadmore{
    min-width:0 !important;
    height:auto !important;
    padding:8px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#4f8db9 !important;
    box-shadow:none !important;
    font:700 14px/1.2 "Fira Sans Condensed",sans-serif !important;
}
.vml-area-loadmore b{
    width:auto !important;
    height:auto !important;
    margin-left:5px !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#4f8db9 !important;
    font-size:17px !important;
}
.vml-area-loadmore:hover{
    transform:none !important;
    background:transparent !important;
    color:#e45b83 !important;
    box-shadow:none !important;
}
.vml-area-loadmore:hover b{
    color:#e45b83 !important;
}

/* Subarea checks in the same soft blue family */
.vml-subarea-item i{
    background:#e8f4fb !important;
    color:#5b9bc6 !important;
    border-color:#d4e9f6 !important;
}

/* 6) Counties show-more arrow: thicker and vertically centered */
.vml-show-more-counties{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
}
.vml-show-more-counties b{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:20px !important;
    min-height:20px !important;
    font-family:Arial,sans-serif !important;
    font-size:24px !important;
    font-weight:900 !important;
    line-height:.72 !important;
    transform:translateY(-1px) !important;
}

/* Responsive arrows/share */
@media(max-width:900px){
    .vml-floating-tools{display:none !important}
    .vml-lightbox-prev{left:10px !important}
    .vml-lightbox-next{right:10px !important}
    .vml-lightbox-prev,.vml-lightbox-next{
        width:50px !important;
        height:50px !important;
    }
    .vml-lightbox-prev span,.vml-lightbox-next span{
        font-size:38px !important;
    }
}
@media(max-width:640px){
    .vml-share-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
    .vml-share-dialog{padding:34px 16px 24px !important}
}


/* =========================================================
   v0.10.4 — compact customer reviews below About
   ========================================================= */
.vml-review-preview-card{
    padding:26px 28px 24px !important;
    overflow:hidden;
}
.vml-review-preview-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.vml-review-preview-heading h2{
    margin:3px 0 8px !important;
}
.vml-review-preview-rating{
    display:flex;
    align-items:center;
    gap:9px;
    color:#0b2f5e;
}
.vml-review-preview-star{
    color:#ffb400;
    font-size:27px;
    line-height:1;
    filter:drop-shadow(0 4px 9px rgba(255,180,0,.22));
}
.vml-review-preview-rating strong{
    font-size:23px;
    line-height:1;
}
.vml-review-preview-rating small{
    color:#7f95aa;
    font-size:14px;
}
.vml-review-preview-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    border-radius:10px;
    background:#0b2f5e;
    color:#fff !important;
    font-weight:700;
    text-decoration:none !important;
    box-shadow:0 10px 22px rgba(11,47,94,.15);
    transition:.18s ease;
    white-space:nowrap;
}
.vml-review-preview-cta:hover{
    transform:translateY(-2px);
    background:#123f75;
    box-shadow:0 14px 28px rgba(11,47,94,.22);
}
.vml-review-preview-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.vml-review-preview-item{
    min-width:0;
    padding:20px 20px 18px;
    border:1px solid #e0e9f1;
    border-radius:18px;
    background:linear-gradient(145deg,#fff 0%,#fbfdff 100%);
    box-shadow:0 10px 26px rgba(18,57,91,.05);
}
.vml-review-preview-meta{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin-bottom:14px;
}
.vml-review-preview-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e6f1ff;
    color:#286cb9;
    font-weight:700;
    font-size:19px;
}
.vml-review-preview-item:nth-child(2) .vml-review-preview-avatar{
    background:#eee9ff;
    color:#7055d9;
}
.vml-review-preview-item:nth-child(3) .vml-review-preview-avatar{
    background:#e9f8ef;
    color:#2f8c5b;
}
.vml-review-preview-person{
    min-width:0;
}
.vml-review-preview-person>strong{
    display:block;
    color:#15375f;
    font-size:16px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.vml-review-preview-stars{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:4px;
}
.vml-review-preview-stars b{
    color:#6e8195;
    font-size:13px;
}
.vml-review-preview-stars span{
    color:#ffb400;
    letter-spacing:2px;
    font-size:17px;
    white-space:nowrap;
}
.vml-review-preview-meta time{
    color:#8b9aab;
    font-size:12px;
    white-space:nowrap;
}
.vml-review-preview-item p{
    margin:0 !important;
    color:#526a81;
    font-size:15px;
    line-height:1.65;
}
.vml-review-preview-more{
    width:max-content;
    margin:20px auto 0;
    display:flex;
    align-items:center;
    gap:10px;
    color:#467bb2 !important;
    font-weight:700;
    text-decoration:none !important;
}
.vml-review-preview-more span{
    font-size:20px;
    transition:transform .18s ease;
}
.vml-review-preview-more:hover span{
    transform:translateX(4px);
}
.vml-review-preview-empty{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    border-radius:16px;
    background:#f4fbe8;
    border:1px solid #d7eab8;
}
.vml-review-preview-empty>span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e0f2bd;
    color:#579647;
    font-size:22px;
}
.vml-review-preview-empty strong{color:#356f36}
.vml-review-preview-empty p{margin:3px 0 0;color:#698265}
#vml-review-form{scroll-margin-top:110px}

@media(max-width:1024px){
    .vml-review-preview-grid{grid-template-columns:1fr !important}
    .vml-review-preview-meta{grid-template-columns:48px minmax(0,1fr) auto}
}
@media(max-width:640px){
    .vml-review-preview-card{padding:20px 16px !important}
    .vml-review-preview-top{display:block}
    .vml-review-preview-cta{width:100%;margin-top:16px}
    .vml-review-preview-meta{grid-template-columns:44px minmax(0,1fr)}
    .vml-review-preview-meta time{grid-column:2;margin-top:-4px}
    .vml-review-preview-avatar{width:44px;height:44px}
}

/* =========================================================
   v0.10.5 — taller mobile hero + Trip-style floating actions
   ========================================================= */

/* MOBILE / TABLET HERO
 * Keep the same classes and structure, but give the hero enough vertical
 * room so verified/rating/title/tagline/trust/thumbs are all visible.
 */
@media (max-width:900px){
    .vml-hero-shell{
        min-height:680px !important;
        overflow:hidden !important;
    }
    .vml-hero-clear{
        position:relative !important;
        width:100% !important;
        max-width:none !important;
        min-height:680px !important;
        max-height:none !important;
        margin:0 !important;
        overflow:hidden !important;
        background:#071d3d !important;
    }
    .vml-hero-main-image{
        position:absolute !important;
        inset:0 !important;
        display:block !important;
        width:100% !important;
        height:100% !important;
        min-height:680px !important;
        max-height:none !important;
        object-fit:cover !important;
        object-position:center center !important;
    }
    .vml-hero-shell .vml-hero-overlay{
        position:absolute !important;
        inset:0 !important;
        z-index:2 !important;
        background:
          linear-gradient(180deg,rgba(4,20,45,.22) 0%,rgba(4,20,45,.18) 26%,rgba(4,20,45,.54) 66%,rgba(4,20,45,.88) 100%),
          linear-gradient(90deg,rgba(4,20,45,.40),rgba(4,20,45,.08)) !important;
    }
    .vml-hero-shell .vml-hero-content{
        position:relative !important;
        z-index:3 !important;
        inset:auto !important;
        min-height:680px !important;
        height:auto !important;
        padding:118px 28px 26px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:flex-end !important;
        box-sizing:border-box !important;
    }
    .vml-hero-copy{
        max-width:100% !important;
    }
    .vml-badges{
        display:flex !important;
        gap:8px !important;
        margin:0 0 14px !important;
    }
    .vml-rating-badge{
        display:inline-flex !important;
        flex-wrap:wrap !important;
    }
    .vml-hero-shell h1,
    .vml-hero h1{
        font-size:clamp(40px,8vw,58px) !important;
        line-height:.98 !important;
        margin:0 0 12px !important;
        max-width:92% !important;
    }
    .vml-tagline{
        display:block !important;
        font-size:17px !important;
        line-height:1.35 !important;
        margin:0 0 14px !important;
        max-width:92% !important;
    }
    .vml-trust{
        display:flex !important;
        gap:8px !important;
        flex-wrap:wrap !important;
        margin:0 !important;
    }
    .vml-trust span{
        display:inline-flex !important;
    }
    .vml-hero-thumbs{
        display:flex !important;
        width:100% !important;
        gap:8px !important;
        margin-top:18px !important;
        padding-bottom:2px !important;
        overflow-x:auto !important;
    }
}

@media (max-width:640px){
    .vml-hero-shell,
    .vml-hero-clear{
        min-height:720px !important;
    }
    .vml-hero-main-image{
        min-height:720px !important;
        height:100% !important;
        object-position:center center !important;
    }
    .vml-hero-shell .vml-hero-content{
        min-height:720px !important;
        padding:125px 18px 22px !important;
    }
    .vml-verified{
        padding:7px 10px !important;
        font-size:11px !important;
    }
    .vml-rating-badge{
        padding:7px 10px !important;
        font-size:11px !important;
    }
    .vml-rating-badge small{
        font-size:10px !important;
    }
    .vml-hero-shell h1,
    .vml-hero h1{
        font-size:42px !important;
        max-width:100% !important;
    }
    .vml-tagline{
        font-size:16px !important;
        max-width:100% !important;
    }
    .vml-trust span{
        padding:7px 9px !important;
        font-size:11px !important;
    }
    .vml-thumb{
        width:80px !important;
        height:54px !important;
        flex:0 0 80px !important;
        border-radius:9px !important;
    }
}

@media (max-width:390px){
    .vml-hero-shell,
    .vml-hero-clear{
        min-height:740px !important;
    }
    .vml-hero-main-image{
        min-height:740px !important;
    }
    .vml-hero-shell .vml-hero-content{
        min-height:740px !important;
        padding-top:132px !important;
    }
    .vml-hero-shell h1,
    .vml-hero h1{
        font-size:38px !important;
    }
}

/* LEFT STICKY ACTIONS — same visual language as the supplied reference:
 * large white circles, thin neutral edge, navy icons and soft floating shadow.
 * Existing classes and JS behavior are preserved.
 */
@media (min-width:901px){
    .vml-floating-tools{
        gap:8px !important;
        left:max(20px,calc((100vw - 1480px)/2 - 96px)) !important;
    }
    .vml-floating-btn,
    .vml-floating-review{
        width:76px !important;
        height:76px !important;
        min-width:76px !important;
        min-height:76px !important;
        padding:0 !important;
        border:1px solid rgba(224,229,236,.95) !important;
        border-radius:50% !important;
        background:#fff !important;
        color:#101b2d !important;
        box-shadow:0 12px 30px rgba(22,35,51,.14) !important;
        display:grid !important;
        place-items:center !important;
        transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease !important;
    }
    .vml-floating-btn span,
    .vml-floating-review span{
        display:block !important;
        margin:0 !important;
        padding:0 !important;
        font-family:Arial,sans-serif !important;
        font-size:34px !important;
        font-weight:400 !important;
        line-height:1 !important;
        color:inherit !important;
        transform:none !important;
    }
    .vml-floating-top span{
        font-size:39px !important;
        line-height:.8 !important;
        transform:translateY(4px) !important;
    }
    .vml-floating-fav span{
        font-size:42px !important;
        line-height:.9 !important;
        transform:translateY(-1px) !important;
    }
    .vml-floating-share span{
        font-size:36px !important;
        transform:translate(-1px,-1px) !important;
    }
    .vml-floating-review span{
        font-size:31px !important;
    }
    .vml-floating-btn:hover,
    .vml-floating-review:hover{
        background:#fff !important;
        color:#0b2f5e !important;
        border-color:#d9e0e8 !important;
        transform:translateY(-2px) scale(1.035) !important;
        box-shadow:0 17px 38px rgba(22,35,51,.20) !important;
    }
    .vml-floating-fav.is-active{
        background:#fff !important;
        color:#e83f7c !important;
        border-color:#f2c7d6 !important;
    }
}

/* =========================================================
   v0.10.6 — refined floating actions + gradient share panel
   ========================================================= */
@media (min-width:901px){
  .vml-floating-tools{
    gap:14px !important;
    left:max(18px,calc((100vw - 1480px)/2 - 108px)) !important;
  }
  .vml-floating-btn,
  .vml-floating-review{
    width:84px !important;
    height:84px !important;
    min-width:84px !important;
    min-height:84px !important;
    padding:0 !important;
    border:1px solid #e3e9f0 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#0b2f5e !important;
    box-shadow:0 14px 34px rgba(18,39,67,.13),0 3px 10px rgba(18,39,67,.05) !important;
    display:grid !important;
    place-items:center !important;
  }
  .vml-floating-btn:hover,
  .vml-floating-review:hover{
    background:#fff !important;
    color:#e84278 !important;
    border-color:#d9e4ee !important;
    transform:translateY(-3px) scale(1.035) !important;
    box-shadow:0 20px 42px rgba(18,39,67,.18),0 5px 14px rgba(18,39,67,.08) !important;
  }
  .vml-floating-btn .vml-float-icon,
  .vml-floating-review .vml-float-icon{
    width:38px !important;
    height:38px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    transform:none !important;
  }
  .vml-floating-btn .vml-float-icon svg,
  .vml-floating-review .vml-float-icon svg{
    width:36px !important;
    height:36px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.65 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }
  .vml-floating-top .vml-float-icon svg{width:34px !important;height:34px !important}
  .vml-floating-fav.is-active{background:#fff !important;color:#e83f7c !important;border-color:#f2bfd1 !important}
  .vml-floating-fav.is-active .vml-float-icon svg{fill:rgba(232,63,124,.11) !important;stroke:#e83f7c !important}
}

.vml-share-modal{
  background:rgba(6,19,36,.58) !important;
  backdrop-filter:blur(10px) saturate(110%) !important;
}
.vml-share-dialog{
  width:min(820px,94vw) !important;
  padding:42px 42px 34px !important;
  border:0 !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,#0A3469 0%,#0A3469 15%,rgb(111,166,122) 100%) !important;
  box-shadow:0 40px 110px rgba(0,16,38,.38) !important;
  overflow:hidden !important;
}
.vml-share-dialog:before{display:none !important}
.vml-share-dialog h3{
  margin:0 0 28px !important;
  color:#fff !important;
  font-size:32px !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
}
.vml-share-close{
  color:rgba(255,255,255,.84) !important;
  background:transparent !important;
  border:0 !important;
  font-size:30px !important;
  line-height:1 !important;
}
.vml-share-close:hover{color:#fff !important;transform:rotate(4deg) scale(1.06) !important}
.vml-share-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px 12px !important;
}
.vml-share-grid button{
  min-height:112px !important;
  padding:14px 8px !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  transition:transform .18s ease,background .18s ease !important;
}
.vml-share-grid button:hover{
  border:0 !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:none !important;
  transform:translateY(-3px) !important;
}
.vml-share-grid b{
  width:48px !important;
  height:48px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
}
.vml-share-grid b svg{
  width:40px !important;
  height:40px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.45 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.vml-share-grid button > span{
  color:#fff !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  text-align:center !important;
  opacity:.96 !important;
}
.vml-share-status{
  min-height:20px !important;
  margin-top:18px !important;
  color:#fff !important;
  text-align:center !important;
  font-size:13px !important;
  opacity:.9 !important;
}
@media(max-width:760px){
  .vml-share-dialog{padding:34px 18px 24px !important;border-radius:24px !important}
  .vml-share-dialog h3{font-size:26px !important;margin-bottom:20px !important}
  .vml-share-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .vml-share-grid button{min-height:96px !important}
  .vml-share-grid b{width:42px !important;height:42px !important}
  .vml-share-grid b svg{width:36px !important;height:36px !important}
}

/* =========================================================
   v0.10.7 — persistent wishlist + polished tooltips/share UI
   ========================================================= */
@media (min-width:901px){
  .vml-floating-btn,
  .vml-floating-review{
    position:relative !important;
  }
  .vml-floating-btn::after,
  .vml-floating-review::after{
    content:attr(data-tooltip);
    position:absolute;
    left:calc(100% + 14px);
    top:50%;
    transform:translateY(-50%) translateX(-5px);
    white-space:nowrap;
    padding:9px 13px;
    border-radius:10px;
    background:#fff;
    color:#0a3469;
    border:1px solid #e0e9f2;
    box-shadow:0 10px 28px rgba(10,52,105,.14);
    font-size:13px;
    font-weight:700;
    line-height:1;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.18s ease;
    z-index:50;
  }
  .vml-floating-btn::before,
  .vml-floating-review::before{
    content:"";
    position:absolute;
    left:calc(100% + 8px);
    top:50%;
    width:10px;height:10px;
    background:#fff;
    border-left:1px solid #e0e9f2;
    border-bottom:1px solid #e0e9f2;
    transform:translateY(-50%) rotate(45deg);
    opacity:0;visibility:hidden;
    transition:.18s ease;
    z-index:51;
  }
  .vml-floating-btn:hover::after,.vml-floating-btn:hover::before,
  .vml-floating-review:hover::after,.vml-floating-review:hover::before{
    opacity:1;visibility:visible;
  }
  .vml-floating-btn:hover::after,.vml-floating-review:hover::after{transform:translateY(-50%) translateX(0)}
}

/* Favorite active state stays white, only the line icon becomes pink. */
.vml-floating-fav.is-active{background:#fff !important;border-color:#efbfd1 !important;color:#e83f7c !important}

/* Share items: subtle white outline around every action; no broken card fill. */
.vml-share-grid button{
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(255,255,255,.025) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.vml-share-grid button:hover{
  border-color:rgba(255,255,255,.72) !important;
  background:rgba(255,255,255,.09) !important;
  box-shadow:0 10px 26px rgba(0,25,55,.14) !important;
}
.vml-share-grid b,.vml-share-grid b svg{color:#fff !important}
.vml-share-grid b svg{stroke-width:1.65 !important}

/* Wishlist page guaranteed by this plugin for the Traveler user-setting route. */
.vml-wishlist-page{
  max-width:1280px;margin:28px auto;padding:28px;
  border:1px solid #dfe9f2;border-radius:24px;background:#fff;
  box-shadow:0 18px 48px rgba(10,52,105,.08);
  font-family:"Fira Sans Condensed",sans-serif;
}
.vml-wishlist-head>span{display:block;color:#e85a3d;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:4px}
.vml-wishlist-head h2{margin:0;color:#092b58;font-size:32px;line-height:1.05}
.vml-wishlist-head p{margin:8px 0 22px;color:#71839a}
.vml-wishlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vml-wishlist-card{overflow:hidden;border:1px solid #e1e9f1;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(10,52,105,.06)}
.vml-wishlist-media{display:block;aspect-ratio:16/9;background:#edf3f8;overflow:hidden}
.vml-wishlist-media img{display:block;width:100%;height:100%;object-fit:cover}
.vml-wishlist-body{padding:16px}
.vml-wishlist-body h3{margin:0 0 14px;font-size:20px}.vml-wishlist-body h3 a{color:#092b58;text-decoration:none}
.vml-wishlist-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}
.vml-wishlist-actions a,.vml-wishlist-remove{border:0;border-radius:10px;padding:10px 12px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.vml-wishlist-actions a{background:#eef6ff;color:#0a5ba8}.vml-wishlist-remove{background:#fff2f5;color:#d83870}
.vml-wishlist-empty{padding:22px;border-radius:14px;background:#f5f9fc;color:#6d8095}
@media(max-width:900px){.vml-wishlist-grid{grid-template-columns:1fr 1fr}.vml-wishlist-page{margin:18px 14px;padding:20px}}
@media(max-width:600px){.vml-wishlist-grid{grid-template-columns:1fr}.vml-wishlist-head h2{font-size:27px}}

/* =========================================================
   v0.10.8 — tooltip gradient + premium load more + modern empty star
   ========================================================= */
/* Floating rail tooltips: site gradient on hover */
@media (min-width:901px){
  .vml-floating-btn::after,
  .vml-floating-review::after{
    background:linear-gradient(135deg,#0A3469 0%,#0A3469 15%,rgb(111,166,122) 100%) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.20) !important;
    box-shadow:0 12px 30px rgba(10,52,105,.24) !important;
    padding:10px 15px !important;
    border-radius:11px !important;
  }
  .vml-floating-btn::before,
  .vml-floating-review::before{
    background:#0A3469 !important;
    border:0 !important;
    box-shadow:none !important;
  }
}

/* Areas accordion — cleaner premium “Περισσότερα +” */
.vml-area-loadmore-wrap{
  display:flex !important;
  justify-content:center !important;
  padding:18px 8px 8px !important;
  margin-top:10px !important;
  border-top:1px solid #edf3f8 !important;
}
.vml-area-loadmore{
  min-width:150px !important;
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:11px 20px !important;
  border:1px solid #d9e8f3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#376f98 !important;
  box-shadow:0 8px 24px rgba(10,52,105,.09) !important;
  font:700 15px/1 "Fira Sans Condensed",sans-serif !important;
  cursor:pointer !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease !important;
}
.vml-area-loadmore b{
  width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  border-radius:50% !important;
  background:#edf7fd !important;
  color:#5798c5 !important;
  font-size:19px !important;
  font-weight:500 !important;
  line-height:1 !important;
  transition:.2s ease !important;
}
.vml-area-loadmore:hover{
  transform:translateY(-2px) !important;
  background:#fff !important;
  color:#0A3469 !important;
  border-color:#bcd8e9 !important;
  box-shadow:0 13px 30px rgba(10,52,105,.14) !important;
}
.vml-area-loadmore:hover b{
  background:#dff1fb !important;
  color:#0A6FAE !important;
  transform:rotate(90deg) !important;
}
.vml-area-loadmore:active{transform:translateY(0) scale(.98) !important}

/* Empty approved-reviews state — modern star badge */
.vml-no-reviews-premium>span,
.vml-review-preview-empty>span{
  position:relative !important;
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#f8ffe9 0%,#dff3b9 100%) !important;
  color:#438f45 !important;
  border:1px solid #c7e39e !important;
  box-shadow:0 9px 22px rgba(73,145,68,.13),inset 0 1px 0 rgba(255,255,255,.9) !important;
  font-size:0 !important;
  transform:rotate(-2deg) !important;
}
.vml-no-reviews-premium>span::before,
.vml-review-preview-empty>span::before{
  content:"★" !important;
  font-size:28px !important;
  line-height:1 !important;
  color:#4b9b49 !important;
  text-shadow:0 2px 8px rgba(75,155,73,.16) !important;
  transform:rotate(2deg) !important;
}
.vml-no-reviews-premium>span::after,
.vml-review-preview-empty>span::after{
  content:"" !important;
  position:absolute !important;
  width:7px !important;height:7px !important;
  right:7px !important;top:7px !important;
  border-radius:50% !important;
  background:#8fcf63 !important;
  box-shadow:-35px 34px 0 -2px #b8df83 !important;
}

/* =========================================================
   v0.10.9 — Similar listings + sidebar featured card refresh
   ========================================================= */
.vml-similar-card{
    border-color:#dbe6f1 !important;
    box-shadow:0 16px 38px rgba(10,52,105,.10) !important;
}
.vml-similar-card:hover{
    transform:translateY(-5px) !important;
    border-color:#c9dbeb !important;
    box-shadow:0 24px 52px rgba(10,52,105,.16) !important;
}
.vml-similar-img{overflow:hidden}
.vml-similar-img img{transition:transform .35s ease}
.vml-similar-card:hover .vml-similar-img img{transform:scale(1.025)}
.vml-similar-badge.vml-similar-location{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    left:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    padding:7px 10px !important;
    border:1px solid rgba(255,255,255,.22);
    background:linear-gradient(135deg,#0A3469 0%,#0A3469 70%,#155b92 100%) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:700;
    line-height:1.2;
    box-shadow:0 8px 18px rgba(4,27,58,.20);
}
.vml-similar-location svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;flex:0 0 13px}
.vml-similar-body{padding:16px 16px 17px !important}
.vml-similar-body h3{margin:5px 0 9px !important}
.vml-similar-rating{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:0 0 13px;
    min-height:20px;
}
.vml-similar-stars{
    color:#ffb21a;
    font-size:13px;
    letter-spacing:1px;
    line-height:1;
    text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.vml-similar-rating strong{font-size:12px;color:#0A3469}
.vml-similar-rating em{font-style:normal;font-size:10px;color:#718398}
.vml-similar-cta{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:34px;
    padding:8px 14px;
    border:1px solid #d8e5f0;
    border-radius:999px;
    background:linear-gradient(180deg,#fff 0%,#f5f9fd 100%);
    color:#0A3469 !important;
    font-size:11px !important;
    font-weight:800;
    box-shadow:0 6px 16px rgba(10,52,105,.08);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.vml-similar-card:hover .vml-similar-cta{
    transform:translateY(-1px);
    border-color:#b9d2e6;
    background:#fff;
    box-shadow:0 9px 22px rgba(10,52,105,.13);
}

.vml-side-featured-premium{
    position:relative;
    min-height:235px;
    border-radius:20px !important;
    overflow:hidden;
    background:#0A3469;
    isolation:isolate;
}
.vml-side-featured-premium>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.vml-side-featured-premium:hover>img{transform:scale(1.035)}
.vml-side-featured-premium .vml-side-featured-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,rgba(4,25,55,.08) 0%,rgba(4,25,55,.38) 42%,rgba(4,25,55,.92) 100%);
}
.vml-side-featured-premium .vml-side-featured-content{
    position:absolute;
    inset:auto 0 0;
    z-index:2;
    padding:18px 18px 17px;
    color:#fff;
}
.vml-side-featured-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.vml-side-verified,.vml-side-rating-pill{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff !important;
    font-size:9px;
    font-weight:800;
    backdrop-filter:blur(8px);
}
.vml-side-rating-pill{color:#ffe58b !important}
.vml-side-featured-premium h3{margin:0 0 8px !important;color:#fff !important;font-size:22px !important;line-height:1.05}
.vml-side-featured-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin-bottom:7px}
.vml-side-featured-meta span{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.92);font-size:10px}
.vml-side-featured-meta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9}
.vml-side-featured-meta strong{color:#fff}
.vml-side-featured-premium small{display:block;color:rgba(255,255,255,.76);font-size:9px;font-weight:700}

@media(max-width:900px){
    .vml-side-featured-premium{min-height:260px}
}
@media(max-width:640px){
    .vml-side-featured-premium{min-height:220px}
    .vml-similar-rating{gap:5px}
}


/* =========================================================
   v0.11.0 — sidebar order/banner, native wishlist bridge,
   premium stats/reviews/share/similar heading
   ========================================================= */
.vml-native-wishlist-proxy{
    position:fixed!important;left:-99999px!important;top:-99999px!important;
    width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;
    pointer-events:none!important;
}

/* Three stat cards keep the requested three distinct color families. */
.vml-stat-years i svg,.vml-stat-moves i svg,.vml-stat-sat i svg{
    fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
}
.vml-stat-years{background:linear-gradient(135deg,#fff1ea 0%,#fff9f6 62%,#fff 100%)!important;border-color:#ffc8b3!important}
.vml-stat-years strong,.vml-stat-years i{color:#ef5b32!important}.vml-stat-years i{background:#ffe2d5!important}
.vml-stat-moves{background:linear-gradient(135deg,#eaf5ff 0%,#f7fbff 62%,#fff 100%)!important;border-color:#bbd9f5!important}
.vml-stat-moves strong,.vml-stat-moves i{color:#176fc4!important}.vml-stat-moves i{background:#dcefff!important}
.vml-stat-sat{background:linear-gradient(135deg,#edf9f0 0%,#f8fcf8 62%,#fff 100%)!important;border-color:#bfe3c8!important}
.vml-stat-sat strong,.vml-stat-sat i{color:#2c9950!important}.vml-stat-sat i{background:#dff3e5!important}

/* Sidebar: one clean vertical rail at every desktop/tablet width. */
.vml-sidebar{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:18px!important;align-items:stretch!important}
.vml-sidebar>*{width:100%!important;max-width:100%!important;margin:0!important}

/* Search-by-location banner is deliberately last in the sidebar. 3:2 ratio lets
   the full supplied artwork fit instead of showing only its middle crop. */
.vml-location-banner{
    min-height:0!important;aspect-ratio:3/2!important;
    background-color:#073664!important;background-image:var(--vml-banner)!important;
    background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;
    border-radius:22px!important;border:1px solid rgba(8,55,103,.12)!important;
    box-shadow:0 18px 42px rgba(10,52,105,.14)!important;
    isolation:isolate!important;
}
.vml-location-shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(2,22,50,.02),rgba(2,22,50,.18))!important;z-index:1!important}
.vml-location-copy{
    position:absolute!important;z-index:2!important;left:50%!important;top:45%!important;transform:translate(-50%,-50%)!important;
    width:88%!important;text-align:center!important;color:#fff!important;display:flex!important;flex-direction:column!important;gap:5px!important;
    font-size:23px!important;font-weight:800!important;line-height:1.02!important;text-shadow:0 2px 14px rgba(0,23,52,.28)!important;
}
.vml-location-copy>span:first-child{white-space:nowrap!important}
.vml-location-inline{display:flex!important;justify-content:center!important;align-items:baseline!important;gap:7px!important;white-space:nowrap!important}
.vml-location-copy em{font-style:normal!important;font-weight:500!important;color:#fff!important}
.vml-location-copy strong{display:inline!important;color:#f13f78!important;font-size:1.08em!important;font-weight:900!important;text-decoration:none!important}
.vml-location-cta{
    position:absolute!important;z-index:2!important;left:50%!important;bottom:10%!important;transform:translateX(-50%)!important;
    min-width:58%!important;min-height:44px!important;padding:10px 18px!important;border:1px solid rgba(255,255,255,.72)!important;
    border-radius:13px!important;background:rgba(5,36,72,.48)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;
    font-size:14px!important;font-weight:800!important;backdrop-filter:blur(7px)!important;box-shadow:0 8px 20px rgba(0,27,61,.16)!important;
}
.vml-location-banner:hover .vml-location-cta{background:#f13f78!important;border-color:#f13f78!important;transform:translateX(-50%) translateY(-2px)!important}

/* Featured-company widget keeps the characteristic image complete and readable. */
.vml-side-featured-premium{min-height:230px!important;background:#0A3469!important}
.vml-side-featured-premium>img{object-fit:contain!important;object-position:center!important;background:#0A3469!important}
.vml-side-featured-premium .vml-side-featured-overlay{background:linear-gradient(180deg,rgba(3,27,59,.08) 0%,rgba(3,27,59,.30) 48%,rgba(3,27,59,.94) 100%)!important}

/* Sticky tooltips: white premium label + subtle shadow. */
@media(min-width:901px){
  .vml-floating-btn::after,.vml-floating-review::after{
    background:#fff!important;color:#0A3469!important;border:1px solid #e1eaf2!important;
    box-shadow:0 12px 30px rgba(10,52,105,.16)!important;border-radius:12px!important;padding:10px 14px!important;
  }
  .vml-floating-btn::before,.vml-floating-review::before{background:#fff!important;border-color:#e1eaf2!important}
}

/* Empty approved reviews — modern single star, no decorative circles/dots. */
.vml-no-reviews-premium{
    gap:18px!important;padding:24px 26px!important;border:1px solid #cde7a9!important;border-radius:18px!important;
    background:linear-gradient(135deg,#f5ffe7 0%,#eefbd8 100%)!important;box-shadow:0 10px 26px rgba(86,139,47,.08)!important;
}
.vml-no-reviews-premium>span{
    position:static!important;width:58px!important;height:58px!important;flex:0 0 58px!important;border:0!important;border-radius:14px!important;
    background:#fff!important;color:#55a13d!important;box-shadow:0 8px 20px rgba(76,132,48,.12)!important;
    font-size:34px!important;line-height:1!important;
}
.vml-no-reviews-premium>span::before,.vml-no-reviews-premium>span::after{display:none!important;content:none!important}
.vml-no-reviews-premium strong{font-size:17px!important;line-height:1.25!important;color:#2e7b2b!important;font-weight:800!important}
.vml-no-reviews-premium p{font-size:14px!important;line-height:1.45!important;color:#5f7f55!important;margin-top:5px!important}
.vml-approved-reviews-heading .vml-side-kicker{color:#3f9c55!important}

/* Rebuilt share grid: thin consistent line icons, no broken filled glyphs. */
.vml-share-grid button{
  border:1px solid rgba(255,255,255,.30)!important;background:rgba(255,255,255,.035)!important;
  border-radius:18px!important;overflow:visible!important;
}
.vml-share-grid button:hover{border-color:rgba(255,255,255,.78)!important;background:rgba(255,255,255,.10)!important}
.vml-share-grid b{width:50px!important;height:50px!important;background:transparent!important;border:0!important;color:#fff!important}
.vml-share-grid b svg{width:38px!important;height:38px!important;fill:none!important;stroke:#fff!important;stroke-width:1.55!important;vector-effect:non-scaling-stroke!important}
.vml-share-grid button>span{font-weight:700!important;letter-spacing:.01em!important}

/* Similar listings heading gets a clearer premium identity. */
.vml-similar{margin-top:18px!important;padding-top:26px!important;border-top:1px solid #e7edf3!important}
.vml-similar-title{position:relative!important;margin-bottom:22px!important;padding:20px 22px!important;border:1px solid #dce8f2!important;border-radius:18px!important;background:linear-gradient(135deg,#f7fbff 0%,#fff 58%,#f5fbf6 100%)!important;box-shadow:0 12px 28px rgba(10,52,105,.07)!important}
.vml-similar-title::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,#50aee7,#72b977)}
.vml-similar-title h2{margin:4px 0 3px!important;font-size:30px!important;letter-spacing:-.02em!important;color:#0A3469!important}
.vml-similar-title p{margin:0!important;color:#7890a7!important;font-size:13px!important}

@media(max-width:900px){
  .vml-sidebar{display:flex!important;flex-direction:column!important}
  .vml-location-banner{aspect-ratio:3/2!important;min-height:0!important}
}
@media(max-width:560px){
  .vml-location-copy{font-size:19px!important;top:44%!important}
  .vml-location-cta{min-height:40px!important;font-size:13px!important;bottom:8%!important}
  .vml-no-reviews-premium{padding:18px!important;align-items:flex-start!important}
  .vml-similar-title h2{font-size:25px!important}
}

/* =========================================================
   v0.11.1 — correct Traveler listing location, sidebar order,
   full portrait search artwork, rebuilt social-share icons
   ========================================================= */

/* Characteristic image is the FIRST sidebar widget. */
.vml-sidebar .vml-side-featured-premium{order:-10!important}
.vml-sidebar .vml-contact-card{order:-9!important}

/* Search-location artwork is LAST, after the quote form. The supplied artwork
   is 900x940, so matching its natural ratio shows the whole woman/image. */
.vml-sidebar .vml-location-banner{order:99!important}
.vml-location-banner{
  width:100%!important;
  aspect-ratio:900/940!important;
  min-height:0!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.vml-location-copy{top:43%!important;width:90%!important}
.vml-location-copy>span:first-child{font-size:24px!important}
.vml-location-inline{font-size:24px!important;gap:8px!important}
.vml-location-copy strong{font-size:1em!important}
.vml-location-cta{bottom:7.5%!important}

/* Fresh share cards + clean line icons. */
.vml-share-grid{gap:14px!important}
.vml-share-grid button{
  min-width:0!important;min-height:126px!important;
  padding:18px 12px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  overflow:hidden!important;
}
.vml-share-grid button:hover{
  border-color:rgba(255,255,255,.76)!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:0 13px 28px rgba(0,22,48,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.vml-share-grid b{
  width:54px!important;height:54px!important;display:grid!important;place-items:center!important;
  color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
.vml-share-grid b svg{
  display:block!important;width:42px!important;height:42px!important;
  fill:none!important;stroke:#fff!important;stroke-width:1.7!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  overflow:visible!important;
}
.vml-share-grid b svg path,.vml-share-grid b svg rect,.vml-share-grid b svg circle{
  fill:none!important;stroke:#fff!important;vector-effect:non-scaling-stroke!important;
}
.vml-share-grid button>span{font-size:15px!important;font-weight:700!important;color:#fff!important}

@media(max-width:900px){
  .vml-location-banner{aspect-ratio:900/940!important}
}
@media(max-width:560px){
  .vml-location-copy>span:first-child,.vml-location-inline{font-size:20px!important}
  .vml-share-grid button{min-height:106px!important;padding:14px 8px!important}
  .vml-share-grid b{width:46px!important;height:46px!important}
  .vml-share-grid b svg{width:36px!important;height:36px!important}
}

/* =========================================================
   v0.11.3 — safe mobile/tablet action FAB + sidebar overlap fix
   Built directly on the stable v0.11.1 codebase.
   ========================================================= */

/* The quote form must remain in normal sidebar flow so it can never slide
   over the location banner placed after it. */
.vml-quote-card{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
}

/* Keep the complete supplied 900x940 location artwork visible. */
.vml-location-banner{
    aspect-ratio:900/940!important;
    min-height:0!important;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#073664!important;
}

/* Mobile/tablet launcher is not part of the desktop rail. */
.vml-mobile-tools-toggle{display:none!important}

@media (max-width:900px){
    /* Override older mobile rules that hid the action rail completely. */
    .vml-floating-tools{
        display:flex!important;
        position:fixed!important;
        z-index:99980!important;
        left:auto!important;
        right:18px!important;
        top:auto!important;
        bottom:20px!important;
        width:auto!important;
        height:auto!important;
        margin:0!important;
        padding:0!important;
        transform:none!important;
        flex-direction:column!important;
        align-items:center!important;
        gap:10px!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transition:opacity .2s ease,visibility .2s ease!important;
    }
    .vml-floating-tools.is-mobile-visible{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
    }

    /* Existing actions stay functionally identical, but are collapsed until
       the main FAB is pressed. */
    .vml-floating-tools > .vml-floating-btn,
    .vml-floating-tools > .vml-floating-review{
        width:56px!important;
        height:56px!important;
        min-width:56px!important;
        min-height:56px!important;
        border-radius:50%!important;
        border:1px solid #e1e9f1!important;
        background:#fff!important;
        color:#0A3469!important;
        box-shadow:0 12px 30px rgba(10,52,105,.18)!important;
        display:grid!important;
        place-items:center!important;
        padding:0!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:translateY(18px) scale(.86)!important;
        transition:opacity .18s ease,visibility .18s ease,transform .18s ease,box-shadow .18s ease!important;
    }
    .vml-floating-tools.is-open > .vml-floating-btn,
    .vml-floating-tools.is-open > .vml-floating-review{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translateY(0) scale(1)!important;
    }
    .vml-floating-tools > .vml-floating-btn:hover,
    .vml-floating-tools > .vml-floating-review:hover{
        background:#fff!important;
        color:#e83f7c!important;
        transform:translateY(-2px) scale(1.03)!important;
        box-shadow:0 16px 36px rgba(10,52,105,.23)!important;
    }
    .vml-floating-tools .vml-float-icon{
        width:28px!important;height:28px!important;display:grid!important;place-items:center!important;
    }
    .vml-floating-tools .vml-float-icon svg{
        width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;
        stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;
    }
    .vml-floating-tools .vml-floating-fav.is-active{color:#e83f7c!important;border-color:#f1c7d6!important}

    .vml-mobile-tools-toggle{
        order:99!important;
        width:64px!important;
        height:64px!important;
        min-width:64px!important;
        min-height:64px!important;
        padding:0!important;
        border:1px solid rgba(255,255,255,.72)!important;
        border-radius:50%!important;
        background:linear-gradient(135deg,#0A3469 0%,#0A3469 18%,rgb(111,166,122) 100%)!important;
        color:#fff!important;
        box-shadow:0 16px 38px rgba(8,42,83,.28)!important;
        display:grid!important;
        place-items:center!important;
        cursor:pointer!important;
        transition:transform .18s ease,box-shadow .18s ease!important;
    }
    .vml-mobile-tools-toggle:active{transform:scale(.96)!important}
    .vml-mobile-tools-toggle-icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important}
    .vml-mobile-tools-toggle svg{width:30px!important;height:30px!important;fill:#fff!important;stroke:none!important}
    .vml-floating-tools.is-open .vml-mobile-tools-toggle svg{transform:rotate(90deg)!important;transition:transform .18s ease!important}

    /* Traveler's native wishlist proxy is functional only; never render it. */
    .vml-native-wishlist-proxy{display:none!important}
}

@media (max-width:560px){
    .vml-floating-tools{right:14px!important;bottom:16px!important;gap:9px!important}
    .vml-floating-tools > .vml-floating-btn,
    .vml-floating-tools > .vml-floating-review{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important}
    .vml-mobile-tools-toggle{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important}
}


/* v0.11.6 — white mobile/tablet launcher (real CSS, not escaped text) */
@media (max-width:900px){
  .vml-mobile-tools-toggle{background:#fff!important;background-image:none!important;color:#0A3469!important;border:1px solid #e2eaf2!important;box-shadow:0 8px 22px rgba(10,52,105,.13)!important;position:relative!important;overflow:visible!important}
  .vml-mobile-tools-toggle:hover,.vml-mobile-tools-toggle:focus{background:#fff!important;background-image:none!important;color:#0A3469!important;box-shadow:0 11px 26px rgba(10,52,105,.17)!important}
  .vml-mobile-tools-toggle-icon{position:relative!important;width:46px!important;height:46px!important;display:grid!important;place-items:center!important}
  .vml-mobile-tools-toggle .vml-toggle-dots{width:25px!important;height:25px!important;fill:#0A3469!important;stroke:none!important}
  .vml-mobile-tools-toggle .vml-toggle-mini{position:absolute!important;width:14px!important;height:14px!important;display:grid!important;place-items:center!important;color:#6fa67a!important;opacity:.82!important}
  .vml-mobile-tools-toggle .vml-toggle-mini svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}
  .vml-toggle-mini-top{top:-4px!important;left:50%!important;transform:translateX(-50%)!important}.vml-toggle-mini-right{right:-5px!important;top:50%!important;transform:translateY(-50%)!important}.vml-toggle-mini-bottom{bottom:-4px!important;left:50%!important;transform:translateX(-50%)!important}.vml-toggle-mini-left{left:-5px!important;top:50%!important;transform:translateY(-50%)!important}
}


/* v0.11.6.1 — premium quote form + floating rail stop before Similar */
.vml-quote-card.vml-quote-card-premium{
  background:linear-gradient(180deg,#fffdfa 0%,#ffffff 100%)!important;
  border:1px solid #edf0f4!important;border-radius:24px!important;overflow:hidden!important;
  box-shadow:0 18px 44px rgba(10,52,105,.10)!important;color:#0A3469!important;
}
.vml-quote-card-premium .vml-quote-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:26px 24px 16px!important;background:radial-gradient(circle at 90% 12%,rgba(255,95,55,.10),transparent 34%)!important}
.vml-quote-card-premium .vml-quote-kicker{display:inline-flex!important;align-items:center!important;padding:8px 13px!important;border-radius:999px!important;background:#fff0ea!important;color:#f04c2f!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important}
.vml-quote-card-premium .vml-quote-head h3{margin:13px 0 4px!important;color:#0A3469!important;font-size:31px!important;line-height:1.05!important;letter-spacing:-.02em!important}
.vml-quote-card-premium .vml-quote-head p{margin:0!important;color:#7083a0!important;font-size:14px!important;line-height:1.45!important}
.vml-quote-head-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#fff0ea;color:#ff5a36;flex:0 0 66px}
.vml-quote-head-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8}
.vml-quote-form-premium{display:grid!important;gap:14px!important;padding:8px 24px 24px!important}
.vml-quote-form-premium label>span:first-child{display:block!important;margin:0 0 7px 1px!important;color:#0A3469!important;font-size:13px!important;font-weight:800!important}
.vml-quote-field{position:relative!important;display:block!important}
.vml-quote-field>i{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;width:22px!important;height:22px!important;display:grid!important;place-items:center!important;color:#0A3469!important;z-index:2!important;font-style:normal!important}
.vml-quote-field>i svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.vml-quote-field-textarea>i{top:17px!important;transform:none!important}
.vml-quote-form-premium .vml-quote-field input,.vml-quote-form-premium .vml-quote-field select,.vml-quote-form-premium .vml-quote-field textarea{width:100%!important;border:1px solid #b9d2f4!important;border-radius:12px!important;background:#fbfdff!important;color:#0A3469!important;font-size:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;outline:none!important}
.vml-quote-form-premium .vml-quote-field input,.vml-quote-form-premium .vml-quote-field select{height:54px!important;padding:0 16px 0 50px!important}
.vml-quote-form-premium .vml-quote-field textarea{min-height:118px!important;padding:15px 14px 14px 50px!important;resize:vertical!important}
.vml-quote-form-premium .vml-quote-field input:focus,.vml-quote-form-premium .vml-quote-field select:focus,.vml-quote-form-premium .vml-quote-field textarea:focus{border-color:#6ba6ef!important;box-shadow:0 0 0 3px rgba(70,143,229,.10)!important}
.vml-quote-form-premium button[type=submit]{min-height:56px!important;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#ff5a36 0%,#ff7047 100%)!important;color:#fff!important;font-size:16px!important;font-weight:900!important;box-shadow:0 12px 26px rgba(255,90,54,.22)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.vml-quote-form-premium button[type=submit]:hover{transform:translateY(-2px)!important;box-shadow:0 16px 32px rgba(255,90,54,.28)!important}
.vml-quote-form-premium .vml-privacy-note{display:block!important;text-align:center!important;color:#6680a3!important;font-size:12px!important;margin-top:-2px!important}
@media(max-width:560px){.vml-quote-card-premium .vml-quote-head{padding:22px 18px 14px!important}.vml-quote-card-premium .vml-quote-head h3{font-size:26px!important}.vml-quote-head-icon{width:54px;height:54px;flex-basis:54px}.vml-quote-form-premium{padding:6px 18px 20px!important}}


/* =========================================================
   v0.11.6.2 — quote card fidelity + compact mobile action launcher
   ========================================================= */

/* Quote form: reproduce the supplied white premium card instead of the old navy panel. */
.vml-quote-card.vml-quote-card-premium{
  position:relative!important;
  top:auto!important;
  background:linear-gradient(180deg,#fffaf7 0%,#ffffff 26%,#ffffff 100%)!important;
  border:1px solid #eef2f6!important;
  border-radius:26px!important;
  overflow:hidden!important;
  color:#0b2c5f!important;
  box-shadow:0 18px 46px rgba(33,73,118,.12)!important;
  padding:0!important;
}
.vml-quote-card-premium .vml-quote-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:24px 22px 12px!important;
  background:radial-gradient(circle at 92% 18%,rgba(255,100,59,.12) 0,rgba(255,100,59,.06) 21%,transparent 47%)!important;
}
.vml-quote-card-premium .vml-quote-head-copy{min-width:0!important}
.vml-quote-card-premium .vml-quote-kicker{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:34px!important;padding:7px 13px!important;border-radius:999px!important;
  background:#ffebe5!important;color:#f04c2f!important;font-size:11px!important;font-weight:900!important;
  letter-spacing:.035em!important;line-height:1!important;
}
.vml-quote-card-premium .vml-quote-head h3{
  margin:13px 0 5px!important;color:#0b2c5f!important;font-size:31px!important;line-height:1.05!important;
  font-weight:900!important;letter-spacing:-.025em!important;
}
.vml-quote-card-premium .vml-quote-head p{
  margin:0!important;color:#667b9d!important;font-size:13px!important;line-height:1.5!important;
}
.vml-quote-card-premium .vml-quote-head-icon{
  width:62px!important;height:62px!important;min-width:62px!important;flex:0 0 62px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:#fff0ea!important;color:#ff5a36!important;
}
.vml-quote-card-premium .vml-quote-head-icon svg{
  width:34px!important;height:34px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}
.vml-quote-card-premium .vml-quote-head-icon svg *{fill:none!important;stroke:currentColor!important}

.vml-quote-form.vml-quote-form-premium{
  display:grid!important;gap:14px!important;padding:10px 22px 22px!important;background:transparent!important;
}
.vml-quote-form-premium label{display:block!important;margin:0!important;color:#0b2c5f!important}
.vml-quote-form-premium label>span:first-child{
  display:block!important;margin:0 0 7px!important;color:#0b2c5f!important;font-size:13px!important;line-height:1.25!important;font-weight:900!important;
}
.vml-quote-form-premium .vml-quote-field{position:relative!important;display:block!important;width:100%!important}
.vml-quote-form-premium .vml-quote-field>i{
  position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;
  width:22px!important;height:22px!important;display:grid!important;place-items:center!important;color:#0b2c5f!important;
  z-index:3!important;font-style:normal!important;background:transparent!important;
}
.vml-quote-form-premium .vml-quote-field-textarea>i{top:17px!important;transform:none!important}
.vml-quote-form-premium .vml-quote-field>i svg{
  width:22px!important;height:22px!important;display:block!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.65!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.vml-quote-form-premium .vml-quote-field>i svg *{fill:none!important;stroke:currentColor!important}
.vml-quote-form-premium input,
.vml-quote-form-premium select,
.vml-quote-form-premium textarea{
  box-sizing:border-box!important;width:100%!important;margin:0!important;border:1.35px solid #b8d3f7!important;
  border-radius:12px!important;background:#fbfdff!important;color:#0b2c5f!important;font-size:14px!important;
  line-height:1.35!important;outline:none!important;box-shadow:0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.55)!important;
}
.vml-quote-form-premium input,.vml-quote-form-premium select{height:54px!important;padding:0 14px 0 50px!important}
.vml-quote-form-premium textarea{min-height:118px!important;padding:15px 14px 14px 50px!important;resize:vertical!important}
.vml-quote-form-premium input::placeholder,.vml-quote-form-premium textarea::placeholder{color:#8292ad!important;opacity:1!important}
.vml-quote-form-premium input:focus,.vml-quote-form-premium select:focus,.vml-quote-form-premium textarea:focus{
  border-color:#78aef3!important;box-shadow:0 0 0 3px rgba(75,140,229,.10)!important;
}
.vml-quote-form-premium button[type=submit]{
  width:100%!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;
  margin-top:2px!important;padding:13px 18px!important;border:0!important;border-radius:14px!important;
  background:linear-gradient(135deg,#ff5938 0%,#ff6a42 100%)!important;color:#fff!important;
  font-size:16px!important;line-height:1!important;font-weight:900!important;box-shadow:0 12px 26px rgba(255,89,56,.22)!important;
}
.vml-quote-form-premium button[type=submit] svg{
  width:24px!important;height:24px!important;fill:none!important;stroke:#fff!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.vml-quote-form-premium button[type=submit] svg *{fill:none!important;stroke:#fff!important}
.vml-quote-form-premium .vml-privacy-note{
  display:block!important;text-align:center!important;color:#6780a4!important;font-size:12px!important;line-height:1.35!important;margin:0!important;
}

/* Main mobile/tablet launcher: three dots above, the four action symbols in one quiet row below. */
@media (max-width:900px){
  .vml-mobile-tools-toggle{
    background:#fff!important;background-image:none!important;color:#0A3469!important;
    border:1px solid #e3eaf1!important;box-shadow:0 8px 22px rgba(10,52,105,.12)!important;
  }
  .vml-mobile-tools-toggle:hover,.vml-mobile-tools-toggle:focus{
    background:#fff!important;color:#0A3469!important;box-shadow:0 10px 26px rgba(10,52,105,.16)!important;
  }
  .vml-mobile-tools-toggle-icon{
    position:relative!important;width:48px!important;height:42px!important;display:block!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-dots{
    position:absolute!important;left:50%!important;top:3px!important;transform:translateX(-50%)!important;
    width:24px!important;height:12px!important;fill:#0A3469!important;stroke:none!important;opacity:.92!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-mini{
    position:absolute!important;top:24px!important;width:11px!important;height:11px!important;display:grid!important;place-items:center!important;
    color:#78a98a!important;opacity:.58!important;transform:none!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-mini svg{
    width:11px!important;height:11px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-mini svg *{fill:none!important;stroke:currentColor!important}
  .vml-toggle-mini-top{left:0!important}
  .vml-toggle-mini-left{left:12px!important}
  .vml-toggle-mini-right{left:25px!important;right:auto!important}
  .vml-toggle-mini-bottom{left:37px!important;bottom:auto!important}
}

/* Fit the same visual language in the narrow sidebar without distorting it. */
@media (min-width:901px) and (max-width:1280px){
  .vml-quote-card-premium .vml-quote-head{padding:20px 17px 10px!important}
  .vml-quote-card-premium .vml-quote-head h3{font-size:25px!important}
  .vml-quote-card-premium .vml-quote-head p{font-size:11px!important}
  .vml-quote-card-premium .vml-quote-head-icon{width:52px!important;height:52px!important;min-width:52px!important;flex-basis:52px!important}
  .vml-quote-card-premium .vml-quote-head-icon svg{width:29px!important;height:29px!important}
  .vml-quote-form.vml-quote-form-premium{padding:9px 17px 18px!important;gap:12px!important}
  .vml-quote-form-premium input,.vml-quote-form-premium select{height:50px!important}
}

@media (max-width:560px){
  .vml-quote-card-premium .vml-quote-head{padding:20px 17px 11px!important}
  .vml-quote-card-premium .vml-quote-head h3{font-size:27px!important}
  .vml-quote-card-premium .vml-quote-head-icon{width:54px!important;height:54px!important;min-width:54px!important;flex-basis:54px!important}
  .vml-quote-form.vml-quote-form-premium{padding:8px 17px 19px!important;gap:13px!important}
}

/* =========================================================
   v0.11.6.4 — Enhanced map controls: zoom, directions, Street View
   ========================================================= */
.vml-native-map{position:relative !important;}
.vml-native-map .vml-map-controls{
    position:absolute;
    inset:0;
    z-index:8;
    pointer-events:none;
    font-family:inherit;
}
.vml-native-map .vml-map-zoom{
    position:absolute;
    right:14px;
    bottom:14px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(7,29,61,.12);
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 22px rgba(7,29,61,.14);
    pointer-events:auto;
}
.vml-native-map .vml-map-control{
    width:44px;
    height:42px;
    border:0;
    background:#fff;
    color:#0A3469;
    font-size:27px;
    font-weight:400;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}
.vml-native-map .vml-map-control + .vml-map-control{border-top:1px solid #e7edf4;}
.vml-native-map .vml-map-control:hover{background:#f1f7ff;color:#f15a3b;}
.vml-native-map .vml-map-control:active{transform:scale(.95);}

.vml-native-map .vml-map-actions{
    position:absolute;
    left:14px;
    bottom:14px;
    display:flex;
    align-items:center;
    gap:8px;
    pointer-events:auto;
}
.vml-native-map .vml-map-action{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border:1px solid rgba(7,29,61,.12);
    border-radius:13px;
    background:rgba(255,255,255,.97);
    color:#0A3469;
    box-shadow:0 8px 22px rgba(7,29,61,.14);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.vml-native-map .vml-map-action:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(7,29,61,.18);
    background:#fff;
    color:#f15a3b;
}
.vml-native-map .vml-map-action-icon{
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.vml-native-map .vml-map-action-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.vml-native-map .vml-map-street .vml-map-action-icon svg circle,
.vml-native-map .vml-map-street .vml-map-action-icon svg path{fill:none;}

@media(max-width:640px){
    .vml-native-map .vml-map-actions{left:10px;bottom:10px;gap:6px;}
    .vml-native-map .vml-map-zoom{right:10px;bottom:10px;}
    .vml-native-map .vml-map-action{padding:9px 10px;font-size:0;min-width:42px;justify-content:center;}
    .vml-native-map .vml-map-action-icon{width:22px;height:22px;}
    .vml-native-map .vml-map-control{width:42px;height:40px;}
}


/* =========================================================
   v0.11.6.6 — clean map UI + soft blue/white/peach featured overlay
   ========================================================= */
/* Remove plugin-added map controls. Google embed keeps its native UI. */
.vml-native-map .vml-map-controls,
.vml-native-map .vml-map-zoom,
.vml-native-map .vml-map-actions,
.vml-native-map .vml-map-action,
.vml-native-map .vml-map-control{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* Featured-image sidebar banner: transparent palette sampled from the supplied
   light-blue -> soft white -> warm peach artwork, while retaining readability. */
.vml-side-featured-premium .vml-side-featured-overlay{
    background:
      linear-gradient(105deg,rgba(83,176,245,.28) 0%,rgba(213,235,252,.14) 34%,rgba(255,255,255,.07) 55%,rgba(255,215,181,.24) 100%),
      linear-gradient(180deg,rgba(4,25,55,.05) 0%,rgba(4,25,55,.24) 48%,rgba(4,25,55,.84) 100%)!important;
}


/* =========================================================
   v0.11.6.7 — stronger featured overlay, refined quote title,
   compact map stack, and interactive mobile launcher
   ========================================================= */

/* Stronger blue -> white -> peach overlay on the FEATURED IMAGE banner. */
.vml-side-featured-premium .vml-side-featured-overlay{
  opacity:1!important;
  background:
    linear-gradient(105deg,rgba(73,169,241,.52) 0%,rgba(184,222,250,.34) 30%,rgba(255,255,255,.16) 54%,rgba(255,210,176,.48) 100%),
    linear-gradient(180deg,rgba(5,29,61,.08) 0%,rgba(5,29,61,.28) 47%,rgba(4,24,54,.84) 100%)!important;
}

/* Quote heading: much lighter "Ζητήστε", while keeping "Προσφορά" strong. */
.vml-quote-card-premium .vml-quote-head h3{font-weight:800!important;letter-spacing:-.7px!important}
.vml-quote-card-premium .vml-quote-head h3::first-line{font-weight:800!important}
.vml-quote-card-premium .vml-quote-head h3{font-variation-settings:"wght" 800!important}
/* Split-looking weight without changing the visible text: de-emphasise the first word. */
.vml-quote-card-premium .vml-quote-head h3{display:flex!important;align-items:baseline!important;gap:.22em!important}
.vml-quote-card-premium .vml-quote-head h3 .vml-quote-light{font-weight:200!important;font-variation-settings:"wght" 200!important}

/* Truck icon in the quote header. */
.vml-quote-card-premium .vml-quote-head-icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* Hide all legacy custom-map controls, then show only the new compact stack. */
.vml-native-map .vml-map-controls,.vml-native-map .vml-map-zoom,.vml-native-map .vml-map-actions,
.vml-native-map .vml-map-action,.vml-native-map .vml-map-control{display:none!important}
.vml-native-map .vml-map-compact-stack{
  position:absolute!important;right:14px!important;bottom:14px!important;z-index:12!important;
  display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;
  border-radius:14px!important;overflow:hidden!important;background:#fff!important;
  border:1px solid rgba(10,52,105,.14)!important;box-shadow:0 10px 28px rgba(7,35,72,.18)!important;
}
.vml-native-map .vml-map-compact-btn{
  width:44px!important;height:43px!important;min-width:44px!important;min-height:43px!important;
  display:grid!important;place-items:center!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:#fff!important;color:#0A3469!important;
  text-decoration:none!important;font:500 27px/1 Arial,sans-serif!important;cursor:pointer!important;
  transition:background .18s ease,color .18s ease!important;
}
.vml-native-map .vml-map-compact-btn + .vml-map-compact-btn{border-top:1px solid #e5edf5!important}
.vml-native-map .vml-map-compact-btn:hover{background:#f5f9fd!important;color:#ef5b3f!important}
.vml-native-map .vml-map-main svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
@media(max-width:640px){.vml-native-map .vml-map-compact-stack{right:10px!important;bottom:10px!important}.vml-native-map .vml-map-compact-btn{width:42px!important;height:40px!important;min-width:42px!important;min-height:40px!important}}

/* Main mobile/tablet action button: large dots at rest. The four tiny action
   symbols appear in ONE ROW below the dots only while the whole button is hovered/focused/open. */
@media (max-width:900px){
  .vml-mobile-tools-toggle{
    background:#fff!important;background-image:none!important;color:#0A3469!important;
    border:1px solid rgba(214,225,236,.96)!important;box-shadow:0 9px 24px rgba(10,52,105,.13)!important;
    transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important;
  }
  .vml-mobile-tools-toggle:hover,.vml-mobile-tools-toggle:focus-visible,.vml-floating-tools.is-open .vml-mobile-tools-toggle{
    background:linear-gradient(135deg,#69b9f2 0%,#bfe0f7 31%,#f7fbfd 55%,#fff7ef 72%,#ffd9bb 100%)!important;
    color:#0A3469!important;box-shadow:0 12px 30px rgba(10,52,105,.18)!important;
  }
  .vml-mobile-tools-toggle-icon{width:50px!important;height:45px!important;position:relative!important;display:block!important}
  .vml-mobile-tools-toggle .vml-toggle-dots{
    position:absolute!important;top:8px!important;left:50%!important;transform:translateX(-50%) rotate(0deg)!important;
    width:30px!important;height:14px!important;fill:#0A3469!important;opacity:1!important;
    transition:transform .32s ease,top .2s ease!important;
  }
  .vml-mobile-tools-toggle:hover .vml-toggle-dots,
  .vml-mobile-tools-toggle:focus-visible .vml-toggle-dots,
  .vml-floating-tools.is-open .vml-mobile-tools-toggle .vml-toggle-dots{
    transform:translateX(-50%) rotate(180deg)!important;top:3px!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-mini{
    top:26px!important;width:12px!important;height:12px!important;color:#5f9770!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(4px)!important;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease!important;
  }
  .vml-mobile-tools-toggle:hover .vml-toggle-mini,
  .vml-mobile-tools-toggle:focus-visible .vml-toggle-mini,
  .vml-floating-tools.is-open .vml-mobile-tools-toggle .vml-toggle-mini{
    opacity:.64!important;visibility:visible!important;transform:translateY(0)!important;
  }
  .vml-toggle-mini-top{left:0!important}.vml-toggle-mini-left{left:13px!important}.vml-toggle-mini-right{left:26px!important;right:auto!important}.vml-toggle-mini-bottom{left:39px!important;bottom:auto!important}
  .vml-mobile-tools-toggle .vml-toggle-mini svg{width:12px!important;height:12px!important;stroke-width:1.35!important}
}


/* =========================================================
   v0.11.6.8 — clean map, refined quote typography, larger FAB dots
   ========================================================= */

/* No extra controls injected by this plugin on top of Google Maps. */
.vml-native-map .vml-map-compact-stack,
.vml-native-map .vml-map-controls,
.vml-native-map .vml-map-zoom,
.vml-native-map .vml-map-actions,
.vml-native-map .vml-map-action,
.vml-native-map .vml-map-control{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Quote: supplied light premium treatment. */
.vml-quote-card-premium .vml-quote-head h3 .vml-quote-light{
  font-weight:200!important;
  font-variation-settings:"wght" 200!important;
}
.vml-quote-card-premium .vml-quote-head h3 > span:nth-child(2){
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
}

/* Soft blue -> white -> peach from the supplied reference artwork. */
.vml-quote-card-premium .vml-quote-head-icon{
  background:
    radial-gradient(circle at 72% 30%,rgba(255,255,255,.92) 0 23%,transparent 47%),
    linear-gradient(135deg,#79c5f7 0%,#d9effd 34%,#fffdf9 60%,#ffd8bb 100%)!important;
  color:#f05234!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 8px 22px rgba(68,130,182,.13)!important;
}

/* Labels: uppercase, lighter and softer blue. */
.vml-quote-form-premium label>span:first-child{
  text-transform:uppercase!important;
  color:#6f91b7!important;
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.055em!important;
}

/* Tablet/mobile main action launcher: bigger, precisely centered three dots. */
@media (max-width:900px){
  .vml-mobile-tools-toggle{
    display:grid!important;
    place-items:center!important;
  }
  .vml-mobile-tools-toggle-icon{
    width:56px!important;
    height:56px!important;
    display:grid!important;
    place-items:center!important;
    position:relative!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-dots{
    width:45px!important;
    height:22px!important;
    top:50%!important;
    left:50%!important;
    transform:translate(-50%,-50%) rotate(0deg)!important;
    transform-origin:50% 50%!important;
    fill:#0A3469!important;
    opacity:1!important;
  }
  .vml-mobile-tools-toggle .vml-toggle-dots circle{
    r:2.8px!important;
  }
  .vml-mobile-tools-toggle:hover .vml-toggle-dots,
  .vml-mobile-tools-toggle:focus-visible .vml-toggle-dots,
  .vml-floating-tools.is-open .vml-mobile-tools-toggle .vml-toggle-dots{
    top:50%!important;
    transform:translate(-50%,-50%) rotate(180deg)!important;
  }
}

@media (max-width:560px){
  .vml-mobile-tools-toggle-icon{width:52px!important;height:52px!important}
  .vml-mobile-tools-toggle .vml-toggle-dots{width:42px!important;height:21px!important}
}

/* =========================================================
   v0.11.6.9 — mobile contained hero + FAQ/Q&A
   ========================================================= */
.vml-faq-section{overflow:hidden;background:linear-gradient(135deg,rgba(226,243,255,.78),rgba(255,255,255,.94) 48%,rgba(255,235,222,.72))!important;border-color:rgba(144,187,225,.35)!important;padding:0!important}
.vml-faq-layout{display:grid;grid-template-columns:minmax(250px,34%) 1fr;min-height:620px}
.vml-faq-person{position:relative;align-self:stretch;background:linear-gradient(180deg,rgba(209,235,255,.55),rgba(255,239,229,.42));overflow:hidden}
.vml-faq-person img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;mix-blend-mode:multiply}
.vml-faq-content{padding:42px 46px}.vml-faq-content h2{margin:4px 0 8px;font-size:34px;color:#082858}.vml-faq-lead{margin:0 0 24px;color:#68809f}
.vml-faq-list{display:grid;gap:10px}.vml-faq-item{border:1px solid rgba(98,159,211,.26);border-radius:16px;background:rgba(255,255,255,.58);backdrop-filter:blur(8px);overflow:hidden}
.vml-faq-item summary{list-style:none;cursor:pointer;padding:17px 19px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#0b315f;font-weight:600}.vml-faq-item summary::-webkit-details-marker{display:none}.vml-faq-item summary b{font-size:24px;font-weight:300;transition:.25s}.vml-faq-item[open] summary b{transform:rotate(45deg)}
.vml-faq-answer{padding:0 19px 18px;color:#607792;line-height:1.65}
.vml-ask-box{margin-top:24px;padding:24px;border-radius:20px;background:rgba(255,255,255,.66);border:1px solid rgba(98,159,211,.24);box-shadow:0 14px 38px rgba(34,84,130,.08)}.vml-ask-heading small{color:#6c84a2}.vml-ask-heading h3{margin:2px 0 18px;color:#082858;font-size:26px}
.vml-question-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vml-question-form label{display:block}.vml-question-form label>span{display:block;font-size:11px;letter-spacing:.08em;font-weight:400;color:#79a0c5;margin:0 0 6px}.vml-question-form input,.vml-question-form textarea{width:100%;border:1px solid rgba(104,164,215,.35);background:rgba(255,255,255,.82);border-radius:12px;padding:13px 14px;color:#173a65;outline:none}.vml-question-form textarea{min-height:100px;resize:vertical}.vml-question-text{margin-top:10px}.vml-question-form button{margin-top:12px;border:0;border-radius:12px;padding:13px 22px;background:linear-gradient(90deg,#ff5a3d,#e93d79);color:#fff;font-weight:600;cursor:pointer}.vml-question-status{margin-top:8px;font-size:13px}.vml-question-status.is-success{color:#16814b}.vml-question-status.is-error{color:#b52b2b}.vml-ask-note{margin:12px 0 0;color:#6c84a2;font-size:13px}

@media(max-width:900px){
  .vml-faq-layout{grid-template-columns:1fr}.vml-faq-person{height:320px}.vml-faq-person img{object-position:center 22%}.vml-faq-content{padding:28px 22px}.vml-question-fields{grid-template-columns:1fr}
  .vml-hero-shell{background:#071d3d!important}
  .vml-hero-clear{min-height:760px!important;background:transparent!important;isolation:isolate}
  .vml-hero-clear::after{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-7%;height:52%;background-image:var(--vml-blur);background-size:cover;background-position:center 72%;filter:blur(34px) saturate(1.15) brightness(.56);transform:scale(1.16);opacity:.98}
  .vml-hero-main-image{position:absolute!important;z-index:-2!important;inset:0 0 auto 0!important;width:100%!important;height:58%!important;object-fit:contain!important;object-position:center top!important;background:#071d3d!important}
  .vml-hero-shell .vml-hero-overlay{background:linear-gradient(180deg,rgba(4,20,45,.08) 0%,rgba(4,20,45,.18) 42%,rgba(4,20,45,.78) 63%,rgba(4,20,45,.92) 100%)!important}
  .vml-hero-shell .vml-hero-content{min-height:760px!important;padding:28px 10px 22px!important;justify-content:flex-end!important}
  .vml-hero-copy{margin-top:auto}.vml-hero-thumbs{margin-top:16px!important}
}
@media(max-width:520px){.vml-hero-clear,.vml-hero-shell .vml-hero-content{min-height:700px!important}.vml-hero-main-image{height:56%!important}.vml-faq-person{height:260px}.vml-faq-content h2{font-size:29px}}

/* =========================================================
   v0.11.6.11 — mobile hero + redesigned editable FAQ / question section
   ========================================================= */
.vml-faq-section{padding:30px 34px!important;background:linear-gradient(118deg,rgba(224,242,255,.88) 0%,rgba(255,255,255,.96) 43%,rgba(229,255,240,.62) 70%,rgba(255,238,225,.74) 100%)!important;border:1px solid rgba(118,174,224,.25)!important}
.vml-faq-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,48%);align-items:start;gap:28px;margin-bottom:18px}.vml-faq-head h2{font-size:38px;line-height:1.05;color:#082858;margin:5px 0 7px}.vml-faq-head p{margin:0;color:#6b7fc5;font-size:17px}
.vml-faq-jump{display:grid;grid-template-columns:52px 1fr 46px;align-items:center;gap:12px;text-decoration:none!important;border:1px solid rgba(92,165,232,.34);border-radius:16px;background:rgba(255,255,255,.58);min-height:82px;padding:10px 12px;color:#092e91!important;transition:.25s}.vml-faq-jump:hover{transform:translateY(-2px);background:rgba(255,255,255,.82);box-shadow:0 12px 28px rgba(61,127,191,.12)}.vml-faq-jump-icon,.vml-faq-jump>b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(188,225,255,.68);font-size:27px;font-style:normal}.vml-faq-jump span strong,.vml-faq-jump span small{display:block}.vml-faq-jump span strong{font-size:15px}.vml-faq-jump span small{color:#7187c4;margin-top:4px;font-size:13px}.vml-faq-jump>b{font-size:25px;font-weight:400}
.vml-faq-layout{grid-template-columns:minmax(300px,34%) 1fr;min-height:420px;align-items:center}.vml-faq-person{background:transparent;min-height:390px;overflow:visible;display:flex;align-items:flex-end;justify-content:center;position:relative}.vml-faq-person-circle{width:300px;height:300px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#d9efff,#eef8ff);position:relative}.vml-faq-person-circle img{width:116%;height:116%;max-width:none;object-fit:cover;object-position:center 12%;margin:-2% 0 0 -8%;mix-blend-mode:normal}.vml-faq-question-mark{position:absolute;right:16px;top:24px;width:84px;height:84px;border-radius:50% 50% 50% 12%;display:grid;place-items:center;background:#fff0e4;color:#ff5b24;font-size:58px;font-weight:800;transform:rotate(7deg)}.vml-faq-person em{position:absolute;right:0;bottom:20px;color:#1685e8;font-style:normal;font-weight:700;font-size:16px;line-height:1.35;transform:rotate(-7deg)}
.vml-faq-content{padding:0 0 0 26px}.vml-faq-list{gap:8px}.vml-faq-item{border-radius:14px;background:rgba(255,255,255,.64);border-color:rgba(90,161,225,.32)}.vml-faq-item summary{display:grid;grid-template-columns:52px 1fr 30px;padding:0 15px 0 0;min-height:66px;gap:14px}.vml-faq-icon{align-self:stretch;display:grid;place-items:center;border-right:1px solid rgba(95,164,226,.2);background:rgba(194,227,255,.56);border-radius:13px 0 0 13px}.vml-faq-icon svg,.vml-faq-icon img{width:25px;height:25px;object-fit:contain;color:#4c9be7}.vml-faq-icon svg{stroke:currentColor}.vml-faq-question-title{font-weight:650;color:#082d8b}.vml-faq-item summary>b{color:#0633a6;font-size:29px}.vml-faq-answer{padding:0 22px 18px 66px;color:#607792}
.vml-question-section{position:relative;overflow:hidden;padding:34px 44px!important;background:linear-gradient(118deg,rgba(226,244,255,.92),rgba(255,255,255,.97) 45%,rgba(231,255,242,.64) 72%,rgba(255,239,225,.75))!important;border-color:rgba(112,173,226,.25)!important}.vml-question-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:-190px;bottom:-310px;background:rgba(191,224,255,.35)}.vml-question-inner{position:relative;padding-right:220px}.vml-ask-heading small{color:#1486e5;font-weight:700;letter-spacing:.04em}.vml-ask-heading h2{margin:2px 0 0;font-size:34px;color:#082858}.vml-ask-heading p{margin:2px 0 18px;color:#7284c3}.vml-question-form{position:relative;z-index:2}.vml-question-fields{gap:16px}.vml-question-form input,.vml-question-form textarea{background:rgba(255,255,255,.72);border-color:rgba(100,164,220,.3)}.vml-question-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.vml-question-form button{min-width:310px;border-radius:999px;background:#fff!important;color:#48ad20!important;box-shadow:0 8px 22px rgba(60,111,150,.1);font-size:18px}.vml-question-form button b{font-size:25px;margin-left:22px}.vml-ask-note{margin:12px 0 0;color:#7183bd}.vml-question-truck{position:absolute;right:5px;bottom:0;width:185px;text-align:center;color:#4c9bea;transform:rotate(-5deg)}.vml-question-truck svg{width:96px;height:72px;display:block;margin:0 auto 6px}.vml-question-truck strong{font-size:19px;line-height:1.25}

@media(max-width:900px){
  /* Reference mobile hero: tall photo first, unified dark/blurred lower panel. */
  .vml-hero-shell{background:#071d3d!important;overflow:hidden}
  .vml-hero-clear{min-height:980px!important;background:#071d3d!important}
  .vml-hero-main-image{inset:0!important;width:100%!important;height:60%!important;object-fit:cover!important;object-position:center center!important;background:#071d3d!important}
  .vml-hero-clear::after{left:-12%!important;right:-12%!important;bottom:-2%!important;height:50%!important;filter:blur(42px) saturate(1.18) brightness(.52)!important;transform:scale(1.2)!important;opacity:1!important}
  .vml-hero-shell .vml-hero-overlay{background:linear-gradient(180deg,rgba(3,18,40,0) 0%,rgba(3,18,40,.04) 48%,rgba(4,22,49,.76) 61%,rgba(4,22,49,.96) 78%,#071d3d 100%)!important}
  .vml-hero-shell .vml-hero-content{min-height:980px!important;padding:28px 16px 28px!important;justify-content:flex-end!important}
  .vml-hero-copy{margin-top:auto!important}.vml-hero-shell h1,.vml-hero h1{font-size:clamp(42px,10.5vw,64px)!important;line-height:1.02!important}.vml-hero-thumbs{margin-top:22px!important;gap:10px!important}.vml-thumb{width:112px!important;height:72px!important}
  .vml-faq-section{padding:24px 18px!important}.vml-faq-head{grid-template-columns:1fr}.vml-faq-head h2{font-size:32px}.vml-faq-jump{grid-template-columns:44px 1fr 40px;min-height:74px}.vml-faq-jump-icon,.vml-faq-jump>b{width:40px;height:40px}
  .vml-faq-layout{grid-template-columns:1fr;min-height:0}.vml-faq-person{height:330px;min-height:330px}.vml-faq-person-circle{width:280px;height:280px}.vml-faq-question-mark{right:12%;top:10px}.vml-faq-person em{right:8%;bottom:12px}.vml-faq-content{padding:12px 0 0}.vml-faq-item summary{grid-template-columns:50px 1fr 28px}.vml-faq-answer{padding-left:64px}
  .vml-question-section{padding:28px 20px!important}.vml-question-inner{padding-right:0;padding-bottom:150px}.vml-question-fields{grid-template-columns:1fr}.vml-question-bottom{align-items:flex-start;flex-direction:column}.vml-question-form button{min-width:0;width:100%}.vml-question-truck{right:50%;transform:translateX(50%) rotate(-4deg);bottom:-2px}
}
@media(max-width:520px){
  .vml-hero-clear,.vml-hero-shell .vml-hero-content{min-height:900px!important}.vml-hero-main-image{height:57%!important;object-position:center center!important}.vml-hero-shell .vml-hero-content{padding-left:8px!important;padding-right:8px!important}.vml-hero-thumbs{overflow-x:auto!important}.vml-thumb{width:92px!important;height:62px!important;flex:0 0 auto!important}
  .vml-faq-person{height:300px;min-height:300px}.vml-faq-person-circle{width:245px;height:245px}.vml-faq-question-mark{width:70px;height:70px;font-size:48px;right:5%;top:16px}.vml-faq-person em{right:1%;font-size:14px}.vml-faq-head h2{font-size:29px}.vml-faq-jump span strong{font-size:13px}.vml-faq-jump span small{font-size:11px}.vml-faq-question-title{font-size:14px}
}

/* =========================================================
   v0.11.6.12 — reference-accurate mobile hero + FAQ polish
   ========================================================= */
/* FAQ: cool blue/white palette only, closer to supplied reference */
.vml-faq-section{position:relative;background:linear-gradient(115deg,#eef8ff 0%,#f9fcff 44%,#edf7ff 72%,#f8fbff 100%)!important;box-shadow:0 16px 45px rgba(63,126,184,.10)!important}
.vml-faq-section:before{content:"";position:absolute;left:-90px;bottom:-130px;width:330px;height:330px;border-radius:50%;background:rgba(176,218,255,.18);pointer-events:none}
.vml-faq-section:after{content:"";position:absolute;right:9%;top:-105px;width:270px;height:270px;border-radius:46% 54% 61% 39%;background:rgba(205,231,255,.16);transform:rotate(24deg);pointer-events:none}
.vml-faq-head,.vml-faq-layout{position:relative;z-index:1}
.vml-faq-jump{background:rgba(246,251,255,.82)!important;border-color:rgba(78,160,232,.32)!important}
.vml-faq-item{background:rgba(250,253,255,.76)!important;border:1px solid rgba(87,166,235,.36)!important;box-shadow:inset 0 1px rgba(255,255,255,.85)}
.vml-faq-icon{background:linear-gradient(145deg,rgba(181,221,255,.78),rgba(220,239,255,.62))!important}
.vml-faq-person-circle{background:linear-gradient(145deg,#d9efff,#f1f8ff)!important}

/* Question section: no orange/green wash; decorative blue shapes + long dotted route */
.vml-question-section{background:linear-gradient(120deg,#eef8ff 0%,#fbfdff 48%,#edf7ff 100%)!important;box-shadow:0 16px 45px rgba(63,126,184,.10)!important}
.vml-question-section:before{width:600px!important;height:600px!important;left:-250px!important;bottom:-390px!important;background:rgba(181,220,255,.28)!important}
.vml-question-section:after{content:"";position:absolute;right:115px;bottom:-125px;width:330px;height:330px;border-radius:52% 48% 36% 64%;background:rgba(207,232,255,.28);transform:rotate(24deg);pointer-events:none}
.vml-question-inner:before{content:"";position:absolute;right:73px;bottom:48px;width:210px;height:150px;border-right:3px dashed rgba(84,164,235,.55);border-bottom:3px dashed rgba(84,164,235,.55);border-radius:0 0 90px 0;transform:rotate(-8deg);pointer-events:none}
.vml-question-truck{z-index:2;color:#4d9eea!important}
.vml-question-form button{color:#1685e8!important;border:1px solid rgba(91,164,230,.28)!important}

@media(max-width:900px){
  /* Mobile/tablet reference: the photo is CONTAINED and narrower than the viewport.
     The lower area is not a flat navy block: it is the same hero photo, enlarged + blurred. */
  .vml-hero-shell{background:transparent!important;overflow:hidden!important}
  .vml-hero-clear{min-height:940px!important;background:transparent!important;isolation:isolate!important}
  .vml-hero-blur-bg{display:block!important;position:absolute!important;inset:0!important;background-image:var(--vml-blur)!important;background-size:cover!important;background-position:center!important;filter:blur(36px) saturate(1.12) brightness(.58)!important;transform:scale(1.18)!important;opacity:1!important;z-index:-4!important}
  .vml-hero-clear:before{content:""!important;display:block!important;position:absolute!important;z-index:-3!important;left:0!important;right:0!important;top:0!important;height:59%!important;background:rgba(255,255,255,.04)!important}
  .vml-hero-main-image{position:absolute!important;z-index:-2!important;top:0!important;left:50%!important;right:auto!important;bottom:auto!important;width:92%!important;height:59%!important;transform:translateX(-50%)!important;object-fit:contain!important;object-position:center top!important;background:transparent!important}
  .vml-hero-clear::after{content:""!important;position:absolute!important;z-index:-1!important;left:-15%!important;right:-15%!important;top:48%!important;bottom:-12%!important;height:auto!important;background-image:var(--vml-blur)!important;background-size:cover!important;background-position:center 66%!important;filter:blur(42px) saturate(1.18) brightness(.48)!important;transform:scale(1.22)!important;opacity:1!important}
  .vml-hero-shell .vml-hero-overlay{z-index:0!important;background:linear-gradient(180deg,rgba(4,20,44,0) 0%,rgba(4,20,44,.02) 43%,rgba(5,28,57,.28) 52%,rgba(5,28,57,.66) 64%,rgba(4,25,52,.78) 100%)!important}
  .vml-hero-shell .vml-hero-content{position:relative!important;z-index:2!important;min-height:940px!important;padding:26px 18px 28px!important;justify-content:flex-end!important}
  .vml-question-inner:before{right:8%;bottom:25px;width:150px;height:110px}
}
@media(max-width:520px){
  .vml-hero-clear,.vml-hero-shell .vml-hero-content{min-height:900px!important}
  .vml-hero-main-image{width:94%!important;height:55%!important}
  .vml-hero-clear:before{height:55%!important}
  .vml-hero-clear::after{top:45%!important}
  .vml-question-section:after{right:-140px;bottom:-110px;width:290px;height:290px}
  .vml-question-inner:before{right:0;bottom:28px;width:135px;height:105px}
}

/* =========================================================
   v0.11.6.13 — exact FAQ reference styling + corrected mobile hero
   ========================================================= */

/* ---------- FAQ / Q&A: rebuilt to match supplied reference ---------- */
.vml-faq-section{
  position:relative!important;
  overflow:hidden!important;
  padding:30px 36px 28px!important;
  border:1px solid rgba(103,166,225,.30)!important;
  border-radius:28px!important;
  background:
    radial-gradient(ellipse at 42% -10%, rgba(219,255,226,.72) 0%, rgba(219,255,226,0) 33%),
    radial-gradient(ellipse at 102% 30%, rgba(255,232,215,.72) 0%, rgba(255,232,215,0) 35%),
    linear-gradient(125deg,#eaf6ff 0%,#f9fcff 48%,#f6fbff 70%,#fffaf5 100%)!important;
  box-shadow:0 18px 48px rgba(54,108,164,.10)!important;
}
.vml-faq-section:before{
  content:""!important;
  position:absolute!important;
  left:-130px!important;
  bottom:-185px!important;
  width:420px!important;
  height:420px!important;
  border-radius:50%!important;
  background:rgba(164,211,255,.16)!important;
  pointer-events:none!important;
}
.vml-faq-section:after{
  content:""!important;
  position:absolute!important;
  right:-70px!important;
  top:-120px!important;
  width:360px!important;
  height:260px!important;
  border-radius:52% 48% 64% 36%!important;
  background:rgba(255,236,224,.20)!important;
  transform:rotate(18deg)!important;
  pointer-events:none!important;
}
.vml-faq-head{
  position:relative!important;
  z-index:3!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,48%)!important;
  align-items:start!important;
  gap:24px!important;
  margin:0 0 12px!important;
}
.vml-faq-head .vml-eyebrow{
  color:#1688eb!important;
  font-weight:750!important;
  letter-spacing:.035em!important;
  font-size:13px!important;
}
.vml-faq-head h2{
  margin:5px 0 4px!important;
  color:#1431a0!important;
  font-size:40px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
.vml-faq-head p{
  margin:0!important;
  color:#697fd2!important;
  font-size:17px!important;
  line-height:1.35!important;
}
.vml-faq-jump{
  min-height:82px!important;
  padding:8px 12px!important;
  display:grid!important;
  grid-template-columns:58px 1fr 50px!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid rgba(86,166,234,.34)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.60)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  text-decoration:none!important;
  color:#132e9d!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.vml-faq-jump:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 12px 28px rgba(51,117,178,.11),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.vml-faq-jump-icon,
.vml-faq-jump>b{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#d8eeff,#b8ddff)!important;
  color:#1688eb!important;
}
.vml-faq-jump-icon svg{width:25px!important;height:25px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.vml-faq-jump-icon svg *{fill:none!important;stroke:currentColor!important}
.vml-faq-jump>b{font-size:27px!important;font-weight:500!important}
.vml-faq-jump span strong{display:block!important;font-size:15px!important;line-height:1.25!important;color:#1530a0!important}
.vml-faq-jump span small{display:block!important;margin-top:4px!important;color:#6d82cf!important;font-size:13px!important;line-height:1.3!important}

.vml-faq-layout{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(280px,34%) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:center!important;
  min-height:330px!important;
}
.vml-faq-person{
  position:relative!important;
  min-height:320px!important;
  height:320px!important;
  display:block!important;
  overflow:visible!important;
  background:transparent!important;
}
.vml-faq-person-circle{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:270px!important;
  height:270px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#dcefff,#edf8ff)!important;
  box-shadow:inset 0 0 0 1px rgba(94,166,231,.12)!important;
}
.vml-faq-person-circle:before{
  content:""!important;
  position:absolute!important;
  inset:-16px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 38% 36%,rgba(106,182,255,.18),rgba(106,182,255,0) 65%)!important;
  pointer-events:none!important;
}
.vml-faq-person-circle img{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 11%!important;
  display:block!important;
  mix-blend-mode:normal!important;
}
.vml-faq-question-mark{
  position:absolute!important;
  z-index:3!important;
  left:230px!important;
  top:18px!important;
  width:88px!important;
  height:88px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#fff0df,#ffe1c6)!important;
  color:#ff5a1f!important;
  font-size:58px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(239,139,77,.10)!important;
}
.vml-faq-question-mark:after{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  bottom:-10px!important;
  width:26px!important;
  height:26px!important;
  background:#ffe7d1!important;
  clip-path:polygon(0 0,100% 0,0 100%)!important;
  transform:rotate(11deg)!important;
}
.vml-faq-person em{
  position:absolute!important;
  z-index:3!important;
  left:245px!important;
  bottom:22px!important;
  width:115px!important;
  color:#1590eb!important;
  font-style:normal!important;
  font-weight:700!important;
  font-size:17px!important;
  line-height:1.25!important;
  transform:rotate(-7deg)!important;
  text-align:left!important;
}
.vml-faq-person em:after{
  content:""!important;
  display:block!important;
  width:55px!important;
  height:3px!important;
  margin:7px 0 0 5px!important;
  border-radius:999px!important;
  background:#1590eb!important;
  transform:rotate(-5deg)!important;
}
.vml-faq-content{padding:0!important;min-width:0!important}
.vml-faq-list{display:grid!important;gap:9px!important}
.vml-faq-item{
  overflow:hidden!important;
  border:1px solid rgba(93,166,230,.34)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(7px)!important;
}
.vml-faq-item summary{
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr) 42px!important;
  align-items:center!important;
  min-height:64px!important;
  gap:10px!important;
  padding:0 12px 0 0!important;
  list-style:none!important;
  cursor:pointer!important;
}
.vml-faq-item summary::-webkit-details-marker{display:none!important}
.vml-faq-icon{
  position:relative!important;
  align-self:stretch!important;
  display:grid!important;
  place-items:center!important;
  border-right:1px solid rgba(95,164,226,.18)!important;
  background:rgba(225,242,255,.52)!important;
  border-radius:14px 0 0 14px!important;
}
.vml-faq-icon:before{
  content:""!important;
  position:absolute!important;
  width:43px!important;
  height:43px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#a9d5ff,#d8edff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.vml-faq-icon svg,.vml-faq-icon img{
  position:relative!important;
  z-index:1!important;
  width:23px!important;
  height:23px!important;
  object-fit:contain!important;
  color:#fff!important;
  filter:none!important;
}
.vml-faq-icon svg{fill:none!important;stroke:#fff!important;stroke-width:1.7!important}
.vml-faq-icon svg *{fill:none!important;stroke:#fff!important}
.vml-faq-question-title{
  color:#17309e!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.vml-faq-item summary>b{
  color:#1533a6!important;
  font-size:31px!important;
  font-weight:400!important;
  text-align:center!important;
  transition:transform .2s ease!important;
}
.vml-faq-item[open] summary>b{transform:rotate(45deg)!important}
.vml-faq-answer{
  padding:0 22px 18px 76px!important;
  color:#607794!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* ---------- "Κάντε μια ερώτηση" — same visual language as supplied reference ---------- */
.vml-question-section{
  position:relative!important;
  overflow:hidden!important;
  padding:26px 36px 24px!important;
  border:1px solid rgba(103,166,225,.28)!important;
  border-radius:28px!important;
  background:
    radial-gradient(ellipse at 48% 120%,rgba(191,224,255,.38) 0%,rgba(191,224,255,0) 38%),
    radial-gradient(ellipse at 93% 24%,rgba(229,255,234,.40) 0%,rgba(229,255,234,0) 31%),
    linear-gradient(125deg,#eef8ff 0%,#fbfdff 54%,#f7fbff 100%)!important;
  box-shadow:0 18px 48px rgba(54,108,164,.09)!important;
}
.vml-question-section:before{
  content:""!important;
  position:absolute!important;
  left:-240px!important;
  bottom:-410px!important;
  width:670px!important;
  height:670px!important;
  border-radius:50%!important;
  background:rgba(172,215,255,.19)!important;
  pointer-events:none!important;
}
.vml-question-section:after{
  content:""!important;
  position:absolute!important;
  right:-165px!important;
  bottom:-210px!important;
  width:520px!important;
  height:420px!important;
  border-radius:48% 52% 60% 40%!important;
  background:rgba(199,228,255,.20)!important;
  transform:rotate(16deg)!important;
  pointer-events:none!important;
}
.vml-question-inner{
  position:relative!important;
  z-index:2!important;
  padding-right:210px!important;
}
.vml-ask-heading small{
  display:block!important;
  color:#1688eb!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
}
.vml-ask-heading h2{
  margin:3px 0 1px!important;
  color:#1431a0!important;
  font-size:39px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
.vml-ask-heading p{
  margin:0 0 14px!important;
  color:#697fd2!important;
  font-size:17px!important;
}
.vml-question-form{position:relative!important;z-index:3!important}
.vml-question-fields{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.vml-question-form label>span{
  display:block!important;
  margin:0 0 6px!important;
  color:#647cc9!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
}
.vml-question-form input,.vml-question-form textarea{
  width:100%!important;
  border:1px solid rgba(100,164,220,.38)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  color:#173a65!important;
  outline:none!important;
}
.vml-question-form input{height:56px!important;padding:0 16px!important}
.vml-question-text{display:block!important;margin-top:10px!important}
.vml-question-form textarea{min-height:88px!important;padding:14px 16px!important;resize:vertical!important}
.vml-question-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-top:10px!important;
}
.vml-question-form button{
  min-width:310px!important;
  height:58px!important;
  padding:0 28px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#49b71e!important;
  box-shadow:0 9px 24px rgba(55,108,150,.12)!important;
  font-size:19px!important;
  font-weight:750!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.vml-question-form button:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(55,108,150,.16)!important}
.vml-question-form button b{font-size:26px!important;margin-left:24px!important;font-weight:400!important}
.vml-ask-note{
  position:relative!important;
  margin:0!important;
  padding-left:31px!important;
  color:#7285c8!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.vml-ask-note:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:18px!important;
  height:15px!important;
  transform:translateY(-35%)!important;
  border:2px solid #7186cc!important;
  border-radius:3px!important;
}
.vml-ask-note:after{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:calc(50% - 13px)!important;
  width:8px!important;
  height:8px!important;
  border:2px solid #7186cc!important;
  border-bottom:0!important;
  border-radius:8px 8px 0 0!important;
}
.vml-question-truck{
  position:absolute!important;
  z-index:3!important;
  right:0!important;
  bottom:1px!important;
  width:185px!important;
  text-align:center!important;
  color:#4b9eea!important;
  transform:rotate(-5deg)!important;
}
.vml-question-truck svg{
  width:100px!important;
  height:76px!important;
  display:block!important;
  margin:0 auto 4px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
}
.vml-question-truck svg *{fill:none!important;stroke:currentColor!important}
.vml-question-truck strong{
  display:block!important;
  color:#1688eb!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:750!important;
}
.vml-question-inner:before{
  content:""!important;
  position:absolute!important;
  right:78px!important;
  bottom:76px!important;
  width:255px!important;
  height:120px!important;
  border-right:3px dashed rgba(83,163,234,.58)!important;
  border-bottom:3px dashed rgba(83,163,234,.58)!important;
  border-radius:0 0 105px 0!important;
  transform:rotate(-5deg)!important;
  pointer-events:none!important;
}

/* ---------- Mobile/tablet HERO: full-width clear photo + blurred photo extension ---------- */
@media (max-width:900px){
  .vml-hero-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    background:transparent!important;
    overflow:hidden!important;
  }
  .vml-hero-clear{
    width:100%!important;
    max-width:none!important;
    min-height:960px!important;
    margin:0!important;
    background:transparent!important;
    isolation:isolate!important;
    overflow:hidden!important;
  }
  .vml-hero-blur-bg{
    display:none!important;
  }
  .vml-hero-main-image{
    position:absolute!important;
    z-index:-2!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    height:61%!important;
    transform:none!important;
    object-fit:cover!important;
    object-position:center 42%!important;
    background:transparent!important;
    border-radius:0!important;
  }
  .vml-hero-clear:before{
    content:""!important;
    position:absolute!important;
    z-index:-3!important;
    inset:0!important;
    background-image:var(--vml-blur)!important;
    background-size:cover!important;
    background-position:center 58%!important;
    filter:blur(38px) saturate(1.14) brightness(.54)!important;
    transform:scale(1.15)!important;
    opacity:1!important;
    pointer-events:none!important;
  }
  .vml-hero-clear:after{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    left:-16%!important;
    right:-16%!important;
    top:48%!important;
    bottom:-12%!important;
    height:auto!important;
    background-image:var(--vml-blur)!important;
    background-size:cover!important;
    background-position:center 72%!important;
    filter:blur(48px) saturate(1.22) brightness(.42)!important;
    transform:scale(1.22)!important;
    opacity:1!important;
    pointer-events:none!important;
  }
  .vml-hero-shell .vml-hero-overlay{
    z-index:0!important;
    background:linear-gradient(180deg,
      rgba(3,18,40,0) 0%,
      rgba(3,18,40,.02) 42%,
      rgba(3,18,40,.18) 52%,
      rgba(5,27,57,.62) 64%,
      rgba(4,24,50,.90) 81%,
      rgba(4,24,50,.96) 100%)!important;
  }
  .vml-hero-shell .vml-hero-content{
    position:relative!important;
    z-index:2!important;
    min-height:960px!important;
    padding:28px 22px 28px!important;
    justify-content:flex-end!important;
  }
  .vml-hero-copy{margin-top:auto!important}
  .vml-hero-shell h1,.vml-hero h1{
    font-size:clamp(43px,10.6vw,64px)!important;
    line-height:1.02!important;
    margin-bottom:20px!important;
  }
  .vml-hero-thumbs{
    width:100%!important;
    margin-top:20px!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }

  /* Q&A responsive while preserving reference proportions */
  .vml-faq-section{padding:24px 20px 22px!important}
  .vml-faq-head{grid-template-columns:1fr!important;gap:16px!important}
  .vml-faq-head h2{font-size:34px!important}
  .vml-faq-jump{grid-template-columns:50px 1fr 46px!important;min-height:76px!important}
  .vml-faq-layout{grid-template-columns:1fr!important;gap:18px!important;min-height:0!important}
  .vml-faq-person{height:310px!important;min-height:310px!important;max-width:390px!important;margin:0 auto!important;width:100%!important}
  .vml-faq-person-circle{width:260px!important;height:260px!important;left:12px!important}
  .vml-faq-question-mark{left:230px!important;top:10px!important;width:82px!important;height:82px!important;font-size:54px!important}
  .vml-faq-person em{left:238px!important;bottom:22px!important;font-size:16px!important}
  .vml-faq-content{padding:0!important}
  .vml-faq-item summary{grid-template-columns:62px 1fr 38px!important}
  .vml-question-section{padding:26px 20px 24px!important}
  .vml-question-inner{padding-right:0!important;padding-bottom:165px!important}
  .vml-question-fields{grid-template-columns:1fr!important;gap:12px!important}
  .vml-question-bottom{align-items:stretch!important;flex-direction:column!important}
  .vml-question-form button{width:100%!important;min-width:0!important}
  .vml-question-truck{right:50%!important;bottom:4px!important;transform:translateX(50%) rotate(-4deg)!important}
  .vml-question-inner:before{right:18%!important;bottom:66px!important;width:180px!important;height:92px!important}
}

@media (max-width:520px){
  .vml-hero-clear,.vml-hero-shell .vml-hero-content{min-height:900px!important}
  .vml-hero-main-image{height:58%!important;object-position:center 40%!important}
  .vml-hero-clear:after{top:46%!important}
  .vml-hero-shell .vml-hero-content{padding:24px 14px 26px!important}
  .vml-thumb{width:94px!important;height:64px!important;flex:0 0 auto!important}
  .vml-faq-head h2{font-size:31px!important}
  .vml-faq-head p{font-size:15px!important}
  .vml-faq-jump{grid-template-columns:44px 1fr 42px!important;padding:8px!important}
  .vml-faq-jump-icon,.vml-faq-jump>b{width:40px!important;height:40px!important}
  .vml-faq-jump span strong{font-size:13px!important}.vml-faq-jump span small{font-size:11px!important}
  .vml-faq-person{height:285px!important;min-height:285px!important}
  .vml-faq-person-circle{width:235px!important;height:235px!important;left:0!important}
  .vml-faq-question-mark{left:205px!important;top:8px!important;width:72px!important;height:72px!important;font-size:48px!important}
  .vml-faq-person em{left:205px!important;bottom:10px!important;font-size:14px!important;width:95px!important}
  .vml-faq-item summary{grid-template-columns:56px 1fr 34px!important;min-height:60px!important}
  .vml-faq-question-title{font-size:14px!important}
  .vml-faq-answer{padding-left:66px!important}
  .vml-ask-heading h2{font-size:32px!important}
  .vml-ask-heading p{font-size:15px!important}
  .vml-question-form button{font-size:17px!important}
  .vml-question-truck{width:160px!important}
  .vml-question-truck svg{width:86px!important;height:66px!important}
  .vml-question-truck strong{font-size:17px!important}
}

/* ==========================================================
   v0.11.6.14 — mobile hero rebuilt to match supplied reference:
   1) clean contained photo on top, responsive width
   2) blur extension starts exactly at the bottom edge of photo
   3) all hero text/thumbs sit on that blurred extension
   ========================================================== */
@media (max-width:900px){
  .vml-hero-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }

  .vml-hero-clear{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:transparent!important;
  }

  /* Do not use the old full-hero blur layers on mobile/tablet. */
  .vml-hero-blur-bg,
  .vml-hero-clear:before,
  .vml-hero-clear:after{
    display:none!important;
    content:none!important;
  }

  /* CLEAN PHOTO: normal-flow image, never stretched vertically. */
  .vml-hero-main-image{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
    border-radius:0!important;
    background:transparent!important;
  }

  /* Old overlay is not allowed to tint/crop the clean photo. */
  .vml-hero-shell .vml-hero-overlay{
    display:none!important;
  }

  /* BLUR EXTENSION: begins immediately AFTER the clean image. */
  .vml-hero-shell .vml-hero-content{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    min-height:560px!important;
    height:auto!important;
    margin:0!important;
    padding:34px 22px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
    background:#08284f!important;
  }

  .vml-hero-shell .vml-hero-content:before{
    content:""!important;
    position:absolute!important;
    z-index:-2!important;
    inset:-70px -55px!important;
    display:block!important;
    background-image:var(--vml-blur)!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center 72%!important;
    filter:blur(34px) saturate(1.16) brightness(.64)!important;
    transform:scale(1.16)!important;
    opacity:1!important;
    pointer-events:none!important;
  }

  .vml-hero-shell .vml-hero-content:after{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    inset:0!important;
    display:block!important;
    background:linear-gradient(180deg,
      rgba(7,35,70,.24) 0%,
      rgba(6,31,64,.46) 22%,
      rgba(5,28,59,.72) 55%,
      rgba(4,25,52,.91) 100%)!important;
    pointer-events:none!important;
  }

  .vml-hero-copy,
  .vml-hero-thumbs{
    position:relative!important;
    z-index:3!important;
  }

  .vml-hero-copy{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .vml-hero-shell h1,
  .vml-hero h1{
    font-size:clamp(42px,10.6vw,62px)!important;
    line-height:1.02!important;
    margin:0 0 18px!important;
  }

  .vml-hero-thumbs{
    width:100%!important;
    margin-top:22px!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
}

@media (max-width:520px){
  .vml-hero-main-image{
    width:calc(100% - 18px)!important;
  }
  .vml-hero-shell .vml-hero-content{
    min-height:535px!important;
    padding:30px 14px 26px!important;
  }
  .vml-hero-shell .vml-hero-content:before{
    inset:-62px -48px!important;
    background-position:center 74%!important;
    filter:blur(30px) saturate(1.14) brightness(.62)!important;
  }
}

/* ==========================================================
   v0.11.6.15 — MOBILE/TABLET HERO: exact reference composition
   - clean full-width image with natural aspect ratio (no crop)
   - seamless blurred continuation below the image, using SAME image
   - lower content overlaps the image edge so there is no hard seam
   - no flat blue block/background
   ========================================================== */
@media (max-width:900px){
  .vml-hero-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
    border-radius:0!important;
  }

  .vml-hero-clear{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:transparent!important;
    border-radius:0!important;
  }

  /* Disable all older mobile blur/overlay implementations. */
  .vml-hero-blur-bg,
  .vml-hero-clear:before,
  .vml-hero-clear:after,
  .vml-hero-shell .vml-hero-overlay{
    display:none!important;
    content:none!important;
  }

  /* The photo itself is always fully visible and follows the device width. */
  .vml-hero-main-image{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
    border-radius:0!important;
    background:transparent!important;
  }

  /*
   * The text area starts slightly over the bottom of the clean photo.
   * Its pseudo background is the SAME photo, heavily blurred, so it reads
   * visually as a natural continuation of the image rather than a new block.
   */
  .vml-hero-shell .vml-hero-content{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    min-height:585px!important;
    height:auto!important;
    margin:-92px 0 0!important;
    padding:132px 30px 30px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
    background:transparent!important;
  }

  .vml-hero-shell .vml-hero-content:before{
    content:""!important;
    position:absolute!important;
    z-index:-2!important;
    inset:-115px -72px -72px!important;
    display:block!important;
    background-image:var(--vml-blur)!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center bottom!important;
    filter:blur(38px) saturate(1.16) brightness(.55)!important;
    transform:scale(1.18)!important;
    opacity:1!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 10%,#000 27%,#000 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 10%,#000 27%,#000 100%)!important;
    pointer-events:none!important;
  }

  .vml-hero-shell .vml-hero-content:after{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    inset:0!important;
    display:block!important;
    background:linear-gradient(180deg,
      rgba(4,26,54,0) 0%,
      rgba(4,26,54,.18) 13%,
      rgba(4,27,57,.52) 33%,
      rgba(3,24,51,.80) 58%,
      rgba(3,22,47,.94) 100%)!important;
    pointer-events:none!important;
  }

  .vml-hero-copy,
  .vml-hero-thumbs{
    position:relative!important;
    z-index:5!important;
  }

  .vml-hero-copy{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .vml-badges{
    gap:10px!important;
    margin-bottom:22px!important;
    align-items:center!important;
  }

  .vml-verified{
    background:linear-gradient(90deg,rgba(0,101,185,.66),rgba(39,132,188,.55))!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:none!important;
  }

  .vml-rating-badge{
    background:transparent!important;
    border:0!important;
    padding:8px 0!important;
    color:#fff!important;
  }

  .vml-rating-badge small{color:rgba(255,255,255,.84)!important}

  .vml-hero-shell h1,
  .vml-hero h1{
    color:#fff!important;
    font-size:clamp(44px,10.4vw,64px)!important;
    line-height:1.01!important;
    letter-spacing:-.035em!important;
    margin:0 0 18px!important;
  }

  .vml-tagline{
    color:#fff!important;
    font-size:clamp(18px,4.4vw,23px)!important;
    font-weight:600!important;
    margin-bottom:24px!important;
  }

  .vml-trust{
    gap:10px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }

  .vml-trust span{
    flex:0 0 auto!important;
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  }

  .vml-hero-thumbs{
    display:flex!important;
    width:100%!important;
    margin-top:26px!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 4px!important;
    scrollbar-width:none!important;
  }
  .vml-hero-thumbs::-webkit-scrollbar{display:none!important}

  .vml-thumb{
    width:126px!important;
    height:84px!important;
    flex:0 0 auto!important;
    border:3px solid rgba(255,255,255,.92)!important;
    border-radius:13px!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .vml-thumb.is-active{
    border-color:#ff6b3f!important;
  }
}

@media (max-width:560px){
  .vml-hero-shell .vml-hero-content{
    min-height:555px!important;
    margin-top:-78px!important;
    padding:112px 16px 26px!important;
  }
  .vml-hero-shell .vml-hero-content:before{
    inset:-98px -58px -64px!important;
    background-position:center bottom!important;
    filter:blur(34px) saturate(1.14) brightness(.54)!important;
  }
  .vml-hero-shell h1,
  .vml-hero h1{
    font-size:clamp(43px,11vw,58px)!important;
  }
  .vml-badges{
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  .vml-verified{font-size:12px!important;padding:9px 11px!important}
  .vml-rating-badge{font-size:12px!important;gap:6px!important;white-space:nowrap!important}
  .vml-rating-badge .vml-stars{font-size:13px!important;letter-spacing:.5px!important}
  .vml-rating-badge small{font-size:11px!important}
  .vml-trust span{font-size:12px!important;padding:8px 11px!important}
  .vml-thumb{width:104px!important;height:70px!important;border-width:2px!important}
}

@media (max-width:390px){
  .vml-hero-shell .vml-hero-content{
    min-height:525px!important;
    margin-top:-68px!important;
    padding:100px 12px 22px!important;
  }
  .vml-hero-shell h1,
  .vml-hero h1{font-size:42px!important}
  .vml-tagline{font-size:18px!important}
  .vml-verified{font-size:11px!important}
  .vml-rating-badge small{display:none!important}
  .vml-thumb{width:94px!important;height:64px!important}
}


/* =========================================================
   v0.11.6.16 — FAQ / Question section refinement
   ========================================================= */
.vml-faq-section{
  background:linear-gradient(115deg,
    rgba(239,248,255,.97) 0%,
    rgba(250,252,255,.98) 46%,
    rgba(236,245,240,.55) 74%,
    rgba(255,246,240,.45) 100%)!important;
  border-color:rgba(133,185,230,.26)!important;
}
.vml-faq-section:before{background:rgba(182,220,255,.14)!important}
.vml-faq-section:after{background:rgba(201,228,247,.12)!important}
.vml-faq-head .vml-eyebrow,
.vml-ask-heading small{
  color:#69bf3b!important;
}
.vml-faq-head h2,
.vml-ask-heading h2{
  color:#082858!important;
}
.vml-faq-head p,
.vml-ask-heading p{
  display:none!important;
}
.vml-faq-head{margin-bottom:20px!important}
.vml-faq-head .vml-eyebrow{display:inline-block!important;margin-bottom:6px!important}

.vml-faq-jump{
  background:rgba(247,251,255,.88)!important;
  border-color:rgba(106,172,235,.30)!important;
}
.vml-faq-jump span strong{color:#1530a0!important}
.vml-faq-jump span small{color:#6f84c8!important}

.vml-faq-item{
  border-color:rgba(92,162,228,.34)!important;
  background:rgba(252,254,255,.80)!important;
}
.vml-faq-item summary{
  min-height:68px!important;
}
.vml-faq-item[open] summary{
  border-bottom:1px solid rgba(102,163,224,.28)!important;
}
.vml-faq-icon{
  background:linear-gradient(145deg,rgba(186,224,255,.68),rgba(222,240,255,.48))!important;
}
.vml-faq-item[open] .vml-faq-icon{
  border-radius:13px 0 0 0!important;
}
.vml-faq-answer{
  padding:14px 22px 18px 84px!important;
  color:#5f7692!important;
  line-height:1.68!important;
  text-align:left!important;
}
.vml-faq-item[open] .vml-faq-answer{
  border-radius:0 0 14px 14px!important;
}

.vml-question-section{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(118deg,
    rgba(239,247,255,.96) 0%,
    rgba(250,252,255,.98) 55%,
    rgba(242,248,255,.97) 100%)!important;
  border-color:rgba(118,176,228,.22)!important;
}
.vml-question-section:before{
  content:""!important;
  position:absolute!important;
  width:520px!important;
  height:520px!important;
  border-radius:50%!important;
  left:-190px!important;
  bottom:-310px!important;
  background:rgba(191,224,255,.28)!important;
}
.vml-question-section:after{
  content:""!important;
  position:absolute!important;
  right:84px!important;
  bottom:-140px!important;
  width:410px!important;
  height:410px!important;
  border-radius:50%!important;
  background:rgba(208,230,250,.16)!important;
}
.vml-question-inner{
  position:relative!important;
}
/* decorative shapes */
.vml-question-inner:before{
  content:""!important;
  position:absolute!important;
  right:205px!important;
  bottom:136px!important;
  width:18px!important;
  height:18px!important;
  border:3px solid rgba(113,175,244,.55)!important;
  border-radius:4px!important;
  transform:rotate(12deg)!important;
}
.vml-question-inner:after{
  content:""!important;
  position:absolute!important;
  right:144px!important;
  bottom:136px!important;
  width:30px!important;
  height:18px!important;
  border:3px solid rgba(113,175,244,.40)!important;
  border-bottom:none!important;
  border-radius:4px 4px 0 0!important;
  transform:skewX(-10deg)!important;
}
.vml-ask-heading small{
  letter-spacing:.04em!important;
  font-weight:700!important;
}
.vml-ask-heading h2{
  margin:4px 0 16px!important;
}
.vml-question-form button{
  box-shadow:0 8px 22px rgba(60,111,150,.08)!important;
}
.vml-ask-note{
  margin:12px 0 0!important;
  color:#7183bd!important;
  font-size:13px!important;
}
.vml-ask-note:before,
.vml-ask-note:after{
  content:none!important;
  display:none!important;
}
.vml-question-truck{
  right:8px!important;
  bottom:0!important;
  width:210px!important;
  text-align:center!important;
  color:#4c9bea!important;
  transform:rotate(-6deg)!important;
}
.vml-question-truck:before{
  content:""!important;
  position:absolute!important;
  left:-180px!important;
  bottom:58px!important;
  width:210px!important;
  height:160px!important;
  border:4px dashed rgba(108,173,247,.65)!important;
  border-right:none!important;
  border-top:none!important;
  border-radius:0 0 0 170px!important;
  transform:rotate(6deg)!important;
}
.vml-question-truck:after{
  content:""!important;
  position:absolute!important;
  left:-30px!important;
  top:-22px!important;
  width:26px!important;
  height:26px!important;
  border:3px solid rgba(108,173,247,.36)!important;
  border-radius:5px!important;
  transform:rotate(18deg)!important;
}
.vml-question-truck svg{
  width:96px!important;
  height:74px!important;
  display:block!important;
  margin:0 auto 4px!important;
}
.vml-question-truck strong{
  font-size:19px!important;
  line-height:1.23!important;
}

@media (max-width: 991px){
  .vml-faq-answer{padding-left:80px!important}
  .vml-question-inner{padding-right:0!important}
  .vml-question-truck{position:relative!important;right:auto!important;bottom:auto!important;margin:18px auto 0!important}
  .vml-question-truck:before{left:-155px!important;bottom:54px!important;width:180px!important;height:130px!important}
  .vml-question-inner:before{right:135px!important;bottom:116px!important}
  .vml-question-inner:after{right:84px!important;bottom:116px!important}
}
@media (max-width: 640px){
  .vml-faq-head h2,
  .vml-ask-heading h2{font-size:30px!important}
  .vml-faq-answer{padding:13px 16px 16px 72px!important}
  .vml-question-section{padding:28px 22px!important}
  .vml-question-bottom{flex-direction:column!important;align-items:flex-start!important}
  .vml-question-form button{min-width:0!important;width:100%!important}
  .vml-question-truck{width:180px!important;font-size:16px!important}
  .vml-question-truck:before{left:-128px!important;bottom:50px!important;width:140px!important;height:108px!important}
  .vml-question-inner:before{right:86px!important;bottom:108px!important}
  .vml-question-inner:after{right:42px!important;bottom:108px!important}
}

/* =========================================================
   v0.11.6.17 — responsive hero / benefits / FAQ order / FAB cleanup
   ========================================================= */
@media (max-width: 991px){
  /* HERO: keep the image-derived blur continuation, but remove every blue tint/overlay. */
  .vml-hero-shell .vml-hero-overlay,
  .vml-hero-shell .vml-hero-content::after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
  }

  /* Keep the blurred continuation itself visible and free of a flat colour layer. */
  .vml-hero-shell,
  .vml-hero-clear,
  .vml-hero-shell .vml-hero-content{
    background:transparent!important;
  }

  /* INFO BENEFITS: always keep all three benefits on one horizontal row. */
  .vml-info-benefits{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .vml-info-benefits span{
    min-width:0!important;
    gap:7px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  .vml-info-benefits svg{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:7px!important;
  }

  /* FAQ mobile/tablet order:
     title -> accordions -> clarification CTA -> woman image. */
  .vml-faq-section{
    display:flex!important;
    flex-direction:column!important;
  }
  .vml-faq-head,
  .vml-faq-layout{
    display:contents!important;
  }
  .vml-faq-head > div{
    order:1!important;
    margin-bottom:16px!important;
  }
  .vml-faq-content{
    order:2!important;
    width:100%!important;
    padding:0!important;
  }
  .vml-faq-jump{
    order:3!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .vml-faq-person{
    order:4!important;
    width:100%!important;
    margin-top:20px!important;
  }

  /* MOBILE/TABLET MAIN ACTION BUTTON: dots only, at rest/hover/open. */
  .vml-mobile-tools-toggle .vml-toggle-mini,
  .vml-mobile-tools-toggle:hover .vml-toggle-mini,
  .vml-mobile-tools-toggle:focus .vml-toggle-mini,
  .vml-mobile-tools-toggle:focus-visible .vml-toggle-mini,
  .vml-floating-tools.is-open .vml-mobile-tools-toggle .vml-toggle-mini{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width: 520px){
  .vml-info-benefits{gap:5px!important}
  .vml-info-benefits span{gap:5px!important;font-size:10px!important}
  .vml-info-benefits svg{width:30px!important;height:30px!important;min-width:30px!important;padding:6px!important}
}

/* =========================================================
   v0.11.6.18 — heading hooks + FAQ/question typography cleanup
   ========================================================= */

/* FAQ and question-section headings now follow the same visual hierarchy
   as the rest of the main content cards. Each heading has its own semantic
   class in the template so it can be managed independently later. */
.vml-faq-section .vml-section-kicker-faq,
.vml-question-section .vml-section-kicker-question{
  display:block!important;
  margin:0 0 3px!important;
  color:var(--vml-orange)!important;
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.08em!important;
}
.vml-faq-section .vml-section-title-faq,
.vml-question-section .vml-section-title-question{
  margin:3px 0 0!important;
  color:var(--vml-navy)!important;
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-size:29px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}

/* Question form labels/placeholders: remove the old purple cast. */
.vml-question-form .vml-question-field-label{
  color:#7595BA!important;
}
.vml-question-form input::placeholder,
.vml-question-form textarea::placeholder{
  color:#7595BA!important;
  opacity:1!important;
}

/* Independent hooks for section titles/subtitles.
   These intentionally do not restyle all sections; they make later Custom CSS
   targeting simple without depending on shared .vml-section-title selectors. */
.vml-section-title-hero{}
.vml-section-subtitle-hero{}
.vml-section-kicker-about{}
.vml-section-title-about{}
.vml-section-kicker-review-preview{}
.vml-section-title-review-preview{}
.vml-section-kicker-info{}
.vml-section-title-info{}
.vml-section-subtitle-info{}
.vml-section-kicker-services{}
.vml-section-title-services{}
.vml-section-subtitle-services{}
.vml-section-kicker-faq{}
.vml-section-title-faq{}
.vml-section-title-faq-jump{}
.vml-section-subtitle-faq-jump{}
.vml-section-kicker-counties{}
.vml-section-title-counties{}
.vml-section-kicker-areas{}
.vml-section-title-areas{}
.vml-section-title-gallery{}
.vml-section-kicker-location{}
.vml-section-title-location{}
.vml-section-kicker-question{}
.vml-section-title-question{}
.vml-section-title-reviews{}
.vml-section-subtitle-reviews{}
.vml-section-kicker-review-form{}
.vml-section-title-review-form{}
.vml-section-subtitle-review-form{}
.vml-section-kicker-approved-reviews{}
.vml-section-title-approved-reviews{}
.vml-section-title-sidebar-featured{}
.vml-section-kicker-contact{}
.vml-section-title-contact{}
.vml-section-kicker-hours{}
.vml-section-title-hours{}
.vml-section-kicker-quote{}
.vml-section-title-quote{}
.vml-section-subtitle-quote{}
.vml-section-kicker-similar{}
.vml-section-title-similar{}
.vml-section-subtitle-similar{}

@media (max-width:640px){
  .vml-faq-section .vml-section-title-faq,
  .vml-question-section .vml-section-title-question{
    font-size:24px!important;
  }
}

/* =========================================================
   v0.11.6.19 — responsive HERO blue depth overlay
   Reference: keep the upper photo clean and let a deep blue
   transparency build progressively through the lower photo,
   then blend into the existing image-derived blur extension.
   Desktop remains untouched.
   ========================================================= */
@media (max-width:991px){
  /* Keep the existing same-photo blur; only restore a blue transparent
     depth layer above the image/blur and below all hero copy. */
  .vml-hero-clear::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    top:34%!important;
    bottom:0!important;
    height:auto!important;
    pointer-events:none!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    background-image:linear-gradient(
      180deg,
      rgba(4,35,72,0) 0%,
      rgba(4,35,72,.04) 11%,
      rgba(5,43,86,.16) 22%,
      rgba(5,44,88,.38) 36%,
      rgba(5,42,84,.66) 51%,
      rgba(4,36,74,.84) 67%,
      rgba(3,31,65,.94) 82%,
      rgba(3,27,58,.985) 100%
    )!important;
    background-color:transparent!important;
  }

  /* Do not re-enable the old full overlay. The controlled ::after layer
     above gives the exact lower-half blue treatment without tinting the sky. */
  .vml-hero-shell .vml-hero-overlay,
  .vml-hero-shell .vml-hero-content::after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
  }

  .vml-hero-main-image{z-index:1!important}
  .vml-hero-shell .vml-hero-content{z-index:3!important}
}

@media (max-width:560px){
  /* Phone reference: start the blue transition slightly higher and make
     the bottom a touch deeper so white typography stays crisp. */
  .vml-hero-clear::after{
    top:32%!important;
    background-image:linear-gradient(
      180deg,
      rgba(4,35,72,0) 0%,
      rgba(4,35,72,.035) 10%,
      rgba(5,43,86,.15) 20%,
      rgba(5,44,88,.40) 34%,
      rgba(5,42,84,.70) 50%,
      rgba(4,35,73,.88) 67%,
      rgba(3,30,64,.96) 83%,
      rgba(3,26,56,.995) 100%
    )!important;
  }
}

/* =========================================================
   v0.11.6.20 — question block directly after FAQ + cleaner artwork
   ========================================================= */
/* The clarification/question form now sits immediately below the FAQ section. */

/* Remove the small box / package-style decorative glyphs from the
   "ΧΡΕΙΑΖΕΣΤΕ ΕΠΙΠΛΕΟΝ ΔΙΕΥΚΡΙΝΙΣΕΙΣ; / Κάντε μια ερώτηση" artwork.
   Keep the truck, dotted route, fields and main styling untouched. */
.vml-question-inner::before,
.vml-question-inner::after,
.vml-question-truck::after{
  content:none!important;
  display:none!important;
}


/* =========================================================
   v0.11.6.22 — requested external-link icon refinement; based on v0.11.6.21 section placement/content and
   formal information-link affordance
   ========================================================= */
.vml-section-subtitle-faq,
.vml-section-subtitle-question{
  margin:7px 0 0!important;
  color:#7595BA!important;
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.45!important;
}

.vml-section-chip{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin:0 0 9px!important;
  padding:7px 14px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff5a22,#ff7040)!important;
  box-shadow:0 7px 18px rgba(255,90,34,.16)!important;
  color:#fff!important;
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}
.vml-section-title-gallery,
.vml-section-title-reviews{margin-top:0!important}

/* Information table: one consistent black value column. */
.vml-info-full-row>strong,
.vml-info-full-row>strong em,
.vml-info-full-row>strong a,
.vml-info-full-row>strong a:visited{
  color:#000!important;
}
.vml-info-full-row>strong{font-weight:600!important}

/* Formal, compact click affordance for actionable values. */
.vml-info-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  max-width:100%!important;
  color:#000!important;
  text-decoration:none!important;
}
.vml-info-link-text{
  color:#000!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.vml-info-link-cue{
  position:relative!important;
  flex:0 0 auto!important;
  width:24px!important;
  height:24px!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid rgba(15,45,82,.16)!important;
  border-radius:8px!important;
  background:#f7f9fc!important;
  color:#153a68!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.vml-info-link-cue svg{
  width:14px!important;
  height:14px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.vml-info-link:hover .vml-info-link-cue,
.vml-info-link:focus-visible .vml-info-link-cue{
  transform:translateY(-1px)!important;
  background:#fff!important;
  border-color:rgba(15,45,82,.28)!important;
  box-shadow:0 6px 16px rgba(15,45,82,.10)!important;
}
.vml-info-link-cue::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  right:0!important;
  bottom:calc(100% + 9px)!important;
  z-index:20!important;
  width:max-content!important;
  max-width:190px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  background:#102d52!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(11,35,66,.16)!important;
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.2!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(4px)!important;
  transition:.16s ease!important;
}
.vml-info-link-cue:hover::after,
.vml-info-link-cue:focus-visible::after{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
}

@media (max-width:640px){
  .vml-section-subtitle-faq,
  .vml-section-subtitle-question{font-size:14px!important}
  .vml-section-chip{font-size:10px!important;padding:6px 12px!important}
}


/* =========================================================
   v0.11.6.23 — desktop info-value spacing + refined link cue
   Keep existing classes/ellipsis behaviour; only give the
   right/value column more usable room on desktop.
   ========================================================= */
@media (min-width:1025px){
  .vml-info-full-row{
    grid-template-columns:minmax(178px,40%) minmax(0,60%) !important;
    column-gap:10px !important;
  }

  .vml-info-full-row > strong{
    margin-left:-14px !important;
    width:calc(100% + 14px) !important;
    max-width:calc(100% + 14px) !important;
  }

  .vml-info-full-row > strong .vml-info-link{
    width:100% !important;
    max-width:100% !important;
  }

  .vml-info-full-row > strong .vml-info-link-text{
    min-width:0 !important;
    flex:1 1 auto !important;
  }
}

.vml-info-link-cue{
  margin-left:.5em !important;
  width:27px !important;
  height:27px !important;
  border:1px solid #fff !important;
  border-radius:50px !important;
  background:
    radial-gradient(circle at 72% 30%, rgba(255,255,255,.92) 0 23%, transparent 47%),
    linear-gradient(135deg,#79c5f7 0%,#d9effd 34%,#fffdf9 60%,#ffd8bb 100%) !important;
  color:#f05234 !important;
  box-shadow:0 4px 12px rgba(37,86,126,.10), inset 0 0 0 1px rgba(255,255,255,.25) !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease !important;
}

.vml-info-link-cue svg{
  width:14px !important;
  height:14px !important;
  stroke:currentColor !important;
}

.vml-info-link:hover .vml-info-link-cue,
.vml-info-link:focus-visible .vml-info-link-cue,
.vml-info-link-cue:hover{
  border-color:#79c5f7 !important;
  transform:translateY(-1px) scale(1.035) !important;
  box-shadow:0 7px 16px rgba(37,86,126,.14), inset 0 0 0 1px rgba(255,255,255,.35) !important;
  filter:saturate(1.04) brightness(1.015) !important;
}


/* =========================================================
   v0.11.6.24 — share modal visual refresh + location kicker
   ========================================================= */
.vml-share-modal{
  background:rgba(25,42,59,.64)!important;
  backdrop-filter:blur(14px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(112%)!important;
}
.vml-share-dialog{
  position:relative!important;
  width:min(970px,94vw)!important;
  padding:34px 40px 34px!important;
  border:1px solid rgba(123,214,231,.42)!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 5% 2%,rgba(38,127,218,.42) 0 18%,transparent 18.4%),
    radial-gradient(circle at 100% 0%,rgba(72,197,142,.22) 0 18%,transparent 18.4%),
    linear-gradient(135deg,#0b3d78 0%,#0b4777 28%,#167e86 68%,#59b974 100%)!important;
  box-shadow:0 30px 85px rgba(9,28,51,.35)!important;
}
.vml-share-dialog:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.025),transparent 42%,rgba(255,255,255,.04));
}
.vml-share-dialog h3{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  color:#fff!important;
  text-align:center!important;
  font-size:39px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  text-shadow:0 2px 12px rgba(0,28,61,.15)!important;
}
.vml-share-subtitle{
  position:relative!important;
  z-index:2!important;
  margin:10px 0 30px!important;
  color:rgba(255,255,255,.78)!important;
  text-align:center!important;
  font-size:17px!important;
  line-height:1.4!important;
  font-weight:400!important;
}
.vml-share-close{
  z-index:5!important;
  top:20px!important;
  right:24px!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  color:#fff!important;
  font-size:42px!important;
  font-weight:200!important;
  line-height:1!important;
  opacity:.94!important;
}
.vml-share-close:hover{
  background:rgba(255,255,255,.08)!important;
  border-radius:50%!important;
  transform:rotate(5deg) scale(1.04)!important;
}
.vml-share-grid{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.vml-share-grid button{
  min-height:150px!important;
  padding:20px 12px 18px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  color:#fff!important;
  gap:12px!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.vml-share-grid button:hover{
  border-color:rgba(255,255,255,.64)!important;
  background:rgba(255,255,255,.11)!important;
  box-shadow:0 12px 28px rgba(0,24,50,.16),inset 0 1px 0 rgba(255,255,255,.11)!important;
  transform:translateY(-3px)!important;
}
.vml-share-grid b{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px!important;
  border:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 9px 22px rgba(0,24,52,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
  color:#fff!important;
  overflow:hidden!important;
}
.vml-share-grid b i{
  width:auto!important;
  height:auto!important;
  display:block!important;
  color:#fff!important;
  font-size:39px!important;
  line-height:1!important;
  font-style:normal!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.06))!important;
}
.vml-share-grid button[data-share="whatsapp"] b{background:#14c959!important}
.vml-share-grid button[data-share="viber"] b{background:linear-gradient(135deg,#6e52e8 0%,#9b43e5 100%)!important}
.vml-share-grid button[data-share="facebook"] b{background:#1877f2!important}
.vml-share-grid button[data-share="instagram"] b{background:radial-gradient(circle at 31% 107%,#ffd600 0 22%,#ff7a00 30%,#ff0169 58%,#d300c5 75%,#7638fa 100%)!important}
.vml-share-grid button[data-share="x"] b{background:#050505!important}
.vml-share-grid button[data-share="linkedin"] b{background:linear-gradient(135deg,#0a66c2 0%,#1599d5 100%)!important}
.vml-share-grid button[data-share="copy"] b{background:linear-gradient(145deg,#f7fbff 0%,#dbe7ef 100%)!important;color:#20344c!important}
.vml-share-grid button[data-share="copy"] b i{color:#20344c!important}
.vml-share-grid button[data-share="email"] b{background:linear-gradient(135deg,#ff534a 0%,#ff3d43 100%)!important}
.vml-share-grid button>span{
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-align:center!important;
  opacity:1!important;
}
.vml-share-status{position:relative!important;z-index:2!important;color:#fff!important}

/* Charcoal section kicker for the location card. */
.vml-section-kicker-location{
  color:#3f4650!important;
}

@media(max-width:900px){
  .vml-share-dialog{width:min(760px,94vw)!important;padding:32px 24px 28px!important}
  .vml-share-dialog h3{font-size:32px!important}
  .vml-share-subtitle{font-size:15px!important;margin-bottom:24px!important}
  .vml-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .vml-share-grid button{min-height:124px!important}
  .vml-share-grid b{width:62px!important;height:62px!important;flex-basis:62px!important}
  .vml-share-grid b i{font-size:34px!important}
}
@media(max-width:520px){
  .vml-share-dialog{padding:28px 14px 20px!important;border-radius:25px!important}
  .vml-share-dialog h3{font-size:27px!important;padding:0 38px!important}
  .vml-share-subtitle{font-size:14px!important;margin:8px 0 20px!important}
  .vml-share-close{top:12px!important;right:12px!important}
  .vml-share-grid{gap:9px!important}
  .vml-share-grid button{min-height:112px!important;padding:14px 7px 12px!important;border-radius:17px!important}
  .vml-share-grid b{width:54px!important;height:54px!important;flex-basis:54px!important}
  .vml-share-grid b i{font-size:30px!important}
  .vml-share-grid button>span{font-size:13px!important}
}


/* =========================================================
   v0.11.6.26 — review form + share icons polish
   ========================================================= */

/* Review form: softer premium card, stronger hierarchy, cleaner controls. */
#vml-review-form.vml-review-form-premium{
  border:1px solid #d9e7f2!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(10,43,79,.09)!important;
  overflow:hidden!important;
}
#vml-review-form .vml-review-form-head{
  position:relative!important;
  isolation:isolate!important;
  padding:26px 28px 23px!important;
  background:
    radial-gradient(circle at 87% 14%,rgba(255,216,187,.52) 0 10%,transparent 34%),
    radial-gradient(circle at 14% 84%,rgba(121,197,247,.24) 0 9%,transparent 34%),
    linear-gradient(135deg,#fff9f5 0%,#ffffff 48%,#eef8fe 100%)!important;
  border-bottom:1px solid #dfebf4!important;
}
#vml-review-form .vml-review-form-head:after{
  content:"★"!important;
  position:absolute!important;
  z-index:-1!important;
  right:24px!important;
  top:20px!important;
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(240,82,52,.14)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.62)!important;
  color:#f05234!important;
  font-size:24px!important;
  box-shadow:0 10px 24px rgba(45,89,126,.07)!important;
}
#vml-review-form .vml-review-form-head .vml-side-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 11px!important;
  border:1px solid rgba(240,82,52,.12)!important;
  border-radius:999px!important;
  background:rgba(255,232,222,.72)!important;
  color:#e84d32!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
}
#vml-review-form .vml-review-form-head h3{
  max-width:calc(100% - 72px)!important;
  margin:10px 0 5px!important;
  color:#082f62!important;
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
#vml-review-form .vml-review-form-head p{
  max-width:calc(100% - 58px)!important;
  margin:0!important;
  color:#6f849b!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
#vml-review-form .vml-review-form{
  gap:15px!important;
  padding:24px 28px 28px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
}
#vml-review-form .vml-review-form label>span,
#vml-review-form .vml-star-fieldset legend,
#vml-review-form .vml-mini-star-row legend{
  color:#55789d!important;
  font-weight:750!important;
  letter-spacing:.025em!important;
}
#vml-review-form .vml-review-form label>span{
  font-size:11px!important;
  text-transform:uppercase!important;
}
#vml-review-form .vml-review-form input:not([type=radio]),
#vml-review-form .vml-review-form textarea{
  min-height:48px!important;
  padding:12px 14px!important;
  border:1px solid #cddfed!important;
  border-radius:13px!important;
  background:#fcfeff!important;
  color:#12365e!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 4px 14px rgba(25,66,103,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
#vml-review-form .vml-review-form input:not([type=radio]):focus,
#vml-review-form .vml-review-form textarea:focus{
  outline:0!important;
  border-color:#78b9e8!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(121,197,247,.14),0 10px 24px rgba(25,73,116,.07)!important;
}
#vml-review-form .vml-review-form textarea{
  min-height:132px!important;
  resize:vertical!important;
}
#vml-review-form .vml-star-fieldset{
  padding:16px 18px!important;
  border:1px solid #f2dccb!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fffaf6 0%,#fff 62%,#f7fbff 100%)!important;
  box-shadow:0 7px 18px rgba(76,83,91,.035)!important;
}
#vml-review-form .vml-star-fieldset legend{
  margin-bottom:7px!important;
  color:#244d75!important;
  font-size:11px!important;
  text-transform:uppercase!important;
}
#vml-review-form .vml-star-fieldset small{
  margin-top:6px!important;
  color:#7f8fa1!important;
}
#vml-review-form .vml-star-picker{gap:7px!important}
#vml-review-form .vml-star-picker label{
  color:#d7e0e8!important;
  font-size:33px!important;
  filter:drop-shadow(0 2px 4px rgba(16,55,90,.05))!important;
}
#vml-review-form .vml-star-picker label:hover,
#vml-review-form .vml-star-picker label:hover~label,
#vml-review-form .vml-star-picker input:checked~label{color:#ffb523!important}
#vml-review-form .vml-category-ratings-premium{
  gap:8px!important;
  padding:12px 15px!important;
  border:1px solid #dce8f2!important;
  border-radius:15px!important;
  background:#f7fbfe!important;
}
#vml-review-form .vml-mini-star-row{
  padding:8px 2px!important;
  border-bottom:1px solid #e2edf5!important;
}
#vml-review-form .vml-mini-star-row legend{color:#3d6285!important}
#vml-review-form .vml-mini-stars{gap:3px!important}
#vml-review-form .vml-mini-stars label{font-size:19px!important;color:#d6e0e9!important}
#vml-review-form .vml-mini-stars label:hover,
#vml-review-form .vml-mini-stars label:hover~label,
#vml-review-form .vml-mini-stars input:checked~label{color:#ffb523!important}
#vml-review-form .vml-proof-label{
  padding:14px!important;
  border:1px dashed #b9d5e9!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#f8fcff,#fff)!important;
}
#vml-review-form .vml-proof-label small{
  color:#8194a8!important;
  font-size:10.5px!important;
  font-weight:500!important;
}
#vml-review-form .vml-proof-label input[type=file]{
  min-height:44px!important;
  padding:7px!important;
  border:1px solid #d6e5f0!important;
  background:#fff!important;
}
#vml-review-form .vml-proof-label input[type=file]::file-selector-button{
  min-height:31px!important;
  border:1px solid #cee2f1!important;
  border-radius:9px!important;
  background:#eef7fd!important;
  color:#24577f!important;
  padding:7px 11px!important;
  font-weight:750!important;
}
#vml-review-form .vml-review-submit-btn{
  min-height:52px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#0b3c76 0%,#1269a2 100%)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:0 12px 26px rgba(10,61,118,.18)!important;
}
#vml-review-form .vml-review-submit-btn:hover{
  background:linear-gradient(135deg,#0a3569 0%,#0e5d92 100%)!important;
  box-shadow:0 16px 30px rgba(10,61,118,.24)!important;
  transform:translateY(-1px)!important;
}
#vml-review-form .vml-review-status{
  min-height:0!important;
  padding:0 2px!important;
  font-size:11.5px!important;
}

/* Share popup: self-contained vector icons, one refined white shade. */
.vml-share-grid button b{
  background:linear-gradient(145deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.075) 100%)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:#f7fbff!important;
  box-shadow:0 10px 24px rgba(0,24,52,.16),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.vml-share-grid button[data-share] b{
  background:linear-gradient(145deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.075) 100%)!important;
  color:#f7fbff!important;
  border-color:rgba(255,255,255,.30)!important;
}
.vml-share-grid button:hover b{
  background:linear-gradient(145deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.11) 100%)!important;
  border-color:rgba(255,255,255,.48)!important;
  color:#fff!important;
}
.vml-share-grid b svg{
  width:38px!important;
  height:38px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))!important;
}
.vml-share-grid b svg .vml-share-fill{
  fill:currentColor!important;
  stroke:none!important;
}
.vml-share-grid b i{display:none!important}

@media(max-width:767px){
  #vml-review-form .vml-review-form-head{padding:22px 18px 20px!important}
  #vml-review-form .vml-review-form-head h3{font-size:24px!important;max-width:calc(100% - 58px)!important}
  #vml-review-form .vml-review-form-head p{max-width:100%!important;padding-right:46px!important}
  #vml-review-form .vml-review-form-head:after{right:16px!important;top:18px!important;width:44px!important;height:44px!important;border-radius:14px!important;font-size:20px!important}
  #vml-review-form .vml-review-form{padding:20px 16px 22px!important}
  #vml-review-form .vml-review-two{grid-template-columns:1fr!important}
  #vml-review-form .vml-star-picker label{font-size:30px!important}
  .vml-share-grid b svg{width:32px!important;height:32px!important}
}

/* =========================================================
   v0.11.6.27 — 3-level service-area hierarchy
   Level 1 county/root > Level 2 full-width parent > Level 3 grid
   ========================================================= */
.vml-area-groups > .vml-area-group{
    background:#fff !important;
}

.vml-area-level-two{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    padding:0 16px 16px !important;
}

.vml-area-level-two > .vml-area-subgroup{
    width:100% !important;
    margin:0 !important;
    border:1px solid #e4edf4 !important;
    border-radius:13px !important;
    background:#fbfdff !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

.vml-area-level-two > .vml-area-subgroup:hover{
    background:#f8fcff !important;
    border-color:#cfe3f3 !important;
    box-shadow:0 7px 20px rgba(55,111,152,.06) !important;
}

.vml-area-level-two > .vml-area-subgroup > .vml-area-subgroup-summary{
    min-height:54px !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    background:rgba(245,250,254,.78) !important;
    color:#153b66 !important;
}

.vml-area-level-two > .vml-area-subgroup[open] > .vml-area-subgroup-summary{
    border-bottom:1px solid #eaf1f6 !important;
    background:#f4faff !important;
}

.vml-area-subgroup-title{
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.vml-area-subgroup-title > i{
    width:27px !important;
    height:27px !important;
    flex:0 0 27px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:#e8f4fb !important;
    border:1px solid #d2e8f6 !important;
    color:#5d9cc6 !important;
    font-style:normal !important;
    font-size:13px !important;
    font-weight:800 !important;
}

.vml-area-subgroup-title > strong{
    min-width:0 !important;
    color:#163b65 !important;
    font:750 16px/1.25 "Fira Sans Condensed",sans-serif !important;
    white-space:normal !important;
}

.vml-area-subgroup-meta{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
}

.vml-area-subgroup-meta > em{
    padding:6px 9px !important;
    border-radius:999px !important;
    background:#eef5fa !important;
    color:#617b93 !important;
    font:650 11.5px/1 "Fira Sans Condensed",sans-serif !important;
    font-style:normal !important;
    white-space:nowrap !important;
}

.vml-area-subgroup-meta > u{
    width:26px !important;
    height:26px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:#fff !important;
    border:1px solid #d6e6f1 !important;
    color:#4b88b4 !important;
    font:700 19px/1 Arial,sans-serif !important;
    text-decoration:none !important;
    transition:transform .18s ease,background-color .18s ease !important;
}

.vml-area-subgroup[open] .vml-area-subgroup-meta > u{
    background:#eaf6fd !important;
}

.vml-area-subgroup > .vml-area-leaf-list{
    padding-top:11px !important;
}

.vml-area-subgroup > .vml-area-leaf-list > .vml-subarea-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    padding:0 12px 12px !important;
}

.vml-area-direct-subgroup .vml-area-subgroup-title > i{
    background:#f2f7fb !important;
    color:#7899b3 !important;
    border-color:#dce8f0 !important;
}

@media(max-width:900px){
    .vml-area-subgroup > .vml-area-leaf-list > .vml-subarea-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:640px){
    .vml-area-level-two{
        padding:0 10px 12px !important;
        gap:8px !important;
    }
    .vml-area-level-two > .vml-area-subgroup > .vml-area-subgroup-summary{
        min-height:52px !important;
        padding:8px 10px !important;
    }
    .vml-area-subgroup-title > strong{
        font-size:15px !important;
    }
    .vml-area-subgroup-meta > em{
        display:none !important;
    }
    .vml-area-subgroup > .vml-area-leaf-list > .vml-subarea-grid{
        grid-template-columns:1fr !important;
        padding:0 10px 10px !important;
    }
}
