/* Mobile-only overrides for Holadays skin.
   This file is loaded with media="(max-width: 768px)" from home.ascx to avoid impacting desktop. */

/* Override desktop box-sizing reset (acomodis.css sets initial !important) */
*, *::before, *::after {
  box-sizing: border-box !important;
}

html, body {
  min-width: 0 !important;
  width: 100%;
}

body {
  overflow-x: hidden;
}

/* Make 960px layout fluid */
.shadow {
  width: auto !important;
  margin: 0 !important;
  box-shadow: none;
}

.container_16 {
  width: 100% !important;
  margin: 0 auto;
  padding: 0 12px;
}

.grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8,
.grid_9, .grid_10, .grid_11, .grid_12, .grid_13, .grid_14, .grid_15, .grid_16 {
  float: none !important;
  display: block !important;
  width: 100% !important;
}

/* Header layout */
.bgheader {
  height: auto !important;
}

.logo {
  float: none !important;
  text-align: center;
}

.logo img {
  max-width: 220px;
  height: auto;
}

.bgmenu {
  min-height: 0 !important;
}

.elements_header {
  text-align: center !important;
  margin: 8px 0 0 0 !important;
}

.elements_header .telephone,
.elements_header .contacts,
.elements_header .Login_header,
.elements_header .favorits_header {
  float: none !important;
  display: inline-block;
  padding: 6px 10px !important;
}

/* Mobile menu (DDRMenu outputs ul#dnn_pnav) */
#menu {
  float: none !important;
  right: auto !important;
  margin: 10px 0 0 0 !important;
  position: relative;
  z-index: 1000;
}

.mobileMenuToggle {
  display: flex;
  align-items: center;
  width: 100%;
  border: 0;
  padding: 12px 14px;
  background: #41b1e1;
  color: #fff;
  font-family: "futura-pt-condensed";
  font-size: 18px;
  text-align: left;
  position: relative;
  line-height: 1;
}

.mobileMenuToggle,
.mobileMenuToggle:visited,
.mobileMenuToggle:hover,
.mobileMenuToggle:active,
.mobileMenuToggle:focus,
.mobileMenuToggle .mobileMenuToggleText,
.mobileMenuToggle .mobileMenuToggleText span,
.mobileMenuToggle .mobileMenuToggleText a,
.mobileMenuToggle .mobileMenuToggleText a:visited,
.mobileMenuToggle .mobileMenuToggleText a:hover,
.mobileMenuToggle .mobileMenuToggleText a:active {
  color: #fff !important;
  text-decoration: none !important;
}

/* 4-line hamburger icon */
.mobileMenuToggle::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 16px;
  margin-right: 10px;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff);
  background-size: 22px 2px;
  background-repeat: no-repeat;
  background-position:
    0 0,
    0 5px,
    0 10px,
    0 15px;
}

.mobileMenuToggleText {
  vertical-align: middle;
}

#dnn_pnav {
  display: none;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#menu.isMobileMenuOpen #dnn_pnav {
  display: block;
}

#menu.isMobileMenuOpen {
  z-index: 9999;
}

#dnn_pnav > li {
  float: none !important;
  width: 100% !important;
  margin: 0 0 2px 0 !important;
}

#dnn_pnav > li > a,
#dnn_pnav > li > span {
  padding: 12px 14px !important;
}

/* Submenus: convert from hover absolute dropdown to stacked accordion */
#dnn_pnav > li ul {
  position: static !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  display: none !important;
}

#dnn_pnav,
#dnn_pnav > li,
#dnn_pnav > li > ul {
  background-color: #41b1e1;
}

#dnn_pnav li.isSubmenuOpen > ul {
  display: block !important;
}

#dnn_pnav > li ul a,
#dnn_pnav > li ul span {
  padding: 12px 14px 12px 34px !important; /* indent submenus */
  border-bottom: 1px solid rgba(255,255,255,0.5) !important;
}

/* Second-level submenus: extra indent */
#dnn_pnav > li ul ul a,
#dnn_pnav > li ul ul span {
  padding-left: 54px !important;
}

/* Slight visual grouping for submenu rows */
#dnn_pnav > li ul {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Content: reduce big fixed paddings if present */
.bgcontent {
  padding: 0 !important;
}

/* Search box (AcoSearchBox) full-width on mobile */
.moduleSearch {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px !important;
}

/* Contacto (AcoSpecialGroups: divContact) – responsive y centrado */
[id$="_divContact"] {
  margin: 12px auto !important;
  padding: 0 12px !important;
  width: 100% !important;
  max-width: calc(100vw - 24px) !important;
  box-sizing: border-box !important;
}

[id$="_divContact"] table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-collapse: collapse;
}

