/* Ticket modal (Event Tickets Plus attendee registration): half the default width, compact. */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar {
  max-width: 420px !important;
  width: calc(100% - 32px) !important;
  padding: 20px !important;
}
.tribe-modal__wrapper--ar .tribe-dialog__title,
.tribe-modal__wrapper--ar .tribe-modal__title { font-size: 17px !important; line-height: 1.3 !important; padding-right: 28px; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-remove { display: none !important; } /* the "x" on the left */
/* Each ticket: name over its price on the left, then − n +, then the line total. */
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item {
  grid-template-columns: minmax(0, 1fr) auto auto !important; grid-template-areas: none !important;
  column-gap: 14px !important; row-gap: 2px !important; padding: 10px 0 !important;
}
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title-container { grid-area: auto !important; grid-column: 1 !important; grid-row: 1 !important; align-self: end; text-align: left; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra { grid-area: auto !important; grid-column: 1 !important; grid-row: 2 !important; align-self: start; text-align: left; justify-self: start; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity { grid-area: auto !important; grid-column: 2 !important; grid-row: 1 / span 2 !important; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap { grid-area: auto !important; grid-column: 3 !important; grid-row: 1 / span 2 !important; min-width: 52px; text-align: right; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra-available { display: none !important; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title { font-size: 17px !important; line-height: 1.15 !important; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-details-summary,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra-price,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-sale-price,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap { font-size: 14px !important; }
/* Attendee fields: label above the input, less padding. */
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-item { padding: 12px 14px !important; margin-bottom: 10px !important; }
.tribe-modal__wrapper--ar .tribe-tickets__form-field,
.tribe-modal__wrapper--ar .tribe-tickets__form-field--text { display: block !important; }
.tribe-modal__wrapper--ar .tribe-tickets__form-field-label { display: block !important; width: auto !important; margin: 0 0 4px !important; font-size: 14px !important; }
.tribe-modal__wrapper--ar .tribe-tickets__form-field-input-wrapper { width: 100% !important; margin: 0 !important; }
.tribe-modal__wrapper--ar .tribe-tickets__form-field-input { font-size: 16px !important; padding: 8px 10px !important; }
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-title,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-item-title { font-size: 15px !important; margin-bottom: 8px !important; }
.tribe-modal__wrapper--ar .sds-cf-note { font-size: 13px !important; }

/* Join notice at the top of the modal. */
.tribe-modal__wrapper--ar .sds-join-banner { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 13px; line-height: 1.45; }
.tribe-modal__wrapper--ar .sds-join-banner .sds-join { margin-top: 2px !important; font-size: 13px !important; }
/* Payment logos next to the booking title. */
.sds-pay { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
/* Event page: badges on their own line under the "Acquista" button, never glued to it. */
.tribe-tickets__tickets-footer { flex-wrap: wrap !important; }
.sds-pay-pp, .sds-pay-sp { display: inline-block; padding: 3px 9px; border-radius: 4px; background: #fff; border: 1px solid #ddd; font: 700 14px/1.3 Helvetica, Arial, sans-serif; }
.sds-pay-pp b { color: #003087; font-style: italic; } .sds-pay-pp i { color: #009cde; font-weight: 700; }
.sds-pay-sp { color: #ef4a40; letter-spacing: -.02em; }
/* Modal footer: two payment buttons. */
.tribe-modal__wrapper--ar .sds-pay { display: none !important; }
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-details-summary { display: none !important; } /* "More" */
.sds-paybtns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-top: 4px; }
.sds-paybtns .sds-paybtn { display: flex !important; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 8px 12px !important;
  border-radius: 8px !important; cursor: pointer; font: 700 17px/1 Helvetica, Arial, sans-serif !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; }
.sds-paybtns .sds-paybtn--paypal { background: #ffc439 !important; color: #003087 !important; }
.sds-paybtn--paypal b { font-style: italic; color: #003087; } .sds-paybtn--paypal i { color: #009cde; font-weight: 700; }
.sds-paybtn--paypal small { font: 600 12px/1 Helvetica, Arial, sans-serif; color: #003087; margin-left: 2px; }
.sds-paybtns .sds-paybtn--satispay { background: #ef4a40 !important; color: #fff !important; letter-spacing: -.02em; }
.sds-paybtn:hover { filter: brightness(.96); }
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer { display: block !important; }
/* Checkout iframe inside the modal. */
.tribe-modal__wrapper--ar iframe.sds-co { width: 100%; height: 70vh; border: 0; display: block; }
.tribe-modal__wrapper--ar.sds-paying .tribe-dialog__content { padding: 0 !important; }
.tribe-dialog__wrapper.tribe-modal__wrapper--ar.sds-paying { max-width: 420px !important; height: auto !important; min-height: 0 !important; }
/* ---------- Checkout page shown inside that iframe: a compact payment sheet ---------- */
html.sds-in-frame { margin-top: 0 !important; }
html.sds-in-frame #wpadminbar,
html.sds-in-frame body > header, html.sds-in-frame body > footer,
html.sds-in-frame [data-elementor-type="header"], html.sds-in-frame [data-elementor-type="footer"],
html.sds-in-frame #site-header, html.sds-in-frame #site-footer,
html.sds-in-frame .page-header, html.sds-in-frame .entry-title,
html.sds-in-frame .tribe-tickets__commerce-checkout-header,
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-header,
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-price,
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-details-toggle,
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-details-description,
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer-quantity,
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-title { display: none !important; }
html.sds-in-frame, html.sds-in-frame body { background: #fff !important; }
html.sds-in-frame body { padding: 0 !important; margin: 0 !important; }
html.sds-in-frame main, html.sds-in-frame .site-main, html.sds-in-frame .page-content,
html.sds-in-frame .elementor, html.sds-in-frame .e-con, html.sds-in-frame .elementor-section,
html.sds-in-frame .elementor-container, html.sds-in-frame .elementor-widget-wrap {
  padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout {
  max-width: none !important; margin: 0 !important; padding: 4px 2px 16px !important; font-size: 15px; }
/* Summary: "1 × Ticket name ........ € 12,00", then the total. */
html.sds-in-frame .tribe-tickets__commerce-checkout-cart { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item {
  display: flex !important; align-items: baseline; gap: 8px; padding: 8px 0 !important; margin: 0 !important;
  border-bottom: 1px solid #eee !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-quantity { order: 1; flex: none; width: auto !important; font-size: 14px !important; color: #666; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-quantity::after { content: " ×"; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-details { order: 2; flex: 1; width: auto !important; min-width: 0; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-details-title { font-size: 14px !important; line-height: 1.35 !important; font-weight: 600 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-item-subtotal { order: 3; flex: none; width: auto !important; font-size: 14px !important; font-weight: 600; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer {
  display: flex !important; justify-content: flex-end; padding: 10px 0 0 !important; margin: 0 !important; border: 0 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer-total { display: flex !important; justify-content: space-between; width: 100%; font-size: 16px !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer-total-label { visibility: hidden; position: relative; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer-total-label::before { content: "Totale"; visibility: visible; position: absolute; left: 0; font-weight: 600; }
html.sds-in-frame .tribe-tickets__commerce-checkout-cart-footer-total-wrap { font-weight: 700; }
/* Buyer fields. */
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-wrapper { margin: 0 0 18px !important; padding: 0 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-field { display: block !important; margin: 0 0 10px !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-field .tribe-tickets__form-field-label {
  display: block !important; width: auto !important; margin: 0 0 4px !important; font-size: 13px !important; font-weight: 600; color: #333; }
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-field .tribe-tickets__form-field-input-wrapper { width: 100% !important; margin: 0 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-purchaser-info-form-field {
  width: 100% !important; font-size: 16px !important; padding: 9px 11px !important; border-radius: 6px !important; }
html.sds-in-frame .tribe-tickets__form-field-description { font-size: 12px !important; margin-top: 3px !important; color: #777; }
/* Payment methods. */
html.sds-in-frame .tribe-tickets__commerce-checkout-gateways { margin: 0 !important; padding: 0 !important; }
html.sds-in-frame .tribe-tickets__commerce-checkout-paypal-advanced-payments-separator { margin: 14px 0 !important; font-size: 12px; }
html.sds-in-frame #sds-satispay { margin: 16px 0 0 !important; padding: 12px 14px !important; border-radius: 8px !important; border-color: #ddd !important; font-size: 14px; }
html.sds-in-frame #sds-satispay p { margin: 0 0 8px !important; line-height: 1.4; }

/* Checkout opened from one of the two buttons: only that method. */
html.sds-mode-satispay .tribe-tickets__commerce-checkout-gateways { display: none !important; }
html.sds-mode-satispay #sds-satispay { border: 0 !important; padding: 0 !important; margin-top: 4px !important; }
html.sds-mode-paypal #sds-satispay { display: none !important; }
html.sds-in-frame, html.sds-in-frame body, html.sds-in-frame main, html.sds-in-frame #content,
html.sds-in-frame .site-main, html.sds-in-frame .page-content { min-height: 0 !important; height: auto !important; }

/* Satispay box: instructions first, then "Ho pagato". */
#sds-satispay { margin: 16px 0 0; padding: 14px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; line-height: 1.45; }
#sds-satispay p { margin: 0 0 10px; }
.sds-sp-grid { display: flex; gap: 14px; align-items: center; margin: 0 0 14px; }
.sds-sp-qr { width: 120px; height: 120px; flex: none; border: 1px solid #eee; border-radius: 6px; background: #fff; }
.sds-sp-steps { margin: 0; padding-left: 18px; font-size: 13px; }
.sds-sp-steps li { margin: 0 0 6px; }
.sds-sp-steps a { color: #ef4a40; font-weight: 700; }
#sds-satispay #sds-satispay-go { display: block; width: 100%; min-height: 46px; border: 0 !important; border-radius: 8px !important;
  background: #ef4a40 !important; color: #fff !important; font: 700 16px/1 Helvetica, Arial, sans-serif !important; cursor: pointer; text-transform: none !important; }
#sds-satispay #sds-satispay-go:disabled { opacity: .6; }
#sds-satispay-msg { margin-top: 10px; color: #b3261e; font-size: 13px; }
.sds-sp-done { font-size: 15px; }
@media (max-width: 480px) { .sds-sp-qr { width: 96px; height: 96px; } }
@media (pointer: coarse) { .sds-sp-grid .sds-sp-qr { display: none; } } /* on a phone: the "apri Satispay" link */
@media (pointer: fine) { .sds-sp-mob { display: none; } }

/* Satispay number chip */
.sds-sp-num { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 100px; border: 1px solid #FF3D00;
  color: #111 !important; text-decoration: none !important; font-weight: 700; white-space: nowrap; vertical-align: middle; }
.sds-sp-logo { display: inline-block; width: 77px; height: 18px; background: url(satispay-logo.svg) center/contain no-repeat; font-size: 0; color: transparent; }

/* Free booking: one confirm button in the modal, in the page's booking colour. */
.tribe-modal__wrapper--ar .sds-freebtn { width: 100%; margin-top: 4px; padding: 12px 18px; border: 0; border-radius: 0; background: #000; color: #fff; font: 400 18px/1 "Oswald", sans-serif; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.tribe-modal__wrapper--ar .sds-freebtn:hover { background: #a84040; }
