/* ============================================================
   MY ACCOUNT — Auth State
   ============================================================ */

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce {
  display: block !important;
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-notices-wrapper {
  margin-bottom: 18px !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account {
  --ttc-radius: 6px;
  --ttc-radius-sm: 4px;
}

/* ── Two-column shell ── */
.ttc-my-account-auth .ttc-account-auth-shell {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(340px, 0.78fr);
  gap: 36px;
  align-items: start;
}

/* ── Intro panel ── */
.ttc-my-account-auth .ttc-account-auth-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(200, 118, 42, 0.14);
  border-radius: var(--ttc-radius);
  background: linear-gradient(160deg, #fffdf9 0%, #fdf4e7 100%);
  box-shadow: 0 20px 50px rgba(92, 61, 30, 0.08), 0 2px 8px rgba(92, 61, 30, 0.04);
}

.ttc-my-account-auth .ttc-account-auth-intro::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -52px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 160, 23, 0.14), rgba(212, 160, 23, 0));
  pointer-events: none;
}

.ttc-my-account-auth .ttc-account-auth-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(181, 84, 26, 0.1);
  color: var(--e-global-color-primary, #B5541A);
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ttc-my-account-auth .ttc-account-auth-title {
  margin: 0 0 14px !important;
  color: var(--e-global-color-secondary, #3D2314) !important;
  font-family: var(--e-global-typography-primary-font-family, "Cormorant Garamond", serif) !important;
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 600 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

.ttc-my-account-auth .ttc-account-auth-copy {
  max-width: 44ch;
  margin: 0 !important;
  color: rgba(46, 26, 14, 0.78) !important;
  font-family: var(--e-global-typography-text-font-family, "Lora", serif) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.ttc-my-account-auth .ttc-account-auth-list {
  display: grid;
  gap: 10px;
  margin-top: 26px;
}

.ttc-my-account-auth .ttc-account-auth-item {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid rgba(200, 118, 42, 0.11);
  border-radius: var(--ttc-radius);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
}

.ttc-my-account-auth .ttc-account-auth-item strong {
  color: var(--e-global-color-secondary, #3D2314);
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.ttc-my-account-auth .ttc-account-auth-item span {
  color: rgba(46, 26, 14, 0.75);
  font-family: var(--e-global-typography-text-font-family, "Lora", serif);
  font-size: 14px;
  line-height: 1.65;
}

/* ── Forms column ── */
.ttc-my-account-auth .ttc-account-auth-forms {
  min-width: 0;
  display: grid;
  gap: 16px;
  align-content: start;
  justify-items: end;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login .u-column1,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login .u-column2 {
  display: none !important;
  float: none !important;
  width: min(100%, 540px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border: 1px solid rgba(200, 118, 42, 0.12) !important;
  border-radius: var(--ttc-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 24px 64px rgba(92, 61, 30, 0.1), 0 2px 8px rgba(92, 61, 30, 0.04) !important;
}

.ttc-my-account-auth .ttc-account-auth-shell[data-auth-view="login"] #customer_login .u-column1,
.ttc-my-account-auth .ttc-account-auth-shell[data-auth-view="register"] #customer_login .u-column2 {
  display: block !important;
  margin-left: auto !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce > h2 + .woocommerce-form-login {
  max-width: 640px;
  margin-top: 16px !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border: 1px solid rgba(200, 118, 42, 0.12) !important;
  border-radius: var(--ttc-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 24px 64px rgba(92, 61, 30, 0.1), 0 2px 8px rgba(92, 61, 30, 0.04) !important;
}

/* ── Heading ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login h2,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce > h2 {
  margin: 0 0 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(200, 118, 42, 0.1) !important;
  color: var(--e-global-color-secondary, #3D2314) !important;
  font-family: var(--e-global-typography-primary-font-family, "Cormorant Garamond", serif) !important;
  font-size: clamp(1.7rem, 3vw, 2.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
}

/* ── Form layout ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-register {
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .form-row {
  margin: 0 !important;
}

/* ── Labels ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form label:not(.woocommerce-form-login__rememberme):not(.woocommerce-form__label-for-checkbox) {
  display: block !important;
  margin-bottom: 7px !important;
  color: rgba(61, 35, 20, 0.6) !important;
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* ── Input fields ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .input-text {
  width: 100% !important;
  min-height: 52px !important;
  border: 1.5px solid rgba(200, 118, 42, 0.2) !important;
  border-radius: var(--ttc-radius-sm) !important;
  background: #fdfaf6 !important;
  box-shadow: none !important;
  padding: 0 16px !important;
  color: var(--e-global-color-text, #2E1A0E) !important;
  font-family: var(--e-global-typography-text-font-family, "Lora", serif) !important;
  font-size: 15px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .input-text::placeholder {
  color: rgba(138, 110, 88, 0.65) !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .input-text:focus {
  outline: none !important;
  border-color: var(--e-global-color-primary, #B5541A) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(181, 84, 26, 0.1) !important;
}

/* ── Password wrapper ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce .password-input {
  position: relative !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce .password-input .input-text {
  padding-right: 50px !important;
}

/* ── Zero out Elementor widget inner padding on auth forms ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-ResetPassword {
  padding: 0 !important;
}

/* ── Show/hide password — clean round icon button ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .show-password-input {
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  transition: background 0.18s ease !important;
}

/* Kill WooCommerce's default ::before icon (we use ::after instead) */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .show-password-input::before {
  display: none !important;
  content: none !important;
}

/* Replace Dashicons with inline SVG eye icon */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .show-password-input::after {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(92%2C61%2C30%2C0.45)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center !important;
}

/* Eye-slash when password is visible */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .show-password-input.display-password::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(181%2C84%2C26%2C0.7)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E") !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form .show-password-input:hover {
  background: rgba(181, 84, 26, 0.08) !important;
}

/* ── Remember me + Submit row — stacked: remember me top, full-width button below ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login .ttc-login-actions,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  padding-top: 4px !important;
}

/* ── Remember me label ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login__rememberme,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(46, 26, 14, 0.65) !important;
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
}

/* ── Checkbox ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form__input-checkbox {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--e-global-color-primary, #B5541A) !important;
  cursor: pointer !important;
}

/* ── Submit button ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form button.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 13px 28px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--e-global-color-primary, #B5541A) !important;
  color: #fffdf8 !important;
  box-shadow: none !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.18s ease !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form button.button:hover {
  background: #9e4514 !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login button.button {
  width: 100% !important;
}

/* ── Register button ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-register .form-row:last-of-type {
  padding-top: 4px !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-register button.button {
  width: 100% !important;
}

/* ── Lost password / helper text ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .lost_password,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-privacy-policy-text,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce form em {
  margin: 0 !important;
  color: rgba(46, 26, 14, 0.58) !important;
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.03em !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .lost_password a,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-privacy-policy-text a {
  color: var(--e-global-color-primary, #B5541A) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(181, 84, 26, 0.3) !important;
  transition: border-color 0.2s ease !important;
}

.ttc-my-account-auth .elementor-widget-woocommerce-my-account .lost_password a:hover,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-privacy-policy-text a:hover {
  border-bottom-color: var(--e-global-color-primary, #B5541A) !important;
}

/* ── Notices ── */
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-error,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-message,
.ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-info {
  margin-bottom: 18px !important;
  border-radius: var(--ttc-radius) !important;
}

/* ── Switch box ("Create your account" / "Back to login") ── */
.ttc-my-account-auth .ttc-account-auth-switchbox {
  display: block;
  width: min(100%, 540px);
  margin-left: auto;
  padding: 18px 22px;
  border: 1px solid rgba(200, 118, 42, 0.12);
  border-radius: var(--ttc-radius);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 24px rgba(92, 61, 30, 0.05);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.ttc-my-account-auth .ttc-account-auth-switchbox:hover {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(200, 118, 42, 0.28);
}

.ttc-my-account-auth .ttc-account-auth-switchbox__label {
  display: block;
  margin-bottom: 6px;
  color: rgba(61, 35, 20, 0.55);
  font-family: var(--e-global-typography-accent-font-family, "Jost", sans-serif);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Link with animated arrow — shows it's clickable */
.ttc-my-account-auth .ttc-account-auth-switchbox__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--e-global-color-secondary, #3D2314) !important;
  font-family: var(--e-global-typography-primary-font-family, "Cormorant Garamond", serif);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* SVG arrow circle — a polished "go" icon */
.ttc-my-account-auth .ttc-account-auth-switchbox__link::after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: var(--e-global-color-primary, #B5541A);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 14px 14px;
  background-position: center;
  box-shadow: 0 2px 8px rgba(181, 84, 26, 0.28);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ttc-my-account-auth .ttc-account-auth-switchbox__link:hover {
  color: var(--e-global-color-primary, #B5541A) !important;
}

.ttc-my-account-auth .ttc-account-auth-switchbox__link:hover::after {
  transform: translateX(4px);
  box-shadow: 0 4px 14px rgba(181, 84, 26, 0.38);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ttc-my-account-auth .ttc-account-auth-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .ttc-my-account-auth .ttc-account-auth-shell {
    gap: 18px;
  }

  .ttc-my-account-auth .ttc-account-auth-intro,
  .ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login .u-column1,
  .ttc-my-account-auth .elementor-widget-woocommerce-my-account #customer_login .u-column2,
  .ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce > h2 + .woocommerce-form-login {
    padding: 22px !important;
    border-radius: var(--ttc-radius) !important;
  }

  .ttc-my-account-auth .ttc-account-auth-title {
    font-size: 2rem !important;
  }

  .ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-login button.button,
  .ttc-my-account-auth .elementor-widget-woocommerce-my-account .woocommerce-form-register button.button {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .ttc-my-account-auth .ttc-account-auth-shell[data-auth-view="login"] #customer_login .u-column1,
  .ttc-my-account-auth .ttc-account-auth-shell[data-auth-view="register"] #customer_login .u-column2 {
    width: 100% !important;
  }

  .ttc-my-account-auth .ttc-account-auth-switchbox {
    width: 100%;
  }
}

/* ============================================================
