:root {
    --ink: #212529;
    --cream: #fff8e9;
    --orange: #ff6b18;
    --acid: #d9f05a;
    --purple: #5c318e;
    --muted: #6e6974;
    --line: #ddd5c6;
    --blue: #087bc1;
    --white:#fff;
    --bluedark:#014a86;
    --gradient:linear-gradient(180deg, #f9d37a 0%, #f9931b 100%);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.page-id-13069 {
    margin: 0;
    background: var(--white);
    color: var(--ink);
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6 !important;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

.cst-wrap {
    width: min(1160px, calc(100% - 40px));
    margin: auto;
}

.cst-topbar {
/*    height: 80px;*/
    background: rgba(12, 12, 16, .9);
   /* position: absolute;
    z-index: 5;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .18);*/
}

.cst-nav {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cst-logo {
    width: 146px;
    filter: drop-shadow(0 2px 7px #000);
}

.cst-navlinks {
    display: flex;
    align-items: center;
    gap: 26px;
    color: white;
    font-weight: 700;
    font-size: 14.72px;
    padding: 20px 0;
}

.cst-navlinks a {
    text-decoration: none;
    color: white;
}

.cst-navlinks a:hover, .cst-foot a:hover {
    color: #fff;
    text-decoration: 2px solid underline #ff6b18;
     text-underline-offset: 5px;
}


.cst-nav-cta,
.cst-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 25px;
    border-radius: 4px;
    background: var(--gradient);
    color: #fff;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16.8px;
    font-weight: 800;
    transition: .2s transform, .2s background;
}

.cst-nav-cta {
    min-height: 44px;
}

.cst-btn:hover,
.cst-nav-cta:hover {
    transform: translateY(-2px);
    color: #fff;
}

.cst-btn.alt {
    background: var(--ink);
}

.cst-alt {
    background: var(--ink);
}

.cst-hero {
/*    min-height: 760px;
    display: flex;
    align-items: flex-end;*/
    position: relative;
/*    background: #17101e url('https://dfwsurf.com/wp-content/uploads/2026/09/witches-paddle-hero-saturday.png') center 38%/cover no-repeat;*/
    color: white;
}

.cst-wrap-bnr:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9, 8, 15, .88) 0%, rgba(11, 7, 16, .55) 42%, rgba(11, 7, 16, .15) 72%), linear-gradient(0deg, rgba(12, 7, 15, .85), transparent 50%);
}

.cst-hero-content {
    position: relative;
    z-index: 2;
    padding: 120px 0;
    /*max-width: 745px;*/
}
.cst-wrap-bnr {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.cst-wrap-bnr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top right;
}
.cst-included-grid .cst-eyebrow , .cst-wrap.cst-hero-content  .cst-eyebrow , .cst-final .cst-eyebrow{
    color: var(--white);
}

.cst-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--bluedark);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 13.12px;
}

.cst-eyebrow:before {
    content: "";
    width: 32px;
    height: 2px;
    background: currentColor;
}

.cst-hero h1 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size: clamp(70.4px, 9vw, 95.4px);
    letter-spacing: -.035em;
    line-height: .79;
    margin: 22px 0 25px;
}

.cst-hero h1 span {
    display: block;
    color: var(--white);
}
body .cst-wrap.cst-hero-content ul , body .cst-wrap.cst-hero-content p{
    margin-bottom: 30px;
}
body .cst-wrap.cst-hero-content p {
    max-width: 625px;
    font-size: clamp(17.28px, 2vw, 20.48px) !important;
    line-height: 1.55 !important;
}

/*.cst-wrap-bnr {
    display: none;
}*/
section.cst-hero ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

section.cst-hero ul li {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(0, 0, 0, .28);
    backdrop-filter: blur(5px);
    padding: 8px 13px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 14.08px;
}

.cst-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.cst-quick li {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(0, 0, 0, .28);
    backdrop-filter: blur(5px);
    padding: 8px 13px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 14.08px;
}

.cst-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cst-intro {
    padding: 70px 0 60px;
    text-align: center;
}

.cst-intro h2,
.cst-events-title,
.cst-included h2,
.cst-final h2 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size: clamp(44.8px, 5vw, 56.8px) !important;
    line-height: .94;
    margin: 10px 0 20px;
}

.cst-intro p {
    max-width: 750px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 17.6px;
    text-align: center !important;
}

