/*
Theme Name: ParkSpace
Theme URI: https://example.com/parkspace
Author: ParkSpace
Description: A parking space marketplace theme. Drivers search and book parking by city, vehicle and price; owners list unused spaces, manage booking requests and pause or edit listings from a front-end dashboard. Includes filters, city pages, booking requests with price estimate, owner dashboard, login and sign-up, schema.org markup, dark mode and a mobile bottom bar.
Version: 1.4.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: parkspace
Tags: marketplace, directory, listings, responsive, custom-logo, dark-mode
*/

:root{
	--bg:#f3f6fb;--card:#ffffff;--tx:#0f172a;--mu:#5b6b82;--bd:#e1e7f0;
	--pr:#2563eb;--on-pr:#ffffff;--pr-soft:#e8f0ff;
	--ac:#fbbf24;--on-ac:#1c1400;
	--ok:#15803d;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--bad:#b91c1c;--bad-soft:#fee2e2;
	--hero1:#0b1f44;--hero2:#1d4ed8;
	--r:14px;--shadow:0 1px 2px rgba(15,23,42,.06),0 6px 20px rgba(15,23,42,.06);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
	--bg:#0a1120;--card:#111b30;--tx:#e8eefc;--mu:#97a6bf;--bd:#223152;
	--pr:#6aa6ff;--on-pr:#07101f;--pr-soft:#16254a;
	--ok:#4ade80;--ok-soft:#10301d;--warn:#fbbf24;--warn-soft:#352508;--bad:#fca5a5;--bad-soft:#3a1414;
	--hero1:#06122b;--hero2:#14357f;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
	--bg:#0a1120;--card:#111b30;--tx:#e8eefc;--mu:#97a6bf;--bd:#223152;
	--pr:#6aa6ff;--on-pr:#07101f;--pr-soft:#16254a;
	--ok:#4ade80;--ok-soft:#10301d;--warn:#fbbf24;--warn-soft:#352508;--bad:#fca5a5;--bad-soft:#3a1414;
	--hero1:#06122b;--hero2:#14357f;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.3);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--pr);text-underline-offset:2px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(26px,4.6vw,40px);font-weight:800}
h2{font-size:clamp(20px,3vw,26px);font-weight:750}
h3{font-size:17px;font-weight:700}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{width:min(780px,100% - 32px)}
.mu{color:var(--mu)}.small{font-size:13px}.center{text-align:center}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--pr);color:var(--on-pr);padding:8px 14px;border-radius:8px;z-index:100}
.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--ac);outline-offset:2px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Buttons & forms ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:11px;padding:10px 16px;font:inherit;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--pr);color:var(--on-pr)}
.btn-accent{background:var(--ac);color:var(--on-ac);box-shadow:0 2px 0 rgba(0,0,0,.12)}
.btn-ghost{background:var(--card);color:var(--tx);border-color:var(--bd)}
.btn-lg{padding:13px 22px;font-size:16px}.btn-sm{padding:6px 11px;font-size:13px}.btn-block{width:100%}
.btn.danger{color:var(--bad)}
.icon-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--bd);background:var(--card);color:var(--tx);font-size:18px;cursor:pointer}
.fld{display:grid;gap:5px;margin-bottom:12px;font-size:13px;font-weight:650;color:var(--mu)}
.fld input,.fld select,.fld textarea,input[type=search]{width:100%;padding:11px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx);font:inherit;font-weight:400}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--pr);outline:2px solid var(--pr-soft)}
textarea{resize:vertical}
.check{display:flex;gap:8px;align-items:center;font-size:14px;margin:6px 0}
.check input{width:18px;height:18px;accent-color:var(--pr)}
fieldset{border:1px solid var(--bd);border-radius:12px;padding:10px 14px 6px;margin:0 0 14px}
legend{font-size:13px;font-weight:700;color:var(--mu);padding:0 6px}
.amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));column-gap:12px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sp{justify-content:space-between}

