/* ==========================================================================
   Posh Leather — inner pages: catalogue, range, product, about, contact, faq, legal
   ========================================================================== */

/* ---------- Catalogue ---------- */
.cat-bar{
  position:sticky;top:var(--header-h);z-index:50;background:rgba(244,237,225,0.96);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);
}
.cat-bar .wrap{display:flex;gap:16px 24px;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;}
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{
  padding:9px 16px;font-size:13.5px;font-weight:500;border:1px solid var(--line-strong);border-radius:var(--radius);
  background:none;color:var(--ink-soft);transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.chip:hover{border-color:var(--ink);color:var(--ink);}
.chip[aria-pressed="true"]{background:var(--espresso);border-color:var(--espresso);color:var(--bone);}
.chip .n{opacity:.6;margin-left:6px;font-weight:400;}
.search-box{position:relative;flex:0 1 300px;min-width:200px;}
.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ink-soft);pointer-events:none;}
.search-box input{
  width:100%;padding:11px 14px 11px 38px;background:var(--paper);border:1px solid var(--line-strong);
  border-radius:var(--radius);font-size:14.5px;
}
.search-box input:focus{outline:none;border-color:var(--saddle);box-shadow:0 0 0 3px rgba(138,78,43,0.18);}

.catalogue-body{padding:24px 0 96px;}
.result-count{font-size:14px;color:var(--ink-soft);padding:8px 0 0;min-height:28px;}
.range{padding:52px 0 12px;border-top:1px solid var(--line);}
.range:first-of-type{border-top:none;}
.range[hidden],.tile[hidden]{display:none;}
.range-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px 56px;align-items:end;margin-bottom:28px;}
.range-code{font-family:var(--font-display);font-size:clamp(32px,4vw,46px);font-weight:600;line-height:1;}
.range-title{color:var(--ink-soft);font-size:17px;margin-top:10px;}
.range-desc{color:var(--ink-soft);font-size:15px;max-width:54ch;margin-bottom:14px;}
.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.empty{text-align:center;padding:90px 0 40px;}
.empty h2{font-size:28px;}
.empty p{color:var(--ink-soft);margin:10px 0 24px;}
.empty[hidden]{display:none;}

/* ---------- Range page ---------- */
.badge-code{
  display:inline-block;border:1px solid rgba(244,237,225,0.4);padding:6px 14px;font-size:13px;
  letter-spacing:0.08em;font-weight:600;color:var(--brass-light);margin-top:26px;
}
.range-detail{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1fr);gap:72px;padding:72px 0;align-items:center;}
.range-detail .cover{aspect-ratio:4/5;overflow:hidden;background:var(--bone-2);border-radius:var(--radius);}
.range-detail .cover img{width:100%;height:100%;object-fit:cover;}
.range-detail h2{font-size:clamp(26px,3vw,34px);margin-bottom:18px;}
.range-detail .summary{color:var(--ink-soft);font-size:16.5px;margin-bottom:28px;max-width:52ch;}
.range-detail .spec{margin:30px 0;}
.colour-list{display:flex;flex-wrap:wrap;gap:10px;}
.colour-opt{
  display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border:1px solid var(--line-strong);
  border-radius:var(--radius);font-size:14px;font-weight:500;background:none;
  transition:border-color .2s ease,background-color .2s ease;
}
.colour-opt:hover{border-color:var(--ink);}
.colour-opt[aria-current="page"]{border-color:var(--espresso);background:var(--paper);box-shadow:inset 0 0 0 1px var(--espresso);}
.section{padding:0 0 88px;}
.section h2.title{font-size:clamp(26px,3vw,36px);margin-bottom:30px;}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;}

/* ---------- Product page ---------- */
.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;padding:48px 0 72px;align-items:start;}
.gallery{position:sticky;top:calc(var(--header-h) + 24px);}
.gallery-main{aspect-ratio:1/1.05;background:var(--bone-2);overflow:hidden;border-radius:var(--radius);}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px;}
.gallery-thumbs .thumb-btn{padding:0;border:2px solid transparent;aspect-ratio:1;overflow:hidden;background:var(--bone-2);border-radius:var(--radius);}
.gallery-thumbs .thumb-btn img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs .thumb-btn[aria-current="true"]{border-color:var(--saddle);}
.gallery-thumbs .thumb-btn:hover{border-color:var(--line-strong);}
.gallery-thumbs .thumb-btn[aria-current="true"]:hover{border-color:var(--saddle);}
.p-aud{font-size:14px;color:var(--saddle-dark);font-weight:600;}
.p-info h1{font-size:clamp(30px,4vw,44px);margin:6px 0 16px;}
.p-colour{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-soft);margin-bottom:22px;}
.p-copy{display:grid;gap:14px;color:var(--ink-soft);font-size:16px;max-width:56ch;margin-bottom:28px;}
.p-block{margin-bottom:28px;}
.p-block h2{font-family:var(--font-body);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;font-weight:600;}
.p-cta{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0;}
.p-cta .btn{flex:1 1 200px;}
.p-cta-note{font-size:13.5px;color:var(--ink-soft);margin-top:-16px;margin-bottom:30px;}
.assurance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.assurance-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.assurance-item{display:flex;gap:16px;padding:30px 28px;align-items:flex-start;}
.assurance-item + .assurance-item{border-left:1px solid var(--line);}
.assurance-item i{color:var(--saddle);font-size:20px;margin-top:3px;}
.assurance-item h3{font-family:var(--font-body);font-size:15.5px;letter-spacing:0;margin-bottom:4px;}
.assurance-item p{font-size:14px;color:var(--ink-soft);}
.related{padding:80px 0 88px;}

