/*
  Dentalweb hygienisticky funnel.
  Vetsina pravidel je zamerne omezena na konkretni body classy Shoptetu,
  aby custom kod nezasahoval do bezneho nakupu mimo funnel.
*/

/* Cisty funnel: schovame navigaci a vyhledavani, aby uzivatel neodchazel z registrace. */
body.in-registrace .top-navigation-bar .top-navigation-menu,
body.in-registrace .top-navigation-bar .top-navigation-menu-trigger,
body.in-registrace .top-navigation-bar .top-navigation-menu-helper,
body.in-registrace .top-navigation-bar .top-navigation-contacts,
body.in-registrace #header .search,
body.in-registrace #navigation,
body.in-registrace .breadcrumbs-wrapper,
body.in-registrace .breadcrumbs,
body.in-registrace .navigation-buttons,
body.in-registrace .responsive-tools,
body.in-registrace .toggle-window[data-target="navigation"],
body.in-registrace [data-testid="hamburgerMenu"],
body.in-login .top-navigation-bar .top-navigation-menu,
body.in-login .top-navigation-bar .top-navigation-menu-trigger,
body.in-login .top-navigation-bar .top-navigation-menu-helper,
body.in-login .top-navigation-bar .top-navigation-contacts,
body.in-login #header .search,
body.in-login #navigation,
body.in-login .breadcrumbs-wrapper,
body.in-login .breadcrumbs,
body.in-login .navigation-buttons,
body.in-login .responsive-tools,
body.in-login .toggle-window[data-target="navigation"],
body.in-login [data-testid="hamburgerMenu"],
body.in-nastaveni .top-navigation-bar .top-navigation-menu,
body.in-nastaveni .top-navigation-bar .top-navigation-menu-trigger,
body.in-nastaveni .top-navigation-bar .top-navigation-menu-helper,
body.in-nastaveni .top-navigation-bar .top-navigation-contacts,
body.in-nastaveni #header .search,
body.in-nastaveni #navigation,
body.in-nastaveni .breadcrumbs-wrapper,
body.in-nastaveni .breadcrumbs,
body.in-nastaveni .navigation-buttons,
body.in-nastaveni .responsive-tools,
body.in-nastaveni .toggle-window[data-target="navigation"],
body.in-nastaveni [data-testid="hamburgerMenu"] {
  display: none !important;
}

/* Logo zustava viditelne kvuli duvere, ale neni klikaci, aby neodvadelo z funnelu. */
body.in-registrace .site-name a,
body.in-login .site-name a,
body.in-nastaveni .site-name a {
  cursor: default !important;
  pointer-events: none !important;
}

