
/* =========================================================
   TEMPLUM DIANAE - SINGLE PRODUCT
   ========================================================= */

.td-product-page {
    --td-border: rgba(0,0,0,.14);
    --td-border-light: rgba(0,0,0,.08);
    --td-muted: rgba(0,0,0,.62);
    --td-soft: rgba(0,0,0,.025);
}

/* HERO */

.td-product-hero {
    margin-top: 2rem;
    margin-bottom: 2.5rem;
    align-items: flex-start !important;
    gap: 2.5rem !important;
}

.td-product-cover {
    flex-basis: 310px !important;
    max-width: 310px;
}

.td-product-cover .woocommerce-product-gallery,
.td-product-cover .wp-block-woocommerce-product-image-gallery {
    max-width: 310px;
    margin: 0 auto;
}

.td-product-cover img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* MAIN INFO */

.td-product-main {
    min-width: 0;
}

.td-product-main h1 {
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.06;
    margin-top: 0;
    margin-bottom: .65rem;
}

.td-book-subtitle {
    font-size: 1.04rem;
    line-height: 1.45;
    font-weight: 600;
    margin: 0 0 .7rem;
    opacity: .82;
}

.td-book-subtitle:empty {
    display: none;
}

/* AUTHORS AND NARRATORS */

.td-author-line {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .3rem;
    font-size: .95rem;
    line-height: 1.45;
    margin: 0 0 .8rem;
}

.td-author-prefix,
.td-narrator-prefix,
.td-secondary-author-prefix {
    margin: 0;
    opacity: .55;
}

.td-author-taxonomy,
.td-author-fallback,
.td-narrator-links,
.td-secondary-author-links {
    margin: 0;
}

.td-author-taxonomy a,
.td-narrator-links a,
.td-secondary-author-links a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,.22);
}

.td-author-taxonomy a:hover,
.td-narrator-links a:hover,
.td-secondary-author-links a:hover {
    border-bottom-color: currentColor;
}

.td-author-taxonomy:not(:has(a)),
.td-author-fallback:empty,
.td-author-line:has(.td-author-taxonomy a) .td-author-fallback {
    display: none;
}

.td-author-line:not(:has(.td-author-taxonomy a)):has(.td-author-fallback:empty) {
    display: none !important;
}

.td-narrator-credit,
.td-secondary-author-credit {
    display: none !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .22rem;
    margin: 0 !important;
}

.td-narrator-credit.is-visible,
.td-secondary-author-credit.is-visible {
    display: flex !important;
}

.td-credit-separator {
    margin: 0 .08rem;
    opacity: .35;
}

.td-narrator-id-source,
.td-narrator-fallback-source {
    display: none !important;
}

/* RATING */

.td-product-main .wc-block-components-product-rating {
    margin-top: .3rem;
    margin-bottom: .7rem;
}

/* SERIES */

.td-series-row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .28rem;
    margin-top: .65rem;
    margin-bottom: 0;
    font-size: .94rem;
    font-weight: 600;
    line-height: 1.4;
}

.td-series-row p,
.td-series-taxonomy {
    margin: 0;
}

.td-series-taxonomy a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,.22);
}

.td-series-taxonomy a:hover {
    border-bottom-color: currentColor;
}

.td-series-taxonomy:not(:has(a)),
.td-series-fallback:empty,
.td-series-row:has(.td-series-taxonomy a) .td-series-fallback {
    display: none;
}

.td-series-fallback {
    margin: 0;
}

/* DESCRIPTION */

.td-description-inline {
    margin-top: 1.7rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--td-border);
    max-width: 720px;
}

