/* BLP usability layer — load AFTER style.css and catalogue.css on both pages.
   Visual identity, colours, fonts and brand logos are unchanged. */

/* ---------- Tap targets: invisible 44px hit areas on text-style links ---------- */
.text-link,.compare-toggle,.campaign-product-copy button,.discovery-bar a,.discovery-bar button,
footer a,.back-home,.search-row button,.cat-title,.recommendation button,.journey-top button,
.result-meta button{position:relative}
.text-link::after,.compare-toggle::after,.campaign-product-copy button::after,.discovery-bar a::after,
.discovery-bar button::after,footer a::after,.back-home::after,.search-row button::after,.cat-title::after,
.recommendation button::after,.journey-top button::after,.result-meta button::after{content:"";position:absolute;inset:-12px -6px}
.hero-concerns button,.concern-chips button,#language,#cat-language,.small-cta,.filter-row button,
.learn-buttons button,.catalogue-sort select{min-height:44px}
#language,#cat-language{min-width:44px}
.portrait-motion{min-height:36px}
@media(max-width:760px){.catalogue-link-mobile{display:inline-flex!important;align-items:center;min-height:44px;border-bottom:0!important;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}}

/* ---------- Homepage hero ---------- */
.hero-trust{font-size:12px;line-height:1.7;margin-top:16px;max-width:440px;color:#6b6556}
.dialog-catalogue-link{display:table;margin:16px 0 4px}

/* ---------- Homepage enquiry form ---------- */
.enquiry-form{max-width:640px;margin:30px auto 0;text-align:left;background:#fffdf8;border:1px solid #dfd2b4;padding:28px}
.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-bottom:22px}
.enquiry-grid label{display:block}
.enquiry-grid label>span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5f5848;margin-bottom:6px}
.enquiry-grid input,.enquiry-grid select,.enquiry-grid textarea{width:100%;min-height:46px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #d9cfb8;border-radius:4px;padding:10px 12px}
.enquiry-grid textarea{resize:vertical;min-height:84px}
.enquiry-grid input:focus-visible,.enquiry-grid select:focus-visible,.enquiry-grid textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.enquiry-grid .span-2{grid-column:1/-1}
.enquiry-form .button{width:100%}
.enquiry-note{font-size:11px!important;margin-top:12px;line-height:1.6}
.enquiry-status{font-size:12px;margin-top:8px;color:#695631}
.enquiry-status:empty{display:none}
.contact-alt{font-size:13px;margin-top:22px}
.contact-alt a{border-bottom:1px solid #aa8d4b;display:inline-block;padding:10px 2px}

/* ---------- Catalogue: collapsible filters ---------- */
.more-filters{border:0;padding:0;margin-top:20px}
.more-filters>summary{display:none}
.more-filters .catalogue-filter-grid{margin-top:0}
.more-filters-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ink);color:#fff;font-size:11px;margin-left:6px}

/* ---------- Catalogue shortlist ---------- */
.cat-short-cta{margin:4px 0 8px}
.cat-short-cards{display:none}

/* ---------- Phones ---------- */
@media(max-width:760px){
  /* hero: decorative overlay label is unreadable on the photo; shorter image gets content up sooner */
  .campaign-index{display:none}
  .campaign-art{height:470px}
  .hero-concerns p{font-size:10px}
  .hero-trust{font-size:12px}

  /* readable small text */
  .eyebrow{font-size:10px}
  .card-brand,.cat-card-copy .card-brand{font-size:10px}
  .tags span{font-size:10px}
  .compare-toggle{font-size:12px}
  .cat-card-copy p{font-size:12px}
  .cat-card-copy .cat-sizes{font-size:11px}
  .cat-actions button{font-size:12px}
  .search-row button{font-size:12px}

  /* treatment filter tabs: one swipeable row instead of an orphaned "Firmness" line */
  .filter-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -6%;padding:0 6%}
  .filter-row::-webkit-scrollbar{display:none}
  .filter-row button{white-space:nowrap;flex:none}

  /* catalogue: get products on screen sooner */
  .catalogue-heading>div>p:not(.eyebrow):not(.catalogue-stat){display:none}
  .catalogue-intro{padding-bottom:24px}
  .catalogue-controls{padding:18px 6%}
  .search-label{font-size:15px}
  .concern-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:16px -6% 0;padding:0 6% 2px}
  .concern-chips::-webkit-scrollbar{display:none}
  .concern-chips button{white-space:nowrap;flex:none}
  .more-filters{margin-top:14px}
  .more-filters>summary{display:flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:4px;padding:0 14px}
  .more-filters>summary::-webkit-details-marker{display:none}
  .more-filters>summary::after{content:"+";margin-left:auto;font-size:18px;font-weight:400}
  .more-filters[open]>summary::after{content:"–"}
  .more-filters[open] .catalogue-filter-grid{margin-top:12px}
  .catalogue-filter-grid select{min-height:44px;font-size:16px}
  .search-row input{font-size:16px} /* stops iOS zooming into the field */

  /* enquiry form */
  .enquiry-form{padding:20px 16px;margin-top:24px}
  .enquiry-grid{grid-template-columns:1fr;gap:14px}

  /* shortlist: stacked cards instead of a sideways-scrolling table */
  .cat-short-cards{display:grid;gap:14px;margin:14px 0}
  .cat-table-wrap{display:none}
  .cat-short-card{display:grid;grid-template-columns:84px 1fr;gap:14px;border:1px solid var(--line);border-radius:6px;padding:14px}
  .cat-short-pic img{width:84px;height:100px;object-fit:contain}
  .cat-short-pic .cat-image-placeholder img{height:40px}
  .cat-short-pic .cat-image-placeholder small{display:none}
  .cat-short-card .card-brand{margin:0 0 4px;color:var(--accent)}
  .cat-short-card h3{font-size:16px;font-weight:500;line-height:1.35}
  .cat-short-card p{font-size:12px;margin:6px 0}
  .cat-short-card dl{margin:8px 0 0;font-size:12px}
  .cat-short-card dt{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-top:8px}
  .cat-short-card dd{margin:2px 0 0;color:var(--muted)}
  .cat-short-card button{min-height:44px;font-size:12px;text-decoration:underline}
  .cat-short-cta{width:100%}
}

