.elementor-kit-7{--e-global-color-primary:#43676A;--e-global-color-secondary:#ECECEC;--e-global-color-text:#212121;--e-global-color-accent:#43676A;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-accent );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   ABORA RESIDENCIAL - Custom CSS for WordPress/Elementor
   Premium Real Estate - Costa de Adeje, Tenerife
   
   REGLAS:
   - Todos los estilos con !important para override Elementor
   - Mobile First
   - Sin resets globales
   - Prefijo: abora-
   ========================================================================== */

/* ==========================================================================
   CSS VARIABLES
   ========================================================================== */

:root {
    /* Brand Colors */
    --abora-primary: #43676a !important;
    --abora-primary-dark: #2d4a4c !important;
    --abora-primary-light: #5a8589 !important;
    --abora-secondary: #ececec !important;
    --abora-white: #ffffff !important;
    --abora-black: #1a1a1a !important;
    --abora-gray-100: #f8f8f8 !important;
    --abora-gray-200: #e5e5e5 !important;
    --abora-gray-300: #d4d4d4 !important;
    --abora-gray-600: #6b6b6b !important;
    --abora-gray-800: #333333 !important;
    
    /* Accent Colors */
    --abora-sand: #c9b99a !important;
    --abora-sand-light: #e8dcc8 !important;
    --abora-ocean: #1a3a4a !important;
    
    /* Typography */
    --abora-font-display: 'Cormorant Garamond', Georgia, serif !important;
    --abora-font-body: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    
    /* Font Sizes - Mobile First */
    --abora-text-xs: 0.75rem !important;
    --abora-text-sm: 0.875rem !important;
    --abora-text-base: 1rem !important;
    --abora-text-lg: 1.125rem !important;
    --abora-text-xl: 1.25rem !important;
    --abora-text-2xl: 1.5rem !important;
    --abora-text-3xl: 2rem !important;
    --abora-text-4xl: 2.5rem !important;
    --abora-text-5xl: 3rem !important;
    --abora-text-6xl: 3.75rem !important;
    --abora-text-7xl: 4.5rem !important;
    
    /* Spacing */
    --abora-space-xs: 0.5rem !important;
    --abora-space-sm: 1rem !important;
    --abora-space-md: 1.5rem !important;
    --abora-space-lg: 2rem !important;
    --abora-space-xl: 3rem !important;
    --abora-space-2xl: 4rem !important;
    --abora-space-3xl: 6rem !important;
    --abora-space-4xl: 8rem !important;
    
    /* Transitions */
    --abora-transition-fast: 0.2s ease !important;
    --abora-transition-base: 0.3s ease !important;
    --abora-transition-slow: 0.5s ease !important;
    --abora-transition-slower: 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
    
    /* Shadows */
    --abora-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    --abora-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    --abora-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    --abora-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;
    
    /* Border Radius */
    --abora-radius-sm: 4px !important;
    --abora-radius-base: 8px !important;
    --abora-radius-lg: 16px !important;
    --abora-radius-xl: 24px !important;
}

/* ==========================================================================
   TYPOGRAPHY - Google Fonts Import
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ==========================================================================
   BASE TYPOGRAPHY STYLES
   ========================================================================== */

.abora-headline {
    font-family: var(--abora-font-display) !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--abora-black) !important;
}

.abora-headline--hero {
    font-size: var(--abora-text-4xl) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
}

@media (min-width: 768px) {
    .abora-headline--hero {
        font-size: var(--abora-text-6xl) !important;
    }
}

@media (min-width: 1024px) {
    .abora-headline--hero {
        font-size: var(--abora-text-7xl) !important;
    }
}

.abora-headline--section {
    font-size: var(--abora-text-3xl) !important;
}

@media (min-width: 768px) {
    .abora-headline--section {
        font-size: var(--abora-text-4xl) !important;
    }
}

@media (min-width: 1024px) {
    .abora-headline--section {
        font-size: var(--abora-text-5xl) !important;
    }
}

.abora-subheadline {
    font-family: var(--abora-font-body) !important;
    font-weight: 300 !important;
    font-size: var(--abora-text-lg) !important;
    line-height: 1.7 !important;
    color: var(--abora-gray-600) !important;
}

@media (min-width: 768px) {
    .abora-subheadline {
        font-size: var(--abora-text-xl) !important;
    }
}

.abora-body {
    font-family: var(--abora-font-body) !important;
    font-weight: 400 !important;
    font-size: var(--abora-text-base) !important;
    line-height: 1.8 !important;
    color: var(--abora-gray-800) !important;
}

.abora-body--large {
    font-size: var(--abora-text-lg) !important;
}

.abora-label {
    font-family: var(--abora-font-body) !important;
    font-weight: 600 !important;
    font-size: var(--abora-text-xs) !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--abora-primary) !important;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.abora-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    padding: 1rem 2rem !important;
    font-family: var(--abora-font-body) !important;
    font-weight: 500 !important;
    font-size: var(--abora-text-sm) !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all var(--abora-transition-base) !important;
}

.abora-btn--primary {
    background-color: var(--abora-primary) !important;
    color: var(--abora-white) !important;
}

