/* Eudora product page 1.0.0 (layout, gallery, details, reviews).
 * Builds on eudora-purchase-flow-1.0.0.css (buy box) and reuses its tokens. Display only.
 * Layout: desktop = sticky gallery (vertical thumbs) | info column with buy box and detail
 * accordions; mobile = one column, image first, horizontal thumbs.
 * Type: clear system sans-serif headings; everything else in the site sans.
 */
body.catalog-product-view {
    --pdp-display: Arial, "Helvetica Neue", Helvetica, sans-serif;
    --pdp-gutter: 56px;
    --pdp-gallery-bg: #f7f3f1;
}

/* ───────── Breadcrumb ───────── */
.catalog-product-view .breadcrumbs { margin-bottom: 18px; }
.catalog-product-view .breadcrumbs li,
.catalog-product-view .breadcrumbs a,
.catalog-product-view .breadcrumbs strong { color: var(--pf-muted); font-size: 13px; font-weight: 400; }
.catalog-product-view .breadcrumbs a:hover { color: var(--pf-ink); }

/* ───────── Grid ───────── */
.catalog-product-view .eudora-pdp { margin: 0; padding: 0; }
.catalog-product-view .eudora-pdp .eudora-pdp__grid {
    display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    column-gap: var(--pdp-gutter); align-items: start; margin: 0; padding: 0; border: 0; background: none;
}
.catalog-product-view .eudora-pdp .eudora-pdp__grid::after { content: none; }
.catalog-product-view .eudora-pdp .eudora-pdp__media,
.catalog-product-view .eudora-pdp .eudora-pdp__info {
    float: none !important; width: auto !important; max-width: none; margin: 0 !important; padding: 0 !important; min-width: 0;
}
.catalog-product-view .eudora-pdp .eudora-pdp__media { position: sticky; top: 24px; }
.catalog-product-view .eudora-pdp .eudora-pdp__info .product-shop,
.catalog-product-view .eudora-pdp .eudora-pdp__info .add-to-cart-wrapper {
    float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
}

/* ───────── Gallery: main image + vertical thumbnail rail ───────── */
.catalog-product-view .eudora-pdp .product-img-box {
    display: grid; grid-template-columns: 76px minmax(0, 1fr); column-gap: 16px; align-items: start;
}
.catalog-product-view .eudora-pdp .product-img-box .product-image {
    grid-column: 2; grid-row: 1; margin: 0; border: 0; background: var(--pdp-gallery-bg); border-radius: 4px; overflow: hidden;
}
.catalog-product-view .eudora-pdp .product-img-box .product-image-gallery { aspect-ratio: 1 / 1; }
.catalog-product-view .eudora-pdp .product-img-box .product-image-gallery .gallery-image { width: 100%; height: 100%; object-fit: cover; }
/* Thumbnail rail: exactly as tall as the main image, never scrolls. Thumbnails shrink evenly when there
   are more than fit at full size, so every photo and the video stay visible (no hidden scroll area,
   nothing under the sticky purchase bar). 8+ items use two columns so thumbnails stay a usable size. */
