:root {
    --cream: #fff8f0;
    --ivory: #fffdf8;
    --rose: #c88472;
    --gold: #d9b376;
    --mauve: #8f4550;
    --burgundy: #5a2028;
    --brown: #6f4b35;
    --ink: #321f1f;
    --muted: #7c6660;
    --line: rgba(143, 69, 80, .18);
    --shadow: 0 24px 70px rgba(90, 32, 40, .13);
}

* { letter-spacing: 0; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
    content: "";
    position: fixed;
    left: 0;
    top: 78px;
    width: 170px;
    height: 360px;
    pointer-events: none;
    opacity: .42;
    background:
        radial-gradient(ellipse at 70% 18%, transparent 52%, rgba(184,120,96,.65) 53%, transparent 55%),
        linear-gradient(28deg, transparent 48%, rgba(184,120,96,.55) 49%, rgba(184,120,96,.55) 50%, transparent 51%);
    mask-image: linear-gradient(to bottom, #000, transparent);
}

a { color: var(--mauve); text-decoration: none; }
a:hover { color: var(--burgundy); }
.serif, h1, h2, h3, h4, .navbar-brand span { font-family: "Cormorant Garamond", Georgia, serif; }

.salon-nav {
    background: rgba(255, 248, 240, .92);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(16px);
}
.salon-nav .container { min-height: 76px; }
.navbar-brand img { width: 48px; height: 48px; object-fit: contain; border-radius: 50%; }
.navbar-brand span { color: var(--burgundy); font-size: 1.7rem; font-weight: 700; }
.nav-link { color: var(--brown); font-weight: 600; font-size: .95rem; }
.nav-link.active, .nav-link:hover { color: var(--mauve); }

.btn-eden, .btn-outline-eden:hover {
    background: linear-gradient(135deg, var(--mauve), var(--rose));
    border: 0;
    color: #fff;
    box-shadow: 0 14px 30px rgba(143, 69, 80, .25);
}
.btn-eden:hover { color: #fff; transform: translateY(-1px); }
.btn-outline-eden {
    border: 1px solid var(--rose);
    color: var(--mauve);
    background: rgba(255,255,255,.45);
}
.btn { border-radius: 999px; padding: .8rem 1.3rem; font-weight: 700; }

.hero {
    min-height: 560px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, #fff9f2 0%, #fff6ee 50%, #efd1bf 100%);
}
.hero-logo { width: min(310px, 58vw); filter: drop-shadow(0 28px 30px rgba(90,32,40,.14)); }
.hero h1 { color: var(--burgundy); font-size: clamp(3.4rem, 7vw, 6.8rem); line-height: .86; font-weight: 700; text-transform: uppercase; }
.hero p { color: var(--brown); font-size: 1.14rem; line-height: 1.8; max-width: 630px; }
.hero-photo {
    min-height: 560px;
    margin-right: calc((100vw - 100%) / -2);
    background-position: center;
    background-size: cover;
    mask-image: linear-gradient(to right, transparent 0%, #000 18%, #000 100%);
}
.hero-actions .btn { min-width: 190px; }

.section { padding: 84px 0; }
.section.alt { background: var(--ivory); }
.section-title { max-width: 760px; margin-bottom: 2.6rem; }
.section-title h2 { color: var(--burgundy); font-size: clamp(2.4rem, 5vw, 4.4rem); font-weight: 700; line-height: .95; }
.section-title p, .lead-soft { color: var(--muted); line-height: 1.8; }

.eden-card {
    background: rgba(255,253,248,.86);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(90, 32, 40, .08);
    height: 100%;
    overflow: hidden;
}
.service-card {
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.service-card img { height: 148px; }
.service-icon {
    width: 46px;
    height: 46px;
    margin: -23px auto 10px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--mauve);
    color: #f9dfc2;
    border: 3px solid #fff7ef;
    position: relative;
}
.intro-img {
    border-radius: 8px 92px 8px 8px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(184,120,96,.3);
}
.feature-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.feature-row strong { color: var(--burgundy); font-size: .8rem; text-transform: uppercase; }
.feature-row p { font-size: .78rem; margin: .25rem 0 0; color: var(--muted); }
.testimonial-band {
    background:
        radial-gradient(circle at 0 0, rgba(217,179,118,.12), transparent 30%),
        linear-gradient(135deg, #6b2630, #8f4550);
}
.testimonial-band .eden-card { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #fff8f0; }
.testimonial-band .testimonial-quote, .testimonial-band h2 { color: #fff8f0; }
.cta-strip {
    background: linear-gradient(135deg, #6b2630, #8f4550);
    color: #fff8f0;
    border-radius: 8px;
    padding: 2rem;
    box-shadow: var(--shadow);
}
.cta-strip p, .cta-strip a { color: rgba(255,248,240,.86); }
.eden-card img { width: 100%; height: 230px; object-fit: cover; }
.eden-card .card-body { padding: 1.4rem; }
.price { color: var(--mauve); font-weight: 800; }
.tiny-label { color: var(--rose); text-transform: uppercase; font-size: .76rem; font-weight: 800; }
.lux-band {
    background: var(--burgundy);
    color: #fff8f0;
}
.lux-band .section-title h2, .lux-band h3 { color: #fff8f0; }
.lux-band p { color: rgba(255,248,240,.78); }

.form-control, .form-select {
    border-radius: 8px;
    border: 1px solid var(--line);
    padding: .86rem 1rem;
    background-color: #fffdf8;
}
.form-control:focus, .form-select:focus {
    border-color: var(--rose);
    box-shadow: 0 0 0 .2rem rgba(200, 132, 114, .18);
}

.gallery-img { height: 300px; object-fit: cover; border-radius: 8px; box-shadow: var(--shadow); }
.testimonial-quote { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.65rem; color: var(--burgundy); line-height: 1.25; }
.map-box { min-height: 360px; border: 0; width: 100%; border-radius: 8px; filter: sepia(.12) saturate(.8); }

.site-footer { background: #2f1b18; color: #f9e9dd; padding: 64px 0 28px; }
.site-footer a { color: #f3cda7; }
.footer-logo { width: 90px; border-radius: 50%; margin-bottom: 1rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 2rem; padding-top: 1.5rem; color: rgba(255,255,255,.62); font-size: .9rem; }
.social-icons { display: flex; gap: .7rem; flex-wrap: wrap; }
.social-icons a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(243, 205, 167, .55);
    border-radius: 50%;
    color: #f3cda7;
}
.social-icons svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.social-icons svg path:not(.icon-cut) { fill: currentColor; stroke: none; }
.social-icons .icon-cut { fill: #2f1b18; stroke: none; }

.protected-img {
    -webkit-user-drag: none;
    user-select: none;
}
.album-cover {
    position: relative;
    cursor: pointer;
}
.album-cover::after {
    content: "View album";
    position: absolute;
    inset: auto 16px 16px 16px;
    padding: .65rem .9rem;
    border-radius: 999px;
    background: rgba(90, 32, 40, .86);
    color: #fff8f0;
    font-weight: 800;
    text-align: center;
}
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(35, 20, 18, .9);
    padding: 24px;
}
.lightbox.open { display: flex; }
.lightbox img { max-width: min(1100px, 92vw); max-height: 86vh; border-radius: 8px; box-shadow: 0 20px 70px rgba(0,0,0,.35); }
.lightbox button {
    position: absolute;
    top: 20px;
    right: 22px;
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.08);
    color: #fff;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    font-size: 1.3rem;
}

.whatsapp-float, .chatbot-toggle {
    position: fixed;
    right: 22px;
    z-index: 1030;
    border: 0;
    border-radius: 999px;
    color: #fff;
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.whatsapp-float {
    bottom: 22px;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    background: #25d366;
    font-weight: 900;
}
.chatbot-toggle {
    bottom: 92px;
    background: var(--mauve);
    padding: .8rem 1rem;
    font-weight: 800;
}
.chatbot-panel {
    position: fixed;
    right: 22px;
    bottom: 148px;
    width: min(360px, calc(100vw - 32px));
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
    z-index: 1030;
}
.chatbot-head { background: var(--burgundy); color: #fff; padding: 1rem; display: flex; justify-content: space-between; font-weight: 800; }
.chatbot-head button { background: transparent; border: 0; color: #fff; }
.chatbot-messages { height: 260px; overflow-y: auto; padding: 1rem; display: grid; gap: .75rem; }
.chatbot-messages div { padding: .75rem .9rem; border-radius: 8px; max-width: 88%; }
.chatbot-messages .bot { background: #f7ebe2; }
.chatbot-messages .user { background: var(--mauve); color: #fff; margin-left: auto; }
.chatbot-form { display: flex; border-top: 1px solid var(--line); }
.chatbot-form input { flex: 1; border: 0; padding: .9rem; background: #fff; }
.chatbot-form button { border: 0; background: var(--rose); color: #fff; padding: 0 1rem; font-weight: 800; }

.admin-shell { background: #f8efe8; min-height: 100vh; }
.admin-sidebar { background: #2f1b18; color: #fff; min-height: 100vh; padding: 1.5rem; }
.admin-sidebar a { display: block; color: rgba(255,255,255,.78); padding: .7rem 0; font-weight: 700; }
.admin-sidebar a:hover { color: #fff; }
.stat-card { background: #fffdf8; border: 1px solid var(--line); border-radius: 8px; padding: 1.4rem; box-shadow: 0 12px 28px rgba(90,32,40,.08); }

@media (max-width: 991px) {
    .hero { padding: 58px 0; min-height: auto; }
    .hero-photo { min-height: 360px; }
    .feature-row { grid-template-columns: repeat(2, 1fr); }
    .section { padding: 60px 0; }
}

@media (max-width: 575px) {
    .hero h1 { font-size: 3.2rem; }
    .btn { width: 100%; margin-bottom: .6rem; }
    .navbar-brand span { font-size: 1.35rem; }
    .feature-row { grid-template-columns: 1fr; }
}
