.index-list{
    row-gap: 2rem;
}

.ebook-title {
    font-size: 1.9rem;
}

.pricing-text {
    font-size: 1.3rem;
    font-family: var(--font-2);
}

.svg-rating {
  display:inline-flex; align-items:center; gap:.35rem;
}
.stars-row { display:flex; gap:2px; }
.star { width:18px; height:18px; display:block; }
.rating-count { font-size:.9rem; color:#666; }

.subtext {
    color: grey;
}

@media only screen and (max-width: 2000px) {
  .flex-item-ebook {
    flex-basis: 50%;
  }
}


@media only screen and (max-width: 1600px) {
  .flex-item-ebook {
    flex-basis: 50%;
  }
}

@media only screen and (max-width: 768px) {
  .flex-item-ebook {
    flex-basis: 100%;
  }
}

@media only screen and (max-width: 450px) {
  .flex-item-ebook {
    flex-basis: 100%;
  }
}


.flex-item-ebook{
  object-fit: cover;
}

.flex-item-ebook {
  max-width: 500px;
}


.pricing-text {
	position: relative;
	display: inline-block;
	min-width: 4ch; /* keeps width stable */
}

.price-original {
	text-decoration: line-through;
	color: gray;
	margin-right: 0.5rem;
}

.price-discounted {
	color: var(--col-green-1);
	font-weight: 400;
}

.pricing-loading::before {
	content: "";
	display: inline-block;
	width: 80px;
	height: 1em;
	border-radius: 4px;
	background: linear-gradient(
		90deg,
		rgba(0,0,0,0.1) 25%,
		rgba(0,0,0,0.2) 50%,
		rgba(0,0,0,0.1) 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.2s infinite linear;
}

@keyframes shimmer {
	from { background-position: 200% 0; }
	to { background-position: -200% 0; }
}

.pricing-fade-in {
	opacity: 0;
	transition: opacity 0.4s ease;
}
.pricing-fade-in.loaded {
	opacity: 1;
}

.ebook-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 10px; /* wrapper curve — optional */
    width: 100%;
    max-width: 500px;
}

/* iPad mockup container using your exact aspect ratio */
.ipad-mockup {
    position: relative;
    width: 100%;
    aspect-ratio: 1327 / 1830;
}

/* Device frame (PNG overlay) */
.ipad-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    transition: opacity 0.6s ease;
}

/* Inner clipping zone matching the visible iPad screen */
.screen-clip {
    position: absolute;
    top: 3.2%;
	left: 3.5%;
    width: 92.5%;
    height: 94.3%;
    overflow: hidden;
    border-radius: 4% / 3%; /* tweak visually to match curvature */
}

/* Main ebook cover image inside the bezel */
.screen-clip .ebook-image.main {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.6s ease;
}

/* Hover image (not inside mockup) */
.ebook-image.hover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.6s ease;
}

/* Hover transitions */
.ebook-image-wrapper:hover .ebook-image.main,
.ebook-image-wrapper:hover .ipad-frame {
    opacity: 0;
}

.ebook-image-wrapper:hover .ebook-image.hover {
    opacity: 1;
}