.cst-events {
    padding: 0 0 70px;
}

.cst-events-title {
    text-align: center;
    margin-bottom: 34px;
}

.cst-event-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.cst-card {
    background: white;
    border: 1px solid var(--line);
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(41, 26, 15, .08);
}

.cst-card-top {
    padding: 32px 34px 25px;
    color: white;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
}

.cst-card:first-child .cst-card-top {
    background: linear-gradient(135deg, #5a2885, #251133);
}

.cst-card:last-child .cst-card-top {
    background: linear-gradient(135deg, #15324f, #071521);
}

.cst-moon {
    position: absolute;
    right: 26px;
    top: 22px;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #fff7d0;
    box-shadow: 0 0 34px rgba(255, 246, 181, .55);
}

.cst-moon:after {
    content: "";
    position: absolute;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #0d2133;
    left: -21px;
    top: -8px;
}

.cst-date {
    color: var(--white);
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-size: 12.48px;
}

.cst-events .cst-card h3 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size: 40.8px !important;
    line-height: 1;
    margin: 8px 0 7px;
}

.cst-place {
    font-weight: 600;
    opacity: .88;
}

.cst-card-body {
    padding: 30px 34px 34px;
}

.cst-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 24px;
}

.cst-label {
    display: block;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 11.52px;
    font-weight: 800;
}

.cst-value {
    display: block;
    font-weight: 800;
    font-size: 16.64px;
}

.cst-card-body p {
    color: var(--muted);
    margin: 0 0 24px;
    line-height: 25.6px !important;
    font-size: 16px !important;
}

.cst-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.cst-price {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1;
}

.cst-price small {
    display: block;
    font-family: Inter, sans-serif;
    font-size: 10.88px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.cst-card .cst-btn {
    white-space: nowrap;
    color: var(--ink);
}
.cst-wrap.cst-hero-content a.cst-btn.custom-globle-ctm:nth-child(1){
        color: var(--ink);
}
.cst-crafts {
    padding: 70px 0;
    /*background: #f0e9d9;*/
    /*border-top: 1px solid var(--line);*/
}

.cst-crafts-heading {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 38px;
}

.cst-crafts-heading h2 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size: clamp(44.8px, 5vw, 56.8px) !important;
    line-height: .94;
    margin: 12px 0 18px;
}

.cst-crafts .cst-crafts-heading p {
    margin: 0;
    color: var(--muted);
    font-size: 16.8px !important;
    text-align: center;
}

.cst-craft-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.cst-craft-option {
    background: white;
    border: 1px solid var(--line);
    box-shadow: 0 12px 32px rgba(41, 26, 15, .07);
    overflow: hidden;
}

.cst-craft-brooms {
    min-height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    background: white;
    font-size: 26.4px;
    line-height: 1;
}

.cst-craft-brooms span {
    display: inline-block;
    transform: rotate(-16deg);
}

.cst-craft-option img {
    display: block;
    width: 100%;
    height: auto;
}

.cst-craft-caption {
    padding: 20px 18px 24px;
    text-align: center;
}

.cst-craft-caption h3 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size:clamp(24.8px, 22px, 32px) !Important;
    line-height: 1;
    margin: 0 0 8px;
}

.cst-craft-caption p {
    color: var(--muted);
    font-size: 15.2px;
    margin: 0;
}

.cst-craft-scroll-hint {
    display: none;
}

.cst-included {
    background: var(--bluedark);
    color: white;
    padding: 70px 0;
}

.cst-included-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: start;
}

.cst-included .cst-wrap p {
    color: #bcb8c2;
    max-width: 520px;
    font-size: 16px !important;
}
.cst-perks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cst-perk {
    border: 1px solid #37333c;
    padding: 25px;
    background: #1b1920;
}

.cst-icon {
     color: #f9931b;
    font-size: 21.6px;
    margin-bottom: 10px;
}

.cst-perk h3 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 22.72px;
    margin: 0 0 5px;
}

.cst-included .cst-perk p {
    font-size: 14.72px !important;
    margin: 0;
    color: #aaa6af;
}

.cst-details {
    padding: 70px 0;
}

.cst-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
}

.cst-details h2 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    font-size: 41.6px;
    line-height: 1;
    margin: 0 0 20px;
}

.cst-checklist {
    padding: 0;
    margin: 0;
    list-style: none;
}

