@font-face{font-family:Manrope;src:url('../fonts/Manrope-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
@font-face{font-family:'Source Serif 4';src:url('../fonts/SourceSerif4-Bold.ttf') format('truetype');font-display:swap;font-weight:700}

.account-page{min-height:100vh;background:radial-gradient(circle at 86% 7%,rgba(167,216,255,.5),transparent 28rem),radial-gradient(circle at 7% 62%,rgba(255,221,224,.62),transparent 25rem),#F7F0E4}
.account-page [hidden]{display:none!important}
.account-page button:focus-visible,.account-page a:focus-visible,.account-page input:focus-visible{outline:3px solid rgba(255,41,56,.32);outline-offset:3px}
.account-page .button:disabled{cursor:not-allowed;opacity:.48}
.account-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:8px max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(45,61,77,.11);background:rgba(255,255,255,.88);backdrop-filter:blur(14px)}
.account-header .brand{width:150px}.account-header .brand img{display:block;width:150px;height:auto}
.account-back{font-size:.75rem;font-weight:800;text-decoration:none}.account-back:hover{text-decoration:underline}
.account-main{width:min(1180px,calc(100% - 36px));margin:auto;padding:72px 0 100px}
.account-intro{max-width:760px;margin-bottom:44px}
.account-intro h1{max-width:700px;margin-bottom:18px;font-size:clamp(3.6rem,7.8vw,7rem)}
.account-intro>p:last-child{max-width:650px;color:#4D585F;font-family:'Source Serif 4',Georgia,serif;font-size:1.16rem}

.account-access{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;padding:36px;border:1px solid rgba(45,61,77,.13);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:0 20px 60px rgba(45,61,77,.1)}
.account-access h2{font-size:clamp(2rem,4vw,3.4rem)}
.account-access p{color:#5C666D}
.account-step,.account-card>span,.club-editor-heading span,.account-card-heading>span,.club-editor-summary>span{display:block;margin-bottom:9px;color:#A22835;font-size:.56rem;font-weight:800;letter-spacing:.13em}
.account-access label{display:block;margin-bottom:8px;font-size:.72rem;font-weight:800}
.account-auth-shell{min-width:0}
.account-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:18px;padding:5px;border-radius:999px;background:#E9ECEE}
.account-auth-tabs button{min-height:42px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:#5C666D;font:700 .72rem Manrope,sans-serif;cursor:pointer}
.account-auth-tabs button[aria-selected="true"]{background:#FFFFFF;color:#2D3D4D;box-shadow:0 3px 12px rgba(45,61,77,.11)}
.account-auth-panel{display:grid;gap:9px}
.account-auth-panel h3{margin:2px 0 0}.account-auth-panel>p{margin:0 0 4px;font-size:.76rem}
.account-auth-panel input,.profile-fields input,.password-card input{width:100%;min-height:50px;padding:12px 15px;border:1px solid #BCC2C7;border-radius:14px;background:#FFFFFF;color:#2D3D4D;font:400 .82rem Manrope,sans-serif}
.account-auth-panel .button{width:100%;margin-top:7px}
.account-auth-panel small{color:#68727A;font-size:.63rem}
.account-auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:4px}
.account-auth-links button,.account-auth-panel>.text-action{padding:5px 0;border:0;background:transparent;color:#40576A;font:700 .65rem Manrope,sans-serif;text-decoration:underline;cursor:pointer}
.account-message{min-height:24px;margin:11px 0 0;color:#2F6B46;font-size:.72rem;font-weight:700}
.account-message.is-error{color:#B4232D}

.account-dashboard{padding-top:4px}
.dashboard-head{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:40px;align-items:end;margin-bottom:14px;padding:42px 44px;border-radius:30px;overflow:hidden;background:linear-gradient(125deg,#233543 0%,#31485a 68%,#3e5a6d 100%);color:#FFFFFF;box-shadow:0 22px 54px rgba(34,52,65,.17)}
.dashboard-head::before,.dashboard-head::after{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}
.dashboard-head::before{right:19%;bottom:-128px;width:280px;height:280px}.dashboard-head::after{right:-78px;top:-95px;width:230px;height:230px}
.dashboard-copy{max-width:720px}.dashboard-head .eyebrow{margin-bottom:10px;color:#C6E89B}.dashboard-head h2{margin:0;color:#FFFFFF;font-size:clamp(2.65rem,5.6vw,5.4rem);line-height:.92}.dashboard-description{max-width:650px;margin:18px 0 0;color:#ECF0F2;font-family:'Source Serif 4',Georgia,serif;font-size:1.03rem;line-height:1.55}
.dashboard-account-stamp{display:grid;gap:6px;align-content:end;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.dashboard-account-stamp span{color:#C6E89B;font-size:.54rem;font-weight:800;letter-spacing:.13em}.dashboard-account-stamp strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis}.dashboard-account-stamp small{color:#CFD8DE;font-size:.63rem;line-height:1.45}
.account-quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px;padding:7px;border:1px solid rgba(45,61,77,.12);border-radius:17px;background:rgba(255,255,255,.7)}
.account-quicklinks a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:8px 12px;border-radius:12px;color:#455560;font-size:.65rem;font-weight:800;text-decoration:none;transition:background .2s ease,color .2s ease}
.account-quicklinks a:hover{background:#FFFFFF;color:#A22835}.account-quicklinks span{color:#A22835;font-size:.54rem;letter-spacing:.08em}

.account-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}
.account-card{padding:30px;border:1px solid rgba(45,61,77,.12);border-radius:25px;background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(45,61,77,.065)}
.account-card-heading h3{margin:0 0 7px;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.06}.account-card-heading p{margin:0;color:#5C666D;font-size:.74rem;line-height:1.55}
.plan-card{grid-column:span 8;display:grid;gap:24px;min-height:326px;background:linear-gradient(145deg,#DFF3DF 0%,#F8FCF7 78%)}
.plan-card .account-card-heading h3{max-width:620px;font-family:'Source Serif 4',Georgia,serif;font-size:clamp(2.2rem,3.4vw,3.55rem)}
.plan-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid rgba(45,61,77,.13)}
.plan-overview>div{display:grid;gap:5px;padding:16px 18px 16px 0}.plan-overview>div+div{padding-left:18px;border-left:1px solid rgba(45,61,77,.13)}
.plan-overview span{color:#68727A;font-size:.52rem;font-weight:800;letter-spacing:.1em}.plan-overview strong{font-family:'Source Serif 4',Georgia,serif;font-size:1rem;line-height:1.25}
.plan-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;margin-top:auto}.plan-actions .button{width:100%;padding-inline:16px}
.plan-message:empty{display:none}.plan-message{margin:0}
.points-card{grid-column:span 4;display:flex;flex-direction:column;min-height:326px;background:linear-gradient(145deg,#FFE4E8,#FFF7E8)}
.points-balance{display:grid;gap:0;margin:4px 0 8px}.points-balance strong{color:#A22835;font-family:'Source Serif 4',Georgia,serif;font-size:5.6rem;line-height:.9}.points-balance small{margin-top:8px;color:#A22835;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.points-card>p{margin:16px 0 22px;color:#5C666D;font-size:.8rem;line-height:1.55}.points-card .text-action{align-self:flex-start;margin-top:auto;padding:0;border:0;background:transparent;color:#40576A;font:700 .7rem Manrope,sans-serif;text-decoration:underline;cursor:pointer}

.preferences-card{grid-column:1/-1;padding:0;overflow:hidden;background:rgba(255,255,255,.96)}
.club-editor-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:34px;align-items:end;padding:36px 38px 30px;border-bottom:1px solid #E0E2E3;background:linear-gradient(100deg,#FFF 30%,#F5F8F3)}
.club-editor-heading h3{max-width:720px;margin:0 0 9px;font-size:clamp(2rem,3.8vw,3.7rem);line-height:.98}.club-editor-heading p{max-width:700px;margin:0;color:#5C666D;font-size:.78rem;line-height:1.55}
.club-editor-side{display:grid;gap:12px}.club-editor-close{justify-self:end;padding:4px 0;border:0;background:transparent;color:#5D6770;font:700 .62rem Manrope,sans-serif;text-decoration:underline;cursor:pointer}
.club-editor-promise{padding:17px 18px;border-left:3px solid #87B05C;background:rgba(255,255,255,.7)}.club-editor-promise strong{display:block;margin-bottom:4px;color:#2F6B46}
.club-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding:34px 38px 38px}
.club-editor-controls{display:grid;gap:32px;min-width:0}.club-editor-controls fieldset{min-width:0;margin:0;padding:0;border:0}
.club-editor-controls legend{display:flex;width:100%;align-items:center;gap:13px;margin:0 0 15px;padding:0;color:#2D3D4D}.club-editor-controls legend>span:first-child{display:grid;flex:none;width:32px;height:32px;place-items:center;border-radius:50%;background:#EAF4DE;color:#2F6B46;font-size:.61rem;font-weight:800}.club-editor-controls legend>span:nth-child(2){display:grid;gap:1px}.club-editor-controls legend strong{font-family:'Source Serif 4',Georgia,serif;font-size:1.18rem}.club-editor-controls legend small{color:#68727A;font:.61rem Manrope,sans-serif}
.frequency-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.frequency-options label,.pack-selector label{position:relative;cursor:pointer}.frequency-options input,.pack-selector input{position:absolute;opacity:0;pointer-events:none}.frequency-options label>span,.pack-selector label>span{display:grid;gap:4px;height:100%;min-height:105px;padding:16px;border:1px solid #CCD1D4;border-radius:16px;background:#FFFFFF;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.frequency-options label:hover>span,.pack-selector label:hover>span{transform:translateY(-2px);border-color:#8B979F}.frequency-options small,.pack-selector small{color:#A22835;font-size:.5rem;font-weight:800;letter-spacing:.1em}.frequency-options strong,.pack-selector strong{font-family:'Source Serif 4',Georgia,serif;font-size:1.05rem}.frequency-options em,.pack-selector em{color:#68727A;font-size:.58rem;font-style:normal;line-height:1.4}.frequency-options input:checked+span,.pack-selector input:checked+span{border-color:#2D3D4D;background:#2D3D4D;color:#FFFFFF;box-shadow:0 9px 22px rgba(45,61,77,.17)}.frequency-options input:checked+span small,.pack-selector input:checked+span small{color:#C6E89B}.frequency-options input:checked+span em,.pack-selector input:checked+span em{color:#E1E7EA}.frequency-options input:disabled+span,.pack-selector input:disabled+span{cursor:not-allowed;opacity:.48;transform:none}
.frequency-note{display:block;min-height:18px;margin-top:8px;color:#68727A;font-size:.59rem;line-height:1.4}
.pack-selector>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pack-selector label>span{min-height:96px}
.club-flavor-editor legend{justify-content:flex-start}.club-flavor-editor legend>b{margin-left:auto;padding:6px 9px;border-radius:999px;background:#FBE4E7;color:#A22835;font-size:.62rem}.club-flavor-editor legend>b.is-complete{background:#EAF4DE;color:#2F6B46}
.flavor-quantities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.flavor-quantity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:11px 12px;border:1px solid #D4D8DB;border-radius:14px;background:#FFFFFF}.flavor-identity{display:grid;min-width:0;gap:3px}.flavor-identity strong{overflow:hidden;font-size:.65rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.flavor-identity small{overflow:hidden;color:#68727A;font-size:.54rem;font-weight:400;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.flavor-stepper{display:grid;grid-template-columns:30px 28px 30px;align-items:center}.flavor-stepper button{width:30px;height:30px;padding:0;border:1px solid #C5C9CC;background:#F5F6F7;color:#2D3D4D;font-size:1rem;font-weight:800;cursor:pointer}.flavor-stepper button:disabled{cursor:not-allowed;opacity:.38}.flavor-stepper button:first-child{border-radius:9px 0 0 9px}.flavor-stepper button:last-child{border-radius:0 9px 9px 0}.flavor-stepper output{display:grid;height:30px;place-items:center;border-block:1px solid #C5C9CC;font-size:.7rem;font-weight:800}
.club-editor-summary{position:sticky;top:104px;display:flex;flex-direction:column;align-self:start;padding:25px;border-radius:21px;background:#2D3D4D;color:#FFFFFF;box-shadow:0 15px 34px rgba(45,61,77,.17)}
.club-editor-summary>span{color:#C6E89B}.club-editor-summary h4{margin:0 0 17px;color:#FFFFFF;font-size:1.7rem}.club-editor-summary dl{display:grid;margin:0 0 18px}.club-editor-summary dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14)}.club-editor-summary dt{color:#D5DDE1;font-size:.62rem}.club-editor-summary dd{margin:0;font-size:.66rem;font-weight:800;text-align:right}.club-editor-summary .summary-total{align-items:end;margin-top:5px;padding-top:15px;border-bottom:0}.club-editor-summary .summary-total dt{color:#FFFFFF;font-weight:800}.club-editor-summary .summary-total dd{color:#C6E89B;font-family:'Source Serif 4',Georgia,serif;font-size:1.6rem;line-height:1}
.club-editor-summary .button{width:100%;margin-top:auto;background:#FFFFFF;color:#2D3D4D}.club-editor-summary .button:hover{background:#C6E89B}.club-editor-summary>p{margin:12px 0 0;color:#D5DDE1;font-size:.58rem;line-height:1.45;text-align:center}
.preferences-card>.account-message{margin:0;padding:0 38px 24px}

.orders-card{grid-column:1/span 7;grid-row:span 2;min-height:100%}.profile-card,.password-card{grid-column:8/-1}
.profile-card{display:grid;gap:20px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-fields label,.password-fields label{font-size:.68rem;font-weight:800}.profile-fields input,.password-card input{display:block;margin-top:6px}.profile-field-wide{grid-column:1/-1}.profile-card>.button{width:100%}
.password-card{display:grid;gap:18px}.password-card>.button{width:100%}.password-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:18px;border-top:1px solid #D9DDE0}.password-fields>.button,.password-fields>.account-message{grid-column:1/-1}.password-fields>.button{width:100%}.password-fields .text-action{justify-self:center;grid-column:1/-1;padding:2px 0;border:0;background:transparent;color:#5D6770;font:700 .65rem Manrope,sans-serif;text-decoration:underline;cursor:pointer}
.account-orders ol{display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none}.account-orders li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #D9DDE0;border-radius:15px;background:#FFFFFF}.account-orders li>div:first-child{display:grid;gap:4px}.account-orders li strong{font-size:.76rem}.account-orders li span{color:#69737A;font-size:.65rem}.account-orders li .account-order-folio{width:max-content;padding:4px 7px;border-radius:999px;background:#EAF4DE;color:#2F6B46;font-weight:800;letter-spacing:.04em}.account-orders li>div:last-child{flex:none;font-size:.72rem;font-weight:800}.account-orders-empty{margin:20px 0 0;color:#68727A;font-size:.75rem}.receipt-recovery{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:18px}.receipt-recovery .account-message{margin:0}.receipt-recovery .button{flex:none}

.account-rewards-dialog{width:min(520px,calc(100% - 28px));padding:34px;border:0;border-radius:26px;color:#2D3D4D;box-shadow:0 30px 90px rgba(45,61,77,.35)}
.account-rewards-dialog::backdrop{background:rgba(7,27,49,.62);backdrop-filter:blur(7px)}
.account-rewards-dialog>button{position:absolute;right:18px;top:15px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid #CDD1D4;border-radius:50%;background:#FFFFFF;color:#2D3D4D;cursor:pointer}
.account-rewards-dialog>button svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.account-rewards-dialog>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #D7D9DC;font-size:.78rem}.account-rewards-dialog>p:last-child{margin:20px 0 0;color:#5D6770;font-size:.7rem}
.account-session-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:15px 18px;border-top:1px solid rgba(45,61,77,.15)}.account-session-actions p{margin:0;color:#68727A;font-size:.68rem}.account-signout{padding:8px;border:0;background:transparent;color:#5D6770;font-size:.7rem;font-weight:800;text-decoration:underline;cursor:pointer}

@media(max-width:980px){
  .dashboard-head{grid-template-columns:1fr;gap:26px}.dashboard-account-stamp{max-width:460px}
  .plan-card{grid-column:span 7}.points-card{grid-column:span 5}
  .club-editor-layout{grid-template-columns:1fr}.club-editor-summary{position:static}.club-editor-summary dl{grid-template-columns:1fr 1fr;column-gap:24px}.club-editor-summary .summary-total{grid-column:1/-1}.club-editor-summary .button{max-width:360px}
  .orders-card{grid-column:1/-1;grid-row:auto}.profile-card,.password-card{grid-column:span 6}
}
@media(max-width:760px){
  .account-access{grid-template-columns:1fr;gap:18px}.account-quicklinks{grid-template-columns:1fr}.account-quicklinks a{justify-content:flex-start}
  .plan-card,.points-card,.profile-card,.password-card{grid-column:1/-1}.frequency-options{grid-template-columns:1fr}.flavor-quantities{grid-template-columns:repeat(2,minmax(0,1fr))}
  .club-editor-heading{grid-template-columns:1fr}.club-editor-promise{border-left:0;border-top:3px solid #87B05C}
}
@media(max-width:620px){
  .account-header{min-height:68px;padding:6px 14px}.account-header .brand,.account-header .brand img{width:130px}.account-header .brand img{height:auto}
  .account-main{width:calc(100% - 28px);padding:48px 0 72px}.account-intro h1{font-size:clamp(3.2rem,17vw,5rem)}.account-access{padding:24px 18px;border-radius:21px}.account-auth-tabs button{padding-inline:8px}
  .dashboard-head{padding:30px 22px;border-radius:23px}.dashboard-head h2{font-size:clamp(2.8rem,14vw,4.6rem)}.dashboard-account-stamp{padding:16px}.account-grid{grid-template-columns:1fr}
  .account-card{padding:23px;border-radius:21px}.plan-card,.points-card{min-height:0}.plan-overview{grid-template-columns:1fr}.plan-overview>div{padding:13px 0}.plan-overview>div+div{padding-left:0;border-top:1px solid rgba(45,61,77,.13);border-left:0}.plan-actions{grid-template-columns:1fr}
  .club-editor-heading{padding:28px 22px 24px}.club-editor-layout{padding:25px 22px 28px}.club-editor-controls{gap:27px}.pack-selector>div,.flavor-quantities{grid-template-columns:1fr}.club-editor-summary dl{grid-template-columns:1fr}.club-editor-summary .summary-total{grid-column:auto}.club-editor-summary .button{max-width:none}.preferences-card>.account-message{padding-inline:22px}
  .profile-fields,.password-fields{grid-template-columns:1fr}.profile-field-wide,.password-fields>.button,.password-fields>.account-message,.password-fields .text-action{grid-column:auto}.account-orders li{align-items:flex-start;flex-direction:column;gap:8px}.receipt-recovery,.account-session-actions{align-items:stretch;flex-direction:column}.receipt-recovery .button{width:100%}
}

@media(prefers-reduced-motion:reduce){.frequency-options label>span,.pack-selector label>span{transition:none}}
