:root {
  --z43-navy: #142348;
  --z43-navy-2: #20365f;
  --z43-blue: #315b88;
  --z43-red: #d82432;
  --z43-yellow: #f2b842;
  --z43-ink: #1c2738;
  --z43-muted: #526279;
  --z43-surface: #ffffff;
  --z43-soft: #f5f7fa;
  --z43-line: #d9e1eb;
  --z43-radius: 8px;
  --z43-shadow: 0 18px 48px rgba(20, 35, 72, 0.11);
--z43-font: "Roboto", Arial, sans-serif;
  --z43-body-leading: 1.68;
  --z43-button-height: 44px;
  --z43-button-radius: 10px;
  --z43-button-transition: 180ms cubic-bezier(0.2, 0.7, 0.2, 1);
  --z43-heading-width: 1040px;
  --z43-reading-width: 960px;
  --z43-media-width: 1080px;
}

/* Three "Lĩnh vực tham gia" pages — source-faithful, native Flatsome layout. */
.z43-field-title-strip {
  background: linear-gradient(135deg, #f2f6fb 0%, #fff 72%);
  border-bottom: 1px solid var(--z43-line);
  padding-bottom: clamp(38px, 5vw, 64px) !important;
  padding-top: clamp(38px, 5vw, 64px) !important;
}
.z43-field-title-strip h1 { margin: 0; max-width: 940px; }

.z43-field-hero {
  align-items: center;
  display: flex;
  min-height: min(650px, calc(100vh - 76px));
  overflow: hidden;
  position: relative;
}
.z43-field-hero:before {
  background: linear-gradient(90deg, rgba(10, 24, 55, 0.22), rgba(10, 24, 55, 0.03) 70%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.z43-field-hero .section-content { position: relative; width: 100%; z-index: 2; }
.z43-field-hero-card > .col-inner {
  background: rgba(255, 255, 255, 0.97);
  border-left: 6px solid var(--z43-red);
  box-shadow: 0 24px 70px rgba(10, 24, 55, 0.2);
  padding: clamp(28px, 4.4vw, 58px);
}
.z43-field-hero-copy h1 {
  font-size: clamp(2.15rem, 3.65vw, 3.55rem);
  margin: 0;
  max-width: 620px;
  text-wrap: balance;
}
.z43-field-hero-copy .z43-kicker { margin-bottom: 15px; }

.z43-field-section {
  padding-bottom: clamp(56px, 6vw, 88px) !important;
  padding-top: clamp(56px, 6vw, 88px) !important;
}
.z43-field-section--soft { background: var(--z43-soft); }
.z43-field-intro--green { background: #e2f9ea; }
.z43-field-section > .section-content > .row + .row { margin-top: 26px; }
.z43-field-heading { margin: 0 auto 14px; max-width: 920px; }
.z43-field-heading h1,
.z43-field-heading h2 { margin-bottom: 15px; text-wrap: balance; }
.z43-field-heading h1 { font-size: clamp(2rem, 3.1vw, 3rem); }
.z43-field-heading p { color: var(--z43-muted); font-size: 1.03rem; margin: 0 auto; max-width: 860px; }
.z43-field-copy-col > .col-inner { padding: clamp(4px, 2vw, 28px); }
.z43-field-copy h2 { margin-bottom: 18px; text-wrap: balance; }
.z43-field-copy h3 { font-size: 1.13rem; margin: 26px 0 10px; }
.z43-field-copy p,
.z43-field-copy li { color: var(--z43-muted); }
.z43-field-copy p:last-child { margin-bottom: 0; }
.z43-field-copy-col .button,
.z43-field-basic-support .button,
.z43-field-requirements .button { margin: 25px 0 0; }

.z43-field-feature-image .img-inner,
.z43-field-wide-image .img-inner,
.z43-field-card-image .img-inner { overflow: hidden; }
.z43-field-feature-image img,
.z43-field-wide-image img,
.z43-field-card-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.z43-field-feature-image .img-inner,
.z43-field-wide-image .img-inner {
  border-radius: var(--z43-radius);
  box-shadow: 0 20px 52px rgba(20, 35, 72, 0.14);
}
.z43-field-dealer-main-image img { object-position: center 30%; }
.z43-field-image-note {
  background: var(--z43-navy);
  border-radius: 0 0 var(--z43-radius) var(--z43-radius);
  margin: -14px 20px 0;
  padding: 16px 20px;
  position: relative;
}
.z43-field-image-note p { color: #fff; font-size: 0.92rem; margin: 0; }

.z43-field-card-grid { align-items: stretch; row-gap: 28px; }
.z43-field-card > .col-inner,
.z43-field-image-card > .col-inner,
.z43-field-press-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  box-shadow: 0 12px 34px rgba(20, 35, 72, 0.07);
  height: 100%;
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
.z43-field-card > .col-inner:hover,
.z43-field-image-card > .col-inner:hover,
.z43-field-press-card > .col-inner:hover {
  border-color: rgba(49, 91, 136, 0.38);
  box-shadow: var(--z43-shadow);
  transform: translateY(-3px);
}
.z43-field-card .z43-field-card-image,
.z43-field-image-card .z43-field-card-image,
.z43-field-press-card .z43-field-card-image { margin: 0; }
.z43-field-card .z43-field-card-image .img-inner,
.z43-field-image-card .z43-field-card-image .img-inner,
.z43-field-press-card .z43-field-card-image .img-inner { border-radius: 0; }
.z43-field-card-copy { padding: 24px 26px 27px; }
.z43-field-card-copy h3 { font-size: clamp(1.08rem, 1.45vw, 1.32rem); margin-bottom: 11px; }
.z43-field-card-copy p { color: var(--z43-muted); font-size: 0.94rem; line-height: 1.65; margin-bottom: 0; }
.z43-field-image-card-title { padding: 20px 23px 22px; }
.z43-field-image-card-title h3 { font-size: clamp(1.08rem, 1.45vw, 1.3rem); margin: 0; }
.z43-field-condition-grid .z43-field-card-copy { padding-left: 20px; padding-right: 20px; }
.z43-field-condition-grid .z43-field-card-copy h3 { min-height: 2.6em; }

.z43-field-slider {
  background: transparent;
  overflow: visible;
  padding: 8px 0 42px;
}
.z43-field-slider > .slider > .img,
.z43-field-slider .flickity-slider > .img {
  margin-right: 22px;
  overflow: hidden;
}
.z43-field-project-slider > .slider > .img { flex: 0 0 33.333%; max-width: 33.333% !important; }
.z43-field-certificate-slider > .slider > .img { flex: 0 0 31.5%; max-width: 31.5% !important; }
.z43-field-slider .img-inner {
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  box-shadow: 0 14px 36px rgba(20, 35, 72, 0.11);
  overflow: hidden;
}
.z43-field-slider img { height: 100%; object-fit: cover; width: 100%; }
.z43-field-slider .flickity-page-dots { bottom: 4px; }
.z43-field-certificate-slider .img-inner { background: #fff; }
.z43-field-certificate-slider img { object-fit: contain; padding: 14px; }
.z43-field-partner-row { margin-top: 34px !important; }
.z43-field-partner-image .img-inner { border-radius: var(--z43-radius); overflow: hidden; }

.z43-field-principle-list p {
  border-bottom: 1px solid var(--z43-line);
  margin: 0;
  padding: 13px 0;
}
.z43-field-principle-list p:last-child { border-bottom: 0; }
.z43-field-principle-list p strong { color: var(--z43-red); margin-right: 8px; }
.z43-field-numbered-copy > p {
  border-bottom: 1px solid var(--z43-line);
  margin: 0;
  padding: 14px 0;
}
.z43-field-numbered-copy > p:last-child { border-bottom: 0; }
.z43-field-numbered-copy > p strong { color: var(--z43-navy); }
.z43-field-requirement-list ol {
  counter-reset: z43-requirement;
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 26px 0 0;
}
.z43-field-requirement-list li {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: 10px;
  counter-increment: z43-requirement;
  padding: 15px 18px 15px 55px;
  position: relative;
}
.z43-field-requirement-list li:before {
  align-items: center;
  background: rgba(216, 36, 50, 0.09);
  border-radius: 50%;
  color: var(--z43-red);
  content: counter(z43-requirement, decimal-leading-zero);
  display: flex;
  font-size: 0.72rem;
  font-weight: 800;
  height: 30px;
  justify-content: center;
  left: 14px;
  position: absolute;
  top: 13px;
  width: 30px;
}

.z43-field-press-grid { align-items: stretch; row-gap: 28px; }
.z43-field-press-copy { padding: 23px 25px 8px; }
.z43-field-press-copy p { color: var(--z43-muted); font-size: 0.93rem; line-height: 1.66; }
.z43-field-press-card .featured-box { padding: 10px 25px 24px; }
.z43-field-press-card .featured-box h4 { font-size: 0.94rem; margin: 0; }
.z43-field-press-card .featured-box .icon-box-img { margin-bottom: 0; }

@media (max-width: 849px) {
  .z43-field-hero { min-height: 560px; }
  .z43-field-hero-card { flex-basis: 70%; max-width: 70%; }
  .z43-field-card-grid > .col,
  .z43-field-press-grid > .col { flex-basis: 50%; max-width: 50%; }
  .z43-field-condition-grid > .col { flex-basis: 50%; max-width: 50%; }
  .z43-field-copy-col > .col-inner { padding: 0 8px; }
  .z43-field-project-slider > .slider > .img { flex-basis: 50%; max-width: 50% !important; }
  .z43-field-certificate-slider > .slider > .img { flex-basis: 47%; max-width: 47% !important; }
}

@media (max-width: 549px) {
  .z43-field-title-strip { padding-bottom: 36px !important; padding-top: 36px !important; }
  .z43-field-hero { min-height: 480px; }
  .z43-field-hero:before { background: rgba(10, 24, 55, 0.14); }
  .z43-field-hero-card { flex-basis: 94%; max-width: 94%; }
  .z43-field-hero-card > .col-inner { border-left-width: 4px; padding: 25px 22px; }
  .z43-field-hero-copy h1 { font-size: 2rem; }
  .z43-field-section { padding-bottom: 50px !important; padding-top: 50px !important; }
  .z43-field-section > .section-content > .row + .row { margin-top: 18px; }
  .z43-field-card-grid > .col,
  .z43-field-press-grid > .col,
  .z43-field-condition-grid > .col { flex-basis: 100%; max-width: 100%; }
  .z43-field-condition-grid .z43-field-card-copy h3 { min-height: 0; }
  .z43-field-copy-col { margin-top: 10px; }
  .z43-field-image-note { margin-left: 10px; margin-right: 10px; }
  .z43-field-slider > .slider > .img,
  .z43-field-slider .flickity-slider > .img { margin-right: 14px; }
  .z43-field-project-slider > .slider > .img { flex-basis: 86%; max-width: 86% !important; }
  .z43-field-certificate-slider > .slider > .img { flex-basis: 82%; max-width: 82% !important; }
  .z43-field-requirement-list ol { margin-left: 0; }
}

/* "Nhà máy Z43" — source-faithful layout rebuilt with native UX Builder elements. */
.z43-about-section {
  padding-bottom: clamp(60px, 6vw, 88px) !important;
  padding-top: clamp(60px, 6vw, 88px) !important;
}
.z43-about-section > .section-content > .z43-about-row + .z43-about-row {
  margin-top: 30px;
}
.z43-about-intro {
  background: #f1f4f8;
  padding-top: clamp(34px, 4vw, 58px) !important;
}
.z43-about-intro-row {
  align-items: flex-start;
}
.z43-about-intro-left > .col-inner,
.z43-about-intro-right > .col-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.z43-about-intro-right > .col-inner {
  gap: 18px;
}
.z43-about-image {
  margin-bottom: 0;
}
.z43-about-image .img-inner {
  background: #e9eef4;
  overflow: hidden;
}
.z43-about-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.z43-about-intro-main-image .img-inner {
  aspect-ratio: 3 / 2;
  padding-top: 0 !important;
}
.z43-about-intro-collage .img-inner {
  aspect-ratio: 1234 / 963;
  padding-top: 0 !important;
}
.z43-about-caption {
  border-bottom: 1px solid var(--z43-line);
  margin: 0 0 22px;
  padding: 10px 0 12px;
}
.z43-about-caption p {
  color: var(--z43-muted);
  font-size: 0.82rem;
  font-style: italic;
  margin: 0;
}
.z43-about-body p,
.z43-about-heading p {
  color: var(--z43-muted);
}
.z43-about-body p {
  font-size: 1rem;
  line-height: 1.72;
}
.z43-about-body p:last-child,
.z43-about-heading p:last-child {
  margin-bottom: 0;
}
.z43-about-intro-copy p {
  text-align: justify;
}
.z43-about-intro-heading h1 {
  font-size: clamp(1.9rem, 2.55vw, 2.75rem);
  line-height: 1.18;
  margin-bottom: 20px;
  text-wrap: balance;
}
.z43-about-intro-heading p {
  line-height: 1.7;
  margin-bottom: 0;
}
.z43-about-kicker {
  color: var(--z43-red);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.z43-about-heading {
  margin: 0 auto;
  max-width: 1030px;
}
.z43-about-heading h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.2;
  margin-bottom: 18px;
  text-wrap: balance;
}
.z43-about-heading > p {
  font-size: 1rem;
  line-height: 1.72;
  margin-left: auto;
  margin-right: auto;
}

.z43-about-vision {
  background: #fff;
  padding-top: 0 !important;
}
.z43-about-vision-image-row > .col {
  padding-left: 0;
  padding-right: 0;
}
.z43-about-vision-image .img-inner {
  aspect-ratio: 2 / 1;
  padding-top: 0 !important;
}
.z43-about-vision-copy-row {
  margin-top: clamp(42px, 5vw, 70px) !important;
}
.z43-about-vision-heading {
  max-width: 1100px;
  text-align: center;
}
.z43-about-vision-heading h2 {
  margin-bottom: 20px;
}
.z43-about-vision-heading h3 {
  color: var(--z43-navy);
  font-size: clamp(1.18rem, 1.75vw, 1.55rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 1080px;
}
.z43-about-vision-body {
  columns: 3;
  column-gap: 38px;
  margin-top: 28px;
}
.z43-about-vision-body p {
  break-inside: avoid;
  font-size: 0.94rem;
  text-align: justify;
}
.z43-about-area-grid {
  align-items: stretch;
  margin-top: 42px !important;
  row-gap: 22px;
}
.z43-about-area-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-top: 4px solid var(--z43-red);
  box-shadow: 0 12px 34px rgba(20, 35, 72, 0.07);
  height: 100%;
  min-height: 150px;
  padding: 28px 24px 24px;
}
.z43-about-area-card > .col-inner:before {
  color: rgba(20, 35, 72, 0.22);
  display: block;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}
.z43-about-area-card--01 > .col-inner:before { content: "01"; }
.z43-about-area-card--02 > .col-inner:before { content: "02"; }
.z43-about-area-card--03 > .col-inner:before { content: "03"; }
.z43-about-area-card--04 > .col-inner:before { content: "04"; }
.z43-about-area-card h3 {
  font-size: 1.12rem;
  line-height: 1.4;
  margin: 0;
}

.z43-about-production {
  background: #f5f7fa;
}
.z43-about-production-grid {
  align-items: stretch;
}
.z43-about-production-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  box-shadow: 0 14px 38px rgba(20, 35, 72, 0.08);
  height: 100%;
  overflow: hidden;
}
.z43-about-production-image .img-inner {
  aspect-ratio: 3 / 2;
  padding-top: 0 !important;
}
.z43-about-production-card h3 {
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
  margin: 0;
  padding: 22px 25px 24px;
}
.z43-about-production-note-row {
  margin-top: 28px !important;
}
.z43-about-production-note {
  border-left: 4px solid var(--z43-red);
  padding-left: 22px;
}

.z43-about-quality {
  background: #fff;
}
.z43-about-quality-grid {
  align-items: stretch;
  row-gap: 24px;
}
.z43-about-quality-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  box-shadow: 0 12px 32px rgba(20, 35, 72, 0.07);
  height: 100%;
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.z43-about-quality-card > .col-inner:hover {
  border-color: rgba(49, 91, 136, 0.4);
  box-shadow: var(--z43-shadow);
  transform: translateY(-3px);
}
.z43-about-quality-image .img-inner {
  aspect-ratio: 1 / .86;
  padding-top: 0 !important;
}
.z43-about-quality-copy {
  padding: 24px 23px 26px;
}
.z43-about-quality-copy h3 {
  font-size: 1.15rem;
  line-height: 1.4;
  margin-bottom: 12px;
}
.z43-about-quality-copy p {
  color: var(--z43-muted);
  font-size: 0.91rem;
  line-height: 1.65;
  margin: 0;
}

.z43-about-awards {
  background: #f5f7fa;
}
.z43-about-awards-grid {
  align-items: flex-start;
}
.z43-about-medal-image .img-inner {
  aspect-ratio: 1511 / 2305;
  background: #fff;
  padding-top: 0 !important;
}
.z43-about-medal-image img {
  object-fit: contain;
}
.z43-about-timeline-col > .col-inner {
  padding-left: clamp(15px, 3vw, 42px);
}
.z43-about-timeline {
  border-left: 2px solid var(--z43-line);
  padding-left: 32px;
}
.z43-about-timeline > div {
  border-bottom: 1px solid var(--z43-line);
  padding: 0 0 21px;
  position: relative;
}
.z43-about-timeline > div + div {
  padding-top: 21px;
}
.z43-about-timeline > div:before {
  background: var(--z43-red);
  border: 5px solid #f5f7fa;
  border-radius: 50%;
  content: "";
  height: 16px;
  left: -41px;
  position: absolute;
  top: 7px;
  width: 16px;
}
.z43-about-timeline > div + div:before {
  top: 28px;
}
.z43-about-timeline h3 {
  color: var(--z43-navy);
  font-size: 1.15rem;
  margin-bottom: 7px;
}
.z43-about-timeline p {
  color: var(--z43-muted);
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0;
}
.z43-about-certificate-image {
  margin-top: 28px;
}
.z43-about-certificate-image .img-inner {
  aspect-ratio: 1719 / 949;
  padding-top: 0 !important;
}

.z43-about-press {
  background: #fff;
}
.z43-about-press-grid {
  align-items: stretch;
  row-gap: 26px;
}
.z43-about-press-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  box-shadow: 0 12px 34px rgba(20, 35, 72, 0.07);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.z43-about-press-image .img-inner {
  aspect-ratio: 16 / 9;
  padding-top: 0 !important;
}
.z43-about-press-copy {
  flex: 1 1 auto;
  padding: 24px 25px 8px;
}
.z43-about-press-copy p {
  color: var(--z43-muted);
  font-size: 0.92rem;
  line-height: 1.68;
}
.z43-about-press-source {
  border-top: 1px solid var(--z43-line);
  margin: 12px 25px 0;
  padding: 18px 0 22px;
}
.z43-about-press-source .icon-box-img {
  margin-bottom: 0;
}
.z43-about-press-source h4 {
  font-size: 0.94rem;
  margin: 0;
}

@media (max-width: 849px) {
  .z43-about-vision-body { columns: 1; }
  .z43-about-area-grid > .col,
  .z43-about-quality-grid > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .z43-about-timeline-col > .col-inner { padding-left: 10px; }
  .z43-about-press-grid > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media (max-width: 549px) {
  .z43-about-section {
    padding-bottom: 50px !important;
    padding-top: 50px !important;
  }
  .z43-about-intro { padding-top: 24px !important; }
  .z43-about-intro-left { order: 2; }
  .z43-about-intro-right { order: 1; }
  .z43-about-intro-right > .col-inner { gap: 14px; }
  .z43-about-intro-heading h1 { font-size: 1.9rem; }
  .z43-about-intro-collage { margin-bottom: 24px; }
  .z43-about-caption { margin-bottom: 18px; }
  .z43-about-intro-copy p { text-align: left; }
  .z43-about-vision-copy-row { margin-top: 36px !important; }
  .z43-about-vision-heading { text-align: left; }
  .z43-about-vision-heading h3 { font-size: 1.08rem; }
  .z43-about-area-grid > .col,
  .z43-about-quality-grid > .col,
  .z43-about-press-grid > .col {
    flex-basis: 100%;
    max-width: 100%;
  }
  .z43-about-area-card > .col-inner { min-height: 0; }
  .z43-about-production-card + .z43-about-production-card { margin-top: 22px; }
  .z43-about-timeline-col { margin-top: 28px; }
  .z43-about-timeline-col > .col-inner { padding-left: 0; }
  .z43-about-timeline { margin-left: 8px; padding-left: 27px; }
  .z43-about-timeline > div:before { left: -36px; }
}

html { scroll-behavior: smooth; }
body.z43-site {
  color: var(--z43-ink);
  background: var(--z43-surface);
  font-family: var(--z43-font);
  font-size: 16px;
  line-height: var(--z43-body-leading);
  text-rendering: optimizeLegibility;
}

body.z43-site h1,
body.z43-site h2,
body.z43-site h3,
body.z43-site h4,
body.z43-site h5,
body.z43-site h6 {
  color: var(--z43-navy);
  font-family: var(--z43-font);
  font-weight: 760;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

body.z43-site h1 { font-size: clamp(2.15rem, 3.6vw, 3.25rem); }
body.z43-site h2 { font-size: clamp(1.65rem, 2.45vw, 2.25rem); }
body.z43-site h3 { font-size: clamp(1.18rem, 1.55vw, 1.45rem); }
body.z43-site h4 { font-size: 1.05rem; }
body.z43-site a { color: var(--z43-blue); }
body.z43-site a:hover { color: var(--z43-red); }

#main p,
#main li,
#main td,
#main th { line-height: var(--z43-body-leading); }
.entry-content p,
.entry-content li,
.product-short-description,
.woocommerce-Tabs-panel { font-size: 1rem; }
body.z43-site .entry-content h2,
body.z43-site .woocommerce-Tabs-panel h2,
body.z43-site .product-footer h2 {
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  margin-bottom: 0.65em;
  margin-top: 1.5em;
}
body.z43-site .entry-content h3,
body.z43-site .woocommerce-Tabs-panel h3,
body.z43-site .product-footer h3 { font-size: clamp(1.2rem, 1.55vw, 1.4rem); margin-top: 1.35em; }

.header-wrapper { box-shadow: 0 1px 0 rgba(20, 35, 72, 0.1); }
.header-main { min-height: 76px; }
.header-main .nav > li > a {
  color: var(--z43-navy);
}
.header-main .nav > li > a:hover,
.header-main .nav > li.active > a { color: var(--z43-red); }
.header-main .nav-dropdown {
  border: 1px solid var(--z43-line);
  border-radius: 0 0 var(--z43-radius) var(--z43-radius);
  box-shadow: var(--z43-shadow);
  padding: 10px;
}
.header-main .nav-dropdown > li > a { border-radius: 8px; color: var(--z43-ink); }
.header-main .nav-dropdown > li > a:hover { background: var(--z43-soft); color: var(--z43-red); }
.header-button .button,
.header-main .button {
  border-radius: var(--z43-button-radius);
  box-shadow: none;
  font-size: 13px;
  font-weight: 750;
  min-height: 40px;
  padding-left: 17px;
  padding-right: 17px;
}
.header-main .button.primary { background: var(--z43-red); }

.link-bao {
    display: flex;
    align-items: center;
}


.z43-hero {
  min-height: min(690px, calc(100vh - 76px));
  overflow: hidden;
  position: relative;
}
.z43-hero .bg-fill:after,
.z43-hero:before {
  background: linear-gradient(90deg, rgba(10, 24, 55, 0.84) 0%, rgba(10, 24, 55, 0.5) 48%, rgba(10, 24, 55, 0.06) 78%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.z43-hero .section-content { position: relative; z-index: 2; }
.z43-site .z43-hero h1,
.z43-site .z43-hero h2,
.z43-site .z43-hero p { color: #fff; }
.z43-hero h1 { max-width: 800px; }
.z43-hero p { font-size: clamp(1rem, 1.4vw, 1.2rem); max-width: 690px; }
.z43-hero__content { max-width: 780px; }
.z43-hero__content .z43-kicker { color: #fff; opacity: 0.82; }
.z43-hero__content h1 { margin-bottom: 20px; text-wrap: balance; }
.z43-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.z43-hero__actions .button { margin: 0; }
.z43-hero__actions .button.primary { color: #fff !important; }
.z43-home-hero .bg-fill { background-position: center 42% !important; }

.z43-kicker {
  color: var(--z43-red);
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.z43-heading { margin: 0 auto 38px; max-width: 780px; text-align: center; }
.z43-heading p { color: var(--z43-muted); font-size: 1.05rem; }

.z43-section { padding-bottom: clamp(48px, 6vw, 84px); padding-top: clamp(48px, 6vw, 84px); }
.z43-section--soft { background: var(--z43-soft); }
.z43-section--navy { background: var(--z43-navy); color: #fff; }
.z43-site .z43-section--navy h2,
.z43-site .z43-section--navy h3,
.z43-site .z43-section--navy p,
.z43-site .z43-section--navy a { color: #fff; }

.z43-richtext { color: var(--z43-ink); }
.z43-richtext p,
.z43-richtext li { color: var(--z43-muted); }
.z43-richtext > :last-child,
.z43-contact-card > :last-child,
.z43-support-card > :last-child { margin-bottom: 0; }
.z43-richtext img {
  border-radius: var(--z43-radius);
  height: auto;
  max-width: 100%;
}
.z43-richtext ul { list-style: none; margin-left: 0; }
.z43-richtext ul li { padding-left: 26px; position: relative; }
.z43-richtext ul li:before {
  color: var(--z43-red);
  content: "◆";
  font-size: 0.58rem;
  left: 5px;
  position: absolute;
  top: 0.55em;
}

/* Preserve the source contact layout while making its original icon list tidy. */
.page-id-463 .z43-section--soft .z43-richtext ul {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  box-shadow: 0 12px 34px rgba(20, 35, 72, 0.08);
  margin: 22px 0 0;
  overflow: hidden;
}
.page-id-463 .z43-section--soft .z43-richtext ul li {
  align-items: start;
  border-bottom: 1px solid var(--z43-line);
  display: grid;
  gap: 14px;
  grid-template-columns: 72px minmax(0, 1fr);
  margin: 0;
  padding: 15px 18px;
}
.page-id-463 .z43-section--soft .z43-richtext ul li:last-child { border-bottom: 0; }
.page-id-463 .z43-section--soft .z43-richtext ul li > br,
.page-id-463 .z43-section--soft .z43-richtext ul li > span:first-of-type { display: none; }
.page-id-463 .z43-section--soft .z43-richtext ul li:before {
  background: rgba(216, 36, 50, 0.08);
  border-radius: 999px;
  color: var(--z43-red);
  content: "Liên hệ";
  font-size: 0.69rem;
  font-weight: 800;
  left: auto;
  letter-spacing: 0.035em;
  line-height: 1;
  padding: 7px 9px;
  position: static;
  text-align: center;
  text-transform: uppercase;
  top: auto;
}
.page-id-463 .z43-section--soft .z43-richtext ul li:nth-child(1):before { content: "Địa chỉ"; }
.page-id-463 .z43-section--soft .z43-richtext ul li:nth-child(2):before { content: "Hotline"; }
.page-id-463 .z43-section--soft .z43-richtext ul li:nth-child(3):before { content: "Email"; }
.page-id-463 .z43-section--soft .z43-richtext ul li > span:last-child {
  color: var(--z43-navy);
  font-weight: 700;
  line-height: 1.45;
}

.z43-media img,
.z43-section .img img,
.product-small .box-image,
.post-item .box-image { border-radius: var(--z43-radius); }
.z43-section .img img { box-shadow: 0 12px 36px rgba(20, 35, 72, 0.12); }

.z43-embed {
  aspect-ratio: 16 / 9;
  background: var(--z43-navy);
  border-radius: var(--z43-radius);
  box-shadow: var(--z43-shadow);
  overflow: hidden;
}
.z43-embed iframe { border: 0; height: 100%; width: 100%; }

.z43-section .col-inner,
.z43-section .box,
.z43-card { transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.z43-card,
.z43-inner-grid > * {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  padding: clamp(20px, 2.4vw, 32px);
}
.z43-card:hover,
.z43-inner-grid > *:hover { border-color: rgba(49, 91, 136, 0.4); box-shadow: var(--z43-shadow); transform: translateY(-4px); }

.z43-press-grid { row-gap: 22px; }
.z43-press-card > .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  height: 100%;
  overflow: hidden;
  padding: clamp(20px, 2.2vw, 28px);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.z43-press-card > .col-inner:hover {
  border-color: rgba(49, 91, 136, 0.4);
  box-shadow: var(--z43-shadow);
  transform: translateY(-4px);
}
.z43-press-card .z43-media { margin-bottom: 18px; }
.z43-press-card .z43-media .img-inner { aspect-ratio: 16 / 10; overflow: hidden; }
.z43-press-card .z43-media img { height: 100%; object-fit: cover; }
.z43-press-card__content { color: var(--z43-muted); font-size: 0.95rem; line-height: 1.66; }
.z43-press-card__content span { color: var(--z43-ink); }
.z43-press-card__content a { font-weight: 700; }

.z43-product-card .col-inner,
.z43-section .col:has(.z43-richtext > .z43-media + p .button) .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  height: 100%;
  overflow: hidden;
  padding: 12px;
}
.z43-product-card .img-inner,
.z43-section .col:has(.z43-richtext > .z43-media + p .button) .img-inner {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.z43-product-card img,
.z43-section .col:has(.z43-richtext > .z43-media + p .button) img {
  height: 100%;
  object-fit: cover;
}
.z43-section .col:has(.z43-richtext > .z43-media + p .button) p { margin: 12px 0 0; }
.z43-product-card .button,
.z43-section .col:has(.z43-richtext > .z43-media + p .button) .button {
  display: flex;
  margin: 12px 0 0;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

/* 1250px layout tuning: keep wide media, but protect reading rhythm. */

.z43-section > .section-content > .row:has(> .col:only-child .z43-embed) {
  max-width: calc(var(--z43-media-width) + 30px);
}
.z43-section > .section-content > .row:has(> .col .z43-richtext > .z43-media + p .button) {
  justify-content: center;
}
.z43-section > .section-content > .row:has(> .z43-product-card) { justify-content: center; }
.z43-section:has(> .section-content > .row > .col .z43-richtext > .z43-media + p .button) > .section-content {
  padding-bottom: clamp(20px, 2.2vw, 32px);
  padding-top: clamp(20px, 2.2vw, 32px);
}
.z43-section:has(> .section-content > .row > .z43-product-card) > .section-content {
  padding-bottom: clamp(20px, 2.2vw, 32px);
  padding-top: clamp(20px, 2.2vw, 32px);
}
.z43-section:has(h1, h2):not(:has(.img, iframe, .button)) > .section-content {
  padding-bottom: clamp(30px, 3.2vw, 46px);
  padding-top: clamp(30px, 3.2vw, 46px);
}
.z43-section:has(h1, h2):has(.img, iframe) > .section-content {
  padding-bottom: clamp(24px, 2.8vw, 40px);
  padding-top: clamp(24px, 2.8vw, 40px);
}
.z43-section:not(:has(h1, h2, h3, p, .button)) > .section-content {
  padding-bottom: clamp(18px, 2vw, 28px);
  padding-top: clamp(18px, 2vw, 28px);
}
.z43-section > .section-content > .row:has(> .col:nth-child(5):last-child):not(:has(h1, h2, h3, p, .button)) {
  justify-content: center;
}
.z43-section > .section-content > .row:has(> .col:nth-child(5):last-child):not(:has(h1, h2, h3, p, .button)) > .col {
  flex-basis: 20%;
  max-width: 20%;
}

/* Keep headings inside multi-column content proportional to their cards. */
.z43-section .row > .col:not(.large-12) .z43-richtext > h2,
.z43-section .row > .col:not(.large-12) .col-inner > h2 {
  font-size: clamp(1.38rem, 2vw, 1.75rem);
  line-height: 1.25;
}
.z43-inner-grid h2.title {
  font-size: clamp(1.3rem, 1.8vw, 1.5rem);
  line-height: 1.3;
}

/* Product-line landing pages: native UX Builder structure and reading rhythm. */
.z43-product-line__intro {
  background: linear-gradient(135deg, #fff 0%, #f6f8fb 100%);
  border-bottom: 1px solid var(--z43-line);
}
.z43-product-line__intro > .section-content {
  padding-bottom: clamp(54px, 6vw, 78px);
  padding-top: clamp(54px, 6vw, 78px);
}
.z43-product-line:not(.z43-product-line__intro) {
  padding-bottom: clamp(44px, 4.5vw, 64px);
  padding-top: clamp(44px, 4.5vw, 64px);
}
.z43-product-line__intro-copy { padding-right: clamp(18px, 3vw, 46px); }
.z43-product-line__intro h1 {
  font-size: clamp(2.25rem, 4vw, 3.6rem);
  line-height: 1.08;
  margin-bottom: 22px;
  max-width: 760px;
  text-wrap: balance;
}
.z43-product-line__intro .z43-richtext p {
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  line-height: 1.78;
}
.z43-product-line__button {
  margin-bottom: 0;
  margin-right: 10px;
  margin-top: 12px;
}
.z43-product-line__intro-media > .col-inner {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.z43-product-line__intro-media .img:first-child { grid-column: 1 / -1; }
.z43-product-line__intro-media .img { margin: 0; }
.z43-product-line__intro-media .img-inner,
.z43-product-line__media .img-inner {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  justify-content: center;
  overflow: visible;
  padding: 0;
}
.z43-product-line__intro-media img,
.z43-product-line__media img {
  border-radius: clamp(6px, 0.8vw, 10px);
  box-shadow: none !important;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.z43-product-line__intro-media img { max-height: 540px; }
.z43-product-line__media img { max-height: none; }
.z43-product-line__heading {
  margin: 0 0 clamp(30px, 3vw, 42px);
  max-width: 920px;
  text-align: left;
}
.z43-product-line__heading h2 {
  margin-bottom: 0;
  text-wrap: balance;
}
.z43-product-line__heading h2:after {
  background: var(--z43-red);
  border-radius: 999px;
  content: "";
  display: block;
  height: 3px;
  margin: 14px 0 0;
  width: 52px;
}
.z43-product-line__media-grid {
  align-items: stretch;
  justify-content: center;
  margin-bottom: clamp(26px, 3vw, 40px);
  row-gap: 30px;
}
.z43-product-line__media { display: flex; }
.z43-product-line__media > .col-inner { display: flex; width: 100%; }
.z43-product-line__media .img,
.z43-product-line__media .img-inner { width: 100%; }
.z43-product-line__specs .z43-product-line__media {
  flex-basis: 100%;
  max-width: 100%;
}
.z43-product-line__specs .z43-product-line__media img {
  max-height: none;
  width: 100%;
}
.z43-product-line__copy { text-align: left; }
.z43-product-line__copy > .col-inner {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.z43-product-line__copy .z43-richtext {
  line-height: 1.78;
  max-width: 78ch;
}
.z43-product-line__copy .z43-richtext p:last-child,
.z43-product-line__copy .z43-richtext ul:last-child { margin-bottom: 0; }
.z43-product-line__certificates .z43-source-slider {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

.z43-proof-strip {
  background: #fff;
  border-bottom: 1px solid var(--z43-line);
  box-shadow: 0 12px 38px rgba(20, 35, 72, 0.07);
  position: relative;
  z-index: 3;
}
.z43-proof-strip__row { padding-bottom: 22px; padding-top: 22px; }
.z43-proof-strip .col { border-right: 1px solid var(--z43-line); }
.z43-proof-strip .col:last-child { border-right: 0; }
.z43-proof-strip .text { display: flex; flex-direction: column; padding: 2px 18px; }
.z43-proof-strip strong { color: var(--z43-navy); font-size: 1.06rem; line-height: 1.25; }
.z43-proof-strip span { color: var(--z43-muted); font-size: 0.78rem; margin-top: 4px; }

.z43-about-image .img-inner { aspect-ratio: 16 / 10; }
.z43-about-image img { height: 100%; object-fit: cover; }
.z43-about-copy { padding-left: clamp(10px, 3vw, 46px); }
.z43-product-category .col-inner {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  height: 100%;
  overflow: hidden;
}
.z43-product-category .img,
.z43-product-category .img-inner { border-radius: 0; }
.z43-product-category .img-inner { aspect-ratio: 16 / 10; }
.z43-product-category .img img { border-radius: 0; box-shadow: none; height: 100%; object-fit: cover; }
.z43-product-category .text { padding: 20px 22px 22px; }
.z43-product-category h3 { font-size: 1.1rem; margin-bottom: 8px; }
.z43-product-category p { margin: 0; }
.z43-product-category a { color: var(--z43-red) !important; font-size: 0.86rem; font-weight: 750; }
.z43-product-category .col-inner:hover { border-color: rgba(49, 91, 136, 0.36); box-shadow: var(--z43-shadow); transform: translateY(-3px); }
.z43-product-category-grid { row-gap: 26px; }

.z43-check-grid { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin: 24px 0 28px; }
.z43-check-grid span { color: var(--z43-navy); font-size: 0.9rem; font-weight: 700; padding-left: 22px; position: relative; }
.z43-check-grid span:before { color: var(--z43-red); content: "✓"; left: 0; position: absolute; }
.z43-certificate-image .img-inner { background: #fff; border: 1px solid var(--z43-line); border-radius: var(--z43-radius); padding: 14px; }
.z43-certificate-image img { box-shadow: none !important; }

body.z43-site .button:not(.icon),
body.z43-site #main input[type="submit"],
body.z43-site #main button[type="submit"] {
  align-items: center;
  border-radius: var(--z43-button-radius);
  display: inline-flex;
  font-family: var(--z43-font);
  font-size: 0.875rem;
  font-weight: 750;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.15;
  min-height: var(--z43-button-height);
  padding: 0 20px;
  text-transform: none;
  transition: background-color var(--z43-button-transition), border-color var(--z43-button-transition), box-shadow var(--z43-button-transition), color var(--z43-button-transition), transform var(--z43-button-transition);
  white-space: nowrap;
}
body.z43-site .button:not(.icon):not(.is-outline):not(.plain):not(.white),
body.z43-site #main input[type="submit"],
body.z43-site #main button[type="submit"] { background: var(--z43-navy); color: #fff !important; }
body.z43-site .button.primary:not(.is-outline),
body.z43-site #main input[type="submit"].primary { background: var(--z43-red); }
body.z43-site .button:not(.icon):not(.is-outline):not(.plain):hover,
body.z43-site #main input[type="submit"]:hover,
body.z43-site #main button[type="submit"]:hover {
  background: #b91e2a;
  box-shadow: 0 9px 22px rgba(216, 36, 50, 0.22);
  color: #fff !important;
  transform: translateY(-1px);
}
body.z43-site .button.is-outline:not(.icon) {
  background: transparent;
  border-color: var(--z43-navy);
  color: var(--z43-navy) !important;
}
body.z43-site .button.primary.is-outline {
  background: transparent;
  border-color: var(--z43-red);
  color: var(--z43-red) !important;
}
body.z43-site .button.is-outline:not(.icon):hover { background: var(--z43-navy); border-color: var(--z43-navy); color: #fff !important; }
body.z43-site .button.primary.is-outline:hover { background: var(--z43-red); border-color: var(--z43-red); color: #fff !important; }
body.z43-site .button.secondary { background: var(--z43-yellow); color: var(--z43-navy) !important; }
body.z43-site .header-main .button:not(.icon) {
  font-size: 13px;
  min-height: 40px;
  padding-left: 17px;
  padding-right: 17px;
}
.button:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline: 3px solid rgba(49, 91, 136, 0.38); outline-offset: 3px; }
#main input[type="text"],
#main input[type="email"],
#main input[type="tel"],
#main input[type="search"],
#main input[type="number"],
#main input[type="password"],
#main textarea,
#main select {
  border: 1px solid #c5cfdb;
  border-radius: var(--z43-button-radius);
  box-shadow: none;
  color: var(--z43-ink);
  font-family: var(--z43-font);
  font-size: 0.96rem;
  min-height: 46px;
  padding-left: 13px;
  padding-right: 13px;
  transition: border-color var(--z43-button-transition), box-shadow var(--z43-button-transition);
}
#main textarea { line-height: 1.55; min-height: 132px; padding-bottom: 12px; padding-top: 12px; }
#main input::placeholder,
#main textarea::placeholder { color: #75849a; opacity: 1; }
#main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
#main textarea:focus,
#main select:focus { border-color: var(--z43-blue); box-shadow: 0 0 0 3px rgba(49, 91, 136, 0.12); }
#main label { color: var(--z43-navy); font-size: 0.88rem; font-weight: 700; letter-spacing: 0.005em; }
.wp-block-search__inside-wrapper { align-items: center; }
body.z43-site #main .wp-block-search__button {
  align-self: center;
  flex: 0 0 auto;
  height: 46px;
  margin-left: 8px;
  min-height: 46px;
  padding-left: 15px;
  padding-right: 15px;
}

.z43-inner-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(var(--z43-grid-cols, 2), minmax(0, 1fr));
  margin: 24px 0;
}

.shop-container .products,
.row.category-page-row .products { row-gap: 28px; }
.z43-shop-intro { margin: 6px 0 38px; max-width: 760px; }
.z43-shop-intro h1 { margin-bottom: 12px; }
.z43-shop-intro p { color: var(--z43-muted); font-size: 1.04rem; }
.product-small .box,
.post-item .box {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  height: 100%;
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.product-small .box:hover,
.post-item .box:hover { box-shadow: var(--z43-shadow); transform: translateY(-4px); }
.product-small .box-text,
.post-item .box-text { padding: 20px; }
.product-small .box-image,
.post-item .box-image { overflow: hidden; }
.product-small .box-image img,
.post-item .box-image img { transition: transform 260ms ease; }
.product-small .box:hover .box-image img,
.post-item .box:hover .box-image img { transform: scale(1.025); }
.product-small .name,
.post-item .post-title { color: var(--z43-navy); font-size: 1.02rem; font-weight: 750; line-height: 1.4; }
.post-item .post-title { font-size: 1.08rem; }
.post-item .from_the_blog_excerpt { color: var(--z43-muted); font-size: 0.94rem; line-height: 1.62; }
.post-item .post-meta { color: var(--z43-muted); font-size: 0.76rem; letter-spacing: 0.025em; }
.z43-card-cta {
  color: var(--z43-red);
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 750;
  gap: 8px;
  margin-top: 12px;
}
.product-main { padding-bottom: 60px; padding-top: 48px; }
.product-gallery .flickity-viewport,
.product-gallery .woocommerce-product-gallery__image img { border-radius: var(--z43-radius); }
.product-info .product-title { font-size: clamp(2.05rem, 3.2vw, 3rem); line-height: 1.16; }
.product-info .product-short-description { color: var(--z43-muted); line-height: 1.72; }
.product_meta { color: var(--z43-muted); font-size: 0.85rem; line-height: 1.65; }
.woocommerce-tabs .nav > li > a { font-size: 0.84rem; font-weight: 750; letter-spacing: 0.035em; }
.z43-product-quote { margin-top: 14px; }

.page-title { background: var(--z43-soft); border-bottom: 1px solid var(--z43-line); }
.page-title .page-title-inner { min-height: 130px; }
.page-title h1 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.breadcrumbs { color: var(--z43-muted); font-size: 0.78rem; letter-spacing: 0.045em; line-height: 1.45; }
.breadcrumbs a { color: var(--z43-muted); }
.breadcrumbs a:hover { color: var(--z43-red); }

.z43-page-intro {
  background: linear-gradient(135deg, #eef3f9 0%, #f8fafc 70%);
  border-bottom: 1px solid var(--z43-line);
  padding-bottom: clamp(56px, 7vw, 92px) !important;
  padding-top: clamp(52px, 7vw, 86px) !important;
}
.z43-page-intro h1 { margin-bottom: 18px; max-width: 820px; }
.z43-page-intro p { color: var(--z43-muted); font-size: 1.08rem; max-width: 720px; }
.z43-contact-card,
.z43-support-card {
  background: #fff;
  border: 1px solid var(--z43-line);
  border-radius: var(--z43-radius);
  height: 100%;
  padding: clamp(24px, 3vw, 38px);
}
.z43-contact-card { box-shadow: var(--z43-shadow); }
.z43-contact-list { border-top: 1px solid var(--z43-line); margin: 24px 0; }
.z43-contact-list p { border-bottom: 1px solid var(--z43-line); color: var(--z43-ink); display: grid; gap: 4px; margin: 0; padding: 14px 0; }
.z43-contact-list strong { color: var(--z43-muted); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }
.z43-contact-list a { color: var(--z43-navy); font-weight: 750; }
.z43-map { background: var(--z43-soft); border: 1px solid var(--z43-line); border-radius: var(--z43-radius); height: 100%; min-height: 560px; overflow: hidden; }
.z43-map iframe { border: 0; height: 100%; min-height: 560px; width: 100%; }
.z43-support-card { box-shadow: 0 10px 30px rgba(20, 35, 72, 0.07); }
.z43-support-card a { color: var(--z43-red) !important; font-weight: 750; }
.z43-quote-steps { border-top: 1px solid var(--z43-line); margin-top: 28px; }
.z43-quote-steps p { align-items: center; border-bottom: 1px solid var(--z43-line); display: grid; gap: 18px; grid-template-columns: 56px 1fr; margin: 0; padding: 18px 0; }
.z43-quote-steps strong { color: var(--z43-red); font-size: 1.35rem; }
.z43-quote-steps span { color: var(--z43-ink); font-weight: 650; }

.z43-cta { background: var(--z43-navy); color: #fff; padding-bottom: 46px !important; padding-top: 46px !important; }
.z43-site .z43-cta h2,
.z43-cta p,
.z43-cta a { color: #fff; }
.z43-cta h2 { margin-bottom: 8px; }
.z43-cta p { margin-bottom: 0; opacity: 0.82; }
.z43-cta .z43-kicker { color: #fff; opacity: 0.7; }
.z43-cta .button { color: #fff !important; margin-bottom: 0; }

.z43-footer { background: var(--z43-navy); color: rgba(255, 255, 255, 0.78); font-size: 0.94rem; line-height: 1.65; }
.z43-site .z43-footer h3,
.z43-site .z43-footer h4,
.z43-footer a,
.z43-footer strong { color: #fff; }
.z43-footer a { color: rgba(255, 255, 255, 0.84) !important; }
.z43-footer a:hover { color: var(--z43-yellow) !important; }
.z43-footer .button.primary {
  background: var(--z43-red) !important;
  border-color: var(--z43-red) !important;
  color: #fff !important;
}
.z43-footer .button.primary:hover {
  background: #b91e2a !important;
  border-color: #b91e2a !important;
  color: #fff !important;
}
.z43-footer ul { list-style: none; margin: 0; }
.z43-footer li { margin-bottom: 9px; }
body.z43-site .z43-footer h3 { font-size: 1.25rem; }
body.z43-site .z43-footer h4 { font-size: 0.8rem; letter-spacing: 0.07em; text-transform: uppercase; }
.z43-footer__brand img { background: #fff; border-radius: 12px; max-width: 122px; padding: 8px; }
.z43-footer { padding-bottom: 28px !important; }
.z43-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.65); font-size: 0.83rem; padding: 16px 0 0; }
.z43-footer__bottom .col { padding-bottom: 0; }
.z43-footer__bottom p { margin-bottom: 0; }
.absolute-footer { display: none; }

.z43-reveal,
.z43-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1024px) {
  .header-main { min-height: 68px; }
  .z43-hero { min-height: 560px; }
  .z43-proof-strip .col:nth-child(2) { border-right: 0; }
}

@media (min-width: 1025px) {
  .header-main .header-inner { padding-left: clamp(18px, 1.7vw, 24px); padding-right: clamp(18px, 1.7vw, 24px); }
}

@media (min-width: 1025px) and (max-width: 1299px) {
  .header-main .nav > li { margin-left: 5px; margin-right: 5px; }
  .header-main .nav > li > a { font-size: 13px; }
}

@media (min-width: 768px) and (max-width: 849px) {
  .z43-press-card,
  .z43-product-card,
  .z43-section > .section-content > .row:has(> .col .z43-richtext > .z43-media + p .button) > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
  .z43-section > .section-content > .row:has(> .col:nth-child(5):last-child):not(:has(h1, h2, h3, p, .button)) > .col {
    flex-basis: 33.333%;
    max-width: 33.333%;
  }
}

@media (max-width: 767px) {
  body.z43-site { font-size: 15px; }
  body.z43-site h1 { font-size: clamp(2rem, 10vw, 3.05rem); }
  body.z43-site h2 { font-size: clamp(1.55rem, 7.2vw, 2.15rem); }
  .z43-section { padding-bottom: 50px; padding-top: 50px; }
  .z43-hero { min-height: 520px; }
  .z43-hero .bg-fill:after,
  .z43-hero:before { background: linear-gradient(90deg, rgba(10, 24, 55, 0.88), rgba(10, 24, 55, 0.56)); }
  .z43-inner-grid { grid-template-columns: 1fr; }
  .page-title .page-title-inner { min-height: 104px; }
  .product-main { padding-top: 30px; }
  .z43-hero__actions { align-items: stretch; flex-direction: column; }
  .z43-hero__actions .button { width: fit-content; }
  .z43-proof-strip__row { padding-bottom: 10px; padding-top: 10px; }
  .z43-proof-strip .col { border-bottom: 1px solid var(--z43-line); padding-bottom: 14px; padding-top: 14px; }
  .z43-proof-strip .col:nth-last-child(-n+2) { border-bottom: 0; }
  .z43-about-copy { padding-left: 0; padding-top: 24px; }
  .z43-product-line__intro-copy { padding-right: 15px; }
  .z43-product-line__intro-media { margin-top: 28px; }
  .z43-product-line__intro-media .img:first-child .img-inner,
  .z43-product-line__intro-media .img:not(:first-child) .img-inner { min-height: 0; }
  .z43-product-line__intro-media > .col-inner { gap: 10px; }
  .z43-product-line__copy > .col-inner { padding: 0; }
  .z43-product-line__specs .z43-product-line__media > .col-inner {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    padding-bottom: 8px;
  }
  .z43-product-line__specs .z43-product-line__media img {
    max-width: none;
    min-width: 760px;
  }
  .z43-map,
  .z43-map iframe { min-height: 390px; }
  .z43-contact-section .col + .col { margin-top: 20px; }
  .z43-check-grid { grid-template-columns: 1fr; }
  .z43-cta .col[align="right"] { text-align: left; }
  .z43-source-slider .flickity-slider > .img:after {
    font-size: 7px;
    line-height: 1.2;
  }
  .z43-source-slider .flickity-slider > .img:nth-child(2):after { padding-left: 2%; padding-right: 2%; }
  .z43-source-slider .flickity-slider > .img:nth-child(3):after { padding-bottom: 1%; padding-top: 1%; }
  .z43-press-card,
  .z43-product-card,
  .z43-section > .section-content > .row:has(> .col .z43-richtext > .z43-media + p .button) > .col {
    flex-basis: 100%;
    max-width: 540px;
  }
  .z43-section:has(h1, h2):not(:has(.img, iframe, .button)) > .section-content,
  .z43-section:has(h1, h2):has(.img, iframe) > .section-content {
    padding-bottom: 28px;
    padding-top: 28px;
  }
  .z43-section:not(:has(h1, h2, h3, p, .button)) > .section-content {
    padding-bottom: 14px;
    padding-top: 14px;
  }
}

@media (max-width: 549px) {
  .z43-section > .section-content > .row:has(> .col:nth-child(5):last-child):not(:has(h1, h2, h3, p, .button)) > .col {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media (max-width: 390px) {
  .z43-section { padding-left: 2px; padding-right: 2px; }
}

/* Final ratio overrides: the legacy site-wide .z43-about-image rule appears
   later in this stylesheet, so page-scoped selectors must win explicitly. */
.z43-about-section .z43-about-intro-main-image .img-inner {
  aspect-ratio: 3 / 2;
}
.z43-about-section .z43-about-intro-collage .img-inner {
  aspect-ratio: 1234 / 963;
}
.z43-about-section .z43-about-vision-image .img-inner {
  aspect-ratio: 2 / 1;
}
.z43-about-section .z43-about-production-image .img-inner {
  aspect-ratio: 3 / 2;
}
.z43-about-section .z43-about-quality-image .img-inner {
  aspect-ratio: 1 / .86;
}
.z43-about-section .z43-about-medal-image .img-inner {
  aspect-ratio: 1511 / 2305;
}
.z43-about-section .z43-about-medal-image img {
  object-fit: contain;
}
.z43-about-section .z43-about-certificate-image .img-inner {
  aspect-ratio: 1719 / 949;
}
.z43-about-section .z43-about-press-image .img-inner {
  aspect-ratio: 16 / 9;
}

/* Single news: keep long headlines readable without changing Flatsome's structure. */
@media (min-width: 768px) {
  body.single-post .entry-header .entry-title {
    font-size: clamp(2.25rem, 3.1vw, 2.9rem);
    line-height: 1.18;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
  .z43-reveal { opacity: 1; transform: none; }
}
