/* ChurchAVpro Client Hub — My Account experience v0.1.9 */
:root {
  --cavp-ink:#11100E;
  --cavp-dark:#0D0D0C;
  --cavp-card-dark:#181613;
  --cavp-dark-border:#34302C;
  --cavp-cream:#F3EFE7;
  --cavp-cream-deep:#E8E2D8;
  --cavp-cream-border:#D2C8BA;
  --cavp-body:#514C45;
  --cavp-muted:#777168;
  --cavp-gold:#F5C124;
  --cavp-gold-dark:#A87800;
  --cavp-white:#FFFFFF;
}

/* Page shell. Intentionally scoped to My Account only; never touch the site header. */
body.cavp-account-hub { background:var(--cavp-cream); color:var(--cavp-ink); }
body.cavp-account-hub .entry-hero,
body.cavp-account-hub .page-header,
body.cavp-account-hub header.entry-header { display:none !important; }
body.cavp-account-hub .content-area { margin-top:0 !important; margin-bottom:0 !important; }
body.cavp-account-hub .entry-content-wrap {
  background:transparent !important;
  box-shadow:none !important;
  padding-top:52px !important;
  padding-bottom:72px !important;
}
body.cavp-account-hub .entry-content { margin:0 !important; width:100% !important; max-width:none !important; }
body.cavp-account-hub #main .entry-content > .woocommerce {
  width:100% !important;
  max-width:1240px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.cavp-account-hub #main .entry-content > .woocommerce a { text-decoration:none; }
body.cavp-account-hub #main .entry-content > .woocommerce .woocommerce-notices-wrapper { grid-column:1 / -1; }

/* Logged-in two-column account layout. Kadence wraps the identity/avatar/nav in
   .account-navigation-wrap, so THAT wrapper—not the nested <nav>—must be the
   sidebar grid item. This prevents Kadence's percentage-width/float rules from
   shrink-wrapping the sidebar into a few pixels. */
