/**
 * Responsive CSS for casasantelmo.com.ar
 * Class-based responsive overrides for inline fixed-width elements.
 * Loaded AFTER all other CSS files.
 *
 * Classes added to HTML/PHP files:
 *   .r-container      — any wrapper with fixed width > 375px (e.g. 900px, 910px, 880px)
 *   .r-header-bar      — the 940px header inner bar
 *   .r-header-logo     — logo wrapper in header
 *   .r-header-child    — floated child in header (social, wishlist)
 *   .r-hide-mobile     — elements hidden on mobile (separators, location text)
 *   .r-photo-slider    — ficha photo slider (550px) and map column (540px)
 *   .r-slider-img      — individual slider images (550x364)
 *   .r-sidebar         — sidebar columns (307px, 210px)
 *   .r-main-content    — main content columns (650px, 648px, 670px)
 *   .r-dialog          — modal dialog (450px)
 */

/* ============================================
   BASE: Always-on fixes (all viewports)
   ============================================ */

/* Fix guestbook: use native scrollbar instead of broken tinyscrollbar */
#guestbooklist, #guestbooklist * {
    box-sizing: content-box;
}
#guestbooklist .scrollbar {
    display: none !important;
}
#guestbooklist .viewport {
    height: 250px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative !important;
}
#guestbooklist .overview {
    position: relative !important;
    top: auto !important;
    left: auto !important;
}

/* Prevent images from overflowing their containers */
img {
    max-width: 100%;
    height: auto;
}

/* ============================================
   TABLET: <= 1024px
   ============================================ */
@media screen and (max-width: 1024px) {
    *, *::before, *::after {
        box-sizing: border-box;
    }

    html {
        overflow-x: hidden !important;
    }
    body {
        overflow-x: hidden !important;
        min-width: auto !important;
        width: 100% !important;
    }

    /* Known fixed-width wrappers (by ID/class) */
    .centrado,
    .pieContenedorGeneral,
    #indexContenedorHeader,
    #barraTop,
    .all_top_adicional_contenedor,
    .top_adicional,
    .top_adicional_lista {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        box-sizing: border-box !important;
    }

    /* Class-based container override */
    .r-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    /* Header bar */
    .r-header-bar {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        box-sizing: border-box !important;
    }

    /* Buscador map */
    #map_canvas {
        width: 100% !important;
        height: 250px !important;
        margin-bottom: 10px;
    }

    /* Apartment listing items */
    .departamento_item {
        width: 100% !important;
    }
    .itemImagenRecuadro {
        width: 100% !important;
    }
    .itemImagenRecuadro img {
        width: 100% !important;
        height: auto !important;
    }

    /* Prevent ALL elements from overflowing viewport (except Leaflet internals) */
    div:not(.leaflet-popup):not(.leaflet-popup-content-wrapper):not(.leaflet-popup-content):not(.leaflet-pane):not(.leaflet-overlay-pane),
    table, td, th, form, fieldset {
        max-width: 100% !important;
        min-width: auto !important;
    }
    /* Leaflet popups need their own sizing */
    .leaflet-popup {
        max-width: none !important;
    }
    .leaflet-popup-content-wrapper {
        max-width: none !important;
    }
    .leaflet-popup-content {
        max-width: 250px !important;
        min-width: 0 !important;
    }
    /* Fix map guide popups — inline styles have width:130px height:100px */
    .leaflet-popup-content > div {
        width: auto !important;
        max-width: 220px !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        font-size: 11px !important;
        padding: 8px !important;
    }
    .leaflet-popup-content > div img {
        float: none !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: 120px !important;
        object-fit: cover !important;
        margin: 0 0 5px 0 !important;
    }
    .leaflet-popup-content > div b {
        font-size: 13px !important;
        display: block !important;
        margin-bottom: 3px !important;
    }
}

/* ============================================
   MOBILE: <= 768px
   ============================================ */
