.catalog-see-all { display:flex; align-items:center; gap:8px; max-width:100%; min-height:42px; padding:9px 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); font-size:11px; line-height:1.7; white-space:normal; overflow-wrap:anywhere; }
.catalog-see-all:hover { border-color:var(--brand-bright); background:var(--brand-soft); }
.catalog-see-all [data-tier-count] { color:var(--muted); font-size:10px; }
.carousel-controls button:disabled { opacity:.35; cursor:default; }
.catalog-tier-links { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.catalog-tier-links a { display:block; padding:9px 14px; border:1px solid var(--line); border-radius:9px; background:var(--surface); font-size:12px; color:var(--ink); }
body[data-catalog=vip] #vip-section,body[data-catalog=vip] #premium-section,body[data-catalog=premium] #vip-section,body[data-catalog=premium] #premium-section { display:none; }
.floating-ad { position:fixed; z-index:80; left:50%; bottom:calc(18px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); width:min(780px,calc(100% - 32px)); max-height:180px; border:1px solid var(--line); border-radius:15px; background:var(--surface,#fff); color:var(--ink,#173a2e); box-shadow:0 12px 55px #0004; }
.floating-ad-content { display:flex; align-items:center; gap:22px; min-width:0; padding:15px 56px 15px 18px; color:inherit; text-decoration:none; border-radius:inherit; }
.floating-ad-content img { display:block; flex:0 0 38%; width:38%; max-height:135px; object-fit:contain; border-radius:8px; }
.floating-ad-copy { display:grid; gap:5px; min-width:0; max-height:135px; overflow-y:auto; overscroll-behavior:contain; }
.floating-ad-copy small { color:var(--muted); font-size:9px; letter-spacing:.04em; }
.floating-ad-copy strong { font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.floating-ad-copy span { color:var(--muted); font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
.floating-ad-close { position:absolute; z-index:1; right:8px; top:8px; display:grid; place-items:center; width:40px; height:40px; padding:10px; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--ink); cursor:pointer; }
.floating-ad-close svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.floating-ad-close:focus-visible { outline:2px solid var(--brand-bright); outline-offset:2px; }
body.has-floating-ad { padding-bottom:calc(205px + env(safe-area-inset-bottom,0px)); }
.ad-upload-controls { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:14px; border:1px dashed var(--line); border-radius:12px; }
.ad-upload-controls label { display:grid; gap:8px; min-width:0; flex:1 1 220px; font-size:11px; }
.ad-upload-controls input { width:100%; min-width:0; font-size:12px; }
.ad-upload-controls small { display:block; flex:1 1 100%; line-height:1.8; color:var(--muted); font-size:10px; }
.ad-mini-preview { min-height:170px; background-size:contain; background-repeat:no-repeat; }
.ad-editor button,.ad-editor label,.admin-ad-card { overflow-wrap:anywhere; }
@media(max-width:820px) {
 .home-page .listing-pagination { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:8px; width:100%; max-width:100%; }
 .home-page .listing-pagination button,.home-page .listing-pagination span { min-width:0; max-width:100%; width:auto; padding:9px 6px; font-size:10px; line-height:1.7; white-space:normal; overflow-wrap:anywhere; text-align:center; }
 .carousel-heading-actions { flex-wrap:wrap; justify-content:flex-end; gap:9px; }
 .catalog-see-all { font-size:10px; padding:8px 10px; }
 .floating-ad { width:calc(100% - 24px); max-height:148px; bottom:calc(94px + env(safe-area-inset-bottom,0px)); border-radius:12px; }
 .floating-ad-content { padding:12px 48px 12px 12px; gap:12px; }
 .floating-ad-content img { flex-basis:34%; width:34%; max-height:105px; }
 .floating-ad-copy { max-height:108px; gap:4px; }
 .floating-ad-copy strong { font-size:12px; }
 .floating-ad-copy span { font-size:10px; }
 .floating-ad-close { width:38px; height:38px; right:5px; top:5px; }
 body.has-property-actions .floating-ad { bottom:calc(165px + env(safe-area-inset-bottom,0px)); }
 body.has-mobile-nav.has-floating-ad,body.has-property-actions.has-floating-ad { padding-bottom:calc(310px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { .promotion-section>.cards { scroll-behavior:auto; } }
