/* Page-specific composition. Shared design tokens remain in site.css. */
.hero-tool-title { margin-bottom:18px; font-size:var(--step-2); max-width:25ch; }
.mini-report { padding:34px; background:var(--ice); border:1px solid var(--line); border-radius:var(--radius); }
.mini-report h3 { margin-top:20px; max-width:22ch; }
.mini-report dl { margin-top:24px; }
.mini-report dl > div { padding:17px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:105px 1fr; gap:15px; }
.mini-report dt { font-weight:600; }
.mini-report dd { color:var(--muted); }
.money-proof { padding:34px; background:var(--ink); color:var(--white); border-radius:var(--radius); }
.money-proof h3 { margin-top:20px; max-width:25ch; }
.money-proof dl { margin-top:24px; }
.money-proof dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:22px; padding:18px 0; border-bottom:1px solid #4b626a; }
.money-proof dd { font-size:var(--step-2); white-space:nowrap; font-variant-numeric:tabular-nums; }
.money-proof dt { color:var(--line); }
.money-proof .money-result dd { color:var(--mint); }
.money-proof p { font-size:var(--step--1); color:var(--line); margin-top:20px; }
.service-row h3 { display:flex; justify-content:space-between; gap:20px; }
.service-row h3 > a { display:inline; }
.closing .button { margin-top:24px; }
.closing-links h3 { font-size:var(--step-1); }
.text-section + .text-section { margin-top:32px; }
.text-section h3 { font-size:var(--step-2); }
.text-section p { margin-top:12px; color:var(--muted); }
.price-list dd { max-width:55ch; }
.price-list dd p { font-size:var(--step-0); color:var(--muted); margin-top:6px; }
.price-grid .price-card:last-child:nth-child(4) { grid-column:1/-1; }
.chain-product { padding:24px; }
.chain-product .product-caption { padding:0 0 18px; color:var(--muted); }
.chain-product strong { display:block; font-size:var(--step-1); padding-bottom:18px; }
.product-line { padding:18px 0; border-top:1px solid var(--line); }
.product-result { background:var(--mint); padding:14px 16px; border-radius:6px; }
.agentia-flow { padding:32px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.agentia-flow h3 { font-size:var(--step-3); }
.agentia-flow p { margin-top:8px; color:var(--muted); }
.agentia-flow ol { list-style:none; padding:0; margin-top:28px; }
.agentia-flow li { padding:15px 0; border-top:1px solid var(--line); }
.form-shell { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; padding:40px; }
.form-shell > div > h2 { font-size:var(--step-3); }
.form-shell > div > .lead { margin-top:20px; }
.form-shell > div > .inline-note { margin-top:30px; }
.form-shell .setup-summary { margin-top:24px; }
.form-steps { font-size:var(--step--1); gap:10px 20px; }
.field label span { font-weight:400; font-size:var(--step--1); }
.field > p { font-size:var(--step--1); margin-top:8px; color:var(--muted); }
.form-privacy { margin-top:20px; font-size:var(--step--1); }
.form-step > .inline-note { margin-top:20px; }
.review-summary { margin-top:24px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.review-summary h3 { font-size:var(--step-1); margin-bottom:10px; }
.review-summary dl > div, .setup-summary dl > div { margin-top:12px; }
.review-summary dt, .setup-summary dt { font-weight:600; font-size:var(--step--1); }
.review-summary dd, .setup-summary dd { color:var(--muted); font-size:var(--step--1); overflow-wrap:anywhere; }
.form-status h3 { font-size:var(--step-1); }
.form-status p, .form-status .button { margin-top:14px; }
.form-status ul { margin-top:10px; }
.state-path { display:grid; gap:18px; padding:48px; }
.state-path strong { font-size:var(--step-4); letter-spacing:-.04em; }
.state-path span { color:var(--muted); }
.status-layout h2 { font-size:var(--step-3); }
.status-layout p { color:var(--muted); margin-top:20px; }
.report-summary dl > div { padding:14px 0; border-bottom:1px solid var(--line); }
.report-summary dt { color:var(--muted); font-size:var(--step--1); }
.report-summary dd { margin-top:4px; font-weight:600; }
.report-summary .badge { margin-bottom:16px; }
.report-summary h2 + p { margin-top:16px; }
.report-section h4 { margin-top:18px; }
.report-section .badge { color:var(--ink); }
.report-section details { margin-top:20px; }
.report-section summary { padding:12px 0; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.report-section dl > div { margin-top:18px; }
.privacy-panel { width:min(520px,calc(100% - 36px)); padding:32px; color:var(--ink); background:var(--white); border:1px solid var(--muted); border-radius:var(--radius); box-shadow:var(--shadow); }
.privacy-panel::backdrop { background:rgb(23 45 53 / 35%); }
.privacy-panel h2 { font-size:var(--step-3); }
.privacy-panel p { margin-top:18px; color:var(--muted); }
.privacy-panel .button { margin-top:24px; }
.mobile-menu nav details { border-bottom:1px solid var(--line); }
.mobile-menu nav details > summary { padding:16px 0; font-weight:600; font-size:var(--step-1); }
.mobile-menu nav details > div { padding:0 0 14px 15px; }
.mobile-menu nav details a { display:block; padding:12px 0; min-height:44px; }
.legal-copy section:first-child h3 { margin-top:0; }
.services :focus-visible, .section--ink :focus-visible { outline-color:var(--mint); }
.catalog-links { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.scope-detail { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.scope-detail summary { min-height:44px; padding:18px 0; font-weight:600; cursor:pointer; }
.scope-detail p { padding-bottom:20px; color:var(--muted); }
.section:not(.section--ice):not(.section--ink):not(.services) + .section:not(.section--ice):not(.section--ink):not(.services) { padding-top:28px; }
@media (min-width:761px) {
 .steps:has(> :nth-child(2):last-child), .deliverables:has(> :nth-child(2):last-child), .price-grid:has(> :nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1000px) { .form-shell { gap:30px; padding:30px; } }
@media (max-width:760px) {
 .form-shell { grid-template-columns:1fr; gap:32px; padding:26px; }
 .form-shell > div > .inline-note { margin-top:20px; }
 .state-path { padding:30px; }
 .price-grid .price-card:last-child:nth-child(4) { grid-column:auto; }
 .chain-product { padding:20px; }
}
@media (max-width:430px) {
 .mini-report,.money-proof { padding:24px; }
 .mini-report dl > div { grid-template-columns:1fr; gap:6px; }
 .hero-tool-title { font-size:23px; }
 .form-shell { width:calc(100% - 28px); padding:22px; }
 .form-steps { gap:10px 14px; }
 .form-steps li { font-size:12px; }
 .state-path { padding:26px; }
 .privacy-panel { padding:26px; }
}
@media print { .privacy-panel, .form-actions, .mobile-menu, .site-header .button { display:none!important; } }

/* ---- integration patch 01-front-hero-fullwidth.css ---- */
/* Integration patch 02.11.2026 (smie-lead): the front-page flow tool is built to run at full width (like the agentia.no
   architecture chart), so the headline and lead sit in one row on top and the tool runs across the whole container below. */
.hero--home .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: start; }
.hero--home .hero-copy { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); column-gap: 56px; row-gap: 20px; align-items: end; }
.hero--home .hero-copy h1 { grid-column: 1; grid-row: 1 / span 2; max-width: 12ch; }
.hero--home .hero-copy .lead { grid-column: 2; max-width: 42ch; }
.hero--home .hero-copy .actions { grid-column: 2; }
.hero--home .hero-tool-title { margin-bottom: 16px; }
@media (max-width: 900px) {
  .hero--home .hero-copy { display: block; }
}

/* ---- integration patch 03-nav-nowrap.css ---- */
/* Integration patch 02.11.2026 (smie-lead): menu labels never wrap onto two lines; the gap tightens between 1001 and 1180 px. */
.site-nav > a, .nav-details > summary { white-space: nowrap; }
@media (max-width: 1180px) and (min-width: 1001px) {
  .site-nav { gap: 12px; }
  .site-header > .container { gap: 16px; }
}

/* ---- integration patch 05-free-check-engine.css ---- */
/* LE-1 (02.11.2026): the one-hour promise is shown only while the lead engine answers available
   (assets/free-check-bridge.js sets html[data-one-hour]). Without the script, or while it checks, no deadline shows. */
html:not([data-one-hour="available"]) [data-one-hour-only] { display: none !important; }
/* the engine's form texts (LEGAL.md section 3), shown on the final step only while the engine runs */
.engine-final { margin-top: 18px; }
.engine-final .field { margin-top: 10px; }
.engine-final .choice { line-height: 1.55; }
.engine-terms { margin-top: 16px; font-size: var(--step--1); line-height: 1.65; }
.engine-notice { margin-top: 12px; font-size: var(--step--1); line-height: 1.65; }
.engine-notice summary { cursor: pointer; font-weight: 600; }
.engine-notice p { margin-top: 10px; }
.turnstile-slot { margin-top: 16px; min-height: 0; }

/* ---- integration patch 07-privacy-register.css ---- */
/* LE-2/LE-4 (02.11.2026): the supplier register on /personvern, one card per supplier, label above text on phones */
.supplier-list { display: grid; gap: 14px; margin-top: 16px; }
.supplier { padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.supplier h4 { margin: 0 0 6px; font-size: var(--step-0); }
.supplier dl { display: grid; gap: 10px; margin: 0; }
.supplier dt { font-weight: 600; }
.supplier dd { margin: 2px 0 0; color: var(--muted); overflow-wrap: anywhere; }
@media (min-width: 760px) { .supplier dl > div { display: grid; grid-template-columns: 8.5rem 1fr; gap: 12px; } .supplier dd { margin: 0; } }

/* ---- integration patch 12-rapporteksempel-real-report.css ---- */
/* LE-5 (02.11.2026): /rapporteksempel shows the real report pages, full width on phones */
.report-pages { list-style: none; margin: 0 auto; padding: 0; max-width: 880px; display: grid; gap: 28px; }
.report-pages img { display: block; width: 100%; height: auto; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); }
.report-download { max-width: 880px; margin: 28px auto 0; }
.report-contents { max-width: 72ch; margin-top: 16px; padding-left: 1.2em; display: grid; gap: 10px; color: var(--muted); }
