/* ==========================================================
   NEXXO MI CUENTA · SISTEMA VISUAL LOGUEADO
   v0.4.20
   ========================================================== */
:root{
  --nexxo:#18c5cf;
  --nexxo2:#7ce2e7;
  --nexxo-accent:#0d8f99;
  --nexxo-dark:#17252a;
  --nexxo-soft:#f7fbfc;
  --nexxo-soft-accent:#eaf9fa;
  --nexxo-border:#dcebed;
  --nexxo-text:#1b252b;
  --nexxo-muted:#6d7a80;
  --nexxo-shadow:0 12px 34px rgba(19,75,82,.07);
}

/* Layout general: menú y contenido con separación real. */
.woocommerce-account.logged-in .woocommerce{
  max-width:1240px;
  margin:0 auto;
  padding:36px 20px 64px;
}
.woocommerce-account.logged-in .woocommerce:after{content:"";display:table;clear:both}
.woocommerce-account.logged-in h1.entry-title{display:none!important}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  float:left!important;
  clear:none!important;
  width:220px!important;
  max-width:220px!important;
  margin:0!important;
  position:sticky;
  top:22px;
  box-sizing:border-box;
  padding:12px!important;
  background:linear-gradient(180deg,#fbfefe 0%,#f5fafb 100%)!important;
  border:1px solid #d8eaec!important;
  border-radius:22px!important;
  box-shadow:0 12px 34px rgba(20,67,74,.07)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  padding:0!important;
  margin:0!important;
  list-style:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:5px 0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:46px!important;
  padding:0 13px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
  background:transparent!important;
  color:#42545b!important;
  text-decoration:none!important;
  font-weight:700!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
  white-space:nowrap!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:#edf8f9!important;
  border-color:#d8edef!important;
  color:#175a61!important;
  transform:translateX(2px);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:linear-gradient(135deg,#e6f9fa,#dcf5f7)!important;
  border-color:#b9e8eb!important;
  color:#0a6f78!important;
  box-shadow:inset 3px 0 0 #18c5cf!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:after{display:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation li a:before{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  min-width:18px!important;
  margin:0!important;
  color:#17aab4!important;
  font-family:Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  opacity:1!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a:before{content:"⌂"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a:before{content:"▣"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--pedidos-guardados a:before{content:"✎"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--recompensas a:before{content:"★"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--mis-datos a:before{content:"●"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:before{content:"↪"!important}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{
  color:#66777d!important;
  margin-top:8px!important;
  border-top:1px solid #e2eef0!important;
  border-radius:0 0 12px 12px!important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  float:left!important;
  clear:none!important;
  width:calc(100% - 252px)!important;
  max-width:calc(100% - 252px)!important;
  min-width:0!important;
  margin:0 0 0 32px!important;
  padding:0!important;
  color:var(--nexxo-text)!important;
  box-sizing:border-box!important;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{color:var(--nexxo-text)!important}
.woocommerce-account.logged-in .woocommerce-MyAccount-content>*:first-child{margin-top:0!important}

/* Lenguaje visual NEXXO: cian como acento, nunca como bloque pesado. */
.nexxo-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#0c929d
}
.nexxo-kicker:before{content:"";width:7px;height:7px;border-radius:99px;background:#22c7d1}

.nexxo-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 18px;border-radius:13px;font-weight:750;
  text-decoration:none!important;border:1px solid transparent;transition:.18s ease
}
.nexxo-btn.primary{
  background:#def6f8!important;
  border-color:#a9e3e7!important;
  color:#0b626a!important;
  box-shadow:none!important;
}
.nexxo-btn.primary:hover{
  background:#cef1f3!important;
  border-color:#8ed9de!important;
  color:#084e55!important;
  transform:translateY(-1px)
}
.nexxo-btn.ghost{
  background:#fff!important;
  border-color:#dbe9eb!important;
  color:#42545a!important
}
.nexxo-btn.ghost:hover{background:#f5fbfc!important;border-color:#bde4e7!important;color:#175f66!important}

.nexxo-welcome,.nexxo-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:linear-gradient(180deg,#fff,#fcfefe);
  border:1px solid var(--nexxo-border);
  border-radius:22px;padding:26px 28px;margin-bottom:20px;
  box-shadow:0 10px 28px rgba(19,75,82,.045)
}
.nexxo-welcome h2,.nexxo-section-head h2{font-size:29px;line-height:1.15;margin:8px 0}
.nexxo-welcome p,.nexxo-section-head p{margin:0;color:var(--nexxo-muted);max-width:690px}

.nexxo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.nexxo-stat-card{
  background:linear-gradient(180deg,#fff,#fbfefe);
  border:1px solid var(--nexxo-border);border-radius:18px;padding:18px;min-width:0;
  box-shadow:0 8px 24px rgba(19,75,82,.035)
}
.nexxo-stat-card>span{
  display:flex;width:38px;height:38px;align-items:center;justify-content:center;
  background:#edf9fa;border:1px solid #d8eff1;border-radius:11px;margin-bottom:16px
}
.nexxo-stat-card small{display:block;color:var(--nexxo-muted);font-weight:650;margin-bottom:5px}
.nexxo-stat-card strong{display:block;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexxo-stat-card strong .woocommerce-Price-amount{font-size:inherit}

.nexxo-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.nexxo-next-card,.nexxo-quick-card,.nexxo-progress-card,.nexxo-data-card,.nexxo-reward-card,.nexxo-draft-card,.nexxo-empty-state,.nexxo-info-box{
  background:#fff;border:1px solid var(--nexxo-border);border-radius:20px;
  box-shadow:0 8px 24px rgba(19,75,82,.035)
}
.nexxo-next-card{
  display:flex;gap:18px;padding:24px;
  background:linear-gradient(135deg,#eefafb 0%,#fbfefe 100%);
  color:var(--nexxo-text);border-color:#ccebed
}
.nexxo-next-icon{
  display:flex;width:58px;height:58px;min-width:58px;align-items:center;justify-content:center;
  font-size:28px;background:#fff;border:1px solid #d6ecee;border-radius:16px
}
.nexxo-next-card span{color:#73858b;font-size:13px}
.nexxo-next-card h3{color:var(--nexxo-text)!important;font-size:20px;margin:4px 0}
.nexxo-next-card p{color:#5f7379;margin:0 0 12px}
.nexxo-next-card a{color:#0b909a!important;font-weight:800;text-decoration:none}
.nexxo-next-card a:hover{color:#08727a!important}

.nexxo-quick-card{padding:20px}
.nexxo-quick-card h3{margin:0 0 10px}
.nexxo-quick-card>a{
  display:grid;grid-template-columns:36px 1fr 14px;gap:10px;align-items:center;
  padding:12px 6px;border-top:1px solid #edf3f4;text-decoration:none!important;
  color:var(--nexxo-text)!important;border-radius:12px
}
.nexxo-quick-card>a:first-of-type{border-top:0}
.nexxo-quick-card>a:hover{background:#f4fbfc}
.nexxo-quick-card>a>span{font-size:20px}
.nexxo-quick-card a div{display:flex;flex-direction:column}
.nexxo-quick-card a small{color:var(--nexxo-muted)}
.nexxo-quick-card a b{font-size:24px;color:#9aacb1}

.nexxo-points-pill{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:#effafb;color:var(--nexxo-text);border:1px solid #cfecef;border-radius:20px;
  padding:12px 14px;width:112px;min-width:112px;min-height:112px;box-sizing:border-box;flex-shrink:0
}
.nexxo-points-pill strong{display:block;font-size:24px;line-height:1;margin:0 0 8px;color:#0b909a}
.nexxo-points-pill span{display:block;font-size:12px;line-height:1.35;color:#60757b;max-width:78px;margin:0 auto}

.nexxo-progress-card{padding:24px;margin-bottom:16px;background:linear-gradient(180deg,#fff,#fcfefe)}
.nexxo-progress-copy{display:flex;flex-direction:column;gap:3px}
.nexxo-progress-copy span,.nexxo-progress-copy small{color:var(--nexxo-muted)}
.nexxo-progress-copy strong{font-size:22px}
.nexxo-progress-track{height:11px;background:#edf5f6;border-radius:999px;margin:20px 0 7px;overflow:hidden}
.nexxo-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fd8df,#1ebbc5)}
.nexxo-progress-meta{display:flex;justify-content:space-between;color:var(--nexxo-muted);font-size:12px;font-weight:700}

.nexxo-reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.nexxo-reward-card{padding:22px;position:relative;overflow:hidden}
.nexxo-reward-card.is-locked{opacity:.78;background:#fbfdfd}
.nexxo-reward-card.is-unlocked{border-color:#b8e7ea;box-shadow:0 8px 24px rgba(19,199,212,.06)}
.nexxo-reward-icon{font-size:30px;margin-bottom:10px}
.nexxo-reward-points{display:inline-block;background:#edf9fa;color:#0b7d86;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}
.nexxo-reward-card h3{font-size:19px;margin:11px 0 6px}
.nexxo-reward-card p{color:var(--nexxo-muted);min-height:42px}
.nexxo-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.nexxo-status.pending{background:#edf9fa;color:#0b7d86}
.nexxo-status.delivered{background:#eaf7ef;color:#2c7447}
.nexxo-status.locked{background:#f0f3f4;color:#6d7a80}
.nexxo-info-box{padding:16px 18px;margin-top:16px;background:#f8fcfc;color:#4f6169}

.nexxo-draft-list{display:grid;gap:14px}
.nexxo-draft-card{
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;
  background:linear-gradient(180deg,#fff,#fcfefe)
}
.nexxo-draft-card h3{margin:5px 0 4px;font-size:21px}
.nexxo-draft-card p{margin:0;color:var(--nexxo-muted)}
.nexxo-draft-date{font-size:12px;color:#839298}
.nexxo-draft-actions{display:flex;gap:9px;flex-shrink:0}
.nexxo-empty-state{text-align:center;padding:48px 24px}
.nexxo-empty-icon{font-size:40px}
.nexxo-empty-state h3{font-size:22px;margin:10px 0}
.nexxo-empty-state p{color:var(--nexxo-muted);margin-bottom:18px}

.nexxo-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nexxo-data-card{padding:22px;background:linear-gradient(180deg,#fff,#fcfefe);min-width:0}
.nexxo-data-card>span{font-size:25px;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:#effafb;border:1px solid #d7eef0;border-radius:12px}
.nexxo-data-card h3{margin:12px 0 8px;font-size:21px}
.nexxo-data-card p{color:var(--nexxo-muted);min-height:86px;line-height:1.55;margin-bottom:16px}
.nexxo-data-card address{font-style:normal}

/* Pedidos: tabla más aireada y sin cian/negro pesado. */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table{
  border-collapse:separate!important;border-spacing:0!important;
  border:1px solid var(--nexxo-border)!important;border-radius:18px!important;
  overflow:hidden!important;background:#fff!important;
  box-shadow:0 8px 26px rgba(19,75,82,.04)!important
}
.woocommerce-account .woocommerce-orders-table th{
  background:#f6fafb!important;color:#607078!important;
  font-size:12px!important;text-transform:uppercase!important;letter-spacing:.03em!important;
  padding:14px 12px!important;border-bottom:1px solid #e2edef!important
}
.woocommerce-account .woocommerce-orders-table td{
  padding:14px 12px!important;border-color:#edf3f4!important;color:#425159!important
}
.woocommerce-account .woocommerce-orders-table tbody tr:hover td{background:#fbfefe!important}
.woocommerce-account .woocommerce-orders-table .button{
  border-radius:10px!important;margin:2px!important;
  background:#f3f8f9!important;color:#40565d!important;border:1px solid #dbe9eb!important;
  box-shadow:none!important
}
.woocommerce-account .woocommerce-orders-table .button:hover{background:#eaf6f7!important;color:#175e65!important;border-color:#c6e5e7!important}
.woocommerce-account .woocommerce-orders-table .nexxo-pdf{background:#eaf8f9!important;color:#0b7f88!important;border-color:#c8e8ea!important}
.woocommerce-account .woocommerce-orders-table__cell-order-status{font-weight:700;color:#718087!important}

.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message{
  background:#f4fbfc!important;border:1px solid #d7ecee!important;border-radius:16px!important;
  color:#46585e!important;box-shadow:none!important;padding:16px 18px!important;margin:0 0 20px!important
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info:before,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message:before{color:#21b9c3!important}

.nexxo-save-draft{display:flex;align-items:center;gap:8px;float:left;max-width:520px}
.nexxo-save-draft input{min-width:280px!important;height:44px!important;border:1px solid var(--nexxo-border)!important;border-radius:10px!important;padding:0 12px!important}
.nexxo-save-draft .button{height:44px!important;background:#def6f8!important;color:#0b626a!important;border:1px solid #a9e3e7!important;border-radius:10px!important}

/* En tablet damos prioridad al contenido y evitamos que el menú lo aplaste. */
@media (max-width:980px) and (min-width:781px){
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    float:none!important;width:100%!important;max-width:none!important;position:static!important;margin:0 0 22px!important
  }
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{display:flex!important;gap:7px!important;overflow-x:auto!important;padding-bottom:2px!important}
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{flex:0 0 auto!important;margin:0!important}
  .woocommerce-account.logged-in .woocommerce-MyAccount-content{
    float:none!important;width:100%!important;max-width:100%!important;margin:0!important
  }
}

/* Login / registro */
.woocommerce-account:not(.logged-in) .woocommerce{max-width:1180px!important;padding-top:34px!important}
.woocommerce-account:not(.logged-in) .woocommerce h1.entry-title{display:none!important}
.nexxo-auth-shell{position:relative;background:linear-gradient(180deg,#f8fbfc,#fff);border:1px solid var(--nexxo-border);border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(3,17,24,.09);padding:22px 0 24px}
.nexxo-auth-shell::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:14px;transform:translateX(-50%);background:linear-gradient(180deg,#f8fbfc,#fff);pointer-events:none;z-index:0}
.nexxo-auth-switch,.nexxo-auth-stage,.nexxo-auth-hint{position:relative;z-index:1}
.nexxo-auth-switch{display:flex;justify-content:center;gap:6px;margin:0 auto 10px;background:#eef5f6;border:1px solid #e0eaec;border-radius:999px;padding:4px;width:max-content}
.nexxo-auth-tab{border:0!important;background:transparent!important;color:#617077!important;border-radius:999px!important;padding:9px 17px!important;font-size:13px!important;font-weight:800!important;line-height:1!important;cursor:pointer;box-shadow:none!important}
.nexxo-auth-tab.is-active{background:#071014!important;color:#fff!important}
.nexxo-auth-stage{position:relative;min-height:500px;overflow:hidden;transition:height .38s ease}
.nexxo-auth-card{position:absolute;top:36px;left:50%;width:min(500px,calc(100% - 80px));background:#fff;border:1px solid #dce7ea;border-radius:24px;padding:30px 32px;box-shadow:0 18px 48px rgba(5,24,32,.10);transition:transform .52s cubic-bezier(.22,.8,.24,1),opacity .4s ease,filter .4s ease,box-shadow .4s ease;will-change:transform,opacity;cursor:pointer}
.nexxo-auth-card.is-active{z-index:3;cursor:default;box-shadow:0 22px 62px rgba(5,24,32,.14)}
.nexxo-auth-card--login{transform:translateX(-50%) translateY(-8px) scale(1)}
.nexxo-register-card{transform:translateX(calc(-50% + 390px)) translateY(24px) scale(.90);opacity:.64;filter:saturate(.72)}
.nexxo-auth-stage.is-register .nexxo-auth-card--login{transform:translateX(calc(-50% - 390px)) translateY(24px) scale(.90);opacity:.64;filter:saturate(.72);z-index:1}
.nexxo-auth-stage.is-register .nexxo-register-card{transform:translateX(-50%) translateY(-8px) scale(1);opacity:1;filter:none;z-index:3}
.nexxo-auth-stage.is-login .nexxo-auth-card--login{opacity:1;filter:none;z-index:3}
.nexxo-auth-stage.is-login .nexxo-register-card{z-index:1}
.nexxo-auth-card:not(.is-active)::after{content:"";position:absolute;inset:0;border-radius:24px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.32));pointer-events:none}
.nexxo-auth-card h2{font-size:30px;margin:7px 0}
.nexxo-auth-card>p{color:var(--nexxo-muted);margin-top:0}
.nexxo-auth-card form{margin-top:22px}
.nexxo-auth-card .form-row{margin:0 0 14px!important;padding:0!important;width:100%!important;float:none!important}
.nexxo-auth-card label{display:block;font-size:13px;font-weight:750;margin-bottom:6px;color:#33434a}
.nexxo-auth-card input.input-text{width:100%!important;height:50px!important;border:1px solid #d8e4e7!important;border-radius:13px!important;padding:0 14px!important;background:#fff!important;box-shadow:none!important}
.nexxo-auth-card input.input-text:focus{border-color:var(--nexxo)!important;outline:none!important;box-shadow:0 0 0 3px rgba(19,199,212,.1)!important}
.nexxo-auth-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;margin:-2px 0 16px}
.nexxo-auth-row label{margin:0!important;font-weight:600}
.nexxo-auth-row a{color:#087d8a}
.nexxo-auth-submit{width:100%!important;height:50px!important;border:0!important;border-radius:13px!important;background:#071014!important;color:#fff!important;font-weight:800!important}
.nexxo-auth-submit.secondary{background:var(--nexxo)!important;color:#031014!important}
.nexxo-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nexxo-auth-note{font-size:12px;background:#f0fafb;border-radius:10px;padding:10px!important;color:#4f6169!important}
.nexxo-auth-jump{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;border:0!important;border-radius:999px!important;background:#f1eeef!important;color:#65767c!important;margin:10px 0 0;padding:0 16px!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;text-align:center!important;cursor:pointer;appearance:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.nexxo-auth-jump strong{display:inline-flex;align-items:center;justify-content:center;color:#078b99!important;font-size:inherit;line-height:inherit;font-weight:800}
.nexxo-auth-hint{text-align:center;color:#8a989d;font-size:12px;margin:6px 0 0}
.nexxo-auth-card:not(.is-active) form,.nexxo-auth-card:not(.is-active) .nexxo-auth-jump{pointer-events:none}

@media(max-width:1050px){
  .nexxo-auth-card{width:min(480px,calc(100% - 56px))}
  .nexxo-register-card{transform:translateX(calc(-50% + 335px)) translateY(22px) scale(.90)}
  .nexxo-auth-stage.is-register .nexxo-auth-card--login{transform:translateX(calc(-50% - 335px)) translateY(22px) scale(.90)}
  .nexxo-stat-grid{grid-template-columns:repeat(2,1fr)}
  .nexxo-data-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .woocommerce-account.logged-in .woocommerce{padding:16px 12px 40px;overflow-x:hidden}
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;max-width:none!important;position:static;margin:0 0 14px!important;padding:10px;overflow:visible}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:1fr;gap:6px;min-width:0;width:100%}
  .woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
  .woocommerce-account .woocommerce-MyAccount-navigation a{min-height:42px;padding:0 12px;font-size:14px;white-space:normal}
  .woocommerce-account.logged-in .woocommerce-MyAccount-content{float:none!important;width:100%!important;max-width:100%!important;margin:0!important}
  .nexxo-welcome,.nexxo-section-head{align-items:flex-start;flex-direction:column;padding:20px}
  .nexxo-welcome h2,.nexxo-section-head h2{font-size:25px}
  .nexxo-stat-grid,.nexxo-reward-grid,.nexxo-dashboard-grid{grid-template-columns:1fr}
  .nexxo-draft-card{align-items:flex-start;flex-direction:column}
  .nexxo-draft-actions{width:100%}
  .nexxo-draft-actions .nexxo-btn{flex:1}
  .woocommerce-account:not(.logged-in) .woocommerce{padding:18px 8px 40px!important}
  .nexxo-auth-shell{border-radius:22px;padding-top:16px}
  .nexxo-auth-stage{min-height:560px}
  .nexxo-auth-card{top:24px;width:calc(100% - 34px);padding:24px 20px;border-radius:20px}
  .nexxo-auth-card--login{transform:translateX(-50%) translateY(-4px) scale(1)}
  .nexxo-register-card{transform:translateX(calc(-50% + 84vw)) translateY(18px) scale(.94);opacity:.58}
  .nexxo-auth-stage.is-register .nexxo-auth-card--login{transform:translateX(calc(-50% - 84vw)) translateY(18px) scale(.94);opacity:.58}
  .nexxo-auth-stage.is-register .nexxo-register-card{transform:translateX(-50%) translateY(-4px) scale(1)}
  .nexxo-auth-card h2{font-size:27px}
  .nexxo-two-fields{grid-template-columns:1fr}
  .nexxo-auth-hint{font-size:11px;padding:0 16px}
  .nexxo-save-draft{float:none;display:grid;grid-template-columns:1fr;width:100%;max-width:none;margin-bottom:10px}
  .nexxo-save-draft input{min-width:0!important;width:100%!important}
}
@media(max-width:420px){
  .nexxo-auth-switch{margin-bottom:6px}
  .nexxo-auth-tab{padding:8px 13px!important;font-size:12px!important}
  .nexxo-auth-card{width:calc(100% - 24px);padding:22px 17px}
  .nexxo-register-card{transform:translateX(calc(-50% + 88vw)) translateY(16px) scale(.95)}
  .nexxo-auth-stage.is-register .nexxo-auth-card--login{transform:translateX(calc(-50% - 88vw)) translateY(16px) scale(.95)}
}


/* ==========================================================
   v0.2.2 - FIX REAL ELECTRO
   DevTools mostró #primary.content-area en ~698px dentro de
   un viewport de ~1496px. El tema estaba reservando la otra
   columna para sidebar. Sólo en Mi Cuenta usamos ancho completo.
   ========================================================== */
@media (min-width: 781px) {
  body.woocommerce-account #content .site-content-inner.row > #primary.content-area {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-account #content .site-content-inner.row > #secondary.widget-area {
    display: none !important;
  }

  body.woocommerce-account #content .site-content-inner.row {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* NEXXO Points v0.3.0 */
.nexxo-points-history{margin-top:18px;background:#fff;border:1px solid var(--nexxo-border);border-radius:20px;padding:20px}
.nexxo-points-history-head h3{margin:2px 0 14px}
.nexxo-points-history-list{border-top:1px solid #edf2f4}
.nexxo-points-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 2px;border-bottom:1px solid #edf2f4}
.nexxo-points-row:last-child{border-bottom:0}
.nexxo-points-row-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.nexxo-points-row-copy strong{color:var(--nexxo-text)}
.nexxo-points-row-copy small{color:var(--nexxo-muted)}
.nexxo-points-delta{white-space:nowrap;font-size:16px}
.nexxo-points-delta.is-positive{color:#087d8a}
.nexxo-points-delta.is-negative{color:#b42318}
@media(max-width:620px){
  .nexxo-points-row{align-items:flex-start}
  .nexxo-points-row-copy small{font-size:11px}
}


/* v0.3.5 · recompensas con progreso individual */
.nexxo-reward-progress-list{
  display:grid;
  gap:14px;
}
.nexxo-reward-progress-card{
  margin:0;
}
.nexxo-reward-progress-card.is-unlocked{
  border-color:#a5e8ed;
  box-shadow:0 8px 24px rgba(19,199,212,.08);
}
.nexxo-reward-progress-description{
  margin:12px 0 0;
  color:var(--nexxo-muted);
}
.nexxo-reward-progress-status{
  margin-top:14px;
}

.nexxo-points-start-note{display:block;margin-top:7px;color:var(--nexxo-muted);font-size:12px}

@media (max-width: 767px){.nexxo-points-pill{width:100%;min-width:0;min-height:auto;padding:14px 16px;border-radius:18px}.nexxo-points-pill strong{font-size:24px}.nexxo-points-pill span{max-width:none}}


/* v0.3.8 · canje monetario de puntos */
.nexxo-checkout-points-row td{padding:14px 0 8px!important;border:0!important}
.nexxo-checkout-points{
  background:#f6fbfc;border:1px solid #cfecef;border-radius:18px;padding:16px;
  text-align:left;color:#111827;
}
.nexxo-checkout-points.is-disabled{display:flex;flex-direction:column;gap:4px}
.nexxo-checkout-points.is-disabled small{color:#69767c}
.nexxo-checkout-points-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.nexxo-checkout-points-head>div:first-child{display:flex;flex-direction:column;gap:3px}
.nexxo-checkout-points-kicker{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800;color:#0b98a5}
.nexxo-checkout-points-head strong{font-size:16px}
.nexxo-checkout-points-worth{white-space:nowrap;background:#071014;color:#22d3ee;border-radius:12px;padding:8px 10px;font-weight:800;font-size:13px}
.nexxo-checkout-points-controls label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}
.nexxo-checkout-points-input{display:flex;gap:8px;align-items:center}
.nexxo-checkout-points-input input{width:110px!important;min-height:40px!important;margin:0!important;border:1px solid #d7e6e8!important;border-radius:10px!important;padding:6px 10px!important}
.nexxo-checkout-points-input .button{min-height:40px;border-radius:10px!important;background:#071014!important;color:#fff!important;border:0!important;padding:0 13px!important}
.nexxo-checkout-points-controls small{display:block;color:#69767c;font-size:11px;margin-top:7px;line-height:1.45}
.nexxo-checkout-points-preview{margin-top:10px;padding-top:10px;border-top:1px solid #deebed;font-size:13px}
.nexxo-checkout-points-preview strong{color:#0795a2;font-size:15px}
@media(max-width:600px){
  .nexxo-checkout-points-head{align-items:flex-start;flex-direction:column}
  .nexxo-checkout-points-input{align-items:stretch;flex-direction:column}
  .nexxo-checkout-points-input input{width:100%!important}
}


/* v0.3.9 · canje de productos gratis */
.nexxo-reward-choose-btn{display:inline-flex;margin-top:14px}
.nexxo-reward-picker{background:#fff;border:1px solid #bde9ed;border-radius:22px;padding:22px;margin:0 0 18px;box-shadow:0 10px 28px rgba(19,199,212,.07)}
.nexxo-reward-picker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.nexxo-reward-picker-head h3{font-size:24px;margin:5px 0}
.nexxo-reward-picker-head p{margin:0;color:var(--nexxo-muted)}
.nexxo-reward-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nexxo-reward-product-card{border:1px solid var(--nexxo-border);border-radius:18px;overflow:hidden;background:#fff}
.nexxo-reward-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#fafcfc;padding:12px}
.nexxo-reward-product-image img{width:100%;height:100%;object-fit:contain}
.nexxo-reward-product-copy{padding:14px}
.nexxo-reward-product-copy>span{display:inline-block;color:#078995;background:#e9fbfd;border-radius:999px;font-size:11px;font-weight:800;padding:5px 8px}
.nexxo-reward-product-copy h4{font-size:16px;line-height:1.35;margin:10px 0 13px}
.nexxo-reward-free-price{display:inline-block;background:#e9fbfd;color:#078995;border-radius:999px;padding:6px 10px;font-weight:850;font-size:15px}
.woocommerce-cart-form .nexxo-reward-free-price{font-size:13px}
@media(max-width:900px){.nexxo-reward-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.nexxo-reward-picker-head{flex-direction:column}.nexxo-reward-product-grid{grid-template-columns:1fr}}


/* v0.4.0 · producto premio: UX clara */
.nexxo-active-reward-box{
  display:flex;gap:12px;align-items:flex-start;
  background:#e9fbfd;border:1px solid #a8e8ed;border-radius:16px;
  padding:14px 16px;margin:0 0 16px;color:#0a3136;
}
.nexxo-active-reward-icon{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;min-width:38px;border-radius:12px;
  background:#fff;font-size:20px;
}
.nexxo-active-reward-box strong{color:#071014}
.nexxo-active-reward-box p{margin:3px 0 0!important;color:#4e686e;font-size:13px;line-height:1.45}
.single-product .single_add_to_cart_button{
  transition:.18s ease;
}
.single-product .single_add_to_cart_button:has(+ input[name="nexxo_product_reward_key"]),
.single-product .single_add_to_cart_button.nexxo-reward-button{
  font-weight:850!important;
}
.nexxo-reward-free-price{
  font-size:18px!important;
  font-weight:900!important;
}


/* v0.4.1 · Electro: Mi Cuenta siempre ocupa el ancho real de escritorio */
@media(min-width:781px){
  body.woocommerce-account.logged-in .off-canvas-wrapper,
  body.woocommerce-account.logged-in #page,
  body.woocommerce-account.logged-in #page.site,
  body.woocommerce-account.logged-in .site,
  body.woocommerce-account.logged-in #content,
  body.woocommerce-account.logged-in .site-content{
    float:none!important;
    clear:both!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}


/* v0.4.2 · reset del shell de wp_die/error-page en Mi Cuenta */
body.woocommerce-account.logged-in{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
  box-sizing:border-box!important;
}


/* v0.4.10 · Guardar pedido en WooCommerce Cart Block */
.nexxo-save-draft--block{
  float:none!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:16px 0!important;
  padding:16px!important;
  box-sizing:border-box!important;
  border:1px solid #dfe8ea!important;
  border-radius:12px!important;
  background:#f8fbfc!important;
}
.nexxo-save-draft--block .nexxo-save-draft-form{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
  align-items:end!important;
  margin:0!important;
}
.nexxo-save-draft--block label{
  grid-column:1 / -1!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#263238!important;
}
.nexxo-save-draft--block input[type="text"]{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.nexxo-save-draft--block .button{
  height:44px!important;
  min-width:145px!important;
  margin:0!important;
  border:0!important;
  background:#13c7d4!important;
  color:#041014!important;
  font-weight:800!important;
  border-radius:9px!important;
  padding:0 16px!important;
}
@media (max-width:680px){
  .nexxo-save-draft--block .nexxo-save-draft-form{grid-template-columns:1fr!important}
  .nexxo-save-draft--block .button{width:100%!important}
}

/* v0.4.11 · Cancelación de pedidos no abonados */
.woocommerce-account .woocommerce-orders-table .nexxo-cancel-order{background:#fff1f2!important;color:#b42318!important;border:1px solid #fecaca!important}
.woocommerce-account .woocommerce-orders-table .nexxo-cancel-order:hover{background:#ffe4e6!important;color:#991b1b!important}

/* ==========================================================
   v0.4.18 · RESTAURAR LOGIN / REGISTRO COMO ANTES
   Recupera únicamente las reglas de Mi Cuenta que estaban en
   el CSS global antiguo, sin volver a cargar el resto del CSS.
   ========================================================== */
body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
body.woocommerce-account:not(.logged-in) #main .woocommerce {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .nexxo-auth-shell {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .nexxo-auth-card,
body.woocommerce-account:not(.logged-in) .nexxo-auth-card form,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
    box-sizing: border-box !important;
}

/* Los campos existen en el HTML. Forzamos que ningún estilo de Electro
   pueda ocultar/colapsar las filas del formulario. */
body.woocommerce-account:not(.logged-in) .nexxo-auth-card .form-row {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .nexxo-auth-card input.input-text {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .nexxo-auth-card label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Electro puede reservar ancho lateral en Mi Cuenta. Sólo lo anulamos
   para la pantalla de acceso/registro. */
body.woocommerce-account:not(.logged-in) #primary.content-area,
body.woocommerce-account:not(.logged-in) #primary,
body.woocommerce-account:not(.logged-in) #main,
body.woocommerce-account:not(.logged-in) article.page,
body.woocommerce-account:not(.logged-in) article.hentry,
body.woocommerce-account:not(.logged-in) .entry-content {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #secondary.widget-area,
body.woocommerce-account:not(.logged-in) #secondary {
    display: none !important;
}

@media (max-width: 780px) {
    body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
    body.woocommerce-account:not(.logged-in) #main .woocommerce {
        padding: 25px 18px !important;
    }
}

/* ==========================================================
   v0.4.19 - LIMPIEZA REGISTRO ELECTRO
   El tema Electro agrega un texto en inglés y una lista de
   beneficios debajo del formulario de alta. NEXXO ya tiene
   su propio formulario, por lo que ocultamos sólo esos restos.
   ========================================================== */
body.woocommerce-account:not(.logged-in) .before-register-text,
body.woocommerce-account:not(.logged-in) .register-benefits,
body.woocommerce-account:not(.logged-in) p.mb-0 {
  display: none !important;
}
