.catalogue-job-context{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;margin-bottom:20px;background:var(--brand-ink);color:var(--brand-white);border-color:#303431}
.catalogue-job-context>div:first-child{display:grid;gap:3px;min-width:0}
.catalogue-job-context .eyebrow{color:var(--brand-gold)}
.catalogue-job-context strong{font-size:1.125rem;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
.catalogue-job-context span,.catalogue-job-context small{font-size:.8125rem;line-height:1.5;color:#bdc2bc;overflow-wrap:anywhere}
.catalogue-job-context small{margin-top:2px}
.catalogue-job-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.catalogue-job-actions>span{font-size:.8125rem;line-height:1.5;color:#d0cec5}
.catalogue-job-actions .btn{background:transparent;border-color:#555b55;color:var(--brand-white)}
.catalogue-measurement-hint{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-6px 0 16px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--brand-gold);border-radius:10px;background:#f8f6ef}
.catalogue-measurement-hint>div:first-child{display:grid;gap:3px;min-width:0}
.catalogue-measurement-hint span{font-size:.68rem;line-height:1.3;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.catalogue-measurement-hint strong{font-size:.9rem;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.catalogue-measurement-copy{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.catalogue-measurement-copy p{max-width:590px;margin:0;color:var(--muted);font-size:.76rem;line-height:1.45;text-align:right}
.catalogue-measurement-copy button{flex:0 0 auto;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:.76rem;font-weight:650;cursor:pointer}
.catalogue-measurement-copy button:hover{border-color:#b9b3a4}
.catalogue-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:14px}
.catalogue-filter-details{order:1;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 5px 18px rgba(31,34,31,.035)}
.catalogue-filter-details>summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:60px;padding:13px 16px;border-left:3px solid var(--brand-gold);background:#f8f6ef;font-size:.875rem;list-style:none;cursor:default;pointer-events:none}
.catalogue-filter-details>summary::-webkit-details-marker{display:none}
.catalogue-filter-details>summary::after{content:''}
.catalogue-filter-details[open]>summary{background:#fbfaf7}
.catalogue-filter-details:not([open])>.catalogue-filter-grid{display:grid}
.catalogue-filter-details>summary>span{color:var(--ink);font-size:.92rem;line-height:1.35;font-weight:680;white-space:nowrap}.catalogue-filter-details>summary small{color:var(--muted);font-size:.76rem;line-height:1.45;font-weight:450;overflow-wrap:anywhere}
.catalogue-filter-details>summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.catalogue-filter-details::details-content{content-visibility:visible!important;display:block!important;block-size:auto!important}
.catalogue-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px 16px 16px;border-top:1px solid var(--line)}
.catalogue-filter-grid>.catalogue-tool-toggles{grid-column:1/-1}
.catalogue-feedback{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.catalogue-feedback p{color:var(--muted);font-size:.8125rem;line-height:1.5;margin:0 0 12px}
.catalogue-feedback p:empty,.catalogue-feedback [hidden],.catalogue-tools [hidden]{display:none}
.catalogue-feedback .btn{min-height:44px;margin-bottom:12px}
.catalogue-control{display:grid;gap:6px;min-width:0}
.catalogue-control>span{font-size:.72rem;line-height:1.2;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
.catalogue-search,.catalogue-filter{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 12px;font-size:16px;line-height:1.4}
.catalogue-search:focus,.catalogue-filter:focus{outline:2px solid var(--green);outline-offset:2px}
.catalogue-width{position:relative}
.catalogue-width .catalogue-search{padding-right:42px}
.catalogue-width b{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--muted);font-weight:600;pointer-events:none}
.catalogue-tool-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.catalogue-tool-toggles{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.catalogue-favourites{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.84rem;color:var(--ink);cursor:pointer}
.catalogue-favourites input{width:16px;height:16px;accent-color:var(--brand-gold)}
.catalogue-favourites span{font-weight:600}
.catalogue-opening-shortlist span{color:var(--green)}
.catalogue-clear{order:3;justify-self:end;min-height:44px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;padding:8px;cursor:pointer}
.catalogue-clear:hover{color:var(--ink)}
.catalogue-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 2px 12px;color:var(--muted)}
.catalogue-results-head strong{font-size:.9rem;color:var(--ink);font-weight:650}
.catalogue-results-head span{font-size:.76rem;text-align:right}
.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:start}
.stove-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 26px rgba(31,34,31,.065);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.stove-card::before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-gold),rgba(194,154,83,.18) 65%,transparent)}
@media(hover:hover){.stove-card:hover{transform:translateY(-2px);border-color:#cec8b9;box-shadow:0 12px 32px rgba(31,34,31,.1)}}
.stove-media{position:relative;display:grid;place-items:center;width:100%;height:210px;background:linear-gradient(180deg,#faf9f5 0%,#f2efe6 100%);border-bottom:1px solid var(--line);overflow:hidden}
.stove-media.has-image{padding:26px 30px 18px}
.stove-media img{display:block;width:100%;height:100%;max-width:560px;max-height:166px;object-fit:contain}
.stove-media-fallback span{display:grid;place-items:center;width:70px;height:70px;border:1px solid #d2ccbb;border-radius:50%;background:rgba(255,255,255,.8);color:#77746c;font-size:1.05rem;font-weight:750;letter-spacing:.08em}
.stove-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:17px 18px 18px}
.stove-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.stove-card header>div{min-width:0}
.stove-card header span{display:block;color:var(--green);font-size:.7rem;line-height:1.35;font-weight:750;text-transform:uppercase;letter-spacing:.075em}
.stove-card h3{margin:4px 0 0;font-size:1.16rem;line-height:1.25;font-weight:680;letter-spacing:-.025em;overflow-wrap:anywhere}
.stove-fav{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;color:var(--brand-gold);font-size:1.08rem;line-height:1;cursor:pointer}
.stove-fav:hover{border-color:#d4c6a6;background:#f8f2e6}
.stove-fav[aria-pressed="true"]{background:#f3ead7;border-color:#d7c08c}
.stove-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 0;padding:0;border:0}
.stove-specs>div{min-width:0;padding:9px 10px;border:1px solid #e6e2d8;border-radius:9px;background:#f8f7f3}
.stove-specs span{display:block;color:var(--muted);font-size:.62rem;line-height:1.25;text-transform:uppercase;letter-spacing:.04em}
.stove-specs strong{display:block;margin-top:3px;color:var(--ink);font-size:.79rem;line-height:1.3;font-weight:680;overflow-wrap:anywhere}
.stove-dimensions{margin:11px 1px 0;color:var(--muted);font-size:.76rem;line-height:1.4}
.stove-suitability{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:11px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#f7f6f1}
.stove-suitability>div{display:grid;gap:2px;min-width:0}
.stove-suitability span{font-size:.72rem;line-height:1.3;font-weight:750;letter-spacing:.02em;text-transform:none}
.stove-suitability small{font-size:.68rem;line-height:1.35;color:var(--muted)}
.stove-suitability a{flex:0 0 auto;color:var(--green);font-size:.67rem;line-height:1.35;font-weight:650;text-decoration:none;text-align:right}
.stove-suitability a:hover{text-decoration:underline;text-underline-offset:2px}
.stove-suitability.potential{background:#f0f5ef;border-color:#cdd8ca}
.stove-suitability.potential span{color:#35573a}
.stove-suitability.provisional{background:#f7f4ec;border-color:#ddd3bd}
.stove-suitability.provisional span{color:#6b5a35}
.stove-suitability.too-narrow{background:#fbf3f1;border-color:#e3cbc4}
.stove-suitability.too-narrow span{color:#874d42}
.stove-suitability.body-only{background:#f7f6f1}
.stove-suitability.body-only span{color:#69665e}
.stove-clearance-note{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}
.stove-clearance-note summary{cursor:pointer;color:var(--muted);font-size:.7rem;line-height:1.35;font-weight:650}
.stove-clearance-note p{margin:7px 0 0;color:var(--muted);font-size:.69rem;line-height:1.42}
.stove-card footer{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-top:auto;padding-top:14px;color:var(--muted);font-size:.7rem;line-height:1.35}
.stove-card footer>span{font-weight:650}
.stove-card footer a{color:var(--green);font-weight:650;text-decoration:none;text-align:right}
.stove-card footer a:hover{text-decoration:underline;text-underline-offset:3px}
.stove-card-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.catalogue-grid>.detail-empty{grid-column:1/-1;padding:32px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center}
@media(max-width:1050px){
  .catalogue-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .catalogue-job-context{display:grid;padding:20px}
  .catalogue-job-actions{justify-content:flex-start}
  .catalogue-job-actions .btn{width:100%}
  .catalogue-measurement-hint{display:grid;gap:10px;margin-top:-6px}
  .catalogue-measurement-copy{display:grid;justify-content:stretch;gap:8px}
  .catalogue-measurement-copy p{text-align:left;max-width:none}
  .catalogue-measurement-copy button{justify-self:start}
  .catalogue-filter-details>summary{grid-template-columns:minmax(0,1fr);gap:4px;padding:13px 14px}
  .catalogue-filter-details>summary>span{grid-column:1;white-space:normal}
  .catalogue-filter-details>summary small{grid-column:1}
  .catalogue-filter-grid{padding:12px 14px 14px}
  .catalogue-tool-actions{align-items:flex-start}
  .catalogue-tool-toggles{gap:10px}
  .catalogue-results-head span{display:none}
  .catalogue-grid{grid-template-columns:1fr;gap:14px}
  .stove-media{height:195px}
  .stove-media.has-image{padding:25px 28px 16px}
  .stove-media img{max-height:152px}
  .stove-card-body{padding:15px 16px 17px}
  .stove-suitability{display:grid}
  .stove-suitability a{text-align:left}
}
@media(max-width:430px){
  .catalogue-filter-grid{grid-template-columns:minmax(0,1fr)}
  .catalogue-tool-actions{grid-column:1}
  .catalogue-tool-actions{display:grid;gap:6px}
  .catalogue-tool-toggles{display:grid;gap:4px}
  .stove-media{height:180px}
  .stove-media.has-image{padding:24px 26px 14px}
  .stove-media img{max-height:140px}
  .stove-specs{gap:6px}
  .stove-specs>div{padding:8px}
  .stove-specs strong{font-size:.75rem}
}


.stove-card footer{flex-direction:column;align-items:center;text-align:center;gap:8px}
.stove-card footer .stove-share-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #d3d6ca;background:#f1f3ec;color:#354c3c;font-size:.8125rem;font-weight:650;border-radius:9px;max-width:100%}
.stove-card footer .stove-share-button:hover{background:#e8eddf;border-color:#a9b59f}
.stove-card footer a{font-size:.75rem;text-align:center}
.stove-share-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:28px;border:1px solid #dfdfd4;border-radius:18px;background:#fcfbf7;color:#27342b;box-shadow:0 24px 90px #15221b38}
.stove-share-dialog::backdrop{background:#17211bcc;backdrop-filter:blur(3px)}
.stove-share-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.stove-share-heading>span{font-size:11px;letter-spacing:.12em;font-weight:700;color:#807146}.stove-share-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #dddcd2;background:transparent;border-radius:9px;font-size:24px;color:#56604f}
.stove-share-dialog h2{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin:16px 0 10px}.stove-share-name{font-size:17px;font-weight:650;margin:0 0 14px;overflow-wrap:anywhere}.stove-share-description{font-size:14px;line-height:1.65;color:#697162;margin:0 0 24px}.stove-share-link{display:grid;gap:8px;font-size:12px;font-weight:650;color:#626b5c}.stove-share-link input{width:100%;min-width:0;min-height:46px;border:1px solid #d8dace;border-radius:8px;padding:10px 12px;background:#f2f3ec;color:#35472f;font-size:13px}.stove-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.stove-share-actions .btn{min-height:44px;font-size:13px;text-decoration:none}.stove-share-status{min-height:42px;margin:16px 0 0;font-size:13px;color:#54664b;line-height:1.6}

.catalogue-filter-bottom{display:grid;grid-template-columns:minmax(180px,340px) minmax(0,1fr) auto;align-items:end;gap:18px;padding:0 16px 18px}
.catalogue-model-search{min-width:0}.catalogue-filter-bottom .catalogue-tool-toggles{min-height:44px;align-items:center}.catalogue-filter-bottom .catalogue-clear{margin:0;white-space:nowrap}
.stove-share-actions [aria-disabled="true"]{opacity:.5;cursor:default}
@media(max-width:700px){.catalogue-filter-bottom{grid-template-columns:minmax(0,1fr);padding:0 14px 16px;gap:12px}.catalogue-filter-bottom .catalogue-clear{justify-self:start}.catalogue-filter-bottom .catalogue-tool-toggles{min-height:32px}}

/* Top-layer menus stay below their fields, clear of the filter panel's clipping. */
.catalogue-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;text-align:left;font-family:inherit;font-weight:400;cursor:pointer}
.catalogue-select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalogue-select-arrow{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);flex:none;opacity:.65}
.catalogue-select-trigger[aria-expanded="true"]{border-color:var(--brand-gold)}
.catalogue-select-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.catalogue-select-list{position:fixed;inset:auto;margin:0;padding:5px;box-sizing:border-box;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aaa99f transparent;overscroll-behavior:contain;border:1px solid var(--line);border-radius:6px;background:var(--card,#fffdf8);color:var(--ink,#242a25);box-shadow:0 10px 28px rgba(31,34,31,.14);font-family:inherit;font-size:15px;line-height:1.4}
.catalogue-select-list [role="option"]{padding:9px 10px;border-radius:3px;cursor:pointer;font-size:15px;line-height:1.4}
.catalogue-select-list [role="option"]:hover,.catalogue-select-list .is-active{background:#eeece3}
.catalogue-select-list [aria-selected="true"]{font-weight:600;color:var(--green,#344d3b)}

.catalogue-control>select[hidden]{display:none}

.stove-card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.stove-use,.stove-try{width:100%;min-height:42px}
.stove-try:disabled,.stove-use:disabled{opacity:.65;cursor:wait}
.stove-trade-preview{grid-column:1/-1;margin-top:4px;padding:11px 12px;border:1px solid #ded9cb;border-radius:9px;background:#f8f6ef}
.stove-trade-preview[hidden]{display:none}
.stove-trade-preview-head{display:grid;gap:2px;padding-bottom:8px}
.stove-trade-preview-head>span{color:#80683d;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.stove-trade-preview-head>strong{font-size:.78rem;line-height:1.4}
.stove-trade-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0;border-top:1px solid #e5dfd1}
.stove-trade-preview-row>div{min-width:0}
.stove-trade-preview-row strong{display:block;font-size:.74rem;line-height:1.35}
.stove-trade-preview-row small{display:block;margin-top:2px;color:var(--muted);font-size:.67rem;line-height:1.4}
.stove-trade-preview-row>span{align-self:start;color:#6c6251;font-size:.66rem;line-height:1.35;font-weight:650;text-align:right}
.stove-trade-preview-row.conflict>span{color:#874d42}
.stove-trade-preview-row.review>span,.stove-trade-preview-row.unconfirmed>span,.stove-trade-preview-row.stale>span{color:#80683d}
.stove-trade-preview-row.clear>span{color:#52685a}
.stove-trade-preview-boundary,.stove-trade-preview-loading,.stove-trade-preview-error{display:block;color:var(--muted);font-size:.67rem;line-height:1.45}
.stove-trade-preview-error{color:#874d42}
@media(max-width:360px){.stove-card-actions{grid-template-columns:1fr}}

/* Installer catalogue on phones: two real, functional product cards per row.
   This is presentation-only: no change to catalogue queries, rights checks,
   favourite buttons, matching advice, sharing or job selection. */
@media(max-width:700px){
  .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
  .catalogue-grid>.detail-empty{grid-column:1/-1}
  .catalogue-grid .stove-card{min-width:0;border-radius:12px;box-shadow:0 4px 16px rgba(31,34,31,.055)}
  .catalogue-grid .stove-media{height:132px}
  .catalogue-grid .stove-media.has-image{padding:10px 12px 7px}
  .catalogue-grid .stove-media img{max-height:115px;max-width:100%;object-fit:contain}
  .catalogue-grid .stove-media-fallback span{width:52px;height:52px;font-size:.85rem}
  .catalogue-grid .stove-card-body{padding:11px 10px 12px}
  .catalogue-grid .stove-card header{gap:4px}
  .catalogue-grid .stove-card header span{font-size:.61rem;letter-spacing:.04em;overflow-wrap:anywhere}
  .catalogue-grid .stove-card h3{font-size:.93rem;line-height:1.25;letter-spacing:-.015em;margin-top:3px}
  .catalogue-grid .stove-fav{width:44px;height:44px;border-radius:9px}
  .catalogue-grid .stove-specs{grid-template-columns:1fr;gap:4px;margin-top:8px}
  .catalogue-grid .stove-specs>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;min-width:0;padding:4px 6px;border-radius:6px}
  .catalogue-grid .stove-specs span{font-size:.59rem;line-height:1.25;white-space:normal}
  .catalogue-grid .stove-specs strong{margin:0;font-size:.72rem;text-align:right}
  .catalogue-grid .stove-dimensions{font-size:.66rem;line-height:1.35;margin-top:7px}
  .catalogue-grid .stove-suitability{padding:7px;gap:5px;margin-top:8px}
  .catalogue-grid .stove-suitability span{font-size:.68rem}
  .catalogue-grid .stove-suitability small,.catalogue-grid .stove-suitability a{font-size:.64rem}
  .catalogue-grid .stove-clearance-note{margin-top:7px;padding-top:7px}
  .catalogue-grid .stove-card footer{gap:6px;padding-top:9px}
  .catalogue-grid .stove-card footer .stove-share-button{font-size:.72rem;padding:7px;min-width:0;width:100%;white-space:normal}
  .catalogue-grid .stove-card-actions{grid-template-columns:1fr;gap:6px;padding-top:8px;margin-top:8px}
  .catalogue-grid .stove-card-actions .btn{min-width:0;width:100%;min-height:44px;padding:8px 6px;white-space:normal;font-size:.75rem}
  .catalogue-grid .stove-trade-preview{padding:9px 7px}
  .catalogue-grid .stove-trade-preview-row{grid-template-columns:1fr;gap:3px}
  .catalogue-grid .stove-trade-preview-row>span{text-align:left}
}
@media(max-width:350px){
  .catalogue-grid{gap:7px}
  .catalogue-grid .stove-card-body{padding:9px 7px}
  .catalogue-grid .stove-card h3{font-size:.85rem}
}

/* Technical information remains in the DOM and available on demand on phones. */
.stove-mobile-detail-toggle{display:none}
.stove-mobile-detail-body{display:contents}
@media(max-width:700px){
 .catalogue-grid .stove-media{height:144px}
 .catalogue-grid .stove-card-body{padding:11px 10px 12px}
 .catalogue-grid .stove-specs{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 4px}
 .catalogue-grid .stove-specs>div{display:block;padding:6px 5px}
 .catalogue-grid .stove-specs>div:nth-child(2){display:none}
 .catalogue-grid .stove-specs span{font-size:.6rem}
 .catalogue-grid .stove-specs strong{display:block;text-align:left;margin-top:3px;font-size:.72rem}
 .catalogue-grid .stove-mobile-detail-toggle{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:44px;margin-top:8px;padding:7px 8px;border:1px solid #dcd6c8;border-radius:8px;background:#f8f6f0;color:#6b5937;font:inherit;font-size:.72rem;font-weight:650;text-align:left;cursor:pointer}
 .catalogue-grid .stove-mobile-detail-toggle span{font-size:1rem}
 .catalogue-grid .stove-mobile-detail-toggle:focus-visible{outline:3px solid var(--brand-gold);outline-offset:2px}
 .catalogue-grid .stove-mobile-detail-body{display:none}
 .catalogue-grid .stove-details-expanded .stove-mobile-detail-body{display:block}
 .catalogue-grid .stove-details-expanded .stove-specs>div:nth-child(2){display:block}
 .catalogue-grid .stove-card-actions{margin-top:8px}
}

/* Keep full stove type labels legible in the narrow two-card iPhone layout. */
@media(max-width:700px){
  .catalogue-grid .stove-specs{grid-template-columns:minmax(0,1fr);gap:3px}
  .catalogue-grid .stove-specs>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
  .catalogue-grid .stove-specs strong{margin-top:0;text-align:right;overflow-wrap:normal;word-break:normal;hyphens:none}
  .catalogue-grid .stove-specs>div:nth-child(3){display:block}
  .catalogue-grid .stove-specs>div:nth-child(3) strong{display:block;text-align:left;margin-top:2px;white-space:normal;font-size:.69rem;line-height:1.35}
}

/* Share with customer: one quiet, premium action in the brand's charcoal and brass, on the card face so it needs no extra tap. */
.stove-share-row{margin-top:12px}
@media(max-width:700px){.catalogue-grid .stove-share-row{margin-top:8px}}
.stove-card .stove-share-button{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:10px;min-height:46px;padding:11px 18px;border:1px solid var(--brand-ink);border-radius:12px;background:var(--brand-ink);color:var(--brand-white);font-size:.8125rem;font-weight:650;letter-spacing:.01em;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 6px 16px rgba(20,21,21,.16);transition:background-color .15s ease,transform .1s ease}
.stove-card .stove-share-button svg{color:var(--brand-gold);flex:none}
.stove-card .stove-share-button:hover{background:#2a2c2b;border-color:#2a2c2b}
.stove-card .stove-share-button:active{transform:scale(.98)}
.stove-card .stove-share-button:focus-visible{outline:3px solid var(--brand-gold);outline-offset:2px}
/* Choosing for a job: Use on job is the main action, so Share steps back to an outline. */
.stove-card .stove-share-button.is-quiet{background:var(--brand-white);color:var(--brand-ink);border-color:#cfcab9;box-shadow:none}
.stove-card .stove-share-button.is-quiet:hover{background:#f4f1e8;border-color:#b9b29c}
@media(max-width:700px){.catalogue-grid .stove-card .stove-share-button{width:100%;min-height:44px;gap:6px;padding:9px 8px;font-size:.7rem;letter-spacing:0;white-space:nowrap;border-radius:10px}.catalogue-grid .stove-card .stove-share-button svg{width:15px;height:15px}}
/* On a real iPhone the label fills the narrow card, so the icon gives way rather than the words clipping. */
@media(max-width:440px){.catalogue-grid .stove-card .stove-share-button svg{display:none}}
@media(prefers-reduced-motion:reduce){.stove-card .stove-share-button{transition:none}.stove-card .stove-share-button:active{transform:none}}

/* iPhone card polish: fewer boxes, a larger photo, the favourite resting on the photo and a one-line details link. */
@media(max-width:700px){
  .catalogue-grid .stove-card{border-radius:14px;border-color:rgba(31,34,31,.08);box-shadow:0 1px 2px rgba(31,34,31,.04),0 10px 24px rgba(31,34,31,.06)}
  .catalogue-grid .stove-card::before{display:none}
  .catalogue-grid .stove-media{height:158px;border-bottom:0}
  .catalogue-grid .stove-media.has-image{padding:14px 12px 6px}
  .catalogue-grid .stove-media img{max-height:138px}
  .catalogue-grid .stove-card-body{padding:12px 12px 12px}
  .catalogue-grid .stove-card header{display:block}
  .catalogue-grid .stove-card header span{font-size:.6rem;letter-spacing:.12em}
  .catalogue-grid .stove-card h3{font-size:1.02rem;margin-top:2px}
  .catalogue-grid .stove-fav{position:absolute;z-index:3;top:4px;right:4px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:1.15rem}
  .catalogue-grid .stove-fav::before{content:"";position:absolute;inset:6px;z-index:-1;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(31,34,31,.12)}
  .catalogue-grid .stove-specs,.route-catalogue .catalogue-grid .stove-specs{margin:10px 0 0;padding:8px 0 0;border-top:1px solid rgba(31,34,31,.08);border-bottom:0}
  .catalogue-grid .stove-specs>div{padding:2px 0}
  .catalogue-grid .stove-specs strong{font-size:.8rem}
  .catalogue-grid .stove-mobile-detail-toggle{justify-content:flex-start;gap:6px;min-height:44px;margin-top:2px;padding:0;border:0;border-radius:0;background:none;color:#7a6439;font-size:.74rem}
  .catalogue-grid .stove-mobile-detail-toggle span{font-size:.95rem;line-height:1}
  .catalogue-grid .stove-share-row{margin-top:2px}
}

/* Phone share buttons must not clip the action label in two-column cards. */
.stove-share-label-short{display:none}
@media(max-width:700px){
  .catalogue-grid .stove-share-label-full{display:none}
  .catalogue-grid .stove-share-label-short{display:inline}
  .catalogue-grid .stove-card .stove-share-button{min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;gap:7px;font-size:.8rem}
  .catalogue-grid .stove-card .stove-share-button svg{display:block;width:16px;height:16px;flex:0 0 auto}
}

/* Dimensions replace Type on the card: body size only, and a quiet note when not confirmed. */
.stove-spec-size strong{font-variant-numeric:tabular-nums}
.stove-spec-size.is-unconfirmed strong{font-weight:500;color:var(--muted,#6b6a62)}
.stove-spec-size span em{font-style:normal;text-transform:none;letter-spacing:0}
.stove-specs strong.is-unconfirmed{font-weight:500;color:var(--muted,#6b6a62)}
@media(max-width:700px){.catalogue-grid .stove-details-expanded .stove-specs>div:nth-child(2){display:flex}}
@media(max-width:700px){.catalogue-grid .stove-specs strong.is-unconfirmed{font-size:.7rem;white-space:nowrap}}

/* Share sheet: show what is being sent, one clear send action, quiet extras. */
.stove-share-dialog{padding:22px 22px 18px}
.stove-share-stove{display:flex;align-items:center;gap:14px;margin:16px 0 18px}
.stove-share-thumb{flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#fbfaf7,#f2efe6);overflow:hidden}
.stove-share-thumb img{max-width:62px;max-height:62px;object-fit:contain}
.stove-share-dialog .stove-share-name{margin:0;font-family:var(--sp-serif,Georgia,serif);font-size:1.3rem;font-weight:500;line-height:1.2;letter-spacing:-.01em}
.stove-share-dialog .stove-share-description{margin:4px 0 0;font-size:.82rem;line-height:1.45}
.stove-share-send{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border-radius:14px;font-size:1rem;font-weight:650}
.stove-share-send svg{color:var(--brand-gold);flex:none}
.stove-share-quiet{display:flex;justify-content:center;gap:4px;margin-top:8px}
.stove-share-text-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:0;background:none;color:#6b5937;font:inherit;font-size:.86rem;font-weight:650;text-decoration:none;cursor:pointer}
.stove-share-text-btn[aria-disabled="true"],.stove-share-send:disabled{opacity:.5}
.stove-share-dialog .stove-share-link{margin-top:6px}
.stove-share-dialog .stove-share-status{min-height:0;margin:6px 0 0;text-align:center}
.stove-share-dialog .stove-share-status:empty{display:none}
@media(max-width:700px){
  .stove-share-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0;padding:18px max(18px,env(safe-area-inset-left,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-right,0px))}
}
.stove-share-dialog .stove-share-link[hidden]{display:none}

/* One reading edge on iPhone cards: every spec is label above value, left aligned. */
@media(max-width:700px){
  .catalogue-grid .stove-specs{gap:8px}
  .catalogue-grid .stove-specs>div,.catalogue-grid .stove-details-expanded .stove-specs>div:nth-child(2){display:block;padding:0}
  .catalogue-grid .stove-specs strong,.catalogue-grid .stove-specs>div:nth-child(3) strong{display:block;margin-top:2px;text-align:left;font-size:.86rem;line-height:1.3}
  .catalogue-grid .stove-specs strong.is-unconfirmed{font-size:.78rem;white-space:normal}
  .catalogue-grid .stove-mobile-detail-toggle{margin-top:4px}
  .catalogue-grid .stove-share-row{margin-top:0}
}

/* iPhone: every filter stays visible, arranged two-up so stoves start within the first screen. */
@media(max-width:700px){
  .catalogue-page .topbar{margin-bottom:14px}
  .catalogue-filter-details>summary{display:flex;align-items:baseline;gap:8px;min-height:44px;padding:10px 14px}
  .catalogue-filter-details>summary>span{font-size:.86rem}
  .catalogue-filter-details>summary small{font-size:.74rem}
  .catalogue-filter-grid,.catalogue-filter-details .catalogue-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 10px;padding:12px 14px 10px}
  .catalogue-control{gap:4px}
  .catalogue-control>span{font-size:.62rem}
  .catalogue-filter-details .catalogue-search,.catalogue-filter-details .catalogue-filter{min-height:42px;padding:8px 10px;border-radius:10px}
  .catalogue-filter-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:0 14px 12px}
  .catalogue-filter-bottom .catalogue-model-search{grid-column:1/-1}
  .catalogue-filter-bottom .catalogue-tool-toggles{min-height:36px}
  .catalogue-filter-bottom .catalogue-clear{justify-self:end}
  .catalogue-results-head{margin-top:14px}
}

/* iPhone cards read centred, on the same axis as the photo and the Share button. */
@media(max-width:700px){
  .catalogue-grid .stove-card-body{text-align:center}
  .catalogue-grid .stove-specs strong,.catalogue-grid .stove-specs>div:nth-child(3) strong{text-align:center}
  .catalogue-grid .stove-mobile-detail-toggle{justify-content:center;margin-inline:auto}
  .catalogue-grid .stove-mobile-detail-body{text-align:left}
}

/* iPhone stove page: tapping a card opens it full screen. Photo first, then name,
   then the technical facts left-aligned in rows. Wider screens keep inline details. */
.stove-page-back,.stove-page-summary,.stove-page-heading,.stove-page-note{display:none}
@media(max-width:700px){
  .catalogue-grid .stove-card:not(.stove-page-open){cursor:pointer;-webkit-tap-highlight-color:transparent}
  .catalogue-grid .stove-card.stove-page-open{position:fixed;inset:var(--sp-env-banner,0px) 0 0;z-index:90;display:block;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--brand-white,#fbfaf6);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));animation:stove-page-in .3s cubic-bezier(.2,.7,.2,1)}
  @keyframes stove-page-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
  .catalogue-grid .stove-page-open .stove-page-back{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;width:100%;min-height:52px;margin:0;padding:max(0px,calc(env(safe-area-inset-top,0px) - var(--sp-env-banner,0px))) 16px 0;border:0;background:var(--brand-ink,#1f221f);color:var(--brand-white,#fbfaf6);font:inherit;font-size:.92rem;font-weight:600;text-align:left;cursor:pointer}
  .catalogue-grid .stove-page-open .stove-page-back span{color:var(--brand-gold,#c29a53);font-size:1.5rem;line-height:1;margin-top:-3px}
  .catalogue-grid .stove-page-open .stove-page-back:focus-visible{outline:3px solid var(--brand-gold);outline-offset:-3px}
  .catalogue-grid .stove-page-open .stove-media{height:auto;padding:22px 24px 10px;background:linear-gradient(180deg,#fbfaf7,#f2efe6)}
  .catalogue-grid .stove-page-open .stove-media img{max-height:min(42vh,340px);width:auto;max-width:100%;margin:0 auto}
  .catalogue-grid .stove-page-open .stove-fav{top:62px;right:12px}
  .catalogue-grid .stove-card.stove-page-open .stove-card-body{padding:20px 20px 0;text-align:left}
  .catalogue-grid .stove-page-open header span{font-size:.68rem;letter-spacing:.14em}
  .catalogue-grid .stove-page-open h3{font-size:1.65rem;line-height:1.15;margin-top:4px}
  .catalogue-grid .stove-page-open .stove-page-summary{display:block;margin:6px 0 0;color:var(--muted,#6b6a62);font-size:.95rem}
  .catalogue-grid .stove-page-open .stove-page-summary:empty{display:none}
  .catalogue-grid .stove-page-open .stove-page-heading{display:block;margin:24px 0 4px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a6439}
  .catalogue-grid .stove-card.stove-page-open .stove-specs,.route-catalogue .catalogue-grid .stove-card.stove-page-open .stove-specs{display:block;margin:0;padding:0;border:0}
  .catalogue-grid .stove-card.stove-page-open .stove-specs>div{display:flex!important;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(31,34,31,.09)}
  .catalogue-grid .stove-card.stove-page-open .stove-specs span{font-size:.86rem;color:var(--muted,#6b6a62)}
  .catalogue-grid .stove-card.stove-page-open .stove-specs strong{display:block;margin:0;font-size:.98rem;text-align:right;white-space:nowrap}
  .catalogue-grid .stove-page-open .stove-mobile-detail-toggle{display:none}
  .catalogue-grid .stove-card.stove-page-open .stove-mobile-detail-body{display:block;text-align:left}
  .catalogue-grid .stove-card.stove-page-open{outline:none}
  .catalogue-grid .stove-page-open .stove-dimensions{display:none}
  .catalogue-grid .stove-page-open .stove-page-note{display:block;margin:12px 0 0;color:var(--muted,#6b6a62);font-size:.84rem;line-height:1.5}
  .catalogue-grid .stove-page-open .stove-suitability{margin-top:16px;padding:12px}
  .catalogue-grid .stove-page-open .stove-suitability span{font-size:.86rem}
  .catalogue-grid .stove-page-open .stove-suitability small,.catalogue-grid .stove-page-open .stove-suitability a{font-size:.8rem}
  .catalogue-grid .stove-page-open .stove-card footer{padding-top:16px}
  .catalogue-grid .stove-page-open .stove-share-row{margin-top:22px}
  .catalogue-grid .stove-card.stove-page-open .stove-share-button{min-height:50px;font-size:.95rem}
  .catalogue-grid .stove-page-open .stove-share-label-full{display:inline}
  .catalogue-grid .stove-page-open .stove-share-label-short{display:none}
  .catalogue-grid .stove-page-open .stove-card-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
  .catalogue-grid .stove-page-open .stove-card-actions .btn{min-height:50px;font-size:.9rem}
  .stove-page-placeholder{border-radius:14px;background:rgba(31,34,31,.03)}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.catalogue-grid .stove-card.stove-page-open{animation:none}}


/* RC2 iPhone hotfix: some manufacturers have no licensed stove photo.
   In those cards the favourite must live alongside the BRAND in its own
   top row, never absolutely over the MODEL name. The full title keeps
   the whole card width, including with iOS large text and long names.
   Photo cards retain the photo-corner favourite. */
@media(max-width:700px){
  .catalogue-grid .stove-card.no-photo:not(.stove-page-open) header{
    display:grid;grid-template-columns:minmax(0,1fr) 44px;
    grid-template-rows:minmax(44px,auto) auto;column-gap:4px;align-items:center
  }
  .catalogue-grid .stove-card.no-photo:not(.stove-page-open) header>div{display:contents}
  .catalogue-grid .stove-card.no-photo:not(.stove-page-open) header>div>span{
    grid-column:1;grid-row:1;min-width:0;justify-self:center;align-self:center
  }
  .catalogue-grid .stove-card.no-photo:not(.stove-page-open) header>div>h3{
    grid-column:1/-1;grid-row:2;min-width:0;width:100%;margin:4px 0 0;
    overflow-wrap:anywhere;word-break:normal;text-align:center
  }
  .catalogue-grid .stove-card.no-photo:not(.stove-page-open) header>.stove-fav{
    position:relative;top:auto;right:auto;grid-column:2;grid-row:1;
    justify-self:end;align-self:start
  }
  /* The full-screen no-image card must reserve space too. */
  .catalogue-grid .stove-card.no-photo.stove-page-open header{padding-right:52px}
  .catalogue-grid .stove-card.no-photo.stove-page-open .stove-fav{top:72px;right:16px}
}
