/* 2.10.1: centred Elementor logo tiles and phone-safe content tables; Bov, 23 Oct 2026, comments off.
   Pool Robot Finder tables. Carried over from the legacy robot-pool.css (full table, .prf-full)
   and flexible.css (post cuts, .prf-cut); the two layouts are scoped so both can share a page.
   Colour scheme: lake blue #1e90ff for all buttons. */

/* Phones and small tablets: cap fixed Elementor widgets; text widgets scroll wide content without restyling tables. */
@media (max-width: 767px) {
    /* Elementor's custom-width rule has higher specificity, so this cap needs !important. */
    .entry-content .elementor-widget.elementor-widget__width-initial {
        max-width: 100% !important;
    }
    .entry-content .elementor-widget-text-editor {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Shared */
.pool-robot-table, .flexible-pool-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
}
.pool-robot-table th, .pool-robot-table td,
.flexible-pool-table th, .flexible-pool-table td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}
.pool-robot-table th, .flexible-pool-table th {
    background-color: #f5f5f5;
    font-weight: bold;
}
.pool-robot-table tr:nth-child(even), .flexible-pool-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.pool-robot-table tr:hover, .flexible-pool-table tr:hover {
    background-color: #f1f1f1;
}
.pool-robot-table td a, .flexible-pool-table td a {
    text-decoration: none;
    color: inherit;
}
.prf-table-wrap tr[hidden] {
    display: none;
}

.prf-table-wrap .check-price-button, .prf-table-wrap .apply-filter-button, .prf-table-wrap .reset-button {
    background-color: #1e90ff !important;
    color: white !important;
    padding: 8px 15px !important;
    border: none !important;
    border-radius: 15px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    display: inline-block !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: background-color 0.3s;
    -webkit-appearance: none;
    appearance: none;
    line-height: 1.5 !important;
    height: auto !important;
}
.prf-table-wrap .check-price-button:hover, .prf-table-wrap .apply-filter-button:hover, .prf-table-wrap .reset-button:hover {
    background-color: #0066cc !important;
    opacity: 0.9;
}

.prf-table-wrap .responsive-table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.prf-table-wrap .filter-group {
    display: flex;
    flex-direction: column;
    min-width: 180px;
    max-width: 300px;
    margin-bottom: 10px;
}
.prf-table-wrap .filter-group label {
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}
.prf-table-wrap .filter-group select {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ddd;
    max-height: 300px;
    overflow-y: auto;
}

/* Advanced columns: hidden until "Show Advanced Data" */
.prf-table-wrap .advanced-column {
    display: none;
}
.prf-table-wrap.prf-show-advanced .advanced-column {
    display: table-cell;
}

.prf-data-disclaimer {
    font-size: 12px;
    color: #666;
    margin: 0 0 20px;
}

/* Full table (homepage) */
.prf-full .pool-robot-filter {
    background-color: #f5f5f5;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    border: 1px solid #ddd;
}
.prf-full .pool-robot-filter h3 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #000000;
}
.prf-full .filter-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.prf-full .filter-left {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
    max-width: 80%;
}
.prf-full .filter-right {
    display: flex;
    align-items: center;
    justify-content: center;
}
.prf-full .filter-group {
    width: calc(33.333% - 15px);
}
.prf-full .advanced-checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.prf-full .advanced-checkbox label {
    margin-left: 5px;
    font-weight: bold;
    color: #555;
}
.prf-full .filter-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 180px !important;
}
.prf-full .apply-filter-button, .prf-full .reset-button {
    width: 100% !important;
    min-width: 150px !important;
    box-sizing: border-box !important;
}

