/* Shared commercial, FAQ, review and TablePress components. */
:root{--px-cta:#c82d25;--px-cta-hover:#a9231d;--brand-accent:var(--px-cta)}
/* Internal contextual links stay green; outbound references and managed offers are red. */
body .entry-content a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
body .entry-content a.px-external-link,body .entry-content a[rel~="sponsored"]{color:var(--px-cta)!important}
body .entry-content a.px-external-link:hover{color:var(--px-cta-hover)!important}
/* Specific button rules must win over contextual-link rules, including nested labels. */
body .px-button,body a.cta-button,body button.cta-button,
body .entry-content .wp-block-button__link,body .entry-content a.button,body .entry-content a.btn,
body .review-wrapper .review-links a,body .review-wrapper a.reviewed-item-link,
body #hello-bar a.hello-bar__button,
body .entry-content a:is(.cta-button,.wp-block-button__link,.button,.btn).px-external-link,
body .entry-content .review-wrapper :is(.review-links a,a.reviewed-item-link){
background:var(--px-cta)!important;color:#fff!important;border:1px solid var(--px-cta)!important;
border-radius:7px;padding:12px 20px;min-height:48px;max-width:100%;display:inline-flex;align-items:center;justify-content:center;
font:650 16px/1.45 system-ui,-apple-system,sans-serif;text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:normal;word-break:normal;box-shadow:none;
}
body :is(a.cta-button,.px-button,.wp-block-button__link,.review-links a,a.reviewed-item-link,.hello-bar__button) :is(span,strong){color:inherit!important}
body :is(a.cta-button,.px-button,.wp-block-button__link,.review-links a,a.reviewed-item-link,.hello-bar__button):hover{background:var(--px-cta-hover)!important;border-color:var(--px-cta-hover)!important;color:#fff!important}
/* WP Review: compact, readable summary and an in-flow banner, without overlaying navigation. */
body #hello-bar.hello-bar{position:sticky!important;inset:auto!important;top:var(--px-admin-offset,0px)!important;width:100%!important;box-sizing:border-box;margin:0!important;padding:14px 20px!important;background:#edf7f0!important;border-block:1px solid var(--px-line);color:var(--px-ink)!important;z-index:99!important;height:auto!important}
body #hello-bar .hello-bar__container{max-width:1152px;margin:auto;display:flex!important;align-items:center;justify-content:space-between;gap:24px;padding:0!important;width:100%}
body #hello-bar .hello-bar__text{flex:1;min-width:0;color:var(--px-ink)!important;font:400 15px/1.6 system-ui;text-align:left}
body #hello-bar .hello-bar__text strong{font-weight:750;color:var(--px-ink)!important}
body #hello-bar .hello-bar__right{display:flex;align-items:center;gap:18px;flex-shrink:0;margin:0!important;float:none!important}
body #hello-bar .hello-bar__star-rating{margin:0!important;flex-shrink:0}body #hello-bar .review-result{color:var(--px-cta)!important}
body .review-wrapper{border:1px solid var(--px-line)!important;border-radius:12px;overflow:hidden;background:#fff;color:var(--px-ink);margin-block:28px}
body .review-wrapper .review-title{background:var(--px-paper)!important;color:var(--px-ink)!important;padding:20px;font-size:24px;line-height:1.3}
body .review-wrapper .review-links{border-color:var(--px-line)!important;padding:20px!important;margin:0!important;display:flex;flex-wrap:wrap;gap:12px;list-style:none}
body .review-wrapper .review-links li{margin:0!important;list-style:none!important;padding:0!important}body .review-wrapper .review-links a{margin:0!important}
body .review-wrapper .review-desc,body .review-wrapper .reviewed-item-data{font-size:16px;line-height:1.7}body .review-wrapper .review-result{color:var(--px-cta)!important}
/* Answers remain readable without JavaScript. The enhancement owns hidden state. */
body .rank-math-list .rank-math-answer,body .sc_fs_faq__content,body .sglFaq div div{display:block}
body :is(.rank-math-list-item,.sc_fs_faq,.sglFaq){margin:16px 0;border:1px solid var(--px-line);border-radius:10px;background:#fff;box-shadow:none;overflow:hidden}
body :is(.entry-content,.single-blog) .px-faq-heading{margin:0!important;padding:0!important;font-size:19px!important;line-height:1.5!important;color:var(--px-ink)!important}
body .px-faq-heading::before,body .px-faq-heading::after{display:none!important;content:none!important}
body .px-faq-toggle{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:56px;padding:18px 20px;border:0;border-radius:0;background:transparent;color:var(--px-ink);font:650 18px/1.5 system-ui;text-align:left;cursor:pointer}
body .px-faq-toggle::after{content:'+';flex-shrink:0;color:var(--brand);font-size:24px;font-weight:400}
body .px-faq-toggle[aria-expanded="true"]::after{content:'−'}body .px-faq-toggle:hover{background:var(--brand-soft);color:var(--px-ink)}
body .px-faq-answer{padding:0 20px 20px!important;border-top:0!important;color:var(--px-muted);line-height:1.75}
body .px-faq-answer[hidden]{display:none!important}body .px-faq-answer:not([hidden]){display:block!important}
body .px-faq-answer p{font-size:17px!important;line-height:1.75!important;margin:0 0 14px!important}body .px-faq-answer p:last-child{margin-bottom:0!important}
body details.sc_fs_faq>summary{cursor:pointer;padding:18px 20px;font-size:18px;font-weight:650;line-height:1.5;color:var(--px-ink)}
body details.sc_fs_faq>summary :is(h2,h3){display:inline;margin:0!important;padding:0!important;font:inherit!important;color:inherit!important}
body details.sc_fs_faq>summary :is(h2,h3)::after{content:none!important}body details.sc_fs_faq[open] .sc_fs_faq__content{display:block!important;padding:0 20px 20px}
/* TablePress owns its data and sorting. The theme owns appearance only. */
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)){width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:var(--px-ink);font:400 16px/1.55 system-ui;box-shadow:none;border:1px solid var(--px-line);table-layout:auto!important;margin-block:0}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) :is(th,td){padding:14px 16px;vertical-align:top;text-align:left;word-break:normal!important;overflow-wrap:normal!important;hyphens:none;border:0;border-bottom:1px solid var(--px-line)}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) thead th{background:var(--brand-soft);color:var(--px-ink);font-weight:700;border-bottom:2px solid var(--brand);white-space:normal;position:static}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) tbody tr:nth-child(odd) td{background:#f7f9f6}body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) tbody tr:hover td{background:#edf7f0}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) tbody tr:last-child td{border-bottom:0}body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) :is(th,td):first-child{min-width:10rem}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) .chip{display:inline-block;padding:4px 9px;border-radius:999px;background:var(--brand-soft);border:1px solid var(--px-line);font-size:12px;margin:0 6px 6px 0;color:var(--brand);font-weight:650;white-space:normal}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) :is(.highlight,.result){color:var(--px-cta);font-weight:700}
body .px-table-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:auto;border-radius:8px;margin-block:20px}
body .px-table-region:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-search input,.dataTables_filter input){border:1px solid #9dae9f;border-radius:7px;padding:8px 12px;font-size:16px;max-width:100%;min-height:44px}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-search input,.dataTables_filter input):focus{outline:2px solid var(--brand);outline-offset:2px}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-paging-button,.paginate_button){border:1px solid var(--px-line)!important;border-radius:6px;padding:10px 14px!important;margin:3px;background:#fff!important;color:var(--px-ink)!important;min-height:44px}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-paging-button,.paginate_button).current{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-paging-button,.paginate_button):hover{background:var(--brand-soft)!important;color:var(--px-ink)!important}
/* Keep the real plugin sorting controls; no duplicate decorative arrow glyphs. */
@media(max-width:767px){
body #hello-bar .hello-bar__container{flex-direction:column;align-items:stretch;gap:12px}body #hello-bar .hello-bar__right{justify-content:space-between;flex-wrap:wrap;gap:12px}body #hello-bar a.hello-bar__button{flex:1;font-size:15px}
body .review-wrapper .review-links,body .review-wrapper .review-links li,body .review-wrapper .review-links a{width:100%}body .review-wrapper .review-links a{font-size:15px}
body .px-faq-toggle{font-size:17px;padding:16px}body .px-faq-answer{padding-inline:16px!important}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)){min-width:640px;font-size:15px!important}body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) :is(th,td){padding:12px;min-width:140px}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) .column-4{display:table-cell}body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) :is(.column-3,.column-6){text-align:left}
body :is(.dt-container,.dataTables_wrapper):has(.tablepress) :is(.dt-search,.dataTables_filter){float:none;text-align:left;margin-bottom:12px}
}
/* WP Review's floating-bar script can add inline body padding; the bar is now in flow. */
body.has-hello-bar{padding-top:0!important}
body #hello-bar .hello-bar__text{margin-top:0!important;float:none!important}
body #hello-bar .hello-bar__right{width:auto}
@media(max-width:767px){body #hello-bar .hello-bar__right{width:100%}}
body .entry-content .px-table-hint{font-size:13px;line-height:1.5;color:var(--px-muted);margin:14px 0 6px}body .px-table-hint[hidden]{display:none!important}
/* Gutenberg comparisons use the same readable mobile strategy. */
body .entry-content .wp-block-table table{table-layout:auto!important}
body .entry-content .wp-block-table :is(th,td){word-break:normal!important;overflow-wrap:normal!important;hyphens:none}
body .entry-content .wp-block-table :is(th,td):first-child{min-width:9rem}
@media(max-width:767px){body .entry-content .wp-block-table table{min-width:600px}body .entry-content .wp-block-table :is(th,td){display:table-cell!important}}
body :is(.dt-scroll-body,.dataTables_scrollBody).px-table-region{margin:0;border-radius:0}
body :is(.dt-scroll-head,.dt-scroll-foot,.dataTables_scrollHead,.dataTables_scrollFoot) :is(table.tablepress,.entry-content table:not(.review-wrapper table)){margin:0!important}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)) caption{caption-side:top!important;text-align:left;padding:10px 0;color:var(--px-muted);font-size:14px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:normal}
body :is(table.tablepress,.entry-content table:not(.review-wrapper table)),body .entry-content .wp-block-table table{font-size:16px!important}
@media(max-width:767px){body :is(table.tablepress,.entry-content table:not(.review-wrapper table)),body .entry-content .wp-block-table table{font-size:15px!important}}
/* Shared page headings and the Rank Math trail, including nested archive labels. */
body .px-page-header{padding:38px 0!important;text-align:left!important;background:var(--px-paper)!important;border-bottom:1px solid var(--px-line)}
body .px-page-header h1,body .px-page-header h1 span{display:block;color:var(--px-ink)!important;font-size:clamp(2rem,4vw,3rem)!important;line-height:1.2!important;margin:0 0 16px!important;font-weight:720;letter-spacing:-.035em}
body .rank-math-breadcrumb,body .rank-math-breadcrumb p,body .rank-math-breadcrumb :is(a,span){font-size:14px!important;line-height:1.7!important;color:var(--px-muted)!important;overflow-wrap:anywhere}
body .rank-math-breadcrumb p{margin:0!important}body .rank-math-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
body .rank-math-breadcrumb .separator{padding-inline:8px}body .rank-math-breadcrumb a::after{content:none!important}body .rank-math-breadcrumb .last{color:var(--px-ink)!important}
body .px-archive-description{max-width:75ch;margin:0 0 30px}body .px-archive-description p{font-size:18px;line-height:1.75}
body .px-author .author-profile-card{margin-bottom:32px}body .px-author .saboxplugin-wrap{border:1px solid var(--px-line);border-radius:12px;padding:24px}
/* Compact dropdown, generous targets, controlled by the button on touch and keyboard. */
@media(min-width:1025px){
body #site-navigation .category-div{position:relative}
body #site-navigation #gadget-categories{width:440px;max-width:calc(100vw - 48px);right:0;top:100%;padding:12px;gap:4px;background:#fff;border:1px solid var(--px-line);border-radius:12px;box-shadow:0 14px 36px #192b251a}
body #site-navigation #gadget-categories.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
body #site-navigation #gadget-categories li{width:auto;float:none;padding:0;margin:0}
body #site-navigation #gadget-categories a{min-height:48px;display:flex;align-items:center;padding:12px 14px;font-size:15px;line-height:1.4;border-radius:7px;color:var(--px-ink);font-weight:600}
body #site-navigation #gadget-categories a:hover,body #site-navigation #gadget-categories a:focus-visible{background:var(--brand-soft);color:var(--brand)}
}
body #site-navigation #gadget-categories[hidden]{display:none!important}
body #site-navigation .category-toggle[aria-expanded="true"]::after{content:'⌃'}
/* CF7 keeps validation and submission. Layout no longer stretches the button beside a textarea. */
body .px-contact-form{background:var(--px-paper);border:1px solid var(--px-line);border-radius:12px;padding:28px;margin-top:36px}
body .px-contact .wpcf7 form p,body .contact-form-wrp form p{display:block!important;margin:0 0 18px;clear:both}
body .px-contact .wpcf7 label,body .px-contact .wpcf7-form-control-wrap{display:block;width:100%;margin:0 0 8px}
body .px-contact .wpcf7 :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),textarea,select){display:block;width:100%;max-width:100%;border:1px solid #9dae9f;background:#fff;color:var(--px-ink);border-radius:7px;padding:12px;font:400 16px/1.5 system-ui;height:auto;min-height:48px}
body .px-contact .wpcf7 textarea{min-height:160px;resize:vertical}
body .px-contact .wpcf7 :is(input[type="submit"],button[type="submit"]){display:block!important;float:none!important;align-self:flex-start;width:auto!important;max-width:100%;height:auto!important;min-height:48px;padding:12px 24px!important;margin:18px 0 0!important;border:1px solid var(--px-cta);border-radius:7px;background:var(--px-cta)!important;color:#fff!important;font:650 16px/1.5 system-ui;cursor:pointer}
body .px-contact .wpcf7 :is(input[type="submit"],button[type="submit"]):hover{background:var(--px-cta-hover)!important}
body .px-contact .wpcf7 input[type="submit"]:disabled{opacity:.6;cursor:wait}
body .px-contact .wpcf7 .wpcf7-not-valid-tip{font-size:14px;color:#a9231d}body .px-contact .wpcf7 .wpcf7-response-output{margin:20px 0;padding:12px}
/* Product card framing is consistent without cutting off the product. */
body .post-wrp .th-img{aspect-ratio:16/10;background:#f5f7f2;padding:12px}
body .post-wrp .th-img img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;margin:0}
body .category-listing .cat-lft img{aspect-ratio:16/10;object-fit:contain;height:auto;background:var(--px-paper);margin:0}
body .single-blog .post-thumbnail img,body .entry-content .wp-block-image img{aspect-ratio:auto!important;width:auto;max-width:100%;height:auto!important;object-fit:contain!important;display:block;margin-inline:auto}
body .entry-content figure.wp-block-image{max-width:100%;margin-block:28px}body .entry-content figcaption{font-size:14px!important;line-height:1.6!important;color:var(--px-muted);text-align:center;margin-top:10px!important}
body .entry-content .wp-block-gallery img{object-fit:contain!important}
body .review-wrapper .reviewed-item-image img{object-fit:contain!important;aspect-ratio:auto!important;height:auto;max-width:100%}
@media(max-width:767px){body .px-page-header{padding:28px 0!important}body .px-contact-form{padding:20px}body .px-contact .wpcf7 input[type="submit"]{width:100%!important}body .category-listing .cat-lft img{max-height:240px}}
body .px-profile-photo{width:160px;height:160px;object-fit:cover;border-radius:50%;margin-bottom:24px}

/* Preserve the plugin's fractional rating as one unbroken overlay. */
body #hello-bar .review-result-wrapper{position:relative!important;display:inline-block!important;width:100px!important;height:20px!important;line-height:20px!important;white-space:nowrap!important;color:#b9c9bf!important;font-size:20px!important}
body #hello-bar .review-result-wrapper .review-result{position:absolute!important;inset:0 auto auto 0!important;height:20px!important;overflow:hidden!important;white-space:nowrap!important;line-height:20px!important}
body #hello-bar .review-result-wrapper i{display:inline-block!important;width:20px!important;font-size:20px!important;line-height:20px!important;margin:0!important;padding:0!important;float:none!important}
body #hello-bar .hello-bar__star-rating{line-height:1}
body.admin-bar{--px-admin-offset:32px}
@media(max-width:782px){body.admin-bar{--px-admin-offset:46px}}
@media(max-width:600px){body.admin-bar{--px-admin-offset:0px}}
body .container.px-section{padding-inline:24px}
body .category-listing .cat-mdl{min-width:0}
body .category-listing .cat-mdl .excerpt p{margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body .category-listing .entry-title a:hover{text-decoration:underline;text-underline-offset:4px}
body .post-wrp .excerpt p{margin-bottom:0}
@media(max-width:767px){body .container.px-section{padding-inline:20px}body #hello-bar{padding:10px 20px!important}body #hello-bar .hello-bar__text{font-size:13px;line-height:1.4}body #hello-bar .hello-bar__container{gap:8px}body #hello-bar a.hello-bar__button{min-height:44px;padding:10px 14px!important}body .category-listing .cat-blk{padding:18px}body .category-listing .cat-mdl h2,body .category-listing .cat-mdl h2 a{font-size:21px}}
/* Keep the footer measurable when performance plugins defer offscreen rendering. */
body #colophon.site-footer{content-visibility:visible!important;contain:none!important;height:auto!important;display:block!important}
/* Clip sideways overflow without creating a vertical scroll container for sticky bars. */
html,body,body #page.site{overflow-x:clip!important;overflow-y:visible!important}
body.nav-open{overflow:hidden!important}
