/*
Theme Name: CFO Aid
Theme URI: https://cfoaid.eu
Author: Optima Capitals s.r.o.
Description: Jednostránkový web Lukáše Sodomky, interim CFO. Úvodní stránka, ukázka reportingu, rezervace schůzek.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: cfoaid
*/

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/manrope-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/manrope-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #0A1020; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { opacity: .82; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #2A5CF5; outline-offset: 2px; }
section[id] { scroll-margin-top: 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------------------------------------------------------------- booking dialog */
.bk { width: min(1040px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 26px; background: #FFFFFF; color: #0A1020; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 16px; line-height: 1.55; box-shadow: 0 50px 120px -30px #000000; overflow: auto; }
.bk::backdrop { background: rgba(6, 10, 22, .72); backdrop-filter: blur(4px); }
.bk__inner { padding: clamp(22px, 4vw, 40px); display: flex; flex-direction: column; gap: 26px; }
.bk__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.bk__title { margin: 0; font-family: 'Manrope', 'Inter', system-ui, sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -0.04em; line-height: 1.15; }
.bk__sub { margin: 6px 0 0; font-size: 15px; color: #556377; }
.bk__close { flex: 0 0 auto; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid #E1E6EE; border-radius: 12px; background: #FFFFFF; color: #0A1020; cursor: pointer; padding: 0; }
.bk__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); gap: 32px 40px; }
.bk__col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.bk__step { margin: 0; display: flex; align-items: center; gap: 10px; font-family: 'Manrope', 'Inter', system-ui, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; }
.bk__step span { width: 26px; height: 26px; border-radius: 8px; background: #0A1020; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12.5px; font-weight: 500; }
.bk__cal { background: #F4F6FA; border: 1px solid #E1E6EE; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.bk__calhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bk__month { font-family: 'Manrope', 'Inter', system-ui, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; text-transform: capitalize; }
.bk__nav { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: #FFFFFF; color: #0A1020; border: 1px solid #E1E6EE; border-radius: 12px; cursor: pointer; padding: 0; }
.bk__nav:disabled { opacity: .35; cursor: default; }
.bk__wd, .bk__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.bk__wd span { text-align: center; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: #556377; }
.bk__day, .bk__time, .bk__mode { font: inherit; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 14.5px; font-weight: 500; border-radius: 11px; background: #FFFFFF; color: #0A1020; border: 1px solid #D6DCE6; cursor: pointer; padding: 0; }
.bk__day { height: 44px; }
.bk__day:disabled { background: transparent; border-color: transparent; color: #9AA5B5; cursor: default; text-decoration: line-through; text-decoration-color: rgba(154,165,181,.6); }
.bk__day--blank { visibility: hidden; }
.bk__times { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bk__time { height: 46px; border-radius: 12px; }
.bk__time:disabled { background: #F4F6FA; color: #9AA5B5; border-color: #EEF1F6; cursor: default; text-decoration: line-through; }
.bk__day[aria-pressed="true"], .bk__time[aria-pressed="true"] { background: #2A5CF5; border-color: #2A5CF5; color: #FFFFFF; text-decoration: none; }
.bk__modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bk__mode { height: 46px; font-family: inherit; font-size: 15px; font-weight: 600; border-color: #C9D1DC; border-radius: 12px; }
.bk__mode[aria-pressed="true"] { background: #0A1020; border-color: #0A1020; color: #FFFFFF; }
.bk__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 14px; }
.bk__field { display: flex; flex-direction: column; gap: 6px; }
.bk__field label, .bk__label { font-size: 13.5px; font-weight: 600; }
.bk__field label small { font-weight: 400; color: #556377; font-size: inherit; }
.bk__field input, .bk__field textarea { width: 100%; height: 48px; padding: 0 14px; font: inherit; font-size: 15.5px; color: #0A1020; background: #FFFFFF; border: 1px solid #C9D1DC; border-radius: 12px; }
.bk__field textarea { height: 84px; padding: 12px 14px; resize: vertical; }
.bk__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.bk__summary { background: #F4F6FA; border: 1px solid #E1E6EE; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.bk__summary span:first-child { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #556377; }
.bk__summary strong { font-family: 'Manrope', 'Inter', system-ui, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; }
.bk__submit { height: 56px; display: flex; align-items: center; justify-content: center; gap: 12px; font: inherit; font-size: 16px; font-weight: 600; color: #FFFFFF; background: #2A5CF5; border: 0; border-radius: 14px; cursor: pointer; }
.bk__submit:disabled { opacity: .6; cursor: progress; }
.bk__note { margin: 0; font-size: 13px; line-height: 1.5; color: #556377; }
.bk__error { margin: 0; padding: 12px 14px; border-radius: 12px; background: #FDE9E6; color: #B42318; font-size: 14px; font-weight: 500; }
.bk__done { padding: 12px 0 8px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.bk__done-icon { width: 56px; height: 56px; border-radius: 16px; background: #E3F6EF; color: #0B7F5F; display: flex; align-items: center; justify-content: center; }
.bk__done h3 { margin: 0; font-family: 'Manrope', 'Inter', system-ui, sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -0.03em; }
.bk__done p { margin: 0; color: #556377; max-width: 560px; }
.bk [hidden] { display: none !important; }
@media (max-width: 520px) {
  .bk__times { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bk__day { height: 40px; font-size: 13.5px; }
}
@media (max-width: 720px) { .nav-link { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
