/* Responsive corrections layered over the original Elorca design. */
:root {
  --elorca-blue: #2c75ff;
  --elorca-navy: #050a30;
  --elorca-yellow: #fca903;
  --elorca-maroon: #432332;
}

/* Keep original visual identity; only normalize broken saved-template behavior. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
#toast {
  visibility: hidden; opacity: 0; position: fixed; z-index: 99999;
  right: 20px; bottom: 20px; padding: 10px 16px; border-radius: 6px;
  color: #fff; background: var(--elorca-navy); transition: .25s ease;
}
#toast.show { visibility: visible; opacity: 1; }

/* Official brand palette, applied without changing layout. */
:root {
  --cnvs-themecolor: var(--elorca-navy);
  --cnvs-themecolor-rgb: 44,117,255;
}
.bg-color, .section-gradient { background-color: var(--elorca-navy) !important; }
.button-yellow { background-color: var(--elorca-yellow) !important; color: #111 !important; }
.fw-yellow { color: var(--elorca-yellow) !important; }

/* Fix external background paths after converting from Django template. */
#slider { background-image: url('../demos/images/bg-2.png') !important; }
#footer { background-image: url('../images/elorca-footer.png') !important; }

/* Preserve original section card proportions. */
.section_port, .section_widgets { overflow: hidden; }
.section_port .bg-custom, .section_widgets .bg-custom { min-height: 310px; }
.section_port img, .section_widgets img { width: 100%; max-height: 330px; object-fit: contain; }
.slider-iot img { width: 100%; max-height: 470px; object-fit: contain; }

/* Slick controls remain visible and aligned. */
.slider-iot .slick-prev, .slider-iot .slick-next { z-index: 5; }
.slider-iot .slick-prev { left: -38px; }
.slider-iot .slick-next { right: -38px; }

@media (max-width: 991.98px) {
  #header .header-row { min-height: 64px; }
  #header .primary-menu { width: 100%; }
  #header .menu-container { padding: 12px 0; }
  #header .menu-link { padding: 10px 12px; }
  #slider .container { height: 42vh !important; min-height: 300px; }
  .section_port .bg-custom, .section_widgets .bg-custom { padding: 30px !important; }
  .slider-iot .slick-prev { left: 4px; }
  .slider-iot .slick-next { right: 4px; }
  .slider-iot .slick-prev, .slider-iot .slick-next {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(5,10,48,.7);
  }
}

@media (max-width: 767.98px) {
  #header .header-extras { display: none !important; }
  #logo img { width: 52px !important; }
  #slider { padding-top: 36px !important; }
  #slider .container { height: 36vh !important; min-height: 270px; }
  #slider h2 { font-size: 1.75rem; line-height: 1.25; }
  #slider h6 { font-size: .95rem; }
  #slider p { font-size: .88rem; }
  .content-wrap { padding-top: 55px; }
  .heading-block h3 { font-size: 1.75rem; }
  .row.align-items-center.mt-5 { margin-top: 2.5rem !important; }
  .row.align-items-center > [class*='col-sm-6'] { margin-bottom: 20px; }
  .section_port, .section_widgets { padding: 18px 0; }
  .section_port .bg-custom, .section_widgets .bg-custom { padding: 24px 18px !important; }
  .section_widgets .row > .col-md-6:first-child { order: 2; }
  .section_widgets .row > .col-md-6:last-child { order: 1; margin-bottom: 24px; }
  #usecase .mw-lg { padding-top: 92px !important; }
  .slider-iot .row { text-align: center; }
  .slider-iot .col-md-4 { margin-bottom: 22px; }
  .slider-iot h2 { font-size: 1.65rem; }
  .footer-widgets-wrap { padding-top: 55px; padding-bottom: 35px; }
  #footer .widget > [class*='col-'] { margin-bottom: 28px; }
}

@media (max-width: 575.98px) {
  #header-wrap .header-row { flex-direction: row !important; }
  .header-buttons { display: none !important; }
  #slider h2 { font-size: 1.5rem; }
  .svg-separator svg { min-width: 900px; }
  .section_port .bg-custom h2, .section_widgets .bg-custom h2 { font-size: 1.8rem; }
  .services-columns, #services .d-flex { flex-direction: column; }
  #services .iconlist { width: 100% !important; }
  .slider-iot .slick-prev, .slider-iot .slick-next { top: 58%; }
}
.text-link {
    border: 0;
    background: none;
    color: var(--elorca-blue);
    padding: 0;
    font-weight: 700
}
