/* Home page */
.hero-slide { position: relative; min-height: 440px; color: #fff; background-size: cover; background-position: center; display: flex; align-items: center; }
.hero-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,23,42,.72) 0%, rgba(15,23,42,.25) 70%, rgba(15,23,42,0) 100%); }
.hero-slide .hero-content { position: relative; max-width: 560px; padding: 2rem 0; }
.hero-slide .hero-tag { display: inline-block; background: #fff; color: var(--se-primary); font-weight: 700; font-size: .8rem; padding: .25rem .75rem; border-radius: 999px; margin-bottom: 1rem; }
.hero-slide h2 { color: #fff; font-size: clamp(1.8rem, 4.5vw, 3.2rem); font-weight: 800; line-height: 1.1; }
.hero-slide p { font-size: 1.05rem; opacity: .92; margin: 1rem 0 1.5rem; }
#heroCarousel .carousel-indicators [data-bs-target] { width: 10px; height: 10px; border-radius: 50%; }
.cat-scroller { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
.cat-tile { flex: 0 0 150px; scroll-snap-align: start; text-align: center; color: var(--se-text); }
.cat-tile .cat-img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid var(--se-surface); box-shadow: var(--se-shadow); transition: transform .2s; }
.cat-tile:hover .cat-img { transform: scale(1.05); }
.cat-tile span { display: block; margin-top: .6rem; font-weight: 600; font-size: .92rem; }
.flash-strip { background: linear-gradient(135deg, rgba(var(--se-primary-rgb), .12), rgba(var(--se-primary-rgb), .02)); border: 1px solid var(--se-border); border-radius: var(--se-radius); padding: 1.25rem; }
.countdown { display: inline-flex; gap: .4rem; }
.countdown .cd-box { background: var(--se-text); color: var(--se-surface); font-weight: 700; padding: .25rem .5rem; border-radius: .4rem; min-width: 38px; text-align: center; font-variant-numeric: tabular-nums; }
.promo-banner { background: linear-gradient(120deg, #0F172A, #1E40AF); color: #fff; border-radius: var(--se-radius); padding: 2.5rem; position: relative; overflow: hidden; }
.promo-banner h2 { color: #fff; }
.promo-banner::after { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255,255,255,.08); }
.testimonial { height: 100%; }
.testimonial .avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--se-primary-soft); color: var(--se-primary); display: grid; place-items: center; font-weight: 800; }
.newsletter { background: var(--se-primary-soft); border-radius: var(--se-radius); padding: 2rem; }
.trust-row i { font-size: 1.6rem; color: var(--se-primary); }
