/* Native WordPress navigation, optional portraits and editable hours. */
header nav .primary-menu { display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }
header nav .primary-menu > li { margin:0; padding:0; list-style:none; }
.team-portrait { width:80px; height:80px; object-fit:cover; border-radius:50%; margin:0 0 18px; border:1px solid var(--line); }
.opening-hours .hours-note { margin:18px 0 0; padding-top:14px; border-top:1px solid #ffffff24; font-size:.9rem; line-height:1.6; color:#dfebf4; }
.opening-hours .hours-note { white-space:pre-line; }
.opening-hours .bpc-edit-hours { margin:16px 0 0; }
.opening-hours .bpc-edit-hours a { display:inline-block; margin-top:16px; color:#fff; font-size:.84rem; text-underline-offset:4px; }
.reading-width { max-width:920px; }
.page-content h1 { font-size:clamp(2.4rem,4.5vw,4rem); }
.clinic-entry { margin-bottom:45px; }
.entry-content > * { max-width:100%; }
.entry-content img { height:auto; }
.entry-content figure { margin-inline:0; }
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content th,.entry-content td { border:1px solid var(--line); padding:12px; text-align:left; }
.page-content input[type=search] { max-width:100%; padding:12px; border:1px solid var(--line); font:inherit; }
.page-content input[type=submit] { padding:12px 20px; background:var(--navy); color:#fff; border:1px solid var(--navy); font:inherit; cursor:pointer; }
.screen-reader-text { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; position:absolute; white-space:nowrap; }
.screen-reader-text:focus { clip-path:none; width:auto; height:auto; padding:12px; background:#fff; z-index:200; }
.alignleft { float:left; margin:0 24px 16px 0; }
.alignright { float:right; margin:0 0 16px 24px; }
.aligncenter { margin-inline:auto; }
.wp-caption-text,.gallery-caption { font-size:.9rem; }
.bypostauthor { font-weight:inherit; }
@media(max-width:1080px){header nav .primary-menu{display:block;width:100%}header nav .primary-menu>li{width:100%}}
@media(max-width:767px){.team-portrait{width:80px;height:80px}.alignleft,.alignright{float:none;margin:0 0 20px}.entry-content table{display:block;overflow:auto}}

.clinic-interior-photo img { object-position:center 60%; }

/* Real clinic golf photographs: the complete portrait stays visible. */
.golf-grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr); gap:48px; }
.golf-media { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); align-items:end; gap:16px; width:100%; }
.golf-media .golf-photo { margin:0; border:1px solid #e0d6c4; background:var(--ivory); }
.golf-media .golf-photo img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.golf-media figcaption { padding:12px 14px; border-top:1px solid #e0d6c4; color:var(--navy); font-size:.8125rem; line-height:1.5; }
.golf-photo--primary figcaption { font-weight:600; }
.golf-media .golf-photo--training, .golf-media .golf-photo--training img { max-width:400px; }
.golf-media--single { grid-template-columns:minmax(0,1fr); max-width:460px; justify-self:end; }
.golf-media--training-only { max-width:400px; }
.golf-grid--text-only { grid-template-columns:minmax(0,1fr); }
.golf-grid--text-only .golf-copy { max-width:760px; }
@media(max-width:1000px) {
 .golf-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .golf-copy { max-width:760px; }
 .golf-media { max-width:680px; justify-self:center; }
 .golf-media--single { max-width:480px; }
 .golf-media--training-only { max-width:400px; }
}
@media(max-width:560px) {
 .golf-media { grid-template-columns:minmax(0,1fr); max-width:420px; gap:18px; }
 .golf-media .golf-photo--training { width:min(72%,280px); justify-self:end; }
 .golf-media--training-only { max-width:400px; }
 .golf-media--training-only .golf-photo--training { width:100%; }
}

.contact-visit--no-photo { grid-template-columns:minmax(0,1fr); }
.contact-visit--no-photo .visit-details { width:100%; }
