
/* =========================
   CONFIGURACIÓN GENERAL
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ebe7e1;
    color: #1d1d1d;
}

a {
    text-decoration: none;
    color: inherit;
}



/* =========================
   HEADER - PARFUM BA
========================= */

.header {
    width: 100%;
    min-height: 82px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 6%;
    background: #511B2B;
    border-bottom: 1px solid rgba(220, 197, 143, 0.35);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* LOGO */

.header .logo {
    justify-self: start;
    color: #FFFFFF;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
    letter-spacing: 3px;
    white-space: nowrap;
}

/* MENU CENTRAL */

.header .nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 38px;
}

.header .nav > a,
.header .nav .nav-products {
    display: block;
    padding: 10px 0;
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: color 0.25s ease;
}

.header .nav > a:hover,
.header .nav .nav-products:hover {
    color: #DCC58F;
}

/* DESPLEGABLE PRODUCTOS */

.header .nav-dropdown {
    position: relative;
}

.header .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 180px;
    padding: 10px 0;
    background: #511B2B;
    border: 1px solid rgba(220, 197, 143, 0.4);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1001;
}

.header .dropdown-menu a {
    display: block;
    padding: 13px 20px;
    color: #FFFFFF;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.2s ease, background 0.2s ease;
}

.header .dropdown-menu a:hover {
    color: #DCC58F;
    background: rgba(255, 255, 255, 0.06);
}

.header .nav-dropdown:hover .dropdown-menu,
.header .nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* CARRITO */

.header > .cart {
    justify-self: end;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #FFFFFF;
    font-size: 20px;
}

.header #cart-count {
    position: absolute;
    top: 0;
    right: -3px;
    width: 17px;
    height: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #DCC58F;
    color: #511B2B;
    font-size: 9px;
    line-height: 1;
}

/* ADAPTACION A CELULARES */

@media (max-width: 768px) {
    .header {
        min-height: 70px;
        padding: 0 4%;
        grid-template-columns: auto 1fr auto;
        column-gap: 12px;
    }

    .header .logo {
        font-size: 15px;
        letter-spacing: 1.5px;
    }

    .header .nav {
        gap: 16px;
    }

    .header .nav > a,
    .header .nav .nav-products {
        font-size: 9px;
        letter-spacing: 0.8px;
    }

    .header > .cart {
        width: 30px;
        height: 36px;
        font-size: 18px;
    }
}

@media (max-width: 380px) {
    .header {
        column-gap: 8px;
        padding: 0 3%;
    }

    .header .logo {
        font-size: 12px;
        letter-spacing: 1px;
    }

    .header .nav {
        gap: 10px;
    }

    .header .nav > a,
    .header .nav .nav-products {
        font-size: 8px;
        letter-spacing: 0.4px;
    }
}



/* =========================
   HERO
========================= */

.hero {
    min-height: 650px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 80px 20px;
}

.hero-content {
    max-width: 800px;
}

.hero-small {
    font-size: 12px;
    letter-spacing: 5px;
    margin-bottom: 25px;
}

.hero h1 {
    font-size: clamp(60px, 10vw, 150px);
    letter-spacing: 8px;
    font-weight: 500;

    margin-bottom: 20px;
}

.hero-description {
    font-size: 18px;
    color: #666;
    margin-bottom: 40px;
}

.button {
    display: inline-block;

    background: #1d1d1d;
    color: white;

    padding: 16px 32px;

    font-size: 12px;
    letter-spacing: 2px;

    transition: 0.3s ease;
}

.button:hover {
    background: #444;
}


/* =========================
   DESTACADOS
========================= */

.featured {
    padding: 100px 6%;
}

.section-title {
    margin-bottom: 60px;
}

.section-title p,
.about-small {
    font-size: 11px;
    letter-spacing: 4px;
    margin-bottom: 15px;
}

.section-title h2 {
    font-size: clamp(30px, 5vw, 55px);
    font-weight: 500;
    letter-spacing: -1px;
}

.products-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;
}

.product-card {
    background: #ebe7e1;
}

