/*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
*/

/* Fix logo on laptops */
@media (max-width: 1400px) and (min-width: 1200px) {
    .main-logo-hst .wp-block-site-logo img.custom-logo {
        width: 200px !important;
        height: auto !important;
    }
}

/* BANDIT CLINIC PAGE - Erase the structural template top margin on this page ID */
body.page-id-1187 main#wp-skip-link--target,
body.page-id-1187 main.wp-block-group {
    margin-top: 0px !important;
}

/* Erase the inner child layout container padding pushing the image block down */
body.page-id-1187 main#wp-skip-link--target > div.wp-block-group,
body.page-id-1187 main#wp-skip-link--target > .wp-block-group__inner-container {
    padding-top: 0px !important;
    margin-top: 0px !important;
}

/* Constrain and shrink the cover block image element on this page only */
body.page-id-1187 .wp-block-cover {
    max-width: 85% !important; /* Reduces the width of the cover wrapper box */
    min-height: 70vh !important; /* Allows it to shrink vertically if needed */
    max-height: 550px !important; /* Raised slightly for large monitors to prevent extreme cropping */
    margin: 0 auto !important; /* Centers it beautifully inside its 55% column */
    border-radius: 12px; /* Adds a premium soft corner look to match the card */
}

/* LAPTOP TARGET OVERRIDE (1366px Screens)
   Removes strict max-height caps so the cover block matches the 100% height of its row pair */
@media (max-width: 1400px) {
    body.page-id-1187 .wp-block-cover {
        height: 100% !important;
        max-height: 100% !important;
        min-height: 100% !important;
    }
}

/* Ensure the background image engine respects the new constrained dimensions */
body.page-id-1187 .wp-block-cover__image-background {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}
/* END BANDIT CLINIC PAGE  */


