/* ==========================================================================
   Septolab brand overrides — loaded after the Hubfolio template styles.
   Brand blue taken from the Septolab logo (#0000F8 → #0090F8 gradient,
   #004EFF solid). A slightly lifted tint is used so it reads on dark greys.
   ========================================================================== */
:root {
  --main-color: #1f5cff;
  --brand-blue: #004eff;
  --brand-blue-deep: #0000f8;
  --brand-blue-light: #0090f8;
  --brand-gradient: linear-gradient(135deg, #0000f8 0%, #004eff 55%, #0090f8 100%);
}

.main-color { color: var(--main-color) !important; }
.brand-gradient-text {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Logo sizing (PNG instead of the template SVG) */
.navbar .logo img, .footer-sa .logo img, .hamenu .cont-info .logo img { height: 42px; width: auto; }
@media (max-width: 767px) { .navbar .logo img { height: 34px; } }

/* Loader */
.loader-wrap svg { fill: #0b0b0f; }
.loader-wrap .load-text span { color: var(--main-color); }

/* Cursor + scroll progress */
.cursor { border-color: var(--main-color); }
.progress-wrap svg.progress-circle path { stroke: var(--main-color); }

/* Section labels */
.sub-head { color: var(--main-color) !important; }
h1 .sub-head, .sec-head .sub-head { letter-spacing: 1px; }

/* Buttons */
.butn.butn-bord:hover, .butn.butn-rounded:hover, .navbar .butn:hover {
  background: var(--main-color) !important;
  border-color: var(--main-color) !important;
  color: #fff !important;
}
.butn:hover .icon.invert img, .butn:hover .icon img { filter: brightness(0) invert(1); }
.crv-butn:hover .text { background: var(--main-color); color: #fff; }
.crv-butn:hover .icon { background: var(--main-color); }
.crv-butn:hover .icon img { filter: brightness(0) invert(1); }

/* Home (startup agency) accents */
.header-sa .caption h1 .sub-color, .services-sa .sec-head h4 .sub-color,
.intro-sa .sec-head h4 .sub-color, .work-card .sec-head h4 .sub-color,
.testimonials-sa .sec-head h4 .sub-color, .awards-sa .sec-head h4 .sub-color,
.blog-sa .sec-head h4 .sub-color, .contact-sa .sec-head h4 .sub-color,
.footer-sa .sec-head h4 .sub-color { color: var(--brand-blue-light) !important; }
.testimonials-sa .gl-rate .cont .stars, .testimonials-sa .item .rate .stars { color: var(--main-color); }
.services-sa .item .icon.invert, .clients-sa .cont .icon.invert, .intro-sa .icon.invert { background: transparent; }
.services-sa .item:hover .icon { background: var(--main-color); }
.work-card .tag:hover, .blog-sa .tag:hover, .blog-sa .item:hover .tag { background: var(--main-color); color: #fff; border-color: var(--main-color); }
.awards-sa .item-line:hover .project-title h6 { color: var(--main-color); }
.contact-form .form-group input:focus, .contact-form .form-group textarea:focus,
.contact-pg form input:focus, .contact-pg form textarea:focus,
.apply-form input:focus, .apply-form textarea:focus { border-color: var(--main-color) !important; outline: none; }
.header-sa .caption h1 span.sub-color { color: var(--brand-blue-light) !important; }

/* Inner pages: anything the template put dark text on top of lime now gets white text on blue */
.team-mp .item:hover, .team-mp .item:hover .cont h2, .team-mp .item:hover .cont span, .team-mp .item:hover .social-icon a { color: #fff; }
.services-cst .item .title .list span { color: #fff; }
.intro-iner .content .item span.bred { color: #fff; }
.intro-iner .img-box .states { color: #fff; }
.intro-iner .img-box .states h2, .intro-iner .img-box .states span { color: #fff; }
.pricing-pg .butn:hover { color: #fff !important; }
.serv-details .accordion-item.active button, .proj-details .accordion-item.active button { color: var(--main-color) !important; }
.faqs-pg .accordion-item.active button, .intro-iner .accordion-item.active button { color: var(--main-color) !important; }
.intro-cst .states .item h2 { color: var(--main-color); }
.services-dm .item:hover .title { color: var(--main-color); }
.work-hed .path .main-color { color: var(--main-color); }
.work-card .card-item .tags a:hover { background: var(--main-color); color: #fff; }
.post-header .caption .tags a:hover { background: var(--main-color); color: #fff; }
.sidebar .widget.tags a:hover { background: var(--main-color); color: #fff; border-color: var(--main-color); }
.blog .main-post .text a, .blog .main-post .text a:hover { color: var(--main-color); text-decoration: underline; }
.footer-sa .call-action h2 > a:hover { color: var(--main-color); }
.footer-sa .call-action .buton a, .footer-sa .call-action .buton:hover a, .footer-sa .call-action .buton a:hover { color: #fff !important; }
.footer-sa .call-action .buton { border-color: var(--main-color); }
.footer-sa .call-action .buton:hover { background: var(--main-color); color: #fff; }
.footer-sa .call-action .buton:hover img { filter: brightness(0) invert(1); }

/* Alerts for form feedback */
.sl-alert { padding: 14px 18px; border-radius: 10px; margin-bottom: 25px; font-size: 14px; border: 1px solid rgba(255,255,255,.12); }
.sl-alert.success { background: rgba(31,92,255,.12); border-color: rgba(31,92,255,.45); color: #fff; }
.sl-alert.error { background: rgba(239,43,16,.12); border-color: rgba(239,43,16,.45); color: #fff; }
.sl-alert ul { margin: 8px 0 0 18px; padding: 0; }
.light-bg .sl-alert { color: #0e0f11; }

/* Form fields on dark inner pages (careers apply form, contact page) */
.apply-form input, .apply-form textarea, .apply-form select {
  width: 100%; padding: 15px 20px; background: transparent; color: #fff;
  border: 1px solid rgba(255,255,255,.15); border-radius: 10px;
}
.apply-form input[type="file"] { padding: 12px 20px; }
.apply-form input::placeholder, .apply-form textarea::placeholder { color: #8a8a8a; }
.apply-form label { display: block; font-size: 13px; margin-bottom: 8px; color: #a4a4a4; text-transform: uppercase; letter-spacing: .5px; }
.apply-form input[type="file"]::file-selector-button {
  background: var(--main-color); color: #fff; border: 0; border-radius: 6px; padding: 8px 14px; margin-right: 14px; cursor: pointer;
}

/* Careers list reuses services-cst; add meta chips */
.services-cst .item .meta span { display: inline-block; margin: 0 8px 8px 0; padding: 6px 12px; border-radius: 30px; font-size: 13px; background: rgba(14,15,17,.06); color: #0e0f11; }
.services-cst .item .meta span.type { background: var(--main-color); color: #fff; }
.serv-hed2 .list ul li, .serv-hed2 .list ul li span { color: #fff; }
.serv-hed2 .list ul li strong { color: var(--main-color); margin-right: 8px; font-weight: 500; }

/* Project detail store badges */
.store-badges a { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 40px; margin: 0 10px 10px 0; font-size: 14px; transition: all .3s; }
.store-badges a:hover { background: var(--main-color); border-color: var(--main-color); color: #fff; }
.store-badges a i { font-size: 18px; }

/* Blog cards should link */
.blog-mp .item .img img { transition: transform .5s; }
.blog-mp .item:hover .img img { transform: scale(1.04); }
.blog-mp .item .cont h6 a:hover { color: var(--main-color); }
.sl-pagination { display: flex; gap: 10px; justify-content: center; margin-top: 60px; flex-wrap: wrap; }
.sl-pagination a, .sl-pagination span { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); font-size: 14px; }
.sl-pagination a:hover, .sl-pagination span.current { background: var(--main-color); border-color: var(--main-color); color: #fff; }
.sl-pagination span.disabled { opacity: .35; }

/* Rich text content coming from the admin editor */
.rich-text p { margin-bottom: 18px; }
.rich-text h2, .rich-text h3, .rich-text h4 { margin: 30px 0 15px; }
.rich-text ul, .rich-text ol { margin: 0 0 20px 20px; }
.rich-text ul li { list-style: disc; margin-bottom: 8px; }
.rich-text ol li { list-style: decimal; margin-bottom: 8px; }
.rich-text img { max-width: 100%; border-radius: 12px; margin: 20px 0; }
.rich-text blockquote { border-left: 3px solid var(--main-color); padding-left: 20px; margin: 25px 0; opacity: .85; font-style: italic; }
.rich-text a { color: var(--main-color); text-decoration: underline; }
.rich-text pre { background: #0e0f11; padding: 18px; border-radius: 10px; overflow: auto; margin-bottom: 20px; }

/* Empty states */
.sl-empty { padding: 60px 30px; text-align: center; border: 1px dashed rgba(255,255,255,.15); border-radius: 15px; opacity: .8; }
.light-bg .sl-empty { border-color: rgba(14,15,17,.15); }

/* Google map override */
.google-map iframe { width: 100%; height: 480px; border: 0; border-radius: 15px; filter: grayscale(1) invert(.92) contrast(.9); }

/* Work cards: ensure the whole card is clickable */
.work-card .card-item .img h5 a { color: inherit; }
.work-card .card-item .img h5 a:hover { color: var(--main-color); }

/* Full-card links */
.full-link { position: absolute; inset: 0; z-index: 3; }
.work-card .card-item .img { position: relative; }
.work-card .card-item .img .tags { z-index: 4; }

/* Hero: clear the fixed navbar and keep long headlines readable */
.header-sa { padding-top: 140px; padding-bottom: 80px; }
.header-sa .caption h1 { font-size: 80px; line-height: 1.02; letter-spacing: -3px; }
.header-sa .caption .text { margin-top: 70px; }
@media screen and (max-width: 991px) { .header-sa { padding-top: 120px; } .header-sa .caption h1 { font-size: 56px; line-height: 1.1; letter-spacing: -1px; } }
@media screen and (max-width: 767px) { .header-sa .caption h1 { font-size: 44px; } }

/* Inner page headers: extra clearance below the navbar */
.about-hed, .serv-hed, .serv-hed2, .work-hed2, .team-hed, .contact-hed { padding-top: 140px !important; }
.pricing-hed .container, .blog-hed .container, .work-hed .container { padding-top: 140px !important; }

/* About page: long service names */
.services-dm .item .title h2 { font-size: 46px; letter-spacing: -1px; line-height: 1.15; }
.services-dm .item .title { flex: 0 0 55%; max-width: 55%; }

/* Show project images whole instead of cropping them to a fixed height.
   Thumbnails are 16:9 (works grid), covers are 3:2 (project header). */
.work-card .card-item .img { height: auto; }
.work-card .card-item .img img { display: block; width: 100%; height: auto; }
.work-hed2 .fit-img { height: auto; }
.work-hed2 .fit-img img { display: block; width: 100%; height: auto; object-fit: unset; }
@media screen and (max-width: 768px) {
  .work-card .card-item .img { height: auto; }
  .work-hed2 .fit-img { height: auto; }
}
.work-hed2 .fit-img img { transform: none !important; }

/* Works page (portfolio-standard layout) */
.works-mp .item .cont h5 a, .works-mp .item:hover .cont h5 a { padding: 0; border: 0; border-radius: 0; background: none !important; color: inherit; }
.works-mp .item .cont h5 a:hover, .works-mp .item:hover .cont h5 a:hover { color: var(--main-color); }
.works-mp .item:hover .cont .ml-auto a { color: #fff; }
.works-mp .item .cont .ml-auto a:hover { background: var(--main-color); border-color: var(--main-color); color: #fff; }
.works-mp .item .img img { display: block; width: 100%; height: auto; transition: transform .5s; }
.works-mp .item:hover .img img { transform: scale(1.03); }
