/* Homepage only; retain the shared header, cart and mobile navigation. */
#floors-container { scroll-margin-top: 16px; }
.home-compact-catalog { max-width:1200px; margin:24px auto; padding:20px; box-sizing:border-box; border:1px solid #eadfe1; border-radius:10px; background:#fff; }
.hc-heading,.hc-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.hc-heading h2 { font-size:20px; margin:0; color:#16354c; }
.hc-heading a,.hc-all { color:#bf0920; font-size:13px; text-decoration:none; }
.hc-tabs { display:flex; gap:6px; overflow-x:auto; padding:16px 0; border-bottom:1px solid #eee; }
.hc-tab { flex-shrink:0; padding:10px 12px; border:1px solid #e5e8ed; border-radius:6px; background:#fff; color:#34495e; font:inherit; font-size:13px; min-height:42px; cursor:pointer; }
.hc-tab[aria-selected="true"] { background:#e60012; border-color:#e60012; color:white; }
.hc-panel-heading { padding:18px 0 14px; }
.hc-panel-heading h3 { margin:0; font-size:16px; color:#17384d; }
.hc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.hc-card { display:flex; flex-direction:column; justify-content:center; gap:7px; padding:16px; min-height:86px; box-sizing:border-box; border:1px solid #e9e9ed; border-radius:7px; text-decoration:none; background:#fafbfc; }
.hc-card strong { font-size:14px; color:#18374c; }
.hc-card span { color:#7b8795; font-size:12px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hc-card:hover { border-color:#efadb6; background:#fff7f8; }
.hc-tab:focus-visible,.hc-card:focus-visible { outline:2px solid #d90016; outline-offset:2px; }
/* The same service promises already appear in the footer. */
body > .service-icons { display:none; }
.banner-section .banner-slider,.banner-section .banner-slide { height:280px; }
.banner-section .banner-center .banner-slide img { max-height:280px; height:100%; width:100%; object-fit:contain; }
.banner-section { margin-bottom:12px; }
.banner-center { max-height:280px; overflow:hidden; }
.home-ai-cards { margin-top:12px; margin-bottom:12px; }
@media(min-width:768px) {
    .header > .container { padding-top:18px; padding-bottom:18px; }
}
@media(max-width:767px) {
    .home-compact-catalog { margin:12px 10px; padding:14px 12px; }
    .hc-heading h2 { font-size:17px; }
    .hc-heading a,.hc-all { font-size:12px; }
    .hc-tabs { margin:0 -12px; padding:12px; }
    .hc-tab { min-height:44px; }
    .hc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .hc-card { min-height:88px; padding:12px; }
    .hc-card:nth-child(n+9) { display:none; }
    .hc-panel-heading { flex-wrap:wrap; padding:14px 0; }
    .banner-section .banner-slider,.banner-section .banner-slide { height:160px; }
    .banner-section .banner-center,.banner-section .banner-center .banner-slide img { max-height:160px; }
    .mai-home { padding:12px !important; margin-top:8px !important; margin-bottom:8px !important; }
    .mai-home-grid > a { padding:12px 8px !important; gap:5px !important; }
    .mai-home-grid small { display:none; }
    .mai-home .mai-icon { width:32px; height:32px; }
}

/* Desktop banner fills the complete reserved rectangle without side gutters. */
@media(min-width:768px){.banner-section .banner-center .banner-slide img{width:100%;height:100%;max-height:none;object-fit:fill;display:block;}}

/* Restore existing category pictograms within the single-floor browser. */
.hp-group { padding:14px 0 18px; border-top:1px solid #edf0f3; }
.hp-group-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.hp-group-heading h4 { margin:0; font-size:15px; }
.hp-group-heading h4 a { color:#18374c; text-decoration:none; }
.hp-more { color:#8a3642; font-size:12px; white-space:nowrap; text-decoration:none; }
.hp-tiles { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:10px; }
.hp-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:112px; padding:12px 5px; border:1px solid #e8ebee; border-radius:6px; color:#244254; text-decoration:none; background:#fff; box-sizing:border-box; }
.hp-tile:hover { background:#fff7f8; border-color:#efb6bf; }
.hp-visual { width:58px; height:58px; display:flex; align-items:center; justify-content:center; font-size:36px; }
.hp-visual img { width:100%; height:100%; object-fit:contain; }
.hp-label { font-size:12px; line-height:1.5; text-align:center; overflow-wrap:anywhere; }
.hp-groups:not(.hp-expanded) .hp-group:nth-child(n+4) { display:none; }
.hp-expand { display:block; margin:12px auto 0; padding:10px 24px; min-height:42px; background:#fff7f8; border:1px solid #efd1d6; border-radius:6px; color:#b60c22; cursor:pointer; }
.hp-mobile-only { display:none; }
.hp-tile:focus-visible,.hp-expand:focus-visible { outline:2px solid #d90016; outline-offset:2px; }
@media(max-width:767px) {
 .hp-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
 .hp-tile { min-height:100px; padding:10px 4px; }
 .hp-visual { width:44px; height:44px; font-size:30px; }

 .hp-groups:not(.hp-expanded) .hp-group:nth-child(n+3) { display:none; }
 .hp-mobile-only { display:block; }
}
