/*
 * Commerce styles — WooCommerce cart, checkout and my account.
 *
 * Cart, Checkout and My Account render WooCommerce's classic shortcode markup
 * through index.php, so every rule below targets WooCommerce's own class names and
 * stays inside .aqc-page: nothing here can reach the designed business pages, which
 * load static-page.css or about.css instead. Vendor files are never edited.
 *
 * Palette, radii, container width, control height and type scale match
 * assets/css/static-page.css and about.css, so the transaction pages read as the
 * same brand as the ten business pages.
 *
 * Load order: WooCommerce's own stylesheets can arrive after this file, and several
 * of its rules are more specific (.woocommerce table.shop_table, #payment,
 * .woocommerce form .form-row input.input-text, .woocommerce table.cart td.actions
 * .coupon .input-text, .woocommerce-cart .cart-collaterals .cart_totals ...). Rules
 * that reshape vendor output therefore carry a deeper scope — .aqc-page plus the
 * .woocommerce wrapper and, where it helps, index.php's WooCommerce page class — and
 * !important on colour and on the handful of properties vendors hard-set (button
 * skins, notice icons, payment box, table cell padding). This is the same hedge the
 * file already used. WooCommerce's own class names are matched as it renders them,
 * case sensitively.
 *
 * index.php adds woocommerce-cart / woocommerce-checkout / woocommerce-account to
 * <main class="aqc-page"> for these hooks only. No template or query logic changes.
 *
 * Covered states
 *   Cart        — empty cart panel and return-to-shop button; filled cart table with
 *                 thumbnails, quantity, remove, coupon row and update button; cart
 *                 totals with subtotal, coupon, fees, shipping calculator, shipping
 *                 methods, taxes and order total; proceed-to-checkout button;
 *                 cross-sells.
 *   Checkout    — returning-customer and coupon prompts; two-column shell with the
 *                 billing / shipping / account / order-note field cards on the left
 *                 and the order review card on the right; review order table;
 *                 payment methods, payment box, terms checkbox, privacy note and
 *                 place-order button; order-received overview and order details.
 *   My Account  — logged-out login and register columns; account navigation in every
 *                 state (default, hover, focus, is-active); dashboard, orders table
 *                 with status labels and view-order buttons, order view, downloads,
 *                 addresses, account details form, payment methods and notices.
 */

/* Page shell ------------------------------------------------------------- */

.aqc-page {
  --aqc-blue: #0F5FB8;
  --aqc-blue-dark: #0A4D95;
  --aqc-cyan: #1697B8;
  --aqc-navy: #0D1B2A;
  --aqc-white: #FFFFFF;
  --aqc-surface: #EEF3F7;
  --aqc-alt: #F5F7FA;
  --aqc-border: #DBE3EA;
  --aqc-line: #B9C8D6;
  --aqc-ink: #17212B;
  --aqc-body: #40505E;
  --aqc-muted: #687684;
  --aqc-green: #2F7B4B;
  --aqc-amber: #A86A12;
  --aqc-red: #B42318;
  --aqc-radius: 8px;
  --aqc-control: 44px;
  --aqc-wrap: 1220px;
  --aqc-shadow: 0 10px 30px rgba(13, 27, 42, 0.06);

  background: #fff;
  color: var(--aqc-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  padding: 40px 0 64px;
}

.aqc-page,
.aqc-page *,
.aqc-page *::before,
.aqc-page *::after { box-sizing: border-box; }

.aqc-wrap { max-width: var(--aqc-wrap); margin: 0 auto; padding: 0 24px; }

.aqc-head { margin-bottom: 22px; }
.aqc-head h1 { margin: 0; font-size: 34px; line-height: 1.2; letter-spacing: -0.02em; color: var(--aqc-ink); }

.aqc-body { color: var(--aqc-body); font-size: 15px; line-height: 1.7; }
.aqc-body > * + * { margin-top: 16px; }
.aqc-body h2 { margin: 34px 0 10px; font-size: 24px; color: var(--aqc-ink); }
.aqc-body h3 { margin: 26px 0 8px; font-size: 19px; color: var(--aqc-ink); }
.aqc-body a { color: var(--aqc-blue); }
.aqc-body img, .aqc-body iframe { max-width: 100%; height: auto; }

.aqc-list { list-style: none; padding: 0; margin: 0; }
.aqc-list li { padding: 12px 0; border-bottom: 1px solid var(--aqc-border); }
.aqc-list a { font-weight: 700; text-decoration: none; }

/* The shortcode output (and the block wrapping it) must never widen the column. */
.aqc-page .aqc-body,
.aqc-page .woocommerce { min-width: 0; max-width: 100%; }
.aqc-page .woocommerce::after { content: ""; display: block; clear: both; }

/* Headings inside WooCommerce output ------------------------------------- */

.aqc-page .woocommerce h2,
.aqc-page .woocommerce h3 { letter-spacing: -0.01em; }

.aqc-page .woocommerce > h2,
.aqc-page .woocommerce .cart_totals > h2,
.aqc-page .woocommerce .cross-sells > h2,
.aqc-page .woocommerce #order_review_heading,
.aqc-page .woocommerce .woocommerce-order-details > h2,
.aqc-page .woocommerce .woocommerce-customer-details > h2 {
  font-size: 21px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--aqc-ink);
}

.aqc-page .woocommerce form.checkout h3,
.aqc-page .woocommerce .woocommerce-billing-fields > h3,
.aqc-page .woocommerce .woocommerce-shipping-fields > h3,
.aqc-page .woocommerce .woocommerce-additional-fields > h3 {
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 700;
  color: var(--aqc-ink);
}

/* Buttons ---------------------------------------------------------------- */

.aqc-page .woocommerce .button,
.aqc-page .woocommerce a.button,
.aqc-page .woocommerce button.button,
.aqc-page .woocommerce input.button,
.aqc-page .woocommerce input[type="submit"],
.aqc-page .woocommerce .woocommerce-button,
.aqc-page .woocommerce #place_order {
  min-height: var(--aqc-control);
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--aqc-blue) !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* WooCommerce draws an icon glyph before layout buttons; the brand button does not
   use it, and dropping it keeps the button box predictable if the icon font is
   unavailable. */
.aqc-page .woocommerce .button::before,
.aqc-page .woocommerce .button::after { content: none !important; display: none !important; }

