/*
 * JSOC look for the public pages (membership sign-up, events, donate, password pages):
 * soft rounded cards on a warm light background, the same as the members area.
 * Loaded after the theme styles in layouts/frontbase_view.php; restyles only.
 */
:root { --jsoc-orange: #F26522; --jsoc-orange-dark: #c9480f; --jsoc-cream: #fff6ef; --jsoc-cream-2: #ffeadb; --jsoc-line: #ece2d9; --jsoc-bg: #faf7f4; }

body { background: var(--jsoc-bg); }
#mainNav { background: #fff; }

/* Boxes the pages draw with an inline border: cards */
[style*="border: solid 1px"], [style*="border:solid 1px"], [style*="border: 1px solid"], .border.border-1, .right-colum1, .left-column, .right-column {
	border: 1px solid var(--jsoc-line) !important; border-radius: 16px; background: #fff; box-shadow: 0 2px 14px rgba(0, 0, 0, .05);
}
/* the orange-edged summary boxes (event registration) */
[style*="#F76926"] { border-color: var(--jsoc-cream-2) !important; }

/* Headings and labels in Montserrat, like the members area */
.page-section h4, .page-section h5, .page-section h6, .page-section label, .page-section .form-label,
.page-section b, .page-section strong { font-family: Montserrat, sans-serif; }
.page-section label, .page-section .form-label { font-weight: 600; font-size: .95rem; color: #333; }

/* Inputs */
.page-section .form-control, .page-section .form-select, .page-section select {
	border-radius: 10px; border: 1px solid #e3dad2; font-family: Montserrat, sans-serif; font-size: .95rem; padding: .6rem .8rem;
}
.page-section .form-control::placeholder { font-weight: 400 !important; color: #a39b94 !important; }
.page-section .form-check-input:checked { background-color: var(--jsoc-orange); border-color: var(--jsoc-orange); }
.page-section .form-check-input:focus { border-color: var(--jsoc-orange); box-shadow: 0 0 0 3px rgba(242, 101, 34, .15); }
.page-section input[type=radio], .page-section input[type=checkbox] { accent-color: var(--jsoc-orange); }
.page-section .form-control:focus, .page-section .form-select:focus, .page-section select:focus {
	border-color: var(--jsoc-orange); box-shadow: 0 0 0 3px rgba(242, 101, 34, .15); outline: 0;
}

/* Buttons */
.page-section .btn { font-family: Montserrat, sans-serif; font-weight: 700; border-radius: 10px; text-transform: none; }
.page-section .btn-primary, .page-section .btn-warning { background: var(--jsoc-orange); border-color: var(--jsoc-orange); color: #fff; }
.page-section .btn-primary:hover, .page-section .btn-warning:hover { background: var(--jsoc-orange-dark); border-color: var(--jsoc-orange-dark); color: #fff; }

/* Tables (order review) */
.page-section .table-bordered, .page-section .table-bordered td, .page-section .table-bordered th { border-color: var(--jsoc-line); }
.page-section .table thead th { background: var(--jsoc-cream); font-family: Montserrat, sans-serif; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }

/* Event list cards */
.page-section a h5, .page-section h5 a { color: var(--jsoc-orange-dark); }

@media (max-width: 767.98px) {
	[style*="border: solid 1px"], [style*="border:solid 1px"], [style*="border: 1px solid"], .right-colum1 { padding: 16px !important; }
}

/* Footer: a quiet light line, like the members area, instead of the black band */
footer.footer { background: transparent !important; border-top: 1px solid var(--jsoc-line); }
footer.footer, footer.footer div { color: #8a7f76 !important; text-align: center; font-family: Montserrat, sans-serif; font-size: .9rem; }
