.shopping-controls{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
.account-link{font-size:.9375rem;font-weight:600;min-height:2.75rem;display:inline-flex;align-items:center;color:var(--wine);white-space:nowrap}
.shopping-status{background:#f5eeea;border-block:1px solid #e8dcd5;font-size:.875rem;padding:.625rem 0;color:var(--muted)}
.shopping-status .wrap{display:flex;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.shopping-context{display:flex;align-items:center;gap:1rem;min-width:0}
.shopping-badge{display:inline-flex;align-items:center;gap:.5rem;color:var(--wine);flex-shrink:0}
.shopping-badge svg{width:1.125rem;height:1.125rem}
.shopping-badge strong{font-size:.875rem;font-weight:600}
.shopping-terms{border-left:1px solid #d8c5bc;padding-left:1rem}
.shopping-note{font-size:.8125rem}
.shopping-access{color:var(--wine);font-weight:600;display:inline-flex;align-items:center;gap:.75rem;min-height:2rem}
.shopping-access:hover{text-decoration:underline;text-underline-offset:4px}
.account-view{max-width:75rem;min-height:60vh}
.account-heading{margin-bottom:2rem;max-width:55rem}
.account-heading h1{font-size:clamp(2.25rem,4vw,3.5rem);margin-bottom:1rem;overflow-wrap:anywhere}
.account-heading p{font-size:1rem;overflow-wrap:anywhere}
.account-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}
.account-form{background:var(--paper);border:1px solid var(--line);padding:2rem}
.account-form h2{font-size:1.875rem;margin-bottom:1.25rem;max-width:none}
.account-form>p{font-size:1rem;margin-bottom:1.5rem}
.account-form .field{font-size:.9375rem;margin-bottom:1.125rem}
.account-form .field input,.account-form .field select{font-size:1rem;min-height:3rem;min-width:0}
.account-form .field small{font-size:.8125rem;color:var(--muted)}
.account-form .check-label{font-size:.875rem}
.account-form .check-label input{flex-shrink:0;width:1rem;height:1rem}
.account-form-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}
.account-form-grid>*{min-width:0}
.account-recovery{padding:1.5rem 0;border-bottom:1px solid var(--line)}
.account-recovery summary{cursor:pointer;color:var(--wine);font-size:.9375rem}
.account-recovery p{font-size:.875rem;margin:1rem 0}
.account-overview{border:1px solid var(--line);padding:2rem;background:var(--blush);display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:3rem}
.account-overview>div{min-width:0}
.account-overview p{max-width:42rem;font-size:1rem;margin-top:.75rem}
.account-status{font-size:.9375rem;font-weight:600;color:var(--wine)}
.account-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;flex-shrink:0}
.account-actions .button{gap:1rem}
.account-dashboard{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.account-dashboard h2{margin-bottom:1rem}
#account-orders{margin-top:1.5rem}
.account-order{border-bottom:1px solid var(--line);padding:1.25rem 0}
.account-order summary{display:flex;gap:1rem;justify-content:space-between;align-items:center;cursor:pointer;color:var(--wine);font-size:.9375rem;flex-wrap:wrap}
.account-order small{display:block;font-size:.8125rem;color:var(--muted);margin-top:.5rem}
.account-order ul{padding-left:1.25rem;font-size:.9375rem}
.account-order li{margin-bottom:1rem}
.account-empty{border:1px solid var(--line);padding:1.5rem}
.account-empty p{margin-bottom:1rem}
.account-narrow{max-width:35rem}
.price-access{font-size:.9375rem;font-weight:500}
.price-access a{display:inline-block;text-decoration:underline;text-underline-offset:3px}
.access-required{padding:1.25rem;background:var(--blush);margin-top:1.5rem}
.access-required p{font-size:.9375rem;margin-bottom:1rem}
.access-required .button{gap:1rem}
@media(max-width:1100px){.shopping-controls{margin-left:auto}}
@media(max-width:760px){.shopping-controls{width:100%;justify-content:space-between;gap:.75rem}.account-columns,.account-dashboard{grid-template-columns:1fr}.account-form,.account-overview{padding:1.25rem}.account-columns{gap:1.5rem}.account-heading h1{font-size:2.25rem}.account-overview{flex-direction:column;align-items:stretch;gap:1rem}.account-actions .button{width:100%}.account-view h2{max-width:none}.account-form-grid{grid-template-columns:1fr;gap:0}.account-form .button{gap:1rem}}

/* La cuenta tiene una cabecera breve y el formulario al inicio de la página. */
.account-back{display:none}
.account-page .announcement,.account-page .search,.account-page .nav-row,.account-page #shopping-status{display:none}
.account-page .site-header{border-bottom:1px solid var(--line)}
.account-page .header-main{max-width:75rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:6rem;padding-block:.75rem;gap:2rem}
.account-page .header-main .wordmark{font-size:2.75rem}
.account-page .header-main .wordmark span{margin-top:.25rem}
.account-page .header-actions{grid-column:3;grid-row:1}
.account-page .account-back{display:inline-flex;justify-self:end;align-items:center;gap:.5rem;min-height:2.75rem;font-size:.875rem;color:var(--wine)}
.account-page .demo-banner{padding:.375rem 1rem}
.account-view{padding-block:1.5rem 3rem}
.account-auth{display:grid;grid-template-columns:minmax(15rem,.85fr) minmax(0,1.75fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.account-auth>*{min-width:0}
.account-intro{padding:1.5rem 0}
.account-intro .eyebrow{margin-bottom:1rem}
.account-intro h1{font-size:clamp(2rem,3vw,2.75rem);line-height:1.12;letter-spacing:-.03em;margin-bottom:1rem}
.account-intro>p{font-size:1rem;color:var(--muted);max-width:22rem}
.account-minimum{margin:1.5rem 0;padding:1.125rem 1.25rem;border-left:2px solid #bf8c8c;background:#f1e8e2;border-radius:0 .75rem .75rem 0}
.account-minimum span,.account-minimum small{display:block;font-size:.8125rem;color:var(--muted)}
.account-minimum strong{display:block;color:var(--wine);font-size:1.75rem;line-height:1.4;font-family:var(--serif);font-weight:500;margin-block:.25rem}
.account-perks{list-style:none;padding:0;margin:0 0 1.5rem;font-size:.875rem}
.account-perks li{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}
.account-perks li:before{content:'✓';color:var(--wine);font-weight:600}
.account-retail{border-top:1px solid var(--line);padding-top:1.25rem}
.account-retail strong{font-size:.9375rem;font-weight:600}
.account-retail p{font-size:.875rem;color:var(--muted);margin-top:.375rem}
.account-retail .text-button{text-align:left;margin-top:.5rem;display:inline-flex;align-items:center;gap:.625rem}
.account-card{background:var(--paper);border:1px solid #e4d6ce;border-radius:1rem;padding:1.5rem 1.75rem;box-shadow:0 8px 30px #46202d05}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;padding:.25rem;background:#f3ece7;border-radius:.625rem;gap:.25rem;margin-bottom:1.25rem}
.account-tabs a{display:flex;justify-content:center;align-items:center;min-height:2.75rem;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;color:var(--muted);border-radius:.4375rem}
.account-tabs a[aria-current]{background:var(--paper);color:var(--wine);box-shadow:0 1px 4px #46202d14}
.account-tabs a:hover{color:var(--wine)}
.account-card .account-form{background:none;border:0;padding:0}
.account-card .account-form h2{font-size:1.875rem;line-height:1.2;margin:0 0 .5rem}
.account-card .account-form>p{font-size:.875rem;line-height:1.5;margin:0 0 1.125rem;color:var(--muted)}
.account-card .register-minimum{display:none}
.register-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1rem}
.account-card .field{font-size:.875rem;font-weight:500;margin-bottom:.875rem;gap:.375rem}
.account-card .register-fields .field{margin:0}
.account-card .field input,.account-card .field select{font-size:1rem;min-height:2.75rem;padding:.625rem .75rem;border-radius:.375rem;font-weight:400}
.document-fields{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.625rem}
.register-fields>*{min-width:0}
.document-fields>*{min-width:0}
.account-card .account-form>.password-hint{font-size:.8125rem;line-height:1.5;margin:.5rem 0 0}
.account-card .check-label{margin:1rem 0;font-size:.875rem;line-height:1.5}
.account-card .check-label input{width:1rem;height:1rem;margin-top:.2rem}
.account-card .button{border-radius:.375rem;justify-content:space-between;min-height:3rem}
.account-card .account-recovery{padding:1rem 0 0;border:0}
.account-card .account-recovery summary{font-size:.875rem}
.account-card :is(a,button,summary):focus-visible,.account-back:focus-visible{outline:2px solid var(--wine);outline-offset:3px}

/* Avisos de acciones breves, sin la barra oscura sobre la imagen. */
.toast{background:var(--paper);color:var(--wine-dark);border:1px solid #dbc8c2;border-radius:.75rem;box-shadow:0 6px 24px #46202d1f;padding:.875rem 1.25rem;width:max-content;max-width:min(26rem,calc(100% - 2rem))}

@media(max-width:1000px){
  .account-auth{grid-template-columns:minmax(0,1fr);max-width:44rem;margin-inline:auto;gap:1.5rem}
  .account-card{grid-row:1}
  .account-intro{padding:1.25rem;border:1px solid var(--line);border-radius:1rem}
  .account-intro h1{font-size:2rem}
  .account-intro h1 br{display:none}
  .account-intro>p{max-width:none}
  .account-card .register-minimum{display:block;font-size:.875rem;margin-top:.375rem;color:var(--wine)}
}
@media(min-width:1001px) and (max-height:800px){
  .account-page .header-main{min-height:5.5rem;padding-block:.5rem}
  .account-view{padding-top:.75rem}
  .account-card{padding:1rem 1.5rem}
  .account-tabs{margin-bottom:.75rem}
  .account-card .account-form h2{font-size:1.75rem}
  .account-card .account-form>p{margin-bottom:.75rem}
  .register-fields{row-gap:.625rem}
  .account-card .field input,.account-card .field select{padding-block:.5625rem}
  .account-card .check-label{margin:.75rem 0}
  .account-card .button{padding-block:.75rem}
  .account-intro{padding-top:1rem}
  .account-minimum{margin-block:1.125rem}
  .account-perks{margin-bottom:1rem}
  .account-retail{padding-top:1rem}
}
@media(min-width:1001px) and (max-height:670px){
  .account-card #account-register>p:has(.registration-auto){display:none}
}
@media(max-width:760px){
  .shopping-status .wrap{gap:.375rem}
  .shopping-context{align-items:flex-start;gap:.75rem;width:100%}
  .shopping-badge{padding-top:.0625rem}
  .shopping-terms{padding-left:.75rem;line-height:1.5}
  .shopping-note{font-size:.8125rem;color:var(--muted)}
  .account-page .header-main{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;min-height:5.5rem}
  .account-page .header-actions{display:none}
  .account-page .header-main .wordmark{font-size:2.5rem}
  .account-page .account-back{font-size:.8125rem;max-width:8rem;line-height:1.5}
  .account-view{padding-block:1rem 2rem}
  .account-card{padding:1.125rem;border-radius:.75rem}
  .account-card .account-form h2{font-size:1.625rem}
  .account-tabs{margin-bottom:1.125rem}
  .account-card .check-label{font-size:.875rem}
}
@media(max-width:540px){
  .registration-auto{display:none}
  .account-card .register-minimum{margin-top:0}
  .register-fields{grid-template-columns:minmax(0,1fr);gap:.875rem}
  .document-fields{grid-template-columns:5rem minmax(0,1fr)}
  .account-page .header-main .wordmark span{font-size:.75rem;letter-spacing:.02em}
}