.aqc-page .woocommerce .button:hover,
.aqc-page .woocommerce .button:focus,
.aqc-page .woocommerce a.button:hover,
.aqc-page .woocommerce button.button:hover,
.aqc-page .woocommerce input.button:hover,
.aqc-page .woocommerce input[type="submit"]:hover,
.aqc-page .woocommerce #place_order:hover {
  background: var(--aqc-blue-dark) !important;
  color: #fff !important;
}

.aqc-page .woocommerce .button[disabled],
.aqc-page .woocommerce .button:disabled,
.aqc-page .woocommerce input[type="submit"][disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Secondary buttons — continue shopping, update cart, table row actions ------- */

.aqc-page .woocommerce .button.wc-backward,
.aqc-page .woocommerce .button.wc-forward,
.aqc-page .woocommerce button[name="update_cart"],
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-actions .button,
.aqc-page .woocommerce .woocommerce-MyAccount-downloads-file,
.aqc-page .woocommerce .shipping-calculator-button {
  background: #fff !important;
  color: var(--aqc-blue) !important;
  border-color: var(--aqc-line) !important;
}

.aqc-page .woocommerce .button.wc-backward:hover,
.aqc-page .woocommerce .button.wc-forward:hover,
.aqc-page .woocommerce button[name="update_cart"]:hover,
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-actions .button:hover,
.aqc-page .woocommerce .woocommerce-MyAccount-downloads-file:hover,
.aqc-page .woocommerce .shipping-calculator-button:hover {
  border-color: var(--aqc-blue) !important;
  background: #F7FBFF !important;
  color: var(--aqc-blue-dark) !important;
}

.aqc-page .woocommerce .woocommerce-PaymentMethod .button.delete,
.aqc-page .woocommerce .button.delete {
  background: #fff !important;
  color: var(--aqc-red) !important;
  border-color: #E7C6C2 !important;
}

/* Buttons that carry the main action of their card ---------------------------- */

.aqc-page .woocommerce .wc-proceed-to-checkout .checkout-button,
.aqc-page .woocommerce #place_order,
.aqc-page .woocommerce .woocommerce-form-login__submit,
.aqc-page .woocommerce .woocommerce-form-register__submit { width: 100%; }

.aqc-page.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
  min-height: 52px;
  padding: 14px 22px;
  font-size: 15px;
}

.aqc-page .woocommerce .woocommerce-form-login__submit,
.aqc-page .woocommerce .woocommerce-form-register__submit { width: auto; }

/* Notices ----------------------------------------------------------------- */

.aqc-page .woocommerce .woocommerce-message,
.aqc-page .woocommerce .woocommerce-Message,
.aqc-page .woocommerce .woocommerce-info,
.aqc-page .woocommerce .woocommerce-error,
.aqc-page .woocommerce .woocommerce-noreviews,
.aqc-page .woocommerce p.no-comments {
  list-style: none;
  margin: 0 0 22px;
  padding: 14px 18px 14px 20px;
  border: 1px solid var(--aqc-border);
  border-left: 4px solid var(--aqc-blue);
  border-radius: var(--aqc-radius);
  background: var(--aqc-surface);
  color: var(--aqc-body);
  font-size: 14px;
  line-height: 1.65;
}

.aqc-page .woocommerce .woocommerce-message::before,
.aqc-page .woocommerce .woocommerce-Message::before,
.aqc-page .woocommerce .woocommerce-info::before,
.aqc-page .woocommerce .woocommerce-error::before,
.aqc-page .woocommerce .woocommerce-noreviews::before {
  content: none !important;
  display: none !important;
}

.aqc-page .woocommerce .woocommerce-message,
.aqc-page .woocommerce .woocommerce-Message,
.aqc-page .woocommerce .woocommerce-noreviews {
  border-left-color: var(--aqc-green);
  background: #F2F8F4;
}

.aqc-page .woocommerce .woocommerce-error {
  border-left-color: var(--aqc-red);
  background: #FDF4F3;
  color: var(--aqc-red);
}

.aqc-page .woocommerce .woocommerce-error li { margin: 4px 0; }
.aqc-page .woocommerce .woocommerce-error li:first-child { margin-top: 0; }
.aqc-page .woocommerce .woocommerce-error li:last-child { margin-bottom: 0; }
.aqc-page .woocommerce .woocommerce-error a,
.aqc-page .woocommerce .woocommerce-info a,
.aqc-page .woocommerce .woocommerce-message a { font-weight: 700; }

.aqc-page .woocommerce .woocommerce-message .button,
.aqc-page .woocommerce .woocommerce-info .button { margin-left: 12px; min-height: 38px; padding: 8px 16px; }

.aqc-page .woocommerce .woocommerce-notices-wrapper:empty { display: none; }
.aqc-page .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 18px; }

/* Form fields --------------------------------------------------------------- */

/* The deep .form-row path is deliberate: WooCommerce's own
   ".woocommerce form .form-row input.input-text" rule is otherwise a match for
   specificity and would win on load order. */
.aqc-page .woocommerce form .form-row .input-text,
.aqc-page .woocommerce form .form-row input[type="text"],
.aqc-page .woocommerce form .form-row input[type="email"],
.aqc-page .woocommerce form .form-row input[type="tel"],
.aqc-page .woocommerce form .form-row input[type="url"],
.aqc-page .woocommerce form .form-row input[type="password"],
.aqc-page .woocommerce form .form-row input[type="number"],
.aqc-page .woocommerce form .form-row input[type="search"],
.aqc-page .woocommerce form .form-row select,
.aqc-page .woocommerce form .form-row textarea {
  width: 100%;
  min-height: var(--aqc-control);
  margin: 0;
  padding: 10px 13px;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: #fff;
  color: var(--aqc-ink);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: none;
}

/* Fields outside a .form-row: the cart coupon input, quantity boxes, stray
   search boxes WooCommerce prints on these pages. */
.aqc-page .woocommerce input.input-text,
.aqc-page .woocommerce input[type="text"],
.aqc-page .woocommerce input[type="email"],
.aqc-page .woocommerce input[type="tel"],
.aqc-page .woocommerce input[type="password"],
.aqc-page .woocommerce input[type="number"],
.aqc-page .woocommerce input[type="search"],
.aqc-page .woocommerce select,
.aqc-page .woocommerce textarea {
  min-height: var(--aqc-control);
  padding: 10px 13px;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: #fff;
  color: var(--aqc-ink);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: none;
}