.notice-wrap{padding-top:14px}
.notice{padding:12px 16px;border-radius:12px;font-weight:600;border:1px solid}
.notice-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}
.notice-err{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--card);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--bd);padding-top:env(safe-area-inset-top,0)}
.header-row{display:flex;align-items:center;gap:12px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx);font-weight:800;font-size:19px}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--pr);color:var(--on-pr);font-weight:900;box-shadow:inset 0 0 0 3px var(--ac)}
.custom-logo{max-height:44px;width:auto}
.site-nav{margin-left:auto;min-width:0}
.nav-list{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0;white-space:nowrap}
.nav-list a{display:block;padding:9px 10px;border-radius:9px;color:var(--tx);text-decoration:none;font-weight:650;font-size:14px;transition:background .18s ease,color .18s ease}
.nav-list a:hover,.nav-list .current-menu-item>a{background:var(--pr-soft);color:var(--pr)}
.header-actions{display:flex;gap:7px;align-items:center;flex:none}
.header-actions .btn{white-space:nowrap;padding:9px 11px;font-size:13px}
.header-actions .icon-btn{flex:none}
.menu-toggle{display:none;flex:none;margin-left:auto;border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:10px;padding:8px 12px;font:inherit;font-weight:650}

/* ---------- Hero ---------- */
.hero{color:#fff;background:linear-gradient(135deg,var(--hero1),var(--hero2));position:relative;overflow:hidden;padding:56px 0 64px}
.hero::before{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(251,191,36,.75) 46px 50px,transparent 50px 96px);opacity:.35;transform:skewX(-28deg) translateX(-40px)}
.hero-inner{position:relative}
.eyebrow{display:inline-block;background:var(--ac);color:var(--on-ac);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px;margin-bottom:14px}
.hero h1{max-width:18ch;color:#fff}
.lead{max-width:58ch;font-size:18px;opacity:.92}
.hero-search{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;background:var(--card);color:var(--tx);padding:14px;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.28);margin-top:22px;max-width:960px}
.hero-search .fld{margin:0}
.quick{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.quick a{display:block;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.quick a:hover{background:rgba(255,255,255,.26)}

.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-30px;position:relative}
.trust>div{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow);font-size:13px;line-height:1.35}
.trust b{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:var(--pr-soft);font-size:18px}
.section{padding:36px 0 4px}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.sec-head a{font-weight:650;text-decoration:none}

/* ---------- Cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px)}
.card-media{position:relative;display:block;aspect-ratio:16/10;background:var(--pr-soft);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:14px;display:grid;gap:6px;align-content:start}
.card h3{margin:0}.card h3 a{color:var(--tx);text-decoration:none}.card h3 a:hover{color:var(--pr)}
.card p{margin:0}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
.price b{font-size:18px}.price small{color:var(--mu);font-size:13px}
.ph{display:grid;place-items:center;width:100%;height:100%;min-height:120px;background:repeating-linear-gradient(135deg,var(--pr-soft) 0 14px,transparent 14px 28px),var(--bg);color:var(--pr)}
.ph b{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--pr);color:var(--on-pr);font-size:34px;box-shadow:inset 0 0 0 4px var(--ac)}
.ph-lg{min-height:340px;border-radius:var(--r)}
.badge{position:absolute;top:10px;left:10px;font-size:12px;font-weight:750;padding:3px 9px;border-radius:99px;background:var(--card);color:var(--tx)}
.badge-ok{color:var(--ok)}.badge-hot{background:var(--ac);color:var(--on-ac);left:auto;right:10px}
.chips{list-style:none;display:flex;gap:6px;flex-wrap:wrap}
.chips li{font-size:12.5px;padding:3px 9px;border-radius:99px;background:var(--pr-soft);color:var(--tx);border:1px solid var(--bd)}
.chips.big li{font-size:14px;padding:6px 12px}

.city-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.city-grid a{display:flex;flex-direction:column;padding:14px 16px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r);text-decoration:none;color:var(--tx)}
.city-grid a:hover{border-color:var(--pr)}.city-grid small{color:var(--mu)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps li{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:18px}
.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ac);color:var(--on-ac);margin-bottom:10px}
.steps p{margin:0;color:var(--mu)}
.cta-band{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,var(--hero1),var(--hero2));color:#fff;border-radius:20px;padding:28px}
.cta-band h2{color:#fff;margin-bottom:6px}.cta-band p{margin:0;opacity:.9;max-width:56ch}

/* ---------- Listing page ---------- */
.page-head{padding:26px 0 8px}
.listing-layout{display:grid;grid-template-columns:290px 1fr;gap:22px;align-items:start;padding-bottom:30px}
.filters{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:14px;position:sticky;top:80px}
.filters summary{font-weight:750;cursor:pointer;margin-bottom:10px}
.filters .amen{grid-template-columns:1fr}
.empty{text-align:center;padding:40px 16px;background:var(--card);border:1px dashed var(--bd);border-radius:var(--r)}
.navigation.pagination{margin:22px 0}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.page-numbers{padding:8px 14px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx);text-decoration:none;font-weight:650}
.page-numbers.current{background:var(--pr);color:var(--on-pr);border-color:var(--pr)}

