/* ============================================================
   vestir-directorio.css · F8 (26/09/2026, Claude Code en la nube) · DIRECTORIST 8.9.6 Y SUS COMPLEMENTOS
   Reseñas (advanced-review 1.0.4) · horarios (business-hours 3.8.0) · cupones (coupon 2.5.0) · reservas (booking 3.0.2) ·
   planes (pricing-plans 4.1.1; el alta la lleva inc/alta-ficha.php, aquí solo CSS) · marketplace digital (2.1.2) · búsqueda con IA
   (ai-search 1.0.0) · chat en vivo (2.5.0, apagado por VL_CHAT_DIRECTORIST en F9).
   Dónde se ve cada cosa (medido en la réplica el 26/09): el buscador y los filtros en /directorio-visionlovers/ y los tipos; el
   escritorio /escritorio/ (agenda de reservas, cartera, descargas, nivel, mis fichas); el alta /alta-profesionales-y-centros/ y
   /formulario-alta-profesionales/ (11599, [directorist_add_listing]); la ficha y los listados van por camino B (plantillas del tema).
   El escritorio es una aplicación (React de Pricing Plans + Booking): NO se quita su CSS (se rompería); se viste con un selector
   más sobre sus clases reales (body.vl-vestir …). Sin !important · tokens · móvil primero.
   ============================================================ */

/* ---------- 1 · El buscador y los filtros (directorio y tipos) ---------- */
body.vl-vestir.directorist-content-active .directorist-search-form,
body.vl-vestir.directorist-content-active .directorist-search-form__box { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); background: var(--vl-bg-card); }
body.vl-vestir.directorist-content-active .directorist-search-field__label { font-size: var(--vl-font-small); font-weight: 600; color: var(--vl-text); }
body.vl-vestir.directorist-content-active .directorist-search-field__input,
body.vl-vestir.directorist-content-active .directorist-search-field input.directorist-form-element,
body.vl-vestir.directorist-content-active .directorist-search-field .directorist-select .select2-selection { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); color: var(--vl-text); }
body.vl-vestir.directorist-content-active .directorist-search-field__input:focus,
body.vl-vestir.directorist-content-active .directorist-form-element:focus { outline: var(--vl-focus-width) solid var(--vl-focus); outline-offset: 2px; border-color: var(--vl-secondary); }
body.vl-vestir.directorist-content-active .directorist-search-field__btn,
body.vl-vestir.directorist-content-active .directorist-search-field__btn--clear { width: var(--vl-touch); height: var(--vl-touch); display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
body.vl-vestir.directorist-content-active .directorist-btn,
body.vl-vestir.directorist-content-active .directorist-search-modal__contents__btn .directorist-btn { min-height: var(--vl-touch); padding: 12px var(--vl-space-lg); border-radius: var(--vl-radius-pill); font-family: var(--font-cuerpo); font-size: var(--vl-font-boton); font-weight: 600; }
body.vl-vestir.directorist-content-active .directorist-btn-reset-js,
body.vl-vestir.directorist-content-active .directorist-btn-reset-ajax,
body.vl-vestir.directorist-content-active .directorist-advanced-filter__action .directorist-btn-sm:not(.directorist-btn-primary) { background: var(--vl-bg); color: var(--vl-primary-dark); border: 0; border-radius: var(--vl-radius-aro); box-shadow: var(--vl-aro); }
body.vl-vestir.directorist-content-active .directorist-advanced-filter__advanced { border-radius: var(--vl-radius-lg); }
body.vl-vestir.directorist-content-active .directorist-advanced-filter__title { font-family: var(--font-titulos); font-size: var(--vl-font-h4); color: var(--vl-text); }
body.vl-vestir.directorist-content-active .directorist-advanced-filter__close { width: var(--vl-touch); height: var(--vl-touch); }
body.vl-vestir.directorist-content-active .directorist-type-nav__list { gap: var(--vl-space-sm); }
body.vl-vestir.directorist-content-active .directorist-type-nav__link { display: inline-flex; align-items: center; min-height: var(--vl-touch); padding: 8px var(--vl-space-md); border-radius: var(--vl-radius-pill); font-weight: 600; color: var(--vl-text-muted); }
body.vl-vestir.directorist-content-active .directorist-type-nav__list__current .directorist-type-nav__link { background: var(--vl-secondary-light); color: var(--vl-secondary-dark); }
body.vl-vestir.directorist-content-active .directorist-pagination a,
body.vl-vestir.directorist-content-active .directorist-pagination span { min-width: var(--vl-touch); min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir.directorist-content-active .directorist-pagination .current,
body.vl-vestir.directorist-content-active .directorist-pagination .page-numbers.current { background: var(--vl-secondary); color: var(--vl-on-color); }
/* La búsqueda con IA (ai-search): el cuadro como un campo más, sin fondo negro */
body.vl-vestir .directorist-ai-search,
body.vl-vestir .directorist-ai-search__box,
body.vl-vestir .dai-search { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); background: var(--vl-bg-card); color: var(--vl-text); }
body.vl-vestir .directorist-ai-search input,
body.vl-vestir .dai-search input { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); }
body.vl-vestir .directorist-ai-search button,
body.vl-vestir .dai-search button { min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); background: var(--vl-secondary); color: var(--vl-on-color); font-weight: 600; }

