/* ============ RESET & TOKENY ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#E31D1D; --red-deep:#C11616; --red-hover:#B91414;
  --grad-cta:linear-gradient(135deg,#E62222,#C11616);
  --ink:#16181C; --ink-2:#5D646D; --ink-3:#8B929B; --ink-strong:#3A4149;
  --ondark:#D2D7DD; --ondark-2:#C2C8D0; --ondark-3:#9BA3AD;
  --dark:#101215; --bg:#F7F7F8; --line:#E3E4E8; --line-2:#ECEDF0;
  --tint:#FDEAEA; --tint-2:#FBEDED; --tint-3:#FDECEC; --chip-ink:#A31111;
  --shadow-card:0 6px 30px rgba(15,17,20,.07);
  --shadow-hover:0 18px 44px rgba(15,17,20,.12);
  --shadow-cta:0 10px 24px rgba(200,22,22,.38);
  --pad-x:56px;
}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,.pt-h{font-family:'Space Grotesk',sans-serif;font-weight:700}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.pt-wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
.pt-eyebrow{font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--red-deep);margin-bottom:14px}
.pt-h2{font-size:42px;line-height:1.1;letter-spacing:-.01em}
.pt-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-weight:700;font-size:15.5px;padding:14px 28px;cursor:pointer;border:0;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.pt-btn--primary{background:var(--grad-cta);color:#fff;box-shadow:var(--shadow-cta)}
.pt-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(200,22,22,.45)}
.pt-btn--outline{background:transparent;color:var(--red);border:2px solid var(--red)}
.pt-btn--outline:hover{background:var(--red);color:#fff}
.pt-btn--ghostdark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.pt-btn--ghostdark:hover{border-color:#fff}
section{padding:80px 0}

/* ============ 1. TOP BAR ============ */
.pt-topbar{background:var(--dark);color:#fff;font-size:13px;padding:9px 0}
.pt-topbar .pt-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pt-topbar a{font-weight:700}
.pt-topbar .pt-tb-left{color:var(--ondark-2)}
.pt-topbar .pt-tb-right{display:flex;gap:22px}

/* ============ 2. NAV ============ */
.pt-nav{background:#fff;position:sticky;top:0;z-index:60;box-shadow:0 1px 0 var(--line-2)}
.pt-nav .pt-wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.pt-nav-logo img{height:48px;width:auto}
.pt-menu{display:flex;gap:6px;list-style:none}
.pt-menu a{display:block;padding:10px 18px;border-radius:999px;font-weight:700;font-size:15px;transition:background .15s}
.pt-menu a:hover{background:var(--tint-2)}
.pt-menu a.is-active{background:var(--tint-2);color:var(--red)}
.pt-burger{display:none;background:none;border:0;cursor:pointer;padding:10px}
.pt-burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.2s}

/* ============ 3. HERO ============ */
.pt-hero{background:radial-gradient(115% 130% at 22% 0%,#2A1614 0%,#16191E 45%,#101215 100%);color:#fff;overflow:hidden;position:relative;padding:80px 0 0}
.pt-hero-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pt-hero-grid{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:center;position:relative}
.pt-hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(227,29,29,.14);border:1px solid rgba(227,29,29,.35);border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:700;margin-bottom:26px}
.pt-hero-badge .dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 8px #4ADE80}
.pt-hero h1{font-size:64px;line-height:1.04;letter-spacing:-.01em;text-wrap:pretty}
.pt-hero h1 .grad{background:linear-gradient(90deg,#FF8A80,#E62222);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pt-hero-sub{font-size:18px;color:var(--ondark-2);max-width:560px;margin:22px 0 34px}
.pt-hero-feats{display:flex;gap:26px;flex-wrap:wrap}
.pt-feat{display:flex;gap:12px;align-items:center}
.pt-feat-ico{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:19px}
.pt-feat b{display:block;font-size:15px}
.pt-feat small{color:var(--ondark-3);font-size:13px}

/* hero form karta */
.pt-form-card{background:#fff;color:var(--ink);border-radius:24px;padding:30px 30px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 120px rgba(227,29,29,.25);position:relative}
.pt-form-card h3{display:flex;align-items:center;gap:11px;font-size:20px;margin-bottom:6px}
.pt-form-card h3 .ico{width:34px;height:34px;border-radius:10px;background:var(--grad-cta);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.pt-form-sub{font-size:14px;color:var(--ink-2);margin-bottom:18px}
.pt-success{display:flex;gap:9px;align-items:center;background:#F0FAF3;border:1px solid #CBEBD6;color:#1E7A3C;border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:600;margin-top:16px}
.pt-success .tick{color:#22A44D;font-weight:800}
.pt-gdpr{font-size:11.5px;color:var(--ink-3);margin-top:12px;line-height:1.5}
.pt-gdpr a{text-decoration:underline}
/* CF7 restyling do gridu návrhu */
.pt-form-card .wpcf7 .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0!important}
.pt-form-card .wpcf7 .row>div{padding:0;width:auto;max-width:none;flex:none}
.pt-form-card .wpcf7 .col-md-4{grid-column:1/-1}
.pt-form-card .wpcf7 .col-md-2{order:3}
.pt-form-card .wpcf7 .col-md-3:not(:last-child){order:2}
.pt-form-card .wpcf7 .col-md-3:last-child{grid-column:1/-1;order:4}
.pt-form-card .wpcf7 input[type=text],.pt-form-card .wpcf7 input[type=email],.pt-form-card .wpcf7 input[type=tel]{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-family:'Manrope',sans-serif;font-size:15px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.pt-form-card .wpcf7 input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(227,29,29,.12)}
.pt-form-card .wpcf7 input::placeholder{color:var(--ink-3)}
.pt-form-card .wpcf7 label{width:100%;display:block}
.pt-form-card .wpcf7 input[type=submit]{width:100%;background:var(--grad-cta);color:#fff;border:0;border-radius:999px;padding:15px 24px;font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-cta);transition:transform .2s,box-shadow .2s}
.pt-form-card .wpcf7 input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(200,22,22,.45)}
.pt-form-card .wpcf7-spinner{position:absolute}
.pt-form-card .wpcf7-not-valid-tip{font-size:12px;color:var(--red);margin-top:4px}
.pt-form-card .wpcf7 form>p{margin:0}

/* hero stat řádek */
.pt-stats{border-top:1px solid rgba(255,255,255,.1);margin-top:72px;padding:26px 0;position:relative}
.pt-stats .pt-wrap{display:flex;align-items:center;gap:56px}
.pt-stat b{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;display:block;line-height:1.15}
.pt-stat small{color:var(--ondark-3);font-size:13px}
.pt-stats-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.pt-avatars{display:flex}
.pt-avatars span{width:36px;height:36px;border-radius:50%;border:2px solid #101215;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;margin-left:-10px}
.pt-avatars span:first-child{margin-left:0}
.pt-rating{font-size:13.5px;color:var(--ondark-2)}
.pt-rating .stars{color:#FF8A80;letter-spacing:2px}

/* ============ 4. SLUŽBY ============ */
.pt-services{background:var(--bg)}
.pt-sec-head{text-align:center;max-width:640px;margin:0 auto 48px}
.pt-sec-head p{color:var(--ink-2);margin-top:14px;font-size:16.5px}
.pt-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-scard{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.pt-scard:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.pt-scard-img{height:210px;position:relative;background:#e8e8ea}
.pt-scard-img img{width:100%;height:100%;object-fit:cover}
.pt-price-badge{position:absolute;top:14px;left:14px;background:var(--grad-cta);color:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;box-shadow:0 4px 14px rgba(200,22,22,.4);z-index:2}
.pt-scard-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.pt-scard-body h3{font-size:22px}
.pt-scard-body p{font-size:14.5px;color:var(--ink-2);flex:1}
.pt-scard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.pt-more{color:var(--red);font-weight:800;font-size:14.5px}
.pt-chip{background:var(--tint-3);color:var(--chip-ink);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:800;white-space:nowrap}

/* ============ 5. AKČNÍ BANNER ============ */
.pt-banner-sec{background:var(--bg);padding-top:0}
.pt-banner{background:linear-gradient(120deg,#C11616,#E62222 55%,#FF8A80);border-radius:24px;color:#fff;padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(200,22,22,.3)}
.pt-banner svg{position:absolute;right:-40px;top:-30px;width:520px;opacity:.25;pointer-events:none}
.pt-banner-tag{display:inline-block;background:rgba(255,255,255,.16);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.pt-banner h2{font-size:36px;line-height:1.1}
.pt-banner p{margin-top:10px;font-size:15.5px;opacity:.92}
.pt-banner .pt-btn{background:#fff;color:var(--red-deep);flex-shrink:0}
.pt-banner .pt-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.25)}

/* ============ 6. TARIFY ============ */
.pt-tarify .pt-tar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px}
.pt-tar-note{font-size:14px;color:var(--ink-2);max-width:320px;text-align:right}
.pt-cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pt-tcard{background:#fff;border:1px solid var(--line-2);border-radius:22px;padding:28px 26px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s;position:relative}
.pt-tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.pt-tcard-name{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700}
.pt-tcard-name .ico{width:34px;height:34px;border-radius:10px;background:var(--tint);display:inline-flex;align-items:center;justify-content:center;color:var(--red);font-size:15px}
.pt-progress{height:6px;border-radius:999px;background:#F0ECEC;position:relative;overflow:hidden}
.pt-progress i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--grad-cta)}
.pt-speed-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--ink-2)}
.pt-speed-row b{font-size:14px;color:var(--ink)}
.pt-tmeta{font-size:12.5px;color:var(--ink-3)}
.pt-tprice{font-family:'Space Grotesk',sans-serif;font-size:44px;font-weight:700;line-height:1}
.pt-tprice small{font-size:15px;font-weight:600;color:var(--ink-2);font-family:'Manrope',sans-serif}
.pt-tafter{font-size:12.5px;color:var(--ink-3);margin-top:-6px}
.pt-tcard .pt-btn{width:100%;justify-content:center;padding:13px 20px}
.pt-tcard--dark{background:linear-gradient(160deg,#1E2228,#101215);border:0;color:#fff;box-shadow:0 18px 46px rgba(15,17,20,.35)}
.pt-tcard--dark .pt-tcard-name .ico{background:rgba(227,29,29,.2)}
.pt-tcard--dark .pt-speed-row,.pt-tcard--dark .pt-tmeta,.pt-tcard--dark .pt-tafter{color:var(--ondark-3)}
.pt-tcard--dark .pt-speed-row b{color:#fff}
.pt-tcard--dark .pt-progress{background:rgba(255,255,255,.12)}
.pt-pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--grad-cta);color:#fff;border-radius:999px;padding:6px 16px;font-size:11.5px;font-weight:800;letter-spacing:.08em;box-shadow:0 6px 18px rgba(200,22,22,.45);white-space:nowrap;text-transform:uppercase}

/* ============ 7. BENTO ============ */
.pt-bento{background:#fff}
.pt-bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:24px}
.pt-bcell{border-radius:20px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end}
.pt-bcell--tall{grid-row:span 2}
.pt-bcell-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pt-bcell-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,21,0) 30%,rgba(16,18,21,.85))}
.pt-bcell-txt{position:relative;padding:24px 26px;color:#fff}
.pt-bcell-txt h3{font-size:21px;margin-bottom:6px}
.pt-bcell-txt p{font-size:14px;opacity:.85}
.pt-bcell--light{background:var(--bg);border:1px solid var(--line-2);justify-content:flex-start;padding:26px}
.pt-bcell--light .ico{position:absolute;top:20px;right:20px;width:44px;height:44px;background:#fff;border-radius:12px;box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--red)}
.pt-bcell--light h3{font-size:20px;color:var(--ink);margin:auto 0 8px}
.pt-bcell--light p{font-size:14px;color:var(--ink-2)}
.pt-bcell--dark{background:linear-gradient(160deg,#1E2228,#101215);padding:26px;justify-content:flex-end}
.pt-bcell--dark svg{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.pt-bcell--dark h3{font-size:20px;position:relative;color:#fff}
.pt-bcell--dark p{position:relative;font-size:14px;color:var(--ondark-3)}
.pt-bcell--net{background:radial-gradient(120% 120% at 20% 20%,#4a0f0f,#210808 70%)}

/* ============ 8. RECENZE ============ */
.pt-reviews{background:#fff;padding-top:0}
.pt-rev-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:24px;flex-wrap:wrap}
.pt-arrows{display:flex;gap:10px}
.pt-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:17px;cursor:pointer;transition:.15s}
.pt-arrow--active,.pt-arrow:hover{background:var(--red);border-color:var(--red);color:#fff}
.pt-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-rcard{background:var(--bg);border-radius:20px;padding:28px}
.pt-rcard .stars{color:#FF8A80;letter-spacing:3px;font-size:15px;margin-bottom:16px}
.pt-rcard blockquote{font-size:15.5px;line-height:1.65;color:var(--ink-strong)}
.pt-rev-person{display:flex;gap:12px;align-items:center;margin-top:20px}
.pt-rev-ava{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px}
.pt-rev-person b{display:block;font-size:14.5px}
.pt-rev-person small{color:var(--ink-3);font-size:12.5px}

/* ============ 9. BALÍČKY ============ */
.pt-packs{background:linear-gradient(180deg,#101215,#16191E);color:#fff;position:relative;overflow:hidden}
.pt-packs-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.pt-packs .pt-sec-head p{color:var(--ondark-3)}
.pt-packs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,460px));gap:26px;justify-content:center;position:relative}
.pt-pcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);border-radius:22px;padding:34px 36px;display:flex;flex-direction:column;gap:18px}
.pt-ptag{align-self:flex-start;background:rgba(227,29,29,.25);border:1px solid rgba(255,90,90,.4);color:#FF9B9B;border-radius:999px;padding:6px 14px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pt-pcard h3{font-size:26px}
.pt-pprice{font-family:'Space Grotesk',sans-serif;font-size:46px;font-weight:700;line-height:1}
.pt-pprice s{font-size:17px;color:var(--ondark-3);font-weight:400;margin-left:10px}
.pt-pprice small{font-size:15px;color:var(--ondark-3);font-family:'Manrope',sans-serif;font-weight:600}
.pt-pchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.pt-pchips .chip{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:7px 14px;font-weight:700}
.pt-pchips .plus{color:var(--ondark-3);font-weight:800}
.pt-pcard .pt-btn{justify-content:center}

/* ============ 10. BLOG ============ */
.pt-blog .pt-rev-head{margin-bottom:40px}
.pt-bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-bpost{background:#fff;border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.pt-bpost:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.pt-bpost-img{height:190px;background:#e8e8ea}
.pt-bpost-img img{width:100%;height:100%;object-fit:cover}
.pt-bpost-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pt-bmeta{font-size:12.5px;color:var(--ink-3);display:flex;gap:8px;flex-wrap:wrap}
.pt-bmeta .rub{color:var(--red);font-weight:800}
.pt-bpost h3{font-size:18.5px;line-height:1.35;flex:1}
.pt-bpost .pt-more{margin-top:auto}

/* ============ 11. CHARITY (v2 — full-bleed mřížka) ============ */
.pt-charity{padding:56px 0 72px}
.pt-charity-head{text-align:center;padding:0 56px 26px}
.pt-charity-label{display:block;font-size:13.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#C11616;margin-bottom:10px}
.pt-charity-sub{font-size:15px;color:var(--ink-2);max-width:620px;margin:0 auto}
.pt-charity-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--line-2);
  border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.pt-charity-tile{background:#fff;height:112px;padding:20px;display:flex;align-items:center;justify-content:center}
.pt-charity-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.65;transition:filter .2s ease,opacity .2s ease}
.pt-charity-tile:hover img{filter:none;opacity:1}

/* ============ 12. CTA + FOOTER ============ */
.pt-cta{background:var(--dark);color:#fff;text-align:center;padding:88px 0 72px}
.pt-cta h2{font-size:40px;margin-bottom:12px}
.pt-cta p{color:var(--ondark-3);margin-bottom:32px}
.pt-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.pt-footer{background:var(--dark);color:var(--ondark-2);padding:0 0 28px}
.pt-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:48px 0;border-top:1px solid rgba(255,255,255,.08)}
/* v2: logo v patičce = hlavní logo obarvené na bílo (TODO: nahradit bílou SVG verzí loga) */
.pt-flogo{display:inline-block;margin-bottom:18px}
.pt-flogo img{height:44px;width:auto;filter:brightness(0) invert(1)}
.pt-footer-grid p{font-size:14px;color:var(--ondark-3);max-width:280px}
.pt-footer h4{color:#fff;font-family:'Manrope',sans-serif;font-size:14.5px;font-weight:800;margin-bottom:16px}
.pt-footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px}
.pt-footer ul a:hover{color:#fff}
.pt-copy{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#7C8590}
.pt-copy a:hover{color:#fff}

/* ============ RESPONSIVE ============ */
@media(max-width:1200px){
  :root{--pad-x:36px}
  .pt-hero h1{font-size:52px}
  .pt-hero-grid{grid-template-columns:1fr 420px;gap:40px}
  .pt-cards4{grid-template-columns:repeat(2,1fr)}
  .pt-h2{font-size:36px}
}
@media(max-width:992px){
  .pt-menu{display:none}
  .pt-burger{display:block}
  .pt-nav.is-open .pt-menu{display:flex;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;padding:16px var(--pad-x) 24px;box-shadow:0 20px 30px rgba(15,17,20,.12);gap:2px}
  .pt-hero-grid{grid-template-columns:1fr}
  .pt-form-card{max-width:560px}
  .pt-stats .pt-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .pt-stats-right{margin-left:0;grid-column:1/-1}
  .pt-cards3,.pt-rev-grid,.pt-bgrid{grid-template-columns:1fr 1fr}
  .pt-bento-grid{grid-template-columns:1fr 1fr}
  .pt-packs-grid{grid-template-columns:1fr}
  .pt-banner{flex-direction:column;align-items:flex-start}
  .pt-tarify .pt-tar-head{flex-direction:column;align-items:flex-start}
  .pt-tar-note{text-align:left}
}
@media(max-width:768px){
  :root{--pad-x:20px}
  section{padding:56px 0}
  .pt-topbar .pt-tb-left{display:none}
  .pt-topbar .pt-wrap{justify-content:center}
  .pt-hero h1{font-size:40px}
  .pt-hero-sub{font-size:16px}
  .pt-cards3,.pt-rev-grid,.pt-bgrid,.pt-cards4,.pt-bento-grid{grid-template-columns:1fr}
  .pt-bcell--tall{grid-row:auto}
  .pt-bento-grid{grid-auto-rows:auto}
  .pt-bcell{min-height:220px}
  .pt-bcell-photo{min-height:260px}
  .pt-h2{font-size:30px}
  .pt-cta h2{font-size:32px}
  .pt-banner{padding:32px 26px}
  .pt-banner h2{font-size:28px}
  .pt-footer-grid{grid-template-columns:1fr 1fr}
  .pt-form-card{padding:24px 20px 20px}
  .pt-form-card .wpcf7 .row{grid-template-columns:1fr}
  .pt-form-card .wpcf7 .col-md-2,.pt-form-card .wpcf7 .col-md-3{grid-column:1/-1}
  .pt-hero-feats{gap:16px}
  .pt-charity-grid{grid-template-columns:repeat(4,1fr)}
  .pt-charity-head{padding:0 20px 22px}
}
@media(max-width:480px){
  .pt-hero h1{font-size:33px}
  .pt-stats .pt-wrap{grid-template-columns:1fr 1fr}
  .pt-stat b{font-size:24px}
  .pt-footer-grid{grid-template-columns:1fr}
  .pt-btn{padding:13px 22px;font-size:14.5px}
  .pt-charity-grid{grid-template-columns:repeat(2,1fr)}
  .pt-charity-tile{height:96px;padding:16px}
}
/* ============ PODSTRÁNKY (page-redesign-inner) ============ */
.pt-phero{background:radial-gradient(110% 140% at 20% 0%,#2A1614 0%,#16191E 50%,#101215 100%);color:#fff;padding:56px 0 60px;position:relative;overflow:hidden}
.pt-phero .pt-wrap{position:relative;z-index:2}
.pt-crumbs{font-size:13px;color:var(--ondark-3);margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pt-crumbs a{color:var(--ondark-2)}
.pt-crumbs a:hover{color:#fff}
.pt-crumbs .sep{opacity:.5}
.pt-phero h1{font-size:44px;line-height:1.1;letter-spacing:-.01em;max-width:900px}
.pt-phero-meta{margin-top:14px;font-size:14px;color:var(--ondark-3);display:flex;gap:10px;flex-wrap:wrap}
.pt-phero-meta .rub{color:#FF8A80;font-weight:800}

.pt-page{padding:64px 0 80px}
.pt-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.pt-content{font-size:16.5px;line-height:1.75;color:var(--ink-strong);min-width:0}
.pt-content>*+*{margin-top:18px}
.pt-content h2{font-size:30px;line-height:1.2;margin-top:40px;color:var(--ink)}
.pt-content h3{font-size:22px;line-height:1.3;margin-top:30px;color:var(--ink)}
.pt-content h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-top:24px;color:var(--ink)}
.pt-content p{color:var(--ink-strong)}
.pt-content a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.pt-content a:hover{color:var(--red-hover)}
.pt-content ul,.pt-content ol{padding-left:22px}
.pt-content li+li{margin-top:7px}
.pt-content ul li::marker{color:var(--red)}
.pt-content img{border-radius:16px;height:auto;margin:24px 0}
.pt-content blockquote{border-left:3px solid var(--red);background:var(--bg);border-radius:0 14px 14px 0;padding:16px 20px;font-size:16px;color:var(--ink-2)}
.pt-content table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:table}
.pt-content th,.pt-content td{padding:11px 14px;border-bottom:1px solid var(--line-2);text-align:left}
.pt-content th{background:var(--bg);font-weight:800;font-size:14px}
.pt-content tr:last-child td{border-bottom:0}
.pt-content-scroll{overflow-x:auto}
.pt-content iframe,.pt-content video{max-width:100%;border-radius:16px}
.pt-content hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.pt-content code{background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:2px 6px;font-size:14px}

/* aside box na podstránkách */
.pt-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px}
.pt-aside-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow-card)}
.pt-aside-card h3{font-size:19px;margin-bottom:8px}
.pt-aside-card p{font-size:14.5px;color:var(--ink-2);margin-bottom:16px}
.pt-aside-card .pt-btn{width:100%;justify-content:center}
.pt-aside-dark{background:linear-gradient(160deg,#1E2228,#101215);color:#fff;border:0}
.pt-aside-dark h3{color:#fff}
.pt-aside-dark p{color:var(--ondark-2)}
.pt-aside-list{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.pt-aside-list li{display:flex;gap:9px;align-items:flex-start;color:var(--ink-2)}
.pt-aside-list .tick{color:#22A44D;font-weight:800}
.pt-aside-tel{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:4px}

/* výpis článků (blog archiv) */
.pt-archive{padding:56px 0 80px}
.pt-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-pager{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pt-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:15px;background:#fff}
.pt-pager .page-numbers:hover{border-color:var(--red);color:var(--red)}
.pt-pager .page-numbers.current{background:var(--red);border-color:var(--red);color:#fff}

@media(max-width:992px){
  .pt-page-grid{grid-template-columns:1fr;gap:36px}
  .pt-aside{position:static}
  .pt-archive-grid{grid-template-columns:1fr 1fr}
  .pt-phero h1{font-size:34px}
}
@media(max-width:768px){
  .pt-phero{padding:40px 0 44px}
  .pt-phero h1{font-size:29px}
  .pt-page{padding:44px 0 60px}
  .pt-content h2{font-size:25px}
  .pt-content h3{font-size:20px}
  .pt-archive-grid{grid-template-columns:1fr}
}

/* ============ FUSION BUILDER OBSAH v redesignu ============ */
/* Avada CSS se načítá pro obsah; tady jen sjednocujeme typografii a rušíme
   zbytky Avada headeru/footeru, které by se mohly protlačit. */
.pt-fusion-content{background:#fff}
.pt-fusion-content .fusion-title h1,.pt-fusion-content .fusion-title h2,
.pt-fusion-content .fusion-title h3,.pt-fusion-content .fusion-title h4{font-family:'Space Grotesk',sans-serif!important;font-weight:700!important}
.pt-fusion-content p,.pt-fusion-content li,.pt-fusion-content span{font-family:'Manrope',sans-serif}
/* Avada header/footer/side nesmí nikdy vylézt (chrome máme vlastní) */
body.pt-redesign .fusion-header-wrapper,
body.pt-redesign .fusion-footer,
body.pt-redesign .fusion-tb-header,
body.pt-redesign .fusion-tb-footer,
body.pt-redesign .fusion-sliding-bar-wrapper,
body.pt-redesign #side-header,
body.pt-redesign .avada-footer-fx,
body.pt-redesign .to-top-container{display:none!important}
body.pt-redesign #wrapper,body.pt-redesign #main{padding:0!important;margin:0!important;background:transparent!important}
body.pt-redesign{padding-top:0!important}

/* Starý „Poradíme vám" scrollbox popup (dgd_scrollbox / CF7 5538) do nového designu nepatří —
   nový design má vlastní lead formulář v heru. Skrýváme jen na redesign stránkách.

   🔴 POZOR: formulář 6722 (vyskakovací okno při opouštění stránky, 755 leadů) používá
   STEJNOU třídu `.poradime-popup` a lišil se jen přívěskem `.poradime-popup-onexit`.
   Původní pravidlo ho proto skrylo taky — okno mělo nulovou výšku, ale ztmavovací
   překryv zůstal, takže návštěvníkovi zčernala stránka a viděl jen křížek.
   Proto výslovná výjimka pro variantu „onexit". */
body.pt-redesign .poradime-popup:not(.poradime-popup-onexit),
body.pt-redesign [id^="dgd_scrollbox"],
body.pt-redesign .dgd_overlay,
body.pt-redesign .dgd_stb_box,
body.pt-redesign .dgd_stb_tab,
body.pt-redesign .dgd_stb_box_close,
body.pt-redesign .dgd_stb_box_x,
body.pt-redesign .modal-backdrop{display:none!important;visibility:hidden!important}
body.pt-redesign.modal-open{overflow:auto!important}

/* ============ OBNOVA VÝCHOZÍCH ROZESTUPŮ V AVADA/FUSION OBSAHU ============
   Náš globální reset (*{margin:0;padding:0}) je určený jen pro náš design.
   Uvnitř původního obsahu (Fusion Builder) vracíme výchozí typografické rozestupy,
   jinak se formuláře a odstavce rozjedou. */
.pt-fusion-content p{margin:0 0 20px}
.pt-fusion-content ul,.pt-fusion-content ol{margin:0 0 20px;padding-left:1.5em}
.pt-fusion-content li{margin:0 0 6px}
.pt-fusion-content h1,.pt-fusion-content h2,.pt-fusion-content h3,
.pt-fusion-content h4,.pt-fusion-content h5,.pt-fusion-content h6{margin:0 0 .5em}
.pt-fusion-content blockquote,.pt-fusion-content table,.pt-fusion-content figure{margin:0 0 20px}
.pt-fusion-content .wpcf7 p{margin:0 0 14px}
.pt-fusion-content .wpcf7 br{display:none}
.pt-fusion-content .wpcf7 input[type=submit]{margin-top:4px}

/* ============ FAQ na podstránkách služeb ============ */
.pt-faq{padding:80px 0}
.pt-faq-list{display:flex;flex-direction:column;gap:12px;max-width:900px}
.pt-faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;transition:box-shadow .2s,border-color .2s}
.pt-faq-item[open]{box-shadow:var(--shadow-card);border-color:var(--line-2)}
.pt-faq-item summary{cursor:pointer;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17.5px;color:var(--ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.pt-faq-item summary::-webkit-details-marker{display:none}
.pt-faq-item summary::after{content:'+';color:var(--red);font-size:24px;font-weight:700;line-height:1;flex:none}
.pt-faq-item[open] summary::after{content:'–'}
.pt-faq-item p{margin-top:12px;color:var(--ink-2);font-size:15.5px;line-height:1.7}
/* sekce "Co získáte" — ikonové karty na světlém */
.pt-services .pt-bcell--light{display:flex;flex-direction:column;align-items:flex-start}
.pt-services .pt-bcell--light h3{font-size:19px;margin-bottom:8px}
.pt-services .pt-bcell--light p{font-size:15px;line-height:1.65}
@media(max-width:768px){
  .pt-faq{padding:52px 0}
  .pt-faq-item summary{font-size:16px}
}

/* ============ PŘEBITÍ AVADA STYLŮ V NAŠEM CHROME ============
   Avada CSS se načítá kvůli obsahu podstránek a přebíjí barvy textů
   v našich tmavých sekcích (nadpisy, odkazy). Zvyšujeme specificitu. */
body.pt-redesign .pt-cta h2,
body.pt-redesign .pt-hero h1,
body.pt-redesign .pt-packs h2,
body.pt-redesign .pt-banner h2,
body.pt-redesign .pt-bcell--dark h3,
body.pt-redesign .pt-bcell-txt h3,
body.pt-redesign .pt-tcard--dark .pt-tcard-name,
body.pt-redesign .pt-pcard h3,
body.pt-redesign .pt-footer h4{color:#fff}
body.pt-redesign .pt-hero h1 .grad{background:linear-gradient(90deg,#FF8A80,#E62222);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
body.pt-redesign .pt-cta p,body.pt-redesign .pt-banner p{color:var(--ondark-2)}
body.pt-redesign .pt-footer a,body.pt-redesign .pt-topbar a{color:inherit}
body.pt-redesign .pt-footer a:hover{color:#fff}
body.pt-redesign .pt-banner .pt-btn{background:#fff;color:var(--red-deep)}
body.pt-redesign .pt-form-card .wpcf7 input[type=submit]{background:var(--grad-cta);color:#fff;border:0}
body.pt-redesign .pt-btn--primary{background:var(--grad-cta);color:#fff}
body.pt-redesign .pt-btn--outline{background:transparent;color:var(--red);border:2px solid var(--red)}
body.pt-redesign .pt-btn--outline:hover{background:var(--red);color:#fff}
body.pt-redesign .pt-btn--ghostdark{background:transparent;color:#fff}
/* Bootstrap (Avada) přidává .row::before/::after clearfix — v CSS gridu se z nich
   stanou grid items a rozhodí rozložení polí formuláře. Vypínáme je. */
body.pt-redesign .pt-form-card .wpcf7 .row::before,
body.pt-redesign .pt-form-card .wpcf7 .row::after{display:none!important;content:none!important}
body.pt-redesign .pt-form-card .wpcf7 .row>div{float:none!important}

/* Hero na podstránkách služeb nemá pod sebou statistický pruh jako homepage,
   takže formulářová karta doléhala přesně na hranu tmavé sekce → spodní odsazení. */
body.pt-redesign .pt-hero--svc{padding:64px 0 72px}
body.pt-redesign .pt-hero--svc .pt-crumbs{margin-bottom:26px}
@media(max-width:992px){
  body.pt-redesign .pt-hero--svc{padding:44px 0 52px}
  body.pt-redesign .pt-hero--svc .pt-hero-grid{grid-template-columns:1fr;gap:34px}
}

/* Foto dlaždice v bento: ikona v bílém boxu nad fotkou + čitelný text */
body.pt-redesign .pt-bcell-photo>.ico{position:absolute;top:18px;right:18px;z-index:3;
  width:42px;height:42px;border-radius:12px;background:#fff;color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 14px rgba(15,17,20,.18)}
body.pt-redesign .pt-bcell-photo .pt-bcell-txt h3{color:#fff}
body.pt-redesign .pt-bcell-photo .pt-bcell-txt p{color:rgba(255,255,255,.88)}
body.pt-redesign .pt-bcell--dark.pt-bcell-photo{background:var(--dark)}
/* Silnější ztmavení u světlých fotek, ať je bílý text čitelný i na callcentru/kancelářích */
body.pt-redesign .pt-bcell-photo .pt-bcell-shade{background:linear-gradient(180deg,rgba(16,18,21,.10) 0%,rgba(16,18,21,.45) 45%,rgba(16,18,21,.92) 100%)}
body.pt-redesign .pt-bcell-photo .pt-bcell-txt h3{text-shadow:0 1px 12px rgba(0,0,0,.45)}
body.pt-redesign .pt-bcell-photo .pt-bcell-txt p{text-shadow:0 1px 10px rgba(0,0,0,.4)}

/* ============ KONTAKTNÍ STRÁNKA ============ */
body.pt-redesign .pt-kcard{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;padding:26px}
body.pt-redesign .pt-kcard-ico{background:#fff;border:1px solid var(--line);color:var(--red);margin-bottom:16px}
body.pt-redesign .pt-kcard h3{font-size:19px;margin-bottom:8px;color:var(--ink)}
body.pt-redesign .pt-kcard p{font-size:15px;line-height:1.65;color:var(--ink-2);margin-bottom:14px}
body.pt-redesign .pt-kcard .pt-more{margin-top:auto;word-break:break-all}
.pt-kinfo{padding:0 0 88px}
.pt-kinfo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.pt-kinfo-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-card)}
body.pt-redesign .pt-kinfo-card h3{font-family:'Space Grotesk',sans-serif;font-size:19px;margin-bottom:12px;color:var(--ink)}
.pt-kinfo-lines{font-size:15.5px;line-height:1.8;color:var(--ink-strong)}
.pt-kinfo-note{margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.6}
.pt-kinfo-note a{color:var(--red);font-weight:600;text-decoration:underline}
.pt-kinfo-tel{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;color:var(--red);margin-bottom:14px}
.pt-kinfo-card--dark{background:linear-gradient(160deg,#1E2228,#101215);border:0;color:#fff}
body.pt-redesign .pt-kinfo-card--dark h3{color:#fff}
.pt-kinfo-card--dark p{color:var(--ondark-2);font-size:15px;margin-bottom:14px}
.pt-klinks{list-style:none;display:flex;flex-direction:column;gap:10px}
.pt-klinks a{color:#FF8A80;font-weight:700;font-size:15px}
.pt-klinks a:hover{color:#fff}
@media(max-width:992px){.pt-kinfo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.pt-kinfo-grid{grid-template-columns:1fr}.pt-kinfo{padding:0 0 60px}}

/* === MERGE z paralelního okna (2026-07-30): dropdown menu + sekce původních textů === */

/* === Dropdown submenu (doplněno 2026-07-29 — zrcadlo produkčního menu) === */
.pt-menu>li{position:relative}
.pt-menu a{white-space:nowrap}
.pt-caret{display:inline-block;margin-left:7px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
.pt-sub{display:none;position:absolute;top:calc(100% + 6px);left:10px;flex-direction:column;gap:2px;
  min-width:240px;background:#fff;border-radius:14px;padding:8px;list-style:none;
  box-shadow:0 18px 40px rgba(15,17,20,.14),0 2px 8px rgba(15,17,20,.08);z-index:60}
.pt-sub::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.pt-menu>li:hover>.pt-sub,.pt-menu>li:focus-within>.pt-sub{display:flex}
.pt-sub a{border-radius:10px;padding:9px 14px;font-weight:600;font-size:14.5px}
@media(max-width:992px){
  .pt-menu>li{position:static}
  .pt-caret{display:none}
  .pt-sub{display:flex;position:static;box-shadow:none;padding:0 0 4px 16px;min-width:0;background:transparent}
  .pt-sub a{font-weight:500;font-size:14px;padding:7px 14px}
}


/* === Sekce původních textů na service stránkách === */
.pt-origtext{padding:56px 0 8px;background:#fff}
.pt-origtext .pt-sec-head{margin-bottom:8px}
.pt-origtext .pt-content{max-width:860px}
.pt-origtext .pt-fusion-content{overflow-x:hidden}

/* ============ „PROČ PŘIPOJTO" / O NÁS (page-redesign-about.php) ============ */
.pt-why-card,.pt-svc-card{min-height:0;padding:26px 24px 24px}
.pt-why-ico{width:46px;height:46px;border-radius:13px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;
  font-size:20px;color:var(--red);margin-bottom:16px}
.pt-why-card h3,.pt-svc-card h3{margin:0 0 8px;font-size:18.5px;line-height:1.3}
.pt-why-card p,.pt-svc-card p{font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.pt-svc-ico{width:64px;height:64px;border-radius:16px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pt-svc-ico img{width:38px;height:38px;object-fit:contain}
.pt-svc-card .pt-more{margin-top:14px;display:inline-block}
.pt-abt-svc{background:#fff}

.pt-abt-adv{background:#fff;padding:72px 0}
.pt-abt-adv-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.pt-abt-adv-grid .pt-h2{margin-bottom:14px}
.pt-abt-note{color:var(--ink-2);font-size:16.5px;margin-bottom:22px;max-width:460px}
.pt-abt-adv-list{display:flex;flex-direction:column;gap:18px}
.pt-abt-adv-list .pt-bcell--light{min-height:0;padding:24px}
.pt-abt-adv-list h3{margin:0 0 8px;font-size:19px}
.pt-abt-adv-list p{font-size:14.5px;line-height:1.65;color:var(--ink-2)}

/* .pt-cards4 má breakpointy už výše (1200 → 2 sl., 992 → 1 sl.) — nepřidávat další,
   pozdější pravidlo by přebilo mobilní 1 sloupec. */
@media(max-width:992px){
  .pt-abt-adv-grid{grid-template-columns:1fr;gap:30px}
  .pt-abt-adv{padding:52px 0}
}

/* =====================================================================
 * PŘESTYLOVÁNÍ PŮVODNÍHO (FUSION / AVADA) OBSAHU DO NOVÉHO DESIGNU
 * Platí pro `.pt-fusion-content` — tzn. i pro sekce původních SEO textů
 * (`.pt-origtext`) na stránkách služeb. Nemění strukturu, jen vzhled.
 * ===================================================================== */
body.pt-redesign .pt-fusion-content h1,
body.pt-redesign .pt-fusion-content h2,
body.pt-redesign .pt-fusion-content h3,
body.pt-redesign .pt-fusion-content h4,
body.pt-redesign .pt-fusion-content .fusion-title-text{
  font-family:'Space Grotesk',sans-serif;color:var(--ink);letter-spacing:-.01em}
body.pt-redesign .pt-fusion-content h1{font-size:38px;line-height:1.14}
body.pt-redesign .pt-fusion-content h2{font-size:29px;line-height:1.22}
body.pt-redesign .pt-fusion-content h3{font-size:21px;line-height:1.3}
body.pt-redesign .pt-fusion-content p,
body.pt-redesign .pt-fusion-content li{font-family:'Manrope',sans-serif;font-size:16.5px;line-height:1.75;color:var(--ink-2)}
body.pt-redesign .pt-fusion-content a{color:var(--red)}
body.pt-redesign .pt-fusion-content a:hover{color:var(--red-hover)}

/* Červené oddělovače a podtržení nadpisů -> jemná linka designu */
body.pt-redesign .pt-fusion-content .fusion-title{border-color:var(--line-2)!important}
body.pt-redesign .pt-fusion-content .fusion-separator .fusion-separator-border,
body.pt-redesign .pt-fusion-content .fusion-separator{border-color:var(--line-2)!important}

/* Fusion tlačítka (outline) -> pilulka v duchu .pt-btn--outline */
body.pt-redesign .pt-fusion-content .fusion-button{
  border-radius:999px!important;border-width:1.5px!important;border-color:var(--red)!important;
  font-family:'Manrope',sans-serif!important;font-weight:800!important;font-size:14.5px!important;
  padding:11px 22px!important;line-height:1.2!important;transition:.18s}
body.pt-redesign .pt-fusion-content .fusion-button:hover{background:var(--tint)!important}
/* Odesílací tlačítko formuláře uvnitř původního obsahu -> plná pilulka */
body.pt-redesign .pt-fusion-content .wpcf7-submit.fusion-button{
  background:var(--grad-cta)!important;border:0!important;color:#fff!important;
  box-shadow:var(--shadow-cta);padding:13px 26px!important}

/* Výpisy článků (Fusion blog shortcode, např. Časté dotazy) -> karty designu */
/* Vnější <article> necháváme jako rozestupový obal (Avada mu dává 20px padding
   proti negativním marginům kontejneru — sahat na to = přetečení na mobilu).
   Kartu kreslíme na vnitřní `.fusion-post-wrapper`, který už rámeček měl. */
body.pt-redesign .pt-fusion-content .fusion-post-grid{
  border:0!important;background:transparent!important;box-shadow:none!important}
body.pt-redesign .pt-fusion-content .fusion-post-wrapper{
  border:1px solid var(--line-2)!important;border-radius:16px!important;background:#fff!important;
  box-shadow:var(--shadow-card);transition:transform .18s,box-shadow .18s;height:100%}
body.pt-redesign .pt-fusion-content .fusion-post-grid:hover .fusion-post-wrapper{
  transform:translateY(-2px);box-shadow:var(--shadow-hover)}
body.pt-redesign .pt-fusion-content .blog-shortcode-post-title{font-size:17.5px!important;line-height:1.35!important;margin:0!important}
body.pt-redesign .pt-fusion-content .blog-shortcode-post-title a{color:var(--ink)!important;font-weight:700}
body.pt-redesign .pt-fusion-content .blog-shortcode-post-title a:hover{color:var(--red)!important}

/* Stránkování výpisů */
body.pt-redesign .pt-fusion-content .fusion-blog-pagination .pagination a,
body.pt-redesign .pt-fusion-content .fusion-blog-pagination .pagination .current{
  border-radius:10px!important;border:1px solid var(--line)!important;min-width:36px;
  padding:7px 11px!important;font-weight:700;font-size:14px}
body.pt-redesign .pt-fusion-content .fusion-blog-pagination .pagination .current{
  background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}

/* Obrázky v rámcích a tabulky */
body.pt-redesign .pt-fusion-content .fusion-imageframe img,
body.pt-redesign .pt-fusion-content .fusion-image-wrapper img{border-radius:16px}
body.pt-redesign .pt-fusion-content table{border-radius:14px;overflow:hidden;border:1px solid var(--line-2)}
body.pt-redesign .pt-fusion-content table th{background:var(--bg);font-weight:800}
/* Fusion dává kontejneru výpisu inline min-height:500px -> pod krátkým výpisem
   zůstávala prázdná mezera (naše karty jsou nižší). !important přebije inline styl. */
body.pt-redesign .pt-fusion-content .fusion-posts-container{min-height:0!important}

/* Původní obsah občas přetéká (dlouhé Fusion sloupce) — Avada to clipovala svým
   #wrapper{overflow:hidden}, náš chrome ne. Doplňujeme, ať mobil nescrolluje do strany. */
body.pt-redesign .pt-fusion-content{overflow-x:hidden}

/* ============ ANIMACE HERO GRAFIKY (optická vlákna) ============ */
/* Světelná stopa proudící po vlákně — vrstvy generuje šablona (viz komentář v ní).
   dasharray "délka 2000" + doběh -2000: úsek přeletí cestu v první polovině cyklu
   a pak je pauza, než přiletí další pulz. Stejná rychlost pro všechny vrstvy. */
.pt-hero-svg .pt-comet{animation-name:pt-comet;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes pt-comet{from{stroke-dashoffset:0}to{stroke-dashoffset:-2000}}

/* Hvězdičky v pozadí jemně problikávají (rozfázováno, ne všechny naráz). */
.pt-hero-svg .pt-stars circle{animation:pt-twinkle 4.5s ease-in-out infinite}
.pt-hero-svg .pt-stars circle:nth-child(2){animation-delay:.6s;animation-duration:5.4s}
.pt-hero-svg .pt-stars circle:nth-child(3){animation-delay:1.3s;animation-duration:3.9s}
.pt-hero-svg .pt-stars circle:nth-child(4){animation-delay:2.1s;animation-duration:6.1s}
.pt-hero-svg .pt-stars circle:nth-child(5){animation-delay:.9s;animation-duration:4.8s}
.pt-hero-svg .pt-stars circle:nth-child(6){animation-delay:2.8s;animation-duration:5.7s}
.pt-hero-svg .pt-stars circle:nth-child(7){animation-delay:1.7s;animation-duration:4.2s}
.pt-hero-svg .pt-stars circle:nth-child(8){animation-delay:3.4s;animation-duration:5.1s}
@keyframes pt-twinkle{0%,100%{opacity:.35}50%{opacity:1}}

/* Zelená tečka u odznaku „Garance…" tepe jako indikátor online. */
.pt-hero-badge .dot{animation:pt-dot-pulse 2.4s ease-out infinite}
@keyframes pt-dot-pulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.55),0 0 8px #4ADE80}
  70%{box-shadow:0 0 0 9px rgba(74,222,128,0),0 0 8px #4ADE80}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0),0 0 8px #4ADE80}
}

@media (prefers-reduced-motion: reduce){
  .pt-hero-svg .pt-comet,
  .pt-hero-svg .pt-stars circle,
  .pt-hero-badge .dot{animation:none}
}
/* Uzly: rozpínající se kroužek. CSS transform místo SMIL <animate> — SMIL
   animateMotion/animate stálo v testu ~20 FPS, CSS transform je zdarma. */
.pt-hero-svg .pt-node-ring{transform-box:fill-box;transform-origin:center;
  animation:pt-node-ring 3.6s ease-out infinite}
.pt-hero-svg .pt-node-ring--2{animation-duration:4.2s;animation-delay:1.8s}
@keyframes pt-node-ring{
  0%{transform:scale(1);opacity:.4}
  100%{transform:scale(6.5);opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .pt-hero-svg .pt-node-ring{animation:none;opacity:0}
}

/* ---- Původní obsah: formulářová pole, staré karty a tabulky do nového designu ---- */
/* Pole v CF7 uvnitř původního obsahu měla Roboto Condensed 14px, šedou výplň a radius 6. */
body.pt-redesign .pt-fusion-content .wpcf7 input[type=text],
body.pt-redesign .pt-fusion-content .wpcf7 input[type=email],
body.pt-redesign .pt-fusion-content .wpcf7 input[type=tel],
body.pt-redesign .pt-fusion-content .wpcf7 input[type=number],
body.pt-redesign .pt-fusion-content .wpcf7 textarea,
body.pt-redesign .pt-fusion-content .wpcf7 select{
  font-family:'Manrope',sans-serif!important;font-size:15px!important;color:var(--ink)!important;
  background:#fff!important;border:1.5px solid var(--line)!important;border-radius:12px!important;
  padding:13px 15px!important;height:auto!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
body.pt-redesign .pt-fusion-content .wpcf7 input:focus,
body.pt-redesign .pt-fusion-content .wpcf7 textarea:focus{
  outline:none;border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(227,29,29,.12)!important}
body.pt-redesign .pt-fusion-content .wpcf7 input::placeholder,
body.pt-redesign .pt-fusion-content .wpcf7 textarea::placeholder{color:var(--ink-3)}

/* Staré „karty" mají zakulacení 0, tmavý 2px rámeček a rozmazaný šedý stín v inline stylu. */
body.pt-redesign .pt-fusion-content .fusion-column-wrapper[style*="box-shadow"]{
  border-radius:18px!important;border:1px solid var(--line-2)!important;
  box-shadow:var(--shadow-card)!important}

/* Celoplošné pásy oddělené tvrdou linkou -> jemná linka designu. */
body.pt-redesign .pt-fusion-content .fusion-fullwidth[style*="border"]{border-color:var(--line-2)!important}

/* Tabulky (často inline `border: 1px solid #ccc`). */
body.pt-redesign .pt-fusion-content table,
body.pt-redesign .pt-fusion-content table th,
body.pt-redesign .pt-fusion-content table td{border-color:var(--line-2)!important}
body.pt-redesign .pt-fusion-content table th,
body.pt-redesign .pt-fusion-content table td{padding:12px 14px!important;font-size:15px}
body.pt-redesign .pt-fusion-content table tr:nth-child(even) td{background:var(--bg)}

/* Zakulacení obrázků řeší velikostní gate na konci souboru (paušální pravidlo
   tady ukrajovalo rohy logům a ikonám). */

/* ============ SEKCE BALÍČKŮ: pohyb ============ */
/* Naskakování při scrollu. Skrýváme JEN pod `.pt-reveal-on` (třídu dává skript),
   takže bez JS je obsah normálně vidět — animace nesmí schovat obsah. */
html.pt-reveal-on [data-pt-reveal]{opacity:0;transform:translateY(22px)}
html.pt-reveal-on [data-pt-reveal].is-in{opacity:1;transform:none;
  transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1);
  transition-delay:calc(var(--pt-reveal-i,0) * 90ms)}

/* Karta reaguje na kurzor. */
.pt-pcard{transition:transform .25s cubic-bezier(.2,.75,.25,1),box-shadow .25s,border-color .25s}
.pt-pcard:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.28);
  box-shadow:0 22px 50px rgba(0,0,0,.45)}

/* Zvýhodněná karta jemně „dýchá" červenou září. */
.pt-pcard--hot{animation:pt-pcard-breathe 4.5s ease-in-out infinite}
@keyframes pt-pcard-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(227,29,29,0),0 14px 34px rgba(0,0,0,.3)}
  50%{box-shadow:0 0 34px 2px rgba(227,29,29,.22),0 14px 34px rgba(0,0,0,.3)}
}
.pt-pcard--hot:hover{animation-play-state:paused}

/* Přejezd světla přes cenu (jednou za ~7 s). Maskujeme gradientem na textu. */
.pt-pprice.pt-shine{position:relative;background:linear-gradient(100deg,#fff 38%,#FFD9D4 47%,#fff 56%);
  background-size:280% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:pt-shine 7s ease-in-out infinite}
@keyframes pt-shine{0%,72%{background-position:120% 0}100%{background-position:-40% 0}}
/* Přeškrtnutá a doplňková část ceny musí zůstat čitelně šedá, ne průhledná. */
.pt-pprice.pt-shine s,.pt-pprice.pt-shine small{-webkit-text-fill-color:var(--ondark-3);color:var(--ondark-3)}

/* Štítek na kartě jemně pulzuje. */
.pt-ptag{animation:pt-tag-glow 3.8s ease-in-out infinite}
@keyframes pt-tag-glow{0%,100%{border-color:rgba(255,90,90,.4)}50%{border-color:rgba(255,90,90,.85)}}

@media (prefers-reduced-motion: reduce){
  .pt-pcard--hot,.pt-pprice.pt-shine,.pt-ptag{animation:none}
  .pt-pprice.pt-shine{-webkit-text-fill-color:#fff;background:none}
  html.pt-reveal-on [data-pt-reveal]{opacity:1;transform:none}
}
/* =========================================================================
   PŮVODNÍ OBSAH — dodatečné opravy legacy stylů (blok „Ověřte si dostupnost")
   Přidat na KONEC assets/redesign.css.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1) Červený hranatý rám okolo bloku s formulářem
   -------------------------------------------------------------------------
   To NENÍ border ani outline ani box-shadow — proto nebyl v devtools k nalezení.
   Legacy pravidlo (0,0,1,0):
       .column-gradient-border{background:linear-gradient(180deg,#871B1B 0%,#CA282A 51%);padding:3px}
       .column-gradient-border > .fusion-column-wrapper{background:#fff}
   Rám = červený GRADIENT NA POZADÍ vnějšího sloupce, který prosvítá skrz
   jeho vlastní 3px padding; bílé pozadí vnitřního `.fusion-column-wrapper`
   překryje zbytek. Fake-border trik, proto ostré rohy (nikde není radius).

   Řešení: gradient nahradíme plnou linkou designu, ring zmenšíme na 1,5 px
   a doplníme radius 20 px. Radius musí dostat i vnitřní wrapper (o šířku
   ringu menší) + `overflow:hidden`, jinak fotka v pravém sloupci
   „vykoukne" ze zakulacených rohů. */
body.pt-redesign .pt-fusion-content .column-gradient-border{
  background:var(--line-2)!important;      /* místo červeného gradientu */
  background-image:none!important;         /* pojistka: shorthand vs. Fusion dynamic CSS */
  padding:1.5px!important;                 /* šířka „rámu" = padding, ne border */
  border-radius:20px!important;
  box-shadow:var(--shadow-card);           /* karta v duchu nového designu */
}
/* Přímý potomek (`>`), aby se radius nedědil na vnořené sloupce.
   `overflow:hidden` je bezpečné — v kartě není žádný autocomplete ani
   jiný prvek, který by z ní záměrně přetékal (ověřeno v prohlížeči). */
body.pt-redesign .pt-fusion-content .column-gradient-border>.fusion-column-wrapper{
  border-radius:18.5px!important;          /* 20 − 1.5 = vnitřní radius */
  overflow:hidden;                         /* aby fotka respektovala rohy */
}

/* -------------------------------------------------------------------------
   2) Legacy pravidlo s ID přebíjelo naše formulářová pole
   -------------------------------------------------------------------------
   Jediné legacy pravidlo s ID, které ovlivňuje pole v původním obsahu:

       #dostupnost .form-with-animated-labels.counter-form .text-359 input,
       #dostupnost .form-with-animated-labels.counter-form .tel-36  input,
       #dostupnost .form-with-animated-labels.counter-form .mail    input
       { background:#eee!important; border-bottom-color:#E71D1D!important; }

   Specificita (0,1,3,1). Naše `body.pt-redesign .pt-fusion-content .wpcf7
   input[type=email]` má (0,0,4,2) — bez ID prohrává, i když je !important
   na obou stranách (u stejné důležitosti rozhoduje specificita).
   V dnešním markupu CF7 matchuje jen `.mail`, proto bylo rozbité pouze
   e-mailové pole; `.text-359`/`.tel-36` jsou zbytky starších názvů wrapperů.

   PROTO je v selektoru níž `#dostupnost`: bez ID nelze legacy pravidlo
   přebít. Přidáním `.wpcf7` navíc držíme (0,1,4,2) > (0,1,3,1) s rezervou,
   aby to nezáviselo na tie-breaku podle počtu typových selektorů.
   `#dostupnost` je na stránce duplicitní (dva vnořené divy) — pro matchování
   to nevadí, CSS bere první i druhý.

   Ostatní legacy pravidla na pole (`.form-with-animated-labels input`,
   `.form-with-animated-labels input:focus`, `.overenie-dostupnosti
   .wpcf7-form input.wpcf7-text`) ID nemají a naše původní vrstva je už
   přebíjí — proto se tu neřeší. */
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input[type=text],
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input[type=email],
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input[type=tel],
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input[type=number],
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 textarea,
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 select{
  font-family:'Manrope',sans-serif!important;
  font-size:15px!important;
  color:var(--ink)!important;
  background:#fff!important;               /* shorthand — nuluje legacy background:#eee */
  border:1.5px solid var(--line)!important; /* shorthand — nuluje border-bottom-color:#E71D1D */
  border-radius:12px!important;
  padding:13px 15px!important;
  height:auto!important;
  box-shadow:none!important;
  transition:border-color .15s,box-shadow .15s;
}
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input:focus,
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 textarea:focus{
  outline:none;
  border-color:var(--red)!important;
  box-shadow:0 0 0 3px rgba(227,29,29,.12)!important;
}
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 input::placeholder,
body.pt-redesign .pt-fusion-content #dostupnost .wpcf7 textarea::placeholder{
  color:var(--ink-3);
}

/* =========================================================================
   PŮVODNÍ OBSAH — layout, formuláře a typografie (audit slovníkových stránek)
   Struktura je na stovkách slovníkových stránek identická, takže tato pravidla
   se propíšou naráz do všech.
   ========================================================================= */

/* 1) Obsah neměl POD 1200 px žádné boční odsazení — text se lepil na obě hrany
      okna. Avada dává `.fusion-row` jen max-width:1200px a gutter vznikal
      pouze zbytkem centrování. Dorovnáváme na guttery `.pt-wrap` (56/36/20). */
body.pt-redesign .pt-fusion-content .fusion-row{
  max-width:1440px;padding-left:56px;padding-right:56px;box-sizing:border-box}
@media(max-width:1280px){body.pt-redesign .pt-fusion-content .fusion-row{padding-left:36px;padding-right:36px}}
@media(max-width:800px){body.pt-redesign .pt-fusion-content .fusion-row{padding-left:20px;padding-right:20px}}

/* Souvislý text v plné šířce by měl po rozšíření na 1440 px příliš dlouhé řádky
   (~180 znaků). Držíme čitelnou míru ~82 znaků; centrované bloky necháváme být. */
/* (šířku sazby řeší jednotné pravidlo `.fusion-text p{max-width:72ch}` níž) */

/* 2) Obsah dosedal přímo na tmavý CTA pás — nulový dech. */
body.pt-redesign .pt-fusion-content{padding-bottom:72px}

/* 3) Formulářová sekce byla celoplošná krabice s ostrými rohy a šedou linkou. */
body.pt-redesign .pt-fusion-content .fusion-fullwidth.formik{
  border:0!important;border-radius:20px;background:#fff;
  box-shadow:var(--shadow-card);max-width:1328px;margin:48px auto 0;padding:32px 28px}
@media(max-width:800px){body.pt-redesign .pt-fusion-content .fusion-fullwidth.formik{
  margin:32px 20px 0;padding:24px 18px;border-radius:16px}}
/* Drobný kurzivní centrovaný text pod formulářem. */
body.pt-redesign .pt-fusion-content .formik p{font-style:normal;font-size:13px;color:var(--ink-2)}

/* 4) Odesílací tlačítko mělo radius 2 px a bílý „ghost" styl — přitom o 250 px
      vedle je stejné CTA jako červená pilulka. (Některá tato tlačítka nemají
      třídu .fusion-button, proto vlastní pravidlo.) */
body.pt-redesign .pt-fusion-content input.wpcf7-submit{
  border:0!important;border-radius:999px!important;background:var(--grad-cta)!important;
  color:#fff!important;font-family:'Manrope',sans-serif!important;font-weight:800!important;
  font-size:15.5px!important;padding:14px 28px!important;box-shadow:var(--shadow-cta)!important;
  transition:transform .2s,box-shadow .2s}
body.pt-redesign .pt-fusion-content input.wpcf7-submit:hover{transform:translateY(-1px)}

/* 5) Odkazy v obsahu byly #F44336 (Material red, ne brandová) a font-weight 300.
      !important je nutné — barvu nastavuje inline Fusion <style> v hlavičce. */
body.pt-redesign .pt-fusion-content .fusion-text a{color:var(--red)!important;font-weight:600}

/* 6) Duplicitní H1 (nadpis v heru i v obsahu) se řeší v šabloně
      page-redesign-inner.php — první <h1> se ve výstupu přepíše na <h2>, takže
      zůstane vidět, ale není z něj druhý H1. Tady proto nic neskrýváme; jen
      dorovnáme velikost, ať takový nadpis nekřičí jako hlavní titulek. */
body.pt-redesign .pt-fusion-content .fusion-title h2{font-size:27px}

/* 7) Legacy markup z Google Docs má inline font-weight:400 na spanu v nadpisu,
      což přebíjí typografii redesignu (nadpis pak vypadá tenký). */
body.pt-redesign .pt-fusion-content h1 span[style*="font-weight"],
body.pt-redesign .pt-fusion-content h2 span[style*="font-weight"],
body.pt-redesign .pt-fusion-content h3 span[style*="font-weight"],
body.pt-redesign .pt-fusion-content h4 span[style*="font-weight"]{font-weight:inherit!important}

/* 8) Chybová hláška CF7 je hranatá krabice s čistě červenou linkou (#FF0000). */
body.pt-redesign .pt-fusion-content .wpcf7-response-output{
  border:0!important;border-radius:14px;background:var(--tint);color:#9B1C1C;
  padding:12px 16px;font-size:14px}

/* 9) Nevykreslený shortcode [denniovereni] byl vidět jako text v obsahu
      (/slovnik-pojmu/netflix/). Skrýváme jako záplatu — SPRÁVNÉ řešení je
      opravit obsah stránky, shortcode na sandboxu není registrovaný. */
body.pt-redesign .pt-fusion-content .overenoad{display:none}

/* =========================================================================
   PŮVODNÍ OBSAH — nálezy z auditu speciálních a nástrojových stránek
   ========================================================================= */

/* 1) 🔴 Dvě stránky (/internet-speed/, /slovnik-pojmu/speedtest/) mají v OBSAHU
      starý neomezený <style>: `html,body{text-align:center;font-family:'Roboto
      Condensed'}` + `h1..h6{color:#E71D1D}`. Uniká to z obsahu na CELOU stránku
      včetně hlavičky, menu a CTA. Inline <style> v body se načítá po našem CSS,
      takže potřebujeme vyšší specificitu (`body.pt-redesign` > `body`). */
body.pt-redesign{text-align:start!important;font-family:'Manrope',sans-serif!important}
body.pt-redesign .pt-topbar,body.pt-redesign .pt-nav,body.pt-redesign .pt-nav a,
body.pt-redesign .pt-footer,body.pt-redesign .pt-cta{font-family:'Manrope',sans-serif!important}
body.pt-redesign .pt-phero h1,body.pt-redesign .pt-hero h1,
body.pt-redesign .pt-cta h2,body.pt-redesign .pt-h2{font-family:'Space Grotesk',sans-serif!important}
body.pt-redesign .pt-phero h1{color:#fff!important;text-align:start}
body.pt-redesign .pt-cta h2{color:#fff!important}   /* zarovnání NEpřepisovat — CTA je centrované */
body.pt-redesign .pt-cta,body.pt-redesign .pt-banner{text-align:center}

/* 2) 🔴 /spoluprace/: 1 061 znaků textu bylo NEVIDITELNÝCH. Avada dává
      `.fusion-animated{visibility:hidden}` a odkrývá to svým JS, který se
      v našem chrome nespouští (custom-js.js = 404). Bílá díra 590 px. */
body.pt-redesign .pt-fusion-content .fusion-animated{visibility:visible!important}

/* 3) 🔴 Mobil: na /overeni-dostupnosti-internetu/ sloupce nestackovaly (součet
      113 %), formulář byl odříznutý mimo obrazovku a tlačítko vůbec nevidět. */
@media(max-width:800px){
  body.pt-redesign .pt-fusion-content .fusion-layout-column{
    width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important}
}

/* 4) Hlavičky srovnávacích tabulek byly bílé na světlém pozadí (kontrast 1,03:1). */
body.pt-redesign .pt-fusion-content .table-2 table th,
body.pt-redesign .pt-fusion-content thead th{background:var(--red-deep)!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}
/* Loga operátorů v tabulkách měla různé velikosti (naše logo 3–4× větší). */
body.pt-redesign .pt-fusion-content .table-2 img{max-height:34px;width:auto}
/* Tlačítka v tabulkách měla ostré rohy (zelené „greenButt" i červená „To mě zajímá"). */
body.pt-redesign .pt-fusion-content a.greenButt,
body.pt-redesign .pt-fusion-content .table-2 a[style*="border"]{
  border-radius:999px!important;padding:9px 18px!important;display:inline-block;font-weight:700}

/* 5) Prázdný červený hranatý pás starého měřidla (4px #e71d1d, bez obsahu). */
body.pt-redesign .pt-fusion-content .progressBar{display:none}

/* 6) Avada cenová tabulka a panely měly ostré rohy. */
body.pt-redesign .pt-fusion-content .panel-container,
body.pt-redesign .pt-fusion-content .fusion-panel{border-radius:14px;overflow:hidden}

/* 7) CTA box s 2px tmavočerveným rámečkem a ostrými rohy. */
body.pt-redesign .pt-fusion-content .container_justifycenter [style*="border"]{
  border-radius:16px;border-color:var(--line)!important}

/* 8) /internet-test/: relikt starého slideru (`margin-top:-60px`) schovával
      nadpis pod hero — byly vidět jen patky písmen. */
body.pt-redesign .pt-fusion-content .fusion-builder-row-1.slider-overeni{margin-top:0!important}

/* 9) Kurzivní drobný text pod formuláři („Odesláním formuláře souhlasíte…"). */
body.pt-redesign .pt-fusion-content .wpcf7 em,
body.pt-redesign .pt-fusion-content .wpcf7 i,
body.pt-redesign .pt-fusion-content .formik em{font-style:normal;font-size:12.5px;color:var(--ink-2)}

/* 10) Text zarovnaný do bloku (justify) trhal mezery mezi slovy.
       Cílíme JEN na justify — centrované bloky jsou v původním layoutu záměr. */
body.pt-redesign .pt-fusion-content [style*="justify"]{text-align:left!important}

/* 11) Skutečně prázdné sekce (relikty po smazaných modulech, 42–142 px prázdna).
       Podmínka je záměrně striktní: skryjeme jen sekci, která neobsahuje NIC
       z obsahových prvků — jinak by zmizely i sekce s pouhým nadpisem. */
body.pt-redesign .pt-fusion-content .fusion-fullwidth:not(:has(img,svg,iframe,input,button,table,h1,h2,h3,h4,h5,li,a,p:not(:empty))){display:none}

/* 12) Mobil: karty výpisu se lepily na hranu (isotope kontejner má margin -20px). */
@media(max-width:600px){
  body.pt-redesign .pt-fusion-content .fusion-posts-container{padding-left:16px;padding-right:16px}
}

/* =========================================================================
   PŮVODNÍ OBSAH — nálezy z auditu tematických podstránek
   POŘADÍ JE ZÁMĚRNÉ: nejdřív barva odkazů v textu, pak přebití pro odkazy,
   které fungují jako tlačítka v tabulkách (jinak by zůstaly červené na červené).
   ========================================================================= */

/* Odkazy v obsahu byly ve čtyřech různých červených (#E71D1D, #E31D1D, #F44336,
   #FF0000) — Avada je nastavuje inline per-sekci, proto !important.
   POZOR: dřív tu byl selektor `a:not(.fusion-button):not(.pt-btn):not(.pt-more)`.
   Každý `:not()` přidává specificitu svého argumentu, takže pravidlo mělo (0,5,2)
   a přebilo i vlastní pravidlo pro tlačítka v tabulkách (0,3,2) — tlačítka pak
   měla červený text na červeném pozadí. Proto cílíme na odkazy v SAZBĚ. */
body.pt-redesign .pt-fusion-content .fusion-text a,
body.pt-redesign .pt-fusion-content p a,
body.pt-redesign .pt-fusion-content li a{color:var(--red)!important}

/* Tlačítka v tabulkách: legacy pravidla mají !important (ostré rohy, vlasová
   linka, jedovatá zelená #5DCA0D místo brandové). Přebíjíme na plnou pilulku. */
body.pt-redesign .pt-fusion-content .table-2 a,
body.pt-redesign .pt-fusion-content a.greenButt{
  border:0!important;border-radius:999px!important;background:var(--grad-cta)!important;
  color:#fff!important;padding:10px 18px!important;width:auto!important;
  display:inline-block!important;font-weight:700!important;text-align:center}

/* Mobil: široké tabulky se posouvají uvnitř svého kontejneru, ale nic to
   nenapovídalo — pravý okraj proto necháme vyblednout jako náznak posuvu. */
@media(max-width:640px){
  body.pt-redesign .pt-fusion-content .table-2{-webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,#000 88%,transparent);
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
}

/* Řádky „ikona | název | prázdno | tlačítko" (/o-projektu/) se vznášely bez
   struktury — legacy `border-bottom-width:0!important` zabíjelo oddělovače. */
body.pt-redesign .pt-fusion-content .optionVar{border-bottom:1px solid var(--line-2)!important;padding:14px 0!important}
body.pt-redesign .pt-fusion-content .optionVar .fusion-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}

/* Karta „Nabídka tarifů | Zajímá mě" měla tvrdý offsetový stín a ostré rohy.
   POZOR: původně jsem sem dal ještě `max-width:640px;margin:0 auto` (kvůli
   prázdnému středu na /internet-na-cesty/) — to bylo špatně: TÝŽ selektor nese
   na /internet-kabelem/ 66 řádků rozbalovacího ceníku a ty by se zmáčkly.
   Vzhled karty řeší blok „PŮVODNÍ INTERAKTIVNÍ PRVKY" na konci souboru. */

/* Mřížka log poskytovatelů: část log má plné černé plotny, část je průhledná,
   navíc jsou různě velká a některá upscalovaná. Sjednocení + odbarvení. */
body.pt-redesign .pt-fusion-content .part-box img{
  max-height:40px;width:auto!important;filter:grayscale(1);opacity:.6;
  mix-blend-mode:multiply;transition:filter .2s,opacity .2s}
body.pt-redesign .pt-fusion-content .part-box img:hover{filter:none;opacity:1}

/* Obrázky vložené starým editorem (align*) neměly zakulacení. */
/* (dřív tu bylo paušální zakulacení img[class*=align] — viz velikostní gate níž) */

/* Celoplošný červený pás používal #E71D1D (jiná červená než brand) a ostré rohy. */
body.pt-redesign .pt-fusion-content .fusion-fullwidth[style*="#e71d1d"],
body.pt-redesign .pt-fusion-content .fusion-fullwidth[style*="#E71D1D"]{
  background:var(--red-deep)!important;border-radius:24px;margin:40px 56px!important}
@media(max-width:800px){
  body.pt-redesign .pt-fusion-content .fusion-fullwidth[style*="#e71d1d"],
  body.pt-redesign .pt-fusion-content .fusion-fullwidth[style*="#E71D1D"]{margin:24px 20px!important;border-radius:18px}
}

/* Nadpis obalený v <p> (legacy markup `<h1><p style="text-align:center">…`)
   se vykresloval jako drobný centrovaný text, slabší než vlastní podnadpisy. */
body.pt-redesign .pt-fusion-content h1>p,
body.pt-redesign .pt-fusion-content h2>p,
body.pt-redesign .pt-fusion-content h3>p{font:inherit!important;text-align:inherit!important;margin:0}

/* Formulářová karta si držela legacy inline padding 80px 30px 110px (~150 px
   prázdna po skrytém shortcodu) — inline styl přebíjíme. */
body.pt-redesign .pt-fusion-content .fusion-fullwidth.formik{padding:32px 28px!important}
@media(max-width:800px){body.pt-redesign .pt-fusion-content .fusion-fullwidth.formik{padding:24px 18px!important}}

/* Skrytí nevykresleného shortcodu musí přebít i inline styly. */
body.pt-redesign .pt-fusion-content .overenoad{display:none!important}

/* /spolupracujeme/ nemá žádný obsah — zůstal jen oddělovač s margin-bottom:240px,
   který dělal 310 px bílé díry. (Správně: doplnit obsah stránky.) */
body.pt-redesign .pt-fusion-content .fusion-separator[style*="240px"]{display:none}

/* Sekce původních SEO textů se od redesignu ničím neodlišovala. */
body.pt-redesign .pt-origtext{background:var(--bg);border-top:1px solid var(--line-2)}

/* Příliš dlouhé řádky (až ~200 znaků). Centrované bloky vynecháváme. */
body.pt-redesign .pt-fusion-content .fusion-text p,
body.pt-redesign .pt-fusion-content .fusion-text ul,
body.pt-redesign .pt-fusion-content .fusion-text ol{max-width:72ch}
/* Centrované odstavce necháváme centrované — jen jim dáme automatické okraje,
   ať zůstanou na ose sloupce (dřív je max-width odstrčila doleva). */
body.pt-redesign .pt-fusion-content .fusion-text p[style*="center"]{margin-left:auto;margin-right:auto}
body.pt-redesign .pt-fusion-content .fusion-column-content-centered p{max-width:none}

/* =========================================================================
   PŮVODNÍ OBSAH — obrázky a rytmus (audit médií)
   ========================================================================= */

/* Zakulacení JEN u fotek — ikony a loga musí zůstat hranaté.
   Fusion dává všem obrázkům stejnou třídu (.img-responsive), takže je nelze
   odlišit selektorem. Trik: procenta se v `border-radius` počítají z vlastní
   šířky boxu, takže `min(16px, max(0px,(100% - 240px)*999))` vrátí 16px pro
   obrázky široké ≥240 px (fotky) a 0px pro cokoli užšího (ikony, loga, emoji).
   Za lomítkem je svislá složka — gate je tedy výhradně podle ŠÍŘKY.
   Ověřeno pixelovým diffem: fotky 1202/1024/425 px → 16px; ikony 85/64 px → 0. */
body.pt-redesign .pt-fusion-content .fusion-imageframe img,
body.pt-redesign .pt-fusion-content .fusion-image-wrapper img,
body.pt-redesign .pt-fusion-content .fusion-column-wrapper>img,
body.pt-redesign .pt-fusion-content p>img{
  border-radius:min(16px, max(0px, (100% - 240px) * 999)) / 16px}
/* Pojistka: pás log poskytovatelů a emoji nesmí být zakulacené nikdy. */
body.pt-redesign .pt-fusion-content .partnery-img img,
body.pt-redesign .pt-fusion-content .part-box img,
body.pt-redesign .pt-fusion-content img.emoji{border-radius:0!important}

/* Rolovací obal tabulek: viditelný posuvník + zakulacení. Na mobilu navíc
   stáhneme buňky, ať je tabulka co nejužší (naměřeno 864 → 776 px). */
body.pt-redesign .pt-fusion-content div[class^="table-"]{
  max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;
  scrollbar-width:thin;scrollbar-color:var(--ink-3) var(--line-2)}
body.pt-redesign .pt-fusion-content div[class^="table-"]::-webkit-scrollbar{height:8px}
body.pt-redesign .pt-fusion-content div[class^="table-"]::-webkit-scrollbar-track{background:var(--line-2);border-radius:99px}
body.pt-redesign .pt-fusion-content div[class^="table-"]::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:99px}
@media(max-width:900px){
  body.pt-redesign .pt-fusion-content table th,
  body.pt-redesign .pt-fusion-content table td{padding:10px 10px!important;font-size:13.5px!important}
}

/* Prázdné Fusion mezerníky dělaly díry 240 / 100 / 52 px. Rytmus sekcí dnes
   řídí redesign. Cílíme JEN na `.sep-none` (čistý mezerník) — separátory
   s viditelnou linkou si mezery ponechají. */
body.pt-redesign .pt-fusion-content .fusion-separator.sep-none{margin-top:0!important;margin-bottom:32px!important}
/* =====================================================================
 * PŮVODNÍ INTERAKTIVNÍ PRVKY (FUSION / AVADA) DO NOVÉHO DESIGNU
 * Doplněk k bloku „PŘESTYLOVÁNÍ PŮVODNÍHO (FUSION / AVADA) OBSAHU".
 * Řeší prvky, které v původním webu měly vlastní custom CSS v Global CSS
 * Avady (soubor 4acd…min.css) — proto skoro všude potřebujeme !important
 * a vyšší specificitu (`body.pt-redesign .pt-fusion-content …`).
 * Struktura se NEMĚNÍ, jen vzhled — JS (scripts.js) zůstává funkční.
 * ===================================================================== */

/* ---------------------------------------------------------------------
 * 1) ZÁLOŽKY TARIFŮ -> SEGMENTOVÝ PILULKOVÝ PŘEPÍNAČ
 * `.tabs > .fusion-builder-row > .tab-btns > .tab-btn > .tab-btn_title`
 * (generuje Avada-Child/scripts.js z nadpisů `.tab-name`)
 * Původní stav: hranaté šedobílé „složkové" ouško, aktivní tab
 * `transform:scale(1.25)` + inset stín #c9c9c9, celý pás vytažený
 * `translateY(-56px)` do šedého pásu nad sebou; na mobilu natvrdo
 * `width:70%` / `width:30%`, takže druhý popisek lámal na 3 řádky
 * a pás přetékal ze svého kontejneru.
 * ------------------------------------------------------------------ */

/* Pás = bílá „plovoucí" pilulka vycentrovaná na hranici sekcí.
   translateY(-50%) místo -56px: pilulka sedí přesně na přechodu
   šedé sekce (formulář) a bílé sekce (tarify). Transform nezabírá
   místo v layoutu, takže se nic pod ní neposune. */
body.pt-redesign .pt-fusion-content .tabs .tab-btns{
  display:flex!important;
  width:-moz-fit-content;width:fit-content;max-width:100%;
  margin:0 auto!important;
  gap:4px;
  padding:5px!important;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow-card);
  transform:translateY(-50%)!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

/* Jedna záložka = pilulka. Neaktivní jemná, hover šedý podklad. */
body.pt-redesign .pt-fusion-content .tabs .tab-btn{
  flex:0 0 auto;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  margin:0!important;
  padding:11px 22px!important;
  border-radius:999px;
  background:transparent!important;
  color:var(--ink-2)!important;
  font-family:'Manrope',sans-serif!important;
  font-size:14.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap;
  text-align:center;
  transform:none!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
body.pt-redesign .pt-fusion-content .tabs .tab-btn:hover{
  background:var(--bg)!important;color:var(--ink)!important}

/* Aktivní záložka = plná červená pilulka s CTA stínem. */
body.pt-redesign .pt-fusion-content .tabs .tab-btn.active{
  background:var(--grad-cta)!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:var(--shadow-cta)!important;
}
/* Vnitřní obal textu nesmí přebíjet barvu/typografii rodiče. */
body.pt-redesign .pt-fusion-content .tabs .tab-btn .tab-btn_title{
  color:inherit!important;font:inherit!important;background:none!important}

/* Panel záložky: původně jemně šedé pozadí rgba(229,229,229,.25)
   a margin 15px 5px 0. Necháváme čistě bílý s vzdušnou mezerou. */
body.pt-redesign .pt-fusion-content .tabs .tab-content.active{
  background-color:transparent!important;
  margin:6px 0 0!important;
}

/* Nadpis `.tab-name` uvnitř panelu duplikuje popisek záložky
   („Optika"). Nemažeme (kvůli SEO), ale děláme z něj drobný
   eyebrow v duchu `.pt-eyebrow`, ne plnohodnotný H3. */
body.pt-redesign .pt-fusion-content .tabs .fusion-title.tab-name{
  margin-bottom:26px!important}
body.pt-redesign .pt-fusion-content .tabs .fusion-title.tab-name h3,
body.pt-redesign .pt-fusion-content .tabs .fusion-title.tab-name h3 p{
  font-family:'Manrope',sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--red-deep)!important;
  text-align:center!important;
}

/* ---------------------------------------------------------------------
 * 2) ODZNAK „OBLÍBENÉ" NA KARTĚ TARIFU
 * `.tab-content .tarify_oblibene .fusion-column-wrapper::before`
 * Původní stav: černý kruh 60×60 otočený o 9°, do kterého se text
 * „Oblíbené" nevešel (přetékal a lezl na nadpis panelu); karta měla
 * navíc `scale(1.075)`, což rozmazávalo text a překrývalo sousedy.
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .tab-content .tarify_oblibene{
  transform:translateY(-10px)!important}
body.pt-redesign .pt-fusion-content .tab-content .tarify_oblibene .fusion-column-wrapper{
  border:1.5px solid var(--red)!important;
  box-shadow:0 14px 40px rgba(227,29,29,.14)!important;
}
/* Z kruhu je pilulka nahoře na středu karty. */
body.pt-redesign .pt-fusion-content .tab-content .tarify_oblibene .fusion-column-wrapper::before{
  width:auto!important;height:auto!important;
  top:-13px!important;right:auto!important;left:50%!important;
  transform:translateX(-50%)!important;
  padding:6px 15px!important;
  border-radius:999px!important;
  background:var(--grad-cta)!important;
  color:#fff!important;
  font-family:'Manrope',sans-serif!important;
  font-size:11.5px!important;font-weight:800!important;line-height:1!important;
  letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;
  box-shadow:var(--shadow-cta)!important;
}

/* Cena a popisky v kartě tarifu (původně Roboto Condensed 24px). */
body.pt-redesign .pt-fusion-content .tabs .tarify_cena span{
  font-family:'Space Grotesk',sans-serif!important;
  font-size:27px!important;font-weight:700!important;
  color:var(--ink)!important;letter-spacing:-.01em}
body.pt-redesign .pt-fusion-content .tabs .price_disc{
  font-size:13.5px!important;color:var(--ink-3)!important}

/* ---------------------------------------------------------------------
 * 3) „CHECKLISTY" — CHYBĚJÍCÍ IKONY
 * `.fusion-checklist .fusion-li-item > .icon-wrapper > i.fusion-li-icon`
 * Původní stav: ikona je Font Awesome 5 (`fa-check-circle`), ale font
 * se na webu VŮBEC NENAČÍTÁ (document.fonts.check() = false), takže
 * odrážky byly neviditelné a zbyl jen prázdný odsazený text.
 * Řešení: fajfku kreslíme sami CSS maskou (SVG data-URI), aby to
 * nezáviselo na Font Awesome. Barva z tokenů.
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .fusion-checklist .fusion-li-item{
  padding:4px 0!important}
body.pt-redesign .pt-fusion-content .fusion-checklist .icon-wrapper{
  display:flex!important;align-items:center;justify-content:center;
  width:22px!important;height:22px!important;
  margin-right:10px!important;
  border-radius:50%;
  background:var(--tint-2);
}
body.pt-redesign .pt-fusion-content .fusion-checklist .fusion-li-icon{
  display:block!important;
  width:12px;height:12px;
  font-size:0!important;line-height:0!important;
  background-color:var(--red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* Text položky měl inline margin-left:38.4px (dopočítané k původní
   ikoně 27,2 px). Nová odrážka je 22+10 px, tak text dorovnáme. */
body.pt-redesign .pt-fusion-content .fusion-checklist .fusion-li-item-content{
  margin-left:32px!important}

/* ---------------------------------------------------------------------
 * 4) TIP / POZNÁMKA POD KARTOU („Nevíte si rady…", „Ověřit dostupnost")
 * `.text-tip` + `i.fontawesome-icon.fa-info-circle`
 * Původní stav: `::before` kreslil tvrdé linky 1px #efefef nad a pod
 * blokem (přes celou šířku karty, natažené o -2rem do stran) a ikona
 * „i" byla neviditelná (opět Font Awesome), zbyl jen odsazený text.
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .text-tip{
  align-items:center!important;
  gap:10px;
  padding:12px 14px!important;
  margin-top:18px;
  background:var(--bg);
  border:1px solid var(--line-2);
  border-radius:14px;
}
body.pt-redesign .pt-fusion-content .text-tip::before{display:none!important}
body.pt-redesign .pt-fusion-content .text-tip>i.fontawesome-icon{
  flex:0 0 auto;
  width:18px;height:18px;
  margin:0!important;
  font-size:0!important;line-height:0!important;
  background-color:var(--red)!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1.4 16h-2.8v-7h2.8v7zM12 9.4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1.4 16h-2.8v-7h2.8v7zM12 9.4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.pt-redesign .pt-fusion-content .text-tip .fusion-text p{
  margin:0!important;font-size:14.5px!important;line-height:1.45!important}

/* ---------------------------------------------------------------------
 * 5) ČÍSLOVANÉ KROKY „Jak si objednat internet u nás"
 * `.container_jaksiobjednat .column_postup .postup_cislo`
 * Původní stav: černý kruh 40 px s Roboto Condensed, nalepený na
 * hranu karty. (Samotná karta už radius/stín z obecného pravidla má.)
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .postup_cislo{
  width:46px!important;height:46px!important;
  left:calc(50% - 23px)!important;top:-23px!important;
  background:var(--grad-cta)!important;
  border:3px solid #fff;
  box-shadow:var(--shadow-cta)!important;
  font-family:'Space Grotesk',sans-serif!important;
  font-size:19px!important;font-weight:700!important;
  color:#fff!important;
}
body.pt-redesign .pt-fusion-content .postup_cislo p{margin:0!important;line-height:1!important}

/* ---------------------------------------------------------------------
 * 6) PŘEPÍNAČ „Zobrazit více / Zobrazit méně"
 * `.zobrazitvice` (klikací sloupec, JS: scripts.js -> .containertoggle)
 * Původní stav: obyčejný odstavec vycentrovaného textu, nic
 * nenaznačovalo, že je klikací.
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .zobrazitvice{cursor:pointer}
body.pt-redesign .pt-fusion-content .zobrazitvice .fusion-text{text-align:center}
body.pt-redesign .pt-fusion-content .zobrazitvice .fusion-text p{
  display:inline-flex;align-items:center;gap:8px;
  margin:0 auto!important;
  padding:11px 24px!important;
  border:1.5px solid var(--line)!important;
  border-radius:999px;
  background:#fff;
  color:var(--ink)!important;
  font-family:'Manrope',sans-serif!important;
  font-size:14.5px!important;font-weight:800!important;line-height:1.2!important;
  transition:border-color .18s ease,color .18s ease,background .18s ease;
}
body.pt-redesign .pt-fusion-content .zobrazitvice:hover .fusion-text p{
  border-color:var(--red)!important;color:var(--red)!important;background:var(--tint-2)}
/* Šipka: dolů u „více", nahoru u „méně" (druhý výskyt má .zobrazitmene). */
body.pt-redesign .pt-fusion-content .zobrazitvice .fusion-text p::after{
  content:"";width:11px;height:11px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.pt-redesign .pt-fusion-content .zobrazitvice.zobrazitmene .fusion-text p::after{
  transform:rotate(180deg)}

/* ---------------------------------------------------------------------
 * 7) ROZBALOVANÝ CENÍK TARIFŮ (pod „Zobrazit více")
 * `.containertoggle .ponuka-sluzieb > .fusion-column-wrapper`
 * (řádek = logo | název | rychlost | cena | tlačítko `.konkretna-sluzba`)
 * Původní stav: hranatý box s tvrdým rozmazaným šedým stínem #efefef,
 * hover přebarvoval celý řádek do růžova; vnitřní sloupce měly
 * `max-height:100px!important`, takže delší texty vytékaly do
 * dalšího řádku a překrývaly se.
 * ------------------------------------------------------------------ */
body.pt-redesign .pt-fusion-content .ponuka-sluzieb>.fusion-column-wrapper{
  border:1px solid var(--line-2)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
  transition:box-shadow .25s ease,border-color .25s ease,background .25s ease!important;
}
body.pt-redesign .pt-fusion-content .ponuka-sluzieb>.fusion-column-wrapper:hover{
  background:#fff!important;
  border-color:var(--line)!important;
  box-shadow:var(--shadow-hover)!important;
}
/* Zrušení stropu 100 px -> text se přestane překrývat s dalším řádkem. */
body.pt-redesign .pt-fusion-content .ponuka-sluzieb .konkretna-sluzba .fusion-column-wrapper{
  max-height:none!important}
body.pt-redesign .pt-fusion-content .ponuka-sluzieb .konkretna-sluzba .fusion-text p{
  font-size:15px!important;line-height:1.45!important}

/* ---------------------------------------------------------------------
 * 8) HLÁŠKA FORMULÁŘE (CF7 response) — Avada „alert"
 * `.fusion-alert.wpcf7-response-output` + `.close.toggle-alert`
 * Scope je `body.pt-redesign` (bez `.pt-fusion-content`), protože stejná
 * hláška se objevuje i u formulářů nové šablony.
 * Původní stav: hranatý rámeček 1px, systémová červená #f00,
 * Roboto Condensed; zobrazí se po odeslání formuláře.
 * ------------------------------------------------------------------ */
body.pt-redesign .fusion-alert.wpcf7-response-output{
  border:1px solid var(--red)!important;
  border-radius:14px!important;
  background:var(--tint-2)!important;
  color:var(--chip-ink)!important;
  padding:14px 44px 14px 16px!important;
  font-family:'Manrope',sans-serif!important;
  font-size:14.5px!important;font-weight:700!important;line-height:1.5!important;
  box-shadow:none!important;
}
body.pt-redesign .fusion-alert.wpcf7-response-output.wpcf7-mail-sent-ok{
  border-color:#65BC7B!important;background:#F1F9F3!important;color:#256B37!important}
body.pt-redesign .fusion-alert .close.toggle-alert{
  border:0!important;background:transparent!important;
  color:inherit!important;opacity:.55;font-size:20px!important;
  line-height:1!important;padding:0 4px!important;cursor:pointer}
body.pt-redesign .fusion-alert .close.toggle-alert:hover{opacity:1}

/* =====================================================================
 * MOBIL / TABLET
 * ===================================================================== */

/* Původní web na ≤1200 px zalamoval karty tarifů do 2 sloupců — to
   necháváme, jen krotíme zvětšenou „oblíbenou" kartu. */
@media only screen and (max-width:1200px){
  body.pt-redesign .pt-fusion-content .tab-content .tarify_oblibene{
    transform:none!important}
}

/* ≤800 px: původní CSS natvrdo nastavovalo `.tab-btn` šířky 70 % / 30 %
   a na ≤600 px `display:block;width:100%`. Přebíjíme -> pilulky vedle
   sebe, a když se nevejdou, scroluje SE PÁS (ne stránka). */
@media only screen and (max-width:800px){
  body.pt-redesign .pt-fusion-content .tabs .tab-btns{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:4px!important;
  }
  body.pt-redesign .pt-fusion-content .tabs .tab-btns::-webkit-scrollbar{display:none}
  body.pt-redesign .pt-fusion-content .tabs .tab-btn{
    width:auto!important;
    padding:10px 15px!important;
    font-size:13px!important;
  }
  /* overflow-x:auto kontejner clipuje velký stín -> na mobilu menší */
  body.pt-redesign .pt-fusion-content .tabs .tab-btn.active{
    box-shadow:0 4px 12px rgba(200,22,22,.30)!important}

  body.pt-redesign .pt-fusion-content .postup_cislo{
    width:42px!important;height:42px!important;
    left:calc(50% - 21px)!important;top:-21px!important;font-size:17px!important}
  body.pt-redesign .pt-fusion-content .text-tip{padding:11px 12px!important}
  body.pt-redesign .pt-fusion-content .tabs .tarify_cena span{font-size:25px!important}
}

/* Velmi úzké displeje: ještě kompaktnější pilulky. */
@media only screen and (max-width:420px){
  body.pt-redesign .pt-fusion-content .tabs .tab-btn{
    padding:10px 13px!important;font-size:12.5px!important}
  body.pt-redesign .pt-fusion-content .zobrazitvice .fusion-text p{
    padding:10px 18px!important;font-size:13.5px!important}
}

/* =========================================================================
   PŮVODNÍ OBSAH — nálezy z auditu článků a městských stránek
   ========================================================================= */

/* Text článku začínal nalepený na hero (mezera 0 px). */
body.pt-redesign .pt-fusion-content>.fusion-fullwidth:first-child{padding-top:56px!important}
/* …a pod poslední sekcí zbývalo ~200 px prázdna. */
body.pt-redesign .pt-fusion-content>.fusion-fullwidth:last-child{padding-bottom:24px!important}

/* Výpis /clanky-z-blogu/ používá layout „medium" (`article.fusion-post-medium`),
   ne `.fusion-post-grid`, na který mířila pravidla pro karty — proto se na něj
   nový vzhled vůbec neaplikoval a vedle moderního archivu rubriky to vypadalo
   jako druhý web. */
body.pt-redesign .pt-fusion-content article.fusion-post-medium{
  border:1px solid var(--line-2);border-radius:16px;background:#fff;
  box-shadow:var(--shadow-card);padding:22px;margin-bottom:22px;
  transition:transform .18s,box-shadow .18s}
body.pt-redesign .pt-fusion-content article.fusion-post-medium:hover{
  transform:translateY(-2px);box-shadow:var(--shadow-hover)}
body.pt-redesign .pt-fusion-content .fusion-meta-info{border-top:0!important;font-size:13px}
/* Odkaz na článek byl anglicky („Read More"). Text nahrazujeme vizuálně —
   Avada ho generuje v šabloně pluginu, ne v obsahu. */
body.pt-redesign .pt-fusion-content a.fusion-read-more{
  font-size:0!important;color:var(--red)!important;font-weight:800}
body.pt-redesign .pt-fusion-content a.fusion-read-more::after{
  content:"Celý článek →";font-size:14.5px;font-family:'Manrope',sans-serif}
body.pt-redesign .pt-fusion-content a.fusion-read-more span{display:none}

/* Stránkování výpisu bylo zarovnané vpravo (Avada default). */
body.pt-redesign .pt-fusion-content .pagination{display:flex;justify-content:center;float:none!important}

/* Obrázky s popiskem (`.wp-caption`) propadaly mimo zakulacení. */
body.pt-redesign .pt-fusion-content .wp-caption img{
  border-radius:min(16px, max(0px, (100% - 240px) * 999)) / 16px}
body.pt-redesign .pt-fusion-content .wp-caption-text{
  font-size:13px;color:var(--ink-3);margin-top:8px}

/* Odznak „Oblíbené" na kartě tarifu: legacy inline CSS mu dává černý kruh
   60×60 s Roboto Condensed, do kterého se text nevejde. Mina: v jednom běhu
   auditu legacy pravidlo vyhrálo a vykreslil se i černý hranatý rámeček
   (změna pořadí CSS, např. WP Rocket combine, ho může vrátit) → proto
   neutralizujeme i rámeček a `scale`. */
body.pt-redesign .pt-fusion-content .tarify_oblibene .fusion-column-wrapper{
  border:1.5px solid var(--red)!important;border-radius:18px!important}
body.pt-redesign .pt-fusion-content .tarify_oblibene .fusion-column-wrapper::before{
  font-family:'Manrope',sans-serif!important;font-size:11.5px!important;letter-spacing:.06em}

/* ---- 404 stránka (šablona redesign-404.php) ---- */
.pt-404{max-width:760px;padding:8px 0 8px}
.pt-404 h1{font-size:52px;line-height:1.06;margin-bottom:6px}
.pt-404-search{display:flex;gap:10px;margin:26px 0 22px;max-width:560px}
.pt-404-search input{flex:1;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);
  color:#fff;border-radius:999px;padding:14px 20px;font-family:'Manrope',sans-serif;font-size:15px}
.pt-404-search input::placeholder{color:var(--ondark-3)}
.pt-404-search input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(227,29,29,.18)}
.pt-404-links{display:flex;flex-wrap:wrap;gap:10px}
.pt-404-links a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 16px;
  font-size:14px;font-weight:700;color:var(--ondark);transition:.18s}
.pt-404-links a:hover{border-color:var(--red);color:#fff;background:rgba(227,29,29,.16)}
@media(max-width:600px){
  .pt-404 h1{font-size:36px}
  .pt-404-search{flex-direction:column}
  .pt-404-search .pt-btn{justify-content:center}
}

/* Loga nově přidaných poskytovatelů ve srovnávací tabulce: zdrojové soubory mají
   různé poměry stran (od 92×80 do 570×80), takže bez sjednocení výšky se
   kvadratická loga jeví velká a široké wordmarky drobné. */
body.pt-redesign .pt-fusion-content img[src*="/2026/07/isp-"]{
  height:34px!important;width:auto!important;max-width:150px;object-fit:contain}
@media(max-width:800px){
  body.pt-redesign .pt-fusion-content img[src*="/2026/07/isp-"]{height:26px!important;max-width:110px}
}

/* ============ MOBILNÍ OPRAVY PŘED SPUŠTĚNÍM (audit 1. 8. 2026) ============ */

/* 1) 🔴 V hamburgeru nešlo dolistovat na KONTAKT. Panel byl `position:absolute`
      uvnitř sticky hlavičky, vysoký 877 px a bez vlastního scrollování — na
      360×640 bylo 7 z 20 položek trvale nedosažitelných. */
@media(max-width:1180px){
  .pt-nav.is-open .pt-menu{
    position:fixed;top:84px;left:0;right:0;
    max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;padding-bottom:24px}
  /* Tap targety podle normy 44 px (byly 36 px). */
  .pt-menu a{padding:13px 18px;font-size:15.5px}
  .pt-sub a{padding:11px 18px}
}

/* 2) 🔴 Tablet na šířku (992–1165 px): desktopové menu se zapínalo od 992 px,
      ale potřebuje 1166 px → tlačítko „Objednávka" leželo mimo obrazovku a
      stránka se posouvala do stran o 142 px. Přepínáme na hamburger až od 1180. */
@media(max-width:1180px){
  .pt-menu{display:none}
  .pt-burger{display:block}
  .pt-nav.is-open .pt-menu{display:flex;flex-direction:column;background:#fff;
    box-shadow:0 18px 40px rgba(15,17,20,.14);gap:2px}
}
@media(min-width:1181px){
  .pt-menu{display:flex}
  .pt-burger{display:none}
}

/* 3) Text pod formulářem měl kontrast 3,14:1 (norma 4,5) a 11,5 px. */
.pt-gdpr{font-size:12.5px;color:#5D646D}
.pt-gdpr a{color:var(--red-deep)}

/* 4) Telefon v horní liště měl tap target 21 px. */
@media(max-width:1180px){
  .pt-topbar .pt-tb-right a{display:inline-block;padding:8px 4px;font-size:14px}
}

/* 5) Široké srovnávací tabulky: na mobilu nebylo poznat, že jedou do stran,
      takže cena a tlačítko zůstaly mimo obrazovku. Přidáváme viditelnou
      nápovědu nad tabulku (jen tam, kde se opravdu scrolluje). */
@media(max-width:800px){
  body.pt-redesign .pt-fusion-content div[class^="table-"]{position:relative}
  body.pt-redesign .pt-fusion-content div[class^="table-"]::before{
    content:"Tabulka pokračuje vpravo — posuňte prstem →";
    display:block;font-size:12.5px;font-weight:700;color:var(--red-deep);
    background:var(--tint-2);border-radius:10px;padding:7px 12px;margin-bottom:10px;
    position:sticky;left:0}
  /* Na produkci běží plugin magic-liquidizer: na mobilu původní tabulku skryje
     a nahradí ji rozloženým seznamem (`.ml-responsive-table`). Nápověda
     o posouvání do stran by pak ukazovala na nic — v takovém případě ji zrušíme.
     Na sandboxu bez pluginu se nic nemění. */
  body.pt-redesign .pt-fusion-content div[class^="table-"]:has(.ml-responsive-table)::before{
    content:none}
}

/* 🔴 KONVERZE: plugin s reCAPTCHou schová `input[type=submit]` a vloží místo něj
   `input[type=button].recaptcha-btn`. Naše styly mířily jen na submit, takže se
   hlavní tlačítko po načtení captchy zmenšilo ze 400×51 na 207×57 a změnilo
   vzhled. Stylujeme obojí stejně. */
.pt-form-card .wpcf7 input[type=button].recaptcha-btn,
.pt-form-card .wpcf7 input.recaptcha-btn{
  width:100%;background:var(--grad-cta);color:#fff;border:0;border-radius:999px;
  padding:15px 24px;font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;
  cursor:pointer;box-shadow:var(--shadow-cta);transition:transform .2s,box-shadow .2s}
.pt-form-card .wpcf7 input.recaptcha-btn:hover{transform:translateY(-1px)}
body.pt-redesign .pt-fusion-content input.recaptcha-btn{
  border:0!important;border-radius:999px!important;background:var(--grad-cta)!important;
  color:#fff!important;font-family:'Manrope',sans-serif!important;font-weight:800!important;
  font-size:15.5px!important;padding:14px 28px!important;box-shadow:var(--shadow-cta)!important}


/* 🔴 USTŘIŽENÝ TEXT NA MOBILU (/televize-pres-internet/).
   Starý obsah té stránky používá bootstrapový `.container` a v Avada compiled CSS je
   `.container{width:750px}` už od `@media (min-width: 0px)` — mělo tam být 768px.
   Blok se tím na mobilu roztáhl na 750 px ve 390px okně, a protože stránka neposouvá
   do stran, byl nadpis „Co vše získáte s televizí přes internet?" i celý odstavec
   ustřižený a nedostupný. Ověřeno: platí i na produkci, není to regrese redesignu. */
@media(max-width:800px){
  body.pt-redesign .container{width:auto!important;max-width:100%!important}
}


/* ============================================================
   OPRAVY Z PŘEDPRODUKČNÍHO VIZUÁLNÍHO AUDITU (1. 8. 2026)
   ============================================================ */

/* 🔴 MOBILNÍ MENU PŘEKRÝVALO HLAVIČKU.
   Panel měl `position:fixed; top:84px` — 84 px je ale VÝŠKA navigace, ne její
   odstup od horní hrany okna. Hlavička je s horní lištou vysoká 140 px, takže
   panel rozřízl logo i tlačítko „Objednávka" a z hamburgeru zbývalo 9 px,
   čímž se menu nedalo zavřít. `absolute; top:100%` drží panel přesně pod
   navigací i po odscrollování, kdy horní lišta odjede a navigace se přilepí. */
@media(max-width:1180px){
  .pt-nav.is-open .pt-menu{
    position:absolute;top:100%;left:0;right:0;
    max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  /* Prvky hlavičky musí zůstat NAD panelem — panel je pozicovaný, a tak by
     jinak přebil staticky umístěné logo, tlačítko i hamburger. */
  .pt-nav-logo,.pt-nav .pt-btn,.pt-burger{position:relative;z-index:2}
}

/* 🔴 FORMULÁŘ DOSTUPNOSTI BYL NA MOBILU MIMO OBRAZOVKU (/overeni-dostupnosti-internetu/).
   Původní CSS webu má `#dostupnost .fusion-builder-row.fusion-row{display:flex}`
   bez zalamování, takže se dva sloupce na mobilu nezlomily pod sebe: pole adresa,
   telefon a e-mail začínala na x=263 ve 390px okně a ~80 px z nich bylo nedostupných
   (stránka se neposouvá do stran). Je to hlavní stránka pro sběr poptávek.
   ⚠️ Ověřeno, že totéž je i na produkci — není to regrese redesignu. */
@media(max-width:900px){
  body.pt-redesign .pt-fusion-content #dostupnost .fusion-builder-row.fusion-row{
    flex-wrap:wrap}
  body.pt-redesign .pt-fusion-content #dostupnost .fusion-layout-column,
  body.pt-redesign .pt-fusion-content #dostupnost .fusion-column-wrapper{
    width:100%!important;max-width:100%!important;
    margin-left:0!important;margin-right:0!important;float:none!important}
  body.pt-redesign .pt-fusion-content #dostupnost .wpcf7,
  body.pt-redesign .pt-fusion-content #dostupnost .wpcf7-form,
  body.pt-redesign .pt-fusion-content #dostupnost .form-wrapper,
  body.pt-redesign .pt-fusion-content #dostupnost .wpcf7-form-control-wrap,
  body.pt-redesign .pt-fusion-content #dostupnost input[type=text],
  body.pt-redesign .pt-fusion-content #dostupnost input[type=tel],
  body.pt-redesign .pt-fusion-content #dostupnost input[type=email]{
    width:100%!important;max-width:100%!important;box-sizing:border-box}
}
/* =========================================================================
   PŘÍSTUPNOST — záplata pro redesign (test.pripojto.cz)
   -------------------------------------------------------------------------
   Vytvořeno 2026-08-01. Připojit NA KONEC `assets/redesign.css`.
   Blok je samostatný, nic z existující vrstvy nepřepisuje jinak než barvou
   a rozměrem klikacích ploch. Všechny selektory jsou zaklíčované na
   `body.pt-redesign`, takže mimo redesign se neuplatní.

   Co řeší (naměřeno Playwrightem, pozadí čteno z PIXELŮ — ne z CSS,
   protože sekce mají gradientní pozadí a výpočet z `background-color`
   by je špatně považoval za bílé):
     1) kontrast textu pod 4,5 : 1
     2) klikací plochy pod 44×44 px na mobilu
     3) sazba původních SEO textů narvaná do levé poloviny na 1440 px
     4) nečitelný podtitulek v bitmapovém logu
   ========================================================================= */


/* =========================================================================
   1) KONTRAST TEXTU
   ========================================================================= */

/* --- 1a) Drobný šedý text na světlém pozadí -------------------------------
   `--ink-3` (#8B929B) je použitý u VŠECH drobných popisků na světlém
   pozadí: `.pt-tmeta` („↑ 250 Mb/s nahrávání · až 15 zařízení"),
   `.pt-tafter` („po 6 měsících 249 Kč"), `.pt-rev-person small`
   („Brno · Optika 500"), `.pt-bmeta`, `.pt-kinfo-note`, `.pt-gdpr`,
   `.wp-caption-text`, placeholdery formulářů.
   Naměřeno 3,14 : 1 na bílé a 2,94 : 1 na #F7F7F8 při 12,5 px — hluboko
   pod 4,5 : 1. Místo přepisování deseti selektorů posouváme jednu proměnnou:
   stejný modrošedý odstín, jen tmavší (#686F78) → 5,08 : 1 na bílé,
   4,75 : 1 na #F7F7F8. Ověřeno, že `--ink-3` se NIKDE nepoužívá na tmavém
   pozadí (tam je vlastní řada `--ondark-*`), takže ztmavení nemůže nic
   rozbít. Ne černá — zůstává „utlumený" popisek. */
body.pt-redesign{
  --ink-3:#686F78;
}

/* --- 1b) Hvězdičky u referencí -------------------------------------------
   `.pt-rcard .stars` mělo korálovou #FF8A80 na #F7F7F8 = 2,13 : 1.
   Korálová je návrhem myšlená pro TMAVÉ sekce (v hero na #101215 dává
   8,22 : 1 a zůstává). Na světlé kartě používáme tmavší odstín téže
   červené rodiny, `--red-deep` (#C11616) → 5,78 : 1.
   Specificita 0,2,0 = stejná jako u původního pravidla, ale tento blok je
   v souboru později, takže vyhrává. */
body.pt-redesign .pt-rcard .stars{color:var(--red-deep)}

/* --- 1c) Odkazy v hlavní navigaci a v dropdownech ------------------------
   Naměřeno 3,68 : 1 (nav) a 3,23 : 1 (nav ve stavu :hover na #FBEDED).
   Příčina NENÍ v redesignu: Avada compiled CSS má pravidlo
   `… , body a, body a::after, body a::before { color:#f44336 }`
   (materiálová červená, ne brandová). Redesign proti tomu staví jen
   `a{color:inherit}` se specificitou 0,0,1, což prohrává s `body a`
   (0,0,2). Nestačí tedy pořadí v souboru — potřebujeme specificitu
   s třídou. `!important` ZDE NENÍ potřeba, protože 0,2,1 > 0,0,2. */
body.pt-redesign .pt-menu a{color:var(--ink)}
body.pt-redesign .pt-sub a{color:var(--ink)}
/* Aktivní položka smí zůstat červená, ale v tmavším odstínu: #E31D1D by na
   růžové pilulce #FBEDED dalo 4,13 : 1, #C11616 dává 5,43 : 1.
   Specificita 0,3,1 → přebije pravidlo pro běžné položky nad tímto řádkem
   (0,2,1) i po přidání dalších pravidel. */
body.pt-redesign .pt-menu a.is-active{color:var(--red-deep)}

/* --- 1d) `.st-note` na /mereni-rychlosti-internetu/ ----------------------
   Poznámka pod tachometrem měla #6F757C na #0F1114 = 4,06 : 1.
   Řada „na tmavém" už tón pro tenhle případ má: `--ondark-3` (#9BA3AD)
   → 7,42 : 1. Původní pravidlo je `.st-note` (0,1,0) z <style> ŠABLONY,
   které se načítá dřív než náš soubor; specificita 0,2,0 ho přebije
   bez `!important`. */
body.pt-redesign .st-note{color:var(--ondark-3)}

/* --- 1e) Červené odkazy na světle šedém pozadí ---------------------------
   `--red` (#E31D1D) dává na bílé 4,71 : 1 (projde), ale na #F7F7F8
   (pozadí sekcí `.pt-origtext`, `.pt-kinfo`, `.pt-reviews`) jen 4,40 : 1.
   Postiženo: `.pt-more` („obchod@pripojto.cz →", „Zjistit více →")
   a odkazy v původních SEO textech. Řešení: tmavší odstín téže rodiny
   `--red-deep` → 5,78 : 1 na #F7F7F8, 6,19 : 1 na bílé. */
body.pt-redesign .pt-more{color:var(--red-deep)}
/* `!important` je tu nutné: pravidlo, které přepisujeme
   (`… .pt-fusion-content .fusion-text a{color:var(--red)!important}` ve
   stávající vrstvě), samo `!important` má — bez něj bychom neprošli.
   Stejná specificita + později v souboru = vyhrává. */
body.pt-redesign .pt-fusion-content .fusion-text a{color:var(--red-deep)!important}
body.pt-redesign .pt-fusion-content li a{color:var(--red-deep)!important}
body.pt-redesign .pt-kinfo-note a{color:var(--red-deep)}


/* =========================================================================
   2) KLIKACÍ PLOCHY 44 × 44 px (jen dotyková šířka ≤ 992 px)
   -------------------------------------------------------------------------
   Dvě různé techniky podle toho, jestli odkaz stojí samostatně:
     a) SAMOSTATNÉ odkazy (patička, seznamy, legální řádek, „→" odkazy,
        drobečky, hlava FAQ, Fusion tlačítka) → skutečná `min-height:44px`.
     b) Odkazy UVNITŘ VĚTY → `min-height` nelze, roztáhlo by řádkování
        odstavce. Použit neviditelný `::after` překryv MIMO tok, sazba se
        tedy nemění (podrobně u pravidla níž).
   Rozsah omezen na ≤ 992 px, aby se desktopová patička nenatáhla;
   na myš je 19px cíl nepříjemný, ale ne blokující.
   ========================================================================= */
@media (max-width:992px){

  /* --- Patička: 10 odkazů na stránku, výška 19 px ------------------------
     `gap:10px` na `ul` rušíme, protože rozestup teď vytváří sama 44px
     výška položky — jinak by patička narostla dvakrát. Odkaz roztahujeme
     na celou šířku sloupce, takže cíl je 44 px vysoký a ~150 px široký. */
  body.pt-redesign .pt-footer ul{gap:0}
  body.pt-redesign .pt-footer ul li{display:flex}
  body.pt-redesign .pt-footer ul li a{
    display:flex;align-items:center;min-height:44px;width:100%;
  }

  /* --- Legální řádek v patičce (OP · GDPR · Nastavení cookies) ----------
     `a.pt-cookie-open` bylo 105 × 17 px. Řádek obsahuje jen odkazy
     a oddělovače „·", žádný běžný text, takže zvětšení nerozhodí sazbu —
     jen se zvýší řádek. */
  body.pt-redesign .pt-copy a{
    display:inline-flex;align-items:center;min-height:44px;
  }
  /* `.pt-copy` už je flex s `gap:16px;flex-wrap:wrap` — nic dalšího netřeba. */

  /* --- Odkazové seznamy na /kontakt/ (`.pt-klinks`) 115 × 21 px --------- */
  body.pt-redesign .pt-klinks{gap:0}
  body.pt-redesign .pt-klinks a{
    display:flex;align-items:center;min-height:44px;
  }

  /* --- „→" odkazy (`.pt-more`) 170 × 19 px, vždy na samostatném řádku --- */
  body.pt-redesign .pt-more{
    display:inline-flex;align-items:center;min-height:44px;
  }

  /* --- Telefon / e-mail v kartách a v hero kontaktu 121 × 21 px --------- */
  body.pt-redesign .pt-kinfo-tel,
  body.pt-redesign .pt-kcard a,
  body.pt-redesign .pt-feat a,
  body.pt-redesign .pt-topbar .pt-tb-right a{
    display:inline-flex;align-items:center;min-height:44px;
  }

  /* --- Drobečková navigace (32 × 22 px) a rozbalovací FAQ (304 × 25,6) --
     Oba prvky stojí samostatně (řádek drobečků / hlava akordeonu),
     takže se dají zvětšit bez dopadu na sazbu. `.pt-crumbs` i
     `.pt-faq-item summary` už jsou flex s `align-items:center`,
     stačí tedy doplnit minimální výšku. */
  body.pt-redesign .pt-crumbs a,
  body.pt-redesign .st-crumbs a{
    display:inline-flex;align-items:center;min-height:44px;
  }
  body.pt-redesign .pt-faq-item summary{min-height:44px}

  /* --- Fusion tlačítka v původním obsahu: 175 × 41,4 px -----------------
     Chybí jim 2,6 px. Padding měnit nechceme (stávající vrstva ho drží
     `!important` kvůli pilulkovému vzhledu), přidáme jen minimální výšku
     a vycentrujeme obsah. */
  body.pt-redesign .pt-fusion-content .fusion-button{
    display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  }

  /* --- Odkazy v původním obsahu (vč. `a.conditions`, 73 × 17 px) --------
     Tyhle odkazy JSOU uvnitř vět („Odesláním formuláře souhlasíte
     s podmínkami a s …", prolinky ve SEO textech), takže `min-height`
     použít nelze — roztáhlo by řádkování odstavců, což je přesně to,
     co nechceme. Použit proto neviditelný překryv `::after`:
     je `position:absolute`, tedy MIMO tok → sazba se nezmění ani o pixel,
     ale prst má k dispozici 44 px na výšku.
     Cena za to: překryv přesahuje ~13 px nad a pod řádek, takže může
     „krást" kliknutí odkazu na sousedním řádku. OVĚŘENO empiricky
     (`test_click_theft.py`: pro každý ŘÁDKOVÝ FRAGMENT každého odkazu se
     ověří, že `elementFromPoint` na jeho středu vrací týž odkaz) na
     12 stránkách × 2 šířkách: **0 krádeží** — stejně jako před záplatou.
     ⚠️ Rozsah proto NEROZŠIŘOVAT bez opakování tohoto testu. Souhlasová
     věta `.pt-gdpr` (dva odkazy pod sebou) měřením 8× krádež ukázala,
     proto se jí tenhle blok NETÝKÁ — viz `.md`, bod „co neopraveno".
     Vylučujeme Fusion tlačítka (řeší je pravidlo výš) — `content:""`
     by jim navíc mohlo přebít ikonu. `:is(p,li) a` pokrývá i odkazy
     zanořené v `<em>`, `<strong>`, `<b>`, `<span>`.
     POZOR na specificitu: `:is()` i `:not()` přebírají specificitu svého
     argumentu. `:is(p,li)` = 0,0,1 (element), `:not(.fusion-button)` =
     0,1,0 (třída). Celek = 0,3,1 — nic v souboru s tím nekoliduje. */
  body.pt-redesign .pt-fusion-content :is(p,li) a:not(.fusion-button){position:relative}
  body.pt-redesign .pt-fusion-content :is(p,li) a:not(.fusion-button)::after{
    content:"";position:absolute;left:0;right:0;top:50%;
    height:44px;transform:translateY(-50%);
  }
}


/* =========================================================================
   3) DESKTOP 1440 — PRÁZDNÁ PRAVÁ POLOVINA U PŮVODNÍCH SEO TEXTŮ
   -------------------------------------------------------------------------
   DIAGNÓZA (naměřeno na 1440 px):
   Šířku NEDRŽÍ `.pt-origtext` (ta je 1440 px) ani Fusion sloupec
   (`1268 px @ x=86`), ale pravidlo ze stávající vrstvy
   `… .pt-fusion-content .fusion-text p{max-width:72ch}`, které se
   v Manrope 16,5 px vyhodnotí na přesně 720 px. Odstavec je ale
   ZAROVNANÝ VLEVO v 1268px sloupci → 634 px prázdna vpravo
   (44 % viewportu). Nadpisy (`.fusion-title`) přitom max-width nemají
   a jdou přes celých 1268 px, takže bloky ani nesedí na jedné ose.

   ŘEŠENÍ: míru sazby drží OBAL (`.fusion-text`, `.fusion-title`), ne
   jednotlivé odstavce, a obal se centruje `margin-inline:auto`. Nadpisy
   i text tak leží na stejné svislé ose = na ose sekce. Míra 660 px
   ≈ 80 znaků (720 px byla ~87 znaků, tedy i tak nad doporučením).
   Bez media query: v užších sloupcích (213 / 254 / 609 px) je
   `max-width:660px` neúčinná a `margin-inline:auto` u bloku bez pevné
   šířky nic nedělá — mobil i tablet zůstávají beze změny.

   `:not(:has(table))` chrání jediný nalezený případ, kdy je v `.fusion-text`
   široká tabulka (ta by se zúžením zdeformovala). V prohlížeči bez
   `:has()` celé pravidlo propadne = bezpečný fallback na dnešní stav. */
body.pt-redesign .pt-fusion-content .fusion-column-wrapper > .fusion-text:not(:has(table)),
body.pt-redesign .pt-fusion-content .fusion-column-wrapper > .fusion-title{
  max-width:660px;
  margin-inline:auto;
}
/* Když míru drží obal, vnitřní `max-width:72ch` už jen odsazuje text doleva
   uvnitř vycentrovaného bloku — proto se ruší. Stejná specificita (0,3,1)
   jako u původního pravidla, ale později v souboru → vyhrává. */
body.pt-redesign .pt-fusion-content .fusion-text p,
body.pt-redesign .pt-fusion-content .fusion-text ul,
body.pt-redesign .pt-fusion-content .fusion-text ol{
  max-width:none;
}

/* POZOR na falešný poplach: odstavce široké 155–213 px (~21–26 znaků)
   NEJSOU chyba téhle vrstvy — jsou to původní Fusion sloupce 4× tarif
   (`fusion-layout-column` 254 px) a bublina `.text-tip` (213 px).
   Zúžení je tam autorský záměr, proto se jich nedotýkáme. */


/* =========================================================================
   4) LOGO — NEČITELNÝ PODTITULEK
   -------------------------------------------------------------------------
   Zdroj `uploads/2017/03/987new.png` je 229 × 100 px. Analýza pixelů:
     y   0– 35  dekorativní síťový graf
     y  36– 69  wordmark „PŘIPOJTO.CZ"
     y  70– 89  prázdný pás
     y  90– 99  podtitulek „INTERNET PRO KOHOKOLI, KDEKOLI" (jen 10 px!)
   Podtitulek má tedy i v ORIGINÁLU výšku ~9 px, což je na hranici
   čitelnosti; při zobrazení na 48 px z původních 100 px (0,48×) z něj
   zbývají ~4,3 px a písmena se slévají. CSS to nespraví — chybí pixely.

   Nejlepší dostupné řešení bez zásahu do HTML a bez nového obrázku:
   podtitulek ODŘÍZNOUT (obal s `overflow:hidden`) a získané místo dát
   wordmarku, který se tím zvětší o ~30 %. Řez padne do prázdného pásu
   y 70–89, takže se neukusuje žádné písmeno.
     obrázek 64 px vysoký → měřítko 0,64 → viditelné pásmo 48/0,64 = 75 px
     zdroje (graf + wordmark + 6 px vzduchu); podtitulek začíná až
     na 90 × 0,64 = 57,6 px, tedy pod hranou boxu.
   Text „INTERNET PRO KOHOKOLI, KDEKOLI" nezmizí pro odečítače obrazovky —
   ten čte `alt="PřipojTo.cz"`, který se nemění; podtitulek v něm nikdy
   nebyl. SPRÁVNÉ řešení je nové logo ve vyšším rozlišení (ideálně SVG),
   viz `.md`. */
body.pt-redesign .pt-nav-logo{
  display:block;overflow:hidden;height:48px;line-height:0;
}
body.pt-redesign .pt-nav-logo img{height:64px;width:auto}

/* Patička — stejný řez, o něco menší box (logo je zde invertované do bílé). */
body.pt-redesign .pt-flogo{
  display:inline-block;overflow:hidden;height:44px;line-height:0;
}
body.pt-redesign .pt-flogo img{height:58px;width:auto}

@media (max-width:992px){
  /* Na mobilu logo o kousek zmenšíme, aby se do lišty vešel i hamburger
     a CTA, ALE nesmí spadnout pod 44 px — je to klikací odkaz na domovskou
     stránku (v prvním návrhu jsem měl 40 px a měření to odhalilo jako
     nově vzniklý malý cíl). Kontrola řezu: 44/0,59 = 74,6 px zdroje je
     vidět, podtitulek začíná na 90 × 0,59 = 53,1 px → zůstává odříznutý. */
  body.pt-redesign .pt-nav-logo{height:44px}
  body.pt-redesign .pt-nav-logo img{height:59px}
}