/* Post cuts */
.prf-cut .flexible-pool-filter {
    background-color: #f5f5f5;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    border: 1px solid #ddd;
}
.prf-cut .flexible-pool-filter h3 {
    display: none;
}
.prf-cut .flexible-pool-filter.no-filters {
    padding: 15px 15px 5px 15px;
    margin-bottom: 10px;
}
.prf-cut .filter-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}
.prf-cut .filter-left {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    max-width: 600px;
}
.prf-cut .filter-right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.prf-cut .filter-group {
    width: calc(50% - 15px);
    text-align: center;
}
.prf-cut .filter-actions {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto !important;
}
.prf-cut .apply-filter-button, .prf-cut .reset-button {
    width: auto !important;
    min-width: 120px !important;
    box-sizing: border-box !important;
}
.flexible-pool-table td:last-child {
    min-width: 250px !important;
    max-width: 400px !important;
    line-height: 1.4;
}
.flexible-pool-table .check-price-button {
    white-space: nowrap;
    min-width: 100px;
}
.flexible-pool-table.many-columns {
    font-size: 12px;
}
.flexible-pool-table.many-columns th, .flexible-pool-table.many-columns td {
    padding: 6px 8px;
}

@media screen and (max-width: 768px) {
    .prf-table-wrap .filter-container {
        flex-direction: column;
        gap: 15px;
    }
    .prf-table-wrap .filter-left {
        flex-direction: column;
        max-width: 100%;
        gap: 10px;
        width: 100%;
    }
    .prf-table-wrap .filter-right {
        width: 100%;
    }
    .prf-table-wrap .filter-group {
        width: 100%;
        max-width: 100%;
    }
    .prf-table-wrap .filter-actions {
        flex-direction: row;
        width: 100% !important;
        gap: 15px;
        justify-content: center;
    }
    .prf-table-wrap .apply-filter-button, .prf-table-wrap .reset-button {
        width: 45% !important;
        margin: 0 auto;
    }
    .pool-robot-table, .flexible-pool-table {
        display: block;
        font-size: 12px;
    }
    .flexible-pool-table th, .flexible-pool-table td {
        padding: 8px;
    }
    .flexible-pool-table td:last-child {
        min-width: 200px !important;
        max-width: 250px !important;
    }
    .prf-table-wrap .check-price-button {
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
}

@media screen and (max-width: 480px) {
    .flexible-pool-table td:last-child {
        min-width: 150px !important;
        max-width: 200px !important;
        font-size: 12px;
    }
    .prf-cut .filter-actions {
        flex-direction: column;
        gap: 10px;
    }
    .prf-cut .apply-filter-button, .prf-cut .reset-button {
        width: 100% !important;
    }
    .prf-cut .filter-group {
        min-width: 100%;
    }
}

/* Product pages (/robots/{slug}/, plugin 2.3.0) */
.prf-product .prf-disclosure, .prf-product .prf-verified, .prf-product .prf-note {
    font-size: 14px;
    color: #555;
}
.prf-product .prf-notice {
    padding: 10px 14px;
    border-left: 4px solid #1e90ff;
    background: #f5f9ff;
}
.prf-product .prf-buy {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 10px;
    margin: 14px 0 16px;
}
.prf-product .check-price-button {
    display: inline-block;
    background-color: #1e90ff !important;
    color: white !important;
    padding: 10px 18px !important;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: bold;
}
.prf-product .check-price-button:hover {
    background-color: #1873cc !important;
}
.prf-product table.prf-specs, .prf-product table.prf-compat {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 16px;
    font-size: 15px;
}
.prf-product table.prf-specs th, .prf-product table.prf-specs td,
.prf-product table.prf-compat th, .prf-product table.prf-compat td {
    padding: 8px 10px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
}
.prf-product table.prf-specs th, .prf-product table.prf-compat th {
    width: 45%;
    background-color: #f5f5f5;
    font-weight: normal;
}
.prf-product .prf-compat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0 16px;
    align-items: start;
}
.prf-product table.prf-compat caption {
    text-align: left;
    font-weight: bold;
    padding: 6px 0;
}
.prf-product td.prf-yes {
    color: #1a7f37;
}
.prf-product td.prf-no {
    color: #b42318;
}
.prf-product td.prf-not {
    color: #777;
}
.prf-product .prf-faq h3 {
    font-size: 17px;
    margin: 14px 0 4px;
}
/* Plugin 2.4.0: the theme prints the disclosure under the post meta on single pages; then the plugin's own line is
   hidden, so the page shows it once (and still shows it when the theme's line is missing). */
