/* ==========================================================================
   GRAM KAJAK DESIGN SYSTEM — component classes (v2 staging adaptation)
   - Design tokens (--gk-*) live as native Bricks variables (Bricks > Variables,
     category "Gram Kajak") and are printed into :root by Bricks itself.
   - Base typography/links/buttons/forms/colors live in Bricks Theme Styles.
   - This file only ships the reusable component classes.
   - Everything is namespaced gk- because the existing Core Framework setup
     already owns .btn/.card/.badge and --space-*/--radius-*/--shadow-*.
   ========================================================================== */

/* Type helpers */
.gk-display { font-size: 52px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.gk-h1 { font-size: 40px; font-weight: 700; line-height: 1.1; }
.gk-h2 { font-size: 32px; font-weight: 700; line-height: 1.15; }
.gk-h3 { font-size: 24px; font-weight: 600; line-height: 1.25; }
.gk-h4 { font-size: 20px; font-weight: 600; line-height: 1.3; }
.gk-body-lg { font-size: 18px; line-height: 1.6; }
.gk-small { font-size: 14px; line-height: 1.5; }
.gk-eyebrow {
  font-size: 12px; font-weight: 500; line-height: 1.4;
  letter-spacing: .14em; text-transform: uppercase; color: var(--gk-accent);
}

/* Buttons */
.gk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  font-family: var(--gk-font-brand);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: var(--gk-accent);
  border: 1px solid var(--gk-accent);
  border-radius: var(--gk-radius-md);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.gk-btn:hover { background: var(--gk-accent-hover); border-color: var(--gk-accent-hover); color: #fff; }
.gk-btn:active { background: var(--gk-accent-active); border-color: var(--gk-accent-active); }
.gk-btn:disabled { background: #B7C6D6; border-color: #B7C6D6; cursor: not-allowed; }

.gk-btn--secondary { color: var(--gk-accent); background: #fff; border: 1px solid var(--gk-accent); }
.gk-btn--secondary:hover { color: #fff; background: var(--gk-accent); }

.gk-btn--ghost { color: var(--gk-secondary); background: transparent; border-color: transparent; }
.gk-btn--ghost:hover { color: var(--gk-ink); background: var(--gk-subtle); border-color: transparent; }

.gk-btn--danger { color: #fff; background: var(--gk-danger); border-color: var(--gk-danger); }
.gk-btn--danger:hover { background: #a33f3c; border-color: #a33f3c; }

.gk-btn--sm { padding: 8px 16px; font-size: 13px; }
.gk-btn--lg { padding: 15px 30px; font-size: 17px; }

/* Forms (class-based; element defaults come from Theme Styles) */
.gk-input {
  width: 100%;
  min-height: 44px;
  padding: 12px 14px;
  font-family: var(--gk-font-brand);
  font-size: 15px;
  color: var(--gk-ink);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
  outline: none;
}
.gk-input:focus {
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px rgba(84, 141, 202, .2);
}
.gk-input--error {
  border-color: var(--gk-danger);
  box-shadow: 0 0 0 3px rgba(196, 81, 78, .16);
}
.gk-field-error { font-size: 13px; color: var(--gk-danger); margin-top: 6px; }

/* Cards */
.gk-card {
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
.gk-card:hover { box-shadow: var(--gk-shadow-lg); }
.gk-card__body { padding: 20px; }
.gk-card--surface { background: var(--gk-surface); }

/* Badges & tags */
.gk-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--gk-radius-pill);
  color: var(--gk-accent-active);
  background: var(--gk-accent-tint);
}
.gk-badge--success { color: #2f7a53; background: var(--gk-success-tint); }
.gk-badge--warning { color: #a06e22; background: var(--gk-warning-tint); }
.gk-badge--danger  { color: #a33f3c; background: var(--gk-danger-tint); }
.gk-badge--neutral { color: var(--gk-secondary); background: var(--gk-subtle); }
.gk-badge--solid   { color: #fff; background: var(--gk-accent); }
.gk-badge--outline { color: var(--gk-secondary); background: #fff; border: 1px solid var(--gk-border); }

/* Alerts */
.gk-alert {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 8px;
  border: 1px solid #cfe0f2;
  border-left: 4px solid var(--gk-info);
  background: var(--gk-accent-tint);
  font-size: 14px;
  line-height: 1.55;
}
.gk-alert__title { font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.gk-alert--info    { border-color: #cfe0f2; border-left-color: var(--gk-info);    background: var(--gk-accent-tint);  color: #3f6690; }
.gk-alert--info .gk-alert__title    { color: var(--gk-accent-active); }
.gk-alert--success { border-color: #c9e4d3; border-left-color: var(--gk-success); background: var(--gk-success-tint); color: #3c7d5c; }
.gk-alert--success .gk-alert__title { color: #2f7a53; }
.gk-alert--warning { border-color: #ecdcbf; border-left-color: var(--gk-warning); background: var(--gk-warning-tint); color: #8f6524; }
.gk-alert--warning .gk-alert__title { color: #a06e22; }
.gk-alert--danger  { border-color: #eccbca; border-left-color: var(--gk-danger);  background: var(--gk-danger-tint);  color: #9c4643; }
.gk-alert--danger .gk-alert__title  { color: #a33f3c; }

/* Tables */
.gk-table { width: 100%; border-collapse: collapse; font-size: 15px; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-xl); overflow: hidden; }
.gk-table th { padding: 14px 20px; text-align: left; font-weight: 700; color: var(--gk-ink); background: var(--gk-surface); border-bottom: 1px solid var(--gk-border); }
.gk-table td { padding: 14px 20px; border-bottom: 1px solid var(--gk-subtle); }
.gk-table tbody tr:nth-child(even) { background: var(--gk-surface); }
.gk-table tbody tr:last-child td { border-bottom: none; }

/* Pricing */
.gk-pricing { background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-xl); padding: 28px; }
.gk-pricing--featured { border: 2px solid var(--gk-accent); box-shadow: 0 14px 34px rgba(84, 141, 202, .16); position: relative; }
.gk-pricing__badge { position: absolute; top: -12px; left: 28px; padding: 4px 12px; font-size: 12px; font-weight: 700; color: #fff; background: var(--gk-accent); border-radius: var(--gk-radius-pill); }
.gk-pricing__price { font-size: 36px; font-weight: 800; letter-spacing: -.02em; }

/* Testimonials */
.gk-testimonial { background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-xl); padding: 28px; }
.gk-testimonial__mark { font-size: 40px; line-height: 1; color: var(--gk-accent); font-weight: 800; }
.gk-testimonial__quote { font-size: 17px; line-height: 1.6; color: var(--gk-ink); }
.gk-testimonial__avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--gk-accent-tint); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--gk-accent); }

/* Accordion / FAQ (pairs with Bricks Accordion element) */
.gk-accordion .brxe-accordion-item,
.gk-accordion__item { background: #fff; border: 1px solid var(--gk-border); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.gk-accordion__title { padding: 18px 20px; font-weight: 600; font-size: 17px; color: var(--gk-ink); }
.gk-accordion__content { padding: 0 20px 18px; font-size: 15px; line-height: 1.65; color: var(--gk-muted); }
.gk-accordion__icon { color: var(--gk-accent); }

/* Footer */
.gk-footer { background: var(--gk-ink); color: #a8adb3; padding: 48px 40px 32px; }
.gk-footer a { color: #a8adb3; }
.gk-footer a:hover { color: #fff; }
.gk-footer__heading { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: .04em; }
.gk-footer__legal { border-top: 1px solid #4a4a4a; padding-top: 24px; font-size: 13px; color: #8a8f95; }

/* Header refinements */
.brxe-nav-menu .bricks-nav-menu > li > a { white-space: nowrap; }
#brxe-9d81f1.brxe-svg { width: 150px !important; max-width: 150px !important; height: auto !important; flex-shrink: 0; display: block; }
@media (max-width: 478px) { #brxe-9d81f1.brxe-svg { width: 120px !important; max-width: 120px !important; } }
.brxe-nav-menu .bricks-nav-menu > li > a { padding-left: 10px; padding-right: 10px; }
#brxe-1faea7 { margin-left: auto; }

/* Product cards (WooCommerce loop / Bricks products element) */
ul.products li.product {
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease;
}
ul.products li.product:hover { box-shadow: var(--gk-shadow-lg); }
ul.products li.product > .dynamic img { width: 100%; height: auto; display: block; }
ul.products li.product [data-field-id="gkeyeb1"] {
  padding: 16px 20px 0;
  font-size: 12px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--gk-accent);
}
ul.products li.product [data-field-id="gkeyeb1"] a { color: var(--gk-accent); }
ul.products li.product h5.dynamic {
  font-size: 19px; font-weight: 700; line-height: 1.3;
  margin: 6px 0 4px !important; padding: 0 20px;
}
ul.products li.product h5.dynamic a { color: var(--gk-ink); }
ul.products li.product h5.dynamic a:hover { color: var(--gk-accent); }
ul.products li.product .woocommerce-Price-amount { font-weight: 600; color: var(--gk-ink); }
ul.products li.product div.dynamic:has(.woocommerce-Price-amount) { padding: 0 20px; font-size: 15px; }
ul.products li.product div.dynamic:has(a.button) { margin-top: auto; padding: 14px 20px 20px; }
ul.products li.product a.button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 18px; font-size: 14px; font-weight: 600; line-height: 1;
  color: #fff; background: var(--gk-accent);
  border-radius: var(--gk-radius-md);
  transition: background .15s ease;
}
ul.products li.product a.button:hover { background: var(--gk-accent-hover); color: #fff; }
#brxe-02d3f9 { width: auto; flex: 0 1 auto; }
#brxe-1faea7 { width: auto; }

/* ==========================================================================
   Single product page
   (consolidated from Bricks template custom CSS — rewritten on gk tokens;
   the originals referenced Core Framework variables that no longer exist)
   ========================================================================== */

/* Bundled upsells ("Få 20% rabat") — moved from #brxe-fmsrvu custom CSS */
#brxe-fmsrvu h4 .item_title { font-size: 16px; }
#brxe-fmsrvu .bundled_product_optional_checkbox {
  font-size: 15px;
  font-weight: 600;
  color: var(--gk-ink);
  cursor: pointer;
  transition: color .15s ease;
}
#brxe-fmsrvu .bundled_product_optional_checkbox del { color: var(--gk-muted); font-weight: 400; }
#brxe-fmsrvu .bundled_product_optional_checkbox input.bundled_product_checkbox {
  width: 16px; height: 16px; accent-color: var(--gk-accent); vertical-align: -2px;
}
#brxe-fmsrvu .bundle_sells_title h3 { font-size: 18px; font-weight: 600; padding-bottom: 16px; }
#brxe-fmsrvu .bundled_product {
  background: var(--gk-surface);
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-lg);
  overflow: hidden;
  padding: 12px 16px;
  box-sizing: border-box;
}
#brxe-fmsrvu div.bundled_product_summary,
.woocommerce div.product.bundled_product_summary { border-bottom: none; }
#brxe-fmsrvu .bundled_product_images { width: 10%; border-radius: var(--gk-radius-md); overflow: hidden; }
#brxe-fmsrvu .bundled_product_excerpt { display: none; }

/* Related products title size — moved from #brxe-efvcyd custom CSS */
#brxe-efvcyd .woocommerce-loop-product__title { font-size: 19px; }

/* Hidden sections — moved from template custom CSS */
#brxe-jgnnlg { display: none; }

/* Variation picker (length): white field, no gray-on-gray */
table.variations th.label label {
  font-size: 15px; font-weight: 600; color: var(--gk-ink);
}
table.variations select {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 15px;
  color: var(--gk-ink);
  background-color: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
}
table.variations select:focus {
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px rgba(84, 141, 202, .2);
  outline: none;
}
.reset_variations { font-size: 13px; color: var(--gk-muted); }

/* Quantity + add to cart */
.quantity .qty,
form.cart .quantity input {
  min-height: 44px;
  font-size: 15px;
  color: var(--gk-ink);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
}
form.cart button.single_add_to_cart_button {
  background: var(--gk-accent) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 16px;
  border: none;
  border-radius: var(--gk-radius-md) !important;
  padding: 14px 24px;
  transition: background .15s ease;
}
form.cart button.single_add_to_cart_button:hover {
  background: var(--gk-accent-hover) !important;
}
form.cart button.single_add_to_cart_button.disabled,
form.cart button.single_add_to_cart_button:disabled,
form.cart button.single_add_to_cart_button.wc-variation-selection-needed {
  background: #B7C6D6 !important;
  color: #fff !important;
  cursor: not-allowed;
}

/* Specifications table (product attributes) */
table.woocommerce-product-attributes {
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-lg);
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 15px;
  width: 100%;
}
table.woocommerce-product-attributes th {
  text-align: left;
  font-weight: 700;
  color: var(--gk-ink);
  background: var(--gk-surface);
  padding: 12px 16px;
  width: 220px;
}
table.woocommerce-product-attributes td {
  padding: 12px 16px;
  color: var(--gk-secondary);
}
table.woocommerce-product-attributes td p { margin: 0; }
table.woocommerce-product-attributes tr + tr th,
table.woocommerce-product-attributes tr + tr td {
  border-top: 1px solid var(--gk-subtle);
}
/* Hide WooCommerce's shipping-weight row (renders "N/A"; the real weight
   lives in the pa_weight product attribute) */
.woocommerce-product-attributes-item--weight { display: none; }

/* Related products: match archive card inner spacing */
#brxe-efvcyd li.product .woocommerce-loop-product__title { padding: 14px 20px 2px; margin: 0; color: var(--gk-ink); }
#brxe-efvcyd li.product .price { padding: 0 20px; display: block; }
#brxe-efvcyd li.product > a.button { margin: 12px 20px 18px; }

/* Variations panel: center the label, tighten the oversized padding */
table.variations th.label,
table.variations td.value {
  vertical-align: middle;
  padding: 10px 16px;
}
table.variations { margin: 0 0 16px; }

/* Bundled add-ons: white card with a clearly visible border */
#brxe-fmsrvu .bundled_product {
  background: #fff;
  border: 1px solid var(--gk-border) !important;
}

/* Variations panel: rounded surface like every other card */
table.variations {
  background: var(--gk-surface);
  border-radius: var(--gk-radius-lg);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}
table.variations th.label,
table.variations td.value { background: transparent !important; }

/* Bundled add-ons: center text against the thumbnail, tighten card spacing */
#brxe-fmsrvu .bundled_product {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
#brxe-fmsrvu .bundled_product .bundled_product_images {
  width: 64px !important;
  flex-shrink: 0;
  float: none;
  margin: 0;
}
#brxe-fmsrvu .bundled_product .details {
  flex: 1;
  padding: 0;
  margin: 0;
}
#brxe-fmsrvu .bundled_product .details h4,
#brxe-fmsrvu .bundled_product .bundled_product_title {
  margin: 0 0 4px;
}

/* Related products: subgrid aligns image/title/price/button rows across cards */
@supports (grid-template-rows: subgrid) {
  #brxe-efvcyd li.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: subgrid;
    grid-row: span 4;
  }
  #brxe-efvcyd li.product img { width: 100%; max-width: 100%; height: auto; }
  #brxe-efvcyd li.product > a.woocommerce-LoopProduct-link { display: contents; }
  /* explicit rows: image / title / price / button (other stray elements overlap row 1 harmlessly) */
  #brxe-efvcyd li.product img { grid-row: 1; }
  #brxe-efvcyd li.product .woocommerce-loop-product__title { grid-row: 2; }
  #brxe-efvcyd li.product .price { grid-row: 3; align-self: start; }
  #brxe-efvcyd li.product > a.button { grid-row: 4; align-self: end; justify-self: stretch; text-align: center; transform: translateY(-18px); }
}

/* Quantity selector: one seamless rounded control */
form.cart .quantity { display: flex; align-items: stretch; gap: 0; }
form.cart .quantity .action {
  display: flex; align-items: center; justify-content: center;
  width: 48px; min-height: 44px;
  background: #fff;
  border: 1px solid var(--gk-border);
  color: var(--gk-ink);
  cursor: pointer;
  transition: background .15s ease;
}
form.cart .quantity .action:hover { background: var(--gk-surface); }
form.cart .quantity .action.minus { border-radius: 6px 0 0 6px; border-right: 0; }
form.cart .quantity .action.plus { border-radius: 0 6px 6px 0; border-left: 0; }
form.cart .quantity input.qty { border-radius: 0; text-align: center; }

/* Add-on thumbnails: center the (often narrow) photo in its slot */
#brxe-fmsrvu .bundled_product .bundled_product_images {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Related cards: clearer hierarchy — title leads, price supports */
#brxe-efvcyd li.product .price,
#brxe-efvcyd li.product .price .woocommerce-Price-amount {
  font-size: 15px;
  font-weight: 600;
  color: var(--gk-secondary);
}

/* Add-ons: compact rows — cap the thumbnail so tall photos don't inflate the card */
#brxe-fmsrvu .bundled_product { padding: 10px 14px; margin-bottom: 10px; }
#brxe-fmsrvu .bundled_product .bundled_product_images {
  width: 56px !important;
  height: 56px;
}
#brxe-fmsrvu .bundled_product .bundled_product_images img {
  max-width: 56px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Unify the Længde panel and the add-on cards: same surface, border, radius */
table.variations { border: 1px solid var(--gk-border); }
#brxe-fmsrvu .bundled_product { background: var(--gk-surface); }

/* Add-ons must match the Længde panel exactly (Product Bundles' own
   stylesheet loads later and wins the cascade without !important) */
#brxe-fmsrvu .bundled_product {
  background: var(--gk-surface) !important;
  border-radius: var(--gk-radius-lg) !important;
}

/* "Specifikationer": same visual level as the related-products heading (DS H3) */
#brxe-wxncwi h2 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--gk-ink);
  margin-bottom: 16px;
}

/* Related products headline */
.gk-related-heading {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--gk-ink);
  margin: 0 0 20px;
}

/* Related products: full-bleed surface band (Shopify-style section contrast) */
#brxe-soqidj {
  background: var(--gk-subtle);
  box-shadow: 0 0 0 100vmax var(--gk-subtle);
  clip-path: inset(0 -100vmax);
  padding-top: 40px;
  padding-bottom: 48px;
  margin-top: 32px;
}

/* Dawn-style: cards on the surface band don't need borders — contrast does the work */
#brxe-soqidj li.product { border-color: transparent; }


/* Simple products in the loop: align quantity + button as one stacked group */
ul.products li.product form.cart.brx-loop-product-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  width: 100%;
}
ul.products li.product form.cart.brx-loop-product-form .quantity {
  width: 100%;
  margin: 0;
}
ul.products li.product form.cart.brx-loop-product-form .quantity .qty { flex: 1; }
ul.products li.product form.cart.brx-loop-product-form .button {
  width: 100%;
  justify-content: center;
  margin: 0;
}
#brxe-efvcyd li.product form.cart.brx-loop-product-form { padding: 0 20px 18px; align-self: end; }

/* Variation swatches (Bricks native): pill buttons, Ink-filled when selected */
.bricks-variation-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bricks-variation-swatches li {
  padding: 10px 18px;
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: var(--gk-ink);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.bricks-variation-swatches li:hover {
  border-color: var(--gk-accent);
  color: var(--gk-accent);
}
.bricks-variation-swatches li.bricks-swatch-selected,
.bricks-variation-swatches li.bricks-swatch-selected:hover {
  background: var(--gk-ink) !important;
  border-color: var(--gk-ink) !important;
  color: #fff !important;
}
/* Color swatches: round dots showing the term color (the label-pill padding
   above would otherwise render them as empty white squares) */
.bricks-variation-swatches.bricks-swatch-color li {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; padding: 0;
  border-radius: 50%; line-height: 0;
}
.bricks-variation-swatches.bricks-swatch-color li > div {
  width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, .08);
}
.bricks-variation-swatches.bricks-swatch-color li.bricks-swatch-selected,
.bricks-variation-swatches.bricks-swatch-color li.bricks-swatch-selected:hover {
  background: #fff !important;
  border-color: var(--gk-ink) !important;
  box-shadow: 0 0 0 1px var(--gk-ink);
}
.bricks-variation-swatches li.disabled {
  opacity: .4;
  cursor: not-allowed;
}

/* Variations panel: label above, swatches in a row (reference layout) */
table.variations tr { display: flex; flex-direction: column; gap: 12px; }
table.variations th.label { padding-bottom: 0; }
table.variations th.label, table.variations td.value { width: 100%; }
table.variations tr { gap: 2px; }
table.variations th.label { padding: 16px 16px 0; height: auto; }
table.variations td.value { padding: 8px 16px 16px; }
#brxe-fmsrvu table.variations th.label { padding: 16px 16px 0 !important; height: auto !important; }
#brxe-fmsrvu table.variations td.value { padding: 8px 16px 16px !important; }

/* ==========================================================================
   Cart page
   ========================================================================== */

/* Page rhythm: two stacked sections would otherwise double their padding */
#brxe-wrggvt { padding-bottom: 8px; }
#brxe-rdksth { padding-top: 16px; }
#brxe-szyvqv { align-items: start; } /* lets the summary panel stick */

/* --- Item list: clean rows instead of table chrome --- */
.woocommerce-cart-form table.shop_table { width: 100%; border: 0; border-collapse: collapse; }
.woocommerce-cart-form thead th {
  padding: 0 14px 12px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--gk-muted); text-align: left;
  border-bottom: 1px solid var(--gk-border);
}
.woocommerce-cart-form thead th.product-subtotal { text-align: right; }
.woocommerce-cart-form tbody td,
.woocommerce-cart-form tbody th.product-name {
  padding: 20px 12px;
  border-bottom: 1px solid var(--gk-border);
  vertical-align: middle;
  text-align: left;
}
.woocommerce-cart-form td.product-remove { width: 36px; padding-left: 0; padding-right: 0; }
.woocommerce-cart-form td.product-remove .remove {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  font-size: 18px; font-weight: 400; line-height: 1;
  color: var(--gk-muted) !important; text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.woocommerce-cart-form td.product-remove .remove:hover { background: var(--gk-danger); color: #fff !important; }
.woocommerce-cart-form td.product-thumbnail { width: 112px; }
.woocommerce-cart-form td.product-thumbnail a { display: block; width: max-content; }
.woocommerce-cart-form td.product-thumbnail img {
  display: block; width: 88px; height: 88px; object-fit: contain;
  background: var(--gk-surface); border-radius: var(--gk-radius-md);
}
.woocommerce-cart-form th.product-name a {
  font-size: 15px; font-weight: 600; color: var(--gk-ink); text-decoration: none;
}
.woocommerce-cart-form th.product-name a:hover { color: var(--gk-accent); }
/* variation / bundle-discount meta under the product name */
.woocommerce-cart-form th.product-name dl.variation,
.woocommerce-cart-form th.product-name p {
  margin: 6px 0 0; font-size: 13px; font-weight: 400; color: var(--gk-muted); line-height: 1.45;
}
.woocommerce-cart-form th.product-name dl.variation { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 2px 6px; }
.woocommerce-cart-form th.product-name dl.variation dt,
.woocommerce-cart-form th.product-name dl.variation dd { margin: 0; padding: 0; font-weight: 400; }
/* Unit-price column duplicates the line total — hide it, the name needs the width */
.woocommerce-cart-form th.product-price,
.woocommerce-cart-form td.product-price { display: none; }
/* shrink-to-fit qty/total columns so the product name gets the leftover width */
.woocommerce-cart-form td.product-quantity,
.woocommerce-cart-form td.product-subtotal { width: 1%; font-size: 14px; color: var(--gk-ink); white-space: nowrap; }
.woocommerce-cart-form td.product-subtotal { text-align: right; font-size: 15px; font-weight: 700; }

/* Variation pills under the product name */
.woocommerce-cart-form th.product-name .gk-variant-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.woocommerce-cart-form th.product-name .gk-variant-pill {
  display: inline-block; padding: 6px 12px;
  background: #fff; border: 1px solid var(--gk-border); border-radius: 999px;
  font-size: 12px; font-weight: 600; line-height: 1; color: var(--gk-ink);
  white-space: nowrap;
}
.woocommerce-cart-form th.product-name .gk-pill-discount {
  background: var(--gk-accent-tint); border-color: transparent; color: var(--gk-accent-hover);
}

/* Quantity stepper: seamless horizontal control, matching the product page */
.woocommerce-cart-form .quantity { display: flex; align-items: stretch; gap: 0; width: max-content; }
.woocommerce-cart-form .quantity .action {
  display: flex; align-items: center; justify-content: center;
  width: 40px; min-height: 44px;
  background: #fff;
  border: 1px solid var(--gk-border);
  color: var(--gk-ink);
  cursor: pointer;
  transition: background .15s ease;
}
.woocommerce-cart-form .quantity .action:hover { background: var(--gk-surface); }
.woocommerce-cart-form .quantity .action.minus { border-radius: 6px 0 0 6px; border-right: 0; }
.woocommerce-cart-form .quantity input.qty { width: 52px; min-height: 44px; border-radius: 0; text-align: center; }
.woocommerce-cart-form .quantity .action.plus { border-radius: 0 6px 6px 0; border-left: 0; }
/* Bricks kills the input's side borders with a layered !important rule
   (woocommerce-layer.min.css) that no unlayered selector can out-rank —
   paint divider lines with an inset shadow instead */
#brxe-d1c515 .quantity input.qty {
  box-shadow: inset 1px 0 0 var(--gk-border), inset -1px 0 0 var(--gk-border);
}
#brxe-d1c515 .quantity .action { border-color: var(--gk-border) !important; }

/* Update-cart row */
.woocommerce-cart-form td.actions { padding: 20px 0 0; border-bottom: 0; text-align: right; }
.woocommerce-cart-form td.actions > .button {
  min-height: 44px; padding: 0 20px;
  background: #fff; color: var(--gk-ink);
  border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: border-color .15s ease;
}
.woocommerce-cart-form td.actions > .button:hover:not(:disabled) { border-color: var(--gk-ink); }
.woocommerce-cart-form td.actions > .button:disabled { opacity: .45; cursor: default; }
/* quantities auto-update when JS is available — the button is a no-JS fallback */
html.gk-autoupdate .woocommerce-cart-form td.actions { display: none; }

/* --- Summary panel: sticky surface card --- */
.gk-cart-summary {
  position: sticky; top: 32px;
  display: flex; flex-direction: column; gap: 20px;
  padding: 24px;
  background: var(--gk-surface);
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-lg);
}
.gk-cart-coupon { padding-bottom: 20px; border-bottom: 1px solid var(--gk-border); }
.gk-cart-coupon p.brxe-text-basic { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--gk-ink); }
.gk-cart-coupon .coupon { display: flex; gap: 10px; }
.gk-cart-coupon input#coupon_code {
  flex: 1; min-width: 0; min-height: 44px; padding: 0 14px;
  font-size: 14px; color: var(--gk-ink);
  background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
}
.gk-cart-coupon input#coupon_code:focus {
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px rgba(84, 141, 202, .2);
  outline: none;
}
.gk-cart-coupon .coupon button {
  min-height: 44px; padding: 0 18px; white-space: nowrap;
  background: transparent; color: var(--gk-ink);
  border: 1px solid var(--gk-ink); border-radius: var(--gk-radius-md);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.gk-cart-coupon .coupon button:hover { background: var(--gk-ink); color: #fff; }

.gk-cart-summary .cart_totals h2 { margin: 0; font-size: 20px; line-height: 1.3; }
.gk-cart-summary .cart_totals table.shop_table { width: 100%; margin: 8px 0 0; border: 0; border-collapse: collapse; }
.gk-cart-summary .cart_totals th,
.gk-cart-summary .cart_totals td { padding: 10px 0; border: 0; text-align: left; }
.gk-cart-summary .cart_totals th { font-size: 14px; font-weight: 500; color: var(--gk-muted); }
.gk-cart-summary .cart_totals td { text-align: right; font-size: 14px; font-weight: 600; color: var(--gk-ink); }
.gk-cart-summary .cart_totals tr.order-total th,
.gk-cart-summary .cart_totals tr.order-total td { padding-top: 14px; border-top: 1px solid var(--gk-border); font-size: 16px; font-weight: 700; color: var(--gk-ink); }
.gk-cart-summary .cart_totals .includes_tax { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--gk-muted); }
.gk-cart-summary .wc-proceed-to-checkout { margin: 4px 0 0; padding: 0; }
.gk-cart-summary a.checkout-button {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 50px;
  background: var(--gk-accent) !important; color: #fff !important;
  font-size: 16px; font-weight: 600; text-decoration: none;
  border: 0; border-radius: var(--gk-radius-md);
  transition: background .15s ease;
}
.gk-cart-summary a.checkout-button:hover { background: var(--gk-accent-hover) !important; }

/* --- Woo notices (removed item, coupon applied, errors) --- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
  padding: 14px 18px; margin: 0 0 16px;
  background: #fff;
  border: 1px solid var(--gk-border); border-left: 4px solid var(--gk-accent);
  border-radius: var(--gk-radius-md);
  font-size: 14px; color: var(--gk-ink);
}
.woocommerce-notices-wrapper .woocommerce-error { border-left-color: var(--gk-danger); }
.woocommerce-notices-wrapper a { color: var(--gk-accent); font-weight: 600; }

/* --- Empty cart --- */
body.gk-cart-empty #brxe-szyvqv { grid-template-columns: 1fr; }
body.gk-cart-empty .gk-cart-summary { display: none; }
.gk-cart-empty-state { width: 100%; padding: 48px 0 24px; text-align: center; }
.gk-cart-empty-state p { margin: 0 0 22px; font-size: 17px; color: var(--gk-muted); }
.gk-cart-empty-state .gk-btn { text-decoration: none; }
.woocommerce-cart p.cart-empty { font-size: 17px; color: var(--gk-muted); }
.woocommerce-cart .return-to-shop a.button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 28px;
  background: var(--gk-accent) !important; color: #fff !important;
  font-size: 15px; font-weight: 600; text-decoration: none;
  border-radius: var(--gk-radius-md);
  transition: background .15s ease;
}
.woocommerce-cart .return-to-shop a.button:hover { background: var(--gk-accent-hover) !important; }

