/* ==========================================================================
   Footer — full-width band, 5% side padding, refreshed layout
   Loaded after global.css so these rules win.
   Scoped to .pi-footer-full so the rest of the site keeps its 1120px grid.
   ========================================================================== */

.pi-footer-full,
.pi-footer-bottom {
  width: 100%;
  background-color: #0d0f12 !important;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Break the 1120px cap and use a 5% gutter instead */
.pi-footer-full > .pi-section,
.pi-footer-bottom > .pi-section {
  max-width: none;
  width: 100%;
  margin: 0;
  padding-left: 5%;
  padding-right: 5%;
  box-sizing: border-box;
}

.pi-footer-full > .pi-section {
  padding-top: 56px;
  padding-bottom: 44px;
}

/* --- Columns ------------------------------------------------------------ */
.pi-footer-full > .pi-section > .pi-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
}

.pi-footer-full > .pi-section > .pi-row > [class*="pi-col-"] {
  padding: 0 20px 10px;
  float: none;
}

/* --- Headings ----------------------------------------------------------- */
.pi-footer-full h6 {
  color: #fff !important;
  font-size: 13px;
  letter-spacing: 1.4px;
  margin-bottom: 18px !important;
  padding-bottom: 12px;
  position: relative;
}

.pi-footer-full h6::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 38px;
  height: 2px;
  background: #5A9DDB;
}

.pi-footer-full .pi-text-center h6::after {
  left: 50%;
  transform: translateX(-50%);
}

/* --- Body text ---------------------------------------------------------- */
.pi-footer-full p,
.pi-footer-full li {
  color: #b3bcc6;
  font-size: 13.5px;
  line-height: 1.85;
}

.pi-footer-full .pi-address {
  color: #c9d3dd !important;
  text-align: left !important;
}

.pi-footer-full .pi-address strong {
  color: #fff;
  display: block;
  margin-bottom: 4px;
  letter-spacing: .3px;
}

.pi-footer-full .pi-gst {
  display: inline-block;
  margin-top: 10px;
  padding: 3px 10px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 3px;
  font-size: 12px;
  color: #8f9aa6;
  letter-spacing: .4px;
}

/* --- Contact list ------------------------------------------------------- */
.pi-footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-footer-contact li {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
}

.pi-footer-contact a {
  color: #c9d3dd;
  border-bottom: 0;
  transition: color .15s ease-in-out;
}

.pi-footer-contact a:hover {
  color: #5A9DDB;
}

.pi-footer-contact .pi-ico {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(90, 157, 219, .12);
  color: #5A9DDB;
  font-size: 12px;
}

/* --- Catalogue column --------------------------------------------------- */
.pi-footer-full .pi-icon-box-vertical img {
  max-width: 100%;
  height: auto;
}

/* --- Contact form ------------------------------------------------------- */
.pi-footer-full .form-group {
  margin-left: 0 !important;
  margin-bottom: 12px;
}

.pi-footer-full input[type=text],
.pi-footer-full input[type=email],
.pi-footer-full textarea {
  width: 100% !important;
  max-width: 340px;
  box-sizing: border-box;
  background-color: #1a1f26;
  border: 1px solid rgba(255, 255, 255, .09);
  color: #fff;
  transition: border-color .15s ease-in-out;
}

.pi-footer-full textarea {
  height: 5.5em !important;
  min-height: 5.5em;
}

.pi-footer-full input[type=text]:focus,
.pi-footer-full input[type=email]:focus,
.pi-footer-full textarea:focus {
  border-color: #5A9DDB;
  outline: none;
}

.pi-footer-full ::placeholder { color: #6c7681; }

.pi-footer-full input[type=submit] {
  background-color: #5A9DDB;
  color: #fff;
  font-weight: 600;
  letter-spacing: .6px;
  padding: 10px 30px;
  cursor: pointer;
  transition: background-color .15s ease-in-out;
}

.pi-footer-full input[type=submit]:hover { background-color: #4189cc; }

/* --- Copyright bar ------------------------------------------------------ */
.pi-footer-bottom > .pi-section {
  padding-top: 16px;
  padding-bottom: 16px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.pi-footer-bottom .pi-row-block-txt {
  color: #7b8792;
  font-size: 12.5px;
  margin: 0 !important;
  float: none;
  display: block;
}

.pi-footer-bottom a { color: #9aa5b1; }
.pi-footer-bottom a:hover { color: #5A9DDB; }

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 991px) {
  .pi-footer-full > .pi-section { padding-top: 40px; padding-bottom: 30px; }
  .pi-footer-full > .pi-section > .pi-row > [class*="pi-col-"] { flex: 0 0 50%; max-width: 50%; }
}

@media (max-width: 767px) {
  .pi-footer-full > .pi-section,
  .pi-footer-bottom > .pi-section { padding-left: 5%; padding-right: 5%; }
  .pi-footer-full > .pi-section > .pi-row {
    margin-left: 0;
    margin-right: 0;
  }
  .pi-footer-full > .pi-section > .pi-row > [class*="pi-col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 26px;
  }
  .pi-footer-full .pi-text-center { text-align: left !important; }
  .pi-footer-full .pi-text-center h6::after { left: 0; transform: none; }
  .pi-footer-bottom { text-align: left; }
}

/* Nested form grid inside the footer must not inherit the column flexbox */
.pi-footer-full .pi-row .pi-row { display: block; margin-left: 0; margin-right: 0; }