.affiliate-disclaimer ~ .entry-content .prf-product .prf-disclosure,
.affiliate-disclaimer ~ * .prf-product .prf-disclosure,
.affiliate-disclaimer ~ .entry-content .prf-deals-page .prf-disclosure,
.affiliate-disclaimer ~ * .prf-deals-page .prf-disclosure {
    display: none;
}
.prf-product ul.prf-related {
    padding-left: 20px;
}
.prf-product ol.prf-care li, .prf-product ul.prf-related li {
    margin-bottom: 8px;
}
/* Plugin 2.5.0 (Bov, 20 Oct 2026): a gap between the disclosure line and the first sentence, like the gap before
   "From the ... manual"; comparisons show the linked model name with its Check Price link beside it. */
.prf-product .prf-summary {
    margin-top: 1.5em;
}
.affiliate-disclaimer ~ .entry-content .prf-product .prf-summary:first-of-type,
.affiliate-disclaimer ~ * .prf-product .prf-summary:first-of-type {
    margin-top: 1.5em;
}
.prf-product .prf-compare-item {
    margin: 0 0 20px;
}
.prf-product .prf-compare-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    margin: 0 0 4px;
}
.prf-product .check-price-button.prf-compare-buy {
    padding: 4px 12px !important;
    font-size: 14px;
}
.prf-product .prf-data-disclaimer {
    font-size: 14px;
    color: #555;
    margin-bottom: 20px;
}
/* Deals (2.8.0, round 2 step 2): Slickdeals-style cards, two per row on desktop and tablet, one on phones; a square
   photo of one size (or a plain tile with the brand) under the saving badges; price first, then the buttons. */