.aqc-page .woocommerce input::placeholder,
.aqc-page .woocommerce textarea::placeholder { color: var(--aqc-muted); }

.aqc-page .woocommerce form .form-row input:focus,
.aqc-page .woocommerce form .form-row select:focus,
.aqc-page .woocommerce form .form-row textarea:focus,
.aqc-page .woocommerce input.input-text:focus,
.aqc-page .woocommerce select:focus,
.aqc-page .woocommerce textarea:focus {
  outline: 2px solid var(--aqc-blue);
  outline-offset: 1px;
  border-color: var(--aqc-blue);
}

.aqc-page .woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.aqc-page .woocommerce form .form-row label {
  display: block;
  margin: 0 0 7px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--aqc-ink);
}
.aqc-page .woocommerce form .form-row .required { color: var(--aqc-red); text-decoration: none; font-weight: 700; }
.aqc-page .woocommerce form .form-row .optional { color: var(--aqc-muted); font-weight: 400; }
.aqc-page .woocommerce form .form-row .description { margin-top: 6px; font-size: 12.5px; line-height: 1.6; color: var(--aqc-muted); }

/* Checkboxes and radios ------------------------------------------------------ */

.aqc-page .woocommerce input[type="checkbox"],
.aqc-page .woocommerce input[type="radio"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 4px;
  accent-color: var(--aqc-blue);
  flex: 0 0 auto;
}

.aqc-page .woocommerce .woocommerce-form__label-for-checkbox,
.aqc-page .woocommerce form .form-row label.checkbox,
.aqc-page .woocommerce form .form-row label.radio {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--aqc-body);
  cursor: pointer;
}

/* "Ship to a different address?" reads as a section toggle, not a field label. */
.aqc-page .woocommerce form.checkout #ship-to-different-address {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 700;
}
.aqc-page .woocommerce form.checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  font-weight: 700;
  color: var(--aqc-ink);
}

/* Validation states ---------------------------------------------------------- */

.aqc-page .woocommerce form .form-row.woocommerce-invalid label { color: var(--aqc-red); }
.aqc-page .woocommerce form .form-row.woocommerce-invalid .input-text,
.aqc-page .woocommerce form .form-row.woocommerce-invalid input,
.aqc-page .woocommerce form .form-row.woocommerce-invalid select,
.aqc-page .woocommerce form .form-row.woocommerce-invalid textarea { border-color: var(--aqc-red); background: #FDF4F3; }
.aqc-page .woocommerce form .form-row.woocommerce-validated .input-text,
.aqc-page .woocommerce form .form-row.woocommerce-validated input,
.aqc-page .woocommerce form .form-row.woocommerce-validated select { border-color: var(--aqc-green); }

/* Enhanced selects (country / state) ---------------------------------------- */

.aqc-page .woocommerce .select2-container { width: 100% !important; }
.aqc-page .woocommerce .select2-container .select2-selection--single {
  height: var(--aqc-control);
  min-height: var(--aqc-control);
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: #fff;
}
.aqc-page .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 34px 0 13px;
  line-height: 42px;
  color: var(--aqc-ink);
  font-size: 14px;
}
.aqc-page .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; right: 6px; }
.aqc-page .woocommerce .select2-dropdown {
  border-color: var(--aqc-border);
  border-radius: 6px;
  font-size: 14px;
}

/* Coupon form (line above checkout, and the cart's "Have a coupon?" toggle) --- */

.aqc-page .woocommerce form.woocommerce-form-coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 0 0 22px;
  padding: 18px 20px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-alt);
}
.aqc-page .woocommerce form.woocommerce-form-coupon > p { grid-column: 1 / -1; margin: 0; font-size: 13.5px; color: var(--aqc-muted); }
.aqc-page .woocommerce form.woocommerce-form-coupon .form-row { margin: 0; }
.aqc-page .woocommerce form.woocommerce-form-coupon button[name="apply_coupon"] { white-space: nowrap; }

/* Privacy / terms copy under the place-order button -------------------------- */

.aqc-page .woocommerce .woocommerce-privacy-policy-text,
.aqc-page .woocommerce .woocommerce-terms-and-conditions { font-size: 12.5px; line-height: 1.65; color: var(--aqc-muted); }
.aqc-page .woocommerce .woocommerce-terms-and-conditions-wrapper { margin-top: 14px; }

/* Tables -------------------------------------------------------------------- */

.aqc-page .woocommerce table.shop_table {
  width: 100%;
  margin: 0 0 22px;
  border: 1px solid var(--aqc-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--aqc-radius);
  overflow: hidden;
  table-layout: auto;
  background: #fff;
  color: var(--aqc-body);
}

