
:root{
 --orange:#ff7800;--orange2:#ff9000;--navy:#111d2b;--navy2:#172637;--ink:#101d2d;--muted:#637287;
 --line:#dce3ea;--soft:#f5f7fa;--green:#11833b;--greenSoft:#edf8ef;--red:#d04747;--redSoft:#fff1f1;
 --shadow:0 9px 25px rgba(10,25,40,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.45;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.shell{width:min(1180px,calc(100% - 44px));margin:auto}

/* Header exactly closer to mockup */
.site-head{background:#fff}.top-head{height:66px;background:#fff}.top-head-inner{height:66px;display:flex;align-items:center;gap:32px}.brand-logo{width:210px;display:flex;align-items:center}.brand-logo img{width:195px;height:54px;object-fit:contain;object-position:left center}.head-search{margin-left:auto;width:360px;height:38px;border:1px solid #d9e0e7;border-radius:20px;display:flex;align-items:center;overflow:hidden;background:#f8fafc}.head-search input{flex:1;border:0;outline:0;background:transparent;padding:0 14px;font-size:10px}.head-search button{width:43px;height:38px;border:0;background:transparent;color:var(--orange);font-size:21px}.nav-band{height:40px;background:var(--navy)}.nav-inner{height:40px}.main-nav{height:40px;display:flex;align-items:center;gap:33px;font-size:10px;color:#fff}.main-nav a{height:40px;display:flex;align-items:center;position:relative}.main-nav a.active-home{color:var(--orange)}.main-nav a.active-home:after{content:"";position:absolute;height:2px;background:var(--orange);left:0;right:0;bottom:0}.main-nav b{color:var(--orange);margin-left:4px}.mobile-menu-button,.mobile-menu{display:none}
.flash{padding:11px 14px;border-radius:8px;margin:12px auto}.flash.success{background:#e9f8ed;color:#1d6b3b}.flash.error{background:#fff1f1;color:#9d2929}

/* Hero like mockup left panel */
.hero-dark{background:radial-gradient(circle at 79% 50%,rgba(155,102,54,.32),transparent 31%),linear-gradient(115deg,#101b27,#1e2c38 58%,#2d2824);color:#fff;overflow:hidden}.hero-dark-inner{height:300px;display:grid;grid-template-columns:1fr 360px;gap:35px;align-items:center}.hero-left h1{font-size:41px;line-height:1.02;letter-spacing:-.04em;margin:0 0 10px}.hero-left h1 span{color:var(--orange)}.hero-left>p{font-size:14px;line-height:1.35;max-width:590px;margin:0 0 17px;color:#fff}.hero-features{display:flex;gap:24px;margin:0 0 17px}.hero-features>div{display:flex;align-items:center;gap:7px}.hero-features i{width:30px;height:30px;border:1px solid var(--orange);border-radius:50%;display:grid;place-items:center;font-style:normal}.hero-features strong,.hero-features small{display:block}.hero-features strong{font-size:8px}.hero-features small{font-size:7px;color:#d8dee5}.hero-search-large{height:40px;display:flex;max-width:520px;background:#fff;border-radius:20px;padding:4px}.hero-search-large input{flex:1;border:0;outline:0;padding:0 13px;font-size:10px}.hero-search-large button{border:0;border-radius:17px;background:var(--orange);color:#fff;padding:0 24px;font-size:10px;font-weight:900}.popular-line{font-size:7px;color:#cfd6de;margin-top:7px}.popular-line a{color:#fff}.hero-right{height:300px;position:relative}.hero-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(215,169,114,.12);right:5px;top:8px}.hero-item{position:absolute;filter:drop-shadow(0 13px 16px rgba(0,0,0,.32))}.hero-item.washer{width:175px;right:155px;top:77px}.hero-item.air{width:150px;right:0;top:47px}.hero-item.mower{width:210px;right:45px;bottom:-10px}

/* Popular categories */
.home-section{padding:25px 0 27px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title-row h2{font-size:19px;margin:0}.section-title-row a{font-size:8px;color:#46607a;font-weight:800}.category-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.category-photo-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;transition:.18s}.category-photo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.category-photo{height:95px;background:#f5f7fa;display:grid;place-items:center}.category-photo img{width:100%;height:94px;object-fit:contain}.category-photo-card strong{display:block;font-size:9px;text-align:center;padding:7px 4px}

/* Why choose */
.why-section{background:linear-gradient(180deg,#f5f8fc,#eef4fa);padding:25px 0 28px}.why-section h2{text-align:center;font-size:20px;margin:0 0 21px}.why-four{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-four article{text-align:center}.why-four article>span{width:45px;height:45px;border:1px solid #ffb56f;background:#fff;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;font-size:19px}.why-four strong{display:block;font-size:9px}.why-four p{font-size:7px;color:#667589;max-width:170px;margin:4px auto 0}

/* Dark Today's Best Buys section */
.dark-best{background:linear-gradient(120deg,#152231,#37414a 60%,#1b2734);padding:15px 0 17px;color:#fff}.dark-best h2{text-align:center;font-size:18px;margin:0 0 12px}.dark-best-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dark-best-card{background:#fff;color:var(--ink);border-radius:8px;padding:8px}.award{font-size:7px;font-weight:900;margin-bottom:5px}.dark-product-art{height:90px;background:#f6f8fa;border-radius:6px;display:grid;place-items:center;position:relative}.dark-product-art img{height:88px;width:100%;object-fit:contain}.dark-score{position:absolute;right:5px;top:5px;background:var(--green);color:#fff;border-radius:7px;padding:5px;text-align:center}.dark-score strong{display:block;font-size:13px;line-height:1}.dark-score small{font-size:6px}.dark-best-card h3{font-size:9px;margin:6px 0 1px}.dark-best-card p{font-size:7px;color:#68778b;margin:0}.dark-best-card>span{display:inline-block;background:var(--orange);color:#fff;border-radius:5px;padding:6px 9px;margin-top:6px;font-size:7px;font-weight:900}

/* Category page middle panel */
.inner-page-head{background:#fff;padding:26px 0 13px}.breadcrumbs{display:flex;gap:6px;align-items:center;font-size:8px;color:#637991;margin-bottom:13px}.breadcrumbs a{color:#0e61ba}.headline-with-badge{display:flex;justify-content:space-between;gap:22px}.headline-with-badge h1{font-size:29px;letter-spacing:-.035em;margin:0 0 4px}.headline-with-badge p{font-size:11px;color:#50647b;max-width:680px;margin:0}.headline-with-badge small{font-size:8px;color:#8b97a4}.ai-ranking-badge{display:flex;gap:8px;align-items:center;border:1px solid #dbe4ed;border-radius:12px;padding:10px 12px;min-width:150px}.ai-ranking-badge>span{font-size:23px}.ai-ranking-badge strong,.ai-ranking-badge small{display:block}.ai-ranking-badge strong{font-size:9px}.ai-ranking-badge small{font-size:7px}.filter-tabs{display:flex;gap:7px;margin-top:16px}.filter-tabs button{border:1px solid #dce3eb;background:#fff;border-radius:6px;padding:8px 14px;font-size:8px;font-weight:800}.filter-tabs button.active{background:var(--orange);border-color:var(--orange);color:#fff}
.category-main-grid{display:grid;grid-template-columns:1fr 230px;gap:15px;padding-bottom:28px}.rank-row{display:grid;grid-template-columns:34px 125px 1fr 115px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:9px;background:#fff}.rank-num{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8edf3;font-size:11px;font-weight:900}.rank-num.n1{background:linear-gradient(145deg,#ffd55e,#e59b00);color:#fff}.rank-art{height:105px;background:#f7f8fa;border-radius:7px;display:grid;place-items:center}.rank-art img{height:102px;width:120px;object-fit:contain}.rank-tag{display:inline-block;background:#fff1e3;color:#b84f00;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900}.rank-copy h2{font-size:13px;margin:3px 0}.stars{color:#ff8500;font-size:8px}.stars small{color:#7a8795}.rank-copy ul{list-style:none;padding:0;margin:5px 0}.rank-copy li{font-size:7px;color:#18723e;margin:3px 0}.rank-score{border:1px solid #b9dfc4;background:#eff9f1;border-radius:8px;padding:8px;text-align:center}.rank-score strong{display:block;color:var(--green);font-size:22px;line-height:1}.rank-score small{font-size:6px}.orange-review{display:block;background:var(--orange);color:#fff;border-radius:6px;text-align:center;padding:8px;margin-top:6px;font-size:7px;font-weight:900}.amazon-small{display:block;text-align:center;font-size:6px;margin-top:5px}.rail-card{border:1px solid var(--line);border-radius:10px;padding:13px;margin-bottom:10px}.rail-card h3{font-size:11px;margin:0 0 9px}.rail-card ul{list-style:none;padding:0;margin:0}.rail-card li{font-size:7px;margin:7px 0;color:#43566e}.rail-card p{font-size:7px;color:#647487}.rail-card a{font-size:7px;color:var(--orange);font-weight:900}.methodology{background:#f8faff}.trust-box{text-align:center}.trust-box>strong{font-size:10px}.trust-box>div{color:#0a9a49;font-size:13px;margin:4px}.trust-box small{font-size:6px;color:#6b7887}

/* Review page right panel */
.review-page{padding:23px 0 34px}.review-page h1{font-size:23px;letter-spacing:-.03em;margin:0}.review-sub{font-size:10px;margin:1px 0 8px}.review-pills{display:flex;gap:6px;margin-bottom:10px}.review-pills span{background:#f4f6f8;border-radius:999px;padding:5px 8px;font-size:7px;font-weight:800}.review-pills span:first-child{background:var(--orange);color:#fff}.review-master-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-product-card,.review-score-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.review-product-image{height:190px;display:grid;place-items:center}.review-product-image img{height:185px;width:100%;object-fit:contain}.review-dots{display:flex;justify-content:center;gap:5px}.review-dots i{width:5px;height:5px;background:#cbd3dd;border-radius:50%}.review-dots i:first-child{background:var(--orange)}.big-green-score{height:83px;border-radius:8px;background:#075226;color:#fff;display:grid;place-items:center;align-content:center}.big-green-score strong{font-size:32px;line-height:1}.big-green-score span{font-size:7px}.stars.big{text-align:center;font-size:11px;margin:7px}.metric-row{display:grid;grid-template-columns:100px 1fr 20px;gap:6px;align-items:center;font-size:6px;margin:5px 0}.metric-row i{height:4px;background:#e5ece7;border-radius:99px;overflow:hidden}.metric-row em{height:100%;display:block;background:var(--green)}.amazon-center{text-align:center;margin:9px 0}.amazon-center a,.amazon-center>span{display:inline-block;width:80%;background:var(--orange);color:#fff;border-radius:8px;padding:10px;font-size:9px;font-weight:900}.amazon-center b{font-family:Georgia,serif;font-size:15px}.amazon-center small{display:block;font-size:6px;color:#707e8c;margin-top:4px}.quick-box{background:#fff5e7;border:1px solid #f3dec2;border-radius:10px;padding:12px}.quick-box h2{font-size:11px;margin:0}.quick-box p{font-size:7px;color:#495b70}.pros-cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.pros-box,.cons-box{border-radius:9px;padding:11px}.pros-box{background:var(--greenSoft)}.cons-box{background:var(--redSoft)}.pros-box h3,.cons-box h3{font-size:10px;margin:0}.pros-box h3{color:var(--green)}.cons-box h3{color:var(--red)}.pros-box ul,.cons-box ul{list-style:none;padding:0}.pros-box li,.cons-box li{font-size:7px;margin:5px 0}.spec-box{border:1px solid var(--line);border-radius:9px;padding:11px;margin-top:10px}.spec-box h2,.who-buy h2{font-size:11px}.spec-box dl{margin:0}.spec-box dl>div{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:6px}.spec-box dt,.spec-box dd{font-size:7px}.spec-box dd{margin:0}.who-buy{margin-top:12px}.who-buy ul{list-style:none;padding:0}.who-buy li{font-size:8px;color:#116c38;margin:6px 0}.review-long{margin-top:14px}.richtext h2{font-size:18px}.richtext p,.richtext li{font-size:9px;color:#47596e}

/* Generic views / admin compat */
.inner-hero{background:linear-gradient(135deg,#f8fafc,#fff8ee);padding:42px 0}.inner-hero h1{font-size:34px}.section{padding:45px 0}.visual-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visual-category-card{display:grid;grid-template-columns:100px 1fr;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.category-art{height:90px;background:#f5f7fa;display:grid;place-items:center}.category-art img{height:88px}.category-copy strong{font-size:12px}.category-copy span{font-size:8px;color:#66758a}.category-index-grid{grid-template-columns:repeat(2,1fr)}.policy-wrap{max-width:900px}.policy-card{border:1px solid var(--line);border-radius:12px;padding:25px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.premium-contact-form{border:1px solid var(--line);border-radius:12px;padding:18px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.premium-contact-form label{display:block;font-size:9px;font-weight:900}.premium-contact-form input,.premium-contact-form textarea{width:100%;border:1px solid var(--line);padding:9px;border-radius:7px;margin:5px 0 10px}.hp-field{position:absolute!important;left:-99999px!important}
.search-results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.best-buy-card{border:1px solid var(--line);border-radius:10px;padding:10px}.best-buy-art{height:120px;background:#f7f8fa;display:grid;place-items:center}.best-buy-art img{height:118px}.mini-score{background:var(--green);color:#fff}.empty-state{padding:40px;border:1px dashed #cbd4de;border-radius:10px;text-align:center}
.footer{background:var(--navy);color:#d6dee7;padding:25px 0 12px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:25px}.footer-brand img{width:150px;height:48px;object-fit:contain;background:#fff;border-radius:5px}.footer-brand p{font-size:7px;color:#aab7c4;max-width:220px}.footer strong{display:block;font-size:8px;margin-bottom:7px;color:#fff}.footer a{display:block;font-size:7px;margin:5px 0;color:#b2bec9}.footer-bottom{border-top:1px solid #31465b;margin-top:18px;padding-top:9px;display:flex;justify-content:space-between;font-size:6px;color:#8c9aaa}.mobile-bottom{display:none}
.admin-body{background:#f3f6fa}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:var(--navy);padding:28px 20px;color:#fff}.admin-brand{font-size:23px;color:var(--orange);font-weight:900}.admin-sidebar nav a{display:block;padding:10px;color:#d5dfe9}.admin-main{margin-left:240px;padding:30px;min-width:0;overflow-x:hidden}.admin-login-main{min-height:100vh;display:grid;place-items:center}.login-card,.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0;box-sizing:border-box}.login-card{width:min(440px,100%)}.admin-head{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats-grid>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.admin-grid-2{display:grid;grid-template-columns:400px minmax(0,1fr);gap:16px}.admin-grid-2>*{min-width:0}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{padding:9px;border-bottom:1px solid var(--line);font-size:10px;text-align:left;vertical-align:top}th,td{overflow-wrap:anywhere}.admin-form,.login-card form{display:grid;gap:12px}.admin-form input,.admin-form textarea,.admin-form select,.login-card input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.btn{background:var(--orange);color:#fff;border-radius:7px;padding:9px 12px;border:0;font-weight:900}

/* Responsive */
@media(max-width:980px){
 .category-photo-grid{grid-template-columns:repeat(4,1fr)}.category-main-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rank-row{grid-template-columns:32px 115px 1fr 110px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:auto}
}
@media(max-width:760px){
 body{padding-bottom:58px}.top-head,.top-head-inner{height:61px}.brand-logo img{width:175px}.head-search{display:none}.nav-band{display:none}.mobile-menu-button{display:block;margin-left:auto;background:none;border:0;font-size:24px}.mobile-menu{display:none;background:var(--navy);padding:8px 20px}.mobile-menu.open{display:block}.mobile-menu a{display:block;color:#fff;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:10px}
 .mobile-bottom{position:fixed;left:0;right:0;bottom:0;height:58px;background:var(--navy);color:#fff;z-index:60;display:grid;grid-template-columns:repeat(5,1fr)}.mobile-bottom a{display:grid;place-items:center;align-content:center}.mobile-bottom span{font-size:16px}.mobile-bottom small{font-size:6px}
 .hero-dark-inner{height:auto;min-height:500px;grid-template-columns:1fr;padding-top:30px}.hero-left h1{font-size:36px}.hero-right{height:230px}.category-photo-grid{grid-template-columns:repeat(2,1fr)}.why-four{grid-template-columns:1fr 1fr}.dark-best-grid{grid-template-columns:1fr 1fr}.headline-with-badge{display:block}.ai-ranking-badge{margin-top:12px;width:max-content}.filter-tabs{overflow-x:auto}.filter-tabs button{white-space:nowrap}.rank-row{grid-template-columns:30px 105px 1fr}.rank-actions{grid-column:2/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:stretch}.rank-actions .rank-price{margin:0;display:flex;flex-direction:column;justify-content:center}.rank-actions .rank-score{width:auto;margin:0;display:flex;flex-direction:column;justify-content:center}.rank-actions .orange-review{grid-column:1/-1;margin:0;font-size:11px;padding:11px 8px}.rank-actions .retailer-direct{grid-column:1/-1;margin:0;font-size:11px;padding:11px 8px}.right-rail{grid-template-columns:1fr}.review-master-grid{grid-template-columns:1fr}.review-product-image{height:220px}.review-product-image img{height:210px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.admin-sidebar{position:static;width:auto}.admin-main{margin:0}.admin-grid-2{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}
}

/* ======================================================
   V24.8.152 — FULL-WIDTH KEY STRENGTHS + SCROLLABLE FILTERS
   ====================================================== */

.pros-cons-grid.key-strengths-only{
  grid-template-columns:1fr;
}
.key-strengths-only .pros-box{
  width:100%;
  box-sizing:border-box;
}
.key-strengths-only .pros-box ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:32px;
  row-gap:8px;
  margin:13px 0 0;
}
.key-strengths-only .pros-box li{
  margin:0;
  line-height:1.5;
}

.filter-tabs-shell{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  margin-top:22px;
}
.filter-tabs-shell .filter-tabs{
  flex:1 1 auto;
  min-width:0;
  margin-top:0;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding:3px 2px 8px;
  scrollbar-width:thin;
  scrollbar-color:#c9d5e0 transparent;
  scroll-behavior:smooth;
}
.filter-tabs-shell .filter-tabs::-webkit-scrollbar{height:7px}
.filter-tabs-shell .filter-tabs::-webkit-scrollbar-thumb{background:#c9d5e0;border-radius:99px}
.filter-tabs-shell .filter-tabs button{flex:0 0 auto;white-space:nowrap}
.filter-tabs-scroll{
  display:none;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1px solid #d6e0e9;
  border-radius:999px;
  background:#fff;
  color:#183653;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.filter-tabs-shell.is-scrollable .filter-tabs-scroll{display:block}
.filter-tabs-scroll:hover:not(:disabled){border-color:#ff9b4a;color:var(--orange)}
.filter-tabs-scroll:disabled{opacity:.35;cursor:default}
.filter-tabs-hint{
  display:none;
  margin:5px 44px 0;
  color:#74869a;
  font-size:11px;
  text-align:right;
}
.filter-tabs-shell.is-scrollable + .filter-tabs-hint{display:block}

@media(max-width:760px){
  .key-strengths-only .pros-box ul{grid-template-columns:1fr;row-gap:7px}
  .filter-tabs-shell{gap:5px;margin-top:16px}
  .filter-tabs-shell .filter-tabs{scrollbar-width:none;padding-bottom:5px}
  .filter-tabs-shell .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tabs-scroll{flex-basis:32px;width:32px;height:32px;font-size:21px}
  .filter-tabs-hint{margin:4px 38px 0;font-size:10px}
}

.family-page{padding:34px 0 60px}.family-heading{max-width:760px;margin:18px 0 24px}.family-heading h1{font-size:38px;letter-spacing:-.03em;margin:4px 0 8px}.family-heading p{color:#68798c;font-size:17px;margin:0}.breadcrumbs{display:flex;gap:8px;color:#577089;font-size:13px}.breadcrumbs a{color:#1a62a4}.family-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.family-category-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:.18s}.family-category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.family-category-image{height:190px;flex:0 0 190px;background:#f5f7fa;display:grid;place-items:center;overflow:hidden}.family-category-image img{display:block;max-height:100%;max-width:100%;width:100%;height:100%;object-fit:contain}.family-category-copy{position:relative;z-index:1;background:#fff;padding:16px;min-height:108px;box-sizing:border-box}.family-category-copy h2{font-size:21px;line-height:1.18;margin:0 0 7px}.family-category-copy p{color:#718196;margin:0 0 12px;font-size:13px}.family-category-copy span{color:var(--orange);font-weight:900;font-size:13px}.home-showcase-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px}.home-showcase-controls button{border:1px solid #6e8195;background:transparent;color:#fff;border-radius:999px;width:32px;height:32px;font-weight:900;cursor:pointer}.home-showcase-controls span{min-width:180px;text-align:center;font-weight:900}.home-showcase-group[hidden]{display:none}.showcase-category-label{text-align:center;color:var(--orange);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}@media(max-width:760px){.family-category-grid{grid-template-columns:1fr 1fr}.family-heading h1{font-size:32px}.family-category-image{height:160px;flex-basis:160px}}@media(max-width:480px){.family-category-grid{grid-template-columns:1fr}.family-category-image{height:180px;flex-basis:180px}}
@media(max-width:460px){
 .shell{width:min(100% - 24px,1180px)}.hero-left h1{font-size:32px}.hero-features{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-photo-grid,.dark-best-grid,.why-four{grid-template-columns:1fr 1fr}.pros-cons-grid{grid-template-columns:1fr}.rank-row{grid-template-columns:28px 1fr}.rank-art{grid-column:2}.rank-copy{grid-column:1/-1}.rank-actions{grid-column:1/-1}.category-index-grid,.visual-category-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin:4px 0}.form-two,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats-grid{grid-template-columns:1fr 1fr}
}


/* ==========================================================
   V5 READABILITY + REAL-WORLD UI OVERRIDES
   The mockup was a scaled presentation image. These rules
   preserve its layout while using accessible website sizing.
   ========================================================== */

html{font-size:16px}
body{font-size:16px;line-height:1.6}

/* Header */
.top-head{height:76px}
.top-head-inner{height:76px}
.brand-logo{width:250px}
.brand-logo img{width:235px;height:62px}
.head-search{width:430px;height:44px;border-radius:24px}
.head-search input{font-size:14px;padding:0 17px}
.head-search button{height:44px;width:48px;font-size:24px}
.nav-band,.nav-inner,.main-nav,.main-nav a{height:48px}
.main-nav{font-size:14px;gap:34px}
.main-nav b{font-size:14px}

/* Hero */
.hero-dark-inner{height:380px;grid-template-columns:minmax(0,1.35fr) 430px}
.hero-left h1{font-size:52px;margin-bottom:14px}
.hero-left>p{font-size:18px;line-height:1.45;max-width:650px;margin-bottom:22px}
.hero-features{gap:30px;margin-bottom:22px}
.hero-features i{width:38px;height:38px;font-size:16px}
.hero-features strong{font-size:13px}
.hero-features small{font-size:12px}
.hero-search-large{height:50px;max-width:620px;border-radius:26px;padding:5px}
.hero-search-large input{font-size:15px;padding:0 16px}
.hero-search-large button{font-size:14px;padding:0 28px;border-radius:22px}
.popular-line{font-size:12px;margin-top:9px}
.hero-right{height:380px}
.hero-item.washer{width:220px;right:190px;top:95px}
.hero-item.air{width:185px;right:0;top:58px}
.hero-item.mower{width:270px;right:35px;bottom:-12px}

/* Home sections */
.home-section{padding:42px 0}
.section-title-row{margin-bottom:22px}
.section-title-row h2{font-size:30px}
.section-title-row a{font-size:14px}
.category-photo-grid{gap:14px}
.category-photo{height:145px}
.category-photo img{height:142px}
.category-photo-card strong{font-size:14px;padding:11px 7px}

.why-section{padding:44px 0 48px}
.why-section h2{font-size:30px;margin-bottom:30px}
.why-four{gap:28px}
.why-four article>span{width:58px;height:58px;font-size:24px}
.why-four strong{font-size:16px}
.why-four p{font-size:14px;line-height:1.5;max-width:230px}

.dark-best{padding:28px 0 32px}
.dark-best h2{font-size:28px;margin-bottom:20px}
.dark-best-grid{gap:16px}
.dark-best-card{padding:14px;border-radius:12px}
.award{font-size:12px}
.dark-product-art{height:150px}
.dark-product-art img{height:148px}
.dark-score strong{font-size:22px}
.dark-score small{font-size:10px}
.dark-best-card h3{font-size:16px;margin:10px 0 3px}
.dark-best-card p{font-size:13px}
.dark-best-card>span{font-size:13px;padding:9px 13px;margin-top:10px}

/* Category/ranking page */
.inner-page-head{padding:38px 0 22px}
.breadcrumbs{font-size:13px;margin-bottom:18px}
.headline-with-badge h1{font-size:40px;margin-bottom:7px}
.headline-with-badge p{font-size:16px;line-height:1.5;max-width:760px}
.headline-with-badge small{font-size:13px}
.ai-ranking-badge{padding:14px 16px;min-width:200px}
.ai-ranking-badge>span{font-size:30px}
.ai-ranking-badge strong{font-size:13px}
.ai-ranking-badge small{font-size:12px}
.filter-tabs{gap:10px;margin-top:22px}
.filter-tabs button{font-size:13px;padding:10px 17px;border-radius:8px}

.category-main-grid{grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding-bottom:45px}
.rank-row{grid-template-columns:44px 175px minmax(0,1fr) 150px;gap:16px;padding:15px;border-radius:14px;margin-bottom:14px}
.rank-num{width:38px;height:38px;font-size:15px}
.rank-art{height:145px}
.rank-art img{height:142px;width:170px}
.rank-tag{font-size:12px;padding:5px 8px}
.rank-copy h2{font-size:20px;margin:5px 0}
.stars{font-size:14px}
.stars small{font-size:12px}
.rank-copy li{font-size:14px;margin:5px 0}
.rank-score{padding:12px}
.rank-score strong{font-size:32px}
.rank-score small{font-size:11px}
.orange-review{font-size:13px;padding:10px;margin-top:9px}
.amazon-small{font-size:11px;margin-top:8px}

.rail-card{padding:18px;border-radius:14px;margin-bottom:14px}
.rail-card h3{font-size:18px}
.rail-card li{font-size:14px;margin:9px 0}
.rail-card p{font-size:14px;line-height:1.55}
.rail-card a{font-size:13px}
.trust-box>strong{font-size:16px}
.trust-box>div{font-size:18px}
.trust-box small{font-size:12px}

/* Review page */
.review-page{padding:36px 0 55px}
.review-page h1{font-size:38px}
.review-sub{font-size:16px}
.review-pills{gap:9px;margin-bottom:15px}
.review-pills span{font-size:13px;padding:7px 11px}
.review-master-grid{gap:16px}
.review-product-card,.review-score-card{padding:16px;border-radius:14px}
.review-product-image{height:300px}
.review-product-image img{height:290px}
.big-green-score{height:120px}
.big-green-score strong{font-size:48px}
.big-green-score span{font-size:13px}
.stars.big{font-size:18px;margin:10px}
.metric-row{grid-template-columns:150px 1fr 32px;gap:8px;font-size:12px;margin:8px 0}
.metric-row i{height:6px}
.amazon-center{margin:16px 0}
.amazon-center a,.amazon-center>span{width:min(540px,90%);font-size:15px;padding:14px}
.amazon-center b{font-size:22px}
.amazon-center small{font-size:11px;margin-top:6px}
.quick-box{padding:18px;border-radius:14px}
.quick-box h2{font-size:20px}
.quick-box p{font-size:15px;line-height:1.55}
.pros-cons-grid{gap:14px;margin-top:14px}
.pros-box,.cons-box{padding:17px;border-radius:13px}
.pros-box h3,.cons-box h3{font-size:18px}
.pros-box li,.cons-box li{font-size:14px;margin:7px 0}
.spec-box{padding:17px;border-radius:13px;margin-top:16px}
.spec-box h2,.who-buy h2{font-size:20px}
.spec-box dl>div{padding:10px}
.spec-box dt,.spec-box dd{font-size:14px}
.who-buy{margin-top:18px}
.who-buy li{font-size:15px;margin:8px 0}
.richtext h2{font-size:26px}
.richtext p,.richtext li{font-size:16px;line-height:1.65}

/* Generic pages */
.inner-hero{padding:58px 0}
.inner-hero h1{font-size:42px}
.section{padding:58px 0}
.category-copy strong{font-size:17px}
.category-copy span{font-size:14px}
.policy-card{padding:32px}
.premium-contact-form label{font-size:14px}
.premium-contact-form input,.premium-contact-form textarea{font-size:15px;padding:12px}
.empty-state{font-size:16px}

/* Footer */
.footer{padding:38px 0 18px}
.footer-brand img{width:190px;height:58px}
.footer-brand p{font-size:13px;line-height:1.55;max-width:290px}
.footer strong{font-size:14px;margin-bottom:10px}
.footer a{font-size:13px;margin:7px 0}
.footer-bottom{font-size:11px;padding-top:14px}

/* Admin readability */
.admin-sidebar nav a{font-size:14px}
table th,table td{font-size:13px}
.admin-form input,.admin-form textarea,.admin-form select,.login-card input{font-size:15px}
.btn{font-size:14px}

/* Responsive readability */
@media(max-width:980px){
 .category-main-grid{grid-template-columns:1fr}
 .rank-row{grid-template-columns:42px 150px minmax(0,1fr) 140px}
}
@media(max-width:760px){
 body{font-size:16px}
 .top-head,.top-head-inner{height:70px}
 .brand-logo img{width:205px;height:58px}
 .mobile-menu-button{font-size:28px}
 .mobile-menu a{font-size:15px;padding:12px 0}
 .hero-dark-inner{min-height:620px;padding-top:38px}
 .hero-left h1{font-size:42px}
 .hero-left>p{font-size:17px}
 .hero-features strong{font-size:13px}
 .hero-features small{font-size:12px}
 .hero-search-large input{font-size:14px}
 .popular-line{font-size:12px}
 .category-photo{height:155px}
 .category-photo img{height:150px}
 .category-photo-card strong{font-size:15px}
 .why-four strong{font-size:16px}
 .why-four p{font-size:14px}
 .headline-with-badge h1{font-size:34px}
 .headline-with-badge p{font-size:15px}
 .filter-tabs button{font-size:13px}
 .rank-row{grid-template-columns:40px 145px 1fr}
 .rank-copy h2{font-size:19px}
 .rank-copy li{font-size:14px}
 .review-page h1{font-size:32px}
 .review-product-image{height:260px}
 .review-product-image img{height:250px}
 .metric-row{grid-template-columns:130px 1fr 28px;font-size:12px}
 .footer strong{font-size:14px}.footer a{font-size:13px}
}
@media(max-width:460px){
 .hero-left h1{font-size:36px}
 .hero-left>p{font-size:16px}
 .hero-features{grid-template-columns:1fr 1fr}
 .hero-features strong{font-size:13px}
 .hero-features small{font-size:11px}
 .section-title-row h2{font-size:26px}
 .category-photo-grid{grid-template-columns:1fr 1fr}
 .category-photo{height:130px}
 .category-photo img{height:125px}
 .category-photo-card strong{font-size:14px}
 .why-four{grid-template-columns:1fr}
 .dark-best-grid{grid-template-columns:1fr}
 .rank-row{grid-template-columns:38px 1fr}
 .rank-art{grid-column:2}
 .rank-copy,.rank-actions{grid-column:1/-1}
 .rank-copy h2{font-size:20px}
 .rank-copy li{font-size:15px}
 .review-page h1{font-size:30px}
 .quick-box p,.pros-box li,.cons-box li,.spec-box dt,.spec-box dd,.who-buy li{font-size:15px}
 .footer-grid{grid-template-columns:1fr 1fr}
}


/* ======================================================
   V6 — CURVED MOCKUP EDGES + SEARCH FIX + AUTOCOMPLETE
   ====================================================== */

/* Curved transition below header/nav and curved footer top. */
.site-head{
  position:relative;
  z-index:20;
}
.nav-band{
  position:relative;
  border-radius:0 0 34px 34px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(8,24,40,.13);
}
.hero-dark{
  margin-top:-22px;
  padding-top:22px;
  padding-bottom:28px;
  border-radius:0 0 52% 52% / 0 0 7% 7%;
  position:relative;
  z-index:1;
}
.home-section{
  padding-top:58px;
}
.footer{
  position:relative;
  margin-top:34px;
  border-radius:52% 52% 0 0 / 8% 8% 0 0;
  padding-top:60px;
  overflow:hidden;
}

/* Fix the white protruding blocks around the left edge of the hero search. */
.hero-search-large,
.head-search,
.hero-search.search-page-form{
  overflow:visible;
  position:relative;
}
.hero-search-large{
  background:#fff;
  border-radius:999px;
  padding:5px;
}
.hero-search-large .autocomplete-wrap{
  min-width:0;
}
.hero-search-large .autocomplete-input{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  appearance:none;
  -webkit-appearance:none;
  border-radius:999px 0 0 999px!important;
  background:transparent!important;
  height:40px;
  margin:0!important;
  padding-right:43px!important;
}
.hero-search-large button{
  position:relative;
  z-index:3;
  flex:0 0 auto;
  border-radius:999px;
}

/* Generic autocomplete wrapper. */
.autocomplete-form{
  position:relative;
}
.autocomplete-wrap{
  position:relative;
  flex:1;
  min-width:0;
  height:100%;
}
.search-clear{
  position:absolute;
  z-index:4;
  top:50%;
  right:8px;
  display:grid;
  width:27px;
  height:27px;
  padding:0;
  transform:translateY(-50%);
  place-items:center;
  border:0;
  border-radius:50%;
  background:#edf1f5;
  color:#5e7082;
  cursor:pointer;
  font-size:21px;
  font-weight:500;
  line-height:1;
}
.search-clear:hover,
.search-clear:focus-visible{
  background:#ffe8d3;
  color:var(--orange);
}
.search-clear[hidden]{
  display:none!important;
}
.head-search .search-clear{
  right:7px;
}
.hero-search-large .search-clear{
  right:8px;
}
.hero-search-large button.search-clear{
  position:absolute!important;
  top:50%!important;
  right:8px!important;
  z-index:4!important;
  display:grid!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  flex:0 0 27px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:50%!important;
  background:#edf1f5!important;
  color:#5e7082!important;
  font-size:21px!important;
  font-weight:500!important;
  line-height:1!important;
}
.hero-search-large button.search-clear:hover,
.hero-search-large button.search-clear:focus-visible{
  background:#ffe8d3!important;
  color:var(--orange)!important;
}
.hero-search-large button.search-clear[hidden]{
  display:none!important;
}
.autocomplete-input{
  width:100%;
  height:100%;
}
.head-search .autocomplete-wrap{
  height:100%;
}
.head-search .autocomplete-input{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  appearance:none;
  -webkit-appearance:none;
  padding:0 43px 0 17px!important;
  margin:0!important;
}
.search-page-form .autocomplete-wrap{
  height:100%;
}
.search-page-form .autocomplete-input{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  appearance:none;
  -webkit-appearance:none;
  margin:0!important;
}

/* Suggestion dropdown. */
.autocomplete-menu{
  display:none;
  position:absolute;
  z-index:1000;
  left:0;
  top:calc(100% + 9px);
  width:min(560px,calc(100vw - 30px));
  background:#fff;
  border:1px solid #d9e1e9;
  border-radius:14px;
  box-shadow:0 18px 45px rgba(8,25,43,.18);
  overflow:hidden;
  color:var(--ink);
  text-align:left;
}
.autocomplete-menu.open{
  display:block;
}
.head-search .autocomplete-menu{
  left:-8px;
  width:430px;
}
.hero-search-large .autocomplete-menu{
  left:0;
  width:100%;
}
.autocomplete-item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:11px;
  padding:10px 13px;
  border-bottom:1px solid #edf0f3;
  background:#fff;
  transition:.12s;
}
.autocomplete-item:last-child{
  border-bottom:0;
}
.autocomplete-item:hover,
.autocomplete-item.active{
  background:#fff5eb;
}
.autocomplete-thumb{
  width:54px;
  height:46px;
  border-radius:8px;
  background:#f5f7f9;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.autocomplete-thumb img{
  width:100%;
  height:44px;
  object-fit:contain;
}
.autocomplete-copy{
  min-width:0;
}
.autocomplete-copy strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.autocomplete-copy small{
  display:block;
  color:#738194;
  font-size:12px;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.autocomplete-type{
  color:#9a5a21;
  background:#fff0df;
  border-radius:999px;
  padding:4px 7px;
  font-size:10px;
  font-weight:800;
}
.autocomplete-item>b{
  color:var(--orange);
  font-size:20px;
}
.autocomplete-empty{
  padding:14px 16px;
  color:#657589;
  font-size:13px;
}

/* Give interior pages a subtle curved top identity too. */
.inner-page-head,
.inner-hero{
  border-radius:0 0 38px 38px;
}
.review-page{
  position:relative;
}

/* Keep mobile curves elegant rather than oversized. */
@media(max-width:760px){
  .nav-band{border-radius:0}
  .hero-dark{
    margin-top:0;
    padding-top:38px;
    border-radius:0 0 38px 38px;
  }
  .home-section{padding-top:48px}
  .footer{
    border-radius:38px 38px 0 0;
    padding-top:44px;
    margin-top:26px;
  }
  .autocomplete-menu,
  .head-search .autocomplete-menu{
    position:fixed;
    left:12px;
    right:12px;
    top:76px;
    width:auto;
    max-height:60vh;
    overflow-y:auto;
  }
  .hero-search-large .autocomplete-menu{
    position:absolute;
    left:0;
    right:auto;
    top:calc(100% + 9px);
    width:100%;
    max-height:55vh;
    overflow-y:auto;
  }
  .autocomplete-item{
    grid-template-columns:50px minmax(0,1fr) 16px;
  }
  .autocomplete-type{
    display:none;
  }
}


/* ======================================================
   V7 — HEADER CLEANUP
   ====================================================== */

/* Header/nav should be completely straight — no white wedges at edges. */
.nav-band{
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}

/* Hero now starts cleanly immediately below navigation. */
.hero-dark{
  margin-top:0!important;
  padding-top:0!important;
}

/* Keep only the deliberate curve at the BOTTOM of the hero. */
.hero-dark{
  border-radius:0 0 52% 52% / 0 0 7% 7%!important;
}

/* No decorative arrow after Categories. */
.main-nav b{
  display:none!important;
}

@media(max-width:760px){
  .hero-dark{
    padding-top:38px!important;
    border-radius:0 0 38px 38px!important;
  }
}


/* ======================================================
   V8 — CURVE PLACEMENT + MOBILE LAYOUT FIX
   ====================================================== */

/* Footer must be straight. No white curved divider, no gap. */
.footer{
  margin-top:0!important;
  border-radius:0!important;
  padding-top:38px!important;
  overflow:visible!important;
}

/*
  The curve belongs at the TOP of Today's Best Buys.
  Pull the dark section slightly upward and round only its top edge.
*/
.dark-best{
  position:relative;
  z-index:2;
  margin-top:28px!important;
  padding-top:62px!important;
  border-radius:52% 52% 0 0 / 10% 10% 0 0!important;
  overflow:hidden;
}

/* Keep the bottom of Best Buys completely straight into the footer. */
.dark-best{
  padding-bottom:38px!important;
}

/* Prevent any white seam between Best Buys and footer. */
.dark-best + .footer,
main + .footer{
  border-top:0!important;
}

/*
  On the home page the dark best-buys band should visually continue
  into the footer rather than creating a floating curved island.
*/
.dark-best:last-child{
  margin-bottom:0!important;
}

/* Desktop card spacing after moving the curve. */
.dark-best h2{
  margin-top:0!important;
  margin-bottom:24px!important;
}

/* ---------------- MOBILE ---------------- */
@media(max-width:760px){

  /* Smaller, controlled curve on phones. */
  .dark-best{
    margin-top:18px!important;
    padding-top:46px!important;
    padding-bottom:30px!important;
    border-radius:34px 34px 0 0!important;
  }

  .footer{
    margin-top:0!important;
    padding-top:34px!important;
    border-radius:0!important;
  }

  /* Best Buy cards: one clean column on typical phones. */
  .dark-best-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .dark-best-card{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    grid-template-rows:auto auto auto auto;
    column-gap:14px;
    align-items:center;
    padding:14px!important;
  }

  .dark-best-card .award{
    grid-column:1/-1;
    margin-bottom:8px;
  }

  .dark-best-card .dark-product-art{
    grid-column:1;
    grid-row:2/6;
    height:125px!important;
  }

  .dark-best-card .dark-product-art img{
    height:122px!important;
  }

  .dark-best-card h3{
    grid-column:2;
    margin:0 0 4px!important;
    font-size:17px!important;
  }

  .dark-best-card p{
    grid-column:2;
    font-size:13px!important;
    margin:0 0 10px!important;
  }

  .dark-best-card>span{
    grid-column:2;
    justify-self:start;
    margin-top:0!important;
  }

  /* Footer: two columns, brand full width. */
  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px 18px!important;
  }

  .footer-brand{
    grid-column:1/-1!important;
  }

  .footer-brand img{
    width:185px!important;
  }

  .footer-bottom{
    display:block!important;
    line-height:1.5;
  }

  .footer-bottom span{
    display:block!important;
    margin:5px 0!important;
  }
}

@media(max-width:480px){

  /* Curve remains smooth without consuming too much vertical space. */
  .dark-best{
    border-radius:28px 28px 0 0!important;
    padding-top:40px!important;
  }

  .dark-best h2{
    font-size:26px!important;
  }

  /* Compact but readable cards on narrow phones. */
  .dark-best-card{
    grid-template-columns:100px minmax(0,1fr);
    column-gap:12px;
  }

  .dark-best-card .dark-product-art{
    height:110px!important;
  }

  .dark-best-card .dark-product-art img{
    height:106px!important;
  }

  .dark-best-card h3{
    font-size:16px!important;
  }

  /* Footer becomes one column on very narrow phones. */
  .footer-grid{
    grid-template-columns:1fr!important;
  }

  .footer-brand{
    grid-column:1!important;
  }

  .footer strong{
    margin-top:4px;
  }
}


/* ======================================================
   V9 — MAIN SEARCH AUTOCOMPLETE OVERLAY FIX
   ====================================================== */

/*
  The hero previously clipped autocomplete at its curved bottom edge.
  The background keeps its curve, but child UI is now allowed to overflow.
*/
.hero-dark{
  overflow:visible!important;
  z-index:20!important;
}

/* Keep the following homepage content beneath the autocomplete overlay. */
.home-section,
.why-section,
.dark-best{
  position:relative;
  z-index:1;
}

/* Search itself needs its own high stacking context. */
.hero-left{
  position:relative;
  z-index:40;
}

.hero-search-large{
  position:relative!important;
  z-index:50!important;
}

.hero-search-large .autocomplete-wrap{
  position:relative!important;
  z-index:60!important;
}

.hero-search-large .autocomplete-menu{
  z-index:9999!important;
  max-height:390px;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* Make sure the white result panel fully covers content underneath. */
.autocomplete-menu{
  background:#fff!important;
  isolation:isolate;
}

/* Avoid Popular Categories visually colliding when suggestions are open. */
.home-section{
  isolation:isolate;
}

/* Keep the product artwork behind all search UI. */
.hero-right{
  z-index:1!important;
}

/* Mobile: allow suggestions to overlap the next section cleanly too. */
@media(max-width:760px){
  .hero-dark{
    overflow:visible!important;
    z-index:20!important;
  }

  .hero-search-large .autocomplete-menu{
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 10px)!important;
    width:100%!important;
    max-height:320px!important;
    overflow-y:auto!important;
    z-index:9999!important;
  }

  .home-section{
    z-index:1!important;
  }
}


/* ======================================================
   V10 — CLEAN CATEGORIES + ACTIVE NAV + POPULAR TRACKING
   ====================================================== */

/* Correct reusable page container for legacy views too. */
.container{
  width:min(1180px,calc(100% - 44px));
  margin-left:auto;
  margin-right:auto;
}

/* Active top navigation follows the current page. */
.main-nav a{
  color:#fff;
  transition:color .15s;
}
.main-nav a:hover,
.main-nav a.nav-active{
  color:var(--orange)!important;
}
.main-nav a.nav-active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--orange);
}
.main-nav a{
  position:relative;
}

/* Popular terms under main search. */
.popular-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  font-size:13px!important;
}
.popular-line strong{
  font-weight:700;
}
.popular-line a{
  color:#fff;
  text-decoration:none;
  font-weight:700;
}
.popular-line a:hover{
  color:#ff9c48;
}
.popular-sep{
  color:#8593a2;
}

/* ---------- Clean Categories Page ---------- */
.categories-hero{
  background:
    radial-gradient(circle at 85% 40%,rgba(255,119,0,.11),transparent 26%),
    linear-gradient(135deg,#f7f9fc,#fff9f1);
  border-bottom:1px solid #e4e9ef;
}
.categories-hero-inner{
  min-height:270px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
}
.categories-eyebrow{
  display:block;
  color:var(--orange);
  font-size:13px;
  letter-spacing:.13em;
  font-weight:900;
  margin-bottom:11px;
}
.categories-hero h1{
  margin:0 0 13px;
  font-size:48px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.categories-hero p{
  margin:0;
  max-width:720px;
  color:#53657b;
  font-size:17px;
  line-height:1.6;
}
.categories-summary{
  flex:0 0 190px;
  min-height:140px;
  border:1px solid #e0e6ed;
  border-radius:20px;
  background:#fff;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  box-shadow:0 12px 30px rgba(10,30,50,.06);
}
.categories-summary strong{
  color:var(--orange);
  font-size:46px;
  line-height:1;
}
.categories-summary span{
  margin-top:6px;
  font-size:16px;
  font-weight:900;
}
.categories-summary small{
  margin-top:4px;
  color:#7b8999;
  font-size:11px;
}

.categories-page{
  padding-top:50px;
  padding-bottom:70px;
}
.categories-intro-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:27px;
}
.categories-intro-row h2{
  margin:0 0 6px;
  font-size:30px;
  letter-spacing:-.025em;
}
.categories-intro-row p{
  margin:0;
  color:#68788c;
  font-size:15px;
}
.category-filter{
  width:390px;
  min-height:44px;
  border:1px solid #d8e0e8;
  border-radius:24px;
  background:#fff;
  display:flex;
  padding:4px;
  position:relative;
}
.category-filter .autocomplete-wrap{
  flex:1;
}
.category-filter input{
  width:100%;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:0 13px;
  font-size:14px;
}
.category-filter button{
  border:0;
  border-radius:20px;
  background:var(--orange);
  color:#fff;
  padding:0 18px;
  font-size:13px;
  font-weight:900;
}

.clean-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.clean-category-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe6ed;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 22px rgba(11,31,51,.04);
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.clean-category-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 35px rgba(11,31,51,.10);
  border-color:#ffc08a;
}
.clean-category-art{
  height:205px;
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f2f5f8,#fff7ee);
  overflow:hidden;
}
.clean-category-art img{
  width:92%;
  height:190px;
  object-fit:contain;
}
.category-count{
  position:absolute;
  right:12px;
  top:12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid #e1e6eb;
  color:#41566c;
  font-size:11px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(12,32,52,.06);
}
.clean-category-copy{
  padding:20px;
}
.clean-category-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.clean-category-title h3{
  margin:0;
  font-size:21px;
  line-height:1.25;
}
.clean-category-title span{
  color:var(--orange);
  font-size:25px;
  transition:transform .15s;
}
.clean-category-card:hover .clean-category-title span{
  transform:translateX(4px);
}
.clean-category-copy p{
  min-height:68px;
  margin:10px 0 15px;
  color:#66778a;
  font-size:14px;
  line-height:1.6;
}
.clean-category-copy>strong{
  display:block;
  padding-top:13px;
  border-top:1px solid #edf0f3;
  color:var(--orange);
  font-size:13px;
}

/* Category autocomplete should overlay cleanly. */
.category-filter .autocomplete-menu{
  left:0;
  width:100%;
  top:calc(100% + 8px);
  z-index:9999;
}

/* ---------- Mobile ---------- */
@media(max-width:960px){
  .clean-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .categories-hero-inner{
    min-height:240px;
  }
}

@media(max-width:760px){
  .container{
    width:min(100% - 26px,1180px);
  }
  .categories-hero-inner{
    display:block;
    min-height:0;
    padding-top:44px;
    padding-bottom:44px;
  }
  .categories-hero h1{
    font-size:40px;
  }
  .categories-hero p{
    font-size:16px;
  }
  .categories-summary{
    display:none;
  }
  .categories-intro-row{
    display:block;
  }
  .category-filter{
    width:100%;
    margin-top:20px;
  }
  .clean-category-grid{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .clean-category-art{
    height:155px;
  }
  .clean-category-art img{
    height:148px;
  }
  .clean-category-copy{
    padding:15px;
  }
  .clean-category-title h3{
    font-size:18px;
  }
  .clean-category-copy p{
    min-height:0;
    font-size:13px;
  }
  .popular-line{
    font-size:12px!important;
  }
}

@media(max-width:500px){
  .clean-category-grid{
    grid-template-columns:1fr;
  }
  .clean-category-art{
    height:190px;
  }
  .clean-category-art img{
    height:180px;
  }
  .clean-category-title h3{
    font-size:20px;
  }
  .clean-category-copy p{
    font-size:14px;
  }
}


/* ======================================================
   V11 — MOBILE HARD RESET + REAL HERO IMAGE SUPPORT
   ====================================================== */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

.site-head,
main,
.footer,
.hero-dark,
.home-section,
.why-section,
.dark-best{
  max-width:100%;
}

.admin-help{
  margin:-3px 0 14px;
  color:#69798d;
  font-size:13px;
  line-height:1.55;
}

.hero-settings-block{
  border-top:1px solid var(--line);
  margin-top:8px;
  padding-top:18px;
}

.hero-settings-block h2{
  margin:0 0 8px;
}

.hero-item{
  object-fit:contain;
  object-position:center;
}

.mobile-bottom a.mobile-active{
  color:var(--orange);
}

@media(max-width:760px){

  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }

  .shell,
  .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:14px!important;
    margin-right:14px!important;
  }

  /* Mobile header. */
  .top-head,
  .top-head-inner{
    height:76px!important;
  }

  .top-head-inner{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .brand-logo{
    width:auto!important;
    max-width:calc(100% - 62px)!important;
    min-width:0!important;
  }

  .brand-logo img{
    width:min(205px,100%)!important;
    height:58px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .mobile-menu-button{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#087fc4!important;
    font-size:30px!important;
    line-height:1!important;
  }

  .head-search,
  .nav-band{
    display:none!important;
  }

  .mobile-menu{
    top:76px!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Critical hard reset: never retain desktop hero grid on mobile. */
  .hero-dark{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 28px!important;
    border-radius:0 0 30px 30px!important;
    overflow:visible!important;
  }

  .hero-dark-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:38px 18px 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:22px!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
  }

  .hero-left{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .hero-left h1{
    width:100%!important;
    max-width:none!important;
    margin:0 0 16px!important;
    font-size:clamp(38px,10vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  .hero-left>p{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 20px!important;
    font-size:16px!important;
    line-height:1.5!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  .hero-features{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 14px!important;
    margin:0 0 20px!important;
  }

  .hero-features>div{
    min-width:0!important;
    gap:8px!important;
  }

  .hero-features i{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }

  .hero-features strong{
    font-size:13px!important;
  }

  .hero-features small{
    font-size:11px!important;
    line-height:1.25!important;
  }

  .hero-search-large{
    width:100%!important;
    max-width:100%!important;
    height:50px!important;
    margin:0!important;
  }

.hero-search-large .autocomplete-input{
    min-width:0!important;
    font-size:15px!important;
  }

  .hero-search-large button{
    padding-left:21px!important;
    padding-right:21px!important;
    font-size:14px!important;
  }

  .popular-line{
    width:100%!important;
    max-width:100%!important;
    margin:10px 0 0!important;
    font-size:12px!important;
    line-height:1.5!important;
  }

  /* Product-photo row beneath hero copy. */
  .hero-right{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:255px!important;
    position:relative!important;
    overflow:hidden!important;
    z-index:1!important;
    margin:0!important;
  }

  .hero-glow{
    width:235px!important;
    height:235px!important;
    right:4%!important;
    top:8px!important;
  }

  .hero-item{
    max-width:none!important;
    object-fit:contain!important;
  }

  .hero-item.washer{
    width:145px!important;
    height:190px!important;
    left:3%!important;
    right:auto!important;
    top:46px!important;
  }

  .hero-item.air{
    width:125px!important;
    height:175px!important;
    right:2%!important;
    left:auto!important;
    top:14px!important;
  }

  .hero-item.mower{
    width:205px!important;
    height:150px!important;
    right:17%!important;
    left:auto!important;
    bottom:-20px!important;
  }

  /* Popular Categories no longer gets covered by hero art. */
  .home-section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:42px 14px 36px!important;
    isolation:auto!important;
  }

  .section-title-row{
    align-items:flex-end!important;
    gap:12px!important;
  }

  .section-title-row h2{
    font-size:28px!important;
  }

  .section-title-row a{
    font-size:12px!important;
    text-align:right!important;
  }

  .category-photo-grid{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .category-photo-card{
    min-width:0!important;
  }

  .category-photo{
    height:145px!important;
  }

  .category-photo img{
    width:100%!important;
    max-width:100%!important;
    height:138px!important;
    object-fit:contain!important;
  }

  .category-photo-card strong{
    font-size:14px!important;
    line-height:1.3!important;
  }

  .dark-best{
    width:100%!important;
    max-width:100%!important;
    margin:18px 0 0!important;
    border-radius:28px 28px 0 0!important;
  }

  .dark-best .shell{
    width:calc(100% - 28px)!important;
  }

  .dark-best-grid{
    width:100%!important;
    grid-template-columns:1fr!important;
  }

  .dark-best-card{
    width:100%!important;
    min-width:0!important;
  }

  /* Compact mobile footer: brand full width, links in two columns. */
  .footer{
    width:100%!important;
    max-width:100%!important;
    padding:34px 0 calc(30px + env(safe-area-inset-bottom))!important;
  }

  .footer .shell{
    width:calc(100% - 32px)!important;
    margin-left:16px!important;
    margin-right:16px!important;
  }

  .footer-grid{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 20px!important;
  }

  .footer-brand{
    grid-column:1/-1!important;
  }

  .footer-brand img{
    width:185px!important;
    height:60px!important;
  }

  .footer-brand p{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  .footer strong{
    font-size:15px!important;
  }

  .footer a{
    font-size:14px!important;
    line-height:1.5!important;
    margin:9px 0!important;
  }

  .footer-bottom{
    width:100%!important;
    font-size:12px!important;
    line-height:1.55!important;
  }

  /* Readable fixed navigation for iPhone/Android. */
  .mobile-bottom{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:10000!important;
    width:100%!important;
    max-width:100%!important;
    height:calc(72px + env(safe-area-inset-bottom))!important;
    padding:5px 6px env(safe-area-inset-bottom)!important;
    background:#0c1d2e!important;
    border-top:1px solid #31475c!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    box-shadow:0 -7px 22px rgba(0,0,0,.12)!important;
  }

  .mobile-bottom a{
    min-width:0!important;
    color:#eaf0f6!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    padding:4px 2px!important;
    line-height:1!important;
  }

  .mobile-bottom a.mobile-active{
    color:var(--orange)!important;
  }

  .mobile-bottom span{
    display:block!important;
    font-size:23px!important;
    line-height:1!important;
  }

  .mobile-bottom small{
    display:block!important;
    color:inherit!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  .hero-search-large .autocomplete-menu{
    left:0!important;
    width:100%!important;
    max-width:100%!important;
  }
}

@media(max-width:430px){

  .hero-dark-inner{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .hero-left h1{
    font-size:38px!important;
  }

  .hero-features{
    gap:10px!important;
  }

  .hero-item.washer{
    width:132px!important;
    left:0!important;
  }

  .hero-item.air{
    width:112px!important;
    right:0!important;
  }

  .hero-item.mower{
    width:185px!important;
    right:12%!important;
  }

  .home-section{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .category-photo-grid{
    gap:10px!important;
  }

  .category-photo{
    height:128px!important;
  }

  .category-photo img{
    height:122px!important;
  }

  .category-photo-card strong{
    font-size:13px!important;
  }

  /* Keep footer two-column even on narrow iPhones. */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .footer-brand{
    grid-column:1/-1!important;
  }
}


/* ======================================================
   V12 — MOBILE HEADER / HERO REFINEMENT
   ====================================================== */

.mobile-hero-break{display:none}

.hero-item{
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.28));
}

@media(max-width:760px){

  .site-head{
    position:sticky!important;
    top:0!important;
    z-index:12000!important;
    width:100%!important;
    background:#fff!important;
    box-shadow:0 4px 16px rgba(9,28,47,.08)!important;
  }

  .top-head,.top-head-inner{height:70px!important}

  .top-head-inner{
    padding-left:14px!important;
    padding-right:12px!important;
  }

  .brand-logo img{
    width:190px!important;
    height:54px!important;
  }

  .mobile-menu-button{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    font-size:28px!important;
  }

  .hero-dark{
    padding-bottom:20px!important;
    border-radius:0 0 28px 28px!important;
  }

  .hero-dark-inner{
    padding:26px 16px 0!important;
    gap:14px!important;
  }

  .mobile-hero-break{display:block!important}

  .hero-left h1{
    font-size:clamp(36px,9.7vw,44px)!important;
    line-height:.98!important;
    margin-bottom:14px!important;
  }

  .hero-left>p{
    font-size:16px!important;
    line-height:1.42!important;
    margin-bottom:16px!important;
  }

  .hero-features{
    grid-template-columns:1fr 1fr!important;
    gap:10px 12px!important;
    margin-bottom:16px!important;
  }

  .hero-features i{
    width:35px!important;
    height:35px!important;
    flex-basis:35px!important;
    font-size:15px!important;
  }

  .hero-features strong{
    font-size:12px!important;
    line-height:1.15!important;
  }

  .hero-features small{
    font-size:10.5px!important;
    line-height:1.15!important;
    margin-top:2px!important;
  }

  .hero-search-large{height:48px!important}

  .hero-search-large .autocomplete-input{
    font-size:14px!important;
    padding-left:13px!important;
  }

  .hero-search-large button{
    font-size:14px!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .popular-line{
    margin-top:8px!important;
    gap:5px 7px!important;
    font-size:11.5px!important;
  }

  .hero-right{
    height:205px!important;
    margin-top:0!important;
    overflow:hidden!important;
  }

  .hero-glow{
    width:190px!important;
    height:190px!important;
    right:4%!important;
    top:6px!important;
  }

  .hero-item.washer{
    width:118px!important;
    height:170px!important;
    left:1%!important;
    top:28px!important;
  }

  .hero-item.air{
    width:108px!important;
    height:148px!important;
    right:1%!important;
    top:5px!important;
  }

  .hero-item.mower{
    width:172px!important;
    height:135px!important;
    right:20%!important;
    bottom:-12px!important;
  }

  .home-section{padding-top:34px!important}

  .mobile-bottom{z-index:11000!important}
}

@media(max-width:430px){

  .brand-logo img{width:180px!important}

  .hero-dark-inner{
    padding-left:13px!important;
    padding-right:13px!important;
  }

  .hero-left h1{font-size:37px!important}
  .hero-left>p{font-size:15px!important}

  .hero-features{gap:9px 8px!important}
  .hero-features strong{font-size:11.5px!important}
  .hero-features small{font-size:10px!important}

  .hero-right{height:190px!important}

  .hero-item.washer{
    width:108px!important;
    height:156px!important;
  }

  .hero-item.air{
    width:98px!important;
    height:135px!important;
  }

  .hero-item.mower{
    width:155px!important;
    height:122px!important;
    right:18%!important;
  }
}


/* ======================================================
   V13 — SIMPLIFIED MOBILE HERO + UNBRANDED DESKTOP HERO
   ====================================================== */

@media(max-width:760px){

  /*
    Mobile hero is text-first.
    Remove product collage completely on phones to stop the header
    feeling crowded and visually messy.
  */
  .hero-right{
    display:none!important;
  }

  .hero-dark{
    padding-bottom:22px!important;
    border-radius:0 0 26px 26px!important;
  }

  .hero-dark-inner{
    padding:24px 14px 0!important;
    gap:12px!important;
  }

  .hero-left h1{
    font-size:clamp(34px,9.2vw,42px)!important;
    line-height:1!important;
    margin-bottom:12px!important;
  }

  .hero-left>p{
    font-size:15px!important;
    line-height:1.42!important;
    margin-bottom:14px!important;
    max-width:none!important;
  }

  .hero-features{
    gap:10px!important;
    margin-bottom:14px!important;
  }

  .hero-features i{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .hero-search-large{
    height:48px!important;
  }

  .popular-line{
    margin-top:8px!important;
    margin-bottom:0!important;
    font-size:11.5px!important;
    line-height:1.45!important;
  }

  /* The next section should tuck neatly below the hero. */
  .home-section{
    padding-top:28px!important;
  }
}

@media(max-width:430px){
  .hero-dark-inner{
    padding-left:13px!important;
    padding-right:13px!important;
  }

  .hero-left h1{
    font-size:35px!important;
  }

  .hero-left>p{
    font-size:14.5px!important;
  }
}


/* ======================================================
   V14 — IOS SEARCH STABILITY + REMOVE HERO CIRCLE
   ====================================================== */

/* Remove the decorative circle behind the desktop hero products. */
.hero-glow{
  display:none!important;
}

/* Prevent iOS Safari from enlarging text / zooming page unexpectedly. */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Mobile search/input controls must be at least 16px on iPhone Safari. */
@media(max-width:760px){

  input,
  textarea,
  select,
  .autocomplete-input,
  .hero-search-large .autocomplete-input,
  .category-filter input,
  .search-page-form input{
    font-size:16px!important;
  }

  /*
    Keep the autocomplete panel anchored to the search bar and fully inside
    the phone width. This avoids the page widening when the keyboard opens.
  */
  .hero-search-large{
    position:relative!important;
    overflow:visible!important;
  }

  .hero-search-large .autocomplete-wrap{
    position:relative!important;
    min-width:0!important;
    width:100%!important;
  }

  .hero-search-large .autocomplete-menu{
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 8px)!important;
    width:100%!important;
    max-width:100%!important;
    max-height:min(330px,45dvh)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:14px!important;
    z-index:15000!important;
    -webkit-overflow-scrolling:touch;
  }

  .autocomplete-item{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:52px minmax(0,1fr) 18px!important;
    padding:10px 12px!important;
  }

  .autocomplete-type{
    display:none!important;
  }

  .autocomplete-copy{
    min-width:0!important;
  }

  .autocomplete-copy strong,
  .autocomplete-copy small{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /*
    When the keyboard is open, avoid horizontal page movement caused by
    transformed/oversized children.
  */
  body,
  main,
  .hero-dark,
  .hero-dark-inner,
  .hero-left,
  .home-section{
    min-width:0!important;
    max-width:100%!important;
  }

  body{
    overflow-x:hidden!important;
  }
}

/* Narrow iPhones */
@media(max-width:430px){
  .hero-search-large .autocomplete-menu{
    max-height:min(300px,42dvh)!important;
  }

  .autocomplete-item{
    grid-template-columns:48px minmax(0,1fr) 16px!important;
  }

  .autocomplete-thumb{
    width:48px!important;
    height:44px!important;
  }
}


/* =========================================================
   V15 — PRE-CREATORS API QUICK IMPORTER
   ========================================================= */
.admin-actions{display:flex;gap:10px;align-items:center}.importer-primary{background:linear-gradient(135deg,#ff8b1a,var(--orange))!important}.admin-subtitle{max-width:820px;margin:7px 0 0;color:#68798c;font-size:14px;line-height:1.55}.importer-errors,.importer-warning{border-radius:13px;padding:15px 17px;margin-bottom:18px;font-size:14px}.importer-errors{background:#fff1f1;border:1px solid #f0caca;color:#8d2525}.importer-errors ul{margin:7px 0 0}.importer-warning{background:#fff8e9;border:1px solid #efd7a8;color:#674713}.importer-warning a{color:var(--orange);font-weight:900}.importer-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.importer-main{min-width:0}.importer-step{padding:24px!important}.step-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.step-title>span{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-weight:900}.step-title h2{margin:0 0 3px;font-size:20px}.step-title p{margin:0;color:#68798c;font-size:13px;line-height:1.5}.importer-form label small{color:#8290a0;font-weight:500}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px}.metric-grid label{border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:12px;font-size:13px}.metric-grid label>span{float:right;color:var(--orange);font-size:11px}.metric-grid input{font-size:22px!important;font-weight:900;text-align:center;background:#fff}.importer-create{width:100%;margin-top:8px}.importer-footnote{font-size:12px;color:#778699;text-align:center}.importer-preview{min-width:0}.preview-sticky{position:sticky;top:28px;padding:22px!important}.preview-label{font-size:10px;letter-spacing:.14em;color:var(--orange);font-weight:900;text-align:center}.preview-score{display:flex;justify-content:center;align-items:baseline;margin:12px 0 2px;color:var(--green)}.preview-score strong{font-size:58px;line-height:1}.preview-score span{font-size:18px}.preview-best-for{text-align:center;font-weight:900;font-size:16px;margin-bottom:18px}.preview-sticky dl{margin:0}.preview-sticky dl>div{display:grid;grid-template-columns:105px 1fr;gap:8px;border-top:1px solid var(--line);padding:9px 0}.preview-sticky dt{font-size:11px;color:#7b8897}.preview-sticky dd{font-size:12px;font-weight:800;margin:0;word-break:break-word}.preview-seo,.preview-affiliate{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:11px;background:#f8fafc}.preview-seo small,.preview-affiliate small{display:block;color:#8491a0;font-size:9px;font-weight:900;letter-spacing:.08em}.preview-seo strong{font-size:12px;line-height:1.4;display:block;margin-top:3px}.preview-affiliate code{display:block;margin-top:5px;font-size:10px;line-height:1.35;word-break:break-all;background:transparent;padding:0}.preview-note{margin-top:15px;background:#eef7ff;border:1px solid #d4e7f7;border-radius:10px;padding:12px}.preview-note strong{font-size:12px}.preview-note p{font-size:11px;color:#5d7185;line-height:1.5;margin:5px 0 0}.admin-sidebar nav a[href="/admin/import-product"]{color:#ff9b42;font-weight:900}
@media(max-width:1050px){.importer-layout{grid-template-columns:1fr}.preview-sticky{position:static}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admin-main{padding:16px!important}.importer-step{padding:17px!important}.metric-grid{grid-template-columns:1fr}.admin-head.importer-head{display:block}.admin-head.importer-head>a{margin-top:10px}.form-grid{grid-template-columns:1fr!important}.form-grid .full{grid-column:auto!important}.admin-actions{flex-wrap:wrap}.preview-score strong{font-size:48px}}


/* ======================================================
   V16 — AI ONE-CLICK IMPORTER
   ====================================================== */

.ai-oneclick-head .admin-subtitle{
  max-width:820px;
}

.ai-setup-warning{
  display:flex;
  gap:14px;
  align-items:center;
  background:#fff7e8;
  border:1px solid #f5d39e;
  border-radius:14px;
  padding:16px 18px;
  margin-bottom:18px;
}
.ai-setup-icon{
  width:42px;height:42px;display:grid;place-items:center;
  flex:0 0 42px;border-radius:50%;background:var(--orange);color:#fff;
  font-size:21px;font-weight:900;
}
.ai-setup-warning p{margin:3px 0 0;color:#665747;font-size:13px}
.ai-setup-warning a{color:var(--orange);font-weight:900}

.ai-import-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:20px;
  align-items:start;
}

.ai-oneclick-form{
  padding:30px!important;
}
.ai-oneclick-badge{
  display:inline-block;
  padding:6px 9px;
  border-radius:999px;
  background:#fff0df;
  color:#b95000;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.ai-oneclick-form h2{
  margin:12px 0 5px;
  font-size:30px;
  letter-spacing:-.03em;
}
.ai-oneclick-lead{
  color:#67778a;
  margin:0 0 22px;
}
.ai-url-label input{
  font-size:16px!important;
  padding:15px!important;
  border:2px solid #d8e1ea!important;
}
.ai-url-label input:focus{
  border-color:var(--orange)!important;
  box-shadow:0 0 0 4px #fff0df;
  outline:0;
}
.ai-import-what{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:22px 0;
}
.ai-import-what>div{
  display:flex;
  gap:9px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  background:#f8fafc;
}
.ai-import-what>div>span{
  width:27px;height:27px;border-radius:50%;display:grid;place-items:center;
  flex:0 0 27px;background:var(--orange);color:#fff;font-weight:900;font-size:11px;
}
.ai-import-what p{margin:0}
.ai-import-what strong{display:block;font-size:12px}
.ai-import-what small{display:block;color:#6c7b8d;font-size:10px;line-height:1.4;margin-top:3px}

.ai-import-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ai-draft-btn{
  background:#102b48!important;
}
.ai-publish-btn{
  background:var(--orange)!important;
}
.ai-import-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.ai-import-footnote{
  margin:12px 0 0;
  font-size:11px;
  color:#758395;
  line-height:1.5;
}

.ai-safety-panel{
  position:sticky;
  top:25px;
}
.ai-safety-icon{
  width:43px;height:43px;border-radius:50%;display:grid;place-items:center;
  background:#e9f8ee;color:#168345;font-size:20px;font-weight:900;
}
.ai-safety-panel h3{font-size:18px;margin:12px 0 7px}
.ai-safety-panel p{font-size:12px;color:#607084;line-height:1.55}
.ai-safety-panel ul{list-style:none;padding:0;margin:14px 0}
.ai-safety-panel li{font-size:12px;margin:8px 0;color:#41614f}
.ai-safety-panel li:before{content:"✓ ";color:#168345;font-weight:900}
.ai-safety-panel>a{font-size:11px;color:var(--orange);font-weight:900}

.ai-key-status{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:11px;margin-bottom:13px;
}
.ai-key-status.configured{background:#eaf8ee;border:1px solid #c7e9d1}
.ai-key-status.missing{background:#fff3e7;border:1px solid #f3d0a5}
.ai-key-status>span{
  width:29px;height:29px;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-weight:900;
}
.ai-key-status.configured>span{background:#168345}
.ai-key-status.missing>span{background:var(--orange)}
.ai-key-status strong,.ai-key-status small{display:block}
.ai-key-status small{font-size:11px;color:#69788b;margin-top:2px}

.ai-research-sources ul{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 0;
}
.ai-research-sources li a{
  display:inline-block;padding:7px 9px;border:1px solid var(--line);border-radius:8px;
  font-size:11px;color:#3e5871;background:#f8fafc;
}

@media(max-width:900px){
  .ai-import-shell{grid-template-columns:1fr}
  .ai-safety-panel{position:static}
}

@media(max-width:650px){
  .ai-oneclick-form{padding:20px!important}
  .ai-import-what{grid-template-columns:1fr}
  .ai-import-actions{display:grid;grid-template-columns:1fr}
  .ai-import-actions button{width:100%}
}


/* ======================================================
   V17 — MANUFACTURER IMAGE WORKFLOW
   ====================================================== */

.manufacturer-image-box{
  margin:18px 0 4px;
  padding:16px;
  border:1px solid #d9e4ee;
  border-radius:14px;
  background:#f8fbfd;
}
.manufacturer-image-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.manufacturer-image-title strong,
.manufacturer-image-title small{display:block}
.manufacturer-image-title small{
  margin-top:3px;
  color:#738397;
  font-size:11px;
}
.manufacturer-image-title>span{
  padding:5px 8px;
  border-radius:999px;
  background:#eaf8ee;
  color:#168345;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.manufacturer-image-box input[type="file"]{
  background:#fff;
}
.image-or{
  display:flex;
  align-items:center;
  gap:10px;
  color:#8b98a8;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:8px 0;
}
.image-or:before,.image-or:after{
  content:"";
  height:1px;
  flex:1;
  background:#dfe7ee;
}

.manufacturer-editor-image{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:18px;
  align-items:start;
  padding:14px;
  border:1px solid #dce5ed;
  border-radius:12px;
  background:#fafcfe;
}
.manufacturer-image-preview{
  min-height:135px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #e1e7ed;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.manufacturer-image-preview img{
  max-width:135px;
  max-height:110px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.manufacturer-image-preview small{
  color:#8290a0;
  margin-top:7px;
  font-size:10px;
}

@media(max-width:680px){
  .manufacturer-editor-image{grid-template-columns:1fr}
  .manufacturer-image-preview{min-height:110px}
}


/* ======================================================
   V18 — SMART CATEGORY FILTERS + AI CATEGORY ART
   ====================================================== */

.filter-tabs button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.filter-tabs button:hover{
  border-color:#ffb16f;
  transform:translateY(-1px);
}
.filter-tab-count{
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#eef3f7;
  color:#627387;
  font-size:10px;
  font-weight:900;
}
.filter-tabs button.active .filter-tab-count{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.category-filter-summary{
  margin:0 0 10px;
  color:#728196;
  font-size:12px;
}
.category-filter-summary strong{color:#10243b}
.rank-row[hidden]{display:none!important}

/* Feed-first category pages are comparison lists, not product rankings. */
.price-comparison-list .rank-row{
  grid-template-columns:175px minmax(0,1fr) 150px;
}
.price-comparison-list .rank-num{display:none}

@media(max-width:900px){
  .price-comparison-list .rank-row{grid-template-columns:150px minmax(0,1fr) 140px}
}
@media(max-width:680px){
  .price-comparison-list .rank-row{grid-template-columns:145px 1fr}
  .price-comparison-list .rank-actions{grid-column:1/-1}
}
@media(max-width:560px){
  .price-comparison-list .rank-row{grid-template-columns:1fr}
  .price-comparison-list .rank-art{grid-column:1}
}
.category-filter-empty{
  border:1px dashed #ccd8e3;
  border-radius:12px;
  background:#f8fafc;
  padding:28px;
  text-align:center;
  color:#647487;
}
.category-filter-empty strong{
  display:block;
  color:#13283f;
  font-size:17px;
}
.category-filter-empty p{
  margin:6px 0 0;
  font-size:12px;
}

/* Category artwork is generic visual merchandising, never an exact named product. */
.category-photo,
.clean-category-art{
  background:
    radial-gradient(circle at 72% 24%,rgba(255,136,0,.11),transparent 27%),
    linear-gradient(145deg,#f8fafc,#edf2f6);
}
.category-photo img,
.clean-category-art img{
  object-fit:contain;
  filter:drop-shadow(0 11px 15px rgba(16,36,59,.14));
}

@media(max-width:760px){
  .filter-tabs{
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tabs button{
    flex:0 0 auto;
    min-height:43px;
  }
  .category-filter-summary{margin-top:4px}
}


/* ======================================================
   V19 — RETAILER / MANUFACTURER CONFLICT CHECKER
   ====================================================== */

.retailer-claims-details{
  margin:12px 0 16px;
  border:1px solid #dbe4ec;
  border-radius:12px;
  background:#fafcfd;
}
.retailer-claims-details summary{
  cursor:pointer;
  padding:12px 14px;
  color:#314c67;
  font-size:12px;
  font-weight:900;
}
.retailer-claims-inside{
  padding:0 14px 14px;
}
.retailer-claims-inside textarea{
  width:100%;
  font-size:13px;
}
.retailer-claims-inside small{
  display:block;
  margin-top:6px;
  color:#718195;
  line-height:1.45;
}

.ai-recheck-card{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr);
  gap:26px;
  align-items:start;
  margin-bottom:18px;
  border-left:4px solid var(--orange);
}
.ai-recheck-copy h2{
  margin:5px 0 8px;
}
.ai-recheck-copy p{
  margin:0;
  color:#637487;
  font-size:12px;
  line-height:1.6;
}
.ai-recheck-form textarea{
  min-height:112px;
}
.ai-recheck-button{
  margin-top:8px;
  background:#102b48!important;
}

.claim-conflict-panel{
  margin-bottom:18px;
}
.claim-conflict-heading{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:14px;
}
.claim-conflict-heading h2{
  margin:4px 0 0;
}
.claim-conflict-heading>span{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  background:#eaf8ee;
  color:#168345;
  font-size:10px;
  font-weight:900;
}
.claim-conflict-item{
  padding:14px;
  border:1px solid #dce5ed;
  border-left:4px solid #f5a623;
  border-radius:10px;
  background:#fbfcfd;
  margin-top:10px;
}
.claim-conflict-item.severity-high{
  border-left-color:#d73b3e;
  background:#fffafa;
}
.claim-conflict-item.severity-low{
  border-left-color:#6c93b6;
}
.claim-conflict-feature{
  font-size:14px;
  font-weight:900;
  color:#12283f;
  margin-bottom:9px;
}
.claim-conflict-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.claim-conflict-grid>div{
  padding:10px;
  border-radius:8px;
  background:#fff;
  border:1px solid #e2e8ee;
}
.claim-conflict-grid small{
  display:block;
  color:#7b8998;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.claim-conflict-grid p{
  margin:4px 0 0;
  color:#3e5368;
  font-size:12px;
  line-height:1.45;
}
.claim-public-note{
  margin:10px 0;
  padding:9px 10px;
  border-radius:8px;
  background:#fff5e9;
  color:#68451f;
  font-size:11px;
}
.claim-conflict-item>a{
  font-size:10px;
  font-weight:900;
  color:var(--orange);
}

.spec-conflict-public-note{
  margin:0 0 20px;
  padding:14px 16px;
  border:1px solid #f2d19f;
  border-left:4px solid var(--orange);
  border-radius:10px;
  background:#fff8ef;
}
.spec-conflict-public-note strong{
  display:block;
  color:#9a4d00;
  margin-bottom:4px;
}
.spec-conflict-public-note p{
  margin:0!important;
  color:#5c4b39;
}

@media(max-width:800px){
  .ai-recheck-card{grid-template-columns:1fr}
  .claim-conflict-grid{grid-template-columns:1fr}
  .claim-conflict-heading{align-items:flex-start}
}


/* ======================================================
   V20 — AI VERIFIED FILTER DATA + CATEGORY CHECKLISTS
   ====================================================== */

.buyer-checklist-intro{
  margin:-3px 0 12px!important;
  color:#708095!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.buyer-checklist-card ul{
  margin-top:0!important;
}
.buyer-checklist-card li{
  line-height:1.45!important;
  margin:9px 0!important;
}

.comparison-profile-card{
  margin-bottom:18px;
}
.comparison-profile-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.comparison-profile-head h2{
  margin:4px 0 0;
}
.comparison-profile-head>span{
  padding:6px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.comparison-profile-head>span.verified{
  background:#e8f8ed;
  color:#168345;
}
.comparison-profile-head>span.fallback{
  background:#fff4e8;
  color:#a45505;
}
.comparison-profile-chips{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:13px;
}
.comparison-profile-chips span{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:5px 9px;
  border-radius:8px;
  background:#f2f6f9;
  border:1px solid #dbe4ec;
  color:#29445f;
  font-size:11px;
  font-weight:800;
}
.comparison-note{
  margin:11px 0 0;
  color:#758497;
  font-size:10.5px;
  line-height:1.55;
}

/*
 * V20 tabs are meaningful filters:
 * if every product shares a trait, the server does not render that tab.
 */
.filter-tabs button[data-category-filter="best-overall"]{
  border-color:#d9e2eb;
}

@media(max-width:760px){
  .buyer-checklist-card{
    margin-top:4px;
  }
}


/* ======================================================
   V20.1 — MANUFACTURER-LED LAWN SIZE FILTERS
   ====================================================== */

.manufacturer-filter-note{
  display:inline-block;
  margin-left:7px;
  color:#7a899a;
  font-size:10.5px;
}


/* ======================================================
   V20.3 — BESTBUYS SCORE ONLY / REMOVE STAR RATINGS
   ====================================================== */

.bestbuys-assessment{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:3px 0 4px;
  color:#66778b;
  font-size:12px;
  font-weight:700;
}
.bestbuys-assessment span{
  width:18px;
  height:18px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:#e9f7ee;
  color:#148446;
  font-size:10px;
  font-weight:900;
}

.score-explainer{
  text-align:center;
  margin:9px 0 11px;
  color:#66778b;
  font-size:12px;
  font-weight:800;
}

.trust-score-label{
  display:inline-block!important;
  margin:8px 0!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#eaf8ee!important;
  color:#168345!important;
  font-size:11px!important;
  font-weight:900!important;
}

/* Legacy star elements are hidden defensively in case an older cached view remains. */
.stars{
  display:none!important;
}


/* ======================================================
   V21 — PRIVACY POLICY
   ====================================================== */

.privacy-hero{
  padding-bottom:46px;
}
.privacy-dates{
  margin:8px 0 0;
  color:#c9d4df;
  font-size:13px;
  font-weight:700;
}
.privacy-dates span{
  margin:0 6px;
  color:#ff8a1f;
}

.privacy-page{
  max-width:1040px;
}
.privacy-card{
  background:#fff;
  border:1px solid #e2e8ee;
  border-radius:18px;
  box-shadow:0 16px 42px rgba(17,37,58,.07);
  padding:clamp(24px,4.5vw,54px);
  color:#3b4d60;
  font-size:15px;
  line-height:1.75;
}
.privacy-card h2{
  margin:38px 0 12px;
  color:#102b48;
  font-size:23px;
  letter-spacing:-.025em;
  line-height:1.2;
}
.privacy-card h2:first-of-type{
  margin-top:32px;
}
.privacy-card p{
  margin:0 0 14px;
}
.privacy-card ul{
  margin:10px 0 18px;
  padding-left:23px;
}
.privacy-card li{
  margin:8px 0;
  padding-left:3px;
}
.privacy-card a{
  color:#d96500;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#ffc08a;
  text-underline-offset:2px;
}
.privacy-card a:hover{
  color:#a84c00;
}

.privacy-summary{
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:18px 20px;
  margin-bottom:28px;
  border:1px solid #cfe8d7;
  border-radius:14px;
  background:#f0faf3;
}
.privacy-summary-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#168345;
  color:#fff;
  font-weight:900;
}
.privacy-summary strong{
  display:block;
  color:#173f27;
  font-size:16px;
}
.privacy-summary p{
  margin:4px 0 0;
  color:#456151;
  font-size:13px;
  line-height:1.6;
}

.privacy-controller,
.privacy-contact-box{
  border-left:4px solid #ff7a00;
  border-radius:10px;
  background:#f8fafc;
  padding:17px 19px;
  margin:14px 0 18px;
}
.privacy-controller>strong,
.privacy-contact-box>strong{
  color:#102b48;
  font-size:15px;
}
.privacy-controller p,
.privacy-contact-box p{
  margin:7px 0 0;
}

.privacy-table-wrap{
  overflow-x:auto;
  margin:16px 0 20px;
  border:1px solid #dfe6ed;
  border-radius:12px;
}
.privacy-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  background:#fff;
}
.privacy-table th,
.privacy-table td{
  padding:13px 15px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid #e6ebef;
  font-size:12.5px;
  line-height:1.55;
}
.privacy-table th{
  background:#102b48;
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.privacy-table tr:last-child td{
  border-bottom:0;
}
.privacy-table td:first-child{
  width:36%;
  color:#203a53;
  font-weight:800;
}

.privacy-right-object{
  margin:18px 0;
  padding:17px 19px;
  border:2px solid #ffb36f;
  border-radius:12px;
  background:#fff8f1;
}
.privacy-right-object strong{
  display:block;
  color:#a54900;
  font-size:16px;
}
.privacy-right-object p{
  margin:5px 0 0;
  color:#5b4c40;
}

.privacy-final{
  margin-top:34px!important;
  padding-top:20px;
  border-top:1px solid #e4e9ee;
  color:#657589;
  font-style:italic;
}

@media(max-width:700px){
  .privacy-card{
    border-radius:14px;
    padding:23px 17px;
    font-size:14px;
  }
  .privacy-card h2{
    margin-top:32px;
    font-size:20px;
  }
  .privacy-summary{
    padding:15px;
  }
  .privacy-summary-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
  .privacy-controller,
  .privacy-contact-box,
  .privacy-right-object{
    padding:14px;
  }
}


/* ======================================================
   V21.2 — COOKIEBOT CMP + COOKIE DECLARATION
   ====================================================== */

.footer-cookie-settings{
  display:block;
  border:0;
  background:none;
  padding:0;
  margin:0;
  color:inherit;
  font:inherit;
  font-size:inherit;
  text-align:left;
  cursor:pointer;
}
.footer-cookie-settings:hover{
  color:var(--orange);
}

.cookie-summary .privacy-summary-icon{
  background:#ff7a00;
}

.cookie-settings-action{
  margin:16px 0 5px;
}
.cookie-settings-action .btn{
  border:0;
  cursor:pointer;
}

.cookie-declaration-shell{
  min-height:190px;
  margin:16px 0 22px;
  padding:18px;
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.cookie-noscript{
  margin:12px 0 20px;
  padding:13px 15px;
  border-radius:10px;
  background:#fff5e8;
  border:1px solid #f1d2a7;
  color:#6a4d2c;
  font-size:12px;
}

/* Allow Cookiebot's declaration to sit naturally inside the policy. */
#CookieDeclarationUserStatusPanel,
.CookieDeclaration{
  max-width:100%!important;
}


/* ======================================================
   V21.4 — ROBUST COOKIE POLICY
   ====================================================== */

.cookie-category-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 22px;
}
.cookie-category-card{
  padding:16px 17px;
  border:1px solid #e0e7ed;
  border-radius:12px;
  background:#f9fbfc;
}
.cookie-category-card:last-child:nth-child(odd){
  grid-column:1/-1;
}
.cookie-category-card strong{
  display:block;
  margin-bottom:5px;
  color:#102b48;
  font-size:14px;
}
.cookie-category-card p{
  margin:0!important;
  color:#5b6c7d;
  font-size:12.5px;
  line-height:1.6;
}

@media(max-width:700px){
  .cookie-category-grid{
    grid-template-columns:1fr;
  }
  .cookie-category-card:last-child:nth-child(odd){
    grid-column:auto;
  }
}


/* =========================================================
   V22 — TRUST, EDITORIAL & BUYING-GUIDE PAGES
   ========================================================= */

.trust-hero{
  position:relative;
  overflow:hidden;
  padding:54px 0 58px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 26%, rgba(255,122,0,.17), transparent 27%),
    linear-gradient(135deg,#101d2d 0%,#112d49 100%);
}
.trust-hero:after{
  content:"";
  position:absolute;
  right:-130px;
  bottom:-210px;
  width:430px;
  height:430px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
}
.trust-hero-inner{
  position:relative;
  z-index:1;
  max-width:930px;
}
.trust-hero h1{
  max-width:820px;
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(34px,5vw,58px);
  line-height:1.03;
  letter-spacing:-.045em;
}
.trust-hero p{
  max-width:800px;
  margin:0;
  color:#c9d5e0;
  font-size:16px;
  line-height:1.65;
}
.trust-date{
  font-size:13px!important;
  font-weight:700;
  color:#d5dee7!important;
}

.trust-page{
  max-width:1060px;
  padding-top:42px;
  padding-bottom:66px;
}
.trust-article{
  max-width:920px;
  margin:0 auto;
  color:#435568;
  font-size:15px;
  line-height:1.78;
}
.trust-article h2{
  margin:41px 0 12px;
  color:#102b48;
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.trust-article p{
  margin:0 0 14px;
}
.trust-article ul{
  margin:10px 0 18px;
  padding-left:22px;
}
.trust-article li{
  margin:8px 0;
}
.trust-article a{
  color:#cf6100;
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:#ffc18e;
  text-underline-offset:2px;
}
.trust-lead{
  margin-bottom:28px;
  padding:20px 22px;
  border:1px solid #d6e2ec;
  border-radius:14px;
  background:#f7fafc;
}
.trust-lead strong{
  display:block;
  margin-bottom:5px;
  color:#102b48;
  font-size:18px;
}
.trust-lead p{
  margin:0;
}
.trust-controller{
  margin:14px 0 20px;
  padding:17px 19px;
  border-left:4px solid #ff7a00;
  border-radius:9px;
  background:#f7f9fb;
}
.trust-controller>strong{
  color:#102b48;
  font-size:16px;
}
.trust-controller p{
  margin:6px 0 0;
}
.trust-callout{
  margin:22px 0;
  padding:19px 20px;
  border:1px solid #cfe5d5;
  border-radius:13px;
  background:#f0faf3;
}
.trust-callout strong{
  display:block;
  color:#145b33;
  font-size:17px;
}
.trust-callout p{
  margin:5px 0 0;
  color:#496455;
}
.trust-steps{
  display:grid;
  gap:11px;
  margin:18px 0 24px;
}
.trust-steps>div{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid #e0e6eb;
  border-radius:11px;
  background:#fff;
}
.trust-steps>div>span{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ff7a00;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.trust-steps p{
  margin:0!important;
}
.trust-steps strong{
  display:block;
  color:#17334d;
}
.trust-steps small{
  display:block;
  margin-top:2px;
  color:#6b7a8a;
  font-size:12.5px;
  line-height:1.55;
}
.principle-grid,
.category-method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:17px 0 24px;
}
.principle-grid>div,
.category-method-grid>div{
  padding:16px 17px;
  border:1px solid #dfe6ec;
  border-radius:12px;
  background:#fafcfd;
}
.principle-grid strong,
.category-method-grid strong{
  display:block;
  color:#102b48;
  font-size:14px;
}
.principle-grid p,
.category-method-grid p{
  margin:4px 0 0!important;
  color:#5c6c7b;
  font-size:12.5px;
  line-height:1.6;
}

.score-method-table{
  margin:18px 0 20px;
  border:1px solid #dbe3ea;
  border-radius:13px;
  overflow:hidden;
  background:#fff;
}
.score-method-table>div{
  display:grid;
  grid-template-columns:175px 80px 1fr;
  gap:14px;
  align-items:start;
  padding:13px 16px;
  border-bottom:1px solid #e8edf1;
}
.score-method-table>div:last-child{
  border-bottom:0;
}
.score-method-table .score-method-head{
  background:#102b48;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.score-method-table strong{
  color:#17344e;
}
.score-method-table b{
  color:#e36a00;
}
.score-method-table p{
  margin:0!important;
  color:#5e6e7d;
  font-size:12.5px;
  line-height:1.55;
}
.formula-box{
  margin:18px 0 24px;
  padding:17px 19px;
  border-radius:12px;
  background:#102b48;
  color:#dbe5ee;
}
.formula-box strong{
  color:#ff8a1f;
}
.formula-box p{
  margin:4px 0 0!important;
}
.methodology-links{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #e2e8ed;
}
.methodology-links a{
  display:inline-flex;
  align-items:center;
  min-height:43px;
  padding:10px 15px;
  border-radius:9px;
  background:#fff3e8;
  text-decoration:none!important;
  color:#bc5500;
}

.amazon-disclosure-box{
  margin-bottom:28px;
  padding:20px 22px;
  border:2px solid #ffad61;
  border-radius:14px;
  background:#fff7ef;
}
.amazon-disclosure-box span{
  display:block;
  margin-bottom:5px;
  color:#8c4b15;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.amazon-disclosure-box strong{
  color:#2b2b2b;
  font-size:19px;
}
.affiliate-quote{
  margin:14px 0 20px;
  padding:15px 17px;
  border-left:4px solid #ff7a00;
  background:#f8fafc;
  color:#17344e;
  font-weight:850;
  font-style:normal;
}

.guide-category-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin:17px 0 27px;
}
.guide-category-card{
  display:block;
  padding:18px;
  border:1px solid #dfe6ec;
  border-radius:13px;
  background:#fff;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:0 7px 20px rgba(17,45,73,.045);
  transition:.18s ease;
}
.guide-category-card:hover{
  transform:translateY(-2px);
  border-color:#ffc18e;
  box-shadow:0 12px 26px rgba(17,45,73,.08);
}
.guide-category-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:11px;
  background:#fff1e4;
  font-size:20px;
}
.guide-category-card strong{
  display:block;
  color:#102b48;
  font-size:15px;
}
.guide-category-card p{
  margin:5px 0 10px!important;
  color:#637383;
  font-size:12px;
  line-height:1.55;
}
.guide-category-card small{
  color:#d66300;
  font-weight:850;
}
.individual-buying-guide{
  margin-top:44px;
  padding-top:37px;
  border-top:1px solid #dfe6ec;
  scroll-margin-top:120px;
}
.individual-guide-head{
  display:flex;
  gap:15px;
  align-items:flex-start;
}
.individual-guide-head .guide-category-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  margin:0;
}
.individual-guide-head h2{
  margin:2px 0 7px!important;
}
.individual-guide-head p{
  max-width:760px;
}
.mini-kicker{
  display:block;
  color:#de6900;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.guide-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin:18px 0;
}
.guide-detail-grid>div{
  padding:15px 16px;
  border-radius:11px;
  background:#f7f9fb;
  border:1px solid #e0e6eb;
}
.guide-detail-grid strong{
  color:#17344e;
}
.guide-detail-grid p{
  margin:4px 0 0!important;
  color:#607080;
  font-size:12.5px;
  line-height:1.6;
}
.guide-checklist-inline{
  margin:18px 0;
  padding:16px 18px;
  border-radius:12px;
  background:#102b48;
  color:#e4ecf3;
}
.guide-checklist-inline>strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
}
.guide-checklist-inline ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 15px;
  margin:0!important;
  padding:0!important;
  list-style:none;
}
.guide-checklist-inline li{
  margin:0!important;
  color:#dce6ee;
  font-size:12px;
}
.guide-ranking-link{
  display:inline-flex;
  padding:11px 15px;
  border-radius:9px;
  background:#ff7a00;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:850!important;
}

.affiliate-action-wrap{
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:stretch;
}
.affiliate-link-label{
  display:block;
  color:#68798a!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.review-affiliate-label{
  margin-bottom:1px;
  text-align:center;
}
.amazon-center .affiliate-link-label + a{
  margin-top:0;
}

@media(max-width:820px){
  .guide-category-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .trust-hero{
    padding:37px 0 40px;
  }
  .trust-hero h1{
    font-size:36px;
  }
  .trust-page{
    padding-top:28px;
    padding-bottom:50px;
  }
  .trust-article{
    font-size:14px;
  }
  .trust-article h2{
    margin-top:34px;
    font-size:21px;
  }
  .principle-grid,
  .category-method-grid,
  .guide-detail-grid,
  .guide-category-cards{
    grid-template-columns:1fr;
  }
  .score-method-table{
    border:0;
    overflow:visible;
    background:none;
  }
  .score-method-table .score-method-head{
    display:none;
  }
  .score-method-table>div{
    grid-template-columns:1fr auto;
    gap:4px 10px;
    margin-bottom:9px;
    padding:14px;
    border:1px solid #dfe6ec!important;
    border-radius:10px;
    background:#fff;
  }
  .score-method-table>div p{
    grid-column:1/-1;
  }
  .guide-checklist-inline ul{
    grid-template-columns:1fr;
  }
  .individual-guide-head{
    gap:11px;
  }
}


/* =========================================================
   V22.1 — LEGAL PAGE HEADER + PROFESSIONAL CONTACT REFRESH
   ========================================================= */

/* Privacy & Cookie pages now share the V22 trust-page header language. */
.privacy-hero,
.cookie-policy-hero{
  padding-bottom:58px;
}
.privacy-hero .privacy-dates,
.cookie-policy-hero .privacy-dates{
  color:#d4dee7;
  font-size:13px;
  font-weight:700;
}
.privacy-hero .privacy-dates span,
.cookie-policy-hero .privacy-dates span{
  margin:0 6px;
  color:#ff8a1f;
}
.trust-page.privacy-page{
  max-width:1060px;
}
.trust-page.privacy-page .privacy-card{
  max-width:920px;
  margin:0 auto;
}

/* Contact */
.professional-contact-page{
  max-width:1120px;
}
.contact-professional-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:26px;
  align-items:start;
}
.contact-information-panel,
.contact-form-card{
  border:1px solid #dfe6ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 34px rgba(17,45,73,.055);
}
.contact-information-panel{
  padding:27px;
}
.contact-information-panel>h2,
.contact-form-heading h2{
  margin:4px 0 8px;
  color:#102b48;
  font-size:26px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.contact-information-panel>p,
.contact-form-heading p{
  margin:0;
  color:#637486;
  font-size:13.5px;
  line-height:1.65;
}
.contact-detail-list{
  display:grid;
  gap:11px;
  margin:23px 0;
}
.contact-detail-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:15px;
  border:1px solid #e3e9ee;
  border-radius:12px;
  background:#f9fbfc;
}
.contact-detail-icon{
  width:37px;
  height:37px;
  flex:0 0 37px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff0e2;
  color:#d76000;
  font-size:18px;
  font-weight:900;
}
.contact-detail-row small{
  display:block;
  margin-bottom:2px;
  color:#7a8997;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.contact-detail-row a,
.contact-detail-row strong{
  display:block;
  color:#17344e;
  font-size:13px;
  font-weight:850;
}
.contact-detail-row a{
  text-decoration:none;
}
.contact-detail-row p{
  margin:3px 0 0;
  color:#687888;
  font-size:12px;
  line-height:1.55;
}
.contact-help-card{
  margin-top:11px;
  padding:14px 15px;
  border-left:3px solid #ff7a00;
  border-radius:9px;
  background:#fff8f1;
}
.contact-help-card strong{
  display:block;
  color:#744019;
  font-size:12.5px;
}
.contact-help-card p{
  margin:4px 0 0;
  color:#725d4d;
  font-size:11.5px;
  line-height:1.55;
}
.contact-privacy-note{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin-top:18px;
  padding-top:17px;
  border-top:1px solid #e4e9ee;
}
.contact-privacy-note>span{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf8ef;
  color:#188247;
  font-size:10px;
  font-weight:900;
}
.contact-privacy-note p{
  margin:0;
  color:#687888;
  font-size:10.5px;
  line-height:1.55;
}
.contact-privacy-note a{
  color:#cf6100;
  font-weight:800;
}

.contact-form-card{
  padding:29px;
}
.contact-form-heading{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid #e5eaee;
}
.professional-contact-form{
  padding:0;
  border:0;
  border-radius:0;
}
.professional-contact-form label{
  color:#233f58;
  font-size:12px;
  font-weight:850;
}
.professional-contact-form label>span{
  display:block;
  margin-bottom:6px;
}
.professional-contact-form label b{
  color:#e56700;
}
.professional-contact-form input,
.professional-contact-form textarea{
  width:100%;
  margin:0 0 15px;
  padding:13px 14px;
  border:1px solid #ced8e1;
  border-radius:9px;
  background:#fbfcfd;
  color:#1e3448;
  font-family:inherit;
  font-size:15px;
  line-height:1.45;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.professional-contact-form textarea{
  min-height:180px;
  resize:vertical;
}
.professional-contact-form input:focus,
.professional-contact-form textarea:focus{
  border-color:#ff9a45;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,122,0,.11);
}
.professional-contact-form input::placeholder,
.professional-contact-form textarea::placeholder{
  color:#97a4b0;
}
.professional-contact-form .field-help{
  display:block;
  margin:-9px 0 18px;
  color:#87939f;
  font-size:10px;
  font-weight:600;
}
.contact-submit-row{
  display:flex;
  gap:14px;
  align-items:center;
  padding-top:4px;
}
.contact-submit-button{
  min-width:180px;
  min-height:45px;
  border:0;
  cursor:pointer;
  font-size:13px;
}
.contact-submit-button span{
  margin-left:5px;
}
.contact-submit-row>small{
  color:#7a8997;
  font-size:10px;
  line-height:1.45;
}

.contact-bottom-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.contact-bottom-links>div{
  padding:17px;
  border:1px solid #dfe6ec;
  border-radius:12px;
  background:#f9fbfc;
}
.contact-bottom-links strong{
  display:block;
  color:#102b48;
  font-size:13px;
}
.contact-bottom-links p{
  margin:4px 0 8px;
  color:#6b7b8a;
  font-size:11.5px;
  line-height:1.55;
}
.contact-bottom-links a{
  color:#cf6100;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}

@media(max-width:820px){
  .contact-professional-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .privacy-hero,
  .cookie-policy-hero{
    padding-bottom:40px;
  }
  .contact-information-panel,
  .contact-form-card{
    padding:20px 17px;
    border-radius:13px;
  }
  .contact-information-panel>h2,
  .contact-form-heading h2{
    font-size:22px;
  }
  .contact-bottom-links{
    grid-template-columns:1fr;
  }
  .contact-submit-row{
    display:block;
  }
  .contact-submit-button{
    width:100%;
  }
  .contact-submit-row>small{
    display:block;
    margin-top:8px;
    text-align:center;
  }
}


/* =========================================================
   V22.2 — RANK BADGE + AMAZON CTA CLEANUP
   ========================================================= */

/* Long AI "best_for" sentences no longer belong in ranking badges. */
.rank-title-no-badge{
  margin-top:0!important;
}

/* Clear visual hierarchy:
   primary = View Review
   secondary = retailer affiliate link */
.rank-actions{
  align-self:center;
}
.affiliate-action-wrap{
  width:100%;
  margin-top:8px;
  gap:5px;
}
.rank-actions .affiliate-link-label{
  margin:0;
  text-align:center;
  color:#748394!important;
  font-size:10px!important;
  line-height:1.15!important;
}
.amazon-small.amazon-price-button{
  display:block;
  width:100%;
  margin:0;
  padding:9px 8px;
  border:1px solid #cfd9e2;
  border-radius:6px;
  background:#fff;
  color:#193750;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  transition:border-color .16s ease, background .16s ease, color .16s ease;
}
.amazon-small.amazon-price-button:hover{
  border-color:#ff9a45;
  background:#fff7f0;
  color:#b84f00;
}

/* Review retailer CTA: no fake Amazon "a" icon. */
.amazon-center .review-affiliate-label{
  width:min(540px,90%);
  margin:0 auto 5px;
  text-align:center;
}
.amazon-center a.review-amazon-button,
.amazon-center span.review-amazon-button{
  display:block;
  width:min(540px,90%);
  margin:0 auto;
  padding:14px 16px;
  border-radius:8px;
  background:var(--orange);
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
}
.amazon-center a.review-amazon-button:hover{
  filter:brightness(.97);
}
.amazon-center .disabled-amazon-button{
  background:#e8edf2!important;
  color:#697887!important;
}
.amazon-center .amazon-associate-disclosure{
  display:block;
  margin-top:7px;
  color:#707e8c;
  font-size:11px;
  line-height:1.4;
  text-align:center;
}

/* Existing generic .amazon-center rule had an inline-block selector.
   These declarations deliberately override it for the new class. */

@media(max-width:760px){
  .rank-actions .affiliate-link-label{
    text-align:left;
  }
  .affiliate-action-wrap{
    flex:1 1 180px;
    margin-top:0;
  }
  .amazon-small.amazon-price-button{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}


/* =========================================================
   V22.3 — BESTBUYSUK SCORE BRAND + UK FLAG
   ========================================================= */

/* Score naming / branding */
.score-brand{
  color:#ff7a00;
  font-weight:900;
  letter-spacing:-.015em;
}
.rank-score small{
  display:block;
  margin-top:4px;
  font-size:10px;
  line-height:1.25;
  color:#17344e;
}
.big-green-score span{
  margin-top:4px;
  font-size:11px;
  line-height:1.2;
  color:#fff;
  font-weight:750;
}
.big-green-score .score-brand{
  color:#ff931f;
}
.review-pills .score-brand-pill{
  color:#ff7a00;
  font-weight:900;
}

/* Proper UK flag: avoids operating-system emoji rendering differences. */
.hero-features i.uk-flag-feature{
  overflow:hidden;
  padding:0;
  background:#fff;
}
.hero-features i.uk-flag-feature img{
  width:25px;
  height:auto;
  display:block;
  border-radius:2px;
}

.why-four article>span.why-uk-flag{
  overflow:hidden;
  padding:0;
  background:#fff;
}
.why-four article>span.why-uk-flag img{
  width:34px;
  height:auto;
  display:block;
  margin:auto;
  border-radius:2px;
}

@media(max-width:460px){
  .hero-features i.uk-flag-feature img{
    width:24px;
  }
}


/* =========================================================
   V22.7 — MOBILE BEST-BUY SCORE + COOKIEBOT NAV CLEARANCE
   ========================================================= */

/* New action wrapper keeps the existing desktop appearance. */
.dark-card-action-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
}
.dark-review-button{
  display:inline-block;
  background:var(--orange);
  color:#fff;
  border-radius:5px;
  padding:6px 9px;
  font-size:7px;
  font-weight:900;
}
.dark-score-mobile{
  display:none;
}

/* The old direct-child button rule must not add duplicate styling/margins. */
.dark-best-card>.dark-card-action-row{
  margin-top:6px;
}

@media(max-width:760px){

  /*
    Keep the product image completely clear on phones.
    The score now sits beside View Review in the text/action column.
  */
  .dark-score-desktop{
    display:none!important;
  }

  .dark-score-mobile{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:static!important;
    flex:0 0 66px;
    min-width:66px;
    min-height:58px;
    padding:7px 6px!important;
    border-radius:9px!important;
    box-sizing:border-box;
  }

  .dark-score-mobile strong{
    font-size:22px!important;
    line-height:1!important;
  }

  .dark-score-mobile small{
    margin-top:3px;
    font-size:10px!important;
    line-height:1!important;
  }

  .dark-best-card .dark-card-action-row{
    grid-column:2;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    width:100%;
    margin-top:0!important;
  }

  .dark-best-card .dark-review-button{
    flex:1 1 auto;
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin:0!important;
    padding:10px 12px!important;
    border-radius:7px!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:nowrap;
  }

  /*
    Cookiebot's Privacy Trigger occupies the lower-left corner on mobile.
    Reserve a small left gutter and distribute the five site-nav items
    across the remaining width so Home is no longer hidden beneath it.
  */
  .mobile-bottom{
    padding-left:52px!important;
    padding-right:6px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  .mobile-bottom a{
    padding-left:0!important;
    padding-right:0!important;
  }

  .mobile-bottom span{
    font-size:22px!important;
  }

  .mobile-bottom small{
    font-size:9px!important;
  }
}

@media(max-width:430px){

  .dark-best-card .dark-card-action-row{
    gap:7px!important;
  }

  .dark-score-mobile{
    flex-basis:62px;
    min-width:62px;
    min-height:56px;
  }

  .dark-score-mobile strong{
    font-size:21px!important;
  }

  .dark-best-card .dark-review-button{
    min-height:46px;
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:12px!important;
  }

  /* Slightly smaller reserved Cookiebot gutter on narrow phones. */
  .mobile-bottom{
    padding-left:48px!important;
    padding-right:4px!important;
  }

  .mobile-bottom span{
    font-size:21px!important;
  }

  .mobile-bottom small{
    font-size:8.5px!important;
  }
}


/* =========================================================
   V22.8 — POLISHED SEARCH + ALIGNED DESKTOP BEST BUYS
   ========================================================= */

/* ---------- Search page ---------- */
.search-modern-hero{
  position:relative;
  overflow:visible;
  padding:46px 0 40px;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,122,0,.17),transparent 28%),
    linear-gradient(135deg,#101d2d 0%,#112d49 100%);
  color:#fff;
}
.search-modern-inner{
  max-width:940px;
}
.search-modern-hero h1{
  margin:6px 0 7px;
  color:#fff;
  font-size:clamp(34px,4vw,50px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.search-modern-hero>div>p{
  margin:0 0 21px;
  color:#c9d5e0;
  font-size:14px;
  line-height:1.55;
}
.search-modern-form{
  position:relative;
  z-index:30;
  display:flex;
  align-items:center;
  width:min(720px,100%);
  min-height:56px;
  padding:5px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.search-modern-icon{
  flex:0 0 42px;
  color:#263f56;
  text-align:center;
  font-size:21px;
  line-height:1;
}
.search-modern-form .autocomplete-wrap{
  height:46px;
  min-width:0;
}
.search-modern-form .autocomplete-input{
  width:100%;
  height:46px;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  padding-right:43px!important;
  color:#1a3147;
  font-size:15px;
  box-shadow:none!important;
}
.search-modern-form .autocomplete-input::placeholder{
  color:#8796a5;
}
.search-modern-form button{
  flex:0 0 auto;
  min-width:106px;
  height:46px;
  padding:0 20px;
  border:0;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.search-modern-form .autocomplete-menu{
  top:calc(100% + 10px);
}
.search-quick-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px;
  color:#aebdca;
  font-size:11px;
}
.search-quick-links>span{
  font-weight:800;
  color:#d5dfe7;
}
.search-quick-links a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:700;
}
.search-modern-content{
  min-height:300px;
  padding-top:38px;
  padding-bottom:52px;
}
.search-start-card{
  display:flex;
  align-items:center;
  gap:17px;
  max-width:760px;
  margin:0 auto;
  padding:23px 25px;
  border:1px solid #dfe6ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 10px 28px rgba(17,45,73,.055);
}
.search-start-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff1e4;
  color:#e16800;
  font-size:25px;
  font-weight:900;
}
.search-start-card h2{
  margin:0 0 4px;
  color:#102b48;
  font-size:20px;
  letter-spacing:-.02em;
}
.search-start-card p{
  margin:0;
  color:#68798a;
  font-size:13px;
  line-height:1.55;
}
.search-results-heading{
  margin-bottom:18px;
}
.search-results-heading h2{
  margin:4px 0 0;
  color:#102b48;
  font-size:25px;
}
.search-results-modern .search-result-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.search-results-modern .search-result-card h3{
  min-height:40px;
}
.search-results-modern .search-result-card p{
  flex:1;
}
.search-results-modern .view-link{
  margin-top:auto;
}

/* ---------- Desktop Today's Best Buys ---------- */
@media(min-width:761px){
  .dark-best-grid{
    align-items:stretch;
  }
  .dark-best-card{
    display:flex;
    flex-direction:column;
    height:100%;
    box-sizing:border-box;
  }
  .dark-best-card .award{
    display:flex;
    align-items:center;
    min-height:27px;
    margin-bottom:10px;
    color:#17344e;
    font-size:11px;
    line-height:1.25;
  }
  .dark-best-card .dark-product-art{
    flex:0 0 150px;
    height:150px!important;
  }
  .dark-best-card h3{
    display:-webkit-box;
    min-height:42px;
    margin:11px 0 5px!important;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:15px!important;
    line-height:1.38;
  }
  .dark-best-card p{
    min-height:21px;
    margin:0 0 11px!important;
    font-size:12px!important;
    line-height:1.45;
  }
  .dark-best-card .dark-card-action-row{
    margin-top:auto!important;
  }
  .dark-best-card .dark-review-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:8px 12px!important;
    font-size:11px!important;
  }
}

/* ---------- Mobile search ---------- */
@media(max-width:760px){
  .search-modern-hero{
    padding:27px 0 25px;
  }
  .search-modern-inner{
    width:calc(100% - 30px)!important;
  }
  .search-modern-hero .section-kicker{
    font-size:10px;
  }
  .search-modern-hero h1{
    margin:4px 0 5px;
    font-size:32px!important;
    line-height:1.06;
  }
  .search-modern-hero>div>p{
    margin-bottom:16px;
    font-size:12.5px;
  }
  .search-modern-form{
    width:100%;
    min-height:52px;
    padding:4px;
  }
  .search-modern-icon{
    flex-basis:34px;
    font-size:18px;
  }
  .search-modern-form .autocomplete-wrap,
  .search-modern-form .autocomplete-input{
    height:44px;
  }
  .search-modern-form .autocomplete-input{
    padding:0 5px!important;
    font-size:16px!important;
  }
  .search-modern-form button{
    min-width:82px;
    height:44px;
    padding:0 14px;
    font-size:12px;
  }
  .search-modern-form .autocomplete-menu{
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 8px)!important;
    width:calc(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
  }
  .search-quick-links{
    gap:6px;
    margin-top:13px;
  }
  .search-quick-links>span{
    width:100%;
    font-size:10px;
  }
  .search-quick-links a{
    min-height:27px;
    padding:5px 8px;
    font-size:9.5px;
  }
  .search-modern-content{
    width:calc(100% - 30px)!important;
    min-height:185px;
    padding-top:22px;
    padding-bottom:34px;
  }
  .search-start-card{
    gap:12px;
    padding:17px;
    border-radius:13px;
  }
  .search-start-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:11px;
    font-size:21px;
  }
  .search-start-card h2{
    font-size:17px;
  }
  .search-start-card p{
    font-size:11.5px;
  }
  .search-results-grid.search-results-modern{
    grid-template-columns:1fr!important;
  }
  .search-results-heading h2{
    font-size:21px;
  }
}


/* =========================================================
   V22.9 — MOBILE SEARCH AUTOCOMPLETE ANCHOR FIX
   ========================================================= */

/*
  Dedicated /search page only.
  The suggestion menu is now a direct child of the full search form,
  so it aligns with the complete white search bar rather than starting
  inside the text-input column.
*/
.search-page-autocomplete{
  position:relative;
}

.search-page-autocomplete .search-page-suggestions{
  left:0;
  right:0;
  top:calc(100% + 9px);
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Keep suggestions above following content without changing page flow. */
.search-modern-hero{
  z-index:4;
}
.search-modern-content{
  position:relative;
  z-index:1;
}

@media(max-width:760px){

  /*
    Override the old mobile autocomplete rule that used viewport width
    from the inner input wrapper. The whole panel now follows the form.
  */
  .search-modern-form.search-page-autocomplete .search-page-suggestions{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    width:100%!important;
    max-width:100%!important;

    /*
      dvh responds to the reduced visible viewport when the iOS keyboard
      is open. Fallback max-height remains for browsers without dvh.
    */
    max-height:360px!important;
    max-height:min(42dvh,360px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;

    border-radius:16px!important;
    box-shadow:0 16px 36px rgba(8,25,43,.22)!important;
  }

  .search-page-autocomplete .autocomplete-item{
    min-height:68px;
    padding:10px 12px;
  }

  .search-page-autocomplete .autocomplete-thumb{
    width:52px;
    height:50px;
  }

  .search-page-autocomplete .autocomplete-thumb img{
    height:48px;
  }

  .search-page-autocomplete .autocomplete-copy strong{
    font-size:13.5px;
  }

  .search-page-autocomplete .autocomplete-copy small{
    font-size:11.5px;
  }
}

@media(max-width:430px){
  .search-modern-form.search-page-autocomplete .search-page-suggestions{
    max-height:330px!important;
    max-height:min(40dvh,330px)!important;
  }
}


/* =========================================================
   V22.10 — HOMEPAGE MOBILE HERO SEARCH FULL-WIDTH DROPDOWN
   ========================================================= */

@media(max-width:760px){
  /*
    Match the dedicated Search page behaviour on mobile.
    The homepage hero autocomplete should align to the FULL white bar,
    not only the text-input area to the left of the orange Search button.
  */
  .hero-search-large{
    position:relative!important;
  }

  .hero-search-large .autocomplete-wrap{
    position:static!important;
    width:100%!important;
    min-width:0!important;
  }

  .hero-search-large .autocomplete-menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    max-height:min(42dvh,360px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:16px!important;
    box-shadow:0 16px 36px rgba(8,25,43,.22)!important;
    z-index:15000!important;
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-width:430px){
  .hero-search-large .autocomplete-menu{
    max-height:min(40dvh,330px)!important;
  }
}


/* =========================================================
   V22.11 — DESKTOP HEADER AUTOCOMPLETE ABOVE HOMEPAGE HERO
   ========================================================= */

@media(min-width:761px){
  /*
    The homepage hero and site header previously shared the same z-index.
    Because the hero is rendered after the header, it covered autocomplete
    rows extending below the navigation bar. Keep the entire header/search
    layer above page content so the full suggestion list remains visible.
  */
  .site-head{
    position:relative!important;
    z-index:200!important;
    overflow:visible!important;
  }

  .top-head,
  .top-head-inner,
  .head-search,
  .head-search .autocomplete-wrap{
    position:relative!important;
    overflow:visible!important;
  }

  .head-search{
    z-index:210!important;
  }

  .head-search .autocomplete-menu{
    z-index:220!important;
  }

  /* Homepage hero remains below the global header dropdown. */
  .hero-dark{
    z-index:20!important;
  }
}


/* =========================================================
   V23.2 — CONTEXTUAL CATEGORY TOP-3 RANKINGS
   ========================================================= */

.contextual-rank-tag[hidden]{
  display:none!important;
}

.contextual-rank-tag{
  max-width:100%;
  line-height:1.25;
  vertical-align:middle;
}

/*
  A tab changes ranking context, not the BestBuysUK Score.
  Give the contextual Top 3 a subtle hierarchy without overpowering
  the product card or implying a different scoring system.
*/
.rank-row.is-context-top-pick{
  border-color:#d7dee7;
}

.rank-row.is-context-top-pick:first-of-type{
  border-color:#efc37f;
}

.category-filter-summary [data-visible-product-count]{
  color:#10243b;
}

@media(max-width:760px){
  .contextual-rank-tag{
    white-space:normal;
  }
}


/* =========================================================
   V23.3 — LAWN MOWER SEO CONTENT / GUIDE LANDING PAGES
   ========================================================= */

.seo-section-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--orange);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ---------- Category: crawlable guide links ---------- */
.lawn-seo-guides-section{
  padding-top:34px;
  padding-bottom:30px;
}
.lawn-seo-guides-head{
  max-width:780px;
  margin-bottom:18px;
}
.lawn-seo-guides-head h2,
.lawn-guide-section-head h2{
  margin:0 0 7px;
  color:var(--ink);
  font-size:27px;
  line-height:1.15;
}
.lawn-seo-guides-head p,
.lawn-guide-section-head p{
  margin:0;
  color:#65758a;
  line-height:1.55;
}
.lawn-seo-guide-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.lawn-seo-guide-card{
  display:flex;
  min-height:142px;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  border:1px solid #dde5ed;
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 10px 25px rgba(16,36,59,.05);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.lawn-seo-guide-card:hover{
  transform:translateY(-2px);
  border-color:#ffc27f;
  box-shadow:0 14px 30px rgba(16,36,59,.09);
}
.lawn-seo-guide-card>span{
  color:var(--orange);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.lawn-seo-guide-card strong{
  display:block;
  margin:10px 0;
  font-size:17px;
  line-height:1.3;
}
.lawn-seo-guide-card small{
  color:#5f7187;
  font-weight:800;
}

/* ---------- Dedicated guide landing pages ---------- */
.lawn-guide-hero{
  padding:40px 0 34px;
  background:linear-gradient(135deg,#f8fafc 0%,#fff7ed 100%);
  border-bottom:1px solid #e5eaf0;
}
.lawn-guide-hero .breadcrumbs{
  margin-bottom:24px;
}
.lawn-guide-hero h1{
  max-width:900px;
  margin:0 0 13px;
  color:var(--ink);
  font-size:43px;
  line-height:1.08;
}
.lawn-guide-hero p{
  max-width:880px;
  margin:0;
  color:#53657c;
  font-size:18px;
  line-height:1.6;
}
.lawn-guide-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.lawn-guide-trust-row span{
  padding:8px 11px;
  border:1px solid #dce4ec;
  border-radius:999px;
  background:#fff;
  color:#41556c;
  font-size:12px;
  font-weight:800;
}

.lawn-guide-main{
  padding-top:34px;
  padding-bottom:40px;
}
.lawn-guide-section-head{
  margin-bottom:18px;
}
.lawn-guide-picks{
  display:grid;
  gap:14px;
}
.lawn-guide-pick{
  position:relative;
  display:grid;
  grid-template-columns:56px 180px minmax(0,1fr) 175px;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #dde5ed;
  border-radius:18px;
  background:#fff;
}
.lawn-guide-pick.top-three{
  border-color:#e4d1b8;
}
.lawn-guide-rank{
  display:flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f5f7f9;
  color:var(--ink);
  font-size:15px;
  font-weight:900;
}
.lawn-guide-pick:first-child .lawn-guide-rank{
  background:#ffb31a;
  color:#fff;
}
.lawn-guide-image{
  display:flex;
  min-height:142px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
  background:#f7f8fa;
}
.lawn-guide-image img{
  width:100%;
  height:142px;
  object-fit:contain;
}
.lawn-guide-copy h3{
  margin:8px 0 5px;
  font-size:20px;
  line-height:1.3;
}
.lawn-guide-copy h3 a{
  color:var(--ink);
  text-decoration:none;
}
.lawn-guide-copy h3 a:hover{
  color:var(--orange);
}
.lawn-guide-profile{
  margin:0 0 8px;
  color:#718096;
  font-size:13px;
  font-weight:800;
}
.lawn-guide-copy ul{
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.lawn-guide-copy li{
  margin:4px 0;
  color:#1f6d3d;
  font-size:13px;
  line-height:1.45;
}
.lawn-guide-actions{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.lawn-guide-advice{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);
  gap:22px;
  margin-top:34px;
}
.lawn-guide-advice-main,
.lawn-guide-advice aside{
  padding:24px;
  border:1px solid #dde5ed;
  border-radius:18px;
  background:#fff;
}
.lawn-guide-advice h2{
  margin:0 0 12px;
  font-size:25px;
}
.lawn-guide-advice h3{
  margin-top:0;
}
.lawn-guide-advice ul{
  margin:0;
  padding:0;
  list-style:none;
}
.lawn-guide-advice li{
  margin:9px 0;
  color:#445870;
  line-height:1.5;
}
.lawn-guide-advice aside p{
  color:#607187;
  line-height:1.55;
}
.lawn-guide-advice aside a{
  color:#174f7e;
  font-weight:900;
}
.lawn-guide-more{
  margin-top:38px;
}

/* ---------- Review-page factual SEO enrichment ---------- */
.review-seo-section{
  margin-top:26px;
  padding:24px;
  border:1px solid #dce4ec;
  border-radius:18px;
  background:#fff;
}
.review-seo-heading{
  margin-bottom:16px;
}
.review-seo-heading h2{
  margin:0 0 7px;
  font-size:25px;
  line-height:1.2;
}
.review-seo-heading p{
  margin:0;
  color:#66778c;
  line-height:1.55;
}
.mower-glance-grid{
  display:grid;
  grid-template-columns:155px minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.mower-glance-score{
  display:flex;
  min-height:125px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#effaf2;
  color:#078a39;
}
.mower-glance-score strong{
  font-size:39px;
  line-height:1;
}
.mower-glance-score strong small{
  font-size:17px;
}
.mower-glance-score span{
  margin-top:7px;
  color:#d76500;
  font-size:11px;
  font-weight:900;
}
.mower-glance-copy>p{
  margin:0;
  color:#41546b;
  font-size:15px;
  line-height:1.7;
}
.mower-profile-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.mower-profile-chips span{
  padding:7px 10px;
  border-radius:999px;
  background:#f4f7f9;
  color:#445870;
  font-size:12px;
  font-weight:800;
}
.mower-compare-table-wrap{
  overflow-x:auto;
}
.mower-compare-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}
.mower-compare-table th,
.mower-compare-table td{
  padding:12px;
  border-bottom:1px solid #e8edf2;
  text-align:left;
  vertical-align:middle;
}
.mower-compare-table th{
  color:#65758a;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mower-compare-model{
  display:flex;
  align-items:center;
  gap:11px;
}
.mower-compare-model img{
  width:58px;
  height:52px;
  object-fit:contain;
  border-radius:8px;
  background:#f7f8fa;
}
.mower-compare-model strong{
  max-width:320px;
}
.mower-compare-score{
  color:#078a39;
}
.mower-compare-table a{
  color:#174f7e;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.review-guide-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.review-guide-links a{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:15px;
  border:1px solid #e0e6ec;
  border-radius:13px;
  color:var(--ink);
  text-decoration:none;
  background:#fafbfc;
}
.review-guide-links a:hover{
  border-color:#ffc27f;
  background:#fff8f0;
}
.review-guide-links span{
  color:#61748a;
  font-size:12px;
  font-weight:800;
}

@media(max-width:900px){
  .lawn-seo-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lawn-guide-pick{
    grid-template-columns:48px 145px minmax(0,1fr);
  }
  .lawn-guide-actions{
    grid-column:2 / -1;
    display:grid;
    grid-template-columns:120px minmax(150px,220px) minmax(150px,220px);
    align-items:end;
  }
}

@media(max-width:760px){
  .lawn-seo-guides-section{
    padding-left:14px;
    padding-right:14px;
  }
  .lawn-seo-guide-grid{
    grid-template-columns:1fr;
  }
  .lawn-seo-guide-card{
    min-height:120px;
  }
  .lawn-guide-hero{
    padding:26px 0 25px;
  }
  .lawn-guide-hero .shell,
  .lawn-guide-main{
    padding-left:14px;
    padding-right:14px;
  }
  .lawn-guide-hero h1{
    font-size:34px;
  }
  .lawn-guide-hero p{
    font-size:15px;
  }
  .lawn-guide-trust-row{
    display:grid;
    grid-template-columns:1fr;
  }
  .lawn-guide-pick{
    grid-template-columns:46px 104px minmax(0,1fr);
    gap:10px;
    padding:13px;
  }
  .lawn-guide-image{
    min-height:100px;
  }
  .lawn-guide-image img{
    height:100px;
  }
  .lawn-guide-copy{
    min-width:0;
  }
  .lawn-guide-copy h3{
    font-size:16px;
  }
  .lawn-guide-copy ul{
    display:none;
  }
  .lawn-guide-actions{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    gap:8px;
  }
  .lawn-guide-actions .affiliate-action-wrap{
    grid-column:2;
  }
  .lawn-guide-advice{
    grid-template-columns:1fr;
  }
  .review-seo-section{
    padding:18px;
  }
  .mower-glance-grid{
    grid-template-columns:1fr;
  }
  .mower-glance-score{
    min-height:100px;
  }
  .review-guide-links{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V23.4 — GENERIC CATEGORY SEO ENGINE
   Existing V23.3 guide/review components are intentionally reused across
   configured product categories so future category rollouts stay visually
   consistent without duplicating CSS.
   ========================================================= */


/* =========================================================
   V24 — MULTI-RETAILER / PRODUCT LIFECYCLE / EDITORIAL GATE
   ========================================================= */

.product-lifecycle-banner{
  margin:18px 0;
  padding:15px 18px;
  border-radius:14px;
  border:1px solid;
}
.product-lifecycle-banner strong{
  display:block;
  margin-bottom:4px;
  font-size:15px;
}
.product-lifecycle-banner p{
  margin:0;
  line-height:1.55;
  font-size:13px;
}
.product-lifecycle-banner a{
  display:inline-block;
  margin-top:9px;
  font-weight:900;
}
.product-lifecycle-banner.temporary{
  background:#fff8e8;
  border-color:#efd596;
  color:#665020;
}
.product-lifecycle-banner.discontinued{
  background:#f6f7f9;
  border-color:#d9e0e7;
  color:#46566a;
}

.review-retailer-offers{
  margin:20px 0;
  padding:21px;
  border:1px solid #dce4ec;
  border-radius:18px;
  background:#fff;
}
.review-retailer-offers-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:13px;
}
.review-retailer-offers-head h2{
  margin:0;
  font-size:22px;
}
.review-retailer-offers-head>small{
  max-width:360px;
  color:#728196;
  line-height:1.4;
  text-align:right;
}
.retailer-offer-list{
  display:grid;
  gap:9px;
}
.retailer-offer-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) 150px 220px;
  gap:14px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #e4e9ef;
  border-radius:12px;
  background:#fafbfc;
}
.retailer-offer-row>div:first-child strong{
  display:block;
}
.retailer-offer-row small{
  color:#7c8999;
}
.retailer-offer-price strong{
  display:block;
  color:#078a39;
  font-size:20px;
}
.retailer-offer-action{
  text-align:right;
}
.retailer-offer-action a{
  display:inline-block;
  padding:10px 12px;
  border-radius:8px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.review-no-retailer-offers{
  display:flex;
  gap:7px;
  flex-direction:column;
  margin:18px 0;
  padding:14px 16px;
  border:1px dashed #d5dde6;
  border-radius:12px;
  background:#fafbfc;
  color:#5b6c80;
}

.retired-product-page{
  padding-top:40px;
  padding-bottom:60px;
}
.retired-product-card{
  max-width:760px;
  padding:28px;
  border:1px solid #dce4ec;
  border-radius:18px;
  background:#fff;
}
.retired-product-card h1{
  margin-top:0;
}

/* ---------- Admin feed/lifecycle tooling ---------- */
.admin-status-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:#eef2f6;
  color:#495a70;
  font-size:11px;
  font-weight:900;
  text-transform:capitalize;
}
.status-active,.status-approved,.status-matched{
  background:#eaf8ef;
  color:#16703a;
}
.status-temporarily_unavailable,.status-pending{
  background:#fff5dc;
  color:#8a6210;
}
.status-discontinued,.status-rejected,.status-auto_excluded{
  background:#fff0eb;
  color:#9b4930;
}
.status-retired,.status-ignored{
  background:#edf0f3;
  color:#687789;
}

.lifecycle-editor-card{
  margin-bottom:18px;
}
.lifecycle-editor-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
}
.lifecycle-editor-head h2{
  margin:2px 0 5px;
}
.lifecycle-meta{
  padding:10px 12px;
  border-radius:9px;
  background:#fff8e7;
  color:#665027;
  font-size:12px;
}
.admin-offer-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.admin-offer-summary span{
  padding:5px 8px;
  border-radius:8px;
  background:#f4f7f9;
  font-size:11px;
}
.checkbox-line{
  display:flex!important;
  gap:8px;
  align-items:center;
}
.checkbox-line input{
  width:auto!important;
}
.feed-admin-grid{
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
}
.cron-card{
  margin-top:16px;
}
.cron-card code{
  display:block;
  overflow-wrap:anywhere;
  margin:10px 0 7px;
  padding:11px;
  border-radius:8px;
  background:#0f1f31;
  color:#fff;
  font-size:11px;
}
.feed-message-row td{
  padding-top:3px;
  color:#718196;
}
.feed-import-card{
  margin-top:16px;
}

.opportunity-policy-grid,
.lifecycle-policy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.opportunity-policy-grid>div,
.lifecycle-policy-grid>div{
  padding:13px;
  border:1px solid #e2e7ec;
  border-radius:11px;
  background:#fafbfc;
}
.opportunity-policy-grid strong{
  display:block;
  margin-bottom:5px;
}
.opportunity-policy-grid span,
.lifecycle-policy-grid p{
  margin:5px 0 0;
  color:#67788c;
  font-size:12px;
  line-height:1.45;
}
.opportunity-score{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:#eef8f1;
  color:#087d37;
  font-weight:900;
}
.sample-product{
  display:block;
  max-width:240px;
  margin:3px 0;
}
.opportunity-action-form{
  min-width:260px;
}
.opportunity-action-form select,
.opportunity-action-form input{
  width:100%;
  margin-bottom:5px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:6px;
}
.mini-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.mini-actions button{
  padding:5px 7px;
  border:1px solid #d7dee5;
  border-radius:6px;
  background:#fff;
  color:#34485f;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.candidate-product-cell{
  display:flex;
  gap:9px;
  align-items:center;
  min-width:250px;
}
.candidate-product-cell img{
  width:50px;
  height:45px;
  object-fit:contain;
  border-radius:7px;
  background:#f5f7f9;
}
.needs-review{
  background:#fff9ea;
}
.review-due-warning{
  color:#a36b00;
  font-size:10px;
}

@media(max-width:900px){
  .retailer-offer-row{
    grid-template-columns:1fr 130px;
  }
  .retailer-offer-action{
    grid-column:1 / -1;
    text-align:left;
  }
  .feed-admin-grid{
    grid-template-columns:1fr!important;
  }
  .opportunity-policy-grid,
  .lifecycle-policy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .review-retailer-offers-head{
    display:block;
  }
  .review-retailer-offers-head>small{
    display:block;
    margin-top:7px;
    text-align:left;
  }
  .retailer-offer-row{
    grid-template-columns:1fr;
  }
  .retailer-offer-action{
    grid-column:auto;
  }
  .opportunity-policy-grid,
  .lifecycle-policy-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V24.1 — AUTOPILOT
   ========================================================= */

.autopilot-status-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0 0 18px;
}
.autopilot-status-strip>div{
  padding:15px 16px;
  border:1px solid #dfe6ec;
  border-radius:13px;
  background:#fff;
}
.autopilot-status-strip strong{
  display:block;
  font-size:25px;
  line-height:1;
  color:#13253a;
}
.autopilot-status-strip span{
  display:block;
  margin-top:6px;
  color:#718196;
  font-size:11px;
  font-weight:800;
}
.autopilot-admin-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  align-items:start;
}
.autopilot-admin-grid>.admin-form,
.autopilot-admin-grid>div{
  min-width:0;
}
.autopilot-cron-card p code{
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.autopilot-admin-grid .autopilot-flow-card,
.autopilot-admin-grid .autopilot-cron-card{
  width:100%;
  box-sizing:border-box;
}
.autopilot-settings-grid{
  margin-top:14px;
}
.autopilot-cron-card code{
  display:block;
  overflow-wrap:anywhere;
  margin:12px 0 8px;
  padding:12px;
  border-radius:9px;
  background:#102236;
  color:#fff;
  font-size:11px;
}
.autopilot-flow-card{
  margin-top:16px;
}
.autopilot-flow-list{
  display:grid;
  gap:9px;
  padding:0;
  margin:12px 0 0;
  list-style:none;
  counter-reset:autoflow;
}
.autopilot-flow-list li{
  counter-increment:autoflow;
  position:relative;
  padding:10px 10px 10px 42px;
  border:1px solid #e3e8ed;
  border-radius:10px;
  background:#fafbfc;
}
.autopilot-flow-list li:before{
  content:counter(autoflow);
  position:absolute;
  left:11px;
  top:10px;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  background:#ff7a00;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.autopilot-flow-list strong{
  display:block;
  color:#1e334b;
}
.autopilot-flow-list span{
  display:block;
  margin-top:3px;
  color:#708095;
  font-size:11px;
  line-height:1.4;
}
.admin-inline-warning{
  margin:12px 0 18px;
  padding:12px 14px;
  border:1px solid #efc3a4;
  border-radius:10px;
  background:#fff5ed;
  color:#8b431d;
  font-size:13px;
  line-height:1.45;
}
.admin-health-list{display:grid;gap:0;margin:12px 0 0}
.admin-health-list>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid #edf0f3;
  color:#607287;
  font-size:12px;
}
.admin-health-list strong{color:#20364d;text-align:right}
.admin-health-list a{color:#d96500;font-weight:900;text-decoration:none}
.compact-inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.compact-inline-form label{min-width:220px}
.compact-inline-form input{display:block;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box}
.btn.danger{background:#a63232}
.admin-link-list{display:grid;gap:8px;margin-top:14px}
.admin-link-list a{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e4e9ee;border-radius:9px;background:#fafbfc;color:#1f344b;text-decoration:none}
.admin-link-list a:hover{border-color:#ff8a00;background:#fffaf5}
.admin-link-list strong{font-size:12px}
.admin-link-list span{color:#718196;font-size:11px;text-align:right}
.cron-lane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.cron-lane-grid>div{padding:13px;border:1px solid #e1e7ed;border-radius:10px;background:#fafbfc}
.cron-lane-grid strong,.cron-lane-grid span,.cron-lane-grid code{display:block}
.cron-lane-grid strong{color:#20364d;font-size:13px}
.cron-lane-grid span{margin-top:4px;color:#718196;font-size:11px}
.cron-lane-grid code{margin-top:10px;color:#66788b;font-size:10px}
.autopilot-event-list{
  display:grid;
  gap:8px;
}
.autopilot-event-list>div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 120px;
  gap:12px;
  align-items:start;
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
}
.autopilot-event-list strong{
  text-transform:capitalize;
  color:#22384f;
  font-size:12px;
}
.autopilot-event-list span{
  color:#52657a;
  font-size:12px;
}
.autopilot-event-list small{
  text-align:right;
  color:#8995a3;
}
.status-queued,.status-retry{
  background:#fff5dc;
  color:#8a6210;
}
.status-running{
  background:#eaf4ff;
  color:#235f98;
}
.status-success,.status-auto_published{
  background:#eaf8ef;
  color:#16703a;
}
.status-deferred,.status-auto_deferred,.status-auto_filtered{
  background:#f1f3f5;
  color:#657487;
}
.status-failed{
  background:#fff0eb;
  color:#9b4930;
}

@media(max-width:980px){
  .admin-main{padding:20px}
  .autopilot-status-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .autopilot-admin-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:680px){
  .admin-main{padding:14px}
  .admin-card{padding:15px}
  .admin-actions{width:100%}
  .admin-actions form,.admin-actions .btn{width:100%}
  .autopilot-status-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .autopilot-event-list>div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .autopilot-event-list small{
    text-align:left;
  }
  .cron-lane-grid{grid-template-columns:1fr}
  .admin-health-list>div{display:block}
  .admin-health-list strong{display:block;margin-top:4px;text-align:left}
  .admin-link-list a{display:block}
  .admin-link-list span{display:block;margin-top:4px;text-align:left}
}


/* =========================================================
   V24.2 — GOOGLE SEARCH INTELLIGENCE
   ========================================================= */

.search-console-connect-grid,
.search-console-admin-grid,
.search-console-bottom-grid{
  grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important;
}
.search-console-checklist{
  display:grid;
  gap:10px;
  margin-top:15px;
}
.search-console-checklist>div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:11px 12px;
  border:1px solid #e2e8ee;
  border-radius:10px;
  background:#fafbfc;
}
.search-console-checklist strong{
  display:grid;
  flex:0 0 24px;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#eaf8ef;
  color:#16703a;
}
.search-console-checklist span{
  color:#5f7185;
  font-size:12px;
  line-height:1.45;
}

.search-intelligence-status-strip{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr .7fr .7fr;
  gap:9px;
  margin:0 0 18px;
}
.search-intelligence-status-strip>div{
  min-width:0;
  padding:14px 15px;
  border:1px solid #dfe6ec;
  border-radius:13px;
  background:#fff;
}
.search-intelligence-status-strip strong{
  display:block;
  overflow:hidden;
  color:#16304a;
  font-size:15px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-intelligence-status-strip span{
  display:block;
  overflow:hidden;
  margin-top:5px;
  color:#7b8999;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.search-console-settings-grid{
  margin:13px 0;
}
.search-console-query-toggle{
  align-self:end;
  min-height:64px;
}
.search-console-connection-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e5e9ed;
}

.search-console-backfill-card,
.search-console-security-card{
  margin-top:16px;
}
.search-console-progress{
  display:grid;
  grid-template-columns:minmax(0,1fr) 60px;
  gap:10px;
  align-items:center;
  margin:14px 0;
}
.search-console-progress>div{
  overflow:hidden;
  height:12px;
  border-radius:999px;
  background:#edf1f4;
}
.search-console-progress>div>span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#ff7a00;
}
.search-console-progress>strong{
  text-align:right;
  color:#233a53;
}
.search-console-cap-warning{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #eed49b;
  border-radius:9px;
  background:#fff8e6;
  color:#74551e;
  font-size:11px;
  line-height:1.45;
}

.search-intelligence-rule-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.search-intelligence-rule-list>div{
  padding:11px 12px;
  border:1px solid #e3e8ed;
  border-radius:10px;
  background:#fafbfc;
}
.search-intelligence-rule-list strong{
  display:block;
  color:#203a55;
  font-size:12px;
}
.search-intelligence-rule-list span{
  display:block;
  margin-top:3px;
  color:#6f7f90;
  font-size:11px;
  line-height:1.4;
}

.search-opportunity-pill{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f7;
  color:#425970;
  font-size:10px;
  font-weight:900;
  text-transform:capitalize;
}
.opportunity-near_page_one{
  background:#fff3dc;
  color:#8c6110;
}
.opportunity-low_ctr{
  background:#fff0eb;
  color:#944a32;
}
.opportunity-growing{
  background:#eaf8ef;
  color:#16703a;
}
.search-query-chip{
  display:inline-block;
  max-width:220px;
  margin:2px 3px 2px 0;
  padding:4px 6px;
  overflow:hidden;
  border-radius:6px;
  background:#f2f5f8;
  color:#52667b;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.search-product-list,
.search-sync-list{
  display:grid;
  gap:0;
  margin-top:8px;
}
.search-product-list>a{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) 70px 85px 65px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
  color:inherit;
  text-decoration:none;
}
.search-product-list>a:hover{
  background:#fafbfc;
}
.search-product-list div strong{
  display:block;
  color:#263e57;
  font-size:12px;
}
.search-product-list div span{
  display:block;
  margin-top:2px;
  color:#8793a1;
  font-size:9px;
}
.search-sync-list>div{
  display:grid;
  grid-template-columns:95px minmax(0,1fr) 72px;
  gap:10px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid #edf0f3;
}
.search-sync-list>div strong{
  color:#29415a;
  font-size:11px;
}
.search-sync-list>div span{
  color:#708095;
  font-size:10px;
}
.search-sync-list>div small{
  justify-self:end;
}

.product-search-intelligence-card{
  margin-bottom:18px;
}
.product-search-metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.product-search-metrics>div{
  padding:11px;
  border:1px solid #e2e7ec;
  border-radius:10px;
  background:#fafbfc;
}
.product-search-metrics strong{
  display:block;
  color:#1d3a57;
  font-size:18px;
}
.product-search-metrics span{
  display:block;
  margin-top:3px;
  color:#7b8998;
  font-size:9px;
  font-weight:800;
}
.product-search-queries{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  margin-top:10px;
}
.product-search-queries strong{
  margin-right:3px;
  color:#53677b;
  font-size:10px;
}
.product-search-queries span{
  padding:4px 7px;
  border-radius:6px;
  background:#f2f5f8;
  color:#506478;
  font-size:10px;
}

@media(max-width:1100px){
  .search-intelligence-status-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .product-search-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .search-console-connect-grid,
  .search-console-admin-grid,
  .search-console-bottom-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:680px){
  .search-intelligence-status-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-search-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .search-product-list>a{
    grid-template-columns:1fr 65px;
  }
  .search-product-list>a>div:nth-child(3),
  .search-product-list>a>div:nth-child(4){
    display:none;
  }
}


/* =========================================================
   V24.3 — SITEWIDE SEARCH INTELLIGENCE
   ========================================================= */

.search-readiness-card{
  margin-bottom:18px;
  border-left:4px solid #f0b24d;
}
.search-readiness-card.readiness-ready{
  border-left-color:#25a45a;
}
.search-readiness-card.readiness-current_ready{
  border-left-color:#3e88c8;
}
.search-readiness-head,
.section-head-inline{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.search-readiness-head h2,
.section-head-inline h2{
  margin:2px 0 0;
}
.search-readiness-state{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#fff4dc;
  color:#835d14;
  font-size:10px;
  font-weight:900;
  text-transform:capitalize;
}
.readiness-ready .search-readiness-state{
  background:#eaf8ef;
  color:#16703a;
}
.readiness-current_ready .search-readiness-state{
  background:#eaf4ff;
  color:#235f98;
}
.search-readiness-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0 8px;
}
.search-readiness-grid>div{
  padding:12px;
  border:1px solid #e2e7ec;
  border-radius:11px;
  background:#fafbfc;
}
.search-readiness-label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:end;
  margin-bottom:8px;
}
.search-readiness-label strong{
  color:#233d57;
  font-size:13px;
}
.search-readiness-label span{
  color:#7d8a99;
  font-size:9px;
  text-align:right;
}
.search-mini-progress{
  overflow:hidden;
  height:8px;
  border-radius:999px;
  background:#e9edf1;
}
.search-mini-progress span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#ff7a00;
}

.search-analysis-warming{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:12px 0;
  padding:12px 14px;
  border:1px solid #efd79f;
  border-radius:10px;
  background:#fff8e8;
  color:#6c5422;
}
.search-analysis-warming.compact{
  display:block;
  margin:8px 0 12px;
}
.search-analysis-warming strong{
  font-size:12px;
}
.search-analysis-warming span{
  font-size:11px;
  line-height:1.45;
}

.search-page-type{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#eef2f5;
  color:#52677b;
  font-size:9px;
  font-weight:900;
  text-transform:capitalize;
}
.page-type-home{background:#eaf4ff;color:#245f96}
.page-type-category,.page-type-categories{background:#fff3dc;color:#8a6113}
.page-type-guide{background:#f0edff;color:#6551a8}
.page-type-review{background:#eaf8ef;color:#16703a}
.page-type-trust{background:#f2f4f6;color:#6f7d8d}

.search-opportunity-pill.opportunity-giving_visibility,
.opportunity-growing_visibility,
.opportunity-position_gain{
  background:#eaf8ef;
  color:#16703a;
}
.opportunity-falling_visibility,
.opportunity-position_loss{
  background:#fff0eb;
  color:#9a4931;
}
.opportunity-low_ctr{
  background:#ffecef;
  color:#a23b53;
}
.opportunity-near_page_one{
  background:#fff3dc;
  color:#8c6110;
}

.search-trend-grid{
  grid-template-columns:1fr 1fr!important;
}
.search-query-trend-list{
  display:grid;
  gap:0;
}
.search-query-trend-list>div{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) 95px 95px 60px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
}
.search-query-trend-list>div>div strong{
  display:block;
  color:#274057;
  font-size:11px;
}
.search-query-trend-list>div>div span{
  display:block;
  margin-top:2px;
  color:#8793a0;
  font-size:9px;
}
.search-competing-page{
  display:block;
  margin:3px 0;
  color:#596d82;
}
.search-discontinued-list{
  display:grid;
}
.search-discontinued-list>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 100px 90px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
}
.search-discontinued-list strong{
  display:block;
  color:#2a4259;
  font-size:11px;
}
.search-discontinued-list span{
  display:block;
  margin-top:2px;
  color:#8793a1;
  font-size:9px;
}

@media(max-width:980px){
  .search-readiness-grid{
    grid-template-columns:1fr;
  }
  .search-trend-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .search-readiness-head,
  .section-head-inline{
    display:block;
  }
  .search-readiness-state{
    margin-top:8px;
  }
  .search-query-trend-list>div{
    grid-template-columns:1fr 80px;
  }
  .search-query-trend-list>div>div:nth-child(3),
  .search-query-trend-list>div>div:nth-child(4){
    display:none;
  }
}


/* =========================================================
   V24.3.1 — SEARCH INTELLIGENCE TIMESTAMPS
   ========================================================= */

.search-intelligence-status-strip-v2431{
  grid-template-columns:1.15fr 1fr .85fr 1.05fr .65fr .65fr;
}
.search-sync-list-v2431>div{
  grid-template-columns:120px minmax(0,1fr) 72px;
}
.search-sync-date strong,
.search-sync-detail strong{
  display:block;
  color:#29415a;
  font-size:11px;
}
.search-sync-date span,
.search-sync-detail span{
  display:block;
  margin-top:2px;
  color:#7d8997;
  font-size:9px;
  line-height:1.35;
}
.search-sync-detail strong{
  font-weight:800;
}

@media(max-width:1180px){
  .search-intelligence-status-strip-v2431{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .search-intelligence-status-strip-v2431{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .search-sync-list-v2431>div{
    grid-template-columns:1fr 72px;
  }
  .search-sync-list-v2431 .search-sync-detail{
    grid-column:1 / -1;
    grid-row:2;
  }
}


/* =========================================================
   V24.3.2 — SEARCH INTELLIGENCE ROLLUP HEALTH
   ========================================================= */

.search-rollup-health-card{
  margin-bottom:18px;
  border-left:4px solid #91a0af;
}
.search-rollup-health-card.health-healthy{
  border-left-color:#25a45a;
}
.search-rollup-health-card.health-needs_rebuild{
  border-left-color:#d88925;
}
.search-rollup-health-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.search-rollup-health-head h2{
  margin:2px 0 0;
}
.search-rollup-health-state{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#eef2f5;
  color:#53687c;
  font-size:10px;
  font-weight:900;
}
.health-healthy .search-rollup-health-state{
  background:#eaf8ef;
  color:#16703a;
}
.health-needs_rebuild .search-rollup-health-state{
  background:#fff3dc;
  color:#8a6113;
}
.search-rollup-health-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:14px 0;
}
.search-rollup-health-grid>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #e2e7ec;
  border-radius:10px;
  background:#fafbfc;
}
.search-rollup-health-grid strong{
  display:block;
  overflow:hidden;
  color:#274057;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-rollup-health-grid span{
  display:block;
  margin-top:4px;
  color:#7e8b99;
  font-size:9px;
}
.search-health-message{
  margin:10px 0;
  padding:10px 12px;
  border-radius:9px;
  font-size:11px;
  line-height:1.45;
}
.search-health-message.success{
  border:1px solid #b8e3c7;
  background:#eef9f2;
  color:#1f6f3b;
}
.search-health-message.warning{
  border:1px solid #efd59c;
  background:#fff8e8;
  color:#76591f;
}
.search-health-message.error{
  border:1px solid #efc2c2;
  background:#fff0f0;
  color:#8b3434;
}
.search-health-message small{
  display:block;
  margin-top:4px;
}
.search-rollup-rebuild-form{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  margin-top:10px;
}
.search-rollup-rebuild-form small{
  color:#7e8a98;
  font-size:9px;
}

@media(max-width:1100px){
  .search-rollup-health-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .search-rollup-health-head{
    display:block;
  }
  .search-rollup-health-state{
    margin-top:8px;
  }
  .search-rollup-health-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* =========================================================
   V24.3.5 — CATALOGUE QUALITY CEILING
   ========================================================= */

.status-current{
  background:#eaf8ef!important;
  color:#16703a!important;
}
.status-suppressed,
.status-not_better{
  background:#f1f3f5!important;
  color:#667687!important;
}
.status-replaced{
  background:#eaf4ff!important;
  color:#235f98!important;
}
.status-at_cap{
  background:#fff3dc!important;
  color:#8a6113!important;
}

.catalogue-state-card{
  margin-bottom:18px;
  border-left:4px solid #28a55b;
}
.catalogue-state-card.state-suppressed{
  border-left-color:#8a98a8;
}
.catalogue-state-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.catalogue-state-head h2{
  margin:2px 0 0;
}
.catalogue-state-reason{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #e0e5ea;
  border-radius:9px;
  background:#f8fafb;
  color:#5c6f82;
  font-size:11px;
  line-height:1.45;
}
.catalogue-state-actions{
  margin-top:12px;
}
.catalogue-cap-summary-card,
.catalogue-challenge-card{
  margin-top:18px;
}
.catalogue-historical-banner{
  margin:14px 0;
  padding:14px 16px;
  border:1px solid #d7dde4;
  border-left:4px solid #75879a;
  border-radius:10px;
  background:#f8fafb;
}
.catalogue-historical-banner strong{
  display:block;
  color:#31485f;
  font-size:14px;
}
.catalogue-historical-banner p{
  margin:5px 0 7px;
  color:#617386;
  font-size:12px;
  line-height:1.5;
}
.catalogue-historical-banner a{
  color:#d85f00;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.catalogue-historical-banner a:hover{
  text-decoration:underline;
}

@media(max-width:720px){
  .catalogue-state-head{
    display:block;
  }
  .catalogue-state-head .admin-status-pill{
    margin-top:8px;
  }
}

.autopilot-status-strip{grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:1100px){.autopilot-status-strip{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:680px){.autopilot-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* =========================================================
   V24.3.7 — AFFILIATE SOURCE AUTO-DETECT
   ========================================================= */

.affiliate-source-detection{
  margin:12px 0;
  padding:12px 14px;
  border:1px solid #dbe2e9;
  border-left:4px solid #4b83b6;
  border-radius:10px;
  background:#f8fafc;
}
.affiliate-source-detection strong{
  display:block;
  margin-top:2px;
  color:#29465f;
  font-size:13px;
}
.affiliate-source-detection p{
  margin:6px 0;
  color:#5f7183;
  font-size:11px;
  line-height:1.45;
}
.affiliate-source-detection small{
  color:#7c8996;
}
.admin-form code{
  padding:1px 4px;
  border-radius:4px;
  background:#eef2f5;
  color:#38516a;
  font-size:.92em;
}


/* =========================================================
   V24.3.9 — AWIN CATEGORY NORMALISATION
   ========================================================= */

.taxonomy-traits{
  display:inline-block;
  margin-top:4px;
  color:#5d7084;
  line-height:1.45;
}


/* V24.3.9.1 — category taxonomy self-heal confirmation */
.category-self-heal-success{
  border-left:4px solid #2f9e59;
}
.category-self-heal-success h2{
  margin-bottom:6px;
}


/* =========================================================
   V24.4.0 — CANONICAL CATEGORY FAMILIES
   ========================================================= */

.taxonomy-parent{
  display:inline-block;
  margin-top:4px;
  color:#314e6a;
  font-weight:700;
  line-height:1.45;
}
.taxonomy-traits{
  display:inline-block;
  margin-top:3px;
}


/* =========================================================
   V24.4.1 — CANONICAL PRODUCT CATEGORY AUDIT
   ========================================================= */

.category-audit-card{
  border-left:4px solid #4b83b6;
}
.category-audit-strip{
  margin:14px 0;
}
.admin-inline-success{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #cce8d5;
  border-radius:9px;
  background:#f0faf3;
  color:#23613a;
  font-size:12px;
  line-height:1.45;
}
.status-needs_category,
.status-category_hold{
  background:#fff3dc!important;
  color:#8a6113!important;
}
.status-accessory_suppressed,
.status-accessory_filtered,
.status-cancelled{
  background:#f3edf8!important;
  color:#70488f!important;
}
.status-ambiguous{
  background:#f1f3f5!important;
  color:#667687!important;
}
.catalogue-historical-banner.category-audit{
  border-left-color:#4b83b6;
  background:#f5f9fd;
}


/* =========================================================
   V24.4.2 — ONE-CLICK CATEGORY APPROVAL + CLEAR HOLDS
   ========================================================= */

.approval-create-help{
  display:block;
  margin:4px 0 7px;
  color:#6f7f8f;
  line-height:1.35;
}
.category-approved-label{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:5px 9px;
  border-radius:8px;
  background:#eef8f1;
  color:#287143;
  font-size:11px;
  font-weight:800;
}
.detected-family{
  color:#173d5d;
}
.category-waiting-label{
  display:inline-block;
  margin-top:4px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff3dc;
  color:#8a6113;
  font-size:11px;
  font-weight:800;
}
.category-hold-action{
  display:block;
  max-width:170px;
  padding:7px 8px;
  border-radius:8px;
  background:#f6f8fa;
  color:#536577;
  line-height:1.35;
}
.candidate-taxonomy-details{
  margin-top:6px;
}
.candidate-taxonomy-details summary{
  cursor:pointer;
  color:#6c7d8e;
  font-size:11px;
  font-weight:700;
}
.candidate-taxonomy-details small{
  display:block;
  margin-top:4px;
  max-width:540px;
  color:#7d8995;
  line-height:1.35;
}


/* =========================================================
   V24.5.0 — CATEGORY IMAGE AUTOPILOT
   ========================================================= */

.category-image-autopilot-card{
  border-left:4px solid #ff7a00;
}
.category-image-status-strip{
  margin:14px 0;
}
.category-image-table{
  min-width:1050px;
}
.category-image-preview{
  display:block;
  width:170px;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #dfe6ed;
  background:#f5f7f9;
}
.category-image-missing-preview{
  width:170px;
  aspect-ratio:3/2;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #c9d3dc;
  border-radius:10px;
  background:#f6f8fa;
  color:#7a8997;
  font-size:12px;
  font-weight:700;
}
.category-image-actions{
  min-width:260px;
}
.category-manual-upload{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:9px;
}
.category-manual-upload input[type="file"]{
  max-width:210px;
  font-size:11px;
}
.category-image-error{
  display:block;
  margin-top:5px;
  max-width:360px;
  color:#a43e3e;
  line-height:1.35;
}
.category-image-setting-checkbox{
  align-self:end;
}
.status-generating,
.status-queued{
  background:#eef4ff!important;
  color:#365f9d!important;
}
.status-ready{
  background:#eef8f1!important;
  color:#287143!important;
}
.status-failed{
  background:#fff0f0!important;
  color:#9b3636!important;
}


/* =========================================================
   V24.5.0.4 — LARGER PRODUCT IMAGES + REVIEW GALLERY
   ========================================================= */

/* Category ranking cards: give the product image real visual weight. */
@media (min-width:981px){
  .rank-row{
    grid-template-columns:44px 220px minmax(0,1fr) 150px;
    gap:18px;
    padding:17px;
  }
  .rank-art{
    height:190px;
  }
  .rank-art img{
    width:205px;
    height:182px;
    max-width:100%;
    object-fit:contain;
  }
}

.product-image-zoom{
  position:relative;
  overflow:visible;
  isolation:isolate;
  cursor:zoom-in;
}

.product-image-zoom img{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
  transform-origin:center;
}

.product-image-zoom-hint{
  position:absolute;
  right:8px;
  bottom:7px;
  z-index:3;
  padding:4px 7px;
  border:1px solid rgba(21,39,57,.10);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 2px 8px rgba(18,36,55,.08);
  color:#55697f;
  font-size:10px;
  line-height:1;
  font-weight:700;
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
  .product-image-zoom:hover{
    z-index:30;
  }

  .rank-art.product-image-zoom:hover img{
    transform:scale(1.38);
    background:#fff;
    border-radius:10px;
    box-shadow:0 16px 38px rgba(18,36,55,.22);
    padding:7px;
  }

  .review-product-image.product-image-zoom:hover img{
    transform:scale(1.18);
    background:#fff;
    border-radius:12px;
    box-shadow:0 18px 42px rgba(18,36,55,.20);
    padding:8px;
  }
}

/* Review gallery */
.review-product-card{
  overflow:visible;
}

.review-product-gallery{
  min-width:0;
}

.review-product-image.review-gallery-main{
  height:390px;
  padding:12px;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfcfd,#f5f7f9);
  overflow:visible;
}

.review-product-image.review-gallery-main img{
  width:100%;
  height:365px;
  max-width:100%;
  object-fit:contain;
}

.review-gallery-thumbs{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding:12px 2px 3px;
  scrollbar-width:thin;
}

.review-gallery-thumb{
  flex:0 0 76px;
  width:76px;
  height:66px;
  padding:4px;
  border:1px solid #d7e0e8;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.review-gallery-thumb:hover{
  transform:translateY(-1px);
  border-color:#ff9b43;
}

.review-gallery-thumb.active{
  border:2px solid var(--orange);
  box-shadow:0 0 0 2px rgba(255,122,0,.10);
}

.review-gallery-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.review-single-image-note{
  margin-top:8px;
  text-align:center;
  color:#718195;
  font-size:11px;
}

@media (max-width:980px){
  .rank-row{
    grid-template-columns:42px 175px minmax(0,1fr) 140px;
  }
  .rank-art{
    height:155px;
  }
  .rank-art img{
    width:168px;
    height:150px;
  }
  .review-product-image.review-gallery-main{
    height:340px;
  }
  .review-product-image.review-gallery-main img{
    height:315px;
  }
}

@media (max-width:760px){
  .rank-row{
    grid-template-columns:30px 135px minmax(0,1fr);
  }
  .rank-art{
    height:130px;
  }
  .rank-art img{
    width:132px;
    height:125px;
  }
  .review-product-image.review-gallery-main{
    height:300px;
  }
  .review-product-image.review-gallery-main img{
    height:275px;
  }
  .product-image-zoom-hint{
    display:none;
  }
  .product-image-zoom{
    cursor:default;
  }
}

@media (max-width:460px){
  .rank-row{
    grid-template-columns:38px 1fr;
  }
  .rank-art{
    grid-column:2;
    height:210px;
  }
  .rank-art img{
    width:100%;
    height:200px;
  }
  .review-product-image.review-gallery-main{
    height:280px;
  }
  .review-product-image.review-gallery-main img{
    height:255px;
  }
  .review-gallery-thumb{
    flex-basis:68px;
    width:68px;
    height:60px;
  }
}


/* =========================================================
   V24.5.0.5 — CLEAN PRODUCT-ONLY PRESENTATION
   ========================================================= */

/*
 * Remove the artificial grey/white image stage. Retailer product photography
 * now sits directly on the BestBuysUK card so the product itself is dominant.
 */
.rank-art,
.review-product-image.review-gallery-main{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

.product-image-zoom-hint{
  display:none!important;
}

/* Make ranked products materially larger on desktop. */
@media (min-width:981px){
  .rank-row{
    grid-template-columns:44px 300px minmax(0,1fr) 160px;
    gap:20px;
    padding:18px 20px;
  }

  .rank-art{
    width:100%;
    height:245px;
    padding:0;
  }

  .rank-art img{
    display:block;
    width:285px;
    height:238px;
    max-width:100%;
    object-fit:contain;
    object-position:center;
    margin:auto;
  }
}

/* Hover enlargement remains, but without a visible badge/box. */
@media (hover:hover) and (pointer:fine){
  .rank-art.product-image-zoom:hover img{
    transform:scale(1.27);
    background:transparent;
    box-shadow:none;
    padding:0;
    filter:drop-shadow(0 18px 22px rgba(18,36,55,.18));
  }

  .review-product-image.product-image-zoom:hover img{
    transform:scale(1.16);
    background:transparent;
    box-shadow:none;
    padding:0;
    filter:drop-shadow(0 20px 26px rgba(18,36,55,.16));
  }
}

/* Much larger review hero image with no artificial stage behind it. */
.review-product-image.review-gallery-main{
  height:500px;
  padding:0 8px;
}

.review-product-image.review-gallery-main img{
  display:block;
  width:100%;
  height:485px;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  margin:auto;
}

/* Thumbnails stay compact and neutral; only active selection gets orange. */
.review-gallery-thumbs{
  margin-top:4px;
  padding-top:10px;
}

.review-gallery-thumb{
  background:#fff;
}

.review-gallery-thumb[hidden]{
  display:none!important;
}

@media (max-width:1180px) and (min-width:981px){
  .rank-row{
    grid-template-columns:44px 255px minmax(0,1fr) 150px;
  }
  .rank-art{
    height:220px;
  }
  .rank-art img{
    width:245px;
    height:215px;
  }
}

@media (max-width:980px){
  .rank-row{
    grid-template-columns:42px 205px minmax(0,1fr) 140px;
  }
  .rank-art{
    height:185px;
    background:transparent!important;
  }
  .rank-art img{
    width:195px;
    height:180px;
  }
  .review-product-image.review-gallery-main{
    height:410px;
  }
  .review-product-image.review-gallery-main img{
    height:395px;
  }
}

@media (max-width:760px){
  .rank-row{
    grid-template-columns:30px 160px minmax(0,1fr);
  }
  .rank-art{
    height:155px;
  }
  .rank-art img{
    width:155px;
    height:150px;
  }
  .review-product-image.review-gallery-main{
    height:340px;
  }
  .review-product-image.review-gallery-main img{
    height:325px;
  }
}

@media (max-width:460px){
  .rank-row{
    grid-template-columns:38px 1fr;
  }
  .rank-art{
    grid-column:2;
    height:250px;
  }
  .rank-art img{
    width:100%;
    height:242px;
  }
  .review-product-image.review-gallery-main{
    height:320px;
  }
  .review-product-image.review-gallery-main img{
    height:305px;
  }
}


/* =========================================================
   V24.5.0.7 — SINGLE BEST IMAGE + TRUE HOVER PREVIEW
   ========================================================= */

/* No gallery UI in single-image mode. */
.review-gallery-thumbs,
.review-gallery-thumb,
.review-single-image-note{
  display:none!important;
}

/* Product image itself should dominate the card, with no BestBuysUK stage. */
.rank-art,
.review-product-image,
.review-main-product-image{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

.rank-art{
  overflow:visible!important;
  padding:0!important;
}

.rank-art img,
.review-main-product-image img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/*
 * Slight permanent scale helps remove some of the excess white padding that
 * retailer/Awin image files themselves often contain.
 */
@media (min-width:981px){
  .rank-row{
    grid-template-columns:44px 335px minmax(0,1fr) 160px!important;
    gap:22px!important;
    padding:20px 22px!important;
  }

  .rank-art{
    width:100%!important;
    height:285px!important;
  }

  .rank-art img{
    display:block!important;
    width:325px!important;
    height:278px!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
    transform:scale(1.08)!important;
    transform-origin:center!important;
    filter:none!important;
  }

  .review-main-product-image{
    height:545px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .review-main-product-image img{
    display:block!important;
    width:100%!important;
    height:525px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
    transform:scale(1.04)!important;
  }
}

@media (max-width:1180px) and (min-width:981px){
  .rank-row{
    grid-template-columns:44px 285px minmax(0,1fr) 150px!important;
  }

  .rank-art{
    height:250px!important;
  }

  .rank-art img{
    width:275px!important;
    height:245px!important;
  }
}

/*
 * Do not transform the in-card image on hover. That approach can be clipped by
 * card/grid layout. JavaScript now renders a separate body-level preview.
 */
@media (hover:hover) and (pointer:fine){
  [data-product-hover-zoom]{
    cursor:zoom-in!important;
  }

  .rank-art.product-image-zoom:hover img,
  .review-product-image.product-image-zoom:hover img{
    transform:scale(1.08)!important;
    filter:none!important;
    box-shadow:none!important;
    padding:0!important;
  }

  .review-main-product-image.product-image-zoom:hover img{
    transform:scale(1.04)!important;
  }
}

/* Floating enlargement sits outside every product card, so it cannot clip. */
.product-hover-preview{
  position:fixed;
  z-index:2147483000;
  left:50%;
  top:50%;
  width:min(620px,48vw);
  height:min(680px,78vh);
  transform:translate(-50%,-50%) scale(.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:#fff;
  border:1px solid rgba(17,39,63,.10);
  border-radius:18px;
  box-shadow:0 28px 80px rgba(10,30,50,.28);
  transition:
    opacity .13s ease,
    transform .13s ease,
    visibility .13s ease;
}

.product-hover-preview.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}

.product-hover-preview img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#fff;
}

/* Tablet/mobile remain large but avoid desktop hover mechanics. */
@media (max-width:980px){
  .rank-row{
    grid-template-columns:42px 225px minmax(0,1fr) 140px!important;
  }

  .rank-art{
    height:205px!important;
  }

  .rank-art img{
    width:215px!important;
    height:200px!important;
    transform:scale(1.05)!important;
  }

  .review-main-product-image{
    height:430px!important;
  }

  .review-main-product-image img{
    height:415px!important;
  }
}

@media (max-width:760px){
  .rank-row{
    grid-template-columns:30px 175px minmax(0,1fr)!important;
  }

  .rank-art{
    height:170px!important;
  }

  .rank-art img{
    width:170px!important;
    height:165px!important;
  }

  .review-main-product-image{
    height:355px!important;
  }

  .review-main-product-image img{
    height:340px!important;
  }
}

@media (max-width:460px){
  .rank-row{
    grid-template-columns:38px 1fr!important;
  }

  .rank-art{
    grid-column:2!important;
    height:270px!important;
  }

  .rank-art img{
    width:100%!important;
    height:260px!important;
  }

  .review-main-product-image{
    height:330px!important;
  }

  .review-main-product-image img{
    height:315px!important;
  }
}
.additional-products-heading{margin:34px 0 16px;padding:20px 22px;border-radius:16px;background:#f3f6f8;border:1px solid #dfe6ea;display:flex;flex-direction:column;gap:4px}.additional-products-heading span{font-size:1.15rem;font-weight:800;color:#17242c}.additional-products-heading small{color:#5b6870}
.rank-tier-heading{margin:30px 0 14px;padding:14px 18px;border-left:4px solid #dbe3eb;background:#f8fafc;border-radius:10px;display:flex;flex-direction:column;gap:3px}.rank-tier-heading span{font-size:1.1rem;font-weight:800;color:#17242c}.rank-tier-heading small{color:#5b6870}.rank-tier-heading-top{border-left-color:#f47b20;background:#fff8ef}.rank-tier-heading-lower{margin-top:38px;border-left-color:#aab6c2;background:#f4f6f8}.rank-tier-heading[hidden]{display:none!important}

/* =========================================================
   V24.8.6 — FEED-FIRST COMPARISON CARD LAYOUT
   ========================================================= */

/*
 * Feed-first cards do not have a rank column, so they need a dedicated grid.
 * The inherited large ranked-card image layout reserved too much horizontal
 * space and could overlap the product copy at browser zoom levels.
 */
.price-comparison-list .rank-row{
  grid-template-columns:minmax(220px,280px) minmax(0,1fr) 200px!important;
  gap:28px!important;
  min-height:230px;
  padding:18px 22px!important;
}
.price-comparison-list .rank-art{
  grid-column:auto!important;
  width:100%!important;
  height:205px!important;
  justify-self:center;
}
.price-comparison-list .rank-art img{
  width:220px!important;
  height:200px!important;
  max-width:100%!important;
  transform:none!important;
}
.price-comparison-list .rank-copy{
  grid-column:auto!important;
  min-width:0;
}
.price-comparison-list .rank-actions{
  grid-column:auto!important;
  width:200px;
  min-width:0;
}

@media (max-width:980px){
  .price-comparison-list .rank-row{
    grid-template-columns:185px minmax(0,1fr) 175px!important;
    gap:18px!important;
    min-height:180px;
  }
  .price-comparison-list .rank-art{height:165px!important}
  .price-comparison-list .rank-art img{width:175px!important;height:160px!important}
  .price-comparison-list .rank-actions{width:175px}
}

@media (max-width:680px){
  .price-comparison-list .rank-row{
    grid-template-columns:145px minmax(0,1fr)!important;
    gap:14px!important;
    min-height:0;
  }
  .price-comparison-list .rank-art{height:145px!important}
  .price-comparison-list .rank-art img{width:145px!important;height:140px!important}
  .price-comparison-list .rank-actions{
    grid-column:1/-1!important;
    width:auto;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .price-comparison-list .rank-score{
    width:100%!important;
    min-width:0;
  }
  .price-comparison-list .orange-review{
    width:100%;
    margin:0!important;
    min-width:0;
  }
  .price-comparison-list .affiliate-action-wrap{
    width:100%;
    margin-top:0;
  }
}

@media (max-width:460px){
  .price-comparison-list .rank-row{grid-template-columns:1fr!important}
  .price-comparison-list .rank-art{grid-column:1!important;height:220px!important}
  .price-comparison-list .rank-art img{width:100%!important;height:215px!important}
}

/* =========================================================
   V24.8.14 — APPROVED CATEGORY FEED BACKFILL
   ========================================================= */

/* Focused guides and the home showcase use the same clean, unstaged product
   presentation as the main category comparison cards. */
.lawn-guide-image,
.dark-product-art{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.lawn-guide-image{
  min-height:205px;
  height:205px;
}

.lawn-guide-image img{
  width:220px;
  height:200px;
  max-width:100%;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.dark-product-art img{
  width:100%;
  height:148px;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

@media(min-width:981px){
  .lawn-guide-pick{
    grid-template-columns:56px 240px minmax(0,1fr) 175px;
  }
}

@media(max-width:760px){
  .lawn-guide-image{
    min-height:100px;
    height:100px;
  }
  .lawn-guide-image img{
    width:104px;
    height:100px;
  }
}

/* =========================================================
   V24.8.74 — CATEGORY TOP-3 SUBCATEGORY PICKS
   ========================================================= */
.category-subcategory-picks{
  margin-top:28px;
  margin-bottom:34px;
  padding:28px;
  border:1px solid #dce5ed;
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbfd 100%);
}
.category-subcategory-head,
.category-subcategory-block-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.category-subcategory-head{
  margin-bottom:24px;
}
.category-subcategory-head h2{
  margin:7px 0 6px;
  color:var(--ink);
  font-size:28px;
  line-height:1.15;
}
.category-subcategory-head p,
.category-subcategory-block-head p{
  margin:0;
  color:#5d7187;
  line-height:1.55;
}
.category-subcategory-jump,
.category-subcategory-link{
  color:#175a8b;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.category-subcategory-jump:hover,
.category-subcategory-link:hover{
  color:var(--orange);
}
.category-subcategory-sections{
  display:grid;
  gap:24px;
}
.category-subcategory-block{
  padding-top:22px;
  border-top:1px solid #e2e9ef;
}
.category-subcategory-block:first-child{
  padding-top:0;
  border-top:0;
}
.category-subcategory-block-head{
  margin-bottom:14px;
}
.category-subcategory-block-head h3{
  margin:5px 0 5px;
  color:var(--ink);
  font-size:21px;
  line-height:1.25;
}
.subcategory-label{
  color:#d86b00;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.category-subcategory-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.category-subcategory-card{
  position:relative;
  display:grid;
  grid-template-columns:48px 96px minmax(0,1fr);
  gap:11px;
  align-items:start;
  min-width:0;
  padding:13px;
  border:1px solid #dde5ed;
  border-radius:15px;
  background:#fff;
}
.category-subcategory-rank{
  display:flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f2f5f7;
  color:var(--ink);
  font-size:12px;
  font-weight:900;
}
.category-subcategory-card:first-child .category-subcategory-rank{
  background:#ff8a00;
  color:#fff;
}
.category-subcategory-image{
  display:flex;
  height:92px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:10px;
  background:#f7f8fa;
}
.category-subcategory-image img{
  width:100%;
  height:92px;
  object-fit:contain;
}
.category-subcategory-card-copy{
  min-width:0;
}
.category-subcategory-card-copy h4{
  margin:0 0 4px;
  font-size:14px;
  line-height:1.3;
}
.category-subcategory-card-copy h4 a{
  color:var(--ink);
  text-decoration:none;
}
.category-subcategory-card-copy h4 a:hover{
  color:var(--orange);
}
.category-subcategory-card-copy small{
  display:block;
  margin-bottom:6px;
  color:#6a7c8e;
  font-size:11px;
  font-weight:800;
}
.category-subcategory-card-copy p{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#40556b;
  font-size:12px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.category-subcategory-card-actions{
  grid-column:2 / -1;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding-top:8px;
  border-top:1px solid #edf1f4;
}
.category-subcategory-card-actions strong{
  color:#0a6b31;
  font-size:20px;
  line-height:1;
}
.category-subcategory-card-actions span{
  color:#61758b;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}
.category-subcategory-card-actions .orange-review{
  margin-left:auto;
  padding:7px 9px;
  font-size:11px;
  white-space:nowrap;
}

@media(max-width:1100px){
  .category-subcategory-cards{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .category-subcategory-picks{
    margin-top:18px;
    padding:18px 14px;
    border-radius:15px;
  }
  .category-subcategory-head,
  .category-subcategory-block-head{
    display:block;
  }
  .category-subcategory-head h2{
    font-size:24px;
  }
  .category-subcategory-jump,
  .category-subcategory-link{
    display:inline-block;
    margin-top:10px;
  }
  .category-subcategory-card{
    grid-template-columns:42px 92px minmax(0,1fr);
    gap:9px;
    padding:11px;
  }
  .category-subcategory-card-actions{
    grid-column:1 / -1;
  }
}

/* =========================================================
   V24.8.156 — CONSISTENT CATEGORY RANKING CARD HIERARCHY
   Top three cards receive the single accent treatment. Every
   lower-ranked card uses the same neutral outline.
   ========================================================= */

.rank-row.rank-standard,
.rank-row.main-market-recommendation,
.rank-row.additional-market-recommendation{
  border:1px solid #dbe3eb!important;
  border-left:1px solid #dbe3eb!important;
  box-shadow:none!important;
}

.rank-row.rank-top-three{
  border:1px solid #f0c17c!important;
  border-left:4px solid #f47b20!important;
  box-shadow:0 1px 0 rgba(244,123,32,.08)!important;
}

/* =========================================================
   V24.8.162 — COMPLETE AUTOCOMPLETE RESULT LISTS
   Both site search fields receive the same larger, scrollable
   suggestion panel. The API now supplies up to 40 products and
   additional matching categories instead of stopping at eight rows.
   ========================================================= */

@media(min-width:761px){
  .autocomplete-menu,
  .head-search .autocomplete-menu,
  .hero-search-large .autocomplete-menu{
    max-height:min(70vh,620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#aeb9c5 #f3f6f8;
  }

  /* Explicit header-search rule: keep the top-right panel independently
     scrollable even when other autocomplete rules are changed later. */
  .head-search .autocomplete-menu{
    max-height:min(70vh,620px)!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
  }
}

/* V24.8.218: sortable category list — replaces the fixed Top 3 tiers. */
.category-sort-bar{grid-column:1/-1;display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:0 0 12px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#f8faff}
.category-sort-bar label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#2b3b4d}
.category-sort-bar select{font-size:13px;padding:8px 11px;border:1px solid #c9d6e4;border-radius:6px;background:#fff;font-weight:700;color:#12263f;min-width:210px;cursor:pointer}
.category-sort-bar select:hover{border-color:var(--orange)}
.category-sort-note{font-size:10px;color:#5a6b7d}
.rank-price{border:1px solid #c9d6e4;background:linear-gradient(180deg,#f4f8fd,#e8f0f9);border-radius:8px;padding:8px 6px;text-align:center;margin-bottom:5px}
.rank-price-label{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#3d4f61;margin-bottom:2px}
.rank-price strong{display:block;font-size:21px;line-height:1.05;color:#0d2136;white-space:nowrap}
.rank-price-retailers{display:block;font-size:9px;font-weight:700;color:#3d4f61;margin-top:3px}
.rank-price-checked{display:block;font-size:8px;color:#5a6b7d;margin-top:3px}
.rank-saving{display:inline-block;font-size:9px;font-weight:900;color:#fff;background:#0a7a3c;border:0;border-radius:999px;padding:4px 9px;margin-top:5px;white-space:nowrap}

/* V24.8.220: direct-to-retailer button on category cards. Secondary styling so
   the review remains the primary action. */
.retailer-direct{display:block;border:1px solid #12263f;background:#12263f;color:#fff;border-radius:6px;text-align:center;padding:9px 6px;margin-top:5px;font-size:11px;font-weight:900;text-decoration:none;line-height:1.35}
.retailer-direct:hover{background:#0d2136;border-color:#0d2136;color:#fff}
.retailer-direct span{display:block;font-size:15px;margin-top:3px;color:#ffd55e}
.retailer-direct-note{display:block;text-align:center;font-size:8px;color:#8593a3;margin-top:4px}
.rank-num-hidden{background:transparent!important;box-shadow:none!important}

/* V24.8.227: admin product-image chooser. */
.product-image-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:12px}
.product-image-choice{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;display:flex;flex-direction:column;gap:7px}
.product-image-choice.is-current{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,122,0,.14)}
.product-image-choice-frame{aspect-ratio:1;background:#f5f8fc;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-image-choice-frame img{max-width:100%;max-height:100%;object-fit:contain}
.product-image-choice-meta{display:flex;flex-direction:column;gap:2px;font-size:11px}
.product-image-choice-meta strong{font-size:12px;color:#12263f}
.product-image-choice-meta span{color:#5a6b7d;font-size:10px}
.product-image-choice-current{color:var(--orange)!important;font-weight:900}
.product-image-choice button{width:100%;padding:7px;font-size:11px;font-weight:800;border:1px solid var(--line);border-radius:6px;background:#f8faff;cursor:pointer}
.product-image-choice button:hover{border-color:var(--orange);color:var(--orange)}

.rank-score-basis{display:block;font-style:normal;font-size:8px;color:#5a6b7d;margin-top:3px}
.rank-score-unscored{background:#f5f7fa;border-color:#dfe6ee}
.rank-score-unscored strong{color:#8593a3}
.rank-score-unscored small{font-size:8px;line-height:1.3;display:block}
.big-green-score-unscored{background:#5a6b7d!important}
.big-green-score-unscored strong{color:#fff}

/* V24.8.232: cons return with the manufacturer lookup. The existing style is
   red, which suits faults — but these are trade-offs drawn from published
   specifications ("62dB, louder than most in this class"), not warnings. Amber
   reads as "worth considering" rather than "avoid". */
.cons-box{background:#fff8ec!important;border:1px solid #f0dfc4}
.cons-box h3{color:#8a5a12!important}
.cons-box li{color:#5c4a2e}

/* V24.8.241: category opportunities awaiting a decision. */
.opportunity-awaiting{background:#fff8ec}
.opportunity-awaiting td{border-top:1px solid #f0dfc4}
.opportunity-divider td{background:#eef2f7;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#5a6b7d;padding:7px 10px}

/* V24.8.247: disabled retailer row in the autopilot breakdown. */
.retailer-disabled{opacity:.55}
.retailer-disabled strong{font-weight:700}

/* V24.8.248: out-of-credit state on the autopilot dashboard. */
.credit-blocked{background:#fdecec;border-color:#f0c2c2}
.credit-blocked a{color:#a12020;font-weight:800}
.autopilot-status-strip .stat-alert{background:#fdecec;border-color:#f0c2c2}
.autopilot-status-strip .stat-alert strong{color:#a12020}

/* V24.8.250: social posting admin. */
.social-preview{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start}
.social-preview-image{background:#f5f8fc;border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center}
.social-preview-image img{max-width:100%;height:auto;border-radius:4px}
.social-preview-text{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.5;background:#f8faff;border:1px solid var(--line);border-radius:8px;padding:12px;margin:0}
.social-status{display:inline-block;font-size:10px;font-weight:900;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.social-status-posted{background:#eaf7ef;color:#0a7a3c}
.social-status-dry_run{background:#eef2f7;color:#5a6b7d}
.social-status-failed{background:#fdecec;color:#a12020}
@media(max-width:640px){.social-preview{grid-template-columns:1fr}}

.social-preview-networks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.social-preview-networks h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#5a6b7d}
@media(max-width:900px){.social-preview-networks{grid-template-columns:1fr}}

.rotation-next{background:#fff8ec}
.rotation-next td{border-top:1px solid #f0dfc4}
