/* WTE Checkout — Tickets UI v2.5.1
 * One layout owner: WooCommerce's sidebar-layout flex container.
 * No grid layout on .wc-block-checkout (it may wrap a second inner layout).
 * Theme's legacy dark checkout sheet is dequeued on this route in PHP.
 */

/* 01 — Tickets-page colors */
body.wte-checkout-wireframe {
  --wte-bg: #fff;
  --wte-card: #fff;
  --wte-soft: #f8faff;
  --wte-ink: #10224a;
  --wte-subtle: #526484;
  --wte-line: #dce5f7;
  --wte-blue: #245cf5;
  --wte-purple: #7625dd;
  --wte-pink: #e00091;
  --wte-gradient: linear-gradient(108deg, #245cf5 0%, #7625dd 55%, #e00091 100%);
  --wte-shadow: 0 12px 34px rgb(16 34 74 / 6%);
  background: var(--wte-bg);
  color: var(--wte-ink);
}

/* 02 — Theme-level wrapper: content uses full page, not the theme sidebar */
body.wte-checkout-wireframe :is(.wpdevart-woo-container, .wpdevart-main-woo-container,
  .wpdevart-woo-product-list-full-width, .wpdevart-woo-product-list-with-sidebar,
  .wpdevart-woocommerce, .site-content, #primary, .entry-content) {
  background: transparent !important;
  color: var(--wte-ink);
  box-sizing: border-box;
}

body.wte-checkout-wireframe .wpdevart-woo-container {
  background: #fff !important;
  padding: clamp(56px, 6vw, 88px) 0 88px !important;
}

body.wte-checkout-wireframe .wpdevart-main-woo-container {
  display: block !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 3.1vw, 40px) !important;
  word-break: normal;
}

