/*
 * CSS File: style.css
 * Deskripsi: Gaya kustom untuk landing page penjualan Acne Care Day Cream
 * Tanggal Pembuatan: [Tanggal Anda Membuat File]
 * Terakhir Diperbarui: [Tanggal Hari Ini]
 *
 * Daftar Isi:
 * 1. Gaya Dasar Halaman & Layout Umum
 * 2. Header
 * 3. Hero Section
 * 4. Gaya Tombol CTA (Dasar)
 * 5. Gaya Section Umum (Padding, Background) & Judul H2
 * 6. Section Problem Elaboration
 * 7. Section Benefits
 * 8. Section Ingredients
 * 9. Section Social Proof (Testimoni & Slider)
 * 10. Section Guarantee / Value Proposition
 * 11. Section Pricing (Promo Beli 2 Gratis 1)
 * 12. Section FAQ (Accordion)
 * 13. Section CTA Bottom
 * 14. Footer
 * 15. Gaya Video Vertikal
 * 16. Responsive Adjustments (@media)
 * 17. Gaya Custom Class (Owner Specific)
 */

/* 1. Gaya Dasar Halaman & Layout Umum */
body {
  font-family: sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  color: #333;
  background-color: #f9f9f9;
  overflow-x: hidden;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
  box-sizing: border-box;
}