.abora-btn--primary:hover {
    background-color: var(--abora-primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--abora-shadow-lg) !important;
}

.abora-btn--outline {
    background-color: transparent !important;
    color: var(--abora-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

.abora-btn--outline:hover {
    background-color: var(--abora-white) !important;
    color: var(--abora-primary) !important;
    border-color: var(--abora-white) !important;
}

.abora-btn--dark {
    background-color: var(--abora-black) !important;
    color: var(--abora-white) !important;
}

.abora-btn--dark:hover {
    background-color: var(--abora-gray-800) !important;
    transform: translateY(-2px) !important;
}

.abora-btn svg {
    width: 16px !important;
    height: 16px !important;
    transition: transform var(--abora-transition-fast) !important;
}

.abora-btn:hover svg {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   HEADER / NAVIGATION
   ========================================================================== */

.abora-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    padding: 1.5rem 0 !important;
    transition: all var(--abora-transition-base) !important;
}

.abora-header--transparent {
    background-color: transparent !important;
}

.abora-header--solid {
    background-color: var(--abora-white) !important;
    box-shadow: var(--abora-shadow-base) !important;
    padding: 1rem 0 !important;
}

.abora-header__container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.abora-header__logo img {
    height: 40px !important;
    width: auto !important;
    transition: filter var(--abora-transition-base) !important;
}

@media (min-width: 768px) {
    .abora-header__logo img {
        height: 50px !important;
    }
}

.abora-header--transparent .abora-header__logo img {
    filter: brightness(0) invert(1) !important;
}

.abora-header--solid .abora-header__logo img {
    filter: none !important;
}

.abora-nav {
    display: none !important;
}

@media (min-width: 1024px) {
    .abora-nav {
        display: flex !important;
        align-items: center !important;
        gap: 2.5rem !important;
    }
}

.abora-nav__link {
    font-family: var(--abora-font-body) !important;
    font-weight: 500 !important;
    font-size: var(--abora-text-sm) !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: color var(--abora-transition-fast) !important;
    position: relative !important;
}

.abora-header--transparent .abora-nav__link {
    color: var(--abora-white) !important;
}

.abora-header--solid .abora-nav__link {
    color: var(--abora-gray-800) !important;
}

.abora-nav__link::after {
    content: '' !important;
    position: absolute !important;
    bottom: -4px !important;
    left: 0 !important;
    width: 0 !important;
    height: 1px !important;
    background-color: currentColor !important;
    transition: width var(--abora-transition-base) !important;
}

.abora-nav__link:hover::after {
    width: 100% !important;
}

.abora-nav__cta {
    padding: 0.75rem 1.5rem !important;
}

.abora-header--transparent .abora-nav__cta {
    background-color: var(--abora-white) !important;
    color: var(--abora-primary) !important;
}

.abora-header--transparent .abora-nav__cta:hover {
    background-color: var(--abora-primary) !important;
    color: var(--abora-white) !important;
}

/* Mobile Menu Toggle */
.abora-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 10px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
}

@media (min-width: 1024px) {
    .abora-menu-toggle {
        display: none !important;
    }
}

.abora-menu-toggle span {
    width: 24px !important;
    height: 2px !important;
    transition: all var(--abora-transition-fast) !important;
}

.abora-header--transparent .abora-menu-toggle span {
    background-color: var(--abora-white) !important;
}

.abora-header--solid .abora-menu-toggle span {
    background-color: var(--abora-black) !important;
}

/* ==========================================================================
   SECTION BASE STYLES
   ========================================================================== */

.abora-section {
    padding: var(--abora-space-2xl) 0 !important;
    overflow: hidden !important;
}

@media (min-width: 768px) {
    .abora-section {
        padding: var(--abora-space-3xl) 0 !important;
    }
}

@media (min-width: 1024px) {
    .abora-section {
        padding: var(--abora-space-4xl) 0 !important;
    }
}

.abora-section--no-padding-top {
    padding-top: 0 !important;
}

.abora-section--no-padding-bottom {
    padding-bottom: 0 !important;
}

.abora-section--bg-white {
    background-color: var(--abora-white) !important;
}

.abora-section--bg-light {
    background-color: var(--abora-gray-100) !important;
}

.abora-section--bg-primary {
    background-color: var(--abora-primary) !important;
}

.abora-section--bg-dark {
    background-color: var(--abora-black) !important;
}

.abora-container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 1.5rem !important;
}

@media (min-width: 768px) {
    .abora-container {
        padding: 0 2rem !important;
    }
}

.abora-container--narrow {
    max-width: 900px !important;
}

.abora-container--wide {
    max-width: 1600px !important;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.abora-hero {
    position: relative !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: flex-end !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.abora-hero__background {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
}

.abora-hero__background img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.abora-hero__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.3) 40%,
        rgba(0, 0, 0, 0.1) 100%
    ) !important;
    z-index: 2 !important;
}

.abora-hero__content {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    padding: 6rem 0 4rem !important;
}

@media (min-width: 768px) {
    .abora-hero__content {
        padding: 8rem 0 5rem !important;
    }
}

