:root {
  --pink: #E8B4B8;
  --blue: #A8C5DA;
  --navy: #1A1A2E;
  --cream: #FAF7F5;
  --dark: #2D2D2D;
  --mid: #6c757d;
  --card-bg: #ffffff;
  --card-border: rgba(232,180,184,0.2);
  --nav-bg: rgba(250,247,245,0.85);
  --font-main: 'Outfit', 'Noto Sans KR', sans-serif;
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.06);
  --shadow-md: 0 8px 32px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.14);
  --radius: 16px;
  --radius-sm: 10px;
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
[data-bs-theme="dark"] {
  --cream: #0f0f1a;
  --card-bg: #1e1e2e;
  --card-border: rgba(232,180,184,0.15);
  --nav-bg: rgba(15,15,26,0.92);
  --dark: #f0f0f0;
  --mid: #a0a0b0;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-main);background:var(--cream);color:var(--dark);transition:var(--transition);line-height:1.6}

/* Announcement Bar */
.announcement-bar{background:linear-gradient(90deg,var(--navy),#2d1b69,var(--navy));color:#fff;font-size:0.8rem;letter-spacing:0.02em}

/* Navbar */
.glass-nav{background:var(--nav-bg)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--card-border);transition:var(--transition);padding:0.75rem 0}
.glass-nav.scrolled{box-shadow:var(--shadow-md)}
.brand-logo{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.brand-kor{font-size:0.75rem;color:var(--pink);font-family:'Noto Sans KR',sans-serif;font-weight:700;letter-spacing:0.1em}
.brand-en{font-size:1.1rem;font-weight:800;color:var(--dark);letter-spacing:-0.02em}
[data-bs-theme="dark"] .brand-en{color:#fff}
.nav-link{color:var(--dark)!important;font-weight:500;font-size:0.9rem;padding:0.5rem 0.75rem!important;border-radius:8px;transition:var(--transition);position:relative}
.nav-link:hover,.nav-link.active{color:var(--pink)!important;background:rgba(232,180,184,0.12)}
.nav-link-sale{color:#e83e4a!important;font-weight:700}
[data-bs-theme="dark"] .nav-link{color:#e0e0e0!important}

/* Buttons */
.btn-korean{background:linear-gradient(135deg,var(--pink),#d4849a);color:#fff;border:none;border-radius:50px;font-weight:600;padding:0.5rem 1.5rem;transition:var(--transition)}
.btn-korean:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,180,184,0.5);color:#fff}
.btn-korean-outline{background:transparent;border:2px solid var(--pink);color:var(--pink);border-radius:50px;font-weight:600;padding:0.45rem 1.4rem;transition:var(--transition)}
.btn-korean-outline:hover{background:var(--pink);color:#fff;transform:translateY(-2px)}
.btn-icon{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--card-border);color:var(--dark);transition:var(--transition);font-size:1rem;position:relative}
.btn-icon:hover{background:var(--pink);color:#fff;border-color:var(--pink);transform:translateY(-2px)}
[data-bs-theme="dark"] .btn-icon{color:#e0e0e0}
.no-caret::after{display:none!important}

/* Badge */
.badge-cart{position:absolute;top:-4px;right:-4px;background:var(--pink);color:#fff;border-radius:50%;width:18px;height:18px;font-size:0.65rem;display:flex;align-items:center;justify-content:center;font-weight:700}

/* Search */
.search-wrapper{position:relative}
.search-bar .form-control{border-radius:50px 0 0 50px;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--dark);font-size:0.875rem;padding:0.45rem 1rem}
.search-bar .btn-search{border-radius:0 50px 50px 0;background:var(--pink);color:#fff;border:none;padding:0.45rem 1rem}
.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1000;display:none;max-height:320px;overflow-y:auto}
.search-suggestions.show{display:block}
.suggestion-item{padding:0.65rem 1rem;cursor:pointer;display:flex;align-items:center;gap:0.75rem;border-bottom:1px solid var(--card-border);font-size:0.875rem;transition:var(--transition)}
.suggestion-item:hover{background:rgba(232,180,184,0.1)}
.suggestion-item img{width:40px;height:40px;object-fit:cover;border-radius:6px}

/* Dropdown */
.dropdown-glass{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;min-width:220px}
.dropdown-item:hover{background:rgba(232,180,184,0.12)!important;color:var(--pink)!important}

/* Hero Slider */
.hero-slider{height:90vh;min-height:500px;overflow:hidden;position:relative}
.hero-slider .swiper{height:100%}
.hero-slide{height:90vh;min-height:500px;background-size:cover;background-position:center;display:flex;align-items:center;position:relative}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,46,0.7) 0%,rgba(26,26,46,0.2) 100%)}
.hero-content{position:relative;z-index:2;color:#fff;max-width:600px}
.hero-tag{display:inline-block;background:var(--pink);color:#fff;padding:0.3rem 1rem;border-radius:50px;font-size:0.8rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:1rem}
.hero-title{font-size:clamp(2.2rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:1rem}
.hero-subtitle{font-size:1.1rem;opacity:0.85;margin-bottom:2rem}
.swiper-pagination-bullet{background:#fff!important;opacity:0.5}
.swiper-pagination-bullet-active{opacity:1!important;background:var(--pink)!important;width:24px!important;border-radius:4px!important}

/* Section Headings */
.section-tag{display:inline-block;background:rgba(232,180,184,0.15);color:var(--pink);border:1px solid rgba(232,180,184,0.3);padding:0.25rem 1rem;border-radius:50px;font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.75rem}
.section-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:0.5rem}
.section-subtitle{color:var(--mid);font-size:0.95rem}

/* Product Cards */
.product-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;transition:var(--transition);position:relative}
.product-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--pink)}
.product-card-img{position:relative;overflow:hidden;padding-top:125%;background:#f5f0ee}
.product-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.product-card:hover .product-card-img img{transform:scale(1.08)}
.product-badge{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-direction:column;gap:4px}
.badge-sale{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;font-size:0.7rem;font-weight:700;padding:0.2rem 0.6rem;border-radius:50px}
.badge-new{background:linear-gradient(135deg,var(--pink),#d4849a);color:#fff;font-size:0.7rem;font-weight:700;padding:0.2rem 0.6rem;border-radius:50px}
.badge-soldout{background:#6c757d;color:#fff;font-size:0.7rem;font-weight:700;padding:0.2rem 0.6rem;border-radius:50px}
.product-actions{position:absolute;bottom:12px;right:12px;z-index:2;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(12px);transition:var(--transition)}
.product-card:hover .product-actions{opacity:1;transform:translateX(0)}
.product-actions .btn-icon{background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}
.product-info{padding:1rem}
.product-name{font-size:0.9rem;font-weight:600;margin-bottom:0.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-name a{color:var(--dark);text-decoration:none}
.product-name a:hover{color:var(--pink)}
.product-price{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.price-sale{font-size:1rem;font-weight:700;color:var(--pink)}
.price-original{font-size:0.85rem;color:var(--mid);text-decoration:line-through}
.price-regular{font-size:1rem;font-weight:700;color:var(--dark)}
.product-rating{font-size:0.75rem;color:var(--mid);margin-top:0.3rem}
.btn-add-cart{width:100%;margin-top:0.75rem;font-size:0.85rem;padding:0.5rem}

/* Category Cards */
.category-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;cursor:pointer;transition:var(--transition)}
.category-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.category-card:hover img{transform:scale(1.06)}
.category-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,46,0.75) 0%,transparent 60%);display:flex;align-items:flex-end;padding:1.25rem}
.category-card-title{color:#fff;font-size:1.1rem;font-weight:700}
.category-card-count{color:rgba(255,255,255,0.7);font-size:0.8rem}

/* Banner Strip */
.promo-banner{background:linear-gradient(135deg,var(--navy),#2d1b69);color:#fff;border-radius:var(--radius);padding:3rem 2rem;position:relative;overflow:hidden}


/* Features Strip */
.feature-item{text-align:center;padding:1.5rem 1rem}
.feature-icon{width:56px;height:56px;border-radius:50%;background:rgba(232,180,184,0.15);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 1rem;color:var(--pink)}

/* Cart */
.cart-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1rem;margin-bottom:0.75rem;transition:var(--transition)}
.cart-item:hover{border-color:var(--pink)}
.cart-item-img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm)}
.qty-control{display:inline-flex;align-items:center;border:1.5px solid var(--card-border);border-radius:50px;overflow:hidden}
.qty-btn{width:34px;height:34px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--dark)}
.qty-btn:hover{background:var(--pink);color:#fff}
.qty-input{width:42px;text-align:center;border:none;background:transparent;font-weight:600;font-size:0.9rem;color:var(--dark)}
.order-summary-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;position:sticky;top:90px}

/* Forms */
.form-control,.form-select{background:var(--card-bg);border:1.5px solid var(--card-border);color:var(--dark);border-radius:var(--radius-sm);padding:0.65rem 1rem;transition:var(--transition)}
.form-control:focus,.form-select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(232,180,184,0.2);background:var(--card-bg);color:var(--dark)}
.form-label{font-weight:500;font-size:0.875rem;margin-bottom:0.4rem;color:var(--dark)}
.auth-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow-md)}

/* Steps */
.checkout-steps{display:flex;align-items:center;gap:0;margin-bottom:2.5rem}
.step{display:flex;align-items:center;gap:0.5rem;flex:1}
.step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;border:2px solid var(--card-border);color:var(--mid);transition:var(--transition)}
.step.active .step-num{background:var(--pink);border-color:var(--pink);color:#fff}
.step.done .step-num{background:#22c55e;border-color:#22c55e;color:#fff}
.step-line{flex:1;height:2px;background:var(--card-border);margin:0 0.5rem}
.step-label{font-size:0.75rem;font-weight:600;color:var(--mid)}
.step.active .step-label{color:var(--pink)}

/* Wishlist */
.wishlist-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}
.wishlist-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.btn-heart{background:transparent;border:none;color:var(--mid);font-size:1.3rem;cursor:pointer;transition:var(--transition);padding:0}
.btn-heart.active,.btn-heart:hover{color:#e83e4a;transform:scale(1.15)}

/* Tabs & Filters */
.filter-pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}
.filter-pill{background:var(--card-bg);border:1.5px solid var(--card-border);color:var(--dark);border-radius:50px;padding:0.4rem 1rem;font-size:0.8rem;font-weight:500;cursor:pointer;transition:var(--transition)}
.filter-pill:hover,.filter-pill.active{background:var(--pink);border-color:var(--pink);color:#fff}
.size-chip{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:2px solid var(--card-border);border-radius:8px;font-size:0.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}
.size-chip:hover,.size-chip.selected{border-color:var(--pink);background:var(--pink);color:#fff}

/* Product Detail */
.product-gallery{display:grid;grid-template-columns:80px 1fr;gap:0.75rem}
.gallery-thumbs{display:flex;flex-direction:column;gap:0.5rem}
.gallery-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--card-border);cursor:pointer;transition:var(--transition)}
.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--pink)}
.gallery-main{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;background:#f5f0ee}
.gallery-main img{width:100%;height:100%;object-fit:cover}

/* Reviews */
.review-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}
.reviewer-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:0.9rem}
.rating-bar{height:8px;border-radius:4px;background:var(--card-border);overflow:hidden}
.rating-bar-fill{height:100%;background:linear-gradient(90deg,var(--pink),#f9c74f);border-radius:4px}

/* Profile / Dashboard */
.profile-sidebar{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;position:sticky;top:90px}
.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;margin:0 auto 1rem}
.profile-nav-link{display:flex;align-items:center;gap:0.75rem;padding:0.65rem 1rem;border-radius:var(--radius-sm);color:var(--dark);text-decoration:none;font-weight:500;font-size:0.9rem;transition:var(--transition);margin-bottom:0.25rem}
.profile-nav-link:hover,.profile-nav-link.active{background:rgba(232,180,184,0.15);color:var(--pink)}
.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.25rem;text-align:center}
.stat-number{font-size:1.8rem;font-weight:800;color:var(--pink)}
.stat-label{font-size:0.8rem;color:var(--mid)}
.order-row{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:1rem;margin-bottom:0.75rem;transition:var(--transition)}
.order-row:hover{border-color:var(--pink)}

/* Footer */
.site-footer{background:var(--navy);color:#e0e0e0}
[data-bs-theme="dark"] .site-footer{background:#0a0a14}
.footer-top{padding:4rem 0 3rem}
.footer-brand{display:flex;flex-direction:column;gap:2px}
.brand-kor-lg{font-size:0.9rem;color:var(--pink);font-family:'Noto Sans KR',sans-serif;font-weight:700;letter-spacing:0.12em}
.brand-en-lg{font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:-0.02em}
.footer-heading{color:#fff;font-weight:700;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1.2rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:0.5rem}
.footer-links a{color:#a0a0b8;text-decoration:none;font-size:0.875rem;transition:var(--transition)}
.footer-links a:hover{color:var(--pink);padding-left:4px}
.social-links{display:flex;gap:0.5rem;margin-top:0.5rem}
.social-link{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:#e0e0e0;text-decoration:none;transition:var(--transition)}
.social-link:hover{background:var(--pink);color:#fff;transform:translateY(-3px)}
.newsletter-form .form-control{background:rgba(255,255,255,0.08);border:1.5px solid rgba(255,255,255,0.12);color:#fff;border-radius:50px 0 0 50px}
.newsletter-form .form-control::placeholder{color:rgba(255,255,255,0.4)}
.newsletter-form .form-control:focus{background:rgba(255,255,255,0.12);border-color:var(--pink);box-shadow:none}
.newsletter-form .btn-korean{border-radius:0 50px 50px 0}
.trust-badges{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.75rem}
.trust-badge{font-size:0.75rem;color:#a0a0b8;display:flex;align-items:center;gap:0.3rem}
.trust-badge i{color:var(--pink)}
.footer-bottom{background:rgba(0,0,0,0.3);padding:1rem 0}
.payment-icon-text{font-size:0.75rem;color:#a0a0b8}

/* Back to top */
.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--shadow-md);opacity:0;transform:translateY(20px);transition:var(--transition);z-index:999;cursor:pointer}
.back-to-top.show{opacity:1;transform:translateY(0)}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.fade-in-up{animation:fadeInUp 0.6s ease both}
.loading-skeleton{background:linear-gradient(90deg,var(--card-border) 25%,rgba(232,180,184,0.1) 50%,var(--card-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}

/* Misc */
.section-divider{border:none;border-top:1px solid var(--card-border);margin:0}
.breadcrumb-item a{color:var(--mid);text-decoration:none;font-size:0.85rem}
.breadcrumb-item.active{font-size:0.85rem;color:var(--dark)}
.breadcrumb-item+.breadcrumb-item::before{color:var(--mid)}
.alert{border-radius:var(--radius-sm);border:none}
.page-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-0.02em}
.empty-state{text-align:center;padding:4rem 2rem}
.empty-state-icon{font-size:4rem;color:var(--mid);margin-bottom:1rem}
.empty-state-title{font-size:1.3rem;font-weight:700;margin-bottom:0.5rem}
.empty-state-text{color:var(--mid);font-size:0.9rem;margin-bottom:1.5rem}
.pagination .page-link{border:1.5px solid var(--card-border);color:var(--dark);border-radius:var(--radius-sm)!important;margin:0 2px;padding:0.5rem 0.85rem;transition:var(--transition)}
.pagination .page-link:hover,.pagination .page-item.active .page-link{background:var(--pink);border-color:var(--pink);color:#fff}
.table th{font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--mid);background:var(--card-bg)}
.table td{vertical-align:middle;font-size:0.875rem}
.badge.bg-purple{background:#7c3aed!important}

/* Responsive */
@media(max-width:768px){
  .hero-slider,.hero-slide{height:60vh;min-height:360px}
  .hero-title{font-size:1.8rem}
  .product-gallery{grid-template-columns:1fr}
  .gallery-thumbs{flex-direction:row}
  .gallery-thumb{width:60px;height:60px}
  .profile-sidebar{position:static}
}
