/* Compact homepage showcase. Safe display data is supplied by the homepage DTOs. */
#home .home-catalog { margin:26px 0; scroll-margin-top:110px; }
#home .home-catalog .sec { margin-bottom:8px; }
#home .home-catalog-lead { color:#626b76; line-height:1.7; font-size:13px; margin:0 0 16px; max-width:90ch; }
#home .home-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; align-items:stretch; }
#home .home-catalog-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #e2e6eb; border-radius:13px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
#home .home-catalog-card a { color:inherit; text-decoration:none; }
#home .home-catalog-image { position:relative; display:flex; flex:0 0 auto; height:112px; aspect-ratio:auto; padding:10px; background:#f5f4f1; align-items:center; justify-content:center; overflow:hidden; }
#home .home-catalog-image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
#home .home-catalog-placeholder { text-align:center; color:#786b5e; font-size:12px; letter-spacing:1.4px; line-height:1.5; }
#home .home-catalog-image small { display:block; font-size:11px; letter-spacing:0; margin-top:5px; }
#home .home-catalog-image .home-catalog-badge { position:absolute; top:9px; left:9px; display:inline-flex; align-items:center; max-width:calc(100% - 18px); padding:4px 7px; border:1px solid #e2d7c5; border-radius:5px; background:#fffaf1; color:#67512f; font-size:10px; line-height:1.3; font-weight:750; letter-spacing:0; }
#home .home-catalog-entry-visual { display:flex; flex-direction:column; align-items:center; color:#3b5e53; }
#home .home-catalog-entry-visual svg { display:block; width:52px; height:52px; }
#home .home-catalog-entry-visual small { font-size:11px; font-weight:600; }
#home .home-catalog-card--medical .home-catalog-image { background:#edf2ee; }
#home .home-catalog-card--tobacco_alcohol .home-catalog-image { background:#f0ede7; }
#home .home-catalog-card--tobacco_alcohol .home-catalog-entry-visual { color:#6a5740; }
#home .home-catalog-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:11px 11px 0; }
#home .home-catalog-category { color:#64717d; font-size:11px; line-height:1.5; }
#home .home-catalog-body h2 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; min-height:3em; margin:5px 0 0; font-size:13px; line-height:1.5; font-weight:750; color:#212832; }
#home .home-catalog-body .home-catalog-meta { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:5px 0 8px; min-height:1.5em; font-size:11px; color:#67717d; line-height:1.5; }
#home .home-catalog-price { display:block; color:#b51e30; font-size:16px; line-height:1.45; font-weight:800; overflow-wrap:anywhere; }
#home .home-catalog-price--confirm { color:#365c4e; font-size:14px; }
#home .home-catalog-card--tobacco_alcohol .home-catalog-price--confirm { color:#685235; }
#home .home-price-scope { display:block; font-size:11px; color:#68717c; line-height:1.5; margin:4px 0 9px; }
#home .home-catalog-service-scope { display:block; margin-top:4px; color:#6d675a; font-size:11px; line-height:1.5; }
#home a.home-catalog-detail { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:42px; padding:10px 0; margin-top:auto; border-top:1px solid #e9ebee; font-size:12px; line-height:1.5; font-weight:750; color:#343e4c; }
#home .home-catalog-detail > span { font-size:17px; }
#home .home-catalog-card--gated a.home-catalog-detail { color:#365c4e; }
#home .home-catalog-card--tobacco_alcohol a.home-catalog-detail { color:#685235; }
#home .home-catalog-pages { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin:20px 0; font-size:13px; color:#65717c; }
#home .home-catalog-pages a { display:flex; gap:12px; align-items:center; min-height:42px; padding:10px 15px; border:1px solid #dce1e6; border-radius:8px; background:#fff; color:#263544; font-weight:700; }
#home .home-catalog-grid > .production-empty { grid-column:1/-1; }
#home .home-rx-information { padding:18px; margin:20px 0; border:1px solid #dce5df; border-radius:13px; background:#f1f5f1; color:#29483a; }
#home .home-rx-information h2 { font-size:18px; margin:5px 0 8px; }
#home .home-rx-information p { margin:5px 0; font-size:12px; line-height:1.8; color:#56695c; }
#home .home-rx-information > a { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; font-size:12px; font-weight:750; color:#29483a; }
#home .home-catalog a:focus-visible, #home .home-rx-information a:focus-visible, #home .home-carousel-slide:focus-visible { outline:3px solid #235ba7; outline-offset:3px; }

