/* ==========================================================================
   Elevate Science - Custom My Account dashboard
   Brand tokens: ink #0B1220 / royal #1B4DFF / deep #1B3ACC
   tints #EAF0FF #F2F6FF #F5F8FF / border #E3E6EC / muted #5A6474
   Font: Montserrat (already enqueued sitewide)
   ========================================================================== */

.esacc{background:linear-gradient(180deg,#F3F6FC 0%,#F7F9FD 40%,#FFFFFF 100%);min-height:70vh;font-family:'Montserrat',system-ui,sans-serif;color:#0B1220;padding:0 0 80px;}
/* Break the blue panel out to the full viewport width, even if a parent
   wrapper is centered with a max-width. overflow-x is clipped on the page
   wrapper (below) so this never creates a horizontal scrollbar. */
.esacc{width:100vw;position:relative;left:50%;margin-left:-50vw;}
.esacc *{box-sizing:border-box;}
.esacc__inner{max-width:1180px;margin:0 auto;padding:44px 24px 0;}

/* Hide the theme's page hero ("My account" title + divider) on the account page. */
.woocommerce-account .vg-page-hero{display:none!important;}
/* Let our full-width dashboard sit flush; strip the content wrapper's padding. */
.woocommerce-account .vg-page-content-wrap,
.woocommerce-account .vg-page-content{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;}
/* The 100vw breakout on .esacc can add a horizontal scrollbar; clip it. */
.woocommerce-account #main-content,
.woocommerce-account .vg-page-content-wrap{overflow-x:hidden!important;}

/* ---------- Header: "Hello, name" ---------- */
.esacc-head{padding:48px 0 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.esacc-head__hi{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(30px,4vw,44px);line-height:1.03;letter-spacing:-.024em;margin:0 0 8px;color:#0B1220;}
.esacc-head__hi span{color:#1B4DFF;}
.esacc-head__meta{font-size:14px;color:#5A6474;margin:0;}
.esacc-head__meta strong{color:#0B1220;font-weight:600;}
.esacc-head__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.esacc-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 24px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:0;transition:background .15s,transform .12s,box-shadow .15s;line-height:1;}
.esacc-btn--primary{background:#1B4DFF;color:#fff;box-shadow:0 10px 24px rgba(27,77,255,.26);}
.esacc-btn--primary:hover{background:#1540DB;color:#fff;transform:translateY(-1px);}
.esacc-btn--ghost{background:#fff;color:#0B1220;border:1px solid #E3E6EC;}
.esacc-btn--ghost:hover{border-color:#C4D4FF;color:#1B4DFF;}
.esacc-btn svg{width:16px;height:16px;}

/* ---------- Tab navigation ---------- */
.esacc-tabs{display:flex;gap:8px;overflow-x:auto;padding:6px 0 4px;margin:0 0 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.esacc-tabs::-webkit-scrollbar{display:none;}
.esacc-tab{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;background:#fff;border:1px solid #E3E6EC;border-radius:999px;padding:11px 20px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;color:#33415C;text-decoration:none;transition:all .15s;flex:none;}
.esacc-tab svg{width:17px;height:17px;color:#8695AD;transition:color .15s;}
.esacc-tab:hover{border-color:#C4D4FF;color:#1B4DFF;}
.esacc-tab:hover svg{color:#1B4DFF;}
.esacc-tab.is-active{background:#0B1220;border-color:#0B1220;color:#fff;}
.esacc-tab.is-active svg{color:#fff;}
.esacc-tab__soon{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:#EAF0FF;color:#1B4DFF;padding:3px 7px;border-radius:5px;line-height:1;}
.esacc-tab.is-active .esacc-tab__soon{background:rgba(255,255,255,.16);color:#fff;}

/* ---------- Stat cards ---------- */
.esacc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px;}
.esacc-stat{background:#fff;border:1px solid #E3E6EC;border-radius:16px;padding:22px 24px;box-shadow:0 6px 22px rgba(11,18,32,.05);}
.esacc-stat__label{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8695AD;margin:0 0 12px;}
.esacc-stat__val{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;color:#0B1220;line-height:1;}
.esacc-stat__val--blue{color:#1B4DFF;}
.esacc-stat__val--sm{font-size:22px;padding-top:4px;}
.esacc-stat__sub{font-size:12.5px;color:#5A6474;margin:6px 0 0;}

/* ---------- Content panels ---------- */
.esacc-panel{background:#fff;border:1px solid #E3E6EC;border-radius:16px;padding:28px 30px;box-shadow:0 6px 22px rgba(11,18,32,.05);margin:0 0 22px;}
.esacc-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;}
.esacc-panel__title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.01em;color:#0B1220;margin:0;}
.esacc-panel__link{font-size:13.5px;font-weight:700;color:#1B4DFF;text-decoration:none;}
.esacc-panel__link:hover{text-decoration:underline;}

/* ---------- Empty state ---------- */
.esacc-empty{text-align:center;padding:34px 20px;}
.esacc-empty__ico{width:52px;height:52px;margin:0 auto 16px;border-radius:14px;background:#EEF3FF;display:flex;align-items:center;justify-content:center;color:#1B4DFF;}
.esacc-empty__ico svg{width:26px;height:26px;}
.esacc-empty__title{font-size:16px;font-weight:700;color:#0B1220;margin:0 0 6px;}
.esacc-empty__sub{font-size:14px;color:#5A6474;margin:0 0 20px;}

/* ---------- Orders table ---------- */
.esacc-orders{width:100%;border-collapse:collapse;font-size:14px;}
.esacc-orders th{text-align:left;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8695AD;padding:0 12px 14px;border-bottom:1px solid #E3E6EC;}
.esacc-orders td{padding:16px 12px;border-bottom:1px solid #F0F2F6;color:#0B1220;vertical-align:middle;}
.esacc-orders tr:last-child td{border-bottom:0;}
.esacc-orders__num{font-weight:700;color:#0B1220;text-decoration:none;}
.esacc-orders__num:hover{color:#1B4DFF;}
.esacc-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;line-height:1;}
.esacc-status--processing{background:#EAF0FF;color:#1B4DFF;}
.esacc-status--completed{background:#E5F6EF;color:#12875A;}
.esacc-status--on-hold{background:#FFF4E0;color:#B57A12;}
.esacc-status--pending{background:#F0F2F6;color:#5A6474;}
.esacc-status--cancelled,.esacc-status--failed,.esacc-status--refunded{background:#FBE9E9;color:#C0392B;}
.esacc-orders__view{font-size:13px;font-weight:700;color:#1B4DFF;text-decoration:none;}
.esacc-orders__view:hover{text-decoration:underline;}
.esacc-orders__actions{text-align:right;white-space:nowrap;}
.esacc-orders__actions>*{vertical-align:middle;}

/* Track button - dashboard table (.esacc-track) and Orders tab (.button.track) */
.esacc-track,.esacc .woocommerce-button.button.track{display:inline-flex;align-items:center;gap:6px;background:#EAF0FF!important;color:#1B4DFF!important;border:1px solid #C4D4FF!important;border-radius:999px!important;padding:8px 15px!important;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;text-decoration:none;line-height:1;margin-right:10px;box-shadow:none!important;transition:background .15s,border-color .15s;}
.esacc-track:hover,.esacc .woocommerce-button.button.track:hover{background:#DCE8FF!important;border-color:#9FBEFF!important;color:#1540DB!important;}
.esacc-track svg{width:15px;height:15px;}

/* ---------- Quick link cards (bottom of overview) ---------- */
.esacc-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.esacc-qcard{display:block;background:#fff;border:1px solid #E3E6EC;border-radius:16px;padding:24px;text-decoration:none;transition:border-color .15s,transform .12s,box-shadow .15s;box-shadow:0 6px 22px rgba(11,18,32,.05);}
.esacc-qcard:hover{border-color:#C4D4FF;transform:translateY(-2px);box-shadow:0 12px 30px rgba(27,77,255,.12);}
.esacc-qcard__ico{width:44px;height:44px;border-radius:12px;background:#EEF3FF;display:flex;align-items:center;justify-content:center;color:#1B4DFF;margin:0 0 16px;}
.esacc-qcard__ico svg{width:22px;height:22px;}
.esacc-qcard__title{font-size:15.5px;font-weight:700;color:#0B1220;margin:0 0 5px;}
.esacc-qcard__sub{font-size:13.5px;line-height:1.5;color:#5A6474;margin:0;}

/* ---------- Stub / coming-soon panel ---------- */
.esacc-stub{text-align:center;padding:56px 24px;}
.esacc-stub__badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#EAF0FF;color:#1B4DFF;padding:6px 14px;border-radius:999px;margin:0 0 18px;}
.esacc-stub__title{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.01em;color:#0B1220;margin:0 0 10px;}
.esacc-stub__sub{font-size:15px;line-height:1.6;color:#5A6474;max-width:30rem;margin:0 auto;}

/* ---------- WooCommerce content reset inside our panels ---------- */
.esacc .woocommerce-MyAccount-content{width:100%;padding:0;margin:0;}
.esacc .woocommerce-Address,.esacc address{font-size:14px;line-height:1.7;color:#33415C;}
.esacc .woocommerce form .form-row label{font-size:12px!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase;color:#5A6474!important;}
.esacc .woocommerce form .form-row input.input-text,.esacc .woocommerce form .form-row input[type=text],.esacc .woocommerce form .form-row input[type=email],.esacc .woocommerce form .form-row input[type=tel],.esacc .woocommerce form .form-row input[type=password]{width:100%;padding:14px 16px;border:1px solid #E3E6EC;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:15px;color:#0B1220;background:#fff;}
.esacc .woocommerce form .form-row input:focus{border-color:#1B4DFF;outline:none;box-shadow:0 0 0 4px rgba(27,77,255,.10);}
.esacc .woocommerce button.button,.esacc .woocommerce a.button,.esacc .woocommerce input.button{background:#1B4DFF!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 34px!important;font-family:'Montserrat',sans-serif!important;font-size:14.5px!important;font-weight:700!important;box-shadow:0 10px 24px rgba(27,77,255,.24);transition:background .15s;}
.esacc .woocommerce button.button:hover,.esacc .woocommerce a.button:hover,.esacc .woocommerce input.button:hover{background:#1540DB!important;}
.esacc .woocommerce-message,.esacc .woocommerce-info,.esacc .woocommerce-error{border-radius:12px;font-size:14px;border-top:0;}

/* Hide the default WooCommerce account navigation (we render our own tabs). */
.esacc .woocommerce-MyAccount-navigation{display:none!important;}
.esacc .woocommerce-account .woocommerce{display:block;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .esacc-stats{grid-template-columns:repeat(2,1fr);}
  .esacc-quick{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .esacc__inner{padding:0 16px;}
  /* Tuck the action buttons right under the name, add a hairline divider. */
  .esacc-head{padding:28px 0 18px;margin-bottom:20px;gap:16px;border-bottom:1px solid #E7ECF5;justify-content:flex-start;}
  .esacc-head__actions{margin-top:2px;width:100%;}
  .esacc-stats{grid-template-columns:1fr 1fr;gap:12px;}
  .esacc-stat{padding:18px 18px;}
  .esacc-stat__val{font-size:25px;}
  .esacc-panel{padding:22px 20px;}
  .esacc-orders th:nth-child(2),.esacc-orders td:nth-child(2){display:none;}
}

/* ==========================================================================
   Name-capture onboarding screen (new signups)
   ========================================================================== */
.esob{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;font-family:'Montserrat',system-ui,sans-serif;background:linear-gradient(180deg,#DCE8FF 0%,#E7EFFF 34%,#F5F8FF 70%,#FFFFFF 100%);}
.esob__card{width:100%;max-width:520px;}
.esob__eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1B4DFF;margin:0 0 14px;}
.esob__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(30px,5vw,42px);line-height:1.05;letter-spacing:-.026em;color:#0B1220;margin:0 0 12px;}
.esob__sub{font-size:15px;line-height:1.6;color:#5A6474;margin:0 0 28px;}
.esob__input{width:100%;padding:18px 20px;border:1px solid #D5DEEF;border-radius:14px;background:#fff;font-family:'Montserrat',sans-serif;font-size:16px;font-weight:500;color:#0B1220;margin:0 0 16px;}
.esob__input:focus{border-color:#1B4DFF;outline:none;box-shadow:0 0 0 4px rgba(27,77,255,.12);}
.esob__btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#1B4DFF;color:#fff;border:0;border-radius:14px;padding:18px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 12px 28px rgba(27,77,255,.28);transition:background .15s,transform .12s;}
.esob__btn:hover{background:#1540DB;transform:translateY(-1px);}
.esob__btn svg{width:18px;height:18px;}
.esob__skip{display:block;text-align:center;margin:18px 0 0;font-size:14px;font-weight:600;color:#5A6474;text-decoration:underline;background:none;border:0;width:100%;cursor:pointer;font-family:'Montserrat',sans-serif;}
.esob__skip:hover{color:#1B4DFF;}
