/*
Theme Name: Treniraj Lako – Kalkulator
Theme URI: https://trenirajlako.com
Author: Treniraj Lako
Author URI: https://trenirajlako.com
Description: Mini sajt / lead-magnet: kalkulator gubitaka sportskog kluba. Čuva sve unose, izbore i rezultate u bazu i povezuje ih sa zahtjevom za besplatnu analizu. Pregled leadova i sesija je u wp-admin. Nema build koraka — instaliraj i radi.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tlk
*/

/* ==========================================================================
   Design tokens (brand: Treniraj Lako)
   ========================================================================== */
:root {
  --brand: #fb4b7a;
  --brand-2: #f5356b;
  --brand-soft: #ffeef3;
  --brand-foreground: #ffffff;
  --brand-gradient: linear-gradient(135deg, #ff5c86 0%, #f5356b 100%);

  --navy: #34536f;
  --navy-deep: #2b3a55;
  --navy-foreground: #ffffff;

  --background: #f9fafb;
  --foreground: #1f2733;
  --card: #ffffff;
  --muted: #f3f4f6;
  --muted-foreground: #6b7280;
  --border: #e6e8ec;
  --input: #e2e5ea;

  --blue: #4f7cc4;
  --orange: #f59e0b;
  --red: #ef4444;
  --green: #16a34a;

  --radius: 14px;
  --radius-lg: 22px;
  --radius-xl: 26px;

  --shadow-card: 0 4px 24px -8px rgba(31, 39, 51, 0.14);
  --shadow-glow: 0 20px 60px -20px rgba(245, 53, 107, 0.45);

  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tlk-body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--background);
  color: var(--foreground);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
.tlk-body img { max-width: 100%; height: auto; display: block; }
.tlk-body a { color: inherit; text-decoration: none; }
.tlk-body button { font-family: inherit; cursor: pointer; }
.tlk-hidden { display: none !important; }

.tlk-wrap { max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.tlk-narrow { max-width: 768px; }
.tlk-mid { max-width: 900px; }

/* ==========================================================================
   Header / Footer
   ========================================================================== */
.tlk-header {
  border-bottom: 1px solid rgba(230, 232, 236, 0.7);
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  position: sticky;
  top: 0;
  z-index: 30;
}
.tlk-header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; max-width: 1120px; margin: 0 auto;
}
.tlk-logo { display: flex; align-items: center; gap: 10px; }
.tlk-logo img { width: 40px; height: 40px; border-radius: 12px; object-fit: contain; }
.tlk-logo span { font-weight: 800; letter-spacing: -0.02em; font-size: 18px; color: var(--navy); }
.tlk-header-link { font-size: 14px; font-weight: 500; color: var(--muted-foreground); }
.tlk-header-link:hover { color: var(--brand); }
@media (max-width: 640px) { .tlk-header-link { display: none; } }

.tlk-footer { margin-top: 64px; border-top: 1px solid rgba(230,232,236,0.7); background: rgba(255,255,255,0.6); }
.tlk-footer-inner {
  display: flex; flex-direction: column; align-items: center; justify-content: space-between;
  gap: 12px; padding: 32px 16px; max-width: 1120px; margin: 0 auto;
  font-size: 14px; color: var(--muted-foreground);
}
@media (min-width: 640px) { .tlk-footer-inner { flex-direction: row; } }

/* ==========================================================================
   Buttons & utility text
   ========================================================================== */
.tlk-btn {
  display: inline-flex; align-items: center; gap: 8px; border: none;
  border-radius: 16px; padding: 16px 28px; font-size: 17px; font-weight: 700;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.tlk-btn:active { transform: scale(0.98); }
.tlk-btn-brand { background-image: var(--brand-gradient); color: var(--brand-foreground); box-shadow: var(--shadow-glow); }
.tlk-btn-brand:hover { transform: scale(1.02); }
.tlk-btn-navy { background: var(--navy); color: var(--navy-foreground); }
.tlk-btn-navy:hover { transform: scale(1.02); }
.tlk-btn-arrow { transition: transform .15s ease; }
.tlk-btn:hover .tlk-btn-arrow { transform: translateX(4px); }
.tlk-btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }

.tlk-brand-text { color: var(--brand); }
.tlk-navy-text { color: var(--navy); }
.tlk-grad-text {
  background-image: var(--brand-gradient);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.tlk-muted { color: var(--muted-foreground); }
.tlk-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--brand); }