/* --- Mobile: stack rows as cards --- */
@media (max-width: 767px) {
  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart-form tbody { display: block; }
  .woocommerce-cart-form thead { display: none; }
  .woocommerce-cart-form tr.cart_item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 32px;
    grid-template-areas:
      "thumb name  remove"
      "thumb qty   qty"
      "thumb subtotal subtotal";
    column-gap: 14px; row-gap: 6px;
    padding: 16px 0;
    border-bottom: 1px solid var(--gk-border);
  }
  .woocommerce-cart-form tr.cart_item > td,
  .woocommerce-cart-form tr.cart_item > th { display: block; padding: 0; border: 0; width: auto; }
  .woocommerce-cart-form td.product-thumbnail { grid-area: thumb; }
  .woocommerce-cart-form td.product-thumbnail img { width: 88px; }
  .woocommerce-cart-form th.product-name { grid-area: name; }
  .woocommerce-cart-form td.product-quantity { grid-area: qty; margin-top: 6px; }
  .woocommerce-cart-form td.product-subtotal { grid-area: subtotal; margin-top: 4px; text-align: left; }
  .woocommerce-cart-form td.product-remove { grid-area: remove; justify-self: end; }
  .woocommerce-cart-form tr:not(.cart_item) { display: block; }
  .woocommerce-cart-form td.actions { display: block; border: 0; text-align: left; }
  .gk-cart-summary { position: static; }
}

