/* fix41 — mobile footer height (accordion) + unified registration shell */

/* ===== Footer accordion ===== */
html body .gzs-footer-acc {
  margin: 0 0 12px !important;
}
html body .gzs-footer-acc__sum {
  list-style: none !important;
  cursor: default;
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #17191D !important;
}
html body .gzs-footer-acc__sum::-webkit-details-marker { display: none; }
html body .gzs-footer-acc__sum::marker { content: ""; }

/* Desktop / tablet: always expanded, no disclosure chrome */
@media (min-width: 768px) {
  html body .gzs-footer-acc {
    /* force open look even if attribute missing */
  }
  html body .gzs-footer-acc > .block-content {
    display: block !important;
  }
  html body .gzs-footer-acc__sum {
    pointer-events: none;
    cursor: default;
  }
  html body .gzs-footer-acc__sum::after {
    content: none !important;
  }
}

/* Phone: collapsible sections, compact brand */
@media (max-width: 767px) {
  html body .page-footer .footer-middle,
  html body .gzs-footer .footer-middle {
    padding-top: 16px !important;
    padding-bottom: 8px !important;
  }

  html body .page-footer .gzs-footer-brand__logo img,
  html body a.gzs-footer-brand__logo img {
    width: 180px !important;
  }
  html body .page-footer .gzs-footer-brand__logo,
  html body a.gzs-footer-brand__logo {
    margin-left: calc(-180px * 109 / 1378) !important;
    margin-bottom: 6px !important;
  }
  html body .page-footer .gzs-footer-brand__name {
    font-size: 15px !important;
    margin: 0 0 2px !important;
  }
  html body .page-footer .gzs-footer-brand__tag,
  html body .page-footer .gzs-footer-contact {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
  }
  html body .page-footer .gzs-footer__brand-col {
    margin-bottom: 4px !important;
  }

  html body .gzs-footer-acc {
    border-top: 1px solid #E5E7EB !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .gzs-footer-acc__sum {
    pointer-events: auto;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
  }
  html body .gzs-footer-acc__sum::after {
    content: "+" !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    line-height: 1 !important;
  }
  html body .gzs-footer-acc[open] > .gzs-footer-acc__sum::after {
    content: "–" !important;
  }
  html body .gzs-footer-acc > .block-content {
    padding: 0 0 10px !important;
  }
  html body .page-footer .footer-middle .links a,
  html body .gzs-footer .footer-middle .links a,
  html body .page-footer .gzs-footer-hours li,
  html body .page-footer .gzs-footer-more a {
    font-size: 14px !important;
    line-height: 1.35 !important;
    min-height: 32px !important;
    padding: 4px 0 !important;
  }
  html body .page-footer .footer-bottom {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  html body .page-footer .gzs-footer-copy,
  html body .page-footer .gzs-footer-legal,
  html body .page-footer .gzs-footer-credit {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 0 4px !important;
  }
}

/* JS helper class: desktop forces open attribute via small inline script optional;
   CSS above already shows content at >=768 even if closed. */

/* ===== Registration: one shell for fizična + pravna ===== */
html body.customer-account-create .column.main,
html body.cms-company-register-form .column.main,
html body.customer-account-create .page-main .column.main,
html body.cms-company-register-form .page-main .column.main {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  width: 100% !important;
}

html body.customer-account-create .page-title-wrapper,
html body.cms-company-register-form .page-title-wrapper {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

html body.customer-account-create h1,
html body.customer-account-create .page-title span,
html body.cms-company-register-form h1,
html body.cms-company-register-form .page-title span {
  font-size: 28px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #043E89 !important;
  text-align: left !important;
}

html body.customer-account-create .gzs-reg-chooser,
html body.cms-company-register-form .gzs-reg-chooser {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.customer-account-create .form-create-account,
html body.cms-company-register-form form,
html body.cms-company-register-form .fieldset,
html body.cms-company-register-form .gzs-company-register {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

html body.customer-account-create .field .control input,
html body.cms-company-register-form .field .control input,
html body.cms-company-register-form input.input-text,
html body.cms-company-register-form select {
  min-height: 44px !important;
  height: 44px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

html body.customer-account-create .action.submit,
html body.cms-company-register-form .action.submit,
html body.cms-company-register-form button.action.primary,
html body.customer-account-create button.action.primary {
  min-height: 48px !important;
  width: 100% !important;
  max-width: 100% !important;
}