.prf-deals-page {
    max-width: 1000px;
    margin: 0 auto;
}
.prf-deals-how {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 12px 15px;
    margin: 0 0 20px;
    font-size: 15px;
    color: #444;
}
.prf-deals-how p {
    margin: 0;
}
.prf-deal-filter {
    background-color: #f5f5f5;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    border: 1px solid #ddd;
}
.prf-deal-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 15px;
}
.prf-deal-filter .filter-group {
    flex: 1 1 180px;
    min-width: 0;
}
.prf-deal-filter .filter-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}
.prf-deal-filter .filter-group select {
    width: 100%;
    max-width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
}
.prf-deal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0 0 24px;
}
.prf-deal {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    min-width: 0;
}
.prf-deal[hidden] {
    display: none;
}
.prf-deal-photo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 260px;
    aspect-ratio: 1 / 1;
    margin: 12px auto 0;
    background: #fff;
}
.prf-deal-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.prf-deal-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #eef3f6;
    border-radius: 6px;
    color: #3b6e86;
    font-size: 28px;
    font-weight: bold;
}
.prf-deal-badges {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    z-index: 1;
}
.prf-deal-save, .prf-deal-new {
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
}
.prf-deal-save {
    background: #c0392b;
    color: #fff;
}
.prf-deal-new {
    background: #3b6e86;
    color: #fff;
}
.prf-deal-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px 16px;
    flex: 1;
}
.prf-deals-page h3.prf-deal-name {
    margin: 0;
    font-size: 19px;
    line-height: 1.3;
}
.prf-deal-facts {
    margin: 0;
    font-size: 14px;
    color: #555;
}
.prf-deal-price {
    margin: 4px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
}
.prf-deal-now {
    font-size: 22px;
    font-weight: bold;
    color: #1a1a1a;
}
.prf-deal-regular {
    font-size: 15px;
    color: #777;
}
.prf-deal-updating {
    font-size: 16px;
    color: #555;
    font-style: italic;
}
.prf-deal-code {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.prf-deal-code-label {
    font-size: 13px;
    font-weight: bold;
    color: #555;
}
.prf-code-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 2px dashed #3b6e86;
    border-radius: 5px;
    padding: 6px 8px 6px 12px;
    min-width: 0;
}
.prf-code-box code {
    background: none;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
    overflow-wrap: anywhere;
}
.prf-code-box .prf-copy {
    flex: none;
    padding: 4px 12px;
    border: 1px solid #3b6e86;
    border-radius: 4px;
    background: #fff;
    color: #3b6e86;
    font-size: 14px;
    cursor: pointer;
}
.prf-deal-code-note {
    font-size: 13px;
    color: #666;
}
.prf-deal-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    padding-top: 6px;
}
.prf-deals-page .check-price-button {
    display: block;
    padding: 10px 18px !important;
    border-radius: 4px;
    text-align: center;
    text-decoration: none !important;
    font-weight: bold;
}
.prf-deals-page .check-price-button.prf-deal-get {
    background-color: #1e90ff !important;
    border: 2px solid #1e90ff;
    color: #fff !important;
}
.prf-deals-page .check-price-button.prf-deal-get:hover {
    background-color: #1873cc !important;
    border-color: #1873cc;
}
.prf-deals-page .check-price-button.prf-deal-amazon {
    background-color: #fff !important;
    border: 2px solid #1e90ff;
    color: #1e90ff !important;
}
.prf-deals-page .check-price-button.prf-deal-amazon:hover {
    background-color: #f0f7ff !important;
}
.prf-deal-guide {
    margin: 0;
    text-align: center;
    font-size: 15px;
}
.prf-deal-checked {
    margin: 0;
    font-size: 12px;
    color: #777;
    text-align: center;
}
.prf-deal-empty, .prf-deal-none {
    margin: 0 0 20px;
}
.prf-deals-bottom {
    font-size: 13px;
    color: #666;
    margin: 0 0 20px;
}
/* 2.8.1: store-wide code cards, a row of smaller cards between the how-we-pick note and the filters. */
.prf-code-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 20px;
}
.prf-code-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    min-width: 0;
}
.prf-code-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110px;
    margin: 12px 16px 0;
    background: #fff;
    text-decoration: none !important;
}
.prf-code-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.prf-code-logo .prf-deal-tile {
    font-size: 22px;
}
.prf-code-card .prf-deal-body {
    gap: 6px;
    padding: 10px 14px 14px;
}
.prf-code-one {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 6px;
}
.prf-code-terms, .prf-code-ends {
    font-size: 13px;
    color: #666;
}
@media (max-width: 900px) {
    .prf-code-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .prf-deal-grid, .prf-code-cards {
        grid-template-columns: minmax(0, 1fr);
    }
    .prf-deal-filter .filter-group {
        flex-basis: calc(50% - 8px);
    }
}
.prf-product .prf-deal-line {
    font-weight: bold;
}
/* Next steps (2.7.0, round 2): the browse links above Related Reading, styled like the "Compare by Surface Type"
   section of Bov's posts (bold italic links with a pointing hand, the rounded homepage button). Not scoped to
   .prf-product, so the [prf_next_steps] shortcode of round 2 step 2 can use it in posts. */
