.imv-ds-wrap{
    --imv-bg:#F7F5F0;
    --imv-title:#17395E;
    --imv-text:#31567B;
    --imv-accent:#D9A85D;
    --imv-border:#D8D8D3;
    --imv-card-bg:#F7F5F0;
    --imv-card-title:#17395E;
    --imv-card-text:#31567B;
    --imv-card-accent:#D9A85D;
    background:var(--imv-bg);
    width:100%;
    max-width:100%;
    font-family:inherit;
    overflow:hidden;
}

.imv-ds-feature{
    display:flex;
    align-items:stretch;
    border:1px solid var(--imv-border);
    overflow:hidden;
    background:var(--imv-bg);
}

.imv-ds-feature-image{
    position:relative;
    flex:0 0 auto;
    width:40%;
    min-height:300px;
    align-self:stretch;
    background:#e8e8e8;
    overflow:hidden;
}

.imv-ds-feature-image img{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    min-width:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center center;
    transition:opacity .25s ease, transform .45s ease;
}

.imv-ds-feature.is-changing .imv-ds-main-img{opacity:.2;transform:scale(1.015)}

.imv-ds-feature-content{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:44px 34px;
    min-width:0;
    overflow:hidden;
}

.imv-ds-meta,
.imv-ds-card-time{
    color:var(--imv-accent);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:10px;
    line-height:1.4;
    white-space:normal !important;
    overflow-wrap:anywhere;
}

.imv-ds-title{
    margin:10px 0 12px;
    color:var(--imv-title);
    font-size:38px;
    line-height:1.05;
    font-weight:700;
    white-space:normal !important;
    overflow-wrap:anywhere;
}

.imv-ds-description{
    color:var(--imv-text);
    font-size:16px;
    line-height:1.75;
    max-width:780px;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
}

.imv-ds-grid{
    margin-top:24px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--imv-border);
    border-left:1px solid var(--imv-border);
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.imv-ds-card,
.imv-ds-card:hover,
.imv-ds-card:focus,
.imv-ds-card:active,
.imv-ds-card.is-active{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:152px;
    padding:24px 24px 25px;
    border:0;
    border-right:1px solid var(--imv-border);
    border-bottom:1px solid var(--imv-border);
    border-radius:0;
    background:var(--imv-card-bg) !important;
    background-color:var(--imv-card-bg) !important;
    box-shadow:none !important;
    text-align:left;
    cursor:pointer;
    font:inherit;
    color:inherit;
    white-space:normal !important;
    overflow:hidden;
    transform:none !important;
}

/* Every bottom box keeps exactly the same design in normal, hover, focus and active states. */
.imv-ds-card:hover,
.imv-ds-card:focus,
.imv-ds-card:active,
.imv-ds-card.is-active{
    background:var(--imv-card-bg) !important;
    background-color:var(--imv-card-bg) !important;
    border-right-color:var(--imv-border) !important;
    border-bottom-color:var(--imv-border) !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
}

.imv-ds-card:hover .imv-ds-card-title,
.imv-ds-card:focus .imv-ds-card-title,
.imv-ds-card:active .imv-ds-card-title,
.imv-ds-card.is-active .imv-ds-card-title{
    color:var(--imv-card-title) !important;
}

.imv-ds-card:hover .imv-ds-card-desc,
.imv-ds-card:focus .imv-ds-card-desc,
.imv-ds-card:active .imv-ds-card-desc,
.imv-ds-card.is-active .imv-ds-card-desc{
    color:var(--imv-card-text) !important;
}

.imv-ds-card:hover .imv-ds-card-time,
.imv-ds-card:focus .imv-ds-card-time,
.imv-ds-card:active .imv-ds-card-time,
.imv-ds-card.is-active .imv-ds-card-time{
    color:var(--imv-card-accent) !important;
}

.imv-ds-card:focus-visible{
    outline:1px solid var(--imv-border);
    outline-offset:-2px;
}

.imv-ds-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:18px;
    margin-bottom:11px;
    width:100%;
    min-width:0;
}

.imv-ds-card-title{
    display:block;
    min-width:0;
    color:var(--imv-card-title);
    font-size:20px;
    line-height:1.15;
    font-weight:700;
    white-space:normal !important;
    overflow-wrap:anywhere;
}

.imv-ds-card-time{
    color:var(--imv-card-accent);
    display:block;
    max-width:180px;
    margin-top:3px;
    font-size:8px;
    text-align:right;
}

.imv-ds-card-desc{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    color:var(--imv-card-text);
    font-size:13px;
    line-height:1.65;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
}

.imv-ds-empty{
    padding:18px;
    border:1px solid #ddd;
    background:#fff;
}

@media (max-width:1024px){
    .imv-ds-title{font-size:32px}
    .imv-ds-feature-content{padding:32px 26px}
    .imv-ds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .imv-ds-card-time{max-width:140px}
}

@media (max-width:767px){
    .imv-ds-feature{display:block}
   .imv-ds-feature-image{width:100%!important;min-height:230px;height:260px;align-self:auto}
    .imv-ds-feature-content{padding:25px 20px 28px}
    .imv-ds-title{font-size:30px}
    .imv-ds-description{font-size:14px;line-height:1.65}
    .imv-ds-grid{grid-template-columns:1fr;margin-top:16px}
    .imv-ds-card{min-height:auto;padding:20px}
    .imv-ds-card-title{font-size:18px}
    .imv-ds-card-time{max-width:45%;}
}

