/*
Theme Name: Campbasen
Theme URI: https://campbasen.dk/
Author: Jepotech ApS
Author URI: https://jepotech.dk/
Description: Let og moderne WordPress-theme til Campbasen.dk med redigerbare menuer, logo, farver, header, footer og forside.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: campbasen
*/

:root {
  --cb-primary: #0f315f;
  --cb-accent: #f36c21;
  --cb-bg: #f6f8fb;
  --cb-surface: #ffffff;
  --cb-text: #13223a;
  --cb-muted: #66758b;
  --cb-border: #dce4ee;
  --cb-header-bg: #ffffff;
  --cb-header-text: #13223a;
  --cb-footer-bg: #0b223f;
  --cb-footer-text: #e9eef5;
  --cb-button-text: #ffffff;
  --cb-radius: 18px;
  --cb-shadow: 0 18px 50px rgba(15,49,95,.08);
  --cb-container: 1480px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cb-bg);color:var(--cb-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.cb-container{width:min(calc(100% - 40px),var(--cb-container));margin-inline:auto}

.site-header{position:sticky;top:0;z-index:999;background:var(--cb-header-bg);border-bottom:1px solid rgba(15,49,95,.08);box-shadow:0 6px 24px rgba(15,49,95,.04)}
.cb-header-inner{min-height:86px;display:flex;align-items:center;gap:30px}
.cb-brand{display:flex;align-items:center;flex:0 0 auto}
.cb-brand img,.custom-logo{display:block;width:auto;max-width:245px;max-height:62px;object-fit:contain}
.cb-site-title{font-size:24px;font-weight:900;letter-spacing:-.03em;color:var(--cb-header-text)}
.cb-nav{display:flex;align-items:center;gap:10px;margin-left:auto}
.cb-nav .menu{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}
.cb-nav .menu li{position:relative}
.cb-nav .menu a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;color:var(--cb-header-text);font-size:15px;font-weight:750;transition:.18s ease}
.cb-nav .menu a:hover,.cb-nav .current-menu-item>a{background:color-mix(in srgb,var(--cb-primary) 8%,white);color:var(--cb-primary)}
.cb-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:8px 0 0;padding:8px;list-style:none;background:#fff;border:1px solid var(--cb-border);border-radius:14px;box-shadow:var(--cb-shadow)}
.cb-nav li:hover>.sub-menu{display:block}
.cb-nav .sub-menu a{white-space:nowrap}
.cb-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:13px;background:var(--cb-primary);color:var(--cb-button-text);font-weight:800;white-space:nowrap}
.cb-header-cta:hover{filter:brightness(.96)}
.cb-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--cb-border);border-radius:12px;background:#fff;color:var(--cb-primary);font-size:24px;cursor:pointer}

.cb-hero{padding:64px 0 42px;background:linear-gradient(135deg,color-mix(in srgb,var(--cb-primary) 6%,white),#fff 55%,color-mix(in srgb,var(--cb-accent) 5%,white));border-bottom:1px solid var(--cb-border)}
.cb-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:56px;align-items:center}
.cb-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--cb-accent) 11%,white);color:var(--cb-accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cb-hero h1{margin:18px 0 16px;font-size:clamp(42px,5vw,74px);line-height:1.02;letter-spacing:-.055em}
.cb-hero p{margin:0;max-width:760px;color:var(--cb-muted);font-size:clamp(17px,1.6vw,21px)}
.cb-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-weight:850;transition:.18s ease}
.cb-btn-primary{background:var(--cb-primary);color:var(--cb-button-text)}
.cb-btn-secondary{background:#fff;border-color:var(--cb-border);color:var(--cb-primary)}
.cb-btn:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,49,95,.1)}
.cb-hero-panel{background:#fff;border:1px solid var(--cb-border);border-radius:26px;padding:22px;box-shadow:var(--cb-shadow)}
.cb-search-title{font-size:18px;font-weight:850;margin:0 0 14px}
.cb-market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cb-market-card{padding:18px;border:1px solid var(--cb-border);border-radius:16px;background:#fff;transition:.18s ease}
.cb-market-card:hover{border-color:color-mix(in srgb,var(--cb-primary) 35%,var(--cb-border));transform:translateY(-2px)}
.cb-market-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--cb-primary) 8%,white);color:var(--cb-primary);font-weight:900;margin-bottom:12px}
.cb-market-card strong{display:block;font-size:15px;margin-bottom:3px}
.cb-market-card span{font-size:12px;color:var(--cb-muted)}

