/**
 * CoreVionRX — My Account Page CSS
 * Standalone, loaded only on is_account_page() pages.
 * Toggle the enqueue snippet OFF to revert to WC defaults.
 *
 * Color palette (matches site):
 *   Navy   #1a202c   primary text + buttons
 *   Blue   #2563eb   accents, links, focus, hover
 *   Slate  #475569   labels, secondary text
 *   Border #e2e8f0   card borders, dividers
 *   Bg     #f7fafc   light background tint
 */

/* ===== PAGE WRAP ===== */
.woocommerce-account .woocommerce { max-width: 1100px; margin: 0 auto; padding: 48px 24px 80px; }
.woocommerce-account .woocommerce > h1,
.woocommerce-account .acct-title { font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif; font-size: 32px; font-weight: 800; color: #1a202c; margin: 0 0 8px; text-align: center; }
.woocommerce-account .acct-lead { text-align: center; color: #64748b; font-size: 15px; margin: 0 0 40px; }

/* ===== LOGGED-OUT: TWO-COLUMN GRID ===== */
.woocommerce-account .acct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; margin: 0; }

/* ===== CARD ===== */
.woocommerce-account .acct-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 32px; box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04); }
.woocommerce-account .acct-card h2 { font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif; font-size: 22px; font-weight: 700; color: #1a202c; margin: 0 0 6px; }
.woocommerce-account .acct-card .acct-sub { color: #64748b; font-size: 14px; margin: 0 0 24px; }

/* ===== GOOGLE BUTTON SLOT ===== */
.woocommerce-account .acct-google-slot { margin-bottom: 20px; }
.woocommerce-account .acct-google-slot .googlesitekit-sign-in-with-google__frontend-output-button { width: 100% !important; display: flex !important; justify-content: center !important; }

/* ===== DIVIDER ===== */
.woocommerce-account .acct-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #94a3b8; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; }
.woocommerce-account .acct-divider::before,
.woocommerce-account .acct-divider::after { content: ''; flex: 1; height: 1px; background: #e2e8f0; }

/* ===== FORM ROWS — full reset over WC defaults ===== */
.woocommerce-account .acct-card .form-row,
.woocommerce-account .acct-card .woocommerce-form-row {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

/* Side-by-side First / Last name only */
.woocommerce-account .acct-card .form-row-first,
.woocommerce-account .acct-card .form-row-last { display: block !important; float: left !important; width: calc(50% - 8px) !important; clear: none !important; }
.woocommerce-account .acct-card .form-row-first { margin-right: 16px !important; }
.woocommerce-account .acct-card .clear { clear: both !important; display: block !important; height: 0 !important; }

/* Labels */
.woocommerce-account .acct-card .form-row > label {
  display: block !important;
  width: 100% !important;
  float: none !important;
  text-align: left !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
.woocommerce-account .acct-card .required { color: #ef4444 !important; text-decoration: none !important; margin-left: 2px !important; }

/* Inputs */
.woocommerce-account .acct-card .form-row > input.input-text,
.woocommerce-account .acct-card .form-row > input[type="text"],
.woocommerce-account .acct-card .form-row > input[type="email"],
.woocommerce-account .acct-card .form-row > input[type="password"] {
  display: block !important;
  width: 100% !important;
  float: none !important;
  height: 48px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #1a202c !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.woocommerce-account .acct-card .form-row > input:hover { border-color: #cbd5e1 !important; }
.woocommerce-account .acct-card .form-row > input:focus { outline: none !important; border-color: #2563eb !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important; }
.woocommerce-account .acct-card input::placeholder { color: #94a3b8 !important; }

/* Remember-me + lost row */
.woocommerce-account .acct-card .acct-opts { display: flex; align-items: center; justify-content: space-between; margin: 0 0 24px; flex-wrap: wrap; gap: 12px; }
.woocommerce-account .acct-card .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  margin: 0 !important;
}
.woocommerce-account .acct-card .woocommerce-form-login__rememberme input[type="checkbox"] { width: 16px !important; height: 16px !important; margin: 0 !important; accent-color: #2563eb; }
.woocommerce-account .acct-card .lost_password { margin: 0 !important; padding: 0 !important; }
.woocommerce-account .acct-card .lost_password a { font-size: 13px; font-weight: 600; color: #2563eb; transition: color 0.15s; }
.woocommerce-account .acct-card .lost_password a:hover { color: #1d4ed8; text-decoration: underline; }

/* Submit buttons */
.woocommerce-account .acct-card button[name="login"],
.woocommerce-account .acct-card button[name="register"],
.woocommerce-account .acct-card .woocommerce-form-login__submit,
.woocommerce-account .acct-card .woocommerce-form-register__submit {
  display: block !important;
  width: 100% !important;
  padding: 14px 24px !important;
  background: #1a202c !important;
  color: #fff !important;
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  border: none !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  transition: all 0.15s !important;
  box-shadow: 0 4px 12px rgba(26,32,44,0.15) !important;
}
.woocommerce-account .acct-card button[name="login"]:hover,
.woocommerce-account .acct-card button[name="register"]:hover { background: #2563eb !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37,99,235,0.25) !important; }

/* Privacy policy text */
.woocommerce-account .acct-card .woocommerce-privacy-policy-text { background: #f7fafc; border-radius: 10px; padding: 12px 14px; font-size: 12px; color: #64748b; line-height: 1.55; margin: 0 0 20px; }
.woocommerce-account .acct-card .woocommerce-privacy-policy-text a { color: #2563eb; font-weight: 600; }

/* Trust row */
.woocommerce-account .acct-trust { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; font-size: 11px; color: #94a3b8; font-weight: 500; }
.woocommerce-account .acct-trust .item { display: flex; align-items: center; gap: 5px; }
.woocommerce-account .acct-trust svg { width: 14px; height: 14px; }

/* ===== LOGGED-IN: SIDEBAR + CONTENT GRID ===== */
.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; max-width: 1100px; padding: 48px 24px 80px; }
.woocommerce-account.logged-in > h1,
.woocommerce-account.logged-in .acct-title,
.woocommerce-account.logged-in .acct-lead { display: none; }

/* Sidebar nav */
.woocommerce-account .woocommerce-MyAccount-navigation { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  transition: all 0.15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a svg { width: 16px; height: 16px; opacity: 0.7; flex-shrink: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: #f7fafc; color: #1a202c; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: #1a202c; color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a svg { opacity: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li--customer-logout a { color: #ef4444; margin-top: 8px; padding-top: 14px; border-top: 1px solid #f1f5f9; border-radius: 0 0 8px 8px; }

/* Content panel */
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 32px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif; color: #1a202c; margin: 0 0 8px; }
.woocommerce-account .woocommerce-MyAccount-content > p { color: #475569; font-size: 14px; line-height: 1.65; margin: 0 0 24px; }
.woocommerce-account .woocommerce-MyAccount-content a { color: #2563eb; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content a:hover { color: #1d4ed8; }

/* Dashboard greeting */
.woocommerce-account .acct-greeting { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 700; color: #1a202c; margin: 0 0 8px; }

/* Dashboard cards */
.woocommerce-account .acct-dash-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-account .acct-dash-card {
  display: block;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 18px;
  text-decoration: none !important;
  color: inherit !important;
  transition: all 0.15s;
  font-weight: 400 !important;
}
.woocommerce-account .acct-dash-card:hover { border-color: #2563eb; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(37,99,235,0.08); }
.woocommerce-account .acct-dash-card h3 { font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 700; color: #1a202c; margin: 0 0 4px; }
.woocommerce-account .acct-dash-card p { font-size: 12px; color: #64748b; margin: 0; }
.woocommerce-account .acct-dash-card .icon { width: 36px; height: 36px; background: #2563eb; color: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.woocommerce-account .acct-dash-card .icon svg { width: 18px; height: 18px; }

/* WC tables (orders list etc.) */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-account .woocommerce-MyAccount-content table th { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 1px; padding: 12px; border-bottom: 2px solid #e2e8f0; text-align: left; }
.woocommerce-account .woocommerce-MyAccount-content table td { font-size: 14px; color: #1a202c; padding: 14px 12px; border-bottom: 1px solid #f1f5f9; }
.woocommerce-account .woocommerce-MyAccount-content table .button { display: inline-block; padding: 6px 12px; background: #2563eb; color: #fff; border-radius: 8px; font-size: 12px; font-weight: 600; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content table .button:hover { background: #1d4ed8; color: #fff; }

/* ===== MOBILE ===== */
@media (max-width: 820px) {
  .woocommerce-account .woocommerce { padding: 24px 16px 60px; }
  .woocommerce-account .acct-grid { grid-template-columns: 1fr; gap: 20px; }
  .woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .acct-card { padding: 24px; }
  .woocommerce-account .acct-card .form-row-first,
  .woocommerce-account .acct-card .form-row-last { float: none !important; width: 100% !important; margin-right: 0 !important; }
  .woocommerce-account .acct-dash-cards { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce > h1, .woocommerce-account .acct-title { font-size: 26px; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 24px; }
}

/* ============================================================
   DASHBOARD (slot-based) — appended to my-account.css
   All selectors prefixed with .cvx-dash so they only apply
   inside our slot-based dashboard template.
   ============================================================ */

.cvx-dash { display: flex; flex-direction: column; gap: 20px; }

/* Slot containers */
.cvx-slot { display: contents; }
.cvx-slot--hero    > * + * { margin-top: 16px; }
.cvx-slot--stats   { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cvx-slot--actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cvx-slot--widgets { display: flex; flex-direction: column; gap: 20px; }
.cvx-slot--footer  { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }

/* ===== HERO ===== */
.cvx-dash .cvx-hero {
  position: relative;
  background: linear-gradient(135deg, #1a202c, #2d3748);
  color: #fff; border-radius: 20px; padding: 32px 36px; overflow: hidden;
  box-shadow: 0 8px 32px rgba(26, 32, 44, 0.18);
}
.cvx-dash .cvx-hero::before { content: ''; position: absolute; top: -50%; right: -10%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(37, 99, 235, 0.35), transparent 60%); pointer-events: none; animation: cvx-drift 12s ease-in-out infinite; }
.cvx-dash .cvx-hero::after  { content: ''; position: absolute; bottom: -40%; left: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(59, 130, 246, 0.2), transparent 60%); pointer-events: none; animation: cvx-drift 16s ease-in-out infinite reverse; }
@keyframes cvx-drift { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(20px, 20px) scale(1.05); } }
.cvx-dash .cvx-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cvx-dash .cvx-hero h1 { font-family: 'Space Grotesk', system-ui, sans-serif; font-size: 30px; font-weight: 800; margin-bottom: 6px; letter-spacing: -0.5px; color: #fff; }
.cvx-dash .cvx-wave { display: inline-block; transform-origin: 70% 70%; animation: cvx-wave 1.8s ease-in-out 0.5s; }
@keyframes cvx-wave { 0%, 60%, 100% { transform: rotate(0deg); } 10%, 30% { transform: rotate(14deg); } 20%, 40% { transform: rotate(-8deg); } }
.cvx-dash .cvx-hero p { color: rgba(255, 255, 255, 0.7); font-size: 14px; max-width: 480px; }
.cvx-dash .cvx-hero-cta { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.15); backdrop-filter: blur(8px); border-radius: 12px; color: #fff !important; font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 600; transition: all 0.2s; white-space: nowrap; text-decoration: none; }
.cvx-dash .cvx-hero-cta:hover { background: #2563eb; border-color: #2563eb; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35); }
.cvx-dash .cvx-hero-cta svg { width: 16px; height: 16px; }

/* ===== STATS ===== */
.cvx-dash .cvx-stat { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 20px 22px; transition: all 0.25s; }
.cvx-dash .cvx-stat:hover { border-color: #2563eb; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 99, 235, 0.08); }
.cvx-dash .cvx-stat-label { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.cvx-dash .cvx-stat-label svg { width: 13px; height: 13px; }
.cvx-dash .cvx-stat-value { font-family: 'Space Grotesk', sans-serif; font-size: 28px; font-weight: 700; color: #1a202c; letter-spacing: -0.5px; }
.cvx-dash .cvx-stat-value .woocommerce-Price-amount { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; }

/* ===== SECTION HEAD ===== */
.cvx-dash .cvx-section-head { display: flex; align-items: center; justify-content: space-between; margin: 8px 4px 0; }
.cvx-dash .cvx-section-head h2 { font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 700; color: #1a202c; }
.cvx-dash .cvx-section-head a { font-size: 13px; font-weight: 600; color: #2563eb; display: inline-flex; align-items: center; gap: 4px; transition: gap 0.2s; text-decoration: none; }
.cvx-dash .cvx-section-head a:hover { color: #1d4ed8; gap: 6px; }

/* ===== ACTION CARDS ===== */
.cvx-dash .cvx-action-card { position: relative; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 24px; transition: all 0.3s cubic-bezier(.4, 0, .2, 1); overflow: hidden; cursor: pointer; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.cvx-dash .cvx-action-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(37, 99, 235, 0.08), transparent 60%); opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.cvx-dash .cvx-action-card:hover { border-color: rgba(37, 99, 235, 0.4); transform: translateY(-4px); box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(37, 99, 235, 0.1); }
.cvx-dash .cvx-action-card:hover::before { opacity: 1; }
.cvx-dash .cvx-icon { position: relative; width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; transition: all 0.3s; flex-shrink: 0; }
.cvx-dash .cvx-icon svg { width: 22px; height: 22px; position: relative; z-index: 1; color: #fff; }
.cvx-dash .cvx-icon::after { content: ''; position: absolute; inset: -4px; border-radius: 16px; background: inherit; filter: blur(12px); opacity: 0.35; z-index: 0; }
.cvx-dash .cvx-action-card:hover .cvx-icon { transform: scale(1.05) rotate(-2deg); }
.cvx-dash .cvx-icon--blue { background: linear-gradient(135deg, #2563eb, #3b82f6); }
.cvx-dash .cvx-icon--navy { background: linear-gradient(135deg, #1a202c, #2d3748); }
.cvx-dash .cvx-icon--mix  { background: linear-gradient(135deg, #1d4ed8, #6366f1); }
.cvx-dash .cvx-icon--deep { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.cvx-dash .cvx-action-card h3 { font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 700; color: #1a202c; margin-bottom: 6px; letter-spacing: -0.2px; }
.cvx-dash .cvx-action-card p { font-size: 13px; color: #64748b; line-height: 1.55; flex-grow: 1; margin-bottom: 16px; }
.cvx-dash .cvx-card-meta { display: flex; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid #eef2f7; }
.cvx-dash .cvx-pill { font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 100px; background: #f7fafc; color: #475569; }
.cvx-dash .cvx-pill--hot { background: linear-gradient(135deg, rgba(37,99,235,0.1), rgba(99,102,241,0.1)); color: #2563eb; }
.cvx-dash .cvx-arrow { margin-left: auto; width: 26px; height: 26px; border-radius: 50%; background: #f7fafc; display: flex; align-items: center; justify-content: center; transition: all 0.3s; flex-shrink: 0; }
.cvx-dash .cvx-arrow svg { width: 13px; height: 13px; color: #475569; transition: all 0.3s; }
.cvx-dash .cvx-action-card:hover .cvx-arrow { background: #2563eb; }
.cvx-dash .cvx-action-card:hover .cvx-arrow svg { color: #fff; transform: translateX(2px); }

/* Featured action card (spans 2 cols) */
.cvx-dash .cvx-action-card--featured { grid-column: span 2; padding: 28px 32px; background: linear-gradient(135deg, #fff, rgba(37,99,235,0.02)); }
.cvx-dash .cvx-action-card--featured .cvx-icon { width: 56px; height: 56px; }
.cvx-dash .cvx-action-card--featured h3 { font-size: 19px; }
.cvx-dash .cvx-featured-body { display: flex; gap: 32px; align-items: flex-start; flex-wrap: wrap; }
.cvx-dash .cvx-featured-text { flex: 1; min-width: 200px; }
.cvx-dash .cvx-product-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.cvx-dash .cvx-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; background: #f7fafc; border: 1px solid #e2e8f0; border-radius: 100px; font-size: 12px; font-weight: 600; color: #1a202c; transition: all 0.2s; }
.cvx-dash .cvx-action-card--featured:hover .cvx-chip { background: #fff; }
.cvx-dash .cvx-chip-count { background: rgba(37,99,235,0.15); color: #2563eb; padding: 2px 6px; border-radius: 100px; font-size: 10px; font-weight: 700; }

/* ===== ACTIVITY (recent orders) ===== */
.cvx-dash .cvx-activity-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; }
.cvx-dash .cvx-activity-list { list-style: none; padding: 0; margin: 0; }
.cvx-dash .cvx-activity-list li { padding: 14px 22px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #eef2f7; transition: background 0.15s; }
.cvx-dash .cvx-activity-list li:last-child { border-bottom: none; }
.cvx-dash .cvx-activity-list li:hover { background: #f7fafc; }
.cvx-dash .cvx-ico { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cvx-dash .cvx-ico svg { width: 16px; height: 16px; }
.cvx-dash .cvx-ico--ok   { background: rgba(16, 185, 129, 0.1); color: #10b981; }
.cvx-dash .cvx-ico--info { background: rgba(37, 99, 235, 0.1); color: #2563eb; }
.cvx-dash .cvx-ico--warn { background: rgba(245, 158, 11, 0.1); color: #f59e0b; }
.cvx-dash .cvx-activity-body { flex: 1; min-width: 0; }
.cvx-dash .cvx-activity-body strong { display: block; font-size: 14px; font-weight: 600; color: #1a202c; }
.cvx-dash .cvx-activity-body small  { display: block; font-size: 12px; color: #64748b; margin-top: 2px; }
.cvx-dash .cvx-amount { font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 700; color: #1a202c; }
.cvx-dash .cvx-amount .woocommerce-Price-amount { color: inherit; font-family: inherit; font-weight: inherit; }

/* Empty state */
.cvx-dash .cvx-empty { padding: 40px 22px; text-align: center; }
.cvx-dash .cvx-empty svg { width: 40px; height: 40px; color: #94a3b8; margin: 0 auto 12px; opacity: 0.5; display: block; }
.cvx-dash .cvx-empty strong { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 15px; color: #1a202c; margin-bottom: 4px; }
.cvx-dash .cvx-empty small { display: block; font-size: 13px; color: #64748b; margin-bottom: 16px; }
.cvx-dash .cvx-empty-cta { display: inline-block; padding: 10px 20px; background: #1a202c; color: #fff !important; font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600; border-radius: 10px; transition: all 0.2s; text-decoration: none; }
.cvx-dash .cvx-empty-cta:hover { background: #2563eb; }

/* ===== MOBILE ===== */
@media (max-width: 960px) {
  .cvx-dash .cvx-slot--stats   { grid-template-columns: 1fr; }
  .cvx-dash .cvx-slot--actions { grid-template-columns: 1fr; }
  .cvx-dash .cvx-action-card--featured { grid-column: span 1; }
  .cvx-dash .cvx-featured-body { flex-direction: column; }
  .cvx-dash .cvx-hero { padding: 24px; }
  .cvx-dash .cvx-hero h1 { font-size: 24px; }
}


/* ============================================================
   MY ACCOUNT LAYOUT FIX (appended)
   The page renders inside .entry-content > .woocommerce
   which has default WC floats. Override with proper grid.
   ============================================================ */

/* Make the page wrapper fill width and use grid */
.woocommerce-account .entry-content,
.woocommerce-account .site-main > article > .entry-content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100% !important;
}

/* Hide the default page title — we have our own hero greeting */
.woocommerce-account .entry-header { display: none !important; }

/* The .woocommerce wrapper is where sidebar + content live */
.woocommerce-account.logged-in .entry-content > .woocommerce {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 24px !important;
  align-items: start !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 24px 0 !important;
}

/* Kill any floats WC adds */
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Sidebar sits in column 1 */
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation {
  grid-column: 1 !important;
}

/* Content sits in column 2 */
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
  grid-column: 2 !important;
  min-width: 0 !important;
}

/* The dashboard fills the content column */
.woocommerce-account.logged-in .woocommerce-MyAccount-content > .cvx-dash {
  width: 100% !important;
  max-width: 100% !important;
}

/* The slots inside the dashboard fill width */
.cvx-dash .cvx-slot {
  width: 100%;
}
.cvx-dash .cvx-slot--stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
.cvx-dash .cvx-slot--actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; }

/* MOBILE: collapse to single column at 960px */
@media (max-width: 960px) {
  .woocommerce-account.logged-in .entry-content > .woocommerce {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation,
  .woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
    grid-column: 1 !important;
  }
  .cvx-dash .cvx-slot--stats   { grid-template-columns: 1fr; }
  .cvx-dash .cvx-slot--actions { grid-template-columns: 1fr; }
}

/* ============================================================
   ACCOUNT DETAILS SUB-PAGE (form-edit-account.php override)
   All selectors scoped under .cvx-acct to avoid bleeding.
   ============================================================ */

.cvx-acct { display: flex; flex-direction: column; gap: 20px; }

/* Page header */
.cvx-acct-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cvx-acct-head h1 { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 700; color: #1a202c; letter-spacing: -0.4px; }
.cvx-acct .cvx-breadcrumb { font-size: 13px; color: #64748b; margin-top: 4px; display: flex; align-items: center; gap: 6px; }
.cvx-acct .cvx-breadcrumb a { color: #2563eb; text-decoration: none; }
.cvx-acct .cvx-breadcrumb a:hover { color: #1d4ed8; }
.cvx-acct .cvx-breadcrumb span { color: #cbd5e1; }

/* Main form card */
.cvx-acct .cvx-acct-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 32px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); }

/* Section */
.cvx-acct-section { margin: 0; padding: 0; border: 0; }
.cvx-acct-section-title { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 700; color: #1a202c; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; }
.cvx-acct-section-title svg { width: 18px; height: 18px; color: #2563eb; }
.cvx-acct-section-sub { font-size: 13px; color: #64748b; margin-bottom: 20px; }

/* Form row layout — overrides WC's default float layout for our 2-col rows */
.cvx-acct .cvx-acct-row { display: block; margin-bottom: 0; }
.cvx-acct .cvx-acct-row-2 { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; }
.cvx-acct .cvx-acct-row-2 .cvx-acct-field { float: none !important; width: 100% !important; clear: none !important; }

/* Field */
.cvx-acct .cvx-acct-field { display: flex !important; flex-direction: column; gap: 6px; margin-bottom: 16px !important; float: none !important; width: 100% !important; }
.cvx-acct .cvx-acct-field label { font-size: 13px; font-weight: 600; color: #475569; display: flex; align-items: center; gap: 4px; margin: 0; }
.cvx-acct .cvx-req { color: #ef4444; }
.cvx-acct .cvx-acct-field input { padding: 12px 14px !important; border: 1.5px solid #e2e8f0 !important; border-radius: 10px !important; font-family: inherit; font-size: 14px; color: #1a202c; background: #fff; transition: all 0.2s; font-weight: 500; width: 100% !important; line-height: 1.4; }
.cvx-acct .cvx-acct-field input:focus { outline: none !important; border-color: #2563eb !important; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important; }
.cvx-acct .cvx-acct-field input:hover { border-color: #cbd5e1; }
.cvx-acct .cvx-acct-hint { font-size: 12px; color: #94a3b8; font-style: italic; margin-top: 2px; }
/* Override WC's default <em> hint styling */
.cvx-acct em.cvx-acct-hint, .cvx-acct .cvx-acct-hint em { font-style: italic; }

/* Password field with show/hide toggle */
.cvx-acct .cvx-pwd-wrap { position: relative; display: block; }
.cvx-acct .cvx-pwd-wrap input { padding-right: 42px !important; }
.cvx-acct .cvx-pwd-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: #94a3b8; padding: 4px; display: flex; align-items: center; justify-content: center; transition: color 0.2s; }
.cvx-acct .cvx-pwd-toggle:hover { color: #1a202c; }
.cvx-acct .cvx-pwd-toggle svg { width: 18px; height: 18px; }
.cvx-acct .cvx-pwd-toggle.active svg path:last-child,
.cvx-acct .cvx-pwd-toggle.active svg circle { display: none; }
.cvx-acct .cvx-pwd-toggle.active::after { content: ''; position: absolute; left: 50%; top: 50%; width: 22px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%) rotate(-45deg); }

/* Password strength meter */
.cvx-acct .cvx-pwd-strength { margin-top: 8px; display: none; }
.cvx-acct .cvx-pwd-strength.show { display: block; }
.cvx-acct .cvx-pwd-bar { height: 4px; background: #e2e8f0; border-radius: 100px; overflow: hidden; margin-bottom: 6px; }
.cvx-acct .cvx-pwd-fill { height: 100%; width: 0%; border-radius: 100px; transition: width 0.3s, background 0.3s; background: #ef4444; }
.cvx-acct .cvx-pwd-strength-label { font-size: 11px; font-weight: 600; color: #94a3b8; }
.cvx-acct .cvx-pwd-strength[data-strength="1"] .cvx-pwd-fill { width: 25%; background: #ef4444; }
.cvx-acct .cvx-pwd-strength[data-strength="1"] .cvx-pwd-strength-label { color: #ef4444; }
.cvx-acct .cvx-pwd-strength[data-strength="2"] .cvx-pwd-fill { width: 50%; background: #f59e0b; }
.cvx-acct .cvx-pwd-strength[data-strength="2"] .cvx-pwd-strength-label { color: #f59e0b; }
.cvx-acct .cvx-pwd-strength[data-strength="3"] .cvx-pwd-fill { width: 75%; background: #3b82f6; }
.cvx-acct .cvx-pwd-strength[data-strength="3"] .cvx-pwd-strength-label { color: #3b82f6; }
.cvx-acct .cvx-pwd-strength[data-strength="4"] .cvx-pwd-fill { width: 100%; background: linear-gradient(90deg, #10b981, #3b82f6); }
.cvx-acct .cvx-pwd-strength[data-strength="4"] .cvx-pwd-strength-label { color: #10b981; }

/* Divider */
.cvx-acct .cvx-acct-divider { height: 1px; background: #eef2f7; margin: 28px 0; }

/* Notice box */
.cvx-acct .cvx-acct-notice { display: flex; gap: 12px; padding: 14px 16px; background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(59, 130, 246, 0.03)); border: 1px solid rgba(37, 99, 235, 0.15); border-radius: 12px; margin-bottom: 20px; font-size: 13px; color: #475569; line-height: 1.5; }
.cvx-acct .cvx-acct-notice svg { width: 18px; height: 18px; color: #2563eb; flex-shrink: 0; margin-top: 1px; }
.cvx-acct .cvx-acct-notice strong { color: #1a202c; font-weight: 600; }

/* Submit row */
.cvx-acct .cvx-acct-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid #eef2f7; margin-top: 8px; }
.cvx-acct .cvx-acct-submit-row .cvx-acct-save-hint { font-size: 12px; color: #94a3b8; display: flex; align-items: center; gap: 6px; }
.cvx-acct .cvx-acct-submit-row .cvx-acct-save-hint svg { width: 14px; height: 14px; }
.cvx-acct .cvx-acct-submit { margin: 0 !important; }
.cvx-acct .cvx-btn-primary { display: inline-flex !important; align-items: center; gap: 8px; padding: 13px 28px !important; background: linear-gradient(135deg, #1a202c, #2d3748) !important; color: #fff !important; font-family: 'Space Grotesk', sans-serif; font-size: 14px !important; font-weight: 700 !important; border: none !important; border-radius: 11px !important; cursor: pointer; transition: all 0.25s; box-shadow: 0 4px 14px rgba(26, 32, 44, 0.2); text-decoration: none; }
.cvx-acct .cvx-btn-primary:hover { background: linear-gradient(135deg, #2563eb, #3b82f6) !important; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3); }
.cvx-acct .cvx-btn-primary svg { width: 16px; height: 16px; }

/* Mini-card under the form */
.cvx-acct .cvx-mini-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 20px 24px; }
.cvx-acct .cvx-mini-card h4 { font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 700; color: #1a202c; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; display: flex; align-items: center; gap: 6px; }
.cvx-acct .cvx-mini-card h4 svg { width: 14px; height: 14px; color: #2563eb; }
.cvx-acct .cvx-mini-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; font-size: 13px; color: #475569; border-bottom: 1px solid #f1f5f9; }
.cvx-acct .cvx-mini-row:last-child { border-bottom: none; }
.cvx-acct .cvx-mini-row strong { color: #1a202c; font-weight: 600; }

/* Responsive */
@media (max-width: 960px) {
  .cvx-acct .cvx-acct-card { padding: 24px 20px; }
  .cvx-acct .cvx-acct-row-2 { grid-template-columns: 1fr !important; }
  .cvx-acct .cvx-acct-submit-row { flex-direction: column; align-items: stretch; }
  .cvx-acct .cvx-btn-primary { width: 100%; justify-content: center; }
}

/* Override default WC <em> styling inside our form */
.cvx-acct .woocommerce-form-row em { font-size: 12px; color: #94a3b8; font-style: italic; }

/* ============================================================
   ADDRESSES SUB-PAGE (my-address.php + form-edit-address.php overrides)
   All selectors scoped under .cvx-addresses.
   Targets actual WC markup: form-row, woocommerce-form-row,
   woocommerce-address-fields, etc.
   ============================================================ */

.cvx-addresses { display: flex; flex-direction: column; gap: 20px; }

/* ===== HEAD ===== */
.cvx-addresses .cvx-addr-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cvx-addresses .cvx-addr-head h1 { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 700; color: #1a202c; letter-spacing: -0.4px; }
.cvx-addresses .cvx-breadcrumb { font-size: 13px; color: #64748b; margin-top: 4px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cvx-addresses .cvx-breadcrumb a { color: #2563eb; text-decoration: none; }
.cvx-addresses .cvx-breadcrumb a:hover { color: #1d4ed8; }
.cvx-addresses .cvx-breadcrumb span { color: #cbd5e1; }

/* ===== INTRO NOTICE ===== */
.cvx-addresses .cvx-addr-intro { font-size: 13px; color: #475569; background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(59, 130, 246, 0.03)); border: 1px solid rgba(37, 99, 235, 0.15); border-radius: 12px; padding: 14px 18px; display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; }
.cvx-addresses .cvx-addr-intro svg { width: 18px; height: 18px; color: #2563eb; flex-shrink: 0; margin-top: 1px; }
.cvx-addresses .cvx-addr-intro strong { color: #1a202c; font-weight: 600; }

/* ===== LIST: GRID + CARDS ===== */
.cvx-addresses .cvx-addr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.cvx-addresses .cvx-addr-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 24px; transition: all 0.25s; position: relative; display: flex; flex-direction: column; }
.cvx-addresses .cvx-addr-card:hover { border-color: rgba(37, 99, 235, 0.4); transform: translateY(-2px); box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06); }

.cvx-addresses .cvx-addr-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid #eef2f7; gap: 10px; }
.cvx-addresses .cvx-addr-card-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cvx-addresses .cvx-addr-card-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.cvx-addresses .cvx-addr-card-icon svg { width: 18px; height: 18px; color: #fff; }
.cvx-addresses .cvx-addr-card-icon--billing { background: linear-gradient(135deg, #1a202c, #2d3748); }
.cvx-addresses .cvx-addr-card-icon--shipping { background: linear-gradient(135deg, #2563eb, #3b82f6); }
.cvx-addresses .cvx-addr-card-title h3 { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 700; color: #1a202c; margin: 0; line-height: 1.2; }
.cvx-addresses .cvx-addr-card-sub { font-size: 11px; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; margin-top: 2px; }

.cvx-addresses .cvx-addr-copy { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: #f7fafc; border: 1.5px solid #e2e8f0; border-radius: 10px; cursor: pointer; color: #64748b; transition: all 0.2s; flex-shrink: 0; padding: 0; }
.cvx-addresses .cvx-addr-copy:hover { color: #2563eb; border-color: #2563eb; }
.cvx-addresses .cvx-addr-copy.copied { background: #10b981; color: #fff; border-color: #10b981; }
.cvx-addresses .cvx-addr-copy svg { width: 14px; height: 14px; }

.cvx-addresses .cvx-addr-card-body { flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 120px; }

/* WC outputs the address as an <address> tag inside .cvx-addr-text */
.cvx-addresses .cvx-addr-text,
.cvx-addresses .cvx-addr-text address { font-size: 14px; color: #475569; line-height: 1.7; font-style: normal; }
.cvx-addresses .cvx-addr-text .name { font-weight: 600; color: #1a202c; font-size: 15px; display: block; margin-bottom: 4px; }

/* Empty state */
.cvx-addresses .cvx-addr-empty { text-align: center; padding: 16px 8px; color: #94a3b8; }
.cvx-addresses .cvx-addr-empty svg { width: 40px; height: 40px; color: #cbd5e1; margin: 0 auto 12px; display: block; }
.cvx-addresses .cvx-addr-empty p { font-size: 13px; line-height: 1.5; margin: 0; }

/* Card actions */
.cvx-addresses .cvx-addr-card-actions { display: flex; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #eef2f7; }
.cvx-addresses .cvx-btn-edit { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 16px; background: #f7fafc; border: 1.5px solid #e2e8f0; color: #1a202c; font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600; border-radius: 10px; cursor: pointer; text-decoration: none; transition: all 0.2s; }
.cvx-addresses .cvx-btn-edit:hover { background: #1a202c; color: #fff; border-color: #1a202c; }
.cvx-addresses .cvx-btn-edit svg { width: 14px; height: 14px; }
.cvx-addresses .cvx-btn-add { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 16px; background: linear-gradient(135deg, #2563eb, #3b82f6); color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600; border-radius: 10px; cursor: pointer; text-decoration: none; transition: all 0.2s; border: none; }
.cvx-addresses .cvx-btn-add:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3); color: #fff; }
.cvx-addresses .cvx-btn-add svg { width: 14px; height: 14px; }

/* ===== EDIT FORM ===== */
.cvx-addresses .cvx-addr-form-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 32px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); }

.cvx-addresses .cvx-addr-section-title { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 700; color: #1a202c; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; }
.cvx-addresses .cvx-addr-section-title svg { width: 18px; height: 18px; color: #2563eb; }
.cvx-addresses .cvx-addr-section-sub { font-size: 13px; color: #64748b; margin-bottom: 24px; }

/* "Same as billing" checkbox row */
.cvx-addresses .cvx-addr-checkbox-row { padding: 14px 16px; background: #f7fafc; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; cursor: pointer; }
.cvx-addresses .cvx-addr-checkbox-row input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; accent-color: #2563eb; flex-shrink: 0; margin: 0; }
.cvx-addresses .cvx-addr-checkbox-row label { font-size: 13px; color: #475569; cursor: pointer; font-weight: 500; margin: 0; }

/* The .woocommerce-address-fields__field-wrapper that WC outputs — make it grid */
.cvx-addresses .cvx-addr-field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 16px; }

/* WC emits each field as <p class="form-row ..."> with form-row-first / form-row-last / form-row-wide */
.cvx-addresses .cvx-addr-field-wrapper > .form-row { width: 100%; float: none; clear: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
/* Wide rows span both columns */
.cvx-addresses .cvx-addr-field-wrapper > .form-row.form-row-wide,
.cvx-addresses .cvx-addr-field-wrapper > .notes,
.cvx-addresses .cvx-addr-field-wrapper > .address-field { grid-column: 1 / -1; }

/* Form labels */
.cvx-addresses .cvx-addr-field-wrapper > .form-row > label { font-size: 13px; font-weight: 600; color: #475569; margin: 0; display: block; }
.cvx-addresses .cvx-addr-field-wrapper > .form-row > label .required,
.cvx-addresses .cvx-addr-field-wrapper > .form-row > label abbr.required { color: #ef4444; text-decoration: none; border: none; margin-left: 2px; }

/* The actual input/select/textarea inside each field */
.cvx-addresses .cvx-addr-field-wrapper .woocommerce-input-wrapper,
.cvx-addresses .cvx-addr-field-wrapper > .form-row > .input-text,
.cvx-addresses .cvx-addr-field-wrapper > .form-row > .input-checkbox + label { width: 100%; }

.cvx-addresses .cvx-addr-field-wrapper input.input-text,
.cvx-addresses .cvx-addr-field-wrapper textarea,
.cvx-addresses .cvx-addr-field-wrapper select {
  padding: 12px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  color: #1a202c;
  background: #fff;
  transition: all 0.2s;
  font-weight: 500;
  width: 100%;
  line-height: 1.4;
  box-shadow: none;
}
.cvx-addresses .cvx-addr-field-wrapper input.input-text:focus,
.cvx-addresses .cvx-addr-field-wrapper textarea:focus,
.cvx-addresses .cvx-addr-field-wrapper select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.cvx-addresses .cvx-addr-field-wrapper input.input-text:hover,
.cvx-addresses .cvx-addr-field-wrapper textarea:hover,
.cvx-addresses .cvx-addr-field-wrapper select:hover {
  border-color: #cbd5e1;
}

/* Select2 (WC auto-replaces country/state dropdowns with select2) — style its container */
.cvx-addresses .cvx-addr-field-wrapper .select2-container { width: 100% !important; }
.cvx-addresses .cvx-addr-field-wrapper .select2-container .select2-selection--single {
  height: 46px;
  padding: 6px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  transition: all 0.2s;
}
.cvx-addresses .cvx-addr-field-wrapper .select2-container .select2-selection--single:hover { border-color: #cbd5e1; }
.cvx-addresses .cvx-addr-field-wrapper .select2-container--open .select2-selection--single,
.cvx-addresses .cvx-addr-field-wrapper .select2-container--focus .select2-selection--single {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.cvx-addresses .cvx-addr-field-wrapper .select2-container .select2-selection__rendered {
  line-height: 32px;
  padding: 0;
  color: #1a202c;
  font-size: 14px;
  font-weight: 500;
}
.cvx-addresses .cvx-addr-field-wrapper .select2-container .select2-selection__arrow {
  height: 44px;
  right: 10px;
}

/* Submit row */
.cvx-addresses .cvx-addr-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid #eef2f7; margin-top: 24px; flex-wrap: wrap; }
.cvx-addresses .cvx-addr-actions-left { display: flex; gap: 10px; }
.cvx-addresses .cvx-addr-submit { margin: 0; padding: 0; }

.cvx-addresses .cvx-btn-cancel {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 13px 20px; background: #fff; border: 1.5px solid #e2e8f0; color: #475569;
  font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 600;
  border-radius: 11px; cursor: pointer; text-decoration: none; transition: all 0.2s;
}
.cvx-addresses .cvx-btn-cancel:hover { border-color: #94a3b8; color: #1a202c; }
.cvx-addresses .cvx-btn-cancel svg { width: 14px; height: 14px; }

.cvx-addresses .cvx-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 28px; background: linear-gradient(135deg, #1a202c, #2d3748);
  color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 700;
  border: none; border-radius: 11px; cursor: pointer; transition: all 0.25s;
  box-shadow: 0 4px 14px rgba(26, 32, 44, 0.2); text-decoration: none;
  line-height: 1.2;
}
.cvx-addresses .cvx-btn-primary:hover { background: linear-gradient(135deg, #2563eb, #3b82f6); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3); color: #fff; }
.cvx-addresses .cvx-btn-primary svg { width: 16px; height: 16px; }

/* Responsive */
@media (max-width: 960px) {
  .cvx-addresses .cvx-addr-grid { grid-template-columns: 1fr; }
  .cvx-addresses .cvx-addr-form-card { padding: 24px 20px; }
  .cvx-addresses .cvx-addr-field-wrapper { grid-template-columns: 1fr; }
  .cvx-addresses .cvx-addr-submit-row { flex-direction: column-reverse; align-items: stretch; }
  .cvx-addresses .cvx-addr-actions-left { width: 100%; }
  .cvx-addresses .cvx-btn-cancel,
  .cvx-addresses .cvx-btn-primary { width: 100%; justify-content: center; }
}
