/* METALPRECIZ – styly webu. Většina vzhledu je v inline stylech šablon (převod z návrháře). */

/* ===== základ (z návrháře) ===== */
html,body{margin:0;padding:0;background:#fbfcfd}
body{font-family:'Inter',system-ui,sans-serif;font-feature-settings:'ss01','cv11';color:#616369;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}
*{box-sizing:border-box}
a{color:#0061a7;text-decoration:none}
a:hover{color:#0E3A63;text-decoration:underline}
input,textarea,button{font-family:'Inter',sans-serif}
@keyframes spinSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes cwPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ===== najetí myší (style-hover z návrháře) ===== */
.h0:hover{color:#0061a7 !important}
.h1:hover{color:#0061a7 !important;background:#F2F6FA !important}
.h2:hover{background:#2E7FC2 !important;color:#ffffff !important;text-decoration:none !important}
.h3:hover{border-color:#6FA8D8 !important;color:#6FA8D8 !important;text-decoration:none !important}
.h4:hover{transform:translateY(-6px) !important;box-shadow:0 16px 32px rgba(14,58,99,0.14) !important;border-color:#0061a7 !important}
.h5:hover{border-color:#0061a7 !important;text-decoration:none !important;transform:translateY(-6px) !important;box-shadow:0 18px 36px rgba(14,58,99,0.16) !important}
.h6:hover{background:#0061a7 !important;border-color:#0061a7 !important;color:#ffffff !important}
.h7:hover{background:#0E3A63 !important;color:#ffffff !important;text-decoration:none !important}
.h8:hover{border-color:#0061a7 !important;transform:translateY(-3px) !important}
.h9:hover{transform:translateY(-4px) !important;box-shadow:0 14px 30px rgba(14,58,99,0.14) !important}
.h10:hover{color:#ffffff !important}
.h11:hover{color:#fbfcfd !important;text-decoration:none !important;box-shadow:0 16px 34px -6px rgba(0,97,167,0.5) !important}

/* ===== mobil.css ===== */
/* Mobilní úpravy nad návrhem z návrháře (návrh sám s úzkými displeji nepočítá).
   Návrh má jen inline styly bez tříd → cílí se na atribut style, proto !important.
   Prohlížeč atribut normalizuje na "vlastnost: hodnota;" (s mezerou). */

@media (max-width: 1100px) {
  [style*="min-width: 1100px"] { min-width: 0 !important; }
  [style*="max-width: 1180px"] { padding-left: 24px !important; padding-right: 24px !important; }
  img { max-width: 100%; }
  html, body { overflow-x: hidden; }
}

/* Hlavní menu (6. 11. 2026, 7 položek): větší písmo, slova uvnitř položky sevřená (menší proložení
   a mezera – JetBrains Mono má širokou mezeru), mezi položkami velká mezera (--g), aby menu
   nepůsobilo jednolitě. Kariéra + Kontakt oddělené svislou čárou uprostřed dvojité mezery. */
nav { --g: 30px; gap: 0 var(--g) !important; }
nav a { font-size: 13px !important; letter-spacing: 0.5px !important; word-spacing: -0.4em; }
nav [data-mp-sub] a { word-spacing: -0.4em; }
nav [data-mp-nav="career"] { position: relative; margin-left: var(--g); }
nav [data-mp-nav="career"]::before { content: ""; position: absolute; left: calc(var(--g) * -1); top: 50%; width: 1px; height: 18px; margin-top: -10px; background: #C5D0DB; }

/* užší displej: menší mezery, kde ani to nestačí, zalomí se do dvou řádků vpravo od loga */
@media (max-width: 1240px) {
  nav { --g: 22px; flex-wrap: wrap !important; flex-shrink: 1 !important; min-width: 0; justify-content: flex-end; row-gap: 0 !important; }
  nav a { padding-top: 12px !important; padding-bottom: 10px !important; }
  nav [data-mp-sub] a { padding: 12px 18px !important; }
  [style*="height: 96px"] { height: auto !important; min-height: 96px; padding-top: 8px !important; padding-bottom: 8px !important; }
}
/* tablet na šířku (1 024 px): menší písmo, ať menu zůstane v jednom řádku */
@media (max-width: 1100px) and (min-width: 961px) {
  nav { --g: 16px; }
  nav a { font-size: 12px !important; letter-spacing: 0.3px !important; }
}

/* Tablet: mřížky 4 → 2 sloupce */
@media (max-width: 960px) {
  [style*="repeat(4"], [style*="repeat(3"] { grid-template-columns: repeat(2, 1fr) !important; }
  nav [data-mp-sub] { left: 0 !important; }
  /* horní lišta: bez adresy, nic nelámat; tlačítka nelámat */
  [style*="background: rgb(14, 58, 99)"][style*="font-size: 14px"] span { white-space: nowrap; }
  [style*="background: rgb(14, 58, 99)"][style*="font-size: 14px"] > div > div:first-child > span:nth-child(n+4) { display: none; }
  a[style*="text-transform: uppercase"][style*="padding: 1"], button { white-space: nowrap; }
  /* úvodní fotka: rámeček v poměru stran fotky, ať se stroj neuřízne */
  div:has(> [data-mp-hero]) { height: auto !important; aspect-ratio: 789 / 700; }
}

/* Telefon */
@media (max-width: 760px) {
  [style*="max-width: 1180px"] { padding-left: 16px !important; padding-right: 16px !important; }

  /* horní lišta: jen telefon, e-mail a jazyky */
  [style*="background: rgb(14, 58, 99)"][style*="font-size: 14px"] > div { flex-wrap: wrap; gap: 6px 16px !important; font-size: 13px; }
  [style*="background: rgb(14, 58, 99)"][style*="font-size: 14px"] > div > div:first-child { gap: 4px 16px !important; flex-wrap: wrap; }
  [style*="background: rgb(14, 58, 99)"][style*="font-size: 14px"] > div > div:first-child > span:nth-child(n+3) { display: none; }

  /* hlavička: logo nahoře, menu pod ním zalomené do řádků (všechny položky vidět) */
  [style*="height: 96px"] { flex-wrap: wrap !important; gap: 4px !important; }
  [style*="height: 96px"] [data-mp-logo] { height: 52px !important; }
  nav { flex-wrap: wrap !important; width: 100%; justify-content: flex-start !important; gap: 0 16px !important; }
  nav a { padding: 7px 0 5px !important; font-size: 12px !important; }
  nav [data-mp-nav="career"] { margin-left: 0; }
  nav [data-mp-nav="career"]::before { display: none; }
  /* rozbalovací nabídka v menu: přes celou šířku hlavičky pod řádkem s položkou */
  nav [data-mp-dd] { position: static !important; }
  nav [data-mp-sub] { left: 16px !important; right: 16px !important; top: auto !important; margin-top: 30px; min-width: 0 !important; border-top: 1px solid #D6DEE6 !important; border-radius: 12px !important; }
  nav [data-mp-sub] a { padding: 13px 16px !important; font-size: 13px !important; }

  /* mřížky a vícesloupcové bloky pod sebe */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="display: grid"] { gap: 20px !important; }
  [style*="display: grid"] > * { min-width: 0; }
  [style*="display: flex"]:not(nav) { flex-wrap: wrap; }
  [style*="column-count"], [style*="columns:"] { column-count: 1 !important; columns: auto !important; }

  /* pevné šířky */
  [style*="width: 400px"], [style*="width: 460px"], [style*="width: 480px"], [style*="width: 600px"],
  [style*="max-width: 520px"], [style*="max-width: 540px"], [style*="max-width: 380px"] { max-width: 100% !important; }
  [style*=" width: 400px"], [style*=" width: 460px"], [style*=" width: 600px"],
  [style^="width: 400px"], [style^="width: 460px"], [style^="width: 600px"] { width: 100% !important; }

  /* odsazení sekcí */
  [style*="padding: 92px"], [style*="padding: 88px"], [style*="padding: 84px"], [style*="padding: 76px"],
  [style*="padding: 72px"], [style*="padding: 64px"], [style*="padding: 60px"] { padding-top: 44px !important; padding-bottom: 44px !important; }
  [style*="padding: 36px 40px"], [style*="padding: 32px 30px"], [style*="padding: 30px 32px"],
  [style*="padding: 28px 32px"] { padding: 22px 20px !important; }

  /* písmo */
  [style*="font-size: 64px"], [style*="font-size: 58px"] { font-size: 38px !important; line-height: 1.1 !important; }
  [style*="font-size: 48px"] { font-size: 32px !important; line-height: 1.15 !important; }
  [style*="font-size: 42px"], [style*="font-size: 40px"] { font-size: 30px !important; line-height: 1.15 !important; }
  [style*="font-size: 36px"], [style*="font-size: 34px"] { font-size: 27px !important; }
  [style*="font-size: 32px"], [style*="font-size: 30px"] { font-size: 25px !important; }
  [style*="font-size: 220px"], [style*="font-size: 200px"] { font-size: 90px !important; }
  [style*="letter-spacing: 6px"], [style*="letter-spacing: 5px"], [style*="letter-spacing: 4px"] { letter-spacing: 2px !important; }
  h1, h2, h3 { overflow-wrap: anywhere; }

  /* dekorace, které by roztahovaly stránku */
  [style*="right: -160px"], [style*="left: -160px"],
  [style*="right: -150px"], [style*="left: -150px"] { display: none !important; }

  /* úzký telefon: i čtyřsloupcové karty a statistiky do jednoho sloupce */
  @media (max-width: 520px) {
    [style*="repeat(4"], [style*="repeat(3"] { grid-template-columns: 1fr !important; }
  }

  /* plovoucí tlačítka vpravo menší */
  [style*="position: fixed"][style*="right: 0px"] { transform: translateY(-50%) scale(0.85) !important; transform-origin: right center; }
}


/* ===== efekty.css ===== */
/* Efekty a animace nad návrhem (vkládá sestavit.js do šablony).
   Vše jen pro uživatele, kteří nemají v systému vypnuté animace. */

@media (prefers-reduced-motion: no-preference) {

  /* --- úvodní fotka: bez efektu při načtení; hýbe se jen při posouvání stránky
         (hloubkový posun + mírné přiblížení, transform nastavuje efekty.js) --- */
  [data-mp-hero] > img { will-change: transform; backface-visibility: hidden; }

  /* --- logo v hlavičce: kolo se při najetí otočí o celou otáčku (má barevný přechod,
         po půl otáčce by skončilo obrácené), přes pás s nápisem přejede odlesk --- */
  [data-mp-logo] > img:first-child {
    transform-origin: 50% 50%;
    transition: transform 1.3s cubic-bezier(.65,0,.25,1);
    will-change: transform;
  }
  a:hover > [data-mp-logo] > img:first-child { transform: rotate(360deg); }
  [data-mp-logo]::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(100deg, transparent 35%, rgba(255,255,255,.6) 50%, transparent 65%) no-repeat;
    background-size: 300% 100%; background-position: 100% 0;
    -webkit-mask: url(/images/logo-pas.png) center / 100% 100% no-repeat;
            mask: url(/images/logo-pas.png) center / 100% 100% no-repeat;
    opacity: 0; transition: opacity .2s ease;
  }
  a:hover > [data-mp-logo]::after { opacity: 1; animation: mpLesk 1.1s ease .1s both; }
  @keyframes mpLesk { from { background-position: 100% 0; } to { background-position: 0% 0; } }

  /* --- náběh prvků při posouvání (atribut nastavuje efekty.js) --- */
  [data-mpr="1"] {
    opacity: 0;
    transform: translateY(28px);
  }
  [data-mpr] {
    transition: opacity .75s ease, transform .85s cubic-bezier(.2,.7,.2,1);
    transition-delay: var(--mp-d, 0ms);
  }
  [data-mpr="in"] { opacity: 1; transform: none; }
  /* obrázky najíždějí se zvětšením místo posunu */
  img[data-mp-slot][data-mpr="1"], iframe[data-mpr="1"] { transform: scale(1.06); }

  /* --- fotky v kartách: přiblížení při najetí --- */
  div:has(> img[data-mp-slot]) { overflow: hidden; }
  img[data-mp-slot] { transition: transform 1s cubic-bezier(.2,.7,.2,1), opacity .75s ease; }
  a:hover img[data-mp-slot],
  div[style*="border-radius: 16px"]:hover > div > img[data-mp-slot],
  div[style*="border-radius: 16px"]:hover > img[data-mp-slot] { transform: scale(1.07); }
  div:not([data-mp-hero]) > img[style*="object-fit: cover"] { transition: transform 1s cubic-bezier(.2,.7,.2,1); }
  div:not([data-mp-hero]):hover > img[style*="object-fit: cover"] { transform: scale(1.05); }

  /* --- tlačítka: zvednutí a odlesk --- */
  a[style*="linear-gradient(135deg"] { position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
  a[style*="linear-gradient(135deg"]::after {
    content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
    transform: skewX(-20deg); transition: left .7s ease; pointer-events: none;
  }
  a[style*="linear-gradient(135deg"]:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(0,97,167,.35) !important; }
  a[style*="linear-gradient(135deg"]:hover::after { left: 130%; }

  /* --- certifikáty: jemné naklonění při najetí --- */
  a[href$=".pdf"] img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
  a[href$=".pdf"]:hover img { transform: scale(1.04); }
}

/* --- odvětví: krátký popis při najetí na dlaždici (na dotykových displejích skrytý) --- */
[data-mp-tip] {
  position: absolute; left: 0; bottom: calc(100% + 12px); z-index: 20;
  width: max-content; max-width: min(360px, 86vw); padding: 12px 15px;
  background: #ffffff; color: #0a0b0d; border-radius: 10px; box-shadow: 0 14px 32px rgba(0,0,0,.28);
  font-size: 15px; line-height: 1.5; font-weight: 400; letter-spacing: 0; text-transform: none; text-align: left; white-space: normal;
  opacity: 0; visibility: hidden; transform: translateY(6px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
[data-mp-tip]::after { content: ""; position: absolute; left: 26px; top: 100%; border: 7px solid transparent; border-top-color: #ffffff; }
[data-mp-tip]:empty { display: none; }
[data-mp-tipbox]:hover > [data-mp-tip], [data-mp-tipbox]:focus-visible > [data-mp-tip] { opacity: 1; visibility: visible; transform: none; }
@media (hover: none) { [data-mp-tip] { display: none; } }

/* --- hlavička se stínem po posunutí + ukazatel přečtení (platí vždy, nejsou to animace) --- */
[data-mp-head] { transition: box-shadow .3s ease; }
[data-mp-head="stin"] { box-shadow: 0 8px 24px rgba(14,58,99,.12); }
#mp-prubeh {
  position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 9999;
  background: linear-gradient(90deg, #0061a7, #9DCBF0);
  transform-origin: 0 50%; transform: scaleX(0); pointer-events: none;
}


/* ===== cookies.css ===== */
/* Cookie lišta (cookies.js) – vlevo dole, na telefonu přes celou šířku */
#mp-cookies { display: none; position: fixed; left: 20px; bottom: 20px; z-index: 200; max-width: 520px; box-sizing: border-box;
  background: #0E3A63; color: #ffffff; border: 1px solid rgba(157, 203, 240, 0.45); border-radius: 14px; padding: 22px 24px 20px; box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.55; }
#mp-cookies .mpc-nadpis { font-weight: 700; font-size: 16px; margin-bottom: 8px; }
#mp-cookies .mpc-text { margin: 0 0 16px; color: #D4E1EE; }
#mp-cookies .mpc-tlacitka { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
#mp-cookies button { flex: 1 1 160px; cursor: pointer; font: inherit; font-weight: 700; font-size: 14px; padding: 11px 16px; border-radius: 10px;
  border: 1.5px solid #ffffff; transition: background .2s ease, color .2s ease; }
#mp-cookies .mpc-ne { background: transparent; color: #ffffff; }
#mp-cookies .mpc-ne:hover { background: rgba(255, 255, 255, 0.12); }
#mp-cookies .mpc-ano { background: #ffffff; color: #0E3A63; }
#mp-cookies .mpc-ano:hover { background: #D4E1EE; }
#mp-cookies button:focus-visible { outline: 3px solid #9DCBF0; outline-offset: 2px; }
@media (max-width: 760px) {
  #mp-cookies { left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 18px 18px 16px; font-size: 13px; }
}

/* ===== PHP verze (6. 11. 2026): stavy, které v návrháři řídil JavaScript ===== */
/* plovoucí kontaktní tlačítka – popisek se rozbalí najetím myší / fokusem */
[data-mp-cw] a:hover > span, [data-mp-cw] a:focus-visible > span { max-width: 260px !important; opacity: 1 !important; margin-left: 12px !important; }
/* rozbalovací položka menu „CNC obrábění a broušení“ – najetím myší, klávesnicí, na dotykovém displeji klepnutím (web.js) */
nav [data-mp-dd]:hover > [data-mp-sub], nav [data-mp-dd]:focus-within > [data-mp-sub], nav [data-mp-dd].otevreno > [data-mp-sub] { display: block !important; }
[hidden] { display: none !important; }
