/* Lucid Healing members' site. Most styling lives inline in each page (copied from the design);
this file holds the shared rules and the phone adjustments. */
html.auth-wait body { visibility: hidden; }
body { margin: 0; background: #f7f3ea; font-family: Outfit, sans-serif; color: #1f2c33; }
a { color: #014561; }
a:hover { color: #0b2f40; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #d4b062; outline-offset: 2px; }
[hidden] { display: none !important; }
img { max-width: 100%; }
input[type=checkbox] { accent-color: #014561; }
.lh-card { transition: box-shadow .2s, transform .2s; }
a.lh-card:hover { box-shadow: 0 14px 34px rgba(1,69,97,.12); transform: translateY(-2px); }
.load-error { margin: 0; padding: 14px 20px; background: #f6e3df; color: #7a2a1d; text-align: center; font-size: 15px; visibility: visible; }
.msg { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 15px; line-height: 1.5; }
.msg.err { background: #f6e3df; color: #7a2a1d; }
.msg.info { background: #e5f0e8; color: #24563f; }
.soon-tag { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 2px; color: #7a5f14; background: #f0e4bd; border-radius: 999px; padding: 5px 12px; }
button[disabled] { cursor: default; }
@media (max-width: 760px) {
.wrap { padding-left: 16px !important; padding-right: 16px !important; }
h1.big { font-size: 38px !important; }
h2.big { font-size: 28px !important; }
header nav { gap: 0 18px !important; font-size: 15px !important; order: 3; justify-content: flex-start !important; width: 100%; }
header img { height: 46px !important; }
}
@media (max-width: 420px) {
h1.big { font-size: 32px !important; }
}
/* Lucid Path and locked cards stay half and half on phones, in a compact form */
@media (max-width: 760px) {
.path-step { grid-template-columns: 32px minmax(0, 1fr) !important; gap: 12px !important; }
.path-step > div:first-child > span:first-child { width: 32px !important; height: 32px !important; font-size: 14px !important; }
.path-step article { padding: 18px !important; }
.choose2 { gap: 10px !important; }
.choose2 article { padding: 14px !important; border-radius: 18px !important; gap: 6px !important; }
.choose2 img { height: 50px !important; width: auto !important; }
.choose2 .lbl { font-size: 11px !important; letter-spacing: 2px !important; }
.choose2 h4 { font-size: 18px !important; line-height: 1.2; }
.choose2 .meta { font-size: 12px !important; font-weight: 400 !important; }
.choose2 .desc { display: none; }
.choose2 a { min-height: 42px !important; padding: 0 16px !important; font-size: 14px !important; margin-top: 6px !important; }
.locked2 { gap: 10px !important; }
.locked2 article { flex-direction: column; align-items: flex-start !important; gap: 8px !important; padding: 14px !important; }
.locked2 article > span > span:first-child { font-size: 11px !important; letter-spacing: 2px !important; }
.locked2 article > span > span:last-child { font-size: 17px !important; }
}