/* ==========================================================================
   Checkout
   ========================================================================== */

#brxe-gkchkg { align-items: start; }

/* --- Customer details form --- */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  margin: 0 0 16px; font-size: 20px; line-height: 1.3;
}
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 { margin-top: 24px; }
#ship-to-different-address { font-size: 15px; font-weight: 600; }
#ship-to-different-address label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }

form.checkout .woocommerce-billing-fields__field-wrapper,
form.checkout .woocommerce-shipping-fields__field-wrapper,
form.checkout .woocommerce-additional-fields__field-wrapper {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px;
}
form.checkout .form-row { grid-column: 1 / -1; float: none; width: 100%; margin: 0 0 14px; padding: 0; display: block; }
form.checkout .form-row-first,
form.checkout .form-row-last { grid-column: auto; }
form.checkout .form-row label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--gk-ink); }
form.checkout .form-row .required { color: var(--gk-danger); text-decoration: none; }
form.checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
form.checkout .input-text,
form.checkout select,
form.checkout textarea {
  width: 100%; min-height: 44px; padding: 10px 14px;
  font-size: 15px; color: var(--gk-ink);
  background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
}
form.checkout textarea { min-height: 88px; resize: vertical; }
form.checkout .input-text:focus,
form.checkout select:focus,
form.checkout textarea:focus {
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px rgba(84, 141, 202, .2);
  outline: none;
}
/* selectWoo / select2 country dropdown */
form.checkout .select2-container .select2-selection--single {
  min-height: 44px; background: #fff;
  border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
}
form.checkout .select2-container .select2-selection__rendered { line-height: 42px; padding-left: 14px; color: var(--gk-ink); font-size: 15px; }
form.checkout .select2-container .select2-selection__arrow { height: 42px; right: 8px; }
form.checkout .select2-container--focus .select2-selection--single,
form.checkout .select2-container--open .select2-selection--single {
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px rgba(84, 141, 202, .2);
}

