/* ==========================
   FIRE & ICE 2027
   GLOBAL STYLES
========================== */

html {
    scroll-behavior:smooth;
}

body {
    background:#080808;
    color:#ffffff;
    font-family:'Inter', Arial, sans-serif;
    margin:0;
}

h1,
h2,
h3,
h4 {
    font-family:'Anton', Impact, sans-serif;
    letter-spacing:1px;
    text-transform:uppercase;
}

a {
    color:#ffffff;
    text-decoration:none;
}


/* ==========================
   HEADER
========================== */

.fireice-header {
    position:relative;
    width:100%;
    z-index:1000;
}

.fireice-nav {
    background:
    linear-gradient(
        90deg,
        rgba(90,0,0,.45),
        rgba(0,0,0,.85),
        rgba(0,70,140,.45)
    );

    backdrop-filter:blur(8px);

    padding:15px 0;
}

.navbar-nav > li > a {

    color:#ffffff !important;
    font-weight:700;
    text-transform:uppercase;
    font-size:14px;
    letter-spacing:1px;

}

.nav-register a {

    background:#ed1c24;
    border-radius:5px;
    padding:14px 24px !important;

}


/* ==========================
   HERO
========================== */

.fireice-hero {

    min-height:900px;
    position:relative;
    display:block;

    background-image:

    linear-gradient(
        rgba(0,0,0,.35),
        rgba(0,0,0,.55)
    ),

    url('/assets/images/bg-home.jpg');

    background-repeat:no-repeat;
    background-size:cover;
    background-position:center top;

}

.fireice-overlay {
    display:none;
}


.hero-content {

    position:relative;
    z-index:2;
    width:100%;
    text-align:center;
    padding-top:170px;

}


/* ==========================
   HERO TITLE
========================== */

.hero-title {

    text-align:center;
    margin-bottom:35px;

}


.hero-year {

    font-family:'Anton', Impact, sans-serif;
    font-size:85px;
    letter-spacing:16px;
    color:#ffffff;
    text-shadow:0 5px 20px #000;

}


.hero-main-title {

    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    line-height:.85;

}


.fire-word,
.ice-word {

    font-family:'Anton', Impact, sans-serif;
    font-size:145px;
    font-weight:900;

}


.fire-word {

    background:
    linear-gradient(
        180deg,
        #fff200,
        #ff6600,
        #c90000
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
    0 0 25px rgba(255,60,0,.9);

}


.ice-word {

    background:
    linear-gradient(
        180deg,
        #ffffff,
        #9eeaff,
        #0078d7
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
    0 0 25px rgba(0,150,255,.9);

}


.ampersand {

    font-family:'Anton', Impact, sans-serif;
    font-size:125px;
    color:#ddd;
    text-shadow:0 5px 15px #000;

}


.hero-invitational {

    font-family:'Anton', Impact, sans-serif;
    font-size:60px;
    letter-spacing:18px;
    margin-top:20px;
    color:#ffffff;
    text-shadow:0 4px 15px #000;

}


/* ==========================
   TAGLINE
========================== */

.hero-tagline {

    font-size:30px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:white;
    text-align:center;
    text-shadow:0 3px 8px #000;

}


/* ==========================
   HERO DETAILS
========================== */

.hero-details {

    display:flex;
    justify-content:center;
    gap:20px;
    margin:45px auto;

}


.hero-details div {

    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.25);
    padding:25px;
    min-width:220px;
    border-radius:8px;

}


.hero-details strong {

    display:block;
    font-size:22px;

}


.hero-details span {

    color:#ccc;
    font-size:14px;

}


/* ==========================
   BUTTONS
========================== */

.hero-buttons {

    text-align:center;

}


.btn-fireice {

    background:#ed1c24;
    color:white !important;
    padding:16px 45px;
    border-radius:5px;
    text-transform:uppercase;
    font-size:16px;
    font-weight:bold;

}


.btn-outline-fireice {

    border:2px solid white;
    padding:16px 45px;
    border-radius:5px;
    color:white !important;
    text-transform:uppercase;
    font-size:16px;

}
/* ==========================
   SECTION SYSTEM
========================== */

.fireice-section {

    padding:90px 0;
    position:relative;
    overflow:hidden;

}


.section-title {

    text-align:center;
    margin-bottom:35px;

}


.section-title h2 {

    font-size:42px;
    text-shadow:
    0 3px 12px rgba(0,0,0,.55);

}



/* ==========================
   FIRE SECTION
   WHY FIRE & ICE
========================== */

.fire-section {

    background:
    linear-gradient(
        135deg,
        #ed1c24,
        #ff4500,
        #7a0000
    );

}


.fire-section:before {

    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top right,
        rgba(255,180,0,.35),
        transparent 45%
    );

    pointer-events:none;

}