.aqc-page .woocommerce table.shop_table th,
.aqc-page .woocommerce table.shop_table td {
  padding: 13px 14px;
  border: 0;
  border-bottom: 1px solid var(--aqc-border);
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

.aqc-page .woocommerce table.shop_table thead th {
  background: var(--aqc-alt);
  color: var(--aqc-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.aqc-page .woocommerce table.shop_table tfoot th,
.aqc-page .woocommerce table.shop_table tfoot td {
  border-bottom: 1px solid var(--aqc-border);
  font-weight: 700;
  color: var(--aqc-ink);
}

/* The table draws its own outer edge, so the last body row needs no bottom border
   of its own — but a following tfoot does need its top edge back. */
.aqc-page .woocommerce table.shop_table tbody tr:last-child td,
.aqc-page .woocommerce table.shop_table tbody tr:last-child th { border-bottom: 0; }

.aqc-page .woocommerce table.shop_table tfoot tr:first-child th,
.aqc-page .woocommerce table.shop_table tfoot tr:first-child td { border-top: 1px solid var(--aqc-border); }

.aqc-page .woocommerce table.shop_table tfoot tr:last-child th,
.aqc-page .woocommerce table.shop_table tfoot tr:last-child td { border-bottom: 0; }

/* Cart contents ------------------------------------------------------------- */

.aqc-page .woocommerce table.shop_table td.product-thumbnail img {
  display: block;
  width: 64px;
  height: auto;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: var(--aqc-alt);
}

.aqc-page .woocommerce table.shop_table td.product-name a {
  color: var(--aqc-ink);
  font-weight: 700;
  text-decoration: none;
}
.aqc-page .woocommerce table.shop_table td.product-name a:hover { color: var(--aqc-blue); text-decoration: underline; }
.aqc-page .woocommerce table.shop_table td.product-name .variation { margin: 4px 0 0; font-size: 12.5px; color: var(--aqc-muted); }
.aqc-page .woocommerce table.shop_table td.product-name .variation dt,
.aqc-page .woocommerce table.shop_table td.product-name .variation dd { display: inline; margin: 0 4px 0 0; }
.aqc-page .woocommerce table.shop_table td.product-name .variation p { margin: 0; }
.aqc-page .woocommerce table.shop_table .backorder_notification { display: block; margin-top: 4px; font-size: 12.5px; color: var(--aqc-amber); }

.aqc-page .woocommerce table.shop_table td.product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: var(--aqc-surface);
  color: var(--aqc-red) !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.aqc-page .woocommerce table.shop_table td.product-remove a.remove:hover,
.aqc-page .woocommerce table.shop_table td.product-remove a.remove:focus {
  background: var(--aqc-red);
  color: #fff !important;
}

.aqc-page .woocommerce .quantity { display: inline-flex; align-items: center; }
.aqc-page .woocommerce .quantity input.qty,
.aqc-page .woocommerce .quantity .input-text {
  width: 78px;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: #fff;
  color: var(--aqc-ink);
  font-family: inherit;
  font-size: 14px;
  text-align: center;
}

.aqc-page .woocommerce table.shop_table td.product-price,
.aqc-page .woocommerce table.shop_table td.product-subtotal,
.aqc-page .woocommerce table.shop_table td.product-total { font-weight: 600; color: var(--aqc-ink); }
.aqc-page .woocommerce table.shop_table td.product-subtotal .amount { color: var(--aqc-blue-dark); font-weight: 700; }

/* Cart table footer: coupon field and the update-cart button ------------------ */

.aqc-page .woocommerce table.shop_table td.actions {
  padding: 16px 14px;
  background: var(--aqc-alt);
  border-bottom: 0;
}

.aqc-page .woocommerce table.shop_table td.actions .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  float: none;
  margin: 0 0 12px;
}

.aqc-page .woocommerce table.shop_table td.actions .coupon .input-text {
  flex: 1 1 200px;
  width: auto;
  max-width: 280px;
  min-height: var(--aqc-control);
  margin: 0;
  padding: 10px 13px;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
}

.aqc-page .woocommerce table.shop_table td.actions .coupon .button { flex: 0 0 auto; }

.aqc-page .woocommerce table.shop_table td.actions > button[name="update_cart"] { float: none; }

/* Empty cart ---------------------------------------------------------------- */

.aqc-page .woocommerce .cart-empty.woocommerce-info {
  margin: 0 0 18px;
  padding: 48px 24px;
  border: 1px dashed #C6D3DF;
  border-left-width: 1px;
  border-radius: var(--aqc-radius);
  background: var(--aqc-alt);
  color: var(--aqc-ink);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}

.aqc-page .woocommerce p.return-to-shop {
  margin: 0;
  padding: 0;
  text-align: center;
}
.aqc-page .woocommerce p.return-to-shop .button.wc-backward {
  background: var(--aqc-blue) !important;
  color: #fff !important;
  border-color: transparent !important;
  min-height: var(--aqc-control);
  padding: 12px 24px;
}
.aqc-page .woocommerce p.return-to-shop .button.wc-backward:hover {
  background: var(--aqc-blue-dark) !important;
}

/* Cart totals, shipping calculator, cross-sells ------------------------------ */

.aqc-page .woocommerce .cart-collaterals { margin-top: 10px; }
.aqc-page.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { max-width: 520px; margin-left: auto; }
.aqc-page .woocommerce .cart_totals > h2 { margin: 0 0 14px; }

.aqc-page .woocommerce .cart_totals table.shop_table { margin: 0 0 18px; background: #fff; }
.aqc-page .woocommerce .cart_totals table.shop_table th {
  width: 48%;
  background: var(--aqc-alt);
  color: var(--aqc-ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.aqc-page .woocommerce .cart_totals table.shop_table td { text-align: right; font-size: 14px; }
.aqc-page .woocommerce .cart_totals table.shop_table tr.order-total th,
.aqc-page .woocommerce .cart_totals table.shop_table tr.order-total td {
  border-bottom: 0;
  background: var(--aqc-surface);
  font-size: 16px;
  font-weight: 800;
  color: var(--aqc-ink);
}
.aqc-page .woocommerce .cart_totals table.shop_table tr.order-total .amount { color: var(--aqc-blue-dark); }
.aqc-page .woocommerce .cart_totals .woocommerce-shipping-destination,
.aqc-page .woocommerce .cart_totals .woocommerce-shipping-calculator { margin: 0 0 10px; font-size: 13px; color: var(--aqc-muted); }

.aqc-page .woocommerce .cart_totals .shipping-calculator-button {
  display: inline-block;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  background: none !important;
  color: var(--aqc-blue) !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: underline;
}
.aqc-page .woocommerce .cart_totals .shipping-calculator-button:hover { color: var(--aqc-blue-dark) !important; }

.aqc-page .woocommerce .cart_totals .shipping-calculator-form {
  margin: 12px 0 16px;
  padding: 18px 18px 6px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-alt);
}
.aqc-page .woocommerce .cart_totals .shipping-calculator-form .form-row { margin-bottom: 14px; }
.aqc-page .woocommerce .cart_totals .shipping-calculator-form .button { width: 100%; }

.aqc-page .woocommerce .woocommerce-shipping-methods,
.aqc-page .woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.aqc-page .woocommerce ul#shipping_method li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px;
  padding: 0;
  text-indent: 0;
  font-size: 13.5px;
}
.aqc-page .woocommerce ul#shipping_method li:last-child { margin-bottom: 0; }
.aqc-page .woocommerce ul#shipping_method li input { margin: 0 2px 0 0; }
.aqc-page .woocommerce ul#shipping_method li label { display: inline; font-weight: 400; }

.aqc-page.woocommerce-cart .woocommerce .cross-sells { margin-top: 34px; }
.aqc-page.woocommerce-cart .woocommerce .cross-sells > h2 { margin-bottom: 16px; }
.aqc-page.woocommerce-cart .woocommerce .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.aqc-page.woocommerce-cart .woocommerce .cross-sells ul.products li.product {
  float: none;
  width: 100%;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
}
.aqc-page.woocommerce-cart .woocommerce .cross-sells ul.products li.product img { border-radius: 6px; }

/* Checkout ------------------------------------------------------------------- */

/* Billing and shipping sit side by side while the page has room for them. */
.aqc-page .woocommerce form.checkout .col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin: 0 0 8px;
}

.aqc-page .woocommerce form.checkout .col2-set > .col-1,
.aqc-page .woocommerce form.checkout .col2-set > .col-2,
.aqc-page .woocommerce form.checkout .col2-set > .u-column1,
.aqc-page .woocommerce form.checkout .col2-set > .u-column2 {
  float: none;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.aqc-page .woocommerce form.checkout .col2-set > .col-1 > * + *,
.aqc-page .woocommerce form.checkout .col2-set > .col-2 > * + * { margin-top: 22px; }

/* The cards are the field groups, not the column wrappers: WooCommerce has shipped
   the checkout both with and without the .col2-set pair, and the field groups are
   the part that is always there. */
.aqc-page .woocommerce form.checkout #customer_details > * + * { margin-top: 22px; }

.aqc-page .woocommerce form.checkout .woocommerce-billing-fields,
.aqc-page .woocommerce form.checkout .woocommerce-shipping-fields,
.aqc-page .woocommerce form.checkout .woocommerce-additional-fields,
.aqc-page .woocommerce form.checkout .woocommerce-account-fields {
  margin: 0;
  padding: 22px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
}

.aqc-page .woocommerce form.checkout .woocommerce-shipping-fields .shipping_address { margin-top: 0; }
.aqc-page .woocommerce form.checkout .woocommerce-additional-fields textarea { min-height: 120px; }

.aqc-page .woocommerce form.checkout .form-row-first,
.aqc-page .woocommerce form.checkout .form-row-last { float: none; width: 100%; }

/* Order review: a card under the form, beside it on a wide screen ------------ */

.aqc-page .woocommerce #order_review_heading { margin: 26px 0 12px; }

.aqc-page .woocommerce #order_review {
  padding: 22px 22px 24px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-alt);
}

.aqc-page .woocommerce #order_review table.shop_table {
  margin: 0 0 18px;
  background: #fff;
}

