/* Tuleva stiil, võetud Laura rikkaks kalkulaatorist (tuleva-reports/docs/laura-kalkulaator). */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root{
  --navy-blue:#002f63; --blue:#006ce6; --blue-hover:#0057bb;
  --text-primary:#293036; --text-secondary:#6b7074;
  --gray-border-2:#d6dee6; --gray-border-3:#c8d0d8;
  --bg-soft:#f5f8fb; --accent:#ffd200;
}
body{font-family:'Roboto','Segoe UI','Helvetica Neue',Arial,sans-serif; color:var(--text-primary); background:#fff; -webkit-font-smoothing:antialiased; line-height:1.55; min-height:100vh; display:flex; flex-direction:column;}
main{flex:1;}
.wrap{max-width:760px; margin:0 auto; padding:0 16px;}
h1{font-size:clamp(1.75rem,4.5vw,2.75rem); font-weight:700; line-height:1.15; color:var(--navy-blue); letter-spacing:-0.01em; margin-bottom:1rem;}
h2{font-size:clamp(1.3rem,3vw,1.85rem); font-weight:600; line-height:1.25; color:var(--navy-blue); margin-bottom:0.75rem;}
.eyebrow{font-size:0.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--blue); margin-bottom:0.75rem; display:block;}
.lead{font-size:clamp(1.0625rem,1.6vw,1.25rem); line-height:1.5; max-width:62ch; margin-bottom:1.5rem;}
.muted{color:var(--text-secondary);}
a{color:var(--blue);}

header{border-bottom:1px solid var(--gray-border-2);}
.topbar{display:flex; justify-content:space-between; align-items:center; padding:1.1rem 0;}
.brand{display:inline-flex; align-items:center;}
.brand-logo{height:2.1rem; width:auto; display:block;}

.hero{position:relative; padding:3rem 0 2.5rem;}
.hero::before{content:""; position:absolute; top:0; left:0; right:0; height:8px; background:linear-gradient(90deg,var(--navy-blue) 0%,var(--blue) 100%);}