@media screen and (max-width: 768px) {
    /* Prevent horizontal scroll + fix welcomesantelmo height:100% blocking scroll */
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        height: auto !important;
        min-height: 100% !important;
    }

    /* --- RESPONSIVE IFRAMES (YouTube, etc.) --- */
    iframe {
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }

    /* --- UTILITY CLASSES --- */
    .r-hide-mobile {
        display: none !important;
    }

    .r-container {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    .r-photo-slider {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    /* bxSlider wrapper — force full width and contain overflow */
    .bx-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }
    .bx-viewport {
        width: 100% !important;
    }
    /* Ficha: reduce nested padding — div with inline padding:10px inside .r-container */
    .r-container > div[style*="padding:10px"],
    .r-container > div[style*="padding: 10px"] {
        padding: 0 !important;
    }
    /* Also reduce .r-container padding on ficha */
    .contenedor > .r-container {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    .r-slider-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .r-sidebar {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-top: 10px !important;
        box-sizing: border-box !important;
    }

    .r-main-content {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .r-dialog {
        width: 90vw !important;
        max-width: 350px !important;
        left: 50% !important;
        margin-left: -45vw !important;
        box-sizing: border-box !important;
    }

    /* --- HEADER --- */
    #barraTop {
        height: auto !important;
        padding: 5px !important;
        min-width: auto !important;
    }

    .r-header-bar {
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 3px !important;
        padding: 3px 5px !important;
    }

    .r-header-bar > * {
        float: none !important;
        position: static !important;
    }

    .r-header-logo {
        float: none !important;
        margin-left: 0 !important;
    }

    .r-header-child {
        float: none !important;
        position: static !important;
    }

    #barraTop img[src*="logo"] {
        height: 30px !important;
    }

    #divBanderitas {
        order: 1;
        float: none !important;
    }
    #divBanderitas img {
        width: 22px !important;
        height: auto !important;
    }

    #divTelefono {
        float: none !important;
        position: static !important;
    }
    #divTelefono img {
        width: 20px !important;
        height: 20px !important;
    }

    #wishlist {
        float: none !important;
        position: static !important;
        font-size: 11px !important;
        margin: 2px 0 !important;
    }

    /* --- HOMEPAGE HERO --- */
    .fondofoto,
    .fondofoto.bgStretcher-container,
    div.fondofoto[style] {
        min-width: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: relative !important;
    }
    .fondofoto > div,
    .fondofoto > .bgstretcher-area {
        height: auto !important;
        min-height: 0 !important;
        box-shadow: none !important;
        position: relative !important;
        background: #5a3d1a !important;
        padding-bottom: 5px !important;
    }
    .bgstretcher-area,
    .bgstretcher-page,
    .fondofoto div[style*="height:270px"],
    .fondofoto div[style*="height: 270px"] {
        height: auto !important;
        min-height: 0 !important;
        position: static !important;
        overflow: visible !important;
    }
    .divIntro {
        width: 100% !important;
        top: auto !important;
        position: static !important;
        padding: 5px 10px !important;
        box-sizing: border-box !important;
        height: auto !important;
    }
    .divIntro h1 {
        font-size: 15px !important;
        letter-spacing: 0 !important;
        margin-bottom: 2px !important;
    }
    .divIntro h2 {
        font-size: 11px !important;
        margin-bottom: 0 !important;
    }
    .divSearchb {
        width: 100% !important;
        height: auto !important;
        top: auto !important;
        position: static !important;
        border-radius: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: none !important;
    }
    .divSearch {
        width: 100% !important;
        height: auto !important;
        top: auto !important;
        position: static !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
        border: none !important;
    }
    .divSearch > div[style*="float:left"] {
        float: none !important;
        width: 100% !important;
    }
    .divSearch form {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
    }
    /* Hide "All" / "or" / "Cod" on mobile */
    .divSearch .buttonAll,
    .divSearch a[href*="apartments"] > .buttonAll,
    .divSearch div[style*="float:right"] {
        display: none !important;
    }
    .indexSelect2 {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    #botonPublique {
        font-size: 11px !important;
        padding: 8px !important;
        text-align: center !important;
        float: none !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    #fondoCaption {
        display: none !important;
    }

    /* --- HOMEPAGE SECTIONS --- */
    #divEstudiante2 {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px !important;
        background-size: cover !important;
        background-position: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        position: relative !important;
    }
    #sabias {
        position: static !important;
        margin: 0 !important;
        text-align: center !important;
    }
    .sabiasQue {
        font-size: 20px !important;
        margin: 0 !important;
    }
    .nuestros {
        margin: 0 !important;
        width: 100% !important;
        font-size: 13px !important;
        text-align: center !important;
    }
    #deptosEstudiantes {
        position: static !important;
        width: 100% !important;
        float: none !important;
        margin: 8px 0 !important;
        text-align: center !important;
    }

    /* Featured apartments grid */
    #indexDestacados {
        display: block !important;
        height: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #indexDestacados > .r-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .destacadoItem {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8px 0 !important;
        float: none !important;
        display: block !important;
    }
    .destacadoItem img,
    .destacadoItem a {
        float: none !important;
        display: block !important;
    }
    .destacadoItemImgContiene {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
    .destacadoItemImgContiene img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    .destacadoItemTexto {
        width: 100% !important;
        display: none !important;
    }
    .destacadoItemTextoSub {
        width: 100% !important;
        padding: 6px !important;
        font-size: 13px !important;
    }
    .destacadoItemPrecio {
        width: auto !important;
        top: auto !important;
        position: static !important;
        float: none !important;
        display: block !important;
    }

    /* Apartment listing items */
    .departamento_item {
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
        overflow: visible !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }
    .itemImagenRecuadro {
        width: 120px !important;
        height: auto !important;
        flex-shrink: 0 !important;
    }
    .itemImagenRecuadro img {
        width: 120px !important;
        height: auto !important;
    }

    /* Index left sidebar (barraLeft) */
    #barraLeft {
        float: none !important;
        width: 100% !important;
        border: none !important;
        margin-bottom: 10px !important;
    }
    /* Carousel images in sidebar */
    .jcarousel-skin-tango li img {
        width: 100% !important;
        height: auto !important;
    }

    /* Navigation */
    .all_top_adicional_contenedor {
        font-size: 11px;
        overflow-x: auto;
        white-space: nowrap;
        padding: 5px;
        -webkit-overflow-scrolling: touch;
    }
    .all_top_adicional_contenedor li {
        display: inline;
    }

    /* Homepage search form */
    .indexInpugck,
    input[name="buscadorCheckIn"],
    input[name="buscadorCheckOut"] {
        width: 100% !important;
        float: none !important;
        margin: 0 0 5px 0 !important;
        box-sizing: border-box !important;
        height: 40px !important;
        font-size: 16px !important;
    }
    select[name="c"],
    .indexSelect {
        width: 100% !important;
        float: none !important;
        margin: 0 0 5px 0 !important;
        box-sizing: border-box !important;
        height: 40px !important;
        font-size: 16px !important;
    }
    select[name="preciosen"] {
        width: 100% !important;
        float: none !important;
        margin: 0 0 5px 0 !important;
        box-sizing: border-box !important;
        height: 40px !important;
    }
    #botonSearch {
        width: 100% !important;
        float: none !important;
        height: 44px !important;
        font-size: 16px !important;
    }

    /* Homepage apartments grid */
    .indexContenedorItem {
        width: 50% !important;
        float: left !important;
    }

    /* Last minute offer grid — "Oferta" tab section */
    #left .r-main-content,
    #left {
        width: 100% !important;
        float: none !important;
    }

    /* Neighborhood photos section — empty on local, hide on mobile */
    #phoancla {
        width: 100% !important;
        height: auto !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }
    #phoancla:has(#pho_cont:empty) {
        display: none !important;
    }
    #pho_cont {
        width: 100% !important;
    }
    #home_fotos {
        width: 100% !important;
        float: none !important;
    }
    #home_fotos h1 {
        width: 100% !important;
        font-size: 16px !important;
        background-size: 100% !important;
    }
    .padh10 {
        float: none !important;
        width: 100% !important;
    }

    /* Last minute offer grid */
    div[style*="width:240px"][style*="float:left"],
    div[style*="width: 240px"][style*="float:left"] {
        width: 48% !important;
        margin: 1% !important;
    }

    /* Bottom search bar */
    .r-container form {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }
    .r-container form .indexInpugck,
    .r-container form .indexSelect,
    .r-container form #botonSearch {
        flex: 1 1 100%;
    }
    .r-container div[style*="float:left"][style*="line-height:30px"] {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 0 5px 0 !important;
    }

    /* Reviews/Map bottom bar */
    .bi_reviews, .bi_mapa, .bi_tango {
        float: none !important;
        width: 100% !important;
        margin: 0 0 5px 0 !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
    }
    #barra_inferior {
        display: flex !important;
        flex-direction: column !important;
        float: none !important;
        width: 100% !important;
    }
    #barra_inferior div {
        width: 100% !important;
        height: 60px !important;
        margin: 5px 0 !important;
    }
    div[style*="height:110px"][style*="background:#F8F3D6"],
    div[style*="clear:both"][style*="height:110px"] {
        height: auto !important;
        padding: 10px !important;
    }
    .centrado {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Reviews bar parent */
    div[style*="background:#F8F3D6"] {
        height: auto !important;
        padding: 10px 0 !important;
    }

    /* --- BUSCADOR --- */
    #barra {
        float: none !important;
        width: 100% !important;
        min-height: auto !important;
        margin: 0 !important;
    }
    #listado_contenedor {
        float: none !important;
        width: 100% !important;
        margin: 10px 0 0 0 !important;
    }
    /* Buscador top search bar */
    #buscadorTop {
        float: none !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    .buscadorTopForm {
        float: none !important;
        width: 100% !important;
    }
    .buscadorTopForm form {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 5px !important;
        width: 100% !important;
    }
    .checkinout {
        float: none !important;
        width: 100% !important;
        height: 35px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    .buscadorTopForm #botonSearch {
        width: 100% !important;
        float: none !important;
        height: 40px !important;
    }
    .buscadorTopText {
        float: none !important;
        text-align: center !important;
        display: block !important;
        margin-bottom: 5px !important;
    }
    /* Buscador title */
    .buscadorTitulo {
        font-size: 18px !important;
    }

    /* --- FICHA (apartment detail) --- */
    /* Photo sliders */
    .bxslider li img,
    .slider-next img,
    #sliderBigReal li img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
    #sliderBigReal {
        width: 100% !important;
    }
    /* DO NOT override #sliderBigReal ul width — bxSlider needs it wide for sliding */
    /* Fix viewport height — bxSlider calculates 0 or 320px; force proper height */
    .bx-viewport {
        height: 240px !important;
    }
    /* Thumbnails — bigger for touch */
    #sliderThumbReal {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        height: 60px !important;
    }
    #sliderThumbReal li {
        display: inline-block !important;
        float: none !important;
    }
    #sliderThumbReal li img {
        width: 50px !important;
        height: 35px !important;
        object-fit: cover !important;
        margin: 2px !important;
    }

    /* Calendar — stack vertically, full width */
    .boxcalendariomes {
        width: 100% !important;
        margin-bottom: 10px !important;
        float: none !important;
    }
    /* Calendar parent wrappers have inline float:left */
    .boxcalendariomes,
    div[style*="float:left"][style*="margin-right:7px"],
    #calendario > div,
    #calendarioExpandido > div {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }
    #calendario,
    #calendarioExpandido {
        height: auto !important;
        overflow: visible !important;
        float: none !important;
        width: 100% !important;
    }
    /* Calendar tables full width */
    .boxcalendariomes table,
    table[width="150"],
    table[width="500"],
    table[width="600"],
    table[style*="width:500"],
    table[style*="width:600"] {
        width: 100% !important;
    }
    /* Reserve form — prevent overlap with calendar */
    a[name="reserve"],
    #fichaReservaContenedor,
    div[style*="position:absolute"][style*="reserve"],
    .fichaReserva {
        position: static !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
    }

    /* Ficha: guest comments + map container — prevent float overlap */
    div[style*="float:left"][style*="width:320px"],
    div[style*="float:left"][style*="width:540px"],
    div[style*="float:left"][style*="width: 320px"],
    div[style*="float:left"][style*="width: 540px"] {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* Ficha map — needs min-height */
    #mapa_contenedor {
        width: 100% !important;
        height: 250px !important;
        position: relative !important;
    }
    #mapa_contenedor #map_canvas {
        width: 100% !important;
        height: 250px !important;
        min-height: 250px !important;
    }

    /* Map page */
    #map_barra {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        max-height: 200px !important;
        overflow-y: auto !important;
    }
    .map-canvas-contenedor {
        float: none !important;
        width: 100% !important;
        height: 400px !important;
    }
    #map-canvas,
    #map_canvas {
        width: 100% !important;
        height: 100% !important;
    }
    .fondo_rojo {
        height: auto !important;
    }

    /* Footer */
    .pieContenedorGeneral {
        width: 100% !important;
        padding: 10px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .pie_w {
        width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }
    .pie_columna {
        float: none !important;
        width: 100% !important;
        margin: 0 0 5px 0 !important;
    }
    /* Footer phone bar */
    .pie_w .r-container[style*="background:#6699CC"] {
        width: 100% !important;
        height: auto !important;
        line-height: 1.4 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    /* Tourist map sidebar */
    div[style*="width:20%"][style*="float:left"],
    div[style*="width: 20%"][style*="float:left"] {
        float: none !important;
        width: 100% !important;
        max-height: 200px;
        overflow-y: auto;
    }
    div[style*="width:80%"][style*="float:left"],
    div[style*="width: 80%"][style*="float:left"] {
        float: none !important;
        width: 100% !important;
    }

    /* Currency selector */
    select[name="preciosen"] {
        width: auto;
    }

    /* Hide non-essential elements on mobile */
    .bgstretcher,
    #bgstretcher {
        display: none !important;
    }

    /* jCarousel sidebar — constrain to container */
    .jcarousel-skin-tango {
        width: 100% !important;
    }
    .jcarousel-skin-tango .jcarousel-container,
    .jcarousel-skin-tango .jcarousel-clip {
        width: 100% !important;
    }

    /* Force ALL images with inline styles to respect container */
    img[style*="width:"] {
        max-width: 100% !important;
        height: auto !important;
    }

    /* --- FICHA SANTELMO (guide detail pages) --- */
    .ficha .contenido {
        width: 100% !important;
        padding: 0 8px !important;
        box-sizing: border-box !important;
    }
    .ficha_izq {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    .ficha_izq img {
        width: 100% !important;
        height: auto !important;
    }
    .ficha_izq h1 {
        font-size: 16px !important;
        height: auto !important;
        line-height: 1.3 !important;
        padding: 5px 0 !important;
    }
    .ficha_thumbs {
        display: none !important;
    }
    .ficha_der {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        margin-top: 10px !important;
    }
    .ficha_der #map-canvas {
        width: 100% !important;
        height: 200px !important;
        margin-left: 0 !important;
    }
    .ficha_der img {
        margin-left: 0 !important;
    }
    .ficha_der_caracs {
        width: 100% !important;
    }
    .ficha_der_caracs li {
        font-size: 14px !important;
        padding: 4px 0 !important;
    }
    .ficha_der_relac {
        float: none !important;
        width: 100% !important;
        clear: both !important;
    }
    .ficha_relacionado {
        width: 100% !important;
        float: none !important;
        margin-bottom: 10px !important;
        overflow: hidden !important;
    }
    .ficha_relacionado img {
        width: 80px !important;
        height: 80px !important;
        object-fit: cover !important;
        float: left !important;
        margin-right: 10px !important;
    }
    .ficha_izq_coment {
        float: none !important;
        width: 100% !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }
    .ficha_izq_op {
        float: none !important;
        width: 100% !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }
    .ficha_izq_op h1 {
        font-size: 18px !important;
    }
    /* Facebook comments responsive */
    .fb-comments, .fb-comments iframe, .fb-comments span {
        width: 100% !important;
    }
    /* Discount banner */
    .guia_desc, .guia_desc_texto {
        width: 100% !important;
        float: none !important;
    }

    /* --- TOUCH TARGETS (min 30px for mobile) --- */

    /* Nav links — 15px → 36px */
    .all_top_adicional_contenedor a,
    .top_adicional li a {
        display: inline-block !important;
        padding: 8px 4px !important;
        min-height: 30px !important;
        line-height: 20px !important;
        box-sizing: border-box !important;
    }
    .top_adicional {
        height: auto !important;
        overflow: hidden !important;
    }
    .top_adicional li {
        height: auto !important;
    }
    .top_adicional_lista {
        height: auto !important;
        overflow: hidden !important;
    }
    .top_adicional_lista ul {
        overflow: hidden !important;
    }

    /* Language flags — 14px → 36px tap area */
    #divBanderitas a {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 30px !important;
        padding: 4px 2px !important;
    }

    /* Checkboxes in buscador + map filters — larger tap area without scale */
    input[type="checkbox"] {
        min-width: 18px !important;
        min-height: 18px !important;
    }

    /* Select dropdowns in buscador filters only */
    #varDormitorios,
    #varBanos {
        min-height: 32px !important;
        font-size: 16px !important;
    }

    /* Tips TOC links + Guide sidebar links */
    .tips_indice a,
    .pie_columna a,
    #barraLeft a {
        display: block !important;
        padding: 6px 0 !important;
        line-height: 1.6 !important;
    }

    /* Map category list links */
    #map_barra li {
        padding: 4px 0 !important;
    }
    #map_barra a {
        display: block !important;
        padding: 4px 0 !important;
    }
}

/* ============================================
   SMALL MOBILE: <= 480px
   ============================================ */
@media screen and (max-width: 480px) {
    /* Single column apartment grid */
    .indexContenedorItem,
    #indexDestacados > div {
        width: 100% !important;
    }

    .destacadoItem {
        width: 100% !important;
    }

    div[style*="width:240px"][style*="float:left"],
    div[style*="width: 240px"][style*="float:left"] {
        width: 100% !important;
        margin: 5px 0 !important;
    }

    /* Font sizes */
    h1, .indexTitulo {
        font-size: 1.2em !important;
    }
    h2 {
        font-size: 1.1em !important;
    }

    /* Price labels */
    .precioSem, .precioMes {
        font-size: 14px !important;
    }

    /* Dialog */
    .r-dialog {
        width: 95vw !important;
        max-width: 95vw !important;
        margin-left: -47.5vw !important;
    }
}

/* ============================================
   PRINT
   ============================================ */
@media print {
    .all_top_adicional_contenedor,
    #map_canvas,
    .bgstretcher,
    nav,
    .pieContenedorGeneral {
        display: none !important;
    }
    body {
        min-width: auto !important;
    }
}