/* Override directo de anchos inline tipo style="width: 597px" */
[id$="_divContact"] table[style*="width"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Textos con spans a ancho fijo (465px, 387px, etc.) */
[id$="_divContact"] span[style*="width"] {
  width: auto !important;
  max-width: 100% !important;
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Cabecera (2 imágenes): mantener juntas y escalar en móvil */
[id$="_divContact"] table:first-of-type {
  table-layout: fixed;
}

[id$="_divContact"] table:first-of-type td {
  padding: 0 !important;
  vertical-align: top;
}

[id$="_divContact"] table:first-of-type td:first-child {
  width: 66% !important;
}

[id$="_divContact"] table:first-of-type td:last-child {
  width: 34% !important;
}

[id$="_divContact"] img {
  max-width: 100% !important;
  height: auto !important;
}

/* Tabla del formulario: convertir filas en \"label arriba / campo abajo\" */
[id$="_divContact"] table:nth-of-type(2) tr {
  display: block !important;
  padding: 6px 0 !important;
}

/* Filas informativas con colspan=3: dejar como bloque a ancho completo */
[id$="_divContact"] table:nth-of-type(2) td[colspan="3"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

[id$="_divContact"] table:nth-of-type(2) td[colspan="3"] * {
  max-width: 100% !important;
}

/* Ocultar columna separadora (la td de 5px) */
[id$="_divContact"] table:nth-of-type(2) tr > td:nth-child(2) {
  display: none !important;
}

/* Label */
[id$="_divContact"] table:nth-of-type(2) tr > td:nth-child(1) {
  display: block !important;
  width: 100% !important;
  padding: 0 0 6px 0 !important;
  box-sizing: border-box !important;
}

/* Campo */
[id$="_divContact"] table:nth-of-type(2) tr > td:nth-child(3) {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

[id$="_divContact"] table:nth-of-type(2) tr > td:nth-child(3) span[style*="width"],
[id$="_divContact"] table:nth-of-type(2) tr > td:nth-child(3) span[style*="display:inline-block"] {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

[id$="_divContact"] input[type="text"],
[id$="_divContact"] select,
[id$="_divContact"] textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Teléfono / móvil (3 campos): en línea y sin desbordar */
[id$="_divContact"] input[style*="width:30px"],
[id$="_divContact"] input[style*="width:123px"] {
  display: inline-block !important;
  vertical-align: top;
  margin-right: 6px;
  min-width: 0 !important;
}

[id$="_divContact"] input[style*="width:30px"] {
  width: calc(20% - 6px) !important;
}

[id$="_divContact"] input[style*="width:123px"] {
  width: 55% !important;
  margin-right: 0;
}

/* Botones Cancel/Send */
[id$="_divContact"] table:nth-of-type(2) tr:last-child > td:nth-child(3) {
  text-align: center !important;
  padding-top: 10px !important;
}

[id$="_divContact"] input[type="image"] {
  /* Evitar reescalado excesivo (borroso) en imágenes raster */
  width: auto !important;
  max-width: 140px !important;
  height: auto !important;
  image-rendering: -webkit-optimize-contrast;
}

/* Special for Groups (AcoSpecialGroups: divGroups) – mismo criterio que contacto */
[id$="_divGroups"] {
  margin: 12px auto !important;
  padding: 0 12px !important;
  width: 100% !important;
  max-width: calc(100vw - 24px) !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] h1 {
  margin: 0 0 8px 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

[id$="_divGroups"] table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-collapse: collapse;
}

[id$="_divGroups"] table[style*="width"] {
  width: 100% !important;
  max-width: 100% !important;
}

[id$="_divGroups"] > table:first-of-type td {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Formulario principal: etiqueta arriba, campo abajo */
[id$="_divGroups"] > table.textoGris > tbody > tr {
  display: block !important;
  width: 100% !important;
  padding: 6px 0 !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td[colspan="2"] {
  overflow-x: visible;
  max-width: 100%;
}

/* Campos de texto / área: ancho completo salvo teléfono y campos fecha ocultos */
[id$="_divGroups"] input[type="text"]:not([id*="TelephoneM"]):not([id*="ctrlDateV3_txtDate"]),
[id$="_divGroups"] textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Selects: fluidos salvo día/mes del control de fechas (van en línea) */
[id$="_divGroups"] select:not([id*="ctrlDateV3_ddlDay"]):not([id*="ctrlDateV3_ddlMonth"]) {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Teléfono (3 MaskedTextBox): una sola fila, sin forzar 100% cada uno */
[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) input[id*="TelephoneM"] {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) input[id*="TelephoneM1"],
[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) input[id*="TelephoneM2"] {
  flex: 0 0 2.75rem !important;
  max-width: 3.25rem !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) input[id*="TelephoneM3"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

[id$="_divGroups"] > table.textoGris > tbody > tr > td:has([id*="txtTelephoneM1"]) span {
  flex-shrink: 0;
}

/* CheckBoxList grupo / motivo: flex por filas (2 columnas), cada celda checkbox+etiqueta */
[id$="_divGroups"] table[id$="chkGroups"],
[id$="_divGroups"] table[id$="chkReasonTravels"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] table[id$="chkGroups"] tbody,
[id$="_divGroups"] table[id$="chkReasonTravels"] tbody {
  display: block !important;
  width: 100% !important;
}

[id$="_divGroups"] table[id$="chkGroups"] tr,
[id$="_divGroups"] table[id$="chkReasonTravels"] tr {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 4px 0 !important;
}

[id$="_divGroups"] table[id$="chkGroups"] td,
[id$="_divGroups"] table[id$="chkReasonTravels"] td {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex: 1 1 calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  min-width: 0 !important;
  padding: 6px 4px !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] table[id$="chkGroups"] input[type="checkbox"],
[id$="_divGroups"] table[id$="chkReasonTravels"] input[type="checkbox"] {
  width: 1.1rem !important;
  height: 1.1rem !important;
  min-width: 1.1rem !important;
  max-width: none !important;
  margin: 0 6px 0 0 !important;
  vertical-align: middle !important;
  flex: none !important;
}

[id$="_divGroups"] table[id$="chkGroups"] label,
[id$="_divGroups"] table[id$="chkReasonTravels"] label {
  display: inline !important;
  vertical-align: middle !important;
  white-space: normal !important;
  word-break: break-word;
}

/* ctrlDateV3: etiqueta arriba, día + mes + calendario en una fila */
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tbody > tr > td[style*="width: 10px"],
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tr > td[style*="width: 10px"],
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tbody > tr > td[style*="width:10px"],
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tr > td[style*="width:10px"] {
  display: none !important;
}

[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tbody > tr,
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tr {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
}

[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tbody > tr > td,
[id$="_divGroups"] table:has([id*="ctrlDateV3"]) > tr > td {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

[id$="_divGroups"] td:has(> select[id*="ctrlDateV3_ddlDay"]) input[id*="ctrlDateV3_txtDate"] {
  display: none !important;
}

/* Fila interior fecha: día + mes en la primera celda; icono calendario al lado (misma fila) */
[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayStart"]),
[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayEnd"]) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
}

[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayStart"]) > td:first-child,
[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayEnd"]) > td:first-child {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayStart"]) > td:not(:first-child),
[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDayEnd"]) > td:not(:first-child) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
}

[id$="_divGroups"] select[id*="ctrlDateV3_ddlDay"] {
  width: auto !important;
  max-width: 28% !important;
  min-width: 2.6rem !important;
  flex: 0 0 auto !important;
}

[id$="_divGroups"] select[id*="ctrlDateV3_ddlMonth"] {
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
}

[id$="_divGroups"] tr:has(> td > select[id*="ctrlDateV3_ddlDay"]) img {
  max-width: 28px;
  height: auto;
  vertical-align: middle;
}

/* Personas (Adults/Children): tabla anidada estrecha */
[id$="_divGroups"] table[style*="width: 160px"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Comentarios + botones */
[id$="_divGroups"] textarea {
  min-height: 60px;
}

[id$="_divGroups"] input[type="image"] {
  width: auto !important;
  max-width: 140px !important;
  height: auto !important;
  image-rendering: -webkit-optimize-contrast;
}

[id$="_divGroups"] > table.textoGris > tbody > tr:last-child > td:last-child {
  text-align: center !important;
  padding-top: 10px !important;
}

.BoxSearch {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 10px !important;
  position: relative;
}

.BoxSearchLabel {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

.BoxSearch input[type="text"],
.BoxSearch input.clDate {
  width: 100% !important;
  height: 20px !important;
  padding: 2px 38px 2px 8px !important;
  border: 0 !important;
  background-clip: padding-box;
}

.BoxSearch img.trigger,
.BoxSearch .datepick-trigger {
  display: none !important;
}

.BoxSearch input.clDate {
  background-color: #fff;
  background-image: url('/portals/0/images/calendar-icon.png');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 18px 18px;
}

.datepick,
.datepick-popup {
  /* Evitar que el calendario quede por debajo del menú móvil (que usa z-index:1000) */
  /* Nota: #menu.isMobileMenuOpen usa z-index: 9999 */
  z-index: 20000 !important;
}

/* Datepick (Keith Wood): hacerlo fluido en móvil para que se vea el mes completo */
.datepick {
  max-width: calc(100vw - 24px) !important;
  box-sizing: border-box !important;
  border-radius: 6px;
}

.datepick-popup {
  /* Mantener el popup anclado al input (usa top/left inline del plugin).
     En móvil solo limitamos el ancho para que no se salga del viewport. */
  position: absolute !important;
  /* Centrado en viewport sin recortar contenido */
  width: calc(100vw - 24px) !important;
  max-width: calc(100vw - 24px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}

/* Asegurar que el calendario se ajuste al ancho del popup en móvil */
.datepick-popup .datepick {
  width: 100% !important;
  box-sizing: border-box !important;
}

.datepick-nav,
.datepick-ctrl {
  padding: 6px 8px !important;
}

.datepick-cmd {
  padding: 8px 10px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.datepick-month-header,
.datepick-month-header select,
.datepick-month-header input {
  height: 34px !important;
  line-height: 34px !important;
  font-size: 15px !important;
}

.datepick-month-header select {
  padding: 0 8px !important;
}

.datepick-month th,
.datepick-month td,
.datepick-month a,
.datepick-month span {
  padding: 6px 0 !important;
  font-size: 13px !important;
}

.datepick-month {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.datepick-month-header,
.datepick-month-header select,
.datepick-month-header input {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.datepick-month table {
  table-layout: fixed;
}

.Style-Select {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  background-position: right 10px center !important;
  overflow: hidden;
}

.Style-Select select {
  width: 100% !important;
  height: 20px !important;
  padding: 2px 36px 2px 8px !important;
}

.BoxSearchSubmit {
  width: 100% !important;
  height: auto !important;
  margin-left: 0 !important;
  box-sizing: border-box;
}

.BoxSearchSubmit {
  padding: 10px 12px !important;
  background-position: right 12px center !important;
}

.BoxSearchSubmit h3 {
  margin: 0;
}

/* List filters (AcoFilterBox) */
.DnnModule-AcoFilterBox .header-details-box {
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  padding: 12px !important;
}

.DnnModule-AcoFilterBox .title-filter {
  position: static !important;
  width: calc(100% - 44px) !important;
  height: auto !important;
  padding: 0 0 10px 0 !important;
  float: left;
}

.DnnModule-AcoFilterBox .our-aprtments-icon-png {
  position: static !important;
  margin: 0 0 10px 0 !important;
  width: 32px;
  height: 30px;
  float: right;
}

.DnnModule-AcoFilterBox .list-left-filter,
.DnnModule-AcoFilterBox .list-right-filter {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 50% !important;
  height: auto !important;
  padding: 0 !important;
  float: left;
}

.DnnModule-AcoFilterBox .details-list-filter {
  margin-bottom: 12px;
}

.DnnModule-AcoFilterBox .note-text-filter {
  position: static !important;
  padding: 8px 0 0 0 !important;
  clear: both;
}

/* Home boxes (AcoButtonsHome) */
.yellow-box {
  width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.yellow-box-body-copy {
  width: auto !important;
  flex: 1 1 auto;
}

.yellow-box img {
  position: static !important;
  width: 28px !important;
  height: 28px !important;
  margin-left: auto;
  margin-top: 2px;
}

.light-yellow-hr {
  width: 100% !important;
}

/* Mobile accordion behavior (Home only, enabled via JS classes) */
.moduleSearch.isMobileCollapsed:not(.isMobileExpanded) .BoxSearch,
.moduleSearch.isMobileCollapsed:not(.isMobileExpanded) .BoxSearchSubmit {
  display: none !important;
}

/* Detail: cuando el buscador está en modo reserva (booknow), NO se colapsa nunca */
.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed .BoxSearch,
.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed .BoxSearchSubmit,
.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed .BoxSearchDisplay {
  display: block !important;
}

.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed table.BoxSearchDisplay {
  display: table !important;
}

.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed table.BoxSearchDisplay tr {
  display: table-row !important;
}

.ModAcoDetailApartmentC .moduleSearch.booknow.isMobileCollapsed table.BoxSearchDisplay td {
  display: table-cell !important;
}

.DnnModule-AcoFilterBox.isMobileCollapsed:not(.isMobileExpanded) {
  display: none !important;
}

/* Fallback: si el wrapper no tiene clase DnnModule-AcoFilterBox */
.header-details-box.isMobileCollapsed:not(.isMobileExpanded),
.isMobileCollapsed:not(.isMobileExpanded) .header-details-box {
  display: none !important;
}

.mobileAccordionToggle {
  display: flex;
  align-items: center;
  width: 100%;
  border: 0;
  padding: 12px 14px;
  background: #1d669b;
  color: #fff;
  font-family: "futura-pt-condensed";
  font-size: 20px;
  text-align: left;
  line-height: 1;
}

.mobileAccordionToggle::after {
  content: "";
  margin-left: auto;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid rgba(255,255,255,0.9);
}

.moduleSearch.isMobileExpanded .mobileAccordionToggle::after {
  transform: rotate(180deg);
}

.ModAcoButtonsHomeC.isMobileCollapsed:not(.isMobileExpanded) {
  display: none !important;
}

/* Accordion safety: if both classes coexist, expanded state wins */
.moduleSearch.isMobileExpanded .BoxSearch,
.moduleSearch.isMobileExpanded .BoxSearchSubmit,
.DnnModule-AcoFilterBox.isMobileExpanded,
.ModAcoButtonsHomeC.isMobileExpanded,
.header-details-box.isMobileExpanded {
  display: block !important;
}

/* Detail apartment (AcoDetailApartment) - mobile layout */
.ModAcoDetailApartmentC,
.ModAcoDetailApartmentC * {
  max-width: 100%;
}

.ModAcoDetailApartmentC .background-top-contents {
  width: 100% !important;
  max-width: 100% !important;
}

.ModAcoDetailApartmentC .header-image {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: hidden;
}

/* Main photo: show full image (contain) */
.ModAcoDetailApartmentC .header-image-jpg {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  object-fit: contain;
}

/* Name overlay becomes normal flow on mobile */
.ModAcoDetailApartmentC .apartment-name-box {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  padding: 10px 12px !important;
  opacity: 1 !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .back-text-div,
.ModAcoDetailApartmentC .box-review {
  float: none !important;
  width: 100% !important;
  margin: 8px 0 0 0 !important;
  padding: 0 12px !important;
  height: auto !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .box-content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 12px 10px 12px !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .header-details-box {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .details-list {
  left: 0 !important;
  top: 0 !important;
  margin: 0 0 10px 18px !important;
}

.ModAcoDetailApartmentC .price-box,
.ModAcoDetailApartmentC .price-box-background {
  /* width: auto !important; */
  /* max-width: none !important; */
  /* height: auto !important; */
  /* position: relative !important; */
  /* left: 0 !important; */
  /* top: 0 !important; */
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .price-box-header {
  width: 210px !important;
  max-width: 210px !important;
  position: static !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
/* Se eliminan forzados en header-left/header-right y price-box-background */

.ModAcoDetailApartmentC .price-box {
  /* width: 237px !important; */
  max-width: 237px !important;
  margin: 10px auto 0 auto !important;
}

.ModAcoDetailApartmentC .price-box-background table {
  /* width: 210px !important; */
  /* max-width: 210px !important; */
  table-layout: fixed;
}



/* Make "Modificar" link easier to tap (dates edit) */
.ModAcoDetailApartmentC .BoxSearchLink a,
.ModAcoDetailApartmentC a.BoxSearchLink {
  display: inline-block;
  padding: 6px 10px;
  font-size: 16px !important;
  line-height: 1.1;
}

/* Sidebar action boxes become full width */
.ModAcoDetailApartmentC #owner-profile,
.ModAcoDetailApartmentC .light-blue-box,
.ModAcoDetailApartmentC .favourites-box a,
.ModAcoDetailApartmentC .dark-blue-box,
.ModAcoDetailApartmentC .grey-box-bottom-contents,
.ModAcoDetailApartmentC .orange-droplist {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .grey-box-bottom-contents {
  padding-bottom: 12px !important;
}

.ModAcoDetailApartmentC .grey-box-bottom-contents .more-details-box {
  position: static !important;
  width: 100% !important;
  margin-top: 10px !important;
}

/* Gallery container becomes fluid */
.ModAcoDetailApartmentC .apartment-box {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .skin-acomodis .jcarousel-container,
.ModAcoDetailApartmentC .skin-acomodis .jcarousel-clip,
.ModAcoDetailApartmentC .skin-acomodis .jcarousel-item {
  width: 100% !important;
  height: auto !important;
}

.ModAcoDetailApartmentC .apartment-photo {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 8px 0 !important;
  box-sizing: border-box;
}

/* Detail gallery: hide nav arrows, full-width photos, disable click-to-open dialog */
.ModAcoDetailApartmentC .skin-acomodis .jcarousel-prev,
.ModAcoDetailApartmentC .skin-acomodis .jcarousel-next {
  display: none !important;
}

.ModAcoDetailApartmentC #mycarousel,
.ModAcoDetailApartmentC #mycarousel > li {
  width: 100% !important;
  height: auto !important;
}

.ModAcoDetailApartmentC .apartment-photo.openerdialog {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  cursor: default !important;
  pointer-events: none !important; /* prevent opening photo dialog */
}

/* Map + getting there */
.ModAcoDetailApartmentC .google-map {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(220px, 55vw, 340px) !important;
}

.ModAcoDetailApartmentC .getting-there-box,
.ModAcoDetailApartmentC .getting-there-body {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
}

/* Discover + points of interest containers */
.ModAcoDetailApartmentC .discover-area-box,
.ModAcoDetailApartmentC .points-of-interest-box,
.ModAcoDetailApartmentC .user-comments-box {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .district-map-jpg,
.ModAcoDetailApartmentC .slideshow-image-jpg {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* Comments: remove 820px fixed table overflow */
.ModAcoDetailApartmentC .comment-box,
.ModAcoDetailApartmentC .comment-box table {
  width: 100% !important;
  max-width: 100% !important;
}

.ModAcoDetailApartmentC .comment-box td {
  width: auto !important;
  word-break: break-word;
}

/* Detail testimonials: hide arrow + keep "Ver más" visible */
.ModAcoDetailApartmentC .commentbox-arrow {
  display: none !important;
}

.ModAcoDetailApartmentC .guest-photo-box {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 12px 0 0 0 !important;
}

.ModAcoDetailApartmentC .comment-box {
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .view-more-comments-box {
  /* float: none !important; */
  /* display: flex !important; */
  /* align-items: center; */
  /* justify-content: center; */
  /* width: 100% !important; */
  /* box-sizing: border-box; */
  height: auto;
}

/* Incorporado */
.view-more-comments-box input {
  margin-right: 0;
  margin-left: 10px;
}

.ModAcoDetailApartmentC .view-more-comments-box a.header {
  width: 100% !important;
  text-align: center;
}

/* Detail testimonials pagination (GridView pager) - touch friendly */
.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] > td {
  padding: 10px 0 !important;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse;
  display: block !important;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] table tr {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 6px;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] table td {
  padding: 0 !important;
  display: block !important;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] a,
.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] span {
  display: inline-block !important;
  min-width: 20px;
  padding: 5px 3px;
  margin: 0;
  text-align: center;
  border-radius: 4px;
  text-decoration: none !important;
  box-sizing: border-box;
  font-size: 14px !important;
  line-height: 1;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] a {
  background: #e0e0e0;
  color: #1d669b !important;
}

.ModAcoDetailApartmentC .user-comments-box table[id$="_gvwReviews"] tr[align="center"] span {
  background: #1d669b;
  color: #fff !important;
  font-weight: bold;
}

/* Footer */
.footer {
  width: auto !important;
  height: auto !important;
  padding: 20px 12px !important;
}

.footer .grid_3,
.footer .grid_7,
.footer .grid_16,
.footer .prefix_1,
.footer .prefix_3,
.footer .subfix_1,
.footer .subfix_5 {
  float: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.footer ul {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.footer ul li {
  padding: 4px 0 !important;
}

.footer .suggested {
  float: none !important;
  margin-top: 10px !important;
  padding-left: 0 !important;
  text-align: center;
}

.footer .suggested h2 {
  margin: 0 0 10px 0 !important;
}

.footer .suggested img {
  display: inline-block;
  max-width: 45%;
  height: auto;
  margin: 6px;
  vertical-align: middle;
}

.footer .pay {
  text-align: center;
}

.footer .pay img {
  padding: 6px 8px 0 0;
  max-width: 100%;
  height: auto;
}

.footer .pay img {
  max-height: 34px;
  width: auto;
}

.footer .grid_16[style*="text-align:center"] {
  margin-top: 14px !important;
}

/* Home slideshow (PackFlash Showcase) - make it fluid */
#Slideshow_Cassiopeia,
#Slideshow_Cassiopeia .PfSlideWrapper,
#Slideshow_Cassiopeia .showcase,
#Slideshow_Cassiopeia .showcase-content-container,
#Slideshow_Cassiopeia .showcase-content-wrapper,
#Slideshow_Cassiopeia .showcase-content {
  width: 100% !important;
  max-width: 100% !important;
}

#Slideshow_Cassiopeia .PfSlideWrapper {
  height: auto !important;
}

#Slideshow_Cassiopeia .showcase-content-container {
  box-shadow: none !important;
  /* Responsive ratio box (taller on mobile to avoid "tiny" slides) */
  position: relative !important;
  height: 0 !important;
  padding-bottom: clamp(240px, 65vw, 420px) !important;
  overflow: hidden;
}

#Slideshow_Cassiopeia .showcase-content-wrapper,
#Slideshow_Cassiopeia .showcase-content {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  width: 100% !important;
}

#Slideshow_Cassiopeia .showcase-content-wrapper {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#Slideshow_Cassiopeia .showcase-slide {
  display: block !important;
}

#Slideshow_Cassiopeia .showcase-slide img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  background: #000;
  display: block;
}

#Slideshow_Cassiopeia .caption-trans,
#Slideshow_Cassiopeia .caption-overlay,
#Slideshow_Cassiopeia .black-layer-over-header-image {
  width: 100% !important;
  left: 0 !important;
  bottom: 0 !important;
  padding: 10px !important;
  font-size: 18px !important;
  height: auto !important;
}

#Slideshow_Cassiopeia .caption-overlay img {
  width: 18px !important;
  height: 18px !important;
  margin-left: 10px !important;
  margin-right: 10px !important;
}

/* Home "Apartamentos Destacados" (AcoFeatured/jCarousel) - stack vertically */
.rectangle-featured-list {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 8px 10px !important;
  overflow: visible !important;
}

.skin-acomodispi .jcarousel-prev,
.skin-acomodispi .jcarousel-next {
  display: none !important;
}

.skin-acomodispi .jcarousel-clip,
.skin-acomodispi .jcarousel-container {
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

#picarousel,
.skin-acomodispi .jcarousel-list,
.skin-acomodispi .jcarousel-list-horizontal {
  position: static !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

#picarousel {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#picarousel > li {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 12px 0 !important;
  max-width: 420px;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.skin-acomodispi .jcarousel-item {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  position: static !important;
}

.rectangle-featured-list-item {
  width: 100% !important;
  height: auto !important;
  margin: 0 0 6px 0 !important;
  border-radius: 2px;
  overflow: hidden;
}

.point-of-interest-jpg {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #000;
  display: block;
}

.pointof-interest-box-png {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  padding: 8px 10px !important;
}

/* Detail: "Puntos de interés" – 2 por fila en móvil + anchos fluidos */
.ModAcoDetailApartmentC .points-of-interest-box {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  float: none !important;
}

.ModAcoDetailApartmentC .skin-acomodispi .jcarousel-prev,
.ModAcoDetailApartmentC .skin-acomodispi .jcarousel-next {
  display: none !important;
}

.ModAcoDetailApartmentC .skin-acomodispi .jcarousel-container,
.ModAcoDetailApartmentC .skin-acomodispi .jcarousel-clip {
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ModAcoDetailApartmentC #picarousel {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cada <li> contiene varios puntos; lo convertimos a grid 2 columnas */
.ModAcoDetailApartmentC #picarousel > li {
  width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .point-of-interest-box-item {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box;
}

.ModAcoDetailApartmentC .pointof-interest-box-png {
  width: 100% !important;
}

/* Destacado: ocupar menos alto y quitar botón "Más detalles" */
.rectangle-featured-list .body-copy-top-contents {
  margin: 4px 0 8px 0 !important;
  font-size: 12px !important;
}

.rectangle-featured-list .list-box,
.rectangle-featured-list .more-details-text,
.rectangle-featured-list .plus {
  display: none !important;
}

/* Tarjeta "Apartamento destacado" de la lista (featured-aprtments-box) */
.featured-aprtments-box {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 10px !important;
  box-sizing: border-box;
}

.featured-aprtments-box .apartment-1-jpg {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-top: 6px !important;
}

.featured-aprtments-box .sub-title-1,
.featured-aprtments-box .sub-title-2 {
  display: block;
  margin-top: 6px !important;
}

.featured-aprtments-box .more-details-box {
  display: none !important;
}

/* Ocultar la línea blanca bajo el destacado en móvil */
.featured-aprtments-box .horizontal-rule {
  display: none !important;
}

/* Listado de apartamentos (AcoListApartments) - layout móvil coherente
   Aplicar a cualquier instancia del módulo (lista normal, alquiler por meses, "otros alojamientos"). */
.ModAcoListApartmentsC [id$="_View_dvList"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 10px !important;
  box-sizing: border-box;
}

/* Fallback: en algunas vistas (ej. detalle con postback/paginación) el wrapper
   no incluye siempre la clase ModAcoListApartmentsC, pero dvList sigue teniendo
   un width fijo inline (650px) y puede quedar "a media pantalla". */
[id$="_View_dvList"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 10px !important;
  box-sizing: border-box !important;
  float: none !important;
}

[id$="_View_dvList"] table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

[id$="_View_dvList"] td {
  width: auto !important;
}

[id$="_View_dvMap"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 10px !important;
  box-sizing: border-box !important;
  float: none !important;
}

[id$="_View_dvMap"] #map {
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(220px, 55vw, 340px) !important;
  margin-top: 0 !important;
}

.ModAcoListApartmentsC .list-item-box {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  position: relative !important;
  border-width: 1px !important;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "title title"
    "image price"
    "body  body"
    "fav   fav"
    "rating rating"
    "more  more";
  gap: 6px 8px;
  padding: 8px;
}

.ModAcoListApartmentsC .apartment1-jpg {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  box-sizing: border-box;
  grid-area: image;
}

.ModAcoListApartmentsC .price-box {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box;
  grid-area: price;
}

.ModAcoListApartmentsC .apartment-box-desc {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 4px 0 !important;
  grid-area: title;
}

.ModAcoListApartmentsC .body-copy {
  width: 100% !important;
  height: auto !important;
  grid-area: body;
}

.ModAcoListApartmentsC .favourites-box,
.ModAcoListApartmentsC .ratings,
.ModAcoListApartmentsC .more-details-box {
  width: 100% !important;
  position: static !important;
}

.ModAcoListApartmentsC .more-details-box {
  margin-top: 4px !important;
  grid-area: more;
}

.ModAcoListApartmentsC .favourites-box {
  grid-area: fav;
}

.ModAcoListApartmentsC .ratings {
  grid-area: rating;
}

/* AcoListApartments – layout móvil simplificado y estable (override final) */
.ModAcoListApartmentsC .list-item-box {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-bottom: 16px !important;
  border-width: 1px !important;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px 8px;
  padding: 8px;
}

/* Título del listado: evitar corte por la derecha en móvil */
.ModAcoListApartmentsC .title {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* AcoListApartments: el wrapper `dvList` viene con width/padding inline; en móvil debe ser fluido */
.ModAcoListApartmentsC [id$="_dvList"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px !important;
  box-sizing: border-box !important;
}

/* Texto descriptivo bajo el título ("409 alojamientos...") – evitar ancho fijo de tabla */
.ModAcoListApartmentsC .body-copy-title {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.ModAcoListApartmentsC .body-copy-title table {
  width: 100% !important;
  max-width: 100% !important;
}

.ModAcoListApartmentsC .body-copy-title td {
  width: auto !important;
}

/* Paginación del listado – versión táctil y a ancho completo */
.ModAcoListApartmentsC .pager-box {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  background: white !important;
  color: #555 !important;
  font-family: Arial, sans-serif;
  font-size: 13px !important;
  padding: 6px 8px !important;
  float: none !important;
  height: auto !important;
  margin: 12px 0 !important;
}

.ModAcoListApartmentsC .pager-box table {
  width: 100% !important;
  border-collapse: collapse;
}

.ModAcoListApartmentsC .pager-box td {
  padding: 0 !important;
}

.ModAcoListApartmentsC .pager-box td td:first-child {
  background-color:white !important;
}

.ModAcoListApartmentsC .pager-box td > * {
  display: inline-block;
}

.ModAcoListApartmentsC .pager-box a,
.ModAcoListApartmentsC .pager-box span {
  display: inline-block;
  min-width: 26px;
  padding: 6px 4px;
  margin: 0 2px;
  text-align: center;
  border-radius: 3px;
  text-decoration: none;
  box-sizing: border-box;
}

.ModAcoListApartmentsC .pager-box a {
  background: #e0e0e0;
  color: #555 !important;
}

.ModAcoListApartmentsC .pager-box a:hover {
  background: #d0d0d0;
}

.ModAcoListApartmentsC .pager-box span {
  background: #1d669b;
  color: #fff !important;
  font-weight: bold;
}

/* Orden visual en móvil */
.ModAcoListApartmentsC .apartment-box-desc {
  order: 1;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 6px 0 !important;
}

.ModAcoListApartmentsC .apartment1-jpg {
  order: 2;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 0 6px 0 !important;
  display: block;
}

.ModAcoListApartmentsC .price-box,
.ModAcoListApartmentsC .specialOffer {
  order: 3;
  position: static !important;
  width: 60% !important;
  max-width: 60% !important;
  flex: 0 0 60%;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden !important; /* evita que price-person/bloques internos se salgan */
}

/* Aplanar interior de la caja de precios para evitar solapes */
.ModAcoListApartmentsC .price-box *,
.ModAcoListApartmentsC .specialOffer * {
  position: static !important;
}

/* Precio/Noche + PRECIO TOTAL (móvil): cabeceras en dos mitades correctas */
.ModAcoListApartmentsC .price-box-header-left,
.ModAcoListApartmentsC .price-box-header-right {
  position: static !important; /* ya lo fuerza price-box *; lo dejamos explícito */
  display: block !important;
  width: 50% !important;
  height: 17px !important;
  margin: 0 !important;
  box-sizing: border-box;
}

.ModAcoListApartmentsC .price-box-header-left {
  float: left !important;
  text-align: center !important;
}

.ModAcoListApartmentsC .price-box-header-right {
  float: right !important; /* DOM order doesn't matter */
  text-align: center !important;
}

.ModAcoListApartmentsC .price-box-background {
  position: static !important;
  width: 100% !important;
  box-sizing: border-box;
  height: auto !important; /* anula el height fijo del desktop */
  overflow: hidden !important; /* evita solapes con el texto */
  clear: both !important; /* debajo de las dos cabeceras */
}

.ModAcoListApartmentsC .body-copy {
  order: 5;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 6px 0 !important;
  position: static !important;
}

.ModAcoListApartmentsC .favourites-box {
  order: 3;
  width: 35% !important;
  max-width: 35% !important;
  flex: 0 0 35%;
  margin: 0 !important;
  position: static !important;
  box-sizing: border-box;
  margin-left: auto !important;
}

.ModAcoListApartmentsC .ratings {
  order: 6;
  width: 100% !important;
  position: static !important;
  margin: 0 4px 4px 4px !important;
}

/* Fila de botones al final: "Más detalles" + "Add to favourites" */
.ModAcoListApartmentsC .list-item-box > a {
  order: 4;
  width: 35% !important;
  max-width: 35% !important;
  flex: 0 0 35%;
  position: static !important;
  display: block;
  box-sizing: border-box;
  margin-left: auto !important;
}

.ModAcoListApartmentsC .list-item-box > a .more-details-box {
  float: none;
  width: 100% !important;
  margin: -50px 0 0 0 !important;
  height: auto !important;
  min-height: 30px;
  box-sizing: border-box;
  padding: 6px 8px !important;
  display: flex;
  align-items: center;
}

.ModAcoListApartmentsC .favourites-box a,
.ModAcoListApartmentsC .favourites-box a:hover {
  position: static !important;
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  min-height: 30px;
  box-sizing: border-box;
  padding: 6px 28px 6px 8px !important;
  background-position: right 8px center !important;
  font-size: 14px !important;
}

/* Precio: neutralizar anchos fijos internos para que no empuje/solape */
/* No tocamos la estructura interna de la caja de precios para no deformarla en móvil */

.ModAcoListApartmentsC .more-details-text {
  font-size: 14px !important;
  line-height: 1.1;
}

.ModAcoListApartmentsC .plus {
  line-height: 1;
  margin-left: auto !important;
}

/* jQuery UI dialogs (Detail page modals) - mobile friendly */
.ui-widget-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
}

.ui-dialog {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(92vw, 720px) !important;
  max-width: 92vw !important;
  height: auto !important;
  max-height: 86vh !important;
  z-index: 9999 !important;
  box-sizing: border-box;
}

.ui-dialog .ui-dialog-content {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: calc(86vh - 54px) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* Undo AcoDetailApartment fixed/negative titlebar positioning */
.ui-dialog .ui-dialog-titlebar {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  padding: 10px 44px 10px 12px !important;
  box-sizing: border-box;
  z-index: 1;
}

.ui-dialog .ui-dialog-title {
  display: block;
  float: none !important;
  margin: 0 !important;
  line-height: 1.1;
  white-space: normal !important;
}

.ui-dialog .ui-dialog-titlebar button,
.ui-dialog .ui-button {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  margin: 0 !important;
}


/* Ensure dialog inner tables/images don't force horizontal scroll */
.ui-dialog table {
  width: 100% !important;
  max-width: 100% !important;
}

.ui-dialog img {
  max-width: 100% !important;
  height: auto !important;
}

/* Detail - error dialog (#diverror): center + avoid text being covered by absolute buttons */
.ui-dialog[aria-describedby="diverror"] {
  position: fixed !important;
  left: 50vw !important;
  width: 90vw !important;
  max-width: 90vw !important;
  max-height: 82vh !important;
  box-sizing: border-box !important;
  z-index: 10000 !important;
}

.ui-dialog[aria-describedby="diverror"] .ui-dialog-content {
  padding: 0 !important;
  max-height: calc(82vh - 54px) !important;
  overflow: auto !important;
}

#diverror .dialogError {
  width: auto !important;
  min-height: 0 !important;
  padding: 12px !important;
  padding-bottom: 12px !important;
  box-sizing: border-box;
}

#diverror .body-dark-blue-box {
  left: 0 !important;
  top: 0 !important;
  margin: 0 0 10px 18px !important;
}

/* Buttons inside error dialog: stack, no absolute positioning */
#diverror .BoxSearchSubmit {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  margin: 10px 0 0 0 !important;
  box-sizing: border-box;
}

#diverror .BoxSearchSubmit h3 {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
}

#diverror .BoxSearchSubmit input[type="image"] {
  float: none !important;
  margin-left: auto !important;
  max-width: 28px !important;
  height: auto !important;
}

/* Detail - error dialog: hide bottom-left "X" button; use titlebar close */
.ui-dialog[aria-describedby="diverror"] .ui-dialog-buttonpane {
  display: none !important;
}

/* DNN/module CSS hides it globally; re-enable just for this dialog */
.ui-dialog[aria-describedby="diverror"] .ui-dialog-titlebar-close {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* AcoLogin (inner_7-3-nolikes) mobile fixes */
@media (max-width: 768px) {
  /* Stack main content and right summary: login first, summary below */
  .bgcontent > .grid_11,
  .bgcontent > .grid_5 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bgcontent > .grid_5 {
    margin-top: 12px !important;
  }

  /* AcoLogin: title/subtitle and phase bar */
  .ModAcoLoginC #dnn_ctr1381_View_pnlFasesReserva,
  .ModAcoLoginC [id$="_pnlFasesReserva"] {
    padding: 12px !important;
  }

  .ModAcoLoginC .title-fases {
    display: block !important;
    margin: 0 0 6px 0 !important;
  }

  .ModAcoLoginC .fases {
    display: block !important;
    margin: 0 0 10px 0 !important;
  }

  .ModAcoLoginC .fases-reserv {
    padding-left: 0 !important;
    margin: 0 !important;
  }

  .ModAcoLoginC .fases-reserv li {
    min-width: 0 !important;
    width: calc(50% - 6px) !important;
    margin-right: 6px !important;
    box-sizing: border-box !important;
  }

  .ModAcoReservApartC .button-special-request
  {
    height: auto;
  }
  /* AcoLogin: remove fixed widths and align form fields */
  .ModAcoLoginC .back-text-div,
  .ModAcoLoginC .loginContent,
  .ModAcoLoginC .LoginPanel,
  .ModAcoLoginC .dnnFormItem,
  .ModAcoLoginC .dnnFormItem ul,
  .ModAcoLoginC .dnnFormItem ul.dnnClear {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .dnnInput {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 10px 0 !important;
  }

  .ModAcoLoginC input[type="text"],
  .ModAcoLoginC input[type="password"],
  .ModAcoLoginC input[type="email"],
  .ModAcoLoginC .dnnFormItem input[type="text"],
  .ModAcoLoginC .dnnFormItem input[type="password"],
  .ModAcoLoginC .dnnFormItem input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    padding: 9px 10px !important;
  }

  .ModAcoLoginC .dnnCaptcha,
  .ModAcoLoginC .dnnCaptcha .dnnLeft,
  .ModAcoLoginC .dnnCaptcha img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .dnnCaptcha .dnnLeft input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .dnnFormItem .dnnActions {
    margin: 8px 0 !important;
    padding: 0 !important;
  }

  /* AcoLogin/Register.ascx: evitar recortes y alinear términos */
  .ModAcoLoginC .dnnRegistrationForm,
  .ModAcoLoginC .dnnForm.dnnRegistrationForm {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .dnnRegistrationForm .dnnFormItem,
  .ModAcoLoginC .dnnForm.dnnRegistrationForm .dnnFormItem {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding-right: 0 !important;
    height: auto !important;
  }

  .ModAcoLoginC .dnnRegistrationForm .terms-conditions,
  .ModAcoLoginC .dnnForm.dnnRegistrationForm .terms-conditions {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 10px !important;
    text-align: left !important;
  }

  .ModAcoLoginC .dnnRegistrationForm .terms-conditions .AcceptedAgreement.normalCheckBox,
  .ModAcoLoginC .dnnForm.dnnRegistrationForm .terms-conditions .AcceptedAgreement.normalCheckBox {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }

  .ModAcoLoginC .dnnRegistrationForm .terms-conditions input[type="checkbox"],
  .ModAcoLoginC .dnnForm.dnnRegistrationForm .terms-conditions input[type="checkbox"] {
    margin: 0 !important;
    vertical-align: top !important;
  }

  .ModAcoLoginC .dnnLoginRememberMe {
    display: inline-block !important;
    margin-top: 8px !important;
  }

  /* Reservation side box: ordered and fluid */
  .ModAcoReservApartC,
  .ModAcoReservApartC #dnn_ctr1380_View_dvPanelContent,
  .ModAcoReservApartC #dnn_ctr1380_View_Panel1,
  .ModAcoReservApartC .price-box,
  .ModAcoReservApartC .BoxSearchDisplay {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* En algunos layouts el fondo blanco viene del contenedor externo; forzamos azul en todo el bloque del panel */
  .ModAcoReservApartC #dnn_ctr1380_View_dvPanelContent,
  .ModAcoReservApartC [id$="_View_dvPanelContent"] {
    background-color: #1d659b !important;
    color: #fff !important;
  }

  .ModAcoReservApartC #dnn_ctr1380_View_dvPanelContent * ,
  .ModAcoReservApartC [id$="_View_dvPanelContent"] * {
    color: inherit;
  }

  /* Mantener el look desktop: caja azul y texto visible */
  .ModAcoReservApartC .price-box {
    background-color: #1d659b !important;
    color: #fff !important;
  }

  .ModAcoReservApartC .price-box * {
    color: inherit;
  }

  /* El panel interior no debe "blanquear" el fondo */
  .ModAcoReservApartC [id$="_View_Panel1"],
  .ModAcoReservApartC .price-box > [id$="_Panel1"] {
    background: transparent !important;
  }

  .ModAcoReservApartC .price-title {
    color: #fff !important;
  }

  .ModAcoReservApartC .BoxSearchPayNowbold {
    color: #fff !important;
  }

  /* Legal text: un poco menos intenso, pero visible */
  .ModAcoReservApartC .BoxSearchDisplay .dnnLabel label,
  .ModAcoReservApartC .BoxSearchDisplay .dnnLabel label span {
    color: rgba(255, 255, 255, 0.85) !important;
  }

  .ModAcoReservApartC #dnn_ctr1380_View_Panel1 {
    padding: 12px !important;
  }

  .ModAcoReservApartC .price-title,
  .ModAcoReservApartC .BoxSearchPayNow,
  .ModAcoReservApartC .BoxSearchPayNowbold,
  .ModAcoReservApartC .BoxSearchDisplay.Total {
    word-break: break-word !important;
    line-height: 1.2 !important;
  }

  .ModAcoReservApartC #dnn_ctr1380_View_AppartmentTotal,
  .ModAcoReservApartC #dnn_ctr1380_View_TotalNow2 {
    float: right !important;
    margin-left: 8px !important;
  }

  .ModAcoReservApartC .apartment1-jpg,
  .ModAcoReservApartC #dnn_ctr1380_View_imgPhoto {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .ModAcoReservApartC .apartment-box-desc,
  .ModAcoReservApartC .rental-comments {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
  }

  /* Owner/Comments: avoid clipping and force vertical flow */
  .ModAcoReservApartC .rental-comments {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .ModAcoReservApartC .rental-comments > div,
  .ModAcoReservApartC .notes-box,
  .ModAcoReservApartC .owner-text {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  /* Footer list in this page: keep all items left-aligned together */
  .footer .grid_3 ul li,
  .footer .grid_3 ul li a,
  .footer .grid_3 ul li span.no {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }

  /* AcoLogin profile (pnlProfile): avoid right clipping on mobile */
  .ModAcoLoginC [id$="_pnlProfile"],
  .ModAcoLoginC .dnnForm.dnnProfile,
  .ModAcoLoginC .dnnForm.dnnProfile table,
  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm,
  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm .dnnFormItem,
  .ModAcoLoginC .aco-mandatory-text {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .dnnForm.dnnProfile {
    padding: 0 12px !important;
  }

  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm .dnnFormItem,
  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm .dnnFormItem.dnnFormShort {
    float: none !important;
    clear: both !important;
    height: auto !important;
  }

  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm input[type="text"],
  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm input[type="tel"],
  .ModAcoLoginC #dnn_ctr1381_View_Profile_ProfileForm .riTextBox {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Upload row: show button fully and avoid clipping */
  .ModAcoLoginC .dnnInputFileWrapper,
  .ModAcoLoginC .dnnSecondaryAction {
    /* width: 100% !important; */
    /* min-width: 0 !important; */
    /* max-width: 100% !important; */
    height: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .ModAcoLoginC .dnnInputFileWrapper input[type="file"] {
    /* width: 100% !important; */
    /* max-width: 100% !important; */
    height: auto !important;
  }

  .ModAcoLoginC .input-cupon {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .Apply,
  .ModAcoLoginC a.Apply {
    float: none !important;
    display: inline-block !important;
    margin-top: 8px !important;
  }

  /* PayReserve: prevent right overflow/clipping on payment step */
  .ModAcoLoginC [id$="_pnlPayReserve"],
  .ModAcoLoginC .pay-reserve-container,
  .ModAcoLoginC div[style*="max-width:657px"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* PayReserve/Login: Total Price Box (price-box) visible + sin mezclar con footer */
  .ModAcoLoginC .price-box,
  .ModAcoLoginC [id$="_Div2"].price-box,
  .ModAcoLoginC div.price-box[id*="_View_Div2"] {
    float: none !important;
    clear: both !important;
    /* Contener hijos flotados (Panel1 viene con float:left inline) para que el fondo azul cubra todo */
    display: flow-root !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background-color: #1d659b !important;
    color: #fff !important;
    margin: 12px 0 18px 0 !important;
    padding: 10px 12px !important;
  }

  .ModAcoLoginC .price-box * {
    color: inherit;
  }

  .ModAcoLoginC .price-box .price-title {
    color: #fff !important;
    padding: 10px 0 14px 0 !important;
  }

  /* Panel interior viene con float:left inline -> anular siempre */
  .ModAcoLoginC .price-box [id$="_Panel1"],
  .ModAcoLoginC .price-box [id$="_View_Panel1"],
  .ModAcoReservApartC .price-box [id$="_Panel1"],
  .ModAcoReservApartC .price-box [id$="_View_Panel1"] {
    float: none !important;
    position: static !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .price-box .BoxSearchDisplay {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .price-box .BoxSearchDisplay.Total {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .ModAcoLoginC .price-box .BoxSearchDisplay.Total span,
  .ModAcoLoginC .price-box .BoxSearchDisplay.Total [id$="_AppartmentTotal"] {
    float: none !important;
  }

  .ModAcoLoginC .price-box .BoxSearchPayNowbold {
    text-align: right !important;
    color: #fff !important;
  }

  .ModAcoLoginC .price-box .dnnLabel label,
  .ModAcoLoginC .price-box .dnnLabel label span {
    color: rgba(255, 255, 255, 0.85) !important;
  }

  /* Tooltip de ayuda: no sacar el cuadro fuera del contenedor en móvil */
  .ModAcoLoginC .price-box .dnnTooltip {
    right: 0 !important;
    left: auto !important;
    max-width: min(320px, calc(100vw - 48px)) !important;
    z-index: 1000;
  }

  /* Asegurar que el footer empiece debajo de cualquier float residual */
  .footer { clear: both; }

  .ModAcoLoginC .category-one-box,
  .ModAcoLoginC .payment-box-desc,
  .ModAcoLoginC .payment-jpg,
  .ModAcoLoginC .legal-text,
  .ModAcoLoginC .warning-terms,
  .ModAcoLoginC .terms-conditions {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .ModAcoLoginC .payment-jpg {
    height: auto !important;
    display: block !important;
  }

  .ModAcoLoginC .payment-details-title,
  .ModAcoLoginC .payment-details,
  .ModAcoLoginC .payment-values {
    min-width: 0 !important;
    max-width: 100% !important;
    word-break: break-word !important;
  }

  .ModAcoLoginC .pay-reserve-container table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  .ModAcoLoginC .pay-reserve-container table td {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .ModAcoLoginC #paypal-button-container,
  .ModAcoLoginC #stripe-payment-block,
  .ModAcoLoginC #payment-other-options-block {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .ModAcoLoginC .pay-reserve-container table td[rowspan="2"] {
    display: none !important;
  }

  /* Cards: show once after the payment table */
  .ModAcoLoginC .pay-reserve-container .terms-conditions::before {
    content: url('/images/visa.gif') " " url('/images/mastercard.gif') " " url('/images/AMEX.gif');
    display: block !important;
    margin: 10px 0 !important;
    text-align: left !important;
  }

  /* PayReserve terms: checkbox visible + single-line text */
  .ModAcoLoginC .pay-reserve-container .terms-checkbox-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    white-space: nowrap !important;
  }

  .ModAcoLoginC .pay-reserve-container .terms-checkbox-row span.AcceptedAgreement.normalCheckBox {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .ModAcoLoginC .pay-reserve-container .terms-checkbox-row span.AcceptedAgreement.normalCheckBox input[type="checkbox"] {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
  }

  .ModAcoLoginC .pay-reserve-container .terms-checkbox-row .terms-checkbox-label,
  .ModAcoLoginC .pay-reserve-container .terms-checkbox-row a {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
  }

}

/* AcoBackEnd / ViewReserve (Clientes/Main/ViewReserve) - responsive */
.ModAcoBackEndC {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .viewReserve {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  padding-bottom: 90px !important; /* evita que el footer tape el final del contenido */
}

.ModAcoBackEndC .viewReserve table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  word-break: break-word !important;
  table-layout: fixed !important;
}

.ModAcoBackEndC .viewReserve table td,
.ModAcoBackEndC .viewReserve table th,
.ModAcoBackEndC .viewReserve table tr {
  box-sizing: border-box !important;
  word-break: break-word !important;
}

/* ViewReserve desktop tables become vertical blocks on mobile */
.ModAcoBackEndC .viewReserve > table,
.ModAcoBackEndC .viewReserve > table > tbody,
.ModAcoBackEndC .viewReserve > table > tbody > tr,
.ModAcoBackEndC .viewReserve > table > tbody > tr > td,
.ModAcoBackEndC .viewReserve table[style*="max-width:660px"],
.ModAcoBackEndC .viewReserve table[style*="max-width:670px"],
.ModAcoBackEndC .viewReserve table[style*="line-height: 16px"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Asegurar apilado real de la "cabecera" (foto + texto) */
.ModAcoBackEndC .viewReserve table[style*="max-width:660px"] > tbody > tr > td,
.ModAcoBackEndC .viewReserve table[style*="max-width:670px"] > tbody > tr > td,
.ModAcoBackEndC .viewReserve table[style*="line-height: 16px"] > tbody > tr > td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  text-align: left !important;
}

.ModAcoBackEndC .viewReserve table[style*="line-height: 16px"] > tbody > tr > td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
}

.ModAcoBackEndC .viewReserve .PersonalData td,
.ModAcoBackEndC .viewReserve #dnn_ctr1375_View_ctrlViewReserve_ArrivalData td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.ModAcoBackEndC .viewReserve img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .viewReserve td,
.ModAcoBackEndC .viewReserve th,
.ModAcoBackEndC .viewReserve .CabeceraTitle,
.ModAcoBackEndC .viewReserve .Cabecera,
.ModAcoBackEndC .viewReserve .OrangeText,
.ModAcoBackEndC .viewReserve .BlueText {
  text-align: left !important;
}

.ModAcoBackEndC .viewReserve .contents-title,
.ModAcoBackEndC .viewReserve .titleProfile,
.ModAcoBackEndC .viewReserve .CabeceraTitle,
.ModAcoBackEndC .viewReserve .OrangeText,
.ModAcoBackEndC .viewReserve .BlueText {
  word-break: break-word !important;
}

/* AcoBackEnd layout: one-column, left-aligned, no overflow */
.dnnEditState .bgcontent,
.dnnEditState .grid_16.bgcontent {
  height: auto !important;
  overflow: visible !important;
}


.ModAcoBackEndC #dnn_ctr1375_View_dvNewBackend,
.ModAcoBackEndC .AcoMenuBck,
.ModAcoBackEndC .AcoMainBck {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .AcoMenuBck {
  margin-bottom: 12px !important;
}

.ModAcoBackEndC .AcoMenuBck .TitleMenu,
.ModAcoBackEndC .AcoMenuBck .MenuNew {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  height: auto;
}

/* AcoBackEnd reserves list (mobile): prevent right overflow */
.ModAcoBackEndC table[id$="_gvwReserves"],
.ModAcoBackEndC table[id$="_gvwReserves"] > tbody > tr > td,
.ModAcoBackEndC .list-item-box {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .ImgReserve-Buttons,
.ModAcoBackEndC .ReserveDetail {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .ReserveDetail[style*="width:650px"] {
  width: 100% !important;
}

.ModAcoBackEndC .ReserveDetail table {
  width: 100% !important;
  table-layout: fixed !important;
}

.ModAcoBackEndC .ReserveDetail td,
.ModAcoBackEndC .ReserveDetail td.Cabecera {
  width: auto !important;
  min-width: 0 !important;
  padding-right: 6px !important;
  word-break: break-word !important;
}

.ModAcoBackEndC hr.Separador {
  width: 100% !important;
  max-width: 100% !important;
}

/* AcoBackEnd reserves list (mobile): bigger photo + vertical buttons */
.ModAcoBackEndC table[id*="_ctrlReserves_"][id$="_gvwReserves"] .ImgReserve-Buttons {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlReserves_"][id$="_gvwReserves"] .ReservePhoto {
  float: none !important;
  width: 120px !important;
  height: auto !important;
  margin: 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlReserves_"][id$="_gvwReserves"] .ImgReserve-Buttons ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.ModAcoBackEndC table[id*="_ctrlReserves_"][id$="_gvwReserves"] .ButtonsReserve {
  float: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 3px 6px !important;
}

/* AcoBackEnd favourites list (mobile): desktop-like structure */
.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"],
.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] > tbody > tr > td {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .list-item-box {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .edit-buttons {
  float: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 8px 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .edit-buttons a {
  width: auto !important;
  min-width: 72px !important;
  height: auto !important;
  line-height: 1.1 !important;
  font-size: 14px !important;
  padding: 4px 8px !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ImgReserve-Buttons {
  float: none !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  height: auto !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReservePhoto {
  float: none !important;
  width: 138px !important;
  height: auto !important;
  margin: 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ImgReserve-Buttons ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ButtonsReserve {
  float: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 3px 6px !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ButtonsReserve.Blue {
  white-space: nowrap !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 0 0 !important;
  text-align: left !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail table {
  table-layout: auto !important;
  width: 100% !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail td {
  padding-right: 0 !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail .CabeceraTitle,
.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail .details-list li,
.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail .ratings {
  word-break: break-word !important;
}

.ModAcoBackEndC table[id*="_ctrlFavourites_"][id$="_gvwReserves"] .ReserveDetail .details-list {
  margin: 0 !important;
  padding-left: 16px !important;
}

.ModAcoBackEndC .viewReserve,
.ModAcoBackEndC .titleProfile {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* Keep table semantics in ViewReserve to avoid breaking Telerik controls */
.ModAcoBackEndC .viewReserve table {
  width: 100% !important;
  max-width: 100% !important;
}

/* ViewReserve: "Edit" clearly visible as button on mobile */
.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar {
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar:first-child {
  flex: 1 1 auto !important;
  padding-right: 92px !important; /* reserva espacio para el botón Edit */
  height: auto !important;
  min-height: 35px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar:last-child {
  flex: 0 0 auto !important;
  width: auto !important;
  margin-top: 0 !important;
  background: transparent !important;
  padding: 0 8px 0 0 !important;
  text-align: right !important;
  height: auto !important;
}

.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar span,
.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar label {
  display: inline-block !important;
  max-width: 100% !important;
  line-height: 1.2 !important;
}

.ModAcoBackEndC .viewReserve table.PersonalData tr:first-child td.PersonalDataBar a[id$="_hlEdit"] {
  display: inline-block !important;
  background: #ffffff !important;
  color: #1d669b !important;
  border: 1px solid #1d669b !important;
  border-radius: 3px !important;
  padding: 3px 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

/* ViewReserve edit mode: avoid right overflow (single-column form) */
.ModAcoBackEndC div[id$="_editData"],
.ModAcoBackEndC div[id$="_editData"] .dnnForm,
.ModAcoBackEndC div[id$="_editData"] div[id$="_ProfileForm"],
.ModAcoBackEndC div[id$="_editData"] div[id$="_ReserveForm"],
.ModAcoBackEndC div[id$="_editData"] div[id$="_dvArrivalData"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC div[id$="_editData"] .dnnFormItem,
.ModAcoBackEndC div[id$="_editData"] .dnnFormItem.dnnFormShort {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC div[id$="_editData"] .dnnFormItem[style*="float:right"],
.ModAcoBackEndC div[id$="_editData"] .dnnFormItem[style*="float:left"] {
  float: none !important;
}

.ModAcoBackEndC div[id$="_editData"] .dnnFormItem[style*="min-width:657px"] {
  min-width: 0 !important;
}

/* Keep Telerik action icons visible on mobile */
.ModAcoBackEndC div[id$="_editData"] .RadComboBox_Default td.rcbArrowCellRight,
.ModAcoBackEndC div[id$="_editData"] .RadComboBox_Default td.rcbArrowCellLeft {
  min-width: 40px !important;
  width: 40px !important;
}

.ModAcoBackEndC div[id$="_editData"] .RadComboBox_Default td.rcbArrowCellRight a,
.ModAcoBackEndC div[id$="_editData"] .RadComboBox_Default td.rcbArrowCellLeft a {
  display: block !important;
  min-width: 40px !important;
}

.ModAcoBackEndC div[id$="_editData"] .RadPicker_Default .rcTable td:last-child {
  min-width: 40px !important;
  width: 40px !important;
}

.ModAcoBackEndC div[id$="_editData"] input[type="text"],
.ModAcoBackEndC div[id$="_editData"] input[type="email"],
.ModAcoBackEndC div[id$="_editData"] input[type="tel"],
.ModAcoBackEndC div[id$="_editData"] input[type="url"],
.ModAcoBackEndC div[id$="_editData"] textarea,
.ModAcoBackEndC div[id$="_editData"] .RadComboBox,
.ModAcoBackEndC div[id$="_editData"] .RadPicker,
.ModAcoBackEndC div[id$="_editData"] .RadInput,
.ModAcoBackEndC div[id$="_editData"] .rcTable {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC div[id$="_editData"] textarea {
  min-height: 90px !important;
}

/* Keep Telerik controls close to original behavior */
.ModAcoBackEndC div[id$="_editData"] .RadComboBox,
.ModAcoBackEndC div[id$="_editData"] .RadPicker,
.ModAcoBackEndC div[id$="_editData"] .rcTable {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* AcoBackEnd edit mode: keep form inside viewport */
.ModAcoBackEndC .dnnForm,
.ModAcoBackEndC .dnnFormItem,
.ModAcoBackEndC .dnnInput,
.ModAcoBackEndC .dnnFormItem.dnnFormShort,
.ModAcoBackEndC .dnnFormItem > .RadComboBox_Default,
.ModAcoBackEndC .dnnFormItem > .RadPicker_Default,
.ModAcoBackEndC table.viewProfile,
.ModAcoBackEndC .viewProfile td,
.ModAcoBackEndC .title2Profile,
.ModAcoBackEndC .personalDataBar {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Override mobile spacing from AcoBackEnd module.css */
.ModAcoBackEndC .dnnFormItem > .RadComboBox_Default,
.ModAcoBackEndC .dnnFormItem > .RadPicker_Default {
  margin-bottom: 0 !important;
}

.ModAcoBackEndC .dnnFormItem input[type="text"],
.ModAcoBackEndC .dnnFormItem input[type="password"],
.ModAcoBackEndC .dnnFormItem input[type="email"],
.ModAcoBackEndC .dnnFormItem input[type="tel"],
.ModAcoBackEndC .dnnFormItem input[type="url"],
.ModAcoBackEndC .dnnFormItem input[type="date"],
.ModAcoBackEndC .dnnFormItem select,
.ModAcoBackEndC .dnnFormItem textarea,
.ModAcoBackEndC .RadInput .riTextBox {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.ModAcoBackEndC .viewProfile td,
.ModAcoBackEndC .viewProfile td.Cabecera {
  display: block !important;
  width: 100% !important;
  padding-right: 0 !important;
}

.dnnActions .acoSecondaryAction,
.dnnActions .acoPrimaryAction, .personalDataBar, .dnnInputFileWrapper {
  height: auto !important;
}

/* PackFlashPublish - Eventos (mobile): eliminar cortes por width/height fijos */

/* Listado de categorías y listado de eventos: estructura común por clase `event-background` */
.event-background {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 12px 0 !important;
  box-sizing: border-box !important;
}

.event-background > div {
  float: none !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.event-box-header {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}

.event-image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.event-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

.event-name {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.event-contents {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

.list-box {
  position: relative !important;
  bottom: auto !important;
  right: auto !important;
  width: auto !important;
  margin: 10px 0 0 0 !important;
}

/* PackFlashPublish - Detalle de evento: anular floats/anchos fijos */
#PF_Publish_Article_Container {
  overflow-x: hidden !important;
}

#PF_Publish_Article_Container .rectangle-gallery-list {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* En el detalle, los contenedores principales usan float/width inline */
#PF_Publish_Article_Container div[style*="float:left"],
#PF_Publish_Article_Container div[style*="float:right"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#PF_Publish_Article_Container .meta-event,
#PF_Publish_Article_Container .description-event,
#PF_Publish_Article_Container .options-text {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin-top: 12px !important;
}

#PF_Publish_Article_Container .button-text {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  margin: 12px 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Carrusel del detalle: pasar a ancho completo y sin recortes */
#PF_Publish_Article_Container .skin-aomodisevent .jcarousel-clip,
#PF_Publish_Article_Container .skin-aomodisevent .jcarousel-container {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#PF_Publish_Article_Container .skin-aomodisevent .jcarousel-item {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}

#PF_Publish_Article_Container .skin-aomodisevent .jcarousel-prev,
#PF_Publish_Article_Container .skin-aomodisevent .jcarousel-next {
  display: none !important;
}

a .list-box {
  height: auto !important;
}