/* ==========================================================================
   Hero
   ========================================================================== */
.tlk-hero { position: relative; overflow: hidden; }
.tlk-hero .blob { position: absolute; border-radius: 999px; filter: blur(70px); pointer-events: none; }
.tlk-hero .blob-1 { top: -160px; right: -10%; width: 420px; height: 420px; background: rgba(251,75,122,0.18); }
.tlk-hero .blob-2 { bottom: -160px; left: -10%; width: 420px; height: 420px; background: rgba(52,83,111,0.12); }
.tlk-hero-inner { position: relative; max-width: 960px; margin: 0 auto; padding: 64px 16px; text-align: center; }
@media (min-width: 640px) { .tlk-hero-inner { padding: 96px 16px; } }
.tlk-badge {
  display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(251,75,122,0.3);
  background: var(--brand-soft); border-radius: 999px; padding: 6px 16px;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--brand);
}
.tlk-h1 { margin: 24px 0 0; font-size: 40px; line-height: 1.05; letter-spacing: -0.02em; font-weight: 900; color: var(--navy); }
@media (min-width: 640px) { .tlk-h1 { font-size: 60px; } }
.tlk-lead { max-width: 640px; margin: 24px auto 0; font-size: 18px; color: var(--muted-foreground); }
@media (min-width: 640px) { .tlk-lead { font-size: 20px; } }
.tlk-cta-row { margin-top: 40px; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.tlk-cta-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 24px; font-size: 14px; color: var(--muted-foreground); }

.tlk-hero-stats { max-width: 768px; margin: 56px auto 0; display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-hero-stats { grid-template-columns: repeat(3, 1fr); } }
.tlk-hero-stat { border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-xl); padding: 24px; box-shadow: var(--shadow-card); }
.tlk-hero-stat .k { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--muted-foreground); }
.tlk-hero-stat .v { margin-top: 8px; font-size: 34px; font-weight: 900; color: var(--navy); }
.tlk-hero-stat .v.grad { }
.tlk-hero-stat .s { margin-top: 4px; font-size: 14px; font-weight: 500; color: var(--navy); }

/* Sections */
.tlk-section { padding: 64px 0; }
@media (min-width: 640px) { .tlk-section { padding: 80px 0; } }
.tlk-section.alt { border-top: 1px solid var(--border); background: rgba(243,244,246,0.5); }
.tlk-section-head { text-align: center; }
.tlk-h2 { margin: 12px 0 0; font-size: 30px; letter-spacing: -0.02em; font-weight: 900; color: var(--navy); }
@media (min-width: 640px) { .tlk-h2 { font-size: 36px; } }
.tlk-section-head p { max-width: 640px; margin: 16px auto 0; color: var(--muted-foreground); }

.tlk-cards { margin-top: 48px; display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tlk-cards.c3 { grid-template-columns: repeat(3, 1fr); } .tlk-cards.c4 { grid-template-columns: repeat(4, 1fr); } }
.tlk-card { border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-card); }
.tlk-card .ico { font-size: 30px; }
.tlk-card h3 { margin: 12px 0 0; font-size: 18px; font-weight: 700; color: var(--navy); }
.tlk-card p { margin: 8px 0 0; font-size: 14px; color: var(--muted-foreground); }
.tlk-step-num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background-image: var(--brand-gradient); font-size: 18px; font-weight: 900; color: var(--brand-foreground); }

