* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Open Sans", Arial, sans-serif;
    line-height: 1.6;
}

header {
    background: #333;
    color: white;
    padding: 0 1rem;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo a {
    color: white;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
}

.nav-menu {
    display: flex;
    list-style: none;
}

.nav-menu li {
    margin-left: 2rem;
}

.nav-menu a {
    color: white;
    text-decoration: none;
}

.hero {
    text-align: center;
    padding: 4rem 2rem;
    background: #f4f4f4;
}

.features {
    padding: 4rem 2rem;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

footer {
    background: #333;
    color: white;
    text-align: center;
    padding: 2rem;
}

/* Layout helpers */
.container { width: min(1100px, 92%); margin-inline: auto; }

/* Header / Navbar FR */
header { background: #ffffff; color: var(--color-text); }
.navbar .nav-link { color: #0088CC; font-size: 12px; padding: .35rem .55rem; white-space: nowrap; font-family: "Open Sans", Arial, sans-serif; display: inline-block; transition: background-color .12s ease, color .12s ease; }
.navbar .nav-link:hover, .navbar .nav-link.active { background: #0d8bd8; color: #fff !important; border-radius: 2px; }
.navbar-brand img { display:block; height:47px; }
.navbar .btn.bg-transparent { background: transparent !important; }
.lang-trigger .flag-icon { width: 22px; height: 16px; display:inline-block; border: 1px solid #ff6b6b; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); margin-right: 6px; }
.lang-trigger .caret-blue { color: #0d8bd8; font-size: 16px; line-height: 1; }
/* ensure center list doesn't shrink oddly */
.navbar-nav { gap: .5rem; }

/* Mobile header controls */
.mobile-controls .menu-toggle { 
    width: 44px; 
    height: 44px; 
    border-radius: 4px; 
    background: #0d8bd8; 
    border: none; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    padding: 0;
}
.mobile-controls .menu-toggle:focus { box-shadow: 0 0 0 .2rem rgba(13,139,216,.25); }
.mobile-controls .menu-icon { 
    width: 18px; 
    height: 2px; 
    background: #fff; 
    position: relative; 
    display: inline-block;
}
.mobile-controls .menu-icon::before,
.mobile-controls .menu-icon::after { 
    content: ""; 
    position: absolute; 
    left: 0; 
    width: 18px; 
    height: 2px; 
    background: #fff; 
}
.mobile-controls .menu-icon::before { top: -6px; }
.mobile-controls .menu-icon::after { top: 6px; }

/* Make nav items center on desktop but full-width on mobile */
@media (max-width: 991.98px) {
    #mainNavbar { width: 100%; }
    .navbar-nav { padding: .5rem 0; }
}

/* Minor tweaks */
.hero { text-align: center; padding: 4rem 2rem; background: #f4f4f4; }
.features { padding: 4rem 2rem; }
.brands { padding-left: 40px !important; padding-right: 40px !important; }
.brands .owl-carousel .item { display:block; height: 70px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.brands-2 .owl-carousel .item { display:block; height: 70px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.brands-2 .owl-dots { margin-top: 12px; display:block; text-align:center; }
.brands-2 .owl-theme .owl-dots .owl-dot span { background: #cdd3d9; }
.brands-2 .owl-theme .owl-dots .owl-dot.active span { background: #0077b6; }
.brands .owl-theme .owl-dots .owl-dot span { background: #cdd3d9; }
.brands .owl-theme .owl-dots .owl-dot.active span { background: #0077b6; }
.brands .owl-dots { margin-top: 12px; display:block; text-align:center; }
.brands .owl-dot span { width:8px; height:8px; }


/* Language modal styling */
.lang-modal .form-select-lg { font-size: 1rem; padding: .6rem .9rem; }
.lang-modal .fw-semibold { font-weight: 600; }

/* Hero landing */
.hero-landing { min-height: 594px; }
.hero-landing .hero-bg { position:absolute; inset:0; background: url('/images/hero/hero-bg.jpg') top center/cover no-repeat; }
.hero-landing .hero-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.25)); }
.hero-landing .hero-content { position:relative; padding: 0; min-height: 520px; }
.hero-landing .container.hero-content { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; }
.hero-kicker { font-size: 1.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; opacity:.95; }
.hero-title { font-size: 3.5rem; font-weight: 800; margin: .25rem 0; }
.hero-sub { font-size: 2rem; font-weight: 700; opacity:.95; }
.text-maroc { color: #e11d48; }
.store-badge { height: 44px; width: auto; display:block; }
.hero-stores { margin-left: 0; padding-left: 0; }
.hero-cta { margin-right: 0; padding-right: 0; }
.hero-cta .btn-success { background-color: #28a745; border-color: #28a745; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.hero-cta .btn-success:hover { background-color: #22963d; border-color: #22963d; }
.hero-cta .btn-success { font-family: "Open Sans", Arial, sans-serif; font-size: 13px; font-weight: bold; padding: 16px 15px 16px 30px; padding-right: 2.25rem; position: relative; }
.hero-cta .btn-success::after { content: none; }
.hero-cta .btn-success .cta-arrow { font-style: normal; font-size: 18px; margin-left: 10px; }

/* Hero mobile adjustments */
@media (max-width: 991.98px) {
  .hero-landing { min-height: 420px; }
  .hero-landing .hero-content { min-height: 360px; padding: 0 16px; }
  .hero-stores { 
      position: static; 
      left: auto; 
      bottom: auto; 
      display:flex; 
      flex-direction: column; 
      align-items: center; 
      justify-content:center; 
      gap: 10px; 
      margin-top: 12px; 
  }
  .hero-cta { position: static; right: auto; bottom: auto; margin-top: 18px; }
  .store-badge { height: 40px; }
  .hero-cta .btn-success { padding: 12px 18px; font-size: 14px; }

  /* Mobile typography: reduce headings only */
  h1 { font-size: 1.9rem !important; }
  h2 { font-size: 1.6rem !important; }
  h3 { font-size: 1.35rem !important; }
  .hero-title { font-size: 2.2rem; }
  .hero-sub { font-size: 1.4rem !important; }
  .hero-kicker { font-size: 1.1rem !important; }
  .signup-title { font-size: 1.6rem !important; }
  .stats-head { font-size: 1.5rem !important; }
  .title-section .section-title { font-size: 1.6rem !important; line-height: 1.2; }
  .section-subtitle { font-size: 1.6rem !important; }
  .section-description { font-size: 1.1rem !important; line-height: 1.6; }
  .text-color-dark { font-size: 1.6rem !important; }
}

/* push stores and CTA a bit lower */
.hero-stores { position: absolute; left: 50px; bottom: 0; margin: 0; padding-left: 0; }
.hero-cta { position: absolute; right: 0; bottom: 0; margin: 0; padding-right: 0; }


/* Signup section */
.plan-card { background:#fff; border:1px solid #e5e7eb; border-radius: 2px; overflow:hidden; }
.plan-card__header { background:#232a31; color:#fff; font-weight:700; padding:.85rem 1rem; font-size:1rem; letter-spacing:.5px; }
.plan-card__hero { background:#f3f5f7; padding:1.25rem 1rem; }
.plan-card__body { padding:0; margin:0; }
.plan-card .plan-features { margin:0; }
.plan-card .plan-features li { padding:1rem 1rem; border-top:1px solid #eceff4; font-size:.98rem; color:#667084; }
.plan-card .plan-features li:first-child { border-top: 1px solid #eceff4; }
.plan-card .label { color:#2b2f33; font-weight:700; font-size:1.05rem; letter-spacing:.4px; margin-bottom:.4rem; }
.plan-card .price { color:#0d8bd8; font-size:2.8rem; font-weight:800; letter-spacing:.8px; margin:.25rem 0 .6rem; }
.plan-card .sub { color:#2b2f33; font-weight:700; font-size:.95rem; }
.plan-card .features li { padding:1rem 1rem; border-top:1px solid #eceff4; font-size:.98rem; color:#667084; }
.placeholder-line { height: 38px; background:#f1f4f8; border:1px solid #e6e8ee; border-radius:4px; }
/* Right side typography & spacing */
.signup-title { font-weight: 800; font-size: 2rem; letter-spacing:.2px; color:#1f2937; }
.signup-desc { color:#6b7280; font-size:1rem; margin-bottom:1.25rem; }
.signup-subline { color:#6b7280; }
.signup-subline strong { color:#1f2937; }
.signup-cta { background:#0d8bd8; border-color:#0d8bd8; font-weight:700; }
.signup-cta:hover { background:#0b7bc2; border-color:#0b7bc2; }
.signup-info .signup-title, .signup-info .signup-desc, .signup-info .signup-subline { text-align: center; }

/* Features grid */
.features-info { margin-top: 2rem; }
.text-primary { color:#0d8bd8 !important; }
.features-cta { background:#0d8bd8; border-color:#0d8bd8; font-weight:700; margin-top: 1rem; }
.features-cta:hover { background:#0b7bc2; border-color:#0b7bc2; }
.feature-item { padding: .5rem .25rem; text-align:left; display:flex; gap:.75rem; align-items:flex-start; }
.feature-icon { width:28px; height:28px; color:#0d8bd8; flex:0 0 28px; margin-top:.2rem; }
.feature-content { flex: 1 1 auto; }
.feature-title { margin:0 0 .15rem 0; }
.feature-title { font-weight:700; color:#1f2937; font-size:1rem; margin-bottom:.25rem; }
.feature-text { color:#6b7280; font-size:.95rem; }

/* Stats */
.stats-head { color:#1f2937; font-weight:400; font-size:2rem; }
.stat-item { padding:1rem 0; }
.stat-icon { font-size:34px; color:#0d8bd8; margin-bottom:.25rem; }
.stat-number { font-weight:800; font-size:2.4rem; color:#1f2937; }
.stat-label { color:#1f2937; margin-top:.25rem; }
.stat-sub { font-size: .95rem; }

/* Contact */
.contact-title { color:#1f2937; font-weight:700; margin-bottom:.5rem; }
.contact-text { color:#6b7280; }
.contact-info { background: rgba(247, 247, 247, 0.5); }

/* Footer */
.site-footer { border-top: 1px solid #e5e7eb; background:#fff; }
.site-footer .footer-copy { color:#6b7280; font-size:.95rem; }
.social-btn { display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; color:inherit; background:transparent; }
.social-btn .fa-facebook-f { color:#1877f2; }
.social-btn .fa-twitter { color:#1da1f2; }
.social-btn .fa-youtube { color:#ff0000; }
.social-btn .fa-instagram { color:#e4405f; }

/* How It Works Page */
.title-section { 
    background-color: #F7F7F7;
    border-bottom: 5px solid #F4F4F4;
    border-top: none;
    background-color: #F7F7F7;
    border-bottom: 5px solid #F4F4F4;
    border-top: none;
    min-height: 50px;
    padding: 8px 0;
}
.title-section .section-title { 
    font-size: 2.2em; 
    font-weight: 300; 
    color: #212529; 
    margin-bottom: 0; 
    letter-spacing: -0.05em; 
    line-height: 42px; 
    margin-top: 16px;
}

.subtitle-description-section {
    background: white;
    padding: 40px 0;
    text-align: center;
    margin-top: 3rem;
}

.section-subtitle {
    font-size: 2.6em;
    font-weight: 500;
    background: linear-gradient(to right, #000000, #000000);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 20px;
    line-height: 1.3;
}
.section-subtitle span {
    background: linear-gradient(to right, #007bff, #0056b3);
    -webkit-background-clip: text;
    color: transparent;
}
.section-description {
    font-size: 2.2em;
    color: #6c757d;
    line-height: 42px;
    margin-bottom: 0;
}

.section-description strong {
    color: #007bff;
    font-weight: 600;
}

.how-it-works-section { background: white; }

.step-card { padding: 2rem 1rem; height: 100%; }
.step-number { 
    font-size: 4rem; 
    font-weight: 900; 
    line-height: 1; 
    margin-bottom: 1rem; 
    display: inline-block;
}
.step-1 { color: #E36159; }
.step-2 { color: #0088CC; }
.step-3 { color: #fd7e14; }
.step-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; }
.step-description { color: #64748b; line-height: 1.6; }

.bottom-text { font-size: 2.0em; color: #64748b; letter-spacing: -.05em;}
.bottom-text strong { color: #0088CC; }
.btn-comment { 
    background-color: #0088CC !important;
    border-color: #0088CC #0088CC #006699 !important;
    color: #FFF !important;
    border-radius: 0;
}

/* CTA Section */
.cta-section {
    background-color: #f5f5f5;
    padding: 60px 0;
}

.cta-title {
    font-size: 1.8em;
    font-weight: 400;
    color: #212529;
    margin-bottom: 9px;
    line-height: 24px;
    letter-spacing: -.05em;
}

.cta-brand {
    font-weight: 700;
    color: #212529;
}

.cta-description {
    font-size: 1.2em;
    color: #777;
    line-height: 26px;
    margin: 0 0 20px;
}

/* CTA Arrow */
.arrow.hlb {
    display: block !important;
    animation-name: rotateInUpLeft;
    animation-duration: 1s;
    animation-fill-mode: both;
    background: transparent url('../images/arrows.png') no-repeat 0 0;
    background-position: -209px -101px;
    width: 120px;
    height: 47px;
    position: absolute;
    top: -40px;
    left: 70%;
    animation-delay: 100ms;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform-origin: 0px 47px;
    opacity: 1;
}

@keyframes rotateInUpLeft {
    from {
        opacity: 0;
        transform: rotate3d(0, 0, 1, -45deg);
        transform-origin: left bottom;
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transform-origin: left bottom;
    }
}

.appear-animation {
    opacity: 0;
}

.appear-animation-visible {
    opacity: 1;
}

.btn-create-account {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: white !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 12px 30px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

.btn-create-account:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
}

.app-title {
    font-size: 1.4em;
    font-weight: 700;
    color: #212529;
    margin: 0 0 14px 0;
    letter-spacing: -.05em;
}

.app-subtitle {
    font-size: 1.1em;
    font-weight: 600;
    color: #777;
    line-height: 26px;
    margin: 0 0 20px;
}

.app-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.app-store-btn {
    display: inline-block;
    text-decoration: none;
}

.app-store-img {
    height: 50px;
    transition: transform 0.2s ease;
}

.app-store-img:hover {
    transform: scale(1.05);
}

/* About Page */
.breadcrumb-nav {
    margin-top: 0;
    display: block;
}

.breadcrumb {
    background: none;
    padding: 0;
    margin: 0;
    font-size: 0.85em;
}

.breadcrumb-item a {
    color: #007bff;
    text-decoration: none;
}

.breadcrumb-item.active {
    color: #6c757d;
    font-weight: 400;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: #6c757d;
}

.about-page {
    background: white;
}

.sidebar-nav {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    position: sticky;
    top: 20px;
}

.nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-item {
    margin-bottom: 8px;
}

.nav-item:last-child {
    margin-bottom: 0;
}

.nav-link {
    display: block;
    padding: 8px 12px;
    color: #6c757d;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.nav-item.active .nav-link {
    color: #212529;
    background: #f8f9fa;
    font-weight: 500;
}

.about-carousel {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.about-carousel .owl-item img {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    max-width: 100%;
    height: auto;
}

/* Force Owl Carousel dots to be visible */
.about-carousel .owl-dots {
    position: absolute !important;
    bottom: -40px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
}

.about-carousel .owl-dots .owl-dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #6c757d !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.about-carousel .owl-dots .owl-dot.active {
    background: #007bff !important;
}

/* Override any Owl Carousel default hiding */
#about-carousel .owl-dots {
    display: flex !important;
}

#about-carousel .owl-dot {
    display: block !important;
}

.title-qui-sommes-nous {
    font-size: 2.2em;
    font-weight: 300;
    color: #212529;
    margin-bottom: 2rem;
    line-height: 42px;
    letter-spacing: -.05em;
}
.title-qui-sommes-nous strong {
    font-weight: 700;
}
.content-text {
    margin-top: 1.5rem;
    font-size: 1.2rem;
    letter-spacing: -.05em;
    line-height: 1.8rem;
    color: #777;
}

.content-text p {
    margin-bottom: 1.5rem;
}

.faq-section {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #e9ecef;
}

.faq-title {
    font-size: 1.8rem;
    font-weight: 400;
    color: #212529;
    margin-bottom: 1.5rem;
}

.faq-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.faq-item {
    margin-bottom: 20px;
}

.faq-question {
    display: flex;
    align-items: flex-start;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: none;
}

.faq-question:hover {
    background: transparent;
}

.faq-icon {
    width: 24px;
    height: 24px;
    background: #0088CC;
    color: white;
    font-weight: bold;
    font-size: 16px;
    margin-right: 12px;
    line-height: 24px;
    text-align: center;
    flex-shrink: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.faq-text {
    color: #212529;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.4;
    flex: 1;
    margin-top: 2px;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: transparent;
    border: none;
    margin-top: 0;
    padding-left: 0;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer ul {
    list-style: none;
    padding: 0;
    margin: 12px 0 0 0;
}

.faq-answer li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    color: #777;
    font-size: 14px;
    line-height: 24px;
}

.faq-answer li::before {
    content: "▶";
    position: absolute;
    left: 0;
    top: 0;
    color: #0088CC;
    font-size: 10px;
    line-height: 1.6;
}

.faq-answer p {
    margin: 12px 0 0 0;
    color: #777;
    font-size: 14px;
    line-height: 26px;
}
.hr.solid {
    background: rgba(0, 0, 0, 0.06);
}
.solid.tall {
    margin: 44px 0;
}

/* About Sections */
.about-section {
    background: white;
}

.histoire-content .section-title {
    font-size: 2.2em;
    font-weight: 300;
    line-height: 42px;
    color: #2e353e;
    margin-bottom: 2rem;
    letter-spacing: -.05em;
}

.histoire-text p {
    color: #777;
    font-size: 14px;
    line-height: 26px;
    margin: 0 0 20px;
}

.timeline {
    padding-left: 0;
    list-style: none;
}

.timeline-item {
    margin-bottom: 20px;
    border-bottom: 1px solid #eaeaea;
}

.timeline-year {
    font-weight: 700;
    color: #0088CC;
    font-size: 1.1em;
    margin-right: 8px;
    flex-shrink: 0;
    min-width: 60px;
}

.timeline-text {
    color: #777;
    font-size: 14px;
    line-height: 24px;
    flex: 1;
}

/* Mission et Vision Section */
.mission-vision-content {
    padding: 40px 0;
}

.mission-column, .vision-column {
    padding: 20px;
}

.mission-icon, .vision-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 3px solid #007bff;
    background: transparent;
}

.mission-icon i, .vision-icon i {
    font-size: 32px;
    color: #007bff;
}

.mission-title, .vision-title {
    font-size: 2.2em;
    font-weight: 300;
    color: #2e353e;
    margin-bottom: 1.5rem;
    line-height: 42px;
    letter-spacing: -.05em;
}

.mission-text, .vision-text {
    color: #777;
    font-size: 14px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 0;
}

/* Direction Section */
.direction-content {
    padding: 40px 0;
}

.direction-content .section-title {
    font-size: 2.2em;
    font-weight: 300;
    color: #2e353e;
    margin-bottom: 2rem;
    letter-spacing: -.05em;
}

.ceo-image img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border: 4px solid #f8f9fa;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.testimonial-quote {
    font-family: 'Playfair Display', serif;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

.quote-start, .quote-end {
    font-size: 4rem;
    color: #212529;
    position: absolute;
    line-height: 1;
    z-index: 1;
}

.quote-start {
    top: 10px;
    left: 10px;
}

.quote-end {
    bottom: 10px;
    right: 10px;
}

.quote-text {
    padding: 0 40px;
    font-size:1.2em;
    color: #777;
    margin: 0 0 20px;
    position: relative;
    z-index: 2;
    line-height: 26px;
}

.testimonial-attribution {
    margin-top: 2rem;
}

.ceo-name {
    font-size: 1rem;
    font-weight: 600;
    color: #111;
    margin-bottom: 2px;
}

.ceo-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #666;
    margin-bottom: 0;
}

/* Section Separator */
.section-separator {
    height: 2px;
    background-color: #dee2e6;
    margin: 60px 0;
    border: none;
}

/* Partenaires & Nos Entreprises Sections */
.text-color-dark {
    font-size: 2.2em;
    font-weight: 300;
    line-height: 42px;
    margin: 0 0 32px 0;
}
.text-partenaires {
    color: #777;
    line-height: 26px;
    margin: 0 0 20px;
    font-size: 14px;
}

.content-grid {
    margin-bottom: 1.5rem !important;
    border-collapse: collapse;
}

.content-grid-dashed {
    padding: 20px;
}

.content-grid-row {
    margin: 0;
    border-bottom: 1px dashed #dee2e6;
}

.content-grid-row:last-child {
    border-bottom: none;
}

.content-grid-item {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    border-right: 1px dashed #dee2e6;
}

.content-grid-item:last-child {
    border-right: none;
}

.content-grid-item:hover img {
    filter: grayscale(0%);
}

/* Sticky Header */
.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

body {
    padding-top: 80px; /* Adjust based on header height */
}

/* Sticky Sidebar */
.sticky-sidebar {
    position: sticky;
    top: 100px; /* Below the sticky header */
    z-index: 1020;
}

/* CTA Section Full Width */
.cta-section-full {
}

.cta-content {
    padding: 60px 40px;
}

.cta-main-text {
    text-transform: none;
    color: #212529;
    padding: 0;
    margin: 0 0 9px;
    font-size: 1.8em;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.05em;
}

.cta-main-text strong {
    font-weight: 700;
}

.cta-sub-text {
    font-size: 1.2em;
    font-weight: 400;
    color: #777;
    line-height: 26px;
    margin: 0 0 20px;
}

.cta-button {
    text-align: center;
    position: static;
    margin: 20px auto 25px;
    width: auto;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    background-color: #0088CC !important;
    border-color: #0088CC #0088CC #006699 !important;
    color: #FFF !important;
}

.cta-button:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

/* Contact Page Styles */
.contact-page {
}

.contact-form-container {
}

.contact-form .form-label {
}

.contact-form .form-control{
    width: 100%;
    border: 1px solid #666;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
}
.contact-form .form-select {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    color: #333;
    background: white;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: #0088CC;
    box-shadow: 0 0 0 0.2rem rgba(0, 136, 204, 0.25);
}

.contact-form .form-check-input {
    margin-top: 0.25rem;
}

.contact-form .form-check-label {
    font-size: 14px;
    color: #333;
    margin-left: 8px;
}

.form-check-group {
    display: flex;
    gap: 20px;
    margin-top: 8px;
}

.btn-submit {
    background-color: #0088CC;
    border-color: #0088CC;
    color: white;
    font-weight: 600;
    padding: 12px 30px;
    font-size: 16px;
    transition: all 0.3s ease;
    padding: 0.533rem 0.933rem;
}

.btn-submit:hover {
    background-color: #006699;
    border-color: #006699;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 136, 204, 0.3);
}