.wallpaper-tabs { display:flex; justify-content:center; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.wallpaper-tabs button,.wallpaper-more { font:inherit; border:1px solid #f4ceac; padding:10px 22px; border-radius:8px; background:transparent; color:#946b47; cursor:pointer; }
.wallpaper-tabs [aria-selected="true"] { background:#ff942e; color:#fff; border-color:#ff942e; }
.wallpaper-card.managed-wallpaper { position:relative; min-width:0; aspect-ratio:auto; display:flex; flex-direction:column; overflow:hidden; border-radius:14px; }
.managed-wallpaper-image { display:block; height:240px; flex-shrink:0; background:#f5f5f1; }
.wallpaper-card.managed-wallpaper img { width:100%; height:100%; object-fit:contain; }
.managed-wallpaper[data-kind="mobile"] .managed-wallpaper-image { height:360px; }
.managed-wallpaper-caption { position:absolute; inset:auto 0 0; padding:14px; display:flex; flex-direction:column; gap:9px; background:rgba(255,252,247,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transform:translateY(100%); opacity:0; pointer-events:none; transition:transform .18s ease,opacity .18s ease; }
.managed-wallpaper:hover .managed-wallpaper-caption,.managed-wallpaper:focus-within .managed-wallpaper-caption { transform:translateY(0); opacity:1; pointer-events:auto; }
.managed-wallpaper-caption strong { font-size:16px; display:block; overflow-wrap:anywhere; }
.wallpaper-properties { display:grid; gap:7px; margin:0; font-size:13px; }
.wallpaper-properties>div { display:flex; gap:10px; justify-content:space-between; }
.wallpaper-properties dt { color:#97836f; flex-shrink:0; }
.wallpaper-properties dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.wallpaper-download { color:#fff; background:var(--accent,#ff942e); font:inherit; font-size:14px; font-weight:700; border:0; border-radius:999px; min-height:40px; padding:8px 16px; margin-top:auto; cursor:pointer; }
.wallpaper-download:disabled { opacity:.6; cursor:wait; }
.wallpaper-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.wallpaper-gallery[data-kind="mobile"] { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
.wallpaper-gallery[data-kind="mobile"] .managed-wallpaper-image { height:auto; aspect-ratio:9/16; }
.wallpapers-panel.wallpaper-home-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.wallpaper-group { min-width:0; position:relative; }
.wallpaper-group>header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.wallpaper-group h3 { margin:0; font-size:22px; }
.wallpaper-group>header a { font-size:14px; color:#d77927; }
.wallpaper-rail { display:grid; gap:12px; height:160px; overflow:hidden; }
.wallpaper-rail .managed-wallpaper .managed-wallpaper-image { height:160px; }
.wallpaper-rail>.managed-wallpaper[hidden] { display:none; }
.wallpaper-home-columns .wallpaper-empty { position:absolute; top:60px; left:0; right:0; }
.wallpaper-home-columns:has(>.wallpaper-group:only-child) { grid-template-columns:1fr; }
.wallpaper-empty,.wallpaper-message { text-align:center; color:#947e6c; padding:16px; }
.wallpaper-more { display:block; margin:24px auto; }
.wallpaper-lightbox { width:min(1100px,94vw); border:0; padding:20px; border-radius:8px; background:#fffcf6; }
.wallpaper-lightbox::backdrop { background:#211b16aa; }
.wallpaper-lightbox img { width:100%; max-height:80vh; object-fit:contain; }
.wallpaper-lightbox button { display:block; margin-left:auto; border:0; background:none; font-size:26px; cursor:pointer; }
@media(max-width:950px) { .wallpaper-gallery,.wallpaper-gallery[data-kind="mobile"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .wallpaper-gallery,.wallpaper-gallery[data-kind="mobile"] { grid-template-columns:1fr; } .wallpapers-panel.wallpaper-home-columns { gap:14px; padding:16px; } .wallpaper-group>header { align-items:flex-start; flex-direction:column; gap:8px; } .wallpaper-group h3 { font-size:18px; } }
@media(hover:none) { .managed-wallpaper-caption { transform:none; opacity:1; pointer-events:auto; } }
@media(prefers-reduced-motion:reduce) { .managed-wallpaper-caption { transition:none; } }
