/*
Theme Name: Pesek 2026
Theme URI: https://peseksro.cz/
Description: Vlastni design pro Pesek s.r.o. - montaze a stavby. Child theme tematu Astra.
Author: Pesek s.r.o.
Template: astra
Version: 1.0.0
Text Domain: pesek-2026
*/

:root{
    --navy:#1F2355; --navy-700:#2C3170;
    --blue:#4897E0; --blue-deep:#2E78BF; --violet:#5D59A8;
    --violet-soft:#BFBBE2; --blue-soft:#B8D0E6;

    --brand-1:#1F2355; --brand-2:#5D59A8;
    --brand-btn-1:#2E78BF; --brand-btn-2:#5D59A8;
    --on-brand:#FFFFFF;
    --photo-mat:linear-gradient(158deg,#DCE7F8 0%,#E6E2F4 55%,#EFF3FB 100%);

    --ground:#F1F4FB; --ground-2:#E7ECF8;
    --surface:#FFFFFF; --surface-2:#F8FAFF;
    --glass:rgba(255,255,255,.72);
    --line:#D9E0F0; --line-soft:#E8EDF8;
    --ink:#1F2355; --ink-soft:#565C88; --ink-faint:#7A80A5;
    --on-accent:#FFFFFF;

    --shadow-soft:0 1px 2px rgba(31,35,85,.05), 0 12px 32px -14px rgba(31,35,85,.20);
    --shadow-lift:0 2px 6px rgba(31,35,85,.07), 0 30px 60px -22px rgba(31,35,85,.34);

    --r-xl:34px; --r-lg:26px; --r-md:20px; --r-sm:12px;

    --display:"Archivo","Helvetica Neue",Arial,sans-serif;
    --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
    --gutter:clamp(18px,4vw,40px);
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --navy:#C9D3F2; --navy-700:#AFBCE6;
      --blue:#6FAEE9; --blue-deep:#8CC0EF; --violet:#918DD4;
      --violet-soft:#4A4780; --blue-soft:#3B5474;
      --brand-1:#262B60; --brand-2:#57539F;
      --ground:#12142B; --ground-2:#181B38;
      --surface:#1B1F3D; --surface-2:#20244A;
      --glass:rgba(27,31,61,.74);
      --line:#31366A; --line-soft:#282C55;
      --ink:#E9ECFA; --ink-soft:#A8AFD4; --ink-faint:#868DB6;
      --on-accent:#12142B;
      --shadow-soft:0 1px 2px rgba(0,0,0,.32), 0 12px 32px -14px rgba(0,0,0,.60);
      --shadow-lift:0 2px 6px rgba(0,0,0,.38), 0 30px 60px -22px rgba(0,0,0,.70);
    }
  }
  :root[data-theme="dark"]{
    --navy:#C9D3F2; --navy-700:#AFBCE6;
    --blue:#6FAEE9; --blue-deep:#8CC0EF; --violet:#918DD4;
    --violet-soft:#4A4780; --blue-soft:#3B5474;
    --brand-1:#262B60; --brand-2:#57539F;
    --ground:#12142B; --ground-2:#181B38;
    --surface:#1B1F3D; --surface-2:#20244A;
    --glass:rgba(27,31,61,.74);
    --line:#31366A; --line-soft:#282C55;
    --ink:#E9ECFA; --ink-soft:#A8AFD4; --ink-faint:#868DB6;
    --on-accent:#12142B;
    --shadow-soft:0 1px 2px rgba(0,0,0,.32), 0 12px 32px -14px rgba(0,0,0,.60);
    --shadow-lift:0 2px 6px rgba(0,0,0,.38), 0 30px 60px -22px rgba(0,0,0,.70);
  }

  /* --- napojení Bootstrapu na barvy Pešek --- */
  :root{
    --bs-body-font-family:var(--body);
    --bs-body-font-size:17px;
    --bs-body-line-height:1.65;
    --bs-body-color:var(--ink);
    --bs-body-bg:var(--ground);
    --bs-border-color:var(--line);
    --bs-primary:var(--brand-btn-1);
    --bs-link-color:var(--blue-deep);
    --bs-link-hover-color:var(--violet);
    --bs-border-radius:var(--r-sm);
    --bs-border-radius-lg:var(--r-md);
    --bs-border-radius-xl:var(--r-lg);
    --bs-emphasis-color:var(--ink);
    --bs-secondary-color:var(--ink-soft);
  }

  body{
    margin:0;background:var(--ground);color:var(--ink);
    font-family:var(--body);font-size:17px;line-height:1.65;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.1;text-wrap:balance;letter-spacing:-.02em;color:var(--ink)}
  p{margin:0}
  a{color:inherit;text-decoration:none}
  img{max-width:100%}
  :focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:6px}

  .shell{width:100%;max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}
  .label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}

  /* ---------- navbar ---------- */
  .site-head{
    position:sticky;top:0;z-index:1040;
    background:color-mix(in srgb, var(--ground) 84%, transparent);
    backdrop-filter:saturate(150%) blur(14px);
    border-bottom:1px solid var(--line-soft);
  }
  .site-head .navbar{padding:0}
  .head-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;width:100%}
  .brand{display:flex;align-items:center;flex:0 0 auto;background:none;border:0;padding:0;cursor:pointer}
  .brand img{height:38px;width:auto}
  .brand .logo-dark{display:block}
  .brand .logo-light{display:none}
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .brand .logo-dark{display:none}
    :root:not([data-theme="light"]) .brand .logo-light{display:block}
  }
  :root[data-theme="dark"] .brand .logo-dark{display:none}
  :root[data-theme="dark"] .brand .logo-light{display:block}

  .nav-links{display:flex;align-items:center;gap:4px}
  .nav-links button{
    font:inherit;font-size:15px;font-weight:500;background:none;border:0;cursor:pointer;
    color:var(--ink-soft);padding:9px 15px;border-radius:999px;
    transition:background .18s ease,color .18s ease;
  }
  .nav-links button:hover{color:var(--ink);background:var(--ground-2)}
  .nav-links button[aria-current="page"]{color:var(--navy);background:var(--surface);box-shadow:var(--shadow-soft);font-weight:600}
  .head-cta{
    display:inline-flex;align-items:center;gap:8px;
    font-weight:600;font-size:15px;color:var(--on-accent);background:var(--navy);
    padding:11px 19px;border-radius:999px;white-space:nowrap;
    transition:transform .18s ease, background .18s ease;
  }
  .head-cta:hover{transform:translateY(-1px);background:var(--navy-700);color:var(--on-accent)}
  .navbar-toggler{
    border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--surface);
    display:none;line-height:0;
  }
  .navbar-toggler:focus{box-shadow:none}
  .navbar-toggler span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px}
  .navbar-toggler span + span{margin-top:4px}
  .head-mobile{display:none;padding:6px 0 18px;flex-direction:column;gap:6px}
  .head-mobile button{
    font:inherit;font-size:16px;font-weight:600;text-align:left;
    background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;
    padding:12px 16px;color:var(--ink);cursor:pointer;
  }
  .head-mobile a{
    font-weight:600;background:var(--navy);color:var(--on-accent);
    border-radius:14px;padding:12px 16px;text-align:center;
  }
  @media (max-width:991.98px){
    .nav-links,.head-cta{display:none}
    .navbar-toggler{display:block}
    .head-mobile{display:flex}
  }


  /* ---------- hero ---------- */
  .hero{
    position:relative;overflow:hidden;border-radius:var(--r-xl);margin-top:24px;
    background:
      radial-gradient(120% 130% at 92% 0%, color-mix(in srgb,var(--violet-soft) 50%, transparent) 0%, transparent 56%),
      radial-gradient(110% 120% at 0% 100%, color-mix(in srgb,var(--blue-soft) 55%, transparent) 0%, transparent 52%),
      var(--surface);
    box-shadow:var(--shadow-lift);
  }
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
      linear-gradient(to right, var(--line) 1px, transparent 1px),
      linear-gradient(to bottom, var(--line) 1px, transparent 1px);
    background-size:68px 68px;opacity:.34;
    mask-image:linear-gradient(to bottom right, #000 2%, transparent 56%);
    -webkit-mask-image:linear-gradient(to bottom right, #000 2%, transparent 56%);
  }
  .hero-in{
    position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:clamp(20px,3.6vw,46px);align-items:center;
    padding:clamp(30px,4.4vw,58px) clamp(22px,4vw,56px);
  }
  .chip{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--glass);border:1px solid var(--line);
    padding:7px 15px 7px 11px;border-radius:999px;
    font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);
    backdrop-filter:blur(6px);
  }
  .chip .dot{width:7px;height:7px;border-radius:50%;background:var(--blue-deep);flex:0 0 auto}
  .hero h1{
    font-size:clamp(46px,7.4vw,86px);font-weight:800;letter-spacing:-.042em;
    margin:22px 0 16px;
  }
  .hero h1 .w{display:inline-block}
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(96deg,var(--blue-deep),var(--violet));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero-lead{font-size:clamp(18px,2.2vw,22px);color:var(--ink-soft);max-width:32ch;margin-bottom:28px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
  .hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
  .stat{
    background:var(--surface-2);border:1px solid var(--line-soft);border-radius:16px;
    padding:12px 18px;display:flex;flex-direction:column;gap:1px;
  }
  .stat b{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.02em}

  .hero-media{position:relative}
  .hero-photo{
    border-radius:var(--r-lg);overflow:hidden;background:var(--photo-mat);
    box-shadow:var(--shadow-soft);
  }
  .hero-photo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
  .hero-float{
    position:absolute;left:-10px;bottom:-18px;max-width:270px;
    background:var(--glass);backdrop-filter:blur(14px);
    border:1px solid var(--line);border-radius:var(--r-md);
    padding:16px 18px;box-shadow:var(--shadow-lift);
  }
  .hero-float b{display:block;font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.02em;margin-top:4px}
  @media (max-width:991.98px){
    .hero-in{grid-template-columns:1fr}
    .hero-media{max-width:540px;margin-inline:auto;width:100%}
    .hero-float{left:8px;bottom:-14px;max-width:230px}
  }
  @media (max-width:575.98px){ .hero-float{display:none} }

  /* ---------- buttons ---------- */
  .btn-p{
    display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:600;font-size:16px;
    cursor:pointer;border:0;padding:14px 26px;border-radius:999px;
    background:linear-gradient(100deg,var(--brand-btn-1),var(--brand-btn-2));color:var(--on-brand);
    box-shadow:0 12px 26px -14px rgba(93,89,168,.95);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-p:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(93,89,168,1);color:var(--on-brand)}
  .btn-g{
    display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:600;font-size:16px;
    cursor:pointer;padding:14px 26px;border-radius:999px;
    background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-soft);
    transition:transform .2s ease;
  }
  .btn-g:hover{transform:translateY(-2px);color:var(--ink)}
  .btn-q{
    background:none;border:0;padding:0 0 3px;cursor:pointer;
    font:inherit;font-size:15px;font-weight:600;color:var(--blue-deep);
    border-bottom:1.5px solid color-mix(in srgb,var(--blue-deep) 38%, transparent);
    display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  }
  .btn-q:hover{border-bottom-color:var(--blue-deep);color:var(--blue-deep)}
  .btn-q .arrow{transition:transform .2s ease}
  .btn-q:hover .arrow{transform:translateX(4px)}

  /* ---------- sections ---------- */
  .section{padding-block:clamp(54px,7.5vw,94px)}
  .section-head{max-width:56ch;margin-bottom:clamp(26px,4vw,44px)}
  .section-head h2{font-size:clamp(30px,4.4vw,48px);font-weight:700;margin-top:14px;letter-spacing:-.032em}
  .section-head p{color:var(--ink-soft);margin-top:14px;font-size:18px}

  /* service cards */
  .svc{
    height:100%;display:flex;flex-direction:column;overflow:hidden;text-align:left;cursor:pointer;
    background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);
    box-shadow:var(--shadow-soft);font:inherit;color:inherit;padding:0;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .svc:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
  .svc-photo{aspect-ratio:16/10;overflow:hidden;background:var(--ground-2)}
  .svc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
  .svc:hover .svc-photo img{transform:scale(1.06)}
  .svc-body{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.8vw,30px)}
  .svc h3{font-size:clamp(23px,3vw,30px);font-weight:700}
  .svc p{color:var(--ink-soft)}

  /* values */
  .val{
    height:100%;border-radius:var(--r-lg);padding:clamp(24px,2.8vw,32px);
    background:var(--surface-2);border:1px solid var(--line-soft);
    display:flex;flex-direction:column;gap:12px;
  }
  .val.is-lead{background:linear-gradient(155deg,var(--brand-1),var(--brand-2));border-color:transparent;color:var(--on-brand)}
  .val.is-lead h3{color:var(--on-brand)}
  .val.is-lead p{color:rgba(255,255,255,.9)}
  .val h3{font-size:22px;font-weight:700}
  .val p{color:var(--ink-soft);font-size:16px}

  /* feature rows */
  .feature{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(20px,3.4vw,48px);align-items:center;padding-block:clamp(26px,4vw,46px);
  }
  .feature + .feature{border-top:1px solid var(--line-soft)}
  .feature-photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-soft);background:var(--ground-2);aspect-ratio:4/3}
  .feature-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .feature.reverse .feature-photo{order:2}
  .feature-text{display:flex;flex-direction:column;gap:14px}
  .feature-text h3{font-size:clamp(25px,3.4vw,36px);font-weight:700;letter-spacing:-.03em}
  .feature-text p{color:var(--ink-soft);max-width:58ch}
  @media (max-width:820px){
    .feature{grid-template-columns:1fr;gap:22px}
    .feature.reverse .feature-photo{order:0}
    .feature-photo{aspect-ratio:16/10}
  }

  /* ---------- mapa ---------- */
  .map-panel{
    background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-xl);
    box-shadow:var(--shadow-soft);overflow:hidden;
    display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  }
  @media (max-width:880px){ .map-panel{grid-template-columns:1fr} }
  #mapa-osm{height:540px;width:100%;background:var(--surface-2);z-index:0}
  @media (max-width:880px){ #mapa-osm{height:400px} }
  .leaflet-container{font-family:var(--body);background:var(--surface-2)}
  .leaflet-control-attribution{background:var(--glass) !important;color:var(--ink-faint);font-size:11px}
  .leaflet-control-attribution a{color:var(--blue-deep)}
  .leaflet-bar a{background:var(--surface);color:var(--ink);border-bottom-color:var(--line)}
  .leaflet-bar a:hover{background:var(--ground-2);color:var(--ink)}
  .leaflet-tooltip{
    background:var(--surface);color:var(--ink);border:1px solid var(--line);
    border-radius:10px;font-weight:600;box-shadow:var(--shadow-soft)
  }
  .leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border-radius:14px}
  .leaflet-popup-tip{background:var(--surface)}

  .map-side{padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--line-soft)}
  @media (max-width:880px){ .map-side{border-left:0;border-top:1px solid var(--line-soft)} }
  .map-side h3{font-size:clamp(24px,3vw,30px);font-weight:700}
  .map-side p{color:var(--ink-soft)}
  .map-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
  .map-chips button{
    font:inherit;font-size:14px;font-weight:600;cursor:pointer;
    background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line);
    padding:8px 14px;border-radius:999px;transition:all .16s ease;
  }
  .map-chips button:hover{color:var(--ink);border-color:var(--blue)}
  .map-chips button[aria-pressed="true"]{background:var(--brand-1);color:var(--on-brand);border-color:transparent}
  .map-fact{border-top:1px solid var(--line-soft);padding-top:16px;margin-top:auto;display:flex;flex-direction:column;gap:2px}
  .map-fact b{font-family:var(--display);font-size:18px;font-weight:700}
  .map-note{font-size:13px;color:var(--ink-faint);display:none}
  .map-note.is-on{display:block}

  /* ---------- band ---------- */
  .band{
    border-radius:var(--r-xl);overflow:hidden;position:relative;
    background:linear-gradient(120deg,var(--brand-1),var(--brand-2));
    color:var(--on-brand);padding:clamp(32px,4.5vw,56px);
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;
  }
  .band::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(60% 120% at 85% 0%, rgba(255,255,255,.16), transparent 60%);
  }
  .band > *{position:relative;z-index:1}
  .band h2{color:var(--on-brand);font-size:clamp(28px,3.8vw,42px);font-weight:700;letter-spacing:-.03em}
  .band p{color:rgba(255,255,255,.84);margin-top:12px;max-width:46ch}
  .band .btn-g{background:var(--on-brand);color:var(--brand-1);border-color:transparent}
  .band .btn-g:hover{color:var(--brand-1)}
  @media (max-width:760px){ .band{grid-template-columns:1fr} }

  /* ---------- page head ---------- */
  .page-head{
    margin-top:24px;border-radius:var(--r-xl);overflow:hidden;
    border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);
    display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    background:
      radial-gradient(110% 130% at 95% 0%, color-mix(in srgb,var(--violet-soft) 44%, transparent) 0%, transparent 62%),
      var(--surface);
  }
  .page-head-text{padding:clamp(28px,4.2vw,52px) clamp(22px,4vw,50px)}
  .page-head h1{font-size:clamp(34px,5.2vw,58px);font-weight:800;margin-top:14px;letter-spacing:-.035em}
  .page-head p{color:var(--ink-soft);margin-top:16px;max-width:48ch;font-size:18px}
  .page-head-photo{min-height:210px;background:var(--ground-2)}
  .page-head-photo img{width:100%;height:100%;object-fit:cover;display:block}
  @media (max-width:820px){
    .page-head{grid-template-columns:1fr}
    .page-head-photo{aspect-ratio:16/9;min-height:0}
  }

  /* ---------- kontakt ---------- */
  .info-card{
    background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-xl);
    padding:clamp(24px,3vw,32px);box-shadow:var(--shadow-soft);
    display:flex;flex-direction:column;gap:22px;height:100%;
  }
  .info-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
  .info-icon{
    width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--blue-deep);
    background:linear-gradient(150deg, color-mix(in srgb,var(--blue-soft) 60%, var(--surface)), color-mix(in srgb,var(--violet-soft) 55%, var(--surface)));
  }
  .info-item .val-l{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.01em;word-break:break-word;display:block}
  .info-item a.val-l:hover{color:var(--blue-deep)}
  .info-note{border-top:1px solid var(--line-soft);padding-top:20px;color:var(--ink-soft);font-size:16px}

  .form-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-xl);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow-soft)}
  .form-card h2{font-size:clamp(25px,3vw,34px);font-weight:700;margin-top:12px}
  .field{display:flex;flex-direction:column;gap:7px}
  .field label{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft)}
  .field label .req{color:var(--violet)}
  .field input,.field textarea{
    font:inherit;font-size:16px;color:var(--ink);background:var(--surface-2);
    border:1px solid var(--line);border-radius:14px;padding:13px 15px;width:100%;
    transition:border-color .16s ease, box-shadow .16s ease;
  }
  .field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%, transparent)}
  .field textarea{min-height:140px;resize:vertical}
  .form-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}
  .form-foot small{color:var(--ink-faint);font-size:13px}

  /* ---------- footer ---------- */
  .site-foot{margin-top:clamp(40px,6vw,76px);background:var(--brand-1);color:var(--on-brand)}
  .foot-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,44px);padding-block:clamp(38px,5vw,58px)}
  @media (max-width:760px){ .foot-in{grid-template-columns:1fr 1fr} .foot-brand{grid-column:1 / -1} }
  .foot-brand img{height:42px;width:auto;display:block}
  .site-foot .foot-claim{font-family:var(--display);font-size:clamp(20px,2.5vw,26px);font-weight:700;letter-spacing:-.025em;color:#fff;max-width:22ch;margin-top:18px}
  .site-foot .label{color:rgba(255,255,255,.55)}
  .foot-col{display:flex;flex-direction:column;gap:10px}
  .foot-col a,.foot-col button{
    font:inherit;font-size:16px;color:rgba(255,255,255,.86);
    background:none;border:0;padding:0;cursor:pointer;text-align:left;width:fit-content;
  }
  .foot-col a:hover,.foot-col button:hover{color:#fff}
  .foot-col .val-l{font-family:var(--display);font-size:18px;font-weight:700;color:#fff}
  .socials{display:flex;gap:10px;margin-top:20px}
  .socials a{
    width:40px;height:40px;border-radius:13px;display:grid;place-items:center;
    background:rgba(255,255,255,.10);color:#fff;
    transition:background .18s ease, transform .18s ease;
  }
  .socials a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);color:#fff}
  .foot-base{
    border-top:1px solid rgba(255,255,255,.14);padding-block:20px;
    display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;
    color:rgba(255,255,255,.6);font-size:14px;
  }

  .icon{width:26px;height:26px;display:block}
  .icon-sm{width:18px;height:18px;display:block}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  }

/* ============ WordPress ============ */
.admin-bar .site-head{top:32px}
@media screen and (max-width:782px){ .admin-bar .site-head{top:46px} }
#wpadminbar{z-index:99999}

/* Astra / Elementor zbytky */
.ast-container,.site-content .ast-container{max-width:none;padding:0}
#page,#content,.site-content{background:transparent}
.entry-content>*:first-child{margin-top:0}

/* ============ WPForms ve stylu webu ============ */
.form-card .wpforms-container{margin:0}
.form-card .wpforms-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:22px}
@media (max-width:575.98px){ .form-card .wpforms-form{grid-template-columns:1fr} }
.form-card .wpforms-field{padding:0;grid-column:1 / -1;display:flex;flex-direction:column;gap:7px}
.form-card .wpforms-field-name{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
@media (max-width:575.98px){ .form-card .wpforms-field-name{grid-template-columns:1fr} }
.form-card .wpforms-field-name > .wpforms-field-label{grid-column:1 / -1}
.form-card .wpforms-field-row{margin:0}
.form-card .wpforms-field-row-block{float:none;width:auto !important;padding:0 !important;display:flex;flex-direction:column;gap:7px}
.form-card .wpforms-field-label,
.form-card .wpforms-field-sublabel{
  font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.04em;
  color:var(--ink-soft);margin:0;display:block;
}
.form-card .wpforms-required-label{color:var(--violet)}
.form-card input[type=text],
.form-card input[type=email],
.form-card input[type=tel],
.form-card textarea{
  font-family:var(--body);font-size:16px;color:var(--ink);background:var(--surface-2);
  border:1px solid var(--line);border-radius:14px;padding:13px 15px;width:100%;max-width:none;
  box-shadow:none;transition:border-color .16s ease, box-shadow .16s ease;
}
.form-card input[type=text]:focus,
.form-card input[type=email]:focus,
.form-card input[type=tel]:focus,
.form-card textarea:focus{
  outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%, transparent);
}
.form-card textarea{min-height:140px;resize:vertical}
.form-card .wpforms-submit-container{grid-column:1 / -1;padding:0}
.form-card button[type=submit].wpforms-submit{
  font-family:var(--body);font-weight:600;font-size:16px;cursor:pointer;border:0;
  padding:14px 26px;border-radius:999px;
  background:linear-gradient(100deg,var(--brand-btn-1),var(--brand-btn-2)) !important;
  color:var(--on-brand) !important;
  box-shadow:0 12px 26px -14px rgba(93,89,168,.95);
  transition:transform .2s ease, box-shadow .2s ease;
}
.form-card button[type=submit].wpforms-submit:hover{transform:translateY(-2px)}
.form-card .wpforms-error{color:#C0392B;font-size:13px}
.form-card input.wpforms-error,.form-card textarea.wpforms-error{border-color:#C0392B}
.form-card .wpforms-confirmation-container-full{
  background:var(--surface-2);border:1px solid var(--line);border-radius:18px;
  padding:20px 22px;color:var(--ink);margin:20px 0 0;
}

/* ============ odkazy místo tlačítek (WordPress verze) ============ */
.nav-links a{
  font-size:15px;font-weight:500;color:var(--ink-soft);
  padding:9px 15px;border-radius:999px;
  transition:background .18s ease,color .18s ease;
}
.nav-links a:hover{color:var(--ink);background:var(--ground-2)}
.nav-links a[aria-current="page"]{color:var(--navy);background:var(--surface);box-shadow:var(--shadow-soft);font-weight:600}

.head-mobile .m-link{
  font-size:16px;font-weight:600;text-align:left;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;
  padding:12px 16px;color:var(--ink);
}
.head-mobile .m-link:hover{color:var(--ink);background:var(--ground-2)}
.head-mobile .m-tel{
  font-weight:600;background:var(--navy);color:var(--on-accent);
  border-radius:14px;padding:12px 16px;text-align:center;
}
.head-mobile .m-tel:hover{color:var(--on-accent)}

/* karta služby jako odkaz */
a.svc{color:inherit}
a.svc:hover{color:inherit}
.svc-h{
  font-family:var(--display);font-size:clamp(23px,3vw,30px);font-weight:700;
  line-height:1.1;letter-spacing:-.02em;color:var(--ink);display:block;
}
.svc-p{color:var(--ink-soft);display:block}
a.btn-q{display:inline-flex}

/* patička: odkazy v sloupci */
.foot-col a{font-size:16px;color:rgba(255,255,255,.86)}
.foot-col a:hover{color:#fff}

/* ---- WPForms: prebiti vychozich stylu pluginu ---- */
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-label,
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-sublabel{
  font-family:var(--body) !important;font-size:13px !important;font-weight:600 !important;
  letter-spacing:.04em !important;color:var(--ink-soft) !important;line-height:1.4 !important;
}
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-medium,
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-large,
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-small{
  max-width:100% !important;width:100% !important;
}
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-row{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;
}
@media (max-width:575.98px){
  .form-card div.wpforms-container-full .wpforms-form .wpforms-field-row{grid-template-columns:1fr}
}
.form-card div.wpforms-container-full .wpforms-form .wpforms-field-row-block{
  width:100% !important;float:none !important;margin:0 !important;padding:0 !important;
}
.form-card div.wpforms-container-full .wpforms-form button[type=submit]{
  font-size:16px !important;padding:14px 26px !important;border-radius:999px !important;
}

/* ---- WPForms modern render: sirky poli ---- */
.form-card .wpforms-form input[type=text],
.form-card .wpforms-form input[type=email],
.form-card .wpforms-form input[type=tel],
.form-card .wpforms-form input[type=url],
.form-card .wpforms-form textarea{width:100% !important;max-width:100% !important;box-sizing:border-box}
.form-card .wpforms-form .wpforms-field-row{align-items:start}
.form-card .wpforms-form .wpforms-field-row > *{width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;float:none !important;display:block}
.form-card .wpforms-form .wpforms-field{max-width:100% !important}

/* ---- WPForms: finalni prebiti sirek (vyssi specificita nez plugin) ---- */
body .wpforms-container .wpforms-form .wpforms-field-row{display:grid !important;grid-template-columns:1fr 1fr;gap:14px 18px}
@media (max-width:575.98px){
  body .wpforms-container .wpforms-form .wpforms-field-row{grid-template-columns:1fr}
}
body .wpforms-container .wpforms-form .wpforms-field-row-block{width:100% !important;max-width:100% !important;float:none !important;margin:0 !important;padding:0 !important}
body .wpforms-container .wpforms-form input[type=text],
body .wpforms-container .wpforms-form input[type=email],
body .wpforms-container .wpforms-form input[type=tel],
body .wpforms-container .wpforms-form input[type=url],
body .wpforms-container .wpforms-form textarea{width:100% !important;max-width:100% !important;box-sizing:border-box !important}

/* ---- WPForms: cisty stack (rusi drivejsi grid na formulari) ---- */
body .wpforms-container .wpforms-form{display:block !important;margin-top:22px}
body .wpforms-container .wpforms-form .wpforms-field{display:block !important;width:100% !important;max-width:100% !important;margin:0 0 18px !important;padding:0 !important}
body .wpforms-container .wpforms-form .wpforms-field-row{display:flex !important;flex-wrap:wrap;gap:14px 18px;width:100% !important}
body .wpforms-container .wpforms-form .wpforms-field-row-block{flex:1 1 200px !important;width:auto !important;min-width:0 !important;max-width:none !important;float:none !important;margin:0 !important;padding:0 !important}
body .wpforms-container .wpforms-form .wpforms-field-label{display:block !important;margin:0 0 7px !important}
body .wpforms-container .wpforms-form .wpforms-field-sublabel{display:block !important;margin:5px 0 0 !important}
body .wpforms-container .wpforms-form .wpforms-submit-container{display:block !important;width:100% !important;margin:4px 0 0 !important;padding:0 !important}
