/* Shared header search: a keyword bar stays available on every page. */
.site-search{flex:1 1 280px;min-width:180px;max-width:390px;margin-left:auto;color:var(--ink)}
.site-search-form{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:stretch;gap:8px;width:100%;margin:0}
.site-search-form label{display:block;min-width:0}
.search-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-search-form input{width:100%;min-width:0;min-height:42px;border:1px solid #c7b7a2;border-radius:3px;background:#fffdf8;color:var(--ink);font:inherit;font-size:14px;line-height:1.4;padding:9px 11px}
.site-search-form input::placeholder{color:#80786e;opacity:1}
.site-search-form input:focus-visible,.site-search-submit:focus-visible{outline:3px solid #466e82;outline-offset:3px}
.site-search-submit{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border-radius:3px;background:var(--red);color:#fffdf8;font-size:13px;font-weight:700;white-space:nowrap}
.site-search-submit:hover{background:#932017}
.site-header:has(.site-search){gap:20px}
.site-header:has(.site-search) .saved-nav{margin-left:0;padding-left:16px;white-space:nowrap}
.article-header [data-site-search]{flex:1 1 280px;max-width:390px;min-width:180px}
.article-header:has(.site-search){gap:20px}
.article-header:has(.site-search)>a:not(.brand){flex:none;padding:12px 0;font-size:13px;color:var(--red);white-space:nowrap}

/* Search results keep the product name and practical details beside its image. */
.search-page-header{height:auto;min-height:110px;padding:16px 0}
.search-home-link{flex:none;font-size:12px;white-space:nowrap}
.search-main{width:min(1220px,89%);margin:0 auto;padding:54px 0 78px}
.search-eyebrow{color:var(--red);font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:12px}
.search-intro h1{font-family:var(--serif);font-size:clamp(27px,3.2vw,39px);font-weight:800;letter-spacing:-.035em;line-height:1.55}
.search-intro>p:last-child{font-size:14px;line-height:1.9;color:var(--muted);margin-top:15px}
.search-mobile-break{display:none}
.search-conditions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-height:44px;margin:25px 0 25px}
.search-condition{display:inline-flex;align-items:center;gap:12px;min-height:38px;max-width:100%;border:1px solid #d8baac;border-radius:4px;padding:7px 11px;color:var(--red);background:#f5e9df;font-size:12px;overflow-wrap:anywhere}
.search-condition>span{font-size:18px;line-height:1;flex:none}
.search-condition:hover{background:#eddbcd}
.search-reset{font-size:12px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;margin-left:8px}
.search-all-label{font-size:13px;color:var(--muted)}
.search-result-total{font-size:14px;line-height:1.9}
.search-result-total strong{font-size:20px;color:var(--red);margin:0 3px}
.search-result-section{margin-top:39px;scroll-margin-top:25px}
.search-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:19px}
.search-section-heading h2{font-family:var(--serif);font-size:24px;line-height:1.6}
.search-section-heading h2>span{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);margin-left:12px}
.search-section-heading>p,.search-section-note{font-size:12px;line-height:1.85;color:var(--muted)}
.search-section-note{margin:-9px 0 19px}
.search-products-grid,.search-articles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.search-product{display:grid;grid-template-columns:140px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:18px;row-gap:17px;min-width:0;padding:21px;background:#fffdf8;border:1px solid #dfd5c7;border-radius:5px}
.search-thumbnail{display:block;overflow:hidden;border-radius:3px;aspect-ratio:1;background:#eee4d5;align-self:start}
.search-thumbnail img{width:100%;height:100%;object-fit:cover}
.search-product--merchant-photo .search-thumbnail img{object-fit:contain;background:#fff}
.search-image-fallback{display:grid;place-content:center;height:100%;font-family:var(--serif);font-size:21px;line-height:1.8;text-align:center;color:var(--red)}
.search-result-kind{font-size:11px;line-height:1.8;color:var(--red);font-weight:600;margin-bottom:7px}
.search-result-kind>span{color:var(--muted);margin-left:9px;font-weight:400}
.search-product .search-result-kind>.search-domestic{position:static;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;margin-left:8px;color:#fffaf0;font:700 11px/1.5 var(--sans);letter-spacing:0;border-radius:2px;box-shadow:none;vertical-align:middle}
.search-domestic>span{width:12px;height:10px;font-size:8px}
.search-product h3,.search-article h3{font-size:19px;font-weight:700;line-height:1.65;letter-spacing:-.025em;overflow-wrap:anywhere}
.search-product h3>a:hover,.search-article-link:hover h3{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.search-product h3>a>span{display:inline;font-size:15px;color:var(--red);white-space:nowrap}
.search-description{font-size:13px;line-height:1.9;color:#665e53;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.search-product-facts{padding:0;list-style:none;margin:12px 0 0;font-size:12px;line-height:1.8;color:#655c50}
.search-product-facts li+li{margin-top:3px}
.search-people-guide{font-size:11px;line-height:1.9;margin-top:9px;padding-top:8px;border-top:1px solid #e5ddd2;color:#6e6458}
.search-product-purchase{display:flex;align-items:end;justify-content:space-between;gap:12px;grid-column:1/-1;border-top:1px solid #e8dfd3;padding-top:14px}
.search-price{font-family:var(--serif);font-size:23px;font-weight:800;line-height:1.4;flex:none}
.search-price small{display:block;font-family:var(--sans);font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
.search-price .price-recheck{font-family:var(--sans);font-size:15px;font-weight:500}
.search-product-cta{width:min(180px,50%);flex:none}
.search-product-cta>a,.search-direct-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:11px 14px;border-radius:3px;background:var(--red);color:white;font-size:12px;font-weight:600}
.search-product-cta>a:hover,.search-direct-cta:hover{background:#932017}
.search-direct-cta>span{font-size:22px;font-weight:400}
.search-article{min-width:0;border-bottom:1px solid #dcd1c2}
.search-article-link{display:grid;grid-template-columns:128px minmax(0,1fr);gap:20px;padding:18px 0 23px;height:100%}
.search-article .search-thumbnail{aspect-ratio:4/3}
.search-article .search-description{-webkit-line-clamp:2}
.search-read-link{display:flex;align-items:center;gap:11px;font-size:12px;color:var(--red);margin-top:13px}
.search-read-link svg{width:17px;height:17px}
.search-section-empty{font-size:14px;color:var(--muted);line-height:1.9;padding:25px 0;border-top:1px solid var(--line)}
.search-zero{padding:25px;border:1px solid #dfd0ba;border-radius:5px;background:#f1e8da}
.search-zero-title{font:700 18px/1.7 var(--serif)}
.search-zero-form{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:9px;max-width:580px;margin-top:16px}
.search-zero-form input{width:100%;min-width:0;min-height:46px;padding:9px 11px;border:1px solid #c7b7a2;border-radius:3px;background:#fffdf8;color:var(--ink);font:inherit;font-size:16px}
.search-zero-form button{min-height:46px;padding:9px 13px;border-radius:3px;background:var(--red);color:#fffdf8;font-size:14px;font-weight:700}
.search-zero-form input:focus-visible,.search-zero-form button:focus-visible{outline:3px solid #466e82;outline-offset:3px}
.search-zero-home{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--red);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.search-empty{margin:30px 0 12px;padding:35px;background:#f1e8da;border:1px solid #dfd0ba;border-radius:5px}
.search-empty h2{font-family:var(--serif);font-size:23px;line-height:1.7}
.search-empty p{font-size:14px;line-height:1.9;color:#6d6254;margin-top:13px}
.search-relaxations{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:23px}
.search-relaxations>a,.search-retry{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #bfa88d;border-radius:4px;background:#fffaf2;color:var(--red);font-size:13px}
.search-relaxations>a:hover,.search-retry:hover{background:#eadac7}
.search-retry{margin-top:20px}
.search-error-home{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin:20px 0 0 20px;text-decoration:underline;text-underline-offset:4px}
.search-status{font-size:15px;padding:35px 0;line-height:1.9;color:var(--muted)}
.search-page .footer-links{flex-wrap:wrap;font-size:12px}

@media(max-width:1100px){
  .site-header:has(.site-search) nav{display:none}
  .site-search{max-width:360px}
  .search-home-link{font-size:11px}
  .search-product{grid-template-columns:110px minmax(0,1fr);padding:18px;column-gap:15px}
  .search-product h3,.search-article h3{font-size:18px}
  .search-description{font-size:12px}
  .search-article-link{grid-template-columns:105px minmax(0,1fr);gap:16px}
}
@media(max-width:800px){
  .site-header:has(.site-search),.article-header:has([data-site-search]){display:flex;flex-wrap:wrap;height:auto;gap:10px 14px;padding-top:14px;padding-bottom:14px}
  .site-header:has(.site-search) .site-search,.article-header [data-site-search]{order:10;flex:0 0 100%;max-width:none;min-width:0;margin-left:0;padding-top:11px;border-top:1px solid var(--line)}
  .site-search-form input,.site-search-submit{min-height:46px}
  .site-search-form input{font-size:16px}
  .site-header:has(.site-search) .saved-nav{margin-left:auto}
}
@media(max-width:760px){
  .site-header:has(.site-search){gap:8px 12px}
  .site-header:has(.site-search) .brand>span{font-size:22px}
  .site-header:has(.site-search) .saved-nav{padding-left:10px}
  .site-header:has(.site-search) .saved-nav>span{display:none}
  .search-main{width:89%;padding:33px 0 50px}
  .search-products-grid,.search-articles-grid{grid-template-columns:1fr;gap:17px}
  .search-product{grid-template-columns:135px minmax(0,1fr);gap:16px;padding:20px}
  .search-product h3,.search-article h3{font-size:19px}
  .search-description{font-size:13px}
  .search-article-link{grid-template-columns:125px minmax(0,1fr);gap:20px;padding:10px 0 23px}
  .search-section-heading{display:block;margin-bottom:18px}
  .search-section-heading>p{margin-top:7px}
}
@media(max-width:520px){
  .site-header:has(.site-search){margin:0 5%;gap:7px 9px;min-height:78px;padding:14px 0}
  .site-header:has(.site-search) .brand>span{font-size:20px}
  .site-header:has(.site-search) .brand .crab-icon{width:29px;height:29px}
  .site-header:has(.site-search) .brand{gap:6px}
  .site-search-form{grid-template-columns:minmax(0,1fr) 70px;gap:8px}
  .site-search-submit{font-size:14px}
  .search-home-link{display:none}
  .search-intro h1{font-size:28px}
  .search-intro>p:last-child{font-size:13px}
  .search-mobile-break{display:block}
  .search-conditions{margin:19px 0 20px;gap:8px}
  .search-reset{font-size:12px;margin-left:2px}
  .search-result-total{font-size:13px}
  .search-result-section{margin-top:30px}
  .search-section-heading h2{font-size:22px}
  .search-product{grid-template-columns:100px minmax(0,1fr);padding:16px;gap:15px 13px}
  .search-product h3,.search-article h3{font-size:17px;line-height:1.7}
  .search-result-kind{font-size:10px;margin-bottom:5px}
  .search-product .search-result-kind>span{display:block;margin-left:0}
  .search-description{font-size:12px;line-height:1.85;margin-top:8px}
  .search-product-facts{font-size:11px;margin-top:9px}
  .search-product-purchase{gap:10px}
  .search-price{font-size:22px}
  .search-product-cta{width:48%}
  .search-product-cta>a,.search-direct-cta{padding:10px 11px;font-size:12px}
  .search-article-link{grid-template-columns:96px minmax(0,1fr);gap:15px}
  .search-article .search-result-kind>span{margin-left:7px}
  .search-empty{padding:24px 20px}
  .search-empty h2{font-size:21px}
  .search-empty p{font-size:13px}
  .search-relaxations{display:grid;gap:10px}
  .search-relaxations>a{justify-content:center}
  .search-zero{padding:21px 18px}
  .search-zero-title{font-size:17px}
  .search-error-home{margin-left:0;display:flex}
}
@media(max-width:360px){
  .site-header:has(.site-search) .brand>span{font-size:18px}
  .site-header:has(.site-search) .brand .brand-tagline{font-size:9px}
}