.tlk-trust { border-top: 1px solid var(--border); background: var(--navy); color: var(--navy-foreground); }
.tlk-trust-inner { max-width: 900px; margin: 0 auto; padding: 64px 16px; text-align: center; }
.tlk-trust blockquote { max-width: 640px; margin: 16px auto 0; font-size: 22px; font-weight: 500; line-height: 1.5; }
@media (min-width: 640px) { .tlk-trust blockquote { font-size: 26px; } }
.tlk-trust .who { margin-top: 24px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: var(--brand); }

/* ==========================================================================
   Wizard
   ========================================================================== */
.tlk-wizard { max-width: 768px; margin: 0 auto; padding: 40px 16px; }
@media (min-width: 640px) { .tlk-wizard { padding: 64px 16px; } }
.tlk-wizard-top { margin-bottom: 32px; }
.tlk-wizard-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 14px; font-weight: 500; }
.tlk-back { background: none; border: none; padding: 0; color: var(--muted-foreground); }
.tlk-back:hover { color: var(--brand); }
.tlk-progress { height: 8px; width: 100%; overflow: hidden; border-radius: 999px; background: var(--muted); }
.tlk-progress > span { display: block; height: 100%; border-radius: 999px; background-image: var(--brand-gradient); transition: width .5s ease; }
.tlk-panel { border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-xl); padding: 24px; box-shadow: var(--shadow-card); }
@media (min-width: 640px) { .tlk-panel { padding: 40px; } }
.tlk-panel-note { margin: 16px 0 0; text-align: center; font-size: 12px; color: var(--muted-foreground); }
.tlk-step-title { margin: 0; font-size: 24px; font-weight: 900; letter-spacing: -0.02em; color: var(--navy); }
@media (min-width: 640px) { .tlk-step-title { font-size: 30px; } }
.tlk-step-desc { margin: 8px 0 32px; color: var(--muted-foreground); }
.tlk-fields { display: flex; flex-direction: column; gap: 32px; }
.tlk-field > label.tlk-field-label { display: block; font-size: 16px; font-weight: 600; color: var(--navy); margin-bottom: 12px; }
@media (min-width: 640px) { .tlk-field > label.tlk-field-label { font-size: 18px; } }
.tlk-hint { margin-top: 12px; font-size: 14px; font-style: italic; color: var(--muted-foreground); }
.tlk-next-row { display: flex; justify-content: flex-end; margin-top: 8px; }