body.cavp-account-logged-in #main .entry-content > .woocommerce {
  display:grid !important;
  width:100% !important;
  max-width:1240px !important;
  grid-template-columns:260px minmax(0,1fr) !important;
  grid-template-areas:"sidebar content" !important;
  column-gap:28px !important;
  row-gap:0 !important;
  align-items:start !important;
  justify-items:stretch !important;
}
body.cavp-account-logged-in .account-navigation-wrap {
  grid-area:sidebar !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:0 14px 16px !important;
  box-sizing:border-box !important;
  align-self:start !important;
  background:var(--cavp-white) !important;
  border:1px solid var(--cavp-cream-border) !important;
  border-radius:6px !important;
  box-shadow:0 8px 28px rgba(17,16,14,.035) !important;
  overflow:hidden !important;
}
body.cavp-account-logged-in .account-navigation-wrap .kadence-account-avatar {
  display:none !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
body.cavp-account-logged-in .woocommerce-MyAccount-content {
  grid-area:content !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  clear:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:34px 38px 40px !important;
  box-sizing:border-box !important;
  background:var(--cavp-white) !important;
  border:1px solid var(--cavp-cream-border) !important;
  border-radius:6px !important;
  box-shadow:0 8px 28px rgba(17,16,14,.035);
}
body.cavp-account-overview .woocommerce-MyAccount-content > p:first-of-type,
body.cavp-account-overview .woocommerce-MyAccount-content > p:nth-of-type(2) { display:none; }

/* Width hardening for Kadence/WooCommerce account layouts. Some theme wrappers
   leave .woocommerce shrink-to-fit; these rules keep the account workspace full width. */
body.cavp-account-logged-in .woocommerce-MyAccount-content > *,
body.cavp-account-logged-in .cavp-dashboard,
body.cavp-account-logged-in .cavp-dashboard-heading,
body.cavp-account-logged-in .cavp-dashboard-grid,
body.cavp-account-logged-in .cavp-panel-heading,
body.cavp-account-logged-in .cavp-native-heading {
  max-width:100% !important;
  box-sizing:border-box !important;
}
body.cavp-account-logged-in .cavp-dashboard,
body.cavp-account-logged-in .cavp-dashboard-grid,
body.cavp-account-logged-in .cavp-account-banner {
  width:100% !important;
}

/* Sidebar identity */
.cavp-account-identity {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 -14px 12px;
  padding:22px 20px 20px;
  background:#FFFDF8;
  border-bottom:1px solid var(--cavp-cream-border);
}
.cavp-account-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  background:var(--cavp-dark);
  color:var(--cavp-white);
  font-size:15px;
  font-weight:800;
}
.cavp-account-identity div { min-width:0; }
.cavp-account-identity strong,
.cavp-account-identity small { display:block; }
.cavp-account-identity strong {
  margin-top:3px;
  color:var(--cavp-ink);
  font-size:15px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cavp-account-identity small {
  margin-top:3px;
  color:var(--cavp-muted);
  font-size:11px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cavp-account-kicker,
.cavp-account-eyebrow,
.cavp-card-topline,
.cavp-section-rule span {
  color:var(--cavp-gold-dark);
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:1.1px;
  text-transform:uppercase;
}
.cavp-account-identity .cavp-account-kicker { font-size:9px; }

/* Navigation */
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation ul {
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation a {
  display:block !important;
  padding:10px 11px !important;
  color:var(--cavp-body) !important;
  background:transparent !important;
  border:0 !important;
  border-left:3px solid transparent !important;
  border-radius:2px !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  transition:.16s ease;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation a:hover {
  color:var(--cavp-ink) !important;
  background:var(--cavp-cream) !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.is-active a {
  color:var(--cavp-ink) !important;
  background:#FFF9E7 !important;
  border-left-color:var(--cavp-gold) !important;
  font-weight:800 !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account {
  margin-top:12px !important;
  padding-top:12px !important;
  border-top:1px solid var(--cavp-cream-border) !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top:8px !important;
}
body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color:#7C352C !important;
}
/* Prevent narrow inherited theme rules from forcing letter-by-letter wrapping. */
body.cavp-account-logged-in .account-navigation-wrap,
body.cavp-account-logged-in .account-navigation-wrap * {
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* Compact account banner: premium but not a giant hero. */
.cavp-account-banner {
  position:relative;
  overflow:hidden;
  margin:0 0 30px;
  padding:28px 30px 27px;
  background:var(--cavp-dark);
  border:1px solid var(--cavp-dark-border);
  border-radius:6px;
  color:var(--cavp-white);
}
.cavp-account-banner:after {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-92px;
  bottom:-145px;
  border:1px solid rgba(245,193,36,.24);
  transform:rotate(28deg);
  pointer-events:none;
}
.cavp-account-banner .cavp-account-eyebrow { color:var(--cavp-gold); }
.cavp-account-banner h1 {
  max-width:690px;
  margin:11px 0 8px;
  color:var(--cavp-white);
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.45px;
  font-weight:800;
}
.cavp-account-banner p {
  max-width:720px;
  margin:0;
  color:#C9C5BE;
  font-size:14px;
  line-height:1.55;
}
.cavp-account-trust {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  margin-top:16px;
}
.cavp-account-trust span {
  color:#E6E1D8;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}
.cavp-account-trust span:before {
  content:"✓";
  color:var(--cavp-gold);
  margin-right:6px;
}

/* Shared headings */
.cavp-dashboard-heading,
.cavp-panel-heading,
.cavp-native-heading { margin-bottom:26px; }
.cavp-dashboard-heading h2,
.cavp-panel-heading h2,
.cavp-native-heading h2 {
  margin:10px 0 8px;
  color:var(--cavp-ink);
  font-size:32px;
  line-height:1.12;
  letter-spacing:-.4px;
  font-weight:800;
}
.cavp-dashboard-heading p,
.cavp-panel-heading p,
.cavp-native-heading p {
  max-width:740px;
  margin:0;
  color:var(--cavp-body);
  font-size:15px;
  line-height:1.6;
}
.cavp-native-heading {
  padding-bottom:22px;
  border-bottom:1px solid var(--cavp-cream-border);
}

/* Dashboard cards */
.cavp-dashboard-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.cavp-hub-card {
  min-width:0;
  padding:25px;
  background:var(--cavp-white);
  border:1px solid var(--cavp-cream-border);
  border-radius:6px;
}
.cavp-hub-card--hp {
  background:#FFFDF8;
  border-top:3px solid var(--cavp-gold);
}
.cavp-hub-card--dark {
  background:var(--cavp-card-dark);
  color:var(--cavp-white);
  border-color:var(--cavp-dark-border);
}
.cavp-card-topline {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:20px;
}
.cavp-card-number { color:var(--cavp-gold-dark); }
.cavp-hub-card--dark .cavp-card-topline,
.cavp-hub-card--dark .cavp-card-number { color:var(--cavp-gold); }
.cavp-hub-card h3 {
  margin:0 0 9px;
  color:var(--cavp-ink);
  font-size:21px;
  line-height:1.22;
  letter-spacing:-.18px;
  font-weight:800;
}
.cavp-hub-card--dark h3 { color:var(--cavp-white); }
.cavp-hub-card p {
  margin:0 0 17px;
  color:var(--cavp-body);
  font-size:13px;
  line-height:1.58;
}
.cavp-hub-card--dark p { color:#C9C5BE; }
.cavp-profile-line {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:18px;
  padding-bottom:13px;
  border-bottom:1px solid var(--cavp-cream-border);
}
.cavp-profile-line span { color:var(--cavp-muted); font-size:11px; font-weight:700; }
.cavp-profile-line strong { color:var(--cavp-ink); font-size:13px; }
.cavp-chip-row { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 17px; }
.cavp-chip {
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border:1px solid #E7C34D;
  background:#FFF8DE;
  color:#6F5200;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  font-weight:800;
}
.cavp-card-actions,
.cavp-profile-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.cavp-btn,
.woocommerce .cavp-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:43px !important;
  padding:10px 15px !important;
  border-radius:3px !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.cavp-btn--gold,.woocommerce .cavp-btn--gold {
  background:var(--cavp-gold) !important;
  border:1px solid var(--cavp-gold) !important;
  color:var(--cavp-ink) !important;
}
.cavp-btn--gold:hover,.woocommerce .cavp-btn--gold:hover {
  background:#E8B518 !important;
  border-color:#E8B518 !important;
}
.cavp-btn--dark,.woocommerce .cavp-btn--dark {
  background:var(--cavp-dark) !important;
  border:1px solid var(--cavp-dark) !important;
  color:var(--cavp-white) !important;
}
.cavp-btn--outline,.woocommerce .cavp-btn--outline {
  background:transparent !important;
  border:1px solid var(--cavp-ink) !important;
  color:var(--cavp-ink) !important;
}
.cavp-btn--outline:hover,.woocommerce .cavp-btn--outline:hover {
  background:var(--cavp-dark) !important;
  color:var(--cavp-white) !important;
}
.cavp-text-link { color:var(--cavp-gold-dark) !important; font-size:12px; font-weight:800; }
.cavp-text-link--light { color:var(--cavp-gold) !important; }

.cavp-resource-list,
.cavp-mini-inquiries { margin:15px 0; border-top:1px solid var(--cavp-cream-border); }
.cavp-resource-row,
.cavp-mini-inquiry {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--cavp-cream-border);
}
.cavp-resource-row strong,
.cavp-resource-row span,
.cavp-mini-inquiry strong,
.cavp-mini-inquiry span { display:block; }
.cavp-resource-row strong,.cavp-mini-inquiry strong { color:var(--cavp-ink); font-size:12px; }
.cavp-resource-row span,.cavp-mini-inquiry span { color:var(--cavp-muted); font-size:10px; margin-top:2px; }
.cavp-resource-row a { color:var(--cavp-gold-dark); font-size:11px; font-weight:800; white-space:nowrap; }

.cavp-status {
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:var(--cavp-cream-deep);
  color:var(--cavp-body);
  font-size:9px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  white-space:nowrap;
}
.cavp-status--active,.cavp-status--proposal { background:#FFF3C7; color:#695000; }
.cavp-status--closed,.cavp-status--not-a-fit { background:#EFEDE8; color:#6D675F; }
.cavp-status--new { background:#FFF8DE; color:#705500; }

/* Healthy Production endpoint */
.cavp-profile-summary {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:20px;
  padding:21px 22px;
  background:var(--cavp-cream-deep);
  border:1px solid var(--cavp-cream-border);
  border-radius:6px;
}
.cavp-profile-summary strong,.cavp-profile-summary small { display:block; }
.cavp-profile-summary strong { margin-top:7px; color:var(--cavp-ink); font-size:23px; }
.cavp-profile-summary small { margin-top:5px; color:var(--cavp-body); font-size:11px; }
.cavp-current-priorities { padding-left:24px; border-left:1px solid var(--cavp-cream-border); }
.cavp-current-priorities .cavp-chip-row { margin-bottom:0; }
.cavp-pillar-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.cavp-pillar-card {
  min-width:0;
  padding:16px 13px 14px;
  background:var(--cavp-white);
  border:1px solid var(--cavp-cream-border);
  border-top:2px solid var(--cavp-cream-border);
  border-radius:4px;
}
.cavp-pillar-card.is-priority { background:#FFFDF8; border-top-color:var(--cavp-gold); }
.cavp-pillar-head { min-height:33px; display:flex; flex-direction:column; gap:4px; }
.cavp-pillar-head span { color:var(--cavp-ink); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.cavp-pillar-head em { color:var(--cavp-gold-dark); font-size:8px; font-style:normal; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.cavp-pillar-level { display:block; margin:9px 0 11px; color:var(--cavp-ink); font-size:15px; line-height:1.2; }
.cavp-score-bar { height:5px; margin-bottom:8px; background:#ECE8E0; overflow:hidden; }
.cavp-score-bar span { display:block; height:100%; background:var(--cavp-gold); }
.cavp-pillar-card small { color:var(--cavp-muted); font-size:9px; }
.cavp-history { margin-top:32px; }
.cavp-section-rule { margin-bottom:8px; padding-top:15px; border-top:1px solid var(--cavp-cream-border); }
.cavp-history-list { border-top:1px solid var(--cavp-cream-border); }
.cavp-history-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--cavp-cream-border);
}
.cavp-history-row strong,.cavp-history-row span { display:block; }
.cavp-history-row strong { color:var(--cavp-ink); font-size:12px; }
.cavp-history-row span,.cavp-history-row small { color:var(--cavp-body); font-size:10px; }

/* Service inquiries endpoint */
.cavp-inquiry-list { display:grid; gap:14px; }
.cavp-inquiry-card {
  padding:21px 22px;
  background:var(--cavp-white);
  border:1px solid var(--cavp-cream-border);
  border-radius:6px;
}
.cavp-inquiry-meta { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.cavp-inquiry-meta h3 { margin:6px 0 0; color:var(--cavp-ink); font-size:19px; line-height:1.25; font-weight:800; }
.cavp-inquiry-card p { margin:15px 0; color:var(--cavp-body); font-size:13px; line-height:1.55; }
.cavp-inquiry-footer {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-top:11px;
  border-top:1px solid var(--cavp-cream-border);
  color:var(--cavp-muted);
  font-size:10px;
}
.cavp-empty-state {
  padding:27px;
  background:var(--cavp-cream-deep);
  border:1px solid var(--cavp-cream-border);
  border-radius:6px;
}
.cavp-empty-state h3 { margin:0 0 8px; font-size:21px; }
.cavp-empty-state p { max-width:650px; margin:0 0 17px; color:var(--cavp-body); }

/* Native WooCommerce endpoints: make them look like Client Hub, not raw WooCommerce. */
body.cavp-account-hub .woocommerce-MyAccount-content table.shop_table {
  border:1px solid var(--cavp-cream-border) !important;
  border-radius:4px !important;
  overflow:hidden;
}
body.cavp-account-hub .woocommerce-MyAccount-content table.shop_table th {
  padding:13px 14px !important;
  background:var(--cavp-cream-deep) !important;
  color:var(--cavp-ink) !important;
  font-size:11px !important;
  text-transform:uppercase;
  letter-spacing:.4px;
}
body.cavp-account-hub .woocommerce-MyAccount-content table.shop_table td {
  padding:13px 14px !important;
  color:var(--cavp-body) !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content .woocommerce-info,
body.cavp-account-hub .woocommerce-MyAccount-content .woocommerce-message,
body.cavp-account-hub .woocommerce-MyAccount-content .woocommerce-error {
  margin:0 0 18px !important;
  padding:18px 20px 18px 30px !important;
  background:var(--cavp-cream) !important;
  border:0 !important;
  border-left:4px solid var(--cavp-gold) !important;
  color:var(--cavp-ink) !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content .button,
body.cavp-account-hub .woocommerce-MyAccount-content button.button {
  min-height:42px !important;
  padding:10px 15px !important;
  background:var(--cavp-dark) !important;
  color:var(--cavp-white) !important;
  border:1px solid var(--cavp-dark) !important;
  border-radius:3px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content .button:hover,
body.cavp-account-hub .woocommerce-MyAccount-content button.button:hover {
  background:#24211E !important;
  color:var(--cavp-white) !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content input.input-text,
body.cavp-account-hub .woocommerce-MyAccount-content select,
body.cavp-account-hub .woocommerce-MyAccount-content textarea {
  min-height:44px;
  background:var(--cavp-white) !important;
  color:var(--cavp-ink) !important;
  border:1px solid var(--cavp-cream-border) !important;
  border-radius:3px !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content input.input-text:focus,
body.cavp-account-hub .woocommerce-MyAccount-content select:focus,
body.cavp-account-hub .woocommerce-MyAccount-content textarea:focus {
  border-color:var(--cavp-gold-dark) !important;
  outline:2px solid rgba(245,193,36,.17) !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content label { color:var(--cavp-ink); font-weight:700; }
body.cavp-account-hub .woocommerce-MyAccount-content fieldset {
  margin:24px 0 !important;
  padding:20px !important;
  border:1px solid var(--cavp-cream-border) !important;
  border-radius:4px !important;
}
body.cavp-account-hub .woocommerce-MyAccount-content legend { color:var(--cavp-ink); font-weight:800; }
body.cavp-account-hub .woocommerce-Addresses { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
body.cavp-account-hub .woocommerce-Address {
  width:100% !important;
  float:none !important;
  padding:22px !important;
  border:1px solid var(--cavp-cream-border);
  border-radius:5px;
}

/* Logged-out state. Bluehost's staging Coming Soon interception happens before
   WordPress and cannot be styled here; this is the live WooCommerce account screen. */
body.cavp-account-logged-out #main .entry-content > .woocommerce { max-width:920px; }
.cavp-login-hero {
  position:relative;
  overflow:hidden;
  margin-bottom:24px;
  padding:38px 42px;
  background:var(--cavp-dark);
  color:var(--cavp-white);
  border:1px solid var(--cavp-dark-border);
  border-radius:6px;
}
.cavp-login-hero:after {
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-100px;
  bottom:-165px;
  border:1px solid rgba(245,193,36,.24);
  transform:rotate(28deg);
}
.cavp-login-hero .cavp-account-eyebrow { color:var(--cavp-gold); }
.cavp-login-hero h1 {
  max-width:690px;
  margin:14px 0 10px;
  color:var(--cavp-white);
  font-size:36px;
  line-height:1.08;
  letter-spacing:-.55px;
  font-weight:800;
}
.cavp-login-hero p { max-width:700px; margin:0; color:#C9C5BE; font-size:15px; line-height:1.6; }
.cavp-login-intro { max-width:760px; margin:0 auto 16px; }
.cavp-login-intro h2 { margin:0 0 6px; color:var(--cavp-ink); font-size:26px; }
.cavp-login-intro p { margin:0; color:var(--cavp-body); }
body.cavp-account-logged-out .woocommerce form.login,
body.cavp-account-logged-out .woocommerce form.register,
body.cavp-account-logged-out .woocommerce .u-column1,
body.cavp-account-logged-out .woocommerce .u-column2 {
  background:var(--cavp-white) !important;
  border-color:var(--cavp-cream-border) !important;
  border-radius:6px !important;
}
body.cavp-account-logged-out .woocommerce form.login,
body.cavp-account-logged-out .woocommerce form.register {
  max-width:760px;
  margin:0 auto;
  padding:28px !important;
}
body.cavp-account-logged-out .woocommerce form .form-row label { color:var(--cavp-ink); font-size:12px; font-weight:750; }
body.cavp-account-logged-out .woocommerce form input.input-text { min-height:46px; border:1px solid var(--cavp-cream-border); border-radius:3px; }
body.cavp-account-logged-out .woocommerce form button.button {
  min-height:44px;
  padding:10px 16px !important;
  background:var(--cavp-gold) !important;
  color:var(--cavp-ink) !important;
  border:1px solid var(--cavp-gold) !important;
  border-radius:3px !important;
  font-weight:800 !important;
}


/* Header isolation ---------------------------------------------------------
   Kadence's cart dropdown includes an element with class="woocommerce". Earlier
   Client Hub builds scoped the account grid too broadly, so that header element
   inherited the 260px account-sidebar grid and squeezed the Assessment button.
   Keep the header identical to the rest of the site. */
@media (min-width:1025px) {
  body.cavp-account-hub #main-header .site-header-main-section-right,
  body.cavp-account-hub #main-header .site-header-item[data-section="kadence_customizer_header_button"],
  body.cavp-account-hub #main-header .site-header-item[data-section="kadence_customizer_cart"],
  body.cavp-account-hub #main-header .header-button-wrap,
  body.cavp-account-hub #main-header .header-button-inner-wrap,
  body.cavp-account-hub #main-header .header-cart-wrap,
  body.cavp-account-hub #main-header .header-cart-inner-wrap {
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:0 0 auto !important;
  }
  body.cavp-account-hub #main-header .header-button {
    width:auto !important;
    min-width:190px !important;
    max-width:none !important;
    white-space:nowrap !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.cavp-account-hub #main-header .header-cart-button {
    width:auto !important;
    min-width:32px !important;
    max-width:none !important;
    white-space:nowrap !important;
  }
}

.cavp-resource-diagnostic {
  margin-top:18px;
  padding:16px 18px;
  background:#FFF8DE;
  border:1px solid #E7C34D;
  border-radius:4px;
  color:var(--cavp-body);
  font-size:13px;
  line-height:1.55;
}
.cavp-resource-diagnostic strong { display:block; margin-bottom:5px; color:var(--cavp-ink); }
.cavp-resource-diagnostic p { margin:5px 0 0; }
.cavp-resource-diagnostic code { color:#6F5200; font-size:12px; }

@media (max-width:1024px) {
  body.cavp-account-hub .entry-content-wrap { padding-top:40px !important; padding-bottom:56px !important; }
  body.cavp-account-logged-in #main .entry-content > .woocommerce {
    grid-template-columns:230px minmax(0,1fr) !important;
    column-gap:20px !important;
  }
  body.cavp-account-logged-in .woocommerce-MyAccount-content { padding:30px !important; }
  .cavp-account-banner { padding:26px 28px; }
  .cavp-account-banner h1 { font-size:28px; }
  .cavp-dashboard-grid { grid-template-columns:1fr; }
  .cavp-pillar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {
  body.cavp-account-hub .entry-content-wrap { padding:28px 0 44px !important; }
  body.cavp-account-hub #main .entry-content > .woocommerce { padding:0 18px; }
  body.cavp-account-logged-in #main .entry-content > .woocommerce { display:block !important; width:100% !important; }
  body.cavp-account-logged-in .account-navigation-wrap,
  body.cavp-account-logged-in .woocommerce-MyAccount-content { width:100% !important; }
  body.cavp-account-logged-in .account-navigation-wrap {
    margin:0 0 18px !important;
    padding:0 10px 10px !important;
    overflow:visible !important;
  }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation {
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .cavp-account-identity { margin:0 -10px 10px; padding:18px; }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation ul {
    display:flex !important;
    width:100% !important;
    max-width:none;
    flex-wrap:wrap !important;
    gap:5px;
  }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li {
    flex:0 0 auto !important;
  }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account,
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
  }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation a {
    white-space:nowrap;
    padding:9px 10px !important;
    border-left:0 !important;
    border-bottom:2px solid transparent !important;
  }
  body.cavp-account-logged-in nav.woocommerce-MyAccount-navigation li.is-active a {
    border-left:0 !important;
    border-bottom-color:var(--cavp-gold) !important;
  }
  body.cavp-account-logged-in .woocommerce-MyAccount-content { padding:25px 22px 28px !important; }
  .cavp-account-banner { padding:25px 23px; margin-bottom:24px; }
  .cavp-account-banner h1,.cavp-login-hero h1 { font-size:28px; }
  .cavp-dashboard-heading h2,.cavp-panel-heading h2,.cavp-native-heading h2 { font-size:28px; }
  .cavp-profile-summary { grid-template-columns:1fr; }
  .cavp-current-priorities { padding-left:0; padding-top:17px; border-left:0; border-top:1px solid var(--cavp-cream-border); }
  .cavp-pillar-grid { grid-template-columns:1fr 1fr; }
  .cavp-history-row,.cavp-inquiry-footer { align-items:flex-start; flex-direction:column; }
  body.cavp-account-hub .woocommerce-Addresses { grid-template-columns:1fr; }
  .cavp-login-hero { padding:30px 24px; }
  body.cavp-account-logged-out .woocommerce form.login,
  body.cavp-account-logged-out .woocommerce form.register { padding:23px !important; }
}

@media (max-width:480px) {
  body.cavp-account-hub #main .entry-content > .woocommerce { padding:0 14px; }
  .cavp-pillar-grid { grid-template-columns:1fr; }
  .cavp-hub-card { padding:21px; }
  .cavp-resource-row,.cavp-mini-inquiry,.cavp-inquiry-meta { align-items:flex-start; flex-direction:column; }
  .cavp-card-actions,.cavp-profile-actions { align-items:stretch; flex-direction:column; }
  .cavp-btn,.woocommerce .cavp-btn { width:100%; }
  .cavp-account-trust { display:grid; gap:7px; }
}