/* ---------- About ---------- */
.about-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:72px;padding:80px 0;align-items:center;}
.about-intro .lede{max-width:34ch;}
.about-intro .muted{margin-top:22px;max-width:56ch;}
.about-photo{aspect-ratio:4/5;background:var(--espresso);overflow:hidden;border-radius:var(--radius);}
.about-photo img{width:100%;height:100%;object-fit:cover;}
.glance{background:var(--bone-2);padding:64px 0;}
.glance-inner{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:64px;align-items:start;}
.glance h2{font-size:clamp(26px,3vw,36px);max-width:12ch;}
.glance .spec dt{color:var(--ink-soft);}
.facts{padding:40px 0 24px;}
.facts-row{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px 64px;padding:36px 0;border-top:1px solid var(--line);}
.facts-row h2{font-size:26px;}
.facts-row p{color:var(--ink-soft);max-width:64ch;font-size:16.5px;}
.values{padding:72px 0 24px;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.value{border-top:2px solid var(--espresso);padding-top:22px;}
.value i{color:var(--saddle);font-size:20px;margin-bottom:16px;display:block;}
.value h3{font-family:var(--font-body);font-size:16px;letter-spacing:0;margin-bottom:8px;}
.value p{font-size:14.5px;color:var(--ink-soft);}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:72px 0 0;}
.photo-pair figure{margin:0;aspect-ratio:3/2;background:var(--espresso);overflow:hidden;border-radius:var(--radius);}
.photo-pair img{width:100%;height:100%;object-fit:cover;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,0.9fr);gap:64px;padding:72px 0;align-items:start;}
.contact-grid h2{font-size:clamp(26px,3vw,34px);margin-bottom:8px;}
.contact-grid .sub{color:var(--ink-soft);margin-bottom:28px;}
.info-card{background:var(--paper);border:1px solid var(--line);padding:34px;}
.info-card h3{font-family:var(--font-body);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:12px;}
.info-card + .info-card{margin-top:18px;}
.info-list{display:grid;gap:14px;}
.info-list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;}
.info-list i{color:var(--saddle);width:16px;margin-top:5px;text-align:center;flex:none;}
.info-list a:hover{color:var(--saddle-dark);}
.hours-list{display:grid;gap:8px;font-size:15px;}
.hours-list div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px;}
.hours-list div:last-child{border-bottom:none;padding-bottom:0;}
.map-wrap{height:420px;background:var(--bone-2);}
.map-wrap iframe{width:100%;height:100%;border:0;filter:sepia(0.25) saturate(0.85);}

/* ---------- FAQ ---------- */
.faq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding:72px 0 40px;align-items:start;}
.faq-nav{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:4px;}
.faq-nav a{padding:10px 0 10px 16px;border-left:2px solid var(--line);font-size:14.5px;color:var(--ink-soft);}
.faq-nav a:hover{color:var(--ink);border-color:var(--saddle);}
.faq-group + .faq-group{margin-top:56px;}
.faq-group h2{font-size:28px;margin-bottom:12px;}
details.faq{border-bottom:1px solid var(--line);}
details.faq:first-of-type{border-top:1px solid var(--line);}
details.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-weight:600;font-size:16.5px;
}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;
  border-right:2px solid var(--saddle);border-bottom:2px solid var(--saddle);transform:rotate(45deg);transition:transform .25s ease;
}
details.faq[open] summary::after{transform:rotate(-135deg);margin-top:-2px;}
details.faq summary:hover{color:var(--saddle-dark);}
details.faq .answer{padding:0 44px 24px 0;color:var(--ink-soft);max-width:66ch;}

/* ---------- Legal + 404 ---------- */
.prose{padding:64px 0 96px;}
.prose .updated{font-size:14px;color:var(--ink-soft);margin-bottom:32px;}
.prose h2{font-size:24px;margin:44px 0 12px;}
.prose p,.prose li{color:var(--ink-soft);font-size:16px;margin-bottom:14px;}
.prose ul{list-style:disc;padding-left:22px;margin-bottom:14px;}
.prose a{color:var(--saddle-dark);border-bottom:1px solid currentColor;}
.notfound{padding:120px 0 140px;text-align:center;}
.notfound .code{font-family:var(--font-display);font-size:clamp(80px,14vw,150px);line-height:1;color:var(--saddle);font-weight:600;}
.notfound h1{font-size:clamp(28px,4vw,40px);margin:8px 0 14px;}
.notfound p{color:var(--ink-soft);max-width:44ch;margin:0 auto 32px;}
.notfound .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .tile-grid,.more-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
  .range-head{grid-template-columns:1fr;}
  .range-detail,.product,.about-intro,.glance-inner,.contact-grid{grid-template-columns:1fr;gap:44px;}
  .product{padding-top:32px;}
  .gallery{position:static;}
  .range-detail{padding:52px 0;}
  .about-intro{padding:56px 0;}
  .facts-row{grid-template-columns:1fr;gap:12px;padding:28px 0;}
  .faq-layout{grid-template-columns:1fr;gap:28px;padding-top:44px;}
  .faq-nav{position:static;display:flex;gap:10px;flex-wrap:wrap;}
  .faq-nav a{border:1px solid var(--line-strong);padding:9px 16px;}
  .assurance-grid{grid-template-columns:1fr;}
  .assurance-item + .assurance-item{border-left:none;border-top:1px solid var(--line);}
}
@media (max-width:640px){
  .tile-grid{gap:20px 14px;}
  .more-grid{gap:24px 14px;}
  .cat-bar{position:static;}
  .search-box{flex:1 1 100%;}
  .values-grid{grid-template-columns:1fr;}
  .photo-pair{grid-template-columns:1fr;}
  .info-card{padding:26px 22px;}
  .map-wrap{height:320px;}
  .p-cta .btn{flex-basis:100%;}
}
