:root {
  --c-black: #000;
  --c-white: #fff;
  --c-dash: #d8dadc;

  --pad-x: 5vw;
  --fs-h1: clamp(4.5vw, 2.83vw, 56px);
  --lh-h1: 1.15;
  --fs-h2: clamp(22px, 2.22vw, 44px);
  --lh-h2: 1.15;
  --fs-body: clamp(14px, 1.25vw, 22px);
  --lh-body: 1.45;
}

body {
  margin: 0;
  color: var(--c-black);
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}

.mediaBlo {
  display: block;
  width: 100%;
  height: auto;
}

.section {
  box-sizing: border-box;
  width: 100%;
}

.bgcover {
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.center {
  text-align: center;
}

.h1 {
  font-family: Poppins-Bold, sans-serif;
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
}

.h2 {
  font-family: Poppins-Bold, sans-serif;
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  color: var(--c-black);
}

.body {
  font-family: Poppins, sans-serif;
  font-weight: 400;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

.p40kSur {
  --pad-t: 1.82vw;
  --pad-r: 19.34vw;
  --pad-b: 0vw;
  --pad-l: 19.11vw;
  padding: var(--pad-t) var(--pad-r) var(--pad-b) var(--pad-l);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.2vw;
  align-items: stretch;
}

.p40kSurItem {
  position: relative;
  min-width: 0;
  min-height: 0;
}

.p40kSurItem img {
  display: block;
  width: 100%;
  height: auto;
}

.p40kSurText {
  position: absolute;
  top: 1.35vw;
  font-family: Poppins-Bold, sans-serif;
  font-size: 0.97vw;
  line-height: 0.97vw;
  color: var(--c-black);
}

.p40kSurItem[data-align="left"] .p40kSurText {
  left: 1.48vw;
  text-align: left;
}

.p40kSurItem[data-align="center"] .p40kSurText {
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
}

.p40kSurStack {
  display: flex;
  flex-direction: column;
  gap: 0.8vw;
  min-height: 0;
}

.p40kSurSub {
  position: relative;
  min-width: 0;
  flex: 1;
  display: flex;
  min-height: 0;
}

.p40kSurSub img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p40kSurSubText {
  position: absolute;
  top: 0.88vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  color: var(--c-white);
  font-family: Poppins-Bold, sans-serif;
  font-size: 0.97vw;
  line-height: 0.97vw;
}

.p40kSurDesc {
  grid-column: 1 / -1;
  padding: 4.55vw 0 9.63vw 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--c-white);
  font-family: Poppins, sans-serif;
  font-weight: 400;
  font-size: 1.09vw;
  line-height: 1.45vw;
}

.p40kPower {
  --bg: url(/wp-content/uploads/2026/01/p40k_07.webp);
  padding: 5.02vw 18.27vw 0 18.27vw;
  color: var(--c-black);
}

.p40kPower .body {
  padding: 1.19vw 0 42.72vw 0;
}

.p40kPlus {
  --bg: url(/wp-content/uploads/2026/01/p40k_09.webp);
  padding: 2.08vw 9.63vw 5.93vw 9.63vw;
  color: var(--c-black);
}

.p40kPlus img {
  display: block;
  width: 100%;
  height: auto;
}

.p40kMax {
  background-color: var(--c-black);
  padding: 0 9.37vw 0 10.02vw;
  color: var(--c-white);
  text-align: center;
  position: relative;
  box-sizing: border-box;
}

.p40kMaxHeader {
  position: absolute;
  top: 5.99vw;
  left: 0;
  width: 100%;
}

.p40kMaxHeader .h1 {
  line-height: 1.15;
  color: var(--c-white);
}

.p40kMaxHeader .body {
  font-family: Poppins-Medium, sans-serif;
  font-size: 1.25vw;
  line-height: 1.45vw;
  padding: 1.79vw 0 0 0;
  color: var(--c-white);
}

.p40kMaxGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2vw;
  align-items: end;
  padding-top: 1.69vw;
}

.p40kMaxCard img {
  display: block;
  width: 100%;
  height: auto;
}

