/* Scoped to the three membership templates. */
.opa-membership-page .content { width: 100%; }
.opa-membership-page .entry { max-width: 900px; margin-inline: auto; }
.opa-membership-page .entry h1.entry-title { text-align: left; font-size: 28px; margin-bottom: .5em; }
.opa-membership-page .entry-content p { margin-bottom: 1.25em; }
.opa-membership-page .opa-membership-options { list-style: none; margin: 0 0 2em 2em; padding: 0; }
.opa-membership-page .opa-membership-options li { list-style: none; margin-bottom: 1.5em; }
.opa-membership-page .opa-membership-options a { color: inherit; text-decoration: underline; }
.opa-membership-page details { margin: .6em 0; }
.opa-membership-page summary { display: list-item; cursor: pointer; text-transform: uppercase; }
.opa-membership-page summary::marker { color: #a39272; }
.opa-membership-page summary:focus-visible { outline: 2px solid #8a7449; outline-offset: 5px; }
.opa-membership-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3em; padding: 1.5em 0; }
.opa-membership-columns h3 { font-size: 1.05em; margin: 1.5em 0 .5em; }
.opa-membership-columns h3:first-child { margin-top: 0; }
.opa-membership-page .opa-membership-price { color: #947c4a; font-weight: 700; font-size: 1.25em; margin: 2em 0; }
.opa-membership-page button.opa-membership-button { float: none; display: inline-block; background: transparent; border: 2px solid #cfc4b1; border-radius: 30px; color: #8a7449; padding: .65em 1.4em; font: inherit; font-weight: 700; text-transform: none; letter-spacing: normal; }
.opa-membership-page .opa-membership-button:hover, .opa-membership-page .opa-membership-button:focus-visible { background: #8a7449; border-color: #8a7449; color: #fff; }
.opa-membership-page button.opa-membership-button:disabled { background: transparent; color: #8a7449; border: 2px solid #cfc4b1; opacity: .65; cursor: not-allowed; }
@media (max-width: 767px) { .opa-membership-columns { grid-template-columns: 1fr; gap: 1em; } .opa-membership-page .opa-membership-options { margin-left: 1em; } }

.opa-membership-page .opa-membership-choices { margin: 2em 0 0 1.5em; padding: 0; }
.opa-membership-page .opa-membership-choices li { margin-bottom: 1.5em; }
.opa-membership-page .opa-membership-choices .opa-membership-price { margin: .5em 0; }
.opa-membership-page .opa-membership-button + p { clear: both; margin-top: 1em; }
