@charset "UTF-8";
.ninjew-form-wrap { max-width: 600px; margin: 2rem auto; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 6px; }
.ninjew-form-wrap h2 { margin-top: 0; }
.ninjew-field { margin-bottom: 1rem; }
.ninjew-field label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.ninjew-field input, .ninjew-field select, .ninjew-field textarea { width: 100%; padding: 0.5rem; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; }
.ninjew-btn { background: #2271b1; color: #fff; border: none; padding: 0.75rem 1.5rem; border-radius: 4px; cursor: pointer; font-size: 16px; }
.ninjew-btn:hover { background: #135e96; }
.ninjew-btn:disabled { background: #a7aaad; cursor: not-allowed; opacity: 0.7; }
.ninjew-waiver-content { background: #f9f9f9; padding: 1rem; border: 1px solid #eee; margin: 1rem 0; }
.ninjew-field-note, .ninjew-age-label { display: block; color: #646970; font-size: 0.9em; margin-top: 0.25rem; }
.ninjew-guardian-block { border: 1px solid #dcdcde; border-left: 4px solid #2271b1; background: #f6f7f7; padding: 1rem; margin: 1rem 0; }
.ninjew-guardian-block h3 { margin-top: 0; }
.ninjew-age-blocked { background: #fcf0f1; border: 1px solid #d63638; border-left: 4px solid #d63638; color: #4a1013; padding: 1rem; margin: 1rem 0; border-radius: 4px; font-weight: 600; }
.ninjew-guardian-section { border: 1px solid #dcdcde; background: #f6f7f7; padding: 1rem; margin: 1rem 0; border-radius: 4px; }
.ninjew-guardian-block[hidden],
[data-signature-area][hidden],
[data-age-blocked][hidden],
[data-guardian-section][hidden],
[data-ninjew-guardian][hidden] { display: none !important; }
.ninjew-template-test-banner { background: #d63638; color: #fff; padding: 0.9rem 1rem; margin: 0 0 1rem; font-weight: 700; border-radius: 4px; }
.ninjew-business-logo { max-width: 240px; height: auto; }

/* Blank Waiver Layout */
.ninjew-waiver-view,
.ninjew-blank-waiver { max-width: 800px; margin: 0 auto; }
.ninjew-waiver-rendered { border: 1px solid #dcdcde; padding: 1.5rem; background: #fff; border-radius: 4px; }
.ninjew-waiver-header { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; }
.ninjew-waiver-logo-wrap { flex: 0 0 30%; max-width: 200px; }
.ninjew-waiver-logo-wrap:empty { display: none; }
.ninjew-waiver-logo-wrap img { max-width: 100%; height: auto; }
.ninjew-waiver-titles { flex: 1; text-align: center; }
.ninjew-waiver-titles h2 { margin: 0 0 0.5rem; font-size: 1.5rem; text-transform: uppercase; text-align: center; }
.ninjew-waiver-titles h3 { margin: 0; font-size: 1rem; font-weight: 400; text-transform: uppercase; text-align: center; }
.ninjew-header-no-logo .ninjew-waiver-titles { width: 100%; flex: 0 0 100%; }

.ninjew-section-line { border: none; border-top: 1px solid #ccc; margin: 1.5rem 0; }
.ninjew-waiver-consent { margin-bottom: 1.5rem; line-height: 1.6; color: #1a1a1a; }
.ninjew-waiver-consent ol,
.ninjew-waiver-consent ul { margin: 0 0 1rem 0; padding-left: 1.5rem; list-style-position: outside !important; }
.ninjew-waiver-consent ol { padding-top: 2px; }
.ninjew-waiver-consent ol li,
.ninjew-waiver-consent ul li { margin-bottom: 0.5rem; padding-left: 0.5rem; text-indent: -0.5rem; }
.ninjew-waiver-consent ol { list-style-type: decimal !important; }

.ninjew-form-section { margin-bottom: 1.5rem; }
.ninjew-form-section h4 { margin: 0 0 1rem; font-size: 1.1rem; border-bottom: 1px solid #eee; padding-bottom: 0.5rem; }

.ninjew-form-row { display: flex; gap: 1rem; margin-bottom: 3px; }
.ninjew-form-col { flex: 1; min-width: 0; padding: 2px; }
.ninjew-form-col label { display: block; font-weight: 600; margin-bottom: 3px; font-size: 0.95rem; color: #1a1a1a; }
.ninjew-form-col input,
.ninjew-form-col select,
.ninjew-form-col textarea { width: 100%; padding: 0.5rem; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; }
.ninjew-form-col-full { flex: 0 0 100%; }

.ninjew-readonly-value { padding: 0.5rem; background: #f6f7f7; border: 1px solid #dcdcde; border-radius: 4px; font-size: 16px; min-height: 2.5rem; display: flex; align-items: center; color: #1a1a1a; }

.ninjew-required { color: #d63638; }

.ninjew-social-extra { display: none; }
.ninjew-social-extra.visible { display: flex; }

.ninjew-waiver-section { margin-bottom: 1rem; }
.ninjew-section-title { border-top: 1px solid #dcdcde; padding-top: 1rem; margin-top: 1.5rem; color: #1a1a1a; }
.ninjew-waiver-section:first-child .ninjew-section-title { border-top: none; padding-top: 0; margin-top: 0; }

.ninjew-btn-large { width: 100%; padding: 1rem; font-size: 1.1rem; margin-top: 1rem; }
.ninjew-waiver-actions { margin-top: 1.5rem; }

/* Waiver page layout: hide sidebar, center content, 70% width on desktop */
body.ninjew-waiver-page #sidebar,
body.ninjew-waiver-page .et_pb_widget_area,
body.ninjew-waiver-page aside,
body.ninjew-waiver-page .widget-area,
body.ninjew-waiver-page #secondary,
body.ninjew-waiver-page .sidebar { display: none !important; }
body.ninjew-waiver-page .et_pb_gutter.et_pb_gutters3 .et_pb_column_2_3,
body.ninjew-waiver-page .et_pb_gutter.et_pb_gutters3 .et_pb_column_3_4,
body.ninjew-waiver-page .et_pb_row .et_pb_column_2_3,
body.ninjew-waiver-page .et_pb_row .et_pb_column_3_4 { width: 100% !important; }
body.ninjew-waiver-page #main-content,
body.ninjew-waiver-page #content,
body.ninjew-waiver-page .entry-content,
body.ninjew-waiver-page .et_post_meta_wrapper,
body.ninjew-waiver-page .et_pb_row { max-width: 70% !important; margin-left: auto !important; margin-right: auto !important; }

@media (max-width: 768px) {
    body.ninjew-waiver-page #main-content,
    body.ninjew-waiver-page #content,
    body.ninjew-waiver-page .entry-content,
    body.ninjew-waiver-page .et_post_meta_wrapper,
    body.ninjew-waiver-page .et_pb_row { max-width: 100% !important; }
}

@media print {
    body * { visibility: hidden; }
    .ninjew-waiver-view, .ninjew-waiver-view *,
    .ninjew-blank-waiver, .ninjew-blank-waiver * { visibility: visible; }
    .ninjew-waiver-view, .ninjew-blank-waiver {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        background: #fff;
        border: none;
    }
    .ninjew-btn, .ninjew-template-test-banner,
    .ninjew-waiver-thanks, .ninjew-social-extra { display: none !important; }
    input, select, textarea { border: none; background: transparent; }
    .ninjew-signature-canvas { border: 1px solid #000; }
}

@media (max-width: 600px) {
    .ninjew-form-wrap { margin: 1rem; padding: 1rem; }
    .ninjew-signature-canvas { height: 220px; }
    .ninjew-waiver-header { flex-direction: column; align-items: center; text-align: center; }
    .ninjew-waiver-logo { flex: 0 0 auto; max-width: 150px; }
    .ninjew-form-row { flex-direction: column; gap: 0.5rem; }
    .ninjew-form-col-full { flex: 0 0 100%; }
}