/* Login / coupon toggles: quiet one-liners instead of blue info bars */
.brxe-woocommerce-checkout-login .login-toggle,
.brxe-woocommerce-checkout-coupon .coupon-toggle {
  background: transparent !important; border: 0 !important; padding: 0 !important;
  font-size: 14px; font-weight: 400; color: var(--gk-muted); cursor: pointer;
  display: flex; flex-wrap: wrap; gap: 4px 6px; justify-content: flex-start;
}
.brxe-woocommerce-checkout-login .login-toggle a,
.brxe-woocommerce-checkout-coupon .coupon-toggle a { color: var(--gk-accent); font-weight: 600; text-decoration: none; }
.brxe-woocommerce-checkout-login .login-toggle a:hover,
.brxe-woocommerce-checkout-coupon .coupon-toggle a:hover { text-decoration: underline; }

/* Expanded login form */
.brxe-woocommerce-checkout-login .login-div form,
.brxe-woocommerce-checkout-login form.woocommerce-form-login {
  margin: 12px 0 0; padding: 20px;
  background: var(--gk-surface); border: 1px solid var(--gk-border); border-radius: var(--gk-radius-lg);
  font-size: 14px;
}
.brxe-woocommerce-checkout-login .input-text {
  width: 100%; min-height: 44px; padding: 10px 14px;
  font-size: 15px; color: var(--gk-ink);
  background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
}
.brxe-woocommerce-checkout-login button[type="submit"] {
  min-height: 44px; padding: 0 22px;
  background: var(--gk-accent) !important; color: #fff !important;
  font-size: 14px; font-weight: 600;
  border: 0; border-radius: var(--gk-radius-md); cursor: pointer;
  transition: background .15s ease;
}
.brxe-woocommerce-checkout-login button[type="submit"]:hover { background: var(--gk-accent-hover) !important; }