.cst-details .checklist li {
    padding: 12px 0 12px 28px;
    border-bottom: 1px solid var(--line);
    position: relative;
    list-style: none;
}
.cst-details .checklist li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--bluedark);
    font-weight: 900;
}

.cst-details .fine {
    font-size: 13.6px !important;
    color: var(--muted);
    margin-top: 20px;
    line-height: 1.6!important;
}

.cst-details ul.checklist {
    padding: 0;
}

.cst-checklist li {
    padding: 12px 0 12px 28px;
    border-bottom: 1px solid var(--line);
    position: relative;
}

.cst-checklist li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--purple);
    font-weight: 900;
}

.cst-details .cst-fine{
     font-size: 13.76px !important;
    color: var(--muted);
    margin-top: 20px;
    line-height: 1.6 !important;
}

.cst-final {
    padding: 70px 0;
    text-align: center;
    color: white;
    background: linear-gradient(#014a86f0, #014a86), url(https://dfwsurf.com/wp-content/uploads/2026/09/witches-paddle-hero-saturday.png) center / cover !important;
}

body .cst-final .cst-wrap p{
    max-width: 650px;
    margin: 0 auto 28px;
    color: #eee6f2;
    font-size: 17.28px;
    text-align: center;
}

.cst-final .cst-btn {
    background:var(--gradient);
    color: var(--ink);
}

footer {
    background: #08080a;
    color: #aaa6af;
    padding: 34px 0;
}

.cst-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cst-foot img {
    width: 115px;
}

.cst-foot a {
    color: white;
    text-decoration: none;
}

@media(max-width:900px) {
    .cst-craft-strip {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 14px;
        padding-bottom: 12px;
        overscroll-behavior-inline: contain;
    }

    .cst-craft-option {
        flex: 0 0 min(72vw, 360px);
        scroll-snap-align: start;
    }

    .cst-crafts .cst-craft-scroll-hint {
         display: block;
        text-align: center;
        color: var(--muted);
        font-size: 14.4px !important;
        margin: 14px 0 0;
    }
}

@media(max-width:800px) {
    .cst-intro , .cst-crafts , .cst-included , .cst-details , .cst-final{
            padding: 50px 0;
    }
    .cst-events{
            padding: 0 0 50px;
    }
    .cst-wrap-bnr {
    display: block;
}
/*.cst-wrap-bnr img{
    height:420px;
    object-fit: cover;
}*/
   .cst-hero-content {
    padding: 40px 0 50px;
}
      /* .cst-topbar {
        height: 68px;
    }*/

    .cst-logo {
        width: 118px;
    }

    .cst-navlinks>a:not(.cst-nav-cta) {
        display: none;
    }

    .cst-hero {
                min-height: unset;
        background-position: center top;
        display: block;
        background: #000;
    }

    .cst-hero:before {
        background: linear-gradient(0deg, rgba(9, 8, 15, .98) 0%, rgba(9, 8, 15, .88) 48%, rgba(9, 8, 15, .05) 78%);
    }

    /* .cst-hero-content {
        padding: 340px 0 60px
    } */

    .cst-event-grid,
    .cst-included-grid,
    .cst-detail-grid {
        grid-template-columns: 1fr;
    }

    .cst-included-grid,
    .cst-detail-grid {
        gap: 38px;
    }

    .cst-perks {
        grid-template-columns: 1fr 1fr;
    }

    .cst-meta {
        grid-template-columns: 1fr 1fr;
    }

    .cst-price-row {
        align-items: flex-end;
    }

    .cst-wrap {
        width: min(100% - 28px, 1160px);
    }
}
@media(max-width:575px) {
.cst-wrap-bnr {
position: static;
}
/*.cst-hero-content {
    padding: 36px 0 50px;
}*/
.cst-wrap-bnr:before {
    display: none;
   }
}
@media(max-width:480px) {
    .cst-hero h1 {
        font-size: 65.6px;
    }

    .cst-hero-actions,
    .cst-hero-actions .cst-btn {
        width: 100%;
    }

    .cst-perks {
        grid-template-columns: 1fr;
    }

    .cst-card-top,
    .cst-card-body {
        padding-left: 24px;
        padding-right: 24px;
    }

    .cst-price-row {
        display: block;
    }

    .cst-card .cst-btn {
        width: 100%;
        margin-top: 20px;
    }

    .cst-foot {
        align-items: flex-start;
        flex-direction: column;
    }
}