@font-face {
  font-family: 'Inter';
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  font-display: swap;
}

a:not(.brxe-nav-menu a):hover {
  color: var(--primary);
  font-weight: : 500;  
  text-decoration: none;
}

/* a:not(.brxe-nav-menu a):focus {
  color: var(--primary);
  outline: 2px solid var(--primary);
  outline-offset: 2px;
} */

/* CSS Divider */
.pseudo-divider::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--border-primary);
  margin-block-start: var(--space-l);
}

/* Heading highlight */
.highlight-gradient {
    font-weight: 500;
    font-style: italic;
    background: linear-gradient(0deg, var(--primary), var(--primary-40));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.h1-highlight-gradient {
    background: linear-gradient(90deg, var(--light), var(--light-60));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Customizing text selection for Firefox */
::-moz-selection {
    background-color: var(--primary);
    color: #fff;
}
 
/* Customizing text selection for other browsers */
::selection {
    background-color: var(--primary);
    color: #fff;
}
::marker {
    color: var(--secondary);
}

/* Nav menu style */
.header-wrapper__nav-menu {
    > nav {
        > ul > li:first-child {
            margin-left: 0;
        }
        
        &:not(.bricks-mobile-menu-wrapper) {
            > ul {
                align-items: center;
                
                > li {
                    /* Desktop links */
                    > a:not(.header-cta) {
                        font-weight: 500;
                        position: relative;
                        display: inline-block;
                    }
                    
                    &:not(.current-menu-item):not(:last-child) {
                        color: var(--text-body);
                    }
                    
                    &.current-menu-item:not(:last-child) > a,
                    > a:not(.header-cta):hover {
                        color: var(--primary);
                    }
                    
                    /* Animated underline */
                    &:not(:last-child) > a:not(.header-cta) {
                        &::after {
                            content: '';
                            position: absolute;
                            width: 0;
                            height: 2px;
                            bottom: 0;
                            left: 0;
                            background-color: var(--primary);
                            transition: width 0.3s ease;
                        }
                        
                        &:hover::after {
                            width: 100%;
                        }
                    }
                    
                    /* CTA Button - last child */
                    &:last-child {
                        &:hover {
                            background: var(--secondary);
                            transform: translateY(-0.1rem);
                            
                            a {
                                color: var(--light);
                            }
                        }
                    }
                    
                    /* Submenu */
                    &.menu-item-has-children {
                        position: relative;
                        
                        > ul.sub-menu {
                            position: absolute;
                            top: 100%;
                            left: 0;
                            background: var(--light);
                            border-radius: var(--radius-m);
                            box-shadow: var(--shadow-l);
                            min-width: 200px;
                            z-index: 10;
                            max-height: 0;
                            overflow: hidden;
                            transition: max-height 0.6s ease;
                            margin-top: 0.5rem;
                            
                            > li {
                                padding-block: var(--space-3xs);
                                padding-inline: var(--space-2xs);
                                
                                > a {
                                    color: var(--text-body);
                                    font-weight: 500;
                                    transition: color 0.3s ease;
                                    
                                    &:hover {
                                        background-color: var(--primary);
                                        color: var(--light);
                                        border-radius: var(--radius-m);
                                    }
                                }
                                
                                &.current-menu-item > a {
                                    font-weight: 600;
                                    color: var(--primary);

                                    &:hover {
                                        color: var(--light);
                                    }
                                }
                            }
                        }
                        
                        &:hover > ul.sub-menu {
                            max-height: 500px;
                        }
                    }
                }
            }
            
            /* CTA Button */
            .header-cta {
                background: var(--primary);
                padding-block: var(--space-s);
                padding-inline: var(--space-m);
                line-height: 1;
                border-radius: var(--radius-m);
                color: var(--light);
                margin-inline-start: 2em;
                transition: transform 0.2s ease-in-out;
                font-weight: 500;
                position: relative;
                z-index: 1;
                
                &:focus {
                    outline: 2px solid var(--primary);
                    outline-offset: 2px;
                }
            }
        }
        
        /* Mobile Menu */
        &.bricks-mobile-menu-wrapper {
            width: 100%;
            
            > ul {
                align-items: center;
                display: flex;
                flex-direction: column;
                
                > li {
                    &.current-menu-item > a:not(.header-cta) {
                        color: var(--primary);
                    }
                    
                    > ul.sub-menu > li > a {
                        border-top: 1px solid var(--border-primary);
                    }
                }
            }
            
            .header-cta {
                background: var(--primary);
                padding-block: var(--space-s);
                padding-inline: var(--space-m);
                line-height: 1;
                border-radius: var(--radius-m);
                color: var(--light);
                margin: 1em auto;
                font-weight: 500;
                display: inline-block;
            }
        }
    }
}

/* Submenu toggle */
.brx-submenu-toggle {
    font-weight: 500;
}

/* WhatsApp Button */
.whatsapp-float {
  position: fixed;
  bottom: 1.8rem;
  right: 1.8rem;
  z-index: 999;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  animation: pulse 2s infinite;
}

.whatsapp-float::before {
  content: "Book now";
  position: absolute;
  right: 7rem;
  background-color: #25D366;
  color: var(--light);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-xl);
  white-space: nowrap;
  font-size: var(--text-s);
  font-weight: 600;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
  50% { box-shadow: 0 0 0 10px rgba(37, 211, 102, 0); }
}

.whatsapp-float:hover {
  transform: scale(1.1);
  animation: none;
}

.whatsapp-float:hover::before {
  transform: translateX(-5px);
}

@media (max-width: 768px) {
  .whatsapp-float {
    bottom: 1.5rem;
    right: 1.5rem;
    animation: none;
  }
  
  .whatsapp-float::before {
    display: none;
  }
}

/* Overlay header */
[data-header-style="Overlay"] {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;

    .brx-submenu-toggle,
    .bricks-mobile-menu-toggle,
    .header-wrapper__nav-menu > nav:not(.bricks-mobile-menu-wrapper) > ul > li:not(:last-child) > a:not(.header-cta)::after,
    .header-wrapper__nav-menu > nav:not(.bricks-mobile-menu-wrapper) > ul > li > a:not(.header-cta) {
        color: var(--text-title);
        filter: invert(1);
    }
}

/* DigiConsent */
.digiconsent-category-description {
    font-size: var(--text-s);
}
.digiconsent-btn,
.digiconsent-category-header-text,
.digiconsent-banner-content .digiconsent-banner-pre-heading,
.digiconsent-banner-content .digiconsent-banner-heading-text,
.digiconsent-banner-content p {
    font-size: var(--text-m);
}