/* Touch layouts only. Desktop and the protected ZetPos pricing sections are unchanged. */
@media (max-width:1024px) {
  header.nr-public-header {
    height:72px; padding-inline:24px; gap:12px;
    background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none;
  }
  header.nr-public-header .nr-logo { width:96px; flex-shrink:0; }
  header.nr-public-header .nr-header-dock { display:contents; }
  header.nr-public-header :is(.nr-nav,.nr-about-menu-desktop,.nr-header-cta) { display:none; }
  header.nr-public-header .nr-header-dock button.nr-cart-trigger {
    position:relative; width:48px !important; min-width:48px !important;
    height:48px !important; min-height:48px !important; margin-left:auto !important;
    margin-right:0; padding:0 !important; border-radius:14px !important; order:0;
    scale:1 !important; transform:none !important; animation:none !important;
  }
  header.nr-public-header .nr-cart-trigger .nr-cart-label { display:none !important; }
  header.nr-public-header .nr-header-dock button.nr-cart-trigger .nr-cart-count {
    position:absolute; top:-4px; right:-4px; display:grid !important;
    width:20px; height:20px; min-width:20px; padding:0; place-items:center;
    border:2px solid #fff; border-radius:50%; background:#b80e27; color:#fff;
    clip-path:none; overflow:visible; font-size:10px; line-height:1;
  }
  header.nr-public-header .nr-menu-trigger {
    display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center;
    border:1px solid #eadde0; border-radius:14px; background:#fff; order:1;
  }
  header.nr-public-header .nr-menu-trigger svg { width:22px; height:22px; }
  header.nr-public-header .nr-mobile-nav {
    position:absolute; top:72px; left:0; right:0; display:grid;
    max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain;
    gap:0; padding:12px 24px max(24px,env(safe-area-inset-bottom));
    border:0; border-top:1px solid #f0e5e7; border-radius:0 0 20px 20px;
    background:#fff; box-shadow:0 18px 32px rgba(67,37,43,.12);
  }
  header.nr-public-header .nr-mobile-nav :is(a,summary) {
    display:flex; min-height:52px; align-items:center; padding:14px 4px;
    color:#241d1f; font-size:16px; line-height:1.4; text-align:left;
  }
  header.nr-public-header .nr-mobile-about>div { padding-inline:16px; }
  .nr-mobile-backdrop {
    position:fixed; inset:72px 0 0; z-index:119; background:rgba(36,29,31,.24);
    touch-action:none;
  }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.container,.nr-info-wrap,.pt-wrap),
  .nr-site .nr-wrap:not(#cenik *),.nr-footer .nr-footer-wrap { width:calc(100% - 48px); }
  /* Keep the hero photograph in the document flow instead of behind the text. */
  .nr-site .nr-hero { min-height:0; padding:44px 0 48px; }
  .nr-site .nr-hero .nr-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; overflow:visible; }
  .nr-site .nr-hero .nr-hero-copy { padding:0; align-items:flex-start; }
  .nr-site .nr-hero h1 { max-width:16ch; margin:0 0 22px; font-size:clamp(40px,6.5vw,64px); line-height:1.08; }
  .nr-site .nr-hero .nr-hero-product-framed {
    position:relative; inset:auto; width:100%; max-width:640px; margin:0;
    justify-self:center; opacity:1 !important; transform:none; pointer-events:auto;
  }
  .nr-site .nr-hero .nr-hero-product-framed .nr-hero-picture { width:100%; height:auto; min-height:0; margin:0; border-radius:20px; }
  .nr-site .nr-hero .nr-hero-product-framed .nr-hero-picture img { width:100%; height:auto; min-height:0; filter:none; transform:none; }
  .nr-site .nr-hero .nr-hero-facts { max-width:none; margin-top:26px; }
  main#hlavni-obsah .nr-site :is(.nr-hero,.nr-software,.nr-hardware-quality,.nr-segments-home,.nr-tailored,.nr-consultation) :is(h1,h2,h3,p,div,li,dt,dd) { text-align:left !important; }
  main#hlavni-obsah .nr-site :is(.nr-hero,.nr-software,.nr-hardware-quality,.nr-segments-home,.nr-tailored,.nr-consultation) :is(h1,h2,h3,p) { margin-inline:0; }
  .nr-site :is(.nr-software,.nr-tailored,.nr-consultation) { padding-block:48px; }
  .nr-site .nr-software .nr-software-panel { padding:28px; }
  .nr-site :is(.nr-software h2,.nr-tailored h2,.nr-consultation h2) { max-width:22ch; font-size:clamp(30px,4.5vw,44px); line-height:1.12; }
  .nr-site .nr-consultation .nr-consultation-panel { padding:28px; gap:24px; }
  .nr-site :is(#hardware,#segmenty) { scroll-margin-top:88px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.page-hero-with-visual>.container,.nr-info-hero-with-visual>.nr-info-wrap,.segment-landing-hero-grid,.eet-premium-hero-grid,.pt-hero-grid,.product-hero,.nr-contact-layout,.nr-consult-simple-layout,.zp-cart-layout,.zp-checkout-layout) { grid-template-columns:minmax(0,1fr); gap:28px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.nr-consult-simple-copy,.zp-order-summary,.zp-checkout-side) { position:static; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.form,.zp-checkout-form) :is(.content-grid,.admin-two-columns) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size:16px; min-height:48px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.button,.nr-button) { min-height:48px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .field { min-width:0; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(h1,h2,h3,p,li,dt,dd) { text-align:left !important; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .field label { font-size:13px; line-height:1.5; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.form,.zp-checkout-form) { min-width:0; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .product-hero { align-items:start; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.ia-card-grid,.nr-info-card-grid,.segment-landing-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .product-gallery { width:100%; max-width:620px; margin-inline:auto; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .product-switch-gallery-thumbs button { min-width:48px; min-height:48px; }
  /* Two readable columns on tablets, one on phones; never compress desktop cards. */
  main#hlavni-obsah .public-site.catalog-page :is(.product-grid,.product-grid.is-tariff-grid) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-grid { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-button { height:72px; padding:10px 12px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-button img { flex-basis:34%; width:34%; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card { border-radius:20px !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card h2 { max-width:none !important; font-size:27px !important; line-height:1.12 !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-body { align-items:stretch; padding:22px !important; text-align:left !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-body :is(h2,p,small,strong,div,li) { text-align:left !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-body :is(h2,p) { margin-inline:0; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-purchase { max-width:none; justify-content:space-between; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-actions { max-width:none; width:100%; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-actions :is(.buy-action,.button) { width:100%; min-height:48px; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card:hover { transform:none; }
  .shop-card-carousel { touch-action:pan-y; }
  main#hlavni-obsah .public-site.catalog-page .shop-card-carousel-dots { right:14px; bottom:8px; gap:0; }
  main#hlavni-obsah .public-site.catalog-page .shop-card-carousel-dots button,
  main#hlavni-obsah .public-site.catalog-page .shop-card-carousel-dots button.is-active {
    position:relative; display:grid; width:44px; height:44px; padding:0;
    place-items:center; border-radius:50%; background:transparent; opacity:1; transform:none;
  }
  main#hlavni-obsah .public-site.catalog-page .shop-card-carousel-dots button::after { width:6px; height:6px; border-radius:50%; background:#ed101d; opacity:.38; content:""; }
  main#hlavni-obsah .public-site.catalog-page .shop-card-carousel-dots button.is-active::after { width:11px; height:11px; opacity:1; }
  main#hlavni-obsah .public-site.catalog-page .shop-tariff-billing-control { min-height:44px; }
  main#hlavni-obsah .public-site.catalog-page .shop-tariff-switch { width:48px; height:44px; }
  main#hlavni-obsah .public-site.catalog-page .shop-tariff-slider { inset:8px 0; }
  main#hlavni-obsah .public-site.catalog-page .shop-tariff-slider::before { width:20px; height:20px; }
  footer.nr-footer :is(div,section,nav,h2,p,span) { text-align:left !important; }
  .nr-footer .nr-footer-groups { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-block:32px; }
  .nr-footer .nr-footer-groups section { align-items:stretch; }
  .nr-footer .nr-footer-groups a { display:flex; align-items:center; min-height:44px; margin:0; font-size:14px; line-height:1.45; }
  .nr-footer :is(.nr-footer-logo,.nr-footer-advice a,.nr-footer-bottom>span) { margin-inline:0; }
  .nr-footer .nr-footer-bottom nav { justify-content:flex-start; }
  .nr-footer .nr-footer-bottom nav a { display:flex; align-items:center; min-height:44px; }
  .zp-mini-cart { max-width:100%; height:100dvh; padding-bottom:env(safe-area-inset-bottom); }
  .zp-mini-cart :is(button,.button) { min-height:44px; }
  .zp-mini-cart :is(.zp-mini-cart-header button,.zp-mini-cart-quantity button,.zp-mini-cart-line-total button) { min-width:44px; }
  .zp-mini-cart .zp-mini-cart-copy>a { white-space:normal; }
  .zp-mini-cart .zp-mini-cart-body { overscroll-behavior:contain; }
  .shop-product-modal { max-height:calc(100dvh - 24px); overscroll-behavior:contain; }
  .shop-product-modal :is(button,.button) { min-height:44px; }
}

