.elementor-1879 .elementor-element.elementor-element-74b29a3{--display:flex;--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1879 .elementor-element.elementor-element-0866032{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1879 .elementor-element.elementor-element-0866032:not(.elementor-motion-effects-element-type-background), .elementor-1879 .elementor-element.elementor-element-0866032 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #F5F5F0 0%, #F5F5F0 100%);}.elementor-1879 .elementor-element.elementor-element-0866032.e-con{--align-self:flex-start;}.elementor-1879 .elementor-element.elementor-element-f798755{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1879 .elementor-element.elementor-element-139d41b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1879 .elementor-element.elementor-element-acf74a4{--display:flex;}@media(min-width:768px){.elementor-1879 .elementor-element.elementor-element-74b29a3{--content-width:100%;}.elementor-1879 .elementor-element.elementor-element-0866032{--content-width:1200px;}.elementor-1879 .elementor-element.elementor-element-f798755{--width:60%;}.elementor-1879 .elementor-element.elementor-element-139d41b{--width:40%;}}/* Start custom CSS */@font-face {
            font-family: 'GT America Extended';
            src: url('https://try.playyourcourt.com/wp-content/uploads/2025/05/GT-America-Extended-Black.woff') format('woff');
            font-weight: 900;
            font-display: swap;
        }
        
        @font-face {
            font-family: 'Supreme LL Sub';
            src: url('https://try.playyourcourt.com/wp-content/uploads/2025/05/Supreme-Medium.woff') format('woff');
            font-weight: 400;
            font-display: swap;
        }
        /* Everything scoped under .dbpco so theme CSS can't leak in (and vice-versa) */
        
        .dbpco,
        .dbpco *,
        .dbpco *::before,
        .dbpco *::after {
            box-sizing: border-box;
        }
        
        .dbpco {
            --c-yellow: #E8FF3D;
            --c-yellow-hover: #F5FF66;
            --c-black: #0A0A0A;
            --c-white: #FFFFFF;
            --c-green: #00E5A0;
            --c-green-deep: #00B37D;
            --c-gray-50: #FAFAF7;
            --c-gray-100: #F5F5F0;
            --c-gray-200: #E5E5E0;
            --c-gray-300: #D2D2CB;
            --c-gray-400: #A0A09A;
            --c-gray-500: #76766F;
            --c-gray-600: #5A5A55;
            --c-gray-700: #38383a;
            --c-fd: 'GT America Extended', Impact, sans-serif;
            --c-fb: 'Supreme LL Sub', 'Helvetica Neue', sans-serif;
            background: var(--c-gray-100);
            color: var(--c-black);
            font-family: var(--c-fb);
            -webkit-font-smoothing: antialiased;
            line-height: 1.55;
            display: block;
            /* no min-height:100vh — each SECTION is its own .dbpco widget; 100vh stacks per block */
        }
        
        .dbpco h1,
        .dbpco h2,
        .dbpco h3,
        .dbpco p,
        .dbpco ul,
        .dbpco li {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        
        .dbpco a {
            color: inherit;
            text-decoration: none;
        }
        /* Top bar */
        
        .dbpco .topbar {
            background: var(--c-black);
            height: 56px;
            display: flex;
            align-items: center;
            padding: 0 24px;
        }
        
        .dbpco .topbar img {
            height: 22px;
            width: auto;
            display: block;
        }
        /* Step indicator */
        
        .dbpco .steps {
            background: var(--c-white);
            border-bottom: 1px solid var(--c-gray-200);
            padding: 18px 32px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .dbpco .step {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-family: var(--c-fb);
            font-size: 11px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--c-gray-400);
        }
        
        .dbpco .step.active {
            color: var(--c-black);
        }
        
        .dbpco .step.done {
            color: var(--c-green-deep);
        }
        
        .dbpco .step-num {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--c-gray-200);
            color: var(--c-gray-500);
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 11px;
        }
        
        .dbpco .step.active .step-num {
            background: var(--c-black);
            color: var(--c-yellow);
        }
        
        .dbpco .step.done .step-num {
            background: var(--c-green);
            color: var(--c-black);
        }
        
        .dbpco .step-sep {
            width: 60px;
            height: 1px;
            background: var(--c-gray-300);
            margin: 0 18px;
        }
        
        @media (max-width:540px) {
            .dbpco .step-sep {
                width: 28px;
                margin: 0 10px;
            }
            .dbpco .step span:not(.step-num) {
                display: none;
            }
        }
        /* Layout — Elementor 2-column container places .form-col (left) and
           .summary-col (right). .shell grid below is optional fallback only when
           both columns are pasted inside one widget sharing <main class="shell">. */
        
        .dbpco .shell {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 32px 80px;
            display: grid;
            grid-template-columns: 1fr 460px;
            gap: 40px;
            align-items: start;
        }
        
        @media (max-width:960px) {
            .dbpco .shell {
                grid-template-columns: 1fr;
                gap: 24px;
                padding: 24px 16px 64px;
            }
            .dbpco .summary-col {
                order: 1;
            }
            .dbpco .form-col {
                order: 0;
            }
        }
        /* Left/right column padding (matches standard DBP checkout). Use .form-col
           on SECTION 2; use .dbpco-form-slice on SECTIONs 3–4 when pasted as separate widgets. */
        
        .dbpco .form-col {
            background: var(--c-gray-100);
            padding: 40px 32px 0;
        }
        /* Summary column: fixed on desktop (sticky breaks in many Elementor parents).
           .summary-col-placeholder reserves height; .summary-col-pin is the fixed panel. */
        
        .dbpco.summary-col,
        .dbpco .summary-col {
            position: relative;
            width: 100%;
            max-width: 460px;
            margin-left: auto;
            box-sizing: border-box;
            background: transparent;
            padding: 0;
        }
        
        @media (min-width: 961px) {
            .dbpco.summary-col .summary-col-pin {
                position: fixed;
                top: 115px;
                right: max(16px, calc((100vw - min(100vw, 1200px)) / 2 + 32px));
                width: min(460px, calc(40vw - 48px));
                max-height: calc(100vh - 120px);
                overflow-y: auto;
                z-index: 100;
                box-sizing: border-box;
                padding: 40px 32px 80px;
                background: var(--c-gray-100);
            }
            .dbpco.summary-col .summary-col-placeholder {
                width: 100%;
                visibility: hidden;
                pointer-events: none;
            }
        }
        
        .dbpco.dbpco-form-slice {
            background: var(--c-gray-100);
            padding-left: 32px;
            padding-right: 32px;
        }
        
        .dbpco.dbpco-form-slice--last {
            padding-bottom: 80px;
        }
        
        @media (max-width:960px) {
            .dbpco .form-col {
                padding: 24px 16px 0;
            }
            .dbpco.summary-col,
            .dbpco .summary-col {
                max-width: none;
                margin-left: 0;
            }
            .dbpco.summary-col .summary-col-pin {
                position: static;
                width: 100%;
                max-height: none;
                overflow: visible;
                padding: 24px 16px 64px;
                background: var(--c-gray-100);
            }
            .dbpco.summary-col .summary-col-placeholder {
                display: none;
            }
            .dbpco.dbpco-form-slice {
                padding-left: 16px;
                padding-right: 16px;
            }
            .dbpco.dbpco-form-slice--last {
                padding-bottom: 64px;
            }
        }
        /* Headings */
        
        .dbpco .h-eyebrow {
            font-family: var(--c-fb);
            font-size: 11px;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--c-gray-500);
            margin-bottom: 8px;
        }
        
        .dbpco .h-display {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: clamp(28px, 3.6vw, 40px);
            line-height: 0.95;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            color: var(--c-black);
            margin-bottom: 6px;
            text-wrap: balance;
        }
        
        .dbpco .h-display .accent {
            border-bottom: 5px solid var(--c-yellow);
            padding-bottom: 1px;
        }
        
        .dbpco .h-sub {
            font-family: var(--c-fb);
            font-size: 14px;
            color: var(--c-gray-600);
            margin-bottom: 32px;
            max-width: 540px;
        }
        
        .dbpco .section-title {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 14px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--c-black);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        
        .dbpco .section-title .num {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 22px;
            height: 22px;
            background: var(--c-black);
            color: var(--c-yellow);
            border-radius: 50%;
            font-size: 11px;
        }
        /* Card */
        
        .dbpco .card {
            background: var(--c-white);
            border: 1px solid var(--c-gray-200);
            border-radius: 10px;
            padding: 24px;
            margin-bottom: 18px;
        }
        /* Forms */
        
        .dbpco .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-bottom: 12px;
        }
        
        .dbpco .form-row.single {
            grid-template-columns: 1fr;
        }
        
        .dbpco .form-row.thirds {
            grid-template-columns: 2fr 1fr 1fr;
        }
        
        .dbpco .form-row:last-child {
            margin-bottom: 0;
        }
        
        @media (max-width:600px) {
            .dbpco .form-row,
            .dbpco .form-row.thirds {
                grid-template-columns: 1fr;
            }
        }
        
        .dbpco .field {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .dbpco .field label {
            font-family: var(--c-fb);
            font-size: 11px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--c-gray-600);
            font-weight: 600;
        }
        
        .dbpco .field input,
        .dbpco .field select {
            width: 100%;
            background: var(--c-white);
            border: 1px solid var(--c-gray-300);
            border-radius: 6px;
            padding: 12px 14px;
            font-family: var(--c-fb);
            font-size: 15px;
            color: var(--c-black);
            transition: border 120ms, box-shadow 120ms;
        }
        
        .dbpco .field input:focus,
        .dbpco .field select:focus {
            outline: none;
            border-color: var(--c-black);
            box-shadow: 0 0 0 3px rgba(232, 255, 61, 0.4);
        }
        
        .dbpco .field select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230A0A0A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 14px center;
            padding-right: 38px;
        }
        /* Reset checkoutsnippet.php #stripe-form chrome (gray box + 30px pad) — we use .card instead */
        .dbpco #stripe-form {
            background: transparent;
            padding: 0;
            margin: 0;
            border: 0;
            border-radius: 0;
            font-family: inherit;
            max-width: none;
        }

        /* Stripe Payment Element host */
        .dbpco #payment-element {
            background: var(--c-white);
            border: 1px solid var(--c-gray-300);
            border-radius: 6px;
            padding: 14px;
            min-height: 48px;
        }
        
        .dbpco .stripe-foot {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 6px;
            margin-top: 10px;
            font-size: 10px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--c-gray-400);
        }
        
        .dbpco .stripe-foot .lock {
            width: 10px;
            height: 10px;
            opacity: 0.6;
        }
        /* Order bumps */
        
        .dbpco .bump {
            position: relative;
            background: var(--c-white);
            border: 2px dashed var(--c-gray-300);
            border-radius: 10px;
            margin-bottom: 14px;
            overflow: hidden;
            transition: border-color 150ms, background 150ms, box-shadow 150ms;
        }
        
        .dbpco .bump.selected {
            border-style: solid;
            border-color: var(--c-green-deep);
            background: #F2FFFA;
            box-shadow: 0 6px 20px rgba(0, 179, 125, 0.12);
        }
        
        .dbpco .bump-header {
            display: grid;
            grid-template-columns: 26px 1fr auto;
            gap: 14px;
            align-items: center;
            padding: 16px 18px;
            cursor: pointer;
        }
        
        .dbpco .bump-header>div:nth-child(2) {
            display: flex;
            flex-direction: column;
            justify-content: center;
            line-height: 1.1;
        }
        
        .dbpco .bump-check {
            width: 22px;
            height: 22px;
            border: 2px solid var(--c-gray-400);
            border-radius: 5px;
            background: var(--c-white);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: background 120ms, border 120ms;
        }
        
        .dbpco .bump.selected .bump-check {
            background: var(--c-green-deep);
            border-color: var(--c-green-deep);
        }
        
        .dbpco .bump-check svg {
            width: 14px;
            height: 14px;
            opacity: 0;
        }
        
        .dbpco .bump.selected .bump-check svg {
            opacity: 1;
        }
        
        .dbpco .bump-tag {
            display: inline-block;
            background: var(--c-yellow);
            color: var(--c-black);
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 10px;
            letter-spacing: 0.1em;
            padding: 3px 7px;
            border-radius: 3px;
            margin-bottom: 6px;
            align-self: flex-start;
        }
        
        .dbpco .bump-title {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 15px;
            letter-spacing: -0.005em;
            text-transform: uppercase;
            color: var(--c-black);
            line-height: 1.15;
        }
        
        .dbpco .bump-sub {
            font-size: 12px;
            color: var(--c-gray-600);
            margin-top: 4px;
        }
        
        .dbpco .bump-price {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 22px;
            color: var(--c-black);
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            line-height: 1;
        }
        
        .dbpco .bump-price .strike {
            font-family: var(--c-fb);
            font-size: 12px;
            font-weight: 400;
            color: var(--c-gray-500);
            text-decoration: line-through;
            margin-bottom: 4px;
        }
        
        .dbpco .bump-body {
            padding: 0 18px 18px 58px;
            font-size: 13px;
            color: var(--c-gray-600);
            line-height: 1.6;
        }
        
        .dbpco .bump-body p {
            margin-bottom: 8px;
        }
        
        .dbpco .bump-body p:last-child {
            margin-bottom: 0;
        }
        
        @media (max-width:600px) {
            .dbpco .bump-body {
                padding: 0 18px 18px 18px;
            }
        }
        /* Summary card — white box inside gray .summary-col (Elementor col 2) */
        
        .dbpco .summary {
            background: var(--c-white);
            border: 1px solid var(--c-gray-200);
            border-radius: 10px;
            overflow: hidden;
        }
        
        .dbpco .summary-head {
            background: var(--c-black);
            color: var(--c-white);
            padding: 18px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        
        .dbpco .summary-head-title {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 13px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }
        
        .dbpco .summary-head-meta {
            font-size: 11px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--c-gray-400);
        }
        
        .dbpco .summary-body {
            padding: 20px 22px;
        }
        
        .dbpco .summary-item {
            display: flex;
            gap: 14px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--c-gray-200);
            margin-bottom: 16px;
        }
        
        .dbpco .summary-item:last-of-type {
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
        }
        
        .dbpco .summary-item[hidden] {
            display: none;
        }
        
        .dbpco .summary-item-body {
            flex: 1;
            min-width: 0;
        }
        
        .dbpco .summary-item-title {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 14px;
            line-height: 1.2;
            text-transform: uppercase;
            margin-bottom: 4px;
        }
        
        .dbpco .summary-item-sub {
            font-size: 12px;
            color: var(--c-gray-600);
            line-height: 1.4;
        }
        
        .dbpco .summary-item-price {
            text-align: right;
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 15px;
            white-space: nowrap;
        }
        
        .dbpco .summary-item-price .strike {
            display: block;
            font-family: var(--c-fb);
            font-weight: 400;
            font-size: 11px;
            color: var(--c-gray-500);
            text-decoration: line-through;
            margin-bottom: 2px;
        }
        
        .dbpco .summary-item-price .free {
            color: var(--c-green-deep);
        }
        
        .dbpco .bonus-badge {
            display: inline-block;
            background: var(--c-yellow);
            color: var(--c-black);
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 9px;
            letter-spacing: 0.1em;
            padding: 2px 6px;
            border-radius: 3px;
            margin-left: 6px;
            vertical-align: 2px;
        }
        
        .dbpco .summary-totals {
            border-top: 2px solid var(--c-black);
            margin-top: 8px;
            padding-top: 16px;
        }
        
        .dbpco .summary-totals .row {
            display: flex;
            justify-content: space-between;
            padding: 4px 0;
            font-size: 13px;
            color: var(--c-gray-600);
        }
        
        .dbpco .summary-totals .row.grand {
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 22px;
            color: var(--c-black);
            margin-top: 10px;
            padding-top: 14px;
            border-top: 1px solid var(--c-gray-200);
        }
        /* Checkout button */
        
        .dbpco .checkout-cta {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-top: 20px;
        }
        
        .dbpco .checkout-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            background: var(--c-yellow);
            color: var(--c-black);
            border: none;
            padding: 20px 24px;
            border-radius: 8px;
            font-family: var(--c-fd);
            font-weight: 900;
            font-size: 17px;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 120ms, transform 100ms, box-shadow 150ms;
            width: 100%;
        }
        
        .dbpco .checkout-btn:hover {
            background: var(--c-yellow-hover);
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(232, 255, 61, 0.4);
        }
        
        .dbpco .checkout-btn:active {
            transform: translateY(0);
        }
        
        .dbpco .checkout-btn.pg-checkout-btn[disabled],
        .dbpco .checkout-btn[disabled] {
            opacity: 0.6;
            cursor: progress;
            transform: none;
        }
        /* Footer */
        
        .dbpco .foot {
            text-align: center;
            padding: 24px 16px;
            font-size: 11px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--c-gray-400);
        }
        
        .dbpco .foot a {
            color: var(--c-gray-600);
            margin: 0 8px;
        }
        
        .dbpco .foot a:hover {
            color: var(--c-black);
        }
        /* ─── PASTE END · SECTION 0 ─── *//* End custom CSS */