/* ---------- 2 · Sellos y etiquetas del plugin (Destacada, Popular, Nueva) ---------- */
body.vl-vestir.directorist-content-active .directorist-badge,
body.vl-vestir.directorist-content-active .directorist-badge-featured { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border-radius: var(--vl-radius-pill); font-size: var(--vl-font-caption); font-weight: 700; letter-spacing: .02em; }
body.vl-vestir.directorist-content-active .directorist-badge-featured { background: var(--vl-sello-2-bg); color: var(--vl-sello-2-texto); box-shadow: var(--vl-aro); }

/* ---------- 3 · El escritorio: tarjetas con halo, botones, tabla de fichas ---------- */
body.vl-vestir .directorist-card,
body.vl-vestir .directorist-card-wallet,
body.vl-vestir .directorist-all-bookings-wrapper,
body.vl-vestir .directorist-booking-calender,
body.vl-vestir .directorist-download-wrap { border: 0; border-radius: var(--vl-radius-xl); background: var(--vl-bg-card); box-shadow: var(--vl-halo); }
body.vl-vestir .directorist-card__header { padding: var(--vl-space-md) var(--vl-space-lg); border-bottom: 1px solid var(--vl-border); }
body.vl-vestir .directorist-card__header__title,
body.vl-vestir .directorist-card__header__title h3,
body.vl-vestir .directorist-bookings-title,
body.vl-vestir .directorist-booking-calender__title,
body.vl-vestir .directorist-download-title,
body.vl-vestir .directorist-download-card-heading { font-family: var(--font-titulos); font-size: var(--vl-font-h4); line-height: var(--vl-lh-h4); font-weight: 700; color: var(--vl-text); }
body.vl-vestir .directorist-card__body { padding: var(--vl-space-lg); }
body.vl-vestir .directorist-card-wallet__amount { font-family: var(--font-titulos); font-size: var(--vl-font-precio); font-weight: 800; color: var(--vl-secondary-dark); }
body.vl-vestir .directorist-card-wallet__type { font-size: var(--vl-font-small); color: var(--vl-text-muted); }
body.vl-vestir .directorist-btn-more,
body.vl-vestir .directorist-btn-lg,
body.vl-vestir .directorist-btn-profile-save,
body.vl-vestir .directorist-calendar-setup-btn { min-height: var(--vl-touch); padding: 12px var(--vl-space-lg); border-radius: var(--vl-radius-pill); font-weight: 600; font-size: var(--vl-font-boton); }
body.vl-vestir .directorist-btn--logout { background: var(--vl-bg); color: var(--vl-primary-dark); border: 0; border-radius: var(--vl-radius-aro); box-shadow: var(--vl-aro); }
body.vl-vestir .directorist-dashboard-listing-actions .directorist-dropdown-toggle,
body.vl-vestir .directorist-dashboard-listing-actions a { min-height: var(--vl-touch); display: inline-flex; align-items: center; padding: 8px var(--vl-space-md); border-radius: var(--vl-radius-md); }
body.vl-vestir .directorist-dropdown-menu { border-radius: var(--vl-radius-md); box-shadow: var(--vl-shadow-md); }
body.vl-vestir .directorist-dropdown-menu__list a,
body.vl-vestir .directorist-dropdown-item { min-height: var(--vl-touch); display: flex; align-items: center; padding: 8px var(--vl-space-md); font-size: var(--vl-font-small); }
body.vl-vestir .directorist-dashboard-listings-tbody td,
body.vl-vestir .directorist-dashboard-mylistings th { padding: 12px var(--vl-space-md); font-size: var(--vl-font-small); border-color: var(--vl-border); }
/* Medido a 1440 (26/09): las columnas «Plan», «Tipo» y «Caduca» del plugin salían de 40 px y partían las palabras («Grati s»);
   el sello «No caduca» se montaba sobre la celda. Cada celda respira y las palabras no se parten. */
