.negative-margin-top {
    margin-bottom: -100px !important;
}
.hero-section {
  height: 800px;
  margin-top:-100px;
}


section {
    padding-left: 10px;     /* px-6 */
    padding-right: 10px;    /* px-6 */
}
   @media (max-width: 767px) {
      .hero-section {
        height: 620px !important;
		  margin-top:-50px !important;
      }}

@media (min-width: 1024px) {
    section {
        padding-left: 20px;   /* lg:px-8 */
        padding-right: 20px;  /* lg:px-8 */
    }
}
/* .top-section {
  background-image: url('https://jbmdentalsolutions.com/wp-content/uploads/2025/11/dentist-s-office-interior-with-modern-chair-special-dentisd-equipment-interior-stomatology-clinic-1.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  margin-top: -100px;
} */


.bg-light-blue {
  background-color: #E7EBF6;
}

.choose-us-card {
  background-image: url('https://jbmdentalsolutions.com/wp-content/uploads/2025/11/Frame-1000001769.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.color-primary{
    color: #2B4CA1;
}

/* Socail media and marketing- hero section*/
.hero-img-social-and-marketing{
    display:block;
    margin:0 auto;
    width:100%;
    height:750px !important;
    max-height:90vh;
    object-fit:cover;
    object-position:bottom;
}

@media (max-width:768px){
    .hero-img-social-and-marketing{
        height:300px !important;
        object-fit:contain;
    }
}

@media (min-width:1024px){
    .hero-img-social-and-marketing{
        max-height:68vh;
    }
}

@media (min-width:1280px){
    .hero-img-social-and-marketing{
        max-height:72vh;
    }
}



.jbm-contact-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.jbm-contact-form input,
.jbm-contact-form textarea {
    width: 100%;
    padding: 16px 20px;
    background: #E7EBF6;       /* White background */
    border: 1px solid #e5e7eb; /* Light gray border */
    border-radius: 16px;        /* Rounded corners */
    font-size: 16px;
    color: #111827;
    transition: all 0.3s ease;
    font-family: poppins, sans-serif;
}

.jbm-contact-form input::placeholder,
.jbm-contact-form textarea::placeholder {
    color: #9ca3af;
}

.jbm-contact-form input:focus,
.jbm-contact-form textarea:focus {
    outline: none;
    border-color: #29499A;
    box-shadow: 0 0 0 3px rgba(41, 73, 154, 0.2);
    background: #fff;
}

.jbm-contact-form textarea {
    resize: none;
    height: 10rem;
}

/* Responsive Grid */
.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 24px;
}

.form-group {
    flex: 1;
    min-width: 100%;
}

@media (min-width: 768px) {
    .form-group {
        min-width: 0;
        flex-basis: calc(50% - 12px);
    }
}

.form-group.full {
    flex: 100%;
}

/* Submit Button */
.form-submit {
    text-align: left;  /* Left aligned like screenshot */
}

.jbm-contact-form input[type="submit"] {
    background: #29499A;
    color: white;
    font-weight: 600;
    font-size: 16px;
    padding: 16px 48px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(41, 73, 154, 0.25);
    transition: all 0.3s ease;
}

.jbm-contact-form input[type="submit"]:hover {
    background: #1e3a7e;
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(41, 73, 154, 0.35);
}


/* CONTACT FORM 7 – FIGMA PERFECT + RESPONSIVE 2 COLUMNS ON LARGE SCREENS */
.custom-contact-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="tel"],
.custom-contact-form textarea {
    width: 100%;
    padding: 16px 20px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    font-size: 16px;
    color: #111827;
    transition: all 0.3s ease;
}

.custom-contact-form input::placeholder,
.custom-contact-form textarea::placeholder {
    color: #9ca3af;
}

.custom-contact-form input:focus,
.custom-contact-form textarea:focus {
    outline: none;
    border-color: #29499A;
    box-shadow: 0 0 0 3px rgba(41, 73, 154, 0.2);
    background: #fff;
}

.custom-contact-form textarea {
    resize: none;
}
.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 24px;
}

.form-group {
    flex: 1;
    min-width: 100%;             
}

@media (min-width: 768px) {     
    .form-group {
        min-width: 0;          
        flex-basis: calc(50% - 12px);   
    }
}

.form-group.full {
    flex: 100%;
}

.form-submit {
    margin-top: 32px;
    text-align: center;
       display: flex;
    justify-content: flex-start;

}

.custom-contact-form input[type="submit"] {
    background: #29499A;
    color: white;
    font-weight: 600;
    font-size: 16px;
    padding: 16px 48px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(41, 73, 154, 0.25);
    transition: all 0.3s ease;
}

.custom-contact-form input[type="submit"]:hover {
    background: #1e3a7e;
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(41, 73, 154, 0.35);
}


.marquee-container {
  overflow: hidden;
  width: 100%;
}
@keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

#marquee-track {
    will-change: transform;
    backface-visibility: hidden;
}

@media (min-width: 1024px) {
    #marquee-track {
        animation: marquee 15s linear infinite;
    }
}

#marquee-track:hover {
    animation-play-state: paused;
}

@media (max-width: 1023px) {
    #marquee-track {
        animation: none !important;
        cursor: grab;
        -webkit-overflow-scrolling: touch;
    }
}

.scrollbar-hide { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}
.scrollbar-hide::-webkit-scrollbar { 
    display: none; 
}

.reviews-arrow-hover:hover{
    background:white;
      color:#2B4CA1;
}

.reviews-arrow-hover:hover svg {
   color:black;
}

/* Scroll Animation Keyframes */
@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(80px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scale-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Apply to elements in view */
.animate-on-scroll {
    view-timeline-name: --element;
    view-timeline-axis: block;
    animation-timeline: view();
    animation-name: fade-up;
    animation-range: entry 20% cover 40%;
    animation-fill-mode: both;
}

.animate-scale {
    view-timeline-name: --element;
    view-timeline-axis: block;
    animation-timeline: view();
    animation-name: scale-in;
    animation-range: entry 20% cover 50%;
    animation-fill-mode: both;
}

/* Stagger children automatically (magic!) */
.animate-group > * {
    animation-delay: calc(var(--index) * 150ms);
}

