/* ============================================================================
 * Dallas Zoo — TNEW v16 skin override
 * Load AFTER tnew-base-v16.css. Re-targets v16's CSS custom properties to the
 * Dallas Zoo brand, plus a residual block for what v16 does not tokenize
 * (typography, per-level heading color, the wavy link underline, radius).
 *
 * Provenance: tokens + @font-face extracted from dallaszoo-tnew-v15.css.
 * Items marked CONFIRM are inferred — verify against the live v15 page.
 * Asset URLs rewritten root-relative -> absolute so they resolve on the v16 host.
 * ==========================================================================*/
/*

Dynamic Responsive Image

*/
.btn,
.tnew .tn-event-detail__title,
.tnew .tn-event-detail__ticket-selection-section-heading,
.tnew .tn-additional-events__instructions {
  font-family: "Geogrotesque", Helvetica, Arial, "Arial Unicode", "Lucida Sans Unicode", sans-serif;font-weight: 700;
}
.tnew form input,
.tnew form input[type="text"],
.tnew form input[type="email"],
.tnew form input[type="password"],
.tnew form select,
.tnew form textarea {
  font-family: "UniversLTPro-55Roman", Helvetica, Arial, "Arial Unicode", "Lucida Sans Unicode", sans-serif;font-weight: 400;
}
.tnew #content p a:not(.btn, .button__primary):not(:has(img)),
.tnew #content .tn-cart-buttons__secondary-action,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit,
.tnew #content #tn-update-form .tn-btn-wrapper a,
.tnew #content .tn-additional-events__continue-shopping-link,
.tnew #content .tn-not-found-page a,
.tnew #content .tn-account-logout-page a {
  font-family: "UniversLTPro-75Black", Helvetica, Arial, "Arial Unicode", "Lucida Sans Unicode", sans-serif;font-weight: 700;
}
.tnew #content .tn-membership-product__organization-section-heading,
.tnew .tn-event-detail__title {
  letter-spacing: 0.04761905em;color: #0D587C;text-transform: uppercase;
}
@media all and (min-width: 48em) {
  .tnew #content .tn-membership-product__organization-section-heading,
  .tnew .tn-event-detail__title {
    font-size: 88px;font-size: 5.5rem;line-height: 1;letter-spacing: 0.02272727em;
  }
}@media all and (min-width: 48em) {
}.tnew .tn-event-detail__ticket-selection-section-heading {
  letter-spacing: 0.03846154em;text-transform: uppercase;color: #83933E;
}
@media all and (min-width: 48em) {
  .tnew .tn-event-detail__ticket-selection-section-heading {
    font-size: 42px;font-size: 2.625rem;line-height: 1.04761905;letter-spacing: 0.02380952em;
  }
}@media all and (min-width: 48em) {
}.tnew .tn-membership-product__price,
.tnew .tn-event-detail__display-time {
  font-family: "UniversLTPro-75Black", Helvetica, Arial, "Arial Unicode", "Lucida Sans Unicode", sans-serif;font-weight: 700;letter-spacing: 0.03142857em;color: #221D1D;text-transform: uppercase;
}
@media all and (min-width: 48em) {
  .tnew .tn-membership-product__price,
  .tnew .tn-event-detail__display-time {
    font-size: 16px;font-size: 1rem;line-height: 1.25;letter-spacing: 0.0275em;
  }
}.tnew .tn-event-detail__display-time--large {
  font-size: 16px;font-size: 1rem;line-height: 1.25;letter-spacing: 0.0275em;
}
@media all and (min-width: 48em) {
  .tnew .tn-event-detail__display-time--large {
    font-size: 26px;font-size: 1.625rem;line-height: 1.07692308;letter-spacing: 0.35730769em;
  }
}.btn {
  font-size: 22px;font-size: 1.375rem;line-height: 1.27272727;
}
.tnew form input,
.tnew form input[type="text"],
.tnew form input[type="email"],
.tnew form input[type="password"],
.tnew form select,
.tnew form textarea,
.tnew .tn-event-detail__display-time {
  font-size: 14px;font-size: 0.875rem;line-height: 1.28571429;
}
.tn-required-field {
  font-size: 12px;font-size: 0.75rem;line-height: 1.33333333;
}
.tnew #content p a:not(.btn, .button__primary):not(:has(img)),
.tnew #content .tn-cart-buttons__secondary-action,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit,
.tnew #content #tn-update-form .tn-btn-wrapper a,
.tnew #content .tn-additional-events__continue-shopping-link,
.tnew #content .tn-not-found-page a,
.tnew #content .tn-account-logout-page a {
  color: #221D1D;position: relative;display: inline-block;vertical-align: baseline;text-decoration: none !important;
}
.tnew #content p a:not(.btn, .button__primary):not(:has(img)):before,
.tnew #content .tn-cart-buttons__secondary-action:before,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:before,
.tnew #content #tn-update-form .tn-btn-wrapper a:before,
.tnew #content .tn-additional-events__continue-shopping-link:before,
.tnew #content .tn-not-found-page a:before,
.tnew #content .tn-account-logout-page a:before {
  content: '';position: absolute;bottom: -2px;left: 0;right: 0;height: 6px;background-image: url("/wp-content/themes/dallaszoo/resources/icons/wavy-line-orange.svg");background-repeat: repeat-x;display: block;overflow: hidden;border-radius: 10px;
}
.tnew #content p a:not(.btn, .button__primary):not(:has(img)):hover,
.tnew #content p a:not(.btn, .button__primary):not(:has(img)):focus,
.tnew #content p a:not(.btn, .button__primary):not(:has(img)).is-current,
.tnew #content .tn-cart-buttons__secondary-action:hover,
.tnew #content .tn-cart-buttons__secondary-action:focus,
.tnew #content .tn-cart-buttons__secondary-action.is-current,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:hover,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:focus,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit.is-current,
.tnew #content #tn-update-form .tn-btn-wrapper a:hover,
.tnew #content #tn-update-form .tn-btn-wrapper a:focus,
.tnew #content #tn-update-form .tn-btn-wrapper a.is-current,
.tnew #content .tn-additional-events__continue-shopping-link:hover,
.tnew #content .tn-additional-events__continue-shopping-link:focus,
.tnew #content .tn-additional-events__continue-shopping-link.is-current,
.tnew #content .tn-not-found-page a:hover,
.tnew #content .tn-not-found-page a:focus,
.tnew #content .tn-not-found-page a.is-current,
.tnew #content .tn-account-logout-page a:hover,
.tnew #content .tn-account-logout-page a:focus,
.tnew #content .tn-account-logout-page a.is-current {
  color: #83933E;
}
.tnew #content p a:not(.btn, .button__primary):not(:has(img)):hover:before,
.tnew #content p a:not(.btn, .button__primary):not(:has(img)):focus:before,
.tnew #content p a:not(.btn, .button__primary):not(:has(img)).is-current:before,
.tnew #content .tn-cart-buttons__secondary-action:hover:before,
.tnew #content .tn-cart-buttons__secondary-action:focus:before,
.tnew #content .tn-cart-buttons__secondary-action.is-current:before,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:hover:before,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:focus:before,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit.is-current:before,
.tnew #content #tn-update-form .tn-btn-wrapper a:hover:before,
.tnew #content #tn-update-form .tn-btn-wrapper a:focus:before,
.tnew #content #tn-update-form .tn-btn-wrapper a.is-current:before,
.tnew #content .tn-additional-events__continue-shopping-link:hover:before,
.tnew #content .tn-additional-events__continue-shopping-link:focus:before,
.tnew #content .tn-additional-events__continue-shopping-link.is-current:before,
.tnew #content .tn-not-found-page a:hover:before,
.tnew #content .tn-not-found-page a:focus:before,
.tnew #content .tn-not-found-page a.is-current:before,
.tnew #content .tn-account-logout-page a:hover:before,
.tnew #content .tn-account-logout-page a:focus:before,
.tnew #content .tn-account-logout-page a.is-current:before {
  -webkit-animation: link__background 0.5s linear infinite;
          animation: link__background 0.5s linear infinite;
}
.btn,
.btn.tn-cart-buttons__primary-action,
.btn.tn-register-button {
  letter-spacing: 0.04545455em;width: auto;height: auto;margin: 0;line-height: normal;text-align: center;text-decoration: none;position: relative;-webkit-appearance: none;-webkit-background-clip: padding;-moz-background-clip: padding;background-clip: padding-box;outline: 0;overflow: visible;cursor: pointer;vertical-align: middle;display: inline-block;background: #fff;color: #221D1D;padding: 8px 50px 8px 1.125rem;border-radius: 4px;margin-top: 1.25rem;border: 0;
}
@media all and (min-width: 48em) {
  .btn,
  .btn.tn-cart-buttons__primary-action,
  .btn.tn-register-button {
    font-size: 26px;font-size: 1.625rem;line-height: 1.07692308;letter-spacing: 0.03846154em;padding: 12px 50px 12px 1.125rem;
  }
}p > .btn,
p > .btn.tn-cart-buttons__primary-action,
p > .btn.tn-register-button {
  margin-top: 0;
}
.btn:hover,
.btn:focus,
.btn.is-current,
.btn.tn-cart-buttons__primary-action:hover,
.btn.tn-cart-buttons__primary-action:focus,
.btn.tn-cart-buttons__primary-action.is-current,
.btn.tn-register-button:hover,
.btn.tn-register-button:focus,
.btn.tn-register-button.is-current {
  background: #ffffff;
}
.btn[disabled],
.btn.tn-cart-buttons__primary-action[disabled],
.btn.tn-register-button[disabled] {
  background: #DFDFC7;color: #221D1D;padding: 8px 1.125rem;
}
.btn[disabled]:before,
.btn[disabled]:after,
.btn.tn-cart-buttons__primary-action[disabled]:before,
.btn.tn-cart-buttons__primary-action[disabled]:after,
.btn.tn-register-button[disabled]:before,
.btn.tn-register-button[disabled]:after {
  display: none;
}
.btn[disabled]:hover,
.btn[disabled]:focus,
.btn.tn-cart-buttons__primary-action[disabled]:hover,
.btn.tn-cart-buttons__primary-action[disabled]:focus,
.btn.tn-register-button[disabled]:hover,
.btn.tn-register-button[disabled]:focus {
  background: #DFDFC7;color: #221D1D;
}
.btn-primary,
.btn.tn-cart-buttons__primary-action,
.btn.tn-register-button,
.tnew #tn-add-donation-form .btn,
.tnew #tn-payment-apply-gift-certificate-form .btn {
  z-index: 0;overflow: hidden;color: #fff;background-color: #D27600;background-image: url("/wp-content/themes/dallaszoo/resources/icons/button-side-orange.svg");background-repeat: no-repeat;background-size: contain;background-position: 100% 50%;-webkit-transition: background-position 0.65s cubic-bezier(0.39, 0.575, 0.565, 1);-o-transition: background-position 0.65s cubic-bezier(0.39, 0.575, 0.565, 1);transition: background-position 0.65s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.btn-primary:before,
