/* Shared product detail design C: books, digital products and bundles. */
body { background:#f8fafc; }
.individual-product-page { color:#172b45; }
.individual-product-page h1,.individual-product-page h2,.individual-product-page h3,.individual-product-page strong { font-weight:600; }
.individual-product-page .product-layout { display:block; }
.individual-product-page .product-card { background:#fff;border:1px solid #e2e8f0;border-top:0;border-radius:14px;box-shadow:0 5px 22px rgba(23,43,69,.035); }
.individual-product-page .product-hero { grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:40px;padding:36px;align-items:center; }
.individual-product-page .product-overview { grid-column:1;grid-row:1;min-width:0; }
.individual-product-page .product-overview::before { content:"";display:block;width:44px;height:3px;background:#cda9a5;margin-bottom:18px; }
.individual-product-page .product-image-box { grid-column:2;grid-row:1;min-height:240px;padding:24px;background:#fff9f8;border:1px solid #e8d5d2;box-shadow:none;border-radius:12px; }
.individual-product-page .product-image { width:auto;max-width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(23,43,69,.1)); }
.individual-product-page .product-title { color:#172b45;font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1.22;margin:16px 0 18px;letter-spacing:-.02em; }
.individual-product-page .badge { background:#fff9f8;color:#800000;border-radius:5px;font-weight:600;font-size:11px;letter-spacing:.07em;padding:6px 9px; }
.individual-product-page .identifier { border:0;background:transparent;color:#64748b;padding:3px 0;font-size:12px; }
.individual-product-page .product-identifiers { gap:16px;margin-top:12px;margin-bottom:18px; }
.individual-product-page .quick-benefits { gap:14px;margin-top:20px; }
.individual-product-page .quick-benefit { font-size:15px;color:#40536a;align-items:center; }
.individual-product-page .benefit-check { width:28px;height:28px;flex-basis:28px;background:#fff9f8;color:#800000; }
.individual-product-page .product-sample-caption { padding:10px 18px;background:#fff9f8;border:1px solid #cda9a5;color:#800000;border-radius:8px;font-weight:600; }
.individual-product-page .purchase-card { position:static;top:auto;margin:0 36px 28px;padding:0;background:#fff;border:1px solid #d6dee8;border-top:0;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px rgba(23,43,69,.04); }
.individual-product-page .purchase-label { margin:0;padding:13px 22px;background:#172b45;color:#fff;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none; }
.individual-product-page .purchase-body { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:center;gap:28px;padding:22px; }
.individual-product-page .purchase-pricing { min-width:0; }
.individual-product-page .selling-price { color:#172b45;font-size:36px;line-height:1.2;font-weight:600;margin:6px 0; }
.individual-product-page .regular-price { font-size:14px;margin:0;color:#64748b; }
.individual-product-page .saving-line { font-size:14px;font-weight:600;color:#15803d;margin-top:8px; }
.individual-product-page .discount-banner { background:#fff9f8;border:1px solid #e8d5d2;color:#800000;font-size:13px;margin-top:14px; }
.individual-product-page .purchase-actions { padding-left:28px;border-left:1px solid #e2e8f0; }
.individual-product-page .purchase-actions form { display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px; }
.individual-product-page .purchase-actions label { font-size:14px;color:#40536a; }
.individual-product-page .quantity-control { display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:7px;overflow:hidden;background:white; }
.individual-product-page .quantity-control button { width:36px;height:38px;border:0;background:#f8fafc;color:#172b45;font-size:20px;cursor:pointer; }
.individual-product-page .quantity-control input { width:48px;height:38px;border:0;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;margin:0;padding:6px;text-align:center;color:#172b45;font:inherit;appearance:textfield; }
.individual-product-page .quantity-control input::-webkit-inner-spin-button,.individual-product-page .quantity-control input::-webkit-outer-spin-button { appearance:none;margin:0; }
.individual-product-page .quantity-control button:hover { background:#fff9f8; }
.individual-product-page .add-to-cart-button { width:100%;flex-basis:100%;margin:4px 0 0;background:#800000;color:#fff;font-weight:600;font-size:16px;min-height:48px;border-radius:8px;box-shadow:none; }
.individual-product-page .add-to-cart-button:hover { background:#650000; }
.individual-product-page .not-available-button { background:#e2e8f0;color:#64748b; }
.individual-product-page .purchase-actions > p { margin:10px 0 0;font-size:13px; }
.individual-product-page .purchase-features { display:flex;flex-wrap:wrap;gap:16px 28px;margin:0;padding:16px 22px;border-top:1px solid #e2e8f0;background:#fbfcfd; }
.individual-product-page .purchase-feature { flex:1 1 230px;display:flex;font-size:13px;gap:10px; }
.individual-product-page .feature-icon { width:30px;height:30px;flex:0 0 30px;background:#fff9f8;color:#800000;border-radius:50%;font-size:16px; }
.individual-product-page .description-section { padding:0 36px 32px; }
.individual-product-page .section-heading { margin:0 0 20px;padding:17px 0 0;border:0;border-top:2px solid #cda9a5;border-radius:0;background:transparent;color:#172b45;font-size:23px;font-weight:600; }
.individual-product-page .product-description { color:#40536a;font-size:15px;line-height:1.8; }
.individual-product-page .product-description li::before { background:#cda9a5;width:6px;height:6px; }
.individual-product-page .product-description > div[style*="border-left"] { background:#fbfcfd !important;border-left:2px solid #cda9a5 !important;border-radius:0 !important;border-bottom:1px solid #e2e8f0;padding:14px 18px !important; }
.individual-product-page .bundle-product { background:#fbfcfd;border:1px solid #e2e8f0;border-radius:9px; }
.individual-product-page .bundle-product-image { background:#fff9f8;border-color:#e8d5d2;box-shadow:none; }
.individual-product-page a { color:#172b45; }
.individual-product-page a:focus-visible,.individual-product-page button:focus-visible,.individual-product-page input:focus-visible { outline:2px solid #cda9a5;outline-offset:3px; }
@media(max-width:800px) {
 .individual-product-page .product-hero { grid-template-columns:minmax(0,1fr) 240px;gap:24px;padding:24px; }
 .individual-product-page .product-image-box { padding:16px; }
 .individual-product-page .purchase-card { margin:0 24px 24px; }
 .individual-product-page .description-section { padding:0 24px 24px; }
 .individual-product-page .purchase-body { grid-template-columns:1fr 1fr;gap:18px; }
 .individual-product-page .purchase-actions { padding-left:18px; }
}
@media(max-width:600px) {
 .individual-product-page .product-hero { grid-template-columns:1fr;padding:22px;gap:22px; }
 .individual-product-page .product-overview { grid-column:1;grid-row:1; }
 .individual-product-page .product-image-box { grid-column:1;grid-row:2;min-height:0;width:100%;max-width:340px;justify-self:center; }
 .individual-product-page .product-image { max-height:280px; }
 .individual-product-page .purchase-card { margin:0 18px 24px; }
 .individual-product-page .purchase-body { grid-template-columns:1fr;gap:20px;padding:20px; }
 .individual-product-page .purchase-actions { padding:18px 0 0;border-left:0;border-top:1px solid #e2e8f0; }
 .individual-product-page .description-section { padding:0 22px 26px; }
 .individual-product-page .purchase-features { padding:16px 20px;gap:14px; }
 .individual-product-page .selling-price { font-size:32px; }
}

/* Navy top accent and requested light gray-blue product background. */
.individual-product-page .product-card {
    border-top:4px solid #172b45;
    background:#edf1f4;
}

/* Maroon top accent for the product image box. */
.individual-product-page .product-image-box { border-top:3px solid #800000; }
