:root {
  --button-brand-color: #a60e1f;
  --button-brand-hover: #7f1117;
  --button-cut-shape: polygon(
    1% 8%,
    5% 4%,
    27% 5%,
    49% 3%,
    73% 5%,
    97% 7%,
    99% 14%,
    98% 88%,
    94% 96%,
    70% 94%,
    47% 97%,
    4% 93%,
    1% 87%
  );
}

/* Keep every primary action aligned with the header button. */
:is(
  .nav-cta,
  .btn-primary,
  .btn-sm-primary,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .book-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .special-request-submit button,
  .button,
  .btn
):not(:disabled) {
  background: var(--button-brand-color) !important;
  border-color: var(--button-brand-color) !important;
  color: #fff !important;
}

:is(
  .nav-cta,
  .btn-primary,
  .btn-sm-primary,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .book-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .special-request-submit button,
  .button,
  .btn
):not(:disabled):hover {
  background: var(--button-brand-hover) !important;
  border-color: var(--button-brand-hover) !important;
}

/* Secondary buttons keep their lighter fill while using the same brand tone. */
:is(.btn-outline, .btn-sm-outline, .back-btn, .wb-offer-share-btn):not(.hero .btn-outline) {
  color: var(--button-brand-color);
  border-color: var(--button-brand-color);
}

:is(
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .book-btn,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .wb-offer-share-btn,
  .wb-result-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .back-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .button,
  .btn
):not(.password-toggle):not(.wb-dlg-x):not(.wb-share-sheet-backdrop):not(.drawer-toggle) {
  border-radius: 10px 12px 9px 11px !important;
  clip-path: var(--button-cut-shape);
  filter: drop-shadow(0 4px 8px rgba(23, 23, 23, .08));
}

:is(
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .book-btn,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .wb-offer-share-btn,
  .wb-result-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .back-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .button,
  .btn
):not(.password-toggle):not(.wb-dlg-x):not(.wb-share-sheet-backdrop):not(.drawer-toggle):hover {
  transform: translateY(-1px);
  filter: brightness(1.02) drop-shadow(0 6px 10px rgba(23, 23, 23, .1));
}

:is(
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .book-btn,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .wb-offer-share-btn,
  .wb-result-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .back-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .button,
  .btn
):not(.password-toggle):not(.wb-dlg-x):not(.wb-share-sheet-backdrop):not(.drawer-toggle):active {
  transform: translateY(0) rotate(0);
}

/* Final clean button finish: consistent geometry without the old irregular cutout. */
:is(
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .book-btn,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .wb-offer-share-btn,
  .wb-result-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .back-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .button,
  .btn
):not(.password-toggle):not(.wb-dlg-x):not(.wb-share-sheet-backdrop):not(.drawer-toggle) {
  border-radius: 12px !important;
  clip-path: none !important;
  filter: none;
  box-shadow: 0 6px 16px rgba(23, 23, 23, .1);
}

:is(
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .book-btn,
  .latest-offers-more-btn,
  .latest-offer-btn,
  .btn-wa,
  .btn-contact,
  .hotel-price-cta,
  .program-offers-toggle,
  .wb-offer-share-btn,
  .wb-result-btn,
  .home-filter-reset,
  .filter-reset,
  .catalog-reset,
  .catalog-help a,
  .footer-cta,
  .back-btn,
  .promo-card-cta,
  .auth-body button[type='submit'],
  .button,
  .btn
):not(.password-toggle):not(.wb-dlg-x):not(.wb-share-sheet-backdrop):not(.drawer-toggle):hover {
  filter: none;
  box-shadow: 0 10px 22px rgba(23, 23, 23, .14);
}