.btn.tn-cart-buttons__primary-action:before,
.btn.tn-register-button:before,
.tnew #tn-add-donation-form .btn:before,
.tnew #tn-payment-apply-gift-certificate-form .btn:before {
  content: '';position: absolute;width: 100%;height: 100%;left: 0;right: 0;top: 0;bottom: 0;background: #A65523;z-index: -2;-webkit-transform: translateX(-100%);-ms-transform: translateX(-100%);transform: translateX(-100%);-webkit-transition: -webkit-transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);transition: -webkit-transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);-o-transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);-webkit-clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
}
@media all and (min-width: 48em) {
  .btn-primary:before,
  .btn.tn-cart-buttons__primary-action:before,
  .btn.tn-register-button:before,
  .tnew #tn-add-donation-form .btn:before,
  .tnew #tn-payment-apply-gift-certificate-form .btn:before {
    -webkit-clip-path: polygon(0% 0%, calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%);
  }
}.btn-primary:after,
.btn.tn-cart-buttons__primary-action:after,
.btn.tn-register-button:after,
.tnew #tn-add-donation-form .btn:after,
.tnew #tn-payment-apply-gift-certificate-form .btn:after {
  content: '';position: absolute;top: 50%;right: 20px;width: 9px;height: 16px;background-image: url("/wp-content/themes/dallaszoo/resources/icons/arrow-right--white.svg");background-repeat: no-repeat;background-size: contain;background-position: right center;z-index: -1;-webkit-transform: matrix(1, 0, 0, 1, 0, -8);-ms-transform: matrix(1, 0, 0, 1, 0, -8);transform: matrix(1, 0, 0, 1, 0, -8);-webkit-transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);-o-transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media all and (min-width: 48em) {
  .btn-primary:after,
  .btn.tn-cart-buttons__primary-action:after,
  .btn.tn-register-button:after,
  .tnew #tn-add-donation-form .btn:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:after {
    width: 11px;height: 19px;-webkit-transform: matrix(1, 0, 0, 1, 0, -10);-ms-transform: matrix(1, 0, 0, 1, 0, -10);transform: matrix(1, 0, 0, 1, 0, -10);
  }
}.btn-primary:hover,
.btn-primary:focus,
.btn-primary.is-current,
.btn.tn-cart-buttons__primary-action:hover,
.btn.tn-cart-buttons__primary-action:focus,
.btn.tn-cart-buttons__primary-action.is-current,
.btn.tn-register-button:hover,
.btn.tn-register-button:focus,
.btn.tn-register-button.is-current,
.tnew #tn-add-donation-form .btn:hover,
.tnew #tn-add-donation-form .btn:focus,
.tnew #tn-add-donation-form .btn.is-current,
.tnew #tn-payment-apply-gift-certificate-form .btn:hover,
.tnew #tn-payment-apply-gift-certificate-form .btn:focus,
.tnew #tn-payment-apply-gift-certificate-form .btn.is-current {
  background-color: #D27600;background-image: url("/wp-content/themes/dallaszoo/resources/icons/button-side-orange.svg");background-repeat: no-repeat;background-size: contain;background-position: calc(100% + 32px) 50%;color: #fff;
}
.btn-primary:hover:before,
.btn-primary:focus:before,
.btn-primary.is-current:before,
.btn.tn-cart-buttons__primary-action:hover:before,
.btn.tn-cart-buttons__primary-action:focus:before,
.btn.tn-cart-buttons__primary-action.is-current:before,
.btn.tn-register-button:hover:before,
.btn.tn-register-button:focus:before,
.btn.tn-register-button.is-current:before,
.tnew #tn-add-donation-form .btn:hover:before,
.tnew #tn-add-donation-form .btn:focus:before,
.tnew #tn-add-donation-form .btn.is-current:before,
.tnew #tn-payment-apply-gift-certificate-form .btn:hover:before,
.tnew #tn-payment-apply-gift-certificate-form .btn:focus:before,
.tnew #tn-payment-apply-gift-certificate-form .btn.is-current:before {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.btn-primary:hover:after,
.btn-primary:focus:after,
.btn-primary.is-current:after,
.btn.tn-cart-buttons__primary-action:hover:after,
.btn.tn-cart-buttons__primary-action:focus:after,
.btn.tn-cart-buttons__primary-action.is-current:after,
.btn.tn-register-button:hover:after,
.btn.tn-register-button:focus:after,
.btn.tn-register-button.is-current:after,
.tnew #tn-add-donation-form .btn:hover:after,
.tnew #tn-add-donation-form .btn:focus:after,
.tnew #tn-add-donation-form .btn.is-current:after,
.tnew #tn-payment-apply-gift-certificate-form .btn:hover:after,
.tnew #tn-payment-apply-gift-certificate-form .btn:focus:after,
.tnew #tn-payment-apply-gift-certificate-form .btn.is-current:after {
  -webkit-transform: matrix(1, 0, 0, 1, 8, -8);
      -ms-transform: matrix(1, 0, 0, 1, 8, -8);
          transform: matrix(1, 0, 0, 1, 8, -8);
}
@media all and (min-width: 48em) {
  .btn-primary:hover:after,
  .btn-primary:focus:after,
  .btn-primary.is-current:after,
  .btn.tn-cart-buttons__primary-action:hover:after,
  .btn.tn-cart-buttons__primary-action:focus:after,
  .btn.tn-cart-buttons__primary-action.is-current:after,
  .btn.tn-register-button:hover:after,
  .btn.tn-register-button:focus:after,
  .btn.tn-register-button.is-current:after,
  .tnew #tn-add-donation-form .btn:hover:after,
  .tnew #tn-add-donation-form .btn:focus:after,
  .tnew #tn-add-donation-form .btn.is-current:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:hover:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:focus:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn.is-current:after {
    -webkit-transform: matrix(1, 0, 0, 1, 8, -10);
        -ms-transform: matrix(1, 0, 0, 1, 8, -10);
            transform: matrix(1, 0, 0, 1, 8, -10);
  }
}.btn.tn-cart-buttons__primary-action,
.btn.tn-register-button,
.tnew #tn-add-donation-form .btn,
.tnew #tn-payment-apply-gift-certificate-form .btn {
  background-color: #07A2C6;background-image: url("/wp-content/themes/dallaszoo/resources/icons/button-side-blue.svg");
}
.btn.tn-cart-buttons__primary-action:before,
.btn.tn-register-button:before,
.tnew #tn-add-donation-form .btn:before,
.tnew #tn-payment-apply-gift-certificate-form .btn:before {
  background: #0D587C;
}
.btn.tn-cart-buttons__primary-action:hover,
.btn.tn-cart-buttons__primary-action:focus,
.btn.tn-cart-buttons__primary-action.is-current,
.btn.tn-register-button:hover,
.btn.tn-register-button:focus,
.btn.tn-register-button.is-current,
.tnew #tn-add-donation-form .btn:hover,
.tnew #tn-add-donation-form .btn:focus,
.tnew #tn-add-donation-form .btn.is-current,
.tnew #tn-payment-apply-gift-certificate-form .btn:hover,
.tnew #tn-payment-apply-gift-certificate-form .btn:focus,
.tnew #tn-payment-apply-gift-certificate-form .btn.is-current {
  background-color: #07A2C6;background-image: url("/wp-content/themes/dallaszoo/resources/icons/button-side-blue.svg");
}
.tnew #tn-add-donation-form .btn,
.tnew #tn-payment-apply-gift-certificate-form .btn {
  font-size: 16px;font-size: 1rem;line-height: 1.25;letter-spacing: 0.0625em;padding: 6px 50px 6px 1.125rem;
}
@media all and (min-width: 48em) {
  .tnew #tn-add-donation-form .btn,
  .tnew #tn-payment-apply-gift-certificate-form .btn {
    font-size: 18px;font-size: 1.125rem;line-height: 1.44444444;letter-spacing: 0.05555556em;padding: 8px 50px 8px 1.125rem;
  }
}@media all and (min-width: 48em) {
  .tnew #tn-add-donation-form .btn:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:after {
    width: 9px;height: 16px;-webkit-transform: matrix(1, 0, 0, 1, 0, -8);-ms-transform: matrix(1, 0, 0, 1, 0, -8);transform: matrix(1, 0, 0, 1, 0, -8);
  }
}.tnew #tn-add-donation-form .btn:before,
.tnew #tn-payment-apply-gift-certificate-form .btn:before {
  -webkit-clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
          clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
}
@media all and (min-width: 48em) {
  .tnew #tn-add-donation-form .btn:before,
  .tnew #tn-payment-apply-gift-certificate-form .btn:before {
    -webkit-clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
  }
}@media all and (min-width: 48em) {
  .tnew #tn-add-donation-form .btn:hover:after,
  .tnew #tn-add-donation-form .btn:focus:after,
  .tnew #tn-add-donation-form .btn.is-current:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:hover:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn:focus:after,
  .tnew #tn-payment-apply-gift-certificate-form .btn.is-current:after {
    -webkit-transform: matrix(1, 0, 0, 1, 8, -8);
        -ms-transform: matrix(1, 0, 0, 1, 8, -8);
            transform: matrix(1, 0, 0, 1, 8, -8);
  }
}/* ---- 1. Font faces (verbatim from v15 skin; URLs absolutized) ---- */
@font-face {
  font-family: Geogrotesque;
  font-style: normal;
  font-weight: 700;
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/geogrotesque/3A167B_0_0.eot);
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/geogrotesque/3A167B_0_0.eot?#iefix) format("embedded-opentype"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/geogrotesque/3A167B_0_0.woff2) format("woff2"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/geogrotesque/3A167B_0_0.woff) format("woff"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/geogrotesque/3A167B_0_0.ttf) format("truetype");
}
@font-face {
  font-family: UniversLTPro-55Roman;
  font-style: normal;
  font-weight: 400;
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_1_0.eot);
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_1_0.eot?#iefix) format("embedded-opentype"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_1_0.woff2) format("woff2"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_1_0.woff) format("woff"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_1_0.ttf) format("truetype");
}
@font-face {
  font-family: UniversLTPro-75Black;
  font-style: normal;
  font-weight: 700;
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_2_0.eot);
  src: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_2_0.eot?#iefix) format("embedded-opentype"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_2_0.woff2) format("woff2"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_2_0.woff) format("woff"), url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/fonts/UniversLTPro/3A167B_2_0.ttf) format("truetype");
}
/* ============================================================================
 * Layer 0 — Reset
 *
 * dallaszoo.css loads AFTER v16's base stylesheet and styles bare a / button /
 * input / select / textarea at equal specificity, so v16's own var()-driven
 * rules lose the cascade (DESIGN.md F6). Tokens alone cannot fix that; this
 * layer hands control back to the tokens.
 *
 * Scope is #content, never .tnew — .tnew sits on #page and wraps the scraped
 * site header and footer, which must keep main-site styling (DESIGN.md F11).
 * ==========================================================================*/
