/* Styles only the pages WordPress draws need: plain pages and lists, My Account, the shop and order forms.
   They live in the theme (since 2026-10-07) so a change here is one file copied to the server: no Astro build.
   Everything shared with the Astro pages (fonts, colours, header, footer, article/issue/video styles) still comes from
   the Astro build (_static/bma-theme/). This file is printed right after those, so it can adjust them.
   Three parts, in this order: 1. pages and lists  2. My Account + WooCommerce basics  3. shop and order forms. */

/* ============================== wordpress ============================== */
/* Only for pages WordPress draws with the "Blog Marketing Academy" theme (published through src/pages/bma-theme/).
   Small pieces the Astro pages don't need: the plain page template, WordPress's own alignment and caption classes,
   and what stands in for Astro-only extras. The shop and My Account get their rules here too (later steps). */

/* Plain page: title band (text-page.css) + content column */
.wp-page__inner { max-width: calc(852px + 2 * var(--global-content-edge-padding)); margin-inline: auto; padding: 4rem var(--global-content-edge-padding) 5rem; }
.wp-page--wide .wp-page__inner { max-width: var(--global-content-width); } /* older name for --normal */
.wp-page__inner > .entry-content > :first-child { margin-top: 0; }
.wp-titleband { background: #f5f7fa; border-bottom: 1px solid var(--bma-rule, #e1e4ea); }
.wp-titleband .bma-bc { margin: 0; padding: 13.5px 0; }
.wp-titleband h1 { margin: 0; padding: 0 0 28px; font-size: 40px; font-weight: 800; line-height: 1.05; }
@media (max-width: 767px) { .wp-titleband h1 { font-size: 32px; } .wp-page__inner { padding-block: 2.5rem 3.5rem; } }

/* WordPress content classes */
.entry-content .alignleft { float: left; margin: .3em 1.5em 1em 0; }
.entry-content .alignright { float: right; margin: .3em 0 1em 1.5em; }
.entry-content .aligncenter { display: block; margin-inline: auto; text-align: center; }
.entry-content .wp-caption, .entry-content figure { max-width: 100%; }
.entry-content .wp-caption-text, .entry-content figcaption { font-size: 14px; color: var(--global-palette6); text-align: center; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Lists of posts (archives, search results drawn by WordPress) */
.wp-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.wp-list__item a { display: block; padding: 20px 22px; border: 1px solid var(--bma-rule, #e1e4ea); border-radius: 12px; color: inherit; text-decoration: none; }
.wp-list__item a:hover { border-color: var(--global-palette2); }
.wp-list__type { display: block; margin-bottom: 6px; font: 600 12px/1 var(--global-heading-font-family); letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette6); }
.wp-list__title { display: block; font: 700 20px/1.25 var(--global-heading-font-family); color: var(--global-palette3); }
.wp-list__text { display: block; margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette5); }
.wp-pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 40px; font: 600 15px/1.2 var(--global-heading-font-family); }
@media (max-width: 1000px) { .wp-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .wp-list { grid-template-columns: 1fr; } }

/* A draft preview says so */
.wp-preview-note { margin: 0; padding: 8px 16px; background: #fff7e0; border-bottom: 1px solid #f0dca0; font: 600 13px/1.4 var(--global-heading-font-family); text-align: center; color: #6b5200; }

/* ============================== account ============================== */
/* My Account (WooCommerce) as the WordPress theme draws it, plus the basic look of WooCommerce pieces (buttons, fields,
   tables, notices) that the account screens and the shop share. Published through src/pages/bma-theme/.
   The dashboard markup is in the theme: AIOS dev/bma-theme/bma-theme/parts/account-*.php. The cc-acct rules came from
   the old child theme's concierge.css (2026-10-07), where they styled the Kadence element "Account Dashboard". */

/* ---- Layout: menu on the left, the screen on the right ---- */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 16px 48px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce.woocommerce::before, .woocommerce-account .woocommerce.woocommerce::after { content: none; display: none; } /* WooCommerce's clearfix would count as grid items */
.woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 9px 12px; border-radius: 6px; font: 500 15px/1.4 var(--global-heading-font-family); color: var(--global-palette4); text-decoration: none; }
.woocommerce-MyAccount-navigation li a:hover { background: #f1f5f9; color: #0b2239; }
.woocommerce-MyAccount-navigation li.is-active a { background: #e8f1fa; color: #0b2239; font-weight: 600; }
.woocommerce-MyAccount-content { font-size: 17px; }
.woocommerce-MyAccount-content h2 { margin: 0 0 20px; font-size: 30px; line-height: 1.15; }
.woocommerce-MyAccount-content h3 { margin: 28px 0 12px; font-size: 22px; line-height: 1.2; }
@media (max-width: 767px) {
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Dashboard ---- */
.cc-acct-user { display: flex; align-items: center; gap: 15px; margin: 0 0 28px; }
.cc-acct-user img { width: 60px; height: 60px; border-radius: 50%; }
.cc-acct-user h3 { margin: 0; font-size: 24px; line-height: 1.2; color: var(--global-palette3); }
/* The three status cards (credits, Concierge, ONEPass) are the account's summary: tinted, a little larger, lifted off
   the page, and closed off from the shortcut tiles below by a line. */
.cc-acct-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 40px; padding: 0 0 40px; border-bottom: 1px solid var(--global-palette7); }
.cc-acct-card { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-height: 172px; padding: 28px 28px 24px; border: 1px solid #d3deeb; border-radius: 14px; background: linear-gradient(180deg, #f3f7fc 0%, #eaf1f9 100%); box-shadow: 0 6px 18px rgba(11, 34, 57, .07); }
.cc-acct .cc-acct-card > *, .cc-acct .cc-acct-tile > *, .cc-acct .cc-acct-user > * { margin: 0; }
.cc-acct-k { font: 700 12px/1.4 var(--global-heading-font-family); letter-spacing: .12em; text-transform: uppercase; color: var(--global-palette6); }
.cc-acct-v { font: 800 44px/1 var(--global-heading-font-family); color: #0b2239; }
.cc-acct-v small { font-size: 14px; font-weight: 600; color: var(--global-palette6); }
.cc-acct-logo img { display: block; width: auto; height: 34px; }
.cc-acct-st { display: inline-flex; align-items: center; gap: 7px; padding: 4px 12px; border-radius: 999px; font: 700 14px/1.5 var(--global-heading-font-family); }
.cc-acct-st::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.cc-acct-st--on { background: #e6f4ec; color: #1f7a4d; } .cc-acct-st--on::before { background: #1f7a4d; }
.cc-acct-st--off { background: #fff; color: #626262; } .cc-acct-st--off::before { background: #a0a7b1; }
.cc-acct .cc-acct-go { margin-top: auto; font: 600 15.5px/1.4 var(--global-heading-font-family); }
.cc-acct-go a { color: #0974c1; text-decoration: none; }
.cc-acct p.cc-acct-grp { margin: 0 0 14px; font: 700 12.5px/1.4 var(--global-heading-font-family); letter-spacing: .14em; text-transform: uppercase; color: var(--global-palette1); }
.cc-acct-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 40px; }
.woocommerce-MyAccount-content > h2 + .cc-acct-tiles { margin-top: 0; }
.cc-acct-tile { position: relative; display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; align-items: start; min-height: 104px; padding: 24px 24px; border: 1px solid var(--global-palette7); border-radius: 12px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.cc-acct-tile:hover, .cc-acct-tile:has(a:focus-visible) { border-color: #0974c1; box-shadow: 0 10px 24px rgba(9, 116, 193, .12); transform: translateY(-2px); }
.cc-acct-tile:has(a:focus-visible) { outline: 2px solid #0974c1; outline-offset: 3px; }
.cc-acct-ic { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: #e8f1fa; color: #0974c1; font-size: 22px; line-height: 1; }
.cc-acct-tt { font: 700 21px/1.25 var(--global-heading-font-family); }
.cc-acct-tt a { color: #0b2239; text-decoration: none; }
.cc-acct-tt a:focus-visible { outline: none; }
.cc-acct-tt a::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.cc-acct-tile:hover .cc-acct-tt a { color: #0974c1; }
.cc-acct .cc-acct-tile > .cc-acct-td { margin-top: 6px; font-size: 15px; line-height: 1.45; color: var(--global-palette6); }
.cc-acct-note { margin: 28px 0 0; padding: 18px 20px; border: 1px solid var(--global-palette7); border-radius: 12px; background: var(--global-palette8); font-size: 16px; }
@media (max-width: 900px) { .cc-acct-summary, .cc-acct-tiles { grid-template-columns: 1fr; } .cc-acct-card { min-height: 0; } }
/* Credit balance badge (was FluentSnippet "Woo My Account") */
.creditbalance { font-size: 24px; font-weight: 700; }
.creditbalance span { margin-left: 10px; padding: 3px; background: #01c217; color: #fff; }

/* ---- WooCommerce basics shared by the account screens and the shop ---- */
.woocommerce :is(a.button, button.button, input.button, #respond input#submit), .woocommerce-page :is(a.button, button.button, input.button),
.wc-block-components-button:not(.is-link) { display: inline-block; padding: .6em 1.3em; border: 0; border-radius: 6px; background: var(--global-palette-btn-bg); color: #fff; font: 700 16px/1.4 var(--global-heading-font-family); text-decoration: none; cursor: pointer; transition: background-color .15s ease; }
.woocommerce :is(a.button, button.button, input.button):hover, .woocommerce-page :is(a.button, button.button, input.button):hover { background: var(--global-palette-btn-bg-hover); color: #fff; }
.woocommerce :is(a.button, button.button, input.button):disabled, .woocommerce :is(a.button, button.button).disabled { opacity: .5; cursor: not-allowed; }
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font: 600 15px/1.4 var(--global-heading-font-family); color: var(--global-palette3); }
.woocommerce form .form-row :is(input.input-text, textarea, select), .woocommerce :is(input.input-text, select, textarea) { width: 100%; padding: 10px 12px; border: 1px solid #cbd2dc; border-radius: 6px; background: #fff; color: var(--global-palette3); font: 400 16px/1.4 var(--global-body-font-family); }
.woocommerce form .form-row :is(input.input-text, textarea, select):focus { border-color: var(--global-palette1); outline: 2px solid rgba(43, 108, 176, .2); outline-offset: 0; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { max-width: 520px; margin: 0; padding: 24px; border: 1px solid var(--global-palette7); border-radius: 12px; }
.woocommerce fieldset { margin: 24px 0; padding: 20px; border: 1px solid var(--global-palette7); border-radius: 12px; }
.woocommerce fieldset legend { padding: 0 8px; font: 700 16px/1.4 var(--global-heading-font-family); }
.woocommerce table.shop_table { width: 100%; margin: 0 0 24px; border: 1px solid var(--global-palette7); border-radius: 12px; border-collapse: separate; border-spacing: 0; font-size: 16px; }
.woocommerce table.shop_table :is(th, td) { padding: 12px 14px; border: 0; border-top: 1px solid var(--global-palette7); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table thead th { border-top: 0; background: var(--global-palette8); font: 700 13px/1.4 var(--global-heading-font-family); letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette5); }
.woocommerce table.shop_table thead th:first-child { border-top-left-radius: 12px; } .woocommerce table.shop_table thead th:last-child { border-top-right-radius: 12px; }
.woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { margin: 0 0 24px; padding: 14px 18px; border: 1px solid var(--global-palette7); border-radius: 10px; background: var(--global-palette8); color: var(--global-palette3); font-size: 16px; list-style: none; }
.woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { content: none; }
.woocommerce .woocommerce-message { border-color: #bfe3cd; background: #eef8f2; }
.woocommerce .woocommerce-error { border-color: #f0c2ba; background: #fdf1ef; }
.woocommerce :is(.woocommerce-info, .woocommerce-message) .button { float: right; margin: -4px 0 -4px 16px; padding: .35em 1em; font-size: 14px; }
.woocommerce address { font-style: normal; line-height: 1.6; }
.woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.woocommerce .woocommerce-Addresses::before, .woocommerce .woocommerce-Addresses::after { content: none; }
.woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; }
@media (max-width: 767px) { .woocommerce .woocommerce-Addresses { grid-template-columns: 1fr; } }
/* Address screen: the "Edit" link sits on the heading's line */
.woocommerce .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 10px; }
.woocommerce .woocommerce-Address-title::before, .woocommerce .woocommerce-Address-title::after { content: none; }
.woocommerce .woocommerce-Address-title :is(h2, h3) { float: none; margin: 0; font-size: 24px; }
.woocommerce .woocommerce-Address-title .edit { float: none; font: 600 15px/1.4 var(--global-heading-font-family); white-space: nowrap; }
.cc-acct > h2 { margin: 0 0 20px; }

/* ============================== shop ============================== */
/* The shop as the WordPress theme draws it: order forms (CartFlows steps), the cart, the classic checkout, the product
   list and product pages. Published through src/pages/bma-theme/. The WooCommerce basics these build on (buttons,
   fields, tables, notices) are in account.css. Templates: AIOS dev/bma-theme/bma-theme/ (woocommerce.php,
   single-cartflows_step.php). */

/* ---- Page widths set per page (theme inc/layout.php) ---- */
.wp-page--normal .wp-page__inner { max-width: var(--global-content-width); }
.wp-page--narrow .wp-page__inner { max-width: calc(842px + 2 * var(--global-content-edge-padding)); }
.wp-page--fullwidth .wp-page__inner { max-width: none; padding-inline: 0; }
.wp-page--pad-hide .wp-page__inner { padding-block: 0; }
.wp-page--pad-bottom .wp-page__inner { padding-top: 0; }
.wp-titleband--crumbs .bma-bc { padding: 13.5px 0; }

/* ---- Order forms: plain bar on top, one line underneath ---- */
.order-bar { border-bottom: 2px solid var(--global-palette7); background: #fff; }
.order-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; }
.order-bar img.order-bar__logo { display: block; flex: 0 1 auto; width: auto; height: 62px; max-width: 58vw; min-width: 0; object-fit: contain; object-position: left center; }
.order-bar__secure { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 700 16px/1 var(--global-heading-font-family); color: var(--global-palette3); white-space: nowrap; }
.wp-page--order .wp-page__inner { padding-block: 3rem 4rem; }
.wp-page--order.wp-page--fullwidth .wp-page__inner { padding-block: 0; }
.order-foot { border-top: 1px solid var(--global-palette7); }
.order-foot__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-block: 22px; font-size: 14px; color: var(--global-palette5); }
.order-foot__inner p { margin: 0; }
@media (max-width: 600px) { .order-bar img.order-bar__logo { height: 40px; } .order-bar__secure { font-size: 13px; } }
/* CartFlows draws its own checkout; our general table and field looks stay out of it */
.wcf-embed-checkout-form table.shop_table { border-radius: 0; font-size: inherit; }
.wcf-embed-checkout-form table.shop_table thead th { background: none; font: inherit; letter-spacing: 0; text-transform: none; color: inherit; border-radius: 0; }

/* ---- Product list ---- */
.woocommerce .woocommerce-result-count { margin: 0 0 24px; font-size: 15px; color: var(--global-palette6); }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; clear: both; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product { position: relative; display: flex; flex-direction: column; float: none; width: auto; margin: 0; padding: 20px; border: 1px solid var(--global-palette7); border-radius: 12px; background: #fff; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product a img { display: block; width: 100%; height: 180px; margin: 0 0 16px; object-fit: contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 0 6px; padding: 0; font: 700 20px/1.25 var(--global-heading-font-family); color: var(--global-palette3); }
.woocommerce ul.products li.product .price { display: block; margin: 0 0 16px; font-size: 16px; color: var(--global-palette5); }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: auto; }
.woocommerce span.onsale { position: absolute; top: 12px; right: 12px; left: auto; min-width: 0; min-height: 0; margin: 0; padding: 4px 10px; border-radius: 999px; background: var(--global-palette14, #f7630c); color: #fff; font: 700 12px/1.4 var(--global-heading-font-family); }
@media (max-width: 1000px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ---- Product page ---- */
.woocommerce div.product { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 48px; }
.woocommerce div.product::before, .woocommerce div.product::after { content: none; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images img { border-radius: 12px; }
.woocommerce div.product .product_title { margin: 0 0 12px; font-size: 36px; line-height: 1.1; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 20px; font-size: 22px; color: var(--global-palette3); }
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { content: none; }
.woocommerce .quantity .qty { width: 72px; padding: 9px 8px; border: 1px solid #cbd2dc; border-radius: 6px; font: 400 16px/1.4 var(--global-body-font-family); text-align: center; }
.woocommerce div.product .product_meta { font-size: 15px; color: var(--global-palette6); }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 4px; margin: 0 0 24px; padding: 0; border-bottom: 1px solid var(--global-palette7); list-style: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 0 -1px; padding: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 10px 14px; font: 600 15px/1.4 var(--global-heading-font-family); color: var(--global-palette5); text-decoration: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--global-palette1); background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--global-palette3); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; } /* the tab already says "Description" */
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { margin: 16px 0 20px; font-size: 28px; }
@media (max-width: 800px) { .woocommerce div.product { grid-template-columns: 1fr; } }

/* ---- Cart and classic checkout ---- */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { font-size: 17px; }
.woocommerce table.cart img { width: 64px; height: auto; border-radius: 6px; }
.woocommerce table.cart td.actions { padding: 14px; }
.woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; float: left; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; margin: 0; }
.woocommerce table.cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; color: var(--global-palette6) !important; font-size: 20px; text-decoration: none; }
.woocommerce table.cart a.remove:hover { background: #fdf1ef; color: #b82105 !important; }
.woocommerce .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce .cart-collaterals::before, .woocommerce .cart-collaterals::after { content: none; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: min(100%, 460px); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { margin: 0 0 14px; font-size: 24px; line-height: 1.2; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; margin: 0; padding: .8em 1.3em; font-size: 18px; text-align: center; }
.woocommerce .return-to-shop { margin: 0; }
.woocommerce form.checkout #customer_details { margin-bottom: 32px; }
.woocommerce #payment { border: 1px solid var(--global-palette7); border-radius: 12px; background: var(--global-palette8); }
.woocommerce #payment ul.payment_methods { margin: 0; padding: 18px; border-bottom: 1px solid var(--global-palette7); list-style: none; }
.woocommerce #payment div.form-row { margin: 0; padding: 18px; }
.woocommerce #payment #place_order { float: none; width: 100%; padding: .8em 1.3em; font-size: 18px; }


/* ============================== Credit History (My Account) ============================== */
/* The Anytime Credits ledger: parts/account-credit-history.php. Replaced the FluentSnippets "Credit Debit History Table"
   and "Credit History Table CSS" (2026-10-07). */
.cc-ledger__as { margin: 0 0 16px; padding: 8px 14px; border-radius: 8px; background: #fff7e0; font-size: 14px; color: #6b5200; }
.cc-ledger__table { width: 100%; margin: 0 0 24px; border: 1px solid var(--global-palette7); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 16px; }
.cc-ledger__table th, .cc-ledger__table td { padding: 14px 16px; border: 0; border-top: 1px solid var(--global-palette7); text-align: left; vertical-align: top; }
.cc-ledger__table thead th { border-top: 0; background: var(--global-palette8); font: 700 12.5px/1.4 var(--global-heading-font-family); letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette5); white-space: nowrap; }
.cc-ledger__date { width: 130px; white-space: nowrap; color: var(--global-palette5); }
.cc-ledger__amt { width: 96px; }
.cc-ledger__amt span { font: 700 17px/1.3 var(--global-heading-font-family); color: #0b2239; }
.cc-ledger__type { width: 120px; }
.cc-ledger__type span { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #f1f3f6; font: 600 13px/1.5 var(--global-heading-font-family); color: var(--global-palette5); }
.cc-ledger__note { line-height: 1.5; color: var(--global-palette4); overflow-wrap: anywhere; }
.cc-ledger__table tr.is-credit td { background: #f1f9f4; }
.cc-ledger__table tr.is-credit .cc-ledger__amt span { color: #1f7a4d; }
.cc-ledger__table tr.is-credit .cc-ledger__type span { background: #e6f4ec; color: #1f7a4d; }
.cc-ledger__pages { display: flex; flex-wrap: wrap; gap: 6px; }
.cc-ledger__pages a, .cc-ledger__pages span { min-width: 36px; padding: 6px 10px; border: 1px solid var(--global-palette7); border-radius: 8px; font: 600 14px/1.4 var(--global-heading-font-family); text-align: center; text-decoration: none; color: var(--global-palette4); }
.cc-ledger__pages a:hover { border-color: var(--global-palette2); color: var(--global-palette2); }
.cc-ledger__pages .is-current { border-color: #0b2239; background: #0b2239; color: #fff; }
/* Phones: each line becomes a small card */
@media (max-width: 640px) {
  .cc-ledger__table, .cc-ledger__table tbody, .cc-ledger__table tr, .cc-ledger__table td { display: block; width: auto; }
  .cc-ledger__table { border: 0; border-radius: 0; overflow: visible; }
  .cc-ledger__table thead { display: none; }
  .cc-ledger__table tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--global-palette7); border-radius: 12px; }
  .cc-ledger__table tr.is-credit { background: #f1f9f4; }
  .cc-ledger__table td { padding: 0; border: 0; background: none !important; }
  .cc-ledger__date { grid-column: 1; grid-row: 1; }
  .cc-ledger__amt { grid-column: 2; grid-row: 1; text-align: right; }
  .cc-ledger__type { grid-column: 1 / -1; }
  .cc-ledger__note { grid-column: 1 / -1; }
}

/* ============================== Log in (My Account, logged out) ============================== */
/* A centred card: welcome line (inc/account.php), WooCommerce's login form, a help line. Also the lost-password form. */
.cc-login-page .wp-page__inner { max-width: calc(460px + 2 * var(--global-content-edge-padding)); padding-block: 3.5rem 5rem; }
.cc-login-page .woocommerce > h2 { display: none; } /* WooCommerce's bare "Login" heading; ours is in the welcome */
.cc-login__intro { margin: 0 0 22px; text-align: center; }
.cc-login__intro h2 { margin: 0 0 8px; font-size: 32px; line-height: 1.15; }
.cc-login__intro p { margin: 0; font-size: 17px; color: var(--global-palette5); }
.cc-login-page .woocommerce form.login, .cc-login-page .woocommerce form.lost_reset_password { max-width: none; margin: 0; padding: 32px 32px 26px; border: 1px solid #d3deeb; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(11, 34, 57, .08); }
.cc-login-page .woocommerce form .form-row { float: none; width: auto; margin: 0 0 18px; }
.cc-login-page .woocommerce form .form-row label { font-size: 15px; }
.cc-login-page .woocommerce form .form-row .input-text { padding: 12px 14px; font-size: 17px; }
.cc-login-page .woocommerce form .password-input { display: block; position: relative; }
.cc-login-page .woocommerce form .show-password-input { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); border: 0; background: none; cursor: pointer; }
.cc-login-page .woocommerce form.login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-direction: column; gap: 16px; margin-bottom: 14px; }
.cc-login-page .woocommerce form.login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 400 15px/1.4 var(--global-body-font-family); color: var(--global-palette5); }
.cc-login-page .woocommerce form .button { float: none; width: 100%; margin: 0; padding: .8em 1.3em; font-size: 18px; text-align: center; }
.cc-login-page .woocommerce form.login .lost_password { margin: 0; font-size: 15px; text-align: center; }
.cc-login-page .woocommerce form.lost_reset_password > p:first-of-type { margin-top: 0; font-size: 16px; color: var(--global-palette5); }
.cc-login-page .entry-content p.cc-login__help { margin: 26px 0 0; font-size: 15px; text-align: center; color: var(--global-palette5); }
@media (max-width: 520px) { .cc-login-page .woocommerce form.login, .cc-login-page .woocommerce form.lost_reset_password { padding: 24px 20px 20px; } .cc-login__intro h2 { font-size: 28px; } }
