/* ============================================================
   Sants Group — Custom Design Overrides
   Applied AFTER style.css to fix layout & design issues
   ============================================================ */

/* --- Sants Group Brand Color Palette ---
   Primary:   Steel Blue (#3a768b)
   Secondary: Coral (#f37057)
   ------------------------------------------- */
:root {
    --theme-color1: #3a768b;
    --theme-color2: #f37057;
    --theme-color-dark: #1a2d3d;
    --headings-color: #1a2d3d;
    --border-theme-color1: #3a768b;
    --theme-light-background: #f0f4f6;
}

/* --- Logo Sizing --- */
.main-header .logo img {
    max-height: 80px;
    width: auto;
    object-fit: contain;
}
.sticky-header .logo img {
    max-height: 65px;
}
.main-footer .footer-top .logo img {
    max-height: 70px;
    width: auto;
}

/* --- Remove gray background box behind header logo --- */
.header-style-one .header-lower .logo-box:before {
    background-color: transparent !important;
}

/* --- Product / Shop Section Styling --- */
.shop-section {
    padding: 80px 0 60px;
    position: relative;
}
.shop-section .shop-item {
    margin-bottom: 30px;
}
.shop-section .shop-item .inner-box {
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.4s ease;
}
.shop-section .shop-item .inner-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}
.shop-section .shop-item .image-box {
    position: relative;
    overflow: hidden;
}
.shop-section .shop-item .image-box .image {
    margin: 0;
}
.shop-section .shop-item .image-box .image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.shop-section .shop-item .inner-box:hover .image-box .image img {
    transform: scale(1.08);
}
.shop-section .shop-item .content {
    padding: 20px 18px;
    text-align: center;
}
.shop-section .shop-item .content .title {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.shop-section .shop-item .content .price {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: var(--theme-color1, #f7941d);
    margin-top: 4px;
}

/* --- Shop Full Page (products listing page) --- */
.shop-section-full {
    padding: 80px 0;
}
.shop-section-full .shop-item {
    margin-bottom: 30px;
}
.shop-section-full .shop-item .inner-box {
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.4s ease;
}
.shop-section-full .shop-item .inner-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.shop-section-full .shop-item .image-box .image {
    margin: 0;
}
.shop-section-full .shop-item .image-box .image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.shop-section-full .shop-item .content {
    padding: 15px;
    text-align: center;
}
.shop-section-full .shop-item .title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}
.shop-section-full .shop-item .price {
    color: var(--theme-color1, #f7941d);
    font-weight: 700;
    font-size: 18px;
}

/* --- About Section Image Fix --- */
.about-section .image-column .image-box .image img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
}

/* --- Client Logos carousel fix --- */
.clients-section {
    padding: 40px 0;
    border-bottom: 1px solid #eee;
}
.clients-section .client-block img {
    max-height: 60px;
    width: auto;
    opacity: 0.6;
    transition: opacity 0.3s ease;
    filter: grayscale(100%);
}
.clients-section .client-block:hover img {
    opacity: 1;
    filter: grayscale(0%);
}

/* --- Process Section (from original Solarva theme) --- */
.process-section {
  position: relative;
  padding: 120px 0;
}
.process-section .outer-box {
  position: relative;
  padding: 60px 0 10px;
  background-color: var(--theme-color1);
  border-radius: 8px;
}
.process-block {
  margin-bottom: 50px;
}
.process-block:last-child .inner-box:before {
  display: none;
}
.process-block:nth-child(2) .inner-box::before {
  transform: scaleY(-1);
}
.process-block .inner-box {
  position: relative;
  padding: 0 58px;
  display: block;
  text-align: center;
}
@media (max-width: 1199.98px) {
  .process-block .inner-box {
    padding: 0 20px;
  }
}
@media (max-width: 991.98px) {
  .process-block .inner-box {
    padding: 0;
  }
}
.process-block .inner-box:before {
  content: "";
  position: absolute;
  top: 50px;
  right: -120px;
  width: 218px;
  height: 34px;
  background-image: url(../images/icons/icon-border.png);
}
@media (max-width: 991.98px) {
  .process-block .inner-box:before {
    display: none;
  }
}
.process-block .inner-box:hover .icon-box .icon {
  transform: scaleX(-1);
  color: var(--theme-color-light);
  background-color: var(--theme-color-dark);
}
.process-block .inner-box:hover .icon-box .count {
  background-color: var(--theme-color-light);
  color: var(--theme-color2);
}
.process-block .inner-box .icon-box {
  position: relative;
  display: inline-block;
}
.process-block .inner-box .icon-box .icon {
  position: relative;
  display: block;
  width: 118px;
  height: 118px;
  line-height: 118px;
  font-size: 45px;
  border-radius: 50%;
  color: var(--theme-color1);
  background: var(--theme-color-light);
  margin: 0 auto 45px;
  text-align: center;
  transition: all 300ms ease;
  z-index: 3;
}
@media (max-width: 991.98px) {
  .process-block .inner-box .icon-box .icon {
    margin-bottom: 20px;
  }
}
.process-block .inner-box .icon-box .icon:after {
  content: "";
  position: absolute;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  border-radius: 50%;
  border: 1px dashed var(--theme-color-light);
  transition: all 300ms ease;
}
.process-block .inner-box .icon-box .count {
  position: absolute;
  top: 0;
  right: -15px;
  width: 46px;
  height: 46px;
  line-height: 46px;
  font-size: 18px;
  font-family: var(--title-font);
  font-weight: 700;
  border-radius: 50%;
  color: var(--theme-color-light);
  background-color: var(--theme-color-dark);
  text-align: center;
  transition: all 300ms ease;
  z-index: 3;
}
.process-block .inner-box .title {
  position: relative;
  color: var(--theme-color-light);
  margin-bottom: 12px;
}
.process-block .inner-box .text {
  position: relative;
  color: var(--theme-color-light);
  font-size: 14px;
}

/* --- Section Title Improvements --- */
.sec-title .sub-title {
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
}

/* --- Bottom text / link styling --- */
.bottom-text {
    padding-top: 20px;
    padding-bottom: 10px;
}
.bottom-text a {
    color: var(--theme-color1, #f7941d);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.3s ease;
}
.bottom-text a:hover {
    color: var(--theme-color2, #232323);
}

/* --- Blog Section (if no articles) hide gracefully --- */
.blog-section:empty,
.blog-section .row:empty {
    display: none;
}

/* --- Marquee Section --- */
.marquee-section {
    overflow: hidden;
    white-space: nowrap;
    background: var(--theme-color2, #232323);
    padding: 15px 0;
}
.marquee-section .marquee-text {
    display: inline-block;
    animation: marquee 20s linear infinite;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 3px;
}
@keyframes marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

/* --- Alert Messages --- */
.alert {
    border-radius: 8px;
    padding: 15px 20px;
    margin-bottom: 20px;
}

/* --- Why Choose Us image fallback --- */
.why-choose-us .image-column .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

/* --- Contact form error states --- */
.contact-form .form-control.is-invalid,
.contact-form .form-control:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
}

/* --- Pagination --- */
.pagination-outer .pagination {
    justify-content: center;
    gap: 5px;
}
.pagination-outer .page-link {
    color: var(--theme-color1, #f7941d);
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    padding: 8px 14px;
    transition: all 0.3s ease;
}
.pagination-outer .page-item.active .page-link {
    background: var(--theme-color1, #f7941d);
    border-color: var(--theme-color1, #f7941d);
    color: #fff;
}

/* --- Placeholder images styling --- */
img[src^="data:image/svg"] {
    background: #f0f4f8;
    border-radius: 8px;
}

/* --- Mobile Responsive Fixes --- */
@media (max-width: 991px) {
    .shop-section .shop-item .image-box .image img {
        height: 180px;
    }
}
@media (max-width: 767px) {
    .shop-section .shop-item {
        margin-bottom: 20px;
    }
    .shop-section .shop-item .image-box .image img {
        height: 160px;
    }
    .shop-section .shop-item .content {
        padding: 15px 12px;
    }
}
