/* Shared chapter palette, including native WordPress and WooCommerce templates. */
.bk-page-intro h1 .bk-rally-subtitle { font-size: .55em; font-weight: 400; letter-spacing: 0; }
.bk-heaven-banner { border-block: 4px solid #6ec1e4; }
.bk-heaven-banner img { display: block; width: 100%; height: auto; }
.bk-heaven-page { padding-block: 36px; }
.bk-heaven-page .bk-page-intro { padding: 28px; margin-bottom: 24px; border-top: 3px solid #67c4de; }
.bk-heaven-description { max-width: 760px; line-height: 1.7; }
.bk-heaven-frame { display: block; width: 100%; height: 1050px; height: max(700px, 85svh); border: 1px solid #58728e; border-radius: 4px; background: #fff; }
.bk-heaven-source { margin-top: 18px; font-size: 14px; line-height: 1.7; }
body.bk-inner-design {
    --theme-text-color: #e4eaf1;
    --theme-heading-color: #fff;
    --theme-link-initial-color: #83d5ee;
    --theme-link-hover-color: #c3f0fd;
    --theme-background-color: #0b1420;
    --theme-border-color: #38516c;
    --theme-button-background-initial-color: #78d0eb;
    --theme-button-background-hover-color: #b6ecfb;
    --theme-button-text-initial-color: #101d2d;
    --theme-button-text-hover-color: #101d2d;
    background: #0b1420; color: #e4eaf1;
}
.bk-inner-design main { background: #0b1420; }
.bk-inner-design main :is(h1,h2,h3,h4,h5,h6) { color: #fff; text-shadow: none; }
.bk-inner-design main a:not(.button):not(.elementor-button):not(.wp-element-button) { color: #83d5ee; }
.bk-inner-design .bk-page-intro { padding: 38px max(24px, calc((100% - 1140px) / 2)); background: #101d2d; border-bottom: 1px solid #38516c; }
.bk-inner-design .bk-page-intro p { color: #83d5ee; font-size: 11px; font-weight: 700; letter-spacing: .16em; margin: 0 0 10px; }
.bk-inner-design .bk-page-intro h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.15; letter-spacing: -.03em; margin: 0; }
.bk-inner-design .elementor .elementor-element.bk-page-section { background-color: #101d2d !important; background-blend-mode: multiply; padding: 28px 24px; border-color: #38516c !important; }
.bk-inner-design .bk-page-section > .elementor-background-overlay { opacity: .16 !important; background-size: cover; }
.bk-inner-design .bk-page-section > .elementor-container { max-width: 1160px; }
.bk-inner-design .elementor .elementor-widget-text-editor { color: #e4eaf1 !important; text-shadow: none !important; line-height: 1.8; }
.bk-inner-design .bk-page-section .elementor-widget-text-editor > .elementor-widget-container {
    background: #142438; border: 1px solid #36506b; border-top: 3px solid #67c4de;
    padding: clamp(20px, 3vw, 36px); border-radius: 4px; text-align: left;
}
.bk-inner-design .elementor-widget-text-editor :is(p,li,span) { color: inherit; }
.bk-inner-design .elementor .elementor-heading-title { color: #fff !important; }
.bk-inner-design .bk-page-section .elementor-widget-image img { border-radius: 5px; box-shadow: 0 12px 30px #0005; }
.bk-inner-design .bk-page-section .elementor-widget-button .elementor-button,
.bk-inner-design main :is(button[type="submit"], .button, .wp-element-button) {
    background: #78d0eb; color: #101d2d; border-radius: 4px; font-weight: 650;
}
.bk-inner-design main :is(button[type="submit"], .button, .wp-element-button):hover { background: #b6ecfb; color: #101d2d; }
/* Keep the form surface and its validation messages legible. */
.bk-inner-design div.wpforms-container,
.bk-inner-design .wpforms-form {
    background: #142438; border: 1px solid #36506b; border-top: 3px solid #67c4de;
    padding: clamp(20px, 3vw, 36px); border-radius: 4px;
}
.bk-inner-design div.wpforms-container .wpforms-form { background: transparent; border: 0; padding: 0; }
.bk-inner-design div.wpforms-container.wpforms-container-full {
    background: #142438 !important; padding: clamp(20px, 3vw, 36px) !important;
    border: 1px solid #36506b !important; border-top: 3px solid #67c4de !important;
}
.bk-inner-design div.wpforms-container .wpforms-form :is(.wpforms-field-label,.wpforms-field-description,.wpforms-field-limit-text) { color: #e4eaf1; }
.bk-inner-design main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) {
    background-color: #f5f7fa; color: #142438; border: 1px solid #8fa3b8; border-radius: 4px;
}
.bk-inner-design main :is(input,select,textarea):focus { outline: 3px solid #67c4de; outline-offset: 2px; }
.bk-inner-design div.wpforms-container .wpforms-form label.wpforms-error { color: #ffb8b8; }
/* Membership rules are long: use a sensible reading width. */
.bk-inner-design.page-id-1012 .bk-page-section > .elementor-container { max-width: 1000px; }
.bk-inner-design.page-id-1012 .elementor-widget-text-editor { font-size: 16px; line-height: 1.8 !important; }
/* Gallery years and officer headings retain the original interactions. */
.bk-inner-design.page-id-199 .bk-page-section:has(.elementor-widget-heading) { border-block: 1px solid #38516c; }
/* Album embeds otherwise retain a 480px height in every column and on phones. */
.bk-inner-design.page-id-199 main .elementor-top-section:not(:has(img[src*="FB-Banner"])) {
    background-color: #101d2d !important; background-blend-mode: multiply;
    padding: 28px 24px; border-color: #38516c !important;
}
.bk-inner-design.page-id-199 main .elementor-top-section:not(:has(img[src*="FB-Banner"])) > .elementor-container { max-width: 1160px; }
.bk-inner-design.page-id-199 main .elementor-top-section:has(img[src*="FB-Banner"]) {
    padding: 0 !important; width: 100%;
}
.bk-inner-design.page-id-199 main .elementor-top-section:has(img[src*="FB-Banner"]) > .elementor-container { max-width: none; width: 100%; }
.bk-inner-design.page-id-199 main .elementor-top-section:has(img[src*="FB-Banner"]) .elementor-widget-wrap { padding: 0; }
.bk-inner-design.page-id-199 main img[src*="FB-Banner"] { display: block; width: 100%; height: auto; }
.bk-inner-design.page-id-199 :is(.pa-carousel-widget,.jx-carousel-widget) {
    width: 100% !important; height: auto !important; aspect-ratio: 4 / 3;
    min-width: 0; overflow: hidden; border: 1px solid #38516c; border-radius: 5px;
}
.bk-inner-design.page-id-199 :is(.pa-carousel-widget,.jx-carousel-widget) iframe {
    display: block; width: 100% !important; height: 100% !important;
}
.bk-inner-design .elementor-tab-title,
.bk-inner-design .elementor-tab-content { background: #142438 !important; color: #e4eaf1 !important; border-color: #36506b !important; }
.bk-inner-design.page-id-735 .bk-page-section .elementor-widget-image img {
    background: #f5f7fa; padding: 8px; border: 1px solid #58728e;
}
/* Product photography keeps its original background; details use dark cards. */
.bk-inner-design .products li.product {
    background: #142438; border: 1px solid #36506b; border-top: 3px solid #67c4de;
    border-radius: 5px; padding: 16px; overflow-wrap: anywhere;
}
.bk-inner-design .products :is(.woocommerce-loop-product__title,.price) { color: #fff; }
.bk-inner-design .products .ct-woo-card-actions { padding-top: 12px; }
.bk-inner-design .woocommerce-result-count { color: #bacbdb; }
.bk-inner-design .woocommerce-tabs :is(.panel,ul.tabs) { color: #e4eaf1; border-color: #36506b; }
.bk-inner-design .woocommerce :is(.shop_table,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-MyAccount-content) {
    background: #142438; border-color: #36506b; color: #e4eaf1;
}
.bk-inner-design .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { background: #20344b; color: #fff; }
.bk-inner-design .woocommerce-MyAccount-navigation a { border-color: #36506b; }
.bk-inner-design article.entry-card { background: #142438; border: 1px solid #36506b; border-radius: 5px; }
.bk-inner-design.single-post .entry-content,
.bk-inner-design .entry-content:not(:has(.elementor)):not(:has(.woocommerce)) {
    background: #142438; padding: clamp(20px, 3vw, 40px); border-radius: 5px;
}
.bk-inner-design #footer { --theme-text-color: #c9d7e6; --theme-link-initial-color: #83d5ee; background: #101d2d; }
.bk-inner-design #footer [data-row] { background: #101d2d; }
@media (min-width: 1000px) {
    .bk-inner-design .products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 690px) and (max-width: 999px) {
    .bk-inner-design .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* A light sign-in panel contrasts with the dark chapter artwork. */
body.login #login,
body.login .language-switcher { background: #f7f9fc; color: #263747; border-top: 3px solid #67c4de; }
body.login #login label { color: #263747; }
body.login #login :is(#nav a, #backtoblog a, .privacy-policy-link) { color: #185779; }
body.login #login .button-primary { background: #155b86; color: #fff; border-color: #155b86; }
body.login .language-switcher .button { background: #155b86; color: #fff; border-color: #155b86; }
body.login #login .message,
body.login #login #login_error { background: #fff; color: #263747; }
@media (max-width: 767px) {
    .bk-inner-design.page-id-199 main .elementor-top-section:not(:has(img[src*="FB-Banner"])) { padding: 22px 14px; }
    .bk-inner-design .elementor .elementor-element.bk-page-section { padding: 22px 14px; }
    .bk-inner-design .bk-page-intro { padding: 28px 20px; }
    .bk-inner-design .products li.product { padding: 10px; }
    .bk-inner-design div.wpforms-container { padding: 20px 14px; }
    .bk-inner-design div.wpforms-container.wpforms-container-full { padding: 22px 16px !important; }
    .bk-inner-design .bk-page-section .elementor-widget-text-editor > .elementor-widget-container { padding: 22px 18px; }
    .bk-inner-design main :is(input,select,textarea) { font-size: 16px; }
    .bk-inner-design .wpforms-form :is(input.wpforms-field-medium,select.wpforms-field-medium,textarea) { max-width: 100% !important; width: 100% !important; }
    .bk-inner-design .bk-page-section .elementor-heading-title { overflow-wrap: anywhere; }
    .bk-inner-design main :is(.button,.elementor-button,button[type="submit"]) { min-height: 44px; }
    .bk-inner-design .woocommerce-product-gallery { margin-bottom: 28px; }
    .bk-inner-design .products { gap: 14px; }
    .bk-inner-design .products li.product { font-size: 14px; }
}
@media (max-width: 359px) {
    .bk-inner-design .products { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .bk-inner-design *, .home * { scroll-behavior: auto !important; }
}
