.home-smiles { letter-spacing: 0; }
.home-smiles .shead { max-width: 780px; }
.home-smiles .h-section { letter-spacing: 0; }
.home-smiles__toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 16px; }
.home-smiles__count { color:var(--ink-2); font-size:14px; }
.home-smiles__controls { display:flex; gap:8px; }
.home-smiles__controls[hidden] { display:none; }
.home-smiles__controls button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--primary); cursor:pointer; }
.home-smiles__controls button:disabled { opacity:.35; cursor:default; }
.home-smiles__controls button:first-child svg { transform:rotate(180deg); }
.home-smiles__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 72px)/4); gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding:0; padding:4px 0 18px; list-style:none; margin:0; scrollbar-width:thin; scrollbar-color:var(--primary) #eee; }
.home-smiles__card { min-width:0; margin:0; scroll-snap-align:start; }
.home-smiles__card article { height:100%; display:flex; flex-direction:column; }
.home-smiles__image { display:block; background:#f5f5f7; border-radius:8px; overflow:hidden; }
.home-smiles__image img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; }
.home-smiles__stage { font-size:12px; color:var(--ink-2); margin:14px 0 6px; }
.home-smiles__card h3 { font-size:18px; line-height:1.35; letter-spacing:0; margin:0 0 10px; }
.home-smiles__card h3 a { color:var(--ink); text-decoration:none; }
.home-smiles__description { color:var(--ink-2); font-size:14px; line-height:1.6; margin:0 0 14px; overflow-wrap:anywhere; }
.home-smiles__read { font-size:14px; margin-top:auto; display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.home-smiles a:focus-visible, .home-smiles button:focus-visible, .home-smiles__track:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.home-smiles__footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:24px; }
.home-smiles__note { font-size:13px; color:var(--ink-2); margin:0; max-width:560px; }
@media(max-width:1000px) { .home-smiles__track { grid-auto-columns:calc((100% - 24px)/2); } }
@media(max-width:560px) { .home-smiles__track { grid-auto-columns:88%; gap:16px; } .home-smiles__card h3 { font-size:18px; } .home-smiles__footer { align-items:flex-start; flex-direction:column; } }