.tnew #content {
  /* Hand link colour back to v16's token.
   *
   * `:not(.btn)` is load-bearing, not defensive. #content is an ID, so this
   * selector is (1,1,1) while v16 themes buttons with classes — `.btn-primary`
   * is (0,1,0). Without the exclusion this paints every <a class="btn"> in ink
   * and beats v16's own button colour, which is the opposite of handing control
   * to the tokens. See DESIGN.md F21. */
  /* The design system paints a wavy underline on every link via :before,
   * including links styled as buttons — so this stays unscoped. Off by default
   * here; _residual/_chrome.less re-adds it for content links. */
  /* There is deliberately no bare-`button` reset here.
   *
   * One used to sit at this spot, zeroing background, border and padding on
   * `button:not(.btn)`. Its stated reason was that "the design system styles bare
   * `button` as a full CTA" — and that is not true. The design system's only bare
   * `button` rule (core/interactive/button.less:24) sets font-size, margin,
   * appearance, display, cursor and line-height; the deployed dallaszoo.css, all
   * 220KB of it, contains no rule matching a bare `button` that sets background,
   * border or padding at all.
   *
   * So the rule countered nothing and stripped something. `#content` is an ID, so
   * it computed to (1,2,1) and outranked v16's own `.tn-cart__btn-remove` at
   * (0,1,0) — which the v16 base gives `background-color: #fff; border: 1px solid
   * #ccc`. Measured on the deployed cart: with our skin loaded the remove button
   * read `border: 0px none`; with only our stylesheet disabled it read
   * `1px solid rgb(204, 204, 204)` on white. The engineer reported that missing
   * border as a v16 shortcoming. It was ours.
   *
   * That made it the fifth instance of DESIGN.md F21, and the second regression
   * traced to this one rule after the addToCart button. Deleting it is the fix;
   * re-adding it, in any form, needs evidence of real bleed first. */
  /* v16 wires --tn-link-color into `outline` on every focusable control as well
   * as into link colour (DESIGN.md F5). Themed to ink, that yields a near-black
   * focus ring on white. Colour is set independently here so the ring stays
   * visible whatever link colour becomes. See DECISIONS.md 002.
   *
   * :focus-visible would be preferable, but v16's base targets :focus directly
   * and wins on specificity, so this matches its selector shape. */
}
.tnew #content a:not(.btn, .button__primary) {
  color: var(--tn-link-color);
  text-decoration: none;
}
.tnew #content a:not(.btn, .button__primary):hover,
.tnew #content a:not(.btn, .button__primary):focus {
  color: var(--tn-link-color-hover);
}
.tnew #content a:before {
  content: none;
}
.tnew #content a:focus,
.tnew #content button:focus,
.tnew #content input:focus,
.tnew #content select:focus,
.tnew #content textarea:focus,
.tnew #content .btn:focus,
.tnew #content [tabindex]:focus {
  outline-color: #0D587C;
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
}
/* ============================================================================
 * Layer 1 — Tokens
 *
 * v16 exposes its Bootstrap variable set as 154 --tn-* custom properties;
 * v15 exposed none. This is the primary theming surface — never write a
 * selector override where a token exists.
 *
 * Every token is accounted for in .planning/v16-tnew-styles/TOKEN-MAP.md.
 * Tokens absent from this file are deliberate DEFAULT decisions, not
 * oversights. check-token-map.mjs enforces that.
 * ==========================================================================*/