/* ==========================
   ICE SECTION
   ELITE SPORTSPLEX
========================== */

.ice-section {

    background:
    linear-gradient(
        135deg,
        #001f4d,
        #0078d7,
        #00bfff
    );

}


.ice-section .venue-content h2 {

    font-size:56px;
    margin-bottom:15px;

}


.ice-section .venue-content h4 {

    font-size:22px;

}


.ice-section .venue-content li {

    font-size:18px;
    margin-bottom:8px;

}


.ice-section:before {

    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top left,
        rgba(255,255,255,.25),
        transparent 40%
    );

    pointer-events:none;

}



/* ==========================
   ENTRY FEES
   PRICING SECTION
========================== */

.pricing-section {

    background:
    linear-gradient(
        135deg,
        #ff9900,
        #ff4500,
        #c90000
    );

}

.pricing-section .price {

    color:#ffffff;

}


.pricing-section .pricing-card {

    border-color:rgba(255,255,255,.7);

}

.pricing-section .pricing-card {

    background:
    linear-gradient(
        145deg,
        #181818,
        #050505
    );

}


.pricing-section .price {

    color:#ffffff;

}



/* ==========================
   ADMISSION
   CHAMPIONSHIP GOLD
========================== */

.admission-section {

    background:
    linear-gradient(
        135deg,
        #8b6508,
        #d4af37,
        #9c7c00
    );

}


.admission-section .pricing-card {

    background:
    linear-gradient(
        145deg,
        #151515,
        #050505
    );

}


.admission-section .price {

    color:#ffd700;

}



/* ==========================
   HOTEL
   PREMIUM BLACK
========================== */

.hotel-section {

    background:
    linear-gradient(
        135deg,
        #1c1c1c,
        #000000
    );

}

.hotel-section .section-image {

    box-shadow:
    0 20px 50px rgba(0,0,0,.75);

}

.hotel-section:before {

    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top right,
        rgba(255,255,255,.12),
        transparent 35%
    );

    pointer-events:none;

}



/* ==========================
   FEATURE CARDS
========================== */

.feature-card {

    background:
    linear-gradient(
        145deg,
        #171717,
        #080808
    );

    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;
    overflow:hidden;
    height:360px;

    display:flex;
    flex-direction:column;
    text-align:center;

    transition:.3s;

}


.feature-card:hover {

    transform:translateY(-8px);

}


.feature-card img {

    width:100%;
    height:150px;
    object-fit:cover;

}


.feature-card h3 {

    margin-top:auto;
    padding:12px 15px 5px;
    font-size:22px;

}


.feature-card p {

    padding:0 15px 18px;
    margin:0;
    font-size:14px;
    color:#cccccc;

}


.feature-card:nth-child(1) h3 {

    color:#ff3333;

}


.feature-card:nth-child(2) h3 {

    color:#ff9900;

}


.feature-card:nth-child(3) h3 {

    color:#38bdf8;

}


.live-scoring-card {

    border-color:#0066ff;

}


.live-scoring-card h3 {

    color:#0066ff;

}


.proscore-logo {

    width:90%;
    max-width:230px;
    height:120px;
    object-fit:contain;
    margin:15px auto;

}



/* ==========================
   PRICING CARDS
========================== */

.pricing-grid {

    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:25px;
    margin-top:40px;

}


