/* =========================================================
   SILENCE DROP
   LOGIN
========================================================= */


/* =========================================================
   RESET
========================================================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


/* =========================================================
   PALETA
========================================================= */

:root {

  --black: #090908;
  --black-soft: #11110f;

  --cream: #f5efe3;
  --cream-soft: #ebe1cf;

  --gold: #c99a19;
  --gold-light: #e0b646;

  --muted: #756d60;

  --danger: #b04434;
  --success: #5b7d55;

}


/* =========================================================
   BASE
========================================================= */

html {

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  background:
    var(--cream);

}


body {

  min-height: 100vh;

  color:
    var(--black);

  background:

    radial-gradient(
      circle at 14% 18%,
      rgba(201, 154, 25, 0.12),
      transparent 24%
    ),

    radial-gradient(
      circle at 85% 82%,
      rgba(201, 154, 25, 0.10),
      transparent 22%
    ),

    linear-gradient(
      135deg,
      #f7f1e6,
      #e9deca
    );

}


/* =========================================================
   CONTENEDOR PRINCIPAL
========================================================= */

.login-shell {

  width:
    min(
      1320px,
      calc(100% - 42px)
    );

  min-height:
    calc(100vh - 42px);

  margin:
    21px auto;

  display:
    grid;

  grid-template-columns:
    0.9fr 1.1fr;

  overflow:
    hidden;

  border:
    1px solid
    rgba(112, 87, 31, 0.35);

  border-radius:
    26px;

  box-shadow:
    0 28px 80px
    rgba(46, 36, 15, 0.17);

}


/* =========================================================
   PANEL IZQUIERDO
========================================================= */

.login-brand {

  min-height:
    calc(100vh - 42px);

  padding:
    46px 54px;

  position:
    relative;

  overflow:
    hidden;

  color:
    var(--cream);

  background:

    radial-gradient(
      circle at 20% 80%,
      rgba(201, 154, 25, 0.14),
      transparent 28%
    ),

    linear-gradient(
      145deg,
      #050505,
      #10100e 62%,
      #060606
    );

}


/* textura */

.login-brand::after {

  content: "";

  position:
    absolute;

  inset:
    0;

  opacity:
    0.11;

  pointer-events:
    none;

  background-image:

    linear-gradient(
      rgba(255, 255, 255, 0.06) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.04) 1px,
      transparent 1px
    );

  background-size:
    44px 44px;

}


/* contenido encima */

.back-link,
.logo-slot,
.brand-copy {

  position:
    relative;

  z-index:
    2;

}


/* =========================================================
   VOLVER A LA TIENDA
========================================================= */

.back-link {

  display:
    inline-block;

  color:
    #b9aa8c;

  text-decoration:
    none;

  font-size:
    10px;

  font-weight:
    900;

  letter-spacing:
    1.5px;

  transition:
    color 0.2s ease,
    transform 0.2s ease;

}


.back-link:hover {

  color:
    var(--gold-light);

  transform:
    translateX(-3px);

}


/* =========================================================
   ESPACIO PARA LOGO
========================================================= */

.logo-slot {
  display: flex;
  align-items: center;

  width: 100%;

  margin-top: 55px;
}
.login-logo {
  display: block;

  width: 220px;
  max-width: 75%;

  height: auto;

  object-fit: contain;
  object-position: left center;
}

.logo-slot span {

  color:
    var(--gold-light);

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    3px;

}


.logo-slot strong {

  margin-top:
    10px;

  font-size:
    28px;

  font-weight:
    900;

  letter-spacing:
    6px;

}


.logo-slot small {

  margin-top:
    5px;

  color:
    #777064;

  font-size:
    9px;

  font-weight:
    700;

  letter-spacing:
    1.3px;

}


/* =========================================================
   EYEBROW
========================================================= */

.eyebrow {

  color:
    var(--gold-light);

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    3px;

}


/* =========================================================
   TEXTO IZQUIERDO
========================================================= */

.brand-copy {

  margin-top:
    70px;

}