.td-description-inline h2 {
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.td-description,
.td-description p,
.td-description li {
    font-size: 17px !important;
    line-height: 1.62 !important;
}

.td-description > *:first-child {
    margin-top: 0;
}

.td-description p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.td-description ul,
.td-description ol {
    padding-left: 1.4rem;
    margin-top: .65rem;
    margin-bottom: 1.1rem;
}

.td-description h2,
.td-description h3,
.td-description h4 {
    margin-top: 1.6rem;
    margin-bottom: .7rem;
}

/* BUY BOX */

.td-product-sidebar {
    flex-basis: 255px !important;
    max-width: 255px;
    min-width: 235px;
}

.td-buy-box {
    border: 1px solid var(--td-border);
    border-radius: 12px;
    padding: 1rem;
    background: #fff;
}

/* FORMATS */

.td-editions-title {
    margin: 0 0 .75rem;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .045em;
    opacity: .7;
}

.td-edition-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .5rem;
    margin-bottom: 1.2rem;
}

.td-edition-button {
    margin: 0 !important;
    width: 100%;
}

.td-edition-button .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    color: inherit;
    border: 1px solid rgba(0,0,0,.24);
    border-radius: 8px;
    padding: .68rem .3rem;
    font-size: .88rem;
    line-height: 1.1;
    font-weight: 600;
    text-align: center;
    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.td-edition-button .wp-block-button__link:hover {
    border-color: currentColor;
    background: rgba(0,0,0,.025);
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

.td-edition-button:has(a:not([href])),
.td-edition-button:has(a[href=""]) {
    display: none !important;
}

.td-edition-button.is-current-edition .wp-block-button__link {
    border: 2px solid currentColor;
    background: rgba(0,0,0,.045);
}

/* =========================================================
   PREMIUM - SMALL BUTTON WITH GOLD TEXT
   The link is generated by functions.php.
   ========================================================= */

.td-edition-grid > .wp-block-shortcode:has(.td-edition-premium) {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.td-edition-premium {
    grid-column: 1 / -1 !important;
    display: block !important;
    justify-self: start !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.td-edition-premium .wp-block-button__link,
.td-edition-premium.is-current-edition .wp-block-button__link {
    display: inline-block !important;
    width: auto !important;
    min-width: 100px !important;
    max-width: 135px !important;
    padding: .48rem .86rem !important;

    background: #126963 !important;
    color: #e5c783 !important;

    border: 1px solid #126963 !important;
    border-radius: 6px !important;

    font-size: .78rem !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;

    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.td-edition-premium .wp-block-button__link:hover,
.td-edition-premium .wp-block-button__link:focus {
    background: #187f76 !important;
    border-color: #187f76 !important;
    color: #f6dfa4 !important;
}

/* PRICE */

.td-product-sidebar .wp-block-woocommerce-product-price {
    font-size: 1.65rem;
    margin: .5rem 0 1rem;
}

/* PURCHASE */

.td-product-sidebar .wp-block-woocommerce-add-to-cart-form button,
.td-product-sidebar .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button,
.td-product-sidebar .wp-block-woocommerce-add-to-cart-form .wp-element-button {
    width: 100%;
    box-sizing: border-box;
    border-radius: 999px;
    padding: .82rem 1rem;
    font-size: 1rem;
    font-weight: 700;
}

/* OPTIONAL LINKS */

.td-sidebar-links {
    margin-top: .75rem;
}

.td-sidebar-link {
    width: 100%;
    margin-top: .5rem !important;
}

.td-sidebar-link .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    color: inherit;
    border: 1px solid var(--td-border);
    border-radius: 999px;
    padding: .6rem .9rem;
    font-size: .9rem;
}

.td-sidebar-link:has(a:not([href])),
.td-sidebar-link:has(a[href=""]) {
    display: none !important;
}

/* QUICK DETAILS */

.td-quick-details-wrap {
    max-width: 900px !important;
    margin: 2.2rem auto 0 !important;
    padding-top: 1.6rem;
    border-top: 1px solid var(--td-border);
}

.td-quick-details-title {
    font-size: 1.35rem;
    margin: 0 0 1.2rem;
}

.td-quick-details {
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: .7rem;
}

.td-quick-detail {
    text-align: center;
    padding: .8rem .5rem;
    min-width: 0;
}

.td-quick-label {
    font-size: 11px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .045em;
    opacity: .65;
    margin: 0 0 .35rem;
}

.td-quick-value {
    font-size: 14px !important;
    line-height: 1.35;
    font-weight: 600;
    margin: 0;
}

.td-quick-detail:has(.td-quick-value:empty) {
    display: none;
}

.td-series-quick-value {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    gap: .2rem;
    font-size: 14px;
    font-weight: 600;
}

.td-series-quick-value p {
    margin: 0;
    font-size: 14px !important;
}

.td-series-quick-taxonomy {
    font-size: 12px !important;
    margin-top: .25rem;
}

.td-series-quick-taxonomy a {
    color: inherit;
}

.td-series-quick-taxonomy:not(:has(a)),
.td-series-quick-fallback:empty,
.td-quick-detail:has(.td-series-quick-taxonomy a) .td-series-quick-fallback {
    display: none;
}

.td-series-quick-fallback {
    font-size: 12px !important;
    margin: .25rem 0 0;
}

.td-see-details {
    margin-top: .75rem;
}

.td-see-details .wp-block-button__link {
    background: transparent;
    color: inherit;
    border: 0;
    padding: .35rem 0;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RELATED BOOKS */

.td-related-books {
    margin-top: 2.4rem;
    margin-bottom: 3.5rem;
    padding-top: 1.7rem;
    border-top: 1px solid var(--td-border);
}

.td-related-books > h2 {
    font-size: 1.55rem;
    margin-bottom: 1.4rem;
}

.td-related-books .wp-block-post-title {
    font-size: 15px !important;
    line-height: 1.3;
}

.td-related-books .wp-block-woocommerce-product-price {
    font-size: 14px !important;
}

/* FULL DETAILS */

.td-full-details-section {
    max-width: 920px !important;
    margin: 0 auto 4rem !important;
    padding: 1.5rem 1.6rem 1.8rem;
    border: 1px solid var(--td-border);
    border-radius: 12px;
    background: #fff;
}

.td-full-details-section > h2 {
    font-size: 1.7rem;
    margin: 0 0 1.5rem;
}

.td-book-meta-section {
    margin-top: 2rem;
}

.td-book-meta-section:first-of-type {
    margin-top: 0;
}

.td-book-meta-section > h3 {
    font-size: 1rem;
    margin-bottom: .35rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--td-border);
}

.td-book-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    column-gap: 1.5rem;
    row-gap: 0;
}

.td-book-meta-item {
    padding: .65rem 0;
    border-bottom: 1px solid var(--td-border-light);
    min-width: 0;
}

.td-book-meta-label {
    margin: 0 0 .12rem;
    font-size: 10.5px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .045em;
    color: var(--td-muted);
}

.td-book-meta-value,
.td-book-meta-value p,
.td-book-meta-value a {
    margin: 0;
    font-size: 13.5px !important;
    line-height: 1.35;
}

.td-book-meta-value a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,.22);
}