body.vl-vestir .directorist-dashboard-listings-tbody td { white-space: nowrap; vertical-align: middle; }
body.vl-vestir .directorist-dashboard-listings-tbody td:first-child { white-space: normal; min-width: 200px; }
body.vl-vestir .directorist-dashboard-listings-tbody td .directorist-badge,
body.vl-vestir .directorist-dashboard-listings-tbody td .vl-sello { position: static; display: inline-flex; margin: 2px 4px 2px 0; }
body.vl-vestir .directorist-dashboard-mylistings { overflow-x: auto; }
body.vl-vestir .directorist-form-element,
body.vl-vestir .directorist-form-group input.directorist-form-element,
body.vl-vestir .directorist-form-group select.directorist-form-element,
body.vl-vestir .directorist-form-group textarea.directorist-form-element { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); color: var(--vl-text); }
body.vl-vestir .directorist-form-group label { font-size: var(--vl-font-small); font-weight: 600; color: var(--vl-text); }
/* La agenda de reservas (Booking): filtros, estado vacío, calendario de Google */
body.vl-vestir .directorist-booking-calender__header { padding: var(--vl-space-md) var(--vl-space-lg); border-bottom: 1px solid var(--vl-border); }
body.vl-vestir .directorist-booking-calender__filters,
body.vl-vestir .directorist-booking-filter-horizontal { gap: var(--vl-space-sm); }
body.vl-vestir .directorist-booking-nav-link,
body.vl-vestir .directorist-all-bookings-tabs a { min-height: var(--vl-touch); display: inline-flex; align-items: center; padding: 8px var(--vl-space-md); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir .directorist-booking-empty-state { padding: var(--vl-space-xl); text-align: center; }
body.vl-vestir .directorist-booking-empty-state__icon { width: 64px; height: 64px; margin: 0 auto var(--vl-space-md); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vl-neon-suave); color: var(--vl-primary-dark); box-shadow: 0 0 0 1px rgba(var(--vl-neon-rgb), .35); }
body.vl-vestir .directorist-booking-empty-state__message { font-size: var(--vl-font-body); color: var(--vl-text-muted); }
body.vl-vestir .directorist-booking-calender__google-connect,
body.vl-vestir .directorist-google-calendar-dropdown { border-radius: var(--vl-radius-md); }
body.vl-vestir .directorist-google-calendar-modal__body { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); font-family: var(--font-cuerpo); }
body.vl-vestir .directorist-google-calendar-modal__close,
body.vl-vestir .directorist-google-calendar-modal__cancel-btn { min-width: var(--vl-touch); min-height: var(--vl-touch); }
body.vl-vestir .directorist-connected-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border-radius: var(--vl-radius-pill); background: var(--vl-success-bg); color: var(--vl-success); font-size: var(--vl-font-caption); font-weight: 700; }
/* El nivel (Pricing Plans) y las descargas (Marketplace) en el escritorio */
body.vl-vestir .directorist-ex-plan { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); padding: var(--vl-space-lg); }
/* 27/09/2026: en la tabla del escritorio el plugin usa la MISMA clase para la fecha de caducidad («No caduca»): ahí, sin caja ni halo (Sergio lo vio como una pastilla rosa descolocada). */
body.vl-vestir .vl-escritorio__tabla .directorist-ex-plan { display: inline; border-radius: 0; box-shadow: none; padding: 0; background: transparent; }
body.vl-vestir .directorist-ex-plan h3,
body.vl-vestir .directorist-ex-plan .directorist-ex-plan__title { font-family: var(--font-titulos); font-size: var(--vl-font-h4); color: var(--vl-text); }
body.vl-vestir .directorist-billing-amount { font-family: var(--font-titulos); font-size: var(--vl-font-h3); font-weight: 800; color: var(--vl-secondary-dark); }
body.vl-vestir .directorist-download-card-single { padding: var(--vl-space-md) var(--vl-space-lg); border: 1px solid var(--vl-border); border-radius: var(--vl-radius-lg); margin-bottom: var(--vl-space-sm); }
body.vl-vestir .directorist-download-card-single-heading { font-weight: 600; color: var(--vl-text); }
body.vl-vestir .directorist-download-card-list a { min-height: var(--vl-touch); display: inline-flex; align-items: center; color: var(--vl-secondary); font-weight: 600; }
body.vl-vestir .directorist-favourite-items-wrap .directorist-favourirte-items { border-radius: var(--vl-radius-lg); }
/* La app React de Pricing Plans en el escritorio (mismo aspecto: tarjetas, botones píldora, tabla legible) */
body.vl-vestir .dpp-dashboard,
body.vl-vestir [class*="pricing-plans-dashboard"] .card,
body.vl-vestir .dpp-card { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); border: 0; }
body.vl-vestir .dpp-dashboard button,
body.vl-vestir [class*="pricing-plans-dashboard"] button { min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir .dpp-dashboard table td,
body.vl-vestir .dpp-dashboard table th { padding: 12px var(--vl-space-md); font-size: var(--vl-font-small); }

/* ---------- 4 · El alta (formulario del plugin: 11599 y 11332 con sesión): secciones como tarjetas, campos 48 px ---------- */
body.vl-vestir.directorist-content-active .directorist-add-listing-form .directorist-content-module,
body.vl-vestir .directorist-add-listing-form .directorist-content-module { border: 0; border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); margin-bottom: var(--vl-space-lg); background: var(--vl-bg-card); }
body.vl-vestir .directorist-add-listing-form .directorist-content-module__title h2,
body.vl-vestir .directorist-add-listing-form .directorist-content-module__title { font-family: var(--font-titulos); font-size: var(--vl-font-h3); line-height: var(--vl-lh-h3); color: var(--vl-text); }
body.vl-vestir .directorist-add-listing-form label,
body.vl-vestir .directorist-add-listing-form .directorist-form-label { font-size: var(--vl-font-small); font-weight: 600; color: var(--vl-text); }
body.vl-vestir .directorist-add-listing-form .directorist-form-element { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); }
body.vl-vestir .directorist-add-listing-form .directorist-form-element:focus { outline: var(--vl-focus-width) solid var(--vl-focus); outline-offset: 2px; border-color: var(--vl-secondary); }
body.vl-vestir .directorist-add-listing-form .directorist-form-description { font-size: var(--vl-font-small); color: var(--vl-text-muted); }
body.vl-vestir .directorist-add-listing-form .directorist-form-required,
body.vl-vestir .directorist-add-listing-form .directorist-form-required-txt { color: var(--vl-danger); }
body.vl-vestir .directorist-add-listing-form .directorist-form-submit__btn,
body.vl-vestir .directorist-add-listing-form .directorist-form-submit .directorist-btn { min-height: var(--vl-touch); width: 100%; border-radius: var(--vl-radius-pill); font-weight: 600; }
@media (min-width: 600px) { body.vl-vestir .directorist-add-listing-form .directorist-form-submit__btn, body.vl-vestir .directorist-add-listing-form .directorist-form-submit .directorist-btn { width: auto; min-width: 240px; } }
body.vl-vestir .directorist-add-listing-form .directorist-form-submit__btn.directorist-btn-preview,
body.vl-vestir .directorist-add-listing-form .directorist-btn-secondary { background: var(--vl-bg); color: var(--vl-primary-dark); border: 0; border-radius: var(--vl-radius-aro); box-shadow: var(--vl-aro); }
body.vl-vestir .directorist-add-listing-form .directorist-alert,
body.vl-vestir .directorist-alert { display: flex; gap: var(--vl-space-md); padding: var(--vl-space-md) var(--vl-space-lg); border-radius: var(--vl-radius-lg); border: 0; font-size: var(--vl-font-body); }
body.vl-vestir .directorist-alert-danger,
body.vl-vestir .directorist-alert.directorist-alert-danger { background: var(--vl-danger-bg); color: var(--vl-danger); }
body.vl-vestir .directorist-alert-success { background: var(--vl-success-bg); color: var(--vl-success); }
/* Fotos (ez-media-uploader) y mapa del alta */
body.vl-vestir .ez-media-uploader,
body.vl-vestir .ezmu__dropzone { border: 2px dashed var(--vl-border-field); border-radius: var(--vl-radius-lg); background: var(--vl-bg-soft); }
body.vl-vestir .ezmu__btn,
body.vl-vestir .ez-media-uploader .ezmu__btn { min-height: var(--vl-touch); border-radius: var(--vl-radius-aro); background: var(--vl-bg); color: var(--vl-primary-dark); box-shadow: var(--vl-aro); font-weight: 600; }
body.vl-vestir .directorist-add-listing-form .directorist-map,
body.vl-vestir .directorist-add-listing-form #directorist-map,
body.vl-vestir .directorist-add-listing-form .leaflet-container { border-radius: var(--vl-radius-lg); }
/* Horarios (Business Hours): la semana en filas de 48 px, «Cerrado» como casilla grande */
body.vl-vestir .directorist-bh-form,
body.vl-vestir .bdbh-form,
body.vl-vestir .directorist-business-hours { display: grid; gap: var(--vl-space-sm); }
body.vl-vestir .directorist-bh-form .directorist-bh-day,
body.vl-vestir .bdbh-form .bdbh-day,
body.vl-vestir .directorist-business-hours__day { display: grid; grid-template-columns: 1fr; gap: var(--vl-space-sm); align-items: center; padding: var(--vl-space-sm) var(--vl-space-md); border: 1px solid var(--vl-border); border-radius: var(--vl-radius-md); }
@media (min-width: 850px) { body.vl-vestir .directorist-bh-form .directorist-bh-day, body.vl-vestir .bdbh-form .bdbh-day, body.vl-vestir .directorist-business-hours__day { grid-template-columns: 120px 1fr 1fr auto; } }
body.vl-vestir .directorist-bh-form .directorist-bh-day__name,
body.vl-vestir .bdbh-day__name { font-weight: 600; color: var(--vl-text); }
body.vl-vestir .directorist-bh-form input,
body.vl-vestir .bdbh-form input,
body.vl-vestir .bdb-timepicker,
body.vl-vestir .ui-timepicker-input { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); }
body.vl-vestir .directorist-bh-form label,
body.vl-vestir .bdbh-form label { display: inline-flex; align-items: center; gap: 8px; min-height: var(--vl-touch); }
/* Reservas (Booking) en el alta: precios y huecos como campos normales */
body.vl-vestir .bdb-booking-form .directorist-form-element,
body.vl-vestir .directorist-booking-form-element { min-height: var(--vl-touch); border-radius: var(--vl-radius-md); }
/* Cupones (Coupon) en el pago del plan */
body.vl-vestir .directorist-coupon,
body.vl-vestir .swbdpc-coupon,
body.vl-vestir .directorist-coupon-form { display: flex; flex-wrap: wrap; gap: var(--vl-space-sm); }
body.vl-vestir .directorist-coupon input,
body.vl-vestir .swbdpc-coupon input { flex: 1 1 200px; min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); }
body.vl-vestir .directorist-coupon button,
body.vl-vestir .swbdpc-coupon button { min-height: var(--vl-touch); padding: 10px var(--vl-space-lg); border: 0; border-radius: var(--vl-radius-aro); background: var(--vl-bg); color: var(--vl-primary-dark); box-shadow: var(--vl-aro); font-weight: 600; }

