@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Karla:ital,wght@0,400;0,500;0,600;0,700&display=swap');

:root {
  --primary: #2f2f3a;
  --secondary: #4a4a55;
  --accent: #c06c84;
  --bg: #faf8fa;
  --bg-light: #f3eef1;
  --bg-alt: #e8dfe4;
  --text: #2c2a30;
  --text-light: #5c5660;
  --border: #ddd5dc;
  --success: #2e7d32;
  --error: #c62828;
  --shadow: 0 2px 20px rgba(0,0,0,.06);
  --radius: 4px;
  --transition: all .3s ease;
  --font-heading: 'Lora', Georgia, serif;
  --font-body: 'Karla', system-ui, sans-serif;
}

/* ====== RESET ====== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2}

.container{max-width:1200px;margin:0 auto;padding:0 40px}
.section{padding:56px 0}
@media(max-width:768px){.container{padding:0 16px}.section{padding:32px 0}}

/* ====== BUTTONS ====== */
.btn{display:inline-block;padding:14px 32px;font-size:.88rem;font-weight:600;border-radius:var(--radius);transition:var(--transition);text-align:center;border:none;cursor:pointer;letter-spacing:.02em}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--accent);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-block{display:block;width:100%}
.btn-tru-pill{border-radius:999px;padding:14px 36px}
.btn-tru-ghost{border-radius:999px;border-color:var(--text);color:var(--text)}
.btn-tru-ghost:hover{background:var(--text);color:#fff}
.btn-tru-outline{border:1.5px solid rgba(255,255,255,.4);color:#fff;background:transparent;border-radius:999px}
.btn-tru-outline:hover{background:rgba(255,255,255,.12)}

/* ====== ANNOUNCEMENT BAR ====== */
.announcement-bar{background:linear-gradient(92deg,#141824 0%,#252a3a 42%,#141824 100%);color:rgba(255,255,255,.92);text-align:center;padding:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--accent)}
.ann-tru-inner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;flex-wrap:wrap}
.ann-tru-line{white-space:nowrap}
.ann-tru-dot{opacity:.4}
.ann-tru-mail{color:rgba(255,255,255,.7);text-decoration:underline}
.ann-tru-mail:hover{color:#fff}

/* ====== HEADER ====== */
.site-chrome{position:sticky;top:0;z-index:1000;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.site-header{background:#fff;border-bottom:1px solid var(--border)}

.header-tru-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--font-heading);font-size:1.65rem;font-weight:700;color:var(--primary);white-space:nowrap}
.logo span{color:var(--accent)}

/* ====== NAV — Desktop: inline, Mobile: drawer ====== */
#main-nav{display:none}

.header-tru-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-tru-cart{position:relative;font-size:1.1rem;color:var(--text)}
.cart-count{position:absolute;top:-6px;right:-10px;background:var(--accent);color:#fff;font-size:.6rem;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}
.mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:1.3rem;color:var(--text);padding:4px}

/* Desktop nav (769px+) */
@media(min-width:769px){
  .header-tru-inner{padding:14px 24px 16px;gap:28px;justify-content:flex-start}
  #main-nav{display:flex;flex:1;justify-content:flex-start;position:static}
  #main-nav ul{display:flex;gap:6px;flex-wrap:wrap}
  #main-nav a{padding:6px 2px 4px;margin-right:10px;font-size:.88rem;font-weight:500;color:var(--text-light);border-bottom:2px solid transparent;transition:var(--transition)}
  #main-nav a:hover{color:var(--primary);border-bottom-color:var(--border)}
  #main-nav a.active{color:var(--primary);border-bottom-color:var(--accent)}
  .mobile-menu-btn{display:none}
  .mobile-nav-close{display:none}
  .mobile-nav-overlay{display:none}
}

/* Mobile nav drawer (768px-) */
@media(max-width:768px){
  #main-nav{display:flex;flex-direction:column;position:fixed;top:0;right:-300px;width:280px;height:100vh;background:#fff;z-index:2000;box-shadow:-4px 0 30px rgba(0,0,0,.15);transition:right .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:0}
  #main-nav.active{right:0}
  #main-nav ul{flex-direction:column;gap:0;padding:60px 0 20px}
  #main-nav ul li{border-bottom:1px solid var(--border)}
  #main-nav a{display:block;padding:16px 24px;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}
  #main-nav a:hover,#main-nav a.active{background:var(--bg-light);color:var(--accent)}
  .mobile-nav-close{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;width:40px;height:40px;background:none;border:none;font-size:1.2rem;color:var(--text);z-index:10}
  .mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1999;opacity:0;transition:opacity .3s}
  .mobile-nav-overlay.active{display:block;opacity:1}
}

/* Checkout header */
.header-tru--checkout .header-tru-inner{justify-content:space-between}
.checkout-header-right{display:flex;align-items:center;gap:20px}
.back-to-cart{font-size:.88rem;color:var(--text);display:flex;align-items:center;gap:6px}
.back-to-cart:hover{color:var(--accent)}
.secure-badge{font-size:.82rem;color:var(--text-light);display:flex;align-items:center;gap:6px}
@media(max-width:768px){
  .checkout-header-right{gap:12px}
  .back-to-cart span,.secure-badge span{display:none}
}

/* ====== HERO ====== */
.hero{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;background:var(--bg);height:420px;overflow:hidden}
.hero-img-wrap{grid-column:1;grid-row:1;overflow:hidden}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.hero-content{grid-column:1;grid-row:1;align-self:end;justify-self:start;max-width:480px;margin:0 0 40px 48px;padding:32px 36px;background:rgba(255,255,255,.95);border-left:4px solid var(--accent);box-shadow:0 4px 30px rgba(0,0,0,.1);z-index:2}
.hero-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:block}
.hero h1{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15;margin-bottom:14px;color:var(--primary)}
.hero p{font-size:.95rem;color:var(--text-light);line-height:1.7;margin-bottom:24px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-cta .btn{min-width:130px}

@media(max-width:768px){
  .hero{display:block}
  .hero-img-wrap img{min-height:280px;max-height:50vh}
  .hero-content{max-width:none;margin:0;padding:28px 24px 36px;border-left:none;box-shadow:none;background:var(--bg)}
  .hero-cta .btn{width:100%}
  .ann-tru-inner{flex-direction:column;gap:4px;text-align:center}
  .ann-tru-dot{display:none}
}

/* ====== SECTIONS ====== */
.section-header{margin-bottom:40px}
.section-tag{font-family:var(--font-body);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:10px}
.section-header h2{font-size:2rem;margin-bottom:10px}
.section-header p{color:var(--text-light);font-size:.95rem}

/* ====== CATEGORIES ====== */
.section-categories{background:var(--bg-light)}
.categories-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}
.category-card{position:relative;border-radius:8px;overflow:hidden;height:360px;display:block;box-shadow:0 2px 16px rgba(0,0,0,.08)}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.category-card:hover img{transform:scale(1.06)}
.category-card .overlay{position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.55))}
.category-content{position:absolute;bottom:28px;left:28px;color:#fff}
.category-content h3{font-size:1.5rem;margin-bottom:8px;font-weight:700}
.shop-link{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;display:inline-flex;align-items:center;gap:6px;transition:gap .3s}
.category-card:hover .shop-link{gap:10px}
@media(max-width:900px){.categories-grid{grid-template-columns:1fr}.category-card{height:260px}}

/* ====== PRODUCT GRID ====== */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.product-card{position:relative;cursor:pointer}
.product-image{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/4;background:var(--bg-light)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product-card:hover .product-image img{transform:scale(1.05)}
.badge{position:absolute;top:10px;left:10px;background:var(--primary);color:#fff;padding:4px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius);z-index:2}
.badge.sale{background:var(--accent)}
.quick-add{position:absolute;bottom:-40px;left:0;right:0;background:var(--primary);color:#fff;border:none;padding:12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;transition:bottom .3s;z-index:2}
.product-card:hover .quick-add{bottom:0}
.product-info{padding:14px 4px 0}
.product-info h3{font-size:.92rem;font-weight:500;margin-bottom:6px}
.product-info h3 a:hover{color:var(--accent)}
.price{font-size:.95rem;font-weight:600;color:var(--primary)}
.price .original{text-decoration:line-through;opacity:.55;font-weight:400;margin-left:6px;font-size:.88rem}
@media(max-width:768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:480px){.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.product-info h3{font-size:.82rem}}

/* ====== PAGE BANNER ====== */
.page-banner{background:var(--bg-light);padding:40px 0;text-align:center}
.page-banner h1{font-size:2rem;margin-bottom:8px}
.breadcrumb{font-size:.85rem;color:var(--text-light)}
.breadcrumb a{color:var(--text-light)}
.breadcrumb a:hover{color:var(--accent)}

/* ====== SHOP PAGE ====== */
.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:40px;padding:40px 0}
.shop-sidebar h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;color:var(--primary)}
.filter-group{margin-bottom:30px}
.shop-sidebar label{display:flex;align-items:center;gap:8px;font-size:.88rem;margin-bottom:8px;cursor:pointer}
.shop-sidebar input[type="checkbox"]{accent-color:var(--accent)}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.shop-toolbar select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;background:#fff}
.result-count{font-size:.85rem;color:var(--text-light)}
.shop-layout--top-filter{display:block}
.shop-layout--top-filter .shop-sidebar{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:24px;background:var(--bg-light);border:1px solid var(--border)}
.shop-layout--top-filter .filter-group{margin-bottom:0;flex:1;min-width:180px}
.shop-layout--top-filter .filter-group h3{margin-bottom:10px;font-size:.9rem}
.shop-layout--top-filter .filter-group label{display:inline-flex;margin-right:14px;margin-bottom:8px}
@media(max-width:768px){
  .shop-layout{grid-template-columns:1fr;gap:20px}
  .shop-sidebar{display:none}
  .shop-layout--top-filter .shop-sidebar{display:none}
}

/* ====== PRODUCT DETAIL ====== */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px 0}
.product-gallery .main-image{border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.product-gallery .main-image img{width:100%;aspect-ratio:3/4;object-fit:cover}
.thumbnails{display:flex;gap:10px;margin-top:10px}
.thumbnails img{width:80px;height:100px;object-fit:cover;border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .2s}
.thumbnails img:hover,.thumbnails img.active{border-color:var(--accent)}
.product-details h1{font-size:2rem;margin-bottom:12px}
.price-display{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:var(--primary)}
.price-display .price{font-size:1.2rem}
.description{color:var(--text-light);line-height:1.7;margin-bottom:24px}
.size-selector{margin-bottom:20px}
.size-selector label,.quantity-selector label{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:8px;font-weight:600}
.size-options{display:flex;gap:8px;flex-wrap:wrap}
.size-options button{padding:10px 18px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;font-size:.85rem;transition:var(--transition)}
.size-options button:hover,.size-options button.active{border-color:var(--primary);background:var(--primary);color:#fff}
.quantity-selector{margin-bottom:24px}
.quantity-selector label{margin-bottom:8px}
.qty-controls{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.qty-controls button{width:40px;height:40px;border:none;background:var(--bg-light);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.qty-controls button:hover{background:var(--border)}
.qty-controls input{width:50px;height:40px;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);font-size:.95rem;font-family:inherit;background:#fff}
.add-to-cart-section{margin-bottom:20px}
.product-meta{padding-top:20px;border-top:1px solid var(--border);font-size:.88rem;color:var(--text-light)}
.product-meta p{margin-bottom:6px}
@media(min-width:992px){
  .product-detail--sticky .product-gallery{display:flex;flex-direction:row-reverse;gap:20px}
  .product-detail--sticky .main-image{flex:1}
  .product-detail--sticky .thumbnails{flex-direction:column;width:80px;margin-top:0}
  .product-detail--sticky .product-details{position:sticky;top:120px}
}
@media(max-width:768px){.product-detail{grid-template-columns:1fr;gap:24px}}

/* ====== CART ====== */
.cart-page{padding:40px 0}
.cart-content{padding:0 24px}
.cart-table{width:100%;border-collapse:collapse}
.cart-table thead th{font-family:var(--font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;padding:12px 0;border-bottom:2px solid var(--primary);text-align:left;font-weight:600}
.cart-table td{padding:20px 8px;border-bottom:1px solid var(--border);vertical-align:middle}
.cart-item-info{display:flex;align-items:center;gap:16px}
.cart-item-info img{width:100px;height:120px;object-fit:cover;border-radius:var(--radius);flex-shrink:0}
.cart-item-info h4{font-family:var(--font-body);font-size:.95rem;font-weight:500;margin-bottom:4px}
.cart-item-info .variant{font-size:.82rem;color:var(--text-light)}
.cart-qty{display:flex;align-items:center}
.cart-qty button{width:32px;height:32px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center}
.cart-qty input{width:40px;height:32px;text-align:center;border:1px solid var(--border);border-left:none;border-right:none;font-size:.88rem}
.remove-btn{background:none;border:none;color:var(--text-light);font-size:.82rem;transition:color .2s}
.remove-btn:hover{color:var(--error)}
.cart-price-cell{font-weight:600;white-space:nowrap;font-size:.95rem;min-width:80px}
.cart-total-cell{font-weight:700;white-space:nowrap;font-size:.95rem;min-width:80px}
.cart-qty-cell{white-space:nowrap;min-width:120px}
.cart-qty-cell .qty-controls{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.cart-qty-btn{width:36px;height:36px;border:none;background:var(--bg-light);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.cart-qty-btn:hover{background:var(--border)}
.cart-qty-val{width:44px;height:36px;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);font-size:.9rem;font-family:inherit;background:#fff}
.cart-remove-cell{text-align:center;min-width:40px}
.cart-remove-btn{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:.9rem;cursor:pointer;transition:all .2s}
.cart-remove-btn:hover{background:var(--error);color:#fff}
.cart-summary{max-width:400px;margin-left:auto;margin-top:30px;padding:24px;background:var(--bg-light);border-radius:var(--radius)}
.cart-summary-row{display:flex;justify-content:space-between;padding:10px 0;font-size:.92rem}
.cart-summary-total{border-top:2px solid var(--primary);margin-top:8px;padding-top:14px;font-size:1.05rem}
@media(max-width:768px){
  .cart-table{display:block}
  .cart-table thead{display:none}
  .cart-table tbody{display:block}
  .cart-table tr{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 16px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center}
  .cart-table td{padding:0;border:none}
  .cart-table td:first-child{grid-column:1/-1}
  .cart-price-cell{display:none}
  .cart-qty-cell{grid-column:1;grid-row:2}
  .cart-total-cell{grid-column:2;grid-row:2;text-align:right}
  .cart-remove-cell{position:absolute;top:20px;right:0}
  .cart-table tr{position:relative;padding-right:40px}
  .cart-item-info img{width:80px;height:100px}
  .cart-summary{max-width:none}
}

/* ====== CHECKOUT ====== */
.checkout-page{padding:40px 24px}
.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:60px}
.checkout-section{margin-bottom:30px}
.checkout-section h3{font-size:1.1rem;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-weight:500}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem;font-family:inherit;background:#fff;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* Order summary — shared styles */
.order-summary-box{background:var(--bg-light);padding:24px;border-radius:var(--radius);border:1px solid var(--border)}
.order-item-row{display:flex;gap:14px;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.order-item-img{position:relative;flex-shrink:0}
.order-item-img img{width:56px;height:56px;object-fit:cover;border-radius:6px}
.order-item-qty{position:absolute;top:-6px;right:-6px;background:var(--primary);color:#fff;width:18px;height:18px;border-radius:50%;font-size:.65rem;display:flex;align-items:center;justify-content:center}
.order-item-detail{flex:1;min-width:0}
.order-item-name{font-size:.86rem;font-weight:600;margin-bottom:2px}
.order-item-variant{font-size:.75rem;color:var(--text-light)}
.order-item-price{font-weight:600;font-size:.88rem;flex-shrink:0}
.order-totals .summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.92rem}
.order-totals .summary-row.total{border-top:2px solid var(--primary);margin-top:8px;padding-top:14px;font-weight:700;font-size:1.05rem}

/* Desktop: sidebar visible, mobile toggle hidden */
.order-summary-sidebar{position:sticky;top:100px;align-self:start}
.checkout-mobile-summary{display:none}
.order-summary-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;cursor:pointer}
.toggle-left{display:flex;align-items:center;gap:10px}
.toggle-total{font-weight:700;font-size:1rem}
.toggle-arrow{transition:transform .3s;font-size:.75rem}
.order-summary-toggle.active .toggle-arrow{transform:rotate(180deg)}
.order-summary-collapsible{display:none;margin-top:16px;margin-bottom:24px}
.order-summary-collapsible.open{display:block}

@media(max-width:768px){
  .checkout-layout{grid-template-columns:1fr;gap:24px}
  .form-row{grid-template-columns:1fr}
  .checkout-mobile-summary{display:block;margin-bottom:24px}
  .order-summary-sidebar{display:none}
}

/* ====== ABOUT ====== */
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:60px 0}
.about-section img{width:100%;height:500px;object-fit:cover;border-radius:var(--radius)}
.about-content .section-tag{margin-bottom:10px}
.about-content h2{font-size:1.8rem;margin-bottom:16px}
.about-content p{color:var(--text-light);line-height:1.7;margin-bottom:14px}
.about-section--centered{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:860px;margin:0 auto;gap:30px}
.about-section--centered img{width:100%;height:auto;order:-1}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.value-item{text-align:center;padding:20px}
.value-item h3{font-size:1.1rem;margin-bottom:10px}
.value-item p{font-size:.9rem;color:var(--text-light);line-height:1.6}
@media(max-width:768px){
  .about-section{grid-template-columns:1fr;gap:30px}
  .about-section img{height:300px}
  .values-grid{grid-template-columns:1fr}
}

/* ====== CONTACT ====== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px 0}
.contact-info-box{margin-bottom:24px;padding:20px;background:var(--bg-light);border-radius:var(--radius)}
.contact-info-box h3{font-size:1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.contact-info-box p{font-size:.9rem;color:var(--text-light);line-height:1.6}
.contact-form form{display:flex;flex-direction:column;gap:0}
.contact-grid--minimal{display:flex;flex-direction:column;max-width:700px;margin:0 auto;gap:40px}
.contact-grid--minimal>div:first-child{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;text-align:center;padding-bottom:30px;border-bottom:1px solid var(--border)}
.contact-grid--minimal .contact-info-box{flex:1;min-width:200px;padding:10px;border:none;background:transparent;margin-bottom:0}
.contact-grid--minimal .contact-info-box:first-child{width:100%;flex:none;margin-bottom:15px}
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr;gap:30px}
  .contact-grid--minimal>div:first-child{flex-direction:column}
}

/* ====== FAQ ====== */
.faq-list{max-width:800px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;background:none;border:none;font-size:1rem;font-weight:500;text-align:left;color:var(--text)}
.faq-question .icon{font-size:1.2rem;transition:transform .3s;color:var(--text-light)}
.faq-item.active .faq-question .icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.active .faq-answer{max-height:300px}
.faq-answer p{padding:0 0 20px;color:var(--text-light);line-height:1.7;font-size:.92rem}

/* ====== FEATURES ====== */
.features{background:var(--bg-light)}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.feature-item .icon{font-size:1.6rem;color:var(--accent);margin-bottom:14px}
.feature-item h4{font-size:.95rem;margin-bottom:6px}
.feature-item p{font-size:.85rem;color:var(--text-light)}
@media(max-width:768px){.features-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.features-grid{grid-template-columns:1fr}}

/* ====== NEWSLETTER ====== */
.newsletter{background:var(--primary);color:#fff;text-align:center;padding:80px 24px}
.newsletter h2{margin-bottom:12px;color:#fff}
.newsletter p{opacity:.8;max-width:500px;margin:0 auto 28px;font-size:.95rem}
.newsletter-form{display:flex;max-width:460px;margin:0 auto;gap:0}
.newsletter-form input{flex:1;padding:14px 18px;border:none;border-radius:var(--radius) 0 0 var(--radius);font-size:.92rem}
.newsletter-form button{padding:14px 28px;background:var(--accent);color:#fff;border:none;border-radius:0 var(--radius) var(--radius) 0;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .2s}
.newsletter-form button:hover{background:#a33e5b}
@media(max-width:480px){.newsletter-form{flex-direction:column;gap:10px}.newsletter-form input,.newsletter-form button{border-radius:var(--radius)}}

/* ====== POLICY PAGES ====== */
.policy-page{max-width:800px;margin:0 auto;padding:40px 24px 60px}
.policy-page h1{font-size:2rem;margin-bottom:12px}
.last-updated{font-size:.85rem;color:var(--text-light);margin-bottom:30px}
.policy-page h2{font-size:1.3rem;margin-top:36px;margin-bottom:14px}
.policy-page h3{font-size:1.1rem;margin-top:24px;margin-bottom:10px}
.policy-page p{color:var(--text-light);line-height:1.7;margin-bottom:14px;font-size:.94rem}
.policy-page ul,.policy-page ol{margin:12px 0 18px 24px;color:var(--text-light)}
.policy-page li{margin-bottom:8px;line-height:1.6;font-size:.92rem}
.policy-page a{color:var(--accent);text-decoration:underline}
.policy-page table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem}
.policy-page th{border-bottom:2px solid var(--primary);padding:12px 8px;text-align:left;font-weight:600}
.policy-page td{border-bottom:1px solid var(--border);padding:12px 8px}

/* ====== FOOTER ====== */
.site-footer{background:linear-gradient(165deg,#121a26 0%,#1a2332 38%,#1e2d3f 100%);color:rgba(255,255,255,.82);margin-top:0}
.footer-jc-strip{background:var(--primary);padding:28px 0}
.footer-jc-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-jc-strip-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);display:block;margin-bottom:4px}
.footer-jc-strip-text p{font-size:.9rem;opacity:.85;margin:0}
.footer-jc-body{padding:50px 0}
.footer-jc-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-jc-logo{font-size:1.4rem;color:#fff;display:inline-block;margin-bottom:16px}
.footer-jc-logo span{color:var(--accent)}
.footer-jc-brand p{font-size:.88rem;line-height:1.65;opacity:.7;margin-bottom:20px}
.footer-jc-col h4{font-family:var(--font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;color:rgba(255,255,255,.5)}
.footer-jc-col ul li{margin-bottom:10px}
.footer-jc-col a{font-size:.88rem;opacity:.7;transition:opacity .2s}
.footer-jc-col a:hover{opacity:1;color:#fff}
.footer-jc-bar{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;text-align:center}
.footer-jc-copy{font-size:.82rem;opacity:.5;margin-bottom:8px}
.footer-jc-legal{font-size:.72rem;opacity:.35;margin-bottom:16px}
.payment-icons{display:flex;justify-content:center;gap:12px;font-size:1.4rem;opacity:.4}
@media(max-width:768px){
  .footer-jc-grid{grid-template-columns:1fr 1fr}
  .footer-jc-strip-inner{flex-direction:column;text-align:center}
}
@media(max-width:480px){.footer-jc-grid{grid-template-columns:1fr}}

/* ====== EMPTY STATE ====== */
.empty-cart{text-align:center;padding:60px 0}
.empty-cart h2{margin-bottom:12px}
.empty-cart p{color:var(--text-light);margin-bottom:24px}

/* ====== aaa 站 — hd06 header + ft05 footer ====== */
.site-chrome--aaa{box-shadow:0 2px 16px rgba(47,47,58,.08)}
@media(min-width:769px){
  .site-chrome--aaa #main-nav{position:static!important;right:auto!important;width:auto!important;height:auto!important;max-height:none!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
  .site-chrome--aaa #main-nav ul.anneita-nav-grid{flex-direction:row}
}
.site-footer.ft05-footer{background:none!important;color:inherit}

/* ====== Hero 分栏版式（hero--split）：左图右文，非叠图卡片 ====== */
.hero.hero--split{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);
  grid-template-rows:auto;
  max-width:1200px;
  margin:0 auto;
  min-height:420px;
  height:auto;
  overflow:visible;
  align-items:stretch;
  gap:0;
  padding:0 40px;
  background:var(--bg);
}
.hero.hero--split .hero-img-wrap{
  grid-column:1;
  grid-row:1;
  border-radius:0 0 48px 0;
  overflow:hidden;
  min-height:400px;
  max-height:min(56vh,560px);
  box-shadow:12px 12px 0 rgba(192,108,132,.12);
}
.hero.hero--split .hero-img-wrap img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
}
.hero.hero--split .hero-content{
  grid-column:2;
  grid-row:1;
  align-self:center;
  justify-self:stretch;
  margin:24px 0 24px 0;
  padding:40px 36px 40px 44px;
  max-width:none;
  background:var(--bg-light);
  border-left:none;
  border-radius:48px 0 0 48px;
  box-shadow:-6px 8px 28px rgba(47,47,58,.07);
  position:relative;
}
.hero.hero--split .hero-content::before{
  content:"";
  position:absolute;
  left:20px;
  top:32px;
  bottom:32px;
  width:3px;
  border-radius:2px;
  background:linear-gradient(180deg,var(--accent),rgba(192,108,132,.2));
}
.hero.hero--split .hero-content .hero-tag,
.hero.hero--split .hero-content h1,
.hero.hero--split .hero-content p,
.hero.hero--split .hero-cta{padding-left:12px}
@media(max-width:768px){
  .hero.hero--split{
    display:block;
    padding:0 16px;
    min-height:0;
  }
  .hero.hero--split .hero-img-wrap{
    border-radius:0 0 28px 28px;
    max-height:46vh;
    min-height:240px;
    margin-bottom:0;
    box-shadow:0 10px 0 rgba(192,108,132,.1);
  }
  .hero.hero--split .hero-img-wrap img{min-height:220px;max-height:46vh}
  .hero.hero--split .hero-content{
    margin:0;
    padding:28px 20px 36px;
    border-radius:0;
    box-shadow:none;
    background:var(--bg);
  }
  .hero.hero--split .hero-content::before{display:none}
  .hero.hero--split .hero-content .hero-tag,
  .hero.hero--split .hero-content h1,
  .hero.hero--split .hero-content p,
  .hero.hero--split .hero-cta{padding-left:0}
  .hero.hero--split .hero-cta .btn{width:100%}
}
