: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; }

.product-lifestyle { display: block; margin-bottom: clamp(1rem, 3vw, 2rem); overflow: hidden; border-radius: .25rem; }
.product-lifestyle img { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; }
@media (max-width: 650px) { .product-lifestyle img { aspect-ratio: 16 / 9; } }


/* COAST fallback photo includes white side margins. */
.product-lifestyle img[src$="/98425_amb.jpg"] {
  object-position: center 65%;
  transform: scale(1.51);
  transform-origin: center 65%;
}

.category-banner { position: relative; isolation: isolate; min-height: clamp(230px, 29vw, 430px); display: grid; align-items: center; overflow: hidden; color: #fff; background: #332520; }
.category-banner picture, .category-banner::after { position: absolute; inset: 0; }
.category-banner picture { z-index: -2; }
.category-banner picture img { width: 100%; height: 100%; object-fit: cover; }
.category-banner::after { content: ""; z-index: -1; background: linear-gradient(90deg, #211815ec, #211815b3 50%, #21181525); }
.category-banner .wrap { position: relative; }
.category-banner--product picture { left: 48%; background: #fff; }
.category-banner--product picture img { object-fit: contain; object-position: center; }
.category-banner--product::after { background: linear-gradient(90deg, #332520 48%, #33252000 74%); }
.category-banner--product .wrap > * { max-width: 46%; }
@media (max-width: 650px) {
  .category-banner::after { background: linear-gradient(90deg, #211815e8, #21181580); }
  .category-banner--product { display: flex; flex-direction: column; align-items: stretch; padding: 0; }
  .category-banner--product picture { position: static; height: 160px; }
  .category-banner--product::after { content: none; }
  .category-banner--product .wrap { padding-block: 1.25rem; }
  .category-banner--product .wrap > * { max-width: none; }
}

a, a:hover { text-decoration: none !important; }
a:hover { color: #8a4824; }
header a:hover, footer a:hover, .hero a:not(.button):hover { color: #e5a474; }
.mega-nav { position: relative; z-index: 10; display: flex; flex-wrap: wrap; gap: .35rem 1rem; padding-block: .65rem; }
.mega-nav summary { list-style: none; cursor: pointer; }
.mega-nav summary::-webkit-details-marker { display: none; }
.mega-nav summary:hover { color: #e5a474; }
.mega-panel { position: absolute; inset-inline: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .7rem 1rem; padding: 1rem; background: #332520; color: white; box-shadow: 0 8px 20px #0003; max-height: 55vh; overflow: auto; }
.search { position: relative; }
.nav-tools .search { margin: 0; }
.nav-tools .search label { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.nav-tools .search input { min-width: 8rem; }
.search-suggestions { position: absolute; z-index: 12; top: 100%; inset-inline: 0; margin: .2rem 0 0; padding: .4rem; list-style: none; background: #fffaf3; color: #29211d; border: 1px solid #d8cbbf; box-shadow: 0 5px 15px #0002; }
.search-suggestions a { display: block; padding: .45rem; }
.search-suggestions a:hover { color: #8a4824; }
.choice-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.choice-buttons button { cursor: pointer; background: #fffaf3; color: #29211d; border: 1px solid #bda797; border-radius: .25rem; padding: .4rem .6rem; font: inherit; }
.choice-buttons button[aria-pressed="true"] { outline: 2px solid #8a4824; outline-offset: 1px; }
.variant fieldset { border: 0; padding: 0; margin: 0 0 .5rem; }
.product-gallery { margin-top: .75rem; }
.product-gallery img { width: 64px; height: 64px; object-fit: contain; }
@media(max-width: 650px) { .nav-tools { flex-wrap: wrap; } .nav-tools .search { width: 100%; } .mega-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.mobile-categories { display: none; }
.desktop-categories { flex-wrap: nowrap; justify-content: space-between; gap: .45rem; }
.mega-nav > a, .mega-nav > details > summary, .mobile-categories > summary {
  white-space: nowrap; font-size: .7rem; font-weight: 750; text-transform: uppercase;
}
.mega-panel a { font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.occasion-directory { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr)); gap: 1.25rem; }
.occasion-card { background: #fffaf3; border: 1px solid #d8cbbf; border-radius: .25rem; overflow: hidden; }
.occasion-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #fff; }
.occasion-card > div { padding: 1rem; }
.occasion-card h2 { font-size: 1.4rem; margin-bottom: .45rem; }
.occasion-card p { font-size: .92rem; margin: 0; }
@media(max-width: 1250px) {
  .desktop-categories { display: none; }
  .mobile-categories { display: block; }
  .mobile-categories > summary { cursor: pointer; padding-block: .65rem; }
  .mobile-categories .mega-nav { display: grid; grid-template-columns: 1fr; }
  .mobile-categories .mega-panel { position: static; box-shadow: none; margin-top: .3rem; }
}
