/* Scoped additions for the homepage search and five photographic service cards. */
#home-search-card [hidden] { display:none !important; }
#bannerSlider { height:auto; min-height:0; overflow:visible; }
#bannerSlider .banner-content { height:auto; min-height:clamp(360px,27vw,560px); grid-template-columns:repeat(2,minmax(0,1fr)); }
#bannerSlider .banner-search { min-width:0; }
#home-search-card { width:100%; }
#home-search-fields { display:flex; flex-direction:column; gap:12px; }
#home-search-card .home-search-panels { display:grid; }
/* All panels share one grid cell, reserving the largest natural height. */
#home-search-card .home-search-panel { grid-area:1 / 1; min-width:0; }
#home-search-card .home-search-panel[hidden] { display:block !important; visibility:hidden; pointer-events:none; }
#home-search-card .search-selects { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; }
#home-search-card .quick-selects select:last-child { grid-column:1 / -1; }
#home-search-card .search-row { margin:0 0 10px !important; }
#home-search-card .search-select,
#home-search-card #addr-input { width:100%; height:44px; }
#home-search-card .search-check { margin-top:10px; min-height:24px; }
#home-search-card .home-search-action .search-btn { width:100%; height:44px; justify-content:center; }
#home-search-card .search-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
#home-search-card .search-tab { justify-content:center; padding:11px 5px; font-size:13px; white-space:nowrap; }
#home-search-card .search-tab:focus-visible,
.svc-card:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
#home-search-card .search-select { min-width:0; }
#home-search-card .search-check input { flex-shrink:0; }
#home-search-card .search-check .badge-gaming { flex-shrink:0; }
.home-services-section .svc-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.svc-card { display:flex; flex-direction:column; align-items:center; overflow:hidden; text-decoration:none; background:#fff; border:1px solid #dce7f6; border-radius:12px; text-align:center; transition:transform .2s,box-shadow .2s; }
.svc-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(37,99,235,.10); }
.svc-image { display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; }
.svc-title { font-size:15px; font-weight:700; color:#1c2438; margin:16px 10px 5px; }
.svc-description { font-size:12px; color:#5a657d; line-height:1.6; padding:0 12px; margin-bottom:16px; }
.svc-cta { font-size:12px; font-weight:600; color:#c2410c; margin-top:auto; padding:0 12px 16px; }
@media(min-width:769px) and (max-width:1100px) {
  #home-search-card .search-tab { font-size:12px; }
  .banner-content { gap:22px; padding-left:28px; padding-right:28px; }
  .home-services-section .svc-grid { gap:10px; }
}
@media(max-width:768px) {
  #bannerSlider .banner-content { min-height:0; }
  #home-search-card .search-selects { grid-template-columns:minmax(0,1fr); }
  #home-search-card .search-tab { font-size:12px !important; padding:10px 2px !important; }
  #home-search-card .search-check { align-items:flex-start; font-size:12px; }
  #home-search-card .search-check input { margin-top:4px; }
  #home-search-card .badge-gaming { display:none; }
  .home-services-section { padding:32px 16px !important; }
  .home-services-section .svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .svc-title { font-size:14px; margin-top:12px; }
  .svc-card:last-child { grid-column:1 / -1; }
  .svc-card:last-child .svc-description { max-width:100%; }
  .hero-cat.home-service-promo .hero-cat-cta { white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .svc-card { transition:none; } }
