/*
Theme Name: Elani Rose Luxe
Theme URI: https://elanirose.mjguest.com/
Author: MJ Guest
Description: A refined blush, rose, champagne-gold WooCommerce boutique theme for Elani Rose, based on the approved storefront mockup.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: elani-rose-luxe
License: GPL-2.0-or-later
*/

:root{
  --er-burgundy:#aa3740;
  --er-burgundy-dark:#84303a;
  --er-rose:#cf7f82;
  --er-blush:#f8e7e5;
  --er-blush-2:#fff5f2;
  --er-gold:#d5a554;
  --er-sage:#8d927c;
  --er-ink:#493d3d;
  --er-muted:#776b69;
  --er-border:#ead8d4;
  --er-cream:#fffaf7;
  --er-white:#fff;
  --er-max:1280px;
  --er-radius:14px;
  --er-shadow:0 12px 32px rgba(106,60,58,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#fff;color:var(--er-ink);
  font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 40px),var(--er-max));margin:auto}
.er-serif,h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;font-weight:400}
h1,h2,h3,h4{color:var(--er-burgundy-dark);line-height:1.15;margin:0 0 14px}
h1{font-size:clamp(42px,5vw,70px)}
h2{font-size:clamp(28px,3.6vw,44px)}
h3{font-size:24px}
p{margin:0 0 16px}
.er-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--er-gold);font-weight:700}
.er-section-title{text-align:center;margin-bottom:36px}
.er-section-title h2{font-size:34px;letter-spacing:.03em}
.er-divider{width:95px;height:1px;background:var(--er-gold);margin:16px auto 0;position:relative}
.er-divider:after{content:"♥";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);background:#fff;color:var(--er-gold);padding:0 8px;font-size:12px}
.er-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 24px;border-radius:2px;
  background:var(--er-burgundy);color:#fff;border:1px solid var(--er-burgundy);
  text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;
}
.er-btn:hover{background:var(--er-burgundy-dark);color:#fff}
.er-btn-outline{background:#fff;color:var(--er-burgundy);border-color:var(--er-burgundy)}
.er-btn-outline:hover{background:var(--er-burgundy);color:#fff}

/* Header */
.er-topbar{background:var(--er-burgundy);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.er-topbar .container{display:flex;justify-content:center;align-items:center;min-height:34px;position:relative}
.er-social{position:absolute;right:0;display:flex;gap:12px;font-size:12px}
.site-header{background:#fff;border-bottom:1px solid #f1e4e1;position:sticky;top:0;z-index:100}
.er-header{min-height:112px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:28px}
.er-logo img{width:160px;max-height:100px;object-fit:contain}
.main-navigation ul{display:flex;justify-content:center;gap:23px;list-style:none;margin:0;padding:0;align-items:center}
.main-navigation a{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:#443b3b;padding:8px 0}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--er-burgundy);border-bottom:1px solid var(--er-burgundy)}
.er-actions{display:flex;gap:17px;align-items:center;font-size:19px}
.er-actions a{position:relative}
.er-cart-count{position:absolute;right:-8px;top:-8px;min-width:16px;height:16px;padding:0 3px;border-radius:20px;background:var(--er-burgundy);color:#fff;font-size:9px;display:grid;place-items:center}
.er-menu-toggle{display:none;background:transparent;border:0;font-size:24px;color:var(--er-burgundy)}

/* Hero */
.er-hero{background:linear-gradient(90deg,#fae6e3 0%,#fff0ec 46%,#fff 100%)}
.er-hero-grid{display:grid;grid-template-columns:42% 58%;min-height:520px;align-items:center}
.er-hero-copy{padding:60px 40px 60px 55px}
.er-hero-copy h1{font-size:clamp(42px,5.1vw,68px);max-width:560px}
.er-hero-copy p{max-width:430px;color:#695d5b;font-size:16px}
.er-hero-art{height:100%;min-height:520px;background:url("assets/images/new-arrivals.png") center/cover no-repeat}

/* Trust */
.er-trust{background:#fff;padding:12px 0}
.er-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fffafa;border:1px solid #f1e2df}
.er-trust-item{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:17px 22px}
.er-trust-icon{font-size:23px;color:var(--er-rose)}
.er-trust-item strong{display:block;color:var(--er-burgundy);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.er-trust-item span{display:block;color:var(--er-muted);font-size:11px}

/* Sections */
.er-section{padding:64px 0}
.er-categories-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.er-category-card{background:#fff;border:1px solid var(--er-border);overflow:hidden}
.er-category-media{aspect-ratio:4/5;background:linear-gradient(145deg,#f1d8d5,#fff5f2);display:grid;place-items:center;overflow:hidden}
.er-category-media img{width:100%;height:100%;object-fit:cover}
.er-category-info{text-align:center;padding:13px 8px 14px}
.er-category-info h3{font-size:17px;margin:0 0 3px;text-transform:uppercase;letter-spacing:.02em}
.er-category-info span{font-size:11px;color:var(--er-burgundy)}

.er-new{background:#fff}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;margin:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:1px solid var(--er-border);background:#fff;padding:0 0 13px!important;position:relative}
.woocommerce ul.products li.product a img{margin:0!important;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--er-blush-2)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,serif;font-size:15px!important;color:var(--er-ink);padding:11px 11px 0!important}
.woocommerce ul.products li.product .price{font-size:13px!important;color:var(--er-burgundy)!important;padding:0 11px;font-weight:700}
.woocommerce ul.products li.product .button{margin:9px 11px 0!important;background:var(--er-burgundy)!important;color:#fff!important;border-radius:2px!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px!important}
.woocommerce span.onsale{background:var(--er-burgundy)!important;border-radius:0!important;min-height:auto!important;min-width:auto!important;line-height:1!important;padding:5px 7px!important;top:8px!important;left:8px!important;font-size:9px!important}

.er-occasion{background:linear-gradient(180deg,#fff,#fff7f5)}
.er-occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.er-occasion-card{border:1px solid var(--er-border);background:#fff;overflow:hidden}
.er-occasion-image{aspect-ratio:4/3;background:linear-gradient(145deg,#f3d8d4,#faf4ee)}
.er-occasion-copy{text-align:center;padding:15px}
.er-occasion-copy h3{font-size:17px;text-transform:uppercase;margin:0 0 4px}

.er-story{background:linear-gradient(90deg,#fae9e5,#fff5f0)}
.er-story-grid{display:grid;grid-template-columns:34% 34% 32%;min-height:350px}
.er-story-copy{padding:48px 32px}
.er-story-copy h2{font-size:31px}
.er-story-visual{background:radial-gradient(circle at 50% 30%,#fff 0%,#f2cfca 60%,#eec8c4 100%);display:grid;place-items:end center;overflow:hidden}
.er-story-visual img{max-height:330px;width:auto;object-fit:contain}
.er-story-values{padding:45px 28px;display:flex;flex-direction:column;justify-content:center;gap:26px;background:rgba(255,255,255,.4)}
.er-value{display:grid;grid-template-columns:44px 1fr;gap:14px}
.er-value-icon{font-size:29px;color:var(--er-gold)}
.er-value strong{display:block;font-family:Georgia,serif;color:var(--er-burgundy-dark);font-size:17px}
.er-value span{font-size:12px;color:var(--er-muted)}

.er-newsletter{padding:25px 0;border-top:1px solid var(--er-border);border-bottom:1px solid var(--er-border)}
.er-news-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.er-news-copy h3{font-size:20px;margin:0;text-transform:uppercase;letter-spacing:.04em}
.er-news-copy p{font-size:12px;color:var(--er-muted);margin:4px 0 0}
.er-news-form{display:flex}
.er-news-form input{flex:1;min-height:43px;border:1px solid #d8b7b3;padding:0 15px;outline:0}
.er-news-form button{min-width:150px;border:0}

/* Footer */
.site-footer{background:#fff9f7;padding:36px 0 18px}
.er-footer-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:28px}
.er-footer-logo img{width:160px;margin-bottom:14px}
.er-footer-title{font-size:12px;text-transform:uppercase;color:var(--er-ink);font-weight:700;margin-bottom:10px}
.er-footer ul{list-style:none;margin:0;padding:0}
.er-footer li{margin:5px 0;font-size:11px;color:#5f5453}
.er-footer p{font-size:11px;color:#5f5453}
.er-footer-social{display:flex;gap:8px;margin-top:14px}
.er-footer-social span{width:26px;height:26px;border:1px solid #948986;border-radius:50%;display:grid;place-items:center;font-size:10px}
.er-footer-bottom{border-top:1px solid #decfcb;margin-top:28px;padding-top:14px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#776b69}
.er-legal{display:flex;gap:18px}

/* Shop pages */
.er-page-hero{background:linear-gradient(120deg,#fae6e3,#fff7f5);padding:55px 0;text-align:center;border-bottom:1px solid var(--er-border)}
.er-content{padding:55px 0}
.woocommerce .woocommerce-breadcrumb{font-size:11px;color:var(--er-muted);margin-bottom:20px}
.woocommerce div.product .product_title{font-family:Georgia,serif;color:var(--er-burgundy-dark);font-size:38px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--er-burgundy)!important}
.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
 background:var(--er-burgundy)!important;color:#fff!important;border-radius:2px!important;text-transform:uppercase;letter-spacing:.06em;font-size:11px!important
}
.woocommerce div.product div.images img{border:1px solid var(--er-border)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--er-burgundy)!important}
.woocommerce-message:before,.woocommerce-info:before{color:var(--er-burgundy)!important}

/* Responsive */
@media(max-width:1050px){
 .er-header{grid-template-columns:150px 1fr auto}
 .main-navigation ul{gap:13px}
 .er-categories-grid{grid-template-columns:repeat(3,1fr)}
 .er-story-grid{grid-template-columns:1fr 1fr}
 .er-story-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
 .er-menu-toggle{display:block}
 .er-header{grid-template-columns:auto 1fr auto;min-height:82px}
 .er-logo img{width:130px}
 .main-navigation{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--er-border);padding:18px}
 .main-navigation.is-open{display:block}
 .main-navigation ul{flex-direction:column;gap:8px}
 .er-hero-grid{grid-template-columns:1fr}
 .er-hero-copy{text-align:center;padding:45px 25px}
 .er-hero-copy p{margin-left:auto;margin-right:auto}
 .er-hero-art{min-height:330px}
 .er-trust-grid{grid-template-columns:repeat(2,1fr)}
 .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
 .er-occasion-grid{grid-template-columns:repeat(2,1fr)}
 .er-footer-grid{grid-template-columns:repeat(2,1fr)}
 .er-news-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .container{width:min(calc(100% - 24px),var(--er-max))}
 .er-social{display:none}
 .er-actions .hide-mobile{display:none}
 .er-categories-grid,.er-occasion-grid,.er-footer-grid,.er-story-grid,.er-story-values{grid-template-columns:1fr}
 .er-story-values{display:flex}
 .er-trust-grid{grid-template-columns:1fr}
 .er-news-form{flex-direction:column}
 .er-news-form button{min-height:44px}
 .woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:10px}
 .er-footer-bottom{flex-direction:column}
}
