/* Premium visual system for the Hardware Product home page. */
@keyframes hwFloat { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -13px, 0); } }
@keyframes hwGlow { 0%, 100% { opacity: .42; transform: scale(1); } 50% { opacity: .8; transform: scale(1.12); } }
@keyframes hwRise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hwPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(0, 185, 151, .35); } 50% { box-shadow: 0 0 0 10px rgba(0, 185, 151, 0); } }

.hw-hero-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(circle at 12% 18%, #7652f5 0, transparent 28%), radial-gradient(circle at 83% 76%, #d79b36 0, transparent 24%), linear-gradient(125deg, #13062f, #2d156c 52%, #47239a) !important;
}
.hw-hero-section::before, .hw-hero-section::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.hw-hero-section::before { width: 490px; height: 490px; top: -250px; right: 13%; background: #ad8cff; filter: blur(52px); opacity: .35; animation: hwGlow 7s ease-in-out infinite; }
.hw-hero-section::after { width: 560px; height: 560px; bottom: -350px; left: 28%; border: 1px solid rgba(173, 234, 255, .21); box-shadow: 0 0 0 70px rgba(151, 224, 255, .035), 0 0 0 145px rgba(151, 224, 255, .025); }
.hw-hero-section .container { position: relative; }
.hw-hero-section .container::after { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .11; background-image: linear-gradient(rgba(192, 234, 255, .52) 1px, transparent 1px), linear-gradient(90deg, rgba(192, 234, 255, .52) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(90deg, #000, transparent 85%); }
.hw-hero-section h1 { max-width: 740px; font-family: 'Sora', sans-serif; text-shadow: 0 10px 30px rgba(0, 10, 31, .34); letter-spacing: -1.8px; }
.hw-hero-section .hw-hero-pill { border: 1px solid rgba(223, 204, 255, .3); background: rgba(96, 55, 185, .38); box-shadow: 0 8px 24px rgba(0, 0, 0, .16); backdrop-filter: blur(8px); }
.hw-hero-section .btn-hw-primary { background: linear-gradient(100deg, #7248ee, #b05cf5); box-shadow: 0 13px 24px rgba(144, 76, 243, .28); }
.hw-hero-section .btn-hw-primary:hover { background: linear-gradient(100deg, #5730cb, #8d41d3); transform: translateY(-2px); }
.hw-hero-offer { position: relative; padding: 29px; overflow: hidden; border: 1px solid rgba(213, 244, 255, .8); border-radius: 21px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(235,249,255,.96)); box-shadow: 0 24px 44px rgba(0, 16, 48, .25); animation: hwFloat 5s ease-in-out infinite; }
.hw-hero-offer::before { content: ''; position: absolute; right: -35px; top: -35px; width: 110px; height: 110px; border-radius: 50%; background: rgba(229, 173, 64, .18); }
.hw-hero-offer .badge.bg-danger { position: relative; color: #fff; background: linear-gradient(100deg, #e26252, #eaa63c) !important; border-radius: 99px; font-size: 10px; letter-spacing: .06em; }
.hw-hero-offer h5 { position: relative; color: #102d4b; font-family: 'Sora', sans-serif; font-size: 19px; }
.hw-hero-offer .btn-hw-primary { position: relative; border-radius: 11px; background: linear-gradient(100deg, #6f42e6, #9b4fe0); }

.hw-trust-strip { position: relative; background: linear-gradient(90deg, #fff, #f7f2ff, #fff8e9, #fff); box-shadow: 0 6px 18px rgba(59, 24, 126, .07); }
.hw-trust-strip .col-4 { position: relative; }
.hw-trust-strip i { transition: transform .25s ease; }
.hw-trust-strip .col-4:hover i { transform: scale(1.18) rotate(-5deg); }

.hw-category-section { position: relative; overflow: hidden; background: linear-gradient(180deg, #faf7ff, #f5efff) !important; }
.hw-category-section::before { content: ''; position: absolute; top: 40px; left: -110px; width: 280px; height: 280px; border-radius: 50%; background: rgba(126, 82, 245, .11); filter: blur(10px); }
.hw-category-section .hw-cat-card { border: 1px solid #e5dafa; border-radius: 17px; background: rgba(255,255,255,.9); box-shadow: 0 8px 20px rgba(72, 37, 143, .07); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; animation: hwRise .55s both; }
.hw-category-section .hw-cat-card:hover { border-color: #bca4f7; box-shadow: 0 16px 30px rgba(93, 48, 184, .16); transform: translateY(-7px); }
.hw-category-section .hw-cat-icon { color: #fff; background: linear-gradient(145deg, #6940dc, #a94ed9); box-shadow: 0 9px 18px rgba(127, 58, 203, .23); }

.hw-featured-section { background: linear-gradient(180deg, #fff, #fbf8ff) !important; }
.hw-featured-section .btn-outline-primary { border-color: #7146dd; color: #6740cc; border-radius: 99px; padding: 10px 18px; }
.hw-featured-section .btn-outline-primary:hover { color: #fff; background: #6740cc; }
.hw-featured-section .hw-product-card { animation: hwRise .6s both; }
.hw-featured-section .col:nth-child(2) .hw-product-card { animation-delay: .08s; }
.hw-featured-section .col:nth-child(3) .hw-product-card { animation-delay: .16s; }

.hw-ai-section { position: relative; overflow: hidden; background: linear-gradient(135deg, #f4efff, #fff8e9) !important; }
.hw-ai-section::before { content: ''; position: absolute; width: 420px; height: 420px; right: -130px; top: -210px; border-radius: 50%; background: rgba(166, 92, 225, .16); filter: blur(20px); }
.hw-ai-section .hw-ai-wizard-card { position: relative; border: 1px solid #e6dafa; border-radius: 24px; background: linear-gradient(135deg, #fff, #fffbf2); box-shadow: 0 18px 38px rgba(74, 41, 146, .11); }
.hw-ai-section #btnRunAiFinder { background: linear-gradient(100deg, #6f42e6, #a54ad8); border-radius: 11px; }
.hw-ai-section #aiFinderResult { border: 1px solid #ecd69d !important; background: #fff9e9 !important; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 991px) { .hw-hero-section::after { display: none; } .hw-hero-section h1 { letter-spacing: -1px; } }