.td-book-meta-value a:hover {
    border-bottom-color: currentColor;
}

.td-book-meta-item:has(.td-book-meta-value:empty) {
    display: none !important;
}

.td-book-meta-section:not(:has(.td-book-meta-value:not(:empty))):not(:has(.td-book-meta-value a)) {
    display: none !important;
}

/* RESPONSIVE */

@media(max-width:1100px) {
    .td-product-hero {
        flex-wrap: wrap !important;
    }

    .td-product-cover {
        flex-basis: 280px !important;
        max-width: 280px;
    }

    .td-product-sidebar {
        flex-basis: 100% !important;
        max-width: none;
        width: 100%;
    }

    .td-buy-box {
        max-width: 620px;
    }

    .td-edition-grid {
        grid-template-columns: repeat(4,minmax(0,1fr));
    }

    .td-quick-details {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media(max-width:800px) {
    .td-product-hero {
        display: block !important;
    }

    .td-product-cover {
        max-width: 260px;
        margin: 0 auto 2rem;
    }

    .td-product-main {
        margin-bottom: 2rem;
    }

    .td-product-sidebar {
        margin-top: 2rem;
    }

    .td-book-meta-grid,
    .td-quick-details {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media(max-width:560px) {
    .td-product-cover {
        max-width: 220px;
    }

    .td-product-main h1 {
        font-size: 2rem;
    }

    .td-edition-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .td-book-meta-grid {
        grid-template-columns: 1fr;
    }

    .td-description,
    .td-description p,
    .td-description li {
        font-size: 16px !important;
    }

    .td-full-details-section {
        padding: 1.1rem;
    }
}

/* Shared reviews: rating overview beside customer feedback. */
.td-shared-reviews{box-sizing:border-box;margin:1.5rem auto 2.5rem;padding:24px 24px 28px;background:#fff;border-top:1px solid #d5d9d9;color:#0f1111;font-family:Arial,Helvetica,sans-serif;font-size:13px!important;line-height:1.5;scroll-margin-top:110px}
.td-shared-reviews *{box-sizing:border-box}
.td-reviews-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:44px;align-items:start}
.td-shared-reviews h2,.td-shared-reviews h3{font-family:Arial,Helvetica,sans-serif!important;color:#0f1111!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.td-shared-reviews h2{font-size:21px!important;line-height:1.25;margin:0 0 9px}
.td-shared-reviews h3{font-size:18px!important;line-height:1.3;margin:0 0 14px}
.td-shared-reviews p{font-family:inherit;font-size:13px!important;line-height:1.5}
.td-reviews-overview,.td-reviews-content{min-width:0}
.td-reviews-average{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 4px}
.td-review-stars{position:relative;display:inline-block;white-space:nowrap;font-family:Arial,Helvetica,sans-serif!important;font-size:20px;line-height:1.15;letter-spacing:1px;flex-shrink:0;vertical-align:middle}
.td-review-stars-base{color:#ddd}
.td-review-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:#de7921;white-space:nowrap}
.td-shared-reviews .td-reviews-count{color:#565959;font-size:12px!important;margin:5px 0 18px}
.td-reviews-distribution{display:grid;gap:11px;margin:0 0 14px}
.td-reviews-bar-row{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:12px;line-height:1.2}
.td-reviews-bar-label,.td-reviews-bar-percent{color:#216479}
.td-reviews-bar-percent{text-align:right}
.td-reviews-bar{display:block;height:20px;overflow:hidden;background:#fff;border:1px solid #9ba0a0;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}
.td-reviews-bar>span{display:block;height:100%;background:#de7921}
.td-shared-reviews .td-shared-reviews-note{color:#565959;font-size:11px!important;line-height:1.4;margin:0 0 22px}
.td-reviews-write{padding-top:20px;margin-top:20px;border-top:1px solid #d5d9d9}
.td-reviews-write h3{font-size:18px!important;margin:0 0 8px}
.td-reviews-write>p{color:#565959;margin:0 0 15px}
.td-write-review{margin:0;border:0;background:none}
.td-write-review>summary{position:relative;display:block;list-style:none;padding:8px 25px 8px 12px;border:1px solid #888c8c;border-radius:20px;background:#fff;box-shadow:0 2px 3px rgba(15,17,17,.08);font-size:12px;line-height:1.35;text-align:center;cursor:pointer}
.td-write-review>summary::-webkit-details-marker{display:none}
.td-write-review>summary::after{position:absolute;right:12px;top:50%;transform:translateY(-50%);content:'+';font-size:15px}
.td-write-review[open]>summary::after{content:'−'}
.td-write-review>summary:hover{background:#f7fafa}
.td-write-review>summary:focus-visible{outline:2px solid #126963;outline-offset:3px}
.td-review-expand-hint{display:none}
.td-review-form-panel{padding-top:14px}
.td-shared-reviews .td-review-form-note{font-size:10px!important;line-height:1.4;color:#565959;margin:0 0 10px}
.td-shared-review-list{list-style:none;padding:0;margin:0;max-width:900px}
.td-shared-review{margin:0 0 23px;padding:0 0 20px;border-bottom:1px solid #eaeded}
.td-shared-review:last-child{margin-bottom:0}
.td-review-reader{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}
.td-review-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;background:#eef1f1;color:#727b7c;border:1px solid #d5d9d9;border-radius:50%}
.td-review-item-rating{margin-bottom:5px}
.td-review-item-rating .td-review-stars{font-size:17px}
.td-shared-review-meta{display:flex;flex-direction:column;gap:2px;color:#565959;font-size:11px;line-height:1.4;margin:0 0 8px}
.td-shared-review-text,.td-shared-reviews .td-shared-review-text p{font-size:13px!important;line-height:1.6;overflow-wrap:anywhere;color:#0f1111}
.td-shared-reviews .td-shared-review-text p{margin:0 0 10px}
.td-shared-reviews .td-shared-review-text p:last-child{margin-bottom:0}
.td-reviews-empty{padding:12px 0;color:#565959}
.td-reviews-empty p{margin:0 0 5px}
.td-reviews-empty p:first-child{font-weight:700;color:#0f1111}
.td-shared-reviews #respond{max-width:100%!important;margin-top:0}
.td-shared-reviews #respond h3{font-size:14px!important;line-height:1.25;margin:0 0 10px}
.td-shared-reviews #td-book-review-form{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;font-size:12px!important}
.td-shared-reviews #td-book-review-form>p{margin:0!important}
.td-shared-reviews #td-book-review-form label{display:block;font-size:11px!important;line-height:1.3;margin:0 0 3px}
.td-shared-reviews #td-book-review-form input:not([type=checkbox]):not([type=submit]),.td-shared-reviews #td-book-review-form textarea,.td-shared-reviews #td-book-review-form select{width:100%;max-width:100%;box-sizing:border-box;font-family:inherit;font-size:12px!important;line-height:1.35!important;padding:6px 8px!important;border:1px solid #888c8c;border-radius:3px;min-height:0;box-shadow:none;background:#fff;color:#0f1111}
.td-shared-reviews #td-book-review-form .comment-form-author input,.td-shared-reviews #td-book-review-form .comment-form-email input,.td-shared-reviews #td-book-review-form select{height:31px}
.td-shared-reviews #td-book-review-form textarea{height:76px;min-height:76px;resize:vertical}
.td-shared-reviews #td-book-review-form .submit{font-family:inherit;font-size:12px!important;line-height:1.3!important;padding:7px 12px!important;min-height:0;border:0;border-radius:16px;background:#126963;color:#fff;cursor:pointer}
.td-shared-reviews-pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.td-shared-rating{margin:.4rem 0 1rem;font-size:12px}
.td-shared-rating a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.6rem;color:inherit;text-decoration:none}
.td-shared-rating .star-rating{float:none;margin:0;display:inline-block;font-size:13px!important;color:#de7921}
@media(max-width:850px){.td-reviews-layout{grid-template-columns:240px minmax(0,1fr);gap:28px}.td-shared-reviews{padding:20px 16px}}
@media(max-width:640px){.td-shared-reviews{padding:18px 12px;margin:1.2rem auto 2rem}.td-reviews-layout{grid-template-columns:minmax(0,1fr);gap:25px}.td-reviews-overview{max-width:380px;width:100%}.td-shared-reviews h2{font-size:20px!important}.td-shared-reviews h3{font-size:17px!important}.td-review-expand-hint{display:inline;font-size:9px;color:#565959}.td-write-review[open] .td-review-expand-hint{display:none}.td-reviews-write{padding-top:16px;margin-top:16px}.td-shared-review-text,.td-shared-reviews .td-shared-review-text p{font-size:13px!important}}


/* Shortcode line breaks must not take up histogram grid cells. */
.td-reviews-bar-row{grid-template-columns:40px minmax(0,1fr) 34px!important;align-items:center!important;row-gap:0!important}
.td-reviews-bar-row>br{display:none!important}
.td-reviews-bar-label{grid-column:1;grid-row:1}
.td-reviews-bar{grid-column:2;grid-row:1;width:100%;min-width:0}
.td-reviews-bar-percent{grid-column:3;grid-row:1;white-space:nowrap}
.td-review-item-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.td-review-item-rating>br{display:none}
.td-review-title{font-size:13px;line-height:1.4;font-weight:700;color:#0f1111}
.td-shared-reviews #td-book-review-form .comment-form-review-title input{height:31px}
.td-review-success{padding:14px;background:#f2f8f5;border:1px solid #b7d9c6;border-radius:4px;color:#15523d}
.td-review-success>strong{font-size:15px}
.td-shared-reviews .td-review-success p{font-size:12px!important;line-height:1.5;margin:5px 0 0}
.td-review-form-error{grid-column:1/-1;color:#9b1c1c;font-size:12px!important;margin:0}


/* Compact product introduction and metadata strip, scoped to single books. */
.td-product-page .td-product-hero{margin-top:18px;margin-bottom:18px;gap:24px!important}
.td-product-page .td-product-main>h1{font-size:clamp(27px,2.15vw,35px);line-height:1.15;margin:0 0 7px}
.td-product-page .td-book-subtitle{font-size:14px;line-height:1.45;font-weight:500;margin:0 0 7px}
.td-product-page .td-author-line{font-size:12px;line-height:1.4;gap:4px;margin:0 0 5px}
.td-product-page .td-author-line>p,.td-product-page .td-author-taxonomy{font-size:inherit!important;margin:0!important}
.td-product-page .td-product-main>.td-shared-rating{margin:5px 0!important}
.td-shared-rating>a{display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:6px!important;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-size:12px!important;line-height:1.3!important;text-decoration:none}
.td-shared-rating>br,.td-shared-rating>a>br{display:none!important}
.td-shared-rating .td-rating-average{color:#0f1111;font-size:12px;white-space:nowrap}
.td-shared-rating .td-rating-total{color:#216479;font-size:12px;white-space:nowrap}
.td-shared-rating .td-review-stars{display:inline-block;position:relative;float:none;margin:0;font-size:16px;line-height:1;letter-spacing:0;white-space:nowrap;flex:0 0 auto}
.td-shared-rating .td-review-stars-base{display:block;line-height:1}
.td-shared-rating .td-review-stars-fill{display:block;position:absolute;left:0;top:0;line-height:1}
.td-product-page .td-series-row{font-size:12px;line-height:1.4;gap:4px;margin:5px 0 0}
.td-product-page .td-series-row>p,.td-product-page .td-series-taxonomy{font-size:inherit!important;margin:0!important}
.td-product-page .td-description-inline{max-width:none;margin-top:12px!important;padding-top:12px}
.td-product-page .td-description-inline>h2{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:700;line-height:1.3;margin:0 0 9px}
.td-product-page .td-description{margin-top:0!important}
.td-product-page .td-description,.td-product-page .td-description p,.td-product-page .td-description li{font-size:14px!important;line-height:1.5!important}
.td-product-page .td-description p{margin-bottom:10px}
.td-product-page .td-description ul,.td-product-page .td-description ol{margin-top:7px;margin-bottom:10px}
.td-product-page .td-quick-details-wrap{width:100%;max-width:none!important;box-sizing:border-box;margin:14px 0 0!important;padding:10px 0 0;border-top:1px solid var(--td-border);font-family:Arial,Helvetica,sans-serif}
.td-product-page .td-quick-details-title{font-family:inherit;font-size:13px!important;font-weight:700;line-height:1.3;margin:0 0 9px!important}
.td-product-page .td-quick-details{display:flex!important;flex-wrap:nowrap;gap:0!important;margin:0!important}
.td-product-page .td-quick-detail{flex:1 0 0;min-width:0;margin:0!important;padding:3px 8px;text-align:center}
.td-product-page .td-quick-detail+.td-quick-detail{border-left:1px solid var(--td-border-light)}
.td-product-page .td-quick-label{font-family:inherit;font-size:10px!important;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.3;margin:0 0 5px!important;opacity:1;color:#565959}
.td-product-page .td-quick-value,.td-product-page .td-series-quick-value,.td-product-page .td-series-quick-value p{font-family:inherit;font-size:11px!important;font-weight:600;line-height:1.35;margin:0!important}
.td-product-page .td-series-quick-value{gap:3px!important}
.td-product-page .td-series-quick-taxonomy,.td-product-page .td-series-quick-fallback{font-family:inherit;font-size:10px!important;line-height:1.3;margin:4px 0 0!important}
.td-product-page .td-see-details{margin:8px 0 0!important}
.td-product-page .td-see-details .wp-block-button__link{font-family:inherit;font-size:11px;font-weight:400;line-height:1.3;padding:3px 0;color:#216479;text-decoration:none}
.td-product-page .td-see-details a:hover{text-decoration:underline}
.td-product-page .td-buy-box{padding:14px}
.td-product-page .td-editions-title{font-size:10px;margin-bottom:9px!important}
.td-product-page .td-edition-grid{gap:6px;margin-top:0!important;margin-bottom:12px!important}
.td-product-page .td-edition-button .wp-block-button__link{font-size:12px;padding:10px 4px}
.td-product-page .td-product-sidebar .wp-block-woocommerce-product-price{font-size:23px;margin:10px 0!important}
.td-product-page .td-product-sidebar .wp-block-woocommerce-add-to-cart-form{margin-top:10px!important}
.td-product-page .td-product-sidebar .wp-block-woocommerce-add-to-cart-form button,.td-product-page .td-product-sidebar .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button,.td-product-page .td-product-sidebar .wp-block-woocommerce-add-to-cart-form .wp-element-button{font-size:13px;padding:10px 14px}
.td-product-page .td-sidebar-links:empty,.td-product-page .td-sidebar-links:not(:has(a[href]:not([href=""]))){display:none}
.td-product-page .td-related-carousel{margin-top:18px;padding-top:16px}
@media(min-width:1101px){
 .td-product-page .td-product-cover,.td-product-page .td-product-cover .woocommerce-product-gallery,.td-product-page .td-product-cover .wp-block-woocommerce-product-image-gallery{max-width:270px}
 .td-product-page .td-product-cover{flex-basis:270px!important}
 .td-product-page .td-product-sidebar{flex-basis:250px!important;max-width:250px}
}
@media(max-width:800px){
 .td-product-page .td-product-hero{margin-top:14px;margin-bottom:14px}
 .td-product-page .td-product-cover{margin-bottom:16px}
 .td-product-page .td-product-main{margin-bottom:16px}
 .td-product-page .td-product-sidebar{margin-top:16px}
 .td-product-page .td-quick-details{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:thin}
 .td-product-page .td-quick-detail{flex:1 0 95px;scroll-snap-align:start}
}
@media(max-width:560px){
 .td-product-page .td-product-main>h1{font-size:27px}
 .td-product-page .td-book-subtitle{font-size:13px}
}

/* Compact helpful action below each published review. */
.td-review-helpful-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.td-shared-reviews .td-review-helpful{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 12px;border:1px solid #c8cccc;border-radius:18px;background:#fff;color:#565959;box-shadow:0 1px 2px rgba(15,17,17,.06);font-family:Arial,Helvetica,sans-serif;font-size:11px!important;font-weight:400;line-height:1.3!important;text-transform:none;letter-spacing:0;cursor:pointer}
.td-review-helpful>br{display:none!important}
.td-review-helpful .td-helpful-heart{display:block;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.6}
.td-shared-reviews .td-review-helpful:not(:disabled):hover{background:#f7f4fa;border-color:#8c70a6;color:#634281}
.td-review-helpful:focus-visible{outline:2px solid #765199;outline-offset:3px}
.td-shared-reviews .td-review-helpful[aria-pressed=true]{color:#634281;background:#f5f0fa;border-color:#c4aed8;cursor:default}
.td-review-helpful[aria-pressed=true] .td-helpful-heart{fill:currentColor}
.td-review-helpful[aria-busy=true]{opacity:.65;cursor:wait}
.td-helpful-count{font-size:inherit;color:inherit;font-variant-numeric:tabular-nums}
.td-helpful-message{font-size:10px;line-height:1.4;color:#565959}
.td-helpful-message.is-error{color:#9b1c1c}


/* Stars-only ratings use the existing compact form styling. */
.td-rating-explainer{margin:12px 0 18px;padding:9px 11px;border:1px solid #ded8e5;background:#f7f5f9;border-radius:3px;color:#45404c;font:12px/1.5 Arial,Helvetica,sans-serif}
.td-rating-explainer>summary{cursor:pointer;font-size:12px;font-weight:600;color:#433456}
.td-rating-explainer p{font-size:11px!important;line-height:1.6!important;margin:8px 0 0!important}
.td-shared-reviews #td-book-rating-form{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;font-size:12px!important}
.td-shared-reviews #td-book-rating-form>p{margin:0!important}
.td-shared-reviews #td-book-rating-form label{display:block;font-size:11px!important;line-height:1.3;margin:0 0 3px}
.td-shared-reviews #td-book-rating-form input:not([type=checkbox]):not([type=submit]),.td-shared-reviews #td-book-rating-form textarea,.td-shared-reviews #td-book-rating-form select{width:100%;max-width:100%;box-sizing:border-box;font-family:inherit;font-size:12px!important;line-height:1.35!important;padding:6px 8px!important;border:1px solid #888c8c;border-radius:3px;min-height:0;box-shadow:none;background:#fff;color:#0f1111}
.td-shared-reviews #td-book-rating-form .comment-form-author input,.td-shared-reviews #td-book-rating-form .comment-form-email input,.td-shared-reviews #td-book-rating-form select{height:31px}
.td-shared-reviews #td-book-rating-form textarea{height:76px;min-height:76px;resize:vertical}
.td-shared-reviews #td-book-rating-form .submit{font-family:inherit;font-size:12px!important;line-height:1.3!important;padding:7px 12px!important;min-height:0;border:0;border-radius:16px;background:#126963;color:#fff;cursor:pointer}

.td-write-rating{margin-bottom:10px}
.td-shared-reviews .td-rating-picker{padding:0;margin:0;border:0;min-width:0}
.td-shared-reviews .td-rating-picker legend{font-size:11px;line-height:1.3;margin-bottom:3px;padding:0}
.td-rating-options{display:flex;gap:4px;align-items:center;position:relative;width:max-content}
.td-shared-reviews #td-book-rating-form .td-rating-options input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.td-shared-reviews #td-book-rating-form .td-rating-options label{font-size:28px!important;line-height:1.2;color:#888c8c;cursor:pointer;margin:0;padding:2px}
.td-rating-options:has(input:checked) label{color:#de7921!important}
.td-rating-options input:checked~input~label{color:#888c8c!important}
.td-rating-options input:focus-visible+label{outline:2px solid #126963;outline-offset:2px;border-radius:3px}
.td-rating-options label:hover{color:#de7921!important}