/* --- Order summary panel (shares .gk-cart-summary card styling) --- */
.gk-checkout-summary h2 { margin: 0; font-size: 20px; line-height: 1.3; }
/* the review element prints its own "Din ordre" h3 — our heading element covers it */
.gk-checkout-summary .brxe-woocommerce-checkout-order-review > h3 { display: none; }
/* no wrapper chrome around the payment methods */
.gk-checkout-summary #payment,
.gk-checkout-summary #payment ul.payment_methods { background: transparent !important; border: 0 !important; padding: 0; }

/* coupon inside the panel */
.gk-checkout-summary .brxe-woocommerce-checkout-coupon { margin-top: -8px; }
.gk-checkout-summary .coupon-div p:first-child { display: none; } /* "Enter your code" helper text */
.gk-checkout-summary .coupon-div .form-row { margin: 8px 0 0; }
.gk-checkout-summary .coupon-div { display: flex; flex-direction: column; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.gk-checkout-summary .coupon-div .input-text {
  width: 100%; min-height: 44px; padding: 10px 14px; margin: 8px 0 0;
  font-size: 14px; color: var(--gk-ink);
  background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
}
.gk-checkout-summary .coupon-div button {
  margin: 10px 0 0; min-height: 44px; padding: 0 18px;
  background: transparent; color: var(--gk-ink);
  border: 1px solid var(--gk-ink); border-radius: var(--gk-radius-md);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.gk-checkout-summary .coupon-div button:hover { background: var(--gk-ink); color: #fff; }

/* order review table */
.gk-checkout-summary table.woocommerce-checkout-review-order-table { width: 100%; border: 0; border-collapse: collapse; font-size: 14px; }
.gk-checkout-summary .woocommerce-checkout-review-order-table thead { display: none; }
.gk-checkout-summary .woocommerce-checkout-review-order-table td,
.gk-checkout-summary .woocommerce-checkout-review-order-table th {
  padding: 10px 0; border: 0; text-align: left; font-weight: 400; color: var(--gk-ink); vertical-align: top;
}
.gk-checkout-summary .woocommerce-checkout-review-order-table td:last-child,
.gk-checkout-summary .woocommerce-checkout-review-order-table th + td { text-align: right; white-space: nowrap; }
.gk-checkout-summary .woocommerce-checkout-review-order-table tbody tr { border-bottom: 1px solid var(--gk-border); }
.gk-checkout-summary .woocommerce-checkout-review-order-table .product-name .product-quantity { color: var(--gk-muted); font-weight: 400; }
.gk-checkout-summary .woocommerce-checkout-review-order-table .variation { margin: 4px 0 0; font-size: 12px; color: var(--gk-muted); }
.gk-checkout-summary .woocommerce-checkout-review-order-table .variation dt,
.gk-checkout-summary .woocommerce-checkout-review-order-table .variation dd { display: inline; margin: 0; font-weight: 400; }
.gk-checkout-summary .woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--gk-muted); }
.gk-checkout-summary .woocommerce-checkout-review-order-table tfoot td { font-weight: 600; }
.gk-checkout-summary .woocommerce-checkout-review-order-table tr.order-total th,
.gk-checkout-summary .woocommerce-checkout-review-order-table tr.order-total td {
  padding-top: 14px; border-top: 1px solid var(--gk-border);
  font-size: 16px; font-weight: 700; color: var(--gk-ink);
}
.gk-checkout-summary .woocommerce-checkout-review-order-table .includes_tax { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--gk-muted); }

/* payment methods */
.gk-checkout-summary #payment ul.wc_payment_methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.gk-checkout-summary #payment li.wc_payment_method { margin: 0 !important; }
.gk-checkout-summary #payment li.wc_payment_method {
  background: #fff; border: 1px solid var(--gk-border); border-radius: var(--gk-radius-md);
  padding: 12px 14px;
}
.gk-checkout-summary #payment li.wc_payment_method > label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; color: var(--gk-ink); cursor: pointer;
  margin: 0;
}
.gk-checkout-summary #payment li.wc_payment_method > input[type="radio"] { accent-color: var(--gk-accent); }
.gk-checkout-summary #payment li.wc_payment_method img { max-height: 20px; width: auto; }
.gk-checkout-summary #payment div.payment_box { margin: 8px 0 0; padding: 0; font-size: 13px; color: var(--gk-muted); background: transparent; }
.gk-checkout-summary #payment div.payment_box::before { display: none; }
.gk-checkout-summary .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--gk-muted); }
.gk-checkout-summary .woocommerce-terms-and-conditions-wrapper a { color: var(--gk-accent); }
.gk-checkout-summary #payment .form-row { margin: 14px 0 0; padding: 0; }
.gk-checkout-summary button#place_order {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 50px; margin-top: 4px;
  background: var(--gk-accent) !important; color: #fff !important;
  font-size: 16px; font-weight: 600;
  border: 0; border-radius: var(--gk-radius-md); cursor: pointer;
  transition: background .15s ease;
}
.gk-checkout-summary button#place_order:hover { background: var(--gk-accent-hover) !important; }

@media (max-width: 767px) {
  .gk-checkout-summary { position: static; }
  form.checkout .woocommerce-billing-fields__field-wrapper,
  form.checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  form.checkout .form-row-first, form.checkout .form-row-last { grid-column: 1 / -1; }
}

/* ==========================================================================
   Woo notices (global) + mini-cart flyout
   ========================================================================== */

/* Notices align with the page container instead of bleeding to the viewport edge */
.brxe-woocommerce-notice {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: var(--space-m, 20px);
}
/* action links in notices ("Se kurv", "Fortryd?") — Bricks paints them green */
.woocommerce-notices-wrapper .woocommerce-message > a,
.woocommerce-notices-wrapper .woocommerce-error > a,
.woocommerce-notices-wrapper .woocommerce-info > a {
  margin-left: auto; order: 2;
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 38px; padding: 0 16px;
  background: var(--gk-accent) !important; color: #fff !important;
  font-size: 13px; font-weight: 600; text-decoration: none;
  border: 0; border-radius: var(--gk-radius-md);
  transition: background .15s ease;
}
.woocommerce-notices-wrapper .woocommerce-message > a:hover { background: var(--gk-accent-hover) !important; }

/* --- Mini-cart flyout (Shopify-style drawer) --- */
.brxe-woocommerce-mini-cart .cart-detail {
  display: flex; flex-direction: column;
  width: min(420px, 100vw);
  padding: 24px 20px 20px !important;
  box-shadow: -12px 0 40px rgba(20, 24, 28, .12);
}
/* drawer title (AJAX fragments replace the widget content, so it lives on the stable wrapper) */
.brxe-woocommerce-mini-cart .cart-detail::before {
  content: "Din kurv";
  display: block; flex: 0 0 auto;
  padding: 4px 0 14px; margin: 0 0 4px;
  font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--gk-ink);
  border-bottom: 1px solid var(--gk-border);
}
html[lang^="en"] .brxe-woocommerce-mini-cart .cart-detail::before { content: "Your cart"; }

