.cdg-preview {
    color: #261e32;
    background: #faf8fb;
    padding: 28px 18px 72px;
}

.cdg-preview *, .cdg-preview *::before, .cdg-preview *::after { box-sizing: border-box; }
.cdg-preview-frame { max-width: 1250px; margin: 0 auto; }
.cdg-preview-crumb { color: #756f80; font-size: 13px; margin: 0 0 24px; }
.cdg-preview-crumb a { color: #756f80; text-decoration: underline; }
.cdg-preview-crumb span { padding: 0 8px; }
.cdg-preview-grid {
    display: grid;
    grid-template-columns: minmax(180px, 285px) minmax(300px, 1fr) minmax(305px, 360px);
    grid-template-areas: "cover intro purchase" "cover description purchase";
    gap: 24px 38px;
    align-items: start;
}
.cdg-preview-cover { grid-area: cover; }
.cdg-preview-cover img { display: block; width: 100%; height: auto; box-shadow: 0 12px 32px #21122e38; }
.cdg-preview-intro { grid-area: intro; }
.cdg-preview-series { color: #a1357e; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.cdg-preview-series a { color: inherit; text-decoration: none; }
.cdg-preview-series a:hover, .cdg-preview-series a:focus-visible { text-decoration: underline; }
.cdg-preview-intro h1 { color: #23182d; font: 700 clamp(31px, 3vw, 43px)/1.1 Georgia, serif; margin: 0 0 17px; }
.cdg-preview-teaser { color: #3c3149; font: 700 18px/1.5 Georgia, serif; margin: 0 0 20px; }
.cdg-preview-subtitle { color: #645d6d; font-size: 15px; line-height: 1.6; }
.cdg-preview-description { grid-area: description; color: #4e4856; font-size: 15px; line-height: 1.7; min-width: 0; }
.cdg-preview-description p { margin-bottom: 1em; }
.cdg-preview-purchase { grid-area: purchase; background: #fff; border: 1px solid #eadfe9; border-radius: 17px; box-shadow: 0 12px 35px #2e173a13; padding: 23px; }
.cdg-preview-eyebrow { color: #9c3578; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; margin: 0 0 6px; }
.cdg-preview-purchase h2 { color: #25192e; font: 700 26px Georgia, serif; margin: 0 0 7px; }
.cdg-preview-help { color: #6e6773; font-size: 13px; line-height: 1.45; margin: 0 0 11px; }
.cdg-preview-format { border-top: 1px solid #ece5ec; padding: 17px 0 16px; }
.cdg-preview-format h3 { color: #2b2134; font-size: 17px; font-weight: 700; margin: 0 0 10px; }
.cdg-preview-product + .cdg-preview-product { margin-top: 13px; }
.cdg-preview-product-line { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: #5d5564; font-size: 13px; margin-bottom: 9px; }
.cdg-preview-product-line strong { color: #271c35; font-size: 16px; white-space: nowrap; }
.cdg-preview-product-line .amount { color: inherit; }
.cdg-preview .cdg-preview-add { display: block; width: 100%; border: 0; border-radius: 8px; background: #b62e83; box-shadow: 0 3px 0 #84205f; color: #fff; text-align: center; text-decoration: none; font-size: 14px; font-weight: 800; line-height: 1.3; padding: 12px 10px; }
.cdg-preview .cdg-preview-add:hover, .cdg-preview .cdg-preview-add:focus-visible { background: #95236a; color: #fff; text-decoration: none; }
.cdg-preview .cdg-preview-add.loading { opacity: .65; pointer-events: none; }
.cdg-preview .cdg-preview-add.added { background: #4f3566; }
.cdg-preview a.added_to_cart { display: none; }
.cdg-preview-unavailable { display: block; color: #746c77; font-size: 13px; }
.cdg-preview-retail { margin-top: 12px; }
.cdg-preview-retail summary { color: #71315f; display: list-item; width: fit-content; cursor: pointer; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cdg-preview-retail summary:hover, .cdg-preview-retail summary:focus-visible { color: #a52f79; }
.cdg-preview-retail .cdg-preview-retailer-list { display: grid; grid-template-columns: 1fr; background: #fbf7fa; border: 1px solid #eee1e9; border-radius: 8px; padding: 5px 13px; margin-top: 10px; }
.cdg-preview-retailer-list .cd-link-to-buy { display: block; color: #47364d; border-bottom: 1px solid #ebdfe8; padding: 9px 1px; font-size: 13px; text-decoration: none; }
.cdg-preview-retailer-list .cd-link-to-buy::after { content: " ↗"; color: #8e6181; }
.cdg-preview-retailer-list .cd-link-to-buy:last-child { border-bottom: 0; }
.cdg-preview-retailer-list .cd-link-to-buy:hover, .cdg-preview-retailer-list .cd-link-to-buy:focus-visible { color: #a02c73; text-decoration: underline; }
.cdg-preview-secure { color: #716a75; border-top: 1px solid #ece5ec; padding-top: 15px; margin: 0; font-size: 12px; }
.cdg-preview-related { border-top: 1px solid #e8e0e9; margin-top: 54px; padding-top: 22px; }
.cdg-preview-related h2 { font: 700 25px Georgia, serif; margin: 0 0 18px; }
.cdg-preview-related-grid { display: flex; flex-wrap: wrap; gap: 22px; }
.cdg-preview-related-grid a { color: #45364a; display: block; width: 145px; text-decoration: none; font-size: 14px; font-weight: 700; }
.cdg-preview-related-grid img { display: block; width: 100%; height: auto; margin-bottom: 8px; }
@media (max-width: 1100px) {
    .cdg-preview-grid { grid-template-columns: minmax(170px, 245px) minmax(280px, 1fr); grid-template-areas: "cover intro" "cover purchase" "description description"; gap: 24px 30px; }
}
@media (max-width: 680px) {
    .cdg-preview { padding: 20px 16px 55px; }
    .cdg-preview-grid { grid-template-columns: 105px minmax(0, 1fr); grid-template-areas: "cover intro" "purchase purchase" "description description"; gap: 18px; }
    .cdg-preview-cover img { width: 105px; }
    .cdg-preview-intro h1 { font-size: clamp(24px, 6vw, 32px); }
    .cdg-preview-teaser { font-size: 15px; }
    .cdg-preview-subtitle { font-size: 13px; }
    .cdg-preview-purchase { padding: 20px; }
}