:root {
  /* Text + links: ink body text; links are INK with orange squiggle (see 3) */
  --tn-text-color: #221D1D;
  --tn-link-color: #221D1D;
  --tn-link-color-hover: #221D1D;
  /* Brand primary (Dallas Zoo orange) + darken ramp for button states */
  --tn-brand-primary: #D27600;
  --tn-brand-primary-darken-5: #b96800;
  --tn-brand-primary-darken-10: #9f5900;
  --tn-brand-primary-darken-15: #854b00;
  --tn-brand-primary-darken-17: #7b4500;
  --tn-brand-primary-darken-30: #392000;
  --tn-brand-primary-lighten-40: #ffd59f;
  /* Info -> zoo blue, plus its darken ramp. The ramp inherited Bootstrap
   * blue while the root was already brand blue, so info hovers shifted hue
   * off-brand and .btn-info renders in captures — fixes TOKEN-MAP.md F18. */
  --tn-brand-info: #0D587C;
  --tn-brand-info-darken-5: #0b4865;
  --tn-brand-info-darken-10: #08374e;
  --tn-brand-info-darken-15: #062737;
  --tn-brand-info-darken-17: #05202e;
  --tn-brand-info-darken-30: #000000;
  /* Danger (zoo red) + ramp */
  --tn-brand-danger: #C84D41;
  --tn-brand-danger-darken-5: #ba4136;
  --tn-brand-danger-darken-10: #a63b30;
  --tn-brand-danger-darken-15: #92342a;
  --tn-brand-danger-darken-17: #8a3128;
  --tn-brand-danger-darken-30: #571f19;
  /* Button radius — 4px is v16's own default, adopted rather than matched.
   * The v15 captures measure `border-radius: 0px` on every button probed, so
   * this is a deliberate visual change from the live site, not parity with it.
   * An earlier comment here claimed v15 used a 100px pill; that was never
   * verified and the captures disprove it. See DESIGN.md F20.
   * Overall button appearance is still open — DECISIONS.md deferred section. */
  --tn-btn-border-radius-base: 4px;
  --tn-btn-border-radius-large: 4px;
  --tn-btn-border-radius-small: 4px;
  --tn-btn-font-weight: 700;
  /* The default button is the brand's orange arrow-less button, not Bootstrap's
   * white-with-#333-ink one. DECISIONS 031 supersedes the ink half of 003 — 003's
   * point about #333 being a Bootstrap default still holds, only the chosen ink
   * changed. Consumed by `.btn-default` in `_residual/_chrome.less`. */
  --tn-btn-default-color: #fff;
  --tn-btn-default-bg: #D27600;
  --tn-btn-default-bg-hover: #A65523;
  --tn-btn-primary-border: transparent;
  --tn-btn-primary-border-hover: transparent;
  --tn-brand-primary-link-hover-color: #9f5900;
}
/* ---- 3. Residual : what v16 does not tokenize ---- */
/* Body + heading type.
 *
 * Scoped to #content, not .tnew: .tnew sits on #page and also wraps the scraped
 * site header and footer, which must keep their main-site styling (DESIGN.md F11).
 *
 * .tn-events-list and .tn-cart are retained deliberately. .tn-cart is proven
 * present (9/30 captures, production). .tn-events-list reads absent, but no events
 * page was ever captured, so that absence proves nothing (DESIGN.md F15). Both are
 * very likely inside #content and therefore already covered by inheritance — the
 * explicit selectors cost a few bytes and remove the risk of being wrong. */
.tnew #content,
.tn-events-list,
.tn-cart {
  font-family: "UniversLTPro-55Roman", Helvetica, Arial, "Arial Unicode", "Lucida Sans Unicode", sans-serif;
}
/* Per-level heading colour. Verified against the captures: these produce zero
 * brand-tier findings on every paired page.
 *
 * No font-family here on purpose. An earlier revision set
 * `h1..h6 { font-family: "UniversLTPro-75Black", @geogrotesque }` and attributed
 * it to the v15 skin, which declares no font-family at all. v15 renders headings
 * in Geogrotesque, from the design system's own `h1`-`h6` rules — a directly
 * matching rule, so it beats the inherited @univers-roman above without needing
 * anything from us. Adding a face here only breaks that. See DESIGN.md F22. */
.tnew #content h1,
.tnew #content h4 {
  color: #0D587C;
}
.tnew #content h2 {
  color: #D27600;
}
.tnew #content h3 {
  color: #83933E;
}
.tnew #content h5,
.tnew #content h6 {
  color: #221D1D;
}
/* Headings and paragraphs carry no bottom margin — TNEW's own spacing handles it.
 *
 * Ported from the v15 skin, where it was the first rule in the file. It was lost
 * when tnew.less was split into partials, which is what the surviving heading
 * margin findings measure: v16 renders 10px where v15 renders 0.
 *
 * `.tn-prod-season-header__title` sat beside this rule in v15 and is deliberately
 * not carried over — it appears in neither host's captures. `tn-header-component`
 * and `tn-heading-sub-text` are present on both, so those two selectors port as
 * written. */
.tnew #content h1,
.tnew #content h2,
.tnew #content h3,
.tnew #content h4,
.tnew #content h5,
.tnew #content h6,
.tnew #content p,
.tnew #content section.tn-header-component div:not(.tn-heading-sub-text),
.tnew #content section.tn-header-component h1 {
  margin-bottom: 0;
}
/* Wavy orange link underline — content links only, never buttons or nav.
 * .tn-rich-text was dropped: absent from every capture (reports/CLASS-PRESENCE.md).
 *
 * :extend(.links__link all) is required, not optional: .links__link's own
 * declarations are just the base rule. The `all` keyword is what also carries
 * over its nested :before (the underline bar's content/position), :hover,
 * :focus, and .is-current variants. Without `all`, only the base rule transfers
 * and the underline never renders — a pseudo-element with no `content` doesn't
 * paint. Block order was never a reason to drop it either: custom-property order
 * doesn't affect resolution, and residual rules win by specificity, not position. */
/* The `.tnew #content` prefix on the cart selector is load-bearing, not house style:
 * unscoped it is (0,1,1) and loses to the reset's `.tnew #content a:before` (1,1,2),
 * so `content: none` won and the bar never painted — measured on the deployed cart
 * page with the wavy SVG, height and offset all present and `content: "none"`.
 * Scoped it is (1,2,1) and wins. Fourth instance of DESIGN.md F21. */
/* The promo-code submit joined this list 2026-07-29 — DECISIONS 029, DESIGN.md F36.
 * Approved by Jonny: applying a promo code is a tertiary action and the primary arrow
 * button was far too prominent for it. Reusing this treatment rather than inventing
 * one, since it is what the design system already says a quiet action looks like. */
/* `.tn-additional-events__continue-shopping-link` joined 2026-07-29 — DECISIONS 030,
 * DESIGN.md F40. Unlike the other members this one is a **restoration, not a new call**:
 * production's compiled CSS gives that class the `.links__link` treatment verbatim —
 * `color: #221d1d`, `position: relative`, `display: inline-block`, `vertical-align:
 * baseline`, `text-decoration: none !important`, the wavy `:before`, and the
 * `.is-current` colour and animation — alongside `UniversLTPro-75Black` at 700. Which is
 * exactly this list. So it belongs here rather than in `_events.less`: the treatment is
 * the design system's definition of a quiet link, and this is the register of things
 * carrying it. */
.tnew #content p a:not(.btn, .button__primary):not(:has(img))::before,
.tnew #content .tn-cart-buttons__secondary-action::before,
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit::before,
.tnew #content #tn-update-form .tn-btn-wrapper a::before,
.tnew #content .tn-additional-events__continue-shopping-link::before,
.tnew #content .tn-not-found-page a::before,
.tnew #content .tn-account-logout-page a::before {
  background-image: url(https://www.dallaszoo.com/wp-content/themes/dallaszoo/resources/icons/wavy-line-orange.svg);
}
.tnew #content .tn-utility-nav {
  margin-top: 0;
}
.tnew #content .tn-utility-nav-account-section {
  gap: 18px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.tnew #content .tn-utility-nav-promo-code-section {
  margin-right: 0.9375rem;
  padding-left: 0.9375rem;
}
@media all and (min-width: 48em) {
  .tnew #content .tn-utility-nav-promo-code-section {
    margin-right: 2.5rem;
    padding-left: 0;
  }
}
.tnew #content .tn-utility-nav-cart-controls-section {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.tnew #content .tn-utility-nav-inline-promo-code-form__input-container {
  gap: 18px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
/* The promo submit needs more than joining the list, because unlike the other two
 * members it is a `.btn.btn-primary` — so it arrives carrying the whole design-system
 * button and the link treatment lands on top of it rather than instead of it.
 *
 * The `::before` block is the subtle part. `.links__link` paints the wavy underline in
 * its own `:before`, and `.button__primary` paints a full-size fill in *its* `:before`.
 * `links.less` is imported before `button.less` in `tnew.less`, so the fill is later in
 * the cascade and wins on every property they share — the extend alone would leave a
 * button with no underline. Re-stating the underline's geometry here at (1,2,1) is what
 * makes it paint. Half-suppressing is worse than either extreme, which is F17. */
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit {
  background: none;
  padding: 0;
  border-radius: 0;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  overflow: visible;
}
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:after {
  display: none;
}
.tnew #content .tn-utility-nav-inline-promo-code-form__btn-submit:before {
  top: auto;
  bottom: -2px;
  width: auto;
  height: 6px;
  background-color: transparent;
  background-repeat: repeat-x;
  border-radius: 10px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
