/*
Theme Name: Dartmouth Crossing – Fully Editable Demo
Theme URI: https://dcspeedskate.ca/
Author: Dartmouth Crossing Speed Skating Club (design preview)
Description: Editable WordPress block theme for a volunteer-managed speed skating club. Every homepage section is constructed with core WordPress blocks.
Version: 2.5.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: dcssc-editable
*/
:root{--dc-navy:#09243d;--dc-ink:#102d43;--dc-deep:#071a2f;--dc-muted:#547085;--dc-red:#eb514e;--dc-teal:#1baebf;--dc-ice:#eff8fa;--dc-line:#dce8ef;--dc-shadow:0 18px 50px rgba(15,50,75,.09)}
*,*:before,*:after{box-sizing:border-box}
body{margin:0;color:var(--dc-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;line-height:1.55;background:#fff}
.wp-site-blocks{overflow-x:clip}h1,h2,h3,h4{letter-spacing:-.035em;line-height:1.15}h1{font-size:clamp(2.5rem,4.6vw,4.8rem)}h2{font-size:clamp(1.9rem,3.4vw,3rem)}h3{font-size:1.35rem}p{line-height:1.55}a{color:#14758b}a:hover{color:var(--dc-red)}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #22b8ca;outline-offset:3px}
.dc-inner{max-width:1180px!important;width:calc(100% - 48px)!important;margin-inline:auto!important}.dc-overline{background:#071626;color:#c5e0e9}.dc-overline-inner{min-height:31px;padding:4px 0}.dc-overline p{margin:0;font-size:10px;letter-spacing:.1em;font-weight:800;text-transform:uppercase}.dc-overline p:first-child{color:#8ce2eb}
.dc-header{position:relative;background:#fff;z-index:5;box-shadow:0 6px 24px #07293c14}.dc-header-inner{max-width:1180px!important;width:calc(100% - 48px)!important;min-height:94px;margin-inline:auto!important;gap:26px}.dc-header .wp-block-site-logo{flex:0 0 auto;margin:0}.dc-header .custom-logo{max-height:78px;width:auto;object-fit:contain}.dc-header .wp-block-navigation{margin-left:auto;gap:20px}.dc-header .wp-block-navigation-item__content{font-weight:800;color:var(--dc-navy)!important;font-size:13px;text-decoration:none}.dc-header .wp-block-navigation-item__content:hover{color:var(--dc-red)!important}.dc-header .wp-block-navigation__responsive-container-open{color:var(--dc-navy)}
.dc-hero{background:linear-gradient(120deg,#071b30 0%,#0b3d55 60%,#096978 100%);color:#fff;position:relative;overflow:hidden}.dc-hero .dc-inner{padding:65px 0 60px}.dc-hero-columns{align-items:center!important;gap:35px!important;min-height:415px}.dc-hero-copy{align-self:center}.dc-kicker{font-size:11px!important;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:#079cac;margin:0 0 13px!important}.dc-hero .dc-kicker{color:#8cf0f3}.dc-hero-title{font-size:clamp(2.65rem,5vw,5rem)!important;line-height:1.07;margin:14px 0 20px!important;letter-spacing:-.05em;color:white!important;font-weight:900}.dc-hero-subtitle{color:#cfe6ed;font-size:1.12rem;max-width:520px;line-height:1.6}.dc-hero-buttons{margin:28px 0 0;gap:12px}.dc-hero-buttons .wp-block-button__link{font-weight:850;border-radius:100px;padding:15px 23px;font-size:.91rem;background:var(--dc-red);color:white;text-decoration:none}.dc-hero-buttons .dc-btn-ghost .wp-block-button__link{background:transparent;border:1px solid #c7f6ff8a;color:#fff}.dc-hero-buttons .dc-btn-ghost .wp-block-button__link:hover{background:#ffffff16}.dc-hero-graphic{position:relative}.dc-hero-graphic:before{content:"";width:340px;height:340px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:3px solid #5ac6cf51;border-radius:50%;box-shadow:0 0 0 28px #52c8d415,0 0 0 63px #52c8d40d}.dc-hero-art{position:relative;z-index:1;margin:0}.dc-hero-art img{width:100%;max-width:435px;filter:drop-shadow(0 24px 17px #0005);border-radius:6px}
.dc-ticker{background:#1babbc;color:#043043}.dc-ticker .dc-inner{padding:10px 0;min-height:50px}.dc-ticker-columns{align-items:center!important;margin:0!important}.dc-ticker p{margin:0;font-size:.84rem;font-weight:750}.dc-ticker .dc-ticker-text{letter-spacing:.055em}.dc-ticker .dc-ticker-link{text-align:right}.dc-ticker a{color:#043043;font-weight:850;text-decoration:none}.dc-ticker a:hover{color:white}
.dc-practice-band{background:#edf8fa;border-bottom:1px solid #d7ebf0}.dc-practice-band .dc-inner{padding:12px 0}.dc-practice-columns{margin:0!important;align-items:center!important;gap:24px!important}.dc-practice-columns .wp-block-column{padding:6px 0}.dc-practice-band h3{font-size:13px;margin:0 0 5px!important;letter-spacing:0}.dc-practice-band p{font-size:12px;color:#617d8e;margin:0}
.dc-section{padding:70px 0}.dc-section.dc-soft{background:#f7fafb}.dc-section .dc-kicker{margin-bottom:13px!important}.dc-section-title{font-size:clamp(1.9rem,3.3vw,3rem);margin:0 0 14px!important;letter-spacing:-.035em}.dc-section-desc{color:var(--dc-muted);font-size:1.05rem;margin:0 0 30px!important;max-width:760px}.dc-fine-print{font-size:13px;color:var(--dc-muted);margin-top:18px}.dc-fine-print a{font-weight:700}.dc-times-table{border:1px solid var(--dc-line);border-radius:18px;overflow-x:auto;box-shadow:var(--dc-shadow);margin:25px 0 15px!important;background:white}.dc-times-table table{border-collapse:collapse;width:100%;min-width:520px}.dc-times-table thead{background:#e6f5f7}.dc-times-table th{font-size:12px;text-align:left;letter-spacing:.08em}.dc-times-table td,.dc-times-table th{border:0;border-bottom:1px solid #dce8ee!important;padding:16px 21px}.dc-times-table tr:last-child td{border-bottom:none!important}.dc-times-table td:first-child{font-weight:750}
.dc-program-grid{gap:18px!important;align-items:stretch!important}.dc-program-grid>.wp-block-column{min-width:0}.dc-program-card{border:1px solid var(--dc-line);box-shadow:0 13px 29px #0e33530f;border-radius:18px;overflow:hidden;background:white;height:100%;display:flex;flex-direction:column}.dc-program-image{margin:0!important;background:#e6f5f8;min-height:145px}.dc-program-image img{display:block;width:100%;height:165px;object-fit:cover}.dc-card-copy{padding:22px 18px 24px;flex:1}.dc-card-copy h3{font-size:1.25rem;margin:10px 0!important}.dc-card-copy p{font-size:.87rem;margin:9px 0}.dc-card-label{font-size:.69rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#13859a}.dc-inline-link a{color:#096e86;font-weight:850;text-decoration:none}
.dc-news-list{list-style:none!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dc-news-list li{background:white;border:1px solid var(--dc-line);padding:20px;border-radius:15px;box-shadow:0 9px 27px #103a5810}.dc-news-list a{text-decoration:none;font-weight:800;color:var(--dc-navy)}.dc-news-list .wp-block-latest-posts__post-date{color:#758997;font-size:.8rem}.dc-news-list .wp-block-latest-posts__featured-image img{border-radius:12px}
.dc-cta{border-radius:23px;background:linear-gradient(110deg,#09243d,#0f6176);color:white;padding:35px}.dc-cta h2{font-size:clamp(1.65rem,2.4vw,2.15rem);color:white;margin-top:0}.dc-cta p{color:#d4e8ee}.dc-cta-columns{align-items:center!important;gap:20px!important}.dc-cta .wp-block-buttons{justify-content:flex-end}.dc-cta .wp-block-button__link{background:var(--dc-red);color:#fff;font-weight:800;border-radius:100px}.dc-cta .dc-btn-light .wp-block-button__link{background:transparent;border:1px solid #addde5;color:#fff}
.dc-page-hero{background:linear-gradient(120deg,#e8f6f8,#f8fbfc);border-bottom:1px solid #d7eaf0}.dc-page-hero .dc-inner{padding:64px 0 60px}.dc-page-title{font-size:clamp(2.5rem,4vw,4.2rem);margin:0!important;letter-spacing:-.05em}.dc-page-subtitle{font-size:1.1rem;color:var(--dc-muted);max-width:810px;margin:16px 0 0!important}.dc-location-card{background:#edf8fa;border-radius:18px;padding:24px;height:100%}.dc-location-card h3{margin-top:0}.dc-post-area{padding:65px 0 85px}.dc-post-card{padding:22px;border:1px solid #dce8ee;border-radius:14px;margin-bottom:20px}
.dc-footer{background:#071b30;color:#c1d7e1;padding:60px 0 25px}.dc-footer-columns{max-width:1180px!important;margin-inline:auto!important;width:calc(100% - 48px);gap:55px!important}.dc-footer .wp-block-site-logo{background:white;border-radius:8px;max-width:max-content;padding:7px}.dc-footer .wp-block-site-logo img{max-width:245px}.dc-footer h3{color:white;font-size:.95rem;letter-spacing:0;margin-top:2px}.dc-footer p{font-size:.87rem;color:#b8d0dc}.dc-footer a{color:#d6e7ef;text-decoration:none;line-height:2}.dc-footer a:hover{color:white}.dc-footer-bottom{border-top:1px solid #ffffff25;margin:35px auto 0!important;padding-top:18px;max-width:1180px!important;width:calc(100% - 48px)!important}.dc-footer-bottom p{font-size:.75rem;color:#95bac7}
.wp-block-button__link{transition:transform .15s,background .15s}.wp-block-button__link:hover{transform:translateY(-2px)}.dc-section>.dc-inner>.wp-block-buttons .wp-block-button__link{background:var(--dc-red);color:white;font-weight:800;border-radius:999px}.dc-section>.dc-inner>.wp-block-buttons{margin-top:25px}.wp-block-embed iframe{max-width:100%}
@media(max-width:1020px){.dc-header-inner{min-height:75px}.dc-header .wp-block-site-logo img{width:160px;height:auto}.dc-header .wp-block-navigation{gap:9px}.dc-header .wp-block-navigation-item__content{font-size:11.5px}.dc-program-grid{flex-wrap:wrap!important}.dc-program-grid>.wp-block-column{flex-basis:calc(50% - 12px)!important;flex-grow:0}}
@media(max-width:760px){.dc-inner,.dc-header-inner,.dc-footer-columns,.dc-footer-bottom{width:calc(100% - 32px)!important}.dc-overline-inner p:last-child{display:none}.dc-hero .dc-inner{padding:50px 0 25px}.dc-hero-columns{flex-direction:column!important}.dc-hero-columns>.wp-block-column{flex-basis:auto!important;width:100%}.dc-hero-title{font-size:3rem!important}.dc-hero-art img{max-width:320px;margin:auto}.dc-hero-graphic:before{width:245px;height:245px}.dc-ticker-columns{flex-direction:column!important;gap:7px!important;align-items:flex-start!important}.dc-ticker .dc-ticker-link{text-align:left}.dc-practice-columns{flex-direction:column!important;align-items:stretch!important;gap:5px!important}.dc-section{padding:47px 0}.dc-program-grid>.wp-block-column{flex-basis:100%!important}.dc-news-list{grid-template-columns:1fr!important}.dc-footer-columns{flex-direction:column!important;gap:24px!important}.dc-cta{padding:28px 22px}.dc-cta-columns{flex-direction:column!important;align-items:start!important}.dc-cta .wp-block-buttons{justify-content:start}.dc-page-hero .dc-inner{padding:45px 0}.dc-header .wp-block-navigation__responsive-container-open{display:flex!important}.dc-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}}
@media(min-width:761px) and (max-width:1020px){.dc-header .wp-block-navigation__responsive-container-open{display:flex!important}.dc-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}}



/* ==== DCSSC visual refinements, v2.3.0 ==== */
:root{
 --dc-red:#dc403d;
 --dc-teal:#087e90;
 --dc-ink:#092c42;
 --dc-muted:#47697d;
 --dc-line:#d9e8ed;
 --dc-ice:#edf7f9;
 --dc-shadow:0 16px 44px rgba(7,36,61,.085);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(.wp-site-blocks) :where(h1,h2,h3){text-wrap:balance}
:where(.wp-site-blocks) p{overflow-wrap:break-word}
:where(.wp-site-blocks) a:not(.wp-block-button__link){text-underline-offset:.18em}
.wp-site-blocks>.wp-block-template-part{margin-block-start:0}
.wp-site-blocks>main{margin-block-start:0}

/* Top stripe, prominent club identity, intuitive navigation */
.dc-overline{background:#071e31;border-bottom:1px solid #21495b}
.dc-overline-inner{min-height:34px}
.dc-overline p{letter-spacing:.075em;font-size:10px}
.dc-header{box-shadow:0 7px 22px rgba(9,36,61,.08);border-bottom:1px solid #edf1f4}
.dc-header:after{content:"";display:block;width:100%;height:3px;background:linear-gradient(90deg,#dc403d 0 22%,#73d5df 55%,transparent 100%)}
.dc-header-inner{min-height:100px}
.dc-header .custom-logo{max-height:80px}
.dc-header .wp-block-navigation{gap:clamp(9px,1.45vw,22px)}
.dc-header .wp-block-navigation-item__content{font-size:13px;line-height:1.5;transition:color .18s}
.dc-header .wp-block-navigation-item__content:hover,.dc-header .current-menu-item>.wp-block-navigation-item__content{color:var(--dc-red)!important}
.dc-header .wp-block-navigation__responsive-container-open{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.dc-header .wp-block-navigation__responsive-container.is-menu-open{background:#fff;color:var(--dc-ink);padding:28px 24px}
.dc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.1rem;line-height:2}

/* More editorial hero, with a subtle red arc inspired by the club logo */
.dc-hero{
 background:radial-gradient(ellipse 90% 100% at 100% 52%,rgba(34,165,182,.29),transparent 68%),linear-gradient(112deg,#061a2d 0%,#092b43 56%,#085f70 100%);
 isolation:isolate;
}
.dc-hero:before{content:"";position:absolute;pointer-events:none;inset:auto -160px -400px auto;width:660px;height:660px;border-radius:50%;border:2px solid rgba(113,225,230,.15);box-shadow:0 0 0 38px rgba(93,202,219,.05),0 0 0 92px rgba(93,202,219,.035)}
.dc-hero:after{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(180deg,#f4524b,#d8403d 62%,#72d8e1)}
.dc-hero .dc-inner{padding-top:clamp(66px,7vw,100px);padding-bottom:clamp(62px,6vw,82px)}
.dc-hero-columns{min-height:430px;gap:clamp(32px,4.1vw,74px)!important}
.dc-hero .dc-kicker{color:#91ecf1;display:inline-flex;align-items:center;gap:9px;letter-spacing:.14em}
.dc-hero .dc-kicker:before{content:"";width:22px;height:2px;display:inline-block;background:#ef5551}
.dc-hero-title{font-size:clamp(3rem,5.4vw,5.25rem)!important;max-width:760px;letter-spacing:-.057em}
.dc-hero-subtitle{font-size:clamp(1.05rem,1.45vw,1.17rem);color:#d0eaf0;line-height:1.7}
.dc-hero-art img{max-width:490px;border-radius:18px;box-shadow:0 22px 60px rgba(0,12,24,.27);filter:none}
.dc-hero-graphic:before{border-color:#70d9e025;box-shadow:0 0 0 32px #5ac9d910,0 0 0 80px #70d9e008}
.dc-hero-buttons{gap:13px!important}
.dc-hero-buttons .wp-block-button__link{padding:16px 25px!important;min-height:48px;box-shadow:0 9px 24px rgba(165,33,40,.22)}
.dc-hero-buttons .dc-btn-ghost .wp-block-button__link{box-shadow:none}
.dc-hero-buttons .wp-block-button__link:hover{background:#c73433;box-shadow:0 11px 27px rgba(165,33,40,.26)}
.dc-hero-buttons .dc-btn-ghost .wp-block-button__link:hover{background:#ffffff17}

/* Clearer transition from hero to key actions */
.dc-ticker{background:#dff4f7;color:#075466;border-bottom:1px solid #bde6ea}
.dc-ticker .dc-inner{padding:13px 0}
.dc-ticker p{font-size:.91rem}
.dc-ticker .dc-ticker-text{letter-spacing:.03em}
.dc-ticker a{color:#064a60;text-underline-offset:3px}
.dc-ticker a:hover{color:#c62f34}
.dc-practice-band{background:#f8fcfc;border-bottom:1px solid #d8e8ed}
.dc-practice-band .dc-inner{padding:17px 0}
.dc-practice-columns{gap:22px!important}
.dc-practice-columns .wp-block-column{padding:4px 10px 4px 16px;min-width:0;border-left:3px solid #74cbd2}
.dc-practice-columns .wp-block-column:first-child{border-left-color:#e64e48}
.dc-practice-band h3{font-size:13px;letter-spacing:.01em;color:#092e43}
.dc-practice-band p{font-size:12.5px;color:#507083}

/* Section hierarchy and legibility */
.dc-section{padding-block:clamp(60px,6.5vw,95px)}
.dc-section.dc-soft{background:linear-gradient(180deg,#f4f9fa,#f8fbfc)}
.dc-kicker{color:#05798e!important;font-size:11px!important;letter-spacing:.14em}
.dc-hero .dc-kicker{color:#8ff0f3!important}
.dc-section-title{line-height:1.12;letter-spacing:-.044em;margin-bottom:17px!important}
.dc-section-desc{font-size:1.08rem;line-height:1.68;max-width:760px}
.dc-section .dc-inner>.dc-kicker{display:flex;align-items:center;gap:10px}
.dc-section .dc-inner>.dc-kicker:before{content:"";display:block;width:19px;height:3px;background:var(--dc-red);border-radius:4px}
.dc-fine-print{line-height:1.65;font-size:13.5px}
.dc-fine-print a{font-weight:800}
.dc-page-hero{background:radial-gradient(circle at 92% 20%,#c9f0f0 0%,transparent 42%),linear-gradient(125deg,#e5f3f6,#fafcfd);border-bottom:1px solid #daeaf0}
.dc-page-hero .dc-inner{padding-block:clamp(52px,6vw,84px)}
.dc-page-title{max-width:940px}
.dc-page-subtitle{line-height:1.68}

/* Responsive and readable tables */
.dc-times-table{border-radius:17px;box-shadow:0 15px 40px rgba(9,40,62,.07);border-color:#d9e8ee}
.dc-times-table thead{background:#e3f3f6}
.dc-times-table th{color:#174e63;letter-spacing:.065em;font-size:12px}
.dc-times-table td,.dc-times-table th{padding:17px clamp(13px,2.1vw,24px)}
.dc-times-table tbody tr:nth-child(2n){background:#f8fbfc}
.dc-times-table tbody tr:hover{background:#eef8fa}
.dc-times-table td{font-size:.95rem}
.dc-times-table td:first-child{color:#0d3449}

/* Program cards: balanced heights, clear actions, deliberate image framing */
.dc-program-grid{gap:19px!important;align-items:stretch!important}
.dc-program-card{border:1px solid #d8e7ed;border-radius:19px;box-shadow:0 10px 26px rgba(8,43,65,.055);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;overflow:hidden}
.dc-program-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(8,43,65,.11);border-color:#b6dce5}
.dc-program-image{background:#e8f4f7;overflow:hidden}
.dc-program-image img{height:185px;object-fit:cover;transition:transform .35s}
.dc-program-card:hover .dc-program-image img{transform:scale(1.04)}
.dc-card-copy{padding:23px 20px 26px}
.dc-card-copy h3{font-size:clamp(1.17rem,1.5vw,1.37rem);margin:12px 0!important;color:#0b3048}
.dc-card-copy p{font-size:.9rem;line-height:1.65}
.dc-card-copy .dc-card-label{display:inline-flex;align-items:center;background:#e7f7f9;color:#0a6674;padding:6px 10px;border-radius:100px;font-size:.65rem!important;margin-bottom:7px}
.dc-card-copy .dc-inline-link{margin-top:auto;padding-top:14px}
.dc-inline-link a{border-bottom:2px solid #8bd9e0;padding-bottom:2px}
.dc-inline-link a:hover{border-color:#d73f3d}

/* Cards for competitions, recent posts and locations */
.dc-news-list{gap:21px!important}
.dc-news-list li,.dc-post-card,.dc-location-card{border-radius:17px;border:1px solid #dce9ef;box-shadow:0 10px 27px rgba(12,52,77,.04)}
.dc-news-list li{padding:24px}
.dc-news-list a{color:#123950}
.dc-news-list a:hover{color:var(--dc-red)}
.dc-meet-grid{gap:21px!important}
.dc-meet-card{position:relative;box-shadow:0 10px 31px rgba(9,39,62,.065);border:1px solid #d8e7ed;border-radius:20px;padding:24px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}
.dc-meet-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#e34c47 0 25%,#73d3df 25% 100%)}
.dc-meet-card:hover{transform:translateY(-4px);box-shadow:0 18px 39px rgba(9,39,62,.12);border-color:#bddde6}
.dc-meet-card h3{font-size:1.31rem;letter-spacing:-.02em;margin:7px 0}
.dc-meet-card h3 a{color:#092f47}
.dc-meet-card h3 a:hover{color:#d43d3c}
.dc-pill{background:#e5f4f7;color:#095a6e;letter-spacing:.065em}
.dc-meet-date{color:#cb3837!important;font-size:.96rem!important}
.dc-meet-filters{border:1px solid #dae9ed;padding:18px 20px;background:#f7fbfc;border-radius:18px;margin-bottom:26px}
.dc-meet-filters label{color:#254c61}
.dc-meet-filters input,.dc-meet-filters select{border-radius:10px;min-height:47px}
.dc-meet-filters input:focus,.dc-meet-filters select:focus{outline:2px solid #0b8595;outline-offset:2px}
.dc-meet-details{border-color:#d2e7ed;box-shadow:0 14px 40px rgba(9,39,62,.06)}
.dc-meet-action{border-radius:999px}
.dc-tools-calendar iframe{display:block;width:100%;border-radius:15px}
.dc-tools-calendar{border:1px solid #daeaee;border-radius:18px;overflow:hidden;box-shadow:0 11px 35px rgba(15,50,70,.07)}

/* Stronger closing section and footer */
.dc-cta{border-radius:22px;background:radial-gradient(ellipse 80% 90% at 100% 0%,rgba(31,154,176,.26),transparent 75%),linear-gradient(114deg,#071d31,#0b5267);padding:clamp(30px,4vw,55px);box-shadow:0 23px 53px rgba(9,45,70,.14);border:1px solid #2c6477}
.dc-cta h2{letter-spacing:-.035em}
.dc-cta .wp-block-button__link{min-height:45px}
.dc-footer{background:#071a2d;border-top:5px solid #167c89;padding-top:65px}
.dc-footer-columns{gap:clamp(24px,5vw,80px)!important}
.dc-footer h3{font-size:.98rem;color:#fff}
.dc-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.dc-footer p{line-height:1.75}
.dc-footer-bottom{padding-top:22px}

/* Keep controls usable for touch, keyboard and reduced-motion visitors */
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;transition:transform .18s,box-shadow .18s,background-color .18s}
.wp-block-navigation a:focus-visible,.wp-block-button__link:focus-visible,.dc-meet-card a:focus-visible{outline:3px solid #24bdce;outline-offset:4px}
@media(max-width:1120px){
 .dc-header .wp-block-navigation__responsive-container-open{display:flex!important}
 .dc-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
}
@media(min-width:761px) and (max-width:1120px){
 .dc-hero-columns{gap:30px!important}
 .dc-hero-title{font-size:clamp(2.85rem,5vw,4.2rem)!important}
 .dc-header-inner{min-height:88px}
}
@media(max-width:760px){
 .dc-header-inner{min-height:76px}
 .dc-header .custom-logo{max-height:64px}
 .dc-hero .dc-inner{padding-top:58px;padding-bottom:49px}
 .dc-hero-title{font-size:clamp(2.55rem,11vw,3.45rem)!important;line-height:1.07}
 .dc-hero-subtitle{font-size:1.04rem}
 .dc-hero-graphic{margin-top:24px}
 .dc-hero-art img{max-width:min(100%,390px)}
 .dc-hero:before{width:410px;height:410px;right:-230px;bottom:-270px}
 .dc-hero-buttons{flex-wrap:wrap;gap:12px!important}
 .dc-hero-buttons>.wp-block-button{width:100%}
 .dc-hero-buttons .wp-block-button__link{width:100%}
 .dc-ticker .dc-inner{padding:17px 0}
 .dc-practice-columns>.wp-block-column{border-left-width:3px;padding:8px 0 8px 15px}
 .dc-section{padding-block:54px}
 .dc-page-hero .dc-inner{padding-block:53px}
 .dc-section-desc{font-size:1rem}
 .dc-meet-filters{padding:17px}
 .dc-cta{padding:30px 23px}
 .dc-cta .wp-block-buttons>.wp-block-button{width:100%}
 .dc-cta .wp-block-button__link{width:100%}
}
@media(max-width:480px){
 .dc-inner,.dc-header-inner,.dc-footer-columns,.dc-footer-bottom{width:calc(100% - 32px)!important}
 .dc-section-title{font-size:clamp(1.8rem,8vw,2.45rem)}
 .dc-program-image img{height:170px}
 .dc-meet-card{padding:20px}
 .dc-times-table table{min-width:510px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .dc-program-card,.dc-program-image img,.dc-meet-card,.wp-block-button__link{transition:none!important}
 .dc-program-card:hover,.dc-meet-card:hover,.wp-block-button__link:hover{transform:none!important}
}
/* ==== end refinements ==== */

/* v2.4 Resource Library */
.dc-resources-index .dc-resources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.dc-resources-index .dc-resources-grid>.wp-block-column{margin:0;min-width:0}.dc-resource-card{height:100%;background:#f4f9fb;border:1px solid #d8e9ef;border-radius:18px;padding:22px;box-shadow:0 5px 18px rgba(4,39,61,.05)}.dc-resource-card h3{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.2;margin:0 0 8px}.dc-resource-card p{margin:0 0 12px}.dc-resource-card a{font-weight:700;color:#046c81}.dc-resource-photo{max-width:660px}.dc-resource-photo img{width:100%;height:auto;max-height:360px;object-fit:contain;background:#f2f8fa;border-radius:15px;padding:12px}.dc-fee-table{max-width:800px}.dc-resource-promo{background:#eff7fa}.dc-section details.wp-block-details{border:1px solid #d9e6ed;border-radius:12px;padding:18px 20px;margin:0 0 12px;background:#fff}.dc-section details.wp-block-details summary{font-weight:700;cursor:pointer;color:#12354c}.dc-section details.wp-block-details p{margin:14px 0 0}.dc-section details.wp-block-details[open]{border-color:#7ec7da}.dc-header .wp-block-navigation-submenu{z-index:30}.dc-header .wp-block-navigation__submenu-container{background:#fff!important;box-shadow:0 8px 28px rgba(0,0,0,.13);border-radius:10px;padding:6px}.dc-header .wp-block-navigation__submenu-container a{color:#11334b!important}@media(max-width:850px){.dc-resources-index .dc-resources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.dc-resources-index .dc-resources-grid{grid-template-columns:1fr}.dc-resource-card{padding:18px}}

/* Club history and existing Smart Slider 3 homepage placement */
.dc-hero-graphic > .wp-block-shortcode{position:relative;z-index:2;width:100%;max-width:100%;margin:0 auto}
.dc-hero-graphic .n2-section-smartslider, .dc-hero-graphic .n2-ss-align{max-width:100%;position:relative;z-index:2}
.dc-history-link-panel{margin-top:35px;padding:30px;border:1px solid #cae3ea;border-radius:18px;background:#eff8fa}
.dc-history-link-panel h2{margin-top:0}
.dc-history-link-panel .wp-block-button__link{border-radius:999px;background:#0b6679;color:#fff;font-weight:800}
.dc-history-award-section{background:linear-gradient(110deg,#fff,#edf8fb)}
.dc-history-teaser .wp-block-button__link{border-radius:999px;background:#d94243;color:#fff;font-weight:800}

/* Home identity: full club name + secondary slogan; native editable Gutenberg headings. */
.dc-hero .dc-hero-club-name{
    color:#ffffff!important;
    font-size:clamp(2rem,3.45vw,3.45rem)!important;
    font-weight:850!important;
    letter-spacing:-.045em;
    line-height:1.1;
    max-width:730px;
    margin:10px 0 13px!important;
    text-wrap:balance;
}
.dc-hero .dc-hero-slogan{
    color:#a2e8ef!important;
    font-size:clamp(1.48rem,2.35vw,2.3rem)!important;
    font-weight:650!important;
    letter-spacing:-.02em;
    line-height:1.18;
    margin:0 0 21px!important;
    text-wrap:balance;
}
@media(max-width:760px){
    .dc-hero .dc-hero-club-name{font-size:clamp(2.05rem,8vw,2.9rem)!important;}
    .dc-hero .dc-hero-slogan{font-size:clamp(1.4rem,5.8vw,1.85rem)!important;}
}

/* 2026-11-01: Visitor-friendly About and accessible, uniformly aligned coach profiles */
.dc-coaches-layout { max-width:1100px; margin-left:auto !important; margin-right:auto !important; padding:clamp(18px,3vw,34px) 18px 60px; }
.dc-coaches-page-title { margin-bottom:12px !important; color:#082f48; }
.dc-coaches-intro { max-width:760px; margin-bottom:30px !important; }
.dc-coach-feature { display:grid !important; grid-template-columns:210px minmax(0,1fr); align-items:start; gap:24px; padding:24px; border-radius:14px; background:#eaf3f7; margin-bottom:38px !important; }
.dc-coach-feature .dc-coach-photo { margin:0 !important; width:200px; max-width:100%; }
.dc-coach-feature .dc-coach-photo img { display:block; width:200px !important; height:220px !important; max-width:100%; object-fit:cover; border-radius:11px; }
.dc-coach-feature .wp-block-heading { margin-top:0 !important; }
.dc-coach-role { font-weight:700; color:#0c5571; font-size:0.92rem; margin-top:4px !important; margin-bottom:16px !important; }
.dc-coaches-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:20px !important; align-items:stretch; padding:0; margin:20px 0 0 !important; }
.dc-coaches-grid > .dc-coach-card { min-width:0; display:flex !important; flex-direction:column; gap:0; box-sizing:border-box; background:#f1f6f9; padding:18px !important; border-radius:12px; border:1px solid #e2ebef; margin:0 !important; }
.dc-coach-card .wp-block-image { margin:0 0 16px !important; width:100%; max-width:100%; }
.dc-coach-card .wp-block-image img { display:block; width:100% !important; height:225px !important; object-fit:cover; object-position:center 30%; border-radius:10px; }
.dc-coach-card .wp-block-heading { font-size:1.28rem !important; margin:0 0 8px !important; line-height:1.26; }
.dc-coach-card > p { margin-top:0 !important; margin-bottom:14px !important; line-height:1.58; }
.dc-coach-card > p:last-child { margin-bottom:0 !important; }
.dc-coach-card .dc-coach-role { min-height:44px; }
.dc-about-program-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:22px !important; margin-bottom:20px !important; }
.dc-about-card { border-radius:12px; padding:20px; background:#fff; border:1px solid #dce9ee; min-width:0; }
.dc-about-card h3 { margin-top:0 !important; font-size:1.2rem; }
.dc-about-card p { margin-bottom:0; }
@media (max-width:980px) { .dc-coaches-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .dc-about-program-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
@media (max-width:640px) { .dc-coaches-grid { grid-template-columns:minmax(0,1fr) !important; } .dc-coach-feature { grid-template-columns:1fr; padding:18px; } .dc-about-program-grid {grid-template-columns:1fr !important;} .dc-coach-card .wp-block-image img { max-height:280px; } }