.pricing-card {

    width:320px;
    min-height:260px;

    background:
    linear-gradient(
        145deg,
        #151515,
        #050505
    );

    border:1px solid rgba(255,255,255,.25);

    border-radius:12px;

    padding:35px 25px;

    text-align:center;

    transition:.3s;

}


.pricing-card:hover {

    transform:translateY(-8px);

}


.pricing-level {

    color:#ffffff;
    font-size:20px;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:8px;

}


.price {

    margin-top:30px;
    font-size:60px;
    font-weight:900;

    color:#ed1c24;

    font-family:'Anton', Impact, sans-serif;

}


.fee-label {

    color:#999;
    letter-spacing:3px;
    font-size:13px;
    margin-top:5px;

}



/* ==========================
   VENUE / HOTEL IMAGES
========================== */

.section-image {

    width:100%;
    border-radius:12px;

}


.venue-content {

    padding:30px;

}


/* ==========================
   HOTEL BUTTON
========================== */

.hotel-booking-btn {

    display:inline-block;
    margin-bottom:25px;

}
/* ==========================
   REGISTRATION MODAL
========================== */

.fireice-modal {

    background:#111111;
    color:#ffffff;

    border:1px solid #ed1c24;
    border-radius:10px;

}


.fireice-modal .modal-header {

    background:
    linear-gradient(
        90deg,
        #8b0000,
        #111111,
        #003366
    );

    border-bottom:1px solid #ed1c24;

    text-align:center;

}


.fireice-modal .modal-header h3 {

    margin:0;

    color:#ffffff;

    font-family:'Anton', Impact, sans-serif;

    text-transform:uppercase;

    letter-spacing:2px;

}


.fireice-modal .modal-body {

    background:#111111;

    padding:30px;

}


.fireice-modal .btn {

    margin-bottom:15px;

}


.fireice-modal .btn-fireice {

    background:#ed1c24;

    border-color:#ed1c24;

    color:#ffffff !important;

}


.fireice-modal .btn-outline-fireice {

    background:
    linear-gradient(
        180deg,
        #0066ff,
        #003399
    );

    border:2px solid #8ec5ff;

    color:#ffffff !important;

    text-decoration:none;

}



/* ==========================
   TEAM FEE BOX
========================== */

.team-fee-box {

    width:320px;

    margin:40px auto;

    background:
    linear-gradient(
        145deg,
        #151515,
        #050505
    );

    border:1px solid #ed1c24;

    border-radius:12px;

    padding:30px;

    text-align:center;

}


.team-fee-box h3 {

    color:#ffffff;

    font-size:24px;

}


.team-fee-box .price {

    color:#ffffff;

    font-size:60px;

}


.registration-actions {

    margin-top:45px;

}


.registration-main-button {

    min-width:260px;

}

.pricing-section .btn-fireice {

    background:#ed1c24;
    border:2px solid #ffffff;
    color:#ffffff !important;

    text-shadow:
    0 2px 5px rgba(0,0,0,.5);

}


.pricing-section .btn-outline-fireice {

    background:#111111;
    border:2px solid #ffffff;
    color:#ffffff !important;

}

/* ==========================
   FOOTER
========================== */

.fireice-footer {

    background:#050505;

    padding:60px 0;

    border-top:1px solid #333;

}



/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .hero-content {

        padding-top:140px;

    }


    .fire-word,
    .ice-word {

        font-size:60px;

    }


    .ampersand {

        font-size:55px;

    }


    .hero-year {

        font-size:40px;

    }


    .hero-invitational {

        font-size:28px;

        letter-spacing:8px;

    }


    .hero-tagline {

        font-size:18px;

    }


    .hero-details {

        display:block;

    }


    .hero-details div {

        margin:10px;

    }


    .feature-card {

        margin-bottom:20px;

    }


    .pricing-card {

        width:90%;

    }


    .section-title h2 {

        font-size:34px;

    }

}

