/* Quiet, layout-shaped loading states. Only the highlight is animated. */
.loading-skeleton{--sk-base:#eae5f1;--sk-shine:#ffffff80;grid-column:1/-1;width:100%;pointer-events:none}
html[data-theme=dark] .loading-skeleton{--sk-base:#30263d;--sk-shine:#bba1d018}
.sk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sk-shapes{display:grid;gap:18px;min-width:0}
.sk-block{display:block;position:relative;overflow:hidden;isolation:isolate;background:var(--sk-base);border-radius:8px;height:13px;width:88%;flex-shrink:0}
.sk-block::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--sk-shine),transparent);transform:translateX(-100%);animation:sk-shimmer 1.8s ease-in-out infinite}
@keyframes sk-shimmer{to{transform:translateX(100%)}}
.sk-card{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--white,#fff);min-height:210px}
.sk-photo{width:30%;max-width:230px;height:auto;align-self:stretch;border-radius:0}
.sk-copy{display:flex;flex-direction:column;gap:17px;flex:1;min-width:0;padding:22px}
.sk-price{height:27px;width:49%}.sk-title{height:21px;width:78%}.sk-short{width:32%;height:11px}
.sk-tags{display:flex;gap:8px}.sk-tag{width:25%;height:27px}
.sk-refresh .sk-block{height:4px;width:100%;border-radius:4px}.sk-refresh{margin-bottom:4px}
.sk-gallery{width:100%;height:360px;border-radius:22px}
.sk-detail{padding-top:20px}.sk-detail-columns{display:grid;grid-template-columns:2fr 1fr;gap:24px}.sk-detail-columns>.sk-copy{padding:12px 0}
.sk-contact{width:100%;height:310px;border-radius:20px}.sk-panels{display:flex;gap:12px}.sk-panel{flex:1;width:auto;height:90px;border-radius:16px}
.sk-profile{max-width:780px;margin:auto;padding:24px 0}.sk-identity{display:flex;align-items:center}.sk-avatar{width:68px;height:68px;border-radius:50%}.sk-banner{height:166px;width:100%;border-radius:22px}.sk-services{border:1px solid var(--line);border-radius:20px;gap:32px}
@media(max-width:600px){.sk-shapes{gap:14px}.sk-card{min-height:176px;border-radius:16px}.sk-photo{width:31%}.sk-copy{padding:16px;gap:14px}.sk-price{height:23px;width:64%}.sk-title{height:16px;width:94%}.sk-tag{height:23px;width:36%}.sk-gallery{height:270px;border-radius:18px}.sk-detail-columns{grid-template-columns:1fr}.sk-contact{display:none}.sk-profile{padding:16px 0}.sk-avatar{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.sk-block::after{animation:none;display:none}}
/* Feed placeholders follow the same two-column/one-column break as real cards. */
#cards>.sk-cards>.sk-shapes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#cards .sk-card{min-height:190px;border-radius:14px}
#cards .sk-copy{padding:16px 17px;gap:14px}
#cards .sk-photo{width:180px;max-width:none}
@media(max-width:1050px){#cards .sk-photo{width:145px}}
@media(max-width:800px){#cards>.sk-cards>.sk-shapes{grid-template-columns:1fr;gap:12px}#cards .sk-photo{width:190px}}
@media(max-width:600px){#cards .sk-card{min-height:176px;border-radius:16px}#cards .sk-copy{padding:16px}#cards .sk-photo{width:31%}}
