/* =========================================================================
   CurvCraft — My Account  (premium redesign)
   Brand tokens from Elementor global kit (id 9). Fonts (Gotu / Archivo) are
   already loaded site-wide by the theme.
   Scoped to .cc-myaccount / body.woocommerce-account so nothing leaks.
   ========================================================================= */
:root{
  --cc-ink:#181C22; --cc-espresso:#311B0F; --cc-blush:#FFE8E3; --cc-taupe:#C1BAB5;
  --cc-ivory:#FAF9F7; --cc-ivory-2:#FBF7F2; --cc-white:#fff;
  --cc-line:#E9E3DC; --cc-line-2:#F0EBE4; --cc-ink-60:#5A5F66; --cc-ink-40:#8A8F96;
  --cc-radius:16px; --cc-radius-sm:11px;
  --cc-shadow:0 1px 2px rgba(24,28,34,.04);
  --cc-maxw:1260px; --cc-side:250px;
}

/* =========================================================================
   1) THE WIDTH FIX  (root cause of the narrow column + whitespace)
   The Vamtam/Ativo theme wraps the [woocommerce_my_account] output in
   .vgblk-rw-wrapper.limit-wrapper, which clamps it to a narrow, centred
   content width *inside* our container. Neutralise those limiters and let
   our own centred 1260px container + grid control the layout.
   ========================================================================= */
.cc-myaccount{max-width:var(--cc-maxw);width:100%;margin:0 auto;padding:8px 24px 96px;
  font-family:'Archivo',system-ui,sans-serif;color:var(--cc-ink);box-sizing:border-box;}
.cc-myaccount .limit-wrapper,
.cc-myaccount .vgblk-rw-wrapper{
  max-width:none!important;width:100%!important;
  margin-left:0!important;margin-right:0!important;
  padding-left:0!important;padding-right:0!important;}
/* stop the Elementor post-content widget from clamping the account output */
.woocommerce-account .elementor-widget-theme-post-content>.elementor-widget-container{max-width:none;}
.cc-myaccount *,.cc-myaccount *::before,.cc-myaccount *::after{box-sizing:border-box;}

/* =========================================================================
   2) PAGE HEADER (slim, refined)
   ========================================================================= */
.cc-account-hero{margin:0 0 34px;}
.cc-account-hero .cc-inner{max-width:var(--cc-maxw);margin:0 auto;padding:34px 24px 0;}
.cc-account-hero .cc-crumbs{font-size:12px;letter-spacing:.4px;color:var(--cc-ink-40);margin-bottom:14px;}
.cc-account-hero .cc-crumbs a{color:var(--cc-ink-40);}
.cc-account-hero .cc-crumbs span{color:var(--cc-ink);}
.cc-account-hero h1{font-family:'Gotu',serif;font-weight:400;font-size:44px;line-height:1.12;margin:0;color:var(--cc-ink);letter-spacing:.4px;}

/* =========================================================================
   3) LAYOUT GRID  — 250px sidebar + flexible content
   ========================================================================= */
/* Only apply the sidebar grid when the account navigation is present
   (i.e. logged-in views). The logged-out login/register screen keeps its
   own two-column layout untouched. */
.cc-myaccount .woocommerce:has(.woocommerce-MyAccount-navigation){
  display:grid;grid-template-columns:var(--cc-side) minmax(0,1fr);gap:36px;align-items:start;}
.cc-myaccount .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-notices-wrapper{grid-column:1 / -1;}

/* =========================================================================
   4) SIDEBAR
   ========================================================================= */
.cc-myaccount .woocommerce-MyAccount-navigation{position:sticky;top:24px;background:var(--cc-white);
  border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:14px;box-shadow:var(--cc-shadow);}
.cc-side-user{display:flex;align-items:center;gap:13px;padding:12px 10px 16px;border-bottom:1px solid var(--cc-line-2);margin-bottom:10px;}
.cc-side-user .cc-avatar{width:48px;height:48px;border-radius:50%;background:var(--cc-blush);color:var(--cc-espresso);
  display:grid;place-items:center;font-family:'Gotu',serif;font-size:20px;flex:0 0 auto;text-transform:uppercase;}
