/* ===========================
   Basic Utility Styles
   =========================== */

/* Flexbox */
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.flex-1 {
  flex: 1;
}
/* Flex Direction */
.flex-row {
  flex-direction: row;
}
.flex-column {
  flex-direction: column;
}

/* Position */
.position-relative {
  position: relative;
}
.position-absolute {
  position: absolute;
}

/* Justify Content */
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.justify-evenly {
  justify-content: space-evenly;
}

/* Align Items */
.items-start {
  align-items: flex-start;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-stretch {
  align-items: stretch;
}

/* Align Self */
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.self-end {
  align-self: flex-end;
}
.self-stretch {
  align-self: stretch;
}
.flex-shrink-0 {
  flex-shrink: 0;
}

/* Text Alignment */
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-justify {
  text-align: justify;
}

/* Font Weights */
.font-weight-100 {
  font-weight: 100;
}
.font-weight-200 {
  font-weight: 200;
}
.font-weight-300 {
  font-weight: 300;
}
.font-weight-400 {
  font-weight: 400;
}
.font-weight-500 {
  font-weight: 500;
}
.font-weight-600 {
  font-weight: 600;
}
.font-weight-700 {
  font-weight: 700;
}
.font-weight-800 {
  font-weight: 800;
}
.font-weight-900 {
  font-weight: 900;
}

/* Margin (example: m-10 = margin: 10px) */
.m-0 {
  margin: 0 !important;
}
.m-5 {
  margin: 5px;
}
.m-10 {
  margin: 10px;
}
.m-15 {
  margin: 15px;
}
.m-20 {
  margin: 20px;
}
.m-auto-right-left {
  margin-left: auto;
  margin-right: auto;
}
/* Padding */
.p-0 {
  padding: 0;
}
.p-5 {
  padding: 5px;
}
.p-10 {
  padding: 10px;
}
.p-15 {
  padding: 15px;
}
.p-20 {
  padding: 20px;
}
.p-30 {
  padding: 30px;
}
.p-40 {
  padding: 40px;
}
.pb-10 {
  padding-bottom: 10px;
}
.pb-20 {
  padding-bottom: 20px;
}
.pb-50 {
  padding-bottom: 50px;
}
.pt-10 {
  padding-top: 10px;
}
.pt-20 {
  padding-top: 20px;
}
.px-30 {
  padding-left: 30px;
  padding-right: 30px;
}
.py-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
.py-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}
.px-50 {
  padding-left: 50px;
  padding-right: 50px;
}
.pr-50 {
  padding-right: 50px;
}
.pr-80 {
  padding-right: 80px;
}
/* Width & Height */
.w-100 {
  width: 100%;
}
.h-100 {
  height: 100%;
}
.w-max-content {
  width: max-content;
}

/* Display */
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.hidden {
  display: none;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px !important;
}
.color-white {
  color: #fff;
}
.color-blue {
  color: #3d5588;
}
.bg-color-blue {
  background-color: #3d5588 !important;
}

.bg-color-white {
  background-color: #fff;
}

.bg-color-gray {
  background-color: #f5f8ff;
}

.color-dark-font {
  color: #494949;
}
.radius-20 {
  border-radius: 20px;
}
.radius-8 {
  border-radius: 8px;
}
.radius-50 {
  border-radius: 50%;
}
.gap-10 {
  gap: 10px;
}
.gap-20 {
  gap: 20px;
}
.gap-40 {
  gap: 40px;
}
.gap-80 {
  gap: 80px;
}

.font-24 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}
a {
  text-decoration: none;
  display: flex;
  align-items: center;
}
.border-dark-gray {
  border: 1px solid rgba(73, 73, 73, 0.25);
}

.underline-gap {
  text-decoration: underline;
  text-underline-offset: 8px;
  line-height: 2rem;
}

.image-boxed img {
  max-width: 100%;
  object-fit: contain;
}

.accordion {
  max-width: 700px;
  margin: 20px auto;
  font-family: Arial, sans-serif;
}
.accordion-item {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #eee;
  background: #fff;
}
.accordion-header {
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  transition: background 0.3s;
}
.accordion-header svg {
  transition: transform 0.3s;
}
.accordion-header.active svg {
  transform: rotate(180deg);
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  font-size: 14px;
  line-height: 30px;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.accordion-content.open {
  padding: 15px 20px;
  max-height: 500px; /* enough space to show content */
}

/* ===========================
   Custom Styles
   =========================== */
body {
  font-family: "Inter", sans-serif;
}

.top-section {
  background-image: url("../assets/nokia-back.png");
  background-size: cover;
  background-repeat: no-repeat;
}
.content-section {
  min-height: 80vh;
  gap: 20px;
}

.content-section p {
  max-width: 680px;
  font-size: 1rem;
  line-height: 1.7rem;
}
h1 {
  font-size: 2rem;
  line-height: 2.5rem;
}

h4 {
  font-size: 1.2rem;
  line-height: 1.8rem;
}
h3 {
  font-size: 3.12rem;
  line-height: 3.6rem;
}

.section-heading {
  max-width: 645px;
}

.box {
  flex: 1;
}
.box-25 {
  max-width: 26%;
}
.box-49 {
  max-width: 48%;
}

.two-boxes {
  max-width: 50%;
}

/* Button Base */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 24px;
  border: none;
  border-radius: 66px;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  width: auto;
  max-width: max-content;
}