.tn-utility-nav-modal-promo-code-form__btn-open-modal {
  margin: 0;
}
.btn-sm {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0.0625em;
  padding: 6px 50px 6px 1.125rem;
}
@media all and (min-width: 48em) {
  .btn-sm {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.44444444;
    letter-spacing: 0.05555556em;
    padding: 8px 50px 8px 1.125rem;
  }
}
@media all and (min-width: 48em) {
  .btn-sm:after {
    width: 9px;
    height: 16px;
    -webkit-transform: matrix(1, 0, 0, 1, 0, -8);
        -ms-transform: matrix(1, 0, 0, 1, 0, -8);
            transform: matrix(1, 0, 0, 1, 0, -8);
  }
}
.btn-sm:before {
  -webkit-clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
          clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
}
@media all and (min-width: 48em) {
  .btn-sm:before {
    -webkit-clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
  }
}
@media all and (min-width: 48em) {
  .btn-sm:hover:after,
  .btn-sm:focus:after,
  .btn-sm.is-current:after {
    -webkit-transform: matrix(1, 0, 0, 1, 8, -8);
        -ms-transform: matrix(1, 0, 0, 1, 8, -8);
            transform: matrix(1, 0, 0, 1, 8, -8);
  }
}
.btn-default {
  color: var(--tn-btn-default-color);
  background-color: var(--tn-btn-default-bg);
  border-color: transparent;
  padding-right: 1.125rem;
}
.btn-default:hover,
.btn-default:focus,
.btn-default.is-current {
  color: var(--tn-btn-default-color);
  background-color: var(--tn-btn-default-bg-hover);
  border-color: transparent;
}
.tn-utility-nav {
  background: none;
  margin-top: 20px;
}
/* `.button__primary` reserves 50px of right padding for its `arrow-right--white.svg`
 * `:after`. Suppress the arrow and that becomes dead space, so the two go together —
 * which is why this rule already paired them for the cart link.
 *
 * `tn-utility-nav-account-menu-btn` joined 2026-07-29 (DECISIONS 026): removing its
 * chevron left it computing `8px 50px 8px 18px` with nothing in the gap, while the
 * cart link beside it sat at `8px 18px`. */
.tn-utility-nav-cart-link,
.tn-utility-nav-account-menu-btn,
.tn-utility-nav-account-login-link,
.tn-utility-nav-modal-promo-code-form__btn-open-modal {
  padding-right: 1.125rem;
}
.tn-utility-nav-cart-link:after,
.tn-utility-nav-account-menu-btn:after,
.tn-utility-nav-account-login-link:after,
.tn-utility-nav-modal-promo-code-form__btn-open-modal:after {
  display: none;
}
.tn-utility-nav-cart-link__quantity-badge {
  display: none;
}
.form-control {
  height: auto;
}
.control-label {
  width: 100%;
}
.tn-required-field {
  color: #C84D41;
  font-style: normal;
  margin-left: auto;
}
.tn-required-field:before {
  content: '*';
}
.tnew form input,
.tnew form input[type="text"],
.tnew form input[type="email"],
.tnew form input[type="password"],
.tnew form select,
.tnew form textarea {
  color: #221D1D;
  border: 2px solid #DFDFC7;
  background: #fff;
  border-radius: 2px;
  padding: 5px 1.125rem;
  position: relative;
}
.tnew form input:hover,
.tnew form input[type="text"]:hover,
.tnew form input[type="email"]:hover,
.tnew form input[type="password"]:hover,
.tnew form select:hover,
.tnew form textarea:hover {
  border-color: #D27600;
}
.tnew form input:focus,
.tnew form input[type="text"]:focus,
.tnew form input[type="email"]:focus,
.tnew form input[type="password"]:focus,
.tnew form select:focus,
.tnew form textarea:focus {
  border-color: #83933E;
}
.has-error .tnew form input,
.has-error .tnew form input[type="text"],
.has-error .tnew form input[type="email"],
.has-error .tnew form input[type="password"],
.has-error .tnew form select,
.has-error .tnew form textarea,
.tnew form input:user-invalid,
.tnew form input[type="text"]:user-invalid,
.tnew form input[type="email"]:user-invalid,
.tnew form input[type="password"]:user-invalid,
.tnew form select:user-invalid,
.tnew form textarea:user-invalid {
  border-color: #C84D41;
  padding-right: calc(1.125rem + 0.5625rem + 18px);
}
.tnew select {
  padding-top: 0;
  padding-bottom: 0;
}
/* `.button__base` sets `margin-top: @full-vertical`, which is wrong for anything laid
 * out in the utility nav's flex rows. This list vetoes it per control.
 *
 * `tn-utility-nav-account-menu-btn` was added 2026-07-29 — DECISIONS 025, DESIGN.md
 * F36. Its omission is worth a note, because the shape of the mistake will recur:
 * this list already held `tn-utility-nav-account-login-link`, which is the
 * **logged-out** button. The menu button is its logged-in counterpart, and every
 * capture of these pages was taken logged out, so it was never seen. Measured before
 * the fix: the button computed `margin-top: 20px` and sat at `top: 325` while its
 * flex siblings — the profile/email block and the cart link — sat at `305`. */
.btn.tn-utility-nav-account-login-link,
.btn.tn-utility-nav-account-menu-btn,
.btn.tn-utility-nav-cart-link,
.btn.tn-utility-nav-inline-promo-code-form__btn-submit {
  margin: 0;
}
/* Page and form vertical rhythm, both lost in the F9 stylesheet split.
 *
 * DECISIONS.md 020 and 021, DESIGN.md F34. Production's compiled `dallaszoo.css`
 * carries `.tnew .site-main { padding: 2.5rem 0 }` and
 * `.tnew .form-group { margin-top: 1.25rem }`; the deployed `tnew.css` has neither.
 * Sixth and seventh dropped rules of this migration.
 *
 * Measured on both hosts, not read off the stylesheet — which is the whole lesson of
 * F34. The first candidate that sweep produced looked identical to these two and was
 * a dead rule in production, overridden in its own cascade, so dropping it changed
 * nothing. These two are real:
 *
 *   .site-main   padding      v15 40px 0px   v16 0px
 *   .form-group  margin-top   v15 20px       v16 0px
 *
 * `@double-vertical` and `@full-vertical` resolve to exactly 2.5rem/40px and
 * 1.25rem/20px, which is good evidence production authored these with the same
 * tokens. Using the variables rather than the literals keeps them tied to
 * `@base-vertical` the way the rest of the system is.
 *
 * Selectors mirror production rather than adding a `#content` scope. F11 warns that
 * `.tnew` also wraps the scraped site header and footer, so an unscoped `.tnew
 * .form-group` could in principle reach main-site chrome — but measured on the login
 * page, `.site-main` occurs once and all three `.form-group`s are inside `#content`,
 * so the two selectors behave identically here. Given that, fidelity to production
 * wins: v16 computes `0px` for both, so no extra specificity is needed to apply
 * them, and adding `#content` purely to raise specificity is the mistake F21
 * documents. Any side effect on scraped chrome already exists on v15, which is the
 * reference.
 *
 * Neither was ever visible to the parity reports, which is why they survived this
 * long. No probe samples `.form-group`, and the `mainContainer` probe is
 * `body, #content, .tnew, .site-main` — four matches in DOM order, and `sample()`
 * keeps three, so `.site-main` is never taken. Both pages involved were reported at
 * brand 0. */