.brand-copy h1 {

  margin-top:
    13px;

  font-size:
    clamp(
      62px,
      7vw,
      110px
    );

  line-height:
    0.82;

  letter-spacing:
    -5px;

  font-weight:
    900;

}


.brand-copy p {

  max-width:
    420px;

  margin-top:
    24px;

  color:
    #aaa195;

  font-size:
    13px;

  line-height:
    1.7;

}


/* =========================================================
   PANEL DERECHO
========================================================= */

.login-panel {

  min-height:
    calc(100vh - 42px);

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  padding:
    48px;

  background:

    radial-gradient(
      circle at 85% 10%,
      rgba(201, 154, 25, 0.14),
      transparent 26%
    ),

    linear-gradient(
      145deg,
      #fbf7ef,
      #efe5d4
    );

}


/* =========================================================
   TARJETA LOGIN
========================================================= */

.login-card {

  width:
    min(610px, 100%);

  padding:
    42px;

  border:
    1px solid
    rgba(125, 95, 28, 0.25);

  background:
    rgba(255, 252, 245, 0.78);

  backdrop-filter:
    blur(10px);

  box-shadow:
    0 24px 60px
    rgba(70, 51, 18, 0.12);

}


/* =========================================================
   ENCABEZADO
========================================================= */

.login-heading {

  padding-bottom:
    25px;

  margin-bottom:
    28px;

  border-bottom:
    1px solid
    rgba(9, 9, 8, 0.12);

}


.login-heading h2 {

  margin-top:
    10px;

  color:
    var(--black);

  font-size:
    clamp(
      38px,
      4vw,
      58px
    );

  line-height:
    0.94;

  letter-spacing:
    -2px;

  font-weight:
    900;

}


.login-heading p {

  margin-top:
    16px;

  color:
    var(--muted);

  font-size:
    12px;

  line-height:
    1.6;

}


/* =========================================================
   FORMULARIO
========================================================= */

.login-form {

  display:
    grid;

  gap:
    18px;

}


/* =========================================================
   CAMPOS
========================================================= */

.field {

  display:
    grid;

  gap:
    8px;

}


.field label {

  color:
    var(--black);

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    1.5px;

}


.field input {

  width:
    100%;

  height:
    54px;

  padding:
    0 15px;

  border:
    1px solid
    rgba(9, 9, 8, 0.23);

  outline:
    none;

  background:
    rgba(255, 255, 255, 0.60);

  color:
    var(--black);

  font-family:
    inherit;

  font-size:
    13px;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;

}


.field input::placeholder {

  color:
    #9d9589;

}


.field input:hover {

  border-color:
    rgba(9, 9, 8, 0.40);

}


.field input:focus {

  border-color:
    var(--gold);

  background:
    rgba(255, 255, 255, 0.82);

  box-shadow:
    0 0 0 3px
    rgba(201, 154, 25, 0.11);

}


/* =========================================================
   CONTRASEÑA
========================================================= */

.password-wrap {

  position:
    relative;

}


.password-wrap input {

  padding-right:
    75px;

}


.password-wrap button {

  position:
    absolute;

  top:
    50%;

  right:
    14px;

  transform:
    translateY(-50%);

  padding:
    6px;

  border:
    0;

  background:
    transparent;

  color:
    #756d60;

  font-family:
    inherit;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    1px;

  cursor:
    pointer;

  transition:
    color 0.2s ease;

}


.password-wrap button:hover {

  color:
    var(--gold);

}


/* =========================================================
   RECORDAR / OLVIDÉ CONTRASEÑA
========================================================= */

.login-options {

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    14px;

  flex-wrap:
    wrap;

}


.remember-option {

  display:
    flex;

  align-items:
    center;

  gap:
    8px;

  color:
    #756d60;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    1px;

  cursor:
    pointer;

}


.remember-option input {

  accent-color:
    var(--gold);

}


.forgot-password {

  color:
    #756d60;

  text-decoration:
    none;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    1px;

  transition:
    color 0.2s ease;

}


.forgot-password:hover {

  color:
    var(--gold);

}


