 .bb-hero { max-width: 940px; margin:0 auto; padding: 64px 24px 32px; }
 .bb-hero h1 { font-family: Fraunces,serif; font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.1; }
 .bb-hero p,.bb-section p { line-height:1.8; }
 .bb-jump { display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 40px; }
 .bb-jump a,.bb-links a { border:1px solid #76624a;border-radius:14px;padding:10px 14px;display:inline-block; }
 .bb-section { max-width:940px; margin:0 auto 36px;padding:28px;border:1px solid #665443;border-radius:22px;background:rgba(255,255,255,.035);scroll-margin-top:110px; }
 .bb-section h2 { font-family:Fraunces,serif;font-size:clamp(1.6rem,3vw,2.2rem); }
 .bb-section p { margin:16px 0; }
 .bb-transport li,#getting-there li,#transport-choice li {line-height:1.8;margin:8px 0;}
 .bb-transport h3 {line-height:1.45;}
 .bb-links { display:flex;gap:10px;flex-wrap:wrap; }
 .bb-fit {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;padding-bottom:12px;border-bottom:1px solid #665443;}
 .bb-fit h3,.bb-tip h3 {font-size:1rem;color:#efbd7a;margin:0;}
 .bb-fit p {margin:8px 0;font-size:.95rem;}
 .bb-tip {padding:18px 22px;border-left:3px solid #dbab68;background:rgba(218,155,78,.08);border-radius:0 12px 12px 0;margin:24px 0;}
 .bb-tip p {margin:8px 0 0;}
 .bb-times {width:100%;border-collapse:collapse;margin:24px 0;text-align:left;}
 .bb-times caption {text-align:left;font-weight:700;padding-bottom:12px;}
 .bb-times th,.bb-times td {padding:14px;border-bottom:1px solid #665443;line-height:1.5;}
 .bb-times thead {color:#efbd7a;background:rgba(218,155,78,.08);}
 .bb-times tbody th {font-weight:500;}
 .bb-times td {min-width:120px;font-weight:700;}
 .bb-meta {font-size:.8rem;opacity:.75;}
 .bb-actions {display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;}
 .bb-inset {margin-top:24px;border-top:1px solid #665443;padding-top:18px;scroll-margin-top:120px;}
 .bb-inset h4 {font-size:1.1rem;margin-bottom:0;}
 #bb-guide details {border-bottom:1px solid #665443;padding:18px 0;}
 #bb-guide summary {cursor:pointer;font-weight:700;line-height:1.5;}
 #bb-guide [hidden] {display:none!important;}
 #bb-guide .bb-jump {max-width:940px;margin:0 auto 36px;padding:0 24px;}
 #bb-guide h3 {margin-top:24px;}
 #bb-guide a {overflow-wrap:anywhere;}
 .bb-event figure img {max-width:100%;max-height:300px;object-fit:contain;}
 .bb-gallery,.bb-weather-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px; }
 .bb-gallery figure { margin:0; }
 .bb-gallery button { width:100%;padding:0;border:0;background:transparent;cursor:zoom-in; }
 .bb-gallery img { width:100%;height:230px;object-fit:cover;border-radius:14px; }
 .bb-gallery figcaption { padding:12px 0;line-height:1.6; }
 .bb-weather-day,.bb-event { padding:16px;border:1px solid #665443;border-radius:14px;margin:12px 0; }
 .bb-weather-day p { font-size:.9rem; }
 .bb-booking { background:rgba(218,155,78,.1); }
 #bb-lightbox { max-width:95vw;max-height:95vh;background:#17120d;color:#fff;border:1px solid #b99a70;border-radius:16px; }
 #bb-lightbox::backdrop { background:rgba(0,0,0,.85); }
 #bb-full-photo { display:block;max-width:88vw;max-height:78vh;object-fit:contain;margin-top:12px; }
 #bb-close { padding:12px 20px;cursor:pointer; }
 @media(max-width:600px){.bb-section{padding:24px 18px}.bb-hero{padding:32px 12px}.bb-jump a{font-size:.85rem}.bb-gallery{grid-template-columns:1fr}.bb-fit{grid-template-columns:1fr;gap:10px}.bb-times th,.bb-times td{padding:12px 6px;font-size:.9rem}.bb-times td{min-width:95px}}
