/* ================================================================
   Dansk Solceller — main.css
   Moderne energi-univers, grøn/blå palette, mobil-først.
   ================================================================ */

:root {
	--c-green-900: #0a3e30;
	--c-green-700: #0a7d5f;
	--c-green-500: #1ca47b;
	--c-green-300: #b5e4d3;
	--c-green-50:  #e9f7f1;

	--c-blue-900:  #0c2542;
	--c-blue-700:  #1e4d7b;
	--c-blue-500:  #2f7fb8;
	--c-blue-300:  #b9d9ee;
	--c-blue-50:   #ecf4fa;

	--c-warn:      #d49a2a;
	--c-hot:       #e85c39;

	--c-ink:       #0b1f2c;
	--c-ink-soft:  #4a5b66;
	--c-muted:     #8294a0;
	--c-line:      #e2e8ec;
	--c-bg:        #ffffff;
	--c-bg-soft:   #f7fafb;

	--radius:      12px;
	--radius-lg:   20px;
	--shadow-sm:   0 1px 2px rgba(11,31,44,.06), 0 1px 3px rgba(11,31,44,.04);
	--shadow-md:   0 6px 20px rgba(11,31,44,.08);
	--shadow-lg:   0 20px 50px rgba(11,31,44,.12);

	--font:        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--container:   1180px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 17px;
	line-height: 1.6;
	color: var(--c-ink);
	background: var(--c-bg);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-green-700); text-decoration-color: rgba(10,125,95,.3); text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--c-green-700); }
h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--c-ink); }
h1 { font-size: clamp(1.85rem, 4vw + 0.5rem, 2.75rem); margin: 0 0 .75rem; }
h2 { font-size: clamp(1.4rem, 2vw + 0.6rem, 1.9rem); margin: 2rem 0 1rem; }
h3 { font-size: 1.2rem; margin: 1.5rem 0 .75rem; }
p { margin: 0 0 1rem; }

.dsc-container { max-width: var(--container); margin: 0 auto; padding: 0 1.25rem; }
.dsc-section { padding: clamp(2.5rem, 6vw, 4rem) 0; }
.dsc-section__title { margin-bottom: .5rem; }
.dsc-section__lead { font-size: 1.08rem; color: var(--c-ink-soft); margin-bottom: 2rem; max-width: 60ch; }