.fire-section:after,
.ice-section:after,
.pricing-section:after,
.admission-section:after,
.hotel-section:after {

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        rgba(255,255,255,.10) 1px,
        transparent 1px
    );

    background-size:25px 25px;

    opacity:.25;

    pointer-events:none;

}
/* ==========================
   FINAL CSS CLEANUP
========================== */

html {
    scroll-behavior:smooth;
}

h1,
h2,
h3,
h4 {
    text-transform:uppercase;
}

a {
    text-decoration:none;
}


.feature-card:nth-child(1) h3 {
    color:#ff3333;
}

.feature-card:nth-child(2) h3 {
    color:#ff9900;
}

.feature-card:nth-child(3) h3 {
    color:#38bdf8;
}


.fire-section:after,
.ice-section:after,
.pricing-section:after,
.admission-section:after,
.hotel-section:after {

    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        rgba(255,255,255,.10) 1px,
        transparent 1px
    );

    background-size:25px 25px;

    opacity:.25;

    pointer-events:none;

}

/* ==========================
   FINAL FIRE & ICE POLISH OVERRIDES
   Added to preserve existing functionality
========================== */

/* Section depth and transitions */
.fireice-section {
    position:relative;
    overflow:hidden;
}

.fire-section,
.ice-section,
.pricing-section,
.admission-section,
.hotel-section {
    position:relative;
}

.fire-section:after,
.ice-section:after,
.pricing-section:after,
.admission-section:after,
.hotel-section:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120px;
    pointer-events:none;
    background:linear-gradient(
        to bottom,
        transparent,
        rgba(0,0,0,.18)
    );
}

/* Team fee and pricing consistency */
.pricing-section .price,
.team-fee-box .price {
    color:#ffffff !important;
}

/* Entry fee buttons */
.pricing-section .btn-fireice {
    background:#ed1c24;
    border:2px solid #ffffff;
    color:#ffffff !important;
}

.pricing-section .btn-outline-fireice {
    background:#111111;
    border:2px solid #ffffff;
    color:#ffffff !important;
}

/* Venue readability */
.ice-section .venue-content h2 {
    font-size:56px;
    text-shadow:0 4px 15px rgba(0,0,0,.65);
}

.ice-section .venue-content h4,
.ice-section .venue-content li {
    font-size:18px;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

/* Hotel presentation */
.hotel-section .section-image {
    box-shadow:0 20px 50px rgba(0,0,0,.75);
}

.hotel-booking-btn {
    display:inline-block;
    margin-bottom:25px;
}

/* Correct feature card selectors */
.feature-card:nth-child(1) h3 {
    color:#ff3333;
}

.feature-card:nth-child(2) h3 {
    color:#ff9900;
}

.feature-card:nth-child(3) h3 {
    color:#38bdf8;
}
/* ==========================
   ADMISSION NOTES
========================== */

.admission-notes {

    max-width:900px;

    margin:50px auto 0;

    padding:25px 35px;

    text-align:center;

    font-size:22px;

    line-height:1.6;

    font-weight:700;

    color:#111111;

    background:rgba(255,255,255,.85);

    border-radius:12px;

    border:2px solid rgba(0,0,0,.25);

    box-shadow:
    0 10px 30px rgba(0,0,0,.35);

}

/* ==========================
   MOBILE MENU TOGGLE
========================== */

.navbar-toggle {
    display:none;
    position:relative;
    float:right;
    margin-right:15px;
    padding:9px 10px;
    margin-top:8px;
    margin-bottom:8px;
    background:transparent;
    background-image:none;
    border:1px solid rgba(255,255,255,.5);
    border-radius:4px;
}


.navbar-toggle .icon-bar {

    display:block;

    width:22px;

    height:2px;

    border-radius:1px;

    background:#ffffff;

    margin:4px 0;

}


@media (max-width:768px) {

    .navbar-toggle {

        display:block;

    }

}
/* ==========================
   MOBILE REGISTER BUTTON DESKTOP FIX
========================== */

.mobile-register-btn {
    display:none !important;
}


@media(max-width:768px) {

    .fireice-nav .mobile-register-btn {

        display:block !important;

        float:left;

        margin-top:10px;

        margin-left:10px;

        padding:10px 18px;

        background:#ed1c24 !important;

        border-radius:5px;

        color:#ffffff !important;

        font-size:13px;

        font-weight:700;

        text-transform:uppercase;

        text-decoration:none;

        line-height:20px;

    }

}

/* ==========================
   FIRE & ICE CHECKOUT DESIGN
========================== */


.fireice-checkout-page {

    background:#080808;
    color:#ffffff;
    padding:60px 0;

}


.fireice-checkout-card {

    background:
    linear-gradient(
        145deg,
        #171717,
        #050505
    );

    border:1px solid rgba(255,255,255,.25);

    border-radius:12px;

    padding:35px;

    margin-top:25px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.65);

}


