/* Mintu – vzhled nad Bootstrapem 5.3 (barvy přes CSS proměnné, bez buildu) */

:root {
    --mintu-green: #219b38;
    --mintu-green-dark: #19762b;
    --mintu-green-light: #f4fcf6;
    --mintu-green-mid: #e1f3e4;
    --mintu-ink: #0a1f0c;

    --bs-primary: var(--mintu-green);
    --bs-primary-rgb: 33, 155, 56;
    --bs-primary-text-emphasis: var(--mintu-green-dark);
    --bs-primary-bg-subtle: var(--mintu-green-mid);
    --bs-success: var(--mintu-green);
    --bs-success-rgb: 33, 155, 56;
    --bs-body-color: var(--mintu-ink);
    --bs-body-color-rgb: 10, 31, 12;
    --bs-secondary-color: rgba(10, 31, 12, .62);
    --bs-tertiary-color: rgba(10, 31, 12, .35);
    --bs-emphasis-color: var(--mintu-ink);
    --bs-border-color: #e3ebe4;
    --bs-link-color: var(--mintu-green);
    --bs-link-color-rgb: 33, 155, 56;
    --bs-link-hover-color: var(--mintu-green-dark);
    --bs-link-hover-color-rgb: 25, 118, 43;
    --bs-body-font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-border-radius: .75rem;
    --bs-border-radius-lg: 1rem;
}

