 <style>
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --pink-bg:    #ffffff;
      --pink-mid:   #f7c9d6;
      --rose:       #d63a6e;
      --dark-brown: #3b1c1c;
      --text:       #2d1c1c;
      --text-muted: #7a5a62;
      --white:      #ffffff;
      --card-bg:    #fce8ed;
      --shadow:     0 4px 24px rgba(180,60,100,.10);
      --radius:     16px;
    }

    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font-display);
      background: var(--pink-bg);
      color: var(--text);
      min-height: 100vh;
    }

    /* ── MAIN ── */
    .main-wrap {
      max-width: 560px;
      margin: 0 auto;
      padding: 48px 20px 64px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
    }

    .book-header {
      text-align: center;
      width: 100%;
      animation: fadeUp .45s ease both;
    }
    .book-header a {
      color: var(--text-muted);
      text-decoration: none;
    }
    .book-title {
      font-family: var(--font-main);
      font-size: clamp(2.2rem, 7vw, 3.4rem);
      color: var(--rose);
      line-height: 1.12;
      margin-bottom: 10px;
    }
    .book-author {
      font-size: 1rem;
      color: var(--text-muted);
    }

    /* Cards */
    .card {
      background: var(--card-bg);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      width: 115%;
      max-width: 100%;
      padding: 20px;
    }
    .card:nth-child(2) { animation: fadeUp .45s .05s ease both; }
    .card:nth-child(3) { animation: fadeUp .45s .10s ease both; }
    .card:nth-child(4) { animation: fadeUp .45s .15s ease both; }
    .card:nth-child(5) { animation: fadeUp .45s .20s ease both; }
    .card:nth-child(6) { animation: fadeUp .45s .25s ease both; }

/* ==========================
   Book Cover Gallery New
========================== */

.book-cover-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
}

/* Main image */
.book-cover {
    width: 100%;
    max-width: 360px;
    aspect-ratio: 2 / 3;
    object-fit: contain;
    background: #fff;
    /*border: 1px solid #e5e5e5;*/
    border-radius: 12px;
    box-shadow: 0 0 2rem oklch(from #d63a6e l c h / 0.2);
    background: var(--card-bg);
}

/* Thumbnail container */
.thumbnail-strip {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
}

/* Thumbnails */
.thumbnail-strip img {
    width: 120px;
    height: 205px;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: .25s ease;
    background: #fff;
}

/* Hover effect */
.thumbnail-strip img:hover {
    border-color: #e8325a;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* Active thumbnail (optional) */
.thumbnail-strip img.active {
    border-color: #e8325a;
}

/* Mobile */
@media (max-width: 768px) {

    .book-cover {
        max-width: 280px;
    }

    .thumbnail-strip img {
        width: 60px;
        height: 82px;
    }

}
    /* Synopsis */
    .synopsis-card { text-align: center; }
    .synopsis-card p {
      font-size: .95rem;
      line-height: 1.75;
      color: var(--text);
      margin-bottom: 14px;
    }
    .synopsis-card p:last-child { margin-bottom: 0; }

    /* Details */
    
    .detail-item {
      display: flex;
      align-items: center;
      justify-content: start;
      gap: 12px; 
      padding: 30px;
    }
    
    .detail-icon {
      width: 38px; height: 38px;
      border-radius: 10px;
      background: #f7c9d6;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.05rem;
      flex-shrink: 0;
      gap: 14px;
    }
    
    .detail-label { font-size: .72rem; color: var(--text-muted); font-weight: 500; }
    .detail-value { font-size: .95rem; font-weight: 700; color: var(--text); }
    
    .isbn-row {
      margin-top: 14px;
      padding-top: 40px;
      border-top: 1px solid var(--pink-mid);
      justify-content: center;
    }

    /* Buy */
    .buy-title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
      margin-bottom: 14px;
      text-align: center;
    }
    
    .details-grid,
    .btn-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      width: 100%;
      justify-items: stretch;
      align-items: start;
    }
    
    .detail-item,
	.store-btn {
      width: 100%;
      height: 40px;
     }

    .store-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  width: 100%;
  min-height: 40px;
  padding: 14px;

  border-radius: 12px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;

  cursor: pointer;
  border: none;

  transition:
    transform .2s ease,
    filter .2s ease,
    box-shadow .2s ease;

  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

.store-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.store-btn img {
  height: 22px;
  width: auto;
  object-fit: contain;
}

.store-btn span {
  line-height: 1;
}

.btn-shopee   { background: #f05025; color: #fff; }
.btn-lazada   { background: #0f1fa8; color: #fff; }
.btn-bookcafe { background: #1a1a1a; color: #fff; }
.btn-bookcapital { background: #1a1a1a; color: #fff; }
.btn-tiktok   { background: #1a1a1a; color: #fff; }
.btn-mysiswa  { background: #1a1a1a; color: #fff; }
.btn-gplay    { background: #1a1a1a; color: #fff; }
.btn-esentral    { background: #1a1a1a; color: #fff; }

    .carousel-wrap,
	.synopsis-card {
  	background: transparent;
  	box-shadow: none;
  	border: none;
}

    /* ── RESPONSIVE ── */
    @media (max-width: 600px) {
      .main-wrap { padding: 28px 16px 48px; gap: 16px; }
      .carousel-slide { padding: 0 44px; }
      .carousel-slide img { max-height: 220px; }
      }
   
    @media (max-width: 820px) {
      .nav-links {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 64px; left: 0; right: 0;
        background: #fff;
        border-bottom: 1px solid var(--pink-mid);
        padding: 16px 24px;
        gap: 16px;
      }
      .nav-links.open { display: flex; }
      .hamburger { display: flex; }
    }
    
    @media (max-width: 400px) {
  .details-grid {
    grid-template-columns: 1fr;
  }
}

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  </style>