.fireice-checkout-card h4 {

    font-family:'Anton', Impact, sans-serif;

    color:#ffffff;

    font-size:28px;

    letter-spacing:2px;

    text-transform:uppercase;

}


.fireice-checkout-card h4:after {

    content:"";

    display:block;

    width:80px;

    height:3px;

    margin-top:12px;

    background:
    linear-gradient(
        90deg,
        #ed1c24,
        #0078d7
    );

}


.fireice-checkout-card table {

    color:#ffffff;

}


.fireice-checkout-card th {

    color:#cccccc;

    text-transform:uppercase;

    font-size:12px;

    letter-spacing:1px;

}


.fireice-checkout-card tr:nth-child(even) {

    background:
    rgba(255,255,255,.05);

}


.fireice-checkout-card td {

    padding:10px !important;

}


.fireice-checkout-card .form-control {

    background:#111111;

    border:1px solid #444;

    color:#ffffff;

}


.fireice-checkout-card label {

    color:#cccccc;

    text-transform:uppercase;

    font-size:12px;

    letter-spacing:1px;

}


#terms-window {

    background:#111111;

    border:1px solid rgba(255,255,255,.25);

    border-radius:10px;

    padding:25px;

}


.signature-pad {

    background:#111111;

    border:1px solid rgba(255,255,255,.25);

    border-radius:10px;

    padding:20px;

}


.signature-pad canvas {

    background:#ffffff;

    border-radius:6px;

}


#submitRegPayBtn {

    background:#ed1c24 !important;

    border:2px solid #ffffff !important;

    color:#ffffff !important;

    padding:16px 45px;

    font-size:16px;

    font-weight:700;

    text-transform:uppercase;

    border-radius:6px;

}
/* ==========================
   FIRE & ICE CHECKOUT DESIGN
========================== */


.fireice-checkout-page {

    background:#080808;
    color:#ffffff;
    padding:60px 0;

}


.fireice-checkout-card {

    background:
    linear-gradient(
        145deg,
        #171717,
        #050505
    );

    border:1px solid rgba(255,255,255,.25);

    border-radius:12px;

    padding:35px;

    margin-top:25px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.65);

}


.fireice-checkout-card h4 {

    font-family:'Anton', Impact, sans-serif;

    color:#ffffff;

    font-size:28px;

    letter-spacing:2px;

    text-transform:uppercase;

}


.fireice-checkout-card h4:after {

    content:"";

    display:block;

    width:80px;

    height:3px;

    margin-top:12px;

    background:
    linear-gradient(
        90deg,
        #ed1c24,
        #0078d7
    );

}


.fireice-checkout-card table {

    color:#ffffff;

}


.fireice-checkout-card th {

    color:#cccccc;

    text-transform:uppercase;

    font-size:12px;

    letter-spacing:1px;

}


.fireice-checkout-card tr:nth-child(even) {

    background:
    rgba(255,255,255,.05);

}


.fireice-checkout-card td {

    padding:10px !important;

}


.fireice-checkout-card .form-control {

    background:#111111;

    border:1px solid #444;

    color:#ffffff;

}


.fireice-checkout-card label {

    color:#cccccc;

    text-transform:uppercase;

    font-size:12px;

    letter-spacing:1px;

}


#terms-window {

    background:#111111;

    border:1px solid rgba(255,255,255,.25);

    border-radius:10px;

    padding:25px;

}