.cc-side-user .cc-nm{font-weight:600;font-size:14.5px;line-height:1.3;}
.cc-side-user .cc-em{font-size:12px;color:var(--cc-ink-40);overflow:hidden;text-overflow:ellipsis;max-width:150px;white-space:nowrap;display:inline-block;}
.cc-myaccount .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.cc-myaccount .woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:12px;padding:11px 13px;
  border-radius:var(--cc-radius-sm);font-size:14px;font-weight:500;color:var(--cc-ink-60);text-decoration:none;
  transition:background .18s ease,color .18s ease;}
.cc-myaccount .woocommerce-MyAccount-navigation li a:hover{background:var(--cc-ivory-2);color:var(--cc-ink);}
.cc-myaccount .woocommerce-MyAccount-navigation li.is-active a{background:var(--cc-ink);color:#fff;}
.cc-myaccount .woocommerce-MyAccount-navigation li a svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 auto;opacity:.85;}
.cc-myaccount .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--cc-ink-40);margin-top:4px;border-top:1px solid var(--cc-line-2);border-radius:0 0 var(--cc-radius-sm) var(--cc-radius-sm);padding-top:14px;}
.cc-myaccount .woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:var(--cc-blush);color:var(--cc-espresso);}

/* =========================================================================
   5) CONTENT
   ========================================================================= */
.cc-myaccount .woocommerce-MyAccount-content{min-width:0;}
.cc-myaccount h2,.cc-myaccount h3{font-family:'Gotu',serif;font-weight:400;color:var(--cc-ink);}

/* welcome section */
.cc-welcome{margin:0 0 28px;}
.cc-welcome .cc-eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--cc-ink-40);font-weight:600;}
.cc-welcome h2{font-size:30px;margin:10px 0 0;letter-spacing:.3px;}
.cc-welcome p{margin:10px 0 0;color:var(--cc-ink-60);font-size:14.5px;max-width:60ch;}

/* quick-action cards */
.cc-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 34px;}
.cc-action{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:150px;
  background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:20px;
  box-shadow:var(--cc-shadow);text-decoration:none;color:var(--cc-ink);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.cc-action:hover{transform:translateY(-3px);border-color:var(--cc-taupe);box-shadow:0 14px 34px -20px rgba(24,28,34,.28);}
.cc-action .cc-ic{width:42px;height:42px;border-radius:12px;background:var(--cc-ivory-2);display:grid;place-items:center;}
.cc-action .cc-ic svg{width:21px;height:21px;stroke:var(--cc-espresso);fill:none;stroke-width:1.6;}
.cc-action .cc-a-body .cc-a-value{font-family:'Gotu',serif;font-size:28px;line-height:1;}
.cc-action .cc-a-body .cc-a-label{font-size:13px;color:var(--cc-ink-60);margin-top:6px;letter-spacing:.3px;}
.cc-action .cc-a-body .cc-a-value.is-text{font-size:19px;}
.cc-action .cc-a-cta{font-size:12px;letter-spacing:.6px;text-transform:uppercase;font-weight:600;color:var(--cc-ink-40);display:inline-flex;align-items:center;gap:6px;margin-top:2px;}
.cc-action:hover .cc-a-cta{color:var(--cc-espresso);}

/* section block (recent orders etc.) */
.cc-block{background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);overflow:hidden;margin:0 0 22px;}
.cc-block-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--cc-line-2);}
.cc-block-head h3{font-size:21px;}
.cc-block-head a.cc-more{font-size:12px;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:var(--cc-ink-60);text-decoration:none;}
.cc-block-head a.cc-more:hover{color:var(--cc-espresso);}
.cc-block-body{padding:6px 24px 22px;}

/* tables (orders / downloads / order details) */
.cc-myaccount table.shop_table,.cc-myaccount .woocommerce-orders-table,.cc-myaccount table.cc-orders{
  width:100%;border-collapse:collapse;font-size:14px;background:transparent;border:0;margin:0;}
.cc-myaccount table.cc-orders{background:transparent;}
.cc-myaccount .cc-block table.cc-orders th{text-align:left;font-weight:600;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--cc-ink-40);padding:14px 12px;border-bottom:1px solid var(--cc-line-2);}
.cc-myaccount .cc-block table.cc-orders td{padding:16px 12px;border-bottom:1px solid var(--cc-line-2);vertical-align:middle;}
.cc-myaccount .cc-block table.cc-orders tr:last-child td{border-bottom:0;}
.cc-myaccount table.cc-orders td.num{font-weight:600;}

