/* =========================================================
   ALVPort Theme 1.0.0 — Mi Perfil
   ========================================================= */

.alv-profile {
  --alv-profile-green: #008200;
  --alv-profile-green-dark: #2a4d16;
  --alv-profile-navy: #162b4c;
  --alv-profile-text: #243247;
  --alv-profile-muted: #6e7d8d;
  --alv-profile-line: #e1e7eb;
  width: min(1120px, calc(100% - 36px));
  margin: 34px auto 54px;
  color: var(--alv-profile-text);
}

.alv-profile__hero {
  margin-bottom: 24px;
  padding: 30px 34px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 15%, rgba(0,130,0,.09), transparent 28%),
    linear-gradient(135deg, #fff, #f5faf6);
  box-shadow: 0 10px 28px rgba(22,43,76,.045);
}

.alv-profile__hero > span,
.alv-profile-card__head > span {
  display: block;
  margin-bottom: 6px;
  color: var(--alv-profile-green);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.alv-profile__hero h1,
.alv-profile-card h2,
.alv-profile-card h3 {
  margin: 0;
  color: var(--alv-profile-navy);
  font-weight: 850;
}

.alv-profile__hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
}

.alv-profile__hero p {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--alv-profile-muted);
  line-height: 1.6;
}

.alv-profile__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 22px;
  align-items: start;
}

.alv-profile-card,
.alv-profile__login {
  padding: 24px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22,43,76,.04);
}

.alv-profile-card__head {
  margin-bottom: 18px;
}

.alv-profile-card h2 {
  font-size: 1.35rem;
}

.alv-profile-card__subhead {
  margin-bottom: 14px;
}

.alv-profile-card__subhead h3 {
  font-size: 1rem;
}

.alv-profile-card__divider {
  height: 1px;
  margin: 22px 0;
  background: var(--alv-profile-line);
}

.alv-profile-form {
  display: grid;
  gap: 16px;
}

.alv-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.alv-form-grid__full {
  grid-column: 1 / -1;
}

.alv-profile-form label {
  display: grid;
  gap: 6px;
}

.alv-profile-form label > span {
  color: #536274;
  font-size: .72rem;
  font-weight: 760;
}

.alv-profile-form input,
.alv-profile-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #d5dee5;
  border-radius: 10px;
  background: #fff;
  color: var(--alv-profile-navy);
  font: inherit;
  font-size: .82rem;
  outline: none;
}

.alv-profile-form textarea {
  resize: vertical;
}

.alv-profile-form input:focus,
.alv-profile-form textarea:focus {
  border-color: rgba(0,130,0,.46);
  box-shadow: 0 0 0 4px rgba(0,130,0,.07);
}

.alv-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: fit-content;
  padding: 0 17px;
  border: 0;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 820;
  text-decoration: none !important;
  cursor: pointer;
}

.alv-profile-button--primary {
  background: var(--alv-profile-green) !important;
  color: #fff !important;
}

.alv-profile-button--primary:hover,
.alv-profile-button--primary:focus-visible {
  background: var(--alv-profile-green-dark) !important;
}

.alv-profile-button--secondary {
  border: 1px solid var(--alv-profile-line);
  background: #fff;
  color: var(--alv-profile-navy) !important;
}

.alv-profile-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.alv-address-list {
  display: grid;
  gap: 10px;
}

.alv-address-card {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 12px;
  background: #fbfcfc;
}

.alv-address-card h3 {
  margin-bottom: 5px;
  font-size: .9rem;
}

.alv-address-card p {
  margin: 0;
  color: var(--alv-profile-muted);
  font-size: .76rem;
  line-height: 1.5;
}

.alv-address-card p small {
  display: block;
  margin-top: 4px;
}

.alv-address-card__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 9px;
}

.alv-address-card__actions a,
.alv-address-card__actions button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--alv-profile-green);
  font: inherit;
  font-size: .72rem;
  font-weight: 760;
  text-decoration: none;
  cursor: pointer;
}

.alv-address-card__actions button {
  color: #9b3b3b;
}

.alv-profile-card__empty {
  margin: 0;
  color: var(--alv-profile-muted);
  font-size: .8rem;
}

.alv-profile-message {
  margin-bottom: 18px;
  padding: 12px 15px;
  border-radius: 11px;
  font-size: .8rem;
  font-weight: 700;
}

