:root {
  --brand-color: #f16069;
  --brand-hover: #ff7b84;
}
.mt-50{margin-top: 50px;} .mt-30{margin-top: 30px;} .mt-20{margin-top: 20px;}
.counter-card.style-one.bg-5 {
    background-color: #f0f0f0;
}
.text-justify{text-align: justify;}
/* ---------- Card Layout ---------- */
.book-card-horizontal {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  border: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  padding: 1rem;
  border-radius: 0.75rem;
}
/*.book-card-horizontal:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  background: linear-gradient(135deg, #ffffff, #f9fbff);
}

 ---------- Book Image ---------- */
.book-img-wrapper {
  flex: 0 0 150px;
  margin-right: 1.5rem;
}
.book-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem;
}

/* ---------- Book Details ---------- */
.book-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ---------- Platform Logos ---------- */
.platform-logo {
  height: 26px;
  transition: transform 0.2s;  
  border-radius: 6px;
}
.platform-logo:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
/* ---------- Divider ---------- */
.book-divider {
  border: 0;
  border-top: 1px solid #e4e4e4;
  opacity: 0.9;
}

/* ---------- Price ---------- */
.text-danger {
  color: #e63946 !important;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ---------- View Details Button ---------- */
.btn-view-details {
  color: #333;
  border: 1px solid #d0d0d0;
  padding: 0.45rem 1rem;
  border-radius: 0.4rem;
  text-decoration: none;
  font-size: 0.9rem;
  background: #fafafa;
  transition: all 0.3s ease;
}

/* Hover effect (main highlight now) */
.btn-view-details:hover {
  background: #e63946; /* matches price color */
  border-color: #e63946;
  color: #fff;
  box-shadow: 0 3px 8px rgba(230,57,70,0.3);
  text-decoration: none;
  transform: scale(1.05);
}

/* Arrow Icon */
.arrow-icon {
  margin-left: 0.3rem;
  vertical-align: middle;
}

/* ---------- Buy Now Section ---------- */
.buy-now-section {
  padding: 2.5rem 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.buy-now-section h5 {
  color: #222;
  font-weight: 600;
}

.price-box {
  background: #fff;
  display: inline-block;
  padding: 0.5rem 1.2rem;
  border-radius: 50px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Accent Color (same as Buy Now button theme) */
.text-accent {
  color: #e63946 !important;
}

/* ---------- Platform Logos (Scoped for Detail Page) ---------- */
.buy-now-section .platform-logo-detail {
  height: 38px;
  transition: transform 0.3s, box-shadow 0.3s;
  border-radius: 6px;
}

.buy-now-section .platform-logo-detail:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
/* ---------- Scoped Author Bio Section ---------- */
.author-bio-section {
  border-radius: 0.75rem;
  padding: 2rem 1rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  border-left: 5px solid #e63946; /* Brand Accent */
  transition: all 0.3s ease;
}

.author-bio-section:hover {
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

/* Image */
.author-bio-section .author-img-detail {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border: 3px solid #fff;
  transition: transform 0.3s;
}

.author-bio-section .author-img-detail:hover {
  transform: scale(1.05);
}

/* Text */
.author-bio-section .author-desc-detail {
  color: #444;
  line-height: 1.65;
  font-size: 0.95rem;
}
/* related */
.related-books-section {
  padding: 2rem 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.related-books-section h5 {
  color: #222;
}

.related-books-section .book-item img {
  transition: transform 0.3s ease;
}

.related-books-section .book-item img:hover {
  transform: scale(1.05);
}

.related-books-section .btn-outline-primary {
  border-color: #e63946;
  color: #e63946;
}

.related-books-section .btn-outline-primary:hover {
  background-color: #e63946;
  color: #fff;
  border-color: #e63946;
}
.discount-badge {
  background-color: #ff4d4d;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
  vertical-align: middle;
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
/* Currency Toggle */
.currency-toggle .btn {
  font-size: 1.1rem;
  padding: 10px 24px;
  border: 2px solid var(--brand-color);
  transition: all 0.3s ease;
}
.toggle-btn.active {
  background: var(--brand-color);
  color: #fff;
  border-color: var(--brand-color);
}
.toggle-btn-outline {
  background: #fff;
  color: var(--brand-color);
}
.toggle-btn:hover,
.toggle-btn-outline:hover {
  background: var(--brand-hover);
  color: #fff;
}

/* Pricing Card */
.pricing-card {
  border-top: 3px solid var(--brand-color) !important;
}
.plan-title {
  color: var(--brand-color);
}
.price {
  color: var(--brand-color);
}
.featured {
  background: var(--brand-color);
  top: -10px;
  right: 15px;
  padding: 4px 10px;
  border-radius: 4px;
}

/* Buttons */
.custom-btn {
  background: #fff;
  border: 2px solid var(--brand-color);
  border-radius: 50px;
  padding: 8px 22px;
  transition: all 0.3s ease;
  color: var(--brand-color);
}
.custom-btn:hover {
  background: var(--brand-color);
  color: #fff;
}
.custom-btn .btn-text {
  color: var(--brand-color);
}
.custom-btn:hover .btn-text {
  color: #fff;
}

/* Comparison Table */
.comparison-table thead {
  background: var(--brand-color);
  color: #fff;
}
.comparison-table th,
.comparison-table td {
  vertical-align: middle;
}
.compare-btn {
  color: var(--brand-color) !important;
}
.br-menu a {
  color: #f16069;
  text-decoration: none;
  font-weight: 500;
}
.br-menu a:hover {
  color: #ff7b84;
  text-decoration: underline;
}
.br-menu li {
  display: inline-block;
  margin: 0 8px;
  font-size: 15px;
}

/* ---------- feature ---------- */
.feature-card-link {
  display: block;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card-link:hover .feature-card {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.feature-card-link:focus-visible {
  outline: 2px solid #f16069;
  outline-offset: 3px;
}
.read-more-btn {
  color: #f16069;
  font-size: 15px;
  transition: color 0.3s ease;
}
.feature-card-link:hover .read-more-btn {
  color: #d54a55;
}
.read-more-btn img {
  transition: transform 0.3s ease;
}
.feature-card-link:hover .read-more-btn img {
  transform: translateX(4px);
}
/* ---------- policy-card ---------- */
.policy-card .card {
  transition: all 0.3s ease;
  border-top: 4px solid #f16069;
}
.policy-card:hover .card {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.read-more-btn {
  color: #f16069;
  transition: all 0.3s ease;
}
.policy-card:hover .read-more-btn {
  text-decoration: underline;
}
hr {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.card th { width: 40%; }
.btn:hover { background-color: #d94c5d !important; transform: scale(1.03); transition: 0.3s ease; }
.alert a:hover { text-decoration: underline; }

/* === Author & Book Image Optimization === */
.author-img {
  aspect-ratio: 1 / 1;        /* Keeps a perfect square */
  object-fit: cover;          /* Crops gently without stretching */
  width: 100%;                /* Fills its column width */
  height: auto;               /* Keeps proportions */
  border-radius: 10px;        /* Matches your rounded aesthetic */
}

.book-img {
  aspect-ratio: 220 / 300;    /* Standard book ratio (portrait) */
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.txt{color:#555;    font-weight: 400;    line-height: 27px;}

.br-menu { list-style: none; padding: 0; margin: 0; }
.br-menu li { display: inline-flex; align-items:center; }

/* add a slash before every li except the first */
.br-menu li + li::before {
  content: "/";
  display: inline-block;
  margin: 0px 22px 0px 0px;
  color: #d1a0a0;        /* change to the slash color you want */
  font-weight: 500;
  font-size: 14px;
}


/* ---------- Responsive ---------- */
@media (max-width: 767px) {
  .book-card-horizontal {
    flex-direction: column;
    text-align: center;
  }
  .book-img-wrapper {
    margin: 0 0 1rem 0;
    width: 100%;
  }
   .buy-now-section .platform-logo-detail {
    height: 30px;
  }
   .author-bio-section .author-img-detail {
    width: 100px;
    height: 100px;
  }
    .pricing-card {
    margin-bottom: 25px;
  }
  .currency-toggle .btn {
    width: 48%;
    font-size: 1rem;
  }
}