.brxe-woocommerce-mini-cart .widget_shopping_cart_content {
  flex: 1 1 auto; min-height: 0;
  display: flex; flex-direction: column;
}
.brxe-woocommerce-mini-cart ul.woocommerce-mini-cart {
  flex: 1 1 auto; overflow-y: auto;
  margin: 0; padding: 0; list-style: none;
}
/* image pinned left; name + price stack beside it */
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item {
  position: relative;
  margin: 0; padding: 16px 36px 16px 78px;
  min-height: 96px;
  border-bottom: 1px solid var(--gk-border);
}
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove_from_cart_button) {
  display: block;
  font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--gk-ink);
  text-decoration: none;
}
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove_from_cart_button):hover { color: var(--gk-accent); }
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item img {
  position: absolute; left: 0; top: 16px;
  width: 64px !important; height: 64px; object-fit: contain;
  margin: 0 !important; float: none !important;
  background: var(--gk-surface); border-radius: var(--gk-radius-md);
}
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item .quantity {
  display: block; margin: 6px 0 0;
  font-size: 13px; font-weight: 400; color: var(--gk-muted);
}
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove_from_cart_button {
  position: absolute; top: 16px; right: 0;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: transparent !important;
  font-size: 18px; font-weight: 400; line-height: 1;
  color: var(--gk-muted) !important; text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.brxe-woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove_from_cart_button:hover {
  background: var(--gk-danger) !important; color: #fff !important;
}

.brxe-woocommerce-mini-cart p.woocommerce-mini-cart__total {
  flex: 0 0 auto;
  display: flex; justify-content: space-between; align-items: baseline;
  margin: 0; padding: 16px 0 0;
  border-top: 1px solid var(--gk-border);
  font-size: 15px; font-weight: 700; color: var(--gk-ink);
}
.brxe-woocommerce-mini-cart p.woocommerce-mini-cart__total strong { font-weight: 500; color: var(--gk-muted); }

.brxe-woocommerce-mini-cart p.woocommerce-mini-cart__buttons {
  flex: 0 0 auto;
  display: flex; flex-direction: column; gap: 10px;
  margin: 14px 0 0; padding: 0;
}
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons a.button {
  width: 100%; min-height: 48px; margin: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 600; text-decoration: none;
  border-radius: var(--gk-radius-md);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
/* Kasse first and primary (Shopify convention) */
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons a.button.checkout {
  order: -1;
  background: var(--gk-accent) !important; color: #fff !important; border: 0;
}
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons a.button.checkout:hover { background: var(--gk-accent-hover) !important; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background: #fff !important; color: var(--gk-ink) !important;
  border: 1px solid var(--gk-border) !important;
}
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { border-color: var(--gk-ink) !important; }

.brxe-woocommerce-mini-cart .woocommerce-mini-cart__empty-message {
  flex: 1; display: flex; align-items: center; justify-content: center;
  margin: 0; font-size: 15px; color: var(--gk-muted);
}

/* --- Busy states: instant feedback instead of a long gray blanket --- */
tr.gk-removing, li.gk-removing { opacity: .25 !important; pointer-events: none; transition: opacity .2s ease; }
.woocommerce-cart-form .blockUI.blockOverlay,
.cart_totals .blockUI.blockOverlay,
.gk-cart-summary .blockUI.blockOverlay,
.brxe-woocommerce-mini-cart .blockUI.blockOverlay {
  background: #fff !important; opacity: .35 !important; cursor: progress !important;
}

/* Add-on cards: whole card is clickable — subtle background shift on hover */
.bundled_product.bundled_item_optional { cursor: pointer; transition: background .15s ease; }
#brxe-fmsrvu .bundled_product.bundled_item_optional:hover { background: var(--gk-subtle) !important; }
.bundled_product_permalink { color: var(--gk-muted); }
.bundled_product_permalink:hover { color: var(--gk-accent); }

/* Woo marks sale prices with <ins>, which browsers underline by default */
.price ins, .woocommerce-Price-amount ins, ins.woocommerce-Price-amount { text-decoration: none; }

/* "Spar kr. X" pill on its own line under the add-on label */
#brxe-fmsrvu .gk-pill-save {
  display: block;
  width: max-content;
  margin: 6px 0 0 26px;
  padding: 4px 10px;
  background: var(--gk-accent-tint);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--gk-accent-hover);
}

/* pending-shipping placeholder row */
.gk-shipping-pending td { font-size: 13px !important; font-weight: 400 !important; color: var(--gk-muted) !important; font-style: italic; }

/* ==========================================================================
   LEGAL / PROSE PAGES (body.gk-legal — privacy, terms, cookie, refund + EN)
   These render through Bricks' plain-WordPress fallback (article#brx-content
   .wordpress) with raw post content; give them a readable centered column.
   ========================================================================== */
body.gk-legal #brx-content {
  display: block;
  max-width: 768px;
  margin-inline: auto;
  padding: 56px 24px 120px;
}
body.gk-legal #brx-content > h1 {
  font-size: clamp(32px, 4vw, 42px);
  line-height: 1.15;
  margin: 0 0 12px;
}
body.gk-legal #brx-content h2 {
  font-size: 22px;
  line-height: 1.3;
  margin: 44px 0 12px;
}
body.gk-legal #brx-content h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 32px 0 10px;
}
body.gk-legal #brx-content p {
  margin: 0 0 16px;
  line-height: 1.7;
}
body.gk-legal #brx-content ul,
body.gk-legal #brx-content ol {
  margin: 0 0 16px;
  padding-left: 22px;
}
body.gk-legal #brx-content li {
  margin-bottom: 6px;
  line-height: 1.65;
}
body.gk-legal #brx-content a {
  color: var(--gk-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.gk-legal #brx-content a:hover {
  color: var(--gk-accent-hover);
}
/* Complianz cookie-declaration block ([cmplz-cookies]) — keep it compact and
   let wide tables scroll instead of breaking the column. */
body.gk-legal #brx-content .cmplz-cookies-overview {
  font-size: 14px;
}
body.gk-legal #brx-content .cmplz-cookies-overview table {
  display: block;
  overflow-x: auto;
}

