/* Generated from site/src/styles/components/woocommerce.css by wordpress/tools/sync-theme-assets.mjs – edit the source, not this copy. */
/*
 * WooCommerce wrapper: base styles for WooCommerce's own markup (notices,
 * buttons, forms, cart and checkout tables) in the design, so the shop,
 * basket, checkout, account and order-received pages are not broken. Full
 * ticketing styling belongs to the later ticketing project.
 * WordPress: assets/css/woocommerce.css, enqueued only on WooCommerce pages
 * (is_woocommerce, is_cart, is_checkout, is_account_page), after
 * WooCommerce's own layout CSS (its general CSS is dequeued).
 */
.woocommerce { max-width: 960px; }
.woocommerce h2 { margin: 10px 0 16px; color: var(--maroon); font-family: var(--display); font-size: var(--h-date); line-height: 1.1; letter-spacing: 0; }

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  margin: 0 0 20px;
  padding: 16px 20px;
  border-left: 4px solid var(--orange);
  background: #fffaf2;
  list-style: none;
}
.woocommerce-error { border-left-color: var(--red); }

.woocommerce .button,
.woocommerce button.button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  border: 0;
  border-radius: 3px;
  background: var(--red);
  color: var(--white);
  font-family: var(--display);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  cursor: pointer;
}
.woocommerce .button:hover,
.woocommerce button.button:hover { background: var(--maroon); text-decoration: none; }

.woocommerce form .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row::before,
.woocommerce form .form-row::after { content: none; }
.woocommerce form .form-row label { line-height: inherit; }
.woocommerce form .form-row .woocommerce-form__input-checkbox { margin: 0; }
.woocommerce label { font-size: 17px; }
.woocommerce .required { color: var(--red); text-decoration: none; }
.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea {
  width: 100%;
  max-width: 520px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #b89a9a;
  border-radius: 3px;
  background: var(--white);
  color: #1a1a1a;
  font: 400 17px/1.4 var(--text);
}
.woocommerce input.input-text:focus-visible { outline: 3px solid var(--maroon); outline-offset: 0; }
.woocommerce form .form-row.form-actions,
.woocommerce form .form-row:has(> .woocommerce-form-login__submit) { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; }
.woocommerce form .woocommerce-form-login__submit { float: none; margin: 0; }
.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-form__input-checkbox { width: 18px; height: 18px; min-height: 0; margin: 0; }

.woocommerce table.shop_table { width: 100%; margin: 0 0 24px; border-collapse: collapse; font-size: 17px; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 10px 12px; border-bottom: 1px solid #ead7c0; text-align: left; vertical-align: middle; }
@media (max-width: 767px) { .woocommerce table.shop_table { display: block; overflow-x: auto; } }

/* Noptin's "Subscribe to RFestival Email" opt-in above the checkout button
   (Noptin's own markup: label > input + span). */
.noptin-integration-subscription-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
.noptin-integration-subscription-checkbox input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--red); }
