/*
Theme Name: Finorvia V1
Theme URI: https://finorvia.pl
Author: Finorvia
Description: Lekki, edytowalny motyw blokowy Finorvia — księgowość JDG, raportowanie finansowe i analityka dla firm.
Version: 1.4.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: finorvia-v1
License: GNU General Public License v2 or later
*/

:root {
  --finorvia-navy: #0B1633;
  --finorvia-blue: #3157E0;
  --finorvia-blue-soft: #EAF0FF;
  --finorvia-ink: #111827;
  --finorvia-muted: #667085;
  --finorvia-line: #E7EAF0;
  --finorvia-bg: #F7F9FC;
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }

.wp-site-blocks { overflow-x: hidden; }

.finorvia-eyebrow {
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  font-size: .78rem;
}

.finorvia-card {
  border: 1px solid var(--finorvia-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 35px rgba(16, 24, 40, .05);
}

.finorvia-kpi {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
}

.finorvia-step {
  border-top: 1px solid var(--finorvia-line);
  padding-top: 22px;
}

.finorvia-btn .wp-block-button__link {
  border-radius: 999px;
  padding: .85rem 1.25rem;
  font-weight: 700;
}

.finorvia-btn-outline .wp-block-button__link {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: .8rem 1.2rem;
  font-weight: 700;
}

.finorvia-header {
  border-bottom: 1px solid var(--finorvia-line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
}

.finorvia-footer {
  border-top: 1px solid var(--finorvia-line);
}

@media (max-width: 781px) {
  .finorvia-hero-title { font-size: clamp(2.25rem, 11vw, 3.6rem) !important; }
  .finorvia-hide-mobile { display: none !important; }
}

/* V1.1 — refined, accessible layout */
:root { --finorvia-navy:#0D1B35; --finorvia-blue:#3157E0; --finorvia-muted:#536079; --finorvia-bg:#F6F8FD; }
body { -webkit-font-smoothing:antialiased; }
.finorvia-header { position:relative; z-index:10; }
.finorvia-header .wp-block-navigation__container { gap:clamp(12px,1.4vw,23px); }
.finorvia-header .wp-block-navigation-item__content { color:#152441; }
.finorvia-header .wp-block-navigation-item__content:hover { color:var(--finorvia-blue); }
.finorvia-hero-title { max-width:820px; font-size:clamp(2.5rem,4vw,3.65rem)!important; line-height:1.12; }
.finorvia-lead { max-width:640px; font-size:clamp(1.07rem,1.35vw,1.22rem)!important; line-height:1.72; }
.finorvia-section-lead { max-width:760px; font-size:clamp(1.05rem,1.25vw,1.2rem)!important; line-height:1.65; }
.finorvia-card { height:100%; box-sizing:border-box; transition:transform .18s,box-shadow .18s; }
.finorvia-card:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(16,24,40,.08); }
.finorvia-kpi { box-sizing:border-box; }
.finorvia-kpi p { margin-top:0; margin-bottom:6px; }
.finorvia-kpi h3 { font-size:clamp(1.15rem,1.6vw,1.45rem); }
.finorvia-demo { background:linear-gradient(150deg,#111F3D,#0C1730); border:1px solid #2D3A5A; border-radius:22px; box-shadow:0 24px 60px rgba(13,27,53,.18); }
.finorvia-demo-bar { background:#2B3F78; border-radius:6px 6px 2px 2px; min-height:20px; }
.finorvia-demo-chart { min-height:88px; display:flex; align-items:flex-end; gap:7px; padding:8px 0; }
.finorvia-demo-chart .finorvia-demo-bar:nth-child(even) { background:#688BFF; }
.finorvia-demo-note { font-size:.76rem; opacity:.75; }
.finorvia-page-intro { max-width:800px; margin-left:auto; margin-right:auto; }
.finorvia-form { display:grid; gap:16px; max-width:670px; }
.finorvia-form label { display:block; font-weight:650; font-size:.94rem; margin-bottom:7px; }
.finorvia-form input:not([type=checkbox]), .finorvia-form textarea, .finorvia-form select {
 box-sizing:border-box; width:100%; border:1px solid #CBD3E1; border-radius:10px; padding:13px 14px; font:inherit; color:#0D1B35; background:#fff;
}
.finorvia-form input:focus-visible,.finorvia-form textarea:focus-visible,.finorvia-form select:focus-visible { outline:3px solid #A9BCFF; outline-offset:1px; }
.finorvia-form .finorvia-consent { display:flex; gap:10px; align-items:flex-start; font-size:.88rem; color:#536079; }
.finorvia-form .finorvia-consent input { margin-top:5px; flex-shrink:0; }
.finorvia-form button { cursor:pointer; border:0; padding:14px 23px; border-radius:999px; background:#3157E0; color:#fff; font:inherit; font-weight:700; justify-self:start; }
.finorvia-form button:hover { background:#1F42BD; }
.finorvia-form-status { padding:13px 16px; border-radius:10px; margin-bottom:20px; background:#EAF4ED; border:1px solid #9BC6A6; }
.finorvia-form-status.is-error { background:#FFF3F0; border-color:#E7A69A; }
.finorvia-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.finorvia-footer .finorvia-footer-links { display:flex; gap:12px 24px; flex-wrap:wrap; }
.finorvia-footer a { color:#263C61; }
@media(max-width:781px){ .finorvia-hero-title { font-size:clamp(2.2rem,9vw,3.1rem)!important; } .finorvia-hero { padding-top:64px!important; padding-bottom:64px!important; } .finorvia-section { padding-top:56px!important; padding-bottom:56px!important; } .finorvia-demo-chart { min-height:70px; } }
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } .finorvia-card { transition:none; } }

/* Finorvia 1.2: pricing and demo visualization */
.finorvia-price-card { display:flex; flex-direction:column; }
.finorvia-price-card .finorvia-price {font-size:clamp(1.7rem,2.4vw,2.25rem);line-height:1.2;font-weight:750;color:var(--finorvia-navy);margin:.4rem 0 .7rem}
.finorvia-price-card .finorvia-price small {font-size:.48em;font-weight:500;color:var(--finorvia-muted)}
.finorvia-price-card ul {padding-left:1.2em;line-height:1.55;margin:1.1rem 0}
.finorvia-price-card li {margin-bottom:.48em}
.finorvia-chart {background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:15px 15px 4px;margin-top:18px}
.finorvia-chart-heading {display:flex;justify-content:space-between;gap:12px;color:#fff;font-size:.8rem}
.finorvia-chart-heading strong {color:#a7c0ff;font-size:.78rem}
.finorvia-chart svg {display:block;width:100%;height:auto;min-height:155px}
#cennik {scroll-margin-top:90px}
@media(max-width:781px){.finorvia-chart-heading{flex-wrap:wrap}.finorvia-price-card{height:auto}}

/* Brand palette, based on the approved Finorvia identity */
:root {--finorvia-navy:#152B3F;--finorvia-blue:#32748B;--finorvia-blue-soft:#E5F1F3;--finorvia-ink:#172B38;--finorvia-muted:#556979;--finorvia-line:#DCE7EB;--finorvia-bg:#F4F8F9}
.finorvia-brand {display:inline-flex;align-items:center;max-width:210px;flex-shrink:0}
.finorvia-brand img {display:block;width:min(195px,35vw);height:auto;max-height:58px;object-fit:contain;object-position:left center}
.finorvia-header .wp-block-group.alignwide {gap:20px}
.finorvia-demo {background:linear-gradient(145deg,#10283B,#183B4E)!important;border-color:#285365;position:relative;overflow:hidden}
.finorvia-demo:before {content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(169,209,220,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(169,209,220,.045) 1px,transparent 1px);background-size:24px 24px}
.finorvia-demo>* {position:relative}
.finorvia-chart-heading strong {color:#BCE8DF}
.finorvia-form button {background:#246B83}
.finorvia-form button:hover {background:#195366}
.finorvia-header .wp-block-navigation-item__content:hover {color:#246B83}
@media(max-width:781px){.finorvia-brand img{width:148px;max-height:48px}.finorvia-header .wp-block-group.alignwide{gap:10px}}

/* Finorvia 1.2.1: useful content in the audience panel */
.finorvia-audience-card h3 {font-size:1.2rem;line-height:1.3;margin:0 0 16px}
.finorvia-audience-card ul {padding-left:1.15em;margin:0;line-height:1.48}
.finorvia-audience-card li {padding:8px 0;border-bottom:1px solid var(--finorvia-line)}
.finorvia-audience-card li:last-child {border-bottom:0}
.finorvia-audience-card p {margin:16px 0 0}

/* Accounting offer and its separate price list. */
.finorvia-accounting-callout {border:1px solid #b9d8de;border-left:5px solid #32748b;border-radius:18px;background:#edf6f7}
.finorvia-accounting-callout h3 {margin-top:0;color:var(--finorvia-navy)}
.finorvia-accounting-callout p:last-child {margin-bottom:0}
.finorvia-accounting-card {height:100%}
.finorvia-accounting-table {overflow-x:auto;margin:1.3rem 0 0}
.finorvia-accounting-table table {width:100%;border-collapse:collapse;min-width:280px;font-variant-numeric:tabular-nums}
.finorvia-accounting-table th,.finorvia-accounting-table td {border:0;border-bottom:1px solid var(--finorvia-line);padding:13px 8px;text-align:right;white-space:nowrap}
.finorvia-accounting-table th:first-child {text-align:left}
.finorvia-accounting-table thead th {color:var(--finorvia-muted);font-size:.82rem;font-weight:700}
.finorvia-accounting-table tbody th {font-weight:600}
.finorvia-accounting-table tbody td {color:var(--finorvia-navy);font-weight:750}
.finorvia-accounting-table tbody tr:last-child th,.finorvia-accounting-table tbody tr:last-child td {border-bottom:0}
.finorvia-accounting-extra .finorvia-price {margin:12px 0}
@media(max-width:781px){.finorvia-accounting-table th,.finorvia-accounting-table td{padding:12px 4px;font-size:.9rem}.finorvia-accounting-card{height:auto}}

/* Keep the WordPress mobile navigation anchored to the viewport on iOS. */
@media (max-width: 781px) {
  .wp-site-blocks { overflow-x: clip; }
  .finorvia-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    box-sizing: border-box;
    background: #fff;
    overflow-y: auto;
    --navigation-layout-justification-setting: flex-start;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    align-items: flex-start;
    text-align: left;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
    background: linear-gradient(165deg, #fff 0%, #f4f8f9 100%);
    color: var(--finorvia-navy);
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 64px;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 0;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    border-bottom: 1px solid var(--finorvia-line);
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 2px;
    color: var(--finorvia-navy);
    font-size: 1.12rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
    outline: 2px solid var(--finorvia-blue);
    outline-offset: -2px;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
    margin-top: 18px;
    border: 0;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
    width: fit-content;
    min-width: 150px;
    padding: 14px 22px;
    border-radius: 999px;
    background: #246b83;
    color: #fff;
    text-align: center;
  }
  .finorvia-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    top: 16px;
    right: 24px;
    color: var(--finorvia-navy);
  }
}
