/* Open editorial shopping rows. All retailer links work without JavaScript. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shop-shortlist{padding:clamp(30px,5vw,64px) 0;scroll-margin-top:130px}
.shop-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.shop-heading h2{font-size:clamp(1.8rem,3.3vw,2.6rem);margin-top:8px}
.shop-note{font-family:var(--sans);font-size:12px;line-height:1.7;color:var(--muted);max-width:90ch;margin:16px 0}
.shop-list{border-top:1px solid var(--line);margin-top:24px}
.shop-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(200px,270px);gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}
.shop-number{align-self:start;color:var(--rust);font:500 12px var(--sans);padding-top:7px}
.shop-row h3{font-size:clamp(1.35rem,2vw,1.7rem);margin-bottom:8px}
.shop-row p{font-size:16px;line-height:1.6;max-width:56ch}
.shop-context{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:12px;font:500 12px var(--sans)}
.shop-context a{color:var(--rust);text-underline-offset:3px}
.shop-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0 0}
.shop-row>.shop-actions{margin:0;align-self:center}
.shop-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 16px;font:600 12px/1.35 var(--sans);text-decoration:none;border:1px solid var(--forest);transition:background .2s,color .2s;white-space:nowrap}
.shop-button.primary{background:var(--forest);color:var(--paper)}
.shop-button.primary:hover{background:var(--forest-2)}
.shop-button.secondary{color:var(--forest);background:transparent}
.shop-button.secondary:hover{background:var(--paper-2)}
.shop-row>.shop-actions .shop-button{flex:1 1 100%}
.save-pick,.text-button{font:600 12px/1.5 var(--sans);color:var(--rust);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:11px 0;min-height:44px;cursor:pointer}
.save-pick{flex-basis:100%;text-align:left}
.save-pick[aria-pressed=true]{color:var(--forest)}
.shortlist-toggle{display:flex;align-items:center;gap:8px;font:600 12px var(--sans);padding:10px 0;background:transparent;border:0;color:var(--ink);cursor:pointer;min-height:44px}
.shortlist-toggle span{display:grid;place-items:center;min-width:22px;height:22px;background:var(--forest);color:var(--paper);font-size:11px;border-radius:50%}
.shortlist-dialog{position:fixed;inset:0;margin:auto;background:var(--paper);color:var(--ink);width:min(760px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);padding:clamp(24px,4vw,48px);overflow-y:auto}
.shortlist-dialog::backdrop{background:rgba(18,35,25,.6)}
.shortlist-top,.shortlist-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.shortlist-top{margin-bottom:20px}.shortlist-top h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-top:6px}
.shortlist-close{align-self:flex-start;background:transparent;border:1px solid var(--line);width:44px;height:44px;color:var(--forest);font-size:18px;cursor:pointer}
.shortlist-item{padding:24px 0;border-bottom:1px solid var(--line)}
.shortlist-title{font-size:21px;text-underline-offset:4px}
.shortlist-item .shop-actions{margin-top:14px}
.shortlist-empty{padding:48px 0;border-bottom:1px solid var(--line);margin-bottom:20px}
.shortlist-empty h3{font-size:26px;margin-bottom:12px}.shortlist-empty p{max-width:40ch}
.shortlist-bottom{margin-top:24px;flex-wrap:wrap}
#shortlistStatus{margin-top:16px}
.gear-tools{display:flex;gap:20px;align-items:flex-end;padding-top:20px;padding-bottom:20px}
.gear-tools>div{flex:1}.gear-tools label{display:block;font:600 12px var(--sans);margin-bottom:10px}
.gear-tools input{display:block;width:100%;padding:14px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font:15px var(--sans);min-height:48px;border-radius:0}
.gear-empty{padding-top:40px;padding-bottom:40px;font:16px var(--sans)}
.cat-sec .edit-row[hidden],.cat-sec .opt[hidden]{display:none!important}
.prose .shop-button.primary{color:var(--paper)}
.prose .shop-button.secondary{color:var(--forest)}
@media(max-width:760px){
  .shop-row{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:24px 0}
  .shop-row>.shop-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .shop-row>.shop-actions .save-pick{grid-column:1/-1;padding:8px 0}
  .shop-button{white-space:normal;text-align:center;padding:11px 12px}
  .shop-row p{font-size:15px}.shop-heading>.sans-note{display:none}
  .head-row{gap:12px}.head-nav{gap:14px}.logo{font-size:11px;letter-spacing:.075em;gap:7px}.logo svg{width:22px;height:22px}
  .shortlist-toggle{font-size:11px;gap:5px}
  .gear-tools{flex-wrap:wrap;gap:6px}.gear-tools>div{flex-basis:100%}
  .shortlist-dialog{padding:24px 20px}.shortlist-item .shop-button{flex:1}
  .shortlist-item .text-button{flex-basis:100%;text-align:left}
}
@media(max-width:370px){.logo{font-size:10px}.head-nav{gap:8px}.shortlist-toggle{font-size:10px}.head-row{gap:6px}}
@media(prefers-reduced-motion:reduce){.shop-button{transition:none}}