.product-image {
    width: 100%;
    aspect-ratio: 1 / 1;

    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.product-info {
    padding: 25px;
}

.product-info h3 {
    font-size: 18px;
    font-weight: 500;

    margin-bottom: 10px;
}

.price {
    font-size: 15px;
    margin-bottom: 20px;
    color: #000000;
}

.product-button {
    font-size: 11px;
    letter-spacing: 2px;
    border-bottom: 1px solid #1d1d1d;
    padding-bottom: 5px;
}


/* =========================
   SOBRE PARFUM BA
========================= */

.about {
    background: #1d1d1d;
    color: white;

    padding: 130px 10%;
}

.about-content {
    max-width: 900px;
}

.about h2 {
    font-size: clamp(40px, 7vw, 90px);
    font-weight: 400;
    line-height: 0.95;

    margin-bottom: 45px;
}

.about p:not(.about-small) {
    max-width: 650px;

    font-size: 17px;
    line-height: 1.8;

    color: #d0d0d0;

    margin-bottom: 20px;
}


/* =========================
   FOOTER
========================= */

.footer {
    background: #111;
    color: white;

    padding: 50px 6%;

    text-align: center;
}

.footer-logo {
    font-size: 22px;
    letter-spacing: 4px;

    margin-bottom: 20px;
}

.footer p {
    font-size: 12px;
    color: #999;

    margin-bottom: 8px;
}


/* =========================
   CELULAR
========================= */

@media (max-width: 768px) {

    .header {
        height: 70px;
        padding: 0 5%;
    }

    .logo {
        font-size: 16px;
        letter-spacing: 2px;
    }

    .nav {
        gap: 18px;
    }

    .nav a {
        font-size: 10px;
    }

    .hero {
        min-height: 550px;
    }

    .hero h1 {
        font-size: 48px;
        letter-spacing: 4px;
    }

    .hero-description {
        font-size: 15px;
    }

    .featured {
        padding: 80px 5%;
    }

    .products-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about {
        padding: 90px 7%;
    }

    .about h2 {
        font-size: 48px;
    }

}


/* =========================
   DROPDOWN PRODUCTOS
========================= */

.nav-dropdown {
    position: relative;
}

.nav-products {
    display: block;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);

    min-width: 170px;

    background: #f6f3ef;
    border: 1px solid #dedbd7;

    padding: 10px 0;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;

    z-index: 1000;
}

.dropdown-menu a {
    display: block;

    padding: 12px 20px;

    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    white-space: nowrap;

    transition: background 0.2s ease;
}

.dropdown-menu a:hover {
    background: #ebe7e1;
}

/* Mostrar solamente al pasar el mouse */

.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
}

/* =========================
   NOTIFICACIÓN PRODUCTO
========================= */

.cart-notification {
    position: fixed;

    top: 75px;
    right: 30px;

    width: 320px;

    display: flex;
    align-items: center;

    gap: 15px;

    padding: 12px;

    background: #f6f3ef;

    border: 1px solid #dedbd7;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.10);

    z-index: 9999;

    opacity: 0;

    transform:
        translateY(-15px)
        translateX(10px);

    pointer-events: none;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.cart-notification.show {
    opacity: 1;

    transform:
        translateY(0)
        translateX(0);
}


/* FOTO */

.cart-notification-image {

    width: 65px;
    height: 75px;

    object-fit: cover;

    background: #ebe7e1;

    flex-shrink: 0;
}


/* INFORMACIÓN */

.cart-notification-info {

    display: flex;

    flex-direction: column;

    gap: 5px;

    min-width: 0;
}

.cart-notification-added {

    font-size: 8px;

    letter-spacing: 1.8px;

    color: #888;
}

.cart-notification-info strong {

    font-size: 14px;

    font-weight: 400;

    color: #1d1d1d;
}

.cart-notification-check {

    font-size: 9px;

    color: #777;
}


/* MOBILE */

@media (max-width: 600px) {

    .cart-notification {

        top: 70px;

        right: 15px;
        left: 15px;

        width: auto;

    }

}

/* =========================
   FRANJA SUPERIOR
========================= */

.top-bar {
    width: 100%;
    padding: 9px 0;

    background: #1d1d1d;
    color: white;

    text-align: center;

    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

 /* =========================
    INSTAGRAM
 ========================= */

.instagram-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;

    margin: 40px 0;

    color: #1d1d1d;
    text-decoration: none;

    font-size: 11px;
    letter-spacing: 1px;
}

.instagram-footer svg {
    width: 16px;
    height: 16px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.instagram-footer svg circle:last-child {
    fill: currentColor;
    stroke: none;
}

.instagram-footer:hover {
    opacity: 0.6;
}


/* BARRA DE ANUNCIOS INFINITA */

.announcement-bar {
    width: 100%;
    height: 30px;
    background: #171717;
    overflow: hidden;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.announcement-track {
    display: flex;
    width: max-content;
    flex-shrink: 0;
    animation: announcement-scroll 45s linear infinite;
}

.announcement-group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.announcement-group span {
    display: block;
    flex-shrink: 0;
    color: #FFFFFF;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;
    padding-right: 55px;
}

@keyframes announcement-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}