:root{--forest:#221e1c;--sage:#eee5da;--apricot:#e5a474;--ink:#29211d;--paper:#f7f2ea}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}img{display:block;width:100%;height:auto}h1,h2,p{margin:0 0 .75em}h1,h2,.logo{line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(2.4rem,6vw,5.7rem)}h2{font-size:clamp(1.65rem,3vw,2.8rem)}.wrap{width:min(92%,1360px);margin-inline:auto}.nav,.footer,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav{padding-block:1rem}.nav nav{display:flex;gap:clamp(.6rem,2vw,2rem);flex-wrap:wrap}.nav a,.logo,.card{text-decoration:none}.logo{font-size:clamp(1.65rem,3vw,2.6rem);font-weight:900}.nav nav a{font-weight:700}.nav nav a:hover,.section-heading a:hover{text-decoration:underline}header{background:var(--sage)}.button{display:inline-block;background:var(--apricot);color:#14251b;border:0;border-radius:.65rem;padding:.78rem 1.35rem;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.button:hover{background:#ffc094}.hero{color:white;background:#142a1f url('/assets/showroom.webp') center/cover no-repeat;min-height:490px;display:flex;align-items:center}.hero>.wrap{padding-block:4rem}.hero h1,.hero p{max-width:680px}.hero p{font-size:1.2rem;max-width:510px}.section{padding-block:clamp(1.8rem,4vw,4rem)}.section-heading{margin-bottom:1.3rem}.section-heading h2{margin:0}.warm{background:#f8d4b9}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.categories{grid-template-columns:repeat(6,minmax(0,1fr))}.card{display:block;overflow:hidden;background:white;border-radius:.85rem;box-shadow:0 1px 3px #13291d12}.card:hover{box-shadow:0 4px 16px #13291d25}.photo{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#eef0eb}.photo img{height:100%;width:100%;object-fit:contain}.card-copy,.category strong{padding:.75rem .9rem;display:block}.card small{display:block;color:#48564c;margin-top:.35rem}.category strong{text-align:center}.intro{padding:clamp(2rem,5vw,5rem) 0;background:var(--sage)}.intro p{max-width:760px;margin:0}.split,.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem)}.product h1{font-size:clamp(2rem,4vw,4rem)}.product-photo{border-radius:1rem;background:white}.crumb{font-size:.9rem;margin-bottom:1.5rem}.product+section{margin-top:3rem}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid #b6c1b7;padding:.7rem}dl>div{display:flex;gap:1rem}dt{font-weight:700}dd{margin:0}.search{max-width:650px;margin:1.5rem 0}.search>div{display:flex;gap:.5rem}input,select,textarea{background:white;width:100%;min-width:0;border:1px solid #778778;border-radius:.5rem;padding:.7rem;font:inherit;color:inherit}label{font-weight:700}.variant,.enquiry{display:grid;gap:.65rem;justify-items:start}.enquiry label{width:100%}.enquiry{max-width:650px}.prose section{max-width:760px;margin-bottom:2rem}.pagination,.brand-list{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.pagination a,.brand-list a{display:inline-block;padding:.4rem .7rem;background:var(--sage);border-radius:.4rem}.pagination a[aria-current]{background:var(--forest);color:white}.brand-list{list-style:none}.footer{padding-block:2rem;flex-wrap:wrap}footer{background:var(--forest);color:white}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:.5rem;z-index:2}#more{margin-top:1.2rem}[hidden]{display:none!important}.no-image{padding:1rem;text-align:center;color:#425347}
@media(max-width:860px){.categories,.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{flex-wrap:wrap}.nav nav{order:3;width:100%}.hero{background-image:linear-gradient(90deg,#142a1ff0,#142a1f70),url('/assets/showroom.webp')}}
@media(max-width:570px){.grid,.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.product,.split{grid-template-columns:1fr}.hero{min-height:390px}.nav nav{font-size:.9rem}.section-heading{align-items:flex-start}.section-heading a{font-size:.85rem}}

.logo img{width:clamp(145px,20vw,221px);height:auto}
.footer .logo{background:#fff;border-radius:.4rem;padding:.45rem .65rem}

.product-photo img { padding: 0; }
.product h1 { font-size: clamp(1.5rem, 3.5vw, 2.5rem); }
.product + section h2 { font-size: 1.25rem; }

/* Corporate Gifts showroom */
body { font-family: "Instrument Sans", system-ui, sans-serif; }
h1, h2, .category strong { font-family: "Baskervville", Georgia, serif; font-weight: 400; letter-spacing: -.025em; }
header { background: #211c1a; color: #faf3ea; }
.nav .logo, .footer .logo { flex: 0 0 auto; background: transparent; padding: 0; border-radius: 0; }
.logo img { width: clamp(152px, 18vw, 252px); }
.nav nav { justify-content: center; gap: .45rem clamp(.8rem, 1.6vw, 1.5rem); }
.nav nav a { font-weight: 500; }
.nav-tools { display: flex; align-items: center; gap: .9rem; }
.nav-tools .button { background: transparent; color: #f3be98; border: 1px solid #c48558; }
.nav-tools .button:hover { background: #463229; }
.button { color: #241912; border-radius: .25rem; }
.button span { margin-left: .35em; }
.hero {
  min-height: clamp(440px, 42vw, 650px);
  background: #2a1d17 linear-gradient(90deg, #1a120fe8, #1a120f8c 43%, #1a120f00 74%) center / cover no-repeat;
  background-image: linear-gradient(90deg, #1a120fe8, #1a120f8c 43%, #1a120f00 74%), url('/assets/showroom.webp');
}
.hero-copy { max-width: 37rem; }
.hero h1 { font-size: clamp(2.65rem, 5.5vw, 5.3rem); margin-bottom: .28em; }
.hero p { max-width: 26rem; color: #fff4e9; }
.showroom-categories h2 { text-align: center; margin-bottom: .8em; }
.categories { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.category .photo { aspect-ratio: 5 / 4; background: #eee5da; }
.category strong { text-align: left; font-size: 1.3rem; }
.card { border-radius: .25rem; }
.warm { background: #ede2d5; }
@media (max-width: 1060px) {
  .nav { flex-wrap: wrap; }
  .nav nav { order: 3; width: 100%; justify-content: flex-start; }
  .categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 570px) {
  .hero { background-position: 62% center; background-image: linear-gradient(90deg, #1a120fe8, #1a120f73), url('/assets/showroom.webp'); }
  .hero-copy { max-width: 19rem; }
  .categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-tools { gap: .65rem; }
  .nav-tools .button { padding: .5rem .8rem; }
}

.product-subtitle { display: block; font-weight: 400; }
.card-copy .product-subtitle { margin-top: .2rem; }
.product h1:has(+ .product-subtitle) { margin-bottom: .2em; }
.product > div > .product-subtitle { margin-bottom: 1rem; }

.hero-actions, .product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.25rem; }
.hero-link { text-underline-offset: .3em; }
.catalogue-search { padding-block: 1.5rem; border-bottom: 1px solid #d8cbbf; }
.catalogue-search .search { margin: 0; max-width: 50rem; }
.occasion-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.occasion-grid a { display: flex; flex-direction: column; gap: .7rem; padding: 1.25rem; background: #fffaf3; border: 1px solid #d8cbbf; text-decoration: none; }
.occasion-grid a:hover { background: #f0e3d5; }
.occasion-grid strong { font-family: "Baskervville", Georgia, serif; font-weight: 400; font-size: 1.5rem; line-height: 1.15; }
.occasion-grid span:last-child { margin-top: auto; color: #8a4824; }
.showroom-categories .section-heading h2 { margin: 0; text-align: left; }
.brief-band { background: #382721; color: #fff4e9; }
.brief-band .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brief-band p { margin: 0; }
.secondary-button { display: inline-block; border: 1px solid #9d6c52; border-radius: .25rem; background: transparent; padding: .65rem .85rem; color: inherit; font: inherit; cursor: pointer; text-decoration: none; }
.secondary-button:hover { background: var(--sage); }
.save-status { min-height: 1.55em; }
.shortlist-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(6rem, 9rem) auto; align-items: center; gap: 1rem; border-bottom: 1px solid #d8cbbf; padding-block: 1rem; }
.shortlist-row small { display: block; margin-top: .3rem; }
.shortlist .product-actions { margin-top: 1.25rem; }
.enquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .85rem; }
.enquiry-note { margin: 0; }
.enquiry output { width: 100%; }
@media (max-width: 800px) {
  .occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 570px) {
  .brief-band .wrap { align-items: flex-start; flex-direction: column; }
  .shortlist-row { grid-template-columns: 1fr auto; }
  .shortlist-row > div { grid-column: 1 / -1; }
  .enquiry-fields { grid-template-columns: 1fr; }
  .nav-tools { gap: .5rem; font-size: .85rem; }
  .nav .logo img { width: clamp(114px, 33vw, 152px); }
}

.variant-thumbnails { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .55rem; }
.variant-thumbnails img { width: 36px; height: 36px; object-fit: contain; background: white; border: 1px solid #d8cbbf; border-radius: .2rem; }

/* Numbered catalogue pagination */
.pagination[aria-label="Pages"] a {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: .4rem .7rem;
  border: 1px solid #9d6c52;
  border-radius: .25rem;
  background: #fffaf3;
  text-decoration: none;
  font-weight: 700;
}
.pagination[aria-label="Pages"] a:hover { background: var(--sage); }
.pagination[aria-label="Pages"] a[aria-current="page"] { background: var(--forest); color: white; border-color: var(--forest); }
.pagination[aria-label="Pages"] a:focus-visible { outline: 2px solid #8a4824; outline-offset: 2px; }

.product-card-name { text-decoration: none; }
.product-card-name:hover { text-decoration: underline; }
.variant-thumbnails button {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: .2rem;
  cursor: pointer;
}
.variant-thumbnails button[aria-pressed="true"] { outline: 2px solid #8a4824; }
.variant-thumbnails button:focus-visible { outline: 2px solid #8a4824; outline-offset: 2px; }