body { -webkit-font-smoothing: antialiased; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.text-white-75 { color: rgba(255, 255, 255, .78) !important; }
.min-w-0 { min-width: 0; }
section[id] { scroll-margin-top: 80px; }

/* ---- tlačítka ---- */
.btn { --bs-btn-border-radius: .75rem; font-weight: 600; }
.btn-lg { --bs-btn-padding-x: 1.75rem; --bs-btn-padding-y: .85rem; --bs-btn-font-size: 1rem; }
.btn-primary {
    --bs-btn-bg: var(--mintu-green);
    --bs-btn-border-color: var(--mintu-green);
    --bs-btn-hover-bg: var(--mintu-green-dark);
    --bs-btn-hover-border-color: var(--mintu-green-dark);
    --bs-btn-active-bg: var(--mintu-green-dark);
    --bs-btn-active-border-color: var(--mintu-green-dark);
    --bs-btn-disabled-bg: var(--mintu-green);
    --bs-btn-disabled-border-color: var(--mintu-green);
    --bs-btn-focus-shadow-rgb: 33, 155, 56;
}
.btn:hover { text-decoration: none; }
.shadow-primary { box-shadow: 0 10px 25px -8px rgba(33, 155, 56, .55); }
.alert-success {
    --bs-alert-bg: var(--mintu-green-mid);
    --bs-alert-color: var(--mintu-green-dark);
    --bs-alert-border-color: rgba(33, 155, 56, .2);
}

/* ---- typografie ---- */
.hero-title, .display-title { font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.hero-title { font-size: clamp(2.4rem, 5vw, 3.75rem); }
.display-title { font-size: clamp(2rem, 4vw, 3rem); }
.section-heading { max-width: 42rem; }
blockquote { color: rgba(10, 31, 12, .78); line-height: 1.7; }

.badge-soft {
    display: inline-flex; align-items: center;
    padding: .45rem 1rem; border-radius: 999px;
    background: var(--mintu-green-mid); color: var(--mintu-green);
    font-size: .875rem; font-weight: 600;
}
.badge-sm { padding: .2rem .7rem; font-size: .75rem; }
.pulse-dot {
    display: inline-block; width: .5rem; height: .5rem; border-radius: 50%;
    background: var(--mintu-green); animation: pulse 2s infinite;
}
@keyframes pulse { 50% { opacity: .35; } }

/* ---- navigace ---- */
.site-nav { padding: .9rem 0; transition: background-color .3s, box-shadow .3s, padding .3s; }
.site-nav.scrolled, .site-nav:has(.navbar-collapse.show), .site-nav:has(.navbar-collapse.collapsing) {
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 var(--bs-border-color);
    padding: .6rem 0;
}
.site-nav .nav-link { font-size: .95rem; font-weight: 500; color: rgba(10, 31, 12, .72); }
.site-nav .nav-link:hover { color: var(--mintu-green); text-decoration: none; }

/* ---- sekce ---- */
.section { padding: 6rem 0; }
.page-top { padding-top: 8rem; }
.bg-mint { background: var(--mintu-green-light) !important; }
.bg-gradient-soft { background: linear-gradient(135deg, #e8f7ec 0%, #f5fdf7 40%, #eaf6ff 100%); }

.hero {
    padding: 8rem 0 5rem;
    background:
        radial-gradient(circle at 90% 5%, rgba(33, 155, 56, .14), transparent 45%),
        radial-gradient(circle at 0% 100%, rgba(33, 155, 56, .08), transparent 40%),
        radial-gradient(rgba(33, 155, 56, .07) 1.5px, transparent 1.5px) 0 0 / 32px 32px;
}
.stat-value { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--mintu-green); }

.section-cta {
    padding: 5rem 0;
    background:
        radial-gradient(rgba(255, 255, 255, .08) 1.5px, transparent 1.5px) 0 0 / 32px 32px,
        linear-gradient(135deg, #1a7d2e 0%, #219b38 50%, #2db84a 100%);
}

/* ---- karty a ikony ---- */
.card { --bs-card-border-color: var(--bs-border-color); --bs-card-border-radius: 1rem; }
.card-hover { transition: border-color .25s, box-shadow .25s, transform .25s; }
.card-hover:hover {
    border-color: rgba(33, 155, 56, .4);
    box-shadow: 0 12px 30px -12px rgba(33, 155, 56, .25);
    transform: translateY(-2px);
    text-decoration: none;
}

.icon-box {
    width: 3rem; height: 3rem; border-radius: .75rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--mintu-green-mid); color: var(--mintu-green);
    font-size: 1.35rem; transition: background-color .25s, color .25s;
}
.icon-box-lg { width: 3.5rem; height: 3.5rem; border-radius: 1rem; font-size: 1.6rem; }
.icon-box-xl { width: 4rem; height: 4rem; border-radius: 1rem; font-size: 1.9rem; }
.icon-box-light { background: var(--mintu-green-light); }
.icon-box-solid { background: var(--mintu-green); color: #fff; box-shadow: 0 10px 25px -8px rgba(33, 155, 56, .55); }
.card-hover:hover .icon-box:not(.icon-box-light) { background: var(--mintu-green); color: #fff; }

.list-check { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.list-check li { position: relative; padding-left: 1.75rem; color: var(--bs-secondary-color); }
.list-check li::before {
    content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0;
    color: var(--mintu-green); font-weight: bold;
}

/* ---- ukázka aplikace v hero ---- */
.app-mock { background: #fff; border: 1px solid var(--bs-border-color); border-radius: 1rem; overflow: hidden; }
.app-mock-bar {
    display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem;
    background: #f6f8f7; border-bottom: 1px solid var(--bs-border-color);
}
.app-mock-bar > span { width: .7rem; height: .7rem; border-radius: 50%; background: #ff5f57; }
.app-mock-bar > span:nth-child(2) { background: #febc2e; }
.app-mock-bar > span:nth-child(3) { background: #28c840; }
.app-mock-url {
    margin-left: .75rem; padding: .15rem .75rem; border-radius: .4rem;
    background: #fff; border: 1px solid var(--bs-border-color);
    font: .7rem ui-monospace, monospace; color: #706e6b;
}
.app-mock .btn-sm { pointer-events: none; font-size: .75rem; }
.stage {
    flex: 1; padding: .35rem .5rem; text-align: center; font-size: .7rem; font-weight: 600;
    background: #f1f3f2; color: #8a948b; border-radius: .4rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.stage.done { background: var(--mintu-green-mid); color: var(--mintu-green); }
.stage.active { background: var(--mintu-green); color: #fff; }
.kpi { background: var(--mintu-green-light); border-radius: .6rem; padding: .6rem .75rem; height: 100%; }
.kpi-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .03em; color: var(--bs-secondary-color); }
.kpi-delta { font-size: .7rem; font-weight: 600; }
.app-mock .table { --bs-table-bg: transparent; font-size: .78rem; }
.app-mock .table th { font-weight: 500; font-size: .7rem; text-transform: uppercase; }

/* ---- tým ---- */
.team-photo {
    width: 12rem; height: 13rem; border-radius: 1.5rem; overflow: hidden;
    background: linear-gradient(to bottom, rgba(33, 155, 56, .25), rgba(33, 155, 56, .06));
    box-shadow: inset 0 0 0 1px rgba(33, 155, 56, .15);
    display: flex; align-items: flex-end; justify-content: center;
}
.team-photo img { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .12)); transition: transform .3s; }
.team-photo:hover img { transform: scale(1.04); }
.team-link:hover { color: var(--mintu-green) !important; }

/* ---- integrace: schéma ---- */
.app-chip {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .55rem 1rem; border-radius: .75rem;
    background: #fff; border: 1px solid var(--bs-border-color);
    font-size: .875rem; font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.app-chip-dot { width: .7rem; height: .7rem; border-radius: 50%; }
.app-chip-mintu { border-color: rgba(33, 155, 56, .35); background: var(--mintu-green-light); }

/* ---- patička ---- */
.site-footer { background: var(--mintu-ink); }
.site-footer a { color: rgba(255, 255, 255, .5); }
.site-footer a:hover { color: var(--mintu-green); text-decoration: none; }
.footer-logo { display: block; }

@media (max-width: 991.98px) {
    .section { padding: 4.5rem 0; }
    .hero { padding-top: 6.5rem; }
}

/* ---- loga klientů v referencích ---- */
.client-logo { height: 2.5rem; width: auto; max-width: 11rem; object-fit: contain; }
