
.cp-application-shell,
.cp-application-success,
.cp-application-error {
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}

.cp-application-shell {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 40px auto;
    color: #fff;
    border: 1px solid rgba(210, 150, 62, 0.28);
    border-radius: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 12%, rgba(180, 0, 0, 0.20), transparent 26%),
        radial-gradient(circle at 84% 16%, rgba(255, 120, 30, 0.10), transparent 22%),
        radial-gradient(circle at 76% 72%, rgba(112, 0, 0, 0.22), transparent 34%),
        linear-gradient(135deg, #020202 0%, #140103 35%, #240103 62%, #050505 100%);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55);
}

.cp-application-shell::before,
.cp-application-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.cp-application-shell::before {
    background:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,0.08), transparent 10%),
        radial-gradient(circle at 74% 9%, rgba(255,255,255,0.06), transparent 8%),
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.02) 50%, transparent 100%);
    mix-blend-mode: screen;
    opacity: 0.45;
}

.cp-application-shell::after {
    inset: 12px;
    border: 1px solid rgba(212, 171, 90, 0.16);
    border-radius: 18px;
}

.cp-application-header {
    position: relative;
    padding: 64px 46px 54px;
    text-align: center;
    border-bottom: 1px solid rgba(212, 171, 90, 0.14);
    background:
        radial-gradient(circle at 50% 0%, rgba(170, 0, 0, 0.24), transparent 44%),
        linear-gradient(180deg, rgba(0,0,0,0.15), rgba(0,0,0,0));
}

.cp-application-header::after {
    content: "";
    display: block;
    width: 180px;
    height: 1px;
    margin: 24px auto 0;
    background: linear-gradient(90deg, transparent, rgba(216,181,109,0.95), transparent);
    box-shadow: 0 0 16px rgba(216,181,109,0.25);
}

.cp-kicker {
    color: #ddb56c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.cp-application-header h1 {
    color: #efc66f !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 5.2vw, 64px);
    line-height: 1.02;
    margin: 0 0 12px;
    text-shadow: 0 2px 0 rgba(0,0,0,0.24), 0 0 22px rgba(174, 0, 0, 0.15);
}

.cp-motto {
    margin-bottom: 18px;
    color: #fff2d4;
    font-size: 14px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    opacity: 0.94;
}

.cp-application-header p {
    max-width: 740px;
    margin: 0 auto;
    color: #d6d0c8;
    font-size: 17px;
    line-height: 1.75;
}

.cp-form-section {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 24px;
    padding: 42px 44px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cp-form-section:last-child {
    border-bottom: none;
}

.cp-section-number {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(221, 181, 108, 0.82);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f0cb7c;
    background: radial-gradient(circle at 50% 35%, rgba(255,195,82,0.09), rgba(0,0,0,0.4));
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 0 18px rgba(205, 132, 13, 0.10);
}

.cp-section-content h2 {
    color: #f0c56b !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 35px;
    line-height: 1.14;
    margin: 0 0 12px;
}

.cp-section-intro {
    color: #b8afa8;
    line-height: 1.7;
    margin: 0 0 28px;
    max-width: 720px;
}

.cp-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.cp-type-card {
    position: relative;
    cursor: pointer;
    margin: 0;
}

.cp-type-card input[type=radio] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cp-type-card span {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 78px;
    box-sizing: border-box;
    padding: 20px 80px 20px 20px;
    border: 1px solid rgba(218, 184, 117, 0.18);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(7,7,7,0.95), rgba(2,2,2,0.98)),
        linear-gradient(135deg, rgba(150,0,0,0.15), transparent 40%);
    color: #eee1cd;
    font-size: 17px;
    font-weight: 600;
    overflow: hidden;
    transition: border-color .25s ease, background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.cp-type-card span::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
    transform: translateX(-100%);
    transition: transform .45s ease;
}

.cp-type-card:hover span {
    transform: translateY(-2px);
    border-color: rgba(221, 181, 108, 0.46);
    box-shadow: 0 18px 28px rgba(0,0,0,0.24);
}