@media (min-width:901px) and (max-width:1024px) {
  .nr-site .nr-hero .nr-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:32px; }
  .nr-site .nr-hero h1 { font-size:46px; }
  .nr-site .nr-hero .nr-hero-facts { gap:12px; }
  .nr-site .nr-hero .nr-hero-facts dd { font-size:13px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .nr-consult-simple .nr-consult-simple-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
}

@media (max-width:600px) {
  header.nr-public-header { padding-inline:16px; }
  header.nr-public-header .nr-mobile-nav { padding-inline:20px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.container,.nr-info-wrap,.pt-wrap),
  .nr-site .nr-wrap:not(#cenik *),.nr-footer .nr-footer-wrap { width:calc(100% - 32px); }
  .nr-site .nr-hero { padding:30px 0 36px; }
  .nr-site .nr-hero .nr-hero-grid { gap:24px; }
  .nr-site .nr-hero h1 { max-width:15ch; font-size:clamp(34px,9.5vw,46px); line-height:1.1; }
  .nr-site .nr-hero .nr-kicker { margin-bottom:16px; }
  .nr-site .nr-hero .nr-hero-copy>p:not(.nr-kicker) { max-width:none; font-size:15px; line-height:1.65; margin-bottom:22px; }
  .nr-site .nr-hero .nr-actions { width:100%; gap:10px; }
  .nr-site .nr-hero .nr-button { min-height:48px; font-size:13px; }
  .nr-site .nr-hero .nr-hero-facts { width:100%; grid-template-columns:1fr; margin-top:22px; }
  .nr-site .nr-hero .nr-hero-facts>div { min-height:62px; padding:12px 0 12px 44px; }
  .nr-site .nr-hero .nr-hero-facts strong { font-size:14px; }
  .nr-site :is(.nr-software,.nr-tailored,.nr-consultation) { padding-block:32px; }
  .nr-site :is(.nr-software h2,.nr-tailored h2,.nr-consultation h2) { font-size:30px; line-height:1.15; }
  .nr-site .nr-software .nr-software-panel { padding:22px 18px; }
  .nr-site .nr-consultation .nr-consultation-panel { padding:24px 20px; }
  .nr-site .nr-tailored :is(.nr-tailored-process,.nr-tailored-examples) { grid-template-columns:1fr; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.form,.zp-checkout-form) :is(.content-grid,.admin-two-columns) { grid-template-columns:minmax(0,1fr); }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.nr-consult-simple,.nr-info-hero,.page-hero,.segment-landing-hero,.pt-hero,.eet-premium-hero) { padding-block:28px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .nr-consult-simple-layout { gap:20px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.ia-card-grid,.nr-info-card-grid,.segment-landing-grid,.eet-legislation-grid,.content-grid) { grid-template-columns:minmax(0,1fr); }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .nr-consult-simple-copy>p:not(.nr-info-kicker) { margin-block:16px 12px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.nr-consult-form-card,.nr-contact-form,.support-ticket-form,.zp-checkout-card) { padding:20px 16px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.nr-consult-form-card,.nr-contact-form) .form { padding:0; border:0; background:transparent; box-shadow:none; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .nr-consult-form-card>h2 { max-width:none; margin-bottom:20px; font-size:26px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.form,.zp-checkout-form) :is(label,legend,.field,p) { text-align:left !important; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .inquiry-terminal-choice { padding:16px; }
  main#hlavni-obsah .public-site.catalog-page :is(.product-grid,.product-grid.is-tariff-grid) { grid-template-columns:minmax(0,1fr) !important; gap:18px !important; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-button { height:68px; padding:8px 10px; font-size:13px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-category-button img { flex-basis:32%; width:32%; }
  main#hlavni-obsah .public-site.catalog-page .catalog-categories { padding-block:16px 28px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-page-intro { padding-top:28px; }
  main#hlavni-obsah .public-site.catalog-page .catalog-count { text-align:left !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card { grid-template-rows:240px minmax(0,1fr) !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-image { height:240px !important; padding:22px !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-body { padding:22px 20px !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card .product-summary { min-height:0 !important; font-size:14px !important; }
  main#hlavni-obsah .public-site.catalog-page .shop-product-card-body .product-benefits { padding-left:16px; list-style-position:outside; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.product-hero h1,.display) { font-size:34px; line-height:1.12; max-width:none; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .product-buy { justify-items:stretch; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .product-buy .buy-action { width:100%; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) :is(.zp-cart-copy,.zp-cart-price,.zp-order-summary,.zp-order-summary *) { text-align:left !important; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .zp-cart-quantity button { min-width:44px; min-height:44px; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .zp-cart-quantity { flex-wrap:wrap; }
  main#hlavni-obsah.public-subpage:not(.public-pricing-page) .zp-cart-quantity .zp-cart-remove { margin-left:0; }
  .payment-terminal-page :is(.pt-comparison-scroll,.pt-table-scroll) { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .payment-terminal-page .pt-comparison-scroll { border-radius:16px; }
  .payment-terminal-page .pt-comparison { min-width:600px; }
  .nr-footer .nr-footer-wrap { padding-top:32px; }
  .nr-footer .nr-footer-top { gap:24px; padding-bottom:28px; }
  .nr-footer .nr-footer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .nr-footer .nr-footer-groups h2 { min-height:30px; margin-bottom:12px; font-size:11px; line-height:1.5; }
  .nr-footer .nr-footer-bottom { align-items:flex-start; }
  .nr-footer .nr-footer-advice a { width:100%; min-height:48px; justify-content:center; }
  .shop-product-modal { width:calc(100vw - 24px); border-radius:20px; }
  .zp-mini-cart-layer { padding:0; }
  .zp-mini-cart { width:100%; margin:0; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
  .zp-mini-cart .zp-mini-cart-lines article { grid-template-columns:58px minmax(0,1fr); gap:12px; }
  .zp-mini-cart .zp-mini-cart-copy { display:grid; gap:6px; }
  .zp-mini-cart .zp-mini-cart-copy>a { font-size:14px; line-height:1.4; }
  .zp-mini-cart .zp-mini-cart-copy small { display:block; font-size:12px; line-height:1.5; }
  .zp-mini-cart .zp-mini-cart-line-total { grid-column:2; grid-template-columns:minmax(0,1fr) auto; justify-items:start; align-items:center; gap:5px 12px; }
  .zp-mini-cart .zp-mini-cart-line-total small { grid-column:1; font-size:12px; }
  .zp-mini-cart .zp-mini-cart-line-total button { grid-column:2; grid-row:1 / 3; }
  main#hlavni-obsah .public-site.catalog-page .shop-tariff-card .shop-product-image-note { display:none; }
  .shop-product-modal-copy { padding:24px 20px; }
  .shop-product-modal-visual { min-height:220px; padding:24px; }
}
@media (max-width:359px) {
  .nr-footer .nr-footer-groups { grid-template-columns:1fr; }
}
@media (min-width:1025px) {
  .nr-mobile-backdrop { display:none; }
  header.nr-landing-header .nr-header-dock { display:none; }
}
