*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;background:#0a0a14;color:#e0e0ea;line-height:1.7;font-size:16px}
a{color:#ff6b85;text-decoration:none;transition:color .3s}
a:hover{color:#ff4d6d}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* age gate */
.age-gate{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center}
.age-gate-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.92);backdrop-filter:blur(10px)}
.age-gate-modal{position:relative;background:#1a1a2c;border:1px solid #2a2a3e;border-radius:16px;padding:48px;max-width:480px;text-align:center}
.age-gate-modal h2{font-family:Georgia,serif;color:#fff;margin-bottom:16px;font-size:24px}
.age-gate-modal p{color:#9090a8;margin-bottom:12px;font-size:15px}
.age-gate-buttons{display:flex;gap:16px;justify-content:center;margin-top:24px}
.btn-confirm{background:linear-gradient(135deg,#ff4d6d,#c9a96e);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,77,109,.3)}
.btn-deny{background:transparent;color:#9090a8;border:1px solid #2a2a3e;padding:14px 32px;border-radius:8px;font-size:16px;cursor:pointer;transition:border-color .3s}
.btn-deny:hover{border-color:#ff4d6d;color:#ff6b85}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,10,20,.95);backdrop-filter:blur(12px);border-bottom:1px solid #1a1a2c;padding:16px 0}
.site-header .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-family:Georgia,serif;font-size:22px;color:#fff;font-weight:700}
.logo span{background:linear-gradient(135deg,#ff4d6d,#c9a96e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{list-style:none;display:flex;gap:24px;align-items:center}
.nav-links a{color:#c0c0d0;font-size:15px;transition:color .3s}
.nav-links a:hover,.nav-links a.active{color:#ff6b85}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer}
.has-dropdown{position:relative}
.dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#1a1a2c;border:1px solid #2a2a3e;border-radius:8px;padding:8px 0;min-width:220px;list-style:none;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:200}
.has-dropdown:hover .dropdown{display:block}
.dropdown li a{display:block;padding:8px 20px;font-size:14px}
.dropdown li a:hover{background:#222238}

/* hero */
.hero{text-align:center;padding:60px 0 40px}
.hero h1{font-family:Georgia,serif;font-size:42px;color:#fff;margin-bottom:16px;line-height:1.2}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,#ff4d6d,#c9a96e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:18px;color:#9090a8;max-width:640px;margin:0 auto 32px}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:40px;padding:0 20px}
.filter-btn{background:#1a1a2c;border:1px solid #2a2a3e;color:#c0c0d0;padding:8px 18px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s}
.filter-btn:hover,.filter-btn.active{background:linear-gradient(135deg,#ff4d6d,#c9a96e);color:#fff;border-color:transparent}

/* products grid */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:40px}
.product-card{background:#1a1a2c;border:1px solid #2a2a3e;border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(255,77,109,.12);border-color:rgba(255,77,109,.2)}
.product-card a{color:inherit;text-decoration:none;display:block}
.card-image{aspect-ratio:3/4;overflow:hidden;background:#12121e}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-card:hover .card-image img{transform:scale(1.05)}
.card-content{padding:16px}
.card-content h3{font-family:Georgia,serif;font-size:16px;color:#fff;margin-bottom:8px;line-height:1.3}
.card-rating{color:#ffc107;font-size:14px;margin-bottom:6px}
.card-rating .text{color:#9090a8}
.card-price{font-size:18px;font-weight:700;color:#c9a96e}

/* load more */
.load-more-wrap{text-align:center;margin:32px 0 48px}
.load-more-btn{background:linear-gradient(135deg,#ff4d6d,#c9a96e);color:#fff;border:none;padding:14px 40px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}
.load-more-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,77,109,.3)}

/* breadcrumbs */
.breadcrumbs{padding:20px 0;font-size:14px;color:#5a5a72}
.breadcrumbs a{color:#9090a8}
.breadcrumbs a:hover{color:#ff6b85}
.breadcrumbs .sep{margin:0 8px}

/* product detail */
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;align-items:start}
.product-image{border-radius:12px;overflow:hidden;background:#12121e}
.product-image img{width:100%}
.product-info{padding-top:8px}
.product-info h1{font-family:Georgia,serif;font-size:32px;color:#fff;margin-bottom:16px;line-height:1.3}
.product-rating-detail{color:#ffc107;font-size:18px;margin-bottom:16px}
.product-rating-detail .count{color:#9090a8;font-size:15px}
.product-price-detail{font-size:28px;font-weight:700;color:#c9a96e;margin-bottom:20px}
.coupon-box{background:#222238;border:1px dashed #c9a96e;border-radius:8px;padding:12px 20px;margin-bottom:20px;font-size:15px;color:#c9a96e}
.coupon-box code{font-weight:700;color:#fff;background:#2a2a3e;padding:2px 8px;border-radius:4px}
.buy-button{display:inline-block;background:linear-gradient(135deg,#ff4d6d,#c9a96e);color:#fff;padding:16px 40px;border-radius:8px;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:transform .2s,box-shadow .2s;text-align:center}
.buy-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,77,109,.3);color:#fff}

/* review content */
.review-content{max-width:800px;margin:0 auto 40px}
.review-content h2{font-family:Georgia,serif;font-size:24px;color:#fff;margin:32px 0 12px}
.review-content h3{font-family:Georgia,serif;font-size:20px;color:#e0e0ea;margin:24px 0 10px}
.review-content p{margin-bottom:16px;color:#c0c0d0}
.review-content em{color:#ff6b85;font-style:italic}
.review-content strong{color:#fff}

/* tags */
.tags-section{display:flex;flex-wrap:wrap;gap:8px;max-width:800px;margin:24px auto 40px}
.tag{background:#222238;border:1px solid #2a2a3e;color:#9090a8;padding:4px 14px;border-radius:16px;font-size:13px;text-decoration:none;transition:all .3s}
a.tag:hover{border-color:#ff4d6d;color:#ff6b85}

/* user reviews */
.user-reviews{max-width:800px;margin:0 auto 48px}
.user-reviews h2{font-family:Georgia,serif;font-size:24px;color:#fff;margin-bottom:24px}
.review-card{background:#1a1a2c;border:1px solid #2a2a3e;border-radius:12px;padding:24px;margin-bottom:16px}
.review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.review-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ff4d6d,#c9a96e);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}
.review-meta{flex:1}
.review-name{font-weight:600;color:#fff}
.review-date{font-size:13px;color:#5a5a72}
.review-stars{color:#ffc107;font-size:14px}
.review-text{color:#c0c0d0;font-size:15px;line-height:1.6}

/* similar reviews */
.similar-reviews{max-width:1200px;margin:0 auto 48px;padding:0 20px}
.similar-reviews h2{font-family:Georgia,serif;font-size:24px;color:#fff;margin-bottom:24px}
.similar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}

/* page content (resource/legal) */
.page-content{max-width:800px;margin:0 auto;padding:40px 0}
.page-content h1{font-family:Georgia,serif;font-size:36px;color:#fff;margin-bottom:8px;line-height:1.2}
.page-content .subtitle{font-size:17px;color:#9090a8;margin-bottom:32px}
.page-content h2{font-family:Georgia,serif;font-size:24px;color:#fff;margin:36px 0 12px}
.page-content h3{font-family:Georgia,serif;font-size:20px;color:#e0e0ea;margin:24px 0 10px}
.page-content p{margin-bottom:16px;color:#c0c0d0}
.page-content ul,.page-content ol{margin:0 0 16px 24px;color:#c0c0d0}
.page-content li{margin-bottom:8px}
.page-content a{color:#ff6b85}

/* category page header */
.cat-header{text-align:center;padding:48px 0 32px}
.cat-header h1{font-family:Georgia,serif;font-size:36px;color:#fff;margin-bottom:12px}
.cat-header p{font-size:17px;color:#9090a8;max-width:600px;margin:0 auto}
.cat-count{font-size:14px;color:#5a5a72;margin-top:8px}
.related-cats{margin:48px 0;text-align:center}
.related-cats h3{font-family:Georgia,serif;font-size:18px;color:#fff;margin-bottom:16px}
.related-cats .filters{justify-content:center}

/* faq accordion */
.faq-item{border:1px solid #2a2a3e;border-radius:8px;margin-bottom:8px;overflow:hidden}
.faq-question{background:#1a1a2c;padding:16px 20px;cursor:pointer;color:#e0e0ea;font-weight:600;display:flex;justify-content:space-between;align-items:center;user-select:none}
.faq-question:hover{background:#222238}
.faq-question::after{content:"+";font-size:20px;color:#ff6b85;transition:transform .3s;flex-shrink:0;margin-left:12px}
.faq-item.open .faq-question::after{transform:rotate(45deg)}
.faq-answer{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-answer{padding:16px 20px;max-height:600px}
.faq-answer p{color:#c0c0d0;margin-bottom:12px}

/* contact form */
.contact-form{max-width:500px;margin:24px 0}
.form-group{margin-bottom:16px}
.form-group label{display:block;color:#c0c0d0;font-size:14px;margin-bottom:6px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;background:#1a1a2c;border:1px solid #2a2a3e;border-radius:8px;color:#e0e0ea;font-size:15px;font-family:inherit;transition:border-color .3s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#ff4d6d}
.form-group textarea{min-height:120px;resize:vertical}
.submit-btn{background:linear-gradient(135deg,#ff4d6d,#c9a96e);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}
.submit-btn:hover{transform:translateY(-2px)}

/* footer */
.site-footer{background:#0d0d16;border-top:1px solid #1a1a2c;padding:48px 0 24px;margin-top:60px}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-bottom:32px}
.footer-col h3{font-family:Georgia,serif;font-size:16px;color:#fff;margin-bottom:16px}
.footer-col p{font-size:14px;color:#5a5a72;line-height:1.6}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul a{color:#9090a8;font-size:14px}
.footer-col ul a:hover{color:#ff6b85}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid #1a1a2c}
.footer-bottom p{font-size:13px;color:#5a5a72;margin-bottom:4px}

/* responsive */
@media(max-width:768px){
.hero h1{font-size:28px}
.hero p{font-size:16px}
.product-hero{grid-template-columns:1fr}
.product-info h1{font-size:24px}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.nav-links{display:none;position:fixed;top:60px;left:0;right:0;background:#12121e;flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid #2a2a3e;z-index:150}
.nav-links.open{display:flex}
.menu-toggle{display:block}
.has-dropdown .dropdown{position:static;box-shadow:none;border:none;padding-left:16px;transform:none}
.has-dropdown:hover .dropdown{display:none}
.has-dropdown.open .dropdown{display:block}
.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.similar-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.card-content h3{font-size:14px}
.page-content h1{font-size:28px}
.cat-header h1{font-size:28px}
}
@media(max-width:480px){
.products-grid{grid-template-columns:1fr}
.similar-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.age-gate-modal{padding:32px 20px;margin:0 16px}
.product-price-detail{font-size:22px}
}