.prf-next-steps {
    margin: 32px 0 24px;
}
.prf-next-steps .prf-next-line {
    margin: 0 0 8px;
}
.prf-next-steps .prf-next-link {
    margin: 0 0 20px;
}
.prf-next-steps .prf-next-button {
    margin: 16px 0 0;
    text-align: center;
}
.prf-next-steps .prf-explore-button, .prf-guide-button .prf-explore-button {
    display: inline-block;
    max-width: 100%;
    padding: 17px 35px;
    border-radius: 100px;
    background-color: #3b6e86;
    color: #fff !important;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
}
.prf-next-steps .prf-explore-button:hover, .prf-next-steps .prf-explore-button:focus,
.prf-guide-button .prf-explore-button:hover, .prf-guide-button .prf-explore-button:focus {
    background-color: #2f5a6c;
}
/* 2.12.1: the guide button under each robot's Summary on /robots/ and the brand lists (Bov, 28 Oct 2026). */
.prf-guide-button {
    margin: 16px 0 8px;
}
.prf-guide-button .prf-explore-button {
    padding: 12px 28px;
    font-size: 16px;
}
/* 2.12.4: the buy button beside the guide button on /robots/ and the brand lists (Bov, 29 Oct 2026). */
.prf-guide-button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 16px;
}
.prf-guide-button .check-price-button.prf-guide-buy {
    display: inline-block;
    padding: 12px 28px !important;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    border: 0;
    background-color: #1e90ff !important;
    color: #fff !important;
}
.prf-guide-button .check-price-button.prf-guide-buy:hover,
.prf-guide-button .check-price-button.prf-guide-buy:focus {
    background-color: #1873cc !important;
}
/* 2.12.5: shared deal buttons and ribbons on lists and robot pages (Bov, 30 Oct 2026). */
.prf-guide-button .check-price-button.prf-buy-deal,
.prf-product .check-price-button.prf-buy-deal {
    background-color: #c0392b !important;
}
.prf-guide-button .check-price-button.prf-buy-deal:hover,
.prf-guide-button .check-price-button.prf-buy-deal:focus,
.prf-product .check-price-button.prf-buy-deal:hover,
.prf-product .check-price-button.prf-buy-deal:focus {
    background-color: #a93226 !important;
}
.prf-buy-deal-wrap {
    position: relative;
    display: inline-block;
}
.prf-buy-ribbon {
    position: absolute;
    top: -11px;
    right: 16px;
    z-index: 1;
    padding: 2px 9px;
    border: 2px solid #fff;
    border-radius: 4px;
    background: #c0392b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    pointer-events: none;
}
.prf-compare-head .prf-buy-ribbon {
    top: -9px;
    right: 8px;
    padding: 1px 6px;
    font-size: 10px;
}
@media (max-width: 600px) {
    .prf-guide-button {
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
    }
    .prf-guide-button .prf-explore-button,
    .prf-guide-button .check-price-button.prf-guide-buy {
        display: block;
        text-align: center;
    }
    .prf-guide-button .prf-buy-deal-wrap {
        display: block;
    }
}
/* 2.8.0: the next-steps block (deals, picker, robot guides) follows the browse block on robot pages. */
.prf-next-steps.prf-more-steps {
    margin-top: 24px;
}
/* Robot carousel (2.9.0, round 2 step 3): one row of cards that scrolls sideways inside itself (CSS scroll-snap: swipe
   on phones, arrows on desktop), so the page never scrolls sideways. Square photos of one size on white, the "On sale"
   badge on the photo, the name, the facts line, the button, then Read our guide. After a page's content it keeps to a
   1,200 px column with side gutters (the pages are full width). */
