/* ============================================================
   Otváranie dverí Bratislava – child theme styles v1.1
   Astra parent + custom one-page layout
   ============================================================ */

:root{
	/* ─── LOCK BRAND — žltá + čierna (1:1 match s lock.sk) ─── */
	--c-yellow:#FDC500;           /* primary brand žltá (lock.sk top bar + tlačidlá) */
	--c-yellow-dark:#d6a700;      /* hover stav */
	--c-yellow-light:#ffd633;     /* svetlejšia varianta */
	--c-yellow-soft:#fff6cc;      /* veľmi svetlá pre backgrounds */
	--c-yellow-bg:#fff9e0;        /* yellow info bar pozadie */

	--c-lock-black:#1a1a1a;       /* LOCK tmavé pozadie (hero/sekcie) */
	--c-lock-black-2:#0d0d0d;     /* footer, hlbšia tma */
	--c-lock-gray:#8b8b8b;        /* LOCK logo šedá */
	--c-lock-gray-light:#cccccc;
	--c-lock-gray-dark:#2b2b2b;   /* dark cards */

	/* Sémantika — všade keď sa hovorí "primary" myslí sa LOCK žltá */
	--c-primary:var(--c-yellow);
	--c-primary-dark:var(--c-yellow-dark);
	--c-primary-soft:var(--c-yellow-soft);
	--c-on-primary:#1a1a1a;       /* text na žltom pozadí */

	--c-accent:var(--c-lock-black);
	--c-accent-2:var(--c-lock-gray-dark);
	--c-accent-soft:#f4f4f4;

	--c-bg:#ffffff;
	--c-bg-alt:#f6f7fa;
	--c-bg-dark:var(--c-lock-black);
	--c-bg-darker:var(--c-lock-black-2);
	--c-text:#1a1a1a;
	--c-text-light:#5a5a5a;
	--c-text-on-dark:#f0f0f0;
	--c-border:#e6e6e6;
	--c-success:#1f8a3c;
	--c-warn:#b76a00;
	--c-warn-soft:#fff4e1;

	--radius:14px;
	--radius-lg:22px;
	--radius-xl:28px;
	--shadow-sm:0 2px 6px rgba(0,0,0,.06);
	--shadow:0 10px 26px rgba(0,0,0,.10);
	--shadow-lg:0 20px 52px rgba(0,0,0,.16);
	--shadow-yellow:0 14px 32px rgba(253,197,0,.40);
	--shadow-black:0 14px 32px rgba(0,0,0,.32);

	--ff:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--container:1180px;
	--container-narrow:820px;

	/* Gradient hero — LOCK čierna paleta */
	--grad-dark:linear-gradient(135deg,#1a1a1a 0%,#0d0d0d 50%,#1a1a1a 100%);
	--grad-yellow:linear-gradient(135deg,#FDC500 0%,#d6a700 100%);
	--grad-soft:linear-gradient(180deg,#ffffff 0%,#f6f7fa 100%);
}

/* Reset + base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.odb-front{margin:0;padding:0;font-family:var(--ff);font-size:17px;line-height:1.65;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}
body.odb-front a{color:var(--c-lock-black);text-decoration:none}
body.odb-front a:hover{text-decoration:underline}
body.odb-front img{max-width:100%;height:auto;display:block}
body.odb-front h1,body.odb-front h2,body.odb-front h3,body.odb-front h4{font-weight:800;line-height:1.2;margin:0 0 .8rem;color:var(--c-accent);letter-spacing:-.015em}
body.odb-front .odb-hero h1,body.odb-front .odb-hero h2,body.odb-front .odb-hero h3,body.odb-front .odb-hero h4{color:#fff}
body.odb-front .odb-section--dark h1,body.odb-front .odb-section--dark h2,body.odb-front .odb-section--dark h3,body.odb-front .odb-section--dark h4{color:#fff}
body.odb-front .odb-finalcta h2,body.odb-front .odb-finalcta h3{color:#fff}
body.odb-front .odb-footer h4{color:var(--c-yellow) !important}

.odb-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 22px}
.odb-container--narrow{max-width:var(--container-narrow)}

/* ============================================================
   TOP EMERGENCY YELLOW BAR (nad headerom) — STICKY
   ============================================================ */
.odb-topbar{background:var(--c-yellow);color:var(--c-on-primary);font-size:.88rem;font-weight:500;border-bottom:1px solid rgba(0,0,0,.06);position:relative;z-index:1001}
.odb-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;flex-wrap:wrap;padding-block:.5rem}
.odb-topbar__msg{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.odb-topbar__icon{font-size:1.05rem;flex-shrink:0}
.odb-topbar__sep{opacity:.5}
.odb-topbar__phone{color:var(--c-on-primary);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;transition:opacity .15s;padding:.35rem .5rem;border-radius:6px;min-height:38px}
.odb-topbar__phone:hover{color:var(--c-on-primary);text-decoration:none;background:rgba(0,0,0,.08)}
.odb-topbar__phone strong{font-weight:800;letter-spacing:.01em}
@media (max-width:680px){
	.odb-topbar{font-size:.82rem}
	.odb-topbar__inner{gap:.5rem;padding-block:.4rem}
	.odb-topbar__msg{font-size:.74rem;line-height:1.3}
	.odb-topbar__msg .odb-topbar__sep,
	.odb-topbar__msg .odb-topbar__sep + *{display:none}
}
@media (max-width:420px){
	.odb-topbar__msg{font-size:.68rem;max-width:55%}
	.odb-topbar__icon{display:none}
	.odb-topbar__phone{font-size:.78rem;padding:.3rem .4rem}
	.odb-topbar__phone strong{font-weight:800}
}

/* ============================================================
   STICKY HEADER
   ============================================================ */
.odb-header{position:sticky;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--c-border)}
.odb-header__inner{display:flex;align-items:center;gap:.75rem;min-height:64px}
@media (min-width:880px){.odb-header__inner{min-height:72px;gap:1rem}}
@media (max-width:540px){
	.odb-header__logo{font-size:1.35rem}
	.odb-header__tagline{font-size:.62rem}
	.odb-header__cta{padding:.65rem .95rem;font-size:.78rem;gap:.4rem}
	.odb-header__cta-num{font-size:.92rem}
	.odb-header__cta-icon{font-size:1rem}
}
@media (max-width:420px){
	.odb-header__tagline{display:none}
	.odb-header__cta{padding:.6rem .8rem}
	.odb-header__cta-icon{display:none}
	.odb-header__cta-num{font-size:.9rem}
}
.odb-header__brand{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.odb-header__brand:hover{text-decoration:none}
.odb-header__logo{font-weight:900;font-size:1.65rem;color:var(--c-lock-black);letter-spacing:.03em;display:inline-flex;align-items:center;gap:.4rem}
.odb-header__logo::before{content:"";display:inline-block;width:8px;height:26px;background:var(--c-yellow);border-radius:2px;vertical-align:middle;box-shadow:0 2px 6px rgba(253,197,0,.4)}
.odb-header__tagline{font-size:.72rem;color:var(--c-lock-gray);margin-top:3px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.odb-header__nav{display:none;margin-left:auto;gap:1.6rem}
.odb-header__nav a{color:var(--c-accent);font-weight:700;font-size:.92rem;position:relative;padding:.3rem 0;text-transform:uppercase;letter-spacing:.04em}
.odb-header__nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:-4px;height:3px;background:var(--c-yellow);transition:left .2s,right .2s;border-radius:2px}
.odb-header__nav a:hover{text-decoration:none}
.odb-header__nav a:hover::after{left:0;right:0}
.odb-header__cta{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;background:var(--c-yellow);color:var(--c-on-primary);padding:.85rem 1.4rem;border-radius:10px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,background .2s;box-shadow:var(--shadow-yellow);text-transform:uppercase;letter-spacing:.04em;font-size:.92rem;white-space:nowrap;flex-shrink:0}
.odb-header__cta:hover{transform:translateY(-1px);color:var(--c-on-primary);text-decoration:none;background:var(--c-yellow-light)}
.odb-header__cta-icon{font-size:1.1rem;line-height:1;flex-shrink:0}
.odb-header__cta-num{font-size:1rem;letter-spacing:.01em;white-space:nowrap}
.odb-header__cta-label{display:none;background:rgba(0,0,0,.12);padding:2px 7px;border-radius:6px;font-size:.68rem;font-weight:800}

@media (min-width:880px){
	.odb-header__nav{display:flex}
	.odb-header__cta-label{display:inline-block}
}

/* ============================================================
   BUTTONS — LOCK štýl (žltá + tmavá outline)
   Vyššia špecificita (body.odb-front) — Astra parent neoveriduje.
   ============================================================ */
body.odb-front .odb-btn{display:inline-flex !important;align-items:center;justify-content:center;gap:.7rem;padding:1rem 1.6rem;border-radius:10px;font-weight:800;font-size:.95rem;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .15s,box-shadow .15s,background .2s;text-align:left;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
body.odb-front .odb-btn:hover{text-decoration:none;transform:translateY(-2px)}
body.odb-front .odb-btn:active{transform:translateY(0)}
body.odb-front .odb-btn--primary{background:var(--c-yellow);color:var(--c-on-primary) !important;box-shadow:var(--shadow-yellow);min-width:200px}
@media (max-width:540px){
	body.odb-front .odb-btn--primary,
	body.odb-front .odb-btn--outline,
	body.odb-front .odb-btn--ghost{width:100%;min-width:0;justify-content:center}
	body.odb-front .odb-hero__cta{flex-direction:column;align-items:stretch}
}
body.odb-front .odb-btn--primary:hover{color:var(--c-on-primary) !important;background:var(--c-yellow-light);box-shadow:0 18px 40px rgba(253,197,0,.55)}
body.odb-front .odb-btn--primary *{color:var(--c-on-primary) !important}
body.odb-front .odb-btn--outline{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.35)}
body.odb-front .odb-btn--outline:hover{background:rgba(255,255,255,.08);color:#fff !important;border-color:rgba(255,255,255,.6)}
body.odb-front .odb-btn--ghost{background:rgba(255,255,255,.07);color:#fff !important;border-color:rgba(255,255,255,.32);backdrop-filter:blur(6px)}
body.odb-front .odb-btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff !important;border-color:rgba(255,255,255,.55)}
body.odb-front .odb-btn--dark{background:var(--c-lock-black);color:#fff !important}
body.odb-front .odb-btn--dark:hover{background:#000;color:#fff !important}
body.odb-front .odb-btn--xl{padding:1.15rem 1.9rem;font-size:1rem}
body.odb-front .odb-btn__icon{font-size:1.4rem !important;line-height:1;flex-shrink:0;display:inline-flex;align-items:center}
body.odb-front .odb-btn__label{display:inline-flex !important;flex-direction:column !important;line-height:1.15;text-align:left;align-items:flex-start;flex-shrink:0}
body.odb-front .odb-btn__top{display:block;font-size:.72rem !important;font-weight:700 !important;opacity:.78;text-transform:uppercase !important;letter-spacing:.07em;margin-bottom:1px}
body.odb-front .odb-btn__num{display:block;font-size:1.15rem !important;font-weight:900 !important;letter-spacing:.02em;text-transform:none !important;white-space:nowrap}

/* ============================================================
   HERO — LOCK štýl, čierne pozadie, UPPERCASE, žltý highlight
   ============================================================ */
.odb-hero{position:relative;color:#fff;padding:3.5rem 0 4rem;overflow:hidden;isolation:isolate}
.odb-hero__bg{position:absolute;inset:0;background:var(--grad-dark);z-index:-2}
.odb-hero__bg::before{content:"";position:absolute;inset:0;background:
	radial-gradient(circle at 78% 18%, rgba(253,197,0,.10), transparent 45%),
	radial-gradient(circle at 8% 90%, rgba(253,197,0,.06), transparent 50%);
}
/* Decoračný kľúčový vzor (subtle pattern) */
.odb-hero__bg::after{content:"";position:absolute;inset:0;background-image:
	linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
	linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size:48px 48px;mask-image:radial-gradient(ellipse at 60% 40%, #000 30%, transparent 80%);}
.odb-hero__inner{display:grid;gap:2.5rem;position:relative}
.odb-hero__copy{max-width:680px}

.odb-hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;background:rgba(253,197,0,.12);border:1px solid rgba(253,197,0,.5);color:var(--c-yellow);padding:.6rem 1.2rem;border-radius:6px;font-size:.78rem;font-weight:700;margin-bottom:1.6rem;text-transform:uppercase;letter-spacing:.08em}
.odb-hero__pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--c-yellow);box-shadow:0 0 0 0 rgba(253,197,0,.8);animation:dotpulse 1.6s ease-out infinite}
@keyframes dotpulse{0%{box-shadow:0 0 0 0 rgba(253,197,0,.8)}70%{box-shadow:0 0 0 14px rgba(253,197,0,0)}100%{box-shadow:0 0 0 0 rgba(253,197,0,0)}}

body.odb-front h1.odb-hero__title{font-size:clamp(1.95rem,7.2vw,4.5rem);color:#fff !important;line-height:1;margin-bottom:1.5rem;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;text-shadow:0 2px 24px rgba(0,0,0,.6),0 0 80px rgba(253,197,0,.18);word-break:keep-all;overflow-wrap:break-word}
body.odb-front h1.odb-hero__title span{display:inline-block;background:var(--c-yellow);color:var(--c-on-primary) !important;padding:.05em .35em;border-radius:6px;margin-top:.2em;box-shadow:0 8px 24px rgba(253,197,0,.3);text-shadow:none;max-width:100%}
.odb-hero__lead{font-size:1.1rem;color:#cccccc;margin-bottom:2rem;max-width:600px;line-height:1.7}
.odb-hero__lead strong{color:var(--c-yellow);font-weight:600}
.odb-hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.25rem}

/* Hero stat-grid — veľké žlté čísla + sivé UPPERCASE labels + vertikálne delimitery */
.odb-hero__stats{list-style:none;margin:1.5rem 0 0;padding:1.25rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);max-width:560px}
.odb-hero__stats li{display:flex;flex-direction:column;align-items:flex-start;padding:0 1.25rem;position:relative;text-align:left}
.odb-hero__stats li:first-child{padding-left:0}
.odb-hero__stats li:last-child{padding-right:0}
.odb-hero__stats li + li::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(253,197,0,.35) 50%,transparent 100%)}
.odb-hero__stat-big{display:block;color:var(--c-yellow);font-size:clamp(1.7rem,4.2vw,2.25rem);font-weight:900;line-height:1;letter-spacing:-.02em;text-shadow:0 4px 24px rgba(253,197,0,.25)}
.odb-hero__stat-big small{font-size:.5em;font-weight:700;margin-left:.18em;letter-spacing:.02em;color:var(--c-yellow);opacity:.95}
.odb-hero__stat-label{display:block;color:#888;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-top:.5rem;line-height:1.3}
@media (max-width:540px){
	.odb-hero__stats{max-width:none;padding-top:1rem;margin-top:1.25rem}
	.odb-hero__stats li{padding:0 .65rem}
	.odb-hero__stat-big{font-size:clamp(1.4rem,5.5vw,1.8rem)}
	.odb-hero__stat-big small{font-size:.55em}
	.odb-hero__stat-label{font-size:.6rem;letter-spacing:.06em;margin-top:.35rem}
}
@media (max-width:380px){
	.odb-hero__stats li{padding:0 .4rem}
	.odb-hero__stat-label{font-size:.55rem}
}
.odb-hero__visual{display:none}

@media (min-width:960px){
	.odb-hero{padding:5rem 0 6rem}
	.odb-hero__inner{grid-template-columns:1.4fr 1fr;align-items:center;gap:3rem}
	.odb-hero__visual{display:flex;justify-content:center;align-items:center;position:relative}
	.odb-hero__circle{width:340px;height:340px;border-radius:50%;background:
		radial-gradient(circle at 30% 30%, rgba(253,197,0,.18), transparent 60%),
		radial-gradient(circle at 70% 70%, rgba(253,197,0,.12), transparent 55%),
		rgba(255,255,255,.04);
		border:2px solid rgba(253,197,0,.3);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 60px rgba(253,197,0,.05)}
	.odb-hero__ring{position:absolute;inset:-22px;width:calc(100% + 44px);height:calc(100% + 44px);animation:spin 50s linear infinite}
	.odb-hero__stat{text-align:center;color:#fff;z-index:2}
	.odb-hero__stat-num{display:block;font-size:6.5rem;font-weight:900;line-height:1;color:var(--c-yellow);letter-spacing:-.04em;text-shadow:0 4px 32px rgba(253,197,0,.4)}
	.odb-hero__stat-unit{display:block;font-size:1.4rem;font-weight:700;color:#fff;margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}
	.odb-hero__stat-label{display:block;font-size:.82rem;color:#aaa;margin-top:.7rem;max-width:200px;margin-inline:auto;line-height:1.4}
	.odb-hero__pill{position:absolute;background:var(--c-yellow);color:var(--c-on-primary);padding:.55rem 1rem;border-radius:999px;font-weight:800;font-size:.85rem;box-shadow:var(--shadow-yellow);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
	.odb-hero__pill--tl{top:18px;left:-10px}
	.odb-hero__pill--br{bottom:24px;right:-14px;background:#fff;color:var(--c-on-primary)}
}

/* ============================================================
   INSURANCE YELLOW BAR (pod hero, ako na lock.sk)
   ============================================================ */
.odb-insurance{background:var(--c-yellow);color:var(--c-on-primary);padding:2.25rem 0;text-align:center;border-bottom:4px solid var(--c-yellow-dark);position:relative}
.odb-insurance p{margin:0;font-size:1.1rem;line-height:1.5;font-weight:500;max-width:980px;margin-inline:auto}
.odb-insurance strong{font-weight:800}
@media(min-width:720px){.odb-insurance p{font-size:1.2rem}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============================================================
   SECTIONS – common
   ============================================================ */
.odb-section{padding:4.5rem 0;position:relative}
.odb-section--alt{background:var(--grad-soft)}
.odb-section--dark{background:var(--c-bg-dark);color:var(--c-text-on-dark);position:relative}
.odb-section--dark::before{content:"";position:absolute;inset:0;background:
	radial-gradient(circle at 90% 10%, rgba(225,29,46,.10), transparent 40%),
	radial-gradient(circle at 10% 90%, rgba(45,58,94,.4), transparent 50%);pointer-events:none}
.odb-section--dark > .odb-container{position:relative;z-index:1}
.odb-section--dark h3,.odb-section--dark h4{color:#fff}
.odb-section__title{font-size:clamp(1.8rem,3.8vw,2.6rem);text-align:center;margin-bottom:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;position:relative;padding-bottom:1.1rem}
.odb-section__title::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:4px;background:var(--c-yellow);border-radius:2px}
.odb-section__title--light{color:#fff}
.odb-section__sub{text-align:center;color:var(--c-text-light);font-size:1.06rem;margin:0 auto 2.75rem;max-width:680px;line-height:1.6}
.odb-section--dark .odb-section__sub{color:#aab6c4}

/* GRID utility */
.odb-grid{display:grid;gap:1.35rem}
.odb-grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.odb-grid--4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.odb-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1.85rem 1.6rem;text-align:left;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column;position:relative;overflow:hidden}
.odb-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--c-yellow);transform:translateY(-100%);transition:transform .25s}
.odb-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.odb-card:hover::before{transform:translateY(0)}
.odb-card__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--c-yellow);font-size:1.8rem;margin-bottom:1rem;box-shadow:0 6px 16px rgba(253,197,0,.35)}
.odb-card__title{font-size:1.22rem;margin-bottom:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--c-lock-black)}
.odb-card__text{color:var(--c-text-light);margin:0 0 1.1rem;flex-grow:1;line-height:1.55}
.odb-card__price{display:inline-block;background:var(--c-yellow-soft);color:var(--c-on-primary);padding:.35rem .9rem;border-radius:6px;font-weight:800;font-size:.93rem;margin-bottom:1.1rem;width:max-content;letter-spacing:.01em;border:1px solid var(--c-yellow)}
.odb-card__cta{font-weight:800;color:var(--c-lock-black);display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;border-bottom:2px solid var(--c-yellow);padding-bottom:2px;align-self:flex-start}
.odb-card:hover .odb-card__cta{gap:.6rem;color:var(--c-yellow-dark)}

/* ============================================================
   STEPS
   ============================================================ */
.odb-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr;counter-reset:s;position:relative}
@media(min-width:880px){
	.odb-steps{grid-template-columns:repeat(4,1fr);gap:1.25rem}
	.odb-steps::before{content:"";position:absolute;top:42px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--c-border) 0 8px,transparent 8px 16px);z-index:0}
}
.odb-step{background:#fff;border-radius:var(--radius-lg);padding:1.85rem 1.55rem 1.55rem;box-shadow:var(--shadow-sm);position:relative;border:1px solid var(--c-border);z-index:1}
.odb-step__num{position:absolute;top:-22px;left:1.55rem;width:48px;height:48px;border-radius:50%;background:var(--c-yellow);color:var(--c-on-primary);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.3rem;box-shadow:var(--shadow-yellow);border:3px solid #fff}
.odb-step h3{margin:1.1rem 0 .5rem;font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--c-lock-black)}
.odb-step p{color:var(--c-text-light);margin:0 0 1rem;line-height:1.55;font-size:.95rem}
.odb-step__time{display:inline-block;background:var(--c-yellow-soft);padding:.32rem .7rem;border-radius:6px;font-size:.82rem;color:var(--c-on-primary);font-weight:700;border:1px solid var(--c-yellow)}

/* ============================================================
   PRICING
   ============================================================ */
.odb-pricing__grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:880px){.odb-pricing__grid{grid-template-columns:1.4fr 1fr}}
.odb-pricing__col h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-lock-black);margin-bottom:.85rem;font-weight:800;display:inline-block;padding-bottom:.4rem;border-bottom:3px solid var(--c-yellow)}
.odb-pricing__table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--c-border)}
.odb-pricing__table td{padding:.95rem 1.15rem;border-bottom:1px solid var(--c-border);font-size:.97rem;vertical-align:middle}
@media (max-width:540px){
	.odb-pricing__table td{padding:.7rem .8rem;font-size:.88rem}
	.odb-pricing__table td:last-child{padding-left:.5rem}
}
.odb-pricing__table tr:last-child td{border-bottom:none}
.odb-pricing__table tr:hover td{background:var(--c-bg-alt)}
.odb-pricing__table td:last-child{text-align:right;white-space:nowrap;font-weight:700}
.odb-pricing__top td{background:linear-gradient(90deg,var(--c-yellow-soft) 0%,#fff 100%) !important;position:relative}
.odb-pricing__top td:first-child{font-weight:700;color:var(--c-lock-black)}
.odb-pricing__top:hover td{background:linear-gradient(90deg,#fff0a8 0%,#fff 100%) !important}
.odb-pricing__badge{display:inline-block;background:var(--c-yellow);color:var(--c-on-primary);padding:.18rem .6rem;border-radius:4px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-right:.5rem;vertical-align:middle}
.odb-pricing__hl td{background:#e7f7ec !important;color:var(--c-success);font-weight:800}
.odb-pricing__payments{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:1.02rem}
.odb-pricing__payments li{padding:.65rem .9rem;background:#fff;border:1px solid var(--c-border);border-radius:10px}
@media (max-width:540px){
	.odb-pricing__col .odb-btn--primary{width:100%}
}

/* ============================================================
   USP
   ============================================================ */
.odb-usp{background:#fff;border-radius:var(--radius-lg);padding:1.85rem 1.6rem;text-align:left;border:1px solid var(--c-border);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.odb-usp:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-yellow)}
.odb-usp__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--c-yellow);font-size:1.7rem;margin-bottom:.85rem;box-shadow:0 6px 16px rgba(253,197,0,.35)}
.odb-usp__title{font-size:1.05rem;margin-bottom:.4rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--c-lock-black)}
.odb-usp__text{color:var(--c-text-light);margin:0;line-height:1.55;font-size:.95rem}

/* ============================================================
   COVERAGE
   ============================================================ */
.odb-coverage__grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:880px){.odb-coverage__grid{grid-template-columns:1.4fr 1fr}}
.odb-coverage__col h3{font-size:.95rem;color:var(--c-lock-black);text-transform:uppercase;letter-spacing:.08em;margin-top:1.6rem;font-weight:800;display:inline-block;padding-bottom:.4rem;border-bottom:3px solid var(--c-yellow)}
.odb-coverage__col h3:first-child{margin-top:0}
.odb-coverage__col--card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1.85rem 1.75rem;box-shadow:var(--shadow-sm);align-self:start}

.odb-pills{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.odb-pills li{background:#fff;border:1px solid var(--c-border);padding:.45rem .85rem;border-radius:6px;font-size:.92rem;font-weight:600;color:var(--c-lock-black);transition:all .2s;cursor:default}
.odb-pills li:hover{background:var(--c-yellow);color:var(--c-on-primary);border-color:var(--c-yellow);transform:translateY(-1px)}
.odb-pills--alt li{background:var(--c-accent-soft);border-color:transparent}
.odb-pills--alt li:hover{background:var(--c-yellow);color:var(--c-on-primary)}

.odb-coverage__times{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column}
.odb-coverage__times li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px dashed var(--c-border);font-size:.98rem}
.odb-coverage__times li:last-child{border-bottom:none}
.odb-coverage__times li span{color:var(--c-text-light)}
.odb-coverage__times li strong{color:var(--c-lock-black);font-weight:800;white-space:nowrap;font-size:1rem;background:var(--c-yellow);padding:.15rem .55rem;border-radius:4px}

/* ============================================================
   EXTRA SERVICES
   ============================================================ */
.odb-extra{background:#fff;border-radius:var(--radius-lg);padding:2.1rem 1.85rem;border:1px solid var(--c-border);transition:transform .25s,box-shadow .25s,border-color .25s}
.odb-extra:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-yellow)}
.odb-extra__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--c-yellow);font-size:2rem;margin-bottom:1rem;box-shadow:0 8px 20px rgba(253,197,0,.35)}
.odb-extra h3{font-size:1.15rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--c-lock-black)}
.odb-extra p{color:var(--c-text-light);line-height:1.6}
.odb-extra small{display:block;margin-top:.85rem;color:var(--c-text-light);font-size:.85rem;font-style:italic;padding-top:.85rem;border-top:1px dashed var(--c-border)}

