/* ==========================================================================
   1. CUSTOM FONT DEFINITIONS (Roobert TW)
   ========================================================================== */
@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-Regular_1783528512887001CIeR.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-RegularItalic_1783528512938001CY6K.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-Light_1783528512680001CgY9.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-LightItalic_1783528512736001C26H.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-Medium_1783528512788001CNo4.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-MediumItalic_1783528512839001C8cT.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-SemiBold_1783528513038001Cp0l.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-SemiBoldItalic_1783528513088001Cgjf.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-Bold_1783528513144001CRAr.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-BoldItalic_1783528513196001CwGP.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-Heavy_1783528512539001CLtn.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roobert TW';
    src: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/RoobertTW-HeavyItalic_1783528512630001CdIs.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ==========================================================================
   2. SITE LAYOUT & COMPONENT STYLES (PRESERVED ORIGINAL RULES)
   ========================================================================== */

html {
    height: 100% !important;
    margin: 0 !important;
}

body {
    height: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding-bottom: 120px !important;
    
    display: flex !important;
    flex-direction: column !important;
   
    background-color: #F0F0FF !important;
    background-image: url('https://static.rainfocus.com/twitch/tcsd26/static/staticfile/staticfile/Top%20Image_1783361254552001kxsY.png') !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: 100% auto !important;
    background-attachment: scroll !important;
}

#rf-content {
    flex: 1 0 auto !important;
}

