.catalogue-page { background:#fff; color:var(--ink); font-family:Inter,Arial,sans-serif; overflow:clip; }
.catalogue-page [hidden] { display:none!important; }
.catalogue-page .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalogue-page button { font:inherit; cursor:pointer; }
.catalogue-page a:focus-visible,.catalogue-page button:focus-visible { outline:2px solid var(--bright-khaki); outline-offset:5px; }
.product-main { max-width:1584px; width:calc(100% - 120px); margin:auto; padding:90px 0 175px; }
.product-page--chair .product-main { padding-bottom:110px; }
.product-page--recliner .product-main { padding-bottom:200px; }
.product-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:clamp(11px,.95vw,18px); font-weight:300; text-transform:uppercase; margin-bottom:35px; }
.product-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.product-layout { display:grid; grid-template-columns:minmax(0,714fr) minmax(0,750fr); gap:120px; }
.product-gallery { min-width:0; }
.product-gallery__main { display:block; aspect-ratio:714 / 581.5; background:#f0f0f0; }
.product-gallery__main img { width:100%; height:100%; display:block; object-fit:contain; }
.product-gallery__thumbnails { display:flex; gap:8px; margin-top:14px; overflow:auto; padding-bottom:4px; }
.product-gallery__thumbnails a { flex:0 0 calc((100% - 16px)/3); aspect-ratio:714 / 581.5; background:#f0f0f0; outline-offset:-2px; }
.product-gallery__thumbnails a[aria-current=true] { outline:2px solid var(--bright-khaki); }
.product-gallery__thumbnails img { width:100%; height:100%; object-fit:contain; display:block; }
.product-navigation { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid #777; padding-bottom:13px; margin-top:-27px; max-width:614px; }
.product-back { display:flex; align-items:center; gap:18px; font-size:14px; text-transform:uppercase; color:#555; }
.product-back img { transform:rotate(180deg); }
.product-controls { display:flex; gap:16px; flex:none; }
.product-controls button { background:transparent; border:0; padding:0; }
.product-controls button:disabled { opacity:.3; cursor:default; }
.product-arrow { display:block; position:relative; width:37px; height:37px; }
.product-arrow__circle { position:absolute; inset:0; }
.product-arrow__chevron { position:absolute; left:14px; top:10px; }
.product-arrow--prev { transform:rotate(180deg); }
.product-info h1 { font-size:24px; line-height:1.4; margin:70px 0 24px; }
.product-description { max-width:614px; font-size:16px; line-height:1.4; }
.product-description p { margin:0 0 12px; }
.product-badges { display:flex; flex-wrap:wrap; gap:14px; list-style:none; padding:0; margin:23px 0 64px; }
.product-badges li { width:62px; font-size:9px; font-weight:500; text-align:center; line-height:1.25; }
.product-badges img { display:block; object-fit:contain; margin:0 auto 6px; }
.product-features { margin-top:20px; }
.product-features h2 { color:var(--bright-khaki); font-size:16px; font-weight:600; margin:0 0 30px; }
.product-features table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:16px; line-height:1.5; }
.product-spec-block { margin-top:28px; margin-bottom:28px; }
.product-features th,.product-features td { text-align:left; vertical-align:top; padding:0 18px 24px 0; overflow-wrap:anywhere; }
.product-features th { width:27%; font-weight:500; }
.product-features td:nth-child(2) { width:38%; }
.product-warranty { color:#666; }
.product-spec { display:inline-block; border:1.5px solid #111; padding:14px 10px; font-size:16px; margin-top:28px; }
.product-spec:hover { color:#fff; background:var(--bright-khaki); border-color:var(--bright-khaki); }
.product-variants { display:flex; flex-wrap:wrap; gap:14px; margin:40px 0 90px; }
.product-variants button { min-width:142px; border:1px solid #111; border-radius:22px; background:#fff; padding:4px 24px; font-size:16px; }
.product-variants button[aria-pressed=true] { background:var(--bright-khaki); border-color:var(--bright-khaki); color:#fff; }
.product-page--recliner .product-badges { margin-bottom:55px; }
.product-mechanisms { margin-left:-20px; position:relative; max-width:390px; margin-top:30px; }
.product-mechanisms > img { display:block; width:100%; height:auto; }
.mechanism-link { position:absolute; border-radius:3px; }
.mechanism-link:hover { background:rgba(124,141,89,.12); }
.mechanism-link--recliner { left:6%; top:18%; width:45%; height:29%; }
.mechanism-link--single { left:6%; top:70%; width:22%; height:29%; }
.mechanism-link--twin { left:28%; top:70%; width:22%; height:29%; }
.mechanism-link--lowpro { left:50%; top:70%; width:21%; height:29%; }
.mechanism-link--cloudzero { left:73%; top:70%; width:22%; height:29%; }
.product-details { background:rgba(163,178,123,.38); }
.product-details__inner { max-width:1002px; width:calc(100% - 120px); min-height:620px; margin:auto; display:grid; grid-template-columns:240px 1fr; align-items:center; gap:225px; padding:65px 0 86px; }
.product-details__copy > p { font-size:16px; font-weight:300; margin:0 0 32px; }
.product-details__copy h2 { font-size:24px; margin:0 0 36px; }
.product-details__copy div { font-size:16px; line-height:1.5; }
.product-details__images { display:flex; gap:35px; }
.product-details__images img { width:285px; height:391px; object-fit:cover; }
.product-details__images img:first-child { margin-top:77px; }
.product-scene { position:relative; }
.product-scene__image { width:100%; height:auto; display:block; }
.product-hotspot { position:absolute; left:clamp(0%,var(--x),calc(100% - 240px)); top:var(--y); }
.product-hotspot__card { display:flex; align-items:center; gap:10px; padding:12px; width:232px; min-height:78px; border-radius:7px; background:#fff; font-size:11px; }
.product-hotspot__card img { width:71px; height:35px; object-fit:contain; }
.product-hotspot__dot { display:block; margin:10px 0 0 5px; }
.product-related { padding:20px 0 180px; margin-left:max(60px,calc((100vw - 1300px)/2)); }
.product-related__heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:40px; padding-right:max(60px,calc((100vw - 1590px)/2)); }
.product-related h2 { font-size:24px; margin:0; }
.product-related__track { display:flex; gap:32px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:10px; }
.product-related__track::-webkit-scrollbar { display:none; }
.product-related .catalogue-card { flex:0 0 clamp(250px,22.65vw,435px); scroll-snap-align:start; }
.catalogue-card__image { aspect-ratio:435 / 354; background:#f0f0f0; }
.catalogue-card__image img { width:100%; height:100%; object-fit:contain; display:block; }
.catalogue-card h3 { font-size:16px; font-weight:400; margin:18px 0 0; }
.product-lightbox { width:94vw; max-width:1500px; height:92vh; padding:48px 20px 20px; border:0; background:#fff; }
.product-lightbox::backdrop { background:rgba(0,0,0,.75); }
.product-lightbox > img { display:block; width:100%; height:100%; object-fit:contain; }
.product-lightbox button { position:absolute; top:12px; right:20px; border:0; padding:8px; background:#fff; }
.catalogue-list { padding-block:100px 150px; }
.catalogue-list h1 { font-size:36px; }
.catalogue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:60px 24px; margin-top:60px; }
.catalogue-pagination { margin-top:50px; }
.catalogue-pagination ul { display:flex; gap:15px; list-style:none; padding:0; }
.catalogue-pagination a,.catalogue-pagination .current { padding:8px 14px; border:1px solid #ddd; display:block; }
.catalogue-pagination .current { background:var(--bright-khaki); color:#fff; }
@media(max-width:1500px) {
 .product-main { padding-bottom:130px; }
 .product-layout { gap:70px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .product-info h1 { margin-top:48px; }
 .product-features table { font-size:14px; }
 .product-details__inner { gap:100px; max-width:1050px; }
 .product-details__images { min-width:0; }
 .product-details__images img { width:calc((100% - 35px)/2); }
}
@media(max-width:900px) {
 .product-main,.product-page--chair .product-main,.product-page--recliner .product-main { width:calc(100% - 48px); padding:90px 0 80px; }
 .product-layout { grid-template-columns:1fr; gap:65px; }
 .product-navigation { margin-top:0; max-width:none; }
 .product-info h1 { margin-top:40px; }
 .product-description { max-width:none; }
 .product-variants { margin-bottom:45px; }
 .product-badges { margin-bottom:40px; }
 .product-features table { font-size:14px; }
 .product-details__inner { width:calc(100% - 48px); grid-template-columns:1fr; gap:40px; padding-block:60px; }
 .product-details__copy { max-width:420px; }
 .product-details__images img { height:340px; }
 .product-related { margin-left:24px; padding:80px 0; }
 .product-related__heading { padding-right:24px; }
 .product-related h2 { font-size:21px; }
 .product-hotspot { left:clamp(0%,var(--x),calc(100% - 150px)); }
 .product-hotspot__card { width:150px; min-height:50px; padding:6px; font-size:10px; }
 .product-hotspot__card img { width:40px; height:30px; }
 .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
 .product-back { font-size:10px; gap:8px; }
 .product-controls { gap:8px; }
 .product-features th,.product-features td { padding:0 8px 20px 0; }
 .product-features table { font-size:12px; }
 .product-details__images img { height:240px; }
 .product-hotspot__card { width:104px; min-height:40px; font-size:9px; }
 .product-hotspot__card img { display:none; }
 .product-hotspot { left:clamp(0%,var(--x),calc(100% - 110px)); }
 .product-hotspot__dot { margin-top:3px; }
 .catalogue-list { width:calc(100% - 48px); }
 .catalogue-grid { gap:32px 12px; }
}

.dining-tabs { grid-template-columns:repeat(7,max-content); justify-content:space-between; gap:20px; overflow-x:auto; }
.dining-toolbar form { font-size:12px; }
.dining-toolbar select,.dining-toolbar form button { border:1px solid #ddd; background:#fff; padding:7px; font:inherit; }