.cp-type-card:hover span::before,
.cp-type-card input[type=radio]:checked + span::before {
    transform: translateX(100%);
}

.cp-type-card input[type=radio]:checked + span {
    border-color: #c11919;
    background:
        radial-gradient(circle at 88% 50%, rgba(255, 120, 0, 0.18), transparent 24%),
        linear-gradient(135deg, #340406, #120102 56%, #090909 100%);
    color: #f3d18a;
    box-shadow:
        0 0 0 1px rgba(189, 30, 30, 0.20),
        0 18px 36px rgba(50,0,0,0.36),
        inset 0 0 24px rgba(124, 0, 0, 0.18);
}

.cp-type-card span::after {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%) scale(.64);
    opacity: 0;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    line-height: 1;
    transition: opacity .3s ease, transform .3s ease, filter .3s ease, text-shadow .3s ease;
}

.cp-type-card input[value=single_male]:checked + span::after {
    content: "🐂";
    opacity: 1;
    transform: translateY(-50%) scale(1);
    animation: cpTypeIconGlow 1.8s ease-in-out infinite alternate;
}

.cp-type-card input[value=single_female]:checked + span::after {
    content: "🦄";
    opacity: 1;
    transform: translateY(-50%) scale(1);
    animation: cpTypeIconGlow 1.8s ease-in-out infinite alternate;
}

.cp-type-card input[value=couple]:checked + span::after {
    content: "👫";
    opacity: 1;
    transform: translateY(-50%) scale(1);
    animation: cpTypeIconGlow 1.8s ease-in-out infinite alternate;
}

.cp-type-card input[value=couple_playing_singles]:checked + span::after {
    content: "👫🔥";
    opacity: 1;
    width: 60px;
    font-size: 25px;
    transform: translateY(-50%) scale(1);
    animation: cpTypeIconBurn 1.4s ease-in-out infinite alternate;
}

@keyframes cpTypeIconGlow {
    0% { transform: translateY(-50%) scale(.97); text-shadow: 0 0 0 rgba(0,0,0,0); }
    100% { transform: translateY(-50%) scale(1.07); text-shadow: 0 0 16px rgba(255,180,0,0.22); }
}

@keyframes cpTypeIconBurn {
    0% { transform: translateY(-50%) scale(.96); text-shadow: 0 0 10px rgba(255,100,0,0.26); }
    100% { transform: translateY(-50%) scale(1.08); text-shadow: 0 0 20px rgba(255,70,0,0.40); }
}

.cp-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.cp-field { min-width: 0; }
.cp-field-full { grid-column: 1 / -1; }

.cp-field label {
    display: block;
    color: #efc66f;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.03em;
    margin: 0 0 8px;
}

.cp-field input[type=text],
.cp-field input[type=email],
.cp-field input[type=tel],
.cp-field input[type=password],
.cp-field select,
.cp-field textarea {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(2,2,2,0.98), rgba(9,9,9,0.98)) !important;
    color: #fff !important;
    border: 1px solid rgba(219, 180, 105, 0.18) !important;
    border-radius: 12px !important;
    outline: none;
    padding: 15px 16px !important;
    font-size: 15px;
    font-family: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.cp-field input:focus,
.cp-field select:focus,
.cp-field textarea:focus {
    border-color: #bc1b1b !important;
    box-shadow: 0 0 0 2px rgba(188, 27, 27, 0.12), 0 0 18px rgba(188, 27, 27, 0.12) !important;
    transform: translateY(-1px);
}

.cp-field textarea {
    min-height: 145px;
    resize: vertical;
}

.cp-field input::placeholder,
.cp-field textarea::placeholder {
    color: #777;
}

.cp-field small {
    display: block;
    margin-top: 8px;
    color: #9d9188;
    font-size: 11px;
    line-height: 1.55;
}