/* ---------- 5 · Reseñas (advanced-review) en la ficha y en el escritorio ---------- */
body.vl-vestir .directorist-review-container,
body.vl-vestir .directorist-reviews,
body.vl-vestir .directorist-review-form,
body.vl-vestir .directorist-review-content { border-radius: var(--vl-radius-xl); }
body.vl-vestir .directorist-review-content__title,
body.vl-vestir .directorist-review-form__title,
body.vl-vestir .directorist-review-form h3 { font-family: var(--font-titulos); font-size: var(--vl-font-h3); color: var(--vl-text); }
body.vl-vestir .directorist-review-single,
body.vl-vestir .directorist-review-item,
body.vl-vestir .directorist-single-review { padding: var(--vl-space-md) var(--vl-space-lg); border: 1px solid var(--vl-border); border-radius: var(--vl-radius-lg); margin-bottom: var(--vl-space-md); background: var(--vl-bg-card); }
body.vl-vestir .directorist-review-single__author,
body.vl-vestir .directorist-review-item__author { font-weight: 600; color: var(--vl-text); }
body.vl-vestir .directorist-review-single__date,
body.vl-vestir .directorist-review-item__date { font-size: var(--vl-font-caption); color: var(--vl-text-muted); }
body.vl-vestir .directorist-rating-stars,
body.vl-vestir .directorist-review-rating .directorist-icon-mask,
body.vl-vestir .directorist-rating-stars .directorist-icon-mask::after { color: var(--vl-primary-dark); background-color: var(--vl-primary-dark); }
body.vl-vestir .directorist-rating-stars .directorist-icon-mask { width: 22px; height: 22px; }
body.vl-vestir .directorist-review-form .directorist-form-element,
body.vl-vestir .directorist-review-form textarea { min-height: var(--vl-touch); border: 2px solid var(--vl-border-field); border-radius: var(--vl-radius-md); font-size: var(--vl-font-body); }
body.vl-vestir .directorist-review-form textarea { min-height: 120px; }
body.vl-vestir .directorist-review-form .directorist-btn,
body.vl-vestir .directorist-review-form button[type="submit"] { min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir .directorist-review-form .directorist-review-rating-select label { min-width: var(--vl-touch); min-height: var(--vl-touch); display: inline-flex; align-items: center; justify-content: center; }
body.vl-vestir .directorist-review-load-more { min-height: var(--vl-touch); border-radius: var(--vl-radius-aro); background: var(--vl-bg); color: var(--vl-primary-dark); box-shadow: var(--vl-aro); font-weight: 600; }

/* ---------- 6 · Reservas (Booking) en la ficha: el formulario de reserva y el botón ---------- */
body.vl-vestir .bdb-booking-widget,
body.vl-vestir .directorist-booking-widget,
body.vl-vestir .directorist-single-booking { padding: var(--vl-space-lg); border-radius: var(--vl-radius-xl); background: var(--vl-bg-card); box-shadow: var(--vl-halo); }
body.vl-vestir .bdb-booking-widget .directorist-btn,
body.vl-vestir .directorist-booking-widget .directorist-btn { width: 100%; min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir .bdb-daterangepicker,
body.vl-vestir .daterangepicker { border-radius: var(--vl-radius-lg); box-shadow: var(--vl-shadow-md); font-family: var(--font-cuerpo); }
body.vl-vestir .daterangepicker td.active,
body.vl-vestir .daterangepicker td.active:hover { background: var(--vl-secondary); color: var(--vl-on-color); border-radius: 50%; }
body.vl-vestir .daterangepicker td,
body.vl-vestir .daterangepicker th { min-width: 40px; height: 40px; font-size: var(--vl-font-small); }

/* ---------- 7 · Marketplace digital en la ficha: el producto descargable como tarjeta ---------- */
body.vl-vestir .directorist-digital-product,
body.vl-vestir .directorist-dm-product,
body.vl-vestir .directorist-digital-marketplace { padding: var(--vl-space-lg); border-radius: var(--vl-radius-xl); background: var(--vl-bg-card); box-shadow: var(--vl-halo); }
body.vl-vestir .directorist-digital-product .directorist-btn { min-height: var(--vl-touch); border-radius: var(--vl-radius-pill); font-weight: 600; }
body.vl-vestir .directorist-digital-product__price { font-family: var(--font-titulos); font-size: var(--vl-font-h3); font-weight: 800; color: var(--vl-secondary-dark); }

/* ---------- 8 · El chat en vivo (apagado en F9): si algún día se enciende, que no tape la barra fija del móvil ---------- */
body.vl-vestir .directorist-live-chat,
body.vl-vestir .directorist-chat-widget,
body.vl-vestir .dlc-chat-launcher { bottom: calc(var(--vl-header-icons-h) + var(--vl-space-md)); border-radius: var(--vl-radius-pill); box-shadow: var(--vl-halo); }
@media (min-width: 1200px) { body.vl-vestir .directorist-live-chat, body.vl-vestir .directorist-chat-widget, body.vl-vestir .dlc-chat-launcher { bottom: var(--vl-space-lg); } }

/* ---------- 9 · Ventanas del plugin (sweetalert): tarjeta, botones píldora ---------- */
body.vl-vestir .swal2-popup,
body.vl-vestir .directorist-modal__content,
body.vl-vestir .directorist-search-modal__contents { border-radius: var(--vl-radius-xl); box-shadow: var(--vl-halo); font-family: var(--font-cuerpo); }
body.vl-vestir .swal2-title { font-family: var(--font-titulos); font-size: var(--vl-font-h3); color: var(--vl-text); }
body.vl-vestir .swal2-html-container { font-size: var(--vl-font-body); color: var(--vl-text-muted); }
body.vl-vestir .swal2-styled.swal2-confirm { min-height: var(--vl-touch); padding: 12px var(--vl-space-lg); border-radius: var(--vl-radius-pill); background: var(--vl-secondary); font-weight: 600; }
body.vl-vestir .swal2-styled.swal2-cancel { min-height: var(--vl-touch); padding: 12px var(--vl-space-lg); border-radius: var(--vl-radius-aro); background: var(--vl-bg); color: var(--vl-primary-dark); box-shadow: var(--vl-aro); font-weight: 600; }
body.vl-vestir .swal2-styled:focus { outline: var(--vl-focus-width) solid var(--vl-focus); outline-offset: 3px; box-shadow: none; }
