:root {
  --brand-dark: #111827;
  --brand-primary: #2563eb;
  --brand-accent: #f59e0b;
  --brand-muted: #6b7280;
  --soft-bg: #f8fafc;
  --tomato: #ff6347;
}
body { font-family: 'Inter', sans-serif; background: var(--soft-bg); color: var(--brand-dark); }
.announcement-bar { background: linear-gradient(90deg, #111827, #1d4ed8); color: #fff; font-size: 0.92rem; }
.hero-wrap { margin-bottom: 1rem; }
.hero-tight { margin-top: 0; }
.hero-image { height: 430px; object-fit: cover; filter: brightness(0.62); }
.hero-caption { bottom: 12%; max-width: 620px; }
.hero-pill { display: inline-block; border-radius: 999px; background: rgba(255,255,255,0.18); color: #fff; padding: 0.55rem 1rem; font-size: 0.85rem; font-weight: 600; backdrop-filter: blur(5px); }
.hero-subtitle, .hero-description { max-width: 540px; }
.small-section-title { font-size: 1rem; }
.main-navbar .nav-link { border-radius: 999px; padding: .55rem .95rem !important; font-weight: 500; transition: all .2s ease; }
.main-navbar .main-menu .nav-link:hover, .main-navbar .main-menu .nav-link:focus { background: rgba(37,99,235,.12); color: var(--brand-primary); }
.nav-search-wrap { position: relative; min-width: 320px; }
.nav-search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--brand-muted); z-index: 5; }
.nav-search-input { padding-left: 2.5rem; border-radius: 999px; border-color: #dbe3f0; }
.nav-search-input:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 .18rem rgba(37,99,235,.12); }
.footer-links a { color: #d1d5db; text-decoration: none; }
.footer-links a:hover { color: #fff; }
.social-icons a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; text-decoration: none; transition: .2s ease; }
.social-icons a:hover { background: var(--brand-primary); transform: translateY(-2px); }
.stat-card, .content-card { background: #fff; border-radius: 1.25rem; padding: 1.25rem; }
.stat-card { display: flex; flex-direction: column; gap: 0.35rem; min-height: 115px; }
.stat-card strong { font-size: 1.4rem; }
.stat-card span { color: var(--brand-muted); }
.category-chip-panel { background: #fff; border-radius: 1rem; padding: .9rem 1rem; box-shadow: 0 .5rem 1rem rgba(17,24,39,.06); }
.category-chip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: .65rem; }
.category-chip { display: flex; align-items: center; gap: .55rem; padding: .65rem .8rem; border: 1px solid #e5e7eb; border-radius: .9rem; color: var(--brand-dark); background: #fff; transition: .2s ease; min-height: 56px; }
.category-chip:hover { border-color: rgba(37,99,235,.28); background: rgba(37,99,235,.05); color: var(--brand-primary); }
.chip-icon { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(37,99,235,.08); color: var(--brand-primary); font-size: .9rem; }
.chip-icon-lg { width: 36px; height: 36px; font-size: 1.1rem; }
.chip-text { font-size: .86rem; font-weight: 600; line-height: 1.1; }
.secondary-category-card { display:flex; align-items:center; gap:.9rem; padding:1rem; border-radius:1rem; background:#fff; border:1px solid #e5e7eb; color:var(--brand-dark); min-height:82px; box-shadow:0 .5rem 1rem rgba(17,24,39,.05); transition:.2s ease; }
.secondary-category-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,.28); color:var(--brand-primary); background:rgba(37,99,235,.04); }
.secondary-category-icon { width:46px; height:46px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; background:rgba(37,99,235,.1); color:var(--brand-primary); font-size:1.25rem; }
.secondary-category-name { font-weight:700; }
.map-strip-section { padding-top: 1rem; }
.second-category-section { margin-top: 3.5rem; }
@media (max-width: 991px) { .second-category-section { margin-top: 2.2rem; } }
.map-strip-card { background:#fff; border-radius:1.25rem; padding:1.25rem; }
.map-frame-wrap { overflow:hidden; border-radius:1rem; }
.chip-link { font-size: .86rem; text-decoration: none; color: var(--brand-primary); font-weight: 600; }
.category-card, .product-card, .order-summary-card, .filter-card { border-radius: 1.2rem; overflow: hidden; }
.category-img { height: 180px; object-fit: cover; }
.product-media-wrap { position: relative; overflow: hidden; }
.product-media { height: 240px; object-fit: cover; transition: transform 0.25s ease; }
.product-card:hover .product-media { transform: scale(1.04); }
.product-badge { position: absolute; top: 12px; left: 12px; }
.icon-circle { width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(37, 99, 235, 0.08); color: var(--brand-primary); font-size: 1.35rem; }
.feature-list { display: grid; gap: 1rem; }
.feature-item { display: flex; gap: 0.75rem; align-items: flex-start; background: #fff; border-radius: 1rem; padding: 1rem; box-shadow: 0 .5rem 1rem rgba(17,24,39,.08); }
.feature-item i { color: #059669; font-size: 1.1rem; }
.product-detail-main { object-fit: cover; max-height: 560px; }
.gallery-thumb { object-fit: cover; height: 108px; cursor: pointer; border: 2px solid transparent; transition: .2s ease; }
.gallery-thumb:hover, .gallery-thumb.active-thumb { border-color: var(--brand-primary); transform: translateY(-2px); }
.purchase-panel { background: #fff; border: 1px solid rgba(17,24,39,.08); }
.contact-list, .product-meta { color: var(--brand-muted); }
.view-details-btn { background: #0ea5e9; border-color: #0ea5e9; }
.view-details-btn:hover, .view-details-btn:focus { background: #0284c7; border-color: #0284c7; }
.wishlist-btn:hover, .wishlist-btn:focus, .wishlist-pill:hover, .wishlist-pill:focus, .wishlist-link:hover, .wishlist-link:focus { color: var(--tomato) !important; border-color: rgba(255,99,71,.35); background: rgba(255,99,71,.08); }
.wishlist-btn:hover i, .wishlist-pill:hover i, .wishlist-link:hover i { color: var(--tomato) !important; }
.cart-pill:hover, .cart-pill:focus { background: var(--brand-dark); color: #fff; }
form p { margin-bottom: 1rem; }
form p label { display:block; font-weight:600; margin-bottom: .4rem; }
form input, form select, form textarea { width:100%; border:1px solid #d1d5db; border-radius:.75rem; padding:.75rem .9rem; background:#fff; }
form input:focus, form select:focus, form textarea:focus { outline:none; border-color: var(--brand-primary); box-shadow:0 0 0 .2rem rgba(37,99,235,.12); }
@media (max-width: 991px) { .nav-search-wrap { min-width: auto; margin-top: 1rem; } .hero-image { height: 360px; } .hero-caption { bottom: 8%; left: 8%; right: 8%; } }
@media (max-width: 576px) { .hero-image { height: 300px; } .hero-caption { left: 6%; right: 6%; } .category-chip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .chip-text { font-size: .8rem; } .secondary-category-card { min-height:72px; padding:.85rem; } .secondary-category-icon { width:40px; height:40px; font-size:1rem; } }

.secondary-category-card { position: relative; align-items: stretch; gap: 0; overflow: hidden; min-height: 240px; padding: 0; flex-direction: column; }
.secondary-category-image-wrap { width: 100%; height: 145px; overflow: hidden; }
.secondary-category-image { width: 100%; height: 100%; object-fit: cover; display:block; }
.secondary-category-copy { display:flex; flex-direction:column; gap:.35rem; padding:1rem; }
.secondary-category-desc { color: var(--brand-muted); line-height: 1.3; }
.secondary-category-card .secondary-category-icon { width: 42px; height: 42px; border-radius: 12px; }
.vitrine-carousel { position: relative; }
.vitrine-card { background:#fff; border-radius:1rem; overflow:hidden; height:100%; }
.vitrine-image { width:100%; height:220px; object-fit:cover; display:block; }
.vitrine-control { width:44px; height:44px; top:50%; transform:translateY(-50%); background:rgba(17,24,39,.72); border-radius:50%; opacity:1; }
.vitrine-control.carousel-control-prev { left:-8px; }
.vitrine-control.carousel-control-next { right:-8px; }
@media (max-width: 576px) {
  .secondary-category-card { min-height: 210px; }
  .secondary-category-image-wrap { height: 120px; }
  .vitrine-image { height: 170px; }
  .vitrine-control { display:none; }
}