/* 141 = opening-soon-forms*/
body:not(.page-id-141):not(.page-id-1090):not(.page-id-1103):not(.page-id-1155) {


    /* --- Add your custom CSS below this line --- */

    /* Targets the checked state of the checkbox and forces the checkmark color to black */
    .page-id-267 .gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before {
        /* Set the color to black and force the override */
        color: #000000 !important;
        /* You may also need to ensure opacity is 1 if the theme is hiding it */
        opacity: 1 !important; 
    }

    /* Include the radio button selector just in case, using the same fix */
    .page-id-267 .gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before {
        color: #000000 !important;
        opacity: 1 !important;
    }


    /*
    * ul 2 columns on desktop
    */
        @media (min-width: 768px) {
        .list-2-column-desktop {
            column-count: 2;
            column-gap: 40px; /* Adjust the space between columns */
        }    

        .taglines-midpage {
            /* If the original size was 24px, 2x is 48px */
            font-size: 68px !important; 
        }

        .benefits-header {
            font-size: 34px !important; 
        }  
        .benefits-list li{
            font-size: 22px !important; 
        }
        .benefits-list-cryofacial-therapy li{
            font-size: 17px !important; 
        }

    }

    /** Tablet styles and small laptop */
    @media (min-width: 768px) and (max-width: 1400px) {

        .no-mobile-stack-compression-sleeves-hero {
            min-height: 550px !important;
        }

        .wp-block-cover.no-mobile-stack-compression-sleeves-hero .wp-block-cover__image-background {
            object-fit: contain !important;
        }

    }


    @media (max-width: 767px) {


        /*  ADD no-mobile-stack  TO THE GROUP */

        .hide-br-on-mobile {
            display: none !important;
        }
        
        /* 1. Force cover blocks to stack, UNLESS they have the .no-mobile-stack class */
        .wp-block-cover:not(.no-mobile-stack) {
            display: flex !important;
            flex-direction: column-reverse !important;
            min-height: auto !important; 
        }

        /* 2. Force text/background out of overlay, UNLESS .no-mobile-stack */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container,
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__background {
            position: static !important;
        }

        /* 3. Remove background and adjust padding, UNLESS .no-mobile-stack */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container {
            background-color: transparent !important;
            padding: 0 20px 40px 20px; /* Top=0, L/R=20, Bottom=40 */
            width: auto !important;
        }
        
    /* * 4. FORCE TEXT TO BE BLACK (FIX)
        * Broken into separate rules to override inline styles.
        */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container h1,
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container h2 {
        color: #111 !important;
        font-size: 26px !important;
        }

        /* This rule specifically targets the paragraph to beat the inline style */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container p {
        color: #111 !important;
        }

        /* This NEW rule targets paragraphs with inline color classes like "has-accent-3-color" */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container p[class*="-color"] {
        color: #111 !important;
        }

        /* 5. Force button to be black, UNLESS .no-mobile-stack */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__inner-container .wp-block-button__link {
            color: #111 !important;
            border-color: #111 !important;
        }

        /* 6. Force image to be a normal block, UNLESS .no-mobile-stack */
        .wp-block-cover:not(.no-mobile-stack) .wp-block-cover__image-background {
        position: static !important;
        width: 100%;
        height: auto;
        object-fit: initial;
        object-position: initial;
        }

        /* 7. NEW, MORE SPECIFIC RULE */
        .wp-block-cover.no-mobile-stack-taglines {
            min-height: 250px !important;
        }


        /* START ALL THE MODALITIES - dwd */

        /* COMPRESSION SLEEVES */
            .wp-block-cover.no-mobile-stack-compression-sleeves {
                min-height: 350px !important;
                margin-top:30px;
            }

            /* This rule *swaps the image* on mobile without breaking the stacking */
            .wp-block-cover.no-mobile-stack-compression-sleeves-hero .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/08/compression-wide.jpg') !important;
                object-fit: cover; 
                
            }
        /* HYPERBARIC OXYGEN CHAMBER */
            .wp-block-cover.no-mobile-stack-oxygen-chamber { 
                min-height: 350px !important;
                margin-top: 30px;
            } 
            /* OXYGEN CHAMBER HERO - mobile image  - ******* class goes on Hero Image Block****** */
            .wp-block-cover.no-mobile-stack-oxygen-chamber-hero .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/OxyRevo-Hard-Hyperbaric-Chambers-web-opt4-scaled-002.jpg') !important;
                object-fit: cover; 
            }       

        /* Cyro Chamber */
            .wp-block-cover.no-mobile-stack-cyro { 
                min-height: 600px !important;
                margin-top: 30px;
            } 
            /* OXYGEN CHAMBER HERO - mobile image  - class goes on Hero Image Block*/
            .wp-block-cover.no-mobile-stack-cryo-hero .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/cyrophit-cryo-chamber-001.jpg') !important;
                object-fit: cover; 
            } 

        /* RED LIGHGT THERAPY BED  */
            .wp-block-cover.no-mobile-stack-red-light-bed .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/redlightbed-wide-mobile.jpg') !important;
                object-fit: cover; 
            } 


        /* ZERO GRAVITY CHAIRS  */
            .wp-block-cover.no-mobile-stack-zero-gravity-chairs .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/zerogravitychair-web-2-mobile-001.jpg') !important;
                object-fit: cover; 
            }         

        /* MASSAGE CHAIRS  */
            .wp-block-cover.no-mobile-stack-massage-chairs .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/Novo-XTPRO_Black_Hero_Model_mobile.jpg') !important;
                object-fit: cover; 
            }         
        /* SOCIAL RELAXIZATION  */
            .wp-block-cover.no-mobile-stack-social-relaxation .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/socia-relaxation-mobile.jpg') !important;
                object-fit: cover; 
            }       
            
        /* BENEFITS ACCROSS ALL MODALITIES */
        #wp--skip-link--target > div > div.wp-block-cover.alignfull > div > div > p > strong > mark {
                color:#000 !important;
            }       


        /* MEDIAL WEIGHT LOSS  */
            .wp-block-cover.no-mobile-medical-weight-loss .wp-block-cover__image-background {
                display: none !important;
            }          

        /* CRYOFACIAL THERAPY  */
            .wp-block-cover.no-mobile-cryofacial-therapy .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/cryofacial-therapy-mobile-001.jpg') !important;
                object-fit: cover; 
            }       


        /* THE REJUVENATOR */
            .wp-block-cover.no-mobile-the-rejuvenator .wp-block-cover__image-background {
                content: url('https://www.banditwellness.com/wp-content/uploads/2025/11/bandit-the-rejuvenator-mobile-001.jpg') !important;
                object-fit: cover; 
            }   

        /* CONTACT PAGE */
            .contact-background-remove img {
                display: none;
            }
            /* TARGETS ALL TEXT ELEMENTS ON PAGE-ID-267 */
            .page-id-267 body, 
            .page-id-267 p, 
            .page-id-267 span, 
            .page-id-267 h1, 
            .page-id-267 h2, 
            .page-id-267 h3, 
            .page-id-267 h4, 
            .page-id-267 h5, 
            .page-id-267 h6,
            .page-id-267 label, /* Targets form labels like (REQUIRED) */
            .page-id-267 input, /* Targets text inside form fields */
            .page-id-267 textarea {
                color: #000000 !important;
            }

            /* TARGETS ALL LINKS ON PAGE-ID-267 */
            .page-id-267 a {
                color: #000000 !important;
            }

            /* TARGETS SPECIFIC GRAVITY FORMS TEXT */
            .page-id-267 .gform_wrapper label,
            .page-id-267 .gform_wrapper .gfield_description {
                color: #000000 !important;
            }
            .page-id-267 ul.wp-block-list li {
                color: #000000 !important;
            }        

            .page-id-267 .gfield_label {
                color: #000000 !important;
            }

            /* Targets the (REQUIRED) span within the form on this page */
            .page-id-267 .gfield_required {
                color: #000000 !important;
            }
            .gform_confirmation_message_1, .gform_confirmation_message {
                color: #000000 !important;
            }
            .gfield_consent_description_1_4 {
                color: #000000 !important;
            }

    }
}


