.vdm-motor-hoteles{font-family:inherit;max-width:1100px;margin:0 auto}
.vdm-motor-searchbox{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.vdm-motor-heading{margin-bottom:14px}
.vdm-motor-heading h2{margin:0 0 6px;font-size:30px;line-height:1.15;color:#0f172a}
.vdm-motor-heading p{margin:0;color:#475467}
.vdm-fixed-destination-card{display:flex;align-items:center;gap:12px;background:#ffffff;border:1px solid #d9e2f2;border-radius:16px;padding:14px 16px;box-shadow:0 10px 30px rgba(17,24,39,.08);margin:0 0 12px;max-width:480px}
.vdm-fixed-destination-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#eff6ff;font-size:18px}
.vdm-fixed-destination-card small{display:block;color:#667085;font-size:12px;margin-bottom:2px}
.vdm-fixed-destination-card strong{display:block;font-size:18px;color:#175cd3}
.vdm-motor-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:stretch}
.vdm-motor-form.has-fixed-destination .vdm-field--date:first-of-type{grid-column:span 3}
.vdm-field{position:relative;background:#fff;border:1px solid #d7e0ee;border-radius:16px;padding:12px 14px;box-shadow:0 12px 30px rgba(16,24,40,.08);display:flex;flex-direction:column;justify-content:center;min-height:84px}
.vdm-field:hover{border-color:#b9cdf6}
.vdm-field-header{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.vdm-field-icon{font-size:16px;line-height:1}
.vdm-field-title{font-size:12px;font-weight:700;color:#4362a2;text-transform:none}
.vdm-field input,.vdm-field select{width:100%;border:0;background:transparent;padding:0;min-height:auto;color:#0f172a;font-size:16px;font-weight:700;outline:none;box-shadow:none}
.vdm-field input::placeholder{color:#0f172a;opacity:.75;font-weight:700}
.vdm-field select{appearance:auto;cursor:pointer}
.vdm-field--destination{grid-column:span 4}
.vdm-field--date{grid-column:span 2}
.vdm-field--guests{grid-column:span 2}
.vdm-field--rooms{grid-column:span 2}
.vdm-search-button{grid-column:span 2;display:flex;align-items:center;justify-content:center;gap:10px;min-height:84px;padding:0 18px;border:0;border-radius:16px;background:linear-gradient(180deg,#1677ff 0%,#0057d9 100%);color:#fff!important;text-decoration:none;font-weight:800;font-size:22px;cursor:pointer;box-shadow:0 16px 30px rgba(0,87,217,.28)}
.vdm-search-button span{font-size:17px;line-height:1.2}
.vdm-results-summary{margin:24px 4px 12px;color:#475467}
.vdm-motor-message{margin:20px 0;padding:18px;border-radius:14px;background:#f5f7fa;color:#475467}
.vdm-motor-message.is-error{background:#fff1f1;color:#8a1f1f}
.vdm-hotel-results{display:grid;gap:18px}
.vdm-hotel-result{background:#fff;border:1px solid #e4e7ec;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.05)}
.vdm-hotel-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px;border-bottom:1px solid #eaecf0}
.vdm-hotel-brand{display:flex;align-items:center;gap:14px}
.vdm-hotel-brand img,.vdm-logo-placeholder{width:58px;height:58px;border-radius:14px;object-fit:cover}
.vdm-logo-placeholder{display:flex;align-items:center;justify-content:center;background:#f2f4f7;font-weight:800;font-size:24px}
.vdm-hotel-brand h3{margin:0;font-size:21px}
.vdm-hotel-brand p{margin:4px 0 0;color:#667085}
.vdm-from-price{text-align:right}.vdm-from-price span,.vdm-from-price small,.vdm-room-price small{display:block;color:#667085;font-size:12px}.vdm-from-price strong{display:block;font-size:22px}
.vdm-room-list{padding:8px 20px 16px}
.vdm-room-option{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f1f3}
.vdm-room-option:last-child{border-bottom:0}
.vdm-room-image{width:120px;height:90px;border-radius:12px;background:#f2f4f7;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vdm-room-image img{width:100%;height:100%;object-fit:cover}
.vdm-room-info h4{margin:0 0 5px;font-size:17px}
.vdm-room-info p{margin:0 0 8px;color:#667085;font-size:14px}
.vdm-room-meta{display:flex;flex-wrap:wrap;gap:7px}
.vdm-room-meta span{background:#f2f4f7;border-radius:999px;padding:5px 8px;font-size:12px;color:#475467}
.vdm-room-price{text-align:right;min-width:145px}.vdm-room-price strong{display:block;font-size:19px}
.vdm-reserve-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:#111827;color:#fff!important;text-decoration:none;font-weight:700;cursor:pointer;margin-top:9px;padding:9px 12px;font-size:13px}
.vdm-room-placeholder{font-size:24px;font-weight:800;color:#667085}
@media(max-width:980px){.vdm-field--destination{grid-column:span 12}.vdm-field--date,.vdm-field--guests,.vdm-field--rooms,.vdm-search-button{grid-column:span 6}.vdm-search-button{min-height:64px;font-size:20px}.vdm-room-option{grid-template-columns:100px 1fr}.vdm-room-image{width:100px;height:80px}.vdm-room-price{grid-column:2;text-align:left}.vdm-hotel-top{align-items:flex-start}.vdm-from-price{min-width:100px}}
@media(max-width:640px){.vdm-motor-heading h2{font-size:24px}.vdm-field,.vdm-search-button{min-height:74px;padding:12px 14px}.vdm-field--date,.vdm-field--guests,.vdm-field--rooms,.vdm-search-button{grid-column:span 12}.vdm-hotel-top{display:block}.vdm-from-price{text-align:left;margin-top:12px}.vdm-room-option{grid-template-columns:1fr}.vdm-room-image{width:100%;height:170px}.vdm-room-price{grid-column:auto}.vdm-room-list{padding:5px 16px 14px}}

/* === VDM Motor 1.2.0: controles modulares === */
.vdm-hotel-control{width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:13px 15px;min-height:78px;box-shadow:0 8px 24px rgba(15,23,42,.07);overflow:hidden;display:flex;flex-direction:column;justify-content:center;font-family:inherit}
.vdm-hotel-control *{box-sizing:border-box}
.vdm-hotel-control__head{display:flex;align-items:center;gap:8px;margin-bottom:7px;min-width:0}
.vdm-hotel-control__icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#0867e8;flex:0 0 20px}
.vdm-hotel-control__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vdm-hotel-control__label{font-size:12px;line-height:1.2;font-weight:700;color:#49679f}
.vdm-hotel-control__input,.vdm-hotel-control__value{display:block;width:100%;max-width:100%;min-width:0;margin:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important;color:#101828;font:700 16px/1.35 inherit;-webkit-appearance:auto;appearance:auto}
.vdm-hotel-control__input[type=date]{min-width:0;width:100%;font-size:15px}
.vdm-hotel-control select.vdm-hotel-control__input{cursor:pointer;padding-right:4px!important}
.vdm-hotel-control__value{white-space:normal;overflow-wrap:anywhere}
.vdm-hotel-modular-search{width:100%;max-width:100%;min-height:78px;box-sizing:border-box;border:0;border-radius:16px;padding:14px 22px;background:linear-gradient(180deg,#1677ff 0%,#005bd8 100%);color:#fff;box-shadow:0 12px 24px rgba(0,91,216,.24);font:800 17px/1.2 inherit;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.vdm-hotel-modular-search:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(0,91,216,.3)}
.vdm-hotel-modular-search__icon{width:23px;height:23px;display:inline-flex}
.vdm-hotel-modular-search__icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Página separada de resultados */
.vdm-results-page{max-width:1180px;margin:0 auto;font-family:inherit}
.vdm-results-page__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.vdm-results-page__top h2{margin:0;font-size:30px;line-height:1.15;color:#101828}
.vdm-results-change{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid #d0d5dd;border-radius:12px;padding:10px 14px;color:#344054!important;background:#fff;font-weight:700}
.vdm-search-summary{width:100%;display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.vdm-search-summary span{display:inline-flex;align-items:center;gap:6px;background:#f5f8fc;border:1px solid #e3e9f2;border-radius:999px;padding:7px 10px;color:#475467;font-size:13px}
.vdm-search-summary svg{width:15px;height:15px;fill:none;stroke:#0867e8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vdm-results-empty{border:1px solid #e3e7ee;background:#fff;border-radius:16px;padding:20px;color:#475467;display:flex;flex-direction:column;gap:5px}
.vdm-results-empty strong{color:#101828;font-size:17px}
.vdm-more-hotels{margin-top:28px}
.vdm-more-hotels h3{margin:0 0 5px;font-size:22px;color:#101828}
.vdm-more-hotels>p{margin:0 0 14px;color:#667085}
.vdm-more-hotels__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vdm-more-hotel-card{border:1px solid #e4e7ec;border-radius:16px;background:#fff;padding:14px;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;box-shadow:0 5px 18px rgba(16,24,40,.04)}
.vdm-more-hotel-card img,.vdm-more-hotel-card__logo{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#f2f4f7;display:flex;align-items:center;justify-content:center;font-weight:800;color:#667085}
.vdm-more-hotel-card strong{display:block;color:#101828}
.vdm-more-hotel-card small{display:block;color:#667085;margin-top:3px}
.vdm-more-hotel-card a{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-decoration:none!important;color:#0867e8!important;font-weight:700;padding-top:9px;border-top:1px solid #f0f2f5}
.vdm-more-hotel-card a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.vdm-hotel-control,.vdm-hotel-modular-search{min-height:72px}.vdm-results-page__top h2{font-size:25px}.vdm-more-hotels__grid{grid-template-columns:1fr}.vdm-search-summary{gap:6px}.vdm-search-summary span{font-size:12px}.vdm-hotel-control__input[type=date]{font-size:14px}}

/* === VDM Motor 1.3.0: adultos y niños numéricos === */
.vdm-hotel-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;min-width:0}
.vdm-hotel-number-field{display:block;min-width:0}
.vdm-hotel-number-field>span{display:block;margin:0 0 4px;color:#667085;font-size:11px;font-weight:700}
.vdm-hotel-number-field input[type=number]{width:100%;min-width:0;border:1px solid #e4e7ec!important;border-radius:10px!important;background:#f8fafc!important;padding:8px 10px!important;font-size:16px!important;font-weight:800!important;color:#101828!important}
.vdm-legacy-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vdm-legacy-guest-grid label{display:block;min-width:0}
.vdm-legacy-guest-grid small{display:block;margin-bottom:3px;color:#667085;font-size:10px;font-weight:700}
.vdm-legacy-guest-grid input[type=number]{width:100%!important;border:1px solid #e4e7ec!important;border-radius:9px!important;background:#f8fafc!important;padding:7px 8px!important;font-size:15px!important;font-weight:800!important}
@media(max-width:460px){.vdm-hotel-guest-grid{gap:8px}.vdm-hotel-number-field input[type=number]{font-size:15px!important;padding:7px 8px!important}}
.vdm-example-badge{display:inline-flex;vertical-align:middle;align-items:center;margin-left:5px;padding:3px 7px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:10px!important;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.02em}