.catalog-product-view .eudora-pdp .product-img-box .more-views { grid-column: 1; grid-row: 1; align-self: stretch; position: relative; margin: 0; padding: 0; }
.catalog-product-view .eudora-pdp .product-img-box .more-views h2 {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; border: 0;
}
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs {
    position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: minmax(0, 76px); gap: 10px; align-content: start;
    margin: 0; padding: 0; list-style: none; max-height: none; overflow: hidden;
}
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs li { float: none; width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a {
    position: relative; display: block; width: auto; height: 100%; max-width: 100%; aspect-ratio: 1 / 1; border: 1px solid transparent; border-radius: 4px; overflow: hidden;
    background: var(--pdp-gallery-bg); transition: border-color .15s;
}
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a:hover { border-color: var(--pf-field); }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a.is-current,
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a[aria-current="true"] { border-color: var(--pf-ink); }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a:focus-visible { outline: 2px solid var(--pf-ink); outline-offset: -2px; }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs .video-thumb-link { width: auto; height: 100%; }
.catalog-product-view .eudora-pdp .product-img-box:has(.product-image-thumbs > li:nth-child(8)) { grid-template-columns: 136px minmax(0, 1fr); }
.catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs:has(> li:nth-child(8)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

/* Product video inside the square main-image box at its real shape: a 9:16 Short is shown whole,
   centred, instead of a full-width player cut off by the box (eudora-productvideo-1.1.0.css sizes by width). */
.catalog-product-view .eudora-pdp .product-img-box .product-image-gallery { position: relative; }
.catalog-product-view .eudora-pdp .product-image-gallery .eudora-product-video { position: absolute; inset: 0; width: auto; background: var(--pdp-gallery-bg); }
.catalog-product-view .eudora-pdp .product-image-gallery .eudora-video-screen {
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: auto; height: 100%; max-width: 100%; min-height: 0;
}
.catalog-product-view .eudora-pdp .product-image-gallery .eudora-video-status { position: absolute; left: 0; right: 0; top: 0; margin: 0; background: rgba(255, 255, 255, .92); } /* top edge: keeps YouTube's controls clear */

/* ───────── Info column ───────── */
.catalog-product-view .eudora-pdp .product-shop .product-name { display: block !important; margin: 0; }
.catalog-product-view .eudora-pdp .product-shop .product-name h1.h1 {
    margin: 0; color: var(--pf-ink); font-family: var(--pdp-display); font-size: 32px; font-weight: 600;
    line-height: 1.25; letter-spacing: 0; text-transform: none; text-wrap: balance;
}
.catalog-product-view .eudora-pdp .product-shop .extra-info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 10px 0 18px; }
.catalog-product-view .eudora-pdp .product-shop .extra-info .ratings { margin: 0; }
.catalog-product-view .eudora-pdp .product-shop .price-info .regular-price .price,
.catalog-product-view .eudora-pdp .product-shop .price-info .eudora-sale-prices > .special-price .price { font-size: 24px; }

/* Products without options: the buy box follows the short description directly. */
.catalog-product-view .eudora-pdp .eudora-pdp__info .add-to-cart-wrapper .add-to-box { margin-top: 20px; }

/* ───────── Detail sections (native <details>) ───────── */
.catalog-product-view .eudora-pdp .eudora-pdp__details {
    float: none; width: auto; margin: 32px 0 0 !important; padding: 0 !important; border: 0; background: none;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section { border-top: 1px solid var(--pf-line); }
.catalog-product-view .eudora-pdp .eudora-pdp__section:last-child { border-bottom: 1px solid var(--pf-line); }
/* Shipping / support / money back / payment tiles and the green perks panel, moved from the buy box to sit
   open above "Why us & our guarantee" (owner, 2026-10-13). */
.catalog-product-view .eudora-pdp .eudora-pdp__assurance { padding: 24px 0 28px; border-top: 1px solid var(--pf-line); }
.catalog-product-view .eudora-pdp .eudora-pdp__assurance:last-child { border-bottom: 1px solid var(--pf-line); }
.catalog-product-view .eudora-pdp .eudora-pdp__assurance .eudora-purchase-benefits { margin: 0; }
.catalog-product-view .eudora-pdp .eudora-pdp__assurance .eudora-pdp-perks { margin-top: 24px; }
.catalog-product-view .eudora-pdp .eudora-pdp__section > summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 2px; cursor: pointer;
    color: var(--pf-ink); font-size: 15px; font-weight: 600; list-style: none;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section > summary::-webkit-details-marker { display: none; }
.catalog-product-view .eudora-pdp .eudora-pdp__section > summary::after {
    content: ""; flex: none; width: 10px; height: 10px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: translateY(-3px) rotate(45deg); transition: transform .2s ease;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.catalog-product-view .eudora-pdp .eudora-pdp__section > summary:focus-visible { outline: 2px solid var(--pf-ink); outline-offset: 2px; }
.catalog-product-view .eudora-pdp .eudora-pdp__section-body { padding: 0 2px 22px; color: var(--pf-text); font-size: 14px; line-height: 1.7; }
.catalog-product-view .eudora-pdp .eudora-pdp__section-body .std { font-size: 14px; line-height: 1.7; }
.catalog-product-view .eudora-pdp .eudora-pdp__section-body .std p { margin: 0 0 10px; }
/* The theme sizes .std p and li on their own; follow the section body size instead. */
.catalog-product-view .eudora-pdp .eudora-pdp__section-body .std p,
.catalog-product-view .eudora-pdp .eudora-pdp__section-body .std li,
.catalog-product-view .eudora-pdp .product-shop .short-description .std p { font-size: inherit; line-height: inherit; }
.catalog-product-view .eudora-pdp .eudora-pdp__section-body img { max-width: 100%; height: auto; }
.catalog-product-view .eudora-pdp .eudora-pdp__section-body > h2:first-child,
.catalog-product-view .eudora-pdp .eudora-pdp__section-body > .std > h2:first-child { display: none; }

/* Certifications & our promise: compact, no nested cards. */
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance { margin: 0; padding: 0; border: 0; background: none; }
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance h2,
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance h3 {
    margin: 18px 0 8px; color: var(--pf-ink); font-size: 14px; font-weight: 600; letter-spacing: 0; text-align: left; text-transform: none;
}
/* The vendor block sets its heading styles inline. */
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__certificates h2 {
    margin: 0 0 10px !important; color: var(--pf-ink) !important; font-size: 14px !important; letter-spacing: 0 !important; text-align: left !important;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__certificates {
    margin: 0; padding: 0; border: 0; background: none; box-shadow: none; text-align: left;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__certificates img { max-width: 100%; height: auto; border-radius: 4px; }
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__panels { display: block; margin: 0; padding: 0; }
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__panel {
    width: auto; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; min-height: 0;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance p { margin: 0 0 8px; font-size: 14px; line-height: 1.65; }

/* ───────── Reviews ───────── */
.catalog-product-view #customer-reviews.eudora-pdp-reviews {
    float: none; width: auto; margin: 72px 0 0; padding: 40px 0 0; border: 0; border-top: 1px solid var(--pf-line); background: none;
}
.catalog-product-view #customer-reviews .eudora-pdp-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0 0 10px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__head h2 {
    margin: 0; padding: 0; border: 0; background: none; font-family: var(--pdp-display); letter-spacing: 0; text-transform: none;
    /* cmspro.css forces #customer-reviews h2 to 14px grey with !important */
    color: var(--pf-ink) !important; font-size: 30px !important; font-weight: 600 !important;
}
.catalog-product-view #customer-reviews .eudora-pdp-reviews__count { margin: 0; color: var(--pf-muted); font-size: 14px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__empty { max-width: 60ch; margin: 0 0 20px; color: var(--pf-text); font-size: 15px; line-height: 1.6; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px 40px; margin: 20px 0 28px; padding: 0; list-style: none; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__list .review-item { margin: 0; padding: 0; border: 0; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__title { margin: 8px 0 6px; color: var(--pf-ink); font-size: 15px; font-weight: 600; text-transform: none; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__body { margin: 0 0 8px; color: var(--pf-text); font-size: 14px; line-height: 1.65; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-meta { margin: 0; color: var(--pf-muted); font-size: 13px; text-transform: none; }

/* Write a review: green to match the purchase accents (owner, 2026-10-13: not black and white). */
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form > summary {
    display: inline-flex; align-items: center; height: 46px; padding: 0 22px; border: 1px solid var(--pf-ok, #2f7a46); border-radius: var(--pf-radius);
    background: #edf7ef; color: var(--pf-ok, #2f7a46); font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; transition: background-color .15s, color .15s;
}
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form > summary::-webkit-details-marker { display: none; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form > summary:hover { background: #d9eedd; color: #24603a; border-color: #24603a; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form > summary:focus-visible { outline: 2px solid var(--pf-ok, #2f7a46); outline-offset: 2px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form[open] > summary { margin-bottom: 24px; }

/* Neutralise the theme's #customer-reviews panel, icons and Tahoma meta. */
.catalog-product-view #customer-reviews.eudora-pdp-reviews { border-radius: 0; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-item { padding-left: 0; background: none; width: auto; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-item .review-meta { font-family: inherit; font-style: normal; font-weight: 400; color: var(--pf-muted); }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .eudora-pdp-reviews__author { color: var(--pf-ink); font-weight: 700; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .eudora-pdp-reviews__date { flex-basis: 100%; }
.catalog-product-view #customer-reviews .eudora-review-stars { position: relative; display: inline-block; color: #d9d9dd; font: 18px/1 Arial, sans-serif; letter-spacing: 1px; white-space: nowrap; }
.catalog-product-view #customer-reviews .eudora-review-stars__fill { position: absolute; top: 0; left: 0; overflow: hidden; color: #f5b900; }
@media (max-width: 767px) {
    .catalog-product-view .product-shop .ratings .rating-box,
    .catalog-product-view .product-shop .ratings .rating-box .rating { height: 18px; background-size: 18px 18px; background-position: 0 0; background-repeat: repeat-x; }
    .catalog-product-view .product-shop .ratings .rating-box { width: 90px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d9d9dd' d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14l-5-4.87 6.91-1.01Z'/%3E%3C/svg%3E"); }
    .catalog-product-view .product-shop .ratings .rating-box .rating { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5b900' d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14l-5-4.87 6.91-1.01Z'/%3E%3C/svg%3E"); }
}
/* "Write a review" already names the action and the product is on the page. */
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add > h2,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add h3 { display: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews h3 span { color: var(--pf-ink); font-weight: 600; }

/* The vendor review form, restyled in place. */
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add { max-width: 640px; margin: 0; padding: 0; border: 0; background: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add > h2,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add h3 {
    margin: 0 0 14px; padding: 0; background: none; color: var(--pf-ink); font-size: 14px; font-weight: 600; text-transform: none;
}
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-add h3 span { color: var(--pf-ink); }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .fieldset { margin: 0; padding: 0; border: 0; background: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .fieldset h4 { margin: 0 0 8px; color: var(--pf-text); font-size: 13px; font-weight: 500; text-transform: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table { width: 100%; margin: 0 0 18px; border-collapse: collapse; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table th,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table td {
    padding: 8px 4px; border: 0; border-bottom: 1px solid var(--pf-line); background: none; color: var(--pf-text);
    font-size: 13px; font-weight: 500; text-align: center; text-transform: none;
}
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table th:first-child,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table td:first-child { text-align: left; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list { margin: 0; padding: 0; list-style: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list li { margin: 0 0 14px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list label { display: block; margin: 0 0 6px; color: var(--pf-text); font-size: 13px; font-weight: 500; text-transform: none; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list input.input-text,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list textarea {
    box-sizing: border-box; width: 100%; max-width: 100%; border: 1px solid var(--pf-field); border-radius: var(--pf-radius);
    background: #fff; color: var(--pf-ink); font-size: 15px;
}
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list input.input-text { height: 44px; padding: 0 12px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list textarea { min-height: 120px; padding: 10px 12px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set { margin: 6px 0 0; padding: 0; border: 0; text-align: left; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set .button { margin: 0; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set .button {
    float: none; height: 46px; padding: 0 24px; border: 0; border-radius: var(--pf-radius); background: var(--pf-ink); color: #fff;
    font-size: 15px; font-weight: 600; text-transform: none;
}
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set .button:hover { background: #000; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set p.required { display: none; }

/* Upsell / related, if a product has them. */
.catalog-product-view .eudora-pdp .box-up-sell { margin: 64px 0 0; }
.catalog-product-view .eudora-pdp .box-up-sell h2 { font-family: var(--pdp-display); font-size: 28px; font-weight: 600; text-transform: none; }

/* ───────── Perks: shipping and personalization, highlighted under the buttons ───────── */
.catalog-product-view .eudora-pdp .eudora-pdp-perks {
    clear: both; /* the theme floats parts of the buy box on products with options */
    margin: 24px 0 0; padding: 4px 20px; border: 1px solid #d1e5d6; border-radius: var(--pf-radius); background: #edf7ef;
}
.catalog-product-view .eudora-pdp .eudora-pdp-perk { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 16px 0; }
.catalog-product-view .eudora-pdp .eudora-pdp-perk + .eudora-pdp-perk { border-top: 1px solid #d1e5d6; }
.catalog-product-view .eudora-pdp .eudora-pdp-perk__icon {
    display: block; width: 40px; height: 40px; border-radius: 50%; background: var(--pf-ok); position: relative;
}
.catalog-product-view .eudora-pdp .eudora-pdp-perk__icon::before {
    content: ""; position: absolute; inset: 9px; background: #fff;
    -webkit-mask: var(--perk-icon) center / contain no-repeat; mask: var(--perk-icon) center / contain no-repeat;
}
.catalog-product-view .eudora-pdp .eudora-pdp-perk--ship {
    --perk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M2 6h12v10H2zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6.5' cy='17.5' r='2' fill='white'/%3E%3Ccircle cx='17.5' cy='17.5' r='2' fill='white'/%3E%3C/svg%3E");
}
.catalog-product-view .eudora-pdp .eudora-pdp-perk--custom {
    --perk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M6 3h12l4 6-10 12L2 9zM2 9h20M9 3l3 18M15 3l-3 18'/%3E%3C/svg%3E");
}
.catalog-product-view .eudora-pdp .eudora-pdp-perk__title { margin: 0 0 4px; color: var(--pf-ink); font-size: 18px; font-weight: 700; line-height: 1.3; }
.catalog-product-view .eudora-pdp .eudora-pdp-perk__text { margin: 0; color: var(--pf-text); font-size: 16px; line-height: 1.6; }
.catalog-product-view .eudora-pdp .eudora-pdp-perks a,
.catalog-product-view .eudora-pdp .eudora-pdp__section-body .eudora-pdp-list a {
    color: var(--pf-brand-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap;
}
.catalog-product-view .eudora-pdp .eudora-pdp-perks a:hover { color: var(--pf-ink); }
/* Why us & our guarantee: same links, check marks and label size as the Warranty list. */
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance a {
    color: var(--pf-brand-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap;
}
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance strong { font-size: inherit; color: var(--pf-ink); }
.catalog-product-view .eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__check {
    display: inline-block; width: auto; height: auto; margin: 0 6px 0 0; border: 0; background: none; color: var(--pf-ok); font-weight: 700;
}

/* Shipping and warranty lists */
.catalog-product-view .eudora-pdp .eudora-pdp-list { margin: 0; padding: 0; list-style: none; }
.catalog-product-view .eudora-pdp .eudora-pdp-list li { position: relative; margin: 0 0 10px; padding-left: 30px; color: var(--pf-text); font-size: 17px; line-height: 1.6; }
.catalog-product-view .eudora-pdp .eudora-pdp-list li::before {
    content: ""; position: absolute; left: 2px; top: .3em; width: 18px; height: 18px; background: var(--pf-ok);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ───────── Easier reading: larger text, darker greys and bigger targets ─────────
 * Many shoppers here are older; nothing below 15px, buttons and fields at least 52px. */
body.catalog-product-view { --pf-muted: #5e5e63; --pf-text: #2f2f33; }
.catalog-product-view .breadcrumbs li,
.catalog-product-view .breadcrumbs a,
.catalog-product-view .breadcrumbs strong { font-size: 15px; }
.catalog-product-view .product-view.eudora-pdp .product-shop .product-sku { font-size: 14px; }
.catalog-product-view .product-view.eudora-pdp .product-shop .price-info .regular-price .price,
.catalog-product-view .product-view.eudora-pdp .product-shop .price-info .eudora-sale-prices > .special-price .price { font-size: 30px; }
.catalog-product-view .product-view.eudora-pdp .product-shop .price-info .eudora-sale-prices > .old-price .price { font-size: 18px; }
.catalog-product-view .product-view.eudora-pdp .product-shop .price-info .eudora-sale-badge,
.catalog-product-view .product-view.eudora-pdp .product-shop .price-info .eudora-sale-badge > span { font-size: 14px; }
.catalog-product-view .product-view.eudora-pdp .eudora-offer-countdown { font-size: 16px; padding: 9px 16px 9px 14px; }
.catalog-product-view .product-view.eudora-pdp .eudora-product-signals { font-size: 16px; }
.catalog-product-view .product-view.eudora-pdp .product-shop .short-description .std { font-size: 17px; line-height: 1.65; }
.catalog-product-view .product-view.eudora-pdp .product-options dt label { font-size: 16px; letter-spacing: 0; }
.catalog-product-view .product-view.eudora-pdp .product-options select { height: 54px; font-size: 17px; }
.catalog-product-view .product-view.eudora-pdp .product-options .validation-advice { font-size: 15px; font-weight: 600; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions { grid-template-columns: 140px minmax(0, 1fr); }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .quantity { height: 56px; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .quantity input { flex-basis: 44px; width: 44px; height: 54px; line-height: 54px; font-size: 22px; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .quantity .qty { font-size: 18px; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .add-to-cart-buttons > .button { height: 56px; min-height: 56px; font-size: 18px; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .add-to-cart-buttons > .button span { font-size: inherit; }
.catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions .button.eudora-buy-now { height: 60px; font-size: 19px; }
.catalog-product-view .product-view.eudora-pdp .eudora-checkout-trust__heading,
.catalog-product-view .product-view.eudora-pdp .eudora-purchase-benefits__label,
.catalog-product-view .product-view.eudora-pdp .add-to-links .link-wishlist { font-size: 15px; line-height: 22px; }
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section > summary { padding: 20px 2px; font-size: 19px; font-weight: 700; }
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section-body,
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section-body .std,
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance p { font-size: 17px; line-height: 1.75; }
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance h2,
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance h3,
.catalog-product-view .product-view.eudora-pdp .eudora-pdp__section--reassurance .eudora-reassurance__certificates h2 { font-size: 17px !important; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__empty,
.catalog-product-view #customer-reviews .eudora-pdp-reviews__body { font-size: 17px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__title { font-size: 18px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__count,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-meta,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list label,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .fieldset h4 { font-size: 16px; }
.catalog-product-view #customer-reviews .eudora-pdp-reviews__form > summary { height: 54px; font-size: 17px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list input.input-text { height: 52px; font-size: 17px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .form-list textarea { font-size: 17px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .buttons-set .button { height: 54px; font-size: 17px; }
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table th,
.catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table td { font-size: 15px; }
.catalog-product-view .eudora-pf-sticky__name { font-size: 15px; }
.catalog-product-view .eudora-pf-sticky__price { font-size: 19px; }
.catalog-product-view .eudora-pf-sticky__button,
.catalog-product-view .eudora-pf-sticky__cart { height: 52px; font-size: 17px; }

/* ───────── Tablet ───────── */
@media only screen and (max-width: 1100px) {
    body.catalog-product-view { --pdp-gutter: 36px; }
    /* Too narrow for a side rail: thumbnails go under the image in wrapping rows (all visible, no scrolling). */
    .catalog-product-view .eudora-pdp .eudora-pdp__media { position: static; }
    .catalog-product-view .eudora-pdp .product-img-box,
    .catalog-product-view .eudora-pdp .product-img-box:has(.product-image-thumbs > li:nth-child(8)) { grid-template-columns: minmax(0, 1fr); row-gap: 10px; }
    .catalog-product-view .eudora-pdp .product-img-box .product-image { grid-column: 1; grid-row: 1; }
    .catalog-product-view .eudora-pdp .product-img-box .more-views { grid-column: 1; grid-row: 2; position: static; }
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs,
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs:has(> li:nth-child(8)) {
        position: static; display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; overflow: visible;
    }
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs li { flex: none; }
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a,
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs .video-thumb-link { width: 64px; height: 64px; }
    .catalog-product-view .eudora-pdp .product-shop .product-name h1.h1 { font-size: 29px; }
}

/* ───────── Mobile: one column, image first ───────── */
@media only screen and (max-width: 767px) {
    .catalog-product-view .eudora-pdp .eudora-pdp__grid { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
    /* Gallery layout (thumbnails wrapping under the image) is inherited from the tablet rules above. */
    .catalog-product-view .eudora-pdp .product-shop .product-name h1.h1 { font-size: 26px; }
    .catalog-product-view .eudora-pdp .eudora-pdp__details { margin-top: 24px !important; }
    .catalog-product-view .eudora-pdp .eudora-pdp-perks { padding: 2px 16px; }
    .catalog-product-view .eudora-pdp .eudora-pdp-perk { grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; }
    .catalog-product-view .eudora-pdp .eudora-pdp-perk__icon { width: 36px; height: 36px; }
    .catalog-product-view .eudora-pdp .eudora-pdp-perk__icon::before { inset: 8px; }
    .catalog-product-view .product-view.eudora-pdp .product-shop .price-info .regular-price .price,
    .catalog-product-view .product-view.eudora-pdp .product-shop .price-info .eudora-sale-prices > .special-price .price { font-size: 27px; }
    .catalog-product-view .product-view.eudora-pdp .add-to-cart.eudora-purchase-actions { grid-template-columns: 128px minmax(0, 1fr); }
    body.catalog-product-view.eudora-pf-has-sticky { padding-bottom: 80px; }
    .catalog-product-view #customer-reviews.eudora-pdp-reviews { margin-top: 44px; padding-top: 28px; }
    .catalog-product-view #customer-reviews .eudora-pdp-reviews__head h2 { font-size: 26px !important; }
    .catalog-product-view #customer-reviews.eudora-pdp-reviews { padding-left: 0; padding-right: 0; }
    .catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table th,
    .catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table td { float: none; width: auto; }
    .catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table th,
    .catalog-product-view #customer-reviews.eudora-pdp-reviews .review-summary-table td { padding: 8px 2px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-product-view .eudora-pdp .eudora-pdp__section > summary::after,
    .catalog-product-view .eudora-pdp .product-img-box .product-image-thumbs a { transition: none; }
}
