/* Primary action labels stay white across page styles and interaction states. */
body :is(.wp-block-button__link, .wp-element-button, .mtf-button, .mtf-btn,
    .mtf-deals-button, .mtf-start-help__button, .mtf-home-search button),
body :is(.wp-block-button__link, .wp-element-button, .mtf-button, .mtf-btn,
    .mtf-deals-button, .mtf-start-help__button) :is(span, strong, em) {
    color: #fff !important;
}
/* These links used transparent button styling; retain a visible button surface. */
body .mtf-map-guide #getting-there .wp-block-button__link,
body .wp-block-button.is-style-outline > .wp-block-button__link {
    color: #fff !important;
    background: #ff8000;
    border-color: #ff8000;
    border-radius: 6px;
    padding: 13px 20px;
}
body .mtf-map-guide #getting-there .wp-block-button__link::after {
    color: #fff;
}

/* White labels are the shared rule for every frontend action, including nested text. */
body:not(.wp-admin) :is(.wp-block-button__link,.wp-element-button,.mtf-button,.mtf-btn,
 .mtf-deals-button,.mtf-start-help__button,.mtfb-button,button[type=submit],input[type=submit],input[type=button]),
body:not(.wp-admin) :is(.wp-block-button__link,.wp-element-button,.mtf-button,.mtf-btn,
 .mtf-deals-button,.mtf-start-help__button,.mtfb-button,button[type=submit]) :is(span,strong,em){color:#fff!important}
/* Override the catalog's more specific orange-button and form rules in every state. */
html body #mtfb-main :is(.mtfb-button,.gform_button,input[type=submit],button[type=submit]),
html body #mtfb-main :is(.mtfb-button,.gform_button,button[type=submit]) :is(span,strong,em),
html body.mtfb-tour-request-page .gform_wrapper .gform_footer :is(input,button)[type=submit],
html body.mtfb-tour-request-page .gform_wrapper .gform_footer button[type=submit] :is(span,strong,em){color:#fff!important}
/* Video close retains a visible surface; review refresh is a quiet text action. */
html body #mtfb-main .mtfb-video-stop{background:#ff8000;border-color:#ff8000;color:#fff!important}
html body #mtfb-main .mtfb-video-stop:hover{background:#e97500;color:#fff!important}
html body #mtfb-main .mtfb-review-refresh,
html body #mtfb-main .mtfb-review-refresh:hover,
html body #mtfb-main .mtfb-review-refresh:focus{display:inline-block;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;padding:8px 0;min-height:44px;color:#a94500!important;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
html body #mtfb-main .mtfb-review-refresh:focus-visible{outline:2px solid #a94500;outline-offset:4px}
/* All Deals card titles, without centering their descriptions or lists. */
body .mtf-deals .mtf-deal-body h3{align-self:stretch;width:100%;text-align:center}
/* Keep one accessible numeric input and remove only its native inner spinners. */
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity{appearance:textfield!important;-moz-appearance:textfield!important;min-height:48px!important;height:48px!important;box-sizing:border-box!important;border-radius:0!important;text-align:center!important}
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity::-webkit-inner-spin-button,
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
html body .gform_wrapper .mtfgf-stepper{display:inline-grid;grid-template-columns:44px minmax(54px,78px) 44px;gap:0;align-items:stretch;max-width:100%}
html body .gform_wrapper .mtfgf-stepper .mtfgf-step{background:#ff8000!important;border:1px solid #ff8000!important;color:#fff!important;box-shadow:none!important;min-height:48px!important;height:48px!important;padding:0!important;font:400 24px/1 Tahoma,sans-serif!important}
html body .gform_wrapper .mtfgf-stepper .mtfgf-step:hover:not(:disabled){background:#e97500!important;border-color:#e97500!important}
html body .gform_wrapper .mtfgf-stepper .mtfgf-step:disabled{background:#ff8000!important;color:#fff!important;opacity:.5;cursor:default}
html body .gform_wrapper .mtfgf-quantity .ginput_quantity_label{display:none!important}
html body .gform_wrapper .mtfgf-quantity>.gfield_label{display:block!important;line-height:1.5!important}
html body .gform_wrapper .mtfgf-quantity>.gfield_label .gform-field-label__text{display:inline!important}
html body .gform_wrapper .mtfgf-quantity .gfield_required{display:inline!important;white-space:nowrap;font-size:12px!important}
html body .gform_wrapper .mtfgf-quantity .ginput_container_singleproduct{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
html body .gform_wrapper .mtfgf-quantity .mtfgf-stepper{order:1}
html body .gform_wrapper .mtfgf-quantity .ginput_product_price_wrapper{order:2}

/* WebKit also needs its native spinner display suppressed explicitly. */
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:textfield!important}
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity::-webkit-inner-spin-button{display:none!important;-webkit-appearance:none!important;opacity:0!important;width:0!important;height:0!important;margin:0!important}
html body .gform_wrapper .mtfgf-stepper input.ginput_quantity::-webkit-outer-spin-button{display:none!important;-webkit-appearance:none!important;opacity:0!important;width:0!important;height:0!important;margin:0!important}

/* Compact, consistently sized price-summary cards; retain calculation markup and colors. */
html body .gform_wrapper.mtfgf-design .gfield.mtfgf-price{
    box-sizing:border-box!important;grid-column:1 / -1!important;
    width:380px!important;max-width:100%!important;min-width:0!important;
    min-height:96px;justify-self:start;margin-inline:0!important;
    padding:12px 16px!important;text-align:left;
}
html body .gform_wrapper.mtfgf-design .gfield.mtfgf-price>.gfield_label,
html body .gform_wrapper.mtfgf-design .gfield.mtfgf-price>.gfield_label .gform-field-label__text{
    font-weight:700!important;
}

/* Equalize only real labels sharing a tour-form row, regardless of column fraction. */
html body.mtfb-tour-request-page .gform_wrapper .mtfgf-quantity>.gfield_label{min-height:var(--mtf-quantity-label-height,0px)!important}

/* Equal guest columns fill available tablet/desktop width; preserve mobile stacking. */
@media(min-width:641px){
    html body.mtfb-tour-request-page .gform_wrapper .gform_fields>.mtf-balanced-guest{
        grid-column:span var(--mtf-guest-span)!important;
        width:auto!important;max-width:100%!important;min-width:0!important;
    }
}
