/*
Theme Name: Dynamic Boudoir
Theme URI: https://viviansmuse.com
Author: Vivian's Muse
Description: Responsive black + dusky rose Y2K boudoir boutique starter theme for photography, styling, booking, and WooCommerce shop sections.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: dynamic-boudoir
*/

:root{
  --vm-black:#050505;
  --vm-ink:#0c0a0b;
  --vm-charcoal:#141112;
  --vm-rose:#c98792;
  --vm-rose-dark:#8f4f5b;
  --vm-rose-soft:#e6b8c0;
  --vm-cream:#f7eeee;
  --vm-muted:#a99a9d;
  --vm-line:rgba(201,135,146,.32);
  --vm-max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--vm-black);color:var(--vm-cream);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6} img{max-width:100%;height:auto;display:block} a{color:inherit;text-decoration:none} .container{width:min(var(--vm-max),calc(100% - 40px));margin-inline:auto}.eyebrow{color:var(--vm-rose);text-transform:uppercase;letter-spacing:.18em;font-size:.74rem}.display,.section-title,h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:.95;letter-spacing:-.045em}.script{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;color:var(--vm-rose);font-weight:400}.btn{display:inline-flex;align-items:center;gap:.65rem;border:1px solid var(--vm-rose);padding:.9rem 1.15rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;background:rgba(5,5,5,.35);transition:.25s ease}.btn:hover{background:var(--vm-rose);color:#090909;transform:translateY(-2px)}.site-header{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--vm-line)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:"Playfair Display",Georgia,serif;color:var(--vm-rose-soft);font-size:1.45rem;line-height:1;text-transform:uppercase;letter-spacing:.06em}.logo span{display:block;font-family:Inter,sans-serif;color:var(--vm-cream);font-size:.55rem;letter-spacing:.38em;margin-top:.25rem;text-align:center}.main-nav{display:flex;gap:1.25rem;align-items:center}.main-nav a{text-transform:uppercase;font-size:.68rem;letter-spacing:.14em;color:var(--vm-cream)}.mobile-menu-toggle{display:none;background:none;border:1px solid var(--vm-line);color:var(--vm-cream);padding:.55rem .7rem}.hero{min-height:calc(100vh - 76px);display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(201,135,146,.22),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.38)),url('assets/images/hero-placeholder.jpg');background-size:cover;background-position:center;z-index:-2}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--vm-line)}.hero-content{padding:8vw 0}.hero h1{font-size:clamp(3.4rem,9vw,8.7rem);max-width:850px;margin:.35rem 0 1.25rem}.hero p{max-width:520px;color:var(--vm-muted)}.section{padding:88px 0;border-top:1px solid var(--vm-line)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}.panel{background:linear-gradient(145deg,rgba(201,135,146,.12),rgba(255,255,255,.02));border:1px solid var(--vm-line);padding:clamp(1.3rem,3vw,2rem)}.section-title{font-size:clamp(2.4rem,5vw,5.4rem);margin:.3rem 0 1rem}.muted{color:var(--vm-muted)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.card{min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem;border:1px solid var(--vm-line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.78));position:relative;overflow:hidden}.card h3{font-size:1.5rem;margin:0;color:var(--vm-rose-soft)}.card p{margin:.25rem 0 0;color:var(--vm-muted);font-size:.88rem}.booking-band{background:linear-gradient(90deg,rgba(201,135,146,.18),rgba(0,0,0,.3)),var(--vm-ink)}.ticker{overflow:hidden;border-top:1px solid var(--vm-line);border-bottom:1px solid var(--vm-line);background:var(--vm-rose);color:#0b0b0b;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;white-space:nowrap}.ticker div{display:inline-block;padding:.72rem 0;animation:ticker 28s linear infinite}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.site-footer{padding:52px 0;border-top:1px solid var(--vm-line);background:#070606}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:2rem}.footer-grid h4{color:var(--vm-rose-soft);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}.footer-grid a,.footer-grid p{color:var(--vm-muted);font-size:.9rem}.email-box{display:flex;border:1px solid var(--vm-line)}.email-box input{flex:1;background:transparent;border:0;color:var(--vm-cream);padding:.9rem}.email-box button{background:var(--vm-rose);border:0;padding:0 1rem;color:#090909}.wp-block-button__link{background:var(--vm-rose);color:#050505;border-radius:0}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--vm-charcoal);border:1px solid var(--vm-line);padding:1rem}.woocommerce div.product .button,.woocommerce a.button,.woocommerce button.button{background:var(--vm-rose);color:#050505;border-radius:0}.alignwide{max-width:var(--vm-max);margin-inline:auto}@media(max-width:900px){.mobile-menu-toggle{display:inline-flex}.main-nav{display:none;position:absolute;inset:76px 0 auto 0;background:#050505;border-bottom:1px solid var(--vm-line);padding:1.2rem 20px;flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.split,.footer-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:78vh}}@media(max-width:560px){.container{width:min(100% - 28px,var(--vm-max))}.nav-wrap{height:66px}.hero{min-height:calc(100vh - 66px)}.hero h1{font-size:clamp(3rem,17vw,5rem)}.section{padding:64px 0}.card-grid{grid-template-columns:1fr}.main-nav{inset:66px 0 auto 0}.logo{font-size:1.1rem}.logo span{font-size:.45rem}.btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.btn{transition:none}}