/* Digital withdrawal form (forbrugeraftaleloven § 20a) on the refund pages */
.gk-fortryd {
  margin: 24px 0 40px;
  padding: 28px;
  background: var(--gk-surface);
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-lg);
}
body.gk-legal #brx-content .gk-fortryd h2 {
  margin: 0 0 6px;
}
.gk-fortryd-intro {
  color: var(--gk-muted);
}
body.gk-legal #brx-content .gk-fortryd-intro {
  margin-bottom: 20px;
}
.gk-fortryd-form label {
  display: block;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gk-ink);
}
.gk-fortryd-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
@media (max-width: 640px) {
  .gk-fortryd-grid { grid-template-columns: 1fr; }
}
.gk-fortryd-form input,
.gk-fortryd-form textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 400;
  color: var(--gk-ink);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
}
.gk-fortryd-form input:focus,
.gk-fortryd-form textarea:focus {
  outline: none;
  border-color: var(--gk-accent);
  box-shadow: 0 0 0 3px var(--gk-accent-tint);
}
.gk-fortryd-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}
.gk-fortryd-submit {
  display: inline-block;
  margin-top: 4px;
  padding: 12px 28px;
  font: inherit;
  font-weight: 600;
  color: #fff;
  background: var(--gk-accent);
  border: none;
  border-radius: var(--gk-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.gk-fortryd-submit:hover { background: var(--gk-accent-hover); }
.gk-fortryd-submit:disabled { opacity: 0.6; cursor: default; }
.gk-fortryd-error {
  margin: 12px 0 0;
  color: var(--gk-danger);
  font-size: 14px;
}
.gk-fortryd-success {
  padding: 16px 18px;
  background: var(--gk-accent-tint);
  border: 1px solid var(--gk-accent);
  border-radius: var(--gk-radius-md);
  color: var(--gk-ink);
}
body.gk-legal #brx-content .gk-fortryd-success p { margin: 6px 0 0; }

/* Newsletter — footer signup (dark footer: --gk-ink bg, muted body text) */
.gk-nl {
  margin-top: 20px;
  max-width: 320px;
}
.gk-nl-title {
  margin: 0 0 2px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff;
}
.gk-nl-sub {
  margin: 0 0 10px;
  font-size: 13px;
  color: #a8adb3;
}
.gk-nl-row {
  display: flex;
  gap: 8px;
}
.gk-nl-row input[type=email] {
  flex: 1;
  min-width: 0;
  padding: 9px 12px;
  font: inherit;
  font-size: 14px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid #4a4a4a;
  border-radius: var(--gk-radius-md);
}
.gk-nl-row input[type=email]::placeholder {
  color: #7d838a;
}
.gk-nl-row input[type=email]:focus {
  outline: none;
  border-color: var(--gk-accent);
}
.gk-nl-row button {
  padding: 9px 18px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--gk-accent);
  border: none;
  border-radius: var(--gk-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.gk-nl-row button:hover { background: var(--gk-accent-hover); }
.gk-nl-row button:disabled { opacity: 0.6; cursor: default; }
.gk-nl-ok { margin: 8px 0 0; font-size: 13px; color: #ffffff; }
.gk-nl-err { margin: 8px 0 0; font-size: 13px; color: #f2b8b5; }

/* Newsletter — checkout consent checkbox (above the place-order button) */
.gk-nl-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gk-muted);
  cursor: pointer;
}
.gk-nl-consent input {
  margin-top: 2px;
  accent-color: var(--gk-accent);
  flex-shrink: 0;
}

/* Checkout: Woo's .woocommerce-checkout label rule outranks .gk-nl-consent
   and kills the flex display, collapsing the 8px gap. Re-assert it. */
.woocommerce-checkout label.gk-nl-consent {
  display: flex;
}

.gk-nl-privacy {
  margin: 8px 0 0;
  font-size: 11px;
  color: #7d838a;
}
.gk-nl-privacy a {
  color: #a8adb3;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gk-nl-privacy a:hover { color: #ffffff; }

/* ==========================================================================
   ACCESSIBILITY — WCAG AA contrast (white text on Kajak Blue #548DCA = 3.47:1,
   fails 4.5:1). Buttons with white text rest on the darker approved shade
   #3F76B0 (4.74:1) and hover one step deeper. Decorative accent uses
   (pills, borders, focus rings) keep #548DCA — no white text there.
   ========================================================================== */
.bricks-button.bricks-background-primary,
.gk-btn,
.gk-nl-row button,
.gk-fortryd-submit,
.woocommerce .checkout-button,
.gk-cart-summary .checkout-button,
#place_order,
.single_add_to_cart_button {
  background-color: #3F76B0 !important;
}
.bricks-button.bricks-background-primary:hover,
.gk-btn:hover,
.gk-nl-row button:hover,
.gk-fortryd-submit:hover,
.woocommerce .checkout-button:hover,
.gk-cart-summary .checkout-button:hover,
#place_order:hover,
.single_add_to_cart_button:hover {
  background-color: #35639A !important;
}
/* Footer muted texts on ink (#363636): lighten to pass 4.5:1 */
.gk-nl-privacy { color: #a8adb3; }
#brxe-gkcpy01 { color: #a8adb3 !important; }

/* A11y: pill text on accent-tint needs 4.5:1 — one step darker than accent-hover */
.gk-pill-save,
.gk-pill-discount {
  color: #35639A;
}
/* Bundle-sells section title (demoted h3→h2 via template override) — keep h3 look */
h2.bundle-sells-section-title {
  font-size: 21px;
  line-height: 1.3;
}

/* A11y (specificity fix): the add-on card styles are ID-scoped, so the pill
   recolor above never won. 4.24:1 → 5.6:1 on the tint background. */
.gk-pill-save,
.gk-pill-discount,
.gk-pill-save .woocommerce-Price-amount {
  color: #35639A !important;
}

/* ---- Paddle finder (gk-paddle-finder.php, pages 390/646) ---- */
.gk-finder {
  max-width: 720px;
  margin: 48px auto;
  padding: 32px 28px;
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 12px;
}
.gk-finder h2 { margin: 0 0 8px; }
.gk-finder-intro { color: #5b6168; margin: 0 0 24px; }
.gk-finder fieldset { border: 0; padding: 0; margin: 0 0 22px; }
.gk-finder legend { font-weight: 600; margin-bottom: 10px; }
.gk-finder-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #dde1e6;
  border-radius: 8px;
  margin: 0 0 8px;
  cursor: pointer;
}
.gk-finder-opt:hover { border-color: #3F76B0; }
.gk-finder-opt:has(input:checked) { border-color: #3F76B0; background: #EDF3FA; }
.gk-finder-opt input { margin-top: 4px; accent-color: #3F76B0; flex-shrink: 0; }
.gk-finder-opt small { display: block; color: #6c727a; }
.gk-finder-joints { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; margin-top: 4px; cursor: pointer; }
.gk-finder-joints input { margin-top: 3px; accent-color: #3F76B0; flex-shrink: 0; }
.gk-finder-submit {
  background: #3F76B0 !important;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.gk-finder-submit:hover { background: #35639A !important; }
.gk-finder-submit:disabled { opacity: 0.5; cursor: default; }
.gk-finder-result { margin-top: 28px; }
.gk-finder-rec-label { text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px; font-weight: 700; color: #35639A; margin: 0 0 8px; }
.gk-finder-card {
  border: 2px solid #3F76B0;
  border-radius: 10px;
  padding: 20px;
  margin: 0 0 14px;
}
.gk-finder-name { font-size: 19px; font-weight: 700; margin: 0 0 6px; }
.gk-finder-meta { margin: 0 0 14px; color: #363636; }
.gk-finder-link {
  display: inline-block;
  background: #3F76B0 !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: 600;
  text-decoration: none;
}
.gk-finder-link:hover { background: #35639A !important; }
.gk-finder-note { font-size: 14px; color: #5b6168; margin: 8px 0; }
.gk-finder-chart { margin-top: 36px; border-top: 1px solid #e3e6ea; padding-top: 24px; }
.gk-finder-chart h3 { margin: 0 0 8px; }
.gk-finder-chart table { border-collapse: collapse; margin: 14px 0; }
.gk-finder-chart th, .gk-finder-chart td { border: 1px solid #dde1e6; padding: 8px 18px; text-align: left; }
.gk-finder-chart th { background: #f4f6f8; }
.gk-finder-chart ul { margin: 10px 0 0 18px; }
.gk-finder-chart li { margin-bottom: 6px; }

/* Shop page heading (Greenland Paddles title consolidation) */
.gk-shop-head { padding: 48px 0 0; }
.gk-shop-head h1 { font-size: var(--text-3xl); font-weight: 700; line-height: 1.1; margin: 0 0 var(--space-xs); }
.gk-shop-head p { font-size: var(--text-m); line-height: 1.6; max-width: 640px; margin: 0; color: var(--gk-secondary, #494E54); }

/* Related products: Woo's raw loop anchor is inline (collapses to 0 height) —
   make it a proper column so image/title/price flow inside the card. */
#brxe-efvcyd li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; }
#brxe-efvcyd li.product { height: auto; }

/* Bundle-sells: breathing room between the 20%-heading and the add-on cards. */
.bundle_sells_title h2.bundle-sells-section-title { margin: 0 0 var(--space-s); }

/* Trust boxes (unhidden): spacing and alignment on the token scale. */
#brxe-ecaesf { gap: var(--space-m); }
#brxe-ecaesf .brxe-icon-box { flex: 1; }

/* Trust row: three equal columns on the token scale, system typography. */
#brxe-ecaesf {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-m);
  margin-top: var(--space-l) !important;
}
#brxe-ecaesf .brxe-icon-box { flex: initial; }
#brxe-ecaesf .brxe-icon-box h4 {
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: var(--text-m);
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--gk-ink);
}
#brxe-ecaesf .brxe-icon-box p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--gk-secondary);
  margin: 0;
}
@media (max-width: 767px) {
  #brxe-ecaesf { grid-template-columns: 1fr; }
}
#brxe-ecaesf .brxe-icon-box { width: auto !important; max-width: none !important; }

/* Trust boxes: brand font (the icon-boxes carry a legacy Barlow element font). */
#brxe-ecaesf .brxe-icon-box, #brxe-ecaesf .brxe-icon-box h4, #brxe-ecaesf .brxe-icon-box p { font-family: "Circ", "Circular", "Helvetica Neue", Arial, sans-serif !important; }

/* Trust boxes: match the card language (border, radius, one background). */
#brxe-ecaesf .brxe-icon-box {
  background: var(--gk-surface) !important;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
}
/* Specs table: fill the column. */
#brxe-wxncwi table { width: 100%; }

/* Compact trust list in the buy box (av-cables pattern). */
.gk-buy-trust { list-style: none; margin: var(--space-xs) 0 0; padding: 0; }
.gk-buy-trust li { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.5; color: var(--gk-secondary); margin: 6px 0; }
.gk-buy-trust li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--gk-success); font-weight: 700; }
/* Big trust row retired in favor of the buy-box list. */
#brxe-ecaesf { display: none; }

/* ==========================================================================
   My-account pages (Woo [woocommerce_my_account] shortcode render).
   Prod runs Bricks 2.3.9; the modular account-v2 build on staging needs
   Bricks 2.4. This whole section can be deleted once that port happens.
   ========================================================================== */
body.woocommerce-account #brx-content {
  width: 100%;
  max-width: 1140px;
  margin-inline: auto;
  padding: var(--space-xl, 4rem) var(--space-m, 1.5rem) var(--space-2xl, 6rem);
}
body.woocommerce-account #brx-content > h1 {
  font-size: var(--text-3xl, 2.2rem);
  margin: 0 0 var(--space-l, 2.5rem);
}
body.woocommerce-account #brx-content .woocommerce > h2 {
  text-align: center;
  margin: 0 0 var(--space-m, 1.5rem);
}

/* --- Auth forms: login / register / lost + reset password ----------------- */
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account form.lost_reset_password {
  max-width: 460px;
  margin: 0 auto;
  padding: var(--space-l, 2rem);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  text-align: left;
}
body.woocommerce-account .woocommerce form .form-row {
  margin: 0 0 var(--space-s, 1rem);
  padding: 0;
}
body.woocommerce-account .woocommerce form .form-row-first,
body.woocommerce-account .woocommerce form .form-row-last {
  width: 100%;
  float: none;
}
body.woocommerce-account .woocommerce form label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gk-ink);
}
body.woocommerce-account .woocommerce form label.woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  color: var(--gk-secondary);
}
body.woocommerce-account .woocommerce .input-text,
body.woocommerce-account .woocommerce select {
  width: 100%;
  padding: 12px 14px;
  font-size: 16px;
  color: var(--gk-ink);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-md);
}
body.woocommerce-account .woocommerce .input-text:focus,
body.woocommerce-account .woocommerce select:focus {
  border-color: var(--gk-accent);
  outline: none;
}
body.woocommerce-account .woocommerce .show-password-input {
  top: auto;
}
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce a.button {
  display: inline-block;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: var(--gk-accent);
  border: 1px solid var(--gk-accent);
  border-radius: var(--gk-radius-md);
  cursor: pointer;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce a.button:hover {
  color: #fff;
  background: var(--gk-accent-hover);
  border-color: var(--gk-accent-hover);
}
body.woocommerce-account .woocommerce .lost_password {
  margin: var(--space-s, 1rem) 0 0;
  font-size: 14px;
}
body.woocommerce-account .woocommerce .lost_password a {
  color: var(--gk-secondary);
  text-decoration: underline;
}
body.woocommerce-account .woocommerce .lost_password a:hover { color: var(--gk-ink); }

/* --- Notices -------------------------------------------------------------- */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
  list-style: none;
  margin: 0 0 var(--space-m, 1.5rem);
  padding: 14px 18px;
  border: 1px solid #cfe0f2;
  border-left: 4px solid var(--gk-info);
  border-radius: var(--gk-radius-md);
  background: var(--gk-accent-tint);
  color: #3f6690;
  font-size: 15px;
}
body.woocommerce-account .woocommerce-message {
  border-color: #c9e4d3;
  border-left-color: var(--gk-success);
  background: var(--gk-success-tint);
  color: #3c7d5c;
}
body.woocommerce-account .woocommerce-error {
  border-color: #eccbca;
  border-left-color: var(--gk-danger);
  background: var(--gk-danger-tint);
  color: #9c4643;
}

/* --- Logged-in layout: sidebar nav + content ------------------------------ */
body.logged-in.woocommerce-account #brx-content > .woocommerce {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-l, 2.5rem);
  align-items: start;
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: auto;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li + li {
  border-top: 1px solid var(--gk-subtle);
}
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 500;
  color: var(--gk-secondary);
  text-decoration: none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--gk-surface);
  color: var(--gk-ink);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--gk-accent-active);
  background: var(--gk-accent-tint);
  box-shadow: inset 3px 0 0 var(--gk-accent);
  font-weight: 600;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
  font-size: 16px;
  color: var(--gk-ink);
}
body.woocommerce-account .woocommerce-MyAccount-content > p {
  margin: 0 0 var(--space-s, 1rem);
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
  margin: var(--space-m, 1.5rem) 0;
  padding: 0;
  border: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
  font-size: var(--text-l, 1.25rem);
  font-weight: 700;
  margin-bottom: var(--space-s, 1rem);
}

/* --- Tables (orders, downloads) ------------------------------------------- */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  padding: 14px 16px;
  text-align: left;
  font-weight: 700;
  color: var(--gk-ink);
  background: var(--gk-surface);
  border-bottom: 1px solid var(--gk-border);
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--gk-subtle);
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button {
  padding: 8px 14px;
  font-size: 14px;
}

/* --- Addresses ------------------------------------------------------------ */
body.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-m, 1.5rem);
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: auto;
  max-width: none;
  padding: var(--space-m, 1.5rem);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
}
body.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: var(--space-s, 1rem);
}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account #brx-content .woocommerce-Address-title h2 {
  font-size: var(--text-l, 1.25rem);
  margin: 0;
  text-align: left;
}
body.woocommerce-account .woocommerce-Address-title .edit {
  font-size: 14px;
  color: var(--gk-secondary);
  text-decoration: underline;
}
body.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  line-height: 1.6;
  color: var(--gk-secondary);
}