.signature-pad {

    background:#111111;

    border:1px solid rgba(255,255,255,.25);

    border-radius:10px;

    padding:20px;

}


.signature-pad canvas {

    background:#ffffff;

    border-radius:6px;

}


#submitRegPayBtn {

    background:#ed1c24 !important;

    border:2px solid #ffffff !important;

    color:#ffffff !important;

    padding:16px 45px;

    font-size:16px;

    font-weight:700;

    text-transform:uppercase;

    border-radius:6px;

}
/* ==========================
   FIRE & ICE CHECKOUT POLISH
========================== */


body:has(.fireice-checkout-page) {

    background:#080808 !important;

}


#checkout-body {

    background:#080808;

    color:#ffffff;

}


#checkout-body .fireice-checkout-card {

    background:
    linear-gradient(
        145deg,
        #171717,
        #050505
    ) !important;


    border:1px solid rgba(255,255,255,.25) !important;


    border-radius:12px;


    padding:35px !important;


    margin-top:25px;


    box-shadow:
    0 15px 40px rgba(0,0,0,.65) !important;

}



#checkout-body .fireice-checkout-card h4 {

    color:#ffffff !important;

    font-family:'Anton', Impact, sans-serif;

    font-size:28px;

    letter-spacing:2px;

}



#checkout-body p,
#checkout-body td,
#checkout-body th,
#checkout-body label {

    color:#ffffff !important;

}



#checkout-body .fireice-checkout-card table {

    color:#ffffff;

}



#checkout-body .fireice-checkout-card tr:nth-child(even) {

    background:
    rgba(255,255,255,.08);

}



#checkout-body .form-control {

    background:#111111 !important;

    border:1px solid #555 !important;

    color:#ffffff !important;

}



#checkout-body .bd-row {

    border-bottom:1px solid rgba(255,255,255,.1);

    padding:8px 0;

}



#checkout-body #terms-window {

    background:#111111;

    color:#ffffff;

}



#checkout-body #submitRegPayBtn {

    background:#ed1c24 !important;

    border:2px solid #ffffff !important;

    color:#ffffff !important;

}
/* ==========================
   CHECKOUT ENHANCEMENTS
========================== */


/* Full width submit button */

#checkout-body #submitRegPayBtn {

    width:100%;

    margin-top:35px;

    padding:18px;

}


/* Signature full width */

#checkout-body .signature-pad {

    width:100%;

}


#checkout-body .signature-pad--body {

    width:100%;

}


#checkout-body .signature-pad canvas {

    width:100% !important;

}


/* Better row separation */

#checkout-body .bd-row {

    padding:12px 0;

    border-bottom:
    1px solid rgba(255,255,255,.15);

}


/* Registration total emphasis */

#checkout-body #price-details .bd-row:last-child {

    margin-top:15px;

    padding-top:15px;

    border-top:
    1px solid rgba(255,255,255,.3);

    font-size:18px;

}


/* Athlete table container */

#checkout-body #club-reg-athletes {

    font-size:14px;

}


/* Terms spacing */

#checkout-body #waiver-signature {

    margin-top:25px;

}


#checkout-body #submitRegPayBtn {

    margin-bottom:30px;

}
/* Full width checkout button */

#checkout-body #submitRegPayBtn {

    width:100%;

    margin-top:25px;

    margin-bottom:20px;

}
/* Signature full width */

#checkout-body #waiver-signature {

    width:100%;

}


#checkout-body #waiver-signature .signature-pad--body {

    width:100%;

}


#checkout-body #waiver-signature canvas {

    width:100% !important;

}
/* Athlete table scroll */

#checkout-body .athlete-scroll {

    max-height:600px;

    overflow-y:auto;

    overflow-x:hidden;

}


#checkout-body .athlete-scroll thead th {

    position:sticky;

    top:0;

    background:#111111;

    z-index:2;

}

/* Terms scroll requirement */

#checkout-body #terms-window {

    max-height:500px;

    overflow-y:auto;

    padding-right:20px;

}