.tnew .site-main {
  padding: 2.5rem 0;
}
.tnew .form-group {
  margin-top: 1.25rem;
}
/* Take the chevron off the account dropdown and View Cart, and nothing else.
 * DECISIONS.md 026 and 027, DESIGN.md F36.
 *
 * Both carry `.btn.btn-primary.btn-sm`, and `.btn-primary` extends
 * `.button__primary all` above, which brings five things: the `@tiger-orange` ground,
 * white text, the `button-side-orange.svg` side chevron, a `background-position` slide
 * transition, and a 9×16 `arrow-right--white.svg` `:after`.
 *
 * **Only the last three go.** The ground and the text colour are the token-driven
 * default button and are meant to stay — an earlier revision of this rule repainted
 * them white-on-ink by reading "default button" as `.button__base`, which is not what
 * was asked for and was corrected the same day.
 *
 * Why the chevron is wrong on each: the account control is a **dropdown toggle**, and a
 * right-pointing chevron promises forward navigation rather than a menu. On the cart
 * link the sliding side graphic is just noise on a persistent nav element.
 *
 * `background-image`, not the `background` shorthand — the shorthand would take the
 * ground with it. Restated on `:hover`/`:focus` because `.button__primary` sets the
 * side SVG again there as part of the slide.
 *
 * **Hover needed handling, and the two controls did not start equal.** A primary
 * button's hover is the `:before` wipe, and `.button__primary:hover` animates only the
 * pseudos — it changes no property on the element itself. So once the chevron slide is
 * gone, hover feedback depends entirely on `:before`. Measured: the menu button is a
 * `<button>` and has one; the cart link is an `<a>` and does **not**, because
 * `_reset.less`'s `.tnew #content a:before { content: none }` at (1,1,2) beats
 * `.btn-primary:before` at (0,1,1). Shipping the chevron removal alone would have left
 * the cart link with no hover state whatsoever.
 *
 * So both pseudos are suppressed and hover becomes a plain ground change to
 * `@lion-mane-orange` — which is not an invented value: it is the colour
 * `.button__primary`'s own wipe paints. Both controls now behave identically, which
 * matters for two buttons sitting side by side in the same nav row. If the animated
 * wipe is wanted back on the menu button, drop `:before` from the suppression list and
 * the plain hover stays as the cart link's fallback.
 *
 * Only paint is touched. `.btn-sm` sizing, the flex layout and the cart quantity badge
 * are left alone. */