/* --- Responsive ----------------------------------------------------------- */
@media (max-width: 900px) {
  body.logged-in.woocommerce-account #brx-content > .woocommerce {
    grid-template-columns: 1fr;
  }
  body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  body.woocommerce-account #brx-content {
    padding-top: var(--space-l, 2.5rem);
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead { display: none; }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    display: block;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td::before {
    content: attr(data-title);
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--gk-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr {
    display: block;
    border-bottom: 1px solid var(--gk-border);
  }
}

/* Login card: stack remember-me above a full-width button */
body.woocommerce-account form.woocommerce-form-login label.woocommerce-form__label-for-checkbox {
  display: flex;
  margin-bottom: var(--space-s, 1rem);
}
body.woocommerce-account form.woocommerce-form-login button.button {
  width: 100%;
}

/* Header account link */
.gk-header-account {
  font-size: 13px;
  letter-spacing: .02em;
  white-space: nowrap;
  color: var(--gk-ink, #222);
  text-decoration: none;
}
.gk-header-account:hover { text-decoration: underline; }

/* Account nav: kill square-cornered wrapper background peeking behind the rounded ul */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: transparent;
  border-radius: var(--gk-radius-xl);
}

/* Variation reset link ("Ryd"): align the clear icon and text */
.reset_variations {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
}
.reset_variations::before { line-height: 1; }

/* Related-product cards: content top, qty + button pinned to card bottom */
.brxe-product-related li.product { display: flex; flex-direction: column; }
.brxe-product-related li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
}
.brxe-product-related li.product > form {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.brxe-product-related li.product > .quantity,
.brxe-product-related li.product .quantity { margin-top: auto; }
.brxe-product-related li.product > a.button { margin-top: auto; }
.brxe-product-related li.product > .quantity ~ a.button,
.brxe-product-related li.product > form ~ a.button { margin-top: 10px; }

/* Shipping-pending note: amount tds are nowrap; this long sentence must wrap
   inside the totals box instead of blowing the table out of its container. */
.gk-shipping-pending td {
  white-space: normal !important;
  overflow-wrap: break-word;
  text-align: right;
}
#order_review table { width: 100%; }

/* ==========================================================================
   Order-received (thank-you) page
   ========================================================================== */
body.woocommerce-order-received #brx-content {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  padding: var(--space-l, 2.5rem) var(--space-m, 1.5rem) var(--space-2xl, 6rem);
}
body.woocommerce-order-received #brx-content > h1 {
  font-size: var(--text-3xl, 2.2rem);
  margin: 0 0 var(--space-s, 1rem);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  text-align: left;
  font-size: var(--text-l, 1.25rem);
  font-weight: 600;
  color: var(--gk-success);
  margin: 0 0 var(--space-m, 1.5rem);
}
body.woocommerce-order-received ul.woocommerce-order-overview {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px;
  margin: 0 0 var(--space-l, 2.5rem);
  padding: 0;
  background: var(--gk-border);
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
  margin: 0;
  padding: var(--space-s, 1rem) var(--space-m, 1.5rem);
  background: #fff;
  border: 0;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--gk-secondary);
  float: none;
  width: auto;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--gk-ink);
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  font-size: var(--text-xl, 1.5rem);
  margin: var(--space-l, 2.5rem) 0 var(--space-s, 1rem);
}
body.woocommerce-order-received table.order_details {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
  overflow: hidden;
}
body.woocommerce-order-received table.order_details th,
body.woocommerce-order-received table.order_details td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--gk-subtle);
}
body.woocommerce-order-received table.order_details thead th {
  background: var(--gk-surface);
  font-weight: 700;
  color: var(--gk-ink);
  border-bottom: 1px solid var(--gk-border);
}
body.woocommerce-order-received table.order_details tfoot th {
  font-weight: 600;
}
body.woocommerce-order-received table.order_details tfoot tr:last-child th,
body.woocommerce-order-received table.order_details tfoot tr:last-child td {
  font-weight: 700;
  border-bottom: 0;
}
body.woocommerce-order-received .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-m, 1.5rem);
}
body.woocommerce-order-received .col2-set .col-1,
body.woocommerce-order-received .col2-set .col-2 {
  float: none;
  width: auto;
  max-width: none;
  padding: var(--space-m, 1.5rem);
  background: #fff;
  border: 1px solid var(--gk-border);
  border-radius: var(--gk-radius-xl);
}
body.woocommerce-order-received .col2-set .woocommerce-column__title {
  margin-top: 0;
  font-size: var(--text-l, 1.25rem);
}
body.woocommerce-order-received address {
  font-style: normal;
  line-height: 1.6;
  color: var(--gk-secondary);
}
@media (max-width: 640px) {
  body.woocommerce-order-received .col2-set { grid-template-columns: 1fr; }
}
