/* Large devices (ipad pro, desktops, 992px up to 1199) */
@media only screen and (min-width: 992px) {

    .bebas-neue-title-2 {
        font-size: 44px;
    }

    header {
        position: relative;
        z-index: 99999;
        width: 100%;
        margin-bottom: -28px;
    }

    .desktop-navigation {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 50px;
        max-width: 1600px;
        margin: auto;
    }

    .desktop-menu {
        display: flex;
        justify-content: center;
        margin-bottom: 0;
        align-items: center;
        padding: 0;
        list-style: none;
    }

    .desktop-menu > li a {
        display: block;
        text-decoration: none;
        padding: 0 4px;
        margin: 0 8px;
        color: var(--black);
        border: 1px solid transparent;
        transition: all 0.25s;
    }

    .desktop-menu > li a.main-menu:hover {
        border-left-color: #dedede;
        border-right-color: #dedede;
		font-weight: 500;
    }

    .round-black-bg {
        background-color: var(--black);
        display: flex;
        height: 25px;
        width: 25px;
        border-radius: 50%;
        justify-content: center;
        align-items: center;
        color: var(--white);
        font-size: .75rem
    }

    #desktop-booking-form {
        position: relative;
        /*height: 568px;*/
        height: 1px;
        padding-top: 100px;
        transform: translateY(-568px);
        transition: all 1s;
        z-index: 4;
    }

    .dbf-anim {
        height: 420px !important;
        margin-bottom: 44px;
        transform: translateY(0px) !important;
        transition-timing-function: ease;
        padding-top: 0px !important;
    }	

    .dbf-background {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: var(--black);
		border-bottom: solid #fff 10px;
    }

    .dbf-background:before {
        content: ' ';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0.6;
        background-image: url(../images/booking-form-bg.webp);
        background-repeat: no-repeat;
        background-position: 50% 0;
        background-size: cover;
    }

    .buildings {
        position: relative;
        width: 1000px;
        height: 200px;
        margin: auto;
    }

    .buildings .white-lines,
    .buildings .white-buildings,
    .buildings .black-buildings {
        display: flex;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* Distribución equitativa: al quitar un edificio el resto ocupa el espacio sin huecos */
    .buildings .white-buildings img,
    .buildings .black-buildings img {
        flex: 1 1 0;
        min-width: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .buildings .white-background-container {
        position: absolute;
        top: 0;
        left: 0;
    }

    .buildings .white-square {
        background-color: var(--white);
        position: absolute;
        left: 0;
        height: 200px;
        width: 202px;
        display: none;
        transition: all .5s;
    }

    .buildings .black-buildings img {
        opacity: 0;
        transition: all 0.5s;
        cursor: pointer;
        /* flex ya definido arriba para distribución equitativa */
    }

    .black-bar {
        position: absolute;
        width: 100%;
        height: 7px;
        background-color: var(--black);
        bottom: 0;
    }

    .form-opener {
        position: absolute;
        max-width: 1000px;
        height: 80px;
        left: 0;
		right: 0;
		margin: 0 auto;
        bottom: -550px;
        cursor: pointer;
        /*background-color: rgba(255, 255, 0, .5);*/
    }

    .form-box {
        position: relative;
        width: 1000px;
        /* height: 160px; */
        background-color: var(--white);
        margin: auto;
        padding: 24px 20px 0px 20px;
        transform: translateY(195px);
        transition: all 1s;
    }
    .form-box-sticky-bg {
        position: fixed;
        width: 100%;
        height: 76px;
        top: 0;
        left: 0;
        right: 0;
        background-color: #ffffff;
        display: none;
        z-index: 2;
    }

    .form-box-anim {
        padding-bottom: 30px;
        transform: translateY(0px) !important;
        box-shadow: 0 6px 6px rgba(0, 0, 0, .5);
        transition-timing-function: ease;
    }

    .yellow-marker-container {
        position: absolute;
        width: 1000px;
        height: 40px;
        left: 0;
        bottom: 0;
    }

    .yellow-marker {
        color: var(--yellow);
        width: 24px;
        justify-content: center;
        font-size: 30px;
        position: absolute;
        left: 0;
        transition: all 0.5s;
        display: none;
    }

    .yellow-marker i {
        cursor: pointer;
    }

    .map-container {
        position: absolute;
        bottom: -325px;
        width: 465px;
        height: 300px;
        z-index: 1;
        display: none;
        background-color: var(--white);
        box-shadow: 0 0 20px rgba(0, 0, 0, .35);
        padding: 8px;
    }

    .mp-arrow {
        display: flex;
        justify-content: center;
        overflow: hidden;
        margin-top: -25px;
    }

    .mp-arrow i {
        color: var(--white);
        font-size: 30px;
        transform: rotate(90deg);
    }

    .mc-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
    }

    .mc-address {
        font-size: 1rem;
        color: var(--black);
        margin: 0;
    }

    .mc-close {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .mc-close img {
        cursor: pointer;
    }

    .mc-map {
        width: 100%;
        height: 248px;
    }

    .mc-map iframe {
        width: 100%;
        height: 100%;
    }

    .spinner {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: -1;
    }

    .spinner i {
        font-size: 30px;
        color: var(--black);
        opacity: .75;
        animation-name: spin;
        animation-duration: 5000ms;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
        /* transform: rotate(3deg); */
        /* transform: rotate(0.3rad);/ */
        /* transform: rotate(3grad); */
        /* transform: rotate(.03turn);  */
    }

    div[data-mirai-component="finder"] {
        justify-items: center;
        margin-top: 1em;
    }

    @keyframes spin {
        from {
            transform: rotate(0deg);
        }
        to {
            transform: rotate(360deg);
        }
    }

    .form-header {
        margin: 0;
        font-family: 'Bebas Neue', sans-serif;
        font-size: 2rem;
    }

    .all-checkbox {
        margin-left: 30px;
    }

    #booking-form {
        display: flex;
        justify-content: space-between;
        padding-top: 8px;
    }

    .apartment-selector-container {
        position: relative;
        height: 50px;
        width: 250px;
        cursor: pointer;
    }

    .booking-form-input-wrapper {
        position: relative;
    }

    .booking-form-input-wrapper i {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    #booking-form input {
        width: 170px;
        height: 50px;
        box-sizing: border-box;
        padding-left: 10px;
        padding-right: 30px;
    }

    #booking-form input[type="text"] {
        border: 1px solid #D3D3D3;
    }

    #booking-form button[type="submit"] {
        background-color: var(--yellow);
        border: 1px solid var(--yellow);
        border-radius: 0;
        color: var(--white);
        text-align: left;
        font-weight: bold;
        display: flex;
        justify-content: space-between;
        padding: 0 15px;
    }

    #booking-form button[type="submit"]:hover {
        background-color: var(--black);
        border: 1px solid var(--black);
    }

    .donde-estamos-list {
        background-color: var(--light_yellow);
        padding: 55px 75px 0;
    }

    .del-white-bg {
        background-color: var(--white);
    }

    #home_carousel {
        margin-top: 0;
    }

    .donde-estamos-list h2 {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 3rem;
    }

    .donde-estamos-list ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .donde-estamos-list li {
        margin-bottom: 0;
        cursor: pointer;
        height: 56px;
        display: flex;
        align-items: center;
    }

    .donde-estamos-list li:hover {
        background: transparent url("../images/buildings-list-bg-2.png") left center no-repeat;
    }

    .donde-estamos-list i {
        font-size: 1.4rem;
        display: inline-block;
        margin-right: 15px;
    }

    .copy {
        text-align: left;
    }

    .footer-legal a {
        padding-left: 17px;
    }

    .all-apartments {
        display: flex;
        gap: 30px;
        margin-bottom: 30px;
    }

    /* Grid dinámico home: solo edificios activos, sin huecos. Flexbox evita celdas vacías. */
    .home-apartments-grid.all-apartments {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        margin-bottom: 30px;
    }

    /* 2 columnas: cada item ~50% menos gap. Anula reglas antiguas por ID (#apartment-*) */
    .home-apartments-grid.all-apartments .apartment {
        width: calc(50% - 15px) !important;
        min-width: calc(50% - 15px);
        flex: 1 1 calc(50% - 15px);
    }

    /* Cuando hay impar, el último ocupa toda la fila (cero hueco blanco) */
    .home-apartments-grid.all-apartments .apartment.apartment-grid-last-full {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 100%;
    }

    .apartment-home-dynamic:before {
        content: ' ';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
        transition: opacity 500ms;
        background-image: var(--home-bg-image, url('../images/home-apartments/ha-04.jpg'));
    }

    .apartment-home-dynamic:hover:before {
        opacity: 0.5;
    }

    .all-apartments .apartment {
        min-height: 400px;
        background-color: var(--black);
        color: var(--white);
        position: relative;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .sector-one,
    .sector-four {
        display: flex;
        gap: 30px;
    }

    .sector-one,
    .sector-two,
    .sector-three,
    .sector-four,
    #apartment-san-nicolas,
    #apartment-san-pedro,
    #apartment-benlliure,
    #apartment-mar {
        width: 50%;
    }

    
    #apartment-san-martin,
    #apartment-san-pedro{
        width: 100% !important;
    }

    #apartment-san-nicolas:before,
    #apartment-san-martin:before,
    #apartment-san-pedro:before,
    #apartment-catedral:before,
    #apartment-carmen:before,
    #apartment-benlliure:before,
    #apartment-mar:before {
        content: ' ';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
        background-repeat: no-repeat;
        background-position: 50% 0;
        background-size: cover;
        transition: opacity 500ms;
    }

    #apartment-san-nicolas:before {
        background-image: url('../images/home-apartments/ha-01.jpg');
    }

    #apartment-san-martin:before {
        background-image: url('../images/buildings-bcbcea13-smtn.jpg');
    }

    #apartment-catedral:before {
        background-image: url('../images/home-apartments/ha-03.jpg');
    }

    #apartment-carmen:before {
        background-image: url('../images/home-apartments/ha-04.jpg');
    }

    #apartment-san-pedro:before {
        background-image: var(--home-bg-image, url('../images/home-apartments/ha-04.jpg'));
        background-position: 50% 50%;
    }

    #apartment-benlliure:before {
        background-image: url('../images/home-apartments/ha-05.jpg');
    }

    #apartment-mar:before {
        background-image: url('../images/buildings-jdayora.jpg');
    }

    #apartment-san-nicolas:hover:before,
    #apartment-san-martin:hover:before,
    #apartment-san-pedro:hover:before,
    #apartment-catedral:hover:before,
    #apartment-carmen:hover:before,
    #apartment-benlliure:hover:before,
    #apartment-mar:hover:before {
        opacity: 0.5;
    }

    .apartment .ha-title {
        text-transform: uppercase;
        background-color: var(--white);
        color: var(--black);
        padding: 15px 30px;
        font-weight: bold;
    }

    .apartment .ha-body {
        display: block;
        padding: 25px 30px;
    }

    .apartment > div {
        transition: all 1000ms;
    }

    .apartment:hover > div {
        transform: translateY(0) !important;
    }

    .newsletter-email {
        grid-area: top;
        width: 75%;
        padding-right: 20px;
    }

    .newsletter-submit {
        grid-area: top;
        width: 25%;
        justify-self: end;
    }

    .newsletter-submit:hover {
        background-color: var(--white);
        color: var(--black);
    }

    .newsletter-acceptance {
        margin-bottom: 0;
    }

    .header-300 {
        height: 300px;
    }

    .header-500 {
        height: 500px;
    }

    .header-title.apartments-page {
        margin-top: 0;
        height: 500px;
        background-image: url("../images/apartamentos-bg.webp");
    }

    .header-title.descubre-valencia-page {
        margin-top: 0;
        height: 300px;
        background-image: url("../images/descubre-valencia-bg.webp");
    }

    .header-title.grupos-page {
        margin-top: 0;
        height: 300px;
        background-image: url("../images/grupos-bg.webp");
    }

    .header-title.blog-page {
        margin-top: 0;
        height: 300px;
        background-image: url("../images/blog-bg.webp");
    }

    .header-title.blog-detail-page {
        margin-top: 0;
        height: 500px;
    }

    .header-title.contact-page {
        margin-top: 0;
        height: 300px;
        background-image: url("../images/contacto-bg.webp");
    }

    .header-title.seguro-cancelacion-page {
        margin-top: 0;
        height: 300px;
        background-image: url("../images/seguro-bg.webp");
    }

    .seguro-cancelacion-page-text {
        width: 50%;
    }

    .header-title p {
        max-width: 800px;
    }

    .ap-apartment .image {
        height: 500px;
        background-position: center right;
        max-width: 1200px;
    }

    .ap-apartment .info {
        width: 600px;
        padding: 50px;
        box-sizing: border-box;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
    }

    .ap-apartment .info h3 {
        margin-bottom: 44px;
        width: 240px;
        padding: 6px 0;
    }

    .ap-apartment .info h3.to-left {
        margin-left: -90px;
        padding-left: 90px;
    }

    .ap-apartment .info h3.to-right {
        position: relative;
        right: -350px;
        padding-right: 90px;
        text-align: right;
    }

    .ap-apartment .info a {
        margin-top: 10px;
        margin-right: 0;
    }

    .ap-apartment .info a:hover {
        background-color: var(--black);
        color: var(--white);
    }

    .dvp-activity-btn {
        width: 33%;
    }

    .filter-activities,
    .filter-blog {
        flex-wrap: wrap;
    }

    .filter-activities button,
    .filter-blog button {
        padding: 0 25px;
    }

    .filter-blog {
        max-width: 1200px;
    }

    .como-llegar{
        height: inherit;
        overflow: visible;
    }

    .como-llegar-header,
    .ver-faqs-header {
        align-items: center;
    }

    .apartments-detail-header {
        height: 675px;
        margin-top: 0;
    }

    .apartments-detail-content {
        max-width: 1200px;
        font-size: 1.15rem;
        position: relative;
        margin-top: -100px ;
        text-align: center;
    }

    .typology-detail-content {
        margin-top: -156px ;
    }

    .features {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        margin-top: 40px;
    }

    .feature {
        max-width: unset;
    }

    .apartment-details-images {
        position: relative;
    }

    .apartment-details-images > .all-apartments > :where(.sector-one, .sector-two, .sector-three, .sector-four) > div {
        display: flex;
        height: 455px;
        width: 100%;
        width: -moz-available; /* WebKit-based browsers will ignore this. */
        width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
        width: fill-available;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .zoom-overlay {
        display: flex;
        width: 100%;
        grow: 1;
        background-color: #00000066;
        justify-content: center;
        align-items: center;
        transition: opacity 500ms;
        opacity: 0;
    }

    .zoom-overlay:hover {
        opacity: 1;
    }

    .zoom-overlay i {
        color: #ffffff;
        cursor: pointer;
        font-size: 68px;
    }

    .apartment-gallery-overlay {
        background-color: #000000bb;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999999;
        opacity: 0;
        transition: opacity 1000ms;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .apartment-gallery-overlay i {
        color: #ffffff;
        position: absolute;
        font-size: 36px;
    }

    .apartment-gallery-overlay i.fa-rectangle-xmark {
        top: 20px;
        right: 20px;
    }

    .apartment-gallery-overlay i.fa-circle-arrow-left {
        top: 50%;
        transform: translateY(-50%);
        left: 20px;
    }

    .apartment-gallery-overlay i.fa-circle-arrow-right {
        top: 50%;
        transform: translateY(-50%);
        right: 20px;
    }

    .apartment-gallery-overlay img {
        max-width: 90vw;
        max-height: 90vh;
    }

    .banner-seguro {
        width: 800px;
    }

    .banner-seguro-content h1 {
        font-size: 44px;
    }

    .booking-page-header {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 24px;
        height: 140px;
        background: url(../images/reservas-fondo.png) center center;
    }

    .bph-steps {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    .step {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 14px;
    }

    .step-separator {
        width: 110px;
        height: 1px;
        background-color: var(--black);
    }

    .step-number {
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid var(--black);
        border-radius: 50%;
        width: 36px;
        height: 36px;
        font-weight: bold;
    }

    .step-number-current,
    .step-number-fullfilled {
        background-color: var(--black);
        color: var(--white);
    }

    .booking-search-result-img {
        display: flex;
        flex-grow: 1;
        padding-bottom: 0;
        min-width: 350px;
        max-width: 350px;
    }

    .bsr-rate-left,
    .bsr-rate-right{
        width: 50%;
    }

    .bsr-rate-left {
        border-bottom-width: 0;
        border-right: 1px solid rgba(0, 0, 0, .2);
    }

    .rsa-gallery {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .rate-details {
        /**/
    }

    .booking-search-results .booking-data .col-6 > div,
    .booking-select-apartment .booking-data .col-6 > div {
        padding: 10px 0;
    }

    .booking-data .label {
        font-size: 12px;
    }

    .booking-data .day {
        font-size: 30px;
        line-height: 30px;
    }

    .booking-data .month {
        font-size: 12px;
        line-height: 12px;
    }

    .bda-image {
        flex-grow: 1;
        padding-bottom: 0;
    }

    .session-account {
        margin-left: -12px;
        margin-right: -12px;
    }

    .session-account-box {
        padding: 40px;
    }

    .session-account-box a {
        line-height: 20px;
        font-size: 26px;
    }

    .blog-detail img {
        float: left;
        margin: 10px 30px 10px -25%;
        width: 75%;
    }

    .previous-post,
    .next-post {
        width: 100%;
    }

    .previous-post {
        border-right: 1px solid rgba(0, 0, 0, .3);
        padding-right: 90px;
    }

    .next-post {
        padding-left: 90px;
    }

    .post-link-thumb {
        margin-right: 30px;
    }

    .post-comments {
        padding-left: 0;
        padding-right: 0;
    }

    .post-comments h3 {
        font-size: 50px;
    }

    .post-comments-loop,
    .post-comments-form {
        max-width: 1200px;
        margin: auto;
    }

    .comment-header {
        display: flex;
        justify-content: space-between;
    }

    .comment-header > div:first-child {
        font-size: 20px;
    }

    .post-comments-form .stars {
        width: fit-content;
    }

    .seguro-cancelacion-page-image {
        display: block;
        width: 50%;
        background-image: url(../images/395247563.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: bottom center;
    }

    .other-houses-wrap {
        height: 380px;
    }

    .dvp-activity-img {
        width: 300px;
        min-width: 300px;
        height: 300px;
    }

    .booking-confirmed-data .dates {
        border-right: 1px solid #1E1E1E80;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .booking-confirmed-data .price-breakdown {
        border-left: 1px solid #1E1E1E80;
        border-top: none;
    }

    .customer-area-call-img {
        flex-grow: 1;
        padding-bottom: 0;
    }

    .credit-card-label {
        bottom: 10px;
    }

    .private-navbar {
        margin-top: 24px;
    }

    .welcome-pack .wp-left {
        text-align: right;
        padding-right: 50px;
    }

    .welcome-pack .wp-right {
        text-align: left;
        padding-left: 50px;
    }

    .welcome-pack {
        padding-top: 24px;
    }

    .welcome-pack .dismiss {
        top: 50%;
        transform: translateY(-50%);
        right: 30px;
    }

    .blocks-nav > .row {
        margin-bottom: 4.5rem;
    }

    .block-nav {
        padding: 35px 30px 25px 45px;
    }

    .block-nav .counter {
        right: 50px;
    }

    .block-nav .points-counter {
        top: 30px;
        right: 50px;
    }

    .friend-item {
        flex-direction: row;
        margin-bottom: 20px;
        padding-bottom: 15px;
    }

    .alert-danger .fa-triangle-exclamation,
    .alert-info .fa-circle-info {
        font-size: 32px;
    }

    .alert-danger .dismiss,
    .alert-info .dismiss {
        align-items: center;
        margin-bottom: 0;
        border-left: 2px solid #dedede;
        line-height: 30px;
    }

    .alert-see {
        border-left: 2px solid #dedede;
        cursor: pointer;
        width: 100px;
        text-align: center;
    }

    .alert-danger-popup,
    .alert-info-popup {
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 850px;
        padding: 30px;
    }

    .alert-danger-popup .alert-content,
    .alert-info-popup .alert-content {
        margin: 30px 100px 100px;
        padding: 30px 40px 100px;
    }

    .favorite-item .booking-search-result-img {
        padding-bottom: 0;
    }

    .survey-item > div:nth-child(2) > div:first-child {
        border-right: none;
    }

    .survey-item > div:first-child {
        border-right: 1px solid rgba(0, 0, 0, .2);
        width: 70%;
    }

    .survey-item > div:nth-child(2) {
        width: 30%;
    }

    .survey-item > div:nth-child(2) > div {
        width: 100%;
    }

    .survey-form,
    .customer-comments,
    .support,
    .faqs,
    .personal-information,
    .residence {
        border-top: 1px solid rgba(0, 0, 0, .2);
    }

    #typology_carousel {
        margin-top: 0;
    }

    .guests-number-detail {
        height: 130px;
        width: 130px;
    }
}






@media only screen and (min-width: 992px) {
     .ver-faqs {
        height: inherit;
        overflow: visible;
        height: 350px !important;
    }
}












