/* Jednotny vzhled vedlejsich stranek (Adam 10. 10. 2026): stejna vecerni
   noc, ruzova a zlata jako uvod, chat a advent. Nacita se az za vlastnimi
   styly stranky a prebiji jen barvy - rozlozeni stranek zustava. */
:root {
    --noc: #0e0915; --karta-bg: rgba(255,255,255,.055); --karta-linka: rgba(255,255,255,.1);
    --vz-text: #F7EFF6; --vz-tlumene: rgba(247,239,246,.72); --vz-ruzova: #FF5FA2; --vz-ruzova2: #E8117F; --vz-zlata: #F2C879;
    /* promenne, ktere stranky pouzivaji */
    --primary-color: #FF5FA2; --accent-color: #E8117F; --secondary-color: rgba(255,95,162,.35);
    --background: #0e0915; --background-color: #0e0915; --bg-color: #0e0915; --section-bg: rgba(255,255,255,.04);
    --text-color: #F7EFF6; --shadow: 0 20px 50px rgba(0,0,0,.45); --shadow-color: rgba(0,0,0,.45);
}
html { background: var(--noc); }
body.vzhled {
    background: radial-gradient(900px 600px at 85% -10%, rgba(232,17,127,.18), transparent 70%),
                radial-gradient(700px 500px at -10% 30%, rgba(120,60,200,.14), transparent 70%), var(--noc) !important;
    background-attachment: fixed !important;
    color: var(--vz-text) !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
}
/* Texty: natvrdo sede/tmave barvy stranek by na tmavem pozadi nebyly videt */
body.vzhled :is(p, li, label, span, small, td, th, dd, dt, em, strong, b, div, h4, h5, h6, blockquote):not(.google-btn):not(.google-btn *):not(.tl):not(.tl *):not(button):not(button *) {
    color: inherit;
}
body.vzhled :is(.subtitle, .faq-subtitle, .datum, .updated, .last-updated, small, .muted, .pozn, .toggle-auth, .meta, .perex) { color: var(--vz-tlumene) !important; }
body.vzhled :is(h1, h2) { color: var(--vz-text) !important; -webkit-text-fill-color: currentColor; }
body.vzhled h1 { background: none !important; }
body.vzhled h3 { color: #FF8CC0 !important; }
body.vzhled a:not([class*="btn"]):not([class*="button"]):not(.tl):not(.logo) { color: #FF8CC0; }
body.vzhled a:not([class*="btn"]):not([class*="button"]):not(.tl):hover { color: #fff; }

/* Karty a bloky, ktere byly bile / svetle ruzove */
body.vzhled :is(.login-container, .forgot-password-container, .reset-password-container, .modal-content,
    .card, .cenik-karta, .chat-demo, .faq-item, .ref-karta, .cta-mezi, .content-section, .section, .policy-section,
    .terms-section, .cookie-section, .highlight-box, .info-box, .container > section, main > section, .obsah > section, table.srovnani) {
    background: var(--karta-bg) !important; border: 1px solid var(--karta-linka) !important; box-shadow: 0 20px 50px rgba(0,0,0,.35) !important;
    color: var(--vz-text);
}
body.vzhled :is(.login-container, .forgot-password-container, .reset-password-container, .modal-content) {
    background: linear-gradient(170deg, rgba(58,18,48,.92), rgba(22,14,32,.96)) !important; border-radius: 22px !important;
    border-color: rgba(255,95,162,.3) !important;
}
body.vzhled table.srovnani :is(th, td) { border-color: var(--karta-linka) !important; background: transparent !important; }
body.vzhled table.srovnani th { background: rgba(255,95,162,.12) !important; }

/* Hlavicky a paticky */
body.vzhled :is(.header, .topbar) {
    background: rgba(14,9,21,.85) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--karta-linka) !important; box-shadow: none !important;
}
body.vzhled footer { background: transparent !important; border-top: 1px solid var(--karta-linka); color: var(--vz-tlumene) !important; }
body.vzhled footer :is(h3, h4) { color: var(--vz-text) !important; }
body.vzhled footer a { color: var(--vz-tlumene) !important; }
body.vzhled .footer-section h3:after { background: var(--vz-ruzova) !important; }

/* Hero na SEO strankach - ruzovy pruh nahore */
body.vzhled :is(.hero, .seo-hero, body > header) {
    background: linear-gradient(160deg, rgba(232,17,127,.28), rgba(60,20,80,.35)) !important; color: var(--vz-text) !important;
}
body.vzhled .cta { background: linear-gradient(135deg, rgba(232,17,127,.25), rgba(60,20,80,.4)) !important; border: 1px solid rgba(255,95,162,.35); }
body.vzhled a.cta { background: linear-gradient(135deg, var(--vz-ruzova), var(--vz-ruzova2)) !important; color: #fff !important; border: none !important; box-shadow: 0 10px 26px rgba(232,17,127,.4); }

/* Formulare */
body.vzhled :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select) {
    background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.16) !important; color: var(--vz-text) !important;
    border-radius: 12px !important;
}
body.vzhled :is(input, textarea)::placeholder { color: rgba(247,239,246,.4); }
body.vzhled :is(input, textarea, select):focus { border-color: var(--vz-ruzova) !important; box-shadow: 0 0 0 3px rgba(255,95,162,.2) !important; }
body.vzhled :is(.auth-button, button[type="submit"], .btn-primary, .cta-button, .cenik-btn:not(.vedlejsi)) {
    background: linear-gradient(135deg, var(--vz-ruzova), var(--vz-ruzova2)) !important; color: #fff !important; border: none !important;
    border-radius: 999px !important; box-shadow: 0 10px 26px rgba(232,17,127,.4); font-weight: 600 !important;
}
body.vzhled :is(.cenik-btn.vedlejsi, .btn-secondary, .cta-box a) { background: transparent !important; color: var(--vz-text) !important; border: 1px solid rgba(255,255,255,.25) !important; border-radius: 999px !important; }
body.vzhled .google-btn { border-radius: 999px !important; border: none !important; }
body.vzhled .back-to-home { background: rgba(255,255,255,.07) !important; color: var(--vz-text) !important; border: 1px solid var(--karta-linka) !important; }
body.vzhled :is(.divider, .or-divider)::before, body.vzhled :is(.divider, .or-divider)::after { background: var(--karta-linka) !important; }
body.vzhled .eliska-face { border-color: var(--vz-ruzova) !important; box-shadow: 0 0 0 4px rgba(255,95,162,.18), 0 10px 26px rgba(0,0,0,.4) !important; }
body.vzhled .cta-box { background: linear-gradient(135deg, rgba(232,17,127,.22), rgba(60,20,80,.4)) !important; border: 1px solid rgba(255,95,162,.35) !important; color: var(--vz-text) !important; }
body.vzhled hr { border-color: var(--karta-linka); }
body.vzhled code { background: rgba(255,255,255,.08); color: var(--vz-zlata); }

/* Prihlaseni a registrace: na pocitaci vlevo fotka Elisky (stejna sada jako uvod) */
@media (min-width: 900px) {
    body.vzhled.s-fotkou { padding-left: 44vw !important; box-sizing: border-box; }
    body.vzhled.s-fotkou::before { content: ''; position: fixed; left: 0; top: 0; bottom: 0; width: 44vw; z-index: 0;
        background: var(--foto) center 25% / cover no-repeat;
        -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent); mask-image: linear-gradient(90deg, #000 70%, transparent); }
    body.vzhled.s-fotkou::after { content: attr(data-veta); position: fixed; left: 3vw; bottom: 5vh; width: 34vw; z-index: 1;
        font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.6rem; line-height: 1.3; color: #fff;
        text-shadow: 0 2px 18px rgba(0,0,0,.7); }
    body.vzhled.s-fotkou > *:not(.back-to-home):not(script):not(style) { position: relative; z-index: 2; }
    body.vzhled.s-fotkou > .back-to-home { position: fixed !important; z-index: 3; }
}
@media (max-width: 600px) {
    body.vzhled :is(.login-container, .forgot-password-container, .reset-password-container) { margin: 70px 14px 24px !important; width: auto !important; }
}

/* Prihlaseni a registrace se vejdou na jednu obrazovku (Adam 11. 10. 2026:
   na notebooku se registrace o kus scrollovala - karta mela 970 px). */
@media (min-width: 601px) {
    body.vzhled .login-container { padding: 26px 34px 22px !important; margin: 16px 0 !important; }
    body.vzhled .login-container .eliska-face { width: 64px; height: 64px; margin-bottom: 8px; }
    body.vzhled .login-container h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 8px; }
    body.vzhled .login-container .subtitle { margin: 0 0 16px; }
    body.vzhled .login-container .google-divider { margin: 14px 0 10px; }
    body.vzhled .login-container .form-group { margin-bottom: 12px; }
    body.vzhled .login-container .form-group label { margin-bottom: 5px; }
    body.vzhled .login-container input:not([type="checkbox"]) { padding: 10px 12px; }
    body.vzhled .login-container .checkbox-group { margin-bottom: 14px; }
    body.vzhled .login-container .terms-agreement { margin: 10px 0 0; }
    body.vzhled .login-container :is(.toggle-auth, .auth-actions) { margin-top: 12px; }
    body.vzhled .login-container .toggle-auth p { margin: 0; }
}
/* Nizke okno notebooku (1366x768 a mensi): jeste tesneji */
@media (min-width: 601px) and (max-height: 780px) {
    body.vzhled .login-container { padding: 20px 30px 18px !important; margin: 10px 0 !important; }
    body.vzhled .login-container .eliska-face { width: 52px; height: 52px; margin-bottom: 6px; }
    body.vzhled .login-container h1 { font-size: 1.5rem; margin-bottom: 6px; }
    body.vzhled .login-container .subtitle { font-size: .92rem; margin-bottom: 12px; }
    body.vzhled .login-container .google-btn-primary { min-height: 48px; padding: 10px; }
    body.vzhled .login-container .google-divider { margin: 10px 0 8px; }
    body.vzhled .login-container .form-group { margin-bottom: 9px; }
    body.vzhled .login-container .form-group label { margin-bottom: 3px; font-size: .92rem; }
    body.vzhled .login-container input:not([type="checkbox"]) { padding: 8px 12px; }
    body.vzhled .login-container .checkbox-group { margin-bottom: 10px; }
    body.vzhled .login-container .checkbox-group label { font-size: .82rem; }
    body.vzhled .login-container .auth-button { padding: 12px 24px; }
}
/* Hodne nizke okno: vlevo je fotka Elisky, avatar nad formularem navic */
@media (min-width: 900px) and (max-height: 690px) {
    body.vzhled .login-container .eliska-face { display: none; }
}
/* Mobil: registrace cela na 390x844 (iPhone 12-15), na mensich je hned
   nahore Google a scroll je kratky */
@media (max-width: 600px) {
    body.vzhled :is(.login-container, .forgot-password-container, .reset-password-container) { margin-top: 60px !important; }
    body.vzhled .login-container .eliska-face { width: 60px; height: 60px; margin-bottom: 8px; }
    body.vzhled .login-container .subtitle { margin-bottom: 12px; }
    body.vzhled .login-container .checkbox-group { margin-bottom: 12px; }
    body.vzhled .login-container .terms-agreement { margin: 8px 0 0; }
    body.vzhled .login-container :is(.toggle-auth, .auth-actions) { margin-top: 12px; }
    body.vzhled .login-container .toggle-auth p { margin: 0; }
}