/* ---------- Single space ---------- */
.crumbs{padding:16px 0 8px;font-size:14px;color:var(--mu)}
.space-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;align-items:start}
.gallery-main{position:relative;border-radius:var(--r);overflow:hidden;background:var(--pr-soft);aspect-ratio:3/2}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs{list-style:none;display:flex;gap:8px;margin-top:8px;overflow-x:auto}
.gallery-thumbs button{border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;background:none;cursor:pointer;width:84px;height:62px}
.gallery-thumbs button.on{border-color:var(--pr)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.space-head{margin:18px 0 10px}
.facts{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px}
.facts li{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:10px 12px}
.facts small{display:block;color:var(--mu);font-size:12px}
.block{margin:22px 0}
.prose{max-width:70ch}.prose img{border-radius:12px}
.map{width:100%;height:280px;border:1px solid var(--bd);border-radius:var(--r);margin-bottom:10px}
.book-card{position:sticky;top:80px;background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.rates{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.rates div{flex:1;min-width:90px;text-align:center;background:var(--pr-soft);border-radius:12px;padding:8px}
.rates b{display:block;font-size:20px}.rates small{color:var(--mu)}
.total{display:flex;justify-content:space-between;align-items:center;background:var(--warn-soft);color:var(--tx);border-radius:12px;padding:10px 14px;margin-bottom:12px}
.total strong{font-size:22px}

/* ---------- Forms, auth, panels ---------- */
.panel{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:20px;margin-bottom:20px}
.panel h2{margin-top:6px}
.space-form h2{font-size:18px;margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--bd)}
.space-form h2:first-of-type{margin-top:0}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:30px 0}
.form-page{padding-bottom:30px}

/* ---------- Dashboard ---------- */
.dash{padding-bottom:40px}
.dash-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;padding:26px 0 10px}
.dash-head h1{margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:10px 0 6px}
.stat{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:14px}
.stat b{display:block;font-size:28px;color:var(--pr);line-height:1.1}.stat span{color:var(--mu);font-size:13px}
.row-card{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--bd);border-left:4px solid var(--bd);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.row-card.st-pending{border-left-color:var(--warn)}.row-card.st-confirmed{border-left-color:var(--ok)}.row-card.st-declined,.row-card.st-cancelled{border-left-color:var(--bad)}
.row-main{min-width:0;flex:1 1 280px}.row-side{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pill{font-size:12px;font-weight:750;padding:3px 10px;border-radius:99px;background:var(--pr-soft)}
.pill-pending{background:var(--warn-soft);color:var(--warn)}.pill-confirmed{background:var(--ok-soft);color:var(--ok)}
.pill-declined,.pill-cancelled{background:var(--bad-soft);color:var(--bad)}
.reveal{margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--ok-soft);color:var(--tx);font-size:14px}

