/* STEP 131 — readable typography for Rules page and its links */
.rules-page{
    font-size:16px;
    line-height:2;
}

.rules-hero span{
    font-size:15px !important;
    line-height:1.8 !important;
}
.rules-hero h1{
    font-size:30px !important;
    line-height:1.55 !important;
}
.rules-hero p{
    font-size:16px !important;
    line-height:2.05 !important;
}
.rules-hero small{
    font-size:14px !important;
    line-height:1.9 !important;
}

.rules-nav{
    gap:9px !important;
    margin:18px 0 !important;
}
.rules-nav a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:8px 14px !important;
    font-size:14px !important;
    line-height:1.5 !important;
    border-radius:999px !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.rules-nav a:hover{
    transform:translateY(-1px);
    border-color:#c9a9d7 !important;
    box-shadow:0 7px 18px rgba(75,29,89,.08);
}

.rules-card{
    grid-template-columns:48px 1fr !important;
    gap:16px !important;
    padding:22px !important;
    margin:14px 0 !important;
}
.rules-card>b{
    width:42px !important;
    height:42px !important;
    font-size:17px !important;
}
.rules-card h2{
    font-size:20px !important;
    line-height:1.65 !important;
    margin:0 0 9px !important;
}
.rules-card p{
    font-size:16px !important;
    line-height:2.1 !important;
    margin:8px 0 !important;
}
.rules-card strong{
    font-size:inherit !important;
}
.rules-final{
    padding:19px 21px !important;
    font-size:16px !important;
    line-height:2.05 !important;
}

/* Terms acceptance box used on membership/store registration pages */
.terms-check{
    gap:11px !important;
    padding:14px 15px !important;
    margin:14px 0 !important;
    border-radius:13px !important;
}
.terms-check input{
    flex:0 0 auto;
    width:20px !important;
    height:20px !important;
    margin-top:5px !important;
}
.terms-check label{
    margin:0 !important;
    font-size:15px !important;
    line-height:2 !important;
}
.terms-check a{
    display:inline !important;
    font-size:inherit !important;
    font-weight:950 !important;
    color:#7e22ce !important;
    text-decoration:none !important;
    border-bottom:1px dashed currentColor;
    padding-bottom:1px;
}
.terms-check a:hover{
    color:#5b158f !important;
    border-bottom-style:solid;
}

/* Footer rules link — scoped so other footer links are not changed */
.site-footer .footer-rules-link,
footer .footer-rules-link{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    padding:7px 11px !important;
    border:1px solid rgba(126,34,206,.18) !important;
    border-radius:10px !important;
    background:rgba(126,34,206,.055) !important;
    color:#6b2b80 !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.6 !important;
    text-decoration:none !important;
    transition:all .18s ease !important;
}
.site-footer .footer-rules-link:hover,
footer .footer-rules-link:hover{
    background:rgba(126,34,206,.1) !important;
    border-color:rgba(126,34,206,.3) !important;
    transform:translateY(-1px);
}

@media(max-width:575.98px){
    .rules-page{font-size:15px}
    .rules-hero h1{font-size:24px !important}
    .rules-hero p{font-size:15px !important}
    .rules-hero small{font-size:13px !important}
    .rules-nav a{font-size:13px !important; min-height:38px !important; padding:7px 11px !important}
    .rules-card{grid-template-columns:40px 1fr !important; padding:16px !important; gap:11px !important}
    .rules-card>b{width:36px !important;height:36px !important;font-size:15px !important}
    .rules-card h2{font-size:18px !important}
    .rules-card p{font-size:15px !important;line-height:2.05 !important}
    .rules-final{font-size:15px !important;padding:16px !important}
    .terms-check label{font-size:14px !important}
    .site-footer .footer-rules-link,
    footer .footer-rules-link{font-size:13px !important;padding:7px 10px !important}
}

html[data-theme="dark"] .terms-check a{color:#d8a7f2 !important}
html[data-theme="dark"] .site-footer .footer-rules-link,
html[data-theme="dark"] footer .footer-rules-link{
    color:#e6c8f3 !important;
    border-color:rgba(216,167,242,.22) !important;
    background:rgba(216,167,242,.08) !important;
}