.aqc-page .woocommerce #order_review .cart_item td.product-name { font-weight: 600; color: var(--aqc-ink); }
.aqc-page .woocommerce #order_review .cart_item td.product-name .product-quantity { color: var(--aqc-muted); font-weight: 400; }
.aqc-page .woocommerce #order_review .cart-discount th,
.aqc-page .woocommerce #order_review .cart-discount td { color: var(--aqc-green); font-weight: 600; }
.aqc-page .woocommerce #order_review .woocommerce-remove-coupon {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--aqc-red);
  text-decoration: underline;
}
.aqc-page .woocommerce #order_review table.shop_table tfoot td,
.aqc-page .woocommerce #order_review table.shop_table tfoot th { text-align: right; }
.aqc-page .woocommerce #order_review table.shop_table tfoot th { background: var(--aqc-alt); text-align: left; }
.aqc-page .woocommerce #order_review tr.order-total th,
.aqc-page .woocommerce #order_review tr.order-total td {
  background: var(--aqc-surface);
  border-bottom: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--aqc-ink);
}
.aqc-page .woocommerce #order_review tr.order-total .amount { color: var(--aqc-blue-dark); }

/* Field wrappers: full-width fields stay full width, the first/last pairs share a
   row while there is room, and stack again on a narrow screen. */
.aqc-page .woocommerce .woocommerce-billing-fields__field-wrapper,
.aqc-page .woocommerce .woocommerce-shipping-fields__field-wrapper,
.aqc-page .woocommerce .woocommerce-additional-fields__field-wrapper,
.aqc-page .woocommerce .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.aqc-page .woocommerce .woocommerce-billing-fields__field-wrapper > .form-row,
.aqc-page .woocommerce .woocommerce-shipping-fields__field-wrapper > .form-row,
.aqc-page .woocommerce .woocommerce-additional-fields__field-wrapper > .form-row,
.aqc-page .woocommerce .woocommerce-address-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
  margin: 0;
  float: none;
  width: 100%;
  max-width: 100%;
}

.aqc-page .woocommerce .woocommerce-billing-fields__field-wrapper > .form-row-first,
.aqc-page .woocommerce .woocommerce-billing-fields__field-wrapper > .form-row-last,
.aqc-page .woocommerce .woocommerce-shipping-fields__field-wrapper > .form-row-first,
.aqc-page .woocommerce .woocommerce-shipping-fields__field-wrapper > .form-row-last,
.aqc-page .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-first,
.aqc-page .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-last {
  grid-column: span 1;
}

/* Payment ------------------------------------------------------------------- */

/* WooCommerce sets the payment box with #payment rules, so the id stays in the
   selector here rather than being replaced by the class. */
.aqc-page .woocommerce #payment {
  margin-top: 4px;
  padding: 18px 18px 20px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
}

.aqc-page .woocommerce #payment ul.payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.aqc-page .woocommerce #payment ul.payment_methods li {
  padding: 12px 0;
  border-bottom: 1px solid var(--aqc-border);
  list-style: none;
}

.aqc-page .woocommerce #payment ul.payment_methods li:first-child { padding-top: 0; }
.aqc-page .woocommerce #payment ul.payment_methods li:last-child { padding-bottom: 0; border-bottom: 0; }
.aqc-page .woocommerce #payment ul.payment_methods li label {
  display: inline;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--aqc-ink);
}
.aqc-page .woocommerce #payment ul.payment_methods li img { max-height: 30px; width: auto; vertical-align: middle; margin-left: 6px; }

.aqc-page .woocommerce #payment .payment_box {
  margin: 10px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--aqc-border);
  border-radius: 6px;
  background: var(--aqc-surface);
  color: var(--aqc-body);
  font-size: 13px;
  line-height: 1.65;
}
.aqc-page .woocommerce #payment .payment_box::before { content: none !important; display: none !important; }
.aqc-page .woocommerce #payment .payment_box p { margin: 0 0 8px; }
.aqc-page .woocommerce #payment .payment_box p:last-child { margin-bottom: 0; }