/* Keep the original recommendation data and carousel controls in a much smaller strip. */
#home .home-core.v43 { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; margin-top:0; }
#home .home-product-card { min-width:0; height:auto; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
#home .home-core.v43 .home-card-title { display:none; }
#home .home-carousel { min-width:0; height:auto; overflow:hidden; }
#home .home-carousel-track { display:flex; height:auto; align-items:stretch; gap:10px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; padding:2px 2px 5px; }
#home .home-carousel-slide { display:block; flex:0 0 calc((100% - 10px)/2); width:auto; min-width:0; padding:9px; border:1px solid #e2e6eb; border-radius:12px; background:#fff; scroll-snap-align:start; }
#home .home-core.v43 .home-good-visual { display:grid; place-items:center; height:92px; padding:6px; border-radius:8px; background:#f5f4f1; }
#home .home-core.v43 .home-good-visual > span { color:#786b5e; font-size:11px; line-height:1.5; letter-spacing:1px; text-align:center; }
#home .home-core.v43 .home-good-visual small { font-size:10px; letter-spacing:0; }
#home .home-core.v43 .s-info { margin-top:7px; }
#home .home-core.v43 .s-title { min-height:3em; font-size:13px; line-height:1.5; font-weight:750; overflow-wrap:anywhere; }
#home .home-core.v43 .s-sub { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; margin-top:4px; min-height:0; font-size:11px; line-height:1.5; color:#67717d; }
#home .home-core.v43 .s-price { margin-top:6px; font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
#home .home-carousel-dots { padding:3px 0; }
#home .carousel-note { display:block; margin-top:2px; color:#717b87; text-align:center; font-size:10px; }
#home .carousel-note-desktop { display:none; }
#home .home-core.v43 .home-request-card { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; align-self:start; justify-content:space-between; gap:10px 18px; min-width:0; min-height:0; height:auto; padding:12px 16px; border:1px solid #e1d7c5; border-radius:12px; background:#f8f5ee; box-shadow:none; text-align:left; }
#home .home-request-card::before, #home .home-request-card::after { display:none; }
#home .home-fee-copy { flex:1 1 320px; min-width:0; min-height:0; }
#home .home-fee-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
#home .home-core.v43 .hr-law { color:#816642; font-size:10px; line-height:1.5; }
#home .home-core.v43 .hr-adult { margin-top:0; color:#2b3039; font-size:16px; line-height:1.5; }
#home .home-core.v43 .hr-special { margin-top:0; color:#5e5b53; font-size:11px; line-height:1.5; }
#home .home-core.v43 .hr-note { margin-top:5px; color:#736d61; font-size:11px; line-height:1.6; }
#home .home-core.v43 .hr-btn { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-height:40px; margin:0; padding:10px 15px; border:1px solid #d9c5a4; border-radius:8px; color:#4b3a22; background:#ead8b8; box-shadow:none; font-size:12px; line-height:1.5; font-weight:750; }

@media (max-width:599px) {
  #home .home-fee-copy { flex:1 1 100%; }
  #home .home-core.v43 .home-request-card { gap:8px; }
  #home .home-core.v43 .hr-btn { min-height:36px; padding:7px 12px; }
}

@media (min-width:600px) {
  #home .home-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
  #home .home-catalog-image { height:126px; }
  #home .home-catalog-body { padding:12px 12px 0; }
  #home .home-catalog-body h2 { font-size:14px; }
  #home .home-catalog-body .home-catalog-meta { font-size:12px; }
  #home .home-carousel-slide { flex-basis:210px; }
}
@media (min-width:900px) {
  #home .home-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
  #home .home-catalog-image { height:132px; }
  #home .home-catalog-price { font-size:18px; }
  #home .home-catalog-price--confirm { font-size:15px; }
  #home .home-rx-information { display:flex; align-items:center; gap:30px; }
  #home .home-rx-information > div { flex:1; }
  #home .home-rx-information > a { flex-shrink:0; }
}
@media (min-width:1024px) {
  #home .home-carousel-track { display:flex; grid-template-columns:none; height:auto; gap:12px; overflow-x:auto; padding-bottom:7px; scrollbar-width:thin; scrollbar-color:#d1d6dc transparent; scroll-snap-type:x proximity; }
  #home .home-carousel-track::-webkit-scrollbar { display:block; height:5px; }
  #home .home-carousel-track::-webkit-scrollbar-thumb { border-radius:5px; background:#d1d6dc; }
  #home .home-carousel-slide { flex:0 0 218px; padding:10px; border-radius:12px; }
  #home .home-core.v43 .home-good-visual { height:100px; }
  #home .home-core.v43 .s-info { margin-top:8px; }
  #home .home-core.v43 .s-title { font-size:13px; min-height:3em; line-height:1.5; }
  #home .home-core.v43 .s-sub { min-height:0; line-height:1.5; }
  #home .home-core.v43 .s-price { font-size:15px; margin-top:6px; line-height:1.5; }
  #home .home-carousel-dots { display:none; }
  #home .carousel-note { display:block; margin-top:1px; text-align:left; }
  #home .carousel-note-mobile { display:none; }
  #home .carousel-note-desktop { display:inline; }
  #home .home-core.v43 .home-request-card { padding:12px 18px; }
  #home .home-core.v43 .hr-adult { font-size:18px; }
}
@media (min-width:1200px) { #home .home-catalog-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (min-width:1600px) { #home .home-catalog-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; } #home .home-catalog-image { height:138px; } }
@media (hover:hover) { #home .home-catalog-card:hover { border-color:#c9d0d8; box-shadow:0 6px 17px #1824320a; } #home .home-catalog-detail:hover { color:#a31e2d; } }
@media (prefers-reduced-motion:reduce) { #home .home-catalog-card { transition:none; } }
