:root {
    --blush: #fff5f8; --rose: #b76e79; --rose-light: #e6b3bc;
    --charcoal: #2a2223; --white: #ffffff;
    --font-head: 'Playfair Display', serif; --font-body: 'Lato', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: var(--font-body); color: var(--charcoal); overflow-x: hidden; background: var(--blush);}
a { text-decoration: none; color: inherit; transition: 0.3s; }

/* Background Gradient Glows */
.blush-gradient-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: radial-gradient(circle at top right, #ffebf0 0%, transparent 40%), radial-gradient(circle at bottom left, #ffe0e9 0%, transparent 40%); opacity: 0.8;}

.container { max-width: 1200px; margin: 0 auto; padding: 0 5%; }
.section-glam { padding: 100px 0; }
.d-flex { display: flex; } .justify-between { justify-content: space-between; } .align-center { align-items: center; }
.text-center { text-align: center; }
.mt-4 { margin-top: 30px; } .mt-5 { margin-top: 50px; } .mb-2 { margin-bottom: 10px; } .mb-5 { margin-bottom: 50px; } .pb-5 { padding-bottom: 150px; }

/* Typography */
h1, h2, h3 { font-family: var(--font-head); font-weight: 400; }
.title-glam { font-size: clamp(3rem, 6vw, 4.5rem); margin-bottom: 20px; line-height: 1.1; color: var(--charcoal);}
.sub-glam { display: block; font-family: var(--font-body); text-transform: uppercase; letter-spacing: 3px; font-size: 0.8rem; color: var(--rose);}
.desc-glam { font-size: 1.2rem; line-height: 1.6; color: #555; max-width: 500px; }

/* Buttons */
.btn-glam { display: inline-block; padding: 15px 40px; font-family: var(--font-body); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 2px; border-radius: 50px; cursor: pointer; transition: 0.4s; background: var(--charcoal); color: var(--white); border: none;}
.btn-glam:hover { background: var(--rose); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(183, 110, 121, 0.3);}
.btn-glam.bg-rose { background: var(--rose); color: var(--white); }
.btn-glam-outline { display: inline-block; padding: 13px 38px; border: 1px solid var(--rose); border-radius: 50px; color: var(--rose); font-family: var(--font-body); text-transform: uppercase; letter-spacing: 2px; font-size: 0.9rem; transition: 0.3s;}
.btn-glam-outline:hover { background: var(--rose); color: var(--white); }

/* Navbar */
.nav-glam { padding: 30px 0; position: absolute; width: 100%; top: 0; z-index: 100; }
.brand-glam { font-family: var(--font-head); font-size: 2rem; font-style: italic; color: var(--rose); }

/* Hero */
.hero-glam { min-height: 100vh; display: flex; align-items: center; padding-top: 80px;}
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.hero-img-glass { position: relative; padding: 20px; background: rgba(255, 255, 255, 0.4); backdrop-filter: blur(10px); border-radius: 30px; border: 1px solid rgba(255,255,255,0.8); box-shadow: 0 30px 60px rgba(183, 110, 121, 0.15);}
.hero-img-glass img { width: 100%; height: 500px; object-fit: cover; border-radius: 20px; }
.glass-badge { position: absolute; bottom: -20px; right: -20px; background: rgba(255,255,255,0.7); backdrop-filter: blur(15px); padding: 20px; border-radius: 20px; border: 1px solid #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 15px;}
.glass-badge i { font-size: 2rem; color: var(--rose); }
.glass-badge p { font-weight: 700; font-family: var(--font-head); font-size: 1.1rem; }

/* Carousel / Grid */
.glam-carousel { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
.glam-card { background: var(--white); border-radius: 30px; padding: 15px; box-shadow: 0 20px 40px rgba(183, 110, 121, 0.05); transition: 0.4s;}
.glam-card:hover { transform: translateY(-15px); box-shadow: 0 30px 60px rgba(183, 110, 121, 0.15); }
.glam-img { height: 350px; border-radius: 20px; overflow: hidden; margin-bottom: 25px;}
.glam-img img { width: 100%; height: 100%; object-fit: cover; }
.glam-info h3 { font-size: 1.5rem; margin-bottom: 10px; }
.price-pill { display: inline-block; padding: 8px 25px; background: var(--blush); color: var(--rose); border-radius: 50px; font-weight: 700; font-size: 0.9rem;}

/* Booking Form (Glassmorphism) */
.glassmorphism-form { background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.8); border-radius: 40px; padding: 60px; box-shadow: 0 30px 60px rgba(183, 110, 121, 0.1); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.span-2 { grid-column: span 2; }
.inp-glam input, .inp-glam select { width: 100%; padding: 20px; background: rgba(255,255,255,0.8); border: 1px solid rgba(183,110,121,0.2); border-radius: 15px; font-family: var(--font-body); font-size: 1rem; color: var(--charcoal); transition: 0.3s; outline: none; appearance: none;}
.inp-glam input:focus, .inp-glam select:focus { border-color: var(--rose); background: var(--white); box-shadow: 0 5px 15px rgba(183, 110, 121, 0.1);}

@media(max-width: 900px) {
    .hero-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-btns { display: flex; flex-direction: column; gap: 20px; align-items: center;}
    .desc-glam { margin: 0 auto; }
    .hero-img-glass { height: auto; margin-top: 40px; }
    .glass-badge { bottom: -10px; right: 0; }
    .form-grid { grid-template-columns: 1fr; }
    .span-2 { grid-column: span 1; }
    .glassmorphism-form { padding: 40px 20px; }
}


/* -------------------------------- */
/* GLOBAL MOBILE OPTIMIZATION PATCH */
/* -------------------------------- */
@media (max-width: 900px) {
    /* Padding & Spacing reductions */
    .section, .section-padding, .section-clean, .section-brutal, .section-leaf, .section-glam { padding: 50px 0 !important; }
    .pb-10, .pb-5 { padding-bottom: 60px !important; }
    .mt-5, .mb-5 { margin-top: 30px !important; margin-bottom: 30px !important; }
    
    /* Typography compression */
    body { font-size: 15px !important; }
    .display-title, .title-clean, .title-clean.text-lg, .giant-text, .title-leaf, .title-glam { font-size: 2.2rem !important; line-height: 1.15 !important; margin-bottom: 15px !important;}
    .brand-logotype, .brand-clean, .brand-brutal, .brand-leaf, .brand-glam { font-size: 1.25rem !important; }
    .hero-title { font-size: 2.5rem !important; }
    
    /* Forms & Inputs Expansion */
    .w-50 { width: 100% !important; margin-bottom: 15px !important;}
    .d-flex[style*="gap"] { flex-wrap: wrap !important; gap: 15px !important; }
    .glassmorphism-form, .book-card, .book-form, .form-brutal, .booking-info, .booking-form { padding: 25px 20px !important; border-radius: 12px !important; width: 100% !important; margin: 0 !important;}
    input[type="date"], input[type="time"] { width: 100% !important; margin-bottom: 10px !important;}
    
    /* Nav simplification */
    .nav-links a:not([class*="btn"]) { display: none !important; }
    .nav-inner, .nav-wrap, .d-flex.justify-between { flex-direction: row !important; }
    
    /* Layouts unwrapping */
    .auto-grid, .hero-grid, .custom-grid, .svc-grid, .row, .rituals-grid, .form-grid, .grid-3, .about-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
    .hero-split, .flex-container, .book-wrapper, #focus { flex-direction: column !important; }
    
    /* Image containment */
    .hero-image-side, .hero-img-stack, .focus-img, .hero-images { height: auto !important; min-height: 250px; overflow: hidden; margin-top: 20px;}
    .img-1 { right: 0; width: 100% !important; position: relative !important; height: 300px !important; }
    .img-2 { display: none !important; }
    .img-small, .img-sm, .reveal-img, .img-float { display: none !important; }
    .image-mask { clip-path: none !important; height: 100% !important; }
    
    /* Center alignments for mobile hero */
    .hero-text-side, .hero-txt, .hero-title-wrap, .hero-text { padding: 100px 5% 40px !important; text-align: center !important; }
    .content-wrapper { margin: 0 auto !important; }
    .hero-stats { flex-direction: column !important; gap: 15px !important; border-top: none !important;}
}
