:root{--msc-place-blue:var(--msc-blue,#008fd5);--msc-place-red:var(--msc-red,#e52b38);--msc-place-ink:var(--msc-ink,#233142);--msc-place-muted:var(--msc-muted,#61758a);--msc-place-line:var(--msc-border,#d3e3ef);--msc-place-surface:var(--msc-surface,#fff)}
.msc-place-card{position:relative;display:grid;grid-template-columns:minmax(15rem,34%) minmax(0,1fr);width:100%;min-width:0;min-height:19rem;overflow:hidden;border:1px solid var(--msc-place-line);border-radius:var(--msc-radius-lg,24px);background:var(--msc-place-surface);box-shadow:0 16px 36px rgba(19,42,61,.1);color:var(--msc-place-ink)}
.msc-place-card--grid{display:flex;height:100%;min-height:0;flex-direction:column}.msc-place-card--map{grid-template-columns:7rem minmax(0,1fr);min-height:8rem;border-radius:16px;box-shadow:0 10px 24px rgba(19,42,61,.12)}
.msc-place-card__media-wrap{position:relative;min-width:0;min-height:100%;overflow:hidden}.msc-place-card__media{display:block;width:100%;height:100%;min-height:100%;background:linear-gradient(145deg,#dceaf4,#f1f7fb)}.msc-place-card__media img,.msc-place-card__placeholder{display:block;width:100%;height:100%;min-height:19rem;object-fit:cover}.msc-place-card--grid .msc-place-card__media{height:auto;min-height:0}.msc-place-card--grid .msc-place-card__media img,.msc-place-card--grid .msc-place-card__placeholder{min-height:0;aspect-ratio:16/10}.msc-place-card--map .msc-place-card__media img,.msc-place-card--map .msc-place-card__placeholder{min-height:100%;aspect-ratio:1/1}
.msc-place-card__placeholder{background:linear-gradient(145deg,rgba(0,150,214,.08),rgba(35,49,66,.06))}.msc-place-card__body{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:.72rem;padding:1.3rem;text-align:left}.msc-place-card__body>*{align-self:flex-start}.msc-place-card--map .msc-place-card__body{padding:.85rem;gap:.3rem}
.msc-place-card__categories,.msc-place-card__badges{display:flex;flex-wrap:wrap;gap:.38rem;margin:0;padding:0;list-style:none}.msc-place-card__categories li,.msc-place-card__badges li{padding:.3rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}.msc-place-card__categories li{--msc-place-category-color:var(--msc-place-blue);background:color-mix(in srgb,var(--msc-place-category-color) 13%,white);color:var(--msc-place-category-color);text-transform:uppercase;letter-spacing:.045em}.msc-place-card__categories .is-training-teaching{--msc-place-category-color:#087fc3}.msc-place-card__categories .is-clubs-organisations{--msc-place-category-color:#684a9d}.msc-place-card__categories .is-marinas-moorings{--msc-place-category-color:#087f79}.msc-place-card__categories .is-charter-hire{--msc-place-category-color:#a15513}
.msc-place-card__title,.msc-place-card__image-title{margin:0;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.13}.msc-place-card__title a{color:var(--msc-place-blue);text-decoration:none}.msc-place-card__image-title{display:none}.msc-place-card--grid .msc-place-card__image-title{position:absolute;z-index:2;right:0;bottom:0;left:0;display:block;padding:3.25rem 1.15rem 1rem;background:linear-gradient(transparent,rgba(12,31,45,.86));font-size:clamp(1.15rem,1.7vw,1.45rem);text-align:left}.msc-place-card--grid .msc-place-card__image-title a{color:#fff;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.38)}.msc-place-card--grid .msc-place-card__title{display:none}.msc-place-card__subtitle,.msc-place-card__location,.msc-place-card__excerpt{width:100%;margin:0;color:var(--msc-place-muted);text-align:left}.msc-place-card__excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.48}.msc-place-card__location{display:flex;align-items:flex-start;gap:.36rem;margin-top:auto;font-size:.9rem}.msc-place-card--grid .msc-place-card__location{margin-top:0}.msc-place-card__location svg{width:1rem;height:1rem;flex:0 0 auto;margin-top:.1rem;fill:none;stroke:currentColor;stroke-width:1.7}
.msc-place-card__badges{margin-top:.1rem}.msc-place-card__badges li{background:#edf6fb;color:#234a64}.msc-place-card__badges .is-partner{background:#fff1f2;color:#b21f32}.msc-place-card__badges .is-featured{background:var(--msc-place-red);color:#fff}.msc-place-card__action{margin-top:.15rem;color:var(--msc-place-blue);font-weight:800;text-decoration:none}.msc-place-card__media-wrap>[data-msc-favourite],.msc-place-card__media-wrap>.msc-favourite-button,.msc-place-card__media-wrap>.msc-engagement-favourite,.msc-place-card__media-wrap>.msc-engagement-heart{position:absolute!important;z-index:3;top:.8rem;right:.8rem}.msc-place-card__media-wrap>.msc-engagement-heart:not(.is-selected) path{fill:rgba(255,255,255,.2);stroke:var(--msc-place-ink)}
.msc-place-view-toolbar{display:flex;align-items:center;justify-content:flex-end;margin:0 0 1rem}.msc-place-view-switch{display:inline-flex;gap:.2rem;padding:.25rem;border:1px solid var(--msc-place-line);border-radius:999px;background:#edf5fa}.msc-place-view-switch button{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .78rem!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--msc-place-ink)!important;font:700 .84rem/1 inherit!important;box-shadow:none!important}.msc-place-view-switch button svg{width:1rem;height:1rem;fill:currentColor}.msc-place-view-switch button.is-active{background:#fff!important;color:var(--msc-place-blue)!important;box-shadow:0 3px 10px rgba(19,42,61,.12)!important}.msc-place-view-switch button:focus-visible{outline:2px solid var(--msc-place-blue);outline-offset:2px}
.geodir-listing-posts[data-msc-place-results]{width:100%;margin-right:0!important;margin-left:0!important}.geodir-listing-posts[data-msc-place-results]>.geodir-post{max-width:none!important;padding-right:0!important;padding-left:0!important}.geodir-listing-posts[data-msc-place-results]>.geodir-post>.card{display:flex!important;width:100%!important;max-width:none!important}.geodir-listing-posts[data-msc-place-results].is-list{display:block!important}.geodir-listing-posts[data-msc-place-results].is-list>.geodir-post{width:100%!important;margin-bottom:1.35rem}.geodir-listing-posts[data-msc-place-results].is-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem;align-items:stretch}.geodir-listing-posts[data-msc-place-results].is-grid>.geodir-post{display:flex!important;width:auto!important;margin:0!important}.geodir-listing-posts[data-msc-place-results].is-grid>.geodir-post>.card{height:100%!important}
@media(max-width:700px){.msc-place-card{grid-template-columns:1fr;min-height:0}.msc-place-card__media img,.msc-place-card__placeholder{min-height:0;aspect-ratio:16/9}.msc-place-card--map{grid-template-columns:6rem minmax(0,1fr)}.msc-place-card--map .msc-place-card__media img{height:100%;aspect-ratio:auto}.msc-place-card__body{padding:1rem}.msc-place-view-switch button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(prefers-reduced-motion:no-preference){.msc-place-card{transition:transform .2s ease,box-shadow .2s ease}.msc-place-card:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(19,42,61,.14)}}
.msc-place-card__body{text-align:left!important}.msc-place-card__body>*{margin-inline:0}.msc-place-card__categories,.msc-place-card__badges{width:100%;margin:0!important;padding:0!important;padding-inline-start:0!important;list-style:none!important;text-align:left!important}
.msc-place-card{min-height:16rem}
.msc-place-card__body{gap:.58rem;padding:1rem 1.15rem}
.msc-place-card__excerpt{-webkit-line-clamp:2;line-height:1.42}
.msc-place-card__location{margin-top:0}
.msc-place-card__action{margin-top:auto}
.msc-place-pagination--enhanced{display:none!important}
.msc-place-infinite{display:grid;justify-items:center;gap:.55rem;margin:1.25rem 0 .25rem;text-align:center}
.msc-place-infinite[hidden]{display:none!important}.msc-place-infinite__status{min-height:1.3em;margin:0;color:var(--msc-place-muted);font-size:.86rem}
.msc-place-infinite__button{padding:.68rem 1rem!important;border:1px solid var(--msc-place-line)!important;border-radius:999px!important;background:#fff!important;color:var(--msc-place-blue)!important;font-weight:800!important;box-shadow:0 4px 14px rgba(19,42,61,.09)!important}
.msc-place-infinite__button:is(:hover,:focus-visible){border-color:var(--msc-place-blue)!important;outline:none}.msc-place-infinite__button:disabled{opacity:.65;cursor:progress}
.msc-place-infinite__sentinel{width:1px;height:1px}

/* Compact shared archive/favourites card geometry. */
.msc-place-card{grid-template-columns:minmax(13rem,32%) minmax(0,1fr);min-height:13.5rem;box-shadow:0 12px 28px rgba(19,42,61,.09)}
.msc-place-card__media img,.msc-place-card__placeholder{min-height:13.5rem}
.msc-place-card--grid .msc-place-card__media img,.msc-place-card--grid .msc-place-card__placeholder{aspect-ratio:16/8}
.msc-place-card__body{gap:.44rem;padding:.85rem 1rem}
.msc-place-card__excerpt{-webkit-line-clamp:2;line-height:1.36}
.msc-place-card__location{align-items:flex-start;gap:.4rem;margin-top:0;font-size:.9rem;line-height:1.35}
.msc-place-card__location svg{margin-top:.02rem;stroke:var(--msc-place-blue);stroke-width:1.9}
.geodir-listing-posts[data-msc-place-results].is-list>.geodir-post{margin-bottom:.85rem}
.geodir-listing-posts[data-msc-place-results].is-grid{gap:.85rem}
@media(max-width:700px){.msc-place-card{grid-template-columns:1fr}.msc-place-card__media img,.msc-place-card__placeholder{min-height:0}}

/* Keep theme heading margins and intrinsic image sizes out of card geometry. */
.msc-place-card--grid .msc-place-card__image-title{bottom:0;margin:0!important}
@media(min-width:701px){.msc-place-card--list .msc-place-card__media-wrap{height:100%}.msc-place-card--list .msc-place-card__media{position:absolute;inset:0;height:100%;min-height:0}.msc-place-card--list .msc-place-card__media img,.msc-place-card--list .msc-place-card__placeholder{width:100%;height:100%;min-height:0;object-fit:cover}}

/* Full place page: retained content with a compact, sticky on-page navigator. */
.single-gd_place .msc-place-detail-nav{position:sticky;z-index:800;top:var(--msc-place-sticky-top,calc(var(--wp-admin--admin-bar--height,0px) + .5rem));width:max-content;max-width:100%;margin:0 auto 1rem;padding:.38rem;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(236,246,252,.72);box-shadow:0 8px 28px rgba(19,42,61,.1);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);overflow-x:auto;scrollbar-width:none;transition:top .18s ease}
.single-gd_place .msc-place-detail-nav-source{display:none!important}.single-gd_place .msc-place-detail-nav::-webkit-scrollbar{display:none}.single-gd_place .msc-place-detail-nav__list{display:flex!important;width:max-content;min-width:0;align-items:center;gap:.24rem;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;list-style:none!important}.single-gd_place .msc-place-detail-nav__list>li{margin:0!important;padding:0!important;list-style:none!important}.single-gd_place .msc-place-detail-nav a{position:relative;display:inline-flex;align-items:center;min-height:2.35rem;padding:.48rem .78rem!important;border:0!important;border-bottom:0!important;border-radius:999px;color:var(--msc-place-ink)!important;font-size:.82rem;font-weight:800;line-height:1;text-decoration:none!important;white-space:nowrap}.single-gd_place .msc-place-detail-nav a:is(:hover,:focus-visible),.single-gd_place .msc-place-detail-nav a.is-active{border:0!important;background:rgba(255,255,255,.88);color:var(--msc-place-blue)!important;box-shadow:0 3px 12px rgba(19,42,61,.12)}.single-gd_place .msc-place-detail-nav a:focus-visible{outline:2px solid var(--msc-place-blue);outline-offset:1px}.single-gd_place .msc-place-detail-logo a{width:2.35rem;padding:.22rem!important;background:rgba(255,255,255,.9)}.single-gd_place .msc-place-detail-logo img{display:block;width:1.9rem;height:1.9rem;border-radius:50%;object-fit:contain}.single-gd_place .msc-place-detail-section{scroll-margin-top:var(--msc-place-detail-offset,calc(var(--wp-admin--admin-bar--height,0px) + 5.25rem));margin-block:0 1rem;border:1px solid var(--msc-place-line);border-radius:var(--msc-radius-lg,24px);background:var(--msc-place-surface);box-shadow:0 12px 32px rgba(19,42,61,.08)}
.single-gd_place .msc-place-detail-nav a::after{display:none!important;width:0!important;height:0!important;content:none!important;background:transparent!important}
.single-gd_place :where(.wp-block-kadence-rowlayout,.kt-row-layout-inner,.kt-row-column-wrap,.wp-block-kadence-column,.kt-inside-inner-col):has(>.msc-place-detail-nav),.single-gd_place :where(.wp-block-kadence-rowlayout,.kt-row-layout-inner,.kt-row-column-wrap,.wp-block-kadence-column,.kt-inside-inner-col):has(.msc-place-detail-nav){position:static!important;top:auto!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media(max-width:782px){.single-gd_place .msc-place-detail-nav{max-width:calc(100vw - 1rem);border-radius:18px}.single-gd_place .msc-place-detail-section{scroll-margin-top:var(--msc-place-detail-offset,4.75rem)}}

/* GeoDirectory map bubble: one compact MSC place card, without duplicate GD chrome. */
.gd-bubble{width:min(22rem,calc(100vw - 3rem))!important;max-width:22rem!important}.gd-bubble .geodir-bubble_desc>h4,.gd-bubble .geodir-bubble_image,.gd-bubble .geodir-bubble-meta-top{display:none!important}.gd-bubble .gd-bubble-inside,.gd-bubble .geodir-bubble_desc,.gd-bubble .geodir-bubble-meta-side{width:100%!important;margin:0!important;padding:0!important}.gd-bubble .msc-place-card--map{grid-template-columns:7.25rem minmax(0,1fr);min-height:8.75rem;border:0;border-radius:14px;box-shadow:none}.gd-bubble .msc-place-card--map .msc-place-card__media-wrap{min-height:8.75rem}.gd-bubble .msc-place-card--map .msc-place-card__body{justify-content:center;gap:.34rem;padding:.78rem}.gd-bubble .msc-place-card--map .msc-place-card__categories li,.gd-bubble .msc-place-card--map .msc-place-card__badges li{padding:.22rem .42rem;font-size:.62rem}.gd-bubble .msc-place-card--map .msc-place-card__title{display:block;font-size:1rem}.gd-bubble .msc-place-card--map .msc-place-card__location{font-size:.76rem}.gd-bubble .msc-place-card--map .msc-place-card__action{margin-top:.12rem;font-size:.78rem}.gd-bubble .msc-place-card--map .msc-engagement-heart{width:36px;height:36px;padding:6px!important;top:.5rem!important;right:.5rem!important}.gd-bubble .msc-place-card--map .msc-engagement-heart svg{width:22px;height:22px}

/* Canonical course cards used by place groups, archives and favourites. */
.msc-course-card{position:relative;display:grid;grid-template-columns:minmax(9rem,28%) minmax(0,1fr);min-height:11rem;overflow:hidden;border:1px solid var(--msc-place-line);border-radius:var(--msc-radius-lg,24px);background:#fff;box-shadow:0 12px 28px rgba(19,42,61,.09);color:var(--msc-place-ink)}.msc-course-card--grid{display:flex;height:100%;flex-direction:column}.msc-course-card__media-wrap{position:relative;min-height:100%;overflow:hidden}.msc-course-card__media,.msc-course-card__media img,.msc-course-card__placeholder{display:block;width:100%;height:100%;min-height:11rem;object-fit:cover}.msc-course-card__placeholder{background:linear-gradient(145deg,rgba(0,150,214,.1),rgba(35,49,66,.08))}.msc-course-card--grid .msc-course-card__media-wrap{min-height:0}.msc-course-card--grid .msc-course-card__media,.msc-course-card--grid .msc-course-card__media img,.msc-course-card--grid .msc-course-card__placeholder{height:auto;min-height:0;aspect-ratio:16/9}.msc-course-card__media-wrap>[data-msc-favourite],.msc-course-card__media-wrap>.msc-engagement-heart{position:absolute!important;z-index:3;top:.7rem;right:.7rem}.msc-course-card__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1rem;text-align:left}.msc-course-card__body h3,.msc-course-card__body p,.msc-course-card__body small{margin:0;text-align:left}.msc-course-card__body h3 a{color:var(--msc-place-blue);text-decoration:none}.msc-course-card__body p{display:-webkit-box;overflow:hidden;color:var(--msc-place-muted);line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.msc-course-card__body small{color:var(--msc-place-muted)}.msc-course-card__pills{display:flex;flex-wrap:wrap;gap:.35rem}.msc-course-card__pills span{padding:.28rem .55rem;border-radius:999px;background:#edf6fb;color:#234a64;font-size:.7rem;font-weight:800;text-transform:uppercase}.msc-course-card__pills .is-level{background:var(--msc-place-ink);color:#fff}.msc-course-card__action{margin-top:auto;color:var(--msc-place-blue);font-weight:800;text-decoration:none}@media(max-width:620px){.msc-course-card{grid-template-columns:1fr}.msc-course-card__media,.msc-course-card__media img,.msc-course-card__placeholder{height:auto;min-height:0;aspect-ratio:16/9}}

/* Lean, opt-in full place detail renderer. */
.msc-place-detail{color:var(--msc-place-ink)}.msc-place-detail__hero{position:relative;padding:clamp(2rem,6vw,5rem) 1rem;background:linear-gradient(135deg,#17364d,#315f78);color:#fff}.msc-place-detail__hero-inner,.msc-place-detail__layout{width:min(76rem,calc(100% - 2rem));margin-inline:auto}.msc-place-detail__hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.msc-place-detail__hero h1{margin:.55rem 0 .35rem;color:#fff;font-size:clamp(2rem,5vw,4rem)}.msc-place-detail__hero p{margin:0;color:rgba(255,255,255,.86)}.msc-place-detail__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}.msc-place-detail>.msc-place-detail-nav{margin:-1.4rem auto 1.5rem}.msc-place-detail__main{display:grid;gap:1rem}.msc-place-detail .msc-place-detail-section{padding:clamp(1rem,3vw,2rem)}.msc-place-detail .msc-place-detail-section>h2{margin:0 0 1rem}.msc-place-detail__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem;margin:0}.msc-place-detail__facts>div{padding:.8rem;border-radius:14px;background:#f3f8fb}.msc-place-detail__facts dt{font-size:.75rem;font-weight:800;text-transform:uppercase}.msc-place-detail__facts dd{margin:.2rem 0 0}.msc-place-detail__group+ .msc-place-detail__group{margin-top:1rem}.msc-place-detail__pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.msc-place-detail__pills li{padding:.4rem .7rem;border-radius:999px;background:#edf6fb;color:#234a64}.msc-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}@media(max-width:700px){.msc-place-detail__hero-inner{align-items:flex-start;flex-direction:column}.msc-place-detail__actions{justify-content:flex-start}.msc-place-detail__hero-inner,.msc-place-detail__layout{width:min(100% - 1rem,76rem)}}
.msc-place-detail__contact-form{margin-top:1.25rem}.msc-place-detail__tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1rem;margin-top:1rem}.msc-place-detail__tools details{overflow:hidden;border:1px solid var(--msc-place-line);border-radius:16px;background:#f7fbfd}.msc-place-detail__tools summary{padding:.8rem 1rem;color:var(--msc-place-blue);font-weight:800;cursor:pointer}.msc-place-detail__tools iframe{display:block;width:100%;height:22rem;border:0}.msc-place-detail__tools p{margin:.5rem 1rem 1rem;color:var(--msc-place-muted);font-size:.78rem}