/* v1.0.4 — Force every bottom destination card to use the same layout as the active card. */
.imv-ds-grid .imv-ds-card,
.imv-ds-grid .imv-ds-card:hover,
.imv-ds-grid .imv-ds-card:focus,
.imv-ds-grid .imv-ds-card:active,
.imv-ds-grid .imv-ds-card.is-active{
    display:block !important;
    text-align:left !important;
    justify-content:initial !important;
    align-items:initial !important;
    background:var(--imv-bg) !important;
    color:inherit !important;
}

.imv-ds-grid .imv-ds-card-head,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-head,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-head,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-head,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    justify-content:stretch !important;
    width:100% !important;
    text-align:left !important;
}

.imv-ds-grid .imv-ds-card-title,
.imv-ds-grid .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-title,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-desc{
    display:block !important;
    width:auto !important;
    text-align:left !important;
    justify-content:flex-start !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

.imv-ds-grid .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-time,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-time{
    display:block !important;
    justify-self:end !important;
    text-align:right !important;
    margin-left:auto !important;
}


/* v1.0.5 — hard reset card states so theme/Elementor button styles cannot leak in. */
.imv-ds-grid .imv-ds-card,
.imv-ds-grid .imv-ds-card:hover,
.imv-ds-grid .imv-ds-card:focus,
.imv-ds-grid .imv-ds-card:focus-visible,
.imv-ds-grid .imv-ds-card:active,
.imv-ds-grid .imv-ds-card.is-active{
    -webkit-appearance:none !important;
    appearance:none !important;
    border-radius:0 !important;
    outline:0 !important;
    outline-offset:0 !important;
    box-shadow:none !important;
    transform:none !important;
    transition:none !important;
    filter:none !important;
    text-decoration:none !important;
    background-image:none !important;
    background:var(--imv-card-bg) !important;
    background-color:var(--imv-card-bg) !important;
}

/* Remove any theme-generated decorative layer / ripple / corner shape. */
.imv-ds-grid .imv-ds-card::before,
.imv-ds-grid .imv-ds-card::after,
.imv-ds-grid .imv-ds-card:hover::before,
.imv-ds-grid .imv-ds-card:hover::after,
.imv-ds-grid .imv-ds-card:focus::before,
.imv-ds-grid .imv-ds-card:focus::after,
.imv-ds-grid .imv-ds-card:active::before,
.imv-ds-grid .imv-ds-card:active::after,
.imv-ds-grid .imv-ds-card.is-active::before,
.imv-ds-grid .imv-ds-card.is-active::after{
    content:none !important;
    display:none !important;
}


/* v1.0.6 — normal card colours are the single source of truth for hover/active/focus. */
.imv-ds-grid .imv-ds-card,
.imv-ds-grid .imv-ds-card:hover,
.imv-ds-grid .imv-ds-card:focus,
.imv-ds-grid .imv-ds-card:focus-visible,
.imv-ds-grid .imv-ds-card:active,
.imv-ds-grid .imv-ds-card.is-active{
    background:var(--imv-card-bg) !important;
    background-color:var(--imv-card-bg) !important;
}

.imv-ds-grid .imv-ds-card .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-title,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-title,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-title{
    color:var(--imv-card-title) !important;
}

.imv-ds-grid .imv-ds-card .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-desc,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-desc{
    color:var(--imv-card-text) !important;
}

.imv-ds-grid .imv-ds-card .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:hover .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:focus .imv-ds-card-time,
.imv-ds-grid .imv-ds-card:active .imv-ds-card-time,
.imv-ds-grid .imv-ds-card.is-active .imv-ds-card-time{
    color:var(--imv-card-accent) !important;
}

/* v1.0.7 — Mobile: prevent long destination names from collapsing into letter columns. */
@media (max-width:767px){
    .imv-ds-grid{
        grid-template-columns:minmax(0,1fr) !important;
    }
    .imv-ds-grid .imv-ds-card,
    .imv-ds-grid .imv-ds-card:hover,
    .imv-ds-grid .imv-ds-card:focus,
    .imv-ds-grid .imv-ds-card.is-active{
        width:100% !important;
        min-width:0 !important;
        padding:20px !important;
    }
    .imv-ds-grid .imv-ds-card-head,
    .imv-ds-grid .imv-ds-card:hover .imv-ds-card-head,
    .imv-ds-grid .imv-ds-card:focus .imv-ds-card-head,
    .imv-ds-grid .imv-ds-card:active .imv-ds-card-head,
    .imv-ds-grid .imv-ds-card.is-active .imv-ds-card-head{
        grid-template-columns:minmax(0,1fr) !important;
        gap:7px !important;
    }
    .imv-ds-grid .imv-ds-card-title{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        white-space:normal !important;
        line-height:1.3;
    }
    .imv-ds-grid .imv-ds-card-time,
    .imv-ds-grid .imv-ds-card:hover .imv-ds-card-time,
    .imv-ds-grid .imv-ds-card:focus .imv-ds-card-time,
    .imv-ds-grid .imv-ds-card:active .imv-ds-card-time,
    .imv-ds-grid .imv-ds-card.is-active .imv-ds-card-time{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        justify-self:start !important;
        text-align:left !important;
        overflow-wrap:break-word !important;
    }
}