.aqc-page .woocommerce #payment .form-row { margin: 14px 0 0; padding: 0; }
.aqc-page .woocommerce #payment .terms { margin: 0 0 14px; }
.aqc-page .woocommerce #payment .terms label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 400; line-height: 1.6; color: var(--aqc-body); }
.aqc-page .woocommerce #payment .terms input[type="checkbox"] { margin-top: 2px; }

/* Current WooCommerce prints the same checkbox without the .terms class, inside
   .woocommerce-terms-and-conditions-wrapper; both shapes are covered. */
.aqc-page .woocommerce #payment .woocommerce-terms-and-conditions-wrapper {
  margin: 14px 0 0;
  padding: 0;
}
.aqc-page .woocommerce #payment .woocommerce-terms-and-conditions-wrapper .form-row {
  margin: 0;
  padding: 0;
}
.aqc-page .woocommerce #payment .woocommerce-terms-and-conditions-checkbox-text {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--aqc-body);
}
.aqc-page .woocommerce #payment .woocommerce-terms-and-conditions-wrapper abbr.required {
  color: var(--aqc-red);
  border-bottom: 0;
  cursor: help;
}
.aqc-page .woocommerce #payment .woocommerce-privacy-policy-text {
  margin: 14px 0 0;
}
.aqc-page .woocommerce #payment .form-row label.checkbox { align-items: flex-start; }

.aqc-page .woocommerce #payment .form-row.place-order {
  margin: 18px 0 0;
  padding: 0;
  border-top: 1px solid var(--aqc-border);
  padding-top: 18px;
}
.aqc-page .woocommerce #payment #place_order {
  width: 100%;
  min-height: 54px;
  padding: 15px 24px;
  font-size: 15px;
}

/* Notices inside the form span the full width whatever the column state is. */
.aqc-page .woocommerce form.checkout .woocommerce-NoticeGroup { clear: both; }

.aqc-page .woocommerce form.checkout::after { content: ""; display: block; clear: both; }

/* Two columns for the checkout itself: details on the left, the order summary on
   the right. Floats rather than a grid row on purpose: #customer_details,
   #order_review_heading and #order_review are siblings, so a grid sizes its first
   row to the tall details column and pushes the order summary to the bottom of the
   page. A float ignores its neighbour's height. Below this width: one column. */
@media (min-width: 1080px) {
  .aqc-page .woocommerce form.checkout #customer_details {
    float: left;
    width: 61%;
    min-width: 0;
  }

  .aqc-page .woocommerce form.checkout #order_review_heading {
    float: right;
    clear: right;
    width: 34%;
    margin: 0 0 14px;
  }

  .aqc-page .woocommerce form.checkout #order_review {
    float: right;
    clear: right;
    width: 34%;
    min-width: 0;
  }

  /* Inside the narrow left column billing and shipping read better stacked. */
  .aqc-page .woocommerce form.checkout .col2-set { grid-template-columns: minmax(0, 1fr); }
}

/* Order received / thank-you -------------------------------------------------- */

.aqc-page .woocommerce .woocommerce-thankyou-order-received {
  margin: 0 0 20px;
  padding: 18px 22px;
  border: 1px solid var(--aqc-border);
  border-left: 4px solid var(--aqc-green);
  border-radius: var(--aqc-radius);
  background: #F2F8F4;
  color: var(--aqc-ink);
  font-size: 17px;
  font-weight: 700;
}

.aqc-page .woocommerce .woocommerce-order-overview {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 28px;
  padding: 0;
}

.aqc-page .woocommerce .woocommerce-order-overview li {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-alt);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aqc-muted);
}
.aqc-page .woocommerce .woocommerce-order-overview li strong {
  display: block;
  margin-top: 5px;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--aqc-ink);
}

.aqc-page .woocommerce .woocommerce-order-details > h2,
.aqc-page .woocommerce .woocommerce-customer-details > h2 { margin: 30px 0 14px; }
.aqc-page .woocommerce .woocommerce-customer-details address {
  padding: 18px 20px;
  border: 1px solid var(--aqc-border);
  border-left: 3px solid var(--aqc-blue);
  border-radius: var(--aqc-radius);
  background: #fff;
  font-style: normal;
  font-size: 14px;
  line-height: 1.75;
  color: var(--aqc-body);
}

/* My account ----------------------------------------------------------------- */

/* One grid for both states of the page. Everything spans the full width by
   default; the navigation takes the first column and the content the second, so
   the logged-out login screen (which has no navigation) still gets full width. */
.aqc-page.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.aqc-page.woocommerce-account .woocommerce > * { grid-column: 1 / -1; }
.aqc-page.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
.aqc-page.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }

.aqc-page .woocommerce .woocommerce-MyAccount-navigation {
  float: none;
  width: 100%;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
  overflow: hidden;
}

.aqc-page .woocommerce .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }

.aqc-page .woocommerce .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--aqc-border);
  list-style: none;
}
.aqc-page .woocommerce .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

.aqc-page .woocommerce .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 13px 16px;
  border: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--aqc-body);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.aqc-page .woocommerce .woocommerce-MyAccount-navigation li a:hover,
.aqc-page .woocommerce .woocommerce-MyAccount-navigation li a:focus {
  background: var(--aqc-alt);
  color: var(--aqc-blue);
}

.aqc-page .woocommerce .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--aqc-surface);
  box-shadow: inset 3px 0 0 var(--aqc-blue);
  color: var(--aqc-blue-dark);
  font-weight: 700;
}

.aqc-page .woocommerce .woocommerce-MyAccount-content { min-width: 0; width: auto; float: none; }
.aqc-page .woocommerce .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.aqc-page .woocommerce .woocommerce-MyAccount-content > p:last-child { margin-bottom: 0; }
.aqc-page .woocommerce .woocommerce-MyAccount-content > h2:first-child,
.aqc-page .woocommerce .woocommerce-MyAccount-content > h3:first-child { margin-top: 0; }

/* Login and register ---------------------------------------------------------- */

.aqc-page .woocommerce #customer_login,
.aqc-page .woocommerce .u-columns.col2-set#customer_login {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 28px;
  margin: 0;
}

.aqc-page .woocommerce #customer_login > .u-column1,
.aqc-page .woocommerce #customer_login > .u-column2,
.aqc-page .woocommerce #customer_login > .col-1,
.aqc-page .woocommerce #customer_login > .col-2 {
  float: none;
  width: 100%;
  min-width: 0;
}