body.wte-checkout-wireframe :is(.wpdevart-woo-product-list-full-width, .wpdevart-woo-product-list-with-sidebar) {
  display: block !important;
  float: none !important;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.wte-checkout-wireframe .wpdevart-woo-sidebar-container {
  display: none !important;
}

body.wte-checkout-wireframe .wpdevart-woocommerce {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.wte-checkout-wireframe :is(.wp-block-woocommerce-checkout, .wc-block-checkout) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* CRITICAL: only the native WooCommerce two-column node owns flexbox.
 * Never grid/flex every .wc-block-checkout: wrappers can nest. */
body.wte-checkout-wireframe .wc-block-components-sidebar-layout {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(20px, 2.6vw, 32px) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-wrap: nowrap;
}

body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-main {
  box-sizing: border-box;
  display: block;
  flex: 1 1 0% !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
  box-sizing: border-box;
  flex: 0 0 34% !important;
  width: 34% !important;
  max-width: 400px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  position: sticky;
  top: 105px;
  align-self: flex-start;
}

/* Woo inner wrappers sometimes get a 65%-width from legacy styles. */
body.wte-checkout-wireframe :is(.wc-block-checkout__main, .wc-block-checkout__sidebar) {
  box-sizing: border-box;
  min-width: 0 !important;
  overflow-wrap: normal;
  word-break: normal;
}

/* 03 — Heading */
body.wte-checkout-wireframe .page-banner__title {
  margin: 0 0 12px !important;
  max-width: none;
  color: var(--wte-ink) !important;
  font-size: clamp(30px, 3.3vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -.027em;
  text-transform: uppercase;
  background: linear-gradient(95deg, #10224a 15%, #345df5 45%, #7625dd 67%, #e00091 90%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.wte-checkout-wireframe .page-banner__title::after {
  content: '';
  display: block;
  width: 62px;
  height: 3px;
  margin-top: 14px;
  border-radius: 4px;
  background: var(--wte-gradient);
}

body.wte-checkout-wireframe .wte-checkout-intro {
  margin: 0 0 30px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--wte-subtle);
}

/* 04 — Only actual form sections are cards. No styling on structural wrappers. */
body.wte-checkout-wireframe .wc-block-components-checkout-step,
body.wte-checkout-wireframe .venuera-attendee-fields-checkout {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0 0 20px !important;
  padding: clamp(18px, 2vw, 26px) !important;
  background: var(--wte-card) !important;
  border: 1px solid var(--wte-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--wte-shadow) !important;
  color: var(--wte-ink) !important;
}

/* Venuera may render inside an already-carded step; flatten double border. */
body.wte-checkout-wireframe .wc-block-components-checkout-step .venuera-attendee-fields-checkout {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

body.wte-checkout-wireframe :is(.wc-block-components-checkout-step__container,
  .wc-block-components-checkout-step__content, .wc-block-components-checkout-step__heading,
  .wc-block-components-checkout-step__description) {
  box-sizing: border-box;
  min-width: 0;
  background: transparent !important;
  box-shadow: none !important;
}

body.wte-checkout-wireframe :is(.wc-block-components-checkout-step__title,
  .wc-block-components-order-summary__title, .venuera-attendee-title,
  .venuera-attendee-fields-checkout > h3) {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-size: clamp(18px, 1.65vw, 22px) !important;
  font-weight: 780 !important;
  line-height: 1.3;
  letter-spacing: -.015em;
  overflow-wrap: normal;
  word-break: normal;
}

body.wte-checkout-wireframe :is(.wc-block-components-checkout-step__description,
  .venuera-attendee-description, .venuera-attendee-fields-description) {
  margin: 5px 0 16px !important;
  color: var(--wte-subtle) !important;
  -webkit-text-fill-color: var(--wte-subtle) !important;
  line-height: 1.5;
}

body.wte-checkout-wireframe .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title::before,
body.wte-checkout-wireframe .venuera-attendee-title::before {
  content: '1';
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--wte-gradient);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px;
  font-weight: 750;
}

body.wte-checkout-wireframe .venuera-attendee-title::before {
  content: '2';
}

body.wte-checkout-wireframe .venuera-attendee-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.wte-checkout-wireframe .venuera-attendee-title::before {
  flex: 0 0 30px;
  margin: 0;
}

/* 05 — Attendee rows (not extra nested dark cards) */
body.wte-checkout-wireframe :is(.venuera-attendee-ticket-group, .venuera-attendee-ticket-fields) {
  margin: 14px 0 0 !important;
  padding: 14px 16px !important;
  background: var(--wte-soft) !important;
  border: 1px solid var(--wte-line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  min-width: 0;
}

body.wte-checkout-wireframe .venuera-attendee-ticket-group .venuera-attendee-ticket-fields {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
}

body.wte-checkout-wireframe .venuera-attendee-ticket-title {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wte-line) !important;
  background: transparent !important;
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-weight: 750 !important;
  font-size: 16px !important;
  text-transform: none !important;
  line-height: 1.4;
}

body.wte-checkout-wireframe .venuera-attendee-fields-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0;
}

body.wte-checkout-wireframe .venuera-attendee-field {
  min-width: 0;
  margin: 0 !important;
}

/* 06 — Inputs and validation. Do not alter names, values or JS events. */
body.wte-checkout-wireframe :is(.wc-block-checkout, .venuera-attendee-fields-checkout) :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea) {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 45px;
  border: 1px solid #b8c9e4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body.wte-checkout-wireframe :is(.wc-block-checkout, .venuera-attendee-fields-checkout) :is(input, textarea)::placeholder {
  color: #6a7996 !important;
  -webkit-text-fill-color: #6a7996 !important;
  opacity: 1;
}

body.wte-checkout-wireframe :is(.wc-block-components-text-input,
  .wc-block-components-combobox-control, .venuera-attendee-field) label {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-weight: 650 !important;
}

body.wte-checkout-wireframe :is(input, select, textarea):focus-visible {
  outline: 2px solid rgb(36 92 245 / 48%) !important;
  outline-offset: 1px;
  border-color: var(--wte-blue) !important;
}

body.wte-checkout-wireframe :is(input[type='checkbox'], input[type='radio']) {
  accent-color: var(--wte-blue);
}

body.wte-checkout-wireframe :is(.wc-block-components-notice-banner.is-error,
  .woocommerce-error, .venuera-field-error) {
  color: #8f1731 !important;
  background: #fff1f4 !important;
  border-color: #da4772 !important;
}

/* 07 — Order Summary v2.5. WooCommerce 11.2 Block structure.
 * Native title: .wc-block-components-checkout-order-summary__title-text
 * Native boundaries: .wp-block-woocommerce-checkout-order-summary-block
 * Never clone/move React checkout children; all amounts stay Woo data.
 */
body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
  box-sizing: border-box;
  min-width: 0 !important;
  padding: 23px !important;
  border: 1px solid #d4e2fa !important;
  border-radius: 17px !important;
  background: #fff !important;
  box-shadow: 0 12px 35px rgba(16, 34, 74, .065) !important;
  color: var(--wte-ink) !important;
  overflow: visible;
}

