@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.cdnfonts.com/css/pier-sans');

:root {
    --plusJakarta: "Plus Jakarta Sans", sans-serif;
    --pierSans: 'Pier Sans', sans-serif;
    --primaryColor: #003F66;
    --whiteColor: #fff;
    --blackColor: #000;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    overflow-x: hidden;
    width: 100%;
}

body {	
    font-family: var(--plusJakarta);
    font-size: 15px;
    font-weight: 400;    
	background: var(--whiteColor);
	color: #003F66;	
	overflow-x: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
}

/* GLOBAL OVERFLOW FIXES - Prevent all horizontal scrolling */
*:not(.banner-slider):not(.banner-slider *):not(.owl-carousel):not(.owl-carousel *),
*:not(.banner-slider):not(.banner-slider *)::before,
*:not(.banner-slider):not(.banner-slider *)::after {
    box-sizing: border-box;
}

.container-fluid {
    overflow-x: hidden;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
}

.row {
    overflow-x: hidden;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}

.col,
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
.col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
.col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
.col-xxl, .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6,
.col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12 {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 100%;
    overflow-x: hidden;
}

.swiper {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

/* OWL CAROUSEL SPECIFIC FIXES */
.owl-carousel {
    width: 100%;
}

.banner-slider.owl-carousel {
    width: 100%;
    height: auto;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure carousel is visible before initialization */
.banner-slider {
    width: 100%;
    display: block;
    visibility: visible;
    opacity: 1;
}

.owl-stage-outer {
    overflow: hidden;
    position: relative;
}

.owl-stage {
    position: relative;
    display: flex;
    align-items: flex-start;
}

.owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    backface-visibility: hidden;
    tap-highlight-color: transparent;
    touch-action: manipulation;
}

.banner-slider .owl-item {
    width: 100% !important;
}

/* BANNER AREA CAROUSEL FIXES */
.banner-slider .banner-area {
    width: 100% !important;
    min-height: 725px;
    display: flex !important;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.banner-slider .banner-content-inner {
    width: 100%;
    max-width: none;
}

/* Remove scrollbars from all major sections and elements */
.single-blog,
.single-ultimos,
.single-slide,
.bakum-card,
.blog-01-area,
.ultimos-area,
.swiper-slide,
.nuevo-area,
.onari-area,
.descubre-mas-slider,
.nelah-junah,
.equipo-humano,
.header-area,
.banner-area,
.footer-area,
.preventa-slider,
.image-wrap,
.experiance-area,
.construye-tu-wp,
.mundo-section,
.no-es-una {
    overflow-x: hidden;
    max-width: 100%;
}

/* Container fixes */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    overflow-x: hidden;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* Media elements - prevent overflow */
img,
video,
iframe {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

/* Fix specific overflow issues */
.dropdewn-card,
.nav-menu,
.footer-right,
.banner-content-inner {
    overflow: visible;
    max-width: 100%;
}

/* Fix for gap classes causing overflow */
.gap-x-40 {
    --bs-gutter-x: 2rem;
    margin-left: calc(-0.5 * var(--bs-gutter-x));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
}

.gap-x-40 > * {
    padding-left: calc(0.5 * var(--bs-gutter-x));
    padding-right: calc(0.5 * var(--bs-gutter-x));
}

@media (max-width: 768px) {
    .gap-x-40 {
        --bs-gutter-x: 1rem;
    }
}

/* Typography fixes */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-weight: 700;
    word-break: break-word;
    overflow-wrap: break-word;
}

p,
figure,
label {
    margin: 0;
    word-break: break-word;
    overflow-wrap: break-word;
}

img {
    max-width: 100%;
    vertical-align: middle;
    transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
}

small {
    font-size: inherit;
}

a {
    display: inline-block;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

a:hover{
    text-decoration: none;
}

ul {
    list-style-type: none;
    padding: 0; 
    margin: 0;
}

input,
button {
    background-color: transparent;
    border: 1px solid transparent;
    outline: none;
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

input[type=number] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}

select {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(images/select-input-arrow.png);
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: calc(100% - 15px) 50%;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

::selection {
    color: var(--whiteColor);
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

::-webkit-selection {
    color: var(--whiteColor); 
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

::-moz-selection {
    color: var(--whiteColor); 
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

.text-primary {
    color: var(--primaryColor) !important;
}

.text-orange {
    color: #DE803A !important;
}

.font-medium {
    font-weight: 500 !important;
}

.font-semibold {
    font-weight: 600 !important;
}

.bg-included {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.relative {
    position: relative;
}

.absolute-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.border-primary {
    border: 1px solid var(--primaryColor);
}

.scrolltotop {
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background: var(--primaryColor); 
    text-align: center; 
    font-size: 22px;
    color: #ffffff;
    position: fixed;
    right: 30px;
    bottom: 25px;
    display: none;
    animation: float 3s ease-in-out infinite;
    -webkit-animation: float 3s ease-in-out infinite;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;  
    z-index: 1;    
}

.scrolltotop i {
    color: var(--whiteColor);
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-5px);
    }
}

@-webkit-keyframes float {
    0%, 100% {
        -webkit-transform: translateY(0px);
    }
    50% {
        -webkit-transform: translateY(-5px);
    }
}

.chat-now {
    display: inline-flex;
    align-items: center;
    background-color: #fff;
    padding: 9px 18px;
    border-radius: 35px;
    gap: 10px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    cursor: pointer;
    font-weight: 700;
    z-index: 999;
    animation: float 3s ease-in-out infinite;
    -webkit-animation: float 3s ease-in-out infinite;
}

.no-es-una-inner {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding-bottom: 70px;
    font-size: 22px;
}

.no-es-una-inner .neu-top {
    padding-top: 60px;
    padding-bottom: 70px;
}

.no-es-una-inner .neu-top p {
    display: flex;
    align-items: flex-end;
    gap: 7px;
    justify-content: center;
    margin-top: -20px;
}

.no-es-una-inner .neu-top p img {
    transform: translateY(-5px);
}

.blog-01-area {
    padding-bottom: 115px;
}

.blog-01-area .single-blog {
    position: relative;
}

.image-shodow {
    position: absolute;
    width: 100%;
    bottom: -21%;
    left: 0;
    z-index: -1;
}

.image-shodow img {
    width: 100%;
}

.blog-01-area .single-blog img {
    border-radius: 10px;
    width: 100%;
    z-index: 1;
}

.blog-01-area .single-blog .content {
    position: absolute;
    width: calc(100% - 80px);
    left: 40px;
    right: 40px;
    bottom: 35px;
    max-width: none;
    z-index: 10;
    pointer-events: auto;
}

.blog-01-area .single-blog .content h3 {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    padding-bottom: 15px;
}

.btn-primary {
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(0, 63, 102, 0.15);
    transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
    border: 1px solid #fff;
    border-radius: 6px;
    padding: 10px 40px;
    color: #fff;
    font-weight: 600;
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s;
    -webkit-transition: left 0.6s;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 63, 102, 0.25);
    filter: brightness(1.1);
    -webkit-filter: brightness(1.1);
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-primary:active {
    transform: translateY(0);
    transition: transform 0.1s;
    -webkit-transition: transform 0.1s;
}

.blog-01-links ul {
    display: flex;
    justify-content: center;
    padding-top: 80px;
    gap: 30px;
}

.blog-01-links ul li a {
    font-size: 15.44px;
    color: #005D89;
}

.mundo-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.mundo-inner .circle-logo {
    position: relative;
}

.mundo-inner .circle-logo > img {
	max-width: 350px;
}

.mundo-inner .btn-primary {
    border-color: #003F66;
    color: #003F66;
}

.mundo-inner .btn-primary:hover {
    color: #fff;
}

.mundo-inner .youtube-icon {
    cursor: pointer;
}


/* swiper-slider-area */
.swiper-slider-area {
    padding-bottom: 60px;
    padding-top: 110px;
}

.swiper-slider-area .single-slide h3 {
    font-weight: 400;
    padding-bottom: 15px;
    font-size: 25px;
    padding-left: 30px;
}

.swiper-slider-area .slide-img {
    position: relative;
}

.swiper-slider-area .slide-img .image-shodow {
    bottom: -15%;
}

.swiper-slider-area .single-slide ul {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    padding-right: 12px;
    padding-top: 2px;
}

.swiper-slider-area .single-slide ul li {
    cursor: pointer;
}

.swiper-slider-area .single-slide p {
    padding-left: 30px;
}


.swiper-slider-area .swiper {
    padding-bottom: 110px;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  top: inherit;
  bottom: 55px;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background-color: var(--primaryColor);
}

.swiper-button-next, .swiper-rtl .swiper-button-prev,
.swiper-button-prev, .swiper-rtl .swiper-button-next  {
    left: 51%;
    right: auto;
    transform: translateX(-50%);
    bottom: 0px;
    top: auto;
    background-image: none;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 48%;
}

.swiper-button-next::after, 
.swiper-button-prev::after {
	font-size: 16px !important;
    background-color: #c5c6c8;
    height: 27px;
    width: 30px;
    border-radius: 50%;
    display: block;
    text-align: center;
    line-height: 27px;
    color: #000;
    font-weight: 700;
}

.swiper-counter {
    position: absolute;
    left: 45%;
    right: auto;
    bottom: 10px;
    transform: translateX(-50%);
}

/* nuevo-area */
.nuevo-area {
    padding-bottom: 50px;
}

.nuevo-area .heading {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding-bottom: 10px;
    padding-left: 50px;
}

.nuevo-area .heading h2 {
    font-size: 60px;
    font-weight: 800;
}

.nuevo-area .heading h4 {
    font-size: 30px;
    font-weight: 500;
}

.nuevo-area .heading p {
    font-weight: 500;
}

.nuevo-area .nuevo-banner {
    position: relative;
}

.nuevo-banner > img {
    border-radius: 15px;
    z-index: 1;
}

.nuevo-area .content {
    position: absolute;
    left: 0;
    bottom: 40px;
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    color: #fff;
    max-width: 100%;
    box-sizing: border-box;
    z-index: 10;
    pointer-events: auto;
}

.nuevo-area .content h2 {
    font-size: 43px;
    font-weight: 700;
}

.nuevo-area .content h3 {
    font-size: 35px;
    font-weight: 700;
    padding-bottom: 30px;
}

.nuevo-area .content p {
    font-weight: 500;
    font-size: 20px;
}

.nuevo-area .content .btn-primary {
    margin-top: 12px;
}

/* onari-area */
.onari-area {
    padding-bottom: 60px;
}

.onari-area .onari-left {
    position: relative;
}

.onari-area .onari-left .image-shodow {
    bottom: -14%;
}

.onari-area .onari-left > img {
    border-radius: 15px;
}

.onari-area .onari-right {
    padding-top: 20px;
}

.onari-area .onari-right .borderd-btn {
    border: 1px solid var(--primaryColor);
    color: var(--primaryColor);
    font-size: 18px;
}

.onari-area .onari-right .borderd-btn:hover {
    color: #fff;
}

.onari-area .onari-right .heading {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    padding-top: 12px;
    padding-bottom: 18px;
}

.onari-area .onari-right .heading h2 {
    font-size: 40px;
}

.onari-area .onari-right .heading h4 {
    font-size: 24px;
    font-weight: 400;
}

.onari-area .onari-right .bott-btn a {
    background-color: var(--primaryColor);
    border-color: var(--primaryColor);
    margin-top: 30px;
}

.onari-area .onari-right .bott-btn a:hover {
    background-color: transparent;
    color: var(--primaryColor);
}

/* ultimos-area */
.ultimos-area {
    padding-bottom: 100px;
}

.ultimos-area .heading h3 {
    font-weight: 500;
    font-size: 35px;
    padding-bottom: 35px;
}

.ultimos-area .single-ultimos h3 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}

.ultimos-area .single-ultimos h4 {
    font-size: 18px;
    color: #939598;
    text-align: center;
    padding-bottom: 25px;
}

.ultimos-area .single-ultimos .img {
    position: relative;
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 4/3;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.ultimos-area .single-ultimos .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* Hover effects solo para imagen */
.ultimos-area .single-ultimos .img:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.ultimos-area .single-ultimos .img:hover img {
    transform: scale(1.08);
}

.ultimos-area .single-ultimos .absolute-btn {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    pointer-events: auto;
    transition: transform 0.3s ease;
}

/* Hover effects para el botón cuando la imagen esté en hover */
.ultimos-area .single-ultimos .img:hover .absolute-btn {
    transform: translateX(-50%) translateY(-5px);
}

.ultimos-area .single-ultimos .absolute-btn a {
    background-color: #fff;
    color: var(--primaryColor);
    text-wrap: nowrap;
}

.ultimos-area .single-ultimos .absolute-btn a:hover {
    background-color: var(--primaryColor);
    border-color: var(--primaryColor);
    color: #fff;
}

/* Cintillo NUEVO */
.nuevo-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: #de803a;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    z-index: 20;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(222, 128, 58, 0.3);
    transform: rotate(10deg);
    animation: pulseNewBadge 2s infinite;
}

@keyframes pulseNewBadge {
    0%, 100% {
        transform: rotate(10deg) scale(1);
    }
    50% {
        transform: rotate(10deg) scale(1.05);
    }
}

/* Carrusel de últimos lanzamientos */
.ultimos-area {
    padding-bottom: 120px;
}

.ultimos-area .mySwiper-lanzamientos {
    padding-bottom: 20px;
    overflow: hidden;
}

.ultimos-area .single-ultimos {
    background: #fff;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    max-width: 400px;
    margin: 0 auto;
}

.ultimos-area .single-ultimos p {
    flex-grow: 1;
    margin-top: auto;
    color: #666;
    line-height: 1.6;
}

/* Configuración del swiper para lanzamientos */
.ultimos-area .swiper-slide {
    height: auto;
    display: flex;
    align-items: stretch;
}

/* Estilos especiales para tarjeta premium */
.onari-premium {
    position: relative;
    background: linear-gradient(135deg, #f8f8f8 0%, #fff 100%);
    border: 2px solid #c9a961;
}

.onari-premium::before {
    content: "PREMIUM";
    position: absolute;
    top: 15px;
    left: 15px;
    background: #c9a961;
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    z-index: 10;
}

.onari-premium h4 {
    color: #c9a961;
    font-weight: 600;
}

/* Estilos especiales para tarjeta Distrito Bakum */
.distrito-bakum-special {
    position: relative;
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid #de803a;
}

.distrito-bakum-special::before {
    content: "NUEVO";
    position: absolute;
    top: 15px;
    left: 15px;
    background: #de803a;
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    z-index: 10;
}

.distrito-bakum-special h4 {
    color: #de803a;
    font-weight: 600;
}

.distrito-bakum-special .nuevo-badge {
    background: linear-gradient(135deg, #de803a 0%, #ff9a56 100%);
    box-shadow: 0 4px 15px rgba(222, 128, 58, 0.4);
}

/* Estilos especiales para tarjeta OKOM */
.okom-special {
    position: relative;
    background: linear-gradient(135deg, #f0f7ff 0%, #fff 100%);
    border: 2px solid #003366;
}

.okom-special::before {
    content: "LIVING";
    position: absolute;
    top: 15px;
    left: 15px;
    background: #003366;
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    z-index: 10;
}

.okom-special h4 {
    color: #003366;
    font-weight: 600;
}

/* Estilos especiales para tarjeta DOWNTOWN */
.downtown-special {
    position: relative;
    background: linear-gradient(135deg, #f8f5f9 0%, #fff 100%);
    border: 2px solid #5e4264;
}

.downtown-special::before {
    content: "CONDOHOTEL";
    position: absolute;
    top: 15px;
    left: 15px;
    background: #5e4264;
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    z-index: 10;
}

.downtown-special h4 {
    color: #5e4264;
    font-weight: 600;
}

/* Responsivo para carrusel de lanzamientos */
@media (max-width: 1199px) {
    .ultimos-area .single-ultimos {
        max-width: 350px;
    }
}

@media (max-width: 767px) {
    .ultimos-area {
        padding-bottom: 80px;
    }
    
    .ultimos-area .single-ultimos {
        padding: 20px;
        max-width: 320px;
    }
    
    .ultimos-area .single-ultimos .img {
        margin-bottom: 20px;
        border-radius: 10px;
    }
    
    .ultimos-area .heading h3 {
        font-size: 28px;
        text-align: center;
    }
    
    .nuevo-badge {
        top: -8px;
        right: -8px;
        padding: 6px 12px;
        font-size: 11px;
    }
    
    .onari-premium::before,
    .distrito-bakum-special::before,
    .okom-special::before,
    .downtown-special::before {
        top: 10px;
        left: 10px;
        font-size: 9px;
        padding: 3px 10px;
    }
}

/* Controles específicos para el carrusel de lanzamientos */
.ultimos-area .swiper {
    padding-bottom: 70px;
}

.ultimos-area .swiper-horizontal > .swiper-pagination-progressbar,
.ultimos-area .swiper-pagination-progressbar.swiper-pagination-horizontal {
    top: inherit;
    bottom: 55px;
}

.ultimos-area .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #de803a;
}

.ultimos-area .swiper-button-next, 
.ultimos-area .swiper-rtl .swiper-button-prev,
.ultimos-area .swiper-button-prev, 
.ultimos-area .swiper-rtl .swiper-button-next {
    left: 51%;
    right: auto;
    transform: translateX(-50%);
    bottom: 0px;
    top: auto;
    background-image: none;
}

.ultimos-area .swiper-button-prev, 
.ultimos-area .swiper-rtl .swiper-button-next {
    left: 48%;
}

.ultimos-area .swiper-button-next::after, 
.ultimos-area .swiper-button-prev::after {
    background-color: #c5c6c8;
    height: 27px;
    width: 30px;
    border-radius: 50%;
    display: block;
    text-align: center;
    line-height: 27px;
    color: #000;
    margin-top: 20px;
    font-weight: 700;
}

.ultimos-area .swiper-counter {
    position: absolute;
    left: 45%;
    right: auto;
    bottom: 10px;
    transform: translateX(-50%);
    font-size: 14px;
    color: #003f66;
    font-weight: 600;
}

.ultimos-area .swiper-counter .current {
    color: #de803a;
    font-weight: bold;
}

@media (max-width: 768px) {
    .ultimos-area .swiper {
        padding-bottom: 60px;
    }
    
    .ultimos-area .swiper-horizontal > .swiper-pagination-progressbar,
    .ultimos-area .swiper-pagination-progressbar.swiper-pagination-horizontal {
        display: none;
    }
    
    .ultimos-area .swiper-button-next, 
    .ultimos-area .swiper-rtl .swiper-button-prev,
    .ultimos-area .swiper-button-prev, 
    .ultimos-area .swiper-rtl .swiper-button-next {
        left: 54%;
        transform: translateX(-50%);
    }
    
    .ultimos-area .swiper-button-prev, 
    .ultimos-area .swiper-rtl .swiper-button-next {
        left: 42%;
    }
    
    .ultimos-area .swiper-button-next::after, 
    .ultimos-area .swiper-button-prev::after {
        height: 25px;
        width: 25px;
        line-height: 25px;
        z-index: 100;
    }
    
    .ultimos-area .swiper-counter {
        left: 48%;
        font-size: 14px;
        bottom: 20px;
        font-weight: 600;
        text-align: center;
    }

}

.cada-desi .nuevo-banner .content {
    left: 0 !important;
    bottom: 12%;
}

/* descubre-mas-slider */
.descubre-mas-slider {
    padding-top: 60px;
    padding-bottom: 80px;
    background-color: #f7f7f7;
}

.descubre-mas-slider .heading h2 {
    font-weight: 400;
    padding-bottom: 16px;
    font-size: 35px;

    
}

.descubre-mas-slider .heading span {
    padding-bottom: 12px;
}

.descubre-mas-slider .single-slide .img {
    position: relative;
    margin-bottom: 15px;
}

.descubre-mas-slider .single-slide .content {
    position: absolute;
    width: 100%;
    bottom: 18px;
    padding-inline: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    pointer-events: auto;
}

.descubre-mas-slider .single-slide .content h3 {
    color: #fff;
    font-size: 20.5px;
    font-weight: 800;
}

.descubre-mas-slider .single-slide .content i {
    color: #fff;
    cursor: pointer;
}

.descubre-mas-slider .swiper-button-next, 
.descubre-mas-slider .swiper-rtl .swiper-button-prev,
.descubre-mas-slider .swiper-button-prev, 
.descubre-mas-slider .swiper-rtl .swiper-button-next {
	left: auto;
	right: 40px;
	transform: translateX(0%);
	bottom: 0px;
	top: auto;
	background-image: none;
}

.descubre-mas-slider .swiper-button-prev,
.descubre-mas-slider .swiper-rtl .swiper-button-prev {
    right: 80px;
}

.descubre-mas-slider .swiper {
    padding-bottom: 70px;
}

.descubre-mas-slider .swiper-counter {
	position: absolute;
	right: 120px;
	left: auto;
	bottom: 10px;
	transform: translateX(-50%);
}

.modelos-de-banner .content {
    top: 50%;
    transform: translateY(-50%);
}

.modelos-de-banner .content h2 {
    font-size: 48px;
    font-weight: 800;
}

.modelos-de-banner .content .modelos-ex a {
    font-weight: 700;
    font-size: 13px;
}

.preventa-slider h2 {
    font-size: 65px;
    font-weight: 700;
    padding-bottom: 10px;
}

.preventa-slider .swiper-wrapper {
    padding-bottom: 120px;
}

.image-wrap {
    padding-bottom: 80px;
    padding-top: 70px;
}

.image-wrap .sinlge-img-wrap {
    background-image: url(images/modelos-de-img01.png);
    border-radius: 15px;
    display: flex;
    align-items: center;
    padding: 15px;
    gap: 15px;
    position: relative;
    min-height: 90px;
    z-index: 1;
}

.image-wrap .sinlge-img-wrap:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #091c2ec0, transparent);
    border-radius: 15px;
    z-index: -1;
}

.image-wrap .sinlge-img-wrap span {
    border: 1px solid #fff;
    height: 35px;
    width: 35px;
    border-radius: 50%;
    text-align: center;
    line-height: 35px;
    font-weight: 700;
    color: #fff;
    font-size: 22px;
}

.image-wrap .sinlge-img-wrap p {
    font-weight: 600;
    color: #fff;
    line-height: 110%;
}

.sinlge-img-wrap.active {
    min-height: 350px;
    align-items: flex-end;
    padding-bottom: 30px;
}

.experiance-area .heading h3 {
    font-weight: 400;
    text-align: center;
    padding-bottom: 25px;
}

.experiace-banner {
    background-image: url(images/experiace-banner.png);
    padding-top: 70px;
    padding-bottom: 100px;
    text-align: center;
    color: #fff;
}

.experiace-banner p {
    font-size: 25px;
    font-weight: 700;
}

.experiace-banner .container {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 35px;
}

.experiace-banner h4 {
    font-size: 18px;
    font-weight: 400;
}

.experiace-banner .btn-primary {
    max-width: 380px;
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.nelah-junah {
    padding-top: 60px;
    background-color: #f6f6f6;
    padding-bottom: 60px;
}

.nelah-junah .nj-slider-wp {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.nj-slider-wp .content {
    padding-left: 40px;
}

.nj-slider-wp .content h3 {
    font-size: 30px;
    font-weight: 700;
    padding-bottom: 20px;
}

.nj-slider-wp .content h4 {
    font-size: 17px;
    font-weight: 400;  
    padding-bottom: 20px;
}

.nj-slider-wp .content .buttons {
    padding-top: 60px;
}

.nj-slider-wp .content .buttons .btn-primary {
    border: 1px solid var(--primaryColor);
    color: var(--primaryColor);
}

.nj-slider-wp .content .buttons .btn-primary:hover {
    color: #fff;
}

.nj-slider-wp .content .buttons .button02 a,
.nj-slider-wp .right-text {
    font-size: 13px;
    font-weight: 600;
}

.nj-slider-wp .owl-prev,
.nj-slider-wp .owl-next  {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 35px;
    width: 35px;
    background-color: #fff;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    border-radius: 50%;
}

.nj-slider-wp .owl-prev {
    left: -5%;
}

.nj-slider-wp .owl-next {
    right: 0 !important;
    left: auto;
}

.equipo-humano {
    padding-top: 78px;
    padding-bottom: 120px;
}

.equipo-humano .heading h3 {
    font-weight: 400;
    font-size: 31px;
    padding-bottom: 20px;
}

.equipo-humano-banner {
    position: relative;
}

.equipo-humano-banner > img {
    width: 100%;
}

.equipo-humano-banner .eq-hu-inner {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}

.equipo-humano-banner .eq-hu-inner .container {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.equipo-humano-banner .content .logo ul {
    display: flex;
    justify-content: center;
    gap: 50px;
    color: #fff;
    margin-top: -15px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.6px;
    padding-bottom: 60px;
}

.equipo-humano-banner .content .button02 {
    padding-top: 25px;
}

.equipo-humano-banner .content .button02 a {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
}

.equipo-humano-banner .signature {
    align-self: flex-end;
    margin-bottom: -20px;
}

.equipo-humano .bottom-content {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.equipo-humano .bottom-content .inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.equipo-humano .bottom-content ul li {
    font-size: 11px;
    letter-spacing: 0.9px;
    font-weight: 600;
}

.equipo-humano .bottom-content p {
    font-size: 18px;
    color: #58595B;
}

.construye-tu-wp h2{
    text-align: center;
    padding-bottom: 20px;
    font-weight: 700;
    font-size: 30px;
}

.construye-tu-wp h3 {
    font-size: 56px;
    font-weight: 700;
    color: #fff;
}

.construye-tu-wp ul {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 45px;
    text-wrap: nowrap;
}

/* footer-area */

.footer-top {
    background-color: #daeef8;
    padding-top: 50px;
    padding-bottom: 42px;
    border-top: 2px solid #141515;
}

.footer-top .ftop-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-top .ftop-inner  h3 {
    font-size: 24px;
}

.main-footer {
    background-color: #141515;
    color: #BCCCD5;
    padding-bottom: 60px;
    position: relative;
    z-index: 1;
}

.main-footer:after {
    content: "";
    display: block;
    width: 32.5%;
    height: 90%;
    background-color: #3b4247;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.footer-left {
    padding-top: 80px;
    color: #BCCCD5;
    padding-right: 120px;
}

.footer-left h2 {
    font-size: 23px;
    padding-bottom: 40px;
    font-weight: 800;
}

.footer-left h3 {
    font-size: 20px;
    padding-bottom: 40px;
}

.footer-left .button {
    padding-bottom: 30px;
    margin-bottom: 40px;
    border-bottom: 1px solid #BCCCD5;
}

.footer-left .button a {
    color: #BCCCD5;
}

.footer-left ul {
    display: flex;
    gap: 15px;
    padding-top: 40px;
}

.footer-left ul li a {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
    line-height: 40px;
    color: #3b4247;
    font-size: 17px;
}

.footer-left ul li a:hover {
    background-color: var(--primaryColor);
    color: #fff;
}

.footer-right {
    padding-top: 50px;
}

.footer-right h3 {
    font-size: 18px;
    padding-bottom: 30px;
}

.footer-right ul {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.footer-right {
    padding-left: 40px;
}

.footer-right ul li a:hover {
    color: #fff;
}

.footer-right ul li .btn-primary {
    font-size: 14px;
    color: #BCCCD5;
}

.footer-right .border-b {
    border-bottom: 1px solid #BCCCD5;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.footer-right h3.hidden {
    opacity: 0;
    visibility: hidden;
}

.f-copy-inner {
    border-top: 1px solid #BCCCD5;
    padding-top: 20px;
    padding-bottom: 40px;
    text-align: center;
    color: #BCCCD5;
}

.footer-copyright {
    background-color: #141515;
}

/* ===== PREMIUM ANIMATIONS & EFFECTS ===== */



/* Smooth transitions for all interactive elements */
* {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* OPTIMIZED IMAGE HOVER - High z-index to prevent overflow */
img {
    transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.single-blog img,
.single-ultimos img,
.slide-img img,
.onari-left > img,
.nuevo-banner > img,
.descubre-mas-slider .single-slide .img img {
    transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
    -webkit-transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
    position: relative;
    overflow: hidden;
}

.single-blog:hover img,
.single-ultimos:hover img,
.single-slide:hover .slide-img img,
.onari-left:hover > img,
.nuevo-banner:hover > img,
.descubre-mas-slider .single-slide:hover .img img,
.img-zoom {
    transform: scale(1.03);
    filter: brightness(1.05) contrast(1.02);
    -webkit-filter: brightness(1.05) contrast(1.02);
    z-index: 1;
    position: relative;
    border-radius: inherit;
}

/* REMOVE ALL CARD HOVER EFFECTS - NO MORE CARD TRANSFORMS */
.single-blog,
.single-ultimos,
.single-slide {
    /* Remove transition that was causing problems */
}

/* REMOVED: All card hover effects that caused scrollbars */

/* Navigation link animations */
.nav-menu ul li a,
.nav-right ul li a,
.blog-01-links ul li a,
.footer-left ul li a,
.footer-right ul li a {
    position: relative;
    overflow: hidden;
}

.nav-menu ul li a::after,
.blog-01-links ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--primaryColor);
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    transform: translateX(-50%);
}

.nav-menu ul li a:hover::after,
.blog-01-links ul li a:hover::after {
    width: 100%;
}

/* LOGO IMAGES - ANIMATIONS REMOVED FOR BETTER PERFORMANCE */
.logo-area img,
.mundo-logo img,
.circle-logo img {
    /* Removed all transitions and animations */
    position: relative;
}

.logo-area:hover img {
    /* Removed transform animations */
    position: relative;
}

.circle-logo:hover > img,
.logo-spin > img {
    /* Removed rotate and scale animations */
    position: relative;
}

.mundo-logo:hover img {
    /* Removed transform and filter animations */
    position: relative;
}

/* MINIMAL ICON ANIMATIONS - No problematic transforms */
svg,
i {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* REMOVED: Icon hover transforms that could cause scrollbars */

/* YouTube icon special animation */
.youtube-icon:hover svg {
    transform: scale(1.1);
    filter: drop-shadow(0 4px 8px rgba(0, 63, 102, 0.3));
    -webkit-filter: drop-shadow(0 4px 8px rgba(0, 63, 102, 0.3));
}

/* SEARCH INPUT - No transforms to prevent overflow */
.nav-right .input {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.nav-right .input:hover,
.nav-right .input:focus-within,
.input-focused {
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 63, 102, 0.15);
    /* REMOVED: transform: translateY(-1px) that caused overflow */
}

/* Dropdown animation enhancement */
.nav-left .dropdewn-card {
    animation: fadeInUp 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-animation: fadeInUp 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.dropdown-show {
    transform: translateY(0px) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

/* SLIDER NAVIGATION - No scale transforms to prevent overflow */
.swiper-button-next,
.swiper-button-prev,
.owl-nav button {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* Hide Owl Carousel navigation buttons */
.owl-nav {
    display: none !important;
}

.owl-prev,
.owl-next {
    display: none !important;
}

/* REMOVED: Scale transforms on slider buttons */

.swiper-button-next::after,
.swiper-button-prev::after {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.swiper-button-next:hover::after,
.swiper-button-prev:hover::after {
    background-color: var(--primaryColor);
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 63, 102, 0.3);
}

/* FLOATING ELEMENTS - No transforms to prevent overflow */
.chat-now:hover,
.scrolltotop:hover {
    animation: none;
    /* REMOVED: transform: translateY(-3px) that caused overflow */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Section entrance animations */
.no-es-una,
.blog-01-area,
.mundo-section,
.swiper-slider-area,
.nuevo-area,
.onari-area,
.ultimos-area,
.descubre-mas-slider {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.8s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.animate-in {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.blog-01-area.animate-in { transition-delay: 0.1s; }
.mundo-section.animate-in { transition-delay: 0.2s; }
.swiper-slider-area.animate-in { transition-delay: 0.3s; }
.nuevo-area.animate-in { transition-delay: 0.4s; }
.onari-area.animate-in { transition-delay: 0.5s; }
.ultimos-area.animate-in { transition-delay: 0.6s; }
.descubre-mas-slider.animate-in { transition-delay: 0.7s; }

/* Banner content animation */
.banner-content-inner {
    animation: fadeInScale 1s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
    -webkit-animation: fadeInScale 1s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
}

.banner-animate {
    transform: scale(1.02);
    filter: brightness(1.1);
    -webkit-filter: brightness(1.1);
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@-webkit-keyframes fadeInScale {
    from {
        opacity: 0;
        -webkit-transform: scale(0.9);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
    }
}

/* Parallax effect for banner backgrounds */
.banner-area {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Button ripple effect */
.btn-primary {
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(0, 63, 102, 0.15);
    transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s;
    -webkit-transition: left 0.6s;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 63, 102, 0.25);
    filter: brightness(1.1);
    -webkit-filter: brightness(1.1);
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-primary:active {
    transform: translateY(0);
    transition: transform 0.1s;
    -webkit-transition: transform 0.1s;
}

.ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    transform: scale(0);
    animation: ripple-effect 0.6s linear;
    -webkit-animation: ripple-effect 0.6s linear;
    pointer-events: none;
}

@keyframes ripple-effect {
    to {
        transform: scale(2);
        opacity: 0;
    }
}

@-webkit-keyframes ripple-effect {
    to {
        -webkit-transform: scale(2);
        opacity: 0;
    }
}

/* Image loading animation */
img {
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
    -webkit-transition: opacity 0.5s ease-in-out;
}

img[data-src] {
    opacity: 0;
}

.img-loaded {
    opacity: 1;
}

/* Slide active animations */
.slide-active {
    transform: scale(1.02);
    z-index: 2;
}

/* Page loaded animations */
.page-loaded .no-es-una,
.page-loaded .blog-01-area,
.page-loaded .mundo-section {
    animation: slideInUp 0.8s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
    -webkit-animation: slideInUp 0.8s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
}

@keyframes slideInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes slideInUp {
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

/* Focus states for accessibility */
a:focus,
button:focus,
input:focus {
    outline: 2px solid var(--primaryColor);
    outline-offset: 2px;
    border-radius: 4px;
}

/* MOBILE - NO HOVER TRANSFORMS TO PREVENT SCROLLBARS */
@media (max-width: 768px) {
    /* REMOVED: All card and button hover transforms for mobile */
    .single-blog:hover,
    .single-ultimos:hover,
    .single-slide:hover,
    .card-hover {
        /* No transforms on mobile to prevent scrollbars */
    }
    
    .btn-primary:hover {
        /* No transforms on mobile to prevent scrollbars */
    }
}

/* NAVIGATION LINKS - No transforms to prevent overflow */
.nav-menu ul li a,
.footer-left ul li a {
    transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
    -webkit-transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.nav-menu ul li a:hover,
.footer-left ul li a:hover {
    /* REMOVED: transform: translateY(-1px) that caused overflow */
    text-shadow: 0 2px 4px rgba(0, 63, 102, 0.2);
}

/* Stagger animation for cards */
.single-ultimos:nth-child(1) { animation-delay: 0.1s; }
.single-ultimos:nth-child(2) { animation-delay: 0.2s; }
.single-ultimos:nth-child(3) { animation-delay: 0.3s; }

/* ===== END PREMIUM ANIMATIONS ===== */

/* Header area and navigation styles that were removed */
.pluse,
.pluse2 {
    position: relative;
    top: 10px;
    left: -8px;
    z-index: -1;
}

.pluse::before,
.pluse2::before {
  width: 40px;
  height: 40px;
}

.pluse::after,
.pluse::before,
.pluse2::after,
.pluse2::before {
  background: var(--primaryColor); 
  border-radius: 50%;
  left: 50%;
  top: 50%;
  display: block;
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
}

.pluse::after,
.pluse2::after {
  width: 30px;
  height: 30px;
  background: transparent;
  margin-left: -15px;
  margin-top: -15px;
}

.pluse::before {
    -webkit-animation: pluse_animate 2.5s infinite linear;
    animation: pluse_animate 2.5s infinite linear;
}

.pluse2::before {
  -webkit-animation: pluse_animate 3s infinite linear;
  animation: pluse_animate 3s infinite linear; 
}

@keyframes pluse_animate {
    0% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%) scale(0.3);
        transform: translate(-50%, -50%) scale(0.3);
    }
    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(2);
        transform: translate(-50%, -50%) scale(2);
    }
}

/*======= header-area design =======*/

.header-nav {
    padding: 20px 0;
    background-color: #d9eef7;
}

.header-area .container-fluid {
    max-width: 1500px;
}

.nav-left {
    display: flex;
    align-items: center;
    gap: 18px;
}

.nav-left .dropdown-menu-card {
    position: relative;
}

.nav-left .dropdown-menu-card p {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    cursor: pointer;
    font-weight: 500;
}

.nav-left .dropdewn-card {
    position: absolute;
    width: 210px;
    background-color: #fff;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 3px 12px 0px;
    top: 30px;
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 9999;
}

.nav-left .dropdown-menu-card:hover .dropdewn-card {
    transform: translateY(0px);
    opacity: 1;
    visibility: visible;
}

.nav-left .dropdewn-card ul li a {
    padding: 7px 15px;
    border-left: 2px solid transparent;
    width: 100%;
    font-size: 13px;
    font-weight: 600;
}

.nav-left .dropdewn-card ul li a:hover {
    border-color: var(--primaryColor);
    padding-left: 17px;
    background-color: #f4f4f4;
}

.nav-menu ul {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.nav-menu ul li a {
    font-weight: 600;
    font-size: 13px;
}

.nav-menu ul li a:hover {
    color: var(--primaryColor);
}

.nav-right ul {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: center;
}

.nav-right .input {
    display: flex;
    align-items: center;
    background-color: #cde2ea;
    padding: 8px 12px;
    border-radius: 6px;
    max-width: 220px;
}

.nav-right .input input {
    width: 100%;
    color: #434c50;
    font-size: 13px;
    text-align: center;
    font-weight: 600;
}

.nav-right .input i {
    color: #79878d;
}

.nav-right .humberger-menu {
    cursor: pointer;
}

.nav-right .language {
    font-weight: 600;
    font-size: 13px;
}

.offcanvas-body ul {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.offcanvas-body ul li a:hover {
    color: var(--primaryColor);
}

.sm-menu-bar ul {
    display: flex;
    justify-content: center;
    gap: 4px;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -35px;
    padding-top: 4px;
    position: relative;
    z-index: 999;
}

.sm-menu-bar ul li {
    flex: 1;
}

.sm-menu-bar ul li a {
    background-color: #fff;
    border-radius: 5px;
    width: 100%;
    text-align: center;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
}

.sm-menu-bar ul li a:hover {
    background-color: #f4f4f4;
}

.banner-area {
    background-image: url(images/banner-bg-01.png);
    min-height: 725px;
    display: flex;
    align-items: center;
}

.banner-area.banner-02 {
    background-image: url(images/banner-bg-02.png);
}
.banner-area.banner-03 {
    background-image: url(images/banner-bg-03.png);
}
.banner-area.banner-04 {
    background-image: url(images/banner-bg-04.png);
}
.banner-area.banner-05 {
    background-image: url(images/banner-bg-05.png);
}
.banner-area.banner-06 {
    background-image: url(images/banner-bg-06.png);
}
.banner-area.banner-07 {
    background-image: url(images/banner-bg-07.png);
}
.banner-area.banner-08 {
    background-image: url(images/banner-bg-08.png);
}
.banner-area.banner-09 {
    background-image: url(images/banner-bg-09.png);
}

.banner-content-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #fff;
    max-width: 100%;
    overflow-x: hidden;
    padding-left: 15px;
    padding-right: 15px;
}

.banner-content-inner p {
    font-size: 42px;
    line-height: 110%;
    padding-bottom: 10px;
}

.banner-content-inner ul li {
    font-size: 13px;
    font-weight: 500;
}

/* Fix for button hover states */
.btn-primary {
    border: 1px solid #fff;
    border-radius: 6px;
    padding: 10px 40px;
    color: #fff;
    font-weight: 600;
}

.btn-primary:hover {
    background-color: var(--primaryColor);
    border-color: var(--primaryColor);
}

.mundo-inner .btn-primary {
    border-color: #003F66;
    color: #003F66;
}

.mundo-inner .btn-primary:hover {
    color: #fff;
}

.onari-area .onari-right .borderd-btn {
    border: 1px solid var(--primaryColor);
    color: var(--primaryColor);
    font-size: 18px;
}

.onari-area .onari-right .borderd-btn:hover {
    color: #fff;
}

.onari-area .onari-right .bott-btn a {
    background-color: var(--primaryColor);
    border-color: var(--primaryColor);
    margin-top: 30px;
}

.onari-area .onari-right .bott-btn a:hover {
    background-color: transparent;
    color: var(--primaryColor);
}

.ultimos-area .single-ultimos .absolute-btn a {
    background-color: #fff;
    color: var(--primaryColor);
    text-wrap: nowrap;
}

.ultimos-area .single-ultimos .absolute-btn a:hover {
    background-color: var(--primaryColor);
    border-color: var(--primaryColor);
    color: #fff;
}

/* Enhanced text selection */
::selection {
    color: var(--whiteColor);
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

::-webkit-selection {
    color: var(--whiteColor); 
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

::-moz-selection {
    color: var(--whiteColor); 
    background: linear-gradient(45deg, var(--primaryColor), #0066cc);
}

/* Container and layout overflow prevention */
.container,
.container-fluid {
    max-width: 100%;
    overflow-x: hidden;
}

.row {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}

/* Prevent any elements from causing horizontal overflow */
* {
    box-sizing: border-box;
}

img, 
video, 
iframe {
    max-width: 100%;
    height: auto;
}

/* Banner area overflow fix */
.banner-area {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
}

/* Header area overflow fix */
.header-area {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

/* Distrito Bakum Banner Styles */
.distrito-bakum {
    padding-bottom: 40px;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    position: relative;
}

.distrito-bakum .heading h2 {
    color: #006FB7;
    font-size: 60px;
    font-weight: 800;
}

.distrito-bakum .heading h4 {
    color: #006FB7;
    font-size: 30px;
    font-weight: 600;
}

.distrito-bakum .heading p {
    color: #006FB7;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.distrito-bakum .nuevo-banner {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    contain: layout style;
}

.distrito-bakum .nuevo-banner img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 15px;
    filter: brightness(0.85);
    transition: filter 0.3s ease;
}

.distrito-bakum .nuevo-banner:hover img {
    filter: brightness(0.9);
}

.distrito-bakum .content {
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 40px;
    width: calc(100% - 80px);
    padding: 0;
    color: #fff;
    max-width: calc(100% - 80px);
    box-sizing: border-box;
    z-index: 10;
    pointer-events: auto;
    overflow: hidden;
}

.distrito-bakum .content h2 {
    font-size: 43px;
    font-weight: 700;
    color: #006FB7;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.distrito-bakum .content h3 {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 15px;
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.distrito-bakum .content p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
    max-width: 100%;
    width: 100%;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.distrito-bakum .content .btn-primary {
    background: linear-gradient(135deg, #006FB7 0%, #004a8b 100%);
    border-color: #006FB7;
    color: #fff;
    padding: 12px 40px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 111, 183, 0.3);
}

.distrito-bakum .content .btn-primary:hover {
    background: linear-gradient(135deg, #DE803A 0%, #ff9500 100%);
    border-color: #DE803A;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(222, 128, 58, 0.4);
}

/* Responsive styles for Distrito Bakum */
/* RESPONSIVE FIXES FOR MOBILE - Prevent all overflow issues */
@media (max-width: 768px) {
    body {
        overflow-x: hidden;
        width: 100vw;
        max-width: 100vw;
    }
    
    .container,
    .container-fluid {
        padding-left: 10px;
        padding-right: 10px;
        max-width: 100%;
        overflow-x: hidden;
    }
    
    .row {
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
    }
    
    .col,
    [class*="col-"] {
        padding-left: 5px;
        padding-right: 5px;
        max-width: 100%;
    }
    
    /* Banner content fixes */
    .banner-content-inner {
        flex-direction: column;
        gap: 15px;
        padding: 15px;
        text-align: center;
        width: 100%;
        max-width: none;
    }
    
    .banner-content-inner p {
        font-size: 28px;
        line-height: 120%;
    }
    
    /* Banner carousel mobile fixes */
    .banner-slider .banner-area {
        min-height: 500px;
    }
    
    .banner-slider .owl-item {
        width: 100% !important;
        max-width: none !important;
    }
    
    /* Blog content fixes */
    .blog-01-area .single-blog .content {
        width: calc(100% - 40px);
        left: 20px;
        right: 20px;
        bottom: 20px;
    }
    
    /* Nuevo area fixes */
    .nuevo-area .content,
    .distrito-bakum .content {
        left: 20px;
        right: 20px;
        bottom: 20px;
        width: calc(100% - 40px);
        max-width: calc(100% - 40px);
        padding: 0;
        overflow: hidden;
    }
    
    .nuevo-area .content h2,
    .distrito-bakum .content h2 {
        font-size: 28px;
    }
    
    .nuevo-area .content h3,
    .distrito-bakum .content h3 {
        font-size: 24px;
    }
    
    .nuevo-area .content p,
    .distrito-bakum .content p {
        font-size: 14px;
        max-width: 100%;
    }
    
    .distrito-bakum .nuevo-banner img {
        height: 300px;
    }
    
    /* Swiper fixes */
    .swiper-slide {
        max-width: 100%;
        overflow: hidden;
    }
    
    /* Footer fixes */
    .footer-left,
    .footer-right {
        max-width: 100%;
        overflow-x: hidden;
    }
    
    /* Button fixes */
    .btn-primary {
        padding: 8px 20px;
        font-size: 12px;
        max-width: 100%;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* Text fixes */
    h1, h2, h3, h4, h5, h6 {
        word-break: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
    }
    
     /* Navigation fixes */
    .nav-left,
    .nav-right {
        max-width: 100%;
        overflow-x: hidden;
    }
    
         .nav-right .input {
         max-width: 150px;
     }
}

/* ADDITIONAL GLOBAL FIXES */
/* Ensure no element can cause horizontal overflow - with carousel exceptions */
*:not(.owl-carousel):not(.owl-stage):not(.owl-stage-outer):not(.owl-item):not(.banner-slider):not(.banner-slider *) {
    max-width: 100%;
}

/* Specific fixes for common overflow causes */
.mundo-inner .circle-logo > img {
    max-width: 300px;
    width: 100%;
}

.footer-left .button a {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Prevent tables and wide content from causing overflow */
table {
    width: 100%;
    table-layout: fixed;
    word-wrap: break-word;
}

/* Fix for Owl Carousel potential overflow */
.owl-stage-outer {
    overflow: hidden;
}

/* Fix for any remaining absolute positioned elements */
[style*="position: absolute"] {
    max-width: calc(100% - 40px) !important;
}

/* Ensure images in cards never exceed container */
.single-blog img,
.single-ultimos img,
.single-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-width: 100%;
}

/* Final safeguard - hide horizontal scrollbar globally */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* Fix for potential Bootstrap row overflow - but not carousel items */
.row > *:not(.banner-slider):not(.owl-carousel) {
    max-width: 100% !important;
}

/* Additional carousel safeguards */
.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.owl-carousel .owl-wrapper {
    -webkit-transform: translate3d(0px, 0px, 0px);
}

/* Prevent carousel from being affected by global rules */
.banner-slider, 
.banner-slider *, 
.owl-carousel, 
.owl-carousel * {
    max-width: none !important;
}

.banner-slider .banner-area {
    max-width: none !important;
    width: 100% !important;
}

/* FORCE CAROUSEL VISIBILITY AND FUNCTIONALITY */
.banner-slider.owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    transform: translate3d(0px, 0px, 0px);
}

.banner-slider.owl-carousel .owl-stage {
    position: relative;
    left: 0;
    display: flex;
    width: auto;
}

.banner-slider.owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    backface-visibility: hidden;
    tap-highlight-color: transparent;
    touch-action: manipulation;
    width: 100% !important;
    margin-right: 0 !important;
}

.banner-slider.owl-carousel .owl-item.active {
    display: block !important;
}

/* Reset any conflicting styles for carousel */
.banner-slider.owl-carousel,
.banner-slider.owl-carousel * {
    box-sizing: content-box !important;
}

/* Ensure carousel content is visible */
.banner-slider .banner-area {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* DEBUG: Force carousel to be visible even before JS initialization */
.banner-slider {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
}

.banner-slider > div {
    display: block !important;
}

/* Fallback styles if Owl Carousel doesn't load */
.banner-slider:not(.owl-loaded) .banner-area:first-child {
    display: flex !important;
}

.banner-slider:not(.owl-loaded) .banner-area:not(:first-child) {
    display: none;
}

/* GLOBAL HOVER FIX - Ensure image containers handle hover scaling properly */
.single-blog,
.single-ultimos,
.single-slide,
.onari-left,
.descubre-mas-slider .single-slide .img {
    overflow: hidden;
    position: relative;
    border-radius: 10px;
}

/* Contenedores específicos para nuevo-banner con bordes de 15px */
.nuevo-banner,
.distrito-bakum .nuevo-banner {
    overflow: hidden;
    position: relative;
    border-radius: 15px;
}

/* Asegurar que las imágenes mantengan los bordes redondeados */
.single-blog img,
.single-ultimos img,
.slide-img img,
.onari-left > img,
.descubre-mas-slider .single-slide .img img {
    border-radius: 10px;
    transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
    -webkit-transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
}

/* Específicos para nuevo-banner y distrito-bakum con bordes de 15px */
.nuevo-banner > img,
.distrito-bakum .nuevo-banner img {
    border-radius: 15px;
    transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
    -webkit-transition: transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1), filter 0.4s ease;
}

/* Ensure all image hover effects stay within bounds */
.single-blog img:hover,
.single-ultimos img:hover,
.slide-img img:hover,
.onari-left > img:hover,
.nuevo-banner > img:hover,
.descubre-mas-slider .single-slide .img img:hover,
.distrito-bakum .nuevo-banner img:hover {
    will-change: transform;
    transform-origin: center center;
}

/* Prevent any overflow from hover effects */
.single-blog,
.single-ultimos,
.single-slide,
.onari-area,
.nuevo-area,
.descubre-mas-slider,
.distrito-bakum {
    contain: layout style;
}