.screen-reader-text { position: absolute; left: -9999px; }
.dsc-skip-link:focus { position: fixed; top: 1rem; left: 1rem; background: var(--c-green-700); color: #fff; padding: .5rem 1rem; z-index: 9999; }

/* ─────────────────────────────────────────────────────────────
   Buttons
   ───────────────────────────────────────────────────────────── */
.dsc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .9rem 1.4rem; font-weight: 600; font-size: 1rem;
	border-radius: var(--radius); border: 2px solid transparent;
	cursor: pointer; text-decoration: none; transition: all .15s ease;
	white-space: nowrap;
}
.dsc-btn--primary { background: var(--c-green-700); color: #fff; }
.dsc-btn--primary:hover { background: var(--c-green-900); transform: translateY(-1px); box-shadow: var(--shadow-md); text-decoration: none; }
.dsc-btn--secondary { background: var(--c-blue-700); color: #fff; }
.dsc-btn--secondary:hover { background: var(--c-blue-900); }
.dsc-btn--ghost { background: transparent; color: var(--c-green-700); border-color: var(--c-green-300); }
.dsc-btn--ghost:hover { background: var(--c-green-50); }

/* ─────────────────────────────────────────────────────────────
   Header
   ───────────────────────────────────────────────────────────── */
.dsc-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.95); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--c-line); }
.dsc-header__inner { max-width: var(--container); margin: 0 auto; padding: .9rem 1.25rem; display: flex; align-items: center; gap: 1.5rem; }
.dsc-header__brand { display: flex; align-items: center; gap: 1rem; }
.dsc-logo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; text-decoration: none; color: var(--c-ink); font-size: 1.1rem; }
.dsc-logo__icon { display: inline-block; width: 32px; height: 32px; line-height: 32px; text-align: center; background: linear-gradient(135deg, var(--c-green-500), var(--c-blue-500)); border-radius: 8px; color: #fff; font-size: 1.1rem; }
.dsc-header__tagline { display: none; color: var(--c-muted); font-size: .85rem; }
.dsc-header__nav { flex: 1; display: none; }
.dsc-menu { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.dsc-menu a { color: var(--c-ink); text-decoration: none; font-weight: 500; }
.dsc-menu a:hover { color: var(--c-green-700); }
.dsc-header__cta { display: none; }
.dsc-header__toggle { background: transparent; border: 1px solid var(--c-line); border-radius: 8px; padding: .5rem .7rem; cursor: pointer; }
.dsc-burger, .dsc-burger::before, .dsc-burger::after { display: block; width: 20px; height: 2px; background: var(--c-ink); position: relative; }
.dsc-burger::before, .dsc-burger::after { content: ''; position: absolute; left: 0; }
.dsc-burger::before { top: -6px; }
.dsc-burger::after { top: 6px; }

@media (min-width: 860px) {
	.dsc-header__tagline { display: inline; }
	.dsc-header__nav { display: flex; justify-content: center; }
	.dsc-header__cta { display: flex; }
	.dsc-header__toggle { display: none; }
}

/* ─────────────────────────────────────────────────────────────
   Hero
   ───────────────────────────────────────────────────────────── */
.dsc-hero { background: linear-gradient(135deg, var(--c-green-50) 0%, var(--c-blue-50) 100%); padding: clamp(2.5rem, 6vw, 5rem) 0; position: relative; overflow: hidden; }
.dsc-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(28,164,123,.15) 0%, transparent 70%); border-radius: 50%; }
.dsc-hero__inner { max-width: var(--container); margin: 0 auto; padding: 0 1.25rem; display: grid; gap: 2.5rem; grid-template-columns: 1fr; position: relative; z-index: 1; }
.dsc-hero__pill { display: inline-block; background: rgba(255,255,255,.7); color: var(--c-green-700); border: 1px solid var(--c-green-300); padding: .3rem .8rem; border-radius: 999px; font-size: .85rem; font-weight: 500; margin-bottom: 1rem; }
.dsc-hero__title { color: var(--c-green-900); }
.dsc-hero__lead { font-size: 1.15rem; color: var(--c-ink-soft); margin: 1rem 0 1.5rem; max-width: 55ch; }
.dsc-hero__ctas { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }

@media (min-width: 860px) {
	.dsc-hero__inner { grid-template-columns: 1.4fr 1fr; align-items: center; }
}

/* ─────────────────────────────────────────────────────────────
   Pricecard
   ───────────────────────────────────────────────────────────── */
.dsc-pricecard { background: #fff; border-radius: var(--radius-lg); padding: 1.75rem; box-shadow: var(--shadow-lg); border: 1px solid var(--c-line); }
.dsc-pricecard__label { display: block; color: var(--c-muted); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }
.dsc-pricecard__amount { display: block; font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 700; color: var(--c-green-900); margin: .3rem 0; line-height: 1.1; }
.dsc-pricecard__sub { display: block; color: var(--c-ink-soft); font-size: .95rem; margin-bottom: 1.2rem; }
.dsc-pricecard__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.2rem 0; padding: 1rem 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.dsc-pricecard__stats div { display: flex; flex-direction: column; }
.dsc-pricecard__stats dt { font-size: .75rem; color: var(--c-muted); text-transform: uppercase; }
.dsc-pricecard__stats dd { margin: 0; font-weight: 600; color: var(--c-ink); font-size: .95rem; }
.dsc-pricecard__disclaimer { display: block; color: var(--c-muted); font-size: .8rem; margin-top: .8rem; }
.dsc-pricecard .dsc-btn { width: 100%; margin-top: 1rem; }

/* ─────────────────────────────────────────────────────────────
   Trust strip
   ───────────────────────────────────────────────────────────── */
.dsc-trust { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .8rem; padding: .6rem .9rem; background: rgba(255,255,255,.6); border-radius: 8px; font-size: .9rem; }
.dsc-trust__stars { color: var(--c-warn); letter-spacing: 1px; }
.dsc-trust__label { color: var(--c-ink-soft); font-weight: 500; }
.dsc-trust__shield { color: var(--c-green-700); font-size: .85rem; }

/* ─────────────────────────────────────────────────────────────
   Quick selector
   ───────────────────────────────────────────────────────────── */
.dsc-quick { background: var(--c-bg-soft); }
.dsc-quick__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.dsc-quick__card { display: flex; flex-direction: column; padding: 1.4rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); text-decoration: none; color: var(--c-ink); transition: all .15s ease; position: relative; }
.dsc-quick__card:hover { border-color: var(--c-green-500); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.dsc-quick__icon { font-size: 1.8rem; margin-bottom: .5rem; }
.dsc-quick__label { font-weight: 600; }
.dsc-quick__arrow { position: absolute; top: 1rem; right: 1rem; color: var(--c-muted); transition: transform .15s ease; }
.dsc-quick__card:hover .dsc-quick__arrow { color: var(--c-green-700); transform: translateX(4px); }

/* ─────────────────────────────────────────────────────────────
   Tables
   ───────────────────────────────────────────────────────────── */
.dsc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius); border: 1px solid var(--c-line); box-shadow: var(--shadow-sm); }
.dsc-table { width: 100%; min-width: 600px; border-collapse: collapse; background: #fff; }
.dsc-table th, .dsc-table td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid var(--c-line); }
.dsc-table th { background: var(--c-green-50); color: var(--c-green-900); font-weight: 600; font-size: .9rem; text-transform: uppercase; letter-spacing: .03em; }
.dsc-table tr:last-child td { border-bottom: none; }
.dsc-table tbody tr:hover { background: var(--c-bg-soft); }