/* Woo's Order Summary itself includes its own border and another fill-border.
 * Strip BOTH; the outer WTE sidebar is the single summary card. */
body.wte-checkout-wireframe .wc-block-components-sidebar :is(.wp-block-woocommerce-checkout-order-summary-block,
  .checkout-order-summary-block-fill,
  .checkout-order-summary-block-fill-wrapper,
  .wc-block-components-order-summary,
  .wc-block-components-order-summary__content,
  .wc-block-components-checkout-order-summary__content) {
  box-sizing: border-box;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Real WooCommerce 11.2 title node (v2.4 used the wrong selector).
 * Preserve native accordion/collapse trigger, particularly on mobile. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title {
  box-sizing: border-box;
  display: flex !important;
  position: relative;
  align-items: center !important;
  width: 100%;
  min-height: 66px;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--wte-ink) !important;
  cursor: inherit;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title::before {
  content: '';
  display: block;
  width: 51px;
  height: 51px;
  margin-right: 13px;
  flex: 0 0 51px;
  border-radius: 15px;
  background: #ebf2ff url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2221%22%20r%3D%221%22%2F%3E%3Cpath%20d%3D%22M2%203h3l2.1%2012.3a2%202%200%200%200%202%201.7h10.5a2%202%200%200%200%202-1.6L23%207H6%22%2F%3E%3C%2Fsvg%3E') center/27px 27px no-repeat;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important;
  padding: 0 0 17px !important;
  margin: 0 !important;
  font-size: 20px !important;
  text-transform: capitalize;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -.02em;
  opacity: 1 !important;
  color: #10224a !important;
  -webkit-text-fill-color: #10224a !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text::after {
  content: 'Review your order details.';
  position: absolute;
  bottom: 4px;
  left: 64px;
  color: #586b8d;
  -webkit-text-fill-color: #586b8d;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  pointer-events: none;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-open-close {
  flex-shrink: 0;
  color: var(--wte-blue) !important;
}

/* Legacy alternate title class fallback without inventing another visible title. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary__button-text {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  opacity: 1 !important;
  font-weight: 750 !important;
}

/* Ticket details: exactly ONE interior panel. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item {
  box-sizing: border-box;
  display: flex;
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0 0 16px !important;
  padding: 19px 18px !important;
  border: 1px solid #d5e3fb !important;
  border-radius: 13px !important;
  background: #f8faff !important;
  color: var(--wte-ink) !important;
  box-shadow: none !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item__image {
  display: none !important;
  /* remove default Woo placeholder thumbnail */
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item__description {
  display: block !important;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-name {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .01em;
  text-transform: uppercase;
  padding-right: 85px;
}

/* Woo prints item unit-price AND line-total. The approved compact ticket card
 * needs only the line total (top right); subtotal/total remain visible below. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item__individual-prices {
  display: none !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item__total-price {
  display: block !important;
  position: absolute !important;
  top: 20px;
  right: 17px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}

/* The event metadata is supplied by Venuera's woocommerce_get_item_data.
 * Render its native rows as tidy icon-labelled lines (no duplicated values). */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details {
  display: block !important;
  list-style: none !important;
  padding: 12px 0 0 !important;
  margin: 0 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details> :is(span, li) {
  position: relative;
  display: block !important;
  min-height: 22px;
  margin: 0 0 7px !important;
  padding: 2px 0 2px 29px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #334c76 !important;
  -webkit-text-fill-color: #334c76 !important;
  overflow-wrap: anywhere;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details> :is(span, li)::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
  width: 21px;
  height: 21px;
  border-radius: 6px;
  background: #edf3ff url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v4m8-4v4M3%2010h18M5%204h14a2%202%200%200%201%202%202v13a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2z%22%2F%3E%3Cpath%20d%3D%22m8%2015%202%202%204-4%22%2F%3E%3C%2Fsvg%3E") center / 15px 15px no-repeat;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details> :is(span, li):is([class*='__date'], [class*='__occurrence'])::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%202v4m8-4v4M3%2010h18%22%2F%3E%3C%2Fsvg%3E");
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details> :is(span, li)[class*='__venue']::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%205-8%2012-8%2012S4%2015%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-product-details> :is(span, li):is([class*='__ticket-type'], [class*='__ticket_type'])::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%208V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v3a4%204%200%200%200%200%208v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-3a4%204%200%200%200%200-8Z%22%2F%3E%3Cpath%20d%3D%22M12%203v18%22%20stroke-dasharray%3D%222%202%22%2F%3E%3C%2Fsvg%3E");
}

/* Keep coupon expandable. Collapse excess Woo wrapper spacing. */
body.wte-checkout-wireframe .wc-block-components-sidebar :is(.wc-block-components-panel,
  .wc-block-components-totals-coupon,
  .wc-block-components-totals-coupon__content,
  .wc-block-components-totals-wrapper,
  .wp-block-woocommerce-checkout-order-summary-cart-items-block) {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon {
  border-top: 1px solid var(--wte-line) !important;
  border-bottom: 1px solid var(--wte-line) !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex !important;
  align-items: center;
  box-sizing: border-box;
  gap: 10px;
  min-height: 46px;
  margin: 0 !important;
  padding: 10px 0 !important;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  color: var(--wte-blue) !important;
  text-align: left;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.6%2012.6%2012%2021.2a2%202%200%200%201-2.8%200L2.8%2014.8a2%202%200%200%201-.6-1.4V5a2%202%200%200%201%202-2h8.4a2%202%200%200%201%201.4.6l6.6%206.6a2%202%200%200%201%200%202.8Z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%228.5%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button-text {
  color: var(--wte-blue) !important;
  -webkit-text-fill-color: var(--wte-blue) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

/* 07.1 — WTE coupon input + Apply button (WooCommerce Checkout Block).
 * Keep WooCommerce's own form, validation and submit functionality intact. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content {
  padding: 2px 0 15px !important;
  background: transparent !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 10px !important;
  align-items: start;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
  box-sizing: border-box;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  flex: none !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input {
  position: relative;
  border-radius: 10px;
  background: #fff !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  min-width: 0;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 14px 12px 9px !important;
  border: 1px solid #b8c9e9 !important;
  border-radius: 10px !important;
  outline: none;
  background: #fff !important;
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input label {
  color: var(--wte-subtle) !important;
  -webkit-text-fill-color: var(--wte-subtle) !important;
  background: #fff !important;
  font-size: 12px !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input.wc-block-components-text-input input:focus {
  border-color: var(--wte-blue) !important;
  box-shadow: 0 0 0 3px rgb(36 92 245 / 12%) !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form :is(button.wc-block-components-totals-coupon__button,
  button.wc-block-components-button) {
  box-sizing: border-box;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--wte-gradient) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: .035em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgb(94 49 207 / 13%) !important;
  transition: filter .16s ease, box-shadow .16s ease;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form :is(button.wc-block-components-totals-coupon__button,
  button.wc-block-components-button) :is(.wc-block-components-button__text, span) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form button:hover:not(:disabled) {
  filter: brightness(1.07);
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form button:focus-visible {
  outline: 3px solid rgb(36 92 245 / 38%) !important;
  outline-offset: 3px;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form button:disabled {
  opacity: .6;
  cursor: not-allowed;
  box-shadow: none !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__content :is(.wc-block-components-validation-error,
  .wc-block-components-notice-banner.is-error) {
  margin: 10px 0 0 !important;
  color: #a52346 !important;
  -webkit-text-fill-color: #a52346 !important;
  font-size: 12px;
}

@media (max-width: 430px) {
  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form {
    grid-template-columns: minmax(0, 1fr);
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-coupon__form button {
    width: 100% !important;
  }
}

/* Remove the blank tier of padding between ticket/coupon/totals. */
body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: 51px;
  padding: 10px 0 !important;
  border: 0 !important;
  color: var(--wte-ink) !important;
  font-size: 14px !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar :is(.wc-block-components-totals-item__label,
  .wc-block-components-totals-item__value,
  .wc-block-components-totals-footer-item__label,
  .wc-block-components-totals-footer-item__value) {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
  opacity: 1 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-footer-item {
  box-sizing: border-box;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-height: 64px;
  margin: 0 !important;
  padding: 18px 0 4px !important;
  border: 0 !important;
  border-top: 1px solid var(--wte-line) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-footer-item__label {
  font-size: 19px !important;
  font-weight: 800 !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-footer-item__value {
  white-space: nowrap;
  font-size: 25px !important;
  font-weight: 850 !important;
  color: #7625dd !important;
  -webkit-text-fill-color: #7625dd !important;
}

body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-footer-item__value .wc-block-formatted-money-amount {
  display: inline-block;
  color: #7625dd !important;
  /* fallback when text clipping unsupported */
  background: linear-gradient(100deg, #245cf5, #7625dd 57%, #e00091);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* No fake dynamic values, only a static explanatory note. */
body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar::after {
  content: 'Secure checkout\AYour registration information is used to process your order.';
  display: block;
  margin-top: 23px;
  padding: 15px 15px 15px 58px;
  min-height: 68px;
  border-radius: 12px;
  background: #eef2ff url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23245cf5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010Z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E') 17px center/28px 28px no-repeat;
  color: #294c86;
  -webkit-text-fill-color: #294c86;
  white-space: pre-line;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 550;
}

@media (max-width: 600px) {
  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
    padding: 16px !important;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text {
    font-size: 17px !important;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title::before {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    margin-right: 11px;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text::after {
    left: 53px;
    font-size: 11px;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item {
    padding: 15px 13px !important;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-order-summary-item__total-price {
    top: 16px;
    right: 13px;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar .wc-block-components-totals-footer-item__value {
    font-size: 21px !important;
  }
}

/* 08 — Payment and native Woo Place Order button */
body.wte-checkout-wireframe :is(.wc-block-components-radio-control-accordion-option,
  .wc-block-components-radio-control__option, .wc-block-components-payment-methods) {
  color: var(--wte-ink) !important;
  border-color: var(--wte-line) !important;
}

body.wte-checkout-wireframe :is(.wc-block-components-checkout-place-order-button,
  #place_order) {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 52px;
  border: 0 !important;
  border-radius: 10px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--wte-gradient) !important;
  font-weight: 750 !important;
  letter-spacing: .035em;
  box-shadow: 0 10px 24px rgb(94 49 207 / 14%);
}

body.wte-checkout-wireframe :is(.wc-block-components-checkout-place-order-button,
  #place_order):focus-visible {
  outline: 3px solid var(--wte-blue) !important;
  outline-offset: 3px;
}

/* 09 — Order received / VietQR */
body.wte-checkout-wireframe :is(.woocommerce-order, .woocommerce-order-details,
  .woocommerce-customer-details, .wte-vietqr-box) {
  background: #fff !important;
  color: var(--wte-ink) !important;
  border-color: var(--wte-line) !important;
}

body.wte-checkout-wireframe .wte-vietqr-box {
  max-width: 840px;
  margin-inline: auto;
  padding: clamp(18px, 2.5vw, 30px);
  border: 1px solid var(--wte-line) !important;
  border-radius: 14px;
}

body.wte-checkout-wireframe .wte-vietqr-image {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  margin: 18px auto;
  padding: 12px;
  background: #fff;
}

body.wte-checkout-wireframe :is(.woocommerce-order, .woocommerce-order-details,
  .woocommerce-customer-details, .wte-vietqr-box) :is(h1, h2, h3, p, dt, dd, td, th, strong, li) {
  color: var(--wte-ink) !important;
  -webkit-text-fill-color: var(--wte-ink) !important;
}

/* 10 — Tablet and mobile */
@media (max-width: 1024px) {
  body.wte-checkout-wireframe .wc-block-components-sidebar-layout {
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-main,
  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
    box-sizing: border-box;
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    position: static !important;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-main {
    order: 1;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
    order: 2;
  }
}

@media (max-width: 600px) {
  body.wte-checkout-wireframe .wpdevart-woo-container {
    padding: 30px 0 64px !important;
  }

  body.wte-checkout-wireframe .wpdevart-main-woo-container {
    padding-inline: 16px !important;
  }

  body.wte-checkout-wireframe .page-banner__title {
    font-size: 31px !important;
  }

  body.wte-checkout-wireframe .wte-checkout-intro {
    font-size: 13px;
    margin-bottom: 20px;
  }

  body.wte-checkout-wireframe .wc-block-components-checkout-step,
  body.wte-checkout-wireframe .venuera-attendee-fields-checkout {
    padding: 18px 16px !important;
  }

  body.wte-checkout-wireframe .venuera-attendee-fields-list {
    grid-template-columns: 1fr;
  }

  body.wte-checkout-wireframe .wc-block-components-sidebar-layout>.wc-block-components-sidebar {
    padding: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.wte-checkout-wireframe .wc-block-components-checkout-place-order-button {
    transition: none;
  }
}