.cp-field input[type=file] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(2,2,2,0.98), rgba(9,9,9,0.98));
    border: 1px solid rgba(219, 180, 105, 0.18);
    border-radius: 12px;
    color: #d8d8d8;
    padding: 12px;
}

.cp-field input[type=file]::file-selector-button {
    border: none;
    border-radius: 9px;
    background: linear-gradient(135deg, #b10f17, #6e0106);
    color: #fff;
    padding: 11px 18px;
    margin-right: 12px;
    font-weight: 700;
    cursor: pointer;
}

.cp-field input[type=file]::file-selector-button:hover {
    filter: brightness(1.08);
}

.cp-partner-section {
    display: none !important;
}

.cp-partner-section.cp-partner-visible {
    display: grid !important;
}

.cp-confirm-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    color: #d4cdc5;
    line-height: 1.7;
    margin: 0 0 22px;
    cursor: pointer;
    transition: color .25s ease, text-shadow .25s ease;
}

.cp-confirm-row input[type=checkbox] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 26px;
    height: 26px;
    min-width: 26px;
    flex: 0 0 26px;
    margin: 2px 0 0;
    padding: 0 !important;
    background: linear-gradient(145deg, #111, #050505) !important;
    border: 1px solid #8d6b2c !important;
    border-radius: 7px !important;
    cursor: pointer;
    box-shadow: inset 0 0 8px rgba(0,0,0,.9);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .2s ease;
}

.cp-confirm-row input[type=checkbox]:hover {
    border-color: #d3a748 !important;
    box-shadow: inset 0 0 6px rgba(0,0,0,.9), 0 0 8px rgba(212,164,71,.35);
}

