@font-face { font-family: 'LO Poppins'; src: url('../../uploads/2026/01/poppins-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'LO Playfair'; src: url('../../uploads/2026/01/playfair-display-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; }
.lo-members-section { padding: clamp(32px, 5vw, 80px) 24px; background: #fff7e8; color: #091808; font-family: 'LO Poppins', sans-serif; }
.lo-members-section h1, .lo-members-section h2, .lo-members-section h3 { font-family: 'LO Playfair', serif; font-weight: 700; line-height: 1.15; text-wrap: balance; }
.lo-members-section h2 { font-size: clamp(28px, 3.4vw, 48px); }
.lo-members-section h3 { font-size: clamp(24px, 2vw, 30px); }
.lo-members-section .brxe-text-basic, .lo-members-section .brxe-shortcode { width: 100%; }
.lo-members-section > .brxe-container { width: 100%; max-width: 1460px; gap: 24px; }
.lo-members-hero { background: #fde739; color: #091808; border-radius: 12px; padding-top: 140px; }
.lo-members-hero > .brxe-container { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 72px); }
.lo-members-copy { gap: 24px; min-width: 0; }
.lo-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.lo-benefits-grid > .brxe-block { min-width: 0; gap: 16px; border-top: 1px solid #091808; padding-top: 24px; }
.lo-members-copy h1 { font-size: clamp(36px, 5vw, 72px); line-height: 1.08; }
.lo-members-hero img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }
.lo-member-panel__badge { font-weight: 600; }
.lo-button, .lo-members-cta { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; background: #091808; color: #fff7e8; border: 1px solid #091808; border-radius: 999px; font-weight: 600; text-decoration: none; cursor: pointer; }
.lo-button:hover, .lo-members-cta:hover { background: #fff7e8; color: #091808; }
.lo-link, .lo-benefit-note a { text-decoration: underline; text-underline-offset: 4px; }
.lo-benefit-note { padding: 16px; background: #fde739; border-radius: 8px; color: #091808; }
.lo-reviews-section .brxe-product-reviews { width: 100%; }
.lo-reviews-section .woocommerce-Reviews-title { display: none; }
.lo-reviews-section #reviews #comments, .lo-reviews-section #review_form_wrapper { float: none; width: 100%; padding: 0; }
.lo-reviews-section #review_form_wrapper { margin-top: 32px; }
.lo-reviews-section textarea { min-height: 140px; }
.lo-members-section :focus-visible, .lo-review-form :focus-visible, .lo-button:focus-visible { outline: 3px solid #091808; outline-offset: 4px; }
@media (max-width: 767px) { .lo-members-hero > .brxe-container, .lo-benefits-grid { grid-template-columns: minmax(0, 1fr); } .lo-members-section { padding: 32px 20px; } .lo-members-hero { padding-top: 110px; } }

/* Native Bricks account forms, using the same shell as the home page. */
.lo-account-design { width:100%; padding:160px 24px 96px; background:#fff7e8; font-family:'LO Poppins',sans-serif; color:#091808; }
.lo-account-design > .brxe-container { width:100%; max-width:1592px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,7vw,112px); align-items:start; }
.lo-account-design h1,.lo-account-design h2 { font-family:'LO Playfair',serif; line-height:1.08; letter-spacing:-.025em; }
.lo-account-design h1 { font-size:clamp(44px,5vw,76px); }
.lo-account-design h2 { font-size:34px; }
.lo-account-design .brxe-text-basic { width:100%; line-height:1.8; }
.lo-account-design .lo-auth-intro { gap:28px; padding:36px 0; }
.lo-account-design .lo-auth-forms { gap:32px; min-width:0; }
.lo-account-design .lo-auth-panel { gap:20px; padding:36px; background:#ede8dc; border-radius:12px; min-width:0; scroll-margin-top:110px; }
.lo-account-design .lo-auth-panel:only-child { grid-column:1/-1; }
.lo-account-design form,.lo-account-design .brxe-woocommerce-account-form-lost-password,.lo-account-design .brxe-woocommerce-account-form-reset-password { width:100%; }
.lo-account-design form { padding:0; margin:0; border:0; background:transparent; }
.lo-account-design .form-row { margin-bottom:20px; }
.lo-account-design label { display:block; font-size:14px; margin-bottom:8px; }
.lo-account-design input:not([type=checkbox]):not([type=hidden]) { width:100%; min-height:54px; background:#fff7e8; border:1px solid #84917c; border-radius:4px; padding:12px 14px; color:#091808; font-size:16px; }
.lo-account-design input[type=checkbox] { accent-color:#091808; }
.lo-account-design button[type=submit] { border:0; border-radius:32px; padding:16px 28px; background:#091808; color:#fff7e8; font-size:17px; min-height:54px; cursor:pointer; }
.lo-account-design a { text-decoration:underline; text-underline-offset:4px; }
.lo-account-design :focus-visible { outline:2px solid #091808; outline-offset:4px; }
.lo-account-design .woocommerce-privacy-policy-text { font-size:13px; }
@media(max-width:767px){ .lo-account-design { padding:112px 24px 56px; } .lo-account-design > .brxe-container { grid-template-columns:minmax(0,1fr); } .lo-account-design .lo-auth-panel { padding:24px; } .lo-account-design .lo-auth-intro { padding:0; } }
@media(prefers-reduced-motion:no-preference){ html { scroll-behavior:smooth; } }
body.logged-in #brxe-cgnzpe { padding:144px 24px 96px; max-width:1640px; }
#brxe-ldvzkz { width:100%; }

/* Product reviews retain WooCommerce moderation and the native Bricks element. */
.lo-reviews-section { padding:88px 24px; background:#ede8dc; }
.lo-reviews-section > .brxe-container { max-width:1592px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:clamp(32px,7vw,112px); align-items:start; }
.lo-reviews-intro { gap:24px; }
.lo-reviews-intro .brxe-text-basic { line-height:1.8; }
.lo-reviews-intro .lo-review-kicker { font-size:12px; letter-spacing:.08em; }
.lo-reviews-intro .lo-review-subtitle { font-weight:600; font-size:18px; }
.lo-reviews-section #reviews #comments { margin:0; }
.lo-reviews-section #reviews .commentlist { padding:0; margin:0; list-style:none; }
.lo-reviews-section #reviews .commentlist li { margin:0 0 20px; padding:28px; background:#fff7e8; border-radius:12px; }
.lo-reviews-section #reviews .commentlist .comment-text { border:0; border-radius:0; margin:0; padding:0; }
.lo-reviews-section #reviews .commentlist img.avatar { display:none; }
.lo-reviews-section #reviews .meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:14px; margin:0 0 22px; }
.lo-reviews-section #reviews .star-rating { color:#091808; float:none; margin:0 0 16px; }
.lo-reviews-section #reviews .description { font-size:16px; line-height:1.8; }
.lo-reviews-section #reviews .description p:last-child { margin-bottom:0; }
.lo-reviews-section .woocommerce-noreviews { padding:32px; background:#fff7e8; border-radius:12px; margin:0; }
.lo-reviews-section .woocommerce-verification-required { margin:24px 0 0; font-size:14px; line-height:1.8; }
.lo-reviews-section #review_form_wrapper { padding:28px; border:1px solid #b6beae; border-radius:12px; }
.lo-reviews-section .comment-reply-title { display:block; font-family:'LO Playfair',serif; font-size:28px; margin-bottom:20px; }
.lo-reviews-section #commentform label { display:block; margin-bottom:8px; font-size:14px; }
.lo-reviews-section #commentform textarea { padding:16px; border:1px solid #84917c; background:#fff7e8; border-radius:4px; font:inherit; }
.lo-reviews-section #commentform #submit { padding:16px 28px; border-radius:30px; color:#fff7e8; background:#091808; }
.lo-reviews-section .lo-cta { font-family:'LO Playfair',serif; }
@media(max-width:767px){ .lo-reviews-section { padding:56px 24px; } .lo-reviews-section > .brxe-container { grid-template-columns:minmax(0,1fr); gap:32px; } .lo-reviews-section #reviews .commentlist li { padding:24px; } }
/* Keep the existing homepage carousel controls inside their image. */
body.home #brxe-vqdujr .bricks-swiper-button-next,
body.home #brxe-vqdujr .bricks-swiper-button-prev { transform:translateY(-50%); }

/* Review reading hierarchy: author, rating, sample status, then the review. */
.lo-reviews-section { background:#fff7e8; }
.lo-reviews-section > .brxe-container { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); border-top:1px solid #c6cbbc; padding-top:48px; }
.lo-reviews-section #reviews .commentlist li { padding:36px; background:#f0ebdf; border:1px solid #d9dccf; border-radius:8px; }
.lo-reviews-section #reviews .commentlist .comment-text { display:flex; flex-direction:column; gap:0; border:0; padding:0; }
.lo-reviews-section #reviews .commentlist .comment-text .meta { order:0; display:flex; margin:0 0 18px; padding:0; border:0; gap:6px 16px; }
.lo-reviews-section #reviews .woocommerce-review__author { font-size:17px; color:#091808; }
.lo-reviews-section #reviews .woocommerce-review__published-date { font-size:12px; color:#53614c; margin-left:auto; }
.lo-reviews-section #reviews .woocommerce-review__dash { display:none; }
.lo-reviews-section #reviews .commentlist .comment-text .star-rating { order:1; float:none; align-self:flex-start; margin:0 0 24px; color:#344e24; font-size:16px; }
.lo-reviews-section #reviews .commentlist .comment-text .description { order:2; padding:0; border:0; font-size:17px; line-height:1.85; }
.lo-review-sample { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-bottom:18px; }
.lo-review-sample > span { display:inline-block; padding:4px 10px; border:1px solid #9ca88f; border-radius:4px; color:#344e24; font-size:12px; line-height:1.6; }
.lo-review-sample small { font-size:12px; color:#53614c; }
.lo-reviews-section #reviews .woocommerce-verification-required { padding:20px 0; border-top:1px solid #c6cbbc; color:#53614c; }
@media(max-width:767px){
 .lo-reviews-section > .brxe-container { grid-template-columns:minmax(0,1fr); padding-top:32px; }
 .lo-reviews-section #reviews .commentlist li { padding:24px; }
 .lo-reviews-section #reviews .woocommerce-review__published-date { margin-left:0; width:100%; }
}
.lo-reviews-section #reviews .commentlist .comment-text .star-rating { position:relative; inset:auto; flex-shrink:0; }

/* A quiet spectrum frame with a high-contrast label. */
.lo-rainbow-join.lo-button { padding:16px 28px; color:#fff7e8; border:2px solid transparent; background:linear-gradient(#091808,#091808) padding-box,linear-gradient(110deg,#db7e79,#e7ba77,#e5de88,#a5cfa0,#8bbecf,#aaa1d1,#d89cbc) border-box; box-shadow:0 5px 18px #09180814; }
.lo-rainbow-join.lo-button:hover { background:linear-gradient(#20371c,#20371c) padding-box,linear-gradient(110deg,#db7e79,#e7ba77,#e5de88,#a5cfa0,#8bbecf,#aaa1d1,#d89cbc) border-box; color:#fff7e8; }
.lo-cancel-confirm { padding:32px; border:1px solid #aab49e; background:#fff7e8; border-radius:12px; margin:32px 0; scroll-margin-top:120px; }
.lo-cancel-confirm h2 { font:700 34px/1.15 'LO Playfair',serif; margin:12px 0 24px; }
.lo-cancel-confirm p { width:100%; line-height:1.8; }
.lo-cancel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:24px; }
.lo-cancel-confirm :focus-visible { outline:2px solid #091808; outline-offset:4px; }
@media(max-width:767px){ .lo-cancel-confirm { padding:24px; } }

.lo-reviews-section #reviews .commentlist li { background:#fff; border-color:#e4e7df; }
.lo-reviews-section #reviews .commentlist .comment-text .star-rating { color:#e5b900; }
.lo-reviews-section #reviews .commentlist .star-rating::before { color:#d2d8ca; }
.lo-reviews-section #reviews .commentlist.lo-review-scroll { overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#aeb99e #f3f5ef; padding:5px 12px 5px 3px; }
.lo-reviews-section #reviews .commentlist.lo-review-scroll:focus-visible { outline:2px solid #526641; outline-offset:5px; }
@media(prefers-reduced-motion:no-preference){
 .lo-reviews-section #reviews .commentlist li { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
 .lo-reviews-section #reviews .commentlist li:hover { transform:translateY(-2px); border-color:#bbc5b0; box-shadow:0 6px 16px #0918080b; }
}

/* Shared page canvas. */
body.bricks-is-frontend { background-color:#FFF7E8; }
/* Use one precisely aligned star glyph layer for both empty and filled ratings. */
.lo-reviews-section #reviews .commentlist .comment-text .star-rating { width:6.2em; height:1.3em; font:400 18px/1.3 Arial,sans-serif; overflow:hidden; }
.lo-reviews-section #reviews .star-rating::before,
.lo-reviews-section #reviews .star-rating > span::before { content:'★★★★★'; position:absolute; inset:0 auto auto 0; margin:0; padding:0; font:400 18px/1.3 Arial,sans-serif; letter-spacing:.12em; white-space:nowrap; }
.lo-reviews-section #reviews .star-rating::before { color:#d7ddce; }
.lo-reviews-section #reviews .star-rating > span { position:absolute; top:0; left:0; height:100%; padding-top:1.3em; overflow:hidden; color:#fde739; }
.lo-reviews-section #reviews .star-rating > span::before { color:#fde739; }