.aqc-page .woocommerce #customer_login h2 {
  margin: 0 0 16px;
  font-size: 21px;
  font-weight: 800;
  color: var(--aqc-ink);
}

.aqc-page .woocommerce .woocommerce-form-login,
.aqc-page .woocommerce .woocommerce-form-register {
  padding: 24px 24px 26px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
  color: var(--aqc-body);
}

.aqc-page .woocommerce .woocommerce-form-login p:first-of-type,
.aqc-page .woocommerce .woocommerce-form-register p:first-of-type { margin-top: 0; }

.aqc-page .woocommerce .woocommerce-form-login__rememberme { margin: 0 0 18px; }
.aqc-page .woocommerce .woocommerce-LostPassword { margin: 14px 0 0; font-size: 13.5px; }
.aqc-page .woocommerce .woocommerce-LostPassword a { font-weight: 700; }

/* Orders, downloads and addresses --------------------------------------------- */

.aqc-page .woocommerce .woocommerce-MyAccount-content table.shop_table { margin-bottom: 20px; }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--aqc-blue); text-decoration: none; }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-number a:hover { text-decoration: underline; }

.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .order-status,
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status mark {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--aqc-border);
  border-radius: 999px;
  background: var(--aqc-alt);
  color: var(--aqc-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: none;
}
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-completed { border-color: #BFDCC8; background: #F2F8F4; color: var(--aqc-green); }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-processing { border-color: #BFD3E9; background: #F1F6FC; color: var(--aqc-blue-dark); }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-on-hold,
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-pending { border-color: #E7D6B4; background: #FDF7EC; color: var(--aqc-amber); }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-cancelled,
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-failed,
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-status .status-refunded { border-color: #E7C6C2; background: #FDF4F3; color: var(--aqc-red); }

.aqc-page .woocommerce .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.aqc-page .woocommerce .woocommerce-orders-table__cell-order-actions .button {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 13px;
}
.aqc-page .woocommerce .woocommerce-MyAccount-downloads-file {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 13px;
}

.aqc-page .woocommerce .woocommerce-Addresses,
.aqc-page .woocommerce .woocommerce-Addresses.col2-set {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  margin: 0;
}

.aqc-page .woocommerce .woocommerce-Addresses > .woocommerce-Address,
.aqc-page .woocommerce .woocommerce-Addresses > .col-1,
.aqc-page .woocommerce .woocommerce-Addresses > .col-2,
.aqc-page .woocommerce .woocommerce-Addresses > .u-column1,
.aqc-page .woocommerce .woocommerce-Addresses > .u-column2 {
  float: none;
  width: 100%;
  min-width: 0;
  padding: 20px 22px 22px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
}

.aqc-page .woocommerce .woocommerce-Address-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--aqc-border);
  padding-bottom: 12px;
}
.aqc-page .woocommerce .woocommerce-Address-title h2,
.aqc-page .woocommerce .woocommerce-Address-title h3 { margin: 0; font-size: 17px; font-weight: 700; color: var(--aqc-ink); }
.aqc-page .woocommerce .woocommerce-Address-title .edit { font-size: 13.5px; font-weight: 700; }

.aqc-page .woocommerce .woocommerce-Address address,
.aqc-page .woocommerce .woocommerce-MyAccount-content address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.75;
  color: var(--aqc-body);
}

/* Account forms: the address editor, the account details editor and the payment
   method form each read as a card, like the other panels on the page. */
.aqc-page.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
.aqc-page.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.aqc-page.woocommerce-account .woocommerce-MyAccount-content form#add_payment_method {
  margin: 0 0 22px;
  padding: 22px 22px 24px;
  border: 1px solid var(--aqc-border);
  border-radius: var(--aqc-radius);
  background: #fff;
}

.aqc-page.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields > p:last-child,
.aqc-page.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p:last-child { margin-bottom: 0; }

/* WooCommerce asks for these pairs to share a row; on a card that is narrow
   anyway they read better as one field per row, which is what the checkout does
   with the same classes. */
.aqc-page.woocommerce-account .woocommerce-MyAccount-content .form-row-first,
.aqc-page.woocommerce-account .woocommerce-MyAccount-content .form-row-last {
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.aqc-page.woocommerce-account .woocommerce-MyAccount-content fieldset {
  margin: 24px 0 0;
  padding: 0;
  border: 0;
}
.aqc-page.woocommerce-account .woocommerce-MyAccount-content legend {
  padding: 0;
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: var(--aqc-ink);
}
.aqc-page.woocommerce-account .woocommerce-MyAccount-content fieldset + fieldset,
.aqc-page.woocommerce-account .woocommerce-MyAccount-content fieldset:not(:first-child) {
  border-top: 1px solid var(--aqc-border);
  padding-top: 20px;
}
.aqc-page.woocommerce-account .woocommerce-MyAccount-content em {
  font-size: 13px;
  line-height: 1.6;
  color: var(--aqc-muted);
}

/* Saved payment methods. */
.aqc-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentMethods { list-style: none; margin: 0 0 20px; padding: 0; }
.aqc-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentMethod {
  padding: 16px 0;
  border-bottom: 1px solid var(--aqc-border);
  font-size: 14px;
  line-height: 1.7;
}
.aqc-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentMethod:last-child { border-bottom: 0; }

/* ==========================================================================
   Narrow screens

   WooCommerce also loads its own smallscreen stylesheet below 768px, and the
   vendor column rules for the checkout are keyed to 768px. Everything here is
   scoped deeper (.aqc-page plus the WooCommerce page class), so these rules win
   whichever order the two sheets arrive in, and the transaction pages have one
   predictable layout instead of two fighting over the breakpoints.
   ========================================================================== */

@media (max-width: 1079px) {
  /* The checkout columns live in the min-width: 1080px block above; this puts the
     page back into one column and undoes the vendor floats with it. */
  .aqc-page .woocommerce form.checkout #customer_details,
  .aqc-page .woocommerce form.checkout #order_review_heading,
  .aqc-page .woocommerce form.checkout #order_review {
    float: none !important;
    width: 100% !important;
    max-width: none;
  }

  .aqc-page .woocommerce form.checkout #order_review_heading { margin: 26px 0 12px; }
  .aqc-page .woocommerce form.checkout #order_review { clear: both; }
}

