/* neocasa.ch – Dienstleister-Verzeichnis (Übergabe «dienstleister-handoff», Design-Werte Abschnitt 8).
   Alle Klassen mit Präfix nc-dl-, damit nichts mit dem übrigen CSS kollidiert. */
:root{
  --nc-green:#00b86b; --nc-green-light:#9be15d; --nc-green-text:#0a7a45; --nc-mint:#3ed184;
  --nc-dark:#0a2e20; --nc-ink:#0e1116; --nc-text:#33413a; --nc-muted:#6b7a72;
  --nc-line:#e3eae4; --nc-bg:#f4f7f4; --nc-chip:#e5f4ea; --nc-soft:#eef3ef;
}
.nc-dl{font-family:Manrope,system-ui,sans-serif;color:#1c2521;background:var(--nc-bg);min-height:60vh;}
.nc-dl *{box-sizing:border-box;}
.nc-dl-wrap{max-width:1120px;margin:0 auto;padding:28px 24px 60px;}
.nc-dl a{color:var(--nc-green-text);}
.nc-dl-crumb{font-size:13px;font-weight:600;color:var(--nc-muted);margin:0 0 14px;}
.nc-dl-crumb a{color:inherit;text-decoration:none;}
.nc-dl h1{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-1px;line-height:1.1;margin:0;color:var(--nc-ink);text-wrap:pretty;}
.nc-dl-lead{font-size:16px;color:#52645c;font-weight:500;margin:10px 0 26px;max-width:680px;}
.nc-dl-filter{display:flex;gap:14px;flex-wrap:wrap;align-items:center;background:#fff;border-radius:16px;padding:14px;box-shadow:0 1px 2px rgba(10,46,32,.06);}
.nc-dl-cats{display:flex;gap:8px;flex-wrap:wrap;flex:1;}
.nc-dl-cat{font:800 15px Manrope,sans-serif;border:none;cursor:pointer;padding:12px 20px;min-height:44px;border-radius:999px;background:var(--nc-soft);color:var(--nc-dark);text-decoration:none;display:inline-flex;align-items:center;}
.nc-dl-cat[aria-pressed="true"]{background:var(--nc-dark);color:#fff;}
.nc-dl-kanton{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#46584f;flex-wrap:wrap;}
.nc-dl-kanton select{font:700 15px Manrope,sans-serif;padding:11px 14px;min-height:44px;border-radius:12px;border:1.5px solid #d5e0d8;background:#fff;color:var(--nc-ink);min-width:200px;max-width:100%;}
.nc-dl-meta{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px;gap:12px;flex-wrap:wrap;}
.nc-dl-count{font-size:14px;font-weight:700;color:#52645c;}
.nc-dl-note{font-size:12.5px;font-weight:600;color:#7c8a82;}
.nc-dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;}
.nc-dl-card{background:#fff;border-radius:18px;padding:20px;border:1px solid var(--nc-line);display:flex;flex-direction:column;gap:12px;position:relative;}
.nc-dl-card--premium{border:2px solid var(--nc-green);box-shadow:0 10px 30px rgba(0,120,70,.10);padding:22px;gap:14px;margin-top:6px;}
.nc-dl-badge{position:absolute;top:-11px;left:18px;background:linear-gradient(135deg,var(--nc-green-light),var(--nc-green));color:var(--nc-dark);font-size:11px;font-weight:800;letter-spacing:1.2px;padding:5px 11px;border-radius:999px;}
.nc-dl-head{display:flex;gap:14px;align-items:center;}
.nc-dl-logo{width:52px;height:52px;border-radius:12px;flex-shrink:0;object-fit:contain;background:#fff;border:1px solid var(--nc-line);}
.nc-dl-card--premium .nc-dl-logo{width:64px;height:64px;border-radius:14px;}
.nc-dl-logo--fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;border:none;}
.nc-dl-name{font-size:16.5px;font-weight:800;color:var(--nc-ink);margin:0;overflow-wrap:anywhere;}
.nc-dl-card--premium .nc-dl-name{font-size:18px;}
.nc-dl-sub{font-size:13px;font-weight:600;color:var(--nc-muted);}
.nc-dl-text{font-size:14px;line-height:1.5;color:#44534b;margin:0;}
.nc-dl-tags{display:flex;gap:7px;flex-wrap:wrap;}
.nc-dl-tag{background:var(--nc-chip);color:var(--nc-green-text);font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;}
.nc-dl-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap;}
.nc-dl-btn{flex:1;text-align:center;font:800 14px Manrope,sans-serif;padding:11px;min-height:44px;border-radius:12px;text-decoration:none;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;}
.nc-dl-btn--primary{background:var(--nc-dark);color:#fff !important;}
.nc-dl-btn--outline{background:#fff;border:1.5px solid var(--nc-dark);color:var(--nc-dark) !important;}
.nc-dl-btn--tel{flex:0 0 auto;background:var(--nc-soft);color:var(--nc-dark) !important;padding:11px 14px;}
.nc-dl-section{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#7c8a82;text-transform:uppercase;margin:28px 0 10px;}
.nc-dl-list{background:#fff;border-radius:16px;border:1px solid var(--nc-line);overflow:hidden;list-style:none;margin:0;padding:0;}
.nc-dl-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;flex-wrap:wrap;min-height:44px;}
.nc-dl-list li+li{border-top:1px solid #eef2ef;}
.nc-dl-list a{font-size:14px;font-weight:700;color:var(--nc-green-text);text-decoration:none;padding:8px 0;}
.nc-dl-empty{margin-top:26px;background:var(--nc-dark);border-radius:20px;padding:clamp(24px,4vw,40px);color:#fff;display:flex;flex-direction:column;gap:12px;}
.nc-dl-empty-kicker{font-size:12px;font-weight:800;letter-spacing:1.6px;color:var(--nc-mint);}
.nc-dl-empty-title{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.6px;line-height:1.2;margin:0;color:#fff;}
.nc-dl-empty p{font-size:15.5px;line-height:1.5;color:#c5d6cc;max-width:620px;margin:0;}
.nc-dl-empty-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.nc-dl-empty-actions a{font-size:15px;font-weight:800;padding:13px 22px;min-height:44px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;}
.nc-dl-empty-actions a:first-child{background:var(--nc-mint);color:var(--nc-dark);}
.nc-dl-empty-actions a:last-child{border:1.5px solid rgba(255,255,255,.35);color:#fff;font-weight:700;}
.nc-dl-more{margin-top:34px;}
.nc-dl-more p{font-size:14px;line-height:2;margin:0;color:var(--nc-muted);}
.nc-dl-more a{font-weight:700;text-decoration:none;}
.nc-dl-hint{font-size:13px;color:var(--nc-muted);margin:8px 0 0;}
/* Formulare (Mitmachen, Kontakt, Bestätigung) */
.nc-dl-form{display:flex;flex-direction:column;gap:16px;}
.nc-dl-form fieldset{border:1px solid var(--nc-line);border-radius:16px;background:#fff;padding:16px 18px;margin:0;min-width:0;}
.nc-dl-form legend{font-weight:800;padding:0 6px;color:var(--nc-ink);}
.nc-dl-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#46584f;min-width:0;}
.nc-dl-form input:not([type=checkbox]):not([type=radio]),.nc-dl-form textarea{font:600 15px Manrope,sans-serif;padding:11px 12px;min-height:44px;border-radius:12px;border:1.5px solid #d5e0d8;background:#fff;color:var(--nc-ink);width:100%;}
.nc-dl-form input[type=color]{padding:4px;height:44px;width:80px;}
.nc-dl-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.nc-dl-span2{grid-column:1/-1;}
.nc-dl-lbl{font-size:13px;font-weight:700;color:#46584f;display:block;margin-bottom:6px;}
.nc-dl-checks{display:flex;flex-wrap:wrap;gap:8px 16px;}
.nc-dl-checks label{flex-direction:row;align-items:center;gap:8px;font-weight:600;min-height:36px;}
.nc-dl-checks--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.nc-dl-checks input,.nc-dl-consent input,.nc-dl-pk input{width:20px;height:20px;accent-color:var(--nc-green-text);flex:none;}
.nc-dl-full{font-style:normal;font-size:11px;font-weight:800;color:#b42318;}
.nc-dl-pk{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;}
.nc-dl-pk-item{flex-direction:row !important;align-items:flex-start;gap:10px !important;border:1.5px solid var(--nc-line);border-radius:14px;padding:12px;cursor:pointer;font-weight:600 !important;color:var(--nc-text) !important;}
.nc-dl-pk-item:has(input:checked){border-color:var(--nc-green);background:#f3fbf6;}
.nc-dl-pk-item small{color:var(--nc-muted);font-weight:600;}
.nc-dl-terms{background:#fff;border:1px solid var(--nc-line);border-radius:16px;padding:16px 18px;font-size:14px;color:var(--nc-text);}
.nc-dl-terms ul{margin:8px 0 12px;padding-left:20px;line-height:1.5;}
.nc-dl-consent{flex-direction:row !important;align-items:flex-start;gap:10px !important;font-weight:600 !important;line-height:1.45;}
.nc-dl-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden;}
.nc-dl-msg{min-height:1.3em;margin:0;font-weight:700;}
.nc-dl-msg.ok,.nc-dl-ok{color:var(--nc-green-text);}
.nc-dl-msg.err{color:#b42318;}
.nc-dl-submit{align-self:flex-start;padding:13px 24px;flex:none;}
.nc-dl-dialog{border:none;border-radius:18px;padding:22px;max-width:min(520px,calc(100vw - 24px));width:100%;font-family:Manrope,system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.nc-dl-dialog::backdrop{background:rgba(10,46,32,.5);}
.nc-dl-dialog h2{margin:0;font-size:20px;font-weight:800;}
.nc-dl-tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--nc-line);border-radius:16px;}
.nc-dl-table{width:100%;border-collapse:collapse;font-size:14px;}
.nc-dl-table th,.nc-dl-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #eef2ef;white-space:nowrap;}
/* Einblendung auf Inseratsseiten (assets/js/services-nav.js, inserat.php) */
.nc-dl-teaser{background:#fff;border-radius:18px;padding:20px;border:1px solid var(--nc-line);max-width:720px;font-family:Manrope,system-ui,sans-serif;margin:24px 0 8px;}
.nc-dl-teaser-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.nc-dl-teaser-title{font-size:17px;font-weight:800;color:var(--nc-ink);margin:0;}
.nc-dl-teaser-head a{font-size:13px;font-weight:700;color:var(--nc-green-text);text-decoration:none;}
.nc-dl-teaser-items{display:flex;gap:10px;flex-wrap:wrap;}
.nc-dl-teaser-item{flex:1;min-width:200px;display:flex;gap:11px;align-items:center;background:var(--nc-bg);border-radius:12px;padding:11px 13px;text-decoration:none;min-height:44px;}
.nc-dl-teaser-item .nc-dl-logo{width:40px;height:40px;border-radius:10px;font-size:14px;}
.nc-dl-teaser .nc-dl-note{display:block;margin-top:10px;}
@media (max-width:640px){
  .nc-dl-wrap{padding:22px 16px 48px;}
  .nc-dl-grid2{grid-template-columns:minmax(0,1fr);}
  .nc-dl-kanton,.nc-dl-kanton select{width:100%;}
  .nc-dl-submit{align-self:stretch;}
}

/* Logo-Upload im Anmeldeformular und Logo als Link auf die Website (06.10.2026) */
.nc-dl-logo-up { margin-top: 12px; }
.nc-dl-logo-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
#nc-dl-logo-prev { width: 56px; height: 56px; object-fit: contain; border: 1px solid #dfe6e2; border-radius: 12px; background: #fff; }
#nc-dl-logo-prev[hidden], #nc-dl-logo-del[hidden] { display: none; }
.nc-dl-file { position: relative; cursor: pointer; }
.nc-dl-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.nc-dl-linkbtn { background: none; border: 0; padding: 0; color: #4d5f57; text-decoration: underline; cursor: pointer; font: inherit; font-size: .9em; }
.nc-dl-logo-link { display: inline-flex; flex: none; border-radius: 12px; }
.nc-dl-logo-link:focus-visible { outline: 2px solid #0e9b5f; outline-offset: 2px; }
.nc-dl-logo-up[hidden] { display: none; }
/* Promo-Code im Anmeldeformular (07.10.2026) */
.nc-dl-promo { margin: 4px 0 14px; }
.nc-dl-promo label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: 4px; }
.nc-dl-promo-row { display: flex; gap: 8px; }
.nc-dl-promo-row input { flex: 1; min-width: 0; text-transform: uppercase; }
