/* Shared OpalMoments 3D action buttons. Loaded after page styles. */
:root {
    --opal-button-top: #ef58a0;
    --opal-button-mid: #d92f83;
    --opal-button-bottom: #a51e65;
    --opal-button-shadow: rgba(122, 24, 82, .34);
}

:is(
    .btn, .book-btn, .about-btn, .corporate-primary-button, .corporate-secondary-button,
    .experience-primary-btn, .experience-secondary-btn, .callback-submit,
    .callback-feedback-close, .search-enquiry-submit, .section-filter-toggle, .section-filter-apply,
    .section-filter-reset, .cart-link-btn, .footer-show-more, .landing-offer-btn,
    .panel-button, .table-link:not(.table-link-danger), .table-actions > a,
    .contact-form button[type="submit"], [data-product-callback-submit],
    .experience-callback-fields button[type="submit"]
):not(.panel-button-danger):not(.panel-confirm-delete-btn) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(180deg, var(--opal-button-top) 0%, var(--opal-button-mid) 46%, var(--opal-button-bottom) 100%) !important;
    box-shadow:
        inset 0 -4px 7px rgba(91,13,59,.2),
        0 7px 15px var(--opal-button-shadow) !important;
    text-shadow: 0 1px 2px rgba(74,10,48,.34);
    font-weight: 800;
    transform: translateY(0);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
    cursor: pointer;
}

:is(
    .btn, .book-btn, .about-btn, .corporate-primary-button, .corporate-secondary-button,
    .experience-primary-btn, .experience-secondary-btn, .callback-submit,
    .callback-feedback-close, .search-enquiry-submit, .section-filter-toggle, .section-filter-apply,
    .section-filter-reset, .cart-link-btn, .footer-show-more, .landing-offer-btn,
    .panel-button, .table-link:not(.table-link-danger), .table-actions > a,
    .contact-form button[type="submit"], [data-product-callback-submit],
    .experience-callback-fields button[type="submit"]
):not(.panel-button-danger):not(.panel-confirm-delete-btn)::before {
    display: none;
    content: none;
}

:is(
    .btn, .book-btn, .about-btn, .corporate-primary-button, .corporate-secondary-button,
    .experience-primary-btn, .experience-secondary-btn, .callback-submit,
    .callback-feedback-close, .search-enquiry-submit, .section-filter-toggle, .section-filter-apply,
    .section-filter-reset, .cart-link-btn, .footer-show-more, .landing-offer-btn,
    .panel-button, .table-link:not(.table-link-danger), .table-actions > a,
    .contact-form button[type="submit"], [data-product-callback-submit],
    .experience-callback-fields button[type="submit"]
):not(.panel-button-danger):not(.panel-confirm-delete-btn):hover {
    border: 0 !important;
    outline: 0 !important;
    filter: saturate(1.08) brightness(1.04);
    transform: translateY(-2px);
    box-shadow:
        inset 0 -4px 7px rgba(91,13,59,.18),
        0 11px 22px rgba(122,24,82,.38) !important;
}

:is(
    .btn, .book-btn, .about-btn, .corporate-primary-button, .corporate-secondary-button,
    .experience-primary-btn, .experience-secondary-btn, .callback-submit,
    .callback-feedback-close, .search-enquiry-submit, .section-filter-toggle, .section-filter-apply,
    .section-filter-reset, .cart-link-btn, .footer-show-more, .landing-offer-btn,
    .panel-button, .table-link:not(.table-link-danger), .table-actions > a,
    .contact-form button[type="submit"], [data-product-callback-submit],
    .experience-callback-fields button[type="submit"]
):not(.panel-button-danger):not(.panel-confirm-delete-btn):active {
    border: 0 !important;
    outline: 0 !important;
    transform: translateY(4px);
    box-shadow:
        inset 0 2px 4px rgba(76,8,47,.24),
        0 4px 9px rgba(122,24,82,.25) !important;
}

:is(.panel-button-danger, .panel-confirm-delete-btn, .table-link-danger, .cart-remove-btn, .action-link-delete) {
    position: relative;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ef6472 0%, #d43a4c 50%, #a91f32 100%) !important;
    box-shadow: inset 0 -4px 7px rgba(91,10,25,.2), 0 7px 15px rgba(128,22,40,.28) !important;
    text-shadow: 0 1px 2px rgba(72,8,20,.32);
    font-weight: 800;
    transition: transform .16s ease, box-shadow .16s ease !important;
}

:is(.panel-button-danger, .panel-confirm-delete-btn, .table-link-danger, .cart-remove-btn, .action-link-delete):active {
    border: 0 !important;
    outline: 0 !important;
    transform: translateY(4px);
    box-shadow: inset 0 2px 4px rgba(76,8,22,.25), 0 4px 9px rgba(128,22,40,.22) !important;
}

:is(.panel-button-danger, .panel-confirm-delete-btn, .table-link-danger, .cart-remove-btn, .action-link-delete):hover,
:is(.panel-button-danger, .panel-confirm-delete-btn, .table-link-danger, .cart-remove-btn, .action-link-delete):focus {
    border: 0 !important;
    outline: 0 !important;
}

:is(.panel-button, .btn, .book-btn, .experience-primary-btn, .experience-secondary-btn, .callback-submit, .search-enquiry-submit):disabled {
    opacity: .55;
    filter: grayscale(.25);
    transform: none;
    cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
    :is(.btn, .book-btn, .about-btn, .corporate-primary-button, .corporate-secondary-button,
    .experience-primary-btn, .experience-secondary-btn, .callback-submit,
    .search-enquiry-submit, .section-filter-apply, .section-filter-reset,
    .cart-link-btn, .panel-button, .table-link) {
        transition: none !important;
    }
}
