/**
 * AC Valve Alliance - Global Button Styles
 * 
 * Consolidated button styling for consistent appearance across all blocks.
 * Standard orange: #ee7f2d
 */

/* ============================================
   CSS Variables for Buttons
   ============================================ */
:root {
    --acv-btn-primary-bg: #ee7f2d;
    --acv-btn-primary-color: #ffffff;
    --acv-btn-secondary-bg: #0d4f5c;
    --acv-btn-secondary-color: #ffffff;
    --acv-btn-outline-border: #ee7f2d;
    --acv-btn-outline-color: #ee7f2d;
}

/* ============================================
   Base Button Styles
   ============================================ */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
a[class*="btn"],
[class*="btn"] {
    text-align: center;
}

/* Uniform CTA widths (exclude navigation/pagination/play/utility buttons) */
.acv-btn,
.acv-btn-primary,
.acv-btn-secondary,
.acv-btn-outline,
.acv-btn-white,
.acv-btn-ghost,
.acv-btn-sm,
.acv-btn-lg,
.acv-featured-products-btn,
.acv-brochures-list-btn,
.acv-resources-list-btn,
.acv-load-more-btn,
.acv-simple-cta-button,
.acv-cllr-button,
.acv-enquiry-list-empty-btn,
.acv-team-btn,
.acv-service-team-btn,
.acv-latest-news-btn,
.acv-latest-news-view-all,
.acv-case-study-list-load-more,
.acv-vacancy-apply-btn,
.acv-modal-apply-btn,
.acv-instagram-load-more,
.acv-large-cta-button,
.acv-lpph-btn,
.acv-lpph-cta-btn,
.acv-ilcr-button,
.acv-case-study-btn,
.acv-gp-button,
.acv-tcb-benefits-cta,
.acv-usps-cta,
.acv-benefits-btn,
.acv-contact-form-wrapper input[type="submit"],
.acv-contact-form-wrapper button,
.acv-contact-form-wrapper .wpcf7-submit,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="button"],
.gform_wrapper .gform_footer input[type="button"],
.gform_button {
    width: 245px !important;
    text-align: center;
}

.acv-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
    line-height: 1.4;
    box-sizing: border-box;
}

.acv-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ============================================
   Primary Button (Orange)
   ============================================ */
.acv-btn-primary,
.acv-btn--primary {
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
}

.acv-btn-primary:hover,
.acv-btn--primary:hover {
    background-color: #d96f1f;
}

/* ============================================
   Secondary Button (Teal)
   ============================================ */
.acv-btn-secondary,
.acv-btn--secondary {
    background-color: var(--acv-btn-secondary-bg);
    color: var(--acv-btn-secondary-color);
}

.acv-btn-secondary:hover,
.acv-btn--secondary:hover {
    background-color: #0a3d47;
}

/* ============================================
   Outline Button (Orange border, transparent bg)
   ============================================ */
.acv-btn-outline,
.acv-btn--outline {
    background-color: transparent;
    color: var(--acv-btn-outline-color);
    border: 2px solid var(--acv-btn-outline-border);
}

.acv-btn-outline:hover,
.acv-btn--outline:hover {
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
}

/* ============================================
   White Button (for dark backgrounds)
   ============================================ */
.acv-btn-white,
.acv-btn--white {
    background-color: #ffffff;
    color: var(--acv-btn-primary-bg);
}

.acv-btn-white:hover,
.acv-btn--white:hover {
    background-color: #f0f0f0;
}

/* ============================================
   Ghost Button (transparent with white text)
   ============================================ */
