/* Public discovery and business management, shared with the existing theme. */
.nav-campaign-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
#mainnav .nav-campaigns { display:flex; align-items:center; justify-content:center; padding-right:8px; }
.app-downloads { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:28px 32px; margin:28px 0; border-radius:22px; border:1px solid var(--bg-input-border,#ddd); background:var(--card-bg); }
.app-downloads h2 { font-size:25px; margin:7px 0 8px; }
.app-downloads p { font-size:14px; margin:0; opacity:.7; }
.app-download-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.app-download-button { display:flex; align-items:center; gap:12px; border:1px solid var(--bg-input-border,#ddd); border-radius:13px; padding:12px 18px; color:var(--text-color); background:var(--bg-color); min-width:164px; }
.app-download-button svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; }
.app-download-button small { display:block; font-size:10px; opacity:.7; }
.app-download-button strong { display:block; font-size:18px; font-weight:600; }
.app-download-button--soon { opacity:.6; }
.post-location-editor { overflow-wrap:anywhere; }
.post-coordinate-actions { display:flex; flex-wrap:wrap; gap:8px; }
.post-coordinate-actions input { flex:1; min-width:160px; }
.post-location-editor .post-location-input { min-width:0; }
.post-location-editor .btn { white-space:normal; }
@media(max-width:575px) { .app-downloads { padding:22px 18px; gap:20px; } .app-download-buttons { width:100%; gap:8px; } .app-download-button { flex:1; min-width:0; padding:12px 10px; gap:8px; } .app-download-button strong { font-size:16px; } }
.web-language { position:relative; display:inline-block; flex-shrink:0; color:var(--text-color); }
.web-language summary { display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid var(--bg-input-border,#ddd); border-radius:24px; cursor:pointer; font-size:14px; font-weight:600; list-style:none; white-space:nowrap; }
.web-language summary::-webkit-details-marker,.post-location-details summary::-webkit-details-marker { display:none; }
.web-language summary>span { font-size:19px; line-height:1; }
.web-language-options { position:absolute; right:0; top:calc(100% + 8px); width:174px; padding:6px; border:1px solid var(--bg-input-border,#ddd); border-radius:14px; background:var(--card-bg); box-shadow:0 12px 28px #0002; z-index:1040; }
.web-language-options a { display:flex; align-items:center; gap:8px; padding:9px; border-radius:8px; color:var(--text-color); font-size:14px; }
.web-language-options a small { margin-left:auto; opacity:.65; font-size:12px; }
.web-language-options a:hover,.web-language-options a[aria-current] { background:var(--bg-color); color:#168a91; }
#mainnav .navbar-brand { min-width:0; flex-shrink:1; }
#mainnav .navbar-brand img { max-width:100%; }
#mainnav .navbar-nav { align-items:center; }
#mainnav .nav-language-item { padding:4px 12px 4px 0; }
#mainnav .nav-campaigns { font-size:15px; font-weight:600; padding-right:14px; }
#mainnav .dropdown-menu { max-width:calc(100vw - 32px); }
#mainnav .dropdown-item { white-space:normal; overflow-wrap:anywhere; }
.discovery-header-actions { display:flex; align-items:center; gap:24px; }
.discovery-header-actions>a { color:var(--text-color); font-size:15px; font-weight:600; }
.post-location-details { margin:12px 0 20px; }
.post-location-details summary { display:inline-flex; align-items:center; gap:10px; list-style:none; cursor:pointer; border:1px solid var(--bg-input-border,#ddd); color:#168a91; background:var(--bg-color); border-radius:24px; padding:9px 13px; }
.post-location-details summary svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.post-location-details[open] summary { background:#168a9118; }
.post-location-panel { padding:18px; margin-top:12px; border:1px solid var(--bg-input-border,#ddd); background:var(--card-bg); border-radius:16px; overflow-wrap:anywhere; }
.post-location-panel>div+div { margin-top:16px; }
.post-location-panel a { font-weight:600; }
.post-location-panel span { margin-left:10px; font-size:14px; opacity:.7; }
.post-location-panel p { margin:6px 0 12px; }
.post-location-panel small { display:block; opacity:.7; }
.business-panel { max-width:1200px; }
.business-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.web-eyebrow { color:#168a91; font-size:11px; letter-spacing:1.5px; font-weight:700; }
.business-heading h1,.campaign-heading h1 { font-size:clamp(26px,3vw,36px); font-weight:700; margin:7px 0 10px; }
.business-heading p { margin:0; opacity:.65; font-size:15px; }
.business-actions { display:flex; flex-wrap:wrap; gap:10px; }
.business-actions .btn { font-size:14px; padding:11px 16px; border-radius:11px; }
.business-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:28px; }
.business-stats>div { padding:19px 24px; background:var(--card-bg); border:1px solid var(--bg-input-border,#ddd); border-radius:16px; }
.business-stats strong { display:block; font-size:28px; line-height:1.3; font-weight:700; }
.business-stats span { display:block; font-size:13px; margin-top:5px; opacity:.65; }
.business-workspace { background:var(--card-bg); border:1px solid var(--bg-input-border,#ddd); border-radius:18px; }
.business-tabs { display:flex; gap:28px; padding:0 24px; border-bottom:1px solid var(--bg-input-border,#ddd); }
.business-tabs a { display:flex; align-items:center; gap:8px; padding:18px 0; font-size:15px; color:var(--text-color); border-bottom:3px solid transparent; }
.business-tabs a[aria-current] { color:#168a91; border-color:#168a91; font-weight:600; }
.business-tabs span { background:var(--bg-color); border-radius:16px; padding:2px 7px; font-size:12px; }
.business-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:20px 24px; }
.business-search { flex:1; min-width:180px; }
.business-filters .form-control,.business-filters .form-select,.campaign-filters .form-control,.campaign-filters .form-select { font-size:14px; border-radius:10px; min-height:44px; }
.business-filters .btn { font-size:14px; border-radius:10px; min-height:44px; }
.business-reset { font-size:13px; }
.business-record { display:grid; grid-template-columns:minmax(0,1fr) 180px 105px 165px; align-items:center; gap:20px; padding:18px 24px; border-top:1px solid var(--bg-input-border,#ddd); }
.business-record--location { grid-template-columns:minmax(0,1fr) 105px 100px; }
.business-record-title { min-width:0; }
.business-record-title h2 { font-size:15px; line-height:1.5; font-weight:600; margin:0 0 4px; overflow-wrap:anywhere; }
.business-record-title p { font-size:12px; margin:0; opacity:.65; overflow-wrap:anywhere; }
.business-record-date { font-size:12px; }
.business-record-date small { display:block; font-size:11px; opacity:.65; margin-top:4px; }
.business-status { justify-self:start; font-size:11px; font-weight:600; padding:5px 9px; border-radius:20px; background:#8893a320; color:var(--text-color); white-space:nowrap; }
.business-status--active { color:#13734d; background:#21ad7020; }
.business-status--scheduled { color:#5750ba; background:#7c68e520; }
.business-status--expired { color:#986017; background:#dd9a3020; }
.business-record-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:12px; }
.business-record-actions form { margin:0; }
.business-delete { color:#b84d56; border:0; background:none; padding:5px 0; font-size:12px; }
.business-pagination { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:18px 24px; border-top:1px solid var(--bg-input-border,#ddd); }
.business-pagination>span { font-size:12px; opacity:.65; }
.business-pagination .pagination { margin:0; }
.business-footer-links { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; font-size:13px; }
.web-empty { padding:48px 24px; text-align:center; }
.web-empty h2 { font-size:20px; }
.web-empty p { opacity:.65; font-size:14px; }
.campaign-heading { padding:12px 0 24px; }
.campaign-heading p { opacity:.65; margin:0; }
.campaign-filters { display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:12px; padding:20px; background:var(--card-bg); border:1px solid var(--bg-input-border,#ddd); border-radius:16px; margin-bottom:24px; }
.campaign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.campaign-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:18px; border:1px solid var(--bg-input-border,#ddd); background:var(--card-bg); }
.campaign-card-media { display:block; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#e7f4f1,#ece7f5); }
.campaign-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.campaign-card:hover img { transform:scale(1.03); }
.campaign-card-placeholder { display:flex; height:100%; align-items:center; justify-content:center; color:#168a91; font-size:40px; }
.campaign-card-body { display:flex; flex:1; flex-direction:column; gap:12px; padding:22px; }
.campaign-card-body h2 { margin:0; font-size:20px; line-height:1.4; overflow-wrap:anywhere; }
.campaign-card-body h2 a { color:var(--text-color); }
.campaign-card-category { font-size:11px; color:#168a91; font-weight:600; }
.campaign-card-description { font-size:14px; opacity:.75; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; overflow-wrap:anywhere; }
.campaign-card-location { font-size:12px; margin:0; opacity:.65; }
.campaign-card-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--bg-input-border,#ddd); display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center; font-size:12px; }
.campaign-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:32px 0; font-size:14px; }
@media(min-width:1200px) { #mainnav .navbar-brand { max-width:240px; } #mainnav .nav-link.me-3 { margin-right:.65rem!important; } }
@media(max-width:1199px) { #mainnav .navbar-nav { align-items:stretch; } #mainnav .nav-language-item { padding:10px 0; } #mainnav .web-language-options { right:auto; left:0; } #mainnav .dropdown-menu-end { right:0; left:auto; } }
@media(max-width:991px) { .business-heading { align-items:flex-start; flex-direction:column; } .business-record { grid-template-columns:minmax(0,1fr) 100px 155px; gap:16px; } .business-record-date { grid-column:1; grid-row:2; } .business-record-actions { grid-column:3; grid-row:1 / span 2; } .business-record--location .business-record-actions { grid-row:1; } .campaign-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .campaign-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:575px) {
 #mainnav .navbar-brand { max-width:155px; margin-right:4px; } #mainnav .navbar-toggler { padding:6px; } #mainnav>.navbar-nav { margin-right:8px!important; }
 .business-panel { padding-top:28px!important; } .business-actions { width:100%; } .business-actions .btn { flex:1; padding:10px 8px; font-size:12px; }
 .business-stats { gap:8px; margin-bottom:20px; } .business-stats>div { padding:14px 10px; border-radius:12px; } .business-stats strong { font-size:24px; } .business-stats span { font-size:10px; }
 .business-tabs { padding:0 16px; gap:24px; } .business-filters { padding:16px; } .business-search { flex-basis:100%; min-width:0; } .business-filters>div:not(.business-search) { flex:1; min-width:0; }
 .business-record,.business-record--location { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:16px; }
 .business-record .business-status { grid-column:2; grid-row:1; } .business-record-date { grid-column:1 / -1; grid-row:2; } .business-record-date small { display:inline; margin-left:8px; }
 .business-record .business-record-actions { grid-column:1 / -1; grid-row:3; gap:22px; }
 .business-record--location .business-record-actions { grid-row:2; }
 .business-pagination { padding:16px; } .business-pagination nav { max-width:100%; } .business-pagination .page-link { min-width:32px; padding:5px 8px; font-size:13px; }
 .campaign-filters { grid-template-columns:minmax(0,1fr); padding:16px; } .campaign-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .campaign-card-body { padding:20px; }
 .discovery-header-actions { gap:14px; } .discovery-header-actions>a { font-size:13px; }
}
