@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Cormorant Garamond',Georgia,serif;color:#000;background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.sans{font-family:'Inter',sans-serif}

/* Header */
.site-header{width:100%;z-index:50;background:linear-gradient(to bottom,rgba(255,255,255,.85) 0%,rgba(255,255,255,.55) 60%,rgba(255,255,255,0) 100%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.site-header.overlay{position:absolute;top:0;left:0}
.site-header .nav a{color:#1a1a1a}
.site-header .nav a:hover{color:#000}
.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;gap:1rem;max-width:1280px;margin:0 auto}
.logo img{height:7rem;width:auto}
@media(min-width:768px){.logo img{height:9rem}}
.primary{display:none;gap:2rem;align-items:center}
@media(min-width:768px){.primary{display:flex}}
.primary a{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:#000;transition:color .2s}
.primary a:hover{color:#9b3a3a}
.cart-link{position:relative;display:flex;align-items:center;color:#000}
.cart-badge{position:absolute;top:-8px;right:-10px;width:20px;height:20px;border-radius:9999px;background:#000;color:#fff;font-family:'Inter',sans-serif;font-size:10px;display:flex;align-items:center;justify-content:center}
.menu-toggle{background:none;border:0;color:#000;font-size:1.5rem;cursor:pointer;display:block}
@media(min-width:768px){.menu-toggle{display:none}}
body.menu-open .primary{display:flex;flex-direction:column;align-items:flex-start;position:static;width:100%;background:#fff;padding:1.5rem;gap:1rem;border-top:1px solid #eee}
body.menu-open .has-dropdown .dropdown-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:.25rem 0 .25rem 1rem;min-width:0}
body.menu-open header.site-header{position:relative}
.has-dropdown{position:relative}
.has-dropdown .dropdown-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid #eee;box-shadow:0 12px 32px rgba(0,0,0,.08);min-width:240px;padding:.75rem 0;opacity:0;visibility:hidden;transition:all .25s;z-index:100}
.has-dropdown:hover .dropdown-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.has-dropdown .dropdown-panel a{display:block;padding:.55rem 1.25rem;font-size:.85rem;color:#222;text-transform:none;letter-spacing:.02em;white-space:nowrap}
.has-dropdown .dropdown-panel a:hover{background:#f7f4ef;color:#9b3a3a}

/* Buttons */
.btn{display:inline-block;padding:.85rem 2.5rem;border:1px solid #000;background:#000;color:#fff;font-family:'Inter',sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.3em;transition:all .25s;cursor:pointer}
.btn:hover{background:#fff;color:#000}
.btn-outline{background:transparent;color:#000}
.btn-outline:hover{background:#000;color:#fff}
.btn-sm{padding:.55rem 1.5rem;font-size:.65rem}

/* Hero */
.hero{position:relative;height:88vh;min-height:640px;width:100%;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}
.hero-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding:0 1.5rem 6rem;text-align:center}
.hero-eyebrow{font-family:'Inter',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.4em;color:#fff}
.hero-title{margin:.75rem 0 1rem;font-size:clamp(2.5rem,6vw,4.75rem);font-weight:300;color:#fff;line-height:1.05}
.hero-sub{margin:0 auto 2rem;max-width:560px;font-family:'Inter',sans-serif;color:rgba(255,255,255,.92);padding:0 1rem}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-ctas .btn-outline{color:#fff;border-color:#fff;background:transparent}
.hero-ctas .btn-outline:hover{background:#fff;color:#000}

/* Marquee */
.marquee{overflow:hidden;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#faf7f4;padding:1.1rem 0}
.marquee-track{display:flex;gap:2.5rem;white-space:nowrap;animation:marq 35s linear infinite;font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:#666;padding-left:2.5rem}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Sections */
.section{max-width:1200px;margin:0 auto;padding:6rem 1.5rem;text-align:center}
.kicker{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:#9b3a3a;margin:0 0 .75rem}
.kicker.light{color:#e9c8c8}
.section h2{font-size:2.5rem;font-weight:300;margin:0}
@media(min-width:768px){.section h2{font-size:3rem}}
.section p.lead{margin:.75rem auto 0;max-width:38rem;font-family:'Inter',sans-serif;color:#525252;font-size:.95rem;line-height:1.7}

/* Services grid */
.services-grid{display:grid;gap:2rem;margin-top:3rem;text-align:left}
@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(4,1fr)}}
.service-card img{aspect-ratio:4/5;object-fit:cover;width:100%}
.service-card h3{font-size:1.4rem;font-weight:400;margin:1rem 0 .5rem;font-family:'Cormorant Garamond',serif}
.service-card p{font-family:'Inter',sans-serif;font-size:.85rem;color:#555;margin:0 0 .75rem;line-height:1.6}
.link-arrow{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;border-bottom:1px solid #000;padding-bottom:.2rem;color:#000}

/* Philosophy split */
.philosophy{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;max-width:1300px;margin:4rem auto;padding:0 1.5rem}
@media(min-width:900px){.philosophy{grid-template-columns:1fr 1fr;gap:5rem;padding:0 3rem;margin:6rem auto}}
.philosophy.reverse .phil-img{order:2}
@media(min-width:900px){.philosophy.reverse .phil-img{order:0}}
.phil-img{aspect-ratio:4/5;overflow:hidden}
.phil-img img{width:100%;height:100%;object-fit:cover}
.phil-text h2{font-size:2.5rem;font-weight:300;line-height:1.1;margin:.5rem 0 1.25rem}
@media(min-width:900px){.phil-text h2{font-size:3rem}}
.phil-text p{font-family:'Inter',sans-serif;color:#444;margin:0 0 1.5rem;font-size:.95rem;line-height:1.7}

/* Occasions tile grid */
.occ-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:3rem}
@media(min-width:768px){.occ-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:180px}}
.occ-tile{position:relative;overflow:hidden;background:#222;color:#fff;display:flex;align-items:flex-end;padding:1.25rem;min-height:180px;background-size:cover;background-position:center;transition:transform .5s}
.occ-tile span{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-size:1.4rem;letter-spacing:.05em;color:#fff}
.occ-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,.1) 60%);z-index:1;transition:background .3s}
.occ-tile:hover::before{background:linear-gradient(to top,rgba(155,58,58,.75),rgba(0,0,0,.2) 60%)}
.occ-1{background-image:url('img/p-tropical-carnival.png')}
.occ-2{background-image:url('img/h-bridal-coral.png')}
.occ-3{background-image:url('img/p-velvet-romance.png')}
.occ-4{background-image:url('img/b66-roseslilies.jpg')}
.occ-5{background-image:url('img/h-pink-bouquet.png')}
.occ-6{background-image:url('img/b66-velvet.jpg')}
.occ-7{background-image:url('img/p-sunshine-greenery.png')}
.occ-8{background-image:url('img/p-roses-round-box.png')}
@media(min-width:768px){.occ-2{grid-column:span 2;grid-row:span 2}.occ-7{grid-column:span 2}}

/* Product grid */
.product-grid{display:grid;gap:2rem;margin-top:3rem}
@media(min-width:640px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}
.product-grid.cols-4{grid-template-columns:repeat(2,1fr)}
@media(min-width:1024px){.product-grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.product-card{display:block;cursor:pointer;text-align:center}
.product-card .img{aspect-ratio:1;background:#f5f5f5;overflow:hidden;position:relative}
.product-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.product-card:hover .img img{transform:scale(1.05)}
.product-card h3{margin:1rem 0 .25rem;font-size:1.25rem;font-weight:400}
.product-card .price{font-family:'Inter',sans-serif;font-size:.9rem;color:#000}
.badge-sale{position:absolute;top:12px;left:12px;background:#9b3a3a;color:#fff;font-family:'Inter',sans-serif;font-size:.62rem;letter-spacing:.18em;padding:.3rem .6rem;text-transform:uppercase;z-index:2}
.strike{text-decoration:line-through;color:#999;margin-right:.5rem}
.sale-color{color:#9b3a3a}

/* Occasion pills (shop) */
.occ-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:2rem auto 0;max-width:900px}
.occ-pill{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.55rem 1.1rem;border:1px solid #ddd;color:#555;border-radius:999px;transition:all .2s}
.occ-pill:hover{border-color:#000;color:#000}
.occ-pill.active{background:#1a1212;color:#fff;border-color:#1a1212}

/* Product detail */
.product-page{display:grid;gap:3rem;padding:9rem 1.5rem 4rem;max-width:1200px;margin:0 auto;grid-template-columns:1fr}
@media(min-width:768px){.product-page{grid-template-columns:1fr 1fr;padding-top:10rem}}
.product-page .img{aspect-ratio:1;background:#f5f5f5;overflow:hidden}
.product-info h1{font-size:2.5rem;font-weight:300;margin:0 0 1rem}
.product-info .kicker{margin:0 0 .5rem}
.product-info .price-large{font-family:'Inter',sans-serif;font-size:1.25rem;margin:1rem 0}
.product-info p.desc{font-family:'Inter',sans-serif;color:#525252;margin:1.5rem 0;line-height:1.8}

/* Why band */
.why-band{background:#1a1212;color:#fff;padding:5rem 1.5rem;margin-top:5rem}
.why-inner{max-width:1200px;margin:0 auto;text-align:center}
.why-inner h2.light{color:#fff;font-size:2.5rem;margin:0 0 3rem;font-weight:300}
.why-grid{display:grid;gap:2rem;text-align:center}
@media(min-width:768px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why-grid > div{padding:1.5rem;border-top:1px solid rgba(255,255,255,.2)}
.why-grid h4{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;margin:0 0 .5rem;color:#e9c8c8}
.why-grid p{font-family:'Inter',sans-serif;font-size:.85rem;color:#ccc;margin:0;line-height:1.6}

/* CTA band */
.cta-band{background:#faf7f4;padding:5rem 1.5rem;text-align:center}
.cta-inner h2{font-size:2.5rem;font-weight:300;margin:0 0 1rem}
.cta-inner p{font-family:'Inter',sans-serif;color:#555;margin:0 0 2rem}

/* Page hero (about) */
.page-hero{position:relative;height:60vh;min-height:420px;overflow:hidden}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.55))}
.page-hero-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 1.5rem 4rem;z-index:2;color:#fff;max-width:1200px;margin:0 auto;left:0;right:0}
.page-hero-text h1{font-size:3rem;font-weight:300;margin:.5rem 0 0;color:#fff}
@media(min-width:768px){.page-hero-text h1{font-size:4.5rem}}

/* About intro */
.intro{padding-top:4rem;padding-bottom:2rem;text-align:center}
.lead-lg{font-family:'Cormorant Garamond',serif;font-size:1.6rem;line-height:1.5;color:#222;max-width:48rem;margin:0 auto;font-weight:300}
.exp-grid{display:grid;gap:1rem;margin-top:3rem;text-align:left}
@media(min-width:640px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.exp-grid{grid-template-columns:repeat(4,1fr)}}
.exp-card{padding:2rem 1.5rem;background:#faf7f4;border-top:2px solid #9b3a3a}
.exp-card h4{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;margin:0 0 .5rem}
.exp-card p{font-family:'Inter',sans-serif;font-size:.85rem;color:#555;margin:0;line-height:1.6}
.closing{margin:3rem auto 0;max-width:42rem;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:#444}

/* Generic pages, cart, checkout */
.page-wrap{max-width:1000px;margin:0 auto;padding:9rem 1.5rem 4rem}
.page-wrap h1{font-size:2.5rem;font-weight:300;margin:0 0 1rem}
.cart-table{width:100%;border-collapse:collapse;font-family:'Inter',sans-serif;font-size:.9rem;margin-top:1rem}
.cart-table th,.cart-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}
.cart-table img{width:80px;height:80px;object-fit:cover}
.cart-table input[type=number]{width:60px;padding:.4rem;border:1px solid #ccc;text-align:center}
.cart-totals{margin-top:2rem;text-align:right;font-family:'Inter',sans-serif}
.cart-totals .total{font-size:1.5rem;margin:1rem 0}
.form-grid{display:grid;gap:1rem}
@media(min-width:640px){.form-grid.two{grid-template-columns:1fr 1fr}}
.form-grid label{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:#525252;display:block;margin-bottom:.4rem}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:.7rem;border:1px solid #000;font-family:'Inter',sans-serif;background:#fff;font-size:.95rem}
.notice{font-family:'Inter',sans-serif;font-size:.85rem;color:#525252;background:#fafafa;padding:1rem;margin:1rem 0;border-left:3px solid #9b3a3a}
.empty{text-align:center;padding:4rem 1rem;color:#888;font-family:'Inter',sans-serif}

/* Footer */
.site-footer{border-top:1px solid #e5e5e5;background:#fff;padding:3rem 1.5rem;color:#000;font-family:'Inter',sans-serif}
.footer-grid{display:grid;gap:2.5rem;max-width:1280px;margin:0 auto}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-logo{height:5rem;width:auto;margin-bottom:1rem}
.footer-grid h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;margin:0 0 .75rem}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{font-size:.85rem;color:#444;margin:.4rem 0}
.footer-grid li a:hover{color:#9b3a3a}
.footer-grid p{font-size:.85rem;color:#525252;margin-top:1rem;line-height:1.6}
.footer-bottom{max-width:1280px;margin:2.5rem auto 0;border-top:1px solid #e5e5e5;padding-top:1.5rem;text-align:center;font-size:.72rem;color:#888}
.footer-bottom a{color:#888;margin:0 .5rem}
.footer-bottom a:hover{color:#000}

/* Admin nav */
.admin-nav{background:#0d0d0d;color:#fff;padding:14px 24px;display:flex;gap:24px;align-items:center;font-family:'Inter',sans-serif;font-size:13px}
.admin-nav a{color:#fff}
.admin-nav .spacer{flex:1}
.admin-table{width:100%;border-collapse:collapse;background:#fff;font-family:'Inter',sans-serif;font-size:13px;margin-top:16px}
.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:middle}
.admin-table th{background:#fafafa;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.1em}
.admin-table img{width:50px;height:50px;object-fit:cover}
.btn-danger{background:#9b3a3a;border-color:#9b3a3a}
.alert{padding:14px 18px;background:#dcfce7;border-left:4px solid #16a34a;margin-bottom:16px;font-family:'Inter',sans-serif;font-size:14px}
.alert-error{background:#fee2e2;border-left-color:#9b3a3a}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px;color:#404040}
.field input,.field textarea,.field select{width:100%;padding:14px;border:1px solid #ddd;font-family:'Inter',sans-serif;font-size:14px;background:#fff}
.row{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.row{grid-template-columns:1fr 1fr}}
.box{max-width:880px;margin:0 auto;padding:8rem 1.5rem 4rem}
.box h1{font-size:2.5rem;font-weight:300;margin-bottom:1.5rem}