/* Mobile only — Contact page (267) — force Gravity Forms text black
   while NOT on page-id-141 (keeps your wrapper condition) */
@media (max-width: 767px) {

  body:not(.page-id-141).page-id-267 .gform-theme--framework,
  body:not(.page-id-141).page-id-267 .gform-theme--framework label,
  body:not(.page-id-141).page-id-267 .gform-theme--framework .gfield_label,
  body:not(.page-id-141).page-id-267 .gform-theme--framework .gfield_required,
  body:not(.page-id-141).page-id-267 .gform-theme--framework .gfield_description,
  body:not(.page-id-141).page-id-267 .gform-theme--framework input,
  body:not(.page-id-141).page-id-267 .gform-theme--framework textarea,
  body:not(.page-id-141).page-id-267 .gform-theme--framework select {
    color: #000 !important;
  }

  /* Make sure inputs aren’t white-on-white */
  body:not(.page-id-141).page-id-267 .gform-theme--framework input,
  body:not(.page-id-141).page-id-267 .gform-theme--framework textarea,
  body:not(.page-id-141).page-id-267 .gform-theme--framework select {
    background-color: #fff !important;
    border-color: #000 !important;
  }

  /* Placeholder text */
  body:not(.page-id-141).page-id-267 .gform-theme--framework input::placeholder,
  body:not(.page-id-141).page-id-267 .gform-theme--framework textarea::placeholder {
    color: #000 !important;
    opacity: 0.6;
  }
}
/* Mobile only — Contact page (267): override Cover block forcing white text */
@media (max-width: 767px) {

  /* This beats: .wp-block-cover :where(:not(.has-text-color)) { color:#fff } */
  body:not(.page-id-141).page-id-267 .wp-block-cover :where(:not(.has-text-color)) {
    color: #000 !important;
  }

  /* Also catch lists/strong/marks inside cover areas */
  body:not(.page-id-141).page-id-267 .wp-block-cover li,
  body:not(.page-id-141).page-id-267 .wp-block-cover p,
  body:not(.page-id-141).page-id-267 .wp-block-cover h1,
  body:not(.page-id-141).page-id-267 .wp-block-cover h2,
  body:not(.page-id-141).page-id-267 .wp-block-cover h3,
  body:not(.page-id-141).page-id-267 .wp-block-cover strong,
  body:not(.page-id-141).page-id-267 .wp-block-cover mark {
    color: #000 !important;
  }

  /* Links inside the cover */
  body:not(.page-id-141).page-id-267 .wp-block-cover a {
    color: #000 !important;
  }
}


/* CONTACT page (ID 267) — force native checkbox UI */
body:not(.page-id-141).page-id-267 .gform-theme--framework input[type="checkbox"] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  accent-color: #000;
  opacity: 1;
}



.join-mobile-only {
  display: none !important; /* hidden by default (desktop/tablet) */
}

@media (max-width: 767px) {
  .join-mobile-only {
    display: block !important; /* show on mobile */
  }
}


/* Opening Soon Forms (IDs 1090 & 1103) */

/* Opening Soon Forms - Unified Styling (IDs 1090 & 1103) */

/* 1. Main Labels, Descriptions, and Sub-labels (First/Last) */
.page-id-1090 .gform_wrapper .gfield_label,
.page-id-1103 .gform_wrapper .gfield_label,
.page-id-1090 .gform_wrapper .gfield_description,
.page-id-1103 .gform_wrapper .gfield_description,
.page-id-1090 .gform_wrapper .gfield_required,
.page-id-1103 .gform_wrapper .gfield_required,
.page-id-1090 .gform_wrapper .gform-field-label--type-sub,
.page-id-1103 .gform_wrapper .gform-field-label--type-sub {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* 2. Consent Box & Background */
.page-id-1090 .gform_wrapper .gfield_consent_description,
.page-id-1103 .gform_wrapper .gfield_consent_description {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.92) !important;
}