.tnew .tn-utility-nav-account-menu-btn,
.tnew .tn-utility-nav-cart-link,
.tnew .tn-btn-datepicker__btn-period-prev-next,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal,
.tnew .tn-utility-nav-account-login-link,
.tnew .tn-additional-events__btn-submit {
  background-image: none;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.tnew .tn-utility-nav-account-menu-btn:hover,
.tnew .tn-utility-nav-cart-link:hover,
.tnew .tn-btn-datepicker__btn-period-prev-next:hover,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal:hover,
.tnew .tn-utility-nav-account-login-link:hover,
.tnew .tn-additional-events__btn-submit:hover,
.tnew .tn-utility-nav-account-menu-btn:focus,
.tnew .tn-utility-nav-cart-link:focus,
.tnew .tn-btn-datepicker__btn-period-prev-next:focus,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal:focus,
.tnew .tn-utility-nav-account-login-link:focus,
.tnew .tn-additional-events__btn-submit:focus,
.tnew .tn-utility-nav-account-menu-btn.is-current,
.tnew .tn-utility-nav-cart-link.is-current,
.tnew .tn-btn-datepicker__btn-period-prev-next.is-current,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal.is-current,
.tnew .tn-utility-nav-account-login-link.is-current,
.tnew .tn-additional-events__btn-submit.is-current {
  background-color: #A65523;
  background-image: none;
}
.tnew .tn-utility-nav-account-menu-btn:before,
.tnew .tn-utility-nav-cart-link:before,
.tnew .tn-btn-datepicker__btn-period-prev-next:before,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal:before,
.tnew .tn-utility-nav-account-login-link:before,
.tnew .tn-additional-events__btn-submit:before,
.tnew .tn-utility-nav-account-menu-btn:after,
.tnew .tn-utility-nav-cart-link:after,
.tnew .tn-btn-datepicker__btn-period-prev-next:after,
.tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal:after,
.tnew .tn-utility-nav-account-login-link:after,
.tnew .tn-additional-events__btn-submit:after {
  display: none;
}
.modal-footer {
  gap: 0.625rem;
}
/* Stop re-exposing the modal promo-code button that TNEW hides on wide screens.
 *
 * DECISIONS.md 028, DESIGN.md F36. This is the one item in that group that is
 * functional rather than cosmetic, and the mechanism is worth stating precisely.
 *
 * TNEW's own stylesheet carries:
 *
 *   @media (min-width: 768px) { .tn-utility-nav-modal-promo-code-form__btn-open-modal
 *                               { display: none } }
 *
 * at (0,1,0). Our `.btn` extends `.button__base`, which sets `display: inline-block`,
 * also at (0,1,0) — and `tnew.css` loads after the vendor sheet, so **source order
 * alone re-shows the button**. Desktop users get a redundant control opening a modal
 * that duplicates the inline promo form beside it.
 *
 * So this is not a parity fix; there is no v15 equivalent. It is our skin defeating a
 * vendor's responsive behaviour, and neither the parity reports nor the coverage sweep
 * can see that class of defect — it was found by the engineer using the site.
 *
 * `@medium-screens-min` is `all and (min-width: 48em)`, which is 768px at the 16px
 * root, so this matches the vendor's breakpoint exactly rather than approximating it. */
@media all and (min-width: 48em) {
  .tnew .tn-utility-nav-modal-promo-code-form__btn-open-modal {
    display: none;
  }
}
/* "Reset Date Range" sits 20px lower than on v15.
 *
 * DECISIONS.md 023, DESIGN.md F35. Found by the coverage sweep, not by the parity
 * report, which had this page at brand 0 — no probe samples this control.
 *
 * `.button__base` sets `margin-top: @full-vertical` and reaches everything carrying
 * `.btn`. Production shipped `.tnew .tn-events-list-view__btn-reset-dates
 * { margin-top: 0 }` to veto it and the F9 split dropped that rule. Both hosts ship
 * identical markup for the control — `.btn.btn-default.btn-sm`, `disabled` — so the
 * 20px is entirely ours.
 *
 * Measured: v15 `margin-top: 0px`, v16 `20px`. Restoring the veto, not inventing a
 * value. */
.tnew {
  /* Prev/next period arrows.
   *
   * `padding-inline: @full-side` — 18px, which is what v15 measures (`8px 18px`). It was
   * first written as a literal `16px`; corrected to the token on 2026-07-29 once the
   * measurement settled it, so the two sides now agree rather than sitting 2px apart.
   *
   * `margin-top: 0` is the same missing veto as `.tn-events-list-view__btn-reset-dates`
   * above: `.button__base` sets `margin-top: @full-vertical` on everything carrying
   * `.btn`. Measured v15 `0px`, v16 `20px`. */
  /* The date button between the `<` `>` arrows. DECISIONS 039.
   *
   * v16 gave it the full design-system button — Geogrotesque 700 at 26px with 1px
   * letter-spacing and a padded box — so it read as a third orange-adjacent button
   * sandwiched between the two orange arrows. It is a date *label* that happens to be
   * clickable, and it should read that way.
   *
   * **Close to v15, not identical, on Jonny's direction.** Matched: the 16px → 18px scale,
   * weight 400, normal letter-spacing, `padding: 0`, and v15's own margins — `20px 0` at
   * mobile and `0 18px` from `@medium-screens-min` — which are where its breathing room
   * comes from. Deliberately *not* matched, because Jonny called both out: v15's white
   * ground with a top and bottom border, and its grey hover.
   *
   * Two judgement calls, flagged rather than buried. `font-family: inherit` resolves to
   * `@univers-roman` from `.tnew #content` rather than v15's `sans-serif`, which was just
   * v15's skin declaring nothing — inheriting the page's body face reads as text and is
   * consistent, where hardcoding `sans-serif` would copy an accident. And hover goes to
   * `@jungle-leaf-green`, the system's own link-hover colour, because the control still
   * needs an affordance and grey was the thing being rejected.
   *
   * Ground and ink were already handled on this branch; the rest is the veto that was
   * missing. `line-height` comes from the hierarchy mixins rather than v15's `44px`, which
   * is a vendor `btn-lg` artifact and not a value this system has a name for.
   *
   * The steps are `normal-text` (16px) and `primer-text` (18px) — v15's two sizes exactly.
   * `columbian-text` was tried first on the assumption it was the 18px step; it is **26px**,
   * and the measurement caught it before deploy. `@primer-text-size: 18` is the one. */
  /* ---- Event detail (school field trips). DECISIONS 030, DESIGN.md F40. ----
   *
   * These five surfaced the moment `/65773/66863` was first captured. Every one had
   * been sitting in the coverage sweep's MOOT bucket, which only ever meant "not in
   * any of our captures" — and we had never captured an event detail page, because
   * DECISIONS 017 ruled the surface out of scope on the premise that v16 had no
   * counterpart. Restoring what production authored, measured against it. */
  /* Display time — a small uppercase label, not body copy.
   *
   * v15 `UniversLTPro-75Black` 700, 16px/20px, `letter-spacing: 0.44px`, uppercase.
   * v16 `55Roman` 400, 21.6px/28.08px, normal, none. Production puts this class in
   * `.styles__label`, which resolves to exactly v15's measured values at ≥768px:
   * petite base rising to normal-text, `letter-spacing: unit(0.44 / size, em)` —
   * 0.44/16em = 0.44px at 16px — plus `text-transform: uppercase` and `@gorilla`.
   *
   * Both extends are named, per F31: `.styles__label` reaches its 14px base through
   * its own `:extend(.hierarchy__petite-text)`, and an extend does not traverse
   * another extend. Its `.styles__univers-black` is a mixin *call*, so that one does
   * come across with the label extend — the distinction matters and F31 is why.
   *
   * Production also ships a `--large` variant and it is **deliberately not restored
   * here.** `&:extend(.styles__label--large all)` compiles to nothing — LESS reports
   * `extend '.styles__label--large' has no matches`, because that selector is generated
   * by `&--large` nesting inside `.styles__label` and is not reachable by extend from a
   * `(reference)` import. It cannot be called as a mixin either, since it is a generated
   * selector rather than a declared class. Shipping the line anyway would have been a
   * silent no-op, and there was no element carrying the class on either captured page to
   * verify against, so there is nothing to measure a workaround against. Left undone and
   * recorded rather than faked.
   *
   * The `@media` block is not redundant with `.styles__label`'s own — it exists because
   * **the two extends land in the wrong cascade order in this build.** `tnew.less`
   * imports `styles.less` before `hierarchy.less`, so `.hierarchy__petite-text`'s 14px
   * rule is emitted *after* `.styles__label`'s medium-screen 16px block and wins at every
   * width. Measured: without this block the element computes 14px/18px at 1280px where
   * v15 computes 16px/20px. Production's own build emits them the other way round, so its
   * source needs no such block — another case of a legacy rule not being
   * self-validating (F31). Restating the step at our own selector puts it last and makes
   * it order-independent. */
  /* The additional-events panel sits on white, not v16's #FAFAFA, and needs
   * `position: relative` — production pairs the two, which usually means something is
   * absolutely positioned against it.
   *
   * v15 also paints a `::before` here that v16 lacks. It is **not** restored, because
   * production's compiled CSS defines no `::before` for this class — so v15's comes
   * from a broader selector I have not identified, and inventing one would be guessing
   * at a decoration rather than restoring a rule. Flagged, not fabricated. */
  /* "Add to cart" on the additional-events row is not a design-system button.
   *
   * v15: `padding: 0 15px`, `margin-left: 15px`, no margin-top, **no pseudo-elements**.
   * v16: the full arrow button — `12px 50px 12px 18px`, `margin-top: 20px`, both
   * pseudos. Eleventh instance of the missing-veto family (018a, 021, 023, the
   * datepicker trio, the utility-nav five).
   *
   * Two deliberate departures from production's literal rule. It carries
   * `margin-left: 15px !important`; the `!important` is unnecessary here because this
   * selector is (0,2,0) and `.button__base`'s `margin: 0` arrives via `.btn` at
   * (0,1,0), so it is omitted rather than copied. And production suppresses only
   * `:after`, yet v15 renders neither pseudo — the mechanism for its `:before` is
   * unexplained, so both are suppressed to match v15's *measured* state rather than
   * production's authored text. F31's lesson: the legacy source is not
   * self-validating.
   *
   * `15px` is not a theme token (`@full-side` is 18px), so production's literal value
   * is kept rather than rounded to something that looks tidier and matches nothing. */
  /* No `display` here, and the reason is worth keeping. The reports show v15 computing
   * `inline-block` against v16's `block`, so a `display: inline-block` was added — and it
   * changed nothing, because **v16's button is a flex item and flex items blockify**:
   * `inline-block` computes as `block` whatever we declare. CDP confirmed our rule was
   * winning the cascade while the computed value stayed `block`.
   *
   * There is nothing to fix. The parents differ structurally — v15 wraps it in
   * `span.input-group-btn` at `display: table-cell`, v16 in
   * `div.tn-additional-events__date` at `display: flex` — and both put the button on the
   * **same row as the date select** (measured: tops within 3px on v15, identical on v16).
   * `.btn` already supplies `display: inline-block` for any non-flex context, so the line
   * was redundant as well as inert. Removed rather than left looking load-bearing. */
  /* Both containers lose v16's 40px bottom gap. Production lists them together, so
   * they are restored together — `.tn-ticket-selector__controls-container` is on the
   * v15 page and harmless if v16 ever drops it. */
}
.tnew .tn-events-list-view__btn-reset-dates {
  margin-top: 0;
}
.tnew .tn-btn-datepicker__btn-period-prev-next {
  padding-inline: 1.125rem;
  margin-top: 0;
}
.tnew .tn-btn-datepicker__btn {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  background: none;
  color: #221D1D;
  border: 0;
  font-family: inherit;
  font-weight: 400;
  letter-spacing: normal;
  padding: 0;
  margin: 1.25rem 0;
}
@media all and (min-width: 48em) {
  .tnew .tn-btn-datepicker__btn {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.44444444;
    margin: 0 1.125rem;
  }
}
.tnew .tn-btn-datepicker__btn:hover,
.tnew .tn-btn-datepicker__btn:focus,
.tnew .tn-btn-datepicker__btn.is-current {
  background: none;
  color: #83933E;
}
.tnew .tn-event-listing-mode-tab-nav__list-item {
  color: #221D1D;
}
@media all and (min-width: 48em) {
  .tnew .tn-event-detail__display-time {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0.0275em;
  }
}
.tnew .tn-event-detail__additional-events-container {
  background: #fff;
  position: relative;
}
.tnew #content .tn-additional-events__instructions {
  margin-bottom: 1.25rem;
}
.tnew .tn-additional-events__btn-submit {
  margin-top: 0;
  margin-left: 15px;
  padding: 0 15px;
}
.tnew .tn-additional-events__btn-submit .glyphicon {
  font-size: 16px;
  top: 0;
  vertical-align: middle;
}
.tnew .tn-event-detail__performance-details-container,
.tnew .tn-ticket-selector__controls-container {
  margin-bottom: 0;
}
.tnew .tn-prod-list-item__p erf-anchor {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.tnew .tn-prod-list-item__button {
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  background-image: none;
  width: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tnew .tn-prod-list-item__button:before,
.tnew .tn-prod-list-item__button:after {
  display: none;
}
.tnew #content .tn-ticket-selector__pricetype-name {
  color: #0D587C;
}
.tnew .tn-ticket-selector__amount-input-container .form-group {
  margin-top: 0;
}
/* Cart totals labels — "Subtotal" and "Total".
 *
 * Pinned to the component class, not to a heading level, and that is the whole
 * point of the rule. v15 marked these up as `h3`; v16 marks them up as `h4`. The
 * skin colours headings per level in _chrome.less — `h3` olive, `h1, h4` blue — so
 * the level change silently repainted them, and the engineer saw blue where v15
 * shows olive.
 *
 * Measured, not inferred: a saved snapshot of the live v15 cart computes
 * `rgb(131, 147, 62)` on `h3.tn-cart-totals__label`, which is @jungle-leaf-green.
 * v16 computed `rgb(13, 88, 124)` on `h4.tn-cart-totals__label`.
 *
 * `.tnew #content .tn-cart-totals__label` is (1,2,0) and beats the per-level rule
 * at (1,1,1), so this holds whatever heading level a future TNEW release picks —
 * which is the durable fix rather than chasing the level. */
.tnew #content .tn-cart-totals__label {
  color: #83933E;
}
/* Restore the arrow-button treatment on the donation and gift-certificate submits.
 *
 * DECISIONS.md 018b, DESIGN.md F30. These two rules exist in the pre-split
 * `core/tnew/tnew.less` (lines 72 and 101) and in production's compiled
 * `dallaszoo.css`, and were lost when the TNEW styling moved into its own stylesheet
 * (F9). The skin ported one member of that six-member selector list
 * (`.tn-cart-buttons__primary-action`) and left these behind, so on v16 the buttons
 * fall back to the base `.btn-default`: white ground, ink text, no side arrow.
 *
 * Measured, not inferred. v15 computes `rgb(7, 162, 198)` — `@macaw-blue` `#07A2C6` —
 * with `button-side-blue.svg`, and padding `6px 50px 6px 18px` rising to
 * `8px 50px 8px 18px` at `@medium-screens-min`. Those are `.button__secondary`'s
 * ground and `.button__small`'s two padding steps exactly, which is why both extends
 * are needed: `secondary` paints, `small` sizes. One without the other reproduces the
 * half-styled state the captures already show.
 *
 * `primary` is extended as well, and the legacy rule did not need it — DESIGN.md F31.
 * `:extend` does not traverse another extend: `.button__secondary` reaches
 * `color: @white` through its own `&:extend(.button__primary all)`, and extending
 * `secondary` from here does not follow that hop. Legacy got the ink from the cascade
 * because that build emitted `.button__primary`'s rules into `dallaszoo.css`; here
 * `button.less` is `(reference)`. Deployed without this line, the button came up blue
 * with `#221D1D` ink — five of six paint properties right and one wrong.
 *
 * `base` is deliberately *not* extended: `.btn` already extends `.button__base all`
 * in `_chrome.less`, so it arrives via the class the button already carries. The
 * three-target precedent at `_chrome.less:111-113` names it belt-and-braces.
 * Ordering is source order — `primary` is defined before `secondary` in
 * `button.less`, so the blue ground and the `#0D587C` `:before` still win over
 * primary's orange. Verified against the compiled output, not assumed.
 *
 * Not scoped to `#content`. These are ID-anchored selectors at (1,2,0) — adding
 * `#content` would raise them above v16's own theming for no benefit, which is the
 * mistake F21 documents. `button.less` is imported `(reference)`, so the extends emit
 * only what is used here.
 *
 * `all` is load-bearing on every extend: without it the `:hover`, `:focus` and
 * `.is-current` variants are silently dropped, which is exactly F17. */
