/* Fonts (override Bootstrap + template) */
:root{
    /* brand colour – hit both systems */
    --bs-primary: #7f8379;   /* Bootstrap’s token */
    --primary: #7f8379;   /* Template’s token  */
    --bs-font-sans-serif: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

}

/* Body + headings (Bootstrap sets these) */
body{ font-family: var(--bs-font-sans-serif) !important; color:#222; }
h1,h2,h3,h4,h5,h6{
    font-family: 'Comfortaa', sans-serif !important;
}

h1 {
    color: #2c2922;
}

h3 {
    color:#7F8071;
}

h4 {
    color:#DEC48B;
}

p {
    color:#7F8071;
}

/* Buttons (Bootstrap classes) */
.btn-primary{
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #f0f0f0 !important;
}

/* Links */
a{ color: #7f8071 !important; }
a:hover{
    color: #B2B09C !important;
    opacity:.85; }

/* Navbar colours from the template */
.navbar .navbar-nav .nav-link{ color: #7f8071 !important; }
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active{ color:#B2B09C !important; }

.hero-section {
    min-height: 80vh;
    padding-top: 6rem;
    padding-bottom: 6rem;
    display: flex;
    align-items: center;
}

/* === Fix arrow positioning for testimonial carousel === */

/* Make the carousel the positioning context */
.testimonial-carousel{
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

/* Put the nav overlay across the slide and disable flex centering */
.testimonial-carousel .owl-nav{
    position: absolute !important;
    top: 50%;
    left: 0;
    right: 0;
    height: 0;                   /* just an anchor line */
    transform: translateY(-50%);
    display: block !important;   /* override any flex */
    z-index: 5;                  /* above content */
}

/* Place each button absolutely on its side */
.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next{
    position: absolute !important;
    top: 0;
    transform: translateY(-50%);
    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #7f8071 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    cursor: pointer;
    transition: color .2s ease, transform .2s ease, background .2s ease;
}

/* Anchor to true left/right of the carousel */
.testimonial-carousel .owl-nav .owl-prev{ left: -56px; }
.testimonial-carousel .owl-nav .owl-next{ right: -56px; }

/* Hover */
.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover{
    background:#333 !important;
    color:#fff !important;
    transform: translateY(-50%) scale(1.05);
}

/* Keep content below the nav and prevent peeking */
.testimonial-carousel .owl-stage-outer{ overflow: hidden; z-index: 1; }

/* Dots stay below */
.testimonial-carousel .owl-dots{ margin-top: 18px; text-align:center; }
.testimonial-carousel .owl-dots .owl-dot span{
    width: 12px; height: 12px; border-radius: 50%;
    background:#c4c4c4 !important; opacity:.6;
}
.testimonial-carousel .owl-dots .owl-dot.active span{
    background:#7f8071 !important; opacity:1;
}

/* Tighter offsets on small screens */
@media (max-width: 576px){
    .testimonial-carousel .owl-nav .owl-prev{ left: -28px; }
    .testimonial-carousel .owl-nav .owl-next{ right: -28px; }
}
