/* ============================================
   LINAGRI s.r.o. – Shared Styles
   ============================================ */

:root {
  --purple:       #28156e;
  --purple-mid:   #3a2290;
  --purple-light: #ede9f8;
  --green:        #048e40;
  --green-mid:    #059a46;
  --green-light:  #33b868;
  --green-pale:   #e6f6ed;
  --cream:        #f7f6f2;
  --text:         #1a1630;
  --text-light:   #3d3858;
  --white:        #ffffff;
  --gold:         #c8a84b;
  --gold-light:   #f0d882;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
p { text-align:justify; }
body { font-family: "Source Sans 3", sans-serif; color: var(--text); background: var(--cream); overflow-x: hidden; }

/* ── LANG BAR ── */
.lang-bar { background: rgba(40,21,110,.75); padding: 4px 0; }
.lang-bar .container { max-width:none; margin:0; padding:0 24px; display:flex; justify-content:flex-end; gap:4px; }
.lang-bar a { color:rgba(255,255,255,.65); text-decoration:none; font-size:11px; font-weight:700;
  letter-spacing:.08em; padding:3px 8px; border-radius:3px; transition:all .2s; text-transform:uppercase; cursor:pointer; }
.lang-bar a:hover, .lang-bar a.active { color:#fff; background:rgba(255,255,255,.15); }
.lang-bar a.active { background: var(--green); color:#fff; }

/* ── HEADER ── */
header { background:#fff; box-shadow:0 2px 20px rgba(40,21,110,.10); position:sticky; top:0; z-index:100; }
nav { display:flex; align-items:center; justify-content:space-between; padding:0 40px; height:72px; }
.logo { display:flex; align-items:center; gap:0; text-decoration:none; }
.logo img { height:44px; width:auto; }
.logo-divider { width:1px; height:36px; background:rgba(40,21,110,.15); margin:0 14px; }
.logo-tagline { font-size:11px; font-weight:600; color:var(--text-light); letter-spacing:.08em; text-transform:uppercase; line-height:1.4; max-width:160px; }
.nav-links { display:flex; gap:6px; list-style:none; align-items:center; }
.nav-links a { text-decoration:none; color:var(--text); font-weight:600; font-size:14px; padding:8px 13px; border-radius:6px; transition:all .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--purple); background:var(--purple-light); }
.nav-links .btn-nav { background:var(--green); color:#fff; padding:9px 20px; border-radius:25px; }
.nav-links .btn-nav:hover { background:var(--green-mid); color:#fff; }

/* Hamburger menu */
.hamburger { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--purple); margin:5px 0; transition:.3s; }
.mobile-nav { display:none; background:#fff; padding:20px; box-shadow:0 4px 20px rgba(40,21,110,.1); }
.mobile-nav.open { display:block; }
.mobile-nav a { display:block; padding:12px 16px; color:var(--text); text-decoration:none; font-weight:600; font-size:15px; border-radius:8px; }
.mobile-nav a:hover { background:var(--purple-light); color:var(--purple); }
.mobile-nav .btn-nav { display:inline-block; background:var(--green); color:#fff; padding:10px 24px; border-radius:25px; margin-top:8px; }

/* ── LAYOUT ── */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
section { padding:88px 0; }
.section-label { font-size:15px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.section-title { font-family:"Playfair Display",serif; font-size:clamp(28px,3vw,44px); font-weight:700; color:var(--purple); line-height:1.2; margin-bottom:14px; }
.section-sub { font-size:17px; color:var(--text-light); line-height:1.75; max-width:620px; font-weight:300; }

/* ── HERO ── */
.hero {
  min-height:90vh;
  background:
    linear-gradient(135deg, rgba(40,21,110,.91) 0%, rgba(40,21,110,.80) 40%, rgba(4,142,64,.70) 100%),
    url("repkove_pole.jpg") center 60%/cover no-repeat;
  display:flex; align-items:center; position:relative; overflow:hidden;
  padding-bottom:60px;
}
.hero::after {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:160px;
  background:linear-gradient(to top, var(--cream) 30%, transparent 100%);
  pointer-events:none;
}
.hero-content { position:relative; z-index:2; max-width:720px; animation:fadeUp .9s ease forwards; }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(200,168,75,.22); border:1px solid var(--gold); color:var(--gold-light); padding:6px 16px; border-radius:25px; font-size:12px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; margin-bottom:26px; }
.hero h1 { font-family:"Playfair Display",serif; font-size:clamp(38px,5vw,66px); font-weight:900; color:#fff; line-height:1.1; margin-bottom:22px; }
.hero h1 span { color:var(--gold-light); }
.hero-subtitle { font-family:"Playfair Display",serif; font-size:clamp(18px,2.2vw,26px); color:rgba(255,255,255,.82); font-weight:400; font-style:italic; margin:6px 0 18px; letter-spacing:.01em; }
.hero p { font-size:18px; color:rgba(255,255,255,.86); line-height:1.75; margin-bottom:38px; max-width:560px; font-weight:300; }
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; }
.hero-stats { position:absolute; right:60px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:18px; animation:fadeUp 1.1s ease forwards; }
.stat-card { background:rgba(255,255,255,.10); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.22); border-radius:16px; padding:18px 26px; text-align:center; min-width:152px; }
.stat-num { font-family:"Playfair Display",serif; font-size:40px; font-weight:900; color:var(--gold-light); line-height:1; }
.stat-label-big { font-size:14px; color:rgba(255,255,255,.92); font-weight:700; letter-spacing:.03em; line-height:1.5; text-align:center; }
.stat-label { font-size:11px; color:rgba(255,255,255,.75); font-weight:600; letter-spacing:.06em; margin-top:4px; text-transform:uppercase; line-height:1.4; }

/* ── BUTTONS ── */
.btn-primary { background:var(--gold); color:#3d2b1f; padding:14px 34px; border-radius:50px; text-decoration:none; font-weight:700; font-size:15px; letter-spacing:.04em; transition:all .3s; box-shadow:0 4px 20px rgba(200,168,75,.4); display:inline-block; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline { border:2px solid rgba(255,255,255,.55); color:#fff; padding:12px 32px; border-radius:50px; text-decoration:none; font-weight:600; font-size:15px; transition:all .3s; }
.btn-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; }
.btn-gold { background:var(--gold); color:#3d2b1f; padding:14px 32px; border-radius:50px; text-decoration:none; font-weight:700; font-size:15px; white-space:nowrap; transition:all .3s; }
.btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-secondary { background:var(--purple-light); color:var(--purple); border:2px solid var(--purple); padding:12px 28px; border-radius:50px; font-weight:700; font-size:14px; cursor:pointer; transition:all .3s; font-family:"Source Sans 3",sans-serif; }
.btn-secondary:hover { background:var(--purple); color:#fff; }
.btn-green { background:var(--green); color:#fff; padding:14px 34px; border-radius:50px; text-decoration:none; font-weight:700; font-size:15px; transition:all .3s; display:inline-block; }
.btn-green:hover { background:var(--green-mid); transform:translateY(-2px); }

/* ── PAGE HERO (subpages) ── */
.page-hero {
  background: linear-gradient(135deg, rgba(40,21,110,.92) 0%, rgba(4,142,64,.75) 100%),
    url("repkove_pole.jpg") center 60%/cover no-repeat;
  padding:100px 0 60px; text-align:center;
}
.page-hero h1 { font-family:"Playfair Display",serif; font-size:clamp(32px,4vw,52px); font-weight:900; color:#fff; margin-bottom:14px; }
.page-hero p { font-size:18px; color:rgba(255,255,255,.8); max-width:600px; margin:0 auto; font-weight:300; text-align:center; }
.page-hero .breadcrumb { margin-bottom:18px; font-size:13px; }
.page-hero .breadcrumb a { color:var(--gold-light); text-decoration:none; }
.page-hero .breadcrumb a:hover { text-decoration:underline; }
.page-hero .breadcrumb span { color:rgba(255,255,255,.5); }

/* ── PRODUCT ── */
.product-section { background:#fff; }
.product-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-top:56px; }
.product-badge { display:inline-block; background:var(--green-pale); border:1px solid var(--green-light); color:var(--green); padding:5px 14px; border-radius:20px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px; }
.product-name { font-family:"Playfair Display",serif; font-size:46px; font-weight:900; color:var(--purple); line-height:1; margin-bottom:6px; }
.product-reg { color:var(--green); font-size:26px; vertical-align:super; }
.product-tagline { font-size:15px; color:var(--text-light); margin-bottom:28px; font-style:italic; font-weight:300; }
.product-desc { font-size:15px; color:var(--text-light); line-height:1.8; margin-bottom:22px; font-weight:300; }
.product-desc strong { color:var(--text); font-weight:600; }
.dosage-box { background:var(--green-pale); border-left:4px solid var(--green-light); border-radius:0 12px 12px 0; padding:16px 20px; margin-bottom:28px; }
.dosage-box strong { color:var(--green); font-size:15px; }
.dosage-box span { font-size:14px; color:var(--text-light); display:block; margin-top:4px; }
.dosage-box .pack { margin-top:10px; font-size:13px; color:var(--text-light); }
.dosage-box .pack strong { color:var(--purple); }
.benefits-list { list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.benefits-list li { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--text); line-height:1.5; }
.benefit-icon { width:22px; height:22px; background:var(--green); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:12px; flex-shrink:0; margin-top:1px; }

/* Protein table card */
.protein-card { background:var(--purple); border-radius:20px; padding:36px; }
.protein-card h3 { font-family:"Playfair Display",serif; font-size:20px; color:#fff; margin-bottom:4px; }
.protein-card .sub { font-size:13px; color:rgba(255,255,255,.55); margin-bottom:22px; font-weight:300; }
.protein-table { width:100%; border-collapse:collapse; }
.protein-table th { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); padding:8px 10px; text-align:center; border-bottom:1px solid rgba(255,255,255,.12); }
.protein-table th:first-child { text-align:left; }
.protein-table td { padding:10px 10px; text-align:center; color:rgba(255,255,255,.82); font-size:14px; border-bottom:1px solid rgba(255,255,255,.06); }
.protein-table td:first-child { text-align:left; }
.protein-table tr.hl td { color:var(--gold-light); font-weight:700; font-size:15px; background:rgba(200,168,75,.12); }
.patent-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.patent-badge { background:rgba(4,142,64,.18); border:1px solid var(--green-light); color:#7be5a8; padding:4px 11px; border-radius:20px; font-size:11px; font-weight:700; letter-spacing:.05em; }

/* ── ANIMALS TABS ── */
.animals-section { background:var(--cream); }
.css-tabs { margin-top:36px; }
.css-tab-btns { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
.css-tab-btns label { padding:10px 22px; border-radius:50px; border:2px solid transparent;
  background:var(--purple-light); color:var(--text-light); font-weight:700; font-size:14px;
  cursor:pointer; transition:all .2s; font-family:"Source Sans 3",sans-serif; }
.css-tab-btns label:hover { border-color:var(--purple); color:var(--purple); }
.css-panel { display:none; flex-direction:row; gap:50px; align-items:start; }
.css-panel .animal-img { flex:0 0 44%; max-width:44%; }
.css-panel .animal-info { flex:1; }
.animal-img { border-radius:18px; overflow:hidden; height:380px; }
.animal-img img { width:100%; height:100%; object-fit:cover; }
.animal-info h3 { font-family:"Playfair Display",serif; font-size:28px; color:var(--purple); margin-bottom:14px; }
.animal-info p { font-size:15px; color:var(--text-light); line-height:1.8; margin-bottom:14px; font-weight:300; }
.animal-info p strong { color:var(--text); font-weight:600; }
.animal-highlight { background:#fff; border-radius:14px; padding:20px 24px; margin:18px 0;
  border-left:4px solid var(--green); box-shadow:0 2px 14px rgba(40,21,110,.06); }
.animal-highlight p { margin:0; font-size:15px; color:var(--text); font-weight:400; }
.animal-highlight p strong { color:var(--green); }
.max-table-wrap { background:#fff; border-radius:16px; padding:24px; box-shadow:0 2px 14px rgba(40,21,110,.06); }
.max-table-wrap h4 { font-family:"Playfair Display",serif; font-size:17px; color:var(--purple); margin-bottom:16px; }
.max-table { width:100%; border-collapse:collapse; font-size:13px; }
.max-table th { background:var(--purple); color:#fff; padding:8px 12px; text-align:center; font-weight:700; letter-spacing:.04em; }
.max-table th:first-child { text-align:left; border-radius:8px 0 0 0; }
.max-table th:last-child { border-radius:0 8px 0 0; }
.max-table td { padding:8px 12px; text-align:center; border-bottom:1px solid rgba(40,21,110,.07); color:var(--text); }
.max-table td:first-child { text-align:left; font-weight:600; color:var(--purple); }
.max-table tr:last-child td { border-bottom:none; }
.max-table tr:nth-child(even) td { background:var(--purple-light); }

/* ── ECONOMICS ── */
.economics-section { background:#fff; }
.eco-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:46px; }
.eco-card { background:var(--cream); border-radius:18px; padding:32px 24px; border-top:4px solid var(--green); transition:all .3s; }
.eco-card:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(40,21,110,.10); }
.eco-icon { font-size:32px; margin-bottom:12px; }
.eco-card h3 { font-family:"Playfair Display",serif; font-size:18px; color:var(--purple); margin-bottom:8px; }
.eco-card p { font-size:14px; color:var(--text-light); line-height:1.65; }
.eco-highlight { display:inline-block; background:var(--green-pale); border-radius:8px; padding:8px 14px; margin-top:12px; font-weight:700; color:var(--green); font-size:14px; }
.calc-cta { background:linear-gradient(135deg, var(--purple), var(--purple-mid)); border-radius:22px; padding:46px 54px; margin-top:46px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.calc-cta h3 { font-family:"Playfair Display",serif; font-size:26px; color:#fff; margin-bottom:6px; }
.calc-cta p { color:rgba(255,255,255,.7); font-size:15px; }

/* ── STUDY / REFERENCE CARDS ── */
.study-card { background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(40,21,110,.08);
  padding:28px 28px 22px; border-top:4px solid var(--green); display:flex; flex-direction:column; gap:12px; }
.study-title { font-family:'Playfair Display',serif; font-size:17px; color:var(--purple); line-height:1.4; margin:0; }
.study-desc { font-size:14px; color:var(--text-light); margin:0; line-height:1.6; }
.study-meta { font-size:13px; color:var(--text-light); margin-top:auto; padding-top:10px; border-top:1px solid #eee; line-height:1.8; }
.study-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.study-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 16px; border-radius:8px;
  font-size:13px; font-weight:600; cursor:pointer; text-decoration:none; transition:.2s; }
.study-btn-outline { border:1.5px solid var(--green); color:var(--green); background:transparent; }
.study-btn-outline:hover { background:var(--green); color:#fff; }
.study-btn-pdf { background:var(--green); color:#fff; border:none; }
.study-btn-pdf:hover { background:#1a7340; }
.study-btn-pdf-cz { background:var(--purple); color:#fff; border:none; }
.study-btn-pdf-cz:hover { background:#3d1a8a; }
.tag-green { background:var(--green-pale); color:var(--green); border:1px solid var(--green-light);
  border-radius:20px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 12px; }
.study-card-extra { display:none; }
.study-card-extra.visible { display:flex; }

/* ── ABOUT ── */
.about-section { background:#fff; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center; margin-top:54px; }
.about-img-block { background:var(--purple-light); border-radius:20px; height:440px; display:flex; align-items:center; justify-content:center; font-size:80px; position:relative; overflow:hidden; }
.about-img-block img { width:100%; height:100%; object-fit:cover; }
.about-img-block img.contain-logo { object-fit:contain; padding:24px; background:#fff; }
.about-accent { position:absolute; bottom:-18px; right:-18px; background:var(--green); color:#fff; padding:24px 28px; border-radius:16px; text-align:center; }
.about-accent strong { display:block; font-family:"Playfair Display",serif; font-size:32px; color:#fff; }
.about-accent span { font-size:12px; letter-spacing:.06em; text-transform:uppercase; opacity:.82; }
.about-text p { font-size:16px; color:var(--text-light); line-height:1.8; margin-bottom:16px; font-weight:300; }
.about-text p strong { color:var(--text); font-weight:600; }
.values-list { list-style:none; display:flex; flex-direction:column; gap:13px; margin-top:26px; }
.values-list li { display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; color:var(--text); }
.val-dot { width:10px; height:10px; background:var(--green); border-radius:50%; flex-shrink:0; }

/* ── CONTACT ── */
.contact-section { background:var(--purple); }
.contact-section .section-title { color:#fff; }
.contact-section .section-label { color:var(--gold); }
.contact-section .section-sub { color:rgba(255,255,255,.65); }
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:54px; margin-top:54px; }
.contact-info { display:flex; flex-direction:column; gap:26px; }
.contact-item { display:flex; gap:15px; align-items:flex-start; }
.contact-icon { width:44px; height:44px; background:rgba(255,255,255,.10); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.contact-item h4 { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:5px; }
.contact-item p, .contact-item a { font-size:15px; color:rgba(255,255,255,.82); text-decoration:none; line-height:1.5; }
.contact-item a:hover { color:var(--gold-light); }
.distrib-box { background:rgba(255,255,255,.08); border:1px solid rgba(200,168,75,.35); border-radius:14px; padding:22px 24px; margin-top:8px; }
.distrib-box h4 { font-family:"Playfair Display",serif; font-size:16px; color:var(--gold-light); margin-bottom:8px; }
.distrib-box p { font-size:14px; color:rgba(255,255,255,.7); line-height:1.6; }
.contact-form { background:rgba(255,255,255,.06); border-radius:20px; padding:36px; border:1px solid rgba(255,255,255,.10); }
.contact-form h3 { font-family:"Playfair Display",serif; font-size:22px; color:#fff; margin-bottom:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.form-group label { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.form-group input, .form-group select, .form-group textarea { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:11px 15px; color:#fff; font-family:"Source Sans 3",sans-serif; font-size:14px; outline:none; transition:border .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,.3); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-group select option { background:var(--purple); }
.btn-submit { width:100%; background:var(--gold); color:#3d2b1f; border:none; padding:14px; border-radius:50px; font-family:"Source Sans 3",sans-serif; font-size:15px; font-weight:700; cursor:pointer; letter-spacing:.04em; transition:all .3s; margin-top:6px; }
.btn-submit:hover { background:var(--gold-light); transform:translateY(-2px); }

/* ── HOMEPAGE CARDS ── */
.home-sections { padding:88px 0; }
.home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px; }
.home-card { background:#fff; border-radius:18px; padding:36px 28px; border-top:4px solid var(--green); transition:all .3s; text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.home-card:hover { transform:translateY(-6px); box-shadow:0 12px 36px rgba(40,21,110,.12); }
.home-card .card-icon { font-size:36px; margin-bottom:16px; }
.home-card h3 { font-family:"Playfair Display",serif; font-size:20px; color:var(--purple); margin-bottom:10px; }
.home-card p { font-size:14px; color:var(--text-light); line-height:1.65; flex:1; }
.home-card .card-link { margin-top:18px; color:var(--green); font-weight:700; font-size:14px; }

/* ── RESULTS / CASE STUDIES ── */
.results-section { background:#f7f5ff; }
.results-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:28px; margin-top:46px; }
.result-card { background:#fff; border-radius:18px; padding:32px; box-shadow:0 4px 24px rgba(40,21,110,.08); border-left:5px solid var(--green); transition:all .3s; }
.result-card:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(40,21,110,.12); }
.result-card h3 { font-family:"Playfair Display",serif; font-size:20px; color:var(--purple); margin-bottom:10px; }
.result-card .result-company { font-size:13px; color:var(--green); font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
.result-card p { font-size:14px; color:var(--text-light); line-height:1.7; margin-bottom:14px; }
.result-card .result-stats { display:flex; gap:16px; flex-wrap:wrap; margin:18px 0; }
.result-stat { background:var(--green-pale); border-radius:12px; padding:12px 18px; text-align:center; flex:1; min-width:100px; }
.result-stat strong { display:block; font-family:"Playfair Display",serif; font-size:24px; color:var(--green); }
.result-stat span { font-size:11px; color:var(--text-light); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }

/* ── CALCULATOR ── */
.calc-section { background:#fff; }
.calc-form { background:var(--cream); border-radius:20px; padding:40px; margin-top:40px; }
.calc-inputs { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:30px; }
.calc-input-group { display:flex; flex-direction:column; gap:6px; }
.calc-input-group label { font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text-light); }
.calc-input-group input, .calc-input-group select { background:#fff; border:1.5px solid rgba(40,21,110,.15); border-radius:10px; padding:12px 16px; font-family:"Source Sans 3",sans-serif; font-size:15px; color:var(--text); outline:none; transition:border .2s; }
.calc-input-group input:focus { border-color:var(--green); }
.calc-results { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:30px; }
.calc-result-card { background:var(--purple); border-radius:16px; padding:24px; text-align:center; }
.calc-result-card.highlight { background:var(--green); }
.calc-result-card h4 { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.calc-result-card .highlight h4 { color:rgba(255,255,255,.7); }
.calc-result-card .value { font-family:"Playfair Display",serif; font-size:28px; font-weight:900; color:#fff; }
.calc-result-card .unit { font-size:12px; color:rgba(255,255,255,.6); margin-top:4px; }
.calc-detail-table { width:100%; border-collapse:collapse; margin-top:30px; }
.calc-detail-table th { background:var(--purple); color:#fff; padding:10px 14px; text-align:left; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.calc-detail-table th:first-child { border-radius:10px 0 0 0; }
.calc-detail-table th:last-child { border-radius:0 10px 0 0; }
.calc-detail-table td { padding:10px 14px; border-bottom:1px solid rgba(40,21,110,.07); font-size:14px; }
.calc-detail-table tr:nth-child(even) td { background:var(--purple-light); }
.calc-detail-table .savings td { font-weight:700; color:var(--green); background:var(--green-pale); }

/* ── FOOTER ── */
footer { background:var(--green); padding:34px 0; color:rgba(255,255,255,.38); font-size:13px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footer-links { display:flex; gap:16px; flex-wrap:wrap; justify-content:flex-end; }
footer a { color:rgba(255,255,255,.45); text-decoration:none; }
footer a:hover { color:var(--gold-light); }

/* ── MODAL ── */
.modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.6); z-index:200; align-items:center; justify-content:center; }
.modal-overlay.open { display:flex; }
.modal-box { background:#fff; border-radius:20px; padding:40px; max-width:600px; width:90%; max-height:80vh; overflow-y:auto; }
.modal-box h2 { font-family:"Playfair Display",serif; color:var(--purple); margin-bottom:16px; }
.modal-box p { font-size:14px; color:var(--text-light); line-height:1.7; margin-bottom:12px; }
.modal-close { background:var(--purple); color:#fff; border:none; padding:10px 24px; border-radius:50px; cursor:pointer; font-weight:700; margin-top:12px; }

/* ── RESPONSIVE ── */
@media(max-width:960px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .hamburger { display:block; }
  .product-intro-grid, .about-grid, .contact-grid { grid-template-columns:1fr; gap:32px; }
  .css-panel { flex-direction:column; gap:24px; }
  .css-panel .animal-img { max-width:100%; flex:none; }
  .eco-grid, .home-grid { grid-template-columns:1fr 1fr; }
  .hero-stats { display:none; }
  .calc-cta { flex-direction:column; padding:30px 24px; text-align:center; }
  .form-row { grid-template-columns:1fr; }
  .calc-inputs { grid-template-columns:1fr; }
  .calc-results { grid-template-columns:1fr 1fr; }
}

@media(max-width:600px) {
  .eco-grid, .home-grid { grid-template-columns:1fr; }
  .container { padding:0 20px; }
  section { padding:56px 0; }
  .css-tab-btns { gap:6px; }
  .css-tab-btns label { padding:8px 16px; font-size:13px; }
  .calc-results { grid-template-columns:1fr; }
  .results-grid { grid-template-columns:1fr; }
}

.feature-link { display:block; text-decoration:none; color:inherit; transition:all .25s; }
.feature-link:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(40,21,110,.10); }
.comparison-table-wrap, .product-card { border-radius:22px; overflow:hidden; }
.protein-table { overflow:hidden; border-radius:16px; }
.protein-table thead th:first-child { border-top-left-radius:12px; }
.protein-table thead th:last-child { border-top-right-radius:12px; }
.about-img-block img.contain-logo { width:84%; height:auto; max-height:84%; object-fit:contain; padding:0; background:#fff; }
.about-img-block { padding:24px; }


/* --- Homepage visual fixes v6 --- */
.hero .container{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,760px);}
.hero-content{max-width:760px;}
.hero h1{max-width:760px; font-size:clamp(34px,4.8vw,64px); line-height:1.02; margin-bottom:18px;}
.hero h1 span{color:#fff;}
.hero-subtitle{font-family:"Source Sans 3",sans-serif; font-style:normal; font-size:clamp(21px,2.2vw,31px); line-height:1.45; color:rgba(255,255,255,.92); max-width:860px; margin:0 0 24px; font-weight:700;}
.hero-btns{margin-bottom:22px;}
.hero-stats{position:static; transform:none; display:grid; grid-template-columns:repeat(2,minmax(0,230px)); gap:14px; margin-top:10px;}
.stat-card{min-width:0; padding:16px 18px; background:rgba(255,255,255,.14);}
.stat-label-big{font-size:18px; line-height:1.35; font-weight:800;}
.hero-animal-switch{margin-top:18px; margin-bottom:0;}
.feature-link, .feature-link strong, .feature-link span{ text-decoration:none !important; }
.feature-strip{padding:34px 0 44px;}
.feature-strip-grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.feature-pill{border-left:4px solid var(--green); border-radius:18px; padding:24px 22px; box-shadow:0 4px 18px rgba(40,21,110,.06);}
.feature-pill strong{font-size:19px; line-height:1.25; text-decoration:none !important;}
.feature-pill span{font-size:15px; color:var(--text-light);}
.feature-pill-accent{background:#fff8e3; border-left-color:var(--gold);}
.comparison-table-wrap{border:1px solid rgba(40,21,110,.08); box-shadow:0 8px 28px rgba(40,21,110,.07);}
.comparison-table-wrap table{border-collapse:separate; border-spacing:0;}
.comparison-table-wrap th:first-child{border-top-left-radius:14px;}
.comparison-table-wrap th:last-child{border-top-right-radius:14px;}
.comparison-table-wrap td{background:#fff;}
.comparison-table-wrap tbody tr:nth-child(even) td{background:#faf8ff;}
.comparison-table-wrap td:nth-child(2), .comparison-table-wrap td:nth-child(3){font-weight:600;}
.about-img-block{padding:34px;}
.about-img-block img.contain-logo{width:100%; max-width:100%; max-height:100%; height:100%; object-fit:contain; padding:0; background:transparent;}
@media(max-width:1024px){.feature-strip-grid-4{grid-template-columns:repeat(2,1fr);} .hero-stats{grid-template-columns:repeat(2,1fr);} }
@media(max-width:960px){ .hero{min-height:auto; padding:80px 0 60px;} .hero-stats{display:grid;} }
@media(max-width:640px){ .hero-subtitle{font-size:20px;} .hero-stats,.feature-strip-grid-4{grid-template-columns:1fr;} .stat-label-big{font-size:16px;} }


/* --- Homepage visual fixes v7 --- */
.hero::after{height:64px;background:linear-gradient(rgba(247,246,242,0), rgba(247,246,242,.78) 65%, var(--cream));}
.hero .container{display:block;}
.hero-content{max-width:700px;padding-top:12px;}
.hero h1{max-width:620px;font-size:clamp(34px,4.6vw,58px);line-height:.98;letter-spacing:-.03em;text-wrap:balance;margin-bottom:20px;}
.hero-subtitle{max-width:720px;font-size:clamp(18px,2vw,24px);line-height:1.5;font-weight:700;color:rgba(255,255,255,.92);margin-bottom:22px;}
.hero-btns{align-items:center;margin-bottom:18px;}
.hero-animal-switch{margin-top:14px;}
.hero-stats{max-width:700px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;}
.stat-card{padding:15px 12px;min-height:96px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);}
.stat-label-big{font-size:15px;line-height:1.35;text-align:center;text-wrap:balance;}
.feature-strip{padding:34px 0 34px;}
.feature-strip-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.feature-pill{padding:22px 20px;border-left-width:5px;display:block;}
.feature-pill strong,.feature-pill span{display:block;text-decoration:none !important;}
.feature-pill strong{font-size:18px;margin-bottom:8px;}
.feature-pill span{font-size:14px;line-height:1.65;}
.feature-pill-accent{background:#f9f6ea;}
.results-grid.results-grid-2{align-items:stretch;}
.result-card .result-stats{margin-bottom:22px;}
.comparison-table-wrap .section-intro{margin:0 0 18px;color:var(--text-light);}
.comparison-table-wrap td:first-child{width:28%;}
.comparison-table-wrap td{line-height:1.55;}
@media(max-width:1180px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.feature-strip-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.hero h1{max-width:100%;font-size:clamp(34px,11vw,46px);} .hero-stats,.feature-strip-grid-4{grid-template-columns:1fr;} .stat-card{min-height:auto;} }

/* --- Homepage fixes v10 --- */
/* Drží gradient hero/page hero ve stabilní výšce s rezervou, aby se opticky neměnil podle délky textu. */
.hero{
  min-height: 820px;
  padding: 132px 0 105px;
  align-items: flex-start;
  background-size: cover;
  background-position: center center;
}
.hero .container{width:100%;}
.hero-content{padding-top:0;}
.hero p{margin-bottom:18px;}
.hero-note{margin-bottom:0;}
.page-hero{
  min-height: 330px;
  display:flex;
  align-items:center;
  padding: 92px 0 72px;
  background-size: cover;
  background-position:center center;
}
.page-hero .container{width:100%;}
@media(max-width:960px){
  .hero{min-height:760px; padding:112px 0 86px;}
  .page-hero{min-height:300px; padding:82px 0 62px;}
}
@media(max-width:640px){
  .hero{min-height:auto; padding:96px 0 76px;}
}


/* --- Homepage v14: health + model calculator --- */
.health-section{background:#fff;}
.health-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start;}
.health-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.health-point{background:var(--cream);border-left:5px solid var(--green);border-radius:18px;padding:24px;box-shadow:0 4px 22px rgba(40,21,110,.06);}
.health-point strong{display:block;font-family:"Playfair Display",serif;font-size:20px;color:var(--purple);margin-bottom:8px;line-height:1.25;}
.health-point span{display:block;color:var(--text-light);font-size:15px;line-height:1.65;}
.model-calc-card{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;background:linear-gradient(135deg,var(--purple),var(--purple-mid));border-radius:28px;padding:48px;box-shadow:0 16px 48px rgba(40,21,110,.18);}
.model-calc-card .section-label{color:var(--gold-light);}
.model-calc-card h2{font-family:"Playfair Display",serif;font-size:clamp(28px,3vw,42px);line-height:1.15;color:#fff;margin-bottom:16px;}
.model-calc-card p{color:rgba(255,255,255,.78);font-size:17px;line-height:1.75;margin-bottom:16px;text-align:left;}
.model-note{font-size:14px!important;color:rgba(255,255,255,.62)!important;}
.model-calc-numbers{display:grid;gap:14px;}
.model-number{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 24px;}
.model-number.highlight{background:rgba(4,142,64,.55);border-color:rgba(255,255,255,.25);}
.model-number span{display:block;color:rgba(255,255,255,.72);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:8px;}
.model-number strong{display:block;color:#fff;font-family:"Playfair Display",serif;font-size:32px;line-height:1.05;}
.calc-email-cta{margin-top:34px;background:var(--green-pale);border-left:5px solid var(--green);border-radius:18px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.calc-email-cta h3{font-family:"Playfair Display",serif;color:var(--purple);font-size:24px;margin-bottom:6px;}
.calc-email-cta p{color:var(--text-light);font-size:15px;line-height:1.6;text-align:left;}
.calc-email-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-top:20px;}
.calc-email-form input{border:1.5px solid rgba(40,21,110,.15);border-radius:10px;padding:12px 14px;font-family:"Source Sans 3",sans-serif;font-size:15px;}
.calc-email-form button{border:0;cursor:pointer;white-space:nowrap;}
@media(max-width:960px){.health-grid,.model-calc-card{grid-template-columns:1fr}.calc-email-cta{display:block}.calc-email-form{grid-template-columns:1fr}}
@media(max-width:640px){.health-points{grid-template-columns:1fr}.model-calc-card{padding:30px 22px}.model-number strong{font-size:27px}}

/* --- v15 from v14: model example table --- */
.model-table-wrap{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:18px;}
.model-table{width:100%;border-collapse:collapse;color:#fff;font-size:15px;overflow:hidden;border-radius:14px;}
.model-table th,.model-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.14);text-align:left;vertical-align:top;}
.model-table th{font-weight:700;color:rgba(255,255,255,.78);width:62%;}
.model-table td{text-align:right;font-weight:800;color:#fff;}
.model-table tr:last-child th,.model-table tr:last-child td{border-bottom:0;}
.model-table-highlight th,.model-table-highlight td{background:rgba(4,142,64,.42);}
.model-table-highlight td{color:#fff;font-size:17px;}
@media(max-width:640px){.model-table th,.model-table td{display:block;width:100%;text-align:left}.model-table td{padding-top:0;text-align:left}.model-table tr{display:block;border-bottom:1px solid rgba(255,255,255,.14)}}


/* --- v16 polish fixes --- */
.math-section .section-label, .results-section .section-label{color:var(--gold-light);}
.mechanism-card:before{color:rgba(200,168,75,.45);}
.health-grid{display:block;}
.health-grid > div:first-child{max-width:980px;}
.health-points{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px;}
footer{background:var(--green);color:rgba(255,255,255,.72);}
footer a{color:rgba(255,255,255,.78);}
footer a:hover{color:var(--gold-light);}
@media(max-width:1100px){.health-points{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.health-points{grid-template-columns:1fr;}}

/* --- v19 targeted corrections --- */
.section-label{
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
  font-family:"Source Sans 3", sans-serif !important;
}
.results-section .section-label,
.results-section .section-label[style]{
  color:var(--green) !important;
}
.math-section .section-label{
  color:var(--gold-light) !important;
}
.domaci-grid{align-items:stretch !important;}
.domaci-panel{height:100%; display:flex; flex-direction:column; justify-content:flex-start;}
footer{
  background:var(--purple) !important;
  color:rgba(255,255,255,.86) !important;
}
footer a{color:rgba(255,255,255,.88) !important;}
footer a:hover{color:#fff !important;}


/* --- v20 manual requested fixes --- */
.section-cta{
  text-align:center;
  margin-top:34px;
}
footer{
  background:#1f1456 !important;
  color:rgba(255,255,255,.88) !important;
}
footer a{
  color:rgba(255,255,255,.88) !important;
}
footer a:hover{
  color:#fff !important;
}
.results-section .section-label{
  color:var(--green) !important;
}
.media-card .result-company,
.result-company{
  color:var(--green) !important;
}


/* ============================================================
   UNIFIED TYPOGRAPHY SYSTEM – v58
   Platí pro celý web (skot i prasata / mode-pigs).
   Přepisuje starší !important overrides z inline <style> tagů.
   ============================================================ */

/* ── Section kicker ── */
.section-label,
.animal-kicker {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  color: var(--green) !important;
  margin-bottom: 14px !important;
  display: block !important;
}

/* Výjimky pro specifické sekce (barvy) */
.math-section .section-label              { color: var(--gold-light) !important; }
.contact-section .section-label           { color: var(--gold) !important; }
body.mode-pigs .animal-model-card .section-label { color: #f4d66d !important; }

/* ── Section title (h2-level) ── */
.section-title,
body.mode-pigs .section-title,
body.mode-pigs h2.section-title,
.principle-title,
body.mode-pigs .principle-title {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  color: var(--purple) !important;
  margin: 0 0 18px !important;
}

/* Výjimky – tmavé pozadí */
.math-section .section-title,
.math-section .section-title[data-animal-key] { color: #fff !important; }
.contact-section .section-title           { color: #fff !important; }
body.mode-pigs .math-section .section-title { color: #fff !important; }
[style*="color:#fff"] .section-title      { color: #fff !important; }

/* ── Section subtitle ── */
.section-sub,
.animal-section-sub {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
  max-width: 680px !important;
}

/* Výjimky pro tmavé pozadí */
.math-section .section-sub                { color: rgba(255,255,255,.78) !important; }

/* ── Principle lead (velký citát) ── */
.lead {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--purple);
  margin-bottom: 18px;
}

/* ── h3 v kartách ── sjednoceno na jednu velikost ── */
.story-card h3,
.mechanism-card h3,
.flow-box h3,
.math-card h3,
.domaci-panel h3,
.media-card h3,
.result-card h3,
.eco-card h3,
.home-card h3,
.health-card h3,
body.mode-pigs .animal-card h3,
body.mode-pigs .animal-usage-step h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  color: var(--purple) !important;
  margin-bottom: 10px !important;
}

/* h3 na tmavém pozadí */
.math-card h3,
.story-card.dark h3            { color: #fff !important; }

/* ── Tělo textu v kartách ── */
.story-card p,
.mechanism-card p,
.flow-box p,
.math-card p,
.domaci-panel p,
.media-card p,
.eco-card p,
.home-card p,
.health-card p,
.animal-card p,
body.mode-pigs .animal-copy,
body.mode-pigs .animal-section-sub,
body.mode-pigs .animal-card p,
body.mode-pigs .animal-card li,
.principle-card > p,
.animal-princip-card > p,
.animal-princip-card > .animal-copy {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
}

/* Výjimky tělo na tmavém pozadí */
.math-card p,
.story-card.dark p,
.story-card.dark li            { color: rgba(255,255,255,.82) !important; }

/* animal-section-sub má trochu větší font */
body.mode-pigs .animal-section-sub { font-size: 17px !important; }

/* ── Statistiky v kartách (animal-stat strong) ── */
body.mode-pigs .animal-stat strong {
  display: block !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--green) !important;
}

body.mode-pigs .animal-stat span {
  display: block !important;
  margin-top: 8px !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--text-light) !important;
}

/* ── Tabulky (comparison, animal) ── */
.comparison-table th,
.comparison-table td,
body.mode-pigs .animal-table th,
body.mode-pigs .animal-table td,
body.mode-pigs .animal-model-table th,
body.mode-pigs .animal-model-table td {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 14px !important;
}

/* ── Health-card specificky ── */
.health-card h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--purple) !important;
}
.health-card p {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--text-light) !important;
}


/* ── Health section: 4-column card grid ── */
.health-section .health-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
  margin-top: 32px !important;
}
.health-section .health-card {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 26px 24px !important;
  box-shadow: 0 6px 26px rgba(40,21,110,.07) !important;
  border-top: 4px solid var(--green) !important;
  display: flex !important;
  flex-direction: column !important;
}
@media(max-width:1100px) {
  .health-section .health-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media(max-width:600px) {
  .health-section .health-grid { grid-template-columns: 1fr !important; }
}

/* ── Section background alternation ── */
/* Odd sections = var(--cream) [default body bg]              */
/* Even sections = #fff                                        */
/* Special sections override explicitly                        */
section { background: var(--cream); }
section.bg-white,
.principle-band,
.comparison-section,
.health-section,
.about-section,
.calc-section,
.domaci-section {
  background: #fff;
}
section.bg-cream,
.animals-section,
.results-section,
.economics-section {
  background: var(--cream);
}
/* Dark/colored sections stay as-is */
.math-section     { background: linear-gradient(135deg, var(--purple), var(--purple-mid)) !important; }
.contact-section  { background: var(--purple) !important; }
.calculator-teaser { background: linear-gradient(135deg,#eef1ff 0%,#f4f7ff 100%) !important; }

/* ── Contact section: readable text on purple bg ── */
.contact-section .section-sub,
.contact-section p.section-sub,
[style*="background:var(--purple)"] .section-sub,
[style*="background: var(--purple)"] .section-sub {
  color: rgba(255,255,255,.75) !important;
}
/* Inline style override for contact section sub on homepage */
.contact-section .section-sub[style],
section[style*="padding:72px"] .section-sub {
  color: rgba(255,255,255,.75) !important;
}

/* ── Skrýt skot-specific prvky v pig módu ── */
body.mode-pigs .big-equation { display: none !important; }
body.mode-pigs .math-section .big-equation { display: none !important; }

/* ── animal-table: zajistit čitelnost + layout ── */
body.mode-pigs .animal-table {
  table-layout: fixed !important;
}
body.mode-pigs .animal-table td,
body.mode-pigs .animal-table th {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  vertical-align: top !important;
}
body.mode-pigs .animal-table td:first-child,
body.mode-pigs .animal-table th:first-child {
  width: 26% !important;
}

/* ── Math section section-title v pig módu ── */
body.mode-pigs .math-section .section-label {
  color: var(--gold-light) !important;
}

/* ── Contact section-title: zvýšená specificita ── */
.contact-section .section-title,
section.contact-section .section-title {
  color: #fff !important;
}

/* ── Math-section: nadpisy a text vždy bílé (i po JS update) ── */
.math-section [data-animal-key],
.math-section .section-title,
.math-section h2,
.math-section h3 {
  color: #fff !important;
}
.math-section .section-sub,
.math-section p.section-sub,
.math-section [data-animal-key].section-sub {
  color: rgba(255,255,255,.78) !important;
}
.math-section .section-label,
.math-section [data-animal-key].section-label,
.math-section div.section-label {
  color: var(--gold-light) !important;
}

/* ── Hero: stabilní výška – bubliny vždy na stejném místě ── */

/* Skrýt hero-note – redundantní s description, způsobuje různou výšku */
#hero-note { display: none !important; }

/* Badge – pouze inline, nesmí se roztahovat */
.hero-badge {
  display: inline-flex !important;
  width: auto !important;
  align-self: flex-start !important;
  margin-bottom: 14px !important;
}

/* Přepínač pod badge, nad nadpisem */
.hero-animal-switch {
  margin: 0 0 22px 0 !important;
}

/* Pevná min-height hero-content zajistí stejnou výšku bez ohledu na délku textu */
.hero-content {
  min-height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Stats vždy těsně pod hero-content, ne plovoucí */
.hero-stats {
  margin-top: 28px !important;
}

/* Odebrat justify z hero odstavců */
.hero p {
  text-align: left !important;
  margin-bottom: 0 !important;
}

/* ── Animal model table highlight row ── */
.animal-model-highlight th,
.animal-model-highlight td {
  background: rgba(4,142,64,.42) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* ── Přepínač zvířat jako <a> tagy — bez podtržení ── */
a.hero-animal-chip,
a.hero-animal-chip:hover,
a.hero-animal-chip:visited,
a.hero-animal-chip:active {
  text-decoration: none !important;
}

/* ── Texty na tmavém pozadí (inline gradient sekce) ── */
[style*="linear-gradient(135deg,var(--purple)"] .section-title,
[style*="linear-gradient(135deg, var(--purple)"] .section-title,
[style*="linear-gradient(135deg,var(--purple)"] h2,
[style*="linear-gradient(135deg,var(--purple)"] .section-sub,
[style*="linear-gradient(135deg,var(--purple)"] .animal-section-sub,
[style*="linear-gradient(135deg,var(--purple)"] p {
  color: rgba(255,255,255,.9) !important;
}
[style*="linear-gradient(135deg,var(--purple)"] .section-title,
[style*="linear-gradient(135deg,var(--purple)"] h2 {
  color: #fff !important;
}

/* ── Fallback: pig/animal elementy bez body.mode-pigs ── */
.animal-princip-card h2,
.animal-princip-card .section-title,
.animal-princip-card .principle-title {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  color: var(--purple) !important;
}

.animal-princip-card > p,
.animal-princip-card .animal-copy {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
}

.animal-card h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--purple) !important;
}

.animal-card p,
.animal-copy {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
}

.animal-mode-section .section-label {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--green) !important;
  display: block !important;
  margin-bottom: 14px !important;
}

.animal-section-sub {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
}

.animal-usage-step h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--purple) !important;
}

.animal-usage-step p,
.animal-list li {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--text-light) !important;
}


.hero {
  --hero-min: 400px;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(to top, var(--bg-white, #fff) 0%, transparent 100%);
  pointer-events: none;
}