@media (min-width: 1024px) {
    .abora-hero__content {
        padding: 10rem 0 6rem !important;
    }
}

.abora-hero__tagline {
    margin-bottom: var(--abora-space-md) !important;
    opacity: 0 !important;
    animation: aboraFadeInUp 0.8s ease forwards !important;
    animation-delay: 0.3s !important;
}

.abora-hero__tagline span {
    display: inline-block !important;
    font-family: var(--abora-font-body) !important;
    font-weight: 400 !important;
    font-size: var(--abora-text-xs) !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    color: var(--abora-sand-light) !important;
    padding: 0.5rem 1rem !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.abora-hero__headline {
    font-family: var(--abora-font-display) !important;
    font-weight: 400 !important;
    font-size: var(--abora-text-4xl) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    color: var(--abora-white) !important;
    margin-bottom: var(--abora-space-lg) !important;
    max-width: 800px !important;
    opacity: 0 !important;
    animation: aboraFadeInUp 0.8s ease forwards !important;
    animation-delay: 0.5s !important;
}

@media (min-width: 768px) {
    .abora-hero__headline {
        font-size: var(--abora-text-6xl) !important;
    }
}

@media (min-width: 1024px) {
    .abora-hero__headline {
        font-size: var(--abora-text-7xl) !important;
    }
}

.abora-hero__subheadline {
    font-family: var(--abora-font-body) !important;
    font-weight: 300 !important;
    font-size: var(--abora-text-base) !important;
    line-height: 1.8 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 550px !important;
    margin-bottom: var(--abora-space-xl) !important;
    opacity: 0 !important;
    animation: aboraFadeInUp 0.8s ease forwards !important;
    animation-delay: 0.7s !important;
}

@media (min-width: 768px) {
    .abora-hero__subheadline {
        font-size: var(--abora-text-lg) !important;
    }
}

.abora-hero__cta {
    opacity: 0 !important;
    animation: aboraFadeInUp 0.8s ease forwards !important;
    animation-delay: 0.9s !important;
}

.abora-hero__scroll {
    position: absolute !important;
    bottom: 2rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: var(--abora-white) !important;
    opacity: 0 !important;
    animation: aboraFadeIn 1s ease forwards, aboraBounce 2s ease-in-out infinite !important;
    animation-delay: 1.5s, 2s !important;
}

.abora-hero__scroll span {
    font-family: var(--abora-font-body) !important;
    font-size: var(--abora-text-xs) !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

.abora-hero__scroll svg {
    width: 24px !important;
    height: 24px !important;
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes aboraFadeInUp {
    from {
        opacity: 0 !important;
        transform: translateY(30px) !important;
    }
    to {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}

@keyframes aboraFadeIn {
    from {
        opacity: 0 !important;
    }
    to {
        opacity: 0.7 !important;
    }
}

@keyframes aboraBounce {
    0%, 100% {
        transform: translateX(-50%) translateY(0) !important;
    }
    50% {
        transform: translateX(-50%) translateY(8px) !important;
    }
}

/* Scroll-triggered animations */
.abora-animate {
    opacity: 0 !important;
    transform: translateY(40px) !important;
    transition: opacity 0.8s ease, transform 0.8s ease !important;
}

.abora-animate--visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.abora-animate--delay-1 {
    transition-delay: 0.1s !important;
}

.abora-animate--delay-2 {
    transition-delay: 0.2s !important;
}

.abora-animate--delay-3 {
    transition-delay: 0.3s !important;
}

.abora-animate--delay-4 {
    transition-delay: 0.4s !important;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.abora-text-center {
    text-align: center !important;
}

.abora-text-left {
    text-align: left !important;
}

.abora-text-white {
    color: var(--abora-white) !important;
}

.abora-text-primary {
    color: var(--abora-primary) !important;
}

.abora-mb-0 { margin-bottom: 0 !important; }
.abora-mb-sm { margin-bottom: var(--abora-space-sm) !important; }
.abora-mb-md { margin-bottom: var(--abora-space-md) !important; }
.abora-mb-lg { margin-bottom: var(--abora-space-lg) !important; }
.abora-mb-xl { margin-bottom: var(--abora-space-xl) !important; }
.abora-mb-2xl { margin-bottom: var(--abora-space-2xl) !important; }

.abora-mt-0 { margin-top: 0 !important; }
.abora-mt-sm { margin-top: var(--abora-space-sm) !important; }
.abora-mt-md { margin-top: var(--abora-space-md) !important; }
.abora-mt-lg { margin-top: var(--abora-space-lg) !important; }

/* ==========================================================================
   SVG ICONS BASE
   ========================================================================== */

.abora-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.abora-icon svg {
    width: 100% !important;
    height: 100% !important;
}

.abora-icon--sm {
    width: 20px !important;
    height: 20px !important;
}

.abora-icon--md {
    width: 32px !important;
    height: 32px !important;
}

.abora-icon--lg {
    width: 48px !important;
    height: 48px !important;
}

.abora-icon--xl {
    width: 64px !important;
    height: 64px !important;
}/* End custom CSS */