/* 2. Header */
header {
  background-color: #e4efe7;
  padding: 10px 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

header .logo {
  display: block;
  text-align: center;
}

/* 3. Hero Section */
.hero {
  background-color: #e4efe7;
  color: #333;
  padding: 60px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Gaya khusus hero promo jika masih ada dan tidak diganti total */
.hero.promo-hero {
  color: #007074;
}
.hero.promo-hero h1 {
  font-size: 42px;
  margin-bottom: 10px;
  color: #ff5252;
  line-height: 1.1;
}
.hero.promo-hero h1 .sub-headline-hero {
  display: block;
  font-size: 24px;
  color: #007074;
  margin-bottom: 5px;
}
.hero.promo-hero p {
  font-size: 20px;
  margin-bottom: 20px;
  color: #333;
}
.hero-promo-price {
  font-size: 28px;
  font-weight: bold;
  color: #007074;
  margin-bottom: 25px;
}
.hero-promo-price span {
  color: #ff5252;
  font-size: 1.5em;
}
.hero.promo-hero .promo-image {
  max-width: 450px;
  height: auto;
  margin: 0 auto 30px auto;
  display: block;
}
.hero.promo-hero .hero-cta-promo {
  font-size: 22px;
  padding: 18px 35px;
  background-color: #ff5252;
  color: white;
}
.hero.promo-hero .hero-cta-promo:hover {
  background-color: #c62828;
}

/* Gaya hero standar jika tidak menggunakan promo-hero */
.hero h1 {
  font-size: 36px;
  margin-bottom: 15px;
  color: #007074;
}
.hero h1 strong {
  color: #ff5252;
}
.hero p {
  font-size: 18px;
  margin-bottom: 30px;
}
.hero .hero-image {
  max-width: 400px;
  height: auto;
  margin: 20px auto 0;
  display: block;
}

/* 4. Gaya Tombol CTA (Dasar) */
.cta-button {
  display: inline-block;
  background-color: #5f99ae;
  color: white;
  font-size: 20px;
  font-weight: bold;
  padding: 15px 30px;
  border-radius: 5px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  border: none;
  cursor: pointer;
}

.cta-button:hover {
  background-color: #7d0a0a;
}

/* 5. Gaya Section Umum (Padding, Background) & Judul H2 */
section {
  padding: 40px 0;
  text-align: center;
}

/* Atur background bergantian untuk beberapa section */
section:nth-of-type(2n + 1):not(.hero):not(.promo-offer):not(.cta-bottom):not(.footer):not(.urgency-timer-section):not(.highlight-testimonials-promo) {
  background-color: #f0f0f0;
}

h2 {
  font-size: 28px;
  margin-bottom: 30px;
  color: #034c53;
}

/* 6. Section Problem Elaboration */
/* Gaya untuk UL container (berlaku untuk semua list di section terkait) */
.ingredients ul,
.benefits ul,
.problem-elaboration ul {
  list-style: none;
  padding: 0;
  max-width: 800px;
  margin: 20px auto;
  text-align: left;
}

/* Gaya standar untuk setiap item List (LI) - STACKING (Ingredients, Problem Elaboration) */
/* Item akan tampil satu per baris */
.ingredients li,
.problem-elaboration li {
  background-color: #fff;
  padding: 15px 20px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 15px;
  text-align: left;
  box-sizing: border-box;
  position: relative;
  padding-left: 40px; /* Memberi ruang di kiri untuk ikon */
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Gaya untuk bullet/ikon ::before (khusus Ingredients dan Problem Elaboration) */
.ingredients li::before,
.problem-elaboration li::before {
  content: '✓';
  position: absolute;
  left: 15px; /* Posisi dari kiri */
  top: 50%; /* Geser ke bawah 50% tinggi parent */
  transform: translateY(-50%); /* Geser ke atas 50% tinggi diri sendiri */
  color: #4caf50;
  font-weight: bold;
  font-size: 1.2em;
}

/* 7. Section Benefits */
/* Gaya KHUSUS untuk item List di Benefits (Card Layout) */
/* Item akan tampil dalam kolom */
.benefits ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-bottom: 40px;
}
.benefits li {
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  margin-bottom: 0;
  text-align: center;
  box-sizing: border-box;
  width: calc((100% - 40px) / 3);
  min-width: 250px;
  /* Hapus position relative, padding-left jika tidak pakai ::before di Benefits */
}
/* Pastikan strong di benefit card kembali ke default styling */
.benefits li strong {
  color: #7d0a0a;
  display: block;
  margin-bottom: 5px;
}

/* 8. Section Ingredients */
/* Menggunakan gaya UL/LI standar dari Section Problem Elaboration */

/* 9. Section Social Proof (Testimoni & Slider) */
.social-proof {
  padding: 40px 0;
  text-align: center;
}

.social-proof .testimonial {
  margin: 0 15px;
  background-color: #fff;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  font-style: italic;
  text-align: center;
  box-sizing: border-box;
}

.social-proof .testimonial-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Gaya untuk Foto Testimoni (Before-After) */
.social-proof .testimonial-avatar {
  width: 100%;
  max-width: 350px;
  height: auto;
  border-radius: 5px;
  object-fit: cover;
  margin-bottom: 15px;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.social-proof .testimonial p {
  margin-bottom: 15px;
  font-style: italic;
  flex-grow: 1;
}

.social-proof .testimonial cite {
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-weight: bold;
  color: #555;
}

/* Styling untuk rating bintang jika ada (di luar slider) */
.social-proof .rating {
  font-size: 28px;
  color: #ffb300;
  margin-bottom: 20px;
}

/* Styling untuk Before & After (di luar slider) */
.social-proof .before-after {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.social-proof .before-after div {
  flex: 1;
  min-width: 250px;
  max-width: 350px;
  text-align: center;
}

.social-proof .before-after img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.social-proof .before-after p {
  margin-top: 10px;
  font-weight: bold;
  color: #c62828;
}

/* Styling untuk Navigasi Slick Carousel (Panah & Titik) */
/* Menggunakan gaya dari slick-theme.css, override di sini jika perlu kustomisasi visual */
.slick-prev:before,
.slick-next:before {
  font-family: 'slick';
  font-size: 35px !important;
  line-height: 1;
  opacity: 0.75;
  color: #c62828 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
.slick-next {
  right: -25px;
}

.slick-dots {
  bottom: -30px;
}

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 12px !important;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: 0.5;
  color: #ff5252 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: #c62828 !important;
  opacity: 1;
}

/* 10. Section Guarantee / Value Proposition */
.guarantee {
  background-color: #e0f2f7;
  padding: 40px 0;
  text-align: center;
  color: #7d0a0a;
}

.guarantee h2 {
  color: #034c53;
  margin-bottom: 15px;
  font-size: 28px;
}

.guarantee p {
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 20px;
}

.guarantee ul.value-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 30px auto;
  max-width: 600px;
  text-align: left;
}

.guarantee ul.value-list li {
  margin-bottom: 15px;
  padding-left: 60px;
  position: relative;
  font-size: 18px;
  color: #bf3131;
  line-height: 1.4;
}

.guarantee ul.value-list li .icon {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.6em;
  color: #ff5252;
}

.guarantee ul.value-list li strong {
  color: #007074;
}

/* Gaya untuk teks Jaminan Uang Kembali di bagian Guarantee */
.guarantee strong {
  display: block;
  margin-top: 20px;
  font-size: 22px;
  font-weight: bold;
  color: #ff5252;
}

/* Style khusus untuk paragraf disclaimer di bagian guarantee */
.guarantee p:last-child {
  font-size: 12px;
  margin-top: 5px;
  color: #007074;
}

.guarantee p:last-child a {
  color: #0277bd;
  text-decoration: underline;
}

/* 11. Section Pricing (Promo Beli 2 Gratis 1) */
.pricing {
  /* Section container */
  background-color: #b4ebe6;
  padding: 50px 0;
  text-align: center;
  color: #007074;
}

.pricing h2 {
  /* Judul section */
  color: #ff5252;
  font-size: 32px;
  margin-bottom: 15px;
}

.pricing p {
  /* Paragraf pengantar & disclaimer */
  font-size: 18px;
  margin-bottom: 20px;
  color: #555;
}
/* Style khusus untuk paragraf disclaimer harga */
.pricing p:last-child {
  font-size: 14px;
  margin-top: 20px;
  color: #555;
}

/* Gaya untuk Card Promo */
/* Selector .pricing .price-card digunakan karena di HTML yg diberikan, card promo punya class .price-card */
.pricing .price-card {
  background-color: #e4efe7;
  border: 3px solid #ff5252;
  border-radius: 10px;
  padding: 30px 20px;
  max-width: 400px;
  margin: 0 auto;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.pricing .promo-card-image {
  max-width: 80%;
  height: auto;
  margin: -20px auto 15px auto;
  display: block;
}

.pricing .price-card h3 {
  font-size: 24px;
  margin-top: 0;
  margin-bottom: 10px;
  color: #034c53;
}

/* Gaya untuk Harga Promo */
.pricing .promo-price-card {
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 5px;
  color: #333;
  line-height: 1.2;
}
.pricing .promo-price-card .price-value {
  font-size: 2.5em;
  font-weight: bold;
  color: #ff5252;
  display: block;
  margin-top: 5px;
}

.pricing .promo-card .promo-for-card {
  font-size: 20px;
  margin-bottom: 20px;
  color: #007074;
  font-weight: bold;
}
.pricing .promo-card .promo-for-card strong {
  color: #7d0a0a;
}

/* Gaya Perbandingan Hemat */
.pricing .promo-card .promo-savings-compare-card {
  margin-top: 15px;
  margin-bottom: 25px;
  font-size: 16px;
  color: #555;
  border-top: 1px dashed #ccc;
  padding-top: 15px;
  text-align: center;
}
.pricing .promo-card .promo-savings-compare-card .original-price-compare-card del {
  color: #888;
  font-size: 1em;
}
.pricing .promo-card .promo-savings-compare-card .savings-amount-card,
.pricing .promo-card .promo-savings-compare-card .effective-price-card {
  font-weight: bold;
  display: block;
  margin-top: 5px;
}
.pricing .promo-card .promo-savings-compare-card .savings-amount-card {
  color: #4caf50;
}
.pricing .promo-card .promo-savings-compare-card .effective-price-card {
  color: #007074;
}

/* Gaya Info Urgensi */
.pricing .promo-card .limited-stock-card {
  font-size: 20px;
  font-weight: bold;
  color: #7d0a0a;
  margin-bottom: 15px;
}

/* Gaya Countdown Timer di dalam Card Promo */
.pricing .promo-card .countdown-timer {
  margin-top: 10px;
  margin-bottom: 20px;
  color: #034c53;
}
.pricing .promo-card .countdown-timer .timer-label {
  color: #555;
  font-weight: normal;
  font-size: 15px;
}
.pricing .promo-card .countdown-timer .timer-display {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 10px;
}
.pricing .promo-card .countdown-timer .time-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 15px;
  font-weight: normal;
}
.pricing .promo-card .countdown-timer .time-value {
  font-size: 2.5em;
  font-weight: bold;
  color: #ff5252;
  line-height: 1;
}
.pricing .promo-card .countdown-timer .time-separator {
  font-size: 2em;
  font-weight: bold;
  color: #ff5252;
  line-height: 1;
}

/* Gaya Tombol CTA di dalam Card Promo */
.pricing .price-button {
  font-size: 24px;
  padding: 18px 30px;
  background-color: #ff5252;
  color: white;
  margin-top: 0;
  width: 100%;
  display: block;
  box-sizing: border-box;
  font-weight: bold;
}
.pricing .price-button:hover {
  background-color: #c62828;
}

/* 12. Section FAQ (Accordion) */
.faq {
  padding: 40px 0;
  text-align: center;
}
.faq .faq-item {
  background-color: #fff;
  margin-bottom: 15px;
  border-radius: 5px;
  max-width: 700px;
  margin: 15px auto;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.faq .faq-item strong {
  display: block;
  padding: 15px;
  margin-bottom: 0;
  color: #034c53;
  cursor: pointer;
  position: relative;
  text-align: left;
  transition: background-color 0.3s ease;
}

.faq .faq-item strong:hover {
  background-color: #e4efe7;
}
.faq .faq-item strong.active {
  background-color: #e0f2f7;
}

.faq .faq-item strong::after {
  content: '+';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em;
  font-weight: bold;
  color: #ff5252;
  transition: transform 0.3s ease;
}

.faq .faq-item strong.active::after {
  content: '-';
  transform: translateY(-50%);
}

.faq .faq-item p {
  padding: 0 15px 15px 15px;
  margin: 0;
  text-align: left;
  font-size: 16px;
  color: #333;
}

/* 13. Section CTA Bottom */
.cta-bottom {
  background-color: #e4efe7;
  padding: 40px 0;
  text-align: center;
}
.cta-bottom h2 {
  color: #7d0a0a;
  margin-bottom: 30px;
}
.cta-bottom .cta-button {
  font-size: 24px;
  padding: 20px 40px;
  background-color: #ff5252;
  color: white;
}

/* 14. Footer */
footer {
  background-color: #333;
  color: white;
  text-align: center;
  padding: 20px 0;
  font-size: 14px;
}

footer a {
  color: white;
  margin: 0 10px;
  text-decoration: none;
  transition: color 0.3s ease;
}

footer a:hover {
  color: #ff5252;
}

/* 15. Gaya Video Vertikal */
.video-container.vertical {
  position: relative;
  width: 100%;
  max-width: 350px; /* Nilai 350px sesuai yg Anda konfirmasi bagus di desktop */
  margin: 30px auto;
  /* === Menggunakan TINGGI EKSPLISIT untuk Proporsi di Desktop/Tablet Besar === */
  /* Hitung tinggi berdasarkan max-width desktop: 350px * (16/9) = ~622.22px */
  height: 622.22px;
  /* padding-top: 177.77%; Metode padding-top dinonaktifkan di sini */
  overflow: hidden;
  background-color: #000;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.video-container.vertical video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 16. Responsive Adjustments (@media) */
@media (max-width: 1024px) {
  /* Layout Umum */
  .container {
    padding: 0 10px;
  }
  section {
    padding: 30px 0;
  }

  /* Hero Promo */
  .hero.promo-hero h1 {
    font-size: 36px;
  }
  .hero.promo-hero h1 .sub-headline-hero {
    font-size: 20px;
  }
  .hero.promo-hero p {
    font-size: 16px;
  }
  .hero-promo-price {
    font-size: 24px;
  }
  .hero-promo-price span {
    font-size: 1.4em;
  }
  .hero.promo-hero .promo-image {
    max-width: 400px;
  }
  .hero.promo-hero .hero-cta-promo {
    font-size: 20px;
    padding: 15px 30px;
  }

  /* Hero Standar */
  .hero h1 {
    font-size: 32px;
  }
  .hero p {
    font-size: 16px;
  }
  .hero .hero-image {
    max-width: 350px;
  }

  /* Urgency Timer (Jika masih ada) */
  /*
    .urgency-timer-section { font-size: 18px; padding: 10px 0;}
     .urgency-timer-section .limited-stock-text { margin-bottom: 10px;}
    .countdown-timer { font-size: 20px; margin-top: 10px; margin-bottom: 10px;}
    .countdown-timer .timer-label { font-size: 14px;}
    .countdown-timer .time-unit { font-size: 16px;}
    .countdown-timer .time-value { font-size: 1.8em;}
    .countdown-timer .time-separator { font-size: 1.8em;}
    .countdown-timer .timer-display { gap: 8px;}
    */

  .slick-prev {
    left: 0px;
  }
  .slick-next {
    right: 0px;
  }
  .social-proof .testimonial {
    margin: 0 5px;
  }

  .guarantee ul.value-list {
    max-width: 500px;
  }

  /* List Items (Ingredients, Benefits, Problem Elaboration) */
  /* 3 kolom Benefits di desktop besar */
  .benefits li {
    width: calc((100% - 40px) / 3);
    min-width: 220px;
  }

  /* Highlight Testimoni Promo (Jika masih ada) */
  /*
    .highlight-testimonials-promo { padding: 30px 0;}
    .highlight-testimonials-promo .highlight-testi-item { max-width: 300px;}
    .highlight-testimonials-promo .highlight-testi-item p { font-size: 15px;}
    .highlight-testimonials-promo .highlight-testi-item cite { font-size: 14px;}
    .highlight-testimonials-promo .highlight-cta-text { font-size: 18px; margin-bottom: 15px;}
    .highlight-testimonials-promo .highlight-cta { font-size: 18px; padding: 12px 25px;}
    */

  /* 11. Pricing Section */
  .pricing {
    padding: 40px 0;
  }
  .pricing h2 {
    font-size: 28px;
  }
  .pricing p {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .pricing p:last-child {
    font-size: 12px;
    margin-top: 15px;
  }

  .pricing .price-card {
    max-width: 400px;
    padding: 25px 20px;
  }
  .pricing .promo-card-image {
    max-width: 70%;
    margin: -15px auto 10px auto;
  }
  .pricing .price-card h3 {
    font-size: 22px;
    margin-bottom: 8px;
  }
  .pricing .promo-price-card {
    font-size: 26px;
  }
  .pricing .promo-price-card .price-value {
    font-size: 1.8em;
  }
  .pricing .promo-card .promo-for-card {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .pricing .promo-card .promo-savings-compare-card {
    font-size: 15px;
    margin-top: 10px;
    margin-bottom: 20px;
    padding-top: 10px;
  }
  .pricing .promo-card .limited-stock-card {
    font-size: 18px;
    margin-bottom: 10px;
  }

  /* Timer di Promo Card */
  .pricing .countdown-timer {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .pricing .countdown-timer .timer-label {
    font-size: 14px;
  }
  .pricing .countdown-timer .time-unit {
    font-size: 16px;
  }
  .pricing .countdown-timer .time-value {
    font-size: 1.6em;
  }
  .pricing .countdown-timer .time-separator {
    font-size: 1.6em;
  }
  .pricing .countdown-timer .timer-display {
    gap: 8px;
  }

  .pricing .price-button {
    font-size: 20px;
    padding: 15px 30px;
  }

  /* 15. Gaya Video Vertikal (Responsive) */
  .video-container.vertical {
    max-width: 350px;
    margin: 20px auto;
    height: 622.22px;
  }
}

@media (max-width: 768px) {
  /* Layout Umum */
  .container {
    padding: 0 10px;
  }
  section {
    padding: 30px 0;
  }
  h2 {
    font-size: 24px;
  }

  /* Hero Promo */
  .hero.promo-hero {
    padding: 40px 0;
  }
  .hero.promo-hero h1 {
    font-size: 32px;
  }
  .hero.promo-hero h1 .sub-headline-hero {
    font-size: 18px;
  }
  .hero.promo-hero p {
    font-size: 15px;
    margin-bottom: 15px;
  }
  .hero-promo-price {
    font-size: 20px;
    margin-bottom: 15px;
  }
  .hero-promo-price span {
    font-size: 1.4em;
  }
  .hero.promo-hero .promo-image {
    max-width: 350px;
    margin-bottom: 20px;
  }
  .hero.promo-hero .hero-cta-promo {
    font-size: 18px;
    padding: 12px 25px;
  }

  /* Hero Standar */
  .hero h1 {
    font-size: 28px;
  }
  .hero p {
    font-size: 16px;
  }
  .hero .hero-image {
    max-width: 300px;
  }

  /* Urgency Timer (Jika masih ada) */
  /*
    .urgency-timer-section { font-size: 16px; padding: 10px 0;}
     .urgency-timer-section .limited-stock-text { margin-bottom: 10px;}
    .countdown-timer { font-size: 20px; margin-top: 10px; margin-bottom: 10px;}
    .countdown-timer .timer-label { font-size: 14px;}
    .countdown-timer .time-unit { font-size: 16px;}
    .countdown-timer .time-value { font-size: 1.6em;}
    .countdown-timer .time-separator { font-size: 1.6em;}
     .countdown-timer .timer-display { gap: 8px;}
     */

  /* List Items Stacking (Ingredients, Problem Elaboration) di tablet */
  .ingredients li,
  .problem-elaboration li {
    width: 100%;
    min-width: auto;
    padding: 15px 20px;
    margin-bottom: 15px;
  }
  .ingredients li,
  .problem-elaboration li {
    padding-left: 40px;
  }
  .ingredients li::before,
  .problem-elaboration li::before {
    top: 10px;
  }

  /* Benefits List (Card Layout) di Tablet */
  .benefits ul {
    gap: 15px;
    max-width: 700px;
    margin: 15px auto 30px auto;
  }
  .benefits li {
    width: calc((100% - 15px) / 2);
    min-width: 250px;
    padding: 15px;
    margin-bottom: 0;
  }

  .social-proof .before-after {
    flex-direction: column;
    gap: 30px;
  }
  .slick-prev,
  .slick-next {
    display: none !important;
  }

  /* Highlight Testimoni Promo (Jika masih ada) */
  /*
    .highlight-testimonials-promo { padding: 30px 0;}
     .highlight-testimonials-promo h2 { font-size: 20px;}
    .highlight-testimonials-promo .highlight-testi-wrapper { flex-direction: column; gap: 15px; margin-top: 15px; margin-bottom: 20px;}
    .highlight-testimonials-promo .highlight-testi-item { max-width: 300px; padding: 15px;}
    .highlight-testimonials-promo .highlight-testi-item p { font-size: 15px;}
    .highlight-testimonials-promo .highlight-testi-item cite { font-size: 14px;}
     .highlight-testimonials-promo .highlight-cta-text { font-size: 18px; margin-bottom: 15px;}
     .highlight-testimonials-promo .highlight-cta { font-size: 18px; padding: 12px 25px;}
    */

  .faq .faq-item strong {
    padding: 12px 10px;
    padding-right: 35px;
  }
  .faq .faq-item strong::after {
    right: 10px;
  }
  .faq .faq-item p {
    padding: 0 10px 12px 10px;
  }

  .guarantee h2 {
    font-size: 24px;
  }
  .guarantee p {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .guarantee ul.value-list {
    margin-bottom: 20px;
    max-width: 100%;
  }
  .guarantee ul.value-list li {
    font-size: 16px;
    padding-left: 30px;
  }
  .guarantee ul.value-list li .icon {
    font-size: 1.4em;
  }
  .guarantee strong {
    font-size: 18px;
    margin-top: 15px;
  }

  /* 11. Pricing Section */
  .pricing {
    padding: 40px 0;
  }
  .pricing h2 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .pricing p {
    font-size: 15px;
    margin-bottom: 15px;
  }
  .pricing p:last-child {
    font-size: 12px;
    margin-top: 15px;
  }

  .pricing .price-card {
    max-width: 350px;
    padding: 20px 15px;
  }
  .pricing .promo-card-image {
    max-width: 70%;
    margin: -15px auto 10px auto;
  }
  .pricing .price-card h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .pricing .promo-price-card {
    font-size: 20px;
    margin-bottom: 4px;
  }
  .pricing .promo-price-card .price-value {
    font-size: 1.6em;
  }
  .pricing .promo-card .promo-for-card {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .pricing .promo-card .promo-savings-compare-card {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 15px;
    padding-top: 10px;
  }
  .pricing .promo-card .limited-stock-card {
    font-size: 16px;
    margin-bottom: 10px;
  }

  /* Timer di Promo Card */
  .pricing .countdown-timer {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .pricing .countdown-timer .timer-label {
    font-size: 13px;
  }
  .pricing .countdown-timer .time-unit {
    font-size: 15px;
  }
  .pricing .countdown-timer .time-value {
    font-size: 1.6em;
  }
  .pricing .countdown-timer .time-separator {
    font-size: 1.6em;
  }
  .pricing .countdown-timer .timer-display {
    gap: 6px;
  }

  .pricing .price-button {
    font-size: 18px;
    padding: 12px 25px;
  }

  /* 15. Gaya Video Vertikal (Responsive) */
  .video-container.vertical {
    max-width: 280px;
    margin: 20px auto;
    height: 497.78px;
  }
}

@media (max-width: 480px) {
  /* Layout Umum */
  .container {
    padding: 0 8px;
  }
  section {
    padding: 20px 0;
  }
  h2 {
    font-size: 20px;
  }

  /* Hero Promo */
  .hero.promo-hero {
    padding: 30px 0;
  }
  .hero.promo-hero h1 {
    font-size: 28px;
  }
  .hero.promo-hero h1 .sub-headline-hero {
    font-size: 15px;
  }
  .hero.promo-hero p {
    font-size: 13px;
    margin-bottom: 8px;
  }
  .hero-promo-price {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .hero-promo-price span {
    font-size: 1.3em;
  }
  .hero.promo-hero .promo-image {
    max-width: 250px;
    margin-bottom: 10px;
  }
  .hero.promo-hero .hero-cta-promo {
    font-size: 16px;
    padding: 10px 20px;
  }

  /* Hero Standar */
  .hero h1 {
    font-size: 22px;
    line-height: 1.4;
  }
  .hero p {
    font-size: 15px;
  }
  .hero .hero-image {
    max-width: 250px;
  }

  /* Urgency Timer (Jika masih ada) */
  /*
    .urgency-timer-section { font-size: 14px; padding: 8px 0;}
     .urgency-timer-section .limited-stock-text { margin-bottom: 8px;}
    .countdown-timer { font-size: 16px; margin-top: 8px; margin-bottom: 8px;}
    .countdown-timer .timer-label { font-size: 12px;}
    .countdown-timer .time-unit { font-size: 14px;}
    .countdown-timer .time-value { font-size: 1.4em;}
    .countdown-timer .time-separator { font-size: 1.4em;}
    .countdown-timer .timer-display { gap: 6px;}
    */

  /* List Items Stacking/Card di mobile (semua 1 kolom) */
  .ingredients li,
  .benefits li,
  .problem-elaboration li {
    width: 100%;
    min-width: auto;
    padding: 15px 15px; /* Sesuaikan padding horizontal */
    margin-bottom: 15px;
  }
  /* Adjust left padding if using ::before on mobile */
  .ingredients li,
  .problem-elaboration li {
    padding-left: 40px;
  }
  /* Icon position in mobile */
  .ingredients li::before,
  .problem-elaboration li::before {
    top: 12px; /* Menyesuaikan posisi vertikal ikon */
    transform: translateY(0); /* Menghapus transform agar hanya terpengaruh 'top' */
  }

  /* Pastikan benefit card tidak punya gap di mobile */
  .benefits ul {
    gap: 0;
    margin: 15px auto 20px auto;
  }
  .benefits li {
    /* Reset flex/width calc jika perlu, tapi width 100% di atas sudah cukup */
    /* display: block; */
  }

  .social-proof .testimonial {
    padding: 15px 10px;
    margin: 0 5px;
  }
  .social-proof .testimonial-avatar {
    width: 100%;
    max-width: none;
    height: auto;
    margin-bottom: 10px;
  }
  .social-proof .testimonial p {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .social-proof .testimonial cite {
    font-size: 13px;
  }

  /* Highlight Testimoni Promo (Jika masih ada) */
  /*
    .highlight-testimonials-promo { padding: 20px 0;}
     .highlight-testimonials-promo h2 { font-size: 20px;}
    .highlight-testimonials-promo .highlight-testi-wrapper { flex-direction: column; gap: 15px; margin-top: 15px; margin-bottom: 20px;}
    .highlight-testimonials-promo .highlight-testi-item { max-width: 100%; padding: 15px;}
    .highlight-testimonials-promo .highlight-testi-item p { font-size: 14px;}
    .highlight-testimonials-promo .highlight-testi-item cite { font-size: 13px;}
     .highlight-testimonials-promo .highlight-cta-text { font-size: 16px; margin-bottom: 10px;}
     .highlight-testimonials-promo .highlight-cta { font-size: 16px; padding: 10px 20px;}
    */

  .guarantee h2 {
    font-size: 20px;
  }
  .guarantee p {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .guarantee ul.value-list {
    margin-bottom: 20px;
    max-width: 100%;
  }
  .guarantee ul.value-list li {
    font-size: 15px;
    padding-left: 28px;
  }
  .guarantee ul.value-list li .icon {
    font-size: 1.3em;
  }
  .guarantee strong {
    font-size: 16px;
    margin-top: 10px;
  }
  .guarantee p:last-child {
    font-size: 11px;
    margin-top: 15px;
  }

  /* 11. Pricing Section */
  .pricing {
    padding: 30px 0;
  }
  .pricing h2 {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .pricing p {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .pricing p:last-child {
    font-size: 11px;
    margin-top: 15px;
  }

  .pricing .price-card {
    max-width: 95%;
    padding: 18px 12px;
  }
  .pricing .promo-card-image {
    max-width: 80%;
    margin: -10px auto 8px auto;
  }
  .pricing .price-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .pricing .promo-price-card {
    font-size: 20px;
    margin-bottom: 4px;
  }
  .pricing .promo-price-card .price-value {
    font-size: 1.4em;
  }
  .pricing .promo-card .promo-for-card {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .pricing .promo-card .promo-savings-compare-card {
    font-size: 13px;
    margin-top: 8px;
    margin-bottom: 10px;
    padding-top: 8px;
  }
  .pricing .promo-card .limited-stock-card {
    font-size: 14px;
    margin-bottom: 8px;
  }

  /* Timer di Promo Card */
  .pricing .countdown-timer {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .pricing .countdown-timer .timer-label {
    font-size: 12px;
  }
  .pricing .countdown-timer .time-unit {
    font-size: 14px;
  }
  .pricing .countdown-timer .time-value {
    font-size: 1.4em;
  }
  .pricing .countdown-timer .time-separator {
    font-size: 1.4em;
  }
  .pricing .countdown-timer .timer-display {
    gap: 5px;
  }

  .pricing .price-button {
    font-size: 16px;
    padding: 10px 20px;
  }

  /* 15. Gaya Video Vertikal (Responsive) */
  .video-container.vertical {
    max-width: none;
    margin: 15px auto;
    padding-top: 177.77%;
    height: auto;
  }
}

/* 17. Gaya Custom Class (Owner Specific) */
/* Gaya untuk custom class di p strong */
.ingredients p strong.custom-2,
.problem-elaboration p strong.custom-2 {
  color: #7d0a0a;
}
/* Gaya untuk custom class di h2 strong */
h2 strong.custom-2 {
  color: #7d0a0a;
}
/* Gaya untuk custom class di p strong di hero */
.hero p strong.custom-1 {
  font-size: larger;
  color: #7d0a0a;
}

/* ... kode CSS Anda yang lain ... */

/* ... CSS Anda yang lain ... */

/* --- Animasi Fade-in Fade-out --- */
.hidden-init {
  opacity: 0;
  transition: opacity 0.3s ease-in-out; /* Durasi dan jenis transisi */
}

.visible {
  opacity: 1;
}
