/* Scoped account UI; shared cream, cocoa and fonts come from styles.css. */
.portal-body{display:block!important;min-height:100vh;height:auto!important;overflow:auto!important}
.portal-wrap{width:min(100% - 2.5rem,1040px);margin-inline:auto}
.portal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.2rem;border-bottom:1px solid var(--line)}
.portal-brand{font-size:1.4rem;font-weight:700;letter-spacing:-.04em}
.portal-header nav,.portal-actions,.portal-pagination{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.portal-header nav button{min-width:44px;padding:.4rem .65rem}
.portal-header nav button[aria-current]{background:var(--ink);color:var(--paper)}
.portal-main{padding-block:2.5rem 3.5rem;min-height:65vh}
.portal-main h1{font:400 clamp(2rem,5vw,3.1rem)/1.15 var(--serif);letter-spacing:-.035em;margin-bottom:.8rem}
.portal-main h2{font:400 1.65rem/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 1rem}
.portal-main h3{font:400 1.35rem/1.3 var(--serif);margin:0}
.portal-main p+p{margin-top:.75rem}
.portal-intro{max-width:47rem;color:var(--muted);margin-bottom:1.4rem}
.portal-notice,.portal-error{line-height:1.55;margin-block:1rem;overflow-wrap:anywhere}
.portal-error:not(:empty){padding:.9rem 1rem;border:1px solid #994d3b;border-radius:5px;color:#743929;background:#fff6ee}
.portal-notice:not(:empty){padding:.9rem 1rem;border:1px solid var(--line);border-radius:5px;background:var(--olive)}
.portal-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:1.4rem;margin-block:1rem}
.portal-auth{max-width:32rem}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.portal-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;min-width:0}
.portal-field label{font-size:.9rem;font-weight:600}.portal-field input,.portal-field select{width:100%;min-height:46px;padding:.65rem .8rem;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--input-line);border-radius:4px}
.portal-field input:focus,.portal-field select:focus{outline:2px solid var(--ink);outline-offset:2px}
.portal-field small,.portal-muted{font-size:.87rem;color:var(--muted);line-height:1.55}
.portal-main button,.portal-header button,.portal-dialog button{font:inherit;cursor:pointer;border:1px solid var(--ink);border-radius:100px;padding:.6rem 1.05rem;min-height:44px;background:transparent;color:var(--ink)}
.portal-main button.primary,.portal-dialog button.primary{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--white)}
.portal-main button.primary:hover,.portal-dialog button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.portal-main button:disabled,.portal-dialog button:disabled{cursor:default;opacity:.55}
.portal-main button:focus-visible,.portal-header button:focus-visible,.portal-dialog button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.portal-main a,.portal-footer a,.portal-dialog a{text-decoration:underline;text-underline-offset:.2rem}
.portal-main fieldset{border:0;padding:0;margin:0;min-width:0}
.portal-main summary{font-weight:600;cursor:pointer;min-height:44px;display:list-item;padding:.3rem 0}
.portal-profile form{margin-top:1.2rem}.portal-account-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.portal-order-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.portal-badge{font-size:.8rem;background:var(--olive);padding:.2rem .65rem;border-radius:20px;align-self:flex-start}
.portal-order-meta{color:var(--muted);font-size:.9rem;margin-bottom:.8rem}.portal-items{padding-left:1.2rem;margin:.8rem 0}.portal-items li{margin-block:.35rem;overflow-wrap:anywhere}
.portal-order-details{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.portal-facts{display:grid;grid-template-columns:minmax(7rem,1fr) 3fr;gap:.45rem 1rem;margin:1rem 0}.portal-facts dt{color:var(--muted)}.portal-facts dd{margin:0;overflow-wrap:anywhere}
.portal-pagination{justify-content:space-between;margin-top:1.2rem}.portal-footer{padding-block:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.portal-dialog{width:min(92vw,38rem);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:1.6rem}
.portal-dialog::backdrop{background:rgba(58,41,35,.5)}.portal-dialog h2{font:400 1.8rem/1.2 var(--serif);margin-bottom:1rem}.portal-dialog p{margin-block:.8rem}
.customer-account-link{font-size:.8rem;line-height:1.2;padding:.5rem .7rem!important;border:1px solid var(--line);border-radius:100px;white-space:normal;max-width:100%;text-align:center}
.customer-account-helper{padding:.9rem 1rem;margin-bottom:1.2rem;background:var(--olive);border:1px solid var(--line);border-radius:5px;font-size:.82rem;line-height:1.6}
.customer-account-helper a{display:inline-block;margin-top:.3rem;text-decoration:underline;text-underline-offset:.2rem}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr}.portal-main{padding-block:1.8rem 2.5rem}.portal-card{padding:1.1rem}.portal-facts{grid-template-columns:1fr;gap:.15rem}.portal-facts dd{margin-bottom:.5rem}.portal-header{align-items:flex-start}.site-header{grid-template-columns:auto minmax(0,1fr)}.site-header .header-actions{min-width:0;max-width:100%;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.customer-account-link{font-size:.73rem}}
[hidden]{display:none!important}

@media(min-width:701px) and (max-width:1200px){.site-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.5rem;padding-block:1rem}.site-header .header-actions{justify-self:end;flex-wrap:wrap;justify-content:flex-end}.site-header .main-nav{grid-column:1/-1;grid-row:2;gap:.5rem 1.5rem}}

/* Keep the shared horizontal-brand mobile header intact after account controls load. */
@media(max-width:540px){.site-header{grid-template-columns:minmax(0,1fr)}.site-header .header-actions{justify-content:center}.customer-account-link{font-size:.76rem}}