/* Slider */
.tlk-slider { display: flex; flex-direction: column; gap: 12px; }
.tlk-slider-row { display: flex; align-items: center; gap: 12px; }
.tlk-range { -webkit-appearance: none; appearance: none; height: 8px; width: 100%; border-radius: 999px; cursor: pointer; background: var(--muted); }
.tlk-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 999px; background: var(--brand); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; }
.tlk-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 999px; background: var(--brand); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; }
.tlk-numbox { display: flex; align-items: center; min-width: 110px; border: 1px solid var(--input); background: var(--card); border-radius: 10px; padding: 8px 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.tlk-numbox input { width: 100%; border: none; background: transparent; text-align: right; font-weight: 700; color: var(--navy); outline: none; font-size: 15px; }
.tlk-numbox .suffix { margin-left: 4px; font-weight: 600; color: var(--muted-foreground); }
.tlk-ticks { display: flex; justify-content: space-between; padding: 0 4px; font-size: 12px; color: var(--muted-foreground); }

/* Stepper */
.tlk-stepper { display: inline-flex; align-items: center; border: 1px solid var(--input); background: var(--card); border-radius: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.tlk-stepper button { width: 48px; height: 48px; display: grid; place-items: center; font-size: 24px; font-weight: 700; color: var(--navy); background: none; border: none; }
.tlk-stepper button:first-child { border-radius: 14px 0 0 14px; }
.tlk-stepper button:last-child { border-radius: 0 14px 14px 0; }
.tlk-stepper button:hover { background: var(--muted); }
.tlk-stepper input { width: 64px; border: none; background: transparent; text-align: center; font-size: 20px; font-weight: 700; color: var(--navy); outline: none; }

/* Radio cards */
.tlk-radios { display: grid; gap: 8px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-radios { grid-template-columns: repeat(2, 1fr); } }
.tlk-radio { display: flex; align-items: center; gap: 12px; border: 2px solid var(--input); background: var(--card); border-radius: 14px; padding: 12px 16px; text-align: left; transition: border-color .15s, background .15s; }
.tlk-radio:hover { border-color: rgba(251,75,122,0.5); }
.tlk-radio.active { border-color: var(--brand); background: var(--brand-soft); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.tlk-radio .ico { font-size: 24px; }
.tlk-radio .lbl { font-weight: 500; color: var(--navy); }

/* ==========================================================================
   Results
   ========================================================================== */
.tlk-results { max-width: 1024px; margin: 0 auto; padding: 40px 16px; }
@media (min-width: 640px) { .tlk-results { padding: 64px 16px; } }
.tlk-results-top { margin-bottom: 24px; font-size: 14px; font-weight: 500; }
.tlk-results-head { font-size: 30px; line-height: 1.15; letter-spacing: -0.02em; font-weight: 900; color: var(--navy); margin: 12px 0 0; }
@media (min-width: 640px) { .tlk-results-head { font-size: 44px; } }
.tlk-statgrid { margin-top: 32px; display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-statgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tlk-statgrid { grid-template-columns: repeat(4, 1fr); } }
.tlk-statcard { border-radius: var(--radius-lg); padding: 20px; color: #fff; box-shadow: var(--shadow-card); }
.tlk-statcard.blue { background: linear-gradient(135deg, #5b8ad6, #3a5ea8); }
.tlk-statcard.orange { background: linear-gradient(135deg, #f9b23d, #ed7d2b); }
.tlk-statcard.red { background: linear-gradient(135deg, #f2545b, #d12b3a); }
.tlk-statcard.brand { background: linear-gradient(135deg, #ff5c86, #e6376b); outline: 4px solid rgba(251,75,122,0.28); outline-offset: 0; }
.tlk-statcard .k { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.85); }
.tlk-statcard .v { margin-top: 8px; font-size: 26px; font-weight: 900; line-height: 1; letter-spacing: -0.02em; }
@media (min-width: 640px) { .tlk-statcard .v { font-size: 30px; } .tlk-statcard.brand .v { font-size: 36px; } }
.tlk-summary { margin-top: 32px; border-radius: var(--radius-lg); background: rgba(243,244,246,0.6); padding: 24px; color: var(--navy); font-size: 16px; }
.tlk-summary p { margin: 0 0 12px; }
.tlk-summary p:last-child { margin-bottom: 0; }
.tlk-results-grid { margin-top: 40px; display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .tlk-results-grid { grid-template-columns: 1fr 1fr; } }
.tlk-chartbox { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px; }
.tlk-chartbox h3 { margin: 0 0 16px; font-weight: 700; color: var(--navy); }
.tlk-legend { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; font-size: 13px; }
.tlk-legend .row { display: flex; align-items: center; gap: 8px; color: var(--navy); }
.tlk-legend .dot { width: 12px; height: 12px; border-radius: 3px; flex: none; }
.tlk-legend .amt { margin-left: auto; font-weight: 700; }
.tlk-recos h3 { margin: 0 0 12px; font-weight: 700; color: var(--navy); }
.tlk-reco { border-left: 4px solid var(--brand); background: rgba(255,238,243,0.6); border-radius: 12px; padding: 16px; font-size: 15px; color: var(--navy); margin-bottom: 12px; }

.tlk-final-cta { margin-top: 40px; overflow: hidden; border-radius: var(--radius-xl); background: var(--navy); color: var(--navy-foreground); box-shadow: var(--shadow-card); }
.tlk-final-cta .inner { display: grid; gap: 32px; padding: 32px; }
@media (min-width: 640px) { .tlk-final-cta .inner { padding: 48px; } }
@media (min-width: 1024px) { .tlk-final-cta .inner { grid-template-columns: 1.4fr 1fr; align-items: center; } }
.tlk-final-cta h3 { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 900; }
@media (min-width: 640px) { .tlk-final-cta h3 { font-size: 30px; } }
.tlk-final-cta p { margin: 16px 0 0; color: rgba(255,255,255,.8); }
.tlk-final-cta .strong { color: #fff; font-weight: 700; }
.tlk-final-quote { border-radius: var(--radius-lg); background: rgba(255,255,255,.1); padding: 24px; font-size: 14px; font-style: italic; color: rgba(255,255,255,.9); backdrop-filter: blur(6px); }
.tlk-final-quote footer { margin-top: 12px; font-size: 12px; font-style: normal; color: rgba(255,255,255,.6); }

/* ==========================================================================
   Lead form
   ========================================================================== */
.tlk-formwrap { max-width: 672px; margin: 0 auto; padding: 40px 16px; }
@media (min-width: 640px) { .tlk-formwrap { padding: 64px 16px; } }
.tlk-form-title { font-size: 30px; font-weight: 900; letter-spacing: -0.02em; color: var(--navy); margin: 0; }
@media (min-width: 640px) { .tlk-form-title { font-size: 36px; } }
.tlk-form { margin-top: 32px; display: flex; flex-direction: column; gap: 20px; }
.tlk-grid2 { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-grid2 { grid-template-columns: 1fr 1fr; } }
.tlk-form label.f { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--navy); }
.tlk-input, .tlk-select {
  width: 100%; border: 1px solid var(--input); background: var(--card); border-radius: 12px;
  padding: 12px 16px; color: var(--navy); outline: none; font-size: 15px; font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.tlk-input:focus, .tlk-select:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(251,75,122,0.2); }
.tlk-consent { display: flex; flex-direction: column; gap: 12px; border-radius: 12px; background: rgba(243,244,246,0.6); padding: 16px; font-size: 14px; color: var(--navy); }
.tlk-consent label { display: flex; align-items: flex-start; gap: 12px; }
.tlk-consent input { margin-top: 4px; width: 16px; height: 16px; accent-color: var(--brand); }
.tlk-form-secure { text-align: center; font-size: 12px; color: var(--muted-foreground); margin: 0; }
.tlk-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tlk-err { color: var(--red); font-size: 14px; margin: 4px 0 0; }

/* ==========================================================================
   Thanks
   ========================================================================== */
.tlk-thanks { max-width: 672px; margin: 0 auto; padding: 64px 16px; text-align: center; }
@media (min-width: 640px) { .tlk-thanks { padding: 96px 16px; } }
.tlk-thanks .emoji { margin: 0 auto; display: grid; place-items: center; width: 80px; height: 80px; border-radius: 999px; background: var(--brand-soft); font-size: 40px; }
.tlk-thanks h2 { margin: 24px 0 0; font-size: 34px; font-weight: 900; letter-spacing: -0.02em; color: var(--navy); }
@media (min-width: 640px) { .tlk-thanks h2 { font-size: 44px; } }
.tlk-thanks p.big { max-width: 560px; margin: 16px auto 0; font-size: 18px; color: var(--muted-foreground); }
.tlk-thanks-links { margin-top: 24px; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tlk-thanks-links { grid-template-columns: repeat(3, 1fr); } }
.tlk-thanks-links a { border: 1px solid var(--border); background: var(--card); border-radius: 12px; padding: 16px; font-size: 14px; font-weight: 600; color: var(--navy); box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: border-color .15s, box-shadow .15s; }
.tlk-thanks-links a:hover { border-color: var(--brand); box-shadow: var(--shadow-card); }
.tlk-thanks-links a.brand { background-image: var(--brand-gradient); color: var(--brand-foreground); border: none; box-shadow: var(--shadow-glow); }
