/* Scoped to checkout: retain WooCommerce fields, validation and gateway behaviour. */
.ko-checkout-refresh .woocommerce .woocommerce-message:focus {
  outline:none!important;
  box-shadow:none!important;
}
.ko-checkout-refresh #global_wrapper .woocommerce_message,
.ko-checkout-refresh #global_wrapper .woocommerce-message,
.ko-checkout-refresh .woocommerce .woocommerce-info {
  padding:14px 18px!important;
  min-height:54px;
  display:flow-root;
}
.ko-checkout-refresh #global_wrapper .woocommerce-message.ko-notice-with-action,
.ko-checkout-refresh #global_wrapper .woocommerce_message.ko-notice-with-action {
  display:flex;
  align-items:center;
  gap:18px;
}
.ko-checkout-refresh #global_wrapper .ko-notice-with-action::before,
.ko-checkout-refresh #global_wrapper .ko-notice-with-action::after {
  content:none!important;
}
.ko-checkout-refresh #global_wrapper .ko-notice-copy {
  flex:1 1 0;
  min-width:0;
  overflow-wrap:anywhere;
}
.ko-checkout-refresh #global_wrapper .ko-notice-with-action .button {
  float:none!important;
  flex:0 0 auto;
  margin:0!important;
  white-space:nowrap;
  align-self:center;
}
.ko-checkout-refresh .ko-checkout-quantity {
  display:flex; align-items:center; gap:10px; margin:12px 0;
  font:400 14px/1.4 Arial,Helvetica,sans-serif; color:#333;
}
.ko-checkout-refresh .ko-checkout-quantity-input {
  box-sizing:border-box; width:76px!important; min-width:76px;
  height:44px; padding:8px!important; border:1px solid #bbb;
  background:#fff; color:#222; border-radius:0;
  font:400 16px/1.4 Arial,Helvetica,sans-serif;
}
.ko-checkout-refresh .ko-checkout-error-popup {
  position:fixed; z-index:2147483000; bottom:max(18px, env(safe-area-inset-bottom));
  left:50%; transform:translateX(-50%); box-sizing:border-box;
  width:calc(100% - 32px); max-width:760px; max-height:40dvh; overflow:auto;
  background:#fff!important; color:#861d16!important;
  border:2px solid #b32820; border-left:8px solid #b32820;
  padding:20px 58px 20px 24px; box-shadow:0 8px 40px rgba(0,0,0,.3);
  font:600 16px/1.5 Arial,Helvetica,sans-serif;
}
.ko-checkout-refresh .ko-checkout-error-popup[hidden] { display:none!important; }
.ko-checkout-refresh .ko-checkout-error-popup ul { margin:0; padding:0 0 0 18px; list-style:disc; }
.ko-checkout-refresh .ko-checkout-error-popup li { color:#861d16!important; margin:0 0 6px; }
.ko-checkout-refresh .ko-checkout-error-popup__close {
  position:absolute; top:8px; right:8px; width:40px; height:40px;
  background:#fff; color:#861d16; border:1px solid #b32820; border-radius:0;
  font:400 28px/1 Arial,sans-serif; cursor:pointer; padding:0;
}
.ko-checkout-refresh .woocommerce .woocommerce-error,
.ko-checkout-refresh .woocommerce .woocommerce-error li,
.ko-checkout-refresh .woocommerce .checkout-inline-error-message { color:#861d16!important; }
body.ko-checkout-refresh { background:#fff; color:#333; }
.ko-checkout-refresh .page_full_width .inner_wrapper_narrow {
  box-sizing:border-box; width:calc(100% - 48px); max-width:1180px;
  margin:0 auto 60px; padding:32px clamp(20px,4vw,54px) 48px;
  background:#fff; border:1px solid #d6d6d6; border-top:2px solid #ff9003;
}
.ko-checkout-refresh .woocommerce { font:400 15px/1.6 Arial,Helvetica,sans-serif; color:#333; }
.ko-checkout-refresh .ko-checkout-heading h1 {
  font:400 clamp(30px,3vw,42px)/1.2 "Noto Serif Display",Georgia,serif;
  color:#222; margin:0 0 26px; padding:0;
}
.ko-checkout-refresh .woocommerce form.checkout {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  grid-template-rows:auto auto 1fr; column-gap:44px; align-items:start; margin-top:28px;
}
.ko-checkout-refresh .woocommerce form.checkout::before,
.ko-checkout-refresh .woocommerce form.checkout::after { content:none; }
.ko-checkout-refresh form.checkout > .wcpay-express-checkout-wrapper { grid-column:1/-1; grid-row:1; }
.ko-checkout-refresh #customer_details { grid-column:1; grid-row:2/4; width:100%; float:none; }
.ko-checkout-refresh #customer_details .col-1,
.ko-checkout-refresh #customer_details .col-2 { width:100%; float:none; padding:0; }
.ko-checkout-refresh #order_review_heading { grid-column:2; grid-row:2; margin-top:0!important; width:100%!important; }
.ko-checkout-refresh #order_review { grid-column:2; grid-row:3; width:100%!important; min-width:0; float:none; }
.ko-checkout-refresh .woocommerce h3 {
  font:400 25px/1.3 "Noto Serif Display",Georgia,serif;
  color:#222; margin:0 0 22px; padding:0 0 12px; border-bottom:1px solid #d6d6d6;
  text-transform:none;
}
.ko-checkout-refresh .woocommerce form .form-row { padding:0; margin:0 0 18px; }
.ko-checkout-refresh .woocommerce form .form-row label {
  font:400 13px/1.5 Arial,Helvetica,sans-serif; color:#444; text-transform:none;
  letter-spacing:0; margin-bottom:6px;
}
.ko-checkout-refresh .woocommerce form .form-row input.input-text,
.ko-checkout-refresh .woocommerce form .form-row select,
.ko-checkout-refresh .woocommerce form .form-row textarea {
  box-sizing:border-box; width:100%; border:1px solid #ccc; border-radius:0;
  background:#fff; box-shadow:none; color:#222; padding:11px 12px;
  font:400 16px/1.4 Arial,Helvetica,sans-serif; min-height:44px;
}
.ko-checkout-refresh .woocommerce form .form-row textarea { height:100px; min-height:100px; }
.ko-checkout-refresh .woocommerce input:focus,
.ko-checkout-refresh .woocommerce textarea:focus { outline:2px solid #ff9003; outline-offset:2px; }
.ko-checkout-refresh .select2-container .select2-selection--single {
  min-height:44px; border:1px solid #ccc; border-radius:0; padding:6px;
}
.ko-checkout-refresh .woocommerce table.shop_table { border:0; border-collapse:collapse; width:100%; margin:0 0 24px; font-size:14px; }
.ko-checkout-refresh .woocommerce table.shop_table th,
.ko-checkout-refresh .woocommerce table.shop_table td { padding:14px 8px; border-bottom:1px solid #ddd; text-transform:none; vertical-align:top; }
.ko-checkout-refresh .woocommerce table.shop_table th:first-child,
.ko-checkout-refresh .woocommerce table.shop_table td:first-child { padding-left:0; }
.ko-checkout-refresh .woocommerce table.shop_table .product-total,
.ko-checkout-refresh .woocommerce table.shop_table tfoot td { text-align:right; white-space:nowrap; }
.ko-checkout-refresh .woocommerce table.shop_table .order-total { font-size:18px; }
.ko-checkout-refresh .woocommerce .woocommerce-message,
.ko-checkout-refresh .woocommerce .woocommerce-info,
.ko-checkout-refresh .woocommerce .woocommerce-error {
  box-sizing:border-box; background:#fafafa!important; color:#333; border:1px solid #d6d6d6!important;
  border-left:3px solid #ff9003!important; border-radius:0!important; padding:14px 18px!important;
  margin:0 0 22px; box-shadow:none; font:400 14px/1.6 Arial,Helvetica,sans-serif;
}
.ko-checkout-refresh .woocommerce .woocommerce-error { border-left-color:#ad2525!important; }
.ko-checkout-refresh .woocommerce .woocommerce-info::before,
.ko-checkout-refresh .woocommerce .woocommerce-message::before,
.ko-checkout-refresh .woocommerce .woocommerce-error::before { content:none; }
.ko-checkout-refresh .woocommerce a:not(.button) { color:#333; text-decoration:underline; text-underline-offset:3px; }
.ko-checkout-refresh .woocommerce .button,
.ko-checkout-refresh .woocommerce #place_order {
  background:#ff9003!important; color:#111!important; border:1px solid #ff9003!important;
  border-radius:0; font:700 14px/1.4 Arial,Helvetica,sans-serif;
  padding:13px 22px; box-shadow:none; text-transform:none; letter-spacing:0;
}
.ko-checkout-refresh .woocommerce .button:hover { background:#e88000!important; }
.ko-checkout-refresh .woocommerce #place_order { float:none!important; width:100%!important; margin:16px 0 0; }
/* Override legacy display:none on the entire gateway list, not individual boxes. */
.ko-checkout-refresh #payment .wc_payment_methods.payment_methods { display:block!important; }
.ko-checkout-refresh .woocommerce #payment { background:#fff; border:0; border-radius:0; }
.ko-checkout-refresh .woocommerce #payment ul.payment_methods { padding:0; border-bottom:1px solid #ddd; }
.ko-checkout-refresh .woocommerce #payment ul.payment_methods li { margin:0; padding:14px 0; border-top:1px solid #ddd; }
.ko-checkout-refresh .woocommerce #payment ul.payment_methods li label { color:#333; font:400 14px/1.6 Arial,Helvetica,sans-serif; }
.ko-checkout-refresh .woocommerce #payment div.payment_box { background:#f7f7f7; color:#333; box-shadow:none; border:0; padding:16px; margin:12px 0; }
.ko-checkout-refresh .woocommerce #payment div.payment_box::before,
.ko-checkout-refresh .woocommerce #payment div.payment_box::after { content:none; }
.ko-checkout-refresh .woocommerce #payment div.form-row { padding:18px 0 0; }
.ko-checkout-refresh .woocommerce-privacy-policy-text { font-size:12px; color:#666; }
@media(max-width:800px) {
  .ko-checkout-refresh .page_full_width .inner_wrapper_narrow { width:100%; padding:26px 20px 36px; margin-bottom:32px; border-left:0; border-right:0; }
  .ko-checkout-refresh .woocommerce form.checkout { display:block; }
  .ko-checkout-refresh #order_review_heading { margin-top:32px!important; }
  .ko-checkout-refresh #global_wrapper .ko-notice-with-action { gap:12px; }
  .ko-checkout-refresh #global_wrapper .ko-notice-with-action .button { padding:12px; }
}
.ko-checkout-refresh #order_review button.ko-checkout-remove {
  display:inline-block; width:auto; min-width:0; padding:2px 6px; margin:0 0 0 6px;
  border:0; background:transparent; color:#666; font-size:12px; line-height:1.5;
  text-decoration:underline; text-transform:none; letter-spacing:normal; box-shadow:none;
}
/* Order confirmation uses the checkout's white panel, type and orange accent. */
.ko-order-confirmation #global_wrapper .woocommerce-order {
  display:block; float:none; width:100%; max-width:none; margin:0; color:#333;
}
.ko-order-confirmation #global_wrapper .woocommerce-order > .woocommerce-notice {
  padding:20px 24px!important; margin:0 0 28px; background:#fafafa;
  border:1px solid #d6d6d6; border-left:3px solid #ff9003;
  font:400 22px/1.45 "Noto Serif Display",Georgia,serif; color:#222;
}
.ko-order-confirmation #global_wrapper ul.woocommerce-order-overview {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:20px; list-style:none; margin:0 0 36px; padding:0 0 24px;
  border-bottom:1px solid #d6d6d6; width:100%; max-width:none!important; float:none;
}
.ko-order-confirmation #global_wrapper ul.woocommerce-order-overview::before,
.ko-order-confirmation #global_wrapper ul.woocommerce-order-overview::after { content:none; }
.ko-order-confirmation #global_wrapper ul.woocommerce-order-overview li {
  float:none; width:auto; padding:0; margin:0; border:0;
  font:400 13px/1.6 Arial,Helvetica,sans-serif; text-transform:none; color:#666;
  overflow-wrap:anywhere;
}
.ko-order-confirmation #global_wrapper ul.woocommerce-order-overview li strong {
  display:block; font-size:16px; color:#333;
}
.ko-order-confirmation #global_wrapper .woocommerce-order-details,
.ko-order-confirmation #global_wrapper .woocommerce-customer-details {
  display:block; float:none; clear:both; width:100%; margin:0 0 32px;
}
.ko-order-confirmation #global_wrapper .woocommerce h2 {
  font:400 25px/1.3 "Noto Serif Display",Georgia,serif; color:#222;
  text-transform:none; letter-spacing:normal; margin:0 0 20px; padding:0;
}
.ko-order-confirmation #global_wrapper .woocommerce table.order_details {
  display:table; float:none; table-layout:auto; width:100%; max-width:100%;
  margin:0 0 30px; border-collapse:collapse;
}
.ko-order-confirmation #global_wrapper .woocommerce table.order_details th,
.ko-order-confirmation #global_wrapper .woocommerce table.order_details td {
  width:auto; overflow-wrap:anywhere; white-space:normal; background:#fff;
  padding:14px 8px!important; vertical-align:middle!important;
}
.ko-order-confirmation #global_wrapper .woocommerce table.order_details .product-total,
.ko-order-confirmation #global_wrapper .woocommerce table.order_details tfoot td { text-align:right; }
.ko-order-confirmation #global_wrapper .woocommerce .col2-set.addresses {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; width:100%;
}
.ko-order-confirmation #global_wrapper .woocommerce .col2-set.addresses::before,
.ko-order-confirmation #global_wrapper .woocommerce .col2-set.addresses::after { content:none; }
.ko-order-confirmation #global_wrapper .woocommerce .addresses .col-1,
.ko-order-confirmation #global_wrapper .woocommerce .addresses .col-2 { float:none; width:auto; padding:0; min-width:0; }
.ko-order-confirmation #global_wrapper .woocommerce address {
  box-sizing:border-box; width:100%; border:1px solid #d6d6d6; border-radius:0;
  padding:20px; font-style:normal; line-height:1.7; overflow-wrap:anywhere;
}
.ko-order-confirmation #global_wrapper .ko-venue-vouchers {
  grid-template-columns:repeat(2,minmax(0,1fr))!important; margin:32px 0; align-items:stretch;
}
.ko-order-confirmation #global_wrapper .ko-venue-reward {
  box-sizing:border-box; min-width:0; margin:0!important; background:#fafafa;
  border:1px solid #d6d6d6!important; border-top:2px solid #ff9003!important;
  overflow-wrap:anywhere;
}
.ko-order-confirmation #global_wrapper .ko-venue-reward img {
  display:block; width:240px; max-width:100%; height:auto; margin:20px auto;
}
.ko-order-confirmation #global_wrapper .ko-venue-voucher-code { text-align:center; font:600 16px/1.5 monospace; }
@media(max-width:700px) {
  .ko-order-confirmation #global_wrapper .ko-venue-vouchers,
  .ko-order-confirmation #global_wrapper .woocommerce .col2-set.addresses { grid-template-columns:minmax(0,1fr)!important; }
  .ko-order-confirmation #global_wrapper ul.woocommerce-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .ko-order-confirmation #global_wrapper .woocommerce table.order_details th,
  .ko-order-confirmation #global_wrapper .woocommerce table.order_details td { padding:12px 6px; font-size:13px; }
}
