/* ============================================================
   skinspecialist.cz / bioby.cz — ss-register-1.css — v1
   PRODUCTION CSS for Shoptet /registrace/ page

   DESIGN: V3 "Editorial atmospheric" — mirror /login/ page
     - Left: full-bleed photo (same hero as login) with overlay caption
     - Right: white background with V3 form area
       (eyebrow + heading + sub + Shoptet form + "Už máte účet? Přihlaste se")

   DETECTION:
     - body.in-registrace set by Shoptet on /registrace/ page (verified)
     - Native chrome (#content-wrapper) hidden when body has .ss-register-loaded

   FORM FIELDS (Shoptet /registrace/):
     - email, password, passwordAgain (in fieldset > "Osobní údaje")
     - consent label (in fieldset > "Potvrzení")
     - submit "Registrovat"

   DEPLOY:
     1. Upload this file + ss-register-1.js to /user/documents/upload/
     2. Hero image reuses /login/'s file (already uploaded)
     3. In Záhlaví HTML kódy add:
        <link rel="stylesheet" href="/user/documents/upload/ss-register-1.css?v=1">
     4. In Zápatí HTML kódy add:
        <script src="/user/documents/upload/ss-register-1.js?v=1" defer></script>
   ============================================================ */

/* KILL NATIVE — only when JS init succeeded */
body.in-registrace.ss-register-loaded #content-wrapper,
body.in-registrace.ss-register-loaded .breadcrumbs-wrapper {
  display: none !important;
}
body.in-registrace.ss-register-loaded {
  background: var(--ss-canvas, #F2EBDB) !important;
}


/* ROOT — full-width V3 layout */
.ss-register-root {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--ss-canvas, #F2EBDB);
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 40px 32px 80px;
  min-height: calc(100vh - 168px);
  font-family: var(--ss-sans, 'Manrope', sans-serif);
  color: var(--ss-black, #0F0F0F);
}


/* CARD — 45/55 split, 4px corners (matches login) */
.ss-register-card {
  display: grid;
  grid-template-columns: 45% 55%;
  width: 100%;
  max-width: 1200px;
  min-height: 720px;
  background: var(--ss-white, #FFFFFF);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15, 15, 15, .12);
}


/* LEFT — same atmospheric image as login */
.ss-register-image {
  position: relative;
  background-image: url('/user/documents/upload/Vase-pece-vas-ceka-prihlaseni-k-uctu-skinspecialist.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 44px;
  color: var(--ss-white, #FFFFFF);
  min-height: 720px;
}
.ss-register-image::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    180deg,
    rgba(15, 15, 15, .42) 0%,
    rgba(15, 15, 15, .08) 22%,
    rgba(15, 15, 15, .08) 55%,
    rgba(15, 15, 15, .70) 100%
  );
  pointer-events: none;
}
.ss-register-image > * { position: relative; z-index: 1; }

.ss-register-image-quote {
  font-family: var(--ss-serif, 'Luxury Rigane', Georgia, serif);
  font-weight: 300;
  font-size: clamp(20px, 1.7vw, 26px);
  line-height: 1.35;
  max-width: 420px;
  margin: 0 0 18px;
  letter-spacing: -.01em;
}
.ss-register-image-author {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ss-register-image-author .name {
  font-family: var(--ss-serif, 'Luxury Rigane', Georgia, serif);
  font-style: italic;
  font-weight: 300;
  font-size: 18px;
  letter-spacing: -.01em;
  line-height: 1.1;
}
.ss-register-image-author .role {
  font-family: var(--ss-sans, sans-serif);
  font-size: 10.5px;
  letter-spacing: .3em;
  text-transform: uppercase;
  opacity: .82;
  font-weight: 600;
  line-height: 1.4;
}


/* RIGHT — FORM AREA on white */
.ss-register-form {
  padding: 80px 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--ss-white, #FFFFFF);
}
.ss-register-form-inner {
  max-width: 420px;
  width: 100%;
}

.ss-register-eyebrow {
  font-family: var(--ss-sans, sans-serif);
  font-size: 10.5px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--ss-sage-deep, #5A7E78);
  font-weight: 600;
  margin: 0 0 18px;
}

.ss-register-h {
  font-family: var(--ss-serif, 'Luxury Rigane', Georgia, serif);
  font-weight: 300;
  font-size: clamp(40px, 4vw, 52px);
  letter-spacing: -.025em;
  line-height: 1;
  margin: 0 0 10px;
  color: var(--ss-black, #0F0F0F);
}
.ss-register-h em { font-style: italic; }

.ss-register-sub {
  font-family: var(--ss-serif, 'Luxury Rigane', Georgia, serif);
  font-style: italic;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.45;
  color: var(--ss-muted, rgba(15, 15, 15, .62));
  margin: 0 0 36px;
}


/* ============================================================
   FORM — restyle Shoptet's #register-form
   ----------------------------------------------------------------
   Shoptet wraps form in nested .co-box + <fieldset> + <h4> headings.
   We reset all wrappers and re-style controls.
   ============================================================ */

/* Reset Shoptet's nested wrappers — all transparent block */
.ss-register-form .formRegistration .co-box,
.ss-register-form .formRegistration fieldset {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block;
}

/* Hide Shoptet's section headings (Osobní údaje, Potvrzení) — our heading suffices */
.ss-register-form .formRegistration h4 {
  display: none !important;
}

/* Empty co-box (separator div) — collapse */
.ss-register-form .formRegistration .co-box:empty {
  display: none !important;
}

/* Form groups — consistent spacing */
.ss-register-form .formRegistration .form-group {
  position: static !important;
  margin-bottom: 12px;
  min-width: 0 !important;
}

/* Labels — uppercase tracked above inputs */
.ss-register-form .formRegistration label {
  display: block;
  font-family: var(--ss-sans, sans-serif);
  font-size: 10.5px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--ss-muted, rgba(15, 15, 15, .62));
  margin-bottom: 8px;
  font-weight: 600;
}
/* v1.1: required-asterisk span musi byt inline + nowrap aby se hvezdicka
   nezalomila na novy radek u dlouhych labelu ("HESLO (KONTROLA)"). */
.ss-register-form .formRegistration label .required-asterisk {
  display: inline !important;
  white-space: nowrap;
}
.ss-register-form .formRegistration label .required-asterisk::after {
  content: ' *';
  color: var(--ss-terracotta, #9A7A5F);
  display: inline !important;
}

/* Inputs */
.ss-register-form .formRegistration .form-control {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--ss-sans, sans-serif);
  font-size: 14px;
  background: var(--ss-white, #FFFFFF);
  border: 1px solid var(--ss-border, rgba(15, 15, 15, .14));
  border-radius: 4px;
  outline: 0;
  color: var(--ss-black, #0F0F0F);
  transition: border-color .25s cubic-bezier(.4, 0, .2, 1);
}
.ss-register-form .formRegistration .form-control:focus {
  border-color: var(--ss-sage, #6B8B85);
}

/* Smart label wrapper — neutralize Shoptet's floating label */
.ss-register-form .formRegistration .smart-label-wrapper {
  position: static !important;
}

/* Consent block (legal text) — smaller, muted */
.ss-register-form .formRegistration .consents {
  margin-top: 18px;
  margin-bottom: 18px;
}
.ss-register-form .formRegistration .consents label {
  display: block !important;
  font-family: var(--ss-sans, sans-serif) !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ss-muted, rgba(15, 15, 15, .62)) !important;
  font-weight: 400 !important;
  line-height: 1.5;
  margin: 0;
}
.ss-register-form .formRegistration .consents a {
  color: var(--ss-terracotta-deep, #7E6248);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* Submit wrapper */
.ss-register-form .formRegistration .submit-wrapper {
  margin-top: 8px;
  margin-bottom: 0;
}
.ss-register-form .formRegistration .submit-wrapper p {
  margin: 0;
}

/* Submit — sage green full width (matches login) */
.ss-register-form .formRegistration .btn-login,
.ss-register-form .formRegistration input[type="submit"],
.ss-register-form .formRegistration button[type="submit"] {
  float: none !important;
  width: 100% !important;
  padding: 16px !important;
  background: var(--ss-sage, #6B8B85) !important;
  color: var(--ss-white, #FFFFFF) !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-family: var(--ss-sans, sans-serif) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background-color .35s cubic-bezier(.4, 0, .2, 1);
  -webkit-appearance: none;
  appearance: none;
}
.ss-register-form .formRegistration .btn-login:hover,
.ss-register-form .formRegistration input[type="submit"]:hover,
.ss-register-form .formRegistration button[type="submit"]:hover {
  background: var(--ss-sage-deep, #5A7E78) !important;
}


/* BOTTOM — "Už máte účet? Přihlaste se" link */
.ss-register-have-account {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--ss-border, rgba(15, 15, 15, .10));
  text-align: center;
  font-family: var(--ss-serif, 'Luxury Rigane', Georgia, serif);
  font-style: italic;
  font-size: 14.5px;
  color: var(--ss-muted, rgba(15, 15, 15, .62));
}
.ss-register-have-account a {
  color: var(--ss-sage-deep, #5A7E78);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  font-weight: 500;
  margin-left: 4px;
}


/* RESPONSIVE — under 900 px stack to single column */
@media (max-width: 900px) {
  .ss-register-root { padding: 24px 16px 60px; }
  .ss-register-card { grid-template-columns: 1fr; min-height: 0; }
  .ss-register-image {
    min-height: 360px;
    padding: 28px 24px;
  }
  .ss-register-image-quote {
    font-size: 19px;
    max-width: 280px;
    margin-bottom: 12px;
  }
  .ss-register-image::before {
    background: linear-gradient(
      180deg,
      rgba(15, 15, 15, .50) 0%,
      rgba(15, 15, 15, .10) 25%,
      rgba(15, 15, 15, .10) 50%,
      rgba(15, 15, 15, .78) 100%
    );
  }
  .ss-register-form { padding: 40px 28px 40px; }
  .ss-register-form-inner { max-width: 100%; }
  .ss-register-h { font-size: clamp(32px, 8vw, 40px); }
  .ss-register-sub { margin-bottom: 28px; }
}