/* ---------- Footer ---------- */
.site-footer{margin-top:56px;background:var(--card);border-top:1px solid var(--bd);padding-top:34px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:22px}
.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--mu)}
.footer-grid nav,.footer-grid>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.footer-grid a:not(.brand){color:var(--tx);text-decoration:none}.footer-grid a:not(.brand):hover{color:var(--pr)}
.footer-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:20px 0 28px;margin-top:20px;border-top:1px solid var(--bd);color:var(--mu);font-size:13px}
.bottom-nav{display:none}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
	.header-row{gap:8px}.nav-list a{padding:8px 7px;font-size:13px}.header-actions{gap:5px}.header-actions .btn{padding:8px 9px;font-size:12px}
}
@media(max-width:960px){
	.hero-search{grid-template-columns:1fr 1fr}.hero-search .btn{grid-column:1/-1}
	.trust{grid-template-columns:repeat(2,1fr)}
	.listing-layout,.space-layout,.auth-grid{grid-template-columns:1fr}
	.filters,.book-card{position:static}
	.footer-grid{grid-template-columns:1fr 1fr}
	.steps{grid-template-columns:1fr}
}
@media(max-width:780px){
	.menu-toggle{display:inline-flex;gap:7px;align-items:center}
	.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--bd);padding:10px 16px 16px;margin:0;box-shadow:var(--shadow);max-height:calc(100vh - 90px);overflow-y:auto}
	.site-nav.is-open{display:block}
	.nav-list{flex-direction:column;align-items:stretch;gap:3px;white-space:normal;margin:0;padding:0}
	.nav-list li{width:100%}.nav-list a{padding:12px 14px;font-size:15px;border-radius:10px}
	.header-row{position:relative}.header-actions{margin-left:0;gap:0}.header-actions .account-action,.header-actions .watch-action,.header-actions .join-action,.header-actions .list-action{display:none}
	.header-actions #theme-toggle{width:38px;height:38px}
	.brand{font-size:17px}.custom-logo{max-height:38px;width:auto}
	.hero{padding:36px 0 52px}
	.two,.three{grid-template-columns:1fr}
	body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}
	.bottom-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom,0)}
	.bottom-nav a{display:flex;flex-direction:column;align-items:center;padding:8px 0;color:var(--mu);text-decoration:none;font-size:18px;line-height:1.1}
	.bottom-nav small{font-size:10px;font-weight:650;white-space:nowrap}
}
@media(max-width:520px){.header-row{gap:7px;min-height:60px}.brand-mark{width:32px;height:32px}.brand-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{padding:7px 9px;font-size:13px}.hero-search{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.trust{grid-template-columns:1fr}}
@media print{.site-header,.site-footer,.bottom-nav,.book-card{display:none}}

/* ---------- Ads ---------- */
.ps-ad{display:block;margin:18px auto;max-width:1180px;padding:0 16px;text-align:center;overflow:hidden;clear:both}
.ps-ad-body{display:flex;justify-content:center;align-items:center;min-height:50px;max-width:100%;overflow:hidden}
.ps-ad-body>*{max-width:100%}
.ps-ad-label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);margin-bottom:4px}
.ps-ad--header-below{margin-top:10px;margin-bottom:6px}
.ps-ad--header-below .ps-ad-body,.ps-ad--home-top .ps-ad-body,.ps-ad--list-top .ps-ad-body{min-height:90px}
.ps-ad--single-top .ps-ad-body,.ps-ad--single-mid .ps-ad-body,.ps-ad--single-side .ps-ad-body,.ps-ad--content-inline .ps-ad-body,.ps-ad--home-mid .ps-ad-body{min-height:250px}
.listing-layout .ps-ad,.space-layout .ps-ad{padding:0;max-width:none}
.ps-ad-row{grid-column:1/-1}
.ps-ad-row .ps-ad{margin:4px 0;padding:12px;background:var(--card);border:1px solid var(--bd);border-radius:14px}
.book-card .ps-ad{margin:18px 0 0;padding:0}
.ps-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--card);border-top:1px solid var(--bd);box-shadow:0 -4px 16px rgba(0,0,0,.12);padding:4px 0 env(safe-area-inset-bottom,0)}
.ps-sticky .ps-ad{margin:0;padding:2px 36px 2px 8px}
.ps-sticky .ps-ad-body{min-height:50px}
.ps-sticky-x{position:absolute;right:6px;top:-26px;width:30px;height:26px;border:1px solid var(--bd);border-bottom:0;border-radius:8px 8px 0 0;background:var(--card);color:var(--tx);font-size:18px;line-height:1;cursor:pointer}
@media(max-width:780px){.ps-sticky{bottom:calc(64px + env(safe-area-inset-bottom,0));padding-bottom:0}}
.ps-ad-gap{display:none}

/* ---------- Google login ---------- */
.auth-google{max-width:420px;margin:0 auto 18px;text-align:center}
.auth-google h2{margin:0 0 4px}
.ps-google{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0 0;min-height:44px}
.ps-google-err{color:var(--bad);margin:0}
.ps-or{display:none}

