/* Finální responzivní vrstva — načítá se jako poslední stylesheet. */
html { overflow-x: clip; }
body { min-width: 320px; overflow-x: clip; }
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
img, svg { max-width: 100%; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }

/* Jednotný systém poptávkových tlačítek: pouze modrá a bílá varianta. */
a.button[href^="poptavka"],
a.button[href^="mailto:info@vegateam.cz"],
.header-cta,
.contact-direct-cta {
  min-height: 56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 26px;
  border:2px solid var(--blue);
  border-radius:0;
  color:#fff;
  background:var(--blue);
  box-shadow:none;
  font-size:13px;
  font-weight:800;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
}

/* Production PHP additions */
.footer-main{grid-template-columns:1.15fr repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,58px)}
.reference-strip__logo img{display:block;max-width:170px;max-height:72px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.62;transition:opacity .25s ease,filter .25s ease}
.reference-strip__logo:hover img{filter:grayscale(0);opacity:1}
.reference-logo-grid .reference-logo{min-height:135px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px}
.reference-logo-grid .reference-logo img{max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.58;transition:.25s ease}
.reference-logo-grid .reference-logo:hover img{filter:grayscale(0);opacity:1}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-alert{background:#fff3f3;border-left:5px solid #b42318;padding:18px 20px;margin-bottom:20px;color:#67140d}
.form-alert ul{margin:8px 0 0;padding-left:20px}.inquiry-status h2{font-size:clamp(36px,5vw,72px);margin:0 0 20px}.inquiry-status p{font-size:20px;margin:0 0 30px}
@media(max-width:1100px){.footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.reference-strip__logo img{max-width:130px;max-height:56px}.reference-logo-grid .reference-logo{min-height:105px;padding:15px}.reference-logo-grid .reference-logo img{max-height:65px}}
a.button[href^="poptavka"]:hover,
a.button[href^="mailto:info@vegateam.cz"]:hover,
.header-cta:hover,
.contact-direct-cta:hover { color:var(--blue); border-color:var(--blue); background:#fff; transform:translateY(-2px); }
.plain-cta a.button[href^="poptavka"],
.plain-cta a.button[href^="mailto:info@vegateam.cz"],
.boxed-intro a.button[href^="poptavka"],
.contact-direct-cta { color:var(--blue); border-color:#fff; background:#fff; }
.plain-cta a.button[href^="poptavka"]:hover,
.plain-cta a.button[href^="mailto:info@vegateam.cz"]:hover,
.boxed-intro a.button[href^="poptavka"]:hover,
.contact-direct-cta:hover { color:#fff; border-color:#fff; background:transparent; }

/* Tabletová navigace */
@media (max-width: 1100px) {
  .header-inner { gap: 18px; }
  .header-inner > .brand { padding-left: 4px; }
  .brand img { width: 166px; }
  .menu-toggle { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 0; }
  .mobile-nav {
    z-index: 220;
    top: 88px;
    left: 20px;
    right: 20px;
    max-height: calc(100dvh - 108px);
    padding: 12px;
    border-radius: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .mobile-nav > a,
  .mobile-services > button,
  .mobile-services > div a { min-height: 48px; display:flex; align-items:center; padding:14px 16px; }
  .mobile-services > div { padding-left: 0; border-left: 4px solid var(--blue); background:#f4f7fd; }
  .mobile-services > div a { padding-left: 24px; font-size: 11px; }
  body.menu-open { overflow: hidden; }

  .hero { padding-top: 68px; }
  .hero-stage { margin-right:auto; overflow:clip; }
  .footer-main { grid-template-columns: 1.25fr 1fr 1fr; gap: 44px; }
  .footer-main > :last-child { grid-column: 2; }
}

/* Tablety na výšku a velké telefony */
@media (max-width: 820px) {
  :root { --shell: min(100% - 40px, 720px); }
  .section { padding: 82px 0; }
  .header-cta { display:none; }
  .language-switcher { margin-left:auto; }

  .hero { padding-top:56px; }
  .hero h1 { font-size:clamp(48px, 8.2vw, 64px); }
  .hero-stage { width:100%; height:530px; margin-top:22px; }
  .flow-panel { max-width:100%; }

  .services { padding-bottom: 44px; }
  .services .service-grid { grid-template-columns:1fr 1fr; }
  .services .service-card { min-width:0; min-height:430px; padding:26px; }
  .services .service-card h3 { min-height:92px; font-size:29px; }
  .services .mini-phone { width:82%; }
  .services .service-ambient { opacity:.028; }
  .services .app-notification { max-width:100%; }

  .plain-cta-inner { gap:34px; }
  .plain-cta h2 { font-size:clamp(44px,7vw,58px); }
  .plain-cta .cta-ambient-arrow { display:none; }
  .plain-cta .button { min-height:60px; }

  .footer { padding-top:56px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:38px 52px; }
  .footer-main > :last-child { grid-column:auto; }
  .footer-brand { grid-column:1/-1; }

  .simple-card h3 { white-space:normal; }
  .included-layout { gap:48px; }
  .included-list article { grid-template-columns:52px 1fr; }

  .boxed-intro, .about-hero, .contact-hero { min-height:0; }
  .boxed-intro-inner, .about-hero-grid, .contact-hero-grid { gap:44px; }
  .boxed-grid { grid-template-columns:1fr 1fr; }
  .boxed-category { min-width:0; }
  .boxed-card { grid-template-columns:38px minmax(0,1fr) 48px; }
  .boxed-card h3 { overflow-wrap:anywhere; }

  .marketing-logo-strip { grid-template-columns:repeat(4,1fr); }
  .platform-grid { grid-template-columns:1fr 1fr; }

  .about-value-grid { grid-template-columns:1fr 1fr; }
  .reference-logo-grid { grid-template-columns:repeat(3,1fr); }
  .contact-direct { padding:42px; }
  .contact-direct > div a { overflow-wrap:anywhere; }
  .inquiry-layout { gap:46px; }
}

/* Telefony */
@media (max-width: 600px) {
  :root { --shell: calc(100% - 32px); }
  .section { padding:64px 0; }
  .site-header { position:sticky; }
  .header-inner { height:68px; gap:12px; }
  .header-inner > .brand { padding-left:0; }
  .brand img { width:140px; }
  .menu-toggle { flex-basis:44px; width:44px; height:44px; }
  .language-switcher { margin-left:auto; padding-left:12px; }
  .language-toggle { width:38px; height:40px; font-size:19px; }
  .language-menu { position:fixed; top:69px; right:16px; }
  .mobile-nav { top:68px; left:0; right:0; max-height:calc(100dvh - 68px); border-inline:0; border-top:0; }

  .hero { padding:46px 0 52px; }
  .hero h1 { font-size:clamp(42px,12vw,50px); line-height:1.01; letter-spacing:-.06em; }
  .hero h1 br { display:none; }
  .hero-lead { margin-top:24px; font-size:16px; line-height:1.65; }
  .hero-actions { width:100%; margin-top:28px; }
  .hero-actions .button { width:100%; min-height:56px; }
  .hero-actions .text-link { min-height:44px; }
  .hero-stage { height:400px; margin-top:24px; overflow:clip; }
  .flow-panel { left:7%; top:6%; width:86%; height:69%; padding:14px; }
  .panel-app { left:15%; width:70%; }
  .panel-growth { left:7%; }
  .panel-auto { left:7%; }
  .web-concept { height:218px; }
  .web-concept-body { min-height:187px; }
  .flow-line, .orbit-two { display:none; }

  .services { padding:12px 0 28px; }
  .services .service-grid { grid-template-columns:1fr; gap:8px; padding:7px; }
  .services .service-card { min-height:410px; padding:25px 22px; }
  .services .service-card h3 { min-height:auto; margin:15px 0 24px; font-size:32px; }
  .services .service-ambient { top:-48px; right:-52px; width:164px; height:164px; opacity:.025; }
  .services .mini-web, .services .mini-phone, .services .mini-webapp, .services .mini-performance { height:220px; }
  .services .mini-phone { width:min(78%,250px); }
  .services .app-notification { overflow:hidden; }

  .plain-cta-inner { align-items:stretch; gap:30px; }
  .plain-cta h2 { font-size:clamp(39px,11vw,47px); }
  .plain-cta h2 br { display:none; }
  .plain-cta p { font-size:15px; }
  .plain-cta .button { width:100%; min-height:58px; padding:0 18px; text-align:center; }

  .heritage-inner { gap:34px; }
  .heritage h2 { font-size:38px; }
  .heritage-copy > p { font-size:18px; }

  .simple-offer-grid, .marketing-grid, .boxed-grid, .about-value-grid, .contact-option-grid { grid-template-columns:1fr; }
  .simple-card { min-height:0; padding:34px 22px; overflow:hidden; }
  .simple-card h3 { margin-top:38px; font-size:clamp(31px,9vw,38px); }
  .simple-card > p { font-size:16px; line-height:1.65; }
  .simple-card li { align-items:flex-start; padding:16px 0; font-size:15px; }
  .simple-card .simple-icon { opacity:.035; }
  .title-highlight { display:inline; padding:.04em .12em .08em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  .included-heading h2 { font-size:40px; }
  .included-list article { grid-template-columns:42px 1fr; gap:14px; padding:26px 0; }

  .boxed-intro { padding:58px 0; }
  .boxed-intro h1, .boxed-intro h2 { font-size:clamp(42px,12vw,50px); }
  .boxed-catalog { padding-top:58px; }
  .boxed-catalog-head h2 { font-size:42px; }
  .boxed-category { padding:28px 18px 20px; }
  .boxed-category > header { min-height:0; margin-bottom:24px; }
  .boxed-category > header h2 { font-size:27px; }
  .boxed-card { grid-template-columns:34px minmax(0,1fr) 44px; min-height:140px; padding:15px 0 15px 10px; }
  .boxed-card p { font-size:12px; }

  .marketing-section { padding-top:18px; }
  .marketing-card { padding:32px 22px; overflow:hidden; }
  .marketing-card h2 { font-size:34px; }
  .marketing-card > p { font-size:15px; }
  .marketing-icon { opacity:.035; }
  .marketing-logo-strip { grid-template-columns:1fr 1fr; }
  .marketing-logo { min-width:0; height:92px; }
  .platform-grid { grid-template-columns:1fr; }

  .about-hero, .contact-hero { padding-top:56px; }
  .about-hero h1, .contact-hero h1 { font-size:clamp(43px,12vw,52px); }
  .about-proof-grid, .reference-logo-grid { grid-template-columns:1fr 1fr; }
  .about-proof article { min-width:0; padding:26px 20px; }
  .about-section-head h2, .about-reference-head h2 { font-size:40px; }
  .about-expertise-list a { grid-template-columns:40px minmax(0,1fr) 28px; }

  .contact-origin, .contact-direct { min-height:0; }
  .contact-direct { padding:34px 24px; }
  .contact-direct > div a { font-size:22px; }
  .contact-option { min-height:270px; padding:32px 24px; }
  .global-work-grid, .company-data-grid { gap:42px; }
  .global-work h2, .company-data h2 { font-size:42px; }

  .inquiry { padding-top:48px; }
  .inquiry-heading h1 { font-size:clamp(43px,12vw,50px); }
  .inquiry-form { padding:22px 18px; }
  .inquiry-pair { grid-template-columns:1fr; gap:0; }
  .inquiry-form input, .inquiry-form textarea { font-size:16px; }
  .inquiry-submit { width:100%; }

  .footer { padding:48px 0 22px; }
  .footer-main { grid-template-columns:1fr; gap:34px; }
  .footer-brand { grid-column:auto; align-items:flex-start; text-align:left; }
  .footer-brand img { width:165px; }
  .footer-main div:not(:first-child) { font-size:14px; gap:12px; }
  .footer-main a { min-height:32px; display:flex; align-items:center; }
  .footer-bottom { margin-top:42px; gap:16px; flex-wrap:wrap; }
}

@media (max-width: 360px) {
  :root { --shell: calc(100% - 24px); }
  .brand img { width:128px; }
  .language-switcher { padding-left:8px; }
  .hero h1 { font-size:40px; }
  .services .service-card { padding-inline:18px; }
  .plain-cta h2 { font-size:37px; }
  .boxed-card { grid-template-columns:30px minmax(0,1fr) 38px; }
}

@media (hover:none) {
  .services .service-card:hover,
  .contact-option:hover,
  .boxed-card:hover { transform:none; box-shadow:none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-stage { transform:none !important; }
}