.rfComp-canvas, .rfwf-body-content, .rfwf-full-panel, .rfwf-panel-interior, .rfwf-header, .rfwf-subheader, .rf-workflow-header, .page-builder-display-reset, .flex-box-section-full, .flex-box-section-full-interior, .flex-box-section, .flex-box-child, .element-container-wrapper, .element-container, .rf-flex-frame, .custom-form-content, .special-div, .md-frame, .md-frame-body, .rfwf-packages, .rfwf-package-items, .rf-form-element-group, .md-accordion-container, .grid-table, .table-responsive, table {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.rfwf-header, .rfwf-subheader { display: none !important; }

[class*="26-landing-page-home"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.rf-org-header-container .header { justify-content: flex-start !important; }

.rf-org-header-container .header a, .rf-org-header-container .header img { margin: 0 !important; margin-right: auto !important; display: block !important; }

body, .label-text, .rf-label, .readOnly-value, .rf-text-container p, .rf-text-container span, .rf-req, .wf-form-element-div, h1, h2, h3, h5, strong {
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
    font-family: 'Roobert TW', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

input, select, textarea, .rf-input input, .rf-select select, .rf-select input, .rf-select-no-caret, .rf-dropdown-menu, .rf-dropdown-list, .rf-dropdown-option, .rf-dropdown-option-text, .rf-select-selected li, [role="listbox"], [role="listbox"] *, [role="combobox"] {
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
}

.element-container h3, .rfwf-packages h2, .rfwf-confirmation-header h1 {
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: none !important;
    text-align: center;
}

a, a * { color: #2979ff !important; -webkit-text-fill-color: #2979ff !important; text-decoration: underline !important; }

input[type="checkbox"], input[type="radio"] { accent-color: #0014A5 !important; }

.faq-section { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; padding: 40px 20px; max-width: 1200px; margin: 0 auto; }

.faq-card, .rfwf-packages .rfwf-panel-interior, .md-accordion-container, .reg-confirmation-summary .grid-table, .discount-code-wrapper, .rfwf-confirmation-contact-info .rfwf-panel-interior, [class*="card"], [class*="pass-box"] {
    background-color: #FFFFFF !important;
    border-radius: 20px !important;
    padding: 35px !important;
    box-shadow: 0 8px 24px rgba(0, 20, 165, 0.04) !important;
    border: 1px solid rgba(0, 20, 165, 0.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.faq-card h1, .faq-card h2, .faq-card h3, .faq-card h4, .faq-card h5 {
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 25px !important;
    opacity: 0.65 !important;
    display: block !important;
}

.faq-card p, .faq-card span, .faq-card strong, .faq-card a, .faq-card .content { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

.faq-card summary::before { color: #0014A5 !important; }

summary { list-style: none; display: flex; align-items: flex-start; cursor: pointer; font-weight: 700 !important; font-size: 1.05rem !important; line-height: 1.4 !important; padding: 14px 0 !important; color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

summary::-webkit-details-marker { display: none; }

summary::before { content: '\229E'; margin-right: 14px; margin-top: 2px; font-size: 1.3rem; color: #0014A5 !important; transition: transform 0.3s ease; flex-shrink: 0; }

details[open] summary::before { transform: rotate(90deg); content: '\229F'; }

.content-wrapper { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; }

details[open] .content-wrapper { grid-template-rows: 1fr; }

.content { min-height: 0; opacity: 0; transform: translateY(-10px); transition: opacity 0.3s ease, transform 0.3s ease; padding: 0 10px 20px 40px; color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

details[open] .content { opacity: 1; transform: translateY(0); }

.form-footer-actions button#wf-btn-submit, button.mdBtnR-primary, .rfwf-confirmation-buttons .rfwf-panel-interior > button, .workflow-footer-buttons button.mdBtnR-primary { position: relative !important; z-index: 999 !important; background-color: #0014A5 !important; border: 2px solid #0014A5 !important; padding: 14px 32px !important; border-radius: 50px !important; cursor: pointer !important; pointer-events: auto !important; transition: all 0.3s ease !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-weight: 600 !important; text-transform: none; letter-spacing: 0.5px; }

.form-footer-actions button#wf-btn-submit span, button.mdBtnR-primary span, .rfwf-confirmation-buttons .rfwf-panel-interior > button span, .workflow-footer-buttons button.mdBtnR-primary span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

.form-footer-actions button#wf-btn-submit:hover, button.mdBtnR-primary:hover, .rfwf-confirmation-buttons .rfwf-panel-interior > button:hover, .workflow-footer-buttons button.mdBtnR-primary:hover { background-color: #000b5c !important; border-color: #000b5c !important; transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0, 20, 165, 0.3); }

.form-footer-actions button#wf-btn-cancel, button.mdBtnR-cancel, button.mdBtnR-outline-primary:not(.rfwf-confirmation-buttons .rfwf-panel-interior > button), .rfwf-confirmation-buttons .pull-right button, .workflow-footer-buttons button.mdBtnR-outline-primary, .modal-footer button.cancel { position: relative !important; z-index: 999 !important; background-color: #ffffff !important; border: 2px solid #0014A5 !important; padding: 12px 28px !important; border-radius: 50px !important; cursor: pointer !important; pointer-events: auto !important; transition: all 0.3s ease !important; color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; font-weight: 600 !important; text-transform: none; }

.form-footer-actions button#wf-btn-cancel span, button.mdBtnR-cancel span, button.mdBtnR-outline-primary:not(.rfwf-confirmation-buttons .rfwf-panel-interior > button) span, .rfwf-confirmation-buttons .pull-right button span, .workflow-footer-buttons button.mdBtnR-outline-primary span, .modal-footer button.cancel span { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

.form-footer-actions button#wf-btn-cancel:hover, button.mdBtnR-cancel:hover, button.mdBtnR-outline-primary:not(.rfwf-confirmation-buttons .rfwf-panel-interior > button):hover, .rfwf-confirmation-buttons .pull-right button:hover, .workflow-footer-buttons button.mdBtnR-outline-primary:hover, .modal-footer button.cancel:hover { background-color: #f0eeff !important; transform: translateY(-1px); }

.pull-right, .pull-left { float: none !important; }

.form-footer-actions, .rfwf-orders-buttons .rfwf-panel-interior, .rfwf-confirmation-buttons .rfwf-panel-interior, .workflow-footer-buttons, .modal-footer { display: flex !important; justify-content: center !important; align-items: center !important; gap: 20px !important; padding: 40px 0 !important; }

.modal-footer { padding: 0 !important; }

@media (max-width: 768px) { .faq-section { flex-direction: column; } .faq-card { width: 100%; padding: 25px !important; } .form-footer-actions, .rfwf-orders-buttons .rfwf-panel-interior, .rfwf-confirmation-buttons .rfwf-panel-interior, .workflow-footer-buttons { flex-direction: column !important; } }

[data-path="7b9caecb-f55e-4c1e-8761-2aedad61ca5e"] { position: relative !important; z-index: 999 !important; pointer-events: auto !important; }

.rfSI svg { fill: #0014A5 !important; }

.rfSI.rfSI-radio svg, .rf-radio-wrapper .rfSI svg { fill: #0014A5 !important; }

.cc-window.cc-banner { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 20px 30px !important; margin: 0 !important; background-color: #0014A5 !important; z-index: 9999 !important; }

.cc-message, .cc-window .cc-header { color: #ffffff !important; flex: 1 1 auto !important; margin-right: 20px !important; }

.cc-link { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; text-decoration: underline !important; opacity: 0.8; transition: opacity 0.2s ease; margin-left: 5px !important; }

.cc-link:hover { opacity: 1; }

.cc-btn { position: relative !important; z-index: 10000 !important; background-color: #00d6c2 !important; border-radius: 50px !important; padding: 10px 25px !important; cursor: pointer !important; transition: all 0.3s ease !important; flex: 0 0 auto !important; white-space: nowrap !important; }

.cc-btn, .cc-btn span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-weight: bold !important; text-transform: uppercase; }

.cc-btn:hover { background-color: #00f3dc !important; }

@media (max-width: 768px) { .cc-window.cc-banner { flex-direction: column !important; text-align: center !important; gap: 15px !important; padding: 15px !important; } .cc-message { margin-right: 0 !important; } }

.rfwf-package-items, .rfwf-package-items *, .discount-code-container, .discount-code-container * { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

.rf-org-header-container { width: 100% !important; text-align: left !important; display: block !important; }

.popover, .popover *, .tooltip, .tooltip *, .popover-content, .popover-title, .tooltip-inner, [role="tooltip"], [role="tooltip"] *, .tippy-box, .tippy-content, .rf-dropdown-menu, .rf-dropdown-menu *, .rf-dropdown-list, .rf-dropdown-list *, .rf-dropdown-option, .rf-dropdown-option *, .select2-container, .select2-container *, .select2-results__option, .select2-results__option *, .ui-menu, .ui-menu *, .tt-menu, .tt-menu *, [role="listbox"], [role="listbox"] *, [role="option"], [role="option"] * { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

.select2-search__field, .rf-dropdown-menu input[type="text"], [role="combobox"] { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; background-color: #FFFFFF !important; }

.rf-feedback-alert, .rf-feedback-alert *, .error-msg, .error-msg *, .rf-label.has-error, .rf-label.has-error label, .rf-label.has-error span { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; }

.modal-content, .modal-content *, .modal-title { color: #0014A5 !important; -webkit-text-fill-color: #0014A5 !important; text-shadow: none !important; }

.rf-org-header-container, .rf-org-footer-container, .cc-grower, .cc-window.cc-banner, #crxjs-ext, scribe-shadow, .special-div { pointer-events: none !important; }

#rf-content, .rfComp-canvas, .rfwf-body-content, .rfwf-body-content *, .rfwf-orders-details, .rfwf-orders-details a, .header, .header a, .header img, #custom-header-logout, .logout-btn, .cc-btn, .cc-link { pointer-events: auto !important; }

#rf-content, .rfComp-canvas, #special-div, .rfwf-body-content { position: relative !important; z-index: 50 !important; }

.rfwf-orders-details { position: relative !important; z-index: 60 !important; padding-bottom: 20px !important; }

.rfwf-orders-details a { display: inline-block !important; }

#custom-header-logout { z-index: 99999 !important; cursor: pointer !important; }

.logout-btn { cursor: pointer !important; }

.rf-text-container h1, .rf-text-container h2, .element-container h1, .element-container h2 {
    font-size: 56px !important;
    font-weight: 800 !important;
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
    font-family: 'Roobert TW', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    text-align: center !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.rf-text-container p, .element-container p {
    font-size: 14px !important;
    color: #0014A5 !important;
    -webkit-text-fill-color: #0014A5 !important;
    font-family: 'Roobert TW', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    text-align: center !important;
    line-height: 1.8 !important;
}

.rfwf-body-content .flex-box-section-full { padding: 0 !important; margin: 0 !important; }

/* ==========================================================================
   3. ATTENDEE INFO PAGE FRAME (SPECIFIC PAGE SCOPE)
   ========================================================================= */

/* 1. Reset the outer body container back to transparent so the buttons can escape */
[class*="attendeeinfo"] .rfwf-body-content,
[data-step-slug*="attendeeinfo"] .rfwf-body-content,
[data-page-code*="attendeeinfo"] .rfwf-body-content,
[data-path*="attendeeinfo"] .rfwf-body-content {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   3. ATTENDEE INFO PAGE FRAME & OUT-OF-FRAME BUTTONS (STRICT SCOPE)
   ========================================================================== */

/* Targets the form container card on this specific page step */
body.twitch-tcsd26-registration11sdfgoij2-form-attendeeinfo2498ajlk .rfwf-panel-interior {
    background-color: #FFFFFF !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 8px 24px rgba(0, 20, 165, 0.04) !important;
    border: 1px solid rgba(0, 20, 165, 0.08) !important;
    
    /* Spacing: 50px top margin from header, 130px bottom margin to clear space for the buttons below */
    max-width: 1100px !important;
    margin: 50px auto 130px auto !important;
    box-sizing: border-box !important;
    
    /* Acts as the structural anchor for the absolute floating buttons */
    position: relative !important;
}

/* Forces the navigation buttons completely outside the white container block */
body.twitch-tcsd26-registration11sdfgoij2-form-attendeeinfo2498ajlk .form-footer-actions {
    position: absolute !important;
    top: 100% !important; /* Shuts them below the white card baseline */
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    
    /* Spacing gap between the white container's bottom border and your buttons */
    margin-top: 35px !important; 
    background: transparent !important;
    background-color: transparent !important;
}
/* 1. Hide the checkmark icon completely when the checkbox is NOT checked */
.rf-checkbox input[type="checkbox"]:not(:checked) ~ .rf-checkbox-icon {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* 2. Ensure the custom background looks empty/blank when NOT checked */
.rf-checkbox input[type="checkbox"]:not(:checked) ~ .checkbox-bg {
    background-color: transparent !important;
    /* Optional: Add a subtle border color if it disappears completely */
    border: 2px solid #555555 !important; 
}

/* 3. Reveal the checkmark icon only when the checkbox IS actively checked */
.rf-checkbox input[type="checkbox"]:checked ~ .rf-checkbox-icon {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}