.prf-carousel {
    max-width: 100%;
    min-width: 0;
    margin: 32px 0 24px;
}
.prf-carousel.prf-carousel-page {
    box-sizing: border-box;
    max-width: 1200px;
    margin: 32px auto 24px;
    padding: 0 20px;
}
.prf-carousel-frame {
    position: relative;
}
.prf-carousel ul.prf-carousel-track {
    display: flex;
    gap: 16px;
    margin: 0 !important;
    padding: 2px 0 12px;
    list-style: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.prf-carousel li.prf-carousel-card {
    display: flex;
    flex: 0 0 220px;
    flex-direction: column;
    min-width: 0;
    margin: 0 !important;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    scroll-snap-align: start;
}
.prf-carousel-photo {
    position: relative;
    aspect-ratio: 1 / 1;
    margin: 10px 10px 0;
    background: #fff;
}
/* Outrank Elementor and Astra image rules even when their styles load later. */
.prf-carousel .prf-carousel-photo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}
.prf-carousel-photo.prf-carousel-logo img {
    box-sizing: border-box;
    object-fit: contain;
    padding: 20px;
    background: #fff;
}
.prf-carousel-photo.prf-carousel-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef3f6;
    border-radius: 6px;
    color: #3b6e86;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    overflow-wrap: anywhere;
}
.prf-carousel.prf-carousel-mid {
    box-sizing: border-box;
    width: 100%;
    max-width: min(var(--content-width, 1140px), 100%);
    min-width: 0;
    flex-shrink: 0;
    align-self: center;
    margin: 2em auto;
    padding: 0 10px;
}
.prf-carousel a.prf-carousel-sale {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 3px 8px;
    border-radius: 4px;
    background: #c0392b;
    color: #fff !important;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
    text-decoration: none !important;
}
.prf-carousel-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px 14px;
}
.prf-carousel .prf-carousel-name {
    margin: 0;
    font-size: 17px;
    line-height: 1.3;
}
.prf-carousel .prf-carousel-facts {
    margin: 0;
    color: #555;
    font-size: 14px;
    line-height: 1.4;
}
.prf-carousel .check-price-button.prf-carousel-buy {
    display: block;
    margin-top: auto;
    padding: 9px 12px !important;
    border: 2px solid #1e90ff;
    border-radius: 4px;
    background-color: #1e90ff !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    text-decoration: none !important;
}
.prf-carousel .check-price-button.prf-carousel-buy:hover {
    border-color: #1873cc;
    background-color: #1873cc !important;
}
.prf-carousel .prf-carousel-guide {
    margin: 0;
    font-size: 15px;
    text-align: center;
}
.prf-carousel .prf-carousel-arrow {
    display: none;
}
@media (hover: hover) and (pointer: fine) {
    .prf-carousel .prf-carousel-arrow {
        position: absolute;
        top: 90px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin: 0;
        padding: 0 !important;
        border: 1px solid #ccc;
        border-radius: 50%;
        background: #fff !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        color: #333 !important;
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
    }
    .prf-carousel .prf-carousel-prev {
        left: 6px;
    }
    .prf-carousel .prf-carousel-next {
        right: 6px;
    }
    .prf-carousel .prf-carousel-arrow:disabled {
        visibility: hidden;
    }
    .prf-carousel .prf-carousel-arrow[hidden] {
        display: none;
    }
}
@media (max-width: 600px) {
    .prf-carousel li.prf-carousel-card {
        flex-basis: 72%;
    }
    .prf-carousel.prf-carousel-page {
        padding: 0 16px;
    }
}

