/* High-priority component styles that keep Hardware Product UI independent of shared-site styles. */
.hw-hero-section,
.hw-product-card,
.hw-catalogue-filter,
#filterForm,
#combos,
#ai-finder,
.hw-compare-dock {
    font-family: 'Manrope', Arial, sans-serif;
}
.hw-hero-section h1,
.hw-hero-section h2,
.hw-product-card h1,
.hw-product-card h2,
.hw-product-card h3,
.hw-combo-title,
#combos h1,
#combos h2,
#ai-finder h1,
#ai-finder h2,
.hw-selling-price,
.hw-combo-price {
    font-family: 'Sora', Arial, sans-serif;
}
.hw-combo-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px;
    overflow: hidden;
    border: 1px solid #dce7f2;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff 0%, #f4faff 100%);
    box-shadow: 0 8px 24px rgba(14, 68, 112, .08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hw-combo-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #075fcb, #00b894);
}
.hw-combo-card:hover { transform: translateY(-7px); border-color: #9fc9eb; box-shadow: 0 18px 38px rgba(6, 91, 160, .18); }
.hw-combo-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.hw-combo-audience, .hw-combo-saving { display: inline-flex; align-items: center; min-height: 26px; padding: 5px 10px; border-radius: 99px; font-size: 10px; font-weight: 800; letter-spacing: .03em; line-height: 1.1; }
.hw-combo-audience { max-width: 70%; color: #0956ac; background: #e6f1ff; }
.hw-combo-saving { color: #08795b; background: #e1faf2; white-space: nowrap; }
.hw-combo-title { margin: 0 0 8px; color: #102b4c; font-size: 24px; font-weight: 800; line-height: 1.18; }
.hw-combo-tagline { min-height: 48px; margin: 0 0 20px; color: #60758d; font-size: 14px; line-height: 1.55; }
.hw-combo-description { min-height: 142px; padding: 18px; margin-bottom: 25px; border: 1px solid #e0edf7; border-radius: 13px; background: #f2f8fd; color: #506b85; font-size: 14px; line-height: 1.7; }
.hw-combo-footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; }
.hw-combo-price { color: #0870c9; font-size: 27px; font-weight: 800; letter-spacing: -.4px; white-space: nowrap; }
.hw-combo-mrp { color: #7c8496; font-size: 13px; text-decoration: line-through; white-space: nowrap; }
.hw-combo-card .btn-hw-primary { min-height: 46px; margin-top: 20px; border: 0; border-radius: 11px; background: linear-gradient(100deg, #0969c5, #009f88); font-size: 13px; font-weight: 700; box-shadow: 0 8px 16px rgba(0, 126, 142, .22); }
.hw-combo-card .btn-hw-primary:hover { background: linear-gradient(100deg, #0756a2, #00836f); }
@media (max-width: 575px) { .hw-combo-card { padding: 22px; } .hw-combo-title { font-size: 22px; } .hw-combo-description { min-height: auto; } }

/* Catalogue card refresh */
.hw-product-card {
    overflow: hidden;
    border: 1px solid #dce7f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(17, 59, 96, .07);
}
.hw-product-card:hover { border-color: #8dc3eb; box-shadow: 0 18px 38px rgba(13, 96, 171, .16); }
.hw-card-img-wrap {
    height: 220px;
    padding: 22px;
    border-bottom: 1px solid #e7eff7;
    background: radial-gradient(circle at 50% 22%, #fff 0, #edf7ff 62%, #e2f0fb 100%);
}
.hw-card-img-wrap::after { content: ''; position: absolute; width: 72%; height: 14px; bottom: 17px; border-radius: 50%; background: rgba(20, 81, 129, .12); filter: blur(7px); }
.hw-card-img-wrap img { position: relative; z-index: 1; filter: drop-shadow(0 12px 12px rgba(21, 76, 116, .19)); }
.hw-badge-corner { top: 14px; left: 14px; }
.hw-badge-corner .badge {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 6px 10px;
    border-radius: 99px;
    box-shadow: 0 5px 12px rgba(28, 84, 129, .14);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
}
.hw-card-body { padding: 19px 18px 15px; }
.hw-card-brand { color: #0870c9; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hw-compare-check { color: #63738a; font-size: 11px; font-weight: 700; }
.hw-card-title { min-height: 52px; margin: 9px 0 12px; font-size: 16px; line-height: 1.38; }
.hw-card-title a { color: #112b4b; text-decoration: none; }
.hw-card-title a:hover { color: #0870c9; }
.hw-chip-wrap { gap: 6px; min-height: 29px; margin-bottom: 14px; }
.hw-chip { padding: 4px 8px; border: 1px solid #e2edf6; border-radius: 7px; background: #f1f7fb; color: #50708d; font-size: 10px; font-weight: 700; }
.hw-price-wrap { padding-top: 14px; border-top: 1px dashed #d9e5ef; }
.hw-selling-price { color: #086dc5; font-size: 22px; font-weight: 800; }
.hw-mrp-price { color: #8493a7; font-size: 12px; }
.hw-gst-badge { margin-top: 4px; color: #71849a; font-size: 10px; font-weight: 600; }
.hw-price-wrap > .badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border-radius: 99px;
    color: #08794d !important;
    background: #dff8eb !important;
    border: 1px solid #a8ebc8;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}
.hw-card-actions { padding: 0 18px 19px; gap: 7px; }
.btn-hw-primary, .btn-hw-outline, .btn-hw-whatsapp { min-height: 43px; border-radius: 10px; font-size: 12px; }
.hw-card-actions .btn-hw-primary { background: linear-gradient(100deg, #0969c5, #008f83); box-shadow: 0 7px 13px rgba(0, 128, 139, .18); }
.hw-card-actions .btn-hw-primary:hover { background: linear-gradient(100deg, #0756a2, #00786e); }
.hw-card-actions .btn-hw-outline { border-color: #bfd3e4; color: #244464; background: #f9fcff; }
.hw-card-actions .btn-hw-whatsapp { min-width: 38px; background: #12b76a; }
#filterForm .form-control, #filterForm .form-select { border-color: #d5e2ec; border-radius: 9px; }
#filterForm .form-check-label { color: #34516c; }

/* Catalogue filter refresh */
.hw-catalogue-filter {
    overflow: hidden;
    padding: 19px !important;
    border: 1px solid #d8e7f3 !important;
    border-radius: 18px !important;
    background: linear-gradient(160deg, #fff 0%, #f5faff 100%);
    box-shadow: 0 12px 28px rgba(13, 77, 128, .09) !important;
}
.hw-catalogue-filter::before {
    content: '';
    display: block;
    height: 4px;
    margin: -19px -19px 17px;
    background: linear-gradient(90deg, #0870c9, #00ad92);
}
.hw-catalogue-filter h6 { color: #123555; font-size: 15px; font-weight: 800; }
.hw-catalogue-filter h6 i { color: #0870c9 !important; }
.hw-catalogue-filter #btnResetFilters { padding: 5px 9px !important; border-radius: 7px; color: #0870c9 !important; background: #e9f4ff; font-weight: 700; }
.hw-catalogue-filter #btnResetFilters:hover { color: #fff !important; background: #0870c9; }
.hw-catalogue-filter .form-label { margin-bottom: 8px; color: #183c5d; font-size: 12px; font-weight: 800 !important; letter-spacing: .02em; text-transform: uppercase; }
.hw-catalogue-filter .form-control { min-height: 48px; border: 1px solid #cddfed !important; background: #fff; color: #244664; box-shadow: none; }
.hw-catalogue-filter .form-control:focus { border-color: #0870c9 !important; box-shadow: 0 0 0 3px rgba(8, 112, 201, .12) !important; }
.hw-catalogue-filter .border-top { border-color: #d9e7f2 !important; }
.hw-catalogue-filter .form-check { padding: 5px 0 5px 1.7em; }
.hw-catalogue-filter .form-check-label { cursor: pointer; color: #32546f !important; font-size: 13px; transition: color .2s ease; }
.hw-catalogue-filter .form-check-label:hover { color: #0870c9 !important; }
.hw-catalogue-filter .form-check-input {
    display: block !important;
    float: left;
    width: 16px !important;
    height: 16px !important;
    margin-top: .18em;
    margin-left: -1.7em;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    border-color: #0870c9;
    accent-color: #0870c9;
}
.hw-catalogue-filter .form-check-input:checked { border-color: #0870c9; background-color: #0870c9; }
.hw-catalogue-filter [style*="overflow-y"] { padding-right: 5px; scrollbar-color: #9cc5df #edf5fa; scrollbar-width: thin; }
.hw-catalogue-filter [style*="overflow-y"]::-webkit-scrollbar { width: 6px; }
.hw-catalogue-filter [style*="overflow-y"]::-webkit-scrollbar-track { border-radius: 8px; background: #edf5fa; }
.hw-catalogue-filter [style*="overflow-y"]::-webkit-scrollbar-thumb { border-radius: 8px; background: #9cc5df; }
/* Keep page content visible if the external AOS script is unavailable on a live server. */
body:not(.hw-aos-ready) [data-aos] {
    opacity: 1 !important;
    transform: none !important;
}

