/* Verejný vstup dopytu: vzhľad DOM-REALÍT, bez zásahu do súkromných obrazoviek. */
.search-public {
  --ink:#111; --paper:#f6f0e2; --white:#fff; --muted:#626262;
  --line:#e4ddcc; --gold:#e4bd2f; --darkgold:#796013;
  background:var(--paper); font-family:'Quicksand',sans-serif; font-weight:500;
}
html[data-dr-site-theme="soft"] .search-public { --gold:#c69c52; --paper:#f5f2ea; --darkgold:#805b22; }
.search-public header {
  min-height:118px; padding:14px max(28px,calc((100% - 1320px)/2));
  gap:32px; border:0; background:#fff; position:relative; z-index:20;
}
.search-public .brand { flex:none; }
.search-public .brand img { width:106px; height:88px; }
.search-public header nav { align-items:center; justify-content:center; gap:26px; }
.search-public header nav a,.search-public .site-dropdown>summary { font-size:18px; font-weight:700; white-space:nowrap; color:#111; }
.search-public header nav a.active { border:0; color:var(--darkgold); }
.search-public .header-phone { display:flex; align-items:center; gap:10px; white-space:nowrap; background:var(--gold); color:#111; padding:16px 24px; border-radius:12px; font-size:18px; font-weight:700; }
.search-public .header-phone span { font-size:24px; }
.search-public #identity:empty { display:none; }
.search-public #identity { position:absolute; right:28px; top:100%; background:#fff; padding:4px 12px; border-radius:0 0 12px 12px; }
.search-public .site-dropdown { position:relative; }
.search-public .site-dropdown>summary { cursor:pointer; list-style:none; padding:14px 0; }
.search-public .site-dropdown>summary::-webkit-details-marker { display:none; }
.search-public .site-dropdown>summary::after { content:'⌄'; margin-left:8px; }
.search-public .site-dropdown>div { position:absolute; top:100%; left:-18px; min-width:240px; background:#fff; border:1px solid var(--line); padding:10px 18px; border-radius:14px; box-shadow:0 12px 36px #0002; }
.search-public .site-dropdown>div a { display:block; padding:10px 0; font-size:16px; }
.search-public main { max-width:none; padding:0 0 64px; min-height:65vh; }
.search-public .search-hero {
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:80px;
  align-items:center; margin:0; padding:64px max(28px,calc((100% - 1180px)/2)) 82px;
  color:#fff; background:radial-gradient(ellipse at 95% 30%,rgba(228,189,47,.16),transparent 54%),#080808;
}
.search-public .search-hero .eyebrow { display:flex; align-items:center; gap:10px; color:var(--gold); text-transform:uppercase; font-size:12px; letter-spacing:.12em; font-weight:700; margin-bottom:20px; }
.search-public .search-hero .eyebrow::before { content:''; width:30px; height:2px; background:var(--gold); }
.search-public .search-hero h1 { color:#fff; font-size:clamp(40px,4vw,58px); letter-spacing:-2px; line-height:1.06; font-weight:600; margin:0 0 22px; }
.search-public .search-hero h1 em { color:var(--gold); font-weight:600; }
.search-public .search-hero p { color:#bdbdbd; font-size:20px; line-height:1.55; max-width:670px; }
.search-public .search-hero-note { border:1px solid #e4bd2f40; border-radius:24px; background:#ffffff06; padding:28px; }
.search-public .hero-mail { color:var(--gold); font-size:28px; display:block; margin-bottom:12px; }
.search-public .search-hero-note strong { display:block; font-size:26px; font-weight:600; line-height:1.2; margin-bottom:14px; }
.search-public .search-hero .search-hero-note p { font-size:16px; line-height:1.5; }
.search-public .search-hero-note a { color:var(--gold); font-size:16px; font-weight:700; display:inline-block; margin-top:18px; padding-bottom:4px; border-bottom:1px solid #e4bd2f66; }
.search-public .form-layout { position:relative; max-width:1180px; width:calc(100% - 56px); margin:-28px auto 0; gap:26px; grid-template-columns:minmax(0,1fr) 320px; font-size:18px; }
.search-public .form-layout>.panel { padding:32px; border:1px solid #e4ddcc; border-radius:24px; box-shadow:0 18px 45px #382b0810; }
.search-public .form-layout .summary { top:24px; padding:28px; background:#fffdf7; }
.search-public .summary h3 { font-size:22px; font-weight:700; }
.search-public .summary dt { font-size:15px; color:#6a655b; }
.search-public .summary dd { font-size:18px; font-weight:700; }
.search-public main .summary .badge { background:#f5e9b2; color:#554209; border-radius:8px; font-size:14px; padding:6px 12px; }
.search-public .summary .fine { font-size:15px; }
.search-public .progress { gap:8px; margin-bottom:28px; padding-bottom:24px; }
.search-public .form-layout .progress span { font-size:13px; gap:7px; font-weight:600; }
.search-public .progress b { width:30px; height:30px; font-size:14px; }
.search-public .progress .current b { background:#111; color:var(--gold); }
.search-public .progress .done b { background:#f3e7af; color:#554209; }
.search-public .form-layout h2 { font-size:28px; font-weight:700; letter-spacing:-.7px; }
.search-public .form-layout .step-sub { font-size:18px; margin-bottom:26px; }
.search-public .choice { border-radius:14px; border-color:#ded8c9; background:#fff; }
.search-public .choice:hover { border-color:var(--gold); background:#fffaf0; }
.search-public .choice[aria-pressed=true] { background:#fff8db; border-color:var(--gold); color:#111; box-shadow:inset 0 0 0 1px var(--gold); }
.search-public .choice.intent { position:relative; min-height:144px; padding:26px 24px; border-radius:18px; }
.search-public .intent::after { content:'↗'; position:absolute; top:20px; right:20px; color:var(--darkgold); font-size:24px; font-weight:600; }
.search-public .form-layout .intent strong { font-size:28px; margin-bottom:10px; padding-right:25px; }
.search-public .form-layout .intent small { font-size:16px; display:block; max-width:235px; }
.search-public .form-layout .field>span,.search-public .form-layout .field-label,.search-public .form-layout .check { font-size:18px; }
.search-public .form-layout .field input,.search-public .form-layout .field textarea,.search-public .form-layout .field select { font-size:18px; border-radius:12px; min-height:54px; }
.search-public .form-layout .choice,.search-public .form-layout .chip,.search-public .form-layout .suggestions button { font-size:17px; }
.search-public .form-layout .subtle,.search-public .form-layout .notice,.search-public .form-layout .room-hint { font-size:16px; }
.search-public .chip { background:#f8edc6; color:#554209; border-color:#e4ce87; border-radius:999px; }
.search-public .form-actions { margin-top:28px; padding-top:24px; }
.search-public .form-layout .form-actions button { border-radius:999px; padding:13px 24px; min-height:52px; font-size:16px; font-weight:700; }
.search-public .primary { background:linear-gradient(130deg,#f5d951,var(--gold)); border-color:var(--gold); color:#111; }
.search-public .primary:hover { background:var(--gold); }
.search-public .notice { border-radius:0 12px 12px 0; }
.search-public .site-footer { max-width:1180px; width:calc(100% - 56px); margin:0 auto; padding:24px 0; font-size:14px; align-items:center; }
.search-public .site-footer>span:first-child { font-weight:700; letter-spacing:.04em; color:#111; }
.search-public .consent-settings { width:calc(100% - 56px); margin:0 auto 24px; }
.search-public .message { z-index:25; }
.search-public main>.login,.search-public main>.loading { margin-top:40px; }
.search-public .search-consent { width:calc(100% - 56px); }
@media(max-width:1200px) {
 .search-public header { gap:20px; padding:14px 28px; }
 .search-public header nav { gap:18px; }
 .search-public header nav a,.search-public .site-dropdown>summary { font-size:16px; }
 .search-public .header-phone { padding:14px; font-size:16px; }
 .search-public .search-hero { gap:44px; }
 .search-public .form-layout .progress span { flex-direction:column; text-align:center; }
}
@media(max-width:1000px) {
 .search-public header { flex-wrap:wrap; min-height:88px; }
 .search-public .brand img { width:82px; height:68px; }
 .search-public #menu { display:block; margin-left:0; font-size:16px; padding:10px 14px; border:1px solid var(--line); }
 .search-public .header-phone { margin-left:auto; }
 .search-public header nav { display:none; order:5; flex-basis:100%; }
 .search-public header nav.open { display:flex; align-items:flex-start; justify-content:flex-start; flex-wrap:wrap; }
 .search-public .form-layout { grid-template-columns:1fr; }
 .search-public .form-layout .summary { position:static; }
 .search-public .search-hero { grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr); gap:32px; }
 .search-public .form-layout .progress span { flex-direction:row; text-align:left; }
}
@media(max-width:650px) {
 .search-public header { padding:8px 18px; gap:10px; position:relative; }
 .search-public .brand img { width:72px; height:60px; }
 .search-public .header-phone { font-size:14px; padding:10px 12px; gap:6px; border-radius:10px; }
 .search-public .header-phone span { font-size:18px; }
 .search-public #menu { font-size:0; min-width:44px; padding:8px; }
 .search-public #menu::before { content:'☰'; font-size:22px; }
 .search-public header nav.open { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
 .search-public header nav a { text-align:left; }
 .search-public .site-dropdown>div { position:static; min-width:0; box-shadow:none; padding:6px 0; border:0; }
 .search-public .site-dropdown>div a { white-space:normal; font-size:14px; }
 .search-public .search-hero { display:block; padding:36px 22px 56px; }
 .search-public .search-hero .eyebrow { display:flex; font-size:11px; margin-bottom:16px; }
 .search-public .search-hero h1 { font-size:38px; letter-spacing:-1.4px; margin-bottom:18px; }
 .search-public .search-hero>div>p { display:block; font-size:17px; line-height:1.5; }
 .search-public .search-hero-note { padding:0; border:0; background:none; margin-top:18px; }
 .search-public .search-hero-note strong,.search-public .search-hero-note p,.search-public .hero-mail { display:none; }
 .search-public .search-hero-note a { margin-top:0; font-size:15px; }
 .search-public .form-layout { width:calc(100% - 28px); margin-top:-24px; }
 .search-public .form-layout>.panel { padding:22px 18px; border-radius:20px; }
 .search-public .form-layout .summary { display:none; }
 .search-public .form-layout .progress span { display:block; font-size:0; text-align:center; }
 .search-public .form-layout .progress span.current { font-size:14px; flex:3; }
 .search-public .form-layout .progress b { margin:0 auto 7px; }
 .search-public .progress { margin-bottom:24px; padding-bottom:20px; }
 .search-public .form-layout h2 { font-size:25px; }
 .search-public .form-layout .step-sub { font-size:17px; }
 .search-public .choice.intent { min-height:118px; padding:20px; }
 .search-public .form-layout .intent strong { font-size:25px; }
 .search-public .form-layout .intent small { font-size:16px; }
 .search-public .form-layout .choice { font-size:16px; }
 .search-public .form-layout .form-actions button { padding:12px 18px; }
 .search-public .site-footer { width:calc(100% - 36px); margin:0 auto; gap:14px; }
 .search-public .site-footer>span:last-child { flex-basis:auto; }
 .search-public .consent-settings { width:calc(100% - 36px); }
 .search-public .search-consent { width:calc(100% - 36px); margin:16px auto 0; }
 .search-public main { padding-bottom:38px; }
 .search-public .message { top:0; }
}
@media(prefers-reduced-motion:no-preference) {
 .search-public .choice.intent { transition:background .18s,border-color .18s,box-shadow .18s; }
 .search-public .choice.intent:hover { box-shadow:0 8px 22px #b88b1920; }
}
/* Pri vypĺňaní ostáva viac miesta pre aktuálny krok. */
.search-public .search-hero-compact { padding-top:30px; padding-bottom:54px; }
.search-public .search-hero-compact h1 { font-size:36px; margin-bottom:12px; letter-spacing:-1px; }
.search-public .search-hero-compact h1 br { display:none; }
.search-public .search-hero-compact h1 em::before { content:' '; }
.search-public .search-hero-compact .eyebrow { margin-bottom:12px; }
.search-public .search-hero-compact p { font-size:17px; }
.search-public .search-hero-compact .search-hero-note { border:0; padding:0; background:none; text-align:right; }
.search-public .search-hero-compact .search-hero-note>:not(a) { display:none; }
@media(max-width:650px) {
 .search-public .search-hero-compact { padding:24px 22px 44px; }
 .search-public .search-hero-compact h1 { font-size:27px; line-height:1.2; }
 .search-public .search-hero-compact>div>p,.search-public .search-hero-compact .search-hero-note { display:none; }
 .search-public .search-hero-compact .eyebrow { margin-bottom:10px; }
}
@media(max-width:650px) {
 .search-public .search-hero .search-hero-note p { display:none; }
}
@media(max-width:380px) {
 .search-public header { padding-left:14px; padding-right:14px; gap:8px; }
 .search-public .brand img { width:60px; height:54px; }
 .search-public .header-phone { font-size:13px; padding:10px; }
 .search-public .search-hero h1 { font-size:34px; }
 .search-public .search-hero-compact h1 { font-size:25px; }
}