/* The robot picker (2.11.0, [prf_picker]): one question at a time, then up to three cards. */
.prf-picker {
    margin: 0 0 24px;
}
.prf-picker-progress {
    margin: 0 0 8px;
    font-size: 14px;
    color: #555;
}
.prf-picker-step {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
.prf-picker [hidden] {
    display: none !important;
}
.prf-picker-step legend {
    margin: 0 0 14px;
    padding: 0;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.3;
}
.prf-picker-answers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.prf-picker .prf-picker-answer {
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 2px solid #1e90ff;
    border-radius: 15px !important;
    background: #fff;
    color: #1a1a1a;
    font-size: 17px;
    font-weight: normal;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
}
.prf-picker .prf-picker-answer:hover {
    background: #f0f7ff;
    color: #1a1a1a;
}
.prf-picker .prf-picker-answer:focus-visible {
    background: #f0f7ff;
    color: #1a1a1a;
}
.prf-picker .prf-picker-answer:disabled,
.prf-picker .prf-picker-answer:disabled:hover,
.prf-picker .prf-picker-answer:disabled:focus {
    border-color: #c8c8c8;
    background: #f2f2f2;
    color: #6b6b6b;
    cursor: not-allowed;
}
.prf-picker-off-note {
    font-size: 14px;
    color: #555;
    margin: 12px 0 0;
}
.prf-picker-stuck {
    margin: 18px 0 0;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}
.prf-picker-stuck-text {
    margin: 0;
    font-size: 16px;
}
.prf-picker-stuck-text:focus {
    outline: none;
}
.prf-picker .prf-picker-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    text-align: center;
    text-decoration: none !important;
}
.prf-picker a.prf-picker-button:link,
.prf-picker a.prf-picker-button:visited,
.prf-picker a.prf-picker-button:hover,
.prf-picker a.prf-picker-button:focus {
    color: #fff !important;
}
.prf-picker a.prf-picker-button {
    font-weight: 500;
}
.prf-picker .prf-picker-back, .prf-picker .prf-picker-restart, .prf-picker .prf-picker-loosen,
.prf-picker .prf-picker-button {
    min-height: 44px;
    vertical-align: top;
    margin: 14px 10px 0 0;
    padding: 8px 18px !important;
    border: none !important;
    border-radius: 15px !important;
    background-color: #1e90ff !important;
    color: #fff !important;
    font-size: 15px;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color 0.3s;
}
.prf-picker .prf-picker-back:hover, .prf-picker .prf-picker-restart:hover, .prf-picker .prf-picker-loosen:hover,
.prf-picker .prf-picker-button:hover {
    background-color: #0066cc !important;
}
.prf-picker h2.prf-picker-title {
    margin: 0 0 14px;
    font-size: 24px;
}
.prf-picker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.prf-picker-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    min-width: 0;
}
.prf-picker-badge {
    align-self: flex-start;
    padding: 3px 10px;
    border-radius: 15px;
    background: #3b6e86;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
}
.prf-picker h3.prf-picker-name {
    margin: 0;
    font-size: 19px;
    line-height: 1.3;
}
.prf-picker-label {
    margin: 0;
    font-size: 14px;
    color: #555;
}
.prf-picker ul.prf-picker-why {
    margin: 0 0 0 18px;
    padding: 0;
    font-size: 15px;
}
.prf-picker-note {
    margin: 0;
    font-size: 13px;
    color: #666;
}
.prf-picker-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    padding-top: 6px;
}
.prf-picker .check-price-button {
    display: block;
    padding: 10px 18px !important;
    border: none !important;
    border-radius: 15px !important;
    background-color: #1e90ff !important;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    font-weight: bold;
}
.prf-picker .check-price-button:hover {
    background-color: #0066cc !important;
}
.prf-picker-read {
    display: inline-block;
    padding: 11px 0;
    text-align: center;
    font-size: 15px;
}
.prf-picker h3.prf-picker-extra {
    margin: 24px 0 12px;
    font-size: 19px;
}
.prf-picker-hint {
    margin: 16px 0 0;
}
.prf-picker-foot {
    margin: 20px 0 0;
}
.prf-picker .prf-data-disclaimer {
    margin-top: 20px;
}
@media (max-width: 900px) {
    .prf-picker-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 600px) {
    .prf-picker .prf-picker-button {
        display: flex;
        width: 100%;
        margin-right: 0;
        box-sizing: border-box;
    }
    .prf-picker-answers {
        grid-template-columns: minmax(0, 1fr);
    }
    .prf-picker-step legend {
        font-size: 20px;
    }
}
/* 2.13.0: the FAQ block of an older post ([prf_faq], includes/faq.php): the post's own h2, questions at a reading
   size rather than the theme's 45 px h3. */
.prf-post-faq {
    margin: 32px 0 24px;
}
.prf-post-faq h3 {
    font-size: 20px;
    line-height: 1.3;
    margin: 20px 0 6px;
}
.prf-post-faq p {
    margin: 0 0 12px;
}