/* Keep functional copy readable and clear controls usable. */
.enquiry-grid label>span{font-size:14px}.enquiry-note{font-size:13px!important}.clear-enquiry-details{min-height:44px;margin-top:8px;background:none;border:0;text-decoration:underline;font:inherit;cursor:pointer}.portrait-motion{min-height:44px}
@media(max-width:760px){.eyebrow,.card-brand,.cat-card-copy .card-brand,.tags span,.cat-short-card dt,.cat-card-copy .cat-sizes,.hero-concerns p{font-size:12px}.cat-short-card p,.cat-short-card dl,.cat-card-copy p{font-size:14px}}

.pack-note{padding:12px;border-left:3px solid var(--accent);background:var(--wash);font-size:14px}.formula-source{display:inline-block;margin-top:10px;text-decoration:underline;min-height:44px}

.partner-reviews{background:var(--wash);border-top:1px solid var(--line)}.partner-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.partner-review{margin:0;padding:28px;background:white;border:1px solid var(--line);border-top:3px solid var(--accent)}.partner-review blockquote{margin:0}.partner-review blockquote p{font-size:16px;line-height:1.8;margin:0;color:var(--ink)}.partner-review figcaption{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;font-weight:600}.review-source{font-size:14px;margin-top:24px}.review-source a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.partner-review-grid{grid-template-columns:1fr}.partner-review{padding:24px}}

.review-more{border:0;padding:0;margin-top:16px}.review-more summary{font-size:14px;min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline}.review-more p{white-space:pre-line}.review-language{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}

.review-featured{grid-column:span 2;background:#fffdf8}.review-headline{font-size:26px;line-height:1.3;font-weight:500;margin:0 0 20px}.partner-review blockquote p+p{margin-top:16px}.review-featured>.eyebrow{font-size:12px;margin:0 0 14px}.review-product-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px}@media(max-width:900px){.review-featured{grid-column:auto}.review-headline{font-size:23px}}