.cb-section{padding:52px 0}
.cb-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.cb-section h2{margin:0;font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}
.cb-section-sub{color:var(--cb-muted);margin-top:6px}
.cb-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cb-feature{background:#fff;border:1px solid var(--cb-border);border-radius:20px;padding:25px;box-shadow:0 10px 30px rgba(15,49,95,.035)}
.cb-feature-icon{width:46px;height:46px;border-radius:13px;background:color-mix(in srgb,var(--cb-accent) 10%,white);color:var(--cb-accent);display:grid;place-items:center;font-size:20px;font-weight:900}
.cb-feature h3{margin:16px 0 7px;font-size:20px}
.cb-feature p{margin:0;color:var(--cb-muted)}
.cb-dealer-band{margin:18px 0 58px;padding:34px;border-radius:25px;background:var(--cb-primary);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cb-dealer-band h2{margin:0 0 5px;font-size:32px}
.cb-dealer-band p{margin:0;color:rgba(255,255,255,.75)}
.cb-dealer-band .cb-btn{background:#fff;color:var(--cb-primary)}

.cb-main{padding:40px 0 64px}
.cb-content-card{background:#fff;border:1px solid var(--cb-border);border-radius:22px;padding:clamp(22px,4vw,42px);box-shadow:0 12px 35px rgba(15,49,95,.04)}
.cb-content-card h1{margin-top:0}

.site-footer{background:var(--cb-footer-bg);color:var(--cb-footer-text);padding:46px 0 22px}
.cb-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px}
.cb-footer-brand img{max-width:220px;filter:brightness(0) invert(1);opacity:.97}
.cb-footer-brand p{max-width:520px;color:color-mix(in srgb,var(--cb-footer-text) 72%,transparent)}
.cb-footer-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:13px}
.cb-footer-menu,.cb-footer-menu ul{list-style:none;padding:0;margin:0}
.cb-footer-menu li{margin:8px 0}
.cb-footer-menu a{color:color-mix(in srgb,var(--cb-footer-text) 83%,transparent)}
.cb-footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;color:color-mix(in srgb,var(--cb-footer-text) 65%,transparent);font-size:13px}

@media(max-width:1020px){
  .cb-menu-toggle{display:grid;place-items:center;margin-left:auto}
  .cb-nav{position:fixed;inset:87px 14px auto 14px;display:none;flex-direction:column;align-items:stretch;padding:14px;background:#fff;border:1px solid var(--cb-border);border-radius:18px;box-shadow:var(--cb-shadow)}
  .cb-nav.is-open{display:flex}
  .cb-nav .menu{flex-direction:column;align-items:stretch}
  .cb-nav .menu a{justify-content:space-between}
  .cb-nav .sub-menu{position:static;display:block;box-shadow:none;border:0;padding-left:14px;margin:0}
  .cb-header-cta{width:100%}
  .cb-hero-grid{grid-template-columns:1fr;gap:30px}
  .cb-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .cb-container{width:min(calc(100% - 24px),var(--cb-container))}
  .cb-header-inner{min-height:74px}.cb-brand img,.custom-logo{max-width:190px;max-height:50px}.cb-nav{inset:75px 10px auto 10px}
  .cb-hero{padding:42px 0 30px}.cb-hero h1{font-size:42px}.cb-market-grid{grid-template-columns:1fr}.cb-feature-grid{grid-template-columns:1fr}.cb-dealer-band{align-items:flex-start;flex-direction:column;padding:26px}.cb-footer-grid{grid-template-columns:1fr}.cb-footer-bottom{flex-direction:column}
}

/* Campbasen live marketplace on front page */
.cb-live-market{padding:58px 0}.cb-live-market-alt{background:#f7f9fc}.cb-live-market .cb-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.cb-text-link{font-weight:800;text-decoration:none;color:var(--cb-primary);white-space:nowrap}.cmp-home-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cmp-home-listing-grid .cmp-card{margin:0;min-width:0}.cb-empty-listing{padding:28px;border:1px dashed #d8dee8;border-radius:16px;background:#fff;color:#667085;text-align:center}@media(max-width:980px){.cmp-home-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cmp-home-listing-grid{grid-template-columns:1fr}.cb-live-market .cb-section-head{align-items:flex-start;flex-direction:column;gap:8px}}


/* Logged-in dealer account in public header */
.cb-dealer-account{position:relative;margin-left:4px;z-index:1200}
.cb-account-trigger{appearance:none;border:1px solid var(--cb-border);background:#fff;min-height:52px;display:flex;align-items:center;gap:10px;padding:6px 11px 6px 7px;border-radius:15px;color:var(--cb-header-text);cursor:pointer;box-shadow:0 5px 18px rgba(15,49,95,.045);font:inherit;text-align:left;transition:.18s ease}
.cb-account-trigger:hover,.cb-dealer-account:focus-within .cb-account-trigger{border-color:color-mix(in srgb,var(--cb-primary) 28%,var(--cb-border));box-shadow:0 8px 24px rgba(15,49,95,.09)}
.cb-account-avatar{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--cb-primary) 8%,white);border:1px solid var(--cb-border);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;color:var(--cb-primary);font-weight:900}
.cb-account-avatar img{width:100%;height:100%;object-fit:contain;background:#fff;padding:2px}
.cb-account-copy{display:flex;flex-direction:column;min-width:0;line-height:1.12}
.cb-account-copy strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850}
.cb-account-copy small{margin-top:4px;color:var(--cb-muted);font-size:11px;font-weight:650}
.cb-account-chevron{font-size:18px;line-height:1;margin-left:2px;color:var(--cb-muted);transition:transform .18s ease}
.cb-dealer-account:hover .cb-account-chevron,.cb-dealer-account:focus-within .cb-account-chevron{transform:rotate(180deg)}
.cb-account-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:310px;padding:10px;background:#fff;border:1px solid var(--cb-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,49,95,.16);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:.16s ease}
.cb-dealer-account:hover .cb-account-dropdown,.cb-dealer-account:focus-within .cb-account-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.cb-account-dropdown:before{content:"";position:absolute;right:24px;top:-11px;width:20px;height:20px;background:#fff;border-left:1px solid var(--cb-border);border-top:1px solid var(--cb-border);transform:rotate(45deg)}
.cb-account-dropdown-head{position:relative;display:flex;align-items:center;gap:11px;padding:8px 8px 12px;border-bottom:1px solid var(--cb-border)}
.cb-account-dropdown-head>span:last-child{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.cb-account-dropdown-head strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-account-dropdown-head small{margin-top:4px;color:var(--cb-muted);font-size:11px}
.cb-account-avatar-large{width:42px;height:42px}
.cb-account-menu{padding:7px 0;max-height:min(62vh,530px);overflow:auto;overscroll-behavior:contain}
.cb-account-menu a,.cb-account-dropdown-foot a{display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:8px;min-height:42px;padding:5px 8px;border-radius:10px;color:var(--cb-text);font-size:13px;font-weight:750;transition:.15s ease}
.cb-account-menu a:hover,.cb-account-dropdown-foot a:hover{background:color-mix(in srgb,var(--cb-primary) 7%,white);color:var(--cb-primary)}
.cb-account-menu-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--cb-primary) 7%,white);color:var(--cb-primary);font-size:12px;font-weight:900}
.cb-account-menu-arrow{text-align:right;color:#8a98aa;font-size:18px}
.cb-account-dropdown-foot{border-top:1px solid var(--cb-border);padding-top:7px}
.cb-account-dropdown-foot a{grid-template-columns:30px 1fr;color:#9b2d30}

@media(max-width:1020px){
  .cb-dealer-account{width:100%;margin:4px 0 0}
  .cb-account-trigger{width:100%;justify-content:flex-start}
  .cb-account-copy{flex:1}
  .cb-account-copy strong{max-width:none}
  .cb-account-dropdown{position:static;width:100%;margin-top:8px;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none}
  .cb-account-dropdown:before{display:none}
  .cb-dealer-account:hover .cb-account-dropdown,.cb-dealer-account:focus-within .cb-account-dropdown{display:block}
}
