/* PROLIFIQ Booking Experience / v1.1.0
 * Scoped, visual-only improvements for Event Tickets / RSVP / WooCommerce.
 * Avoid changing checkout forms, quantities, events, AJAX, and payment handlers.
 */
html body #pqn-native-dialog,
html body #pqn-listing-overlay {
  --pqh-book-bg: #151c20;
  --pqh-book-surface: #202a2e;
  --pqh-book-field: #29373a;
  --pqh-book-border: #536b6c;
  --pqh-book-white: #f8fffa;
  --pqh-book-muted: #cbdbd6;
  --pqh-book-green: #cef86c;
  font-family: inherit!important;
  font-size: 14px!important;
  -webkit-text-size-adjust: 100%;
}
/* Clear, compact modal chrome. Existing open/close, iframe and layout are preserved. */
html body #pqn-native-dialog .pqn-native-dialog-inner,
html body #pqn-listing-overlay .pqn-listing-card {
  box-sizing: border-box!important;
  color: #f8fffa!important;
}
html body #pqn-native-dialog .pqn-native-dialog-inner>header,
html body #pqn-listing-overlay .pqn-listing-head {
  box-sizing: border-box!important;
  align-items: center!important;
  gap: 10px!important;
}
html body #pqn-native-dialog .pqn-native-dialog-inner>header strong,
html body #pqn-listing-overlay .pqn-listing-head strong {
  font-size: clamp(14px, 1.5vw, 17px)!important;
  font-weight: 770!important;
  line-height: 1.33!important;
  letter-spacing: -.015em!important;
  overflow-wrap: anywhere!important;
  color: #fff!important;
}
html body #pqn-native-dialog .pqn-native-dialog-inner>header .pqn-logo {font-size: clamp(13px, 1.4vw, 17px)!important}
html body #pqn-native-dialog .pqn-native-dialog-inner>header :is(button,.pqn-native-close),
html body #pqn-listing-overlay .pqn-listing-head button {
  min-width: 34px!important;
  width: 36px!important;
  height: 36px!important;
  min-height: 36px!important;
  padding: 5px!important;
  font-size: 20px!important;
  line-height: 1!important;
  flex: 0 0 36px!important;
}
/* Ticket content: smaller hierarchy with fully readable whites on graphite. */
html body #pqn-native-dialog .pqn-native-contents {
  color: #f8fffa!important;
  background-color: #171f23!important;
  font-size: 14px!important;
  line-height: 1.52!important;
  box-sizing: border-box!important;
  overflow-x: hidden!important;
  overscroll-behavior: contain;
  padding: clamp(15px,2vw,24px)!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.event-tickets,.tribe-common,.tribe-tickets__tickets,.tribe-tickets__rsvp) {
  font-family: inherit!important;
  font-size: 14px!important;
  line-height: 1.5!important;
  max-width: 100%!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(h1,.tribe-common-h1) {
  font-size: clamp(20px,2.1vw,25px)!important;
  line-height: 1.24!important;
  font-weight: 800!important;
  letter-spacing: -.025em!important;
  margin: 0 0 14px!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(h2,.tribe-common-h2,.tribe-common-h3,.tribe-tickets__tickets-title,.tribe-tickets__rsvp-title) {
  font-size: clamp(17px,1.85vw,21px)!important;
  line-height: 1.29!important;
  font-weight: 780!important;
  letter-spacing: -.018em!important;
  margin: 0 0 12px!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(h3,h4,h5,.tribe-common-h4,.tribe-common-h5,.tribe-tickets__tickets-item-content-title,.tribe-tickets__rsvp-ar-form-title) {
  font-size: clamp(14px,1.5vw,17px)!important;
  line-height: 1.35!important;
  font-weight: 770!important;
  letter-spacing: -.01em!important;
  margin-top: 0!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(p,span,small,label,legend,li,strong,.tribe-common-b1,.tribe-common-b2,.tribe-common-b3,.tribe-tickets__tickets-item-extra-price) {
  font-size: inherit!important;
  line-height: 1.52!important;
  text-shadow: none!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(label,legend) {
  display: inline-block;
  color: #f4fcf7!important;
  font-size: 13px!important;
  font-weight: 720!important;
  margin-bottom: 3px!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__tickets-item,.tribe-tickets__rsvp-attendance,.tribe-tickets__rsvp-ar-form-attendee,.tribe-tickets__rsvp-ar-form-attendees,.tribe-tickets__rsvp-form-field,.tribe-tickets__rsvp-ar-form-guest) {
  border-color: #52676a!important;
  border-radius: 10px!important;
  box-shadow: none!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__tickets-item,.tribe-tickets__rsvp-ar-form-attendee,.tribe-tickets__rsvp-ar-form-attendees) {
  background-color: #202b30!important;
  color: #f8fffa!important;
  padding: clamp(10px,1.7vw,17px)!important;
}
/* Do not force arbitrary child div/section backgrounds to transparent: that caused white-on-white failures. */
html body #pqn-native-dialog .pqn-native-contents :is(form,fieldset,section,article,.tribe-tickets__rsvp-form-fields,.tribe-tickets__rsvp-ar-form-fields) {
  box-sizing: border-box!important;
  min-width: 0!important;
  max-width: 100%!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-form-fields,.tribe-tickets__rsvp-ar-form-fields) {
  display: grid!important;
  grid-template-columns: minmax(0,1fr)!important;
  gap: 12px!important;
  align-items: start!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-form-fields,.tribe-tickets__rsvp-ar-form-fields) > * {
  min-width: 0!important;
  width: 100%!important;
  max-width: 100%!important;
  margin: 0!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],select,textarea) {
  font-family: inherit!important;
  font-size: 16px!important; /* prevent iOS zoom */
  font-weight: 480!important;
  line-height: 1.35!important;
  min-height: 43px!important;
  min-width: 0!important;
  max-width: 100%!important;
  box-sizing: border-box!important;
  color: #fff!important;
  -webkit-text-fill-color: #fff!important;
  background: #29383c!important;
  border: 1px solid #6b8284!important;
  border-radius: 9px!important;
  padding: 9px 11px!important;
  margin: 5px 0 11px!important;
  box-shadow: none!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],select,textarea)::placeholder {
  color: #b5c8c9!important;
  -webkit-text-fill-color: #b5c8c9!important;
  opacity: 1!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(input,textarea,select,button,a):focus-visible,
html body #pqn-listing-overlay :is(button,iframe):focus-visible {
  outline: 2px solid #d6ff8c!important;
  outline-offset: 2px!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-ar-quantity,.tribe-tickets__rsvp-quantity,.tribe-tickets__tickets-item-quantity) {
  display: flex!important;
  align-items: center!important;
  flex-wrap: wrap!important;
  gap: 8px!important;
  max-width: 100%!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-ar-quantity,.tribe-tickets__rsvp-quantity,.tribe-tickets__tickets-item-quantity) input[type="number"],
html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__rsvp-ar-form input[type="number"] {
  width: 65px!important;
  flex: 0 0 65px!important;
  min-width: 65px!important;
  text-align: center!important;
  margin: 0!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(button,.tribe-common-c-btn,.tribe-tickets__tickets-buy,.tribe-tickets__rsvp-form-button),
html body #pqn-native-dialog .pqn-native-contents input[type="submit"] {
  font-family: inherit!important;
  font-size: 13px!important;
  line-height: 1.3!important;
  font-weight: 730!important;
  min-height: 40px!important;
  padding: 9px 13px!important;
  box-sizing: border-box!important;
  border-radius: 9px!important;
  max-width: 100%!important;
  white-space: normal!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(button[type="submit"],.tribe-common-c-btn--primary,.tribe-tickets__tickets-buy,.tribe-tickets__rsvp-form-button,.tribe-tickets__rsvp-ar-form-button),
html body #pqn-native-dialog .pqn-native-contents input[type="submit"] {
  background: #c9f16d!important;
  border: 1px solid #c9f16d!important;
  color: #14220e!important;
  -webkit-text-fill-color: #14220e!important;
  cursor: pointer!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(button[disabled],input[disabled],.tribe-common-c-btn--disabled) {opacity: .65!important;cursor:not-allowed!important}
/* Limit enormous SVG artwork, preserving small functional icons and the success confirmation. */
html body #pqn-native-dialog .pqn-native-contents svg:not(.pqh-no-resize) {
  width: auto!important;
  height: auto!important;
  max-width: 24px!important;
  max-height: 24px!important;
  flex-shrink: 0!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-success,.tribe-tickets__rsvp-ar-success,.tribe-tickets__rsvp-success-wrapper) svg:not(.pqh-no-resize) {
  width: 48px!important;
  height: 48px!important;
  max-width: 48px!important;
  max-height: 48px!important;
}
html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__rsvp-ar-form-attendees :is(img,svg),
html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__tickets-item :is(img,svg) {
  object-fit: contain!important;
}
/* Errors are distinct from success. All messages use their own accessible text colors. */
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-common-c-alert--error,.tribe-tickets__rsvp-form-error,.tribe-tickets__rsvp-ar-form-error,.tribe-tickets__rsvp-ar-form-errors,.tribe-common-c-alert) {
  background: #44292d!important;
  color: #ffe8e9!important;
  border: 1px solid #c18c91!important;
  border-radius: 9px!important;
  padding: 10px 12px!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-success,.tribe-tickets__rsvp-ar-success,.tribe-common-c-alert--success) {
  background: #1d372f!important;
  color: #f2fff9!important;
  border-radius: 10px!important;
  padding: 12px!important;
}
html body #pqn-native-dialog .pqn-native-contents .pqn-checkout-guide {
  font-size: 12px!important;
  line-height: 1.48!important;
  padding: 9px 11px!important;
  margin: 0 0 13px!important;
  background: #24332f!important;
  border-left: 3px solid #c4ef7d!important;
  color: #d5e5dd!important;
}
/* Light surfaces in the plugin flow: switch text to dark, including nested labels. */
html body #pqn-native-dialog .pqn-native-contents [data-pqh-light-surface="1"],
html body #pqn-native-dialog .pqn-native-contents [data-pqh-light-surface="1"] :is(h1,h2,h3,h4,h5,p,span,small,label,legend,strong,li,dt,dd),
html.pqh-booking-frame body .woocommerce [data-pqh-light-surface="1"],
html.pqh-booking-frame body .woocommerce [data-pqh-light-surface="1"] :is(h1,h2,h3,h4,h5,p,span,small,label,legend,strong,li,dt,dd) {
  color: #142428!important;
  -webkit-text-fill-color: #142428!important;
  text-shadow: none!important;
}
html body #pqn-native-dialog .pqn-native-contents [data-pqh-light-surface="1"] a,
html.pqh-booking-frame body .woocommerce [data-pqh-light-surface="1"] a {color: #14604b!important}
/* Contrasting inputs and CTA controls must keep their own local text rules. */
html body #pqn-native-dialog .pqn-native-contents [data-pqh-light-surface="1"] :is(button[type="submit"],.tribe-common-c-btn--primary) {color: #14220e!important}
html body #pqn-native-dialog .pqn-native-contents [data-pqh-light-surface="1"] :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select) {
  color: #fff!important;
  -webkit-text-fill-color: #fff!important;
}
/* The wrapper popup remains visible but is not an additional checkout system. */
html body #pqn-listing-overlay .pqn-listing-head img {
  width: clamp(82px,12vw,108px)!important;
  height: 28px!important;
  flex: 0 0 auto!important;
  object-fit: contain!important;
}
html body #pqn-listing-overlay iframe {min-height: 0!important;background:#171f23!important}
/* If WooCommerce navigates inside the SAME-ORIGIN booking frame, keep the store forms readable. */
html.pqh-booking-frame body.woocommerce-checkout,
html.pqh-booking-frame body.woocommerce-cart {
  background: #141d21!important;
  color: #f7fff9!important;
  font-size: 14px!important;
}
html.pqh-booking-frame body :is(.woocommerce,.woocommerce-page) {
  color: #f7fff9!important;
  font-family: inherit!important;
  font-size: 14px!important;
}
html.pqh-booking-frame body .woocommerce :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,form.checkout,.cart-collaterals) {
  background: #1c292d!important;
  color: #f8fffa!important;
  border: 1px solid #4a6265!important;
  border-radius: 11px!important;
  padding: clamp(12px,2vw,21px)!important;
  min-width: 0!important;
  max-width: 100%!important;
  box-sizing: border-box!important;
}
html.pqh-booking-frame body .woocommerce :is(h1,h2,h3,h4,p,label,legend,th,td,dt,dd,span,strong,small),
html.pqh-booking-frame body .woocommerce-checkout-payment :is(p,label,span) {
  color: #f8fffa!important;
  font-size: inherit!important;
  line-height: 1.52!important;
}
html.pqh-booking-frame body .woocommerce :is(h1,h2,h3) {font-size: clamp(17px,2vw,22px)!important;line-height:1.3!important}
html.pqh-booking-frame body .woocommerce :is(input.input-text,input[type="email"],input[type="tel"],select,textarea,.select2-selection) {
  background: #29383c!important;
  color: #fff!important;
  -webkit-text-fill-color: #fff!important;
  border: 1px solid #6b8284!important;
  border-radius: 8px!important;
  min-height: 43px!important;
  font-size: 16px!important;
  max-width: 100%!important;
  box-sizing: border-box!important;
}
html.pqh-booking-frame body .woocommerce :is(.button,button[type="submit"],#place_order) {
  font-size: 14px!important;
  min-height: 43px!important;
  border-radius: 9px!important;
  background: #c9f16d!important;
  color: #13220b!important;
  -webkit-text-fill-color: #13220b!important;
}
html.pqh-booking-frame body .woocommerce :is(.woocommerce-message,.woocommerce-info) {
  background: #21362f!important;
  color: #effff5!important;
  border-color: #95c88b!important;
}
html.pqh-booking-frame body .woocommerce .woocommerce-error {
  background: #462b30!important;
  color: #ffe7e8!important;
  border-color: #c18c91!important;
}
/* Woo payment gateway light cards are explicitly dark-text on light backgrounds if detected. */
html.pqh-booking-frame body .woocommerce [data-pqh-light-surface="1"] :is(h2,h3,p,label,span,strong,small) {color:#142428!important}
@media (max-width: 740px) {
  html body #pqn-native-dialog .pqn-native-contents {padding: 15px 12px!important}
  html body #pqn-native-dialog .pqn-native-dialog-inner > header {padding: 10px 12px!important;min-height: 54px!important}
  html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__tickets-item,.tribe-tickets__rsvp-ar-form-attendee,.tribe-tickets__rsvp-ar-form-attendees) {padding: 11px!important}
  html body #pqn-native-dialog .pqn-native-contents :is(h1,.tribe-common-h1) {font-size: 20px!important}
  html body #pqn-native-dialog .pqn-native-contents :is(h2,.tribe-common-h2,.tribe-common-h3) {font-size: 17px!important}
  html body #pqn-listing-overlay .pqn-listing-head {padding: 9px 11px!important}
  html body #pqn-listing-overlay .pqn-listing-head strong {font-size: 14px!important}
  html.pqh-booking-frame body .woocommerce .col2-set {display: block!important}
  html.pqh-booking-frame body .woocommerce .col2-set :is(.col-1,.col-2) {width: 100%!important;float: none!important}
}
@media (max-width: 380px) {
  html body #pqn-native-dialog .pqn-native-contents {padding: 12px 9px!important}
  html body #pqn-native-dialog .pqn-native-contents :is(button,.tribe-common-c-btn) {font-size: 12px!important}
}
/* Field labels always sit above their controls, never beside them. */
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-form-fields,.tribe-tickets__rsvp-ar-form-fields) :is(label,legend) {
  display: block!important;
  width: auto!important;
  margin: 0 0 5px!important;
  font-size: 13px!important;
  line-height: 1.4!important;
}
html body #pqn-native-dialog .pqn-native-contents :is(.tribe-tickets__rsvp-form-fields,.tribe-tickets__rsvp-ar-form-fields) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea) {
  display: block!important;
  width: 100%!important;
  margin: 0 0 10px!important;
}
/* Ticket increment/decrement controls stay on one horizontal line on phones. */
@media (max-width: 740px) {
  html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__tickets-item {
    display: flex!important;
    flex-direction: column!important;
    align-items: stretch!important;
    justify-content: flex-start!important;
    gap: 10px!important;
  }
  html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__tickets-item .tribe-tickets__tickets-item-quantity {
    flex-direction: row!important;
    flex-wrap: nowrap!important;
    gap: 8px!important;
    align-items: center!important;
    justify-content: flex-start!important;
    width: auto!important;
  }
  html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__tickets-item-quantity :is(button,.tribe-common-c-btn) {
    flex: 0 0 40px!important;
    min-width: 40px!important;
    max-width: 40px!important;
    height: 40px!important;
    min-height: 40px!important;
    padding: 7px!important;
  }
  html body #pqn-native-dialog .pqn-native-contents .tribe-tickets__tickets-item-quantity input[type="number"] {
    flex: 0 0 65px!important;
    min-width: 65px!important;
    max-width: 65px!important;
    width: 65px!important;
  }
}