.p40kMaxCardTitle {
  margin-top: 1.2vw;
  font-family: Poppins-Bold, sans-serif;
  font-size: 2.834vw;
  line-height: 3.3vw;
  color: var(--c-white);
}

.p40kDay {
  --bg: url(/wp-content/uploads/2026/01/p40k_12.webp);
  padding: 6.9vw 20.31vw 0 22.78vw;
  color: var(--c-white);
}

.p40kDay .h1 {
  color: var(--c-white);
}

.p40kDay .body {
  padding: 0.88vw 0 38.67vw 0;
  color: var(--c-white);
}

.p40kSleek {
  --bg: url(/wp-content/uploads/2026/01/p40k_13.webp);
  padding: 16.14vw 0 32.08vw 11.53vw;
  color: var(--c-black);
}

.p40kSleek .body {
  font-family: Poppins-Medium, sans-serif;
  margin-top: 1.2vw;
}

.p40kEff {
  background-color: var(--c-white);
  padding: 4.03vw 9.89vw 3.64vw 10.1vw;
  color: var(--c-black);
}

.p40kEffGrid {
  padding-top: 3.95vw;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2.5vw;
  align-items: start;
}

.p40kEffItem {
  position: relative;
  min-width: 0;
  text-align: center;
}

.p40kEffItem img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.p40kEffItemTitle {
  position: absolute;
  top: 1.45vw;
  left: 50%;
  transform: translateX(-50%);
  font-family: Poppins-Bold, sans-serif;
  font-size: 1.25vw;
  line-height: 1.25vw;
  color: var(--c-white);
  white-space: nowrap;
}

.p40kEco {
  --bg: url(/wp-content/uploads/2026/01/p40k_19.webp);
  padding: 3.8vw 4.11vw 4.68vw 4.16vw;
  color: var(--c-black);
}

.p40kEcoSub {
  font-family: Poppins-Medium, sans-serif;
  font-size: 1.25vw;
  line-height: 1.25vw;
  padding: 1.35vw 0 2.55vw 0;
}

.p40kEcoGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2vw;
  align-items: start;
}

.p40kEcoGrid img {
  display: block;
  width: 100%;
  height: auto;
}

.p40kAva {
  background-color: var(--c-white);
  padding: 2.94vw 17.78vw 2.99vw 17.78vw;
  text-align: center;
  color: var(--c-black);
}

.p40kAvaList {
  padding-top: 4.21vw;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 1.2vw;
  row-gap: 2vw;
  align-items: start;
}

.p40kAvaItem {
  min-width: 0;
  text-align: center;
}

.p40kAvaItem img {
  display: block;
  width: 8.38vw;
  margin: 0 auto;
}

.p40kAvaItem div {
  margin-top: 0.9vw;
  font-family: Poppins-Regular, sans-serif;
  font-size: 0.87vw;
  line-height: 0.87vw;
  color: var(--c-black);
  white-space: nowrap;
}

.p40kComp {
  background-color: var(--c-white);
  padding: 2.86vw 30vw 0 36vw;
  color: var(--c-black);
  box-sizing: border-box;
}

.p40kCompTitle {
  text-align: center;
}

.p40kComp img {
  display: block;
  width: 100%;
  padding: 5.2vw 0 4.68vw 0;
  box-sizing: border-box;
}

.p40kSpec {
  background-color: var(--c-white);
  padding: 4.16vw 10.36vw 2.34vw 11.92vw;
  box-sizing: border-box;
  width: 100%;
  color: var(--c-black);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 4vw;
  align-items: start;
}

.p40kSpecText {
  padding-top: 3.9vw;
}

.p40kSpecList {
  margin-top: 1.56vw;
}

.p40kSpecRow {
  display: flex;
  justify-content: space-between;
  gap: 1.2vw;
  border-bottom: 1px dashed var(--c-dash);
  font-size: 1.2vw;
  line-height: 2.5vw;
  color: var(--c-black);
}

.p40kSpecLabel {
  font-family: Poppins-SemiBold, sans-serif;
  white-space: nowrap;
}

