@font-face {
    font-display: swap;
    font-family: 'Poppins';
    src: url('./fonts/Poppins-Regular.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'BrandIcons';
    src: url('fonts/brand-icons.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'OutlineIcons';
    src: url('fonts/outline-icons.woff2') format('woff2');
}

body {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    background-color:white;
}

/* Base styles for the navbar */
.nav-container {
    position: fixed; /* Keeps the navbar at the top */
    top: 0;
    left: 0;
    padding: 10px;
    width: 100%;
    background-color: #fff;
    z-index: 1000; /* Ensures the navbar is above other content */
    transition: box-shadow 0.3s ease-in-out; /* Smooth transition for the shadow */
}

.container {
    background-color: #fff;
    margin: 0 auto;
    padding-top: 120px;
}

.logo {
    max-height: 69px;
}

/* Class to add shadow */
.shadow {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.header-bar {
    max-width: 1200px;
    margin: 0 auto; /* Centers the header-bar */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

a {
    color: #9d6190; /* Modern blue color; adjust as needed */
    text-decoration: none; /* Removes the underline */
    transition: color 0.3s ease, text-decoration 0.3s ease; /* Smooth transition for hover effects */
}

a:hover, a:focus {
    color: #670336; /* Darker shade of blue on hover/focus for contrast; adjust as needed */
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

nav ul li.primary {
    background-color: black;
}

nav ul li.primary a {
    color: white;
    font-family: 'Poppins';
    font-weight: 500;
    text-decoration: none;
    padding: 12px;
    display: block;
}

nav ul li.primary :visited {
    color: white;
}

@keyframes borderPulse {
    0% {
        border-color: red;
    }
    14% {
        border-color: orange;
    }
    28% {
        border-color: yellow;
    }
    42% {
        border-color: green;
    }
    57% {
        border-color: blue;
    }
    71% {
        border-color: indigo;
    }
    85% {
        border-color: violet;
    }
    100% {
        border-color: red;
    }
}

nav ul li.primary {
    border: 2px solid;
    background-color: black;
    position: relative;
    overflow: hidden;
    animation: borderPulse 2s infinite;
}

nav ul li a {
    font-family: 'Poppins';
    font-weight: 500;
    text-decoration: none;
    padding: 12px;
    display: block;
}

nav ul li a, nav ul li a:visited {
    color: black; /* Keeps text color black */
    position: relative;
    text-decoration: none; /* Removes underline */
}

/* Animate underline on hover */
nav ul li a:hover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: black;
    animation: underlineSlide 0.5s forwards;
}

blockquote {
    padding: 10px;
    background-color: #f8f8f8;
    border-left: 5px solid #9d6190;
}

.banner {
    display: flex;
    justify-content: space-between;
    align-items: stretch; /* Keep this to ensure children fill the height */
    flex-wrap: wrap; /* Allow items to wrap */
    padding-left: 100px;
    height: 320px; /* Enforced height */
    color: white;
    background-color: black;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    overflow: hidden; /* Prevent children from visually overflowing */
}

.banner .left, .banner .right {
    flex: 1; /* Each takes up half of the .banner's width */
}

.banner .right img {
    width: 100%; /* Ensure the image is responsive */
    height: auto; /* Maintain aspect ratio */
}

.banner h1 {
    flex: 1 0 50%; /* Adjust to ensure text also takes up 50% */
    font-size: 42px;
    font-weight: 500;
    margin-bottom: 20px;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.promo-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/mechas\ balayage.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

.treatments-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/Davines.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

.salon-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/mechas ombre con tonos miel.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

.mechas-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/mechas.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

.color-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/coloracion.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

.coloracion-pelo-image {
    width: 100%; /* Same as the original image width */
    height: 400px; /* Enforced height */
    background-image: url('/images/coloracion pelo.webp');
    background-size: cover; /* This will cover the div without losing the aspect ratio */
    background-position: center; /* This keeps the image centered */
    transition: transform 0.5s ease; /* Optional: adds a smooth transition effect */
}

/* Responsive adjustments for smaller screens */
@media (max-width: 880px) {
    .banner {
        flex-direction: column; /* Stack children vertically */
        height: auto; /* Allow children to determine height */
        padding: 0px;
    }

    .banner .left {
        padding-left: 20px;
    }

    .banner .right, .banner .left {
        width: 100%; /* Ensure they take full width of the container */
        flex: none; /* Override the previous flex setting */
    }

    .banner .right {
        order: -1;
    }

    .banner h1 {
        font-size: 32px; /* Adjust font size for smaller screens */
    }

    .promo-image {
        background-image: url('/images/mechas balayage small.webp');
    }

    .salon-image {
        background-image: url('/images/mechas ombre con tonos miel small.webp');
    }

    .color-image {
        background-image: url('/images/coloracion small.webp');
    }
}

.content {
    max-width: 1170px;
    margin: 0 auto;
    padding: 20px;
}

.left-image-and-text-right {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
    width: 100%;
}

.left-image-and-text-right img {
    max-width: 50%; /* Limits image width, adjust as needed */
    height: auto; /* Keeps the image aspect ratio */
}

.text-section {
    font-weight: 400;
    max-width: 100%; /* Limits text section width, adjust as needed */
    padding-right: 10px;
}

.text-highlight {
    width: 100%;
    display: flex; /* Enables flexbox layout */
    flex-direction: column;
    flex-wrap: wrap; /* Allows items to wrap */
    align-items: left;
    margin-bottom: 20px; /* Adds some space below the text-highlight section */
}

.text-highlight .left,
.text-highlight .right {
    padding: 10px; /* Adds some padding inside both left and right divs */
}

.text-highlight .left {
    flex-shrink: 0; /* Prevents .left from shrinking */
}

.text-highlight .right {
    flex-basis: 70%; /* Sets the initial main size of .right to 60% */
    flex-grow: 1; /* Allows the right div to grow and fill the remaining space */
}

.icon {
    font-family: 'Icons', sans-serif; /* Fallback to sans-serif or another appropriate font */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1; /* Prevents the default line height from affecting the alignment */
    -webkit-font-smoothing: antialiased; /* Improves rendering of the icons */
    -moz-osx-font-smoothing: grayscale; /* Improves rendering of the icons on macOS */
}

.outline-icon {
    font-family: 'OutlineIcons', sans-serif; /* Fallback to sans-serif or another appropriate font */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1; /* Prevents the default line height from affecting the alignment */
    -webkit-font-smoothing: antialiased; /* Improves rendering of the icons */
    -moz-osx-font-smoothing: grayscale; /* Improves rendering of the icons on macOS */
}

.brand-icon {
    font-family: 'BrandIcons', sans-serif; /* Fallback to sans-serif or another appropriate font */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1; /* Prevents the default line height from affecting the alignment */
    -webkit-font-smoothing: antialiased; /* Improves rendering of the icons */
    -moz-osx-font-smoothing: grayscale; /* Improves rendering of the icons on macOS */
}

i.brand-icon.whatsapp::before { content: "\f232"; }
i.outline-icon.calendar:before { content: "\f133"; }
i.outline-icon.calendar.plus:before { content: "\f271"; }
i.brand-icon.instagram:before { content: "\f16d"; }

* {
    box-sizing: border-box;
}

@media (max-width: 880px) {
    .layout-container {
        flex-direction: column;
        gap: 2px;
    }

    .layout-container img {
        max-width: 100%; /* Adjusts image width for smaller screens */
    }
}

.contact-info-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.contact-info, .google-map {
    flex: 1 1 auto; /* Allows the items to grow and shrink but not beyond their content's size */
    min-width: 0; /* Prevents flex items from overflowing their container */
}

.contact-info {
    flex-basis: 40%; /* Adjust this value as needed */
}

#mapImage {
    display: block;
    width: 642px;
    height: auto;
}

#mapIframe {
    display: none;
}

.google-map {
    flex-basis: 60%; /* Adjust this value as needed */
    margin-left: 60px; /* Adds some space between the text and the map */
    max-width: 100%; /* Ensure the map does not exceed the container's width */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    overflow: hidden; /* Ensure content does not overflow the container */
}

.google-map iframe {
    width: 100%; /* Ensure the iframe takes the full width of its container */
    height: 300px; /* Set a fixed height for the iframe */
    max-width: 100%; /* Ensure the iframe does not exceed the container's width */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    border: none; /* Remove any default border */
}

@media (max-width: 880px) {
    .contact-info-wrapper {
        flex-direction: column; /* Stacks the items vertically on smaller screens */
    }
    .contact-info, .google-map {
        flex-basis: 100%; /* Makes each item take the full width, stacking them vertically */
        margin-left: 0; /* Resets margin for the map on smaller screens */
        width: 100%; /* Resets any specific width to auto for flexibility */
        height: auto; /* Adjusts the height for the map to be responsive */
        max-width: 100%; /* Ensure the elements do not exceed the container's width */
        box-sizing: border-box; /* Include padding and border in the element's total width and height */
    }
}

footer {
    width: 100%;
    margin: 0 auto; /* Centers the footer */
    background-color: #f8f8f8; /* Sets the background color to black */
    color: black; /* Sets the text color to white for contrast */
    padding: 20px; /* Adds padding inside the footer */
    text-align: center; /* Optionally, centers the text/content inside the footer */
    margin-top: 10px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto; /* Centers the container */
    text-align: left; /* Aligns the text to the left */
    padding: 20px; /* Adds some padding inside the footer for spacing */
}

.hidden {
    display: none;
}

@keyframes underlineSlide {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* Styles for the burger icon */
.burger {
    display: none;
    cursor: pointer;
}

.burger div {
    width: 25px;
    height: 3px;
    background-color: black;
    margin: 5px;
    transition: all 0.3s ease;
}

.primary-button {
    background-color: black; /* Sets the background color to black */
    color: white; /* Sets the text color to white */
    border: none; /* Removes the border to make the button flat */
    padding: 10px 20px; /* Adds some padding for better sizing */
    text-align: center; /* Ensures the text is centered */
    text-decoration: none; /* Removes any text decoration */
    display: inline-block; /* Allows setting dimensions */
    font-size: 16px; /* Adjusts the font size */
    margin: 4px 2px; /* Adds some margin for spacing between buttons */
    cursor: pointer; /* Changes the cursor to indicate it's clickable */
    transition: background-color 0.3s; /* Smooth transition for hover effect */
}

.primary-button a {
    color: white; /* Ensures text color is white */
    text-decoration: none; /* Removes underline from links */
    display: inline-block; /* Allows the link to fill the button for better clickability */
    width: 100%; /* Ensures the link covers the full button area */
    height: 100%; /* Ensures the link covers the full button area */
    text-align: center; /* Centers the text within the button */
    line-height: normal; /* Adjusts line height to match your button's height, if necessary */
}

.primary-button:hover {
    background-color: #333; /* Darker shade when hovered for feedback */
}

.contact-buttons {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background-color: #f8f8f8;
    padding: 40px;
}

.whatsapp-button, .instagram-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px; /* Adjust height as needed */
    min-width: 50px;
    width: auto;
    border: none;
    padding: 10px;
}

.whatsapp-button a, .instagram-button a {
    display: flex; /* Enables flexbox layout */
    align-items: center; /* Vertically centers the flex items */
    justify-content: center; /* Horizontally centers the flex items (optional) */
    gap: 12px;
    color: white;
    text-decoration: none;
}

.whatsapp-button {
    background-color: #1ebe5f;
}

.whatsapp-button:hover {
    background: linear-gradient(90deg, #1ebe5f 0%, #29874b 90%);
}

.instagram-button {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.instagram-button:hover {
    background: linear-gradient(90deg, #f09433 0%, #e6683c 15%, #dc2743 45%, #cc2366 65%, #bc1888 90%);
}

.whatsapp-button i, .instagram-button i {
    font-size: 24px;
}

.whatsapp-button span, .instagram-button span {
    font-size: 16px; /* Adjust text size as needed */
    font-weight: bold; /* Makes text bold */
}

.whatsapp-button .button-text {
    display: block;
}

.vertical-line {
    height: 120px;
    width: 1px;
    background-color: #ccc;
}

iframe[src*="squareup"] {
    height: 800px !important;
}

@media screen and (max-width: 880px) {
    .burger {
        display: block;
    }

    .burger.toggle .line1 {
        transform: rotate(-45deg) translate(-5px, 6px);
    }

    .burger.toggle .line2 {
        opacity: 0;
    }

    .burger.toggle .line3 {
        transform: rotate(45deg) translate(-5px, -6px);
    }

    nav ul {
        flex-direction: column;
        width: 100%; /* Match the width of the nav-container */
        display: none; /* Initially hidden */
        position: absolute;
        top: 100%; /* Start immediately below the navbar */
        left: 0;
        background-color: #fff; /* Match navbar background */
    }

    .nav-active {
        display: flex; /* Display the menu when active */
    }

    .left-image-and-text-right {
        flex-direction: column; /* Stacks the items vertically on smaller screens */
    }

    .left-image-and-text-right img {
        max-width: 100%; /* Adjusts image width for smaller screens */
    }

    .contact-buttons {
        flex-direction: column;
    }

    .contact-buttons .vertical-line {
        display: none;
    }

    .whatsapp-button .button-text {
        display: none;
    }
}

.promotion-section {
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    margin: 20px 0;
}

.promotion-section h2 {
    margin-bottom: 10px;
    font-size: 24px;
    color: #333;
}

.promotion-section p {
    margin-bottom: 20px;
    font-size: 16px;
    color: #666;
}

.promotion-button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    background-color:black;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.promotion-button:hover {
    background-color: #333;
    color: white;
}

.brands {
    display: flex;
    justify-content: center; /* Centers items horizontally */
    align-items: center; /* Centers items vertically */
    gap: 20px; /* Adds space between the images */
    height: 100%; /* Ensure the container takes the full height of its parent */
}

.brands img {
    max-width: 100%; /* Ensure images are responsive */
    height: auto; /* Ensure images do not exceed the container's height */
}

@media (max-width: 600px) {
    .brands {
        flex-direction: column;
        align-items: center;
    }

    .brands img {
        margin-bottom: 10px; /* Add some space below each image */
    }

    .brands .olaplex {
        margin-top: 0px;
    }
}

.brands .olaplex {
    margin-top: 9px;
}

.customer-reviews {
    position: relative;
    width: 100%;
    height: 200px; /* Set a fixed height for the container */
    z-index: 1;
    background-color: white; /* Optional: Add background color to cover content behind */
    overflow: hidden; /* Ensure content does not overflow the container */
    display: flex;
    align-items: center; /* Center items vertically */
    justify-content: center; /* Center items horizontally */
    padding: 20px; /* Add padding to ensure content is not cut off */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.customer-reviews blockquote {
    position: absolute;
    width: 100%;
    max-width: 100%; /* Ensure blockquotes do not exceed the container's width */
    opacity: 0;
    animation: fade 30s infinite;
    z-index: 2; /* Ensure blockquotes are above the container */
    padding: 20px; /* Add padding to ensure content is not cut off */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.customer-reviews blockquote:nth-child(1) {
    animation-delay: 0s;
}

.customer-reviews blockquote:nth-child(2) {
    animation-delay: 10s;
}

.customer-reviews blockquote:nth-child(3) {
    animation-delay: 20s;
}

.customer-reviews blockquote:nth-child(4) {
    animation-delay: 30s;
}

.customer-reviews blockquote:nth-child(5) {
    animation-delay: 40s;
}

@keyframes fade {
    0% { opacity: 0; }
    10% { opacity: 1; }
    30% { opacity: 1; }
    40% { opacity: 0; }
    100% { opacity: 0; }
}

@media (max-width: 600px) {
    .customer-reviews {
        height: 240px; /* Adjust height for smaller screens */
    }

    .customer-reviews blockquote {
        font-size: 0.8em;
    }
}