.acv-btn-ghost,
.acv-btn--ghost {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.acv-btn-ghost:hover,
.acv-btn--ghost:hover {
    background-color: #ffffff;
    color: var(--acv-btn-secondary-bg);
}

/* ============================================
   Size Variants
   ============================================ */
.acv-btn-sm,
.acv-btn--sm {
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
}

.acv-btn-lg,
.acv-btn--lg {
    padding: 1rem 2.5rem;
    font-size: 1.125rem;
}

/* ============================================
   Block-Specific Button Aliases
   (Map old class names to new system)
   ============================================ */

/* Featured Products CTA */
.acv-featured-products-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-featured-products-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Brochures List CTA */
.acv-brochures-list-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-brochures-list-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Resources List CTA */
.acv-resources-list-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-resources-list-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Load More Button */
.acv-load-more-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-load-more-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Simple CTA Button */
.acv-simple-cta-button {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-simple-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Content Left Logos Right Button */
.acv-cllr-button {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-cllr-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Enquiry List Empty Button */
.acv-enquiry-list-empty-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-enquiry-list-empty-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Team Buttons (sidebar CTA) */
.acv-team-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-team-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.acv-team-btn-primary {
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
}

.acv-team-btn-primary:hover {
    background-color: #d96f1f;
}

.acv-team-btn-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
}

.acv-team-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Service Team Buttons */
.acv-service-team-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-service-team-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.acv-service-team-btn-primary {
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
}

.acv-service-team-btn-primary:hover {
    background-color: #d96f1f;
}

.acv-service-team-btn-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
}

.acv-service-team-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Latest News View All Button */
.acv-latest-news-btn,
.acv-latest-news-view-all {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-latest-news-btn:hover,
.acv-latest-news-view-all:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Case Study List Load More */
.acv-case-study-list-load-more {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-case-study-list-load-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Current Vacancies Apply Button */
.acv-vacancy-apply-btn,
.acv-modal-apply-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-vacancy-apply-btn:hover,
.acv-modal-apply-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Video Play Buttons - keep original styling but standardize color */
.acv-vlcr-play-button,
.acv-video-play-button {
    background-color: var(--acv-btn-primary-bg);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.acv-vlcr-play-button:hover,
.acv-video-play-button:hover {
    transform: scale(1.1);
    background-color: #d96f1f;
}

/* Three Column Links Arrow Button */
.acv-three-col-arrow {
    background-color: var(--acv-btn-primary-bg);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.acv-three-col-arrow:hover {
    background-color: #d96f1f;
}

/* Instagram Feed Load More */
.acv-instagram-load-more {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-instagram-load-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Benefits/USP Icon Circles */
.acv-benefit-icon,
.acv-usp-icon {
    background-color: var(--acv-btn-primary-bg);
}

/* Global Projects Markers */
.acv-project-marker {
    background-color: var(--acv-btn-primary-bg);
}

/* Large Product Page Header CTA */
.acv-lpph-btn,
.acv-lpph-cta-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 50px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    box-sizing: border-box;
}

.acv-lpph-btn:hover,
.acv-lpph-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

.acv-lpph-btn-primary {
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
}

/* Image Left Content Right Button */
.acv-ilcr-button {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-ilcr-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Case Study Button */
.acv-case-study-btn {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-case-study-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Global Projects Button */
.acv-gp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-gp-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Global Projects Marker */
.acv-gp-marker {
    background-color: var(--acv-btn-primary-bg);
    transition: transform 0.3s ease;
}

.acv-gp-marker:hover {
    transform: scale(1.2);
}

/* Instagram Feed Button */
.acv-instagram-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-instagram-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Team Modal Close Button */
.acv-team-modal-close {
    background-color: var(--acv-btn-primary-bg);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.acv-team-modal-close:hover {
    transform: rotate(90deg);
    background-color: #d96f1f;
}

/* Training Course Body CTA */
.acv-tcb-benefits-cta {
    display: inline-block;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-tcb-benefits-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}


/* Unique Selling Points CTA */
.acv-usps-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    white-space: nowrap;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-usps-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Benefits Button */
.acv-benefits-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    text-decoration: none;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-benefits-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* Benefits Video Play */
.acv-benefits-video-play {
    background-color: var(--acv-btn-primary-bg);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.acv-benefits-video-play:hover {
    transform: scale(1.1);
    background-color: #d96f1f;
}

/* Contact Form Submit Buttons */
.acv-contact-form-wrapper input[type="submit"],
.acv-contact-form-wrapper button,
.acv-contact-form-wrapper .wpcf7-submit {
    width: auto;
    min-width: 160px;
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    background-color: var(--acv-btn-primary-bg);
    color: var(--acv-btn-primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.acv-contact-form-wrapper input[type="submit"]:hover,
.acv-contact-form-wrapper button:hover,
.acv-contact-form-wrapper .wpcf7-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background-color: #d96f1f;
}

/* ============================================
   Reduced Motion Preference
   ============================================ */
@media (prefers-reduced-motion: reduce) {

    .acv-btn,
    .acv-btn-primary,
    .acv-btn-secondary,
    .acv-btn-outline,
    .acv-btn-white,
    .acv-btn-ghost,
    .acv-featured-products-btn,
    .acv-brochures-list-btn,
    .acv-resources-list-btn,
    .acv-load-more-btn,
    .acv-simple-cta-button,
    .acv-cllr-button,
    .acv-enquiry-list-empty-btn,
    .acv-team-btn,
    .acv-service-team-btn,
    .acv-latest-news-btn,
    .acv-latest-news-view-all,
    .acv-case-study-list-load-more,
    .acv-vacancy-apply-btn,
    .acv-modal-apply-btn,
    .acv-vlcr-play-button,
    .acv-video-play-button,
    .acv-instagram-load-more,
    .acv-lpph-btn,
    .acv-lpph-cta-btn,
    .acv-ilcr-button,
    .acv-case-study-btn,
    .acv-gp-button,
    .acv-gp-marker,
    .acv-instagram-button,
    .acv-team-modal-close,
    .acv-tcb-benefits-cta,
    .acv-usps-cta,
    .acv-benefits-btn,
    .acv-benefits-video-play,
    .acv-contact-form-wrapper input[type="submit"],
    .acv-contact-form-wrapper button,
    .acv-contact-form-wrapper .wpcf7-submit {
        transition: none;
    }
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {

    .acv-btn,
    .acv-btn-primary,
    .acv-btn-secondary,
    .acv-featured-products-btn,
    .acv-brochures-list-btn,
    .acv-resources-list-btn,
    .acv-load-more-btn,
    .acv-simple-cta-button,
    .acv-cllr-button {
        padding: 0.6rem 1.5rem;
        font-size: 0.9rem;
    }
}