/* =========================================================
   MENSAJES
========================================================= */

.form-message {

  display:
    none;

  padding:
    12px 14px;

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    1px;

  line-height:
    1.5;

}


/* error */

.form-message.error {

  display:
    block;

  color:
    #7a2f24;

  border:
    1px solid
    rgba(176, 68, 52, 0.35);

  background:
    rgba(176, 68, 52, 0.08);

}


/* éxito */

.form-message.success {

  display:
    block;

  color:
    #385134;

  border:
    1px solid
    rgba(91, 125, 85, 0.35);

  background:
    rgba(91, 125, 85, 0.08);

}


/* =========================================================
   BOTÓN LOGIN
========================================================= */

.primary-button {

  width:
    100%;

  height:
    58px;

  padding:
    0 20px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  border:
    1px solid
    var(--black);

  background:
    var(--black);

  color:
    var(--cream);

  font-family:
    inherit;

  font-size:
    10px;

  font-weight:
    900;

  letter-spacing:
    2px;

  cursor:
    pointer;

  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;

}


.primary-button:hover {

  background:
    var(--gold);

  border-color:
    var(--gold);

  color:
    var(--black);

}


.primary-button:active {

  transform:
    scale(0.99);

}


.primary-button:disabled {

  opacity:
    0.55;

  cursor:
    not-allowed;

}


/* =========================================================
   CREAR CUENTA
========================================================= */

.alternate {

  margin-top:
    27px;

  padding-top:
    22px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    10px;

  border-top:
    1px solid
    rgba(9, 9, 8, 0.12);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    1px;

}


.alternate span {

  color:
    #80776a;

}


.alternate a {

  color:
    var(--black);

  text-decoration:
    none;

  font-weight:
    900;

  transition:
    color 0.2s ease;

}


.alternate a:hover {

  color:
    var(--gold);

}


/* =========================================================
   TABLET
========================================================= */

@media (
  max-width: 930px
) {

  .login-shell {

    width:
      min(
        760px,
        calc(100% - 28px)
      );

    margin:
      14px auto;

    grid-template-columns:
      1fr;

  }


  .login-brand {

    min-height:
      520px;

    padding:
      38px 34px;

  }


  .brand-copy {

    margin-top:
      50px;

  }


  .brand-copy h1 {

    font-size:
      72px;

  }


  .login-panel {

    min-height:
      auto;

    padding:
      34px;

  }

}


/* =========================================================
   CELULAR
========================================================= */

@media (
  max-width: 620px
) {

  .login-shell {

    width:
      100%;

    min-height:
      100vh;

    margin:
      0;

    border:
      0;

    border-radius:
      0;

    box-shadow:
      none;

  }


  .login-brand {

    min-height:
      auto;

    padding:
      28px 20px
      36px;

  }


  .logo-slot {

    min-height:
      96px;

    margin-top:
      32px;

  }


  .logo-slot strong {

    font-size:
      23px;

  }


  .brand-copy {

    margin-top:
      42px;

  }


  .brand-copy h1 {

    font-size:
      58px;

    letter-spacing:
      -3px;

  }


  .brand-copy p {

    font-size:
      12px;

  }


  .login-panel {

    padding:
      24px 16px
      32px;

  }


  .login-card {

    padding:
      28px 18px;

    box-shadow:
      0 14px 40px
      rgba(70, 51, 18, 0.10);

  }


  .login-heading h2 {

    font-size:
      39px;

  }


  .field input {

    height:
      54px;

    font-size:
      16px;

  }


  .login-options {

    align-items:
      flex-start;

    flex-direction:
      column;

  }


  .primary-button {

    height:
      58px;

  }


  .alternate {

    flex-direction:
      column;

    gap:
      7px;

    text-align:
      center;

  }

}


/* =========================================================
   CELULARES PEQUEÑOS
========================================================= */

@media (
  max-width: 390px
) {

  .brand-copy h1 {

    font-size:
      50px;

  }


  .login-card {

    padding:
      25px 14px;

  }


  .login-heading h2 {

    font-size:
      34px;

  }

}