/* Stop our button treatment painting the "forgot your password" control.
 *
 * DECISIONS.md 018a, DESIGN.md F33. v16 adds `class="btn btn-default"` to a control
 * v15 ships bare, and because `.btn` extends `.button__base all` in `_chrome.less`,
 * our own design system then paints a 391px white button around it. The box is ours,
 * not a v16 default — there is nothing here to adopt.
 *
 * What the control actually contains is client-authored content, identical on both
 * hosts, whose only child sets its own typography:
 *
 *   <button id="tn-account-login-forgot-login-link">
 *     <h5 class="loginlnx"><em><span style="color:#b22222;"><strong>CLICK HERE if you
 *     forgot your password</strong></span></em></h5>
 *   </button>
 *
 * Measured, not inferred, and the measurement is why this rule is short. The `h5`
 * sets its own family, size, weight, line-height and letter-spacing (Geogrotesque
 * 18px/700/0.5px/26px — `h5` is a member of the flattened `.styles__geogrotesque`
 * list), the red is an inline style on the `span`, and the button holds no text node
 * of its own. So every typography property on the button is invisible, and only the
 * box differs. `color`, `font-family` and `font-weight` are deliberately NOT set:
 * v15's values there are a TNEW vendor blue and browser defaults, so matching them
 * would mean hardcoding accidents to close report rows nobody can see.
 *
 * `font-size`, `line-height` and `text-decoration` ARE set, because those three are
 * the rule we dropped — production's compiled CSS carries this class in the
 * `hierarchy__petite-text` list (14px/18px) with its own `text-decoration: none`, and
 * the deployed `tnew.css` has zero occurrences of the class. Fifth dropped rule of the
 * migration after F17, `771218f5`, `d3cbe8f5` and F30. Visually inert here, restored
 * for fidelity to what production shipped.
 *
 * `margin: 0` matches v15 and does not lose the spacing: v15's gap comes from the
 * `h5`'s own `margin-top: 2.5rem`, which is inside the button on both hosts. v15
 * additionally wraps the button in a `<p>`; v16 does not, and that wrapper is TNEW's
 * markup, not something a stylesheet should recreate.
 *
 * Anchored on the id rather than the class — present on both hosts — so it clears
 * `.btn` and vendor `.btn-default` outright instead of tying on specificity.
 * `:hover` and `:focus` are included because `.button__base` repaints the ground on
 * both, and `.btn:hover` would otherwise tie with us at (0,2,0). */
.tnew #tn-account-login-forgot-login-link,
.tnew #tn-account-login-forgot-login-link:hover,
.tnew #tn-account-login-forgot-login-link:focus {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  margin: 0;
  letter-spacing: normal;
  font-size: 14px;
  line-height: 18px;
  text-decoration: none;
}
/* Restore the dashed divider above each cart item.
 *
 * DECISIONS.md 024, DESIGN.md F35. Ninth dropped rule of the F9 split, and the one
 * the coverage sweep was built to settle. Two rules were lost together: the `:before`
 * that paints the dashes, and the `border-top: 0` that suppresses v16's own line.
 *
 * Measured on both hosts with a populated cart, which is the only way this surface
 * could be compared at all — no v15 capture of `/cart/details` exists, because
 * building a cart on production is forbidden to the capture agent (CAPTURE-BRIEF.md).
 *
 *   v15   border-top: 0px none            :before  3px, 14px-repeat gradient
 *   v16   border-top: 1px solid #EEEEEE   :before  absent
 *
 * The dashes are a gradient, not an SVG: a 14px-wide repeat that is transparent for
 * the first 50% and `@hornbill-yellow` after it, giving 7px on, 7px off. All three of
 * `background-size`, `background-position` and the `0` second colour stop are
 * load-bearing — the stop at `0` is what makes the transition hard instead of a
 * gradient fade.
 *
 * Production's compiled rule carries four vendor-prefixed `background-image`
 * variants. Only the standard one is written here: `grunt/postcss.js` runs
 * autoprefixer over `tnew.css` in both the build and dist targets, so the prefixes
 * are generated. Verified rather than assumed.
 *
 * Both cart pages were reported brand 0 before this. The divider is a
 * pseudo-element, and no probe reads those. */
.tnew .tn-cart-item {
  border-top: 0;
}
.tnew .tn-cart-item:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(0, #FDD26E));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 50%, #FDD26E 0);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0) 50%, #FDD26E 0);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 50%, #FDD26E 0);
  background-size: 14px 100%;
  background-position: 100%;
}
.tnew .adyen-checkout__input-wrapper:active,
.tnew .adyen-checkout__input-wrapper:focus-within,
.tnew .adyen-checkout__input-wrapper:hover {
  border: none !important;
}
.tnew .adyen-checkout__dropin {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.28571429;
  line-height: 1;
}
.tnew .adyen-checkout__label {
  margin-bottom: 0;
}
.tnew .adyen-checkout__label .adyen-checkout__helper-text,
.tnew .adyen-checkout__label .adyen-checkout__label__text {
  line-height: 1;
}
.tnew .adyen-checkout__input {
  color: #221D1D;
  border: 2px solid #DFDFC7 !important;
  background: #fff;
  border-radius: 2px;
  padding: 5px 1.125rem;
  position: relative;
}
.tnew .adyen-checkout__input:hover {
  border-color: #D27600 !important;
}
.tnew .adyen-checkout__input:focus {
  border-color: #83933E !important;
}
.has-error .tnew .adyen-checkout__input,
.tnew .adyen-checkout__input:user-invalid {
  border-color: #C84D41 !important;
  padding-right: calc(1.125rem + 0.5625rem + 18px);
}
.tnew #content .adyen-checkout-form-instruction {
  margin-bottom: 0.625rem;
}
.tnew .tn-print-receipt-button {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0.0625em;
  padding: 6px 50px 6px 1.125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 2.125rem 0 0 auto;
  padding-right: 1.125rem !important;
}
@media all and (min-width: 48em) {
  .tnew .tn-print-receipt-button {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.44444444;
    letter-spacing: 0.05555556em;
    padding: 8px 50px 8px 1.125rem;
  }
}
@media all and (min-width: 48em) {
  .tnew .tn-print-receipt-button:after {
    width: 9px;
    height: 16px;
    -webkit-transform: matrix(1, 0, 0, 1, 0, -8);
        -ms-transform: matrix(1, 0, 0, 1, 0, -8);
            transform: matrix(1, 0, 0, 1, 0, -8);
  }
}
.tnew .tn-print-receipt-button:before {
  -webkit-clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
          clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 50%, calc(100% - 16px) 100%, 0% 100%);
}
@media all and (min-width: 48em) {
  .tnew .tn-print-receipt-button:before {
    -webkit-clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 22px) 0%, 100% 50%, calc(100% - 22px) 100%, 0% 100%);
  }
}
@media all and (min-width: 48em) {
  .tnew .tn-print-receipt-button:hover:after,
  .tnew .tn-print-receipt-button:focus:after,
  .tnew .tn-print-receipt-button.is-current:after {
    -webkit-transform: matrix(1, 0, 0, 1, 8, -8);
        -ms-transform: matrix(1, 0, 0, 1, 8, -8);
            transform: matrix(1, 0, 0, 1, 8, -8);
  }
}
.tnew .tn-print-receipt-button__icon {
  width: 1rem;
  height: 1rem;
  margin: 0 0.3125rem 0 0;
  padding: 0;
  background: none;
  color: inherit;
}
.tnew .tn-area-nav__list-item {
  padding: 0.625rem 1.125rem;
  border-radius: 3px;
}
.tnew .tn-area-nav__list-item[aria-current="page"] {
  background-color: #DFDFC7;
}
.tnew .tn-area-nav__list-item a:hover,
.tnew .tn-area-nav__list-item a:focus {
  text-decoration: underline !important;
}
/*# sourceMappingURL=../../build/css/maps/tnew.css.map */