.alv-profile-message--success {
  border: 1px solid #cfe8d1;
  background: #f0f8f1;
  color: #25642a;
}

.alv-profile-message--error {
  border: 1px solid #eed3d3;
  background: #fff5f5;
  color: #8a2c2c;
}

.alv-profile--guest {
  max-width: 760px;
}

.alv-profile__login {
  max-width: 520px;
  margin: 0 auto;
}

.alv-profile__login form {
  display: grid;
  gap: 12px;
}

@media (max-width: 840px) {
  .alv-profile__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .alv-profile {
    width: min(100% - 22px, 1120px);
    margin-top: 18px;
  }

  .alv-profile__hero,
  .alv-profile-card {
    padding: 20px 16px;
    border-radius: 15px;
  }

  .alv-form-grid {
    grid-template-columns: 1fr;
  }

  .alv-form-grid__full {
    grid-column: auto;
  }

  .alv-address-card {
    flex-direction: column;
  }
}


/* =========================================================
   1.0.1 — Perfil resumido con formularios bajo demanda
   ========================================================= */

.alv-profile-summary {
  display: grid;
  gap: 0;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 12px;
  background: #fbfcfc;
}

.alv-profile-summary__name {
  margin-bottom: 9px;
  color: var(--alv-profile-navy);
  font-size: 1rem;
  font-weight: 850;
}

.alv-profile-summary__row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 0;
  border-top: 1px solid #edf0f2;
  font-size: .76rem;
}

.alv-profile-summary__row span {
  color: var(--alv-profile-muted);
}

.alv-profile-summary__row strong {
  overflow-wrap: anywhere;
  color: var(--alv-profile-text);
  font-weight: 740;
}

.alv-profile-details {
  border-top: 1px solid var(--alv-profile-line);
  padding-top: 14px;
}

.alv-profile-details--address {
  margin-top: 18px;
}

.alv-profile-details > summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 999px;
  background: #fff;
  color: var(--alv-profile-green);
  font-size: .78rem;
  font-weight: 820;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.alv-profile-details > summary::-webkit-details-marker {
  display: none;
}

.alv-profile-details > summary::after {
  content: "+";
  font-size: 1rem;
  line-height: 1;
}

.alv-profile-details[open] > summary::after {
  content: "−";
}

.alv-profile-details[open] > .alv-profile-form {
  margin-top: 16px;
}

.alv-profile-form input {
  min-height: 38px !important;
  height: 38px !important;
  padding: 7px 10px !important;
}

.alv-profile-form textarea {
  min-height: 66px !important;
  padding: 8px 10px !important;
}


/* 1.1.0 — Acciones de cuenta */
.alv-profile:not(.alv-profile--guest) .alv-profile__hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.alv-profile__logout{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--alv-profile-line);border-radius:999px;background:rgba(255,255,255,.72);color:var(--alv-profile-navy)!important;font-size:.76rem;font-weight:780;text-decoration:none!important}
.alv-profile__logout:hover,.alv-profile__logout:focus-visible{border-color:rgba(0,130,0,.25);background:#fff;color:var(--alv-profile-green)!important}
.alv-profile__register{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--alv-profile-line);color:var(--alv-profile-muted);font-size:.8rem}
.alv-profile__register a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#edf7ee;color:var(--alv-profile-green)!important;font-weight:800;text-decoration:none!important}
@media (max-width:620px){.alv-profile:not(.alv-profile--guest) .alv-profile__hero{align-items:flex-start;flex-direction:column}.alv-profile__register{align-items:stretch;flex-direction:column}}


/* =========================================================
   1.2.0 — Facturación + Mis cotizaciones
   ========================================================= */