/* Radky souhlasu/newsletteru na registraci schovava JS i CSS; hodnoty nastavuje JS. */
body.in-registrace .form-group:has(#sendNewsletter),
body.in-registrace .form-group:has(#consents5),
body.in-registrace .dw-registration-hidden-field {
  display: none !important;
}

/* Fallback pro starsi prohlizece, kdyby nepouzily selector :has(). */
body.in-registrace #sendNewsletter,
body.in-registrace label[for="sendNewsletter"],
body.in-registrace #consents5,
body.in-registrace label[for="consents5"] {
  display: none !important;
}

/* Na funnel strankach schovame podpis sablony, copyright ponechame. */
body.in-registrace #signature,
body.in-registrace .signature,
body.in-registrace .footer-bottom .project-signature,
body.in-registrace .footer-bottom [href*="shoptet"],
body.in-registrace .footer-bottom [href*="apollo"],
body.in-login #signature,
body.in-login .signature,
body.in-login .footer-bottom .project-signature,
body.in-login .footer-bottom [href*="shoptet"],
body.in-login .footer-bottom [href*="apollo"],
body.in-nastaveni #signature,
body.in-nastaveni .signature,
body.in-nastaveni .footer-bottom .project-signature,
body.in-nastaveni .footer-bottom [href*="shoptet"],
body.in-nastaveni .footer-bottom [href*="apollo"] {
  display: none !important;
}

body.in-registrace .footer-bottom,
body.in-login .footer-bottom,
body.in-nastaveni .footer-bottom {
  justify-content: flex-start !important;
  text-align: left !important;
}

body.in-registrace .footer-bottom .copyright,
body.in-login .footer-bottom .copyright,
body.in-nastaveni .footer-bottom .copyright {
  margin-left: 0 !important;
  text-align: left !important;
}

/* Po schovani navigace stahneme obsah nahoru, aby formular nepobil zbytecne nizko. */
body.in-registrace .content-wrapper,
body.in-registrace .content-inner {
  padding-top: 0 !important;
}

body.in-registrace .registration-login-wrapper,
body.in-registrace .formRegistration {
  margin-top: 0 !important;
}

/* Uvodni banner nad registraci: duveru a kontext resi bez zasahu do samotneho formulare. */
body.in-registrace .dw-registration-welcome {
  box-sizing: border-box;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 22px;
  padding: 0 12px;
}

body.in-registrace .dw-registration-welcome-content {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 22px;
  border: 1px solid #dbe8ee;
  border-radius: 22px;
  background: linear-gradient(135deg, #f3f8fb 0%, #ffffff 100%);
  box-shadow: 0 10px 26px rgba(46, 99, 117, 0.1);
  text-align: center;
}

body.in-registrace .dw-registration-welcome-text {
  max-width: 640px;
  margin: 0 auto;
  color: #24586a;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Trust odkaz je zamerne nenapadny; nepouzivame live Heureka widget kvuli stabilite layoutu. */
body.in-registrace .dw-registration-welcome-trust {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  color: #4f7180 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.in-registrace .dw-registration-welcome-trust::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 7px;
  border-radius: 999px;
  background: #6aa342;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

/* Ochrana proti pretekani dlouhych textu a tlacitek v registracnim formulari. */
body.in-registrace .formRegistration,
body.in-registrace .formRegistration fieldset,
body.in-registrace .formRegistration .co-box,
body.in-registrace .formRegistration .submit-wrapper,
body.in-registrace .formRegistration .consents {
  box-sizing: border-box;
  max-width: 100%;
}

/* Primarni registrace a sekundarni prihlaseni maji byt vedle sebe na desktopu. */
body.in-registrace .submit-wrapper p {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
}

body.in-registrace .submit-wrapper .dw-login-secondary,
body.in-registrace .submit-wrapper input[type="submit"] {
  width: auto !important;
  min-width: 0;
  max-width: none;
  flex: 1 1 0;
  min-height: 44px;
  margin: 0 !important;
  padding: 12px 18px !important;
  line-height: 1.2 !important;
}

body.in-registrace .submit-wrapper .dw-login-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfd8de !important;
  border-radius: 999px;
  background: #eef3f6 !important;
  background-color: #eef3f6 !important;
  color: #2e6375 !important;
  font-weight: 700;
  text-decoration: none !important;
}

body.in-registrace .submit-wrapper .dw-login-secondary:hover,
body.in-registrace .submit-wrapper .dw-login-secondary:focus {
  background: #e2eaef !important;
  background-color: #e2eaef !important;
  color: #214b59 !important;
}

body.in-registrace .consents label,
body.in-registrace .consents a {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Klientske nastaveni: skryte prvky zustavaji v HTML, ale nerusi prvni pruchod. */
body.in-nastaveni .dw-client-hidden {
  display: none !important;
}

body.in-nastaveni .dw-password-toggle-wrapper {
  margin: 0 0 18px;
}

body.in-nastaveni .dw-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 18px;
  border: 1px solid #cfd8de;
  border-radius: 999px;
  background: #eef3f6;
  color: #2e6375 !important;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}

body.in-nastaveni .dw-password-toggle:hover,
body.in-nastaveni .dw-password-toggle:focus {
  background: #e2eaef;
  color: #214b59 !important;
}

body.in-nastaveni .dw-delivery-address-note {
  max-width: 680px;
  margin: 0 0 16px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

/* Leve klientske menu schovavame jen v aktivnim hygienistickem funnelu. */
body.in-nastaveni.dw-client-funnel-active .sidebar.sidebar-left {
  display: none !important;
}

body.in-nastaveni.dw-client-funnel-active .content {
  width: 100% !important;
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
  float: none !important;
}

/* Spolecne utility pro prvky schovane JS v kosiku a objednavce. */
body.in-kosik .dw-cart-hidden,
body.ordering-process .dw-order-hidden {
  display: none !important;
}

/* Objednavkovy krok 2: citliva pole schovavame CSS-only, bez manipulace JS v loaderu Shoptetu. */
body.in-krok-2 .form-group:has(#vatId),
body.in-krok-2 .form-group:has(#sendNewsletter),
body.in-krok-2 .form-group:has(#set-registration) {
  display: none !important;
}

/* Poznamka k fakturacni adrese musi zabrat cely radek, aby nerozhodila grid poli. */
body.ordering-process .dw-billing-note {
  grid-column: 1 / -1;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: 0 0 12px;
  color: #5f6f7a;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Mobilni rekapitulace: nedovolime lamani slov po jednotlivych pismenech. */
body.ordering-process .order-summary .cart-item-name,
body.ordering-process .order-summary .cart-item-name .main-link {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 767px) {
  /* Mobil: banner je kompaktnejsi a CTA tlacitka se skladaji pod sebe. */
  body.in-registrace .dw-registration-welcome {
    margin-bottom: 18px;
    padding: 0;
  }

  body.in-registrace .dw-registration-welcome-content {
    padding: 16px 14px;
    border-radius: 18px;
  }

  body.in-registrace .dw-registration-welcome-text {
    font-size: 18px;
    line-height: 1.35;
  }

  body.in-registrace .dw-registration-welcome-trust {
    font-size: 13px;
  }

  body.in-registrace .submit-wrapper p {
    flex-direction: column-reverse;
  }

  body.in-registrace .submit-wrapper .dw-login-secondary,
  body.in-registrace .submit-wrapper input[type="submit"] {
    width: 100%;
    max-width: 280px;
    flex: none;
  }
}