/* ============================================================
   STATS + REVIEWS
   ============================================================ */
.odb-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;text-align:center;margin-bottom:3rem;padding:2.25rem 1.5rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}
@media(min-width:760px){.odb-stats{grid-template-columns:repeat(4,1fr)}}
.odb-stats__num{display:block;font-size:2.2rem;font-weight:900;color:var(--c-yellow);line-height:1;letter-spacing:-.02em;text-shadow:0 4px 24px rgba(253,197,0,.3)}
.odb-stats__label{display:block;font-size:.9rem;color:#aab6c4;margin-top:.5rem;font-weight:500}
.odb-reviews{margin-top:2rem}
.odb-review{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);padding:1.85rem 1.65rem;margin:0;color:#e7ecf3;transition:transform .25s,background .25s}
.odb-review:hover{transform:translateY(-4px);background:rgba(255,255,255,.09)}
.odb-review p{margin:.85rem 0 1.25rem;font-style:italic;color:#dfe6ee;line-height:1.6}
.odb-review__stars{color:#ffd166;font-size:1.1rem;letter-spacing:.1em}
.odb-review__footer{display:flex;align-items:center;gap:.85rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.odb-review__avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:#fff;font-weight:800;font-size:.95rem;flex-shrink:0;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.odb-review cite{font-style:normal;display:flex;flex-direction:column;line-height:1.3}
.odb-review cite strong{color:#fff;font-weight:700;font-size:.98rem}
.odb-review cite span{color:var(--c-yellow);font-size:.82rem;margin-top:2px;font-weight:600}

/* ============================================================
   FAQ
   ============================================================ */
.odb-accordion{display:flex;flex-direction:column;gap:.75rem}
.odb-acc__item{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,border-color .2s}
.odb-acc__item:hover{border-color:var(--c-yellow)}
.odb-acc__item[open]{box-shadow:var(--shadow);border-color:var(--c-yellow);border-left:4px solid var(--c-yellow)}
.odb-acc__q{cursor:pointer;padding:1.15rem 1.35rem;font-weight:700;color:var(--c-lock-black);font-size:1.04rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;user-select:none;transition:color .2s}
.odb-acc__q::-webkit-details-marker{display:none}
.odb-acc__q::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--c-yellow-soft);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:400;transition:transform .25s,background .2s;flex-shrink:0;background-image:linear-gradient(90deg,var(--c-on-primary) 50%,transparent 50%),linear-gradient(0deg,var(--c-on-primary) 50%,transparent 50%);background-size:60% 2px,2px 60%;background-position:center;background-repeat:no-repeat;background-color:var(--c-yellow-soft);border:1px solid var(--c-yellow)}
.odb-acc__item[open] .odb-acc__q::after{transform:rotate(45deg);background-color:var(--c-yellow);border-color:var(--c-yellow-dark);background-image:linear-gradient(90deg,var(--c-on-primary) 50%,transparent 50%),linear-gradient(0deg,var(--c-on-primary) 50%,transparent 50%)}
.odb-acc__a{padding:0 1.35rem 1.35rem;color:var(--c-text-light);font-size:.98rem;line-height:1.65}
.odb-acc__a p{margin:0}

/* ============================================================
   HOWTO (5 krokov)
   ============================================================ */
.odb-howto{list-style:none;padding:0;margin:0 0 1.5rem;counter-reset:h;display:flex;flex-direction:column;gap:.85rem}
.odb-howto li{position:relative;background:#fff;padding:1.1rem 1.35rem 1.1rem 4.5rem;border-radius:var(--radius);border:1px solid var(--c-border);counter-increment:h;line-height:1.55;transition:transform .2s,border-color .2s}
.odb-howto li:hover{transform:translateX(4px);border-color:var(--c-yellow)}
.odb-howto li::before{content:counter(h);position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--c-yellow);color:var(--c-on-primary);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.05rem;box-shadow:var(--shadow-yellow)}
.odb-howto__cta{text-align:center;font-size:1.15rem;margin-top:1.5rem}

/* ============================================================
   FINAL CTA
   ============================================================ */
.odb-finalcta{background:var(--c-lock-black);color:#fff;text-align:center;padding:4.5rem 0;position:relative;overflow:hidden;border-top:4px solid var(--c-yellow);border-bottom:4px solid var(--c-yellow)}
.odb-finalcta::before{content:"";position:absolute;inset:0;background:
	radial-gradient(circle at 20% 20%, rgba(253,197,0,.15), transparent 50%),
	radial-gradient(circle at 80% 80%, rgba(253,197,0,.10), transparent 50%);pointer-events:none}
.odb-finalcta h2{color:#fff;font-size:clamp(1.7rem,3.8vw,2.6rem);margin-bottom:1rem;position:relative;text-transform:uppercase;letter-spacing:.01em}
body.odb-front a.odb-finalcta__num,body.odb-front .odb-finalcta__num{display:inline-block;font-size:clamp(1.75rem,8.5vw,3.6rem);font-weight:900;color:var(--c-yellow) !important;text-decoration:none !important;margin:.5rem 0 1rem;letter-spacing:-.01em;position:relative;text-shadow:0 4px 32px rgba(253,197,0,.5);white-space:nowrap}
body.odb-front a.odb-finalcta__num:hover,body.odb-front .odb-finalcta__num:hover{color:var(--c-yellow-light) !important;text-decoration:none !important;transform:scale(1.03)}
.odb-finalcta p{color:#cccccc;font-size:1.1rem;margin-bottom:1.85rem;position:relative}
.odb-finalcta__btns{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;position:relative}
.odb-finalcta .odb-btn--primary{background:var(--c-yellow);color:var(--c-on-primary);box-shadow:0 12px 30px rgba(253,197,0,.45)}
.odb-finalcta .odb-btn--primary:hover{background:var(--c-yellow-light);color:var(--c-on-primary);box-shadow:0 16px 40px rgba(253,197,0,.55)}
.odb-finalcta .odb-btn--ghost{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05)}
.odb-finalcta .odb-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* ============================================================
   FOOTER
   ============================================================ */
.odb-footer{background:var(--c-bg-darker);color:#cfd8e3;padding:3.5rem 0 1.5rem;border-top:4px solid var(--c-yellow)}
.odb-footer h4{color:var(--c-yellow);margin-bottom:1rem;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.odb-footer__grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:760px){.odb-footer__grid{grid-template-columns:repeat(4,1fr)}}
.odb-footer p{margin:0 0 .85rem;font-size:.93rem;line-height:1.65;color:#aab6c4}
.odb-footer p strong{color:#fff}
.odb-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
body.odb-front .odb-footer a{color:#cfd8e3 !important;transition:color .2s;text-decoration:none}
body.odb-front .odb-footer a:hover{color:var(--c-yellow) !important;text-decoration:none}
body.odb-front .odb-footer p,body.odb-front .odb-footer li{color:#aab6c4}
body.odb-front .odb-footer p strong{color:#fff}
body.odb-front .odb-footer p small{display:inline-block;font-size:.78rem;color:#7b8694;line-height:1.4;margin-top:.2rem;font-style:italic}
body.odb-front .odb-footer ul a{display:inline-block;padding:.1rem 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
body.odb-front .odb-footer ul a:hover{border-bottom-color:var(--c-yellow)}
.odb-footer__bottom{border-top:1px solid #1b2440;padding-top:1.35rem;margin-top:2.5rem;text-align:center;font-size:.85rem;color:#7b8694}

/* ============================================================
   FLOATING MOBILE CTA
   ============================================================ */
.odb-floating-cta{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0));z-index:999;width:62px;height:62px;border-radius:50%;background:var(--c-yellow);color:var(--c-on-primary);display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 14px 34px rgba(253,197,0,.6);text-decoration:none;transition:transform .2s;border:3px solid var(--c-lock-black)}
.odb-floating-cta:hover{transform:scale(1.08);color:var(--c-on-primary);text-decoration:none}
.odb-floating-cta__icon{position:relative;z-index:2}
.odb-floating-cta__pulse{position:absolute;inset:0;border-radius:50%;background:var(--c-yellow);animation:pulse 2s ease-out infinite;opacity:.55;z-index:1}
@keyframes pulse{
	0%{transform:scale(1);opacity:.55}
	100%{transform:scale(1.85);opacity:0}
}
@media(min-width:880px){
	.odb-floating-cta{display:none}
}

/* ============================================================
   Hide Astra defaults that might leak
   ============================================================ */
body.odb-front .ast-above-header,
body.odb-front .ast-below-header,
body.odb-front .site-header,
body.odb-front .site-footer,
body.odb-front #ast-mobile-header,
body.odb-front .ast-mobile-menu-trigger,
body.odb-front .ast-scroll-top,
body.odb-front #ast-scroll-top{display:none !important}
body.odb-front #content,
body.odb-front .site-content{padding:0 !important;margin:0 !important;background:transparent !important}
body.odb-front .ast-container,
body.odb-front .site-content > .ast-container,
body.odb-front .ast-separate-container .ast-container{max-width:none !important;padding:0 !important;margin:0 !important}
body.odb-front .ast-separate-container{background:transparent !important;padding:0 !important}
body.odb-front main#main{padding:0 !important;margin:0 !important;background:transparent !important}
body.odb-front .entry-content{padding:0 !important;margin:0 !important}
body.odb-front .entry-content > *{margin-block:0}
/* Prevent horizontal scroll on mobile */
body.odb-front{overflow-x:hidden}

/* ============================================================
   Hover/touch protection — :hover sa použije len keď device má hover
   ============================================================ */
@media (hover:none){
	body.odb-front .odb-card:hover,
	body.odb-front .odb-usp:hover,
	body.odb-front .odb-extra:hover,
	body.odb-front .odb-step:hover,
	body.odb-front .odb-acc__item:hover,
	body.odb-front .odb-review:hover,
	body.odb-front .odb-btn:hover,
	body.odb-front .odb-howto li:hover{transform:none}
}

/* ============================================================
   Prefers reduced motion — vypneme animácie
   ============================================================ */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
	.odb-hero__pulse-dot,
	.odb-floating-cta__pulse,
	.odb-hero__ring{animation:none !important}
	html{scroll-behavior:auto}
}

/* ============================================================
   Focus visible — keyboard accessibility
   ============================================================ */
body.odb-front a:focus-visible,
body.odb-front button:focus-visible,
body.odb-front summary:focus-visible{outline:3px solid var(--c-yellow);outline-offset:3px;border-radius:6px}

/* ============================================================
   LEGAL PAGES (Cookies, GDPR, ...) — page-legal.php template
   ============================================================ */
.odb-legal-hero{background:var(--c-lock-black);color:#fff;padding:3rem 0 2.5rem;border-bottom:4px solid var(--c-yellow);position:relative;overflow:hidden}
.odb-legal-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(253,197,0,.10),transparent 50%);pointer-events:none}
body.odb-front .odb-legal-hero h1{color:#fff !important;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:900;text-transform:uppercase;letter-spacing:.01em;margin:0;position:relative}
.odb-legal-body{padding:3rem 0 4rem;background:#fff;color:var(--c-text);line-height:1.75;font-size:1rem}
.odb-legal-body p{margin:0 0 1.1rem}
body.odb-front .odb-legal-body h2{font-size:1.45rem;font-weight:800;margin:2.25rem 0 .85rem;color:var(--c-lock-black);text-transform:none;letter-spacing:-.005em;padding-bottom:.5rem;border-bottom:3px solid var(--c-yellow);display:inline-block}
body.odb-front .odb-legal-body h2::after{display:none}
body.odb-front .odb-legal-body h3{font-size:1.15rem;font-weight:800;margin:1.5rem 0 .6rem;color:var(--c-lock-black);text-transform:none}
.odb-legal-body ul,.odb-legal-body ol{margin:0 0 1.25rem 1.5rem;padding:0}
.odb-legal-body li{margin-bottom:.4rem}
.odb-legal-body strong{color:var(--c-lock-black);font-weight:700}
body.odb-front .odb-legal-body a{color:var(--c-primary-dark);text-decoration:underline}
body.odb-front .odb-legal-body a:hover{color:var(--c-yellow-dark)}
.odb-legal-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.92rem;background:#fff;border:1px solid var(--c-border);border-radius:8px;overflow:hidden}
.odb-legal-body table th{background:var(--c-yellow);color:var(--c-on-primary);font-weight:800;text-align:left;padding:.8rem .9rem;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;border-bottom:2px solid var(--c-yellow-dark)}
.odb-legal-body table td{padding:.8rem .9rem;border-bottom:1px solid var(--c-border);vertical-align:top}
.odb-legal-body table tr:last-child td{border-bottom:none}
.odb-legal-body table tr:nth-child(even) td{background:#fafafa}

/* ============================================================
   Print
   ============================================================ */
@media print{
	.odb-floating-cta,.odb-header__cta,.odb-finalcta__btns{display:none !important}
	.odb-hero{background:#fff;color:#000}
}