@media (max-width: 900px) {
  /* Billing and shipping stop sharing a row. */
  .aqc-page .woocommerce form.checkout .col2-set { grid-template-columns: minmax(0, 1fr); gap: 22px; }

  /* My Account: the navigation moves above the content and keeps its full width. */
  .aqc-page.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 22px; }

  /* The order overview reads as two columns rather than four. */
  .aqc-page .woocommerce .woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Login and register stack. min() keeps the track from exceeding the screen,
     which a bare 320px minimum would do below 368px. */
  .aqc-page .woocommerce #customer_login,
  .aqc-page .woocommerce .u-columns.col2-set#customer_login {
    grid-template-columns: minmax(min(320px, 100%), 1fr);
    gap: 22px;
  }
}
@media (max-width: 768px) {
  /* One field per row: the half-width pairs no longer share a row. */
  .aqc-page .woocommerce .woocommerce-billing-fields__field-wrapper,
  .aqc-page .woocommerce .woocommerce-shipping-fields__field-wrapper,
  .aqc-page .woocommerce .woocommerce-additional-fields__field-wrapper,
  .aqc-page .woocommerce .woocommerce-address-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Cards breathe less on a phone. */
  .aqc-page .woocommerce form.checkout .woocommerce-billing-fields,
  .aqc-page .woocommerce form.checkout .woocommerce-shipping-fields,
  .aqc-page .woocommerce form.checkout .woocommerce-additional-fields,
  .aqc-page .woocommerce form.checkout .woocommerce-account-fields,
  .aqc-page .woocommerce #order_review,
  .aqc-page .woocommerce #payment,
  .aqc-page .woocommerce .woocommerce-form-login,
  .aqc-page .woocommerce .woocommerce-form-register { padding: 18px 16px; }

  /* Wide tables become label/value stacks: WooCommerce writes the column name into
     data-title for exactly this, and hiding the row header keeps the label from
     appearing twice in the tables that carry both. Extra element on each selector
     so these beat the vendor smallscreen rules, and tr + naming avoids the vendor's
     zebra shading landing on the stacked rows. */
  .aqc-page .woocommerce table.shop_table_responsive thead { display: none; }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr { display: block; }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr + tr,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr + tr { border-top: 1px solid var(--aqc-border); }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr th,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr th { display: none; }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr td,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr td {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 10px 14px;
    border-bottom: 0;
    background: transparent;
    text-align: right;
    overflow-wrap: break-word;
  }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr td::before,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr td::before {
    content: attr(data-title);
    flex: 0 0 auto;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--aqc-muted);
    text-align: left;
  }

  /* Shipping carries a list and a calculator, so it reads as a block. */
  .aqc-page .woocommerce table.shop_table_responsive tbody tr.shipping td,
  .aqc-page .woocommerce table.shop_table_responsive tfoot tr.shipping td { display: block; }
  .aqc-page .woocommerce table.shop_table_responsive tr.shipping td::before { display: block; margin-bottom: 8px; }

  /* Cells that hold content rather than a labelled value. */
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-thumbnail,
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-name {
    display: block;
    padding-bottom: 4px;
    text-align: left !important;
  }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-thumbnail::before,
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-name::before { content: none; }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-remove {
    justify-content: flex-end;
    padding: 6px 14px;
  }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.product-remove::before { content: none; }

  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.actions {
    display: block;
    padding: 14px;
    background: var(--aqc-alt);
    text-align: left !important;
  }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.actions::before { content: none; }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.actions .coupon { margin-bottom: 12px; }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.actions .coupon .input-text { max-width: none; }
  .aqc-page .woocommerce table.shop_table_responsive tbody tr td.actions > button[name="update_cart"] { width: 100%; }
}
/* Hosted gateways (Stripe Elements, PayPal buttons) draw their own boxes inside
   #payment; keep them inside the card and on the brand radius without reworking
   their internals. */
.aqc-page .woocommerce #payment .wc-stripe-elements-field,
.aqc-page .woocommerce #payment .wc-ppcp-credit-card-gateway-card-container,
.aqc-page .woocommerce #payment .StripeElement,
.aqc-page .woocommerce #payment iframe { max-width: 100% !important; }

.aqc-page .woocommerce #payment .StripeElement {
  border-radius: 6px;
  border-color: var(--aqc-border);
}

/* A long value (an email, an order number) must never widen a card. */
.aqc-page .woocommerce table.shop_table td,
.aqc-page .woocommerce table.shop_table th,
.aqc-page .woocommerce address,
.aqc-page .woocommerce .woocommerce-order-overview li strong { overflow-wrap: break-word; }

@media (max-width: 560px) {
  /* The shell keeps a little less air, and the transaction pages only, so the
     designed pages are untouched. */
  .aqc-page.woocommerce-cart,
  .aqc-page.woocommerce-checkout,
  .aqc-page.woocommerce-account { padding: 26px 0 44px; }

  .aqc-page.woocommerce-cart .aqc-head h1,
  .aqc-page.woocommerce-checkout .aqc-head h1,
  .aqc-page.woocommerce-account .aqc-head h1 { font-size: 26px; }

  /* One item per row: the order overview, cross-sell products and the two address
     cards. */
  .aqc-page .woocommerce .woocommerce-order-overview { grid-template-columns: minmax(0, 1fr); }
  .aqc-page.woocommerce-cart .woocommerce .cross-sells ul.products { grid-template-columns: minmax(0, 1fr); }
  .aqc-page .woocommerce .woocommerce-Addresses,
  .aqc-page .woocommerce .woocommerce-Addresses.col2-set { grid-template-columns: minmax(0, 1fr); }

  /* Coupon forms: the field and its button take a row each, and the buttons that
     carry an action fill the width. */
  .aqc-page .woocommerce form.woocommerce-form-coupon { grid-template-columns: minmax(0, 1fr); }
  .aqc-page .woocommerce form.woocommerce-form-coupon button[name="apply_coupon"],
  .aqc-page .woocommerce p.return-to-shop .button.wc-backward { width: 100%; }

  /* Cards and log-in panels keep their radius and lose some padding. */
  .aqc-page .woocommerce .woocommerce-form-login,
  .aqc-page .woocommerce .woocommerce-form-register,
  .aqc-page .woocommerce #payment { padding: 16px 14px; }

  .aqc-page .woocommerce .cross-sells ul.products li.product { padding: 14px; }
  .aqc-page .woocommerce .woocommerce-shipping-fields .shipping_address { margin-top: 12px; }
}