.p40kSpecValue {
  font-family: Poppins-Regular, sans-serif;
  white-space: nowrap;
}

.p40kSpecImg {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .p40kSur {
    padding: 3vw var(--pad-x);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 3vw;
    row-gap: 3vw;
  }

  .p40kSurStack {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 3vw;
  }

  .p40kSurSub {
    display: block;
  }

  .p40kSurSub img {
    height: auto;
    object-fit: initial;
  }

  .p40kSurText,
  .p40kSurSubText {
    font-size: 1.5vw;
    line-height: 1.5vw;
  }

  .p40kSurText {
    top: 2vw;
  }

  .p40kSurItem[data-align="left"] .p40kSurText {
    left: 2vw;
  }

  .p40kSurDesc {
    padding: 6vw 0 10vw 0;
    font-size: 2vw;
    line-height: 1.4;
  }

  .p40kPower {
    padding: 5vw var(--pad-x) 0 var(--pad-x);
  }

  .p40kPower .body {
    font-size: 2vw;
    line-height: 1.5;
    padding: 1vw 0 50vw 0;
  }

  .p40kPlus {
    padding: 6vw var(--pad-x) 8vw var(--pad-x);
  }

  .p40kMax {
    padding: 0 var(--pad-x);
  }

  .p40kMaxHeader {
    position: static;
    padding-top: 7vw;
  }

  .p40kMaxHeader .body {
    font-size: 2vw;
    line-height: 1.5;
    padding: 3vw 0 6vw 0;
  }

  .p40kMaxGrid {
    padding-top: 0;
    column-gap: 3vw;
  }

  .p40kMaxCardTitle {
    margin-top: 1.5vw;
    font-size: 4vw;
    line-height: 1.2;
  }

  .p40kDay {
    padding: 8vw var(--pad-x) 0 var(--pad-x);
  }

  .p40kDay .body {
    font-size: 2vw;
    line-height: 1.5;
    padding: 2vw 0 60vw 0;
  }

  .p40kSleek {
    padding: 14vw var(--pad-x) 20vw var(--pad-x);
  }

  .p40kEff {
    padding: 6vw var(--pad-x) 8vw var(--pad-x);
  }

  .p40kEffGrid {
    padding-top: 4vw;
    column-gap: 3vw;
  }

  .p40kEffItemTitle {
    top: 1vw;
    font-size: 2vw;
    line-height: 1.2;
  }

  .p40kEco {
    padding: 6vw var(--pad-x) 8vw var(--pad-x);
  }

  .p40kEcoSub {
    font-size: 2vw;
    line-height: 1.3;
    padding: 2vw 0 4vw 0;
  }

  .p40kEcoGrid {
    column-gap: 3vw;
  }

  .p40kAva {
    padding: 6vw var(--pad-x) 8vw var(--pad-x);
  }

  .p40kAvaList {
    padding-top: 4vw;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 3vw;
    row-gap: 4vw;
  }

  .p40kAvaItem img {
    width: 18vw;
  }

  .p40kAvaItem div {
    margin-top: 1.5vw;
    font-size: 2vw;
    line-height: 1.2;
  }

  .p40kComp {
    padding: 6vw var(--pad-x) 0 var(--pad-x);
    text-align: center;
  }

  .p40kComp img {
    padding: 5vw 0 8vw 0;
  }

  .p40kSpec {
    padding: 6vw var(--pad-x) 8vw var(--pad-x);
    grid-template-columns: 1fr;
    row-gap: 6vw;
  }

  .p40kSpecText {
    padding-top: 0;
  }

  .p40kSpecTitle {
    text-align: center;
  }

  .p40kSpecList {
    margin-top: 3vw;
  }

  .p40kSpecRow {
    font-size: 2vw;
    line-height: 4vw;
  }
}