.cp-confirm-row input[type=checkbox]:checked {
    border-color: #ffb326 !important;
    background: radial-gradient(circle at 50% 65%, #ffb000 0%, #ef4b00 27%, #c01800 48%, #750000 68%, #280000 100%) !important;
    box-shadow: 0 0 4px #fff0a8, 0 0 9px #ffb000, 0 0 16px rgba(255,70,0,.95), 0 0 28px rgba(190,0,0,.70), inset 0 0 5px rgba(255,220,100,.70);
    transform: scale(1.08);
    animation: cpCheckboxBurn 1.25s ease-in-out infinite alternate;
}

.cp-confirm-row input[type=checkbox]:checked::after {
    content: "✓";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    text-shadow: 0 0 3px #fff, 0 0 6px #ffe08a, 0 0 10px #ff8c00;
}

.cp-confirm-row:has(input[type=checkbox]:checked) {
    color: #fff;
}

@keyframes cpCheckboxBurn {
    0% { box-shadow: 0 0 3px #ffe7a0, 0 0 7px #ffae00, 0 0 13px rgba(255,65,0,.85), 0 0 21px rgba(175,0,0,.55), inset 0 0 5px rgba(255,220,100,.60); }
    100% { box-shadow: 0 0 5px #fff2b0, 0 0 12px #ff8a00, 0 0 20px rgba(255,50,0,.95), 0 0 31px rgba(185,0,0,.70), inset 0 0 7px rgba(255,225,100,.70); }
}

.cp-submit-area {
    margin-top: 34px;
}

.cp-submit-button {
    width: 100%;
    box-sizing: border-box;
    border: none !important;
    border-radius: 14px !important;
    padding: 19px 22px !important;
    cursor: pointer;
    background: linear-gradient(135deg, #ca1019, #7f0207 55%, #410104) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    box-shadow: 0 18px 38px rgba(140,0,0,.34), inset 0 1px 0 rgba(255,255,255,0.15);
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.cp-submit-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 20px 42px rgba(170,0,0,.42), inset 0 1px 0 rgba(255,255,255,0.15);
}

.cp-submit-area p {
    margin: 14px 0 0;
    color: #a5978c;
    text-align: center;
    font-size: 11px;
    line-height: 1.6;
}

.cp-application-success {
    position: relative;
    width: 100%;
    max-width: 850px;
    box-sizing: border-box;
    margin: 40px auto;
    padding: 54px 38px;
    background:
        radial-gradient(circle at top, rgba(130,0,0,.20), transparent 55%),
        linear-gradient(145deg, #080808, #120202);
    color: #fff;
    border: 1px solid rgba(118, 80, 30, 0.75);
    border-radius: 22px;
    text-align: center;
    box-shadow: 0 25px 70px rgba(0,0,0,.35);
}

.cp-success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, #2e9d4a, #16612b);
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    box-shadow: 0 0 18px rgba(23, 100, 44, 0.35);
}

.cp-application-success h2 {
    color: #e5bf72 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
    margin: 0 0 14px;
}

.cp-success-motto {
    color: #fff1cc !important;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 13px;
    margin-top: 8px !important;
}

.cp-application-success p {
    color: #ddd0c2;
    line-height: 1.75;
}

.cp-reference-box {
    max-width: 460px;
    box-sizing: border-box;
    margin: 28px auto;
    padding: 20px;
    background: linear-gradient(145deg, #090909, #111111);
    border: 1px solid rgba(216, 181, 109, 0.35);
    border-radius: 13px;
    color: #a6a6a6;
}

.cp-reference-box strong {
    display: block;
    margin-top: 8px;
    color: #f0c56b;
    font-size: 22px;
    letter-spacing: 0.06em;
}

.cp-application-error {
    width: 100%;
    max-width: 850px;
    box-sizing: border-box;
    margin: 22px auto;
    padding: 20px 22px;
    background: linear-gradient(135deg, rgba(62,10,10,0.98), rgba(38,6,6,0.98));
    border: 1px solid rgba(214,72,72,0.52);
    border-radius: 12px;
    color: #fff;
    line-height: 1.7;
    box-shadow: 0 18px 45px rgba(0,0,0,0.25);
}

.cp-application-shell *,
.cp-application-success *,
.cp-application-error * {
    box-sizing: border-box;
}

.cp-application-shell input,
.cp-application-shell textarea,
.cp-application-shell select,
.cp-application-shell button {
    font-family: inherit;
}

.cp-application-shell p {
    max-width: none;
}

@media (max-width: 900px) {
    .cp-form-section {
        grid-template-columns: 58px minmax(0,1fr);
        padding: 34px 28px;
    }

    .cp-type-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .cp-application-shell {
        margin: 20px auto;
        border-radius: 16px;
    }

    .cp-application-header {
        padding: 42px 20px 34px;
    }

    .cp-application-header h1 {
        font-size: 40px;
    }

    .cp-form-section {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 30px 20px;
    }

    .cp-section-number {
        width: 42px;
        height: 42px;
    }

    .cp-section-content h2 {
        font-size: 28px;
    }

    .cp-type-grid,
    .cp-form-grid {
        grid-template-columns: 1fr;
    }

    .cp-type-card span {
        padding: 18px 72px 18px 16px;
    }

    .cp-field-full {
        grid-column: auto;
    }

    .cp-confirm-row {
        gap: 13px;
        font-size: 13px;
    }

    .cp-submit-button {
        font-size: 12px;
        padding: 17px 14px !important;
    }

    .cp-application-success {
        margin: 20px auto;
        padding: 38px 20px;
    }

    .cp-application-success h2 {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cp-confirm-row input[type=checkbox]:checked,
    .cp-type-card input[type=radio]:checked + span::after {
        animation: none;
    }

    .cp-submit-button,
    .cp-type-card span,
    .cp-type-card span::after,
    .cp-confirm-row input[type=checkbox] {
        transition: none;
    }
}

.cp-beta-application-banner{max-width:980px;margin:0 auto 18px;padding:16px 18px;border:1px solid rgba(222,180,92,.42);border-radius:14px;background:linear-gradient(135deg,rgba(91,3,10,.94),rgba(8,8,8,.97));box-shadow:0 14px 34px rgba(0,0,0,.24);color:#fff}.cp-beta-application-banner strong{display:block;color:#f0c56b;font-size:13px;letter-spacing:.12em}.cp-beta-application-banner span{display:block;margin-top:7px;color:#dfd2c2;line-height:1.55}


/* Club Privilege 2026-10 — Premium red/white application refresh */
.cp-application-shell{
    --cp-red:#b50916;
    --cp-red-dark:#760711;
    --cp-black:#151515;
    --cp-ink:#202124;
    --cp-muted:#686b70;
    --cp-line:#e4e4e4;
    --cp-soft:#f7f7f8;
    --cp-red-soft:#fff3f4;
    color:var(--cp-ink)!important;
    background:#fff!important;
    border:1px solid #e0e0e0!important;
    border-top:6px solid var(--cp-red)!important;
    border-radius:22px!important;
    box-shadow:0 24px 70px rgba(0,0,0,.13)!important;
}
.cp-application-shell::before{display:none!important}
.cp-application-shell::after{
    inset:10px!important;
    border:1px solid rgba(181,9,22,.08)!important;
    border-radius:15px!important;
    background:none!important;
    z-index:0;
}
.cp-application-shell > *{position:relative;z-index:1}

.cp-application-header{
    padding:58px 46px 42px!important;
    background:
        linear-gradient(180deg,#fff 0%,#fff 72%,#fbfbfb 100%)!important;
    border-bottom:1px solid var(--cp-line)!important;
}
.cp-application-header::after{
    width:110px!important;
    height:4px!important;
    margin:24px auto 0!important;
    border-radius:999px!important;
    background:var(--cp-red)!important;
    box-shadow:none!important;
}
.cp-kicker{
    color:var(--cp-red)!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.32em!important;
}
.cp-application-header h1{
    color:var(--cp-black)!important;
    font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
    font-size:clamp(40px,5vw,60px)!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    text-shadow:none!important;
}
.cp-motto{
    color:var(--cp-red)!important;
    font-weight:800!important;
    letter-spacing:.2em!important;
    opacity:1!important;
}
.cp-application-header p{
    color:#555a60!important;
    font-size:16px!important;
    line-height:1.7!important;
}

.cp-admission-notice{
    max-width:820px;
    margin:28px auto 0;
    padding:20px 22px;
    text-align:left;
    border:1px solid #d9d9d9;
    border-left:5px solid var(--cp-red);
    border-radius:14px;
    background:#111;
    box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.cp-admission-notice strong{
    display:block;
    margin-bottom:7px;
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}
.cp-admission-notice span{
    display:block;
    color:#e8e8e8;
    font-size:14px;
    line-height:1.6;
}

.cp-form-section{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:22px!important;
    padding:38px 44px!important;
    background:#fff!important;
    border-bottom:1px solid var(--cp-line)!important;
}
.cp-form-section:nth-of-type(even){background:#fcfcfc!important}
.cp-section-number{
    width:46px!important;
    height:46px!important;
    border:0!important;
    background:var(--cp-red)!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(181,9,22,.18)!important;
}
.cp-section-content h2{
    color:var(--cp-black)!important;
    font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
    font-size:31px!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
}
.cp-section-intro{
    color:var(--cp-muted)!important;
    margin:0 0 24px!important;
    line-height:1.6!important;
}

.cp-type-grid{gap:12px!important}
.cp-type-card span{
    min-height:68px!important;
    padding:18px 52px 18px 18px!important;
    border:1px solid #d7d7d7!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#222!important;
    font-size:16px!important;
    font-weight:750!important;
    box-shadow:0 5px 14px rgba(0,0,0,.045)!important;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease,color .18s ease!important;
}
.cp-type-card span::before{display:none!important}
.cp-type-card span::after{
    content:""!important;
    position:absolute!important;
    right:18px!important;
    top:50%!important;
    width:22px!important;
    height:22px!important;
    transform:translateY(-50%)!important;
    border:2px solid #c7c7c7!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:none!important;
    animation:none!important;
}
.cp-type-card:hover span{
    transform:translateY(-1px)!important;
    border-color:#9c9c9c!important;
    box-shadow:0 9px 20px rgba(0,0,0,.075)!important;
}
.cp-type-card input[type=radio]:checked + span{
    background:var(--cp-red)!important;
    border-color:var(--cp-red)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(181,9,22,.20)!important;
}
.cp-type-card input[type=radio]:checked + span::after{
    content:"✓"!important;
    display:grid!important;
    place-items:center!important;
    color:var(--cp-red)!important;
    font-size:13px!important;
    font-weight:900!important;
    background:#fff!important;
    border-color:#fff!important;
    transform:translateY(-50%)!important;
}

.cp-form-grid{gap:18px 20px!important}
.cp-field label{
    color:#222!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.015em!important;
}
.cp-field small{
    color:#73777c!important;
    font-size:11px!important;
    line-height:1.5!important;
}
.cp-field input[type=text],
.cp-field input[type=email],
.cp-field input[type=tel],
.cp-field input[type=password],
.cp-field input[type=date],
.cp-field input[type=file],
.cp-field select,
.cp-field textarea{
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    color:#1c1c1c!important;
    background:#fff!important;
    border:1px solid #d4d5d6!important;
    border-radius:10px!important;
    box-shadow:0 1px 2px rgba(0,0,0,.025)!important;
    outline:none!important;
}
.cp-field textarea{
    min-height:132px!important;
    resize:vertical!important;
}
.cp-field input::placeholder,
.cp-field textarea::placeholder{color:#989da2!important}
.cp-field select{color:#252525!important}
.cp-field select option{color:#111!important;background:#fff!important}
.cp-field input:focus,
.cp-field select:focus,
.cp-field textarea:focus{
    border-color:var(--cp-red)!important;
    box-shadow:0 0 0 3px rgba(181,9,22,.10)!important;
}
.cp-field input[type=file]{
    padding:7px!important;
    background:#fafafa!important;
}
.cp-field input[type=file]::file-selector-button{
    margin-right:12px;
    padding:10px 15px;
    border:0;
    border-radius:8px;
    background:var(--cp-red);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.cp-field input[type=file]::-webkit-file-upload-button{
    margin-right:12px;
    padding:10px 15px;
    border:0;
    border-radius:8px;
    background:var(--cp-red);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.cp-photo-policy{
    padding:16px 18px!important;
    border:1px solid #f0c7cb!important;
    border-left:5px solid var(--cp-red)!important;
    border-radius:12px!important;
    background:var(--cp-red-soft)!important;
}
.cp-photo-policy strong{
    display:block;
    margin-bottom:5px;
    color:var(--cp-red-dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:.055em;
}
.cp-photo-policy span{
    display:block;
    color:#4c4c4c;
    font-size:12px;
    line-height:1.6;
}

.cp-before-submit{
    margin:0 0 24px;
    padding:18px 20px;
    border-radius:14px;
    background:#111;
    border-top:4px solid var(--cp-red);
    color:#fff;
}
.cp-before-submit strong{
    display:block;
    margin-bottom:9px;
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}
.cp-before-submit ul{
    margin:0!important;
    padding-left:20px!important;
    color:#ececec!important;
}
.cp-before-submit li{
    margin:5px 0!important;
    line-height:1.5!important;
}

.cp-confirm-row{
    color:#262626!important;
    font-size:13px!important;
    line-height:1.55!important;
}
.cp-confirm-row:has(input[type=checkbox]:checked){color:#181818!important}
.cp-confirm-row input[type=checkbox]{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
    border:2px solid #aeb0b2!important;
    border-radius:6px!important;
    background:#fff!important;
    box-shadow:none!important;
    animation:none!important;
}
.cp-confirm-row input[type=checkbox]:checked{
    border-color:var(--cp-red)!important;
    background:var(--cp-red)!important;
    box-shadow:none!important;
    animation:none!important;
}
.cp-confirm-row input[type=checkbox]:checked::after{
    content:"✓"!important;
    position:static!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    color:#fff!important;
    font-size:15px!important;
    text-shadow:none!important;
}

.cp-submit-area{
    margin-top:28px!important;
    padding-top:24px;
    border-top:1px solid var(--cp-line);
}
.cp-submit-button{
    min-height:54px!important;
    border-radius:10px!important;
    background:linear-gradient(135deg,#c50918,#910913)!important;
    box-shadow:0 12px 26px rgba(181,9,22,.22)!important;
    letter-spacing:.12em!important;
}
.cp-submit-button:hover{
    filter:none!important;
    background:linear-gradient(135deg,#d00b1b,#9d0915)!important;
    box-shadow:0 15px 30px rgba(181,9,22,.27)!important;
}
.cp-submit-area p{
    color:#676b70!important;
    font-size:11px!important;
}

.cp-beta-application-banner{
    max-width:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#111!important;
    box-shadow:none!important;
}
.cp-beta-application-banner strong{color:#fff!important}
.cp-beta-application-banner span{color:#ddd!important}

.cp-application-success{
    background:#fff!important;
    color:#202124!important;
    border:1px solid #dedede!important;
    border-top:5px solid #b50916!important;
    box-shadow:0 24px 70px rgba(0,0,0,.12)!important;
}
.cp-application-success h2{color:#151515!important;font-family:"Segoe UI",Tahoma,Arial,sans-serif!important}
.cp-application-success p{color:#5d6166!important}
.cp-success-motto{color:#b50916!important}
.cp-reference-box{background:#f7f7f8!important;border:1px solid #dedede!important;color:#666!important}
.cp-reference-box strong{color:#b50916!important}

.cp-application-error{
    background:#fff!important;
    border:1px solid #e4b5b9!important;
    border-left:5px solid #b50916!important;
    color:#3c1519!important;
    box-shadow:0 14px 32px rgba(0,0,0,.08)!important;
}

@media(max-width:900px){
    .cp-form-section{
        grid-template-columns:52px minmax(0,1fr)!important;
        padding:32px 28px!important;
    }
}
@media(max-width:720px){
    .cp-application-shell{
        margin:12px auto!important;
        border-radius:14px!important;
        border-top-width:5px!important;
    }
    .cp-application-shell::after{display:none!important}
    .cp-application-header{
        padding:38px 18px 30px!important;
    }
    .cp-application-header h1{
        font-size:38px!important;
        line-height:1.06!important;
    }
    .cp-motto{
        font-size:11px!important;
        letter-spacing:.15em!important;
    }
    .cp-admission-notice{
        margin-top:22px!important;
        padding:17px!important;
    }
    .cp-form-section{
        grid-template-columns:1fr!important;
        gap:13px!important;
        padding:27px 18px!important;
    }
    .cp-section-number{
        width:40px!important;
        height:40px!important;
    }
    .cp-section-content h2{
        font-size:26px!important;
    }
    .cp-type-grid,
    .cp-form-grid{
        grid-template-columns:1fr!important;
    }
    .cp-type-card span{
        min-height:60px!important;
        padding:16px 50px 16px 16px!important;
    }
    .cp-photo-policy,
    .cp-before-submit{
        padding:15px!important;
    }
    .cp-submit-button{
        min-height:52px!important;
        font-size:11px!important;
        letter-spacing:.09em!important;
    }
}


/* Club Privilege application header brand artwork */
.cp-application-brand-art{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto 24px;
}
.cp-application-brand-art img{
    display:block;
    width:min(360px,72vw);
    height:auto;
    max-width:100%;
    object-fit:contain;
}
@media(max-width:720px){
    .cp-application-brand-art{
        margin-bottom:18px;
    }
    .cp-application-brand-art img{
        width:min(290px,82vw);
    }
}
