/* Love Jam Signature 1.5.2 — complete footer and information pages. */

/* Footer */
.site-footer { position: relative; z-index: 3; background: #050505; }
.lj-footer-promises { border-top: 1px solid rgba(196,168,117,.22); border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(90deg,#090909,#111,#090909); }
.lj-footer-promises__grid { min-height: 104px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; }
.lj-footer-promises__grid > div { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 22px 28px; border-right: 1px solid rgba(255,255,255,.08); }
.lj-footer-promises__grid > div:last-child { border-right: 0; }
.lj-footer-promises svg { width: 28px; height: 28px; flex: 0 0 28px; color: #c7a86f; fill: none; stroke: currentColor; stroke-width: 1.45; }
.lj-footer-promises span, .lj-footer-promises b, .lj-footer-promises small { display: block; }
.lj-footer-promises b { color: #f4eee8; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.lj-footer-promises small { margin-top: 4px; color: #77716b; font-size: .66rem; line-height: 1.4; }
.lj-footer-main { padding: clamp(58px,7vw,92px) 0; border-top: 0; background: radial-gradient(circle at 14% 20%,rgba(207,0,31,.07),transparent 34%),#050505; }
.lj-footer-grid--complete { display: grid; grid-template-columns: minmax(260px,1.45fr) repeat(3,minmax(160px,1fr)); gap: clamp(34px,5vw,74px); align-items: start; }
.lj-footer-brand .love-jam-logo, .lj-footer-brand .custom-logo-link { display: inline-block; width: 190px; }
.lj-footer-brand .love-jam-logo img, .lj-footer-brand .custom-logo { width: 100%; height: auto; }
.lj-footer-brand p { max-width: 320px; margin: 24px 0 18px; color: #8e8882; line-height: 1.75; }
.lj-footer-email { color: #c7a86f; font-size: .75rem; letter-spacing: .05em; word-break: break-word; }
.lj-footer-column h2 { margin: 4px 0 22px; color: #f4eee7; font-family: var(--lj-display); font-size: 1.65rem; font-weight: 500; }
.lj-footer-column ul { margin: 0; padding: 0; list-style: none; }
.lj-footer-column li { margin: 0; border-bottom: 1px solid rgba(255,255,255,.055); }
.lj-footer-column a { display: block; padding: 9px 0; color: #8d8781; font-size: .76rem; line-height: 1.4; transition: color .2s ease,padding-left .2s ease; }
.lj-footer-column a:hover, .lj-footer-column a:focus-visible { color: #fff; padding-left: 5px; }
.lj-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.lj-footer-bottom__inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lj-footer-bottom__inner p { margin: 0; color: #66615c; font-size: .66rem; line-height: 1.5; }

/* Information pages */
.lj-page-main { position: relative; background: radial-gradient(circle at 80% 0,rgba(207,0,31,.055),transparent 34%),#050505; }
.lj-page-shell { max-width: 1180px; }
.lj-page-header { position: relative; padding: clamp(60px,9vw,118px) 0 clamp(40px,5vw,64px); margin-bottom: 0; border-bottom: 1px solid rgba(196,168,117,.25); }
.lj-page-header::after { content: ""; position: absolute; right: 0; bottom: -1px; width: min(34vw,380px); height: 1px; background: var(--lj-red); }
.lj-page-header h1 { max-width: 980px; color: #f5efe8; font-size: clamp(3.8rem,8vw,8.4rem); line-height: .86; }
.lj-page-header .lj-eyebrow { color: #c7a86f; }
.lj-prose { padding: clamp(46px,7vw,94px) 0; color: #aca59f; font-size: 1rem; line-height: 1.85; }
.lj-prose > *:first-child { margin-top: 0; }
.lj-info-page { display: grid; gap: 26px; }
.lj-info-lead { max-width: 920px; margin-bottom: 24px; }
.lj-info-lead .lj-kicker { margin: 0 0 15px; color: #c7a86f; font-size: .63rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.lj-info-lead h2 { max-width: 900px; margin: 0; color: #f5efe8; font-family: var(--lj-display); font-size: clamp(2.9rem,6vw,6rem); font-weight: 400; line-height: .95; }
.lj-info-lead > p:last-child { max-width: 780px; margin: 22px 0 0; color: #9b948e; font-size: 1.04rem; }
.lj-info-grid { display: grid; gap: 18px; }
.lj-info-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.lj-info-grid article, .lj-info-panel, .lj-info-section, .lj-contact-card, .lj-shortcode-panel { padding: clamp(24px,3vw,40px); border: 1px solid rgba(196,168,117,.22); background: linear-gradient(145deg,#111,#080808); box-shadow: 0 22px 70px rgba(0,0,0,.22); }
.lj-info-grid h3, .lj-contact-card h3 { margin: 0 0 13px; color: #f2ece6; font-family: var(--lj-display); font-size: 1.8rem; font-weight: 500; }
.lj-info-grid p, .lj-info-panel p, .lj-info-section p, .lj-info-section li, .lj-contact-card p { color: #aaa39d; }
.lj-info-panel { margin-top: 6px; border-left: 3px solid var(--lj-red); }
.lj-info-panel h2, .lj-info-section h2 { margin: 0 0 14px; color: #f3ede7; font-family: var(--lj-display); font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 500; }
.lj-info-section { box-shadow: none; }
.lj-info-section ul, .lj-info-section ol { margin: 16px 0 0; padding-left: 22px; }
.lj-info-section li + li { margin-top: 8px; }
.lj-info-page a { color: #d7b879; text-decoration: underline; text-decoration-color: rgba(215,184,121,.35); text-underline-offset: 3px; }
.lj-info-page a:hover { color: #fff; }
.lj-contact-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 22px; align-items: start; }
.lj-contact-card { position: sticky; top: 24px; }
.lj-contact-form-wrap { padding: clamp(24px,3vw,40px); border: 1px solid rgba(196,168,117,.22); background: linear-gradient(145deg,#111,#080808); }
.lj-contact-form { display: grid; gap: 18px; }
.lj-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lj-contact-form label { display: grid; gap: 8px; }
.lj-contact-form label > span { color: #c7a86f; font-size: .62rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.lj-contact-form input, .lj-contact-form select, .lj-contact-form textarea { width: 100%; min-height: 50px; padding: 13px 15px; color: #f4eee8; border: 1px solid rgba(255,255,255,.13); border-radius: 0; outline: none; background: #090909; font: inherit; box-sizing: border-box; }
.lj-contact-form textarea { min-height: 170px; resize: vertical; }
.lj-contact-form input:focus, .lj-contact-form select:focus, .lj-contact-form textarea:focus { border-color: #c7a86f; box-shadow: 0 0 0 2px rgba(199,168,111,.15); }
.lj-contact-form button { min-height: 54px; padding: 0 28px; color: #fff; border: 0; background: var(--lj-red); font-size: .67rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.lj-contact-form button:hover { background: #ef0b31; }
.lj-form-help { margin: -4px 0 0; color: #77716b; font-size: .72rem; }
.lj-honeypot { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.lj-form-notice { margin-bottom: 18px; padding: 14px 16px; border: 1px solid; font-size: .82rem; }
.lj-form-notice--success { color: #cae5c9; border-color: rgba(102,180,98,.45); background: rgba(46,106,43,.15); }
.lj-form-notice--error { color: #f4b9c3; border-color: rgba(207,0,31,.5); background: rgba(207,0,31,.1); }
.lj-faq details { border: 1px solid rgba(196,168,117,.2); background: #0c0c0c; }
.lj-faq details + details { margin-top: -12px; }
.lj-faq summary { position: relative; padding: 22px 58px 22px 24px; color: #f2ece6; font-family: var(--lj-display); font-size: 1.45rem; cursor: pointer; list-style: none; }
.lj-faq summary::-webkit-details-marker { display: none; }
.lj-faq summary::after { content: "+"; position: absolute; right: 24px; top: 50%; color: var(--lj-red); font-family: var(--lj-sans); font-size: 1.4rem; transform: translateY(-50%); }
.lj-faq details[open] summary::after { content: "−"; }
.lj-faq details p { margin: 0; padding: 0 24px 24px; color: #9f9892; }
.lj-shortcode-panel form { max-width: 720px; }
.lj-shortcode-panel input { min-height: 50px; }
.lj-legal-page .lj-info-section { counter-increment: none; }

@media (max-width: 1024px) {
  .lj-footer-promises__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lj-footer-promises__grid > div:nth-child(2) { border-right: 0; }
  .lj-footer-promises__grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .lj-footer-grid--complete { grid-template-columns: 1.2fr 1fr 1fr; }
  .lj-footer-grid--complete .lj-footer-column:last-child { grid-column: 2 / -1; }
  .lj-info-grid--3 { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .lj-club__inner { padding-left: 18px; padding-right: 18px; }
  .lj-footer-promises__grid { grid-template-columns: 1fr; }
  .lj-footer-promises__grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .lj-footer-promises__grid > div:last-child { border-bottom: 0; }
  .lj-footer-grid--complete { grid-template-columns: 1fr 1fr; padding-left: 18px; padding-right: 18px; }
  .lj-footer-brand { grid-column: 1 / -1; }
  .lj-footer-grid--complete .lj-footer-column:last-child { grid-column: auto; }
  .lj-footer-bottom__inner { align-items: flex-start; flex-direction: column; padding: 20px 18px; }
  .lj-page-shell { padding-left: 18px; padding-right: 18px; }
  .lj-page-header h1 { overflow-wrap: anywhere; }
  .lj-contact-layout { grid-template-columns: 1fr; }
  .lj-contact-card { position: relative; top: auto; }
  .lj-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .lj-footer-grid--complete { grid-template-columns: 1fr; }
  .lj-footer-grid--complete .lj-footer-column:last-child { grid-column: auto; }
  .lj-info-grid article, .lj-info-panel, .lj-info-section, .lj-contact-card, .lj-shortcode-panel, .lj-contact-form-wrap { padding: 22px 18px; }
}