/* standalone WooCommerce tables (Orders endpoint page) get the card treatment */
.cc-myaccount .woocommerce-MyAccount-content>.woocommerce-orders-table,
.cc-myaccount .woocommerce-MyAccount-content table.shop_table{
  border:1px solid var(--cc-line);border-radius:var(--cc-radius);overflow:hidden;box-shadow:var(--cc-shadow);}
.cc-myaccount table.shop_table thead th{background:var(--cc-ivory-2);text-transform:uppercase;font-size:11px;letter-spacing:1.4px;color:var(--cc-ink-40);font-weight:600;padding:16px;border-bottom:1px solid var(--cc-line);text-align:left;}
.cc-myaccount table.shop_table td{padding:16px;border-bottom:1px solid var(--cc-line-2);}
.cc-myaccount table.shop_table tbody tr:last-child td{border-bottom:0;}

/* status pills */
.cc-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.4px;padding:4px 11px;border-radius:20px;text-transform:capitalize;}
.cc-tag.completed{background:#E7F0E9;color:#2F6B45;}
.cc-tag.processing,.cc-tag.on-hold{background:var(--cc-blush);color:var(--cc-espresso);}
.cc-tag.pending,.cc-tag.pending-payment{background:#F3EEE7;color:#8A6A45;}
.cc-tag.cancelled,.cc-tag.failed,.cc-tag.refunded{background:#F4E7E4;color:#8A3B2B;}

/* empty state */
.cc-empty{text-align:center;padding:52px 24px;}
.cc-empty .cc-ic{width:56px;height:56px;border-radius:16px;background:var(--cc-ivory-2);display:grid;place-items:center;margin:0 auto 18px;}
.cc-empty .cc-ic svg{width:26px;height:26px;stroke:var(--cc-taupe);fill:none;stroke-width:1.5;}
.cc-empty h3{font-size:22px;margin:0 0 8px;}
.cc-empty p{color:var(--cc-ink-60);font-size:14px;margin:0 auto 22px;max-width:42ch;}

/* addresses */
.cc-myaccount address{font-style:normal;font-size:14px;color:var(--cc-ink-60);line-height:1.75;background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:20px 22px;box-shadow:var(--cc-shadow);}
.cc-myaccount .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px;}
.cc-myaccount .woocommerce-Address{background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:22px 24px;box-shadow:var(--cc-shadow);}
.cc-myaccount .woocommerce-Address address{border:0;padding:0;box-shadow:none;background:none;}
.cc-myaccount .woocommerce-Address .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cc-myaccount .woocommerce-Address .woocommerce-Address-title h3{font-size:20px;}
.cc-myaccount .woocommerce-Address .edit{font-size:12px;font-weight:600;color:var(--cc-espresso);text-transform:uppercase;letter-spacing:.4px;text-decoration:none;}

/* =========================================================================
   6) BUTTONS
   ========================================================================= */
.cc-myaccount .button,.cc-myaccount .woocommerce-Button,.cc-myaccount button[type="submit"],.cc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Archivo',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:12px 24px;border-radius:40px;
  border:1px solid var(--cc-ink);background:var(--cc-ink);color:#fff;cursor:pointer;line-height:1;text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease;}
.cc-myaccount .button:hover,.cc-myaccount .woocommerce-Button:hover,.cc-myaccount button[type="submit"]:hover,.cc-btn:hover{background:var(--cc-espresso);border-color:var(--cc-espresso);color:#fff;}
.cc-btn.ghost{background:transparent;color:var(--cc-ink);}
.cc-btn.ghost:hover{background:var(--cc-ink);color:#fff;}
.cc-myaccount .woocommerce-orders-table .button,.cc-myaccount table.cc-orders .cc-btn{background:transparent;color:var(--cc-ink);padding:8px 16px;font-size:12px;}
.cc-myaccount .woocommerce-orders-table .button:hover,.cc-myaccount table.cc-orders .cc-btn:hover{background:var(--cc-ink);color:#fff;}

/* =========================================================================
   7) FORMS  (account details / addresses / login / register)
   ========================================================================= */
.cc-myaccount form{max-width:660px;}
.cc-myaccount .woocommerce-EditAccountForm,.cc-myaccount .woocommerce-address-fields{background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:28px 30px;box-shadow:var(--cc-shadow);max-width:660px;}
.cc-myaccount .form-row,.cc-myaccount p.woocommerce-form-row{margin:0 0 18px;display:block;}
.cc-myaccount label{display:block;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--cc-ink-40);margin-bottom:8px;font-weight:600;}
.cc-myaccount .woocommerce-form__label-for-checkbox{text-transform:none;letter-spacing:.2px;color:var(--cc-ink-60);font-weight:400;display:flex;align-items:center;gap:9px;}
.cc-myaccount input[type="text"],.cc-myaccount input[type="email"],.cc-myaccount input[type="password"],
.cc-myaccount input[type="tel"],.cc-myaccount select,.cc-myaccount textarea,.cc-myaccount .input-text{
  width:100%;font-family:'Archivo',sans-serif;font-size:14px;color:var(--cc-ink);padding:12px 14px;background:var(--cc-ivory);
  border:1px solid var(--cc-line);border-radius:var(--cc-radius-sm);outline:none;transition:border-color .16s ease,background .16s ease;}
.cc-myaccount input:focus,.cc-myaccount select:focus,.cc-myaccount textarea:focus{border-color:var(--cc-ink);background:#fff;}
.cc-myaccount fieldset{border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:20px 22px;margin:26px 0 0;}
.cc-myaccount fieldset legend{font-family:'Gotu',serif;font-size:18px;padding:0 8px;}
@media(min-width:720px){
  .cc-myaccount .woocommerce-form-row--first{width:calc(50% - 10px);float:left;margin-right:20px;}
  .cc-myaccount .woocommerce-form-row--last{width:calc(50% - 10px);float:left;}
  .cc-myaccount .woocommerce-EditAccountForm .clear{clear:both;}
}

/* login / register split */
.cc-myaccount .u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;}
.cc-myaccount .u-column1,.cc-myaccount .u-column2{width:auto!important;float:none!important;background:var(--cc-white);
  border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:28px 30px 32px;box-shadow:var(--cc-shadow);margin:0;}
.cc-myaccount .u-column1 h2,.cc-myaccount .u-column2 h2{font-size:22px;margin:0 0 20px;}
.cc-myaccount .woocommerce-form-login__rememberme{margin:6px 0 18px;}

/* =========================================================================
   8) NOTICES
   ========================================================================= */
.cc-myaccount .woocommerce-message,.cc-myaccount .woocommerce-info,.cc-myaccount .woocommerce-error{
  border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:14px 18px;font-size:14px;list-style:none;margin:0 0 22px;background:var(--cc-ivory-2);}
.cc-myaccount .woocommerce-message{border-left:3px solid #2F6B45;}
.cc-myaccount .woocommerce-info{border-left:3px solid var(--cc-taupe);}
.cc-myaccount .woocommerce-error{border-left:3px solid #B4442E;background:var(--cc-blush);}

/* =========================================================================
   9) RESPONSIVE
   Desktop: 250px + fluid content.  Tablet: cards 2-col.  Mobile: stacked.
   ========================================================================= */
@media(max-width:1024px){
  .cc-actions{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .cc-account-hero h1{font-size:34px;}
  .cc-myaccount .woocommerce{grid-template-columns:1fr;gap:24px;}
  .cc-myaccount .woocommerce-MyAccount-navigation{position:static;}
  .cc-myaccount .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
  .cc-myaccount .woocommerce-MyAccount-navigation li{flex:1 1 auto;}
  .cc-myaccount .woocommerce-MyAccount-navigation-link--customer-logout a{border-top:0;padding-top:11px;}
  .cc-myaccount .woocommerce-Addresses,.cc-myaccount .u-columns.col2-set{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .cc-actions{grid-template-columns:1fr;}
  .cc-myaccount{padding:8px 16px 72px;}
  .cc-account-hero .cc-inner{padding:24px 16px 0;}
  .cc-block-body,.cc-block-head{padding-left:16px;padding-right:16px;}
}