.dsc-prices__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.dsc-prices__note { color: var(--c-muted); font-size: .9rem; }

/* ─────────────────────────────────────────────────────────────
   Calculator
   ───────────────────────────────────────────────────────────── */
.dsc-calc { background: linear-gradient(180deg, #fff 0%, var(--c-blue-50) 100%); }
.dsc-calc__form { background: #fff; border-radius: var(--radius-lg); padding: 1.8rem; box-shadow: var(--shadow-md); border: 1px solid var(--c-line); margin-bottom: 1.5rem; }
.dsc-calc__row { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 1.2rem; }
.dsc-calc__form label { display: flex; flex-direction: column; gap: .35rem; font-weight: 500; color: var(--c-ink); font-size: .95rem; }
.dsc-calc__form select, .dsc-calc__form input { padding: .7rem .8rem; border: 1px solid var(--c-line); border-radius: 8px; font-size: 1rem; background: #fff; }
.dsc-calc__form select:focus, .dsc-calc__form input:focus { outline: none; border-color: var(--c-green-500); box-shadow: 0 0 0 3px rgba(28,164,123,.15); }
.dsc-calc__submit { width: 100%; }
.dsc-calc__result { background: #fff; border-radius: var(--radius-lg); padding: 1.8rem; box-shadow: var(--shadow-md); border: 1px solid var(--c-line); }
.dsc-calc__cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 1.5rem; }
.dsc-calc__card { padding: 1.2rem; background: var(--c-green-50); border-radius: var(--radius); text-align: center; }
.dsc-calc__card--highlight { background: linear-gradient(135deg, var(--c-green-500), var(--c-blue-500)); color: #fff; }
.dsc-calc__card--highlight .dsc-calc__card-label, .dsc-calc__card--highlight .dsc-calc__card-value { color: #fff; }
.dsc-calc__card-label { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--c-ink-soft); margin-bottom: .4rem; }
.dsc-calc__card-value { display: block; font-size: 1.4rem; font-weight: 700; color: var(--c-green-900); }
.dsc-calc__cta { padding: 1.2rem; background: var(--c-blue-50); border-radius: var(--radius); text-align: center; margin-bottom: 1rem; }
.dsc-calc__disclaimer { display: block; color: var(--c-muted); font-size: .85rem; font-style: italic; }

/* ─────────────────────────────────────────────────────────────
   Cards
   ───────────────────────────────────────────────────────────── */
.dsc-cards { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.dsc-card { display: block; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--c-ink); transition: all .15s ease; }
.dsc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.dsc-card__media img { width: 100%; height: 180px; object-fit: cover; }
.dsc-card__body { padding: 1.25rem; }
.dsc-card__title { margin: 0 0 .5rem; font-size: 1.1rem; }
.dsc-card__excerpt { color: var(--c-ink-soft); font-size: .95rem; margin: 0 0 1rem; }
.dsc-card__more { color: var(--c-green-700); font-weight: 600; font-size: .95rem; }

/* ─────────────────────────────────────────────────────────────
   Local grid
   ───────────────────────────────────────────────────────────── */
.dsc-local__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.dsc-local__card { display: block; padding: 1.4rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); text-decoration: none; color: var(--c-ink); transition: all .15s ease; }
.dsc-local__card:hover { border-color: var(--c-green-500); box-shadow: var(--shadow-sm); }
.dsc-local__pin { font-size: 1.4rem; }
.dsc-local__city { margin: .3rem 0; font-size: 1.15rem; }
.dsc-local__teaser { color: var(--c-ink-soft); font-size: .9rem; margin: 0; }

/* ─────────────────────────────────────────────────────────────
   FAQ
   ───────────────────────────────────────────────────────────── */
.dsc-faq { background: var(--c-bg-soft); }
.dsc-faq__list { max-width: 800px; margin: 0 auto; }
.dsc-faq__item { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); margin-bottom: .8rem; overflow: hidden; }
.dsc-faq__q { padding: 1.1rem 1.3rem; cursor: pointer; font-weight: 600; font-size: 1.05rem; list-style: none; position: relative; padding-right: 3rem; }
.dsc-faq__q::-webkit-details-marker { display: none; }
.dsc-faq__q::after { content: '+'; position: absolute; top: 50%; right: 1.3rem; transform: translateY(-50%); font-size: 1.5rem; color: var(--c-green-700); }
.dsc-faq__item[open] .dsc-faq__q::after { content: '–'; }
.dsc-faq__a { padding: 0 1.3rem 1.2rem; color: var(--c-ink-soft); line-height: 1.65; }
.dsc-faq__more { text-align: center; margin-top: 1.5rem; }

/* ─────────────────────────────────────────────────────────────
   Lead form
   ───────────────────────────────────────────────────────────── */
.dsc-lead { background: linear-gradient(135deg, var(--c-green-900) 0%, var(--c-blue-900) 100%); color: #fff; }
.dsc-lead .dsc-section__title { color: #fff; }
.dsc-lead .dsc-section__lead { color: rgba(255,255,255,.85); }
.dsc-lead__wrap { display: grid; gap: 2.5rem; grid-template-columns: 1fr; align-items: start; }
.dsc-lead__intro { color: #fff; }
.dsc-lead__usp { list-style: none; padding: 0; margin: 1.5rem 0; }
.dsc-lead__usp li { padding: .4rem 0; color: rgba(255,255,255,.92); }
.dsc-lead__form { background: #fff; color: var(--c-ink); padding: 1.8rem; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.dsc-lead__progress { margin-bottom: 1.5rem; height: 6px; background: var(--c-line); border-radius: 999px; overflow: hidden; position: relative; }
.dsc-lead__progress-bar { display: block; height: 100%; background: linear-gradient(90deg, var(--c-green-500), var(--c-blue-500)); transition: width .3s ease; }
.dsc-lead__progress-label { position: absolute; right: 0; top: -1.4rem; font-size: .8rem; color: var(--c-muted); }
.dsc-step { display: none; border: 0; margin: 0 0 1.5rem; padding: 0; }
.dsc-step.is-active { display: block; }
.dsc-step legend { font-size: 1.25rem; font-weight: 700; margin-bottom: 1rem; color: var(--c-green-900); }
.dsc-options { display: grid; gap: .6rem; }
.dsc-option { display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; border: 1px solid var(--c-line); border-radius: 8px; cursor: pointer; transition: all .15s ease; background: #fff; }
.dsc-option:hover { border-color: var(--c-green-500); }
.dsc-option input { margin: 0; accent-color: var(--c-green-700); }
.dsc-option input:checked + span { font-weight: 600; color: var(--c-green-900); }
.dsc-field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .8rem; }
.dsc-field span { font-weight: 500; font-size: .95rem; }
.dsc-field input { padding: .8rem 1rem; border: 1px solid var(--c-line); border-radius: 8px; font-size: 1rem; }
.dsc-field input:focus { outline: none; border-color: var(--c-green-500); box-shadow: 0 0 0 3px rgba(28,164,123,.15); }
.dsc-consent { display: flex; gap: .8rem; padding: 1rem; background: var(--c-green-50); border-radius: 8px; font-size: .9rem; }
.dsc-consent input { margin: 0; accent-color: var(--c-green-700); }
.dsc-lead__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.dsc-lead__nav .dsc-btn { flex: 1; }
.dsc-lead__result { margin-top: 1.5rem; padding: 1.2rem; background: var(--c-green-50); border-left: 4px solid var(--c-green-700); border-radius: 8px; }
.dsc-lead__result.is-error { background: #fef2f2; border-left-color: var(--c-hot); }

@media (min-width: 860px) {
	.dsc-lead__wrap { grid-template-columns: 1fr 1.2fr; }
}

/* ─────────────────────────────────────────────────────────────
   Final CTA
   ───────────────────────────────────────────────────────────── */
.dsc-final { background: linear-gradient(135deg, var(--c-green-50), var(--c-blue-50)); }
.dsc-final__inner { display: flex; flex-direction: column; gap: 1.5rem; align-items: center; text-align: center; }
.dsc-final__title { color: var(--c-green-900); margin: 0; }
.dsc-final__lead { color: var(--c-ink-soft); max-width: 50ch; margin: .5rem 0 0; }
.dsc-final__cta { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

@media (min-width: 860px) {
	.dsc-final__inner { flex-direction: row; text-align: left; justify-content: space-between; }
}

/* ─────────────────────────────────────────────────────────────
   SEO / Single / Page layouts
   ───────────────────────────────────────────────────────────── */
.dsc-breadcrumbs { color: var(--c-muted); font-size: .9rem; margin-bottom: 1rem; }
.dsc-breadcrumbs a { color: var(--c-muted); }
.dsc-breadcrumbs a:hover { color: var(--c-green-700); }

.dsc-seo__header, .dsc-product__header, .dsc-guide__header, .dsc-lokal__header { margin-bottom: 2rem; }
.dsc-seo__meta, .dsc-guide__meta { color: var(--c-muted); font-size: .9rem; margin: 0 0 1rem; }
.dsc-seo__layout { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.dsc-seo__body, .dsc-content { font-size: 1.05rem; line-height: 1.7; max-width: 70ch; }
.dsc-content h2 { color: var(--c-green-900); }
.dsc-content ul, .dsc-content ol { padding-left: 1.4rem; margin-bottom: 1rem; }
.dsc-content li { margin-bottom: .4rem; }
.dsc-content details { background: var(--c-bg-soft); border: 1px solid var(--c-line); border-radius: 8px; margin-bottom: .6rem; padding: 0; }
.dsc-content details summary { padding: 1rem 1.2rem; cursor: pointer; font-weight: 600; }
.dsc-content details[open] summary { border-bottom: 1px solid var(--c-line); }
.dsc-content details p { padding: 1rem 1.2rem; margin: 0; color: var(--c-ink-soft); }
.dsc-callout { background: var(--c-blue-50); border-left: 4px solid var(--c-blue-500); padding: 1rem 1.2rem; border-radius: 8px; margin: 1.5rem 0; }

.dsc-seo__sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.dsc-sidebar-cta, .dsc-sidebar-local { background: var(--c-green-50); padding: 1.5rem; border-radius: var(--radius); border: 1px solid var(--c-green-300); }
.dsc-sidebar-cta h3, .dsc-sidebar-local h3 { margin-top: 0; color: var(--c-green-900); }
.dsc-sidebar-cta .dsc-btn { width: 100%; margin: .5rem 0 1rem; }
.dsc-sidebar-partners { list-style: none; padding: 0; margin: 0; }
.dsc-sidebar-partners li { padding: .5rem 0; border-bottom: 1px solid var(--c-green-300); }

@media (min-width: 980px) {
	.dsc-seo__layout, .dsc-product__layout { grid-template-columns: minmax(0, 1fr) 320px; }
}

.dsc-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 1.5rem 0 2rem; }
.dsc-stat { padding: 1rem; background: var(--c-bg-soft); border-radius: var(--radius); border: 1px solid var(--c-line); }
.dsc-stat dt { color: var(--c-muted); font-size: .8rem; text-transform: uppercase; margin-bottom: .3rem; }
.dsc-stat dd { margin: 0; font-weight: 700; color: var(--c-ink); font-size: 1.15rem; }

.dsc-list { list-style: none; padding: 0; }
.dsc-list li { padding: .5rem 0; border-bottom: 1px solid var(--c-line); }
.dsc-list--pros li { color: var(--c-green-900); }
.dsc-list--cons li { color: var(--c-ink-soft); }

.dsc-empty { padding: 2rem; text-align: center; background: var(--c-bg-soft); border-radius: var(--radius); color: var(--c-muted); }

.dsc-page__narrow { max-width: 760px; }

.dsc-partner__header { display: flex; gap: 1.5rem; align-items: center; margin-bottom: 1.5rem; }
.dsc-partner__logo img { max-width: 100px; }
.dsc-partner__type { color: var(--c-muted); margin: 0; }
.dsc-partner__cta { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--c-line); }

.dsc-takeaways { background: var(--c-blue-50); border-left: 4px solid var(--c-blue-500); padding: 1.2rem 1.5rem; border-radius: 8px; margin: 1.5rem 0; }
.dsc-takeaways__title { margin-top: 0; font-size: 1.05rem; color: var(--c-blue-900); }
.dsc-takeaways ul { margin: 0; padding-left: 1.2rem; }

.dsc-archive__header { margin-bottom: 2rem; }

/* ─────────────────────────────────────────────────────────────
   Footer
   ───────────────────────────────────────────────────────────── */
.dsc-footer { background: var(--c-green-900); color: rgba(255,255,255,.85); padding: 3rem 0 1.5rem; margin-top: 4rem; }
.dsc-footer__inner { max-width: var(--container); margin: 0 auto; padding: 0 1.25rem; display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-bottom: 2rem; }
.dsc-footer__heading { color: #fff; font-size: 1rem; margin: 0 0 1rem; }
.dsc-footer__about { font-size: .9rem; margin-bottom: 1rem; }
.dsc-footer__menu { list-style: none; padding: 0; margin: 0; }
.dsc-footer__menu li { padding: .3rem 0; }
.dsc-footer__menu a { color: rgba(255,255,255,.85); text-decoration: none; font-size: .92rem; }
.dsc-footer__menu a:hover { color: #fff; text-decoration: underline; }
.dsc-footer__disclaimer { max-width: var(--container); margin: 0 auto; padding: 1.5rem 1.25rem 0; border-top: 1px solid rgba(255,255,255,.15); font-size: .82rem; color: rgba(255,255,255,.7); }
.dsc-footer__copyright { margin-top: .8rem; }

/* ─────────────────────────────────────────────────────────────
   Sticky mobile CTA
   ───────────────────────────────────────────────────────────── */
.dsc-sticky-cta {
	position: fixed; bottom: 0; left: 0; right: 0; z-index: 40;
	padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom, 0px));
	background: rgba(255,255,255,.95); backdrop-filter: blur(10px);
	border-top: 1px solid var(--c-line); box-shadow: 0 -4px 12px rgba(11,31,44,.08);
}
.dsc-sticky-cta .dsc-btn { width: 100%; }
@media (min-width: 860px) { .dsc-sticky-cta { display: none; } }
@media (max-width: 859px) {
	.dsc-sticky-cta { aria-hidden: false; }
	body { padding-bottom: 72px; }
}

/* ─────────────────────────────────────────────────────────────
   Cookie consent banner
   ───────────────────────────────────────────────────────────── */
.dsc-consent-banner {
	position: fixed; bottom: 1rem; left: 1rem; right: 1rem; max-width: 720px; margin: 0 auto;
	background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg); z-index: 100; padding: 1.5rem;
}
.dsc-consent-banner__inner { display: flex; flex-direction: column; gap: 1rem; }
.dsc-consent-banner h2 { margin: 0 0 .5rem; font-size: 1.1rem; color: var(--c-green-900); }
.dsc-consent-banner p { margin: 0; font-size: .92rem; color: var(--c-ink-soft); }
.dsc-consent-banner__details { margin-top: .5rem; }
.dsc-consent-banner__details summary { cursor: pointer; color: var(--c-green-700); font-weight: 500; font-size: .9rem; padding: .3rem 0; }
.dsc-consent-banner__choice { display: flex; gap: .6rem; padding: .5rem 0; font-size: .88rem; align-items: flex-start; }
.dsc-consent-banner__choice input { margin-top: .25rem; accent-color: var(--c-green-700); }
.dsc-consent-banner__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.dsc-consent-banner__actions .dsc-btn { padding: .65rem 1rem; font-size: .92rem; }
.dsc-consent-recall {
	position: fixed; bottom: 1rem; left: 1rem; z-index: 30;
	background: #fff; border: 1px solid var(--c-line); border-radius: 999px;
	padding: .4rem .8rem; font-size: .8rem; color: var(--c-ink-soft);
	cursor: pointer; box-shadow: var(--shadow-sm);
}
.dsc-consent-recall:hover { color: var(--c-green-700); border-color: var(--c-green-300); }
@media (max-width: 859px) {
	.dsc-consent-recall { bottom: 80px; }
}

/* ─────────────────────────────────────────────────────────────
   Reduced motion
   ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
}
