@import "tailwindcss";
@import "tw-animate-css";
@import "../vendor/shadcn-tailwind-4.13.0.css";
.question-stack select { width:100%; min-height:50px; margin-top:9px; padding:10px; color:var(--cream); background:#102b53; border:1px solid var(--line); border-radius:3px; font-size:16px; }
.model-details { margin-top:22px; border-top:1px solid var(--line); padding-top:14px; font-size:14px; line-height:1.55; color:var(--muted); }
.model-details summary { cursor:pointer; color:var(--gold); font-size:16px; }
.model-details p { margin:12px 0; }
.model-details input { width:100%; min-height:44px; padding:8px; color:var(--cream); background:#102b53; border:1px solid var(--line); font-size:16px; }
.draft-notice { margin:18px 0; padding:12px 15px; border-left:3px solid var(--gold); background:#173257; color:#e3ceb0; font-size:14px; line-height:1.5; }
.field-error { color:#ffb9b9 !important; font-size:14px; margin-top:10px; }
.success-notice { margin:18px 0; padding:12px 15px; border-left:3px solid #8ab7a0; background:#173d3a; color:#dff2e6; font-size:14px; line-height:1.5; }
.phone-label { display:block; margin-top:20px; font-size:16px; }
.offer-box .phone-note { font-size:14px; line-height:1.5; color:#c2ceda; margin-top:12px; }
.consent-row { display:flex; align-items:flex-start; gap:10px; margin-top:18px; color:#c2ceda; font-size:13px; line-height:1.45; }
.consent-row input { flex:0 0 auto; width:17px; height:17px; min-height:17px; margin:2px 0 0; accent-color:var(--gold); }
.table-scroll { max-width:100%; overflow-x:auto; margin-top:14px; }
.table-scroll table { border-collapse:collapse; font-size:14px; width:100%; min-width:700px; }
.table-scroll th,.table-scroll td { padding:10px; border:1px solid var(--line); text-align:left; }
.table-scroll caption { text-align:left; margin-bottom:8px; }
.question-stack .hint,.hint,.result-note { font-size:14px; line-height:1.5; }
.question-stack .hint { display:block; font-weight:400; margin-top:8px; }
.result-grid b { overflow-wrap:anywhere; }
.investment-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:18px; }
.investment-summary > div { display:flex; flex-direction:column; gap:7px; padding:18px; border-left:3px solid var(--gold); background:#183967; }
.investment-summary span { color:#c7d2dd; font-size:13px; }
.investment-summary strong { color:var(--gold); font-family:Georgia,'Times New Roman',serif; font-size:27px; }
.investment-summary small { color:#aebdca; font-size:12px; line-height:1.4; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.headline-invitation { margin: 18px 0 0; color: var(--gold); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 4vw, 2.6rem); line-height: 1.15; }
:root { --navy:#0b2148; --navy2:#102e5a; --line:#36567d; --gold:#e0a447; --cream:#f7f1e6; --muted:#b4c2d0; }
* { box-sizing:border-box; } html { background:var(--navy); scroll-behavior:smooth; } body { margin:0; background:var(--navy); color:var(--cream); font-family:Arial,Helvetica,sans-serif; } button,input { font:inherit; } button { cursor:pointer; }
.site-shell { min-height:100vh; background:radial-gradient(circle at 50% -10%,#173967 0,#0b2148 45%); }.app-frame { width:min(100%,920px); min-height:100vh; margin:auto; padding:0 28px 28px; display:flex; flex-direction:column; }.site-header { display:flex; align-items:center; gap:14px; padding:26px 0 23px; border-bottom:1px solid #19365c; }.lemm-wordmark { color:#ecf2f5; font-size:27px; font-weight:700; letter-spacing:-.04em; line-height:1; text-decoration:none; }.lemm-wordmark b { color:#ef252d; font-weight:700; }.header-title { display:flex; flex-direction:column; gap:5px; border-left:1px solid #496586; padding-left:14px; }.header-title strong { font-size:13px; letter-spacing:.19em; }.header-title span { color:#d7a157; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }.header-contact { margin-left:auto; display:flex; align-items:center; gap:7px; color:#d7a157; font-size:12px; }
.progress-row { display:flex; align-items:center; gap:8px; padding:24px 0 16px; }.progress-row span { width:54px; height:4px; border-radius:9px; background:#233f65; }.progress-row span.active { background:var(--gold); }.progress-row em { margin-left:8px; color:#aebfd0; font-size:12px; font-style:normal; }.content-area { flex:1; display:flex; align-items:center; padding:30px 0 55px; }.step-panel { width:100%; max-width:720px; margin:auto; }.intro-panel { max-width:780px; }.eyebrow,.step-label { display:flex; align-items:center; gap:8px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.16em; }.step-label { display:block; }.step-panel h1,.step-panel h2 { max-width:760px; margin:18px 0 0; font-family:Georgia,'Times New Roman',serif; font-weight:700; letter-spacing:-.045em; line-height:1.02; }.step-panel h1 { font-size:clamp(3rem,8vw,6.7rem); }.step-panel h2 { font-size:clamp(2.6rem,6vw,4.7rem); }.lead { max-width:610px; margin:22px 0 0; color:var(--muted); font-size:19px; line-height:1.55; }.lead.small { font-size:17px; max-width:600px; }
.question-card { margin-top:34px; max-width:610px; padding:22px; border:1px solid var(--line); border-radius:4px; background:#102b53; }.question-card label,.question-stack label,.question-stack legend { display:block; color:#eef2f4; font-size:15px; font-weight:600; }.segmented { display:flex; gap:5px; margin-top:18px; }.segmented button { border:1px solid var(--line); border-radius:3px; background:transparent; color:#b5c4d2; padding:11px 14px; font-size:14px; }.segmented button.chosen { background:var(--gold); border-color:var(--gold); color:#142746; font-weight:700; }.input-with-unit { display:flex; align-items:center; margin-top:13px; border-bottom:2px solid var(--gold); }.input-with-unit input,.question-stack input,.offer-box input { width:100%; min-height:50px; border:0; outline:0; background:transparent; color:var(--cream); font-size:24px; }.input-with-unit input::placeholder,.question-stack input::placeholder,.offer-box input::placeholder { color:#7790aa; }.input-with-unit span { white-space:nowrap; color:#aebfd0; font-size:13px; }.hint,.privacy-note { color:#8fa5bb; font-size:12px; }.hint { margin:12px 0 0; }.privacy-note { margin:14px 0 0; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; margin-top:25px; padding:0 23px; border:1px solid var(--gold); border-radius:3px; background:var(--gold); color:#122847; font-size:15px; font-weight:700; }.primary-button:hover { background:#f0bd68; }.primary-button:disabled { cursor:not-allowed; opacity:.4; }.question-stack { display:grid; gap:25px; margin-top:31px; max-width:700px; }.question-stack label { position:relative; }.question-stack input { margin-top:9px; padding:0 40px 0 0; border-bottom:1px solid var(--line); font-size:18px; }.input-icon { position:absolute; right:9px; bottom:15px; color:var(--gold); }.question-stack fieldset { margin:0; padding:0; border:0; }.question-stack legend { margin-bottom:11px; }.option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.option-grid.four { grid-template-columns:repeat(4,1fr); }.option-grid span { display:block; }.option-grid button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:3px; background:#102b53; color:#c4d0dc; text-align:left; font-size:14px; }.option-grid button:hover,.option-grid button.selected { border-color:var(--gold); background:#183967; color:#fff; }.option-grid button.selected svg { color:var(--gold); }.actions { display:flex; align-items:center; gap:15px; margin-top:35px; }.actions .primary-button { flex:1; max-width:300px; margin-top:0; }.back-button { display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:#aebfd0; font-size:14px; }.back-button:hover { color:#fff; }
.result-panel { max-width:760px; }.big-result { display:flex; align-items:baseline; gap:13px; margin-top:25px; padding-bottom:18px; border-bottom:1px solid var(--line); }.big-result strong { color:var(--gold); font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.2rem,8vw,5.5rem); }.big-result span { color:#b9c7d2; font-size:14px; }.result-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }.result-grid div { display:flex; flex-direction:column; gap:9px; min-height:87px; padding:13px; border:1px solid var(--line); background:#102b53; }.result-grid span { color:#9db1c4; font-size:12px; }.result-grid b { color:#f2f5f3; font-size:18px; }.result-note { margin-top:17px; color:#94a9be; font-size:12px; line-height:1.5; }.offer-box { margin-top:25px; padding:21px; border-left:3px solid var(--gold); background:#102b53; }.offer-box h3 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:25px; }.offer-box p { margin:9px 0 4px; color:#afbfce; font-size:14px; }.offer-box input { border-bottom:1px solid var(--line); font-size:17px; }.offer-box .primary-button { margin-top:16px; }.edit-button { margin-top:17px; } footer { display:flex; justify-content:space-between; padding-top:17px; border-top:1px solid #19365c; color:#7891aa; font-size:11px; }
@media(max-width:650px) { .app-frame { padding:0 18px 22px; }.site-header { padding:19px 0; }.header-title strong { font-size:11px; }.header-title span { font-size:9px; }.header-contact { display:none; }.progress-row span { width:36px; }.content-area { align-items:flex-start; padding-top:25px; }.step-panel h1 { font-size:clamp(2.8rem,14vw,4.8rem); }.step-panel h2 { font-size:clamp(2.6rem,12vw,4rem); }.lead { font-size:17px; }.option-grid,.option-grid.four { grid-template-columns:repeat(2,1fr); }.result-grid { grid-template-columns:repeat(2,1fr); }.result-grid b { font-size:16px; }.big-result { flex-direction:column; gap:0; }.actions { align-items:stretch; }.actions .primary-button { padding:0 13px; }.segmented button { flex:1; padding:10px 5px; font-size:13px; } footer { gap:14px; flex-direction:column; } }
.investment-summary { }
@media(max-width:650px) { .investment-summary { grid-template-columns:1fr; } .investment-summary strong { font-size:24px; } }

/* Ujednačena tipografija na rezultatima */
.result-panel h2 { font-size:clamp(2.6rem,5vw,4rem); line-height:1.06; }
.result-panel .lead.small { font-size:18px; }
.big-result strong { font-size:clamp(3rem,7vw,4.8rem); }
.result-grid { grid-template-columns:repeat(2,1fr); }
.result-grid div { padding:15px; }
.result-grid span { font-size:13px; line-height:1.35; }
.result-grid b { font-size:18px; line-height:1.25; }
.result-note { font-size:13px; }
.header-contact { flex-direction:column; align-items:flex-end; gap:4px; font-size:16px; }
.header-phone,.header-site,footer a { color:#d7a157; text-decoration:none; }
.header-phone { display:flex; align-items:center; gap:7px; font-size:16px; }
.header-site { font-size:13px; }
footer a:hover,.header-phone:hover,.header-site:hover { color:#f0bd68; text-decoration:underline; }
@media(max-width:650px) {
  .result-grid { grid-template-columns:repeat(2,1fr); }
  .result-panel h2 { font-size:clamp(2.5rem,11vw,3.7rem); }
}
.secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 18px; border:1px solid var(--line); border-radius:3px; background:#183967; color:#f2f5f3; font-size:14px; font-weight:700; }
.secondary-button:hover { border-color:var(--gold); color:var(--gold); }
.pdf-action { margin-top:25px; padding:18px; border:1px solid var(--line); background:#102b53; }
.pdf-action p { margin:10px 0 0; color:#aebfd0; font-size:13px; }
.print-sheet { display:none; }
.site-shell .unit { display:inline; font:inherit; color:inherit; text-transform:none; }
.offer-box .consent-row input { width:17px; min-height:17px; padding:0; border:0; }
@media print {
  @page { size:A4; margin:0; }
  html, body { background:#fff !important; color:#142746 !important; }
  body * { visibility:hidden !important; }
  .app-frame > :not(.content-area), .content-area > :not(.result-panel), .result-panel > :not(.print-sheet) { display:none !important; }
  .site-shell, .app-frame, .content-area, .step-panel, .result-panel { display:block !important; width:100% !important; min-height:0 !important; padding:0 !important; margin:0 !important; background:#fff !important; }
  .print-sheet, .print-sheet * { visibility:visible !important; }
  .print-sheet { display:block !important; position:static; width:100%; padding:15mm 18mm; color:#142746; font-family:Arial,Helvetica,sans-serif; }
  .print-brand { display:flex; align-items:center; gap:12px; padding-bottom:12px; border-bottom:3px solid #e0a447; }
  .print-brand-left { display:flex; flex-direction:column; gap:4px; min-width:150px; }
  .print-brand-left strong { color:#173967; font-size:30px; letter-spacing:-2px; }
  .print-brand-left strong span { color:#e3272f; }
  .print-brand-left small { color:#173967; font-size:9px; font-weight:700; }
  .print-brand-center { display:flex; flex-direction:column; gap:3px; border-left:1px solid #ccd4dc; padding-left:12px; color:#142746; font-size:10px; line-height:1.3; }
  .print-brand-center b { font-size:12px; }
  .print-brand-center span { text-align:center; }
  .print-brand em { margin-left:auto; color:#6b7785; font-size:10px; font-style:normal; line-height:1.5; text-align:right; }
  .print-sheet h1 { margin:25px 0 5px; font-family:Georgia,'Times New Roman',serif; font-size:28px; line-height:1.05; color:#142746; }
  .print-sheet h2 { margin:22px 0 10px; padding-bottom:5px; border-bottom:1px solid #ccd4dc; font-size:15px; color:#173967; }
  .print-date { margin:0; color:#6b7785; font-size:11px; }
  .print-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:24px; }
  .print-kpis div { min-height:68px; padding:10px; border-top:3px solid #e0a447; background:#eef3f7; }
  .print-kpis small { display:block; color:#5c6876; font-size:10px; line-height:1.2; }
  .print-kpis b { display:block; margin-top:6px; color:#173967; font-size:17px; }
  .print-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px 22px; }
  .print-grid p { display:flex; flex-direction:column; gap:3px; margin:0; font-size:11px; line-height:1.35; }
  .print-grid p b { color:#5c6876; font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:.03em; }
  .print-grid p span { color:#142746; font-weight:600; }
  .print-assumption { margin-top:25px; padding:11px 13px; border-left:3px solid #e0a447; background:#f1f4f6; color:#5c6876; font-size:10px; line-height:1.45; }
  .print-assumption b { color:#173967; font-size:11px; }
  .print-assumption p { margin:5px 0 0; }
  .print-company { display:flex; flex-direction:column; gap:3px; margin-top:22px; padding-top:12px; border-top:2px solid #e0a447; font-size:12px; }
}

/* Readable uppercase typography with a narrower size hierarchy. */
@media screen {
  .site-shell { text-transform:uppercase; font-size:16px; line-height:1.5; }
  .site-shell input { text-transform:none; }
  .site-shell input::placeholder { text-transform:uppercase; font-size:16px; }
  .step-panel h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.12; letter-spacing:-.025em; }
  .step-panel h2,.result-panel h2 { font-size:clamp(1.7rem,4vw,2.6rem); line-height:1.2; letter-spacing:-.02em; }
  .headline-invitation { font-size:clamp(1.4rem,3vw,2rem); line-height:1.25; }
  .lead,.lead.small,.result-panel .lead.small { font-size:18px; line-height:1.6; }
  .header-title strong { font-size:14px; letter-spacing:.08em; }
  .header-title span,.header-site,.progress-row em,.eyebrow,.step-label,footer { font-size:14px; letter-spacing:.03em; }
  .hint,.question-stack .hint,.privacy-note,.result-note,.model-details,.draft-notice,.success-notice,.field-error,.consent-row,.pdf-action p,.offer-box .phone-note { font-size:16px; line-height:1.6; }
  .question-card label,.question-stack label,.question-stack legend,.option-grid button,.primary-button,.secondary-button,.back-button,.phone-label,.model-details summary { font-size:16px; line-height:1.5; }
  .result-grid span,.investment-summary span,.investment-summary small,.big-result span,.input-with-unit span { font-size:15px; line-height:1.5; }
  .big-result strong { font-size:clamp(2.2rem,5vw,3.4rem); }
  .offer-box h3 { font-size:23px; line-height:1.3; }
  .primary-button,.secondary-button { padding-top:12px; padding-bottom:12px; }
  .option-grid button { overflow-wrap:anywhere; }
  .option-grid button svg { flex-shrink:0; }
  .header-title { min-width:0; }
  footer { gap:20px; flex-wrap:wrap; }
  @media(max-width:650px) {
    .header-title span { font-size:12px; }
    .option-grid,.option-grid.four { grid-template-columns:1fr 1fr; }
    .progress-row { flex-wrap:wrap; }
    .progress-row span { width:25px; }
    .result-grid { grid-template-columns:1fr; }
    .actions { flex-wrap:wrap; }
    .actions .primary-button { max-width:100%; min-width:200px; }
  }
}
@media print {
  .print-sheet { text-transform:uppercase; padding:12mm 15mm; }
  .print-sheet h1 { font-size:24px; margin-top:16px; }
  .print-sheet h2 { font-size:14px; margin-top:14px; }
  .print-kpis { margin-top:16px; }
  .print-kpis b { font-size:15px; }
  .print-brand-left { min-width:110px; }
  .print-brand-center b { font-size:11px; }
  .print-assumption { margin-top:14px; break-inside:avoid; }
  .print-heating { font-size:11px; text-transform:none; }
  .print-company { margin-top:14px; }
}

@media screen {
  .heating-note { font-size:14px; line-height:1.5; text-transform:none; }
  .header-phone { font-size:22px; white-space:nowrap; }
  .header-phone svg { width:21px; height:21px; }
  .header-site { font-size:19px; white-space:nowrap; }
  @media(max-width:650px) {
    .site-header { flex-wrap:wrap; }
    .header-contact { margin-left:auto; }
    .header-phone { font-size:20px; }
    .header-site { font-size:18px; }
  }
}

/* Requested reductions from the existing 16px/18px interface text. */
@media screen {
  .model-details summary { font-size:11.2px; line-height:1.25; }
  .result-panel .model-details { margin-top:12px; padding-top:8px; }
  .lead.small.compact-lead,
  .result-panel .lead.small.compact-lead { font-size:12.6px; line-height:1.25; margin-top:12px; }
  .compact-lead + .question-stack { margin-top:20px; }
  .draft-notice.compact-draft { font-size:11px; line-height:1.35; margin:9px 0; padding:6px 8px; }
  .pdf-action p { font-size:9.6px; line-height:1.25; margin-top:6px; }
  .offer-box #phone-note { font-size:9.6px; line-height:1.25; margin:6px 0 3px; }
  .consent-row { color:var(--gold); }
}