@media (max-width: 768px) {
  .p40kSur {
    padding: 10vw var(--pad-x);
    grid-template-columns: 1fr;
    row-gap: 8vw;
  }

  .p40kSurStack {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 6vw;
  }

  .p40kSurSub {
    display: block;
  }
  
  .p40kPower .h1 br {
    display: none;
  }

  .p40kSurSub img {
    height: auto;
    object-fit: initial;
  }

  .p40kSurText {
    top: 4vw;
    font-size: 4vw;
    line-height: 1.2;
  }

  .p40kSurItem[data-align="left"] .p40kSurText {
    left: 4vw;
  }

  .p40kSurSubText {
    top: 2.5vw;
    font-size: 3.2vw;
    line-height: 1.2;
  }

  .p40kSurDesc {
    padding: 10vw 0 14vw 0;
    font-size: 3.75vw;
    line-height: 1.5;
    text-align: justify;
  }

  .p40kPower {
    padding: 5vw var(--pad-x) 0 var(--pad-x);
  }

  .p40kPower .body {
    font-size: 2.3vw;
    line-height: 1.6;
    padding: 2vw 0 50vw 0;
  }

  .p40kPlus {
    padding: 10vw var(--pad-x) 12vw var(--pad-x);
  }

  .p40kMax {
    padding: 0 var(--pad-x);
  }

  .p40kMaxHeader {
    position: static;
    padding-top: 6vw;
  }

  .p40kMaxHeader .body {
    font-size: 4vw;
    line-height: 1.6;
    padding: 5vw 0 10vw 0;
  }

  .p40kMaxGrid {
    padding-top: 0;
    grid-template-columns: 1fr;
    row-gap: 8vw;
  }

  .p40kMaxCardTitle {
    margin-top: 3vw;
    font-size: 7vw;
    line-height: 1.2;
  }

  .p40kDay {
    padding: 5vw var(--pad-x) 0 var(--pad-x);
  }

  .p40kDay .body {
    font-size: 2.3vw;
    line-height: 1.6;
    padding: 4vw 0 52vw 0;
  }

  .p40kSleek {
    padding: 20vw var(--pad-x) 26vw var(--pad-x);
  }

  .p40kSleek .body {
    font-size: 2.3vw;
    line-height: 1.6;
    margin-top: 4vw;
  }

  .p40kEff {
    padding: 10vw var(--pad-x) 12vw var(--pad-x);
  }

  .p40kEffGrid {
    padding-top: 6vw;
    grid-template-columns: 1fr;
    row-gap: 6vw;
  }

  .p40kEffItemTitle {
    top: 4vw;
    font-size: 5vw;
    line-height: 1.2;
  }

  .p40kEco {
    padding: 10vw var(--pad-x) 12vw var(--pad-x);
  }

  .p40kEcoSub {
    font-size: 4vw;
    line-height: 1.4;
    padding: 4vw 0 6vw 0;
  }

  .p40kEcoGrid {
    grid-template-columns: 1fr;
    row-gap: 6vw;
  }

  .p40kAva {
    padding: 10vw var(--pad-x) 12vw var(--pad-x);
  }

  .p40kAvaList {
    padding-top: 6vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4vw;
    row-gap: 6vw;
  }

  .p40kAvaItem img {
    width: 35vw;
  }

  .p40kAvaItem div {
    margin-top: 3vw;
    font-size: 4vw;
    line-height: 1.2;
  }

  .p40kComp {
    padding: 10vw var(--pad-x) 0 var(--pad-x);
    text-align: center;
  }

  .p40kComp img {
    padding: 6vw 0 10vw 0;
  }

  .p40kSpec {
    padding: 10vw var(--pad-x) 12vw var(--pad-x);
    grid-template-columns: 1fr;
    row-gap: 8vw;
  }

  .p40kSpecText {
    padding-top: 0;
  }

  .p40kSpecTitle {
    text-align: center;
  }

  .p40kSpecList {
    margin-top: 6vw;
  }

  .p40kSpecRow {
    align-items: flex-start;
    gap: 0;
    padding: 2vw 0;
    font-size: 4vw;
    line-height: 7vw;
  }

  .p40kSpecLabel,
  .p40kSpecValue {
    white-space: normal;
  }
}