.card{background:var(--bg-soft); border-left:4px solid var(--blue); border-radius:0 0.5rem 0.5rem 0; padding:1.6rem 1.75rem;}
@media(max-width:600px){.card{padding:1.25rem;}}
.intro{border-left:6px solid var(--accent); background:#fff; padding:0.6rem 1rem; margin-bottom:1.25rem; font-weight:500; color:var(--navy-blue);}
.hint{font-size:0.9375rem; color:var(--text-secondary); margin:-0.25rem 0 1rem;}

.progress{height:6px; background:var(--gray-border-2); border-radius:999px; overflow:hidden; margin-bottom:1.5rem;}
.progress i{display:block; height:100%; background:var(--blue); transition:width .25s;}

.answers{display:flex; gap:0.75rem; margin-top:1.25rem;}
.answers .btn{flex:1;}
.checks{display:grid; gap:0.6rem; margin-top:1rem;}
.checks label{display:flex; gap:0.75rem; align-items:center; background:#fff; border:1px solid var(--gray-border-3); border-radius:0.375rem; padding:0.8rem 1rem; cursor:pointer; font-size:1rem;}
.checks input{width:1.15rem; height:1.15rem; accent-color:var(--blue);}

.btn{display:inline-block; text-align:center; text-decoration:none; font-weight:600; padding:0.8rem 1.6rem; border-radius:0.375rem; font-size:1rem; cursor:pointer; border:1px solid var(--blue); font-family:inherit;}
.btn.primary{background:var(--blue); color:#fff; box-shadow:0 1px 2px rgba(0,47,99,.12); transition:background .15s, box-shadow .15s, transform .15s;} .btn.primary:hover{background:var(--blue-hover); box-shadow:0 3px 10px rgba(0,47,99,.18); transform:translateY(-1px);}
.btn.ghost{background:#fff; color:var(--blue);} .btn.ghost:hover{background:var(--bg-soft);}
.back{background:none; border:none; color:var(--text-secondary); font:inherit; font-size:0.9375rem; cursor:pointer; margin-top:1.25rem; padding:0;}
.back:hover{color:var(--blue);}
.back[hidden]{display:none;}

.year-form label{display:block; font-weight:600; color:var(--navy-blue); margin-bottom:0.6rem;}
.year-row{display:flex; gap:0.75rem;}
.screening{margin:1.5rem 0;}
.year-row{align-items:stretch;}
.year-row input{flex:0 1 11rem; min-width:0; font:inherit; font-size:1.125rem; color:var(--text-primary); padding:0.8rem 1rem; border:1px solid var(--gray-border-3); border-radius:0.375rem; background:#fff; -moz-appearance:textfield; appearance:textfield;}
.year-row input::-webkit-outer-spin-button, .year-row input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.year-row input::placeholder{color:var(--text-secondary);}
.year-row input:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
@media(max-width:480px){.year-row{flex-direction:column;} .year-row input{flex:none; width:100%;}}
.hint.error{color:#c0392b; margin:0.6rem 0 0;}
.year-row input.invalid{border-color:#c0392b; outline-color:#c0392b;}
.result{margin-top:1.5rem;}
.result > * + *{margin-top:0.9rem;}
.result h3{font-size:1.15rem; color:var(--navy-blue); margin-top:1.75rem;}
.verdict{font-weight:600; padding:0.6rem 1rem; background:#fff; border-left:6px solid var(--accent); color:var(--navy-blue);}
.steps{padding-left:1.25rem;} .steps li + li{margin-top:0.4rem;}
.providers{list-style:none; display:grid; gap:0.6rem;}
.providers li{display:flex; flex-direction:column; gap:0.15rem; background:#fff; border:1px solid var(--gray-border-3); border-radius:0.375rem; padding:0.8rem 1rem; overflow-wrap:anywhere;}
.providers .price{font-weight:600;}
.providers .slot{font-weight:600; color:var(--navy-blue); margin-top:0.3rem;}
.gp-search{margin:1.5rem 0;}
.gp-search > * + *{margin-top:0.75rem;}
.gp-search label{display:block; font-weight:600; color:var(--navy-blue);}
.gp-search input{width:100%; max-width:24rem; font:inherit; font-size:1rem; padding:0.75rem 1rem; border:1px solid var(--gray-border-3); border-radius:0.375rem; background:#fff; margin-top:0.4rem;}
.gp-search input:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
.gp-results{list-style:none; display:grid; gap:0.4rem;}
.gp-results:empty{display:none;}
.gp-option{display:flex; flex-direction:column; gap:0.15rem; background:#fff; border:1px solid var(--gray-border-3); border-radius:0.375rem; padding:0.6rem 0.9rem; overflow-wrap:anywhere;}
@media print{.gp-search{display:none !important;}}
.providers .coupon{align-self:flex-start; margin-top:0.3rem; padding:0.2rem 0.6rem; border-radius:0.375rem; background:#fff8d6; border:1px solid var(--accent); font-size:0.9375rem; color:var(--navy-blue);}
.providers .coupon code{font-weight:700; font-family:inherit; letter-spacing:0.03em;}
.providers .actions{display:flex; flex-wrap:wrap; gap:0.4rem 1.25rem; margin-top:0.35rem;}
.small{font-size:0.8125rem;}

footer{padding:1.6rem 0; font-size:0.8125rem; color:var(--text-secondary); border-top:1px solid var(--gray-border-2); margin-top:2rem;}

.soon-title{margin-top:2.5rem; color:var(--text-secondary);}
.soon{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
@media(max-width:600px){.soon{grid-template-columns:1fr;}}
.soon-card{background:var(--bg-soft); border-left:4px dashed var(--gray-border-3); border-radius:0 0.5rem 0.5rem 0; padding:1.1rem 1.25rem; color:var(--text-secondary);}
.soon-card h3{font-size:1.05rem; font-weight:600; color:var(--text-secondary); margin-bottom:0.2rem;}
.soon-card p{font-size:0.9375rem;}

.vastused{margin:1.5rem 0;}
.vastused dl{display:grid; gap:0.15rem;}
.vastused dt{font-size:0.9375rem; color:var(--text-secondary); margin-top:0.6rem;}
.vastused dd{font-weight:600; color:var(--navy-blue);}
.downloads{display:flex; gap:0.75rem; flex-wrap:wrap; margin:1.25rem 0 1rem;}
.vastused .hint{margin:0;}

/* PDF = brauseri prindidialoog: ainult tulemus ja vastused. */
@media print{
  header, .downloads, .vastused .hint, .nav, .year-form, .hero::before{display:none !important;}
  .hero{padding:0;}
  .card{border:none; background:none; padding:0;}
  body{min-height:0;}
}

/* Optioni lehe põhjus, järgmine samm, "Miks" plokk ja turvavõrk */
.reason{font-weight:500; color:var(--navy-blue);}
.next{margin-bottom:1.25rem; max-width:62ch;}
details.why{margin:1.25rem 0; padding:1rem 1.25rem;}
details.why summary{cursor:pointer; font-weight:600; color:var(--blue); list-style:revert;}
details.why[open] summary{margin-bottom:0.6rem;}
details.why p{max-width:62ch;}
.safety{border-left:6px solid var(--accent); background:var(--bg-soft); padding:0.9rem 1.1rem; border-radius:0 0.5rem 0.5rem 0; margin:1.25rem 0; max-width:66ch;}
@media print{ details.why{display:none;} }
.result:first-child{margin-top:0;}
.result > h3:first-child{margin-top:0;}

/* Avalehe (landing) viimistlus — loetavus, vertikaalne rütm, usalduskasti skaneeritavus */
#start > p, #start > ul, #start > h2{max-width:62ch;}
#start > ul{padding-left:1.2rem;}
#start li + li{margin-top:0.4rem;}
#start > * + *{margin-top:1.15rem;}
#start > h2{margin-top:2.5rem;}
#start > .card{margin-top:2rem;}
#start > .btn.primary{margin-top:0.5rem; margin-bottom:0.5rem;}
#start .card > p + p{margin-top:0.85rem;}
#start .card > p strong{color:var(--navy-blue);}
/* "?" kaart tulevikuplokis + lahtiklapitavate plokkide loetelu */
.soon-card.unknown h3{font-size:1.75rem; line-height:1; margin-bottom:0.3rem;}
#start details.why ul{padding-left:1.2rem; margin-top:0.6rem;}
#start details.why summary{font-size:1.0625rem;}

/* Jämesoolevähi vaheleht (jamesoolevahk.html) */
#crc > p, #crc > ul{max-width:62ch;}
#crc > ul{padding-left:1.2rem;}
#crc li + li{margin-top:0.4rem;}
#crc > h2{margin-top:2.5rem;}
#crc > p + p{margin-top:0.85rem;}
.video{max-width:360px; margin:1.5rem auto 0.5rem;}
.video video{display:block; width:100%; height:auto; aspect-ratio:9/16; background:var(--navy-blue); border-radius:0.5rem;}
.video figcaption{font-size:0.875rem; color:var(--text-secondary); text-align:center; margin-top:0.5rem;}
.options, .choose{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem;}
@media(max-width:600px){.options, .choose{grid-template-columns:1fr;}}
.option-card, .choose-card{background:var(--bg-soft); border-left:4px solid var(--blue); border-radius:0 0.5rem 0.5rem 0; padding:1.2rem 1.4rem;}
.option-card h3, .choose-card h3{margin-bottom:0.4rem;}
.option-card p + p, .choose-card p{margin-top:0.5rem;}
.choose{margin-top:1.5rem;}
.choose-card.primary{border-left-color:var(--accent);}
.choose-card .btn{margin-top:1rem;}
.choose-actions{display:flex; flex-direction:column; gap:0.6rem; margin-top:1rem;}
.choose-actions .btn{margin-top:0;}
#crc > .nav{margin-top:2rem;}
#crc > .quiz-btn{margin-top:1.25rem;}
#crc > .choose-card{margin-top:2rem; max-width:62ch;}
#crc .choose-actions{flex-direction:row; flex-wrap:wrap;}

/* Option 1 roheline märge (PR #23) */
.risk-badge{display:inline-flex;align-items:center;gap:0.45rem;font-weight:600;font-size:1.0625rem;padding:0.55rem 1.1rem;border-radius:999px;margin-bottom:1rem;line-height:1.3;}
.risk-badge.risk-low{background:#e3f6e8;color:#1b7a3d;border:1px solid #9fd9b2;}

/* Avalehe kaheastmeline nupp (PR #24) */
.cta-stacked{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0.15rem;text-align:left;line-height:1.25;padding:0.9rem 1.5rem;}
.cta-stacked .cta-title{font-size:1.2rem;font-weight:700;}
.cta-stacked .cta-sub{font-size:0.9rem;font-weight:400;opacity:0.92;}
