/* OL-MI 2026 — wspólna warstwa wizualna. Kolory, rytm, ikony i ruch. */
.olmi-section { --olmi-ink:#181b20; --olmi-muted:#5b626d; --olmi-paper:#f4f5f6; --olmi-border:#e1e4e7; }
.olmi-section h1,.olmi-section h2,.olmi-section h3 { letter-spacing:-.045em; font-weight:750; }
.olmi-section .olmi-eyebrow { display:flex; align-items:center; gap:10px; font-size:.71rem; letter-spacing:.14em; }
.olmi-section .olmi-eyebrow::before { content:""; width:22px; height:2px; background:currentColor; flex-shrink:0; }
.olmi-section .olmi-button { min-height:54px; padding:14px 22px; border-radius:9px; font-size:.9375rem; gap:20px; transition:background-color .2s,transform .2s,box-shadow .2s; }
.olmi-section .olmi-button:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgb(223 15 22 / 0.125); }
.olmi-section .olmi-button svg { transition:transform .25s; }
.olmi-section .olmi-button:hover svg { transform:translate(2px,-2px); }
.olmi-section .olmi-text-link { text-decoration:none; gap:18px; }
.olmi-section .olmi-text-link svg { transition:transform .25s; }
.olmi-section .olmi-text-link:hover svg { transform:translateX(5px); }
.olmi-section .olmi-icon-accent { stroke:var(--olmi-red); }
.olmi-section .olmi-button:not(.olmi-button-secondary) .olmi-icon-accent { stroke:currentColor; }
.olmi-section .olmi-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.olmi-header .olmi-demo { background:#fff6e7; font-size:.68rem; letter-spacing:.015em; padding-block:7px; }
.olmi-header .olmi-top { background:#f5f6f7; border:0; font-size:.73rem; }
.olmi-header .olmi-navrow { padding-block:10px; min-height:94px; }
.olmi-header .olmi-brand img { width:190px; height:66px; }
.olmi-header .olmi-navigation { gap:30px; }
.olmi-header .olmi-navigation a { position:relative; border:0; font-size:.875rem; }
.olmi-header .olmi-navigation a::after { content:""; position:absolute; bottom:6px; left:0; width:100%; height:2px; background:var(--olmi-red); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.olmi-header .olmi-navigation a:hover::after,.olmi-header .olmi-navigation [aria-current="page"]::after { transform:scaleX(1); }
.olmi-header .olmi-nav-contact { background:var(--olmi-ink); border-color:var(--olmi-ink); min-height:46px; padding:12px 18px; }
.olmi-header .olmi-nav-contact:hover { background:var(--olmi-red); border-color:var(--olmi-red); }
.olmi-header .olmi-menu-toggle { border-color:var(--olmi-border); border-radius:9px; padding:10px 15px; }

/* Pierwszy ekran: duża typografia, zdjęcie, następnie krótki wybór oferty. */
.olmi-v2-hero { background:#f4f5f6; padding:42px 0 0; border-top:1px solid #eceef0; }
.olmi-v2-hero .olmi-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); align-items:center; gap:24px; }
.olmi-v2-hero .olmi-hero-copy { padding:30px 0 40px; }
.olmi-v2-hero h1 { font-size:clamp(2.5rem,4.65vw,5.25rem); line-height:1.02; letter-spacing:-.065em; margin:24px 0; }
.olmi-v2-hero h1 span { color:var(--olmi-red); }
.olmi-v2-hero .olmi-hero-lead { color:var(--olmi-muted); font-size:1.08rem; line-height:1.8; margin:0 0 30px; }
.olmi-v2-hero .olmi-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:15px 24px; }
.olmi-v2-hero .olmi-hero-actions .olmi-text-link { font-size:.85rem; border-bottom:1px solid #b4b9bf; min-height:36px; }
.olmi-v2-hero .olmi-hero-location { display:flex; gap:12px; align-items:center; padding-top:32px; }
.olmi-v2-hero .olmi-hero-location > svg { width:36px; height:36px; padding:7px; border:1px solid #dfe2e6; border-radius:50%; }
.olmi-v2-hero .olmi-hero-location strong,.olmi-v2-hero .olmi-hero-location small { display:block; font-size:.78rem; }
.olmi-v2-hero .olmi-hero-location small { color:var(--olmi-muted); margin-top:2px; }
.olmi-v2-hero .olmi-hero-visual { position:relative; margin:0; aspect-ratio:1.65; border-radius:24px 24px 80px 24px; overflow:hidden; background:#242a24; isolation:isolate; }
.olmi-v2-hero .olmi-hero-visual > img { width:100%; height:100%; object-fit:cover; object-position:52% center; display:block; }
.olmi-v2-hero .olmi-hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#00000020,transparent 35%,#00000008 60%,#000000a8); pointer-events:none; z-index:0; }
.olmi-v2-hero .olmi-hero-stamp { position:absolute; left:26px; top:24px; color:white; font-size:1.6rem; line-height:1; font-weight:850; font-style:italic; letter-spacing:-.05em; z-index:1; }
.olmi-v2-hero .olmi-hero-stamp span { display:block; font:600 .52rem/1.5 "Segoe UI",sans-serif; letter-spacing:.25em; margin-top:6px; }
.olmi-v2-hero figcaption { position:absolute; bottom:28px; left:26px; right:100px; z-index:1; color:white; }
.olmi-v2-hero figcaption > span { font-size:1.2rem; font-weight:600; display:block; }
.olmi-v2-hero figcaption small { display:block; color:#f0f1f1; font-size:.65rem; margin-top:6px; }
.olmi-v2-hero .olmi-hero-circle { position:absolute; right:24px; bottom:24px; display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--olmi-red); color:white; z-index:2; transition:transform .3s,background .3s; }
.olmi-v2-hero .olmi-hero-circle:hover { transform:rotate(45deg); background:var(--olmi-red); }
.olmi-v2-hero .olmi-quick-select { display:flex; align-items:center; flex-wrap:wrap; gap:0; margin-top:38px; background:white; border:1px solid #e4e6e9; border-bottom:0; border-radius:16px 16px 0 0; padding:20px 24px; }
.olmi-v2-hero .olmi-quick-select > span { flex:1.3; min-width:190px; color:var(--olmi-muted); font-size:.66rem; letter-spacing:.12em; font-weight:700; }
.olmi-v2-hero .olmi-quick-select a { display:inline-flex; align-items:center; justify-content:center; gap:12px; flex:1; min-height:45px; padding:4px 16px; border-left:1px solid #e4e6e9; font-size:.83rem; font-weight:600; text-decoration:none; white-space:nowrap; transition:color .2s; }
.olmi-v2-hero .olmi-quick-select svg { width:21px; height:21px; }

/* Katalog i karty — fotografia w spójnym kadrze oraz własne ikony parametrów. */
.olmi-catalog { padding:48px 0 84px; }
.olmi-catalog-home { padding:76px 0 84px; }
.olmi-section .olmi-section-heading { margin-bottom:36px; }
.olmi-section .olmi-section-heading h2 { font-size:clamp(2rem,2.8vw,3rem); }
.olmi-catalog .olmi-car-grid { gap:28px; }
.olmi-catalog .olmi-car-card { background:#fff; border:1px solid #e3e5e8; border-radius:16px; box-shadow:0 3px 12px #17191d04; transition:transform .3s,box-shadow .3s,border-color .3s; }
.olmi-catalog .olmi-car-card:hover { transform:translateY(-5px); box-shadow:0 16px 36px #17191d0c; border-color:#c7ccd2; }
.olmi-catalog .olmi-car-photo { aspect-ratio:16/10; overflow:hidden; }
.olmi-catalog .olmi-car-photo img { transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.olmi-catalog .olmi-car-card:hover .olmi-car-photo img { transform:scale(1.035); }
.olmi-section .olmi-status { border-radius:6px; padding:7px 11px; font-size:.66rem; background:#fffffff2; box-shadow:0 2px 7px #0000000a; }
.olmi-section .olmi-status::before { content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:currentColor; margin:0 6px 1px 0; }
.olmi-section .olmi-status-reserved { background:#fff5df; }
.olmi-catalog .olmi-car-photo .olmi-status { top:15px; left:15px; }
.olmi-catalog .olmi-demo-badge { position:absolute; top:15px; right:15px; background:#17191de8; color:white; border-radius:5px; padding:6px 9px; font-size:.61rem; font-weight:700; letter-spacing:.12em; }
.olmi-catalog .olmi-photo-count { position:absolute; bottom:13px; left:15px; display:flex; align-items:center; gap:6px; padding:4px 8px; background:#17191dbb; color:white; border-radius:5px; font-size:.68rem; }
.olmi-catalog .olmi-photo-count svg { width:16px; height:16px; }
.olmi-catalog .olmi-photo-count .olmi-icon-accent { stroke:currentColor; }
.olmi-catalog .olmi-photo-arrow { position:absolute; right:15px; bottom:13px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--olmi-ink); background:#fff; transition:background .2s,color .2s; }
.olmi-catalog .olmi-photo-arrow svg { width:19px; height:19px; }
.olmi-catalog .olmi-car-card:hover .olmi-photo-arrow { background:var(--olmi-red); color:#fff; }
.olmi-catalog .olmi-car-info { padding:24px; }
.olmi-catalog .olmi-car-make { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; font-size:.65rem; font-weight:650; letter-spacing:.13em; }
.olmi-catalog .olmi-car-make span { text-transform:none; letter-spacing:0; font-weight:400; }
.olmi-catalog .olmi-car-info h2,.olmi-catalog .olmi-car-info h3 { font-size:1.35rem; letter-spacing:-.025em; margin-bottom:22px; }
.olmi-catalog .olmi-car-specs { display:grid; grid-template-columns:1fr 1fr; gap:14px 8px; font-size:.79rem; color:#4b515b; margin:0 0 23px; }
.olmi-catalog .olmi-car-specs > div { display:flex; align-items:center; gap:8px; min-width:0; }
.olmi-catalog .olmi-car-specs svg { width:19px; height:19px; color:#777e87; }
.olmi-catalog .olmi-car-specs dd { margin:0; overflow-wrap:anywhere; }
.olmi-catalog .olmi-car-bottom { padding-top:18px; gap:8px; }
.olmi-catalog .olmi-car-bottom small { display:block; font-size:.61rem; margin-bottom:2px; }
.olmi-catalog .olmi-car-bottom strong { display:block; font-size:1.55rem; letter-spacing:-.035em; white-space:nowrap; }
.olmi-catalog .olmi-car-bottom .olmi-archived { font-size:1rem; white-space:normal; }
.olmi-catalog .olmi-car-bottom a { font-size:.73rem; text-decoration:none; font-weight:650; gap:10px; }
.olmi-catalog .olmi-car-bottom a svg { width:20px; height:20px; }
.olmi-catalog .olmi-filters { border-radius:16px; background:#f5f6f7; padding:28px; margin-bottom:32px; }
.olmi-section input,.olmi-section select,.olmi-section textarea { border-radius:8px; border-color:#a1a7af; transition:border-color .2s,box-shadow .2s; }
.olmi-section input:hover,.olmi-section select:hover,.olmi-section textarea:hover { border-color:#555d68; }
.olmi-section input:focus,.olmi-section select:focus,.olmi-section textarea:focus { border-color:var(--olmi-red); box-shadow:0 0 0 3px rgb(223 15 22 / 0.035); }
.olmi-catalog .olmi-filter-bottom { margin-top:8px; }
.olmi-catalog .olmi-active-filters a { border-radius:20px; padding:7px 14px; text-decoration:none; }
.olmi-catalog .olmi-page-heading h1 { font-size:clamp(2.4rem,4vw,4rem); }
.olmi-catalog .olmi-results { font-size:.875rem; }
.olmi-catalog .olmi-empty { border-radius:16px; padding-block:64px; }

/* Indywidualny import — ciemny kontrapunkt dla jasnego katalogu. */
.olmi-v2-import { padding:80px 0 38px; background:#1c2026; color:#edf0f4; }
.olmi-v2-import h2,.olmi-v2-import h3 { color:white; }
.olmi-v2-import h2 span { color:#b8bec7; }
.olmi-v2-import .olmi-eyebrow { color:var(--olmi-red); }
.olmi-v2-import .olmi-section-heading { align-items:center; margin-bottom:48px; }
.olmi-v2-import .olmi-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.olmi-v2-import .olmi-process-grid article { border:1px solid #3d424a; border-radius:14px; padding:28px; transition:background .3s,border-color .3s; }
.olmi-v2-import .olmi-process-grid article:hover { background:#242a32; border-color:#727984; }
.olmi-v2-import .olmi-process-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.olmi-v2-import .olmi-process-top > span:last-child { font-size:.8rem; font-variant-numeric:tabular-nums; color:#b5bdc8; }
.olmi-section .olmi-custom-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid #515762; border-radius:13px; transform:rotate(-5deg); }
.olmi-section .olmi-custom-icon svg { width:28px; height:28px; transform:rotate(5deg); }
.olmi-v2-import .olmi-icon-accent { stroke:var(--olmi-red); }
.olmi-v2-import h3 { font-size:1.3rem; letter-spacing:-.03em; margin-bottom:14px; }
.olmi-v2-import article p { color:#bbc2cc; font-size:.94rem; line-height:1.85; margin-bottom:0; }
.olmi-v2-import .olmi-route-line { display:flex; align-items:center; gap:20px; padding-top:36px; color:#bac2cd; font-size:.6rem; letter-spacing:.18em; }
.olmi-v2-import .olmi-route-line span { flex-shrink:0; }
.olmi-v2-import .olmi-route-line svg { flex:1; min-width:0; height:32px; fill:none; stroke:#646d7a; stroke-width:1; }

.olmi-v2-about { padding:85px 0; }
.olmi-v2-about .olmi-about-composition { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; align-items:center; }
.olmi-v2-about h2 { font-size:clamp(2rem,2.9vw,3rem); }
.olmi-v2-about h2 span { color:var(--olmi-muted); }
.olmi-v2-about p:not(.olmi-eyebrow) { color:var(--olmi-muted); max-width:52ch; font-size:1rem; line-height:1.85; }
.olmi-v2-about .olmi-visit-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; background:#f4f5f6; padding:32px; border:1px solid #e4e7ea; border-radius:20px; text-decoration:none; overflow:hidden; }
.olmi-v2-about .olmi-visit-card::before { content:""; position:absolute; width:190px; height:190px; border:1px solid #dce0e5; border-radius:50%; right:-50px; top:-65px; box-shadow:0 0 0 26px #f4f5f6,0 0 0 27px #e0e4e8,0 0 0 53px #f4f5f6,0 0 0 54px #e5e8eb; pointer-events:none; }
.olmi-v2-about .olmi-custom-icon { border-color:#ccd1d8; color:var(--olmi-ink); background:white; margin-bottom:26px; }
.olmi-v2-about .olmi-visit-label { font-size:.62rem; letter-spacing:.12em; color:var(--olmi-muted); margin-bottom:10px; }
.olmi-v2-about .olmi-visit-card strong { font-size:2.25rem; letter-spacing:-.04em; line-height:1.2; margin-bottom:6px; }
.olmi-v2-about .olmi-visit-card > span:not(.olmi-custom-icon) { position:relative; }
.olmi-v2-about .olmi-visit-bottom { border-top:1px solid #d4d8df; padding-top:20px; margin-top:30px; width:100%; display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:.9rem; }
.olmi-footer { background:#171b21; color:#f3f4f5; border:0; padding-top:56px; }
.olmi-footer h2 { color:#f3f4f5; }
.olmi-footer p,.olmi-footer nav a,.olmi-footer small,.olmi-footer .olmi-footer-bottom { color:#b9c0ca; }
.olmi-footer .olmi-footer-wordmark { font-size:1.6rem; }
.olmi-footer .olmi-footer-wordmark strong { color:var(--olmi-red); }
.olmi-footer .olmi-footer-bottom { border-color:#363d48; padding-block:24px; }
.olmi-footer a:hover { color:var(--olmi-red); }
.olmi-single .olmi-gallery-main { border-radius:18px; }
.olmi-single .olmi-gallery-thumbs button { border-radius:8px; overflow:hidden; height:72px; width:96px; }
.olmi-single .olmi-single-summary { padding:28px; border:1px solid #e2e5e8; border-radius:18px; background:#fff; }
.olmi-single .olmi-single-price { font-size:2.4rem; letter-spacing:-.05em; }
.olmi-single .olmi-demo-detail { background:#fff6e7; padding:15px; border-radius:9px; margin-bottom:22px; font-size:.76rem; color:#754004; }
.olmi-single .olmi-demo-detail strong,.olmi-single .olmi-demo-detail span { display:block; }
.olmi-single .olmi-demo-detail strong { font-size:.65rem; letter-spacing:.1em; margin-bottom:5px; }
.olmi-single .olmi-key-specs { gap:20px 12px; }
.olmi-single .olmi-prose { line-height:1.85; color:var(--olmi-muted); }
.olmi-single .olmi-equipment li { font-size:.875rem; }
.olmi-contact .olmi-contact-panel,.olmi-editorial .olmi-editorial-note { border:1px solid #e2e5e9; border-radius:18px; padding:36px; }
.olmi-contact .olmi-address-marker > svg { width:46px; height:46px; padding:10px; border-radius:12px; background:white; }
.olmi-form-section .olmi-form-box { border-radius:18px; padding:36px; }
.olmi-form-section .olmi-form-notice { border:1px solid #eddfc8; border-radius:9px; }
.olmi-section .olmi-steps li::before { width:34px; height:34px; border:1px solid #d7dce2; border-radius:9px; display:grid; place-items:center; font-size:.7rem; }
.olmi-section .olmi-steps li { padding-left:52px; }

@media(min-width:1600px) { .olmi-v2-hero .olmi-hero-visual { aspect-ratio:1.65; } }
@media(max-width:1200px) {
  .olmi-v2-hero h1 { font-size:clamp(2.6rem,4.8vw,4.4rem); }
  .olmi-v2-hero .olmi-hero-visual { aspect-ratio:1.35; }
  .olmi-v2-hero .olmi-quick-select { padding:16px; }
  .olmi-v2-hero .olmi-quick-select > span { flex-basis:100%; margin-bottom:10px; }
  .olmi-v2-hero .olmi-quick-select a:first-of-type { border-left:0; }
  .olmi-v2-about .olmi-about-composition { gap:50px; }
}
@media(max-width:820px) {
  .olmi-header .olmi-navigation { gap:0; padding:8px 0 16px; }
  .olmi-header .olmi-navigation a { border-top:1px solid #e5e8eb; padding-block:9px; }
  .olmi-header .olmi-navigation a::after { display:none; }
  .olmi-v2-hero { padding-top:28px; }
  .olmi-v2-hero .olmi-hero-grid { grid-template-columns:1fr; gap:24px; }
  .olmi-v2-hero .olmi-hero-copy { padding:10px 0 0; }
  .olmi-v2-hero h1 { font-size:clamp(2.7rem,7.5vw,4.8rem); margin-block:20px; }
  .olmi-v2-hero .olmi-hero-lead { margin-bottom:22px; font-size:1rem; }
  .olmi-v2-hero .olmi-hero-location { padding-top:22px; }
  .olmi-v2-hero .olmi-hero-visual { aspect-ratio:1.8; border-radius:18px 18px 56px 18px; }
  .olmi-v2-hero .olmi-hero-visual > img { object-position:center 57%; }
  .olmi-v2-hero .olmi-quick-select { margin-top:28px; }
  .olmi-v2-hero .olmi-quick-select a { flex-basis:45%; justify-content:flex-start; border:0; border-top:1px solid #eceef1; padding:10px 4px; }
  .olmi-v2-import .olmi-process-grid { grid-template-columns:1fr; gap:16px; }
  .olmi-v2-import .olmi-process-top { margin-bottom:18px; }
  .olmi-v2-import .olmi-process-grid article { padding:24px; }
  .olmi-v2-import .olmi-section-heading { align-items:flex-start; }
  .olmi-v2-about .olmi-about-composition { grid-template-columns:1fr; gap:32px; }
  .olmi-catalog-home,.olmi-v2-import,.olmi-v2-about { padding-block:54px; }
}
@media(max-width:540px) {
  .olmi-header .olmi-navrow { min-height:78px; }
  .olmi-header .olmi-brand img { width:163px; height:57px; }
  .olmi-header .olmi-demo { font-size:.63rem; }
  .olmi-section .olmi-eyebrow { font-size:.6rem; gap:7px; letter-spacing:.1em; }
  .olmi-section .olmi-eyebrow::before { width:14px; }
  .olmi-v2-hero h1 { font-size:clamp(2.35rem,9.2vw,3.4rem); }
  .olmi-v2-hero .olmi-hero-actions { gap:12px 20px; }
  .olmi-v2-hero .olmi-hero-actions .olmi-text-link { font-size:.79rem; }
  .olmi-v2-hero .olmi-hero-visual { aspect-ratio:1.5; }
  .olmi-v2-hero .olmi-hero-stamp { left:18px; top:18px; font-size:1.25rem; }
  .olmi-v2-hero figcaption { left:18px; bottom:18px; right:66px; }
  .olmi-v2-hero figcaption > span { font-size:.85rem; }
  .olmi-v2-hero figcaption small { font-size:.51rem; }
  .olmi-v2-hero .olmi-hero-circle { right:15px; bottom:18px; width:42px; height:42px; }
  .olmi-v2-hero .olmi-quick-select { padding:14px; }
  .olmi-v2-hero .olmi-quick-select a { font-size:.74rem; gap:7px; }
  .olmi-catalog .olmi-car-grid { gap:22px; }
  .olmi-catalog .olmi-car-info { padding:20px; }
  .olmi-catalog .olmi-car-bottom strong { font-size:1.45rem; }
  .olmi-catalog .olmi-filters,.olmi-single .olmi-single-summary,.olmi-form-section .olmi-form-box,.olmi-contact .olmi-contact-panel { padding:20px; }
  .olmi-v2-import .olmi-route-line { gap:10px; font-size:.5rem; letter-spacing:.07em; }
  .olmi-v2-about .olmi-visit-card { padding:24px; }
  .olmi-section .olmi-section-heading h2 { font-size:2rem; }
}
@media(prefers-reduced-motion:reduce) {
  .olmi-section *,.olmi-section *::before,.olmi-section *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .olmi-catalog .olmi-car-card:hover,.olmi-section .olmi-button:hover,.olmi-v2-hero .olmi-hero-circle:hover,.olmi-catalog .olmi-car-card:hover .olmi-car-photo img { transform:none; }
}

/* Powiększenie zdjęć w natywnym dialogu z obsługą klawiatury. */
.olmi-lightbox { width:min(1100px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); border:1px solid #3c424a; border-radius:16px; padding:16px; background:#171b21; color:white; margin:auto; overflow:auto; }
.olmi-lightbox::backdrop { background:#090c10e8; }
.olmi-lightbox .olmi-lightbox-toolbar,.olmi-lightbox .olmi-lightbox-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.olmi-lightbox .olmi-lightbox-toolbar { margin-bottom:12px; }
.olmi-lightbox .olmi-lightbox-counter { font-size:.7rem; letter-spacing:.12em; color:#c4cbd5; }
.olmi-lightbox .olmi-lightbox-image { display:block; width:100%; height:min(68dvh,720px); object-fit:contain; border-radius:6px; }
.olmi-lightbox button { min-height:44px; padding:8px 14px; border:1px solid #606875; border-radius:8px; background:transparent; color:white; font:600 .8rem "Segoe UI",sans-serif; cursor:pointer; }
.olmi-lightbox button:hover { background:#333a45; }
.olmi-lightbox .olmi-lightbox-close { display:flex; align-items:center; gap:12px; }
.olmi-lightbox .olmi-lightbox-close span { font-size:1.4rem; }
.olmi-lightbox .olmi-lightbox-controls { margin-top:12px; }
.olmi-lightbox .olmi-lightbox-controls > span { font-size:.7rem; color:#bbc2cc; }
@media(max-width:540px) { .olmi-lightbox .olmi-lightbox-controls > span { display:none; } .olmi-lightbox { padding:12px; } }

.olmi-lightbox button:focus { color:white; background:#333a45; }
.olmi-header .olmi-menu-toggle:hover,.olmi-header .olmi-menu-toggle:focus,.olmi-header .olmi-menu-toggle[aria-expanded="true"] { color:#fff; background:var(--olmi-red); border-color:var(--olmi-red); }
