:root{--ink:#202020;--red:#c51f27;--gold:#e3bd57;--line:#e7e4df;--cream:#faf8f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:16px/1.55 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}.preview{padding:9px 20px;text-align:center;background:#fff1d4;color:#664b17;font-size:11px;letter-spacing:1px;font-weight:bold}.preview span{margin-left:16px;font-weight:normal;letter-spacing:0;font-size:12px}.topbar{padding:10px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px}.topbar button{font-size:12px;letter-spacing:0}header{text-align:center;padding:25px 20px 20px}.logo{width:220px;height:120px;object-fit:contain}header p{margin:4px 0 0;color:#777;font-size:12px;letter-spacing:1px}nav{display:flex;justify-content:center;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 20px;font-size:13px}nav a[aria-current]{color:var(--red)}nav a:hover{color:var(--red)}main{max-width:1280px;margin:auto;padding:32px 36px 65px}.hero{width:100%;display:block;aspect-ratio:1.7768;object-fit:contain;background:#171717}.intro{text-align:center;padding:44px 0 27px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:bold;color:var(--red);text-transform:uppercase}h1{font-family:Georgia,serif;font-weight:normal;font-size:36px;line-height:1.2;margin:12px 0}h2{font-family:Georgia,serif;font-weight:normal;font-size:28px;margin:8px 0 18px}p{margin:10px 0}.muted{color:#737373;font-size:14px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.category img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#f5f4f2;transition:transform .2s}.category:hover img{transform:translateY(-4px)}.category h2{font:normal 19px Georgia,serif;margin:17px 0 5px}.category .explore{font-size:12px;color:#777}.breadcrumb{font-size:11px;color:#777;margin-bottom:25px}.collectionhead{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px;gap:20px}.collectionhead select{padding:9px;border:1px solid var(--line);background:white;font-size:12px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.productcard img{width:100%;aspect-ratio:1.25;object-fit:contain;background:#f7f6f3}.productcard h2{font:normal 17px/1.4 Georgia,serif;margin:12px 0 6px}.price{font-size:14px;font-weight:bold}.tag{display:inline-block;padding:3px 9px;background:#f0efec;color:#777;font-size:10px;letter-spacing:.5px;margin:8px 0}.tag.available{background:#edf4ec;color:#39583b}.detail{display:grid;grid-template-columns:1.3fr 1fr;gap:55px}.mainimage{width:100%;background:#f5f4f1;object-fit:contain;max-height:650px}.thumbs{display:flex;gap:10px;margin-top:12px}.thumbs button{padding:0;border:1px solid var(--line)}.thumbs img{width:72px;height:60px;object-fit:contain}.detail h1{font-size:30px}.detail .price{font-size:22px;margin:18px 0}.description{font-size:14px;border-top:1px solid var(--line);padding-top:18px}.primary{display:block;background:var(--ink);color:white;padding:14px 22px;font-size:13px;letter-spacing:.5px;text-align:center;width:100%;margin:20px 0}.primary:hover{background:var(--red)}.secondary{padding:11px 20px;border:1px solid #bbb;font-size:13px}.notice{padding:15px;background:var(--cream);font-size:13px;border-left:3px solid var(--gold);margin:20px 0}.back{font-size:12px;border-bottom:1px solid #888}.empty{padding:70px 0;text-align:center}.searchbox{max-width:800px;margin:24px auto;padding:0 20px}.searchbox:not([hidden]){display:flex;gap:15px;align-items:center}.searchbox label{font-size:12px;white-space:nowrap}.searchbox input{width:100%;padding:12px;border:1px solid var(--line)}footer{background:#f6f5f2;border-top:1px solid var(--line);text-align:center;padding:35px 20px;color:#777;font-size:12px}footer img{width:115px;height:65px;object-fit:contain}footer div{letter-spacing:2px;font-size:9px;margin:20px 0}footer small{font-size:10px}dialog{border:0;max-width:650px;width:calc(100% - 30px);max-height:90vh;padding:0;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#0009}.dialogtop{position:sticky;top:0;background:white;z-index:2;border-bottom:1px solid var(--line);padding:15px 25px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.8px}#bookbody{padding:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px}label input,label select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccc;background:white;border-radius:0}fieldset{border:1px solid var(--line);padding:18px;margin:18px 0}legend{font-size:12px;font-weight:bold;padding:0 8px}.consent{border:0;padding:5px 0 0;margin:16px 0 0}.consent legend{padding:0;font-weight:normal}.consent label{display:inline-flex;gap:8px;align-items:center;margin:10px 18px 0 0}.consent input{width:auto;margin:0}.consent p{font-size:11px;color:#777}.remove{font-size:11px;color:var(--red);float:right}.reviewrow{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.reviewchild{font-size:13px;padding:12px 0}.reviewchild strong{display:block}.total{font-size:22px}.full{grid-column:1/-1}@media(max-width:760px){.preview span{display:block;margin:3px 0}.topbar{padding:8px 20px}header{padding:17px}.logo{width:160px;height:88px}nav{padding:12px;gap:10px 22px;flex-wrap:wrap;font-size:11px}main{padding:22px 18px 40px}.categories,.products{gap:18px;grid-template-columns:repeat(2,1fr)}.categories .category:first-child{grid-column:1/-1;max-width:360px;width:100%;margin:auto}.intro{padding:30px 0 20px}h1{font-size:28px}.category h2{font-size:16px}.detail{grid-template-columns:1fr;gap:20px}.collectionhead{align-items:start;flex-direction:column}.formgrid{grid-template-columns:1fr}.searchbox:not([hidden]){flex-wrap:wrap}.searchbox label{width:100%}.searchbox input{flex:1}.detail h1{font-size:26px}#bookbody{padding:20px}.hero{margin-top:0}}

.deposits{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:auto}.deposits .productcard img{aspect-ratio:1;object-fit:contain}.deposits .productcard{text-align:center}.deposits .productcard h2{font-size:21px}.deposits .price{font-size:19px}@media(max-width:500px){.deposits{grid-template-columns:1fr;max-width:340px}}

#inlineBooking{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}#inlineBooking h2{font-size:24px}#inlineBooking .formgrid{grid-template-columns:1fr}#inlineBooking fieldset{min-width:0}#inlineBooking input{min-width:0}.stripe-test{margin-top:30px;padding:18px 0;border-top:1px solid var(--line)}.stripe-test summary{cursor:pointer;font-size:13px}.stripe-test .secondary{display:block;text-align:center}

button:disabled{cursor:not-allowed;opacity:.55}#checkoutError:not(:empty){padding:15px;background:#fff0ee;color:#a02020;font-size:14px}

.eventgallery{min-width:0}.eventgallery .mainimage{display:block;width:100%;height:auto}.eventgallery .thumbs{flex-wrap:wrap}.eventgallery .thumbs button{width:128px;padding:6px;text-align:left;border:1px solid var(--line);background:white}.eventgallery .thumbs button[aria-pressed="true"]{border:2px solid var(--red);padding:5px}.eventgallery .thumbs img{display:block;width:100%;height:76px;object-fit:contain}.eventgallery .thumbs span{display:block;font-size:11px;line-height:1.4;margin-top:5px}.fullimage{display:inline-block;font-size:13px;text-decoration:underline;text-underline-offset:3px;margin-top:16px}.eventgallery .muted{font-size:12px}@media(max-width:760px){.eventgallery .thumbs button{width:calc((100% - 20px)/3);min-width:85px}}

.detail{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:55px;row-gap:24px;align-items:start}.eventgallery{grid-column:1;grid-row:1}.eventinfo{grid-column:1;grid-row:2;min-width:0}.bookingcolumn{grid-column:2;grid-row:1 / span 2;min-width:0}.eventinfo h2{font-size:24px;margin:0 0 12px}.eventinfo .description{padding-top:14px}@media(max-width:760px){.detail{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:22px}.eventgallery,.eventinfo,.bookingcolumn{grid-column:1;grid-row:auto}}

.productimage{position:relative}.productimage img{display:block}.soldout-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.62);color:#fff;font-size:clamp(24px,4vw,44px);font-weight:800;letter-spacing:.12em;text-align:center;padding:16px}.soldout-card{cursor:default}.soldout-tag{color:#9b2020;background:#fae8e8}.soldout-detail{max-width:700px}.soldout-detail .secondary{display:inline-block}
