/* ============================================================
   FIDDLEHEAD INK — Shop Page Styles
   ============================================================ */

.shop-hero {
  background: var(--forest);
  padding: var(--sp-lg) 0 var(--sp-md);
  text-align: center;
  border-bottom: 2px solid var(--gold-dark);
}
.shop-hero h1 {
  color: var(--gold-light);
  margin: 0.4rem 0 0.75rem;
}
.shop-hero p {
  color: var(--moss-light);
  font-style: italic;
  margin: 0;
}

.shop-main {
  padding: var(--sp-lg) 0;
  background: var(--parchment-pale);
}

/* Product layout */
.product-layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--sp-lg);
  align-items: start;
}

/* Product images */
.product-img-main {
  display: flex;
  justify-content: center;
  margin-bottom: var(--sp-sm);
}

/* Large book display */
.book-display-large {
  position: relative;
  width: 260px;
  height: 340px;
  filter: drop-shadow(var(--shadow-lg));
}
.book-display-cover {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, var(--leather-light) 0%, var(--leather-mid) 40%, var(--leather-dark) 100%);
  border-radius: 2px 6px 6px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  gap: 8px;
}
.book-display-title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: var(--gold-light);
  text-align: center;
  line-height: 1.3;
  text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
.book-display-sub {
  font-family: var(--font-body);
  font-size: 0.55rem;
  font-style: italic;
  color: var(--gold-dark);
  text-align: center;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.book-display-spine {
  position: absolute;
  top: 0; left: -20px;
  width: 20px; height: 100%;
  background: linear-gradient(to right, var(--leather-dark), var(--leather-mid));
  border-radius: 2px 0 0 2px;
}
.book-display-pages {
  position: absolute;
  top: 3px; right: -10px;
  width: 10px; height: calc(100% - 6px);
  background: repeating-linear-gradient(
    to bottom,
    var(--parchment-pale) 0px, var(--parchment) 1px, var(--parchment-pale) 2px
  );
  border-radius: 0 2px 2px 0;
}

.product-img-thumbs {
  display: flex;
  gap: var(--sp-xs);
  justify-content: center;
}
.thumb {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: var(--r-sm);
  border: 2px solid var(--parchment-dark);
  cursor: pointer;
  transition: border-color var(--transition);
  opacity: 0.7;
}
.thumb:hover, .thumb.active {
  border-color: var(--grapeade);
  opacity: 1;
}

/* Product info */
.product-info {
  background: var(--cream);
  border-radius: var(--r-lg);
  padding: var(--sp-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--parchment-dark);
}
.product-info h2 {
  font-size: 1.6rem;
  margin-bottom: var(--sp-sm);
  line-height: 1.25;
}

.product-price-block {
  margin-bottom: var(--sp-sm);
}
.product-price {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--forest);
  line-height: 1;
}
.product-price-note {
  font-size: 0.82rem;
  font-style: italic;
  color: var(--moss);
  margin-top: 0.25rem;
}

.product-desc p {
  font-size: 0.95rem;
  color: var(--ink-soft);
  margin-bottom: var(--sp-xs);
}

.product-details {
  margin: var(--sp-sm) 0;
  border-top: 1px solid var(--parchment-dark);
  border-bottom: 1px solid var(--parchment-dark);
  padding: var(--sp-sm) 0;
}
.detail-row {
  display: flex;
  gap: var(--sp-sm);
  font-size: 0.88rem;
  padding: 0.3rem 0;
  color: var(--ink-soft);
}
.detail-label {
  font-weight: 500;
  color: var(--brown);
  min-width: 80px;
}

.btn-buy {
  width: 100%;
  justify-content: center;
  font-size: 1.05rem;
  padding: 1rem;
  margin: var(--sp-sm) 0 var(--sp-xs);
}
.buy-note {
  font-size: 0.75rem;
  font-style: italic;
  color: var(--dusk-light);
  text-align: center;
  margin-bottom: var(--sp-sm);
}

.digital-offer {
  margin-top: var(--sp-sm);
}
.digital-offer p {
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin-bottom: var(--sp-sm);
}

@media (max-width: 768px) {
  .product-layout { grid-template-columns: 1fr; }
  .book-display-large { width: 200px; height: 260px; }
}