.alv-profile-card--wide { margin-top: 22px; }
.alv-profile-card__head p { margin: 7px 0 0; color: var(--alv-profile-muted); font-size: .78rem; line-height: 1.5; }
.alv-profile-chip { display:inline-flex; margin-left:8px; padding:4px 7px; border-radius:999px; background:#edf7ee; color:var(--alv-profile-green); font-size:.6rem; font-weight:850; vertical-align:middle; }
.alv-billing-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.alv-billing-card { padding:15px; border:1px solid var(--alv-profile-line); border-radius:12px; background:#fbfcfc; }
.alv-billing-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.alv-billing-card h3 { margin:0 0 5px; font-size:.9rem; }
.alv-billing-card__top strong { color:var(--alv-profile-navy); font-size:.8rem; }
.alv-billing-card dl { display:grid; gap:6px; margin:13px 0 0; }
.alv-billing-card dl>div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:9px; }
.alv-billing-card dt { color:var(--alv-profile-muted); font-size:.69rem; font-weight:760; }
.alv-billing-card dd { margin:0; color:var(--alv-profile-text); font-size:.73rem; line-height:1.4; }
.alv-profile-checkbox { display:inline-flex!important; grid-template-columns:none!important; align-items:center; gap:8px!important; color:#536274; font-size:.75rem; font-weight:700; }
.alv-profile-checkbox input { width:16px!important; min-height:0!important; height:16px!important; padding:0!important; accent-color:var(--alv-profile-green); }
.alv-my-quotes { display:grid; gap:9px; }
.alv-my-quote { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:13px 14px; border:1px solid var(--alv-profile-line); border-radius:11px; background:#fbfcfc; }
.alv-my-quote>div { display:grid; gap:3px; }
.alv-my-quote__number { color:var(--alv-profile-navy); font-size:.82rem; font-weight:850; }
.alv-my-quote small { color:var(--alv-profile-muted); font-size:.68rem; }
.alv-my-quote>a { color:var(--alv-profile-green); font-size:.72rem; font-weight:800; text-decoration:none; }
.alv-profile-status { display:inline-flex; min-height:26px; align-items:center; padding:0 9px; border-radius:999px; font-size:.66rem; font-weight:850; white-space:nowrap; }
.alv-profile-status--new { background:#edf7ee; color:#087c16; }
.alv-profile-status--review { background:#fff7df; color:#8b6500; }
.alv-profile-status--sent { background:#eaf3ff; color:#185b9d; }
.alv-profile-status--follow_up { background:#f2ebff; color:#6541a5; }
.alv-profile-status--closed,.alv-profile-status--discarded { background:#edf0f3; color:#3e4a55; }
.alv-profile-quote-detail { margin:0 0 22px; padding:22px; border:1px solid var(--alv-profile-line); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(22,43,76,.04); }
.alv-profile-quote-detail__head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.alv-profile-quote-detail__head>div>span { display:block; color:var(--alv-profile-green); font-size:.67rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.alv-profile-quote-detail__head h2 { margin:3px 0 0; color:var(--alv-profile-navy); }
.alv-profile-quote-detail__date { margin:8px 0 18px; color:var(--alv-profile-muted); font-size:.72rem; }
.alv-profile-quote-detail__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:20px; }
.alv-profile-quote-detail h3 { color:var(--alv-profile-navy); font-size:.86rem; }
.alv-profile-quote-products { margin:0 0 18px; padding:0; list-style:none; border:1px solid var(--alv-profile-line); border-radius:11px; overflow:hidden; }
.alv-profile-quote-products li { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:11px 13px; }
.alv-profile-quote-products li+li { border-top:1px solid #edf0f2; }
.alv-profile-quote-products li>div { display:grid; gap:2px; }
.alv-profile-quote-products strong { font-size:.78rem; color:var(--alv-profile-text); }
.alv-profile-quote-products small { font-size:.66rem; color:var(--alv-profile-muted); }
.alv-profile-quote-products li>span { color:var(--alv-profile-green); font-size:.76rem; font-weight:850; }
.alv-profile-quote-meta { display:grid; gap:10px; }
.alv-profile-quote-meta section { padding:12px; border-radius:10px; background:#f7f9fa; }
.alv-profile-quote-meta h3 { margin:0 0 6px; }
.alv-profile-quote-meta p { margin:0; color:var(--alv-profile-muted); font-size:.72rem; line-height:1.5; }
.alv-profile-empty-state { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px; border:1px dashed #d6dee4; border-radius:11px; }
.alv-profile-empty-state p { margin:0; color:var(--alv-profile-muted); font-size:.78rem; }
@media (max-width:760px){ .alv-billing-list{grid-template-columns:1fr}.alv-my-quote{grid-template-columns:1fr;align-items:start}.alv-profile-quote-detail__grid{grid-template-columns:1fr}.alv-profile-quote-detail__head{align-items:flex-start;flex-direction:column}.alv-profile-empty-state{align-items:stretch;flex-direction:column} }


/* =========================================================
   1.2.1 — Mi Perfil: navegación lateral sticky
   ========================================================= */

.alv-profile:not(.alv-profile--guest) .alv-profile__hero {
  display: block;
}

.alv-profile__shell {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.alv-profile-nav {
  position: relative;
  min-width: 0;
}

.alv-profile-nav__inner {
  position: sticky;
  top: 112px;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 136px);
  overflow: hidden;
  border: 1px solid var(--alv-profile-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22,43,76,.045);
}

.alv-profile-nav__heading {
  padding: 18px 17px 15px;
  border-bottom: 1px solid var(--alv-profile-line);
  background:
    radial-gradient(circle at 90% 10%, rgba(0,130,0,.08), transparent 34%),
    #fbfcfc;
}

.alv-profile-nav__heading > span {
  display: block;
  margin-bottom: 4px;
  color: var(--alv-profile-green);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.alv-profile-nav__heading > strong {
  display: block;
  overflow: hidden;
  color: var(--alv-profile-navy);
  font-size: .82rem;
  font-weight: 820;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.alv-profile-nav__links {
  display: grid;
  gap: 4px;
  padding: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #a8c1aa transparent;
}

.alv-profile-nav__links::-webkit-scrollbar {
  width: 7px;
}

.alv-profile-nav__links::-webkit-scrollbar-track {
  background: transparent;
}

.alv-profile-nav__links::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #a8c1aa;
  background-clip: padding-box;
}

.alv-profile-nav__links a {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-height: 46px;
  padding: 7px 9px;
  border-radius: 10px;
  color: #475568 !important;
  font-size: .76rem;
  font-weight: 760;
  line-height: 1.25;
  text-decoration: none !important;
  transition:
    background-color .15s ease,
    color .15s ease,
    transform .15s ease;
}

.alv-profile-nav__links a:hover,
.alv-profile-nav__links a:focus-visible {
  background: #f0f8f1;
  color: var(--alv-profile-green-dark) !important;
  transform: translateX(2px);
}

.alv-profile-nav__icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 8px;
  background: #f1f4f5;
  color: #71808d;
  font-size: .59rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.alv-profile-nav__links a:hover .alv-profile-nav__icon,
.alv-profile-nav__links a:focus-visible .alv-profile-nav__icon {
  background: #dff0e1;
  color: var(--alv-profile-green);
}

.alv-profile-nav__links small {
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f0f3f5;
  color: #677582;
  font-size: .62rem;
  font-weight: 820;
}

.alv-profile-nav__footer {
  margin-top: auto;
  padding: 10px;
  border-top: 1px solid var(--alv-profile-line);
  background: #fbfcfc;
}

.alv-profile-nav__logout {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 10px;
  border-radius: 10px;
  color: #7f3940 !important;
  font-size: .75rem;
  font-weight: 800;
  text-decoration: none !important;
}

.alv-profile-nav__logout > span {
  font-size: 1rem;
  line-height: 1;
}

.alv-profile-nav__logout:hover,
.alv-profile-nav__logout:focus-visible {
  background: #fff2f2;
  color: #9b3038 !important;
}

.alv-profile__content {
  min-width: 0;
}

.alv-profile__stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.alv-profile__content > .alv-profile-card--wide {
  margin-top: 22px;
}

.alv-profile__content > .alv-profile-card--wide + .alv-profile-card--wide {
  margin-top: 22px;
}

/* Las cuatro secciones se leen como módulos independientes en una sola columna. */
#informacion-personal,
#direcciones,
#facturacion,
#mis-cotizaciones,
#detalle-cotizacion {
  scroll-margin-top: 126px;
}

.alv-profile__stack > .alv-profile-card,
.alv-profile__content > .alv-profile-card--wide {
  width: 100%;
}

/* Ya no necesitamos la antigua composición 2x2 de las primeras tarjetas. */
.alv-profile__grid {
  grid-template-columns: 1fr;
}

/* El botón viejo del hero queda neutralizado aunque sobreviva en caché. */
.alv-profile__hero > .alv-profile__logout {
  display: none !important;
}

@media (max-width: 980px) {
  .alv-profile__shell {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 18px;
  }

  .alv-profile-nav__inner {
    top: 96px;
  }

  #informacion-personal,
  #direcciones,
  #facturacion,
  #mis-cotizaciones,
  #detalle-cotizacion {
    scroll-margin-top: 108px;
  }
}

@media (max-width: 760px) {
  .alv-profile__shell {
    grid-template-columns: 1fr;
  }

  .alv-profile-nav__inner {
    position: static;
    max-height: none;
  }

  .alv-profile-nav__links {
    overflow: visible;
  }

  .alv-profile-nav__heading {
    padding: 15px;
  }

  .alv-profile-nav__links a {
    min-height: 42px;
  }

  .alv-profile-nav__footer {
    padding-top: 8px;
  }

  #informacion-personal,
  #direcciones,
  #facturacion,
  #mis-cotizaciones,
  #detalle-cotizacion {
    scroll-margin-top: 84px;
  }
}


/* =========================================================
   1.2.2 — Mi Perfil: vistas + iconografía
   ========================================================= */

.alv-profile-view[hidden] {
  display: none !important;
}

.alv-profile-view.is-active {
  animation: alv-profile-view-in .18s ease-out both;
}

@keyframes alv-profile-view-in {
  from {
    opacity: .55;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.alv-profile__stack {
  display: block;
}

.alv-profile__content > .alv-profile-card--wide,
.alv-profile__content > .alv-profile-card--wide + .alv-profile-card--wide {
  margin-top: 0;
}

/* Icon container */
.alv-profile-nav__icon {
  background: #f3f5f6;
}

.alv-profile-nav__icon svg {
  width: 17px;
  height: 17px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Clear active state: visually reads like an app/settings sidebar. */
.alv-profile-nav__links a.is-active,
.alv-profile-nav__links a[aria-current="page"] {
  background: linear-gradient(90deg, #e8f5e9, #f5faf6);
  color: var(--alv-profile-green-dark) !important;
  box-shadow: inset 3px 0 0 var(--alv-profile-green);
  transform: none;
}

.alv-profile-nav__links a.is-active .alv-profile-nav__icon,
.alv-profile-nav__links a[aria-current="page"] .alv-profile-nav__icon {
  background: var(--alv-profile-green);
  color: #fff;
}

.alv-profile-nav__links a.is-active small,
.alv-profile-nav__links a[aria-current="page"] small {
  background: #dcefe0;
  color: var(--alv-profile-green-dark);
}

/* A single view should occupy the content column cleanly. */
.alv-profile-view {
  min-height: 310px;
  scroll-margin-top: 126px;
}

.alv-profile-quote-detail + .alv-profile-card__head {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--alv-profile-line);
}

@media (prefers-reduced-motion: reduce) {
  .alv-profile-view.is-active {
    animation: none;
  }
}

@media (max-width: 760px) {
  .alv-profile-view {
    min-height: 0;
    scroll-margin-top: 84px;
  }
}


/* =========================================================
   1.2.5 — Género opcional + vistas de Mis cotizaciones
   ========================================================= */

.alv-profile-form select {
  width: 100%;
  min-height: 44px;
  padding: 9px 34px 9px 11px;
  border: 1px solid #d5dee5;
  border-radius: 10px;
  background-color: #fff;
  color: var(--alv-profile-navy);
  font: inherit;
  font-size: .82rem;
  outline: none;
}

.alv-profile-form select:focus {
  border-color: rgba(0,130,0,.46);
  box-shadow: 0 0 0 4px rgba(0,130,0,.07);
}

.alv-profile-field-note {
  display: block;
  margin-top: 1px;
  color: var(--alv-profile-muted);
  font-size: .67rem;
  font-weight: 500;
  line-height: 1.45;
}

.alv-my-quotes-toolbar {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin: -2px 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--alv-profile-line);
}

.alv-my-quotes-toolbar label {
  display: grid;
  gap: 5px;
}

.alv-my-quotes-toolbar label > span {
  color: #6e7d8d;
  font-size: .66rem;
  font-weight: 760;
}

.alv-my-quotes-toolbar select {
  min-height: 38px;
  min-width: 150px;
  padding: 7px 32px 7px 10px;
  border: 1px solid #d5dee5;
  border-radius: 999px;
  background-color: #fff;
  color: var(--alv-profile-navy);
  font: inherit;
  font-size: .74rem;
  font-weight: 720;
  outline: none;
}

.alv-my-quotes-toolbar select:focus {
  border-color: rgba(0,130,0,.42);
  box-shadow: 0 0 0 3px rgba(0,130,0,.065);
}

.alv-my-quotes-group {
  display: flex;
  align-items: center;
  min-height: 38px;
  margin: 12px 0 7px;
  padding: 0 11px;
  border: 1px solid #e2e7ea;
  border-radius: 10px;
  background: linear-gradient(90deg, #f7faf8, #f4f6f7);
  color: var(--alv-profile-navy);
  font-size: .73rem;
  font-weight: 850;
}

.alv-my-quotes-group--status {
  box-shadow: inset 3px 0 0 var(--alv-profile-green);
}

.alv-my-quotes-group--date {
  text-transform: capitalize;
}

.alv-my-quote[hidden] {
  display: none !important;
}

.alv-my-quotes-empty-filter {
  padding: 22px 14px;
  border: 1px dashed #d7dfe4;
  border-radius: 12px;
  color: var(--alv-profile-muted);
  font-size: .78rem;
  text-align: center;
}

@media (max-width: 620px) {
  .alv-my-quotes-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .alv-my-quotes-toolbar label,
  .alv-my-quotes-toolbar select {
    width: 100%;
  }
}


/* =========================================================
   2.2.5 — Acceso / registro de Mi perfil
   ========================================================= */

.alv-profile--guest {
  max-width: 1120px;
}

.alv-profile__hero--auth {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 28px;
  align-items: center;
}

.alv-profile-auth-benefits {
  display: grid;
  gap: 9px;
  padding: 17px 18px;
  border: 1px solid rgba(0,130,0,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  color: #536274;
  font-size: .76rem;
  font-weight: 720;
}

.alv-profile-auth-benefits span::first-letter {
  color: var(--alv-profile-green);
}

.alv-profile-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.alv-profile-auth-card {
  position: relative;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(22,43,76,.05);
  overflow: hidden;
}

.alv-profile-auth-card::after {
  content: "";
  position: absolute;
  right: -52px;
  top: -52px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,130,0,.08), rgba(0,130,0,0) 68%);
  pointer-events: none;
}

.alv-profile-auth-card__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 16px;
  border-radius: 12px;
  background: #edf7ee;
  color: var(--alv-profile-green);
  font-size: 1.15rem;
  font-weight: 900;
}

.alv-profile-auth-card__eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--alv-profile-green);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.alv-profile-auth-card h2 {
  margin: 0;
  color: var(--alv-profile-navy);
  font-size: 1.5rem;
  font-weight: 850;
}

.alv-profile-auth-card > p {
  max-width: 470px;
  margin: 8px 0 22px;
  color: var(--alv-profile-muted);
  font-size: .8rem;
  line-height: 1.55;
}

.alv-profile-auth-card .alv-profile__login {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.alv-profile__login #alvport-loginform {
  display: grid;
  gap: 15px;
  margin: 0;
}

.alv-profile__login #alvport-loginform > p {
  margin: 0;
}

.alv-profile__login #alvport-loginform label,
.alv-profile-register-form label {
  display: grid;
  gap: 6px;
  color: #536274;
  font-size: .72rem;
  font-weight: 760;
}

.alv-profile__login #alvport-loginform input[type="text"],
.alv-profile__login #alvport-loginform input[type="password"],
.alv-profile-register-form input[type="text"],
.alv-profile-register-form input[type="email"],
.alv-profile-register-form input[type="tel"],
.alv-profile-register-form input[type="password"] {
  width: 100%;
  min-height: 47px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid #d5dee5;
  border-radius: 11px;
  background: #fff;
  color: var(--alv-profile-navy);
  font: inherit;
  font-size: .84rem;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.alv-profile__login #alvport-loginform input:focus,
.alv-profile-register-form input:focus {
  border-color: rgba(0,130,0,.5);
  box-shadow: 0 0 0 4px rgba(0,130,0,.07);
}

.alv-profile__login .login-remember label {
  display: inline-flex !important;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
  width: fit-content;
}

.alv-profile__login .login-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--alv-profile-green);
}

.alv-profile__login .login-submit {
  margin-top: 2px !important;
}

.alv-profile__login #wp-submit,
.alv-profile-register-submit {
  width: 100% !important;
  min-height: 46px;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--alv-profile-green) !important;
  color: #fff !important;
  font: inherit !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  cursor: pointer;
  transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.alv-profile__login #wp-submit:hover,
.alv-profile__login #wp-submit:focus-visible,
.alv-profile-register-submit:hover,
.alv-profile-register-submit:focus-visible {
  background: var(--alv-profile-green-dark) !important;
  box-shadow: 0 8px 20px rgba(0,130,0,.14);
  transform: translateY(-1px);
}

.alv-profile-auth-link {
  display: inline-flex;
  margin-top: 13px;
  color: var(--alv-profile-green) !important;
  font-size: .74rem;
  font-weight: 760;
  text-decoration: none !important;
}

.alv-profile-auth-link:hover {
  text-decoration: underline !important;
}

.alv-profile-register-form {
  display: grid;
  gap: 16px;
}

.alv-profile-register-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.alv-profile-register-terms {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: 9px !important;
  color: var(--alv-profile-muted) !important;
  font-size: .7rem !important;
  line-height: 1.5;
}

.alv-profile-register-terms input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: var(--alv-profile-green);
}

.alv-profile-register-terms a {
  color: var(--alv-profile-green) !important;
  font-weight: 760;
}

.alv-profile-register-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 820px) {
  .alv-profile__hero--auth,
  .alv-profile-auth-grid {
    grid-template-columns: 1fr;
  }

  .alv-profile-register-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .alv-profile-auth-card {
    padding: 21px;
  }

  .alv-profile__hero--auth {
    padding: 24px;
  }
}


/* =========================================================
   2.2.6 — Verificación de correo y Tickets enviados
   ========================================================= */

.alv-profile-register-grid__full {
  grid-column: 1 / -1;
}

.alv-email-verification {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(0,130,0,.16);
  border-radius: 13px;
  background: #f7fbf7;
}

.alv-email-verification.is-verified {
  border-color: rgba(0,130,0,.35);
  background: #eef8ef;
}

.alv-email-verification__intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.alv-email-verification__intro > div {
  display: grid;
  gap: 3px;
}

.alv-email-verification__intro strong {
  color: var(--alv-profile-navy);
  font-size: .77rem;
}

.alv-email-verification__intro span {
  color: var(--alv-profile-muted);
  font-size: .69rem;
  line-height: 1.45;
}

.alv-email-verification button {
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid rgba(0,130,0,.24);
  border-radius: 999px;
  background: #fff;
  color: var(--alv-profile-green);
  font: inherit;
  font-size: .7rem;
  font-weight: 820;
  cursor: pointer;
}

.alv-email-verification button:hover,
.alv-email-verification button:focus-visible {
  background: var(--alv-profile-green);
  color: #fff;
}

.alv-email-verification button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.alv-email-verification__code {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: end;
}

.alv-email-verification__code[hidden] {
  display: none !important;
}

.alv-email-verification__code label {
  display: grid;
  gap: 5px;
}

.alv-email-verification__code input {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid #d5dee5;
  border-radius: 10px;
  background: #fff;
  color: var(--alv-profile-navy);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .22em;
}

.alv-email-verification__status {
  min-height: 18px;
  color: var(--alv-profile-muted);
  font-size: .69rem;
  font-weight: 700;
}

.alv-email-verification__status.is-success {
  color: var(--alv-profile-green);
}

.alv-email-verification__status.is-error {
  color: #b42318;
}

.alv-profile-quote-request-text {
  padding: 14px 15px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 12px;
  background: #f8faf9;
  color: #33465a;
  line-height: 1.6;
}

.alv-profile-tickets {
  display: grid;
  gap: 10px;
}

.alv-profile-ticket {
  display: grid;
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid var(--alv-profile-line);
  border-radius: 13px;
  background: #fbfcfc;
}

.alv-profile-ticket__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.alv-profile-ticket__head > div {
  display: grid;
  gap: 3px;
}

.alv-profile-ticket__number {
  color: var(--alv-profile-navy);
  font-size: .82rem;
  font-weight: 850;
}

.alv-profile-ticket small,
.alv-profile-ticket__meta {
  color: var(--alv-profile-muted);
  font-size: .68rem;
}

.alv-profile-ticket > strong {
  color: var(--alv-profile-navy);
  font-size: .78rem;
}

.alv-profile-ticket p {
  margin: 0;
  color: #536274;
  font-size: .72rem;
  line-height: 1.55;
}

@media (max-width: 620px) {
  .alv-email-verification__intro,
  .alv-profile-ticket__head {
    align-items: stretch;
    flex-direction: column;
  }

  .alv-email-verification__code {
    grid-template-columns: 1fr;
  }
}