/* 3. Consent Links */
.page-id-1090 .gform_wrapper .gfield_consent_description a,
.page-id-1103 .gform_wrapper .gfield_consent_description a {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* Update Submit Button Color for Pages 1090 & 1103 */
.page-id-1090 .gform_wrapper .gform_footer input[type="submit"],
.page-id-1103 .gform_wrapper .gform_footer input[type="submit"],
.page-id-1090 .gform_wrapper .gform_footer .gform_button,
.page-id-1103 .gform_wrapper .gform_footer .gform_button {
  background-color: #B49B57 !important;
  color: #ffffff !important; /* Ensures the text remains readable white */
  border-color: #B49B57 !important;
}

/* Optional: Add a slight hover effect to keep it interactive */
.page-id-1090 .gform_wrapper .gform_footer input[type="submit"]:hover,
.page-id-1103 .gform_wrapper .gform_footer input[type="submit"]:hover {
  background-color: #967e45 !important; /* A slightly darker shade for the hover state */
  border-color: #967e45 !important;
}


/* 4 DAY LANDING PAGE */
/* ===== Bandit VIP Pass Landing ===== */
/* ================================
   Bandit Modalities Section
   ================================ */

.bandit-modalities {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* Section title */
.bandit-modalities-title {
  text-align: center;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 22px;
  margin-bottom: 32px;
  color: #ffffff;
}

/* 3-column grid */
.bandit-modalities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

/* Reset lists */
.bandit-modalities-grid ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* List items */
.bandit-modalities-grid li {
  position: relative;
  padding: 14px 0 14px 38px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  border-bottom: 2px solid rgba(255,255,255,0.25);
  color: #ffffff;
}

/* Checkbox square */
.bandit-modalities-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  width: 18px;
  height: 18px;
  border: 2px solid #c3a35d; /* gold */
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

/* CHECKED state — SVG checkmark inside box */
.bandit-modalities-grid li.checked::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.5 14.2 3.6 10.4l1.4-1.4 2.5 2.5 7.4-7.4 1.4 1.4z' fill='%23c3a35d'/%3E%3C/svg%3E");
}

/* UNCHECKED state */
.bandit-modalities-grid li.unchecked::before {
  background-image: none;
}

/* Appointment note */
.bandit-modalities-grid li.note {
  border-bottom: none;
  padding-left: 0;
  font-size: 16px;
  font-weight: 500;
  margin-top: 10px;
  color: #d0d0d0;
}

.bandit-modalities-grid li.note::before {
  display: none;
}

/* Responsive */
@media (max-width: 900px) {
  .bandit-modalities-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bandit-modalities-title {
    font-size: 18px;
  }

  .bandit-modalities-grid li {
    font-size: 16px;
  }
}


/* Page 1155 only — remove left/right padding from layout wrapper */
.page-id-1155 #wp--skip-link--target > div > div {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ==========================================
   Gravity Forms - Form ID 5 (match 1090/1103)
   ========================================== */

/* 1) Labels, descriptions, required text, and sub-labels */
#gform_wrapper_5 .gfield_label,
#gform_wrapper_5 .gfield_description,
#gform_wrapper_5 .gfield_required,
#gform_wrapper_5 .gform-field-label--type-sub {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* 2) Consent box & background */
#gform_wrapper_5 .gfield_consent_description {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 6px !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

/* 3) Consent links */
#gform_wrapper_5 .gfield_consent_description a {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* 4) Submit button */
#gform_wrapper_5 .gform_footer input[type="submit"],
#gform_wrapper_5 .gform_footer .gform_button {
  background-color: #B49B57 !important;
  color: #ffffff !important;
  border-color: #B49B57 !important;
}

/* Hover */
#gform_wrapper_5 .gform_footer input[type="submit"]:hover,
#gform_wrapper_5 .gform_footer .gform_button:hover {
  background-color: #967e45 !important;
  border-color: #967e45 !important;
}


/* Force a Gutenberg Image block to be true full viewport width */
.wp-block-image.bandit-fullwidth-image {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.wp-block-image.bandit-fullwidth-image img {
  width: 100vw;
  max-width: 100vw;
  height: auto;
  display: block;
}

/* Mobile only — Page 1155 — add padding to Gravity Form 5 */
@media (max-width: 767px) {
  .page-id-1155 #gform_wrapper_5 {
    padding: 10px;
    box-sizing: border-box;
  }
}


