/* SwingDesire Clubs Directory main page, from the approved design. */
body.sd-mainsite.sd-clubs-public{background:#fff!important;color:#281a30}
body.sd-mainsite.sd-clubs-public .sd-clubs-main{background:#fff; overflow:hidden}
body.sd-mainsite.sd-clubs-public .sd-main-header{background:transparent}
body.sd-mainsite.sd-clubs-public .sd-main-header.is-scrolled{background:rgba(5,4,7,.94)}
.sd-clubs-container{width:100%;max-width:1500px;padding:0 40px;margin:auto}
.sd-clubs-hero{min-height:680px;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#16071e;color:#fff}
.sd-clubs-hero-media,.sd-clubs-hero-overlay{position:absolute;inset:0}
.sd-clubs-hero-media{z-index:-3}
.sd-clubs-hero-media picture,.sd-clubs-hero-media img{width:100%;height:100%;display:block}
.sd-clubs-hero-media img{object-fit:cover;object-position:center 46%}
.sd-clubs-hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(18,5,25,.98) 0%,rgba(27,8,37,.87) 47%,rgba(27,8,37,.35) 100%),linear-gradient(0deg,rgba(18,5,25,.73),transparent 55%)}
.sd-clubs-hero-inner{position:relative;z-index:2;padding-top:170px;padding-bottom:120px;width:100%}
.sd-clubs-hero-inner>*{max-width:825px}
body.sd-mainsite.sd-clubs-public .sd-clubs-hero .sd-main-eyebrow{font-size:15px;color:#c9a86a;letter-spacing:.19em;text-transform:uppercase;margin:0 0 23px;font-weight:800}
.sd-clubs-hero h1{margin:0 0 26px!important;color:#fff!important;font-size:clamp(52px,6vw,80px);line-height:.98;letter-spacing:-.055em;font-weight:700}
.sd-clubs-hero h1 span{display:block;color:#c932e9;margin-top:9px}
.sd-clubs-hero-summary{font-size:18px;line-height:1.8;color:rgba(255,255,255,.82);margin:0 0 32px!important;max-width:680px}
.sd-clubs-hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.sd-clubs-hero .sd-main-button{font-size:16px;min-height:56px}
.sd-clubs-section{padding:85px 0 100px}
.sd-clubs-directory{background:#f8f5fa}
.sd-clubs-section-heading{text-align:center;margin:0 auto 38px;max-width:820px}
.sd-clubs-section-heading .sd-main-eyebrow{font-size:14px;color:#8b20e6;letter-spacing:.16em;margin-bottom:12px}
.sd-clubs-section-heading h2{font-size:clamp(39px,4.5vw,62px);line-height:1.05;letter-spacing:-.045em;color:#281a30;margin:0 0 16px;font-weight:700}
.sd-clubs-section-heading h2 span{color:#b82ee7}
.sd-clubs-section-heading p{font-size:16px;line-height:1.8;color:#756b79;margin:0 auto;max-width:660px}
.sd-clubs-filterbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,290px) auto;gap:14px;align-items:center;background:#fff;border:1px solid #eadfed;border-radius:22px;box-shadow:0 14px 35px rgba(52,25,65,.07);padding:17px;margin:0 0 26px}
.sd-clubs-filterbar input,.sd-clubs-filterbar select{width:100%;height:52px;outline:none;border:1px solid #e8e0eb;border-radius:11px;background:#fff;color:#34283a;padding:0 17px;font-size:15px}
.sd-clubs-filterbar input:focus,.sd-clubs-filterbar select:focus{border-color:#a32be3;box-shadow:0 0 0 3px rgba(161,45,225,.10)}
.sd-clubs-filterbar .sd-clubs-clear{min-height:52px;border:0;border-radius:10px;background:linear-gradient(135deg,#8b20e6,#df0a8f);color:#fff;font-size:14px;font-weight:750;padding:0 22px;cursor:pointer}
.sd-clubs-resultbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px;font-size:13px;color:#756b79;font-weight:600}
.sd-clubs-resultbar strong{color:#482c58}
.sd-clubs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.sd-clubs-card{background:#fff;border:1px solid #eadfed;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(52,25,65,.08);transition:transform .2s,box-shadow .2s}
.sd-clubs-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(52,25,65,.14)}
.sd-clubs-card-art{height:228px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;color:white}
.sd-clubs-card-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 26% 15%,rgba(221,75,219,.25),transparent 41%),radial-gradient(circle at 90% 81%,rgba(126,44,255,.23),transparent 52%)}
.sd-clubs-card-art:after{content:"";position:absolute;inset:-80px;opacity:.33;background:repeating-linear-gradient(115deg,transparent 0 88px,rgba(255,255,255,.045) 90px 91px);transform:rotate(3deg)}
.sd-clubs-art-title{position:relative;z-index:2;padding:20px}
.sd-clubs-art-title strong{display:block;font-size:29px;font-weight:800;letter-spacing:-.035em;line-height:1.18;text-transform:uppercase}
.sd-clubs-art-title small{display:block;margin-top:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-size:10px;color:#ddd0e5}
.sd-clubs-card-body{padding:26px 27px 25px}
.sd-clubs-location{font-size:12px;color:#8b20e6;font-weight:700;margin-bottom:10px;letter-spacing:.01em}
.sd-clubs-card-body h3{font-size:25px;font-weight:750;line-height:1.22;letter-spacing:-.03em;color:#281a30;margin:0 0 12px}
.sd-clubs-card-body p{font-size:14px;line-height:1.7;color:#746a78;margin:0 0 22px;min-height:70px}
.sd-clubs-card-bottom{padding-top:17px;border-top:1px solid #eee5f1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.sd-clubs-card-bottom .spotlink{color:#8b20e6;font-weight:700;font-size:12px}
.sd-clubs-card-bottom .spotlink.empty{color:#99909d}
.sd-clubs-card-bottom .viewlink{font-size:13px;color:#7e1ece;font-weight:850;white-space:nowrap}
.sd-clubs-countnote{font-size:12px;color:#81788a;text-align:center;margin:25px 0 0}
.sd-clubs-empty{text-align:center;background:#fff;border-radius:20px;border:1px solid #eadfed;padding:45px;color:#756b79;display:none}
.sd-clubs-spotlight{background:#09070d;color:#fff;padding:95px 0 110px}
.sd-clubs-spotlight .sd-clubs-section-heading h2{color:#fff}
.sd-clubs-spotlight .sd-clubs-section-heading p{color:#aaa3b0}
.sd-clubs-spotlight .sd-clubs-section-heading .sd-main-eyebrow{color:#c9a86a}
.sd-clubs-spotlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sd-clubs-spotlight-grid a{display:flex;flex-direction:column;min-height:230px;padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(145deg,rgba(39,21,51,.65),rgba(13,9,19,.97));transition:border .2s,transform .2s}
.sd-clubs-spotlight-grid a:hover{border-color:#df0a8f;transform:translateY(-3px)}
.sd-clubs-spotlight-grid .location{color:#c9a86a;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sd-clubs-spotlight-grid strong{color:#fff;font-size:24px;margin:20px 0 9px;letter-spacing:-.03em}
.sd-clubs-spotlight-grid .excerpt{font-size:13px;line-height:1.7;color:#b4abb9;flex:1}
.sd-clubs-spotlight-grid .read{margin-top:22px;color:#f061bf;font-weight:700;font-size:13px}
.sd-clubs-info{background:#fff}
.sd-clubs-info-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}
.sd-clubs-info-grid .sd-main-eyebrow{font-size:14px;color:#8b20e6}
.sd-clubs-info-grid h2{color:#281a30;font-size:clamp(38px,4.5vw,57px);line-height:1.08;letter-spacing:-.045em;margin:0 0 22px}
.sd-clubs-info-grid p{font-size:17px;line-height:1.85;color:#756b79;margin:0 0 24px}
.sd-clubs-info-list{display:grid;gap:15px}
.sd-clubs-info-list article{display:flex;gap:16px;padding:22px 24px;background:#f8f5fa;border:1px solid #eadfed;border-radius:17px}
.sd-clubs-info-list .check{display:grid;place-items:center;width:36px;height:36px;flex:none;color:#fff;border-radius:11px;background:linear-gradient(135deg,#8b20e6,#df0a8f);font-size:18px;font-weight:800}
.sd-clubs-info-list strong{display:block;font-size:17px;color:#281a30;margin-bottom:3px}
.sd-clubs-info-list small{font-size:13px;color:#756b79;line-height:1.65;display:block}
.sd-clubs-faq{background:#f8f5fa;padding:85px 0 95px}
.sd-clubs-faq .sd-clubs-section-heading{margin-bottom:42px}
.sd-clubs-faq details{max-width:910px;margin:0 auto 12px;background:#fff;border:1px solid #eadfed;border-radius:14px;padding:23px 26px}
.sd-clubs-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:750;color:#281a30;list-style:none;font-size:17px}
.sd-clubs-faq summary:after{content:'+';color:#8b20e6;font-size:24px}
.sd-clubs-faq details[open] summary:after{content:'−'}
.sd-clubs-faq details p{color:#756b79;margin:15px 0 0;line-height:1.8;font-size:15px}
.sd-clubs-final{position:relative;padding:70px 0;color:#fff;background:radial-gradient(circle at 12% 50%,rgba(239,75,177,.22),transparent 30%),linear-gradient(105deg,#5f1161,#361048 45%,#160b23)}
.sd-clubs-final-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.sd-clubs-final .sd-main-eyebrow{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:8px}
.sd-clubs-final h2{color:#fff;font-size:clamp(34px,4vw,46px);margin:0;line-height:1.05;max-width:680px}
.sd-clubs-final .sd-main-button{flex:none}
.sd-clubs-footer{background:#040306!important}
.sd-clubs-profile-body{background:#fff;padding:85px 0 100px}
.sd-clubs-profile-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:60px;align-items:start}
.sd-clubs-article .sd-main-eyebrow{color:#8b20e6;font-size:13px}
.sd-clubs-article h2{font-size:clamp(35px,4vw,51px);color:#281a30;line-height:1.06;letter-spacing:-.035em;margin:0 0 23px}
.sd-clubs-article p{color:#756b79;font-size:17px;line-height:1.85;margin:0 0 24px}
.sd-clubs-profile-panel{border-radius:24px;border:1px solid #eadfed;padding:30px;background:#f8f5fa;box-shadow:0 15px 35px rgba(52,25,65,.06)}
.sd-clubs-profile-panel h3{color:#281a30;font-size:24px;margin:0 0 21px}
.sd-clubs-profile-panel dl{margin:0 0 24px}
.sd-clubs-profile-panel dt{color:#8b20e6;font-weight:750;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:17px 0 3px}
.sd-clubs-profile-panel dd{margin:0;color:#46394c;font-size:15px;line-height:1.55}
.sd-clubs-profile-panel .sd-main-button{width:100%;font-size:15px;padding:0 14px}
.sd-clubs-profile-spot{margin-top:52px;border:1px solid #eadfed;border-radius:25px;background:#f8f5fa;display:grid;grid-template-columns:210px 1fr;overflow:hidden}
.sd-clubs-profile-spot .pic{background:#230d2c;min-height:225px;overflow:hidden}
.sd-clubs-profile-spot img{height:100%;width:100%;object-fit:cover}
.sd-clubs-profile-spot-content{padding:31px 32px}
.sd-clubs-profile-spot-content .sd-main-eyebrow{font-size:12px}
.sd-clubs-profile-spot h3{font-size:27px;margin:0 0 10px;color:#281a30}
.sd-clubs-profile-spot p{font-size:14px;line-height:1.7;margin:0 0 20px}
.sd-clubs-profile-spot a{color:#8b20e6;font-weight:800;font-size:14px}
.sd-clubs-profile-muted{margin-top:30px;padding:25px;background:#f8f5fa;border-radius:17px;color:#746a78;font-size:14px;line-height:1.7}
.sd-clubs-profile-muted a{color:#8b20e6;font-weight:800}
.sd-clubs-breadcrumb{font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.72);margin-bottom:23px!important}
.sd-clubs-breadcrumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* The shared main-site resets assume dark backgrounds. On white public sections, restore the correct explicit text colour. */
body.sd-mainsite.sd-clubs-public .sd-main-navigation a{color:rgba(255,255,255,.85)}
body.sd-mainsite.sd-clubs-public .sd-main-navigation a.is-active,body.sd-mainsite.sd-clubs-public .sd-main-navigation a:hover{color:#fff}
body.sd-mainsite.sd-clubs-public .sd-clubs-section-heading h2,
body.sd-mainsite.sd-clubs-public .sd-clubs-info-grid h2,
body.sd-mainsite.sd-clubs-public .sd-clubs-card-body h3,
body.sd-mainsite.sd-clubs-public .sd-clubs-article h2,
body.sd-mainsite.sd-clubs-public .sd-clubs-profile-panel h3,
body.sd-mainsite.sd-clubs-public .sd-clubs-profile-spot h3{color:#281a30}
body.sd-mainsite.sd-clubs-public .sd-clubs-card-art .sd-clubs-art-title strong{color:#fff}
body.sd-mainsite.sd-clubs-public .sd-clubs-spotlight h2,
body.sd-mainsite.sd-clubs-public .sd-clubs-final h2{color:#fff}
body.sd-mainsite.sd-clubs-public .sd-clubs-spotlight-grid strong{color:#fff}
body.sd-mainsite.sd-clubs-public .sd-clubs-info-list strong{color:#281a30}
body.sd-mainsite.sd-clubs-public .sd-clubs-hero h1{color:#fff}
body.sd-mainsite.sd-clubs-public .sd-clubs-hero h1 span{color:#c932e9}
body.sd-mainsite.sd-clubs-public .sd-clubs-hero .sd-clubs-breadcrumb{color:rgba(255,255,255,.72)}
body.sd-mainsite.sd-clubs-public .sd-clubs-footer h2{color:#fff}
@media(max-width:1100px){.sd-clubs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-clubs-spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-clubs-info-grid{gap:35px}}
@media(max-width:767px){
 .sd-clubs-container{padding:0 18px}
 .sd-clubs-hero{min-height:730px;align-items:flex-end}
 .sd-clubs-hero-media img{object-position:63% center}
 .sd-clubs-hero-overlay{background:linear-gradient(180deg,rgba(18,5,25,.32) 0%,rgba(18,5,25,.43) 25%,rgba(18,5,25,.94) 71%,#150719 100%)}
 .sd-clubs-hero-inner{padding-top:180px;padding-bottom:63px}
 .sd-clubs-hero h1{font-size:clamp(47px,12vw,63px)}
 .sd-clubs-hero-inner .sd-main-eyebrow{font-size:13px!important}
 .sd-clubs-hero-summary{font-size:16px;line-height:1.7}
 .sd-clubs-hero-actions{gap:11px}
 .sd-clubs-hero .sd-main-button{padding:0 15px;min-height:50px;font-size:13px}
 .sd-clubs-section{padding:65px 0 75px}
 .sd-clubs-section-heading{margin-bottom:29px}
 .sd-clubs-section-heading h2{font-size:38px}
 .sd-clubs-filterbar{grid-template-columns:1fr;padding:13px;gap:10px;border-radius:18px}
 .sd-clubs-filterbar input,.sd-clubs-filterbar select,.sd-clubs-filterbar .sd-clubs-clear{height:49px;min-height:49px}
 .sd-clubs-grid,.sd-clubs-spotlight-grid,.sd-clubs-info-grid,.sd-clubs-profile-columns{grid-template-columns:1fr}
 .sd-clubs-grid{gap:18px}
 .sd-clubs-card-art{height:185px}
 .sd-clubs-card-body p{min-height:0}
 .sd-clubs-spotlight-grid{gap:12px}
 .sd-clubs-spotlight-grid a{min-height:0}
 .sd-clubs-spotlight{padding:65px 0 72px}
 .sd-clubs-info-grid{gap:25px}
 .sd-clubs-info-grid h2{font-size:39px}
 .sd-clubs-faq{padding:65px 0 75px}
 .sd-clubs-final-inner{align-items:flex-start;flex-direction:column}
 .sd-clubs-final h2{font-size:38px}
 .sd-clubs-profile-body{padding:60px 0 80px}
 .sd-clubs-profile-columns{gap:30px}
 .sd-clubs-profile-spot{grid-template-columns:1fr}
 .sd-clubs-profile-spot .pic{height:235px}
 .sd-clubs-profile-spot-content{padding:24px}
}


/* Fitting the design to the live site. */

#club-directory,
#club-spotlights {
    scroll-margin-top: 76px;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-card-body h3 {
    font-family: var(--sd-main-heading-font);
}

body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar input,
body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar select {
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 17px;
    border: 1px solid #e8e0eb;
    border-radius: 11px;
    background-color: #ffffff;
    box-shadow: none;
    color: #34283a;
    font-size: 16px;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar input:focus,
body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar select:focus {
    border-color: #a32be3;
    box-shadow: 0 0 0 3px rgba(161, 45, 225, 0.1);
}

body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar .sd-clubs-clear {
    min-height: 52px;
    padding: 0 22px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #8b20e6, #df0a8f);
    box-shadow: none;
    color: #ffffff;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-card-art {
    color: #ffffff;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-card-photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sd-clubs-card-art.has-photo::before {
    z-index: 1;
    background: linear-gradient(0deg, rgba(9, 5, 12, 0.72), rgba(9, 5, 12, 0.28));
}

.sd-clubs-card-art.has-photo::after {
    display: none;
}

.sd-clubs-card-distance {
    color: #df0a8f;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-faq details p a {
    color: #8b20e6;
    font-weight: 700;
    text-decoration: underline;
}

.sd-clubs-spotlight-grid.is-few {
    grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
    justify-content: center;
}

@media (max-width: 767px) {

    body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar input,
    body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar select,
    body.sd-mainsite.sd-clubs-public .sd-clubs-filterbar .sd-clubs-clear {
        height: 49px;
        min-height: 49px;
    }

    .sd-clubs-resultbar span:last-child {
        display: none;
    }
}

body.sd-mainsite.sd-clubs-public .sd-clubs-more {
    display: block;
    min-height: 52px;
    margin: 32px auto 0;
    padding: 0 30px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #8b20e6, #df0a8f);
    box-shadow: none;
    color: #ffffff;
    font-size: 15px;
    font-weight: 750;
    cursor: pointer;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-more[hidden] {
    display: none;
}

.sd-clubs-section-heading p + p {
    margin-top: 12px;
}

.sd-clubs-regions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 18px;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid #eadfed;
    color: #281a30;
    font-size: 15px;
    line-height: 1.6;
}

.sd-clubs-regions strong,
body.sd-mainsite.sd-clubs-public .sd-clubs-regions a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    line-height: 1.2;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-regions a {
    color: #8b20e6;
    font-weight: 700;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-regions a:hover {
    color: #df0a8f;
}

.sd-clubs-section-heading:has(.sd-clubs-region-intro) {
    max-width: 960px;
}

body.sd-mainsite.sd-clubs-public .sd-clubs-region-intro p {
    max-width: none;
    margin: 0 0 8px;
}


.sd-clubs-region-intro summary {
    display: inline-block;
    color: #8b20e6;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

.sd-clubs-region-intro summary::-webkit-details-marker {
    display: none;
}

.sd-clubs-region-intro summary::after {
    content: "Read more";
}

/* An open section keeps Read less below the text. */
.sd-clubs-region-intro details {
    position: relative;
}

.sd-clubs-region-intro details[open] {
    padding-bottom: 30px;
}

.sd-clubs-region-intro details[open] summary {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}

.sd-clubs-region-intro details[open] summary::after {
    content: "Read less";
}

/* Any banner fills the hero, whatever its shape. */
body.sd-mainsite.sd-clubs-public .sd-clubs-hero-media img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
}

/* Same edges as the header and footer at every width. */
.sd-clubs-container {
    width: min(calc(100% - 64px), var(--sd-main-container));
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}

@media (max-width: 1220px) {

    .sd-clubs-container {
        width: min(calc(100% - 44px), var(--sd-main-container));
    }
}

@media (max-width: 760px) {

    .sd-clubs-container {
        width: min(calc(100% - 32px), var(--sd-main-container));
    }
}
