/* Public portal refresh. Keep map controls and admin layouts independent. */
.ip-advanced-toggle { display:none; }
body.viipip-site .ip-card-decision .ip-card-link { flex:none; }
body.viipip-site .ip-card-decision .ip-card-body { flex:1; }
body.viipip-site .ip-card-decision .ip-card-body { gap:4px; }
body.viipip-site .ip-card-decision .ip-card-title a { color:inherit; }
body.viipip-site .ip-card-decision .ip-card-title a:hover { color:var(--ocean-brand); }
body.viipip-site .ip-card-decision.ip-card-illustration .ip-card-img { height:112px; }
body.viipip-site .ip-card-decision .ip-card-metrics dd { font-size:17px; }
body.viipip-site .ip-card-decision .ip-card-compare { justify-content:flex-end; padding:8px 16px; }
.ip-source-disclosure { margin-top:4px; font-size:11px; color:var(--ocean-text-tertiary); }
.ip-source-disclosure summary { display:flex; align-items:center; gap:4px; cursor:pointer; min-height:28px; list-style:none; }
.ip-source-disclosure summary::-webkit-details-marker { display:none; }
.ip-source-disclosure summary svg { width:14px; height:14px; flex:none; }
.ip-source-disclosure.is-verified summary { color:#067647; }
.ip-source-disclosure summary:hover { text-decoration:underline; }
.ip-source-content { display:flex; flex-direction:column; gap:6px; border-left:2px solid var(--ocean-border); padding:8px; margin:4px 0; overflow-wrap:anywhere; line-height:1.5; }
.ip-source-content small { font-size:11px; }
@media(min-width:768px) {
 body.viipip-site .ip-advanced-toggle { display:block; margin-left:auto; background:white; border:1px solid var(--ocean-border); border-radius:8px; padding:8px 14px; min-height:40px; color:var(--ocean-brand); }
 body.viipip-site .ip-discovery-list .industrial-filter form { display:grid; grid-template-columns:2fr 1fr 1fr auto; align-items:end; }
 body.viipip-site .ip-discovery-list .industrial-filter .field { min-width:0!important; }
 body.viipip-site .ip-discovery-list .industrial-filter:not(.show-advanced) .field:has([name=region_id]),
 body.viipip-site .ip-discovery-list .industrial-filter:not(.show-advanced) .field:has([name=type_id]),
 body.viipip-site .ip-discovery-list .industrial-filter:not(.show-advanced) .field:has([name=dir]),
 body.viipip-site .ip-discovery-list .industrial-filter:not(.show-advanced) .field:has([name=show]) { display:none; }
 body.viipip-site .ip-discovery-list .industrial-filter .field:has([name=q]) { order:-3; }
 body.viipip-site .ip-discovery-list .industrial-filter .field:has([name=province_id]) { order:-2; }
 body.viipip-site .ip-discovery-list .industrial-filter .field:has([name=sort]) { order:-1; }
 body.viipip-site .ip-discovery-list .industrial-filter .field.industrial-filter-actions { grid-column:auto; }
}
body.viipip-site .vp-header { background:var(--ocean-bg); }
body.viipip-site .vp-header-main { min-height:88px; }
body.viipip-site .vp-brand-name { font-size:30px; }
body.viipip-site .vp-search { background:var(--ocean-bg-secondary); border-color:var(--ocean-border-secondary); }
body.viipip-site .vp-search input { background:transparent; }
body.viipip-site .vp-nav { min-height:52px; gap:28px; }
body.viipip-site .vp-nav a { font-size:13px; transition:color .16s ease; }
body.viipip-site .vp-saved { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; }
body.viipip-site .vp-saved:hover { background:var(--ocean-brand-subtle); }
body.viipip-site .industrial-page-header { padding:8px 0 24px; margin-bottom:24px; border-bottom:1px solid var(--ocean-border-secondary); }
body.viipip-site .industrial-page-header-main { gap:10px; }
body.viipip-site .industrial-page-header h1 { font-size:30px; line-height:1.25; }
body.viipip-site .ip-discovery-list .industrial-filter { padding:20px 0; border:0; border-bottom:1px solid var(--ocean-border-secondary); border-radius:0; background:transparent; margin-bottom:28px; box-shadow:none; }
body.viipip-site .ip-discovery-list .industrial-filter form { gap:16px 12px; }
body.viipip-site .industrial-filter label { font-size:12px; text-transform:none; letter-spacing:0; }
body.viipip-site :is(.vp-home,.ip-discovery-list) .ip-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.viipip-site .ip-card-decision { position:relative; border:1px solid var(--ocean-border-secondary); border-radius:8px; box-shadow:none; overflow:hidden; transition:border-color .18s ease,box-shadow .18s ease; }
body.viipip-site .ip-card-decision:hover { transform:none; border-color:#a4bcfd; box-shadow:0 4px 12px #1018280a; }
body.viipip-site .ip-card-decision .ip-card-img { height:180px; aspect-ratio:auto; background:#f5f7f8; }
body.viipip-site .ip-card-decision .ip-card-img img { width:100%; height:100%; object-fit:cover; }
body.viipip-site .ip-card-illustration .ip-card-img img { object-fit:contain; }
body.viipip-site .ip-card-decision .ip-card-body { padding:20px; }
body.viipip-site .ip-card-decision .ip-card-title { font-size:19px; line-height:1.4; min-height:54px; margin:10px 0; }
body.viipip-site .ip-card-kicker { gap:8px; }
body.viipip-site .ip-card-kicker span { border:0; background:transparent; padding:0; color:var(--ocean-text-tertiary); font-size:11px; }
body.viipip-site .ip-card-kicker span+span { border-left:1px solid var(--ocean-border); padding-left:8px; }
body.viipip-site .ip-card-meta { margin-bottom:16px; }
body.viipip-site .ip-card-metrics { margin-top:0; gap:14px; padding-top:16px; border-top:1px solid var(--ocean-border-secondary); }
body.viipip-site .ip-card-metrics dd { font-size:18px; line-height:1.4; font-variant-numeric:tabular-nums; }
body.viipip-site .ip-card-metrics dt { color:var(--ocean-text-tertiary); }
body.viipip-site .ip-card-metrics>div { min-width:0; }
body.viipip-site .ip-card-metrics>div:last-child { padding-top:12px; }
body.viipip-site .ip-card-decision>.ip-card-shortlist { position:absolute; top:12px; right:12px; width:40px; height:40px; z-index:2; }
body.viipip-site .ip-card-decision .ip-card-compare { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 20px; border-top:1px solid var(--ocean-border-secondary); background:var(--ocean-bg); }
body.viipip-site .ip-card-compare .ip-compare-btn { width:auto; min-height:40px; padding:8px 12px; font-size:12px; }
body.viipip-site .ip-card-compare .ip-compare-btn { width:40px; height:40px; padding:10px; }
.ip-discovery-list>.industrial-filter-summary { margin-bottom:16px; }
body.viipip-site .ip-card-details { font-size:13px; font-weight:600; color:var(--ocean-brand); padding:10px 0; }
body.viipip-site .vp-hero { min-height:440px; background:#253b42; }
body.viipip-site .vp-hero:after { background:linear-gradient(90deg,#102728c9,transparent); }
body.viipip-site .vp-hero-content { padding-top:48px; padding-bottom:48px; }
body.viipip-site .vp-hero h1 { font-size:44px; line-height:1.15; letter-spacing:0; color:white; }
body.viipip-site .vp-hero .vp-eyebrow { color:#fff; }
body.viipip-site .vp-hero-search { border-radius:8px; }
body.viipip-site .vp-section { padding-top:48px; padding-bottom:48px; }
body.viipip-site .vp-section-heading { margin-bottom:24px; }
body.viipip-site .vp-home-news.container { padding-left:15px; padding-right:15px; }
body.viipip-site .ip-discovery-list .industrial-filter-action-row { justify-content:flex-end; }
body.viipip-site .ip-discovery-list .industrial-filter-action-row button { flex:none; width:auto; min-width:120px; }
body.viipip-site .vp-section-heading h2 { font-size:26px; line-height:1.3; }
body.viipip-site .vp-region-list a { transition:background .16s ease; }
body.viipip-site .vp-region-list a:hover { background:var(--ocean-brand-subtle); }
body.viipip-site .vp-footer { margin-top:48px; background:#f8fafb; }
body.viipip-site .vp-footer-grid { gap:32px; }
body.viipip-site .vp-footer-grid a:hover { color:var(--ocean-brand); }
@media(min-width:1100px) {
    body.viipip-site .ip-discovery-list .industrial-filter form { display:grid; grid-template-columns:2fr 1fr 1fr auto; }
    body.viipip-site .ip-discovery-list .industrial-filter .field { min-width:0!important; }
    body.viipip-site .ip-discovery-list .industrial-filter-actions { grid-column:auto; }
    body.viipip-site .ip-discovery-list .industrial-filter-label-placeholder { display:none; }
}
@media(min-width:768px) and (max-width:1099px) {
    body.viipip-site :is(.vp-home,.ip-discovery-list) .ip-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
    body.viipip-site .vp-header-main { gap:8px; padding-top:12px; padding-bottom:12px; }
    body.viipip-site .vp-header-actions { gap:4px; flex-wrap:wrap; }
    body.viipip-site .vp-nav { min-height:48px; gap:22px; }
    body.viipip-site .vp-nav a { flex-shrink:0; }
    body.viipip-site .industrial-page-header h1 { font-size:26px; }
    body.viipip-site :is(.vp-home,.ip-discovery-list) .ip-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    body.viipip-site .ip-card-decision .ip-card-img { height:160px; }
    body.viipip-site .ip-card-decision .ip-card-title { min-height:0; }
    body.viipip-site .ip-discovery-list .industrial-filter.is-open { padding:20px; margin:0; background:white; }
    body.viipip-site .vp-hero { min-height:0; }
    body.viipip-site .vp-hero-content { padding-top:32px; padding-bottom:32px; }
    body.viipip-site .vp-hero:after { background:#102728a8; }
    body.viipip-site .vp-hero h1 { font-size:32px; }
    body.viipip-site .vp-hero p { font-size:14px; margin-bottom:18px; }
    body.viipip-site .vp-section { padding-top:32px; padding-bottom:32px; }
    body.viipip-site .vp-section-heading h2 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
    body.viipip-site :is(.ip-card-decision,.vp-region-list a,.vp-nav a,.vp-hero-content) { transition:none; animation:none; }
}