/* ---------- Careers / job listings ---------- */
.careers-page{padding-top:28px;padding-bottom:36px}.careers-hero{padding:34px clamp(18px,4vw,42px);border-radius:22px;background:linear-gradient(135deg,var(--hero1),var(--hero2));color:#fff;margin-bottom:22px}.careers-hero h1{color:#fff;margin-top:8px}.careers-hero p{max-width:720px;margin-bottom:0;color:rgba(255,255,255,.88);font-size:17px}.career-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:var(--card);border:1px solid var(--bd);border-radius:14px;margin-bottom:26px}.career-filter label{font-weight:700}.career-filter select{min-width:200px;max-width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx);font:inherit}.career-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.career-card{min-width:0;background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.career-card h3{margin:0;font-size:20px;overflow-wrap:anywhere}.career-card h3 a{color:var(--tx);text-decoration:none}.career-card h3 a:hover{color:var(--pr)}.career-card p{margin:0;color:var(--mu);font-size:14px}.career-card-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.career-dept,.career-type{display:inline-flex;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--pr-soft);color:var(--pr)}.career-type{background:var(--bg);color:var(--mu)}.career-location{font-size:13px!important;font-weight:650}.career-salary{font-size:13px;font-weight:750;margin-top:auto;padding-top:8px}.career-card .btn{margin-top:4px}.career-empty{background:var(--card);border:1px dashed var(--bd);border-radius:16px;text-align:center;padding:36px 18px}.job-detail{max-width:900px;padding-top:28px;padding-bottom:40px}.back-careers{display:inline-block;margin-bottom:14px;font-weight:700;text-decoration:none}.job-detail-card{background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:clamp(20px,5vw,44px);box-shadow:var(--shadow)}.job-detail-card h1{margin-top:16px}.job-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0;padding:16px;border:1px solid var(--bd);border-radius:12px}.job-facts div{min-width:0;display:grid;gap:5px}.job-facts small{color:var(--mu)}.job-facts strong{overflow-wrap:anywhere}.job-description{margin:24px 0}.job-description ul,.job-description ol{padding-left:24px;margin:0 0 1em}.job-detail-card .btn{max-width:100%}
@media(max-width:1000px){.career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.career-grid{grid-template-columns:1fr}.careers-hero{padding:26px 20px}.career-filter{align-items:stretch}.career-filter label{width:100%}.career-filter select{flex:1;min-width:0;width:100%}.career-filter .btn{flex:1}.job-facts{grid-template-columns:1fr}.career-card{padding:18px}.job-detail-card{padding:22px 18px}}
@media(min-width:1400px){.career-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v1.3.0: story publishing and daily engagement */
.ps-story-hub{max-width:1100px;margin:0 auto;padding:24px 0;color:var(--ps-text,#172033)}.ps-story-intro{padding:clamp(24px,5vw,52px);border-radius:24px;background:linear-gradient(135deg,#102a43,#245b78);color:#fff}.ps-story-kicker,.ps-daily-label,.ps-eyebrow{font-size:.76rem;letter-spacing:.13em;font-weight:800}.ps-story-intro h2{font-size:clamp(2rem,5vw,3.2rem);margin:.55rem 0}.ps-story-intro p{max-width:720px;line-height:1.7}.ps-story-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.ps-story-options article{border:1px solid #dce3eb;border-radius:18px;padding:24px;background:#fff}.ps-story-options .ps-story-paid{background:#f3f8fc;border-color:#b8d1e1}.ps-story-options h3,.ps-story-form h3,.ps-story-latest h3{margin-top:0}.ps-story-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 18px;background:#145d83;color:#fff!important;font-weight:750;text-decoration:none;cursor:pointer;line-height:1.3}.ps-story-button:hover{filter:brightness(.93)}.ps-story-button--light{background:#eaf2f7;color:#123b52!important}.ps-story-form{margin:28px 0;padding:clamp(18px,4vw,34px);border:1px solid #dce3eb;border-radius:20px;background:#fff;display:grid;gap:16px}.ps-story-form label{display:grid;gap:7px;font-weight:650}.ps-story-form input[type=text],.ps-story-form input[type=email],.ps-story-form select,.ps-story-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5df;border-radius:9px;padding:12px;font:inherit;background:#fff;color:#172033}.ps-story-form textarea{resize:vertical}.ps-story-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.ps-story-submit-row{display:flex;gap:12px;flex-wrap:wrap}.ps-story-small{font-size:.85rem;color:#586779}.ps-story-notice{padding:14px;border-radius:10px;background:#edf8ef;border:1px solid #a8d8b1;color:#205c2c}.ps-story-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ps-story-card{border:1px solid #e0e6ec;border-radius:16px;overflow:hidden;padding:16px;background:#fff}.ps-story-card>a{color:inherit;text-decoration:none}.ps-story-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px}.ps-story-card h4{margin:12px 0 6px}.ps-story-card p{line-height:1.6}.ps-daily-engagement{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:22px;align-items:center;margin:24px 0;padding:24px;border:1px solid #d8e2eb;border-radius:20px;background:#f5f9fc}.ps-daily-engagement h3{margin:.4rem 0}.ps-daily-copy p{line-height:1.6}.ps-daily-button{display:inline-flex;border:0;border-radius:9px;padding:11px 16px;background:#145d83;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.ps-daily-button:disabled{opacity:.75;cursor:default}.ps-daily-streak{font-size:.95rem}.ps-daily-ad-area{min-width:0}.ps-daily-ad-area>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#667789;margin-bottom:8px}.ps-daily-ad-area .ps-ad{margin:0}.ps-story-page .ps-container{max-width:1180px;margin:0 auto;padding:24px}.ps-story-page .ps-page-heading>h1{font-size:clamp(2rem,5vw,3.2rem)}@media(max-width:700px){.ps-story-options,.ps-story-list,.ps-daily-engagement{grid-template-columns:1fr}.ps-story-submit-row{display:grid}.ps-story-submit-row .ps-story-button{width:100%;box-sizing:border-box}.ps-story-hub{padding:12px 0}.ps-daily-engagement{padding:18px}}

/* Sponsored content submission */
.ps-sponsored-submit{max-width:900px;margin:24px auto;padding:clamp(16px,3vw,30px);color:var(--ps-text,#172033)}.ps-sponsored-submit__intro{padding:clamp(22px,4vw,40px);border-radius:20px;background:linear-gradient(135deg,#102a43,#245b78);color:#fff}.ps-sponsored-submit__intro>span{font-size:.75rem;font-weight:800;letter-spacing:.12em}.ps-sponsored-submit__intro h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:.6rem 0}.ps-sponsored-submit__intro p{line-height:1.7;max-width:720px}.ps-sponsored-form{display:grid;gap:16px;margin-top:20px;padding:clamp(18px,4vw,30px);border:1px solid #dce3eb;border-radius:18px;background:#fff}.ps-sponsored-form label{display:grid;gap:7px;font-weight:650}.ps-sponsored-form input[type=text],.ps-sponsored-form input[type=email],.ps-sponsored-form input[type=url],.ps-sponsored-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5df;border-radius:9px;padding:12px;font:inherit;background:#fff;color:#172033}.ps-sponsored-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.ps-sponsored-button{justify-self:start;border:0;border-radius:10px;padding:12px 18px;background:#145d83;color:#fff;font-weight:750;cursor:pointer}.ps-sponsored-notice{padding:14px;border-radius:10px;background:#edf8ef;border:1px solid #a8d8b1;color:#205c2c}@media(max-width:600px){.ps-sponsored-button{width:100%}}


/* Abby Bhau live show promotion */
.live-show-promo{padding-top:24px;padding-bottom:12px}
.live-show-card{border:1px solid var(--bd);border-radius:18px;padding:clamp(20px,4vw,36px);background:var(--card);box-shadow:var(--shadow)}
.live-show-card .eyebrow{margin-bottom:12px}
.live-show-card h2{margin-top:4px}
.live-show-actions{margin:18px 0 12px;gap:10px}
.live-show-card .small{max-width:760px;margin-bottom:0}
@media(max-width:600px){.live-show-actions{align-items:stretch;flex-direction:column}.live-show-actions .btn{width:100%;text-align:center}.live-show-card{padding:20px}}


/* v1.3.4: Google login/sign-up clarity and responsive presentation */
.auth-google{max-width:520px;margin:0 auto 22px;text-align:center;padding:clamp(20px,4vw,30px)}
.auth-google h2{margin:0 0 8px}
.auth-google .ps-google{width:100%;align-items:center}
.auth-google .ps-google-btn{max-width:100%;min-height:44px}
.ps-google-privacy{font-size:12px;color:var(--mu);margin:12px 0 0;line-height:1.5}
.ps-google-privacy a{font-weight:700}
.ps-auth-divider{display:flex;align-items:center;gap:12px;color:var(--mu);font-size:12px;margin:18px 0 0}
.ps-auth-divider:before,.ps-auth-divider:after{content:"";height:1px;background:var(--bd);flex:1}
.ps-google-err{overflow-wrap:anywhere}
@media(max-width:520px){.auth-google{padding:18px 14px}.auth-google .ps-google-btn{width:100%}}

/* Local-business advertising promotion */
.ps-advertise-card{background:linear-gradient(135deg,var(--hero1),var(--hero2));color:#fff;border-radius:18px;padding:clamp(20px,4vw,36px);box-shadow:var(--shadow)}
.ps-advertise-card .eyebrow,.ps-advertise-card p{color:#eef4ff}
.ps-advertise-card h2{color:#fff}
.ps-advertise-card .btn{margin-top:4px}
@media(max-width:360px){.bottom-nav small{font-size:9px}.bottom-nav a{font-size:16px;padding-inline:1px}}
