/* Custom MemberPress Selector — SPSE brand styling (rebuilt 2026-06-11) */
.cmps-container{background:#ffffff !important;border-radius:20px !important;box-shadow:0 6px 30px rgba(26,26,62,0.10) !important;padding:50px 45px !important;max-width:760px !important;margin:0 auto !important;box-sizing:border-box !important;}
.cmps-container *{box-sizing:border-box !important;}
.cmps-header{text-align:center !important;margin-bottom:32px !important;}
.cmps-header h2{font-family:'Playfair Display',serif !important;color:#1a1a3e !important;font-size:30px !important;font-weight:700 !important;margin:0 0 10px !important;}
.cmps-header p{color:#777777 !important;font-size:15px !important;margin:0 !important;}
.cmps-section-title{color:#c6a24f !important;font-size:13px !important;letter-spacing:2.5px !important;text-transform:uppercase !important;text-align:center !important;font-weight:700 !important;margin:0 0 18px !important;font-family:inherit !important;}
.cmps-tiers{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:14px !important;}
@media(max-width:680px){#et-boc .et-l .cmps-tiers{grid-template-columns:1fr !important;}}
.cmps-tier{background:#f9f7f2 !important;border:2px solid #e8e2d4 !important;border-radius:14px !important;padding:22px 14px !important;text-align:center !important;display:flex !important;flex-direction:column !important;transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;}
.cmps-tier:hover{border-color:#c6a24f !important;transform:translateY(-3px) !important;box-shadow:0 8px 20px rgba(26,26,62,0.10) !important;}
.cmps-tier-selected{border-color:#c6a24f !important;background:#fffdf7 !important;box-shadow:0 0 0 1px #c6a24f !important;}
.cmps-tier h3{color:#1a1a3e !important;font-size:14px !important;font-weight:700 !important;line-height:1.4 !important;margin:0 0 8px !important;min-height:40px !important;font-family:inherit !important;}
.cmps-tier-price{font-family:'Playfair Display',serif !important;color:#c6a24f !important;font-size:22px !important;font-weight:700 !important;margin:0 0 12px !important;}
.cmps-tier-description{color:#888888 !important;font-size:12.5px !important;line-height:1.5 !important;flex:1 !important;margin-bottom:14px !important;}
.cmps-tier-select-btn{background:#1a1a3e !important;color:#ffffff !important;border:0 !important;border-radius:8px !important;padding:11px 10px !important;font-size:12.5px !important;font-weight:700 !important;letter-spacing:0.5px !important;cursor:pointer !important;width:100% !important;transition:background .2s ease !important;}
.cmps-tier-select-btn:hover{background:#c6a24f !important;color:#1a1a3e !important;}
.cmps-divider{display:flex !important;align-items:center !important;text-align:center !important;margin:34px 0 !important;color:#bbb29e !important;}
.cmps-divider:before,#et-boc .et-l .cmps-divider:after{content:"" !important;flex:1 !important;height:1px !important;background:#e8e2d4 !important;}
.cmps-divider span{padding:0 18px !important;font-size:13px !important;letter-spacing:2px !important;color:#bbb29e !important;font-weight:700 !important;}
.cmps-step{display:none !important;}
.cmps-step.cmps-step-active{display:block !important;}
.cmps-form h3{font-family:'Playfair Display',serif !important;color:#1a1a3e !important;font-size:22px !important;font-weight:700 !important;text-align:center !important;margin:0 0 20px !important;}
.cmps-amount-input-wrapper{display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;background:#f9f7f2 !important;border:2px solid #e8e2d4 !important;border-radius:14px !important;padding:16px 24px !important;max-width:300px !important;margin:0 auto 22px !important;transition:border-color .2s ease !important;}
.cmps-amount-input-wrapper:focus-within{border-color:#c6a24f !important;background:#ffffff !important;}
.cmps-currency-symbol{font-family:'Playfair Display',serif !important;font-size:30px !important;color:#c6a24f !important;font-weight:700 !important;}
.cmps-amount-input{border:0 !important;background:transparent !important;font-size:32px !important;font-weight:700 !important;color:#1a1a3e !important;width:100% !important;outline:none !important;font-family:'Playfair Display',serif !important;box-shadow:none !important;padding:0 !important;}
.cmps-amount-input::-webkit-outer-spin-button,#et-boc .et-l .cmps-amount-input::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}
.cmps-amount-input[type=number]{-moz-appearance:textfield !important;}
.cmps-btn{display:block !important;width:100% !important;max-width:300px !important;margin:0 auto !important;background:#c6a24f !important;color:#1a1a3e !important;border:0 !important;border-radius:8px !important;padding:15px 36px !important;font-size:14px !important;font-weight:700 !important;letter-spacing:1.5px !important;text-transform:uppercase !important;cursor:pointer !important;transition:background .2s ease, opacity .2s ease !important;}
.cmps-btn:hover{background:#b5913f !important;}
.cmps-btn:disabled{opacity:0.45 !important;cursor:not-allowed !important;}
.cmps-btn-secondary{background:transparent !important;color:#1a1a3e !important;border:2px solid #d8d2c4 !important;}
.cmps-btn-secondary:hover{background:#f9f7f2 !important;border-color:#1a1a3e !important;}
.cmps-payment-type{display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important;margin-bottom:24px !important;}
@media(max-width:560px){#et-boc .et-l .cmps-payment-type{grid-template-columns:1fr !important;}}
.cmps-payment-option{display:block !important;background:#f9f7f2 !important;border:2px solid #e8e2d4 !important;border-radius:14px !important;padding:18px 18px 16px !important;cursor:pointer !important;transition:border-color .2s ease, background .2s ease !important;}
.cmps-payment-option:hover{border-color:#c6a24f !important;}
.cmps-payment-option:has(input:checked){border-color:#c6a24f !important;background:#fffdf7 !important;box-shadow:0 0 0 1px #c6a24f !important;}
.cmps-payment-option input[type=radio]{accent-color:#c6a24f !important;margin-right:8px !important;}
.cmps-payment-label strong{color:#1a1a3e !important;font-size:15px !important;}
.cmps-payment-desc{display:block !important;color:#888888 !important;font-size:12.5px !important;margin-top:4px !important;line-height:1.5 !important;}
.cmps-preview{margin:0 0 24px !important;}
.cmps-preview:empty{display:none !important;}
.cmps-preview-loading{text-align:center !important;color:#888888 !important;font-size:14px !important;padding:12px 0 !important;}
.cmps-preview-box{display:flex !important;gap:18px !important;align-items:flex-start !important;background:#1a1a3e !important;border-radius:14px !important;padding:22px 26px !important;color:rgba(255,255,255,0.85) !important;font-size:14.5px !important;line-height:1.7 !important;border-left:4px solid #c6a24f !important;}
.cmps-preview-icon{font-size:28px !important;line-height:1 !important;}
.cmps-preview-content h4{color:#ffffff !important;font-family:'Playfair Display',serif !important;font-size:17px !important;margin:0 0 6px !important;}
.cmps-preview-amount{font-family:'Playfair Display',serif !important;color:#c6a24f !important;font-size:22px !important;font-weight:700 !important;margin-bottom:6px !important;}
.cmps-preview-message strong,#et-boc .et-l .cmps-preview-message b{color:#c6a24f !important;}
.cmps-actions{display:flex !important;gap:14px !important;justify-content:center !important;}
.cmps-actions .cmps-btn{margin:0 !important;}
.cmps-loading{text-align:center !important;padding:20px 0 !important;}
.cmps-loading p{color:#888888 !important;font-size:14px !important;}
.cmps-spinner{width:36px !important;height:36px !important;border:3px solid #e8e2d4 !important;border-top-color:#c6a24f !important;border-radius:50% !important;margin:0 auto 12px !important;animation:cmps-spin 0.8s linear infinite !important;}
@keyframes cmps-spin{to{transform:rotate(360deg);}}
.cmps-error-message{color:#a33a3a !important;background:#fdf1f1 !important;border:1px solid #e8c4c4 !important;border-radius:10px !important;padding:14px 18px !important;font-size:14px !important;margin-top:16px !important;}
.cmps-error-message:empty{display:none !important;}
@media(max-width:680px){#et-boc .et-l .cmps-container{padding:32px 22px !important;border-radius:16px !important;}.cmps-header h2{font-size:24px !important;}}

/* class-based hiding that outranks the !important display rules above (last rule wins ties) */
#et-boc .et-l .cmps-container .cmps-is-hidden{display:none !important;}

/* SPSE monthly / yearly pledge tabs */
.spse-period-tabs {
    display: flex;
    justify-content: center;
    gap: 0;
    margin: 0 auto 28px auto;
    border: 1px solid #c6a24f;
    border-radius: 999px;
    padding: 4px;
    width: fit-content;
    background: #fff;
}
.spse-period-tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: #101c30;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 10px 30px;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1;
}
.spse-period-tab.is-active {
    background: #c6a24f;
    color: #101c30;
}
.spse-period-tab:focus-visible {
    outline: 3px solid #101c30;
    outline-offset: 2px;
}

/* Default view before / without JS: only the featured monthly tiers.
   The JS adds .spse-tabs-ready to the container once it takes over, so a
   JS failure degrades to the correct monthly view rather than dumping
   every product on the page. */
.cmps-container:not(.spse-tabs-ready) .cmps-tier[data-tier-featured="0"],
.cmps-container:not(.spse-tabs-ready) .cmps-tier[data-tier-period="years"] {
    display: none !important;
}

/* The pledge page styles .cmps-tier with display:flex !important, so an inline
   style from JS cannot hide a card. Hiding is done with this class instead. */
.cmps-tier.spse-hidden { display: none !important; }

/* Tab sizing and placement.
   The pledge page zeroes margins on children of .cmps-tiers-section with
   !important, which is why the first version of this block rendered
   left-aligned with no gap despite margin: 0 auto 28px. Declared with
   !important here rather than relying on the shorthand winning.
   Full width of the card grid, split 50/50, for a much larger tap target. */
.spse-period-tabs {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 0 26px 0 !important;
    padding: 4px !important;
}
.spse-period-tab {
    flex: 1 1 50% !important;
    text-align: center !important;
    padding: 14px 0 !important;
}

/* Inactive half: a soft cream fill and a hairline gap, so the pair reads as two
   clickable halves rather than one button beside empty space. #3a3550 on #f2eee4
   measures about 10:1, so the resting state stays clearly readable and does not
   look disabled. */
.spse-period-tabs {
    gap: 4px !important;
}
.spse-period-tab:not(.is-active) {
    background: #f2eee4 !important;
    color: #3a3550 !important;
}
.spse-period-tab:not(.is-active):hover {
    background: #ebe4d3 !important;
    color: #101c30 !important;
}
