
.vls-trip-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin:24px 0;
}
.vls-trip-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.vls-trip-card__image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#eef2f6;
}
.vls-trip-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.vls-trip-card__placeholder{
    display:block;
    width:100%;
    height:100%;
    background:linear-gradient(135deg,#e9eef3,#f7f9fb);
}
.vls-trip-card__body{padding:20px}
.vls-trip-card__body h3{margin:0 0 10px}
.vls-trip-card__meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    font-size:.95rem;
}
.vls-trip-card__button{
    display:inline-block;
    padding:10px 16px;
    border-radius:8px;
    text-decoration:none;
    background:#174a73;
    color:#fff;
}
.vls-trip-summary{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    padding:20px;
    margin:0 0 24px;
    background:#f5f8fb;
    border-radius:12px;
}
.vls-trip-summary div{display:flex;flex-direction:column;gap:4px}
.vls-trip-summary span{font-size:.85rem;opacity:.75}
@media(max-width:980px){
    .vls-trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
    .vls-trip-grid{grid-template-columns:1fr}
}


.vls-dynamic-field{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.vls-dynamic-field > span{
    font-size:.85rem;
    opacity:.72;
}
.vls-dynamic-field > strong{
    font-size:1.15rem;
}
.vls-dynamic-price > strong{
    font-size:1.55rem;
}
.vls-dynamic-destinations a{
    text-decoration:none;
}
.vls-trip-excerpt{
    line-height:1.65;
}

.vls-itinerary-public{display:flex;flex-direction:column;gap:18px}.vls-itinerary-public__day{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.vls-itinerary-public__day header{padding:16px 20px;background:#f5f8fb}.vls-itinerary-public__day header span{display:block;margin-bottom:4px;font-size:.85rem;opacity:.72}.vls-itinerary-public__day header h3{margin:0}.vls-itinerary-public__content{padding:20px}.vls-day-extra{margin-top:16px}.vls-service-list ul{padding-left:20px}


.vls-departures-public{
    overflow-x:auto;
}
.vls-departures-public table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
}
.vls-departures-public th,
.vls-departures-public td{
    padding:13px 14px;
    text-align:left;
    border-bottom:1px solid #e5e7eb;
}
.vls-departures-public th{
    background:#f5f8fb;
}
.vls-status{
    display:inline-block;
    padding:5px 9px;
    border-radius:999px;
    font-size:.82rem;
    font-weight:700;
    background:#eef2f6;
}
.vls-status--available{background:#e9f7ef;color:#1e6b3d}
.vls-status--last_places{background:#fff3cd;color:#7a5a00}
.vls-status--full{background:#eeeeee;color:#555}
.vls-status--cancelled{background:#fdecec;color:#9d2222}


.vls-catalog{
    margin:24px 0;
}
.vls-catalog-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:18px;
    margin-bottom:22px;
    border:1px solid #e1e7ed;
    border-radius:14px;
    background:#f7f9fb;
}
.vls-filter-field label{
    display:block;
    margin-bottom:6px;
    font-weight:700;
}
.vls-filter-field input,
.vls-filter-field select{
    width:100%;
    min-height:42px;
    padding:7px 10px;
    border:1px solid #cbd5df;
    border-radius:7px;
    background:#fff;
}
.vls-filter-actions{
    display:flex;
    align-items:flex-end;
    gap:12px;
}
.vls-filter-actions button{
    min-height:42px;
    padding:9px 16px;
    border:0;
    border-radius:8px;
    background:#174a73;
    color:#fff;
    font-weight:700;
    cursor:pointer;
}
.vls-filter-actions a{
    padding:10px 0;
}
.vls-catalog__toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:16px;
}
.vls-trip-card__meta{
    flex-direction:column;
    align-items:flex-start;
}
.vls-trip-card__price{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    margin:12px 0;
}
.vls-trip-card__price strong{
    font-size:1.3rem;
}
.vls-catalog-empty{
    grid-column:1/-1;
    padding:36px;
    text-align:center;
    border:2px dashed #d7dee5;
    border-radius:12px;
}
.vls-pagination{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:26px;
}
.vls-pagination a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border:1px solid #d3dce4;
    border-radius:8px;
    text-decoration:none;
}
.vls-pagination a.is-current{
    background:#174a73;
    color:#fff;
    border-color:#174a73;
}
@media(max-width:980px){
    .vls-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
    .vls-catalog-filters{grid-template-columns:1fr}
    .vls-filter-actions{align-items:center}
}

.vls-destination-hero{padding:56px 24px;background:#eef4f8}
.vls-destination-hero__inner,.vls-destination-page__content{width:min(1180px,calc(100% - 32px));margin:0 auto}
.vls-destination-hero__eyebrow{margin:0 0 8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#174a73}
.vls-destination-hero h1{margin:0;font-size:clamp(2.2rem,5vw,4.5rem)}
.vls-destination-hero__description{max-width:760px;margin-top:18px;font-size:1.05rem;line-height:1.7}
.vls-destination-page__content{padding:38px 0 64px}
.vls-catalog-diagnostic{max-width:620px;margin:20px auto 0;padding:14px 16px;text-align:left;border:1px solid #d7dee5;border-radius:8px;background:#fff}
.vls-catalog-diagnostic summary{cursor:pointer;font-weight:700}


.vls-related-trips{
    width:min(1180px,calc(100% - 32px));
    margin:56px auto 20px;
    padding-top:36px;
    border-top:1px solid #e3e8ed;
}
.vls-related-trips__header{
    margin-bottom:22px;
}
.vls-related-trips__header h2{
    margin:0 0 6px;
}
.vls-related-trips__header p{
    margin:0;
    opacity:.72;
}
.vls-related-trips__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}
.vls-related-card{
    overflow:hidden;
    border:1px solid #e2e8ef;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 22px rgba(0,0,0,.05);
}
.vls-related-card__image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#eef2f6;
}
.vls-related-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.vls-related-card__body{
    padding:16px;
}
.vls-related-card__body h3{
    margin:0 0 12px;
    font-size:1.05rem;
}
.vls-related-card__meta{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
    font-size:.9rem;
}
.vls-related-card__button{
    display:inline-block;
    padding:8px 13px;
    border-radius:7px;
    background:#174a73;
    color:#fff;
    text-decoration:none;
}
@media(max-width:980px){
    .vls-related-trips__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    .vls-related-trips__grid{grid-template-columns:1fr}
}


/* Public trip template enhancements — 0.7.1 */
.vls-section-heading{margin:0 0 22px}.vls-section-heading>span{display:block;margin-bottom:5px;font-size:.82rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#174a73}.vls-section-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.25rem)}
.vls-highlights{margin:32px 0}.vls-highlights__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vls-highlight-card{display:flex;align-items:flex-start;gap:11px;padding:17px 18px;border:1px solid #dde6ed;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(23,74,115,.05);line-height:1.45}.vls-highlight-card__icon{display:inline-flex;flex:0 0 25px;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#e7f4ec;color:#257548;font-weight:900}
.vls-itinerary-public{position:relative}.vls-itinerary-public__day{transition:box-shadow .2s ease,transform .2s ease}.vls-itinerary-public__day:hover{box-shadow:0 10px 28px rgba(23,74,115,.08);transform:translateY(-1px)}.vls-itinerary-public__day header{border-left:5px solid #174a73}.vls-itinerary-public__number{font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#174a73}.vls-itinerary-public__content{line-height:1.7}.vls-itinerary-public__content p:last-child{margin-bottom:0}
.vls-service-list{padding:24px;margin:28px 0;border:1px solid #e0e7ed;border-radius:14px;background:#fff}.vls-service-list h2{margin:0 0 18px}.vls-service-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;padding:0;margin:0;list-style:none}.vls-service-list li{display:flex;align-items:flex-start;gap:10px;line-height:1.55}.vls-service-list li>span:first-child{display:inline-flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:900}.vls-service-list--includes{background:#f7fbf8}.vls-service-list--includes li>span:first-child{background:#dff2e6;color:#217346}.vls-service-list--excludes{background:#fffafa}.vls-service-list--excludes li>span:first-child{background:#f7e4e4;color:#9b3434}
.vls-dynamic-field{padding:15px 18px;border:1px solid #e1e8ee;border-radius:11px;background:#fff}.vls-dynamic-price strong{color:#174a73}
@media(max-width:640px){.vls-highlights__grid,.vls-service-list ul{grid-template-columns:1fr}.vls-service-list{padding:20px}}

/* Unified trip presentation engine — 0.8.0 */
.vls-trip-sheet{--vls-primary:#174a73;--vls-ink:#17212b;--vls-muted:#66717c;--vls-soft:#f4f7f9;color:var(--vls-ink)}
.vls-trip-sheet__body{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 20px}
.vls-trip-hero{min-height:clamp(430px,62vw,680px);display:flex;align-items:flex-end;background-color:#17364f;background-position:center;background-size:cover;color:#fff}
.vls-trip-hero__inner{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:72px 0}
.vls-trip-hero__eyebrow{max-width:760px;margin:0 0 12px;font-weight:700;letter-spacing:.03em;opacity:.92}
.vls-trip-hero h1{max-width:900px;margin:0 0 24px;color:#fff;font-size:clamp(2.35rem,5.6vw,5rem);line-height:1.02;text-wrap:balance}
.vls-trip-hero__facts{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}.vls-trip-hero__facts span{min-width:150px;padding:13px 16px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:rgba(8,26,40,.38);backdrop-filter:blur(7px)}.vls-trip-hero__facts small{display:block;margin-bottom:3px;opacity:.78}.vls-trip-hero__facts strong{font-size:1.15rem}
.vls-trip-hero__cta,.vls-trip-cta>a{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:9px;background:#fff;color:var(--vls-primary)!important;font-weight:800;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.16)}
.vls-trip-intro{max-width:900px;margin:0 auto 38px;text-align:center}.vls-trip-intro .vls-trip-excerpt{font-size:1.12rem;line-height:1.75;color:var(--vls-muted)}
.vls-trip-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:34px 0 54px}.vls-trip-facts .vls-dynamic-field{min-height:100px;justify-content:center;padding:20px 22px;box-shadow:0 8px 26px rgba(23,74,115,.06)}
.vls-trip-section{margin:58px 0}.vls-trip-section>.vls-section-heading{text-align:left}
.vls-trip-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;margin:48px 0}.vls-trip-services .vls-service-list{margin:0;height:100%}
.vls-trip-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:58px 0;padding:34px 38px;border-radius:18px;background:var(--vls-primary);color:#fff}.vls-trip-cta span{font-size:.82rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.72}.vls-trip-cta h2{margin:5px 0 7px;color:#fff}.vls-trip-cta p{margin:0;opacity:.86}.vls-trip-cta>a{flex:0 0 auto}
.vls-trip-sheet .vls-related-trips{width:100%;margin-top:58px}
@media(max-width:760px){.vls-trip-hero{min-height:520px}.vls-trip-hero__inner{padding:48px 0}.vls-trip-facts,.vls-trip-services{grid-template-columns:1fr}.vls-trip-cta{align-items:flex-start;flex-direction:column;padding:28px 24px}.vls-trip-cta>a{width:100%}}


/* Premium public trip presentation — 0.9.0 */
body.vls-unified-trip #main-content .container:before{display:none!important}
body.vls-unified-trip #main-content>.container{width:100%!important;max-width:none!important;padding-top:0!important}
body.vls-unified-trip #left-area{width:100%!important;padding:0!important;float:none!important}
body.vls-unified-trip .et_post_meta_wrapper{display:none!important}
body.vls-unified-trip article.vls_trip>.entry-content{padding-top:0!important}
body.vls-unified-trip .entry-content{margin:0!important}
body.vls-unified-trip #sidebar{display:none!important}
body.vls-unified-trip .vls-trip-sheet{margin-top:0}

.vls-trip-hero{position:relative;min-height:clamp(560px,78vh,860px);isolation:isolate}
.vls-trip-hero:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(5,18,29,.45));z-index:-1}
.vls-trip-hero__inner{padding:clamp(70px,10vh,120px) 0 clamp(58px,9vh,100px)}
.vls-trip-hero__eyebrow{font-size:clamp(.95rem,1.4vw,1.12rem);text-transform:uppercase;letter-spacing:.11em}
.vls-trip-hero__badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.vls-trip-hero__badges span{padding:7px 11px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(7,25,39,.38);font-size:.82rem;font-weight:800;letter-spacing:.025em;backdrop-filter:blur(8px)}
.vls-trip-hero h1{font-size:clamp(2.65rem,6.2vw,5.8rem);max-width:980px;text-shadow:0 3px 26px rgba(0,0,0,.35)}
.vls-trip-hero__facts span{min-width:170px;padding:15px 18px;background:rgba(7,24,38,.55);box-shadow:0 9px 30px rgba(0,0,0,.12)}
.vls-trip-hero__cta{padding:16px 25px;transition:transform .18s ease,box-shadow .18s ease}
.vls-trip-hero__cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.vls-trip-sheet__body{padding-top:64px}
.vls-trip-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vls-trip-facts .vls-dynamic-field{border:0;box-shadow:0 12px 34px rgba(23,74,115,.09)}
.vls-trip-section>.vls-section-heading h2{font-size:clamp(2rem,4vw,3rem)}
.vls-itinerary-public__day{border:0;box-shadow:0 10px 30px rgba(23,74,115,.07)}
.vls-itinerary-public__day header{padding:19px 22px;border-left-width:6px}
.vls-itinerary-public__day header h3{font-size:clamp(1.25rem,2.2vw,1.75rem)}
.vls-service-list{border:0;box-shadow:0 12px 32px rgba(23,74,115,.07)}
.vls-trip-cta{box-shadow:0 18px 50px rgba(23,74,115,.2)}

@media(max-width:980px){
  .vls-trip-hero{min-height:660px}
  .vls-trip-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .vls-trip-hero{min-height:620px;background-position:center}
  .vls-trip-hero__inner{padding:56px 0 42px}
  .vls-trip-hero__facts{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .vls-trip-hero__facts span{min-width:0;padding:12px}
  .vls-trip-hero__cta{width:100%}
  .vls-trip-sheet__body{padding-top:42px}
  .vls-trip-facts{grid-template-columns:1fr}
}

.vls-trip-practical{margin:46px 0}.vls-trip-practical__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.vls-trip-practical article,.vls-trip-practical details{padding:24px;border:1px solid #dde6ed;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(23,74,115,.06)}.vls-trip-practical h3,.vls-trip-practical summary{margin:0 0 14px;color:var(--vls-primary);font-size:1.25rem;font-weight:800}.vls-trip-practical details{grid-column:1/-1}.vls-trip-practical summary{cursor:pointer}.vls-trip-practical p{line-height:1.7}.vls-trip-practical p:last-child{margin-bottom:0}@media(max-width:760px){.vls-trip-practical__grid{grid-template-columns:1fr}.vls-trip-practical details{grid-column:auto}}


/* Public trip-type labels (v0.9.9). */
.vls-dynamic-types .vls-trip-type-list{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.vls-trip-type-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#edf5fb;color:#174f78;font-size:.86rem;font-weight:800;line-height:1.2}


/* v0.9.10: etiquetas completas en hero e información de destinos por bloques */
.vls-trip-hero__badge--type{background:rgba(7,25,39,.48)}
.vls-trip-hero__badge--destination{background:rgba(23,74,115,.62)}
.vls-trip-destination-info{grid-column:1/-1;width:100%;padding:0!important;background:transparent!important;box-shadow:none!important}
.vls-trip-destination-info>summary{cursor:pointer;padding:20px 24px;border-radius:14px;background:#fff;color:var(--vls-primary);font-size:1.22rem;font-weight:800;box-shadow:0 12px 32px rgba(17,51,75,.08)}
.vls-trip-destination-info[open]>summary{margin-bottom:16px}
.vls-trip-destination-info__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vls-trip-destination-info__card{padding:24px;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(17,51,75,.08)}
.vls-trip-destination-info__card h3{margin:0 0 14px;color:var(--vls-primary);font-size:1.35rem}
.vls-trip-destination-info__card p{margin:0 0 12px;line-height:1.72}
.vls-trip-destination-info__text{padding:24px;border-radius:16px;background:#fff}
@media(max-width:760px){.vls-trip-destination-info__grid{grid-template-columns:1fr}.vls-trip-hero__badges{gap:7px}.vls-trip-hero__badges span{font-size:.75rem}}


/* Hero v0.9.15: jerarquía comercial clara */
.vls-trip-hero__destinations{max-width:980px;margin:0 0 18px;font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:650;line-height:1.55;color:rgba(255,255,255,.94)}
.vls-trip-hero__destinations>span{display:block;margin-bottom:4px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.vls-trip-hero__destinations a{color:inherit!important;text-decoration:none}
.vls-trip-hero__destinations a:hover{text-decoration:underline}
.vls-trip-hero__destinations b{padding:0 .22em;font-weight:400;opacity:.65}
.vls-trip-hero__taxonomy-group{margin:0 0 14px}
.vls-trip-hero__taxonomy-label{display:block;margin:0 0 7px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.vls-trip-hero__taxonomy-group .vls-trip-hero__badges{margin:0}
.vls-trip-hero__badge a{color:inherit!important;text-decoration:none}
.vls-trip-hero__badge a:hover{text-decoration:underline}
.vls-trip-hero__types{margin-bottom:24px}
@media(max-width:760px){.vls-trip-hero__destinations{font-size:.92rem}.vls-trip-hero__taxonomy-label,.vls-trip-hero__destinations>span{font-size:.66rem}}


/* 1.0 Beta: destinos y hoteles */
.vls-trip-hotels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.vls-trip-hotel-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(9,27,43,.10);border:1px solid rgba(9,27,43,.08)}
.vls-trip-hotel-card img{width:100%;height:190px;object-fit:cover;display:block}
.vls-trip-hotel-card>div{padding:18px}.vls-trip-hotel-card h3{margin:0 0 8px}.vls-trip-hotel-card h3 a{text-decoration:none;color:#0d3147}
.vls-trip-hotel-card__stars{color:#bb8a22;letter-spacing:2px;margin:0 0 8px}
.vls-destination-hero{background-size:cover;background-position:center;min-height:360px;display:flex;align-items:end;color:#fff}
.vls-destination-section{max-width:1180px;margin:0 auto 44px;padding:0 24px}
.vls-destination-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.vls-destination-info-grid article{background:#fff;border:1px solid rgba(9,27,43,.08);border-radius:14px;padding:20px;box-shadow:0 7px 24px rgba(9,27,43,.07)}

/* Beta 3: calendario público de salidas */
.vls-departure-calendar{
    max-width:760px;
    padding:24px;
    border:1px solid #dce5ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(12,42,66,.08);
}
.vls-calendar__toolbar{
    display:grid;
    grid-template-columns:44px 1fr 44px;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}
.vls-calendar__toolbar strong{
    text-align:center;
    font-size:1.2rem;
    text-transform:capitalize;
}
.vls-calendar__toolbar button{
    width:44px;
    height:44px;
    border:1px solid #cfdae3;
    border-radius:50%;
    background:#fff;
    color:#174a73;
    font-size:1.6rem;
    cursor:pointer;
}
.vls-calendar__toolbar button:disabled{opacity:.3;cursor:not-allowed}
.vls-calendar__weekdays,
.vls-calendar__grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
}
.vls-calendar__weekdays{margin-bottom:7px}
.vls-calendar__weekdays span{
    padding:5px;
    text-align:center;
    color:#607484;
    font-size:.78rem;
    font-weight:800;
}
.vls-calendar__day,
.vls-calendar__blank{
    aspect-ratio:1;
    min-height:42px;
}
.vls-calendar__day{
    border:1px solid transparent;
    border-radius:10px;
    background:#f2f5f7;
    color:#9aa7b1;
    font-weight:700;
}
.vls-calendar__day.is-available{
    border-color:#b9d8c6;
    background:#edf8f1;
    color:#17633a;
    cursor:pointer;
}
.vls-calendar__day.is-available:hover,
.vls-calendar__day.is-selected{
    border-color:#174a73;
    background:#174a73;
    color:#fff;
}
.vls-calendar__selection{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    margin-top:20px;
    padding:18px;
    border-radius:12px;
    background:#f4f8fb;
}
.vls-calendar__selection > span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#174a73}
.vls-calendar__selection > strong{text-transform:capitalize}
.vls-calendar__selection > small{color:#586b79}
.vls-calendar__cta{
    display:inline-flex;
    margin-top:10px;
    padding:12px 17px;
    border-radius:8px;
    background:#174a73;
    color:#fff !important;
    text-decoration:none;
    font-weight:800;
}
.vls-calendar__cta.is-disabled{opacity:.45;pointer-events:none}
.vls-calendar__note{margin:14px 0 0;color:#667784;font-size:.88rem}
.vls-calendar-request{padding:22px;border:1px solid #dce5ec;border-radius:14px;background:#f5f8fb}
.vls-calendar-request p{margin:6px 0 0}
@media(max-width:640px){
    .vls-departure-calendar{padding:16px}
    .vls-calendar__weekdays,.vls-calendar__grid{gap:4px}
    .vls-calendar__day,.vls-calendar__blank{min-height:36px}
}


/* Beta 5: hero compacto y títulos de una o dos líneas */
.vls-trip-hero{min-height:clamp(440px,58vh,560px)!important;align-items:center!important}
.vls-trip-hero__inner{padding:54px 0 46px!important}
.vls-trip-hero h1{max-width:1160px!important;font-size:clamp(2.35rem,4.55vw,4.8rem)!important;line-height:1.02!important;margin-bottom:20px!important;text-wrap:balance}
.vls-trip-hero h1.is-medium{font-size:clamp(2.2rem,4.1vw,4.35rem)!important}
.vls-trip-hero h1.is-long{font-size:clamp(2rem,3.65vw,3.9rem)!important;max-width:1180px!important}
.vls-trip-intro{max-width:980px}.vls-trip-intro .vls-section-heading h2{max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.vls-trip-hero{min-height:520px!important}.vls-trip-hero__inner{padding:42px 0 36px!important}.vls-trip-hero h1,.vls-trip-hero h1.is-medium,.vls-trip-hero h1.is-long{font-size:clamp(2.05rem,10.5vw,3.1rem)!important;line-height:1.04!important}}

/* Beta 7: cabecera comercial compacta */
@media (min-width: 761px) {
  .vls-trip-hero {
    min-height: 500px !important;
    height: auto !important;
    align-items: center !important;
  }
  .vls-trip-hero__inner {
    width: min(1320px, calc(100% - 72px)) !important;
    padding: 44px 0 40px !important;
  }
  .vls-trip-hero h1,
  .vls-trip-hero h1.is-medium,
  .vls-trip-hero h1.is-long {
    width: 100% !important;
    max-width: 1220px !important;
    margin: 0 0 18px !important;
    font-size: clamp(2.6rem, 4.25vw, 4.7rem) !important;
    line-height: 1.01 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance;
  }
  .vls-trip-hero h1.is-long {
    font-size: clamp(2.45rem, 3.8vw, 4.15rem) !important;
  }
  .vls-trip-hero__destinations {
    max-width: 1180px !important;
    margin-bottom: 12px !important;
    font-size: .98rem !important;
    line-height: 1.4 !important;
  }
  .vls-trip-hero__taxonomy-group {
    margin-bottom: 10px !important;
  }
  .vls-trip-hero__types {
    margin-bottom: 16px !important;
  }
  .vls-trip-hero__badges {
    gap: 7px !important;
  }
  .vls-trip-hero__badges span {
    padding: 5px 9px !important;
    font-size: .75rem !important;
  }
  .vls-trip-hero__facts {
    gap: 10px !important;
    margin-bottom: 16px !important;
  }
  .vls-trip-hero__facts span {
    min-width: 145px !important;
    padding: 11px 14px !important;
  }
  .vls-trip-hero__facts strong {
    font-size: 1.05rem !important;
  }
  .vls-trip-hero__cta {
    padding: 12px 19px !important;
  }
}

@media (min-width: 1180px) {
  .vls-trip-hero h1.is-long {
    white-space: normal;
    max-width: 1260px !important;
  }
}

@media (max-width: 760px) {
  .vls-trip-hero {
    min-height: 560px !important;
  }
  .vls-trip-hero h1,
  .vls-trip-hero h1.is-medium,
  .vls-trip-hero h1.is-long {
    font-size: clamp(2rem, 9.5vw, 3rem) !important;
    line-height: 1.02 !important;
  }
  .vls-trip-hero__badges span {
    padding: 5px 8px !important;
    font-size: .72rem !important;
  }
}

/* Alpha 3: galería externa de respaldo */
.vls-trip-gallery{margin:44px 0}.vls-trip-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vls-trip-gallery__grid a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#eef2f5}.vls-trip-gallery__grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.vls-trip-gallery__grid a:hover img{transform:scale(1.03)}@media(max-width:900px){.vls-trip-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.vls-trip-gallery__grid{grid-template-columns:1fr}}

/* VLS inquiry form */
.vls-inquiry-section{margin:44px 0;padding:30px;border-radius:18px;background:#fff;box-shadow:0 10px 35px rgba(10,36,58,.08)}
.vls-inquiry-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}
.vls-inquiry-summary>div{padding:16px;border-radius:12px;background:#f3f7fa}.vls-inquiry-summary small{display:block;color:#647785;margin-bottom:5px}.vls-inquiry-summary strong{display:block;color:#173f5f}
.vls-inquiry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vls-inquiry-grid label{display:block}.vls-inquiry-grid label span{display:block;font-weight:700;margin-bottom:6px;color:#173f5f}.vls-inquiry-grid input,.vls-inquiry-grid textarea{width:100%;box-sizing:border-box;border:1px solid #cfdbe4;border-radius:9px;padding:12px;background:#fff}.vls-inquiry-grid__full{grid-column:1/-1}.vls-inquiry-consent{display:flex;gap:8px;align-items:flex-start;margin:18px 0}.vls-inquiry-submit{border:0;border-radius:9px;padding:14px 22px;background:#174f79;color:#fff;font-weight:800;cursor:pointer}.vls-inquiry-note{font-size:13px;color:#667987;margin-top:12px}.vls-inquiry-hp{position:absolute!important;left:-9999px!important}.vls-inquiry-success{margin:0 0 20px;padding:14px;border-radius:10px;background:#eaf8ef;color:#166534}
@media(max-width:900px){.vls-inquiry-summary,.vls-inquiry-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.vls-inquiry-section{padding:20px}.vls-inquiry-summary,.vls-inquiry-grid{grid-template-columns:1fr}}


.vls-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:32px}.vls-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.vls-lightbox__close{position:absolute;top:14px;right:20px;border:0;background:#fff;color:#123;font-size:34px;width:48px;height:48px;border-radius:50%;cursor:pointer}.vls-lightbox-open{overflow:hidden}.vls-hotel-sheet{max-width:1180px;margin:40px auto;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.1)}.vls-hotel-sheet__hero{width:100%;max-height:520px;object-fit:cover}.vls-hotel-sheet__body{padding:32px}.vls-hotel-sheet__body h1{font-size:clamp(30px,5vw,56px);line-height:1.05}.vls-hotel-sheet__stars{font-size:24px;color:#d89b00}.vls-hotel-sheet__button{display:inline-block;padding:12px 20px;background:#174f79;color:#fff!important;border-radius:8px}.vls-trip-gallery__grid a{cursor:zoom-in}.vls-trip-hotel-card>a,.vls-trip-hotel-card h3 a{text-decoration:none}

/* Alpha 6: jerarquía tipográfica más compacta */
@media (min-width: 761px) {
  .vls-trip-hero h1,
  .vls-trip-hero h1.is-medium,
  .vls-trip-hero h1.is-long {
    max-width: 1080px !important;
    font-size: clamp(2.25rem, 3.65vw, 3.85rem) !important;
    line-height: 1.04 !important;
  }
  .vls-trip-hero h1.is-long {
    font-size: clamp(2.05rem, 3.2vw, 3.45rem) !important;
  }
  .vls-trip-section > .vls-section-heading h2,
  .vls-section-heading h2 {
    font-size: clamp(1.65rem, 2.8vw, 2.35rem) !important;
    line-height: 1.12 !important;
  }
  .vls-trip-intro .vls-section-heading h2 {
    font-size: clamp(1.55rem, 2.45vw, 2.15rem) !important;
  }
}
.vls-importer-image small{display:block;max-width:100%;overflow-wrap:anywhere}


/* Alpha 7: integración visual de hoteles */
.vls-trip-hotels .vls-section-heading h2{font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.08;letter-spacing:-.025em;color:var(--vls-primary);font-weight:750}
.vls-trip-hotels .vls-section-heading span{font-size:.72rem;letter-spacing:.14em;color:var(--vls-primary)}
.vls-trip-hotel-card h3{font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.22;font-weight:750;color:var(--vls-primary);text-transform:none}
.vls-trip-hotel-card h3 a{color:inherit}
.vls-trip-hotel-card>div{padding:20px}
@media(max-width:640px){.vls-trip-hotels .vls-section-heading h2{font-size:1.75rem}.vls-trip-hotel-card h3{font-size:1.05rem}}


/* Alpha 8: visor de galería navegable */
.vls-lightbox{gap:18px}
.vls-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:calc(100vw - 150px)}
.vls-lightbox figure img{max-width:100%;max-height:86vh}
.vls-lightbox figcaption{margin-top:10px;color:#fff;font-weight:700;font-size:.9rem}
.vls-lightbox__nav{border:0;background:rgba(255,255,255,.94);color:#173f5f;width:52px;height:52px;border-radius:50%;font-size:40px;line-height:1;cursor:pointer;flex:0 0 auto}
.vls-lightbox__nav:hover{background:#fff;transform:scale(1.04)}
@media(max-width:700px){.vls-lightbox{padding:14px}.vls-lightbox figure{max-width:calc(100vw - 82px)}.vls-lightbox__nav{width:38px;height:38px;font-size:30px}.vls-lightbox__close{width:40px;height:40px;font-size:28px}}

/* Alpha 8: Hoteles usa la misma jerarquía que Día a día / Itinerario */
.vls-trip-hotels .vls-section-heading h2{font-size:clamp(1.65rem,2.8vw,2.35rem)!important;line-height:1.12!important;letter-spacing:normal!important;font-weight:700!important}
.vls-trip-hotels .vls-section-heading span{font-size:inherit;letter-spacing:inherit}


/* Alpha 9: sistema tipográfico y lectura editorial */
.vls-trip-page,
.vls-trip-full{font-family:inherit;color:#173f5f}
.vls-trip-page h1,.vls-trip-page h2,.vls-trip-page h3,.vls-trip-page h4,
.vls-trip-full h1,.vls-trip-full h2,.vls-trip-full h3,.vls-trip-full h4{font-family:inherit;color:#173f5f;letter-spacing:normal}
.vls-trip-section>.vls-section-heading h2,
.vls-section-heading h2{font-size:clamp(1.75rem,2.8vw,2.35rem)!important;line-height:1.18!important;font-weight:600!important;margin:0!important}
.vls-section-heading>span{font-size:.76rem!important;line-height:1.25!important;font-weight:700!important;letter-spacing:.11em!important}
.vls-trip-hotels .vls-section-heading h2{font-size:clamp(1.75rem,2.8vw,2.35rem)!important;font-weight:600!important}
.vls-trip-hotel-card h3{font-size:1.05rem!important;line-height:1.3!important;font-weight:600!important;margin:0 0 8px!important}
.vls-trip-practical h3,.vls-service-list h2,.vls-itinerary-public__day h3{font-weight:600!important}
.vls-trip-full p,.vls-trip-full li,.vls-trip-full .vls-itinerary-public__content,
.vls-trip-full .vls-trip-destination-info__card p,.vls-trip-full .vls-entry-country p{text-align:justify;text-justify:inter-word}
.vls-trip-practical__grid>article{align-self:start}
.vls-entry-requirements__countries{display:grid;gap:14px;margin-top:14px}
.vls-entry-country{padding:16px 18px;border-left:4px solid #174a73;border-radius:10px;background:#f5f8fb}
.vls-entry-country h4{margin:0 0 9px;font-size:1.08rem;font-weight:700;color:#174a73}
.vls-entry-country p:last-child{margin-bottom:0}
.vls-calendar__selection strong,.vls-calendar__selection small{font-weight:600!important}
@media(max-width:640px){.vls-trip-hotel-card h3{font-size:1rem!important}.vls-trip-section>.vls-section-heading h2,.vls-section-heading h2{font-size:1.7rem!important}}


/* VLS Design System — Alpha 10 */
:root{--vls-font-family:Arial,Helvetica,sans-serif;--vls-text:#183b56;--vls-muted:#657789;--vls-accent:#0e4f7a;--vls-heading-xl:clamp(2.25rem,4.6vw,3.5rem);--vls-heading-lg:clamp(1.85rem,3.2vw,2.5rem);--vls-heading-md:clamp(1.25rem,2vw,1.5rem);--vls-body:1rem}
.vls-trip-full,.vls-trip-full button,.vls-trip-full input,.vls-trip-full select,.vls-trip-full textarea{font-family:var(--vls-font-family)}
.vls-trip-hero__title{font-size:var(--vls-heading-xl);font-weight:600;line-height:1.08}
.vls-section-heading h2,.vls-service-list h2{font-size:var(--vls-heading-lg);font-weight:600;line-height:1.15}
.vls-section-heading>span{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.vls-hotel-card h3,.vls-hotel-card__title{font-size:var(--vls-heading-md)!important;font-weight:500!important;line-height:1.25!important}
.vls-trip-full p,.vls-trip-full li,.vls-inquiry-form label,.vls-calendar__selection{font-size:var(--vls-body);line-height:1.65}
.vls-trip-full .vls-editorial-text,.vls-trip-full .vls-destination-copy,.vls-trip-full .vls-day-description,.vls-trip-full .vls-important-copy{text-align:justify;text-justify:inter-word}
.vls-calendar__day.is-past{opacity:.42;cursor:not-allowed;text-decoration:line-through}
.vls-inquiry-marketing{margin-top:.4rem}.vls-inquiry-marketing span{font-weight:400;color:var(--vls-muted)}


/* Alpha 14: galería compacta e información práctica por país */
.vls-trip-gallery__grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
.vls-trip-gallery__grid a{aspect-ratio:16/10!important;border-radius:10px!important;max-height:155px}
.vls-trip-gallery__grid img{width:100%!important;height:100%!important;object-fit:cover!important}
.vls-customizable-notice{margin:0 0 18px;padding:16px 18px;border-left:4px solid #1f6d9b;border-radius:10px;background:#eef7fc}
.vls-customizable-notice strong{display:block;margin-bottom:5px;color:#174f79;font-size:1rem;font-weight:700}
.vls-customizable-notice p{margin:0!important;text-align:left!important}
.vls-important-info__countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vls-important-country{padding:16px 18px;border:1px solid rgba(23,79,121,.14);border-radius:12px;background:#fff}
.vls-important-country h4{margin:0 0 10px!important;color:#174f79;font-size:1.05rem!important;font-weight:700!important}
.vls-important-country p{margin:0 0 10px;text-align:justify;text-justify:inter-word}
@media(max-width:980px){.vls-trip-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vls-trip-gallery__grid a{max-height:175px}}
@media(max-width:620px){.vls-trip-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.vls-trip-gallery__grid a{max-height:135px}.vls-important-info__countries{grid-template-columns:1fr}}

/* Alpha 16: hoteles interpretados por destino y categoría */
.vls-trip-hotel-groups{display:grid;gap:28px}.vls-trip-hotel-destination>h3{font-size:clamp(1.45rem,2vw,2rem);font-weight:600;margin:0 0 16px;color:#164c73}.vls-trip-hotel-category{margin:0 0 22px}.vls-trip-hotel-category>h4{font-size:.82rem;line-height:1.3;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:#567084;margin:0 0 12px}.vls-trip-hotel-category .vls-trip-hotel-card h5{font-size:1.05rem;line-height:1.35;font-weight:600;margin:0;color:#173f5f}.vls-trip-hotel-category .vls-trip-hotel-card h5 a{color:inherit;text-decoration:none}


/* Alpha 17: aviso común de información práctica */
.vls-practical-disclaimer{grid-column:1/-1;margin-top:18px;padding:18px 20px;border-left:4px solid #1e5a83;background:rgba(255,255,255,.84);border-radius:10px;color:#263746}
.vls-practical-disclaimer strong{display:block;margin-bottom:8px;color:#174d72;font-size:1rem}
.vls-practical-disclaimer p{margin:6px 0;font-size:.92rem;line-height:1.65;text-align:justify}

/* Alpha 20: tabla comparativa de hoteles por destino y categoría */
.vls-trip-hotel-matrix-wrap{overflow-x:auto;margin-top:18px;border-radius:16px;box-shadow:0 8px 28px rgba(9,27,43,.09)}
.vls-trip-hotel-matrix{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:720px}
.vls-trip-hotel-matrix th,.vls-trip-hotel-matrix td{padding:18px 20px;border-right:1px solid rgba(13,49,71,.09);border-bottom:1px solid rgba(13,49,71,.09);vertical-align:top;text-align:left}
.vls-trip-hotel-matrix thead th{background:#164c73;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.vls-trip-hotel-matrix thead th:first-child{border-top-left-radius:16px}.vls-trip-hotel-matrix thead th:last-child{border-top-right-radius:16px}
.vls-trip-hotel-matrix tbody th{width:20%;background:#f3f7fa;color:#164c73;font-size:1.05rem;font-weight:650}
.vls-trip-hotel-matrix__items{display:grid;gap:10px}.vls-trip-hotel-option{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(13,49,71,.10);border-radius:10px;background:#fff}
.vls-trip-hotel-option strong{font-size:.98rem;line-height:1.35;font-weight:600;color:#173f5f}.vls-trip-hotel-option strong a{color:inherit;text-decoration:none}
.vls-trip-hotel-option small{font-size:.86rem;color:#607789}.vls-trip-hotel-option .vls-trip-hotel-card__stars{font-size:.85rem;margin:0}
.vls-trip-hotel-matrix__empty{font-size:.9rem;color:#7b8b96;font-style:italic}
@media(max-width:720px){.vls-trip-hotel-matrix{min-width:0}.vls-trip-hotel-matrix thead{display:none}.vls-trip-hotel-matrix,.vls-trip-hotel-matrix tbody,.vls-trip-hotel-matrix tr,.vls-trip-hotel-matrix th,.vls-trip-hotel-matrix td{display:block;width:100%}.vls-trip-hotel-matrix tr{border-bottom:14px solid #eef4f7}.vls-trip-hotel-matrix tbody th{padding:14px 16px;font-size:1.12rem}.vls-trip-hotel-matrix td{position:relative;padding:42px 16px 16px;border-right:0}.vls-trip-hotel-matrix td:before{content:attr(data-label);position:absolute;top:14px;left:16px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#567084}}

/* Alpha 20: contraste y legibilidad de la comparativa hotelera */
.vls-trip-hotel-matrix-wrap{border:1px solid rgba(22,76,115,.18);background:#fff}
.vls-trip-hotel-matrix thead th{background:#0f4f78!important;color:#fff!important;font-size:.88rem!important;font-weight:700!important;letter-spacing:.055em!important}
.vls-trip-hotel-matrix tbody th{background:#dfeef7!important;color:#103f60!important;font-size:1.08rem!important;font-weight:700!important}
.vls-trip-hotel-matrix td{background:#fff!important}
.vls-trip-hotel-option{background:#f8fbfd!important;border-color:rgba(15,79,120,.18)!important}
.vls-trip-hotel-option strong{color:#102f46!important;font-size:1rem!important;font-weight:500!important}
.vls-trip-hotel-option strong a{color:#102f46!important}
.vls-trip-hotel-option small{color:#4f6879!important}
.vls-trip-hotel-matrix__empty{color:#6d7e89!important}
@media(max-width:720px){
  .vls-trip-hotel-matrix td:before{color:#0f4f78!important;font-weight:800!important}
  .vls-trip-hotel-matrix tbody th{background:#0f4f78!important;color:#fff!important}
}


/* VLS 3.8 — Información práctica desplegable a pantalla completa */
.vls-practical-accordion-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.vls-practical-fullscreen>summary{
    list-style:none;
    position:relative;
    min-height:92px;
    padding:20px 54px 20px 20px;
    border:1px solid #dce5ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(23,74,115,.06);
    cursor:pointer;
}
.vls-practical-fullscreen>summary::-webkit-details-marker{display:none}
.vls-practical-fullscreen>summary span{
    display:block;
    margin-bottom:5px;
    color:var(--vls-primary);
    font-size:1.08rem;
    font-weight:800;
}
.vls-practical-fullscreen>summary small{
    display:block;
    color:#637887;
    font-size:.86rem;
    line-height:1.45;
}
.vls-practical-fullscreen>summary:after{
    content:'+';
    position:absolute;
    right:20px;
    top:50%;
    width:30px;
    height:30px;
    margin-top:-15px;
    border-radius:50%;
    background:#edf5fb;
    color:var(--vls-primary);
    font-size:1.35rem;
    font-weight:700;
    line-height:28px;
    text-align:center;
}
.vls-practical-fullscreen[open]{
    position:fixed;
    z-index:999999;
    inset:0;
    overflow:auto;
    background:#f5f8fa;
}
.vls-practical-fullscreen[open]>summary{
    position:sticky;
    z-index:2;
    top:0;
    min-height:auto;
    padding:18px clamp(22px,5vw,72px);
    border:0;
    border-bottom:1px solid #dce5ec;
    border-radius:0;
    background:#fff;
    box-shadow:0 4px 18px rgba(12,42,66,.08);
}
.vls-practical-fullscreen[open]>summary span{
    margin:0;
    font-size:clamp(1.15rem,2vw,1.45rem);
}
.vls-practical-fullscreen[open]>summary small{display:none}
.vls-practical-fullscreen[open]>summary:after{
    content:'×';
    right:clamp(22px,5vw,72px);
    background:#f1f3f5;
    font-size:1.6rem;
}
.vls-practical-fullscreen__panel{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:30px 0 70px;
}
.vls-practical-fullscreen__content{
    padding:clamp(24px,4vw,48px);
    border:1px solid #e0e7ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 36px rgba(12,42,66,.07);
    font-size:1rem;
    line-height:1.8;
}
.vls-practical-fullscreen__content h3{
    margin:0 0 14px;
    color:var(--vls-primary);
    font-size:1.35rem;
}
.vls-practical-fullscreen__content p{
    max-width:none;
    line-height:1.8;
}
.vls-practical-fullscreen .vls-important-info__countries,
.vls-practical-fullscreen .vls-entry-requirements__countries{
    display:grid;
    gap:22px;
}
.vls-practical-fullscreen .vls-important-country,
.vls-practical-fullscreen .vls-entry-country{
    padding:22px;
    border:1px solid #e0e7ec;
    border-radius:14px;
    background:#fbfcfd;
}
.vls-practical-fullscreen .vls-practical-disclaimer{
    margin-top:28px;
    padding:20px 22px;
    border-left:4px solid #d7a733;
    border-radius:8px;
    background:#fff9ea;
}
@media(max-width:900px){
    .vls-practical-accordion-list{grid-template-columns:1fr}
    .vls-practical-fullscreen>summary{min-height:auto}
    .vls-practical-fullscreen__panel{width:calc(100% - 24px)}
    .vls-practical-fullscreen__content{padding:22px}
}


/* VLS 3.9 — lectura ancha, países y servicios desplegables */
.vls-trip-practical--wide,
.vls-trip-services-section{
    width:100%;
    max-width:none;
}
.vls-practical-accordion-list{
    grid-template-columns:1fr !important;
    width:100%;
}
.vls-services-accordion-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    width:100%;
}
.vls-practical-fullscreen{
    width:100%;
    min-width:0;
}
.vls-practical-fullscreen>summary{
    width:100%;
    box-sizing:border-box;
}
.vls-practical-fullscreen[open]{
    width:100vw;
    max-width:100vw;
}
.vls-practical-fullscreen__panel{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:0 16px !important;
    box-sizing:border-box;
}
.vls-practical-fullscreen__content{
    width:100%;
    max-width:none;
    box-sizing:border-box;
}
.vls-country-sections{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    width:100%;
}
.vls-country-section{
    width:100%;
    padding:26px 30px;
    border:1px solid #dde6ec;
    border-radius:14px;
    background:#fbfcfd;
    box-sizing:border-box;
}
.vls-country-section h3{
    padding-bottom:12px;
    border-bottom:1px solid #e2e8ed;
    font-size:1.45rem !important;
}
.vls-country-section p{
    font-size:1rem;
    line-height:1.85 !important;
}
.vls-trip-destination-info__grid--wide{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100%;
    gap:22px;
}
.vls-trip-destination-info__grid--wide .vls-trip-destination-info__card{
    width:100%;
    max-width:none;
    padding:26px 30px;
    box-sizing:border-box;
}
.vls-service-fullscreen--includes .vls-service-list,
.vls-service-fullscreen--excludes .vls-service-list{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    border:0;
    box-shadow:none;
    background:transparent;
}
.vls-service-fullscreen--includes .vls-service-list h2,
.vls-service-fullscreen--excludes .vls-service-list h2{
    display:none;
}
.vls-service-fullscreen--includes .vls-service-list ul,
.vls-service-fullscreen--excludes .vls-service-list ul{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:0;
    padding:0;
}
.vls-service-fullscreen--includes .vls-service-list li,
.vls-service-fullscreen--excludes .vls-service-list li{
    padding:14px 16px;
    border:1px solid #e3e9ed;
    border-radius:10px;
    background:#fbfcfd;
}
@media(max-width:900px){
    .vls-services-accordion-list{
        grid-template-columns:1fr;
    }
    .vls-practical-fullscreen__panel{
        width:calc(100% - 16px) !important;
        margin:0 8px !important;
    }
    .vls-country-section,
    .vls-trip-destination-info__grid--wide .vls-trip-destination-info__card{
        padding:20px;
    }
}


/* VLS 4.3 — Información general / Route Engine */
.vls-trip-overview{
  margin:0 auto 42px;
  max-width:1180px;
}
.vls-trip-overview__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.vls-trip-overview__item{
  padding:18px 20px;
  border:1px solid rgba(17,57,83,.13);
  border-radius:12px;
  background:#fff;
}
.vls-trip-overview__item--route{
  grid-column:1 / -1;
}
.vls-trip-overview__item span{
  display:block;
  margin-bottom:6px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--vls-muted);
}
.vls-trip-overview__item strong{
  display:block;
  font-size:1rem;
  line-height:1.55;
  color:var(--vls-ink);
}
.vls-trip-hero__destinations b{
  margin:0 .25em;
  white-space:nowrap;
}

@media (max-width:767px){
  .vls-trip-overview{
    margin-bottom:28px;
  }
  .vls-trip-overview__grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .vls-trip-overview__item--route{
    grid-column:auto;
  }
  .vls-trip-overview__item{
    padding:15px 16px;
  }
  .vls-trip-overview__item strong{
    font-size:.95rem;
  }
}


/* VLS 4.3.2 — matriz hotelera móvil legible */
@media(max-width:720px){
  .vls-trip-hotel-matrix-wrap{
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .vls-trip-hotel-matrix{
    min-width:0!important;
    background:transparent!important;
  }
  .vls-trip-hotel-matrix tbody{
    display:grid!important;
    gap:16px!important;
  }
  .vls-trip-hotel-matrix tr{
    display:block!important;
    overflow:hidden!important;
    border:1px solid rgba(15,79,120,.16)!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  .vls-trip-hotel-matrix tbody th{
    display:block!important;
    width:100%!important;
    padding:14px 16px!important;
    background:#0f4f78!important;
    color:#fff!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    font-size:1.05rem!important;
    line-height:1.25!important;
  }
  .vls-trip-hotel-matrix td{
    display:block!important;
    width:100%!important;
    padding:38px 14px 14px!important;
    border:0!important;
    border-bottom:1px solid rgba(15,79,120,.10)!important;
    box-sizing:border-box!important;
  }
  .vls-trip-hotel-matrix td:last-child{
    border-bottom:0!important;
  }
  .vls-trip-hotel-matrix td:before{
    top:12px!important;
    left:14px!important;
    right:14px!important;
    white-space:normal!important;
    word-break:normal!important;
    line-height:1.2!important;
  }
  .vls-trip-hotel-option{
    padding:11px 12px!important;
  }
  .vls-trip-hotel-option strong{
    display:block!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:.96rem!important;
    line-height:1.35!important;
  }
}

/* 5.0 Destination Information Engine */
.vls-destination-facts{margin:18px 0 0;display:grid;gap:10px}.vls-destination-facts>div{padding:10px 0;border-top:1px solid rgba(0,0,0,.08)}.vls-destination-facts dt{font-weight:700;margin-bottom:3px}.vls-destination-facts dd{margin:0}.vls-destination-facts dd p{margin:0}.vls-destination-more{margin-top:18px}.vls-destination-more a{text-decoration:underline;text-underline-offset:3px}

/* VLS Travel 8.2 · tarjetas visuales de alojamientos */
.vls-trip-hotel-option{grid-template-columns:minmax(0,220px) 1fr;align-items:stretch;overflow:hidden;padding:0!important;gap:0!important}
.vls-trip-hotel-option__image{width:100%;height:150px;object-fit:cover;display:block;background:#eef3f6}
.vls-trip-hotel-option__body{display:flex;flex-direction:column;gap:6px;justify-content:center;padding:16px 18px}
.vls-trip-hotel-option__type,.vls-trip-hotel-card__type{display:inline-flex;width:max-content;max-width:100%;font-size:.78rem;line-height:1.2;font-weight:600;letter-spacing:.02em;color:#4d6879;background:#eef5f8;border-radius:999px;padding:5px 9px}
@media(max-width:760px){.vls-trip-hotel-option{grid-template-columns:1fr}.vls-trip-hotel-option__image{height:190px}}

/* VLS Travel 8.3 — Página Viaje MVP para Divi */
.vls-trip-anchor-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);border-bottom:1px solid #e6ebef;box-shadow:0 8px 24px rgba(22,55,80,.06);backdrop-filter:blur(10px)}
body.admin-bar .vls-trip-anchor-nav{top:32px}
.vls-trip-anchor-nav__inner{width:min(1180px,calc(100% - 32px));margin:0 auto;display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.vls-trip-anchor-nav__inner::-webkit-scrollbar{display:none}
.vls-trip-anchor-nav a{display:block;flex:0 0 auto;padding:16px 12px;color:#174a73!important;text-decoration:none;font-size:.9rem;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}
.vls-trip-anchor-nav a:hover{border-color:#f28c28}
.vls-trip-anchor-nav .vls-trip-anchor-nav__cta{margin-left:auto;padding:10px 17px;border:0;border-radius:999px;background:#f28c28;color:#fff!important}
.vls-trip-anchor-target,.vls-trip-section,.vls-trip-gallery,.vls-trip-route,.vls-trip-final-cta,#vls-trip-overview{scroll-margin-top:92px}

.vls-trip-route{margin:54px 0;padding:30px;border-radius:18px;background:#f6f9fb;border:1px solid #e5edf3}
.vls-trip-route__track{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:8px 2px 4px;scrollbar-width:thin}
.vls-trip-route__stop{flex:0 0 auto;padding:10px 15px;border-radius:999px;background:#fff;border:1px solid #dce6ed;color:#173f62;font-weight:800;box-shadow:0 5px 16px rgba(23,74,115,.06)}
.vls-trip-route__arrow{flex:0 0 auto;color:#f28c28;font-size:1.25rem;font-weight:900}

.vls-trip-final-cta{margin:64px 0 18px;padding:38px;border-radius:22px;background:linear-gradient(135deg,#174a73,#0e3656);color:#fff;box-shadow:0 20px 54px rgba(23,74,115,.22)}
.vls-trip-final-cta__copy{max-width:760px;margin-bottom:26px}
.vls-trip-final-cta__copy>span{display:block;margin-bottom:7px;color:#ffc07a;font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.vls-trip-final-cta__copy h2{margin:0 0 8px;color:#fff;font-size:clamp(2rem,4vw,3rem)}
.vls-trip-final-cta__copy p{margin:0;font-size:1.05rem;opacity:.9}
.vls-trip-final-cta__form{padding:26px;border-radius:16px;background:#fff;color:#17212b}

/* Mantener identidad Latitud Sur: azul + naranja en llamadas a la acción. */
.vls-trip-hero__cta,.vls-trip-card__button,.vls-related-card__button{background:#f28c28!important;color:#fff!important}
.vls-trip-hero__cta:hover,.vls-trip-card__button:hover,.vls-related-card__button:hover{background:#df7718!important}
.vls-section-heading>span{color:#f28c28}

@media(max-width:980px){
  .vls-trip-anchor-nav__inner{width:100%;padding:0 12px}
  .vls-trip-anchor-nav .vls-trip-anchor-nav__cta{margin-left:0}
}
@media(max-width:782px){body.admin-bar .vls-trip-anchor-nav{top:46px}}
@media(max-width:640px){
  .vls-trip-anchor-nav{position:relative;top:auto!important}
  .vls-trip-anchor-nav a{padding:13px 10px;font-size:.84rem}
  .vls-trip-route{padding:22px 18px;margin:42px 0}
  .vls-trip-final-cta{padding:28px 20px;border-radius:16px}
  .vls-trip-final-cta__form{padding:18px}
}

/* Editorial IA · SEO public blocks */
.vls-trip-editorial-content,.vls-trip-faq{max-width:1180px;margin:48px auto;padding:0 18px}.vls-trip-editorial-content__copy{max-width:980px;color:#334155;font-size:1.04rem;line-height:1.8}.vls-trip-editorial-content__copy p{margin:0 0 18px;text-align:justify;text-justify:inter-word}.vls-trip-editorial-content__why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:0;list-style:none}.vls-trip-editorial-content__why li{background:#fff;border:1px solid #e7edf3;border-radius:14px;padding:16px 18px;box-shadow:0 7px 22px rgba(23,61,89,.06)}.vls-trip-editorial-content__why li:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:#e9f7ef;color:#15804a;font-weight:800}.vls-trip-faq__list{display:grid;gap:10px}.vls-trip-faq__item{background:#fff;border:1px solid #e1e8ef;border-radius:14px;overflow:hidden}.vls-trip-faq__item summary{cursor:pointer;padding:18px 20px;font-weight:700;color:#164d73}.vls-trip-faq__item>div{padding:0 20px 18px;color:#475569;line-height:1.7}@media(max-width:760px){.vls-trip-editorial-content__why{grid-template-columns:1fr}.vls-trip-editorial-content,.vls-trip-faq{margin:34px auto}}

/* 8.7 destination catalog cards */
.vls-trip-card__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ff8200;margin-bottom:8px}.vls-trip-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.vls-trip-card__chips span{background:#eef5f9;color:#174a73;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.vls-trip-card__body h3 a{color:#174a73;text-decoration:none}.vls-trip-card__button{background:#ff8200}.vls-trip-card__price strong{color:#174a73}

/* 12.0.9.26 editorial public cards */
.vls-trip-editorial-content__why{list-style:none!important;padding-left:0!important}.vls-trip-editorial-content__why-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e7edf3;border-radius:14px;padding:16px 18px;box-shadow:0 7px 22px rgba(23,61,89,.06)}.vls-trip-editorial-content__why-icon{flex:0 0 24px;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9f7ef;color:#15804a;font-weight:800}.vls-trip-editorial-content__why-item:before{content:none!important}


/* 12.0.9.28: lectura editorial — justificar textos narrativos públicos.
   Corrige el ámbito de la regla para la plantilla pública real (body.vls-unified-trip).
   Se limita a párrafos/contenido descriptivo; títulos, botones, etiquetas y tarjetas cortas conservan su alineación. */
body.vls-unified-trip .vls-itinerary-public__content,
body.vls-unified-trip .vls-itinerary-public__content p,
body.vls-unified-trip .vls-editorial-text,
body.vls-unified-trip .vls-editorial-text p,
body.vls-unified-trip .vls-destination-copy,
body.vls-unified-trip .vls-destination-copy p,
body.vls-unified-trip .vls-day-description,
body.vls-unified-trip .vls-day-description p,
body.vls-unified-trip .vls-important-copy,
body.vls-unified-trip .vls-important-copy p,
body.vls-unified-trip .vls-trip-destination-info__card p,
body.vls-unified-trip .vls-entry-country p,
body.vls-unified-trip .vls-practical-disclaimer p {
    text-align: justify !important;
    text-justify: inter-word;
}
@media (max-width: 640px) {
    body.vls-unified-trip .vls-itinerary-public__content,
    body.vls-unified-trip .vls-itinerary-public__content p { text-align: left !important; }
}

/* VLS 12.0.9.36 — coherencia tipográfica: textos editoriales justificados en escritorio. */
body.vls-unified-trip .vls-trip-excerpt p,
body.vls-unified-trip .vls-trip-editorial-content__intro p,
body.vls-unified-trip .vls-trip-editorial-content__why-item span:last-child {
    text-align: justify !important;
    text-justify: inter-word;
}
@media (max-width:640px){
    body.vls-unified-trip .vls-trip-excerpt p,
    body.vls-unified-trip .vls-trip-editorial-content__intro p,
    body.vls-unified-trip .vls-trip-editorial-content__why-item span:last-child {text-align:left!important;}
}
