/*
 * ARG block cart/checkout/drawer styling.
 * Ported from the dev redesign; scoped entirely to WooCommerce block
 * components + the mini-cart drawer. Enqueued only after Flux is retired.
 */

:root {
  --awb-bg: #f8f9fa;
  --awb-card: #ffffff;
  --awb-line: #dee2e6;
  --awb-head: #1a1a1a;
  --awb-body: #333333;
  --awb-muted: #6c757d;
  --awb-acc: #0066cc;
  --awb-cyan: #00a8e8;
  --awb-grad: linear-gradient(135deg, #0066cc 0%, #00a8e8 100%);
  --awb-focus: 0 0 0 3px rgba(0, 102, 204, 0.15);
  --awb-ease: cubic-bezier(.22,.61,.36,1);
  --awb-shadow: 0 8px 24px rgba(30, 41, 59, 0.07);
}

/* ==== General text ==== */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart { color: var(--awb-body); }
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wc-block-cart .wp-block-heading,
.wc-block-components-checkout-order-summary__title-text { color: var(--awb-head); }
.wc-block-components-checkout-step__description { color: var(--awb-muted); }

/* ==== Inputs ==== */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-form select,
.wc-block-components-textarea {
  background: var(--awb-card) !important;
  color: var(--awb-head) !important;
  border: 1px solid #d0d7e2 !important;
  border-radius: 8px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
  border-color: var(--awb-acc) !important;
  box-shadow: var(--awb-focus) !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label,
.wc-block-components-checkbox__label { color: var(--awb-muted) !important; }

/* ==== Checkboxes / radios ==== */
.wp-block-woocommerce-checkout input[type="checkbox"],
.wp-block-woocommerce-cart input[type="checkbox"],
.wc-block-components-radio-control__input { accent-color: var(--awb-acc); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { color: #fff; }
.wc-block-components-checkbox__input[type="checkbox"] {
  border-color: #c2ccd9 !important;
  background: var(--awb-card) !important;
}
.wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: var(--awb-acc) !important;
  border-color: var(--awb-acc) !important;
}

/* ==== Shipping / payment option rows ==== */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
  background: var(--awb-card);
  border-color: var(--awb-line) !important;
  color: var(--awb-head);
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--awb-acc) !important;
}

/* ==== Order summary sidebar: white card, single consistent inset ==== */
.wc-block-components-sidebar {
  background: var(--awb-card);
  border: 1px solid var(--awb-line);
  border-radius: 14px;
  color: var(--awb-body);
  padding: 10px 20px 20px;
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: var(--awb-shadow);
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-totals-item,
.wc-block-components-sidebar .wc-block-cart__totals-title,
.wc-block-components-sidebar .wc-block-components-totals-coupon {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.wc-block-cart__submit-container { padding: 8px 0 0 !important; }
.wc-block-components-sidebar .wc-block-components-button,
.wc-block-cart__submit-button { width: 100%; box-sizing: border-box; }
.wc-block-components-sidebar .wc-block-components-panel {
  background: transparent;
  border: none;
  border-radius: 0;
}

/* ==== Coupon row: flat divider, blue affordance ==== */
.wc-block-components-totals-coupon,
.wc-block-components-panel > h2 { border-color: var(--awb-line) !important; }
.wc-block-components-panel__button,
.wc-block-components-totals-coupon-link {
  color: var(--awb-acc) !important;
  font-weight: 600;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon-link:hover { color: var(--awb-cyan) !important; }
.wc-block-components-panel__button svg { fill: var(--awb-acc); }
.wc-block-components-totals-coupon__form { gap: 8px; box-sizing: border-box; width: 100%; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
}
.wc-block-components-totals-coupon__form .wc-block-components-button {
  flex: 0 0 auto;
  width: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* ==== Totals ==== */
.wc-block-components-order-summary-item__description,
.wc-block-components-product-name { color: var(--awb-head); }
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item { color: var(--awb-body); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--awb-acc);
  font-weight: 800;
}
.wc-block-components-divider,
.wc-block-components-totals-wrapper::after { border-color: var(--awb-line) !important; }

/* ==== Primary buttons ==== */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--awb-grad) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: filter .25s var(--awb-ease), transform .25s var(--awb-ease);
}
.wc-block-components-button:not(.is-link):hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

/* ==== Cart line items ==== */
.wc-block-cart-items,
.wc-block-cart-items__row { border-color: var(--awb-line) !important; }
.wc-block-cart-item__product .wc-block-components-product-name { color: var(--awb-head); }
.wc-block-cart-item__prices,
.wc-block-cart-item__total { color: var(--awb-acc); font-weight: 700; }
.wc-block-cart-items__row img {
  background: #f1f5f9;
  border-radius: 8px;
  padding: 6px;
}
.wc-block-components-quantity-selector {
  background: var(--awb-card);
  border: 1px solid #d0d7e2 !important;
  border-radius: 8px;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button { color: var(--awb-head) !important; background: transparent !important; }
.wc-block-components-order-summary-item__image img {
  background: #f1f5f9;
  border-radius: 8px;
  padding: 4px;
  border: 1px solid var(--awb-line);
}

/* ==== Mini-cart drawer ==== */
.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-mini-cart__drawer { background: var(--awb-bg); color: var(--awb-body); }
.wc-block-mini-cart__title { color: var(--awb-head); }
.wc-block-mini-cart__footer .wc-block-components-button {
  background: var(--awb-grad) !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* ==== Agreement checkboxes: researcher verification card ==== */
.wc-block-checkout__additional-fields,
.wp-block-woocommerce-checkout-additional-fields-block {
  background: #f0f6ff;
  border: 1px solid #bfdbf7;
  border-radius: 12px;
  padding: 22px 24px;
}
.wc-block-checkout__additional-fields .wc-block-components-checkbox__label {
  font-size: 0.85rem;
  line-height: 1.55;
  color: var(--awb-body) !important;
}

/* ==== Checkout frame niceties ==== */
.wc-block-checkout__terms { color: var(--awb-muted); }
.wc-block-checkout__terms a { color: var(--awb-acc); }
.wc-block-cart__empty-cart__title { color: var(--awb-head); }
@media (min-width: 900px) {
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: sticky; top: 120px; }
}

/* ==========================================================================
   v1.1: Clean checkout (competitor-parity pass)
   ========================================================================== */

/* Distraction-free checkout header: logo only + no page banner */
body.woocommerce-checkout .header-top,
body.woocommerce-checkout .main-navigation,
body.woocommerce-checkout .header-actions,
body.woocommerce-checkout .page-header { display: none !important; }
body.woocommerce-checkout .site-logo { margin: 0 auto; }

/* Return to cart link */
.arg-return-cart { margin: 6px 0 18px; }
.arg-return-cart a {
  color: var(--awb-acc);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
}
.arg-return-cart a:hover { color: var(--awb-cyan); }

/* Left column: each step becomes a soft tinted card with a big heading */
.wc-block-components-checkout-step {
  background: #F5F7FC;
  border: none;
  border-radius: 14px;
  padding: 28px 28px 22px !important;
  margin: 0 0 22px !important;
}
.wc-block-components-checkout-step__container::after { border: none !important; }
.wc-block-components-checkout-step__heading { margin-top: 0; }
.wc-block-components-checkout-step__title {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
}
/* inputs stay white so they pop on the tinted card */
.wc-block-components-checkout-step .wc-block-components-text-input input,
.wc-block-components-checkout-step select,
.wc-block-components-checkout-step .wc-block-components-combobox .components-combobox-control__input {
  background: #FFFFFF !important;
}

/* Sidebar: ONE clean card, no nested borders anywhere */
.wc-block-components-sidebar {
  border: none !important;
  border-radius: 16px;
  box-shadow: 0 6px 28px rgba(30, 41, 59, 0.10);
  padding: 18px 24px 24px;
}
.wc-block-components-sidebar .wc-block-components-order-summary,
.wc-block-components-sidebar .wc-block-checkout__order-summary,
.wc-block-components-sidebar .wc-block-components-checkout-order-summary__content,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-totals-wrapper {
  border: none !important;
  box-shadow: none !important;
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper::after {
  border-style: solid;
  border-color: #EDF1F6 !important;
  border-width: 0 0 1px;
}
.wc-block-components-sidebar .wc-block-components-divider { border-color: #EDF1F6 !important; }

/* Rewards row: flat, no box-in-box */
.wc-block-components-sidebar .arg-rewards-inline,
#arg-rewards-inline {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* v1.1.1 overrides: beat wc-blocks specificity */
.wc-block-components-checkout-step {
  background: #F5F7FC !important;
}
/* kill any remaining inner frame inside the summary card */
.wc-block-components-sidebar > div,
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.is-large.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel,
.is-large.wc-block-checkout .wc-block-components-order-summary {
  border: none !important;
  box-shadow: none !important;
}

/* v1.1.2: payment area polish */

/* statement descriptor notice (matches competitor trust element) */
.arg-statement-note {
  background: #FDF3F3;
  border-left: 4px solid #D9575E;
  border-radius: 6px;
  padding: 14px 18px;
  margin: 0 0 20px;
  font-size: 0.95rem;
  color: #3a3a3a;
}

/* payment method accordion: light frame, blue when selected, no black box */
.wc-block-components-radio-control-accordion-option {
  border-color: #DEE2E6 !important;
  border-radius: 10px;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option:has(input:checked) {
  border: 1px solid var(--awb-acc) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.10) !important;
}
.wc-block-components-radio-control-accordion-content {
  border: none !important;
  padding-top: 4px;
}
/* Clover field labels: softer than shouting caps */
.wc-block-components-radio-control-accordion-content label {
  color: #6C757D !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 0.78rem;
}

/* v1.1.3: cart cleanliness pass */

/* points-earning banner (cart + checkout) */
.arg-points-banner {
  background: #F0F6FF;
  border-left: 4px solid var(--awb-acc);
  border-radius: 6px;
  padding: 14px 18px;
  margin: 0 0 20px;
  font-size: 0.95rem;
  color: #333;
}
.arg-points-banner .fa-gift { color: var(--awb-acc); margin-right: 8px; }

/* hide long product descriptions in cart rows, order summaries, and drawer */
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata {
  display: none !important;
}

/* cart line rows: a touch more air without the description text */
.wc-block-cart-items__row { padding-top: 18px; padding-bottom: 18px; }

/* "Cart totals" heading style */
.wc-block-cart__totals-title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--awb-head) !important;
  text-transform: none !important;
}

/* v1.1.4: page banner titles are on a dark gradient - make them white */
.page-header h1,
.page-header .page-header-content h1,
.page-header .page-title {
  color: #FFFFFF !important;
}
.page-header p,
.page-header .page-header-content p {
  color: rgba(255, 255, 255, 0.85);
}
