/* =====================================================================
   WordPress-only additions on top of main.css (the prototype stylesheet).
   ===================================================================== */

/* header: phone + book button (filled-in slots of the prototype header) */
.tb-call{white-space:nowrap}
.hdr-phone>span{display:block}
.hdr-book{padding:.65em 1.1em}
.logo img{max-width:none}
.admin-bar header.site{top:32px}
@media (max-width:782px){.admin-bar header.site{top:46px}}
@media (max-width:600px){.admin-bar header.site{top:0}}

/* booking form: honeypot, errors, sending state */
.form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{margin:0;padding:.7em .9em;border-radius:var(--r-sm);background:#fdecea;border:1px solid #f5c2bd;color:#8a1f13;font-size:.9rem}
.form button[disabled]{opacity:.65;cursor:progress}
.book-band .form-error{background:#fff}

/* map: the Google embed fades in over the drawn fallback once it has loaded */
.map-canvas .map-embed{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .4s}
.map-canvas .map-embed.loaded{opacity:1}
.map-canvas .map-embed.loaded~.map-label,.map-canvas:has(.map-embed.loaded) .map-label{display:none}

/* YouTube player after click-to-load */
.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);background:#000}

/* membership logos (optional, replace the short name) */
.memberships img{height:34px;width:auto;margin:0 auto 4px;object-fit:contain}

/* articles listing: category links styled like the prototype's filter buttons */
.cat-filter a{display:inline-block;padding:.5em 1.05em;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font:600 .84rem var(--f-head);white-space:nowrap;text-decoration:none!important}
.cat-filter a:hover{border-color:var(--teal)}
.cat-filter a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.pagination{margin-top:36px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .8em;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--navy);font:600 .9rem var(--f-head);text-decoration:none!important}
.pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.pagination .page-numbers:hover:not(.current){border-color:var(--teal)}

/* article body (imported from the old site; edited in the block editor) */
.post-context{font-size:.95rem;color:var(--muted)}
.post-body>p,.post-body>ul,.post-body>ol{max-width:70ch}
.post-body>h2:first-child{margin-top:.6em}
.post-body img{border-radius:var(--r)}
.post-body figure{margin:1.4em 0}
.post-body figcaption{font-size:.84rem;color:var(--muted);margin-top:.5em}
.post-body blockquote{margin:1.4em 0;padding:.6em 1.2em;border-left:4px solid var(--teal);background:var(--bg-soft);border-radius:0 var(--r) var(--r) 0}
.post-body .wp-block-table{margin:1.1em 0 1.5em;overflow-x:auto}

/* WordPress core classes */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.alignleft{float:left;margin:0 1.4em 1em 0}
.alignright{float:right;margin:0 0 1em 1.4em}
.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.84rem;color:var(--muted)}

/* 404 + empty states */
.page-hero .lead a{font-weight:700}

/* Media page: online coverage list and video titles. */
.press-list{list-style:none;margin:0 0 2em;padding:0;display:grid;gap:10px}
.press-list li{background:#fff;border-radius:var(--r);padding:14px 18px;display:flex;flex-direction:column;gap:4px}
.press-list a{font-weight:600;color:var(--ink,inherit);text-decoration:none}
.press-list a:hover{text-decoration:underline}
.press-meta{font-size:.85rem;color:var(--text)}
.press-title{margin-top:.4em;font-size:1rem}

/* The booking photo bleeds to the right edge with margin-right:calc(50% - 50vw), but 50% is its grid
   column's width, not the page's, so it ran ~300px past the window and the whole page scrolled sideways.
   Clip it at the section edge (clip, not hidden: no scroll container, sticky header keeps working). */
.book-band{overflow-x:clip}