/* Optional: size variants */
.btn-sm {
  padding: 8px 16px;
  font-size: 14px;
}
.btn-lg {
  padding: 16px 32px;
  font-size: 18px;
}

p {
  font-size: 1rem;
  line-height: 1.7rem;
}
.font-24 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}
.box-49 img {
  height: 450px;
  object-fit: contain;
  display: block;
  max-width: 100%;
}

.content-heading {
  font-size: 2rem !important;
  line-height: 2.7rem !important;
}
.quill-sec {
  background-image: url("../assets/quill-back.png");
  background-size: cover;
  background-repeat: no-repeat;
}
.features-list .icon img {
  width: 32px;
  height: 32px;
}
.border-bottom {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

/* small circular dot that inherits the text color */
.features-list .title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor; /* inherits color from .title (color-white etc.) */
  margin-right: 12px;
  vertical-align: middle;
}

/* pseudo-element shows the SVG icon */
.icon-list li::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../assets/checkmark-gray.svg");
}

/* minimal: remove default bullets */
.list-no-style {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* icon-list: items align with an SVG instead of the dot */
.icon-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 0;
}

.nokia-lifespan-lg-img img {
  max-width: 700px;
}

.form-section .accordion .active {
  background-color: #3d5588 !important;
  color: #fff !important;
}

.form-section .input-field {
  background: transparent;
  border: 1px solid #fff;
  padding: 12px 15px;
  border-radius: 10px;
  color: #fff; /* white text */
  font-size: 14px;
}

.form-section .input-field::placeholder {
  color: rgba(255, 255, 255, 0.8); /* softer placeholder */
}

.form-section button {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  border: none;
  font-size: 1rem;
}

.ready-arrow.position-absolute {
  right: -15px;
  top: -10px;
}
.flex-row .input-field {
  flex: 1 1 48%;
}

.bg-white-30 {
  background-color: rgba(255, 255, 255, 0.3);
}
.btn.bg-white-30 {
  padding: 12px 24px;
  font-weight: 400;
  text-transform: uppercase;
}

.accordion-header.color-dark-font svg {
  background-color: #494949;
  border-radius: 50%;
  padding: 5px;
  color: #fff;
}

.accordion-header.active.bg-color-blue.color-white svg {
  background-color: #efefef;
  border-radius: 50%;
  padding: 5px;
  color: #3d5588;
}

.f32px {
  font-size: 32px !important;
  line-height: 40px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.box-40 {
  max-width: 40%;
}
.box-60 {
  max-width:60%;
}

.pr-150 {
  width: 400px;
}

.form-section input {
  height: 34px !important;
}


@media screen and (max-width: 1350px) {
  .image-wrapper.ready-arrow.position-absolute {
    display: none !important;
  }
  .nokia-lifespan-lg-img img {
    max-width: 100% !important;
  }
}

@media screen and (max-width: 1025px) {
  .flex-row {
    flex-direction: column !important;
  }
  .box,
  .box-60,
  .box-40 {
    max-width: 100%;
  }
  .four-box-row .box {
    max-width: 100%;
  }
  .fourth-section .box img {
    max-width: 100%;
    object-fit: contain;
  }
  .image-boxed img {
    max-width: 100% !important;
    object-fit: contain;
  }
  .section-heading {
    max-width: 100% !important;
  }
  .twelfth-section .content-wrap,
  .trusted-desc {
    max-width: 100% !important;
  }
  .line-img {
    display: none !important;
  }
  .below-line {
    gap: 40px !important;
  }
  .gap-80 {
    gap: 40px !important;
  }
  .box-25,
  .box-49 {
    max-width: 100% !important;
  }
  .box-25 {
    align-items: center !important;
  }
  .box-25 .icon-wrap {
    text-align: center !important;
  }
  .pr-50,
  .pr-80 {
    padding-right: 0px !important;
  }
  .two-boxes {
    max-width: 100% !important;
  }
  .features-list .desc {
    text-align: center !important;
  }
  .px-50 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .py-100 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .pr-150 {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .container {
    max-width: 100%;
  }
  h1 {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  h3 {
    font-size: 2rem !important;
    line-height: 2.5rem !important;
  }
  .section-heading {
    font-size: 1.5rem !important;
  }
  .tenth-section.px-50,
  .eigth-section.px-50,
  .fourth-section.px-50 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
