:root{--brand:#a31342;--ink:#222b3b;--muted:#6f7684;--line:#e5e8ed;--bg:#f5f6f8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}header{background:white;border-bottom:1px solid var(--line)}.bar{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:20px}.brand{font-size:29px;font-weight:900;letter-spacing:-1.5px}.brand span{color:var(--ink)}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}main{max-width:1240px;margin:32px auto;padding:0 24px;min-height:65vh}h1,h2,h3{line-height:1.25}h1{font-size:36px;letter-spacing:-1px}h2{font-size:25px}h3{font-size:18px}.hero{text-align:center;padding:35px 18px 42px}.hero p,.muted,small{color:var(--muted)}.search{display:flex;gap:12px;max-width:870px;margin:28px auto 0}.search input,.search select{margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.panel,.notice{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.card h3{margin:0 0 14px}.cat-list{list-style:none;padding:0;margin:0}.cat-list li{padding:5px 0}.cat-list a{color:#4e5665}.card-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.card-head h2{margin:0}.cat-count{font-size:12px;background:#fbeaf0;border-radius:8px;padding:4px 10px;color:var(--brand)}button,.btn{background:var(--brand);color:white;border:0;border-radius:7px;padding:11px 17px;cursor:pointer;font:inherit;display:inline-block;line-height:1.4;white-space:nowrap}.btn:hover{text-decoration:none;filter:brightness(.94)}button.secondary,.btn.secondary{background:#edf0f4;color:var(--ink)}button.danger{background:#a82d3a}.outline{background:white!important;border:1px solid var(--line)!important;color:var(--ink)!important}.inline{display:inline-block;margin:3px}.inline button{padding:6px 10px;font-size:13px}label{display:block;font-weight:600;margin:15px 0}input,select,textarea{display:block;border:1px solid #d5d9e1;border-radius:7px;padding:12px 13px;width:100%;font:inherit;color:var(--ink);background:white;margin-top:6px}textarea{min-height:160px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;display:inline}input:focus,select:focus,textarea:focus{outline:2px solid #e4aec0;border-color:var(--brand)}.form{max-width:700px;margin:auto}.auth{max-width:460px;margin:45px auto}.auth h1{font-size:28px}.notice{background:#fff7df;border-color:#f1dc93;margin-bottom:20px}.error{background:#ffebee;border-color:#f1bdc7}.success{background:#e9f7ef;border-color:#b7dec9}.account-nav{margin-bottom:22px;background:white;padding:16px;border-radius:10px;border:1px solid var(--line)}.account-nav .active{font-weight:700;border-bottom:2px solid var(--brand)}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}td a{font-weight:500}.table-wrap{overflow-x:auto}.badge{display:inline-block;border-radius:20px;padding:4px 10px;font-size:12px;background:#f1edf4;color:#675375}.badge.published,.badge.successful{background:#e4f5e9;color:#267641}.badge.pending{background:#fff0ca;color:#886017}.badge.failed,.badge.rejected{background:#ffe7e9;color:#b32f42}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.ad{padding:23px;border-bottom:1px solid var(--line)}.ad h2{font-size:20px;margin:0 0 10px}.ad p{margin:8px 0;color:#656d79}.ad.priority{background:#fffbec}.meta{display:flex;gap:16px;color:var(--muted);font-size:13px}.cols{display:grid;grid-template-columns:1fr 290px;gap:24px}.body{white-space:pre-wrap;overflow-wrap:anywhere}.gallery{display:flex;gap:12px;flex-wrap:wrap}.gallery img{max-width:220px;max-height:180px;object-fit:contain;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat strong{display:block;font-size:30px}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:24px}.sidebar{align-self:start;position:sticky;top:20px;background:#242c3c;border-radius:12px;padding:16px;color:white}.sidebar a{color:#dce1ec;display:block;padding:7px 14px;font-size:14px}.sidebar h3{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#a8b1c4;margin:18px 14px 4px}.sidebar a.active{background:var(--brand);border-radius:6px;color:white}.admin-content{min-width:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pagination{display:flex;gap:8px;justify-content:center;margin:24px 0}.bubble{background:#f1f3f7;padding:15px;border-radius:9px;margin:12px 0}.bubble.mine{background:#f9e9ef;margin-left:30px}.footer{background:#e9ecf0;padding:35px 24px;margin-top:60px}.footer-inner{max-width:1192px;margin:auto}.footer nav{margin:20px 0}.mobile-toggle{display:none}.actions{white-space:nowrap}.category-child{padding-left:32px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.sidebar{position:static;display:flex;flex-wrap:wrap;gap:4px}.sidebar h3{width:100%}.sidebar a{padding:5px 10px}.cols{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.bar{padding:15px 18px;flex-wrap:wrap}.brand{font-size:25px}.bar nav{gap:10px;font-size:13px}main{padding:0 15px;margin-top:20px}h1{font-size:29px}.hero{padding:15px 0 28px}.grid,.split{grid-template-columns:1fr}.search{flex-direction:column}.card,.panel{padding:18px}.stats{gap:10px}.stat strong{font-size:25px}.account-nav{gap:12px;font-size:13px}.card-head{align-items:flex-start;flex-wrap:wrap}.mobile-toggle{display:inline-block}.gallery img{max-width:140px}}
.sidebar h3{color:#ff4343}.site-logo{display:block;max-width:230px;max-height:72px;width:auto;height:auto;object-fit:contain}.breadcrumbs{font-size:13px;color:var(--muted);margin:15px 0}.breadcrumbs a{margin-right:8px}
.mobile-menu-toggle{display:none}.menu-editor-list{list-style:none;padding:0;margin:24px 0}.menu-editor-row{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:14px;overflow:hidden}.menu-row-toolbar{display:flex;align-items:center;gap:12px;background:#f4f5f8;padding:10px}.menu-row-toolbar strong{flex:1;overflow-wrap:anywhere}.menu-row-actions{display:flex;gap:6px}.menu-row-fields{padding:8px 18px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.menu-row-fields label{min-width:0}.menu-row-fields input,.menu-row-fields select{min-width:0}.drag-handle{touch-action:none;cursor:grab;user-select:none;font-size:24px;min-width:44px;min-height:44px}.menu-editor-row.dragging{opacity:.7;border:2px dashed var(--brand)}.menu-save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;position:sticky;bottom:0;background:#fff;padding:15px 0;border-top:1px solid var(--line)}#menu-save-status{font-size:13px;color:var(--muted)}.categories-directory h2{font-size:20px;margin-top:0}.site-menu{margin-left:auto}
@media(max-width:768px){.bar{flex-wrap:wrap}.mobile-menu-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.site-menu{display:none;flex-basis:100%;width:100%;margin:0;padding:12px 0 0;border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-menu.open{display:flex}.site-menu>a{display:block;padding:13px 12px;border-bottom:1px solid var(--line)}.site-menu>.btn{text-align:center;margin-top:10px}.site-menu>.inline{margin:0;padding:8px 12px}.site-menu>.inline button{width:100%;padding:12px;text-align:left}.menu-row-fields{grid-template-columns:1fr}.menu-row-toolbar{flex-wrap:wrap}.menu-row-actions{margin-left:auto}.menu-row-actions button{padding:9px;min-height:42px}.menu-save-bar{position:static}}
[hidden]{display:none!important}.intro-text{white-space:pre-wrap}.home-intro-content{overflow-wrap:anywhere}.home-intro-content table{max-width:100%}.code-editor{font-family:ui-monospace,monospace;min-height:300px;line-height:1.6}
.home-hero.has-background{position:relative;isolation:isolate;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:12px;padding:100px 30px;overflow:hidden}.home-hero.has-background::before{content:"";position:absolute;inset:45px 0;background:rgba(255,255,255,.83);z-index:-1}.home-hero.has-background .home-intro-content,.home-hero.has-background .search{position:relative;z-index:1}.home-hero.has-background h1{color:#222b3b}.home-hero.has-background p{color:#4b5563}.home-background-preview{display:block;width:100%;max-width:600px;max-height:220px;object-fit:cover;border-radius:8px;margin:12px 0}@media(max-width:600px){.home-hero.has-background{padding:65px 18px}.home-hero.has-background::before{inset:20px 0}}
.page-navigation{gap:9px;align-items:center;flex-wrap:wrap}.page-number{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 14px;background:white;color:#222b3b;border-radius:15px;box-shadow:0 3px 8px #00000012;font-size:19px;text-decoration:none}.page-number:hover{background:#fbeaf0;text-decoration:none}.page-number.current{background:var(--brand);color:white}.page-dots{padding:0 12px;font-weight:700;color:#555}@media(max-width:600px){.page-navigation{gap:6px}.page-number{min-width:36px;height:40px;padding:0 10px;font-size:16px;border-radius:11px}.page-dots{padding:0 3px}}
/* Only homepage category cards: two columns on narrow/mobile screens. */
@media(max-width:1024px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}.home-category-grid>.card{min-width:0}.home-category-grid a{overflow-wrap:anywhere}}
@media(max-width:600px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-category-grid>.card{padding:14px 10px}.home-category-grid h3{font-size:16px;line-height:1.35;margin-bottom:10px}.home-category-grid .cat-list{font-size:13px;line-height:1.5}.home-category-grid .cat-list li{padding:5px 0}}

button.member-ban{background:#16803c;color:#fff}button.member-banned{background:#800020;color:#fff}

.account-ads-table{width:100%;table-layout:fixed}.account-ads-table th:nth-child(1){width:12%}.account-ads-table th:nth-child(2){width:30%}.account-ads-table td{overflow-wrap:anywhere}.account-ad-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.account-ad-actions .inline{margin:0}.account-ad-actions .btn,.account-ad-actions button{margin:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.account-ad-actions .ad-promote{background:#ffcf33;color:#000}.account-ad-actions .ad-edit{background:#e5e7eb;color:#c00000}.account-ad-actions .ad-unpublish{background:#c00000;color:#e5e7eb}.account-ad-actions-row td{padding-top:0;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.account-ad-actions a:hover{text-decoration:none;filter:brightness(.95)}
@media(max-width:760px){.account-listings{padding:16px}.account-ads-table,.account-ads-table tbody,.account-ads-table tr,.account-ads-table td{display:block;width:100%;box-sizing:border-box}.account-ads-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.account-ads-table .account-ad{border:1px solid #e5e7eb;border-radius:10px;margin:0 0 16px;padding:10px;background:#fff}.account-ads-table .account-ad-info td{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:10px;padding:9px 5px;border:0}.account-ad-info td::before{content:attr(data-label);font-weight:700;color:#4b5563}.account-ads-table .account-ad-actions-row td{border:0;padding:12px 4px 4px}.account-ad-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-ad-actions .btn,.account-ad-actions form,.account-ad-actions button{width:100%;box-sizing:border-box;font-size:12px;padding:10px 5px}.account-ad-actions form{grid-column:1/-1}.account-listings .card-head{flex-wrap:wrap;gap:10px}}

.account-ad-title-link{color:#0755ad;text-decoration:underline;text-underline-offset:3px;font-weight:700;display:inline-block;min-height:28px}.account-ad-title-link:hover{color:#a31342}.account-ad-title-link:focus-visible{outline:2px solid #0755ad;outline-offset:3px}

/* Compact account listing actions. */
.account-ad-actions{gap:7px}.account-ad-actions .btn,.account-ad-actions button{min-height:30px;padding:6px 10px;font-size:11px;line-height:1.3;border-radius:5px;font-weight:600;box-shadow:none}.account-ad-actions .ad-republish{background:#167541;color:#fff}.account-ad-actions-row td{padding-bottom:14px}
@media(max-width:760px){.account-ad-actions{display:flex;flex-wrap:wrap;gap:7px}.account-ad-actions .btn,.account-ad-actions button{width:auto;min-height:32px;padding:7px 9px;font-size:11px}.account-ad-actions form{width:auto;grid-column:auto}.account-ad-actions .inline{display:inline-flex}}

.approval-date-note{display:block;color:#6b7280;font-size:11px}

.favorite-entry{border-bottom:1px solid #e5e7eb;padding-bottom:16px;margin-bottom:16px}.favorite-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.favorite-actions button{min-height:32px;font-size:12px;padding:7px 12px}.badge.filtered{background:#fce7ef;color:#8c1644}

.ad-category-trail{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;border-top:1px solid #e2e6ec;margin-top:18px;padding-top:12px;font-size:12px;font-weight:400;line-height:1.6}.ad-category-trail a{color:#737b88;text-decoration:none;overflow-wrap:anywhere}.ad-category-trail a:hover{color:#a31342;text-decoration:underline}.ad-category-trail span{color:#9ca3af}@media(max-width:600px){.ad-category-trail{font-size:11px;margin-top:14px;padding-top:10px}}

.ad .ad-card-description{display:block;width:100%;max-width:none;white-space:pre-line;overflow:visible;overflow-wrap:anywhere;line-height:1.65}.ad-card-meta{align-items:center;flex-wrap:wrap;gap:8px 16px}.ad .ad-time-ago{color:#9ca3af;font-size:12px;font-weight:400}.ad-card-city{margin-left:auto}.ad h2{overflow-wrap:anywhere}@media(max-width:600px){.ad{padding:16px 10px}.ad-card-meta{gap:7px 12px}.ad .ad-time-ago{font-size:11px}}

.ad{margin-bottom:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.ad:last-child{margin-bottom:0}.ad.priority{background:#fffbec}.ad .ad-read-more{display:inline;color:var(--brand);font-weight:600;white-space:normal}.ad .ad-read-more:hover{text-decoration:underline}

.ad{position:relative}.ad-photo-icon{position:absolute;top:18px;right:18px;width:20px;height:20px;object-fit:contain;opacity:.45;pointer-events:none}.ad.has-photos h2{padding-right:30px}.gallery .gallery-photo-button{padding:0;margin:0;border:0;background:none;line-height:0;cursor:zoom-in;border-radius:8px}.gallery-photo-button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.photo-viewer-open{overflow:hidden}.photo-viewer{inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:70px 65px 30px;border:0;background:rgba(10,12,18,.94);color:#fff}.photo-viewer[open]{display:flex;align-items:center;justify-content:center}.photo-viewer::backdrop{background:rgba(0,0,0,.6)}.photo-viewer-content{display:flex;align-items:center;justify-content:center;flex-direction:column;max-width:100%;max-height:100%;gap:12px}.photo-viewer-image{display:block;object-fit:contain;max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}.photo-viewer-counter{margin:0;color:#d1d5db;font-size:14px}.photo-viewer-close{position:absolute;right:22px;top:18px;background:transparent;color:#fff;border:1px solid #ffffff66;border-radius:6px;padding:10px 16px;font-size:16px;font-weight:900;letter-spacing:.5px;min-height:44px}.photo-viewer-prev,.photo-viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:54px;padding:0;background:#ffffff22;color:#fff;font-size:40px;line-height:1;border:0;border-radius:6px}.photo-viewer-prev{left:12px}.photo-viewer-next{right:12px}.photo-viewer button:hover{background:#ffffff35}.photo-viewer button:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:600px){.ad-photo-icon{top:14px;right:12px;width:18px;height:18px}.photo-viewer{padding:72px 45px 24px}.photo-viewer-prev,.photo-viewer-next{width:34px;height:46px;font-size:32px}.photo-viewer-prev{left:5px}.photo-viewer-next{right:5px}.photo-viewer-close{right:12px;top:12px;font-size:15px}}
