#upra-membership-form { background:#fff; max-width:900px; margin:20px auto; padding:20px; border-radius:8px; border-top:6px solid #8B0000; box-shadow:0 2px 8px rgba(0,0,0,0.15); }
h2 { margin-top:30px; }
label { display:block; margin:12px 0 4px; font-weight:bold; }
input, select, textarea { width:100%; padding:10px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }
.flex { display:flex; gap:20px; }
.flex > div { flex:1; }
.checkbox-group { display:flex; flex-wrap:wrap; gap:12px; }
.checkbox-group label { font-weight:normal; display:flex; align-items:center; gap:6px; }
button { padding:12px 20px; background:#8B0000; color:#fff; border:none; border-radius:5px; cursor:pointer; font-weight:bold; }
button:hover { background:#A30000; }
.smallprint { font-size: 0.8rem; color:#444; line-height:1.3; margin-top:8px; }
.events-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:10px 20px; margin-bottom:20px; }
.events-grid label { font-weight:normal; }
.section-divider { border-top:3px solid #8B0000; margin:30px 0 20px; }
.section-title { font-size:1.3rem; font-weight:bold; margin-bottom:10px; padding-bottom:5px; border-bottom:2px solid #ccc; }
.accordion-section { margin-bottom:20px; scroll-margin-top:100px; }
.accordion-header { cursor:pointer; padding:10px 0; display:flex; align-items:center; gap:10px; position:relative; }
.accordion-header::before {
content: "";
display: inline-block;
width: 26px;
height: 26px;
margin-right: 6px;
background-image: url('UPRA-MAIN-LOGO-VECTOR-2022.svg');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
filter: brightness(0) invert(1);
}
.accordion-header::after { content:"▾"; margin-left:auto; font-size:1.2rem; }
.accordion-header.active::after { content:"▴"; }
.accordion-content { transition:max-height 0.35s ease, padding 0.25s ease; overflow:hidden; max-height:none; }
.form-title-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; gap:10px; }
.form-title { font-size:1.6rem; font-weight:bold; color:#8B0000; }
.print-btn { background:#555; padding:8px 14px; font-size:0.9rem; border-radius:4px; white-space:nowrap; }
.print-btn:hover { background:#333; }
.cc-flex { display:flex; gap:20px; }
.cc-flex > div { flex:1; }
.payment-alt { margin-top:20px; }
.apple-pay-btn, .google-pay-btn {
width:100%;
padding:12px;
margin-top:10px;
font-size:1.1rem;
border:none;
border-radius:6px;
cursor:pointer;
background:#8B0000;
color:#fff;
font-weight:bold;
box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
.google-pay-btn { background:#A30000; }
.sig-pad { border:1px solid #ccc; border-radius:6px; padding:10px; margin-bottom:15px; background:#fafafa; }
.sig-canvas { width:100%; height:150px; background:white; border:1px dashed #555; border-radius:4px; touch-action:none; }
.sig-clear { margin-top:10px; background:#A30000; color:#fff; border:none; padding:8px 12px; border-radius:4px; cursor:pointer; }
.sig-clear:hover { background:#8B0000; }
.info-tip { display:inline-block; width:18px; height:18px; border-radius:50%; background:#8B0000; color:#fff; text-align:center; font-size:0.75rem; line-height:18px; margin-left:6px; cursor:help; }
@media (max-width: 600px) {
.flex { flex-direction: column; gap: 10px; }
#upra-membership-form { padding: 15px; margin: 10px; }
h1 { font-size: 1.4rem; }
h2 { font-size: 1.1rem; margin-top: 20px; }
label { font-size: 0.95rem; }
input, select, textarea { padding: 8px; font-size: 1rem; }
button { width: 100%; padding: 14px; font-size: 1.1rem; }
.checkbox-group { flex-direction: column; gap: 8px; }
.accordion-content { max-height:0; padding-top:0; padding-bottom:0; }
.accordion-content.open { max-height:1000px; padding-top:10px; padding-bottom:10px; }
.form-title-row { flex-direction:column; align-items:flex-start; }
.print-btn { align-self:stretch; text-align:center; }
}
@media print {
body { padding:0; background:#fff; }
#upra-membership-form { box-shadow:none; border:none; margin:0; max-width:100%; }
.print-btn { display:none; }
}