/* Betta Space — Inner Page Styles
   Used by: contact, professional-services, articles, and any content pages.
   Requires: styles.css loaded first for base variables.
*/

/* ── Page Chrome ── */
.top-bar{background:var(--dark);padding:14px 0;position:sticky;top:0;z-index:100;border-bottom:2px solid var(--accent)}
.top-bar .container{display:flex;align-items:center;justify-content:space-between;max-width:1200px}
.top-bar img{height:28px;filter:brightness(0) invert(1)}
.top-bar a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.82rem;font-weight:500;transition:color .3s}
.top-bar a:hover{color:var(--accent)}
.top-bar .back-link{display:inline-flex;align-items:center;gap:6px}
.top-bar .back-link svg{width:16px;height:16px}
.top-bar .nav-links{display:flex;gap:24px;list-style:none;align-items:center}
.top-bar .nav-links a{font-size:.82rem;font-weight:500}
@media(max-width:768px){.top-bar .nav-links{display:none}}

.page-header{text-align:center;padding:48px 0 32px}
.page-header .tag{display:inline-block;font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-dark);border:1.5px solid var(--accent);padding:6px 18px;border-radius:100px;background:rgba(184,230,0,.08);margin-bottom:16px}
.page-header h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.page-header h1 .accent{color:var(--accent-dark)}
.page-header p{color:var(--text-mid);font-size:.95rem;margin-top:10px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.5}

.page-footer{background:var(--dark);color:rgba(255,255,255,.4);text-align:center;padding:30px 0;font-size:.78rem;margin-top:60px}
.page-footer a{color:var(--accent-dark);text-decoration:none}

/* ── Content Container ── */
.content{max-width:780px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 60px}
.content-wide{max-width:1000px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 60px}

/* ── Article / Prose Styles ── */
.prose h2{font-size:1.4rem;font-weight:800;margin:36px 0 12px;letter-spacing:-.01em}
.prose h3{font-size:1.1rem;font-weight:700;margin:28px 0 8px}
.prose p{color:var(--text-mid);line-height:1.7;margin-bottom:16px;font-size:.95rem}
.prose a{color:var(--accent-dark);font-weight:600;text-decoration:underline;text-decoration-color:rgba(184,230,0,.3);text-underline-offset:3px;transition:all .2s}
.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.prose ul,.prose ol{margin:0 0 16px 20px;color:var(--text-mid);line-height:1.7;font-size:.95rem}
.prose li{margin-bottom:6px}
.prose img{max-width:100%;border-radius:16px;margin:24px 0}
.prose blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:20px 0;background:rgba(184,230,0,.04);border-radius:0 12px 12px 0;font-style:italic;color:var(--text-mid)}
.prose hr{border:none;border-top:1px solid var(--border);margin:32px 0}

/* ── Contact Form ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:30px}}
.contact-info h2,.contact-info .contact-info-heading{font-size:1.1rem;font-weight:700;margin-bottom:20px;color:var(--white)}
.contact-form h2,.contact-form .contact-form-heading{font-size:1.1rem;font-weight:700;margin-bottom:20px}
.contact-info{padding:32px;background:var(--dark);border-radius:20px;color:var(--white)}
.contact-info h3{font-size:1.1rem;font-weight:700;margin-bottom:20px;color:var(--white)}
.contact-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.contact-item svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:2px}
.contact-item a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.9rem;transition:color .2s}
.contact-item a:hover{color:var(--accent)}
.contact-item p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.5;margin:0}
.contact-form{padding:32px;background:var(--white);border-radius:20px;border:1px solid var(--border)}
.contact-form h3{font-size:1.1rem;font-weight:700;margin-bottom:20px}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text-mid);margin-bottom:5px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:12px;font-family:'Outfit',sans-serif;font-size:.9rem;background:var(--off-white);transition:border-color .2s;outline:none}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:100px}
.form-submit{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--black);padding:14px 32px;border-radius:100px;font-weight:700;font-size:.92rem;border:none;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .3s;margin-top:8px}
.form-submit:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(184,230,0,.2)}

/* ── Cards Grid (for article listings) ── */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.card{background:var(--white);border-radius:20px;overflow:hidden;border:1px solid var(--border);transition:all .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08);border-color:var(--accent)}
.card img{width:100%;height:200px;object-fit:cover}
.card-body{padding:20px}
.card-body .tag{display:inline-block;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark);border:1px solid var(--accent);padding:3px 10px;border-radius:100px;margin-bottom:10px}
.card-body h3{font-size:1rem;font-weight:700;margin-bottom:6px;line-height:1.3}
.card-body p{font-size:.82rem;color:var(--text-mid);line-height:1.5;margin-bottom:12px}
.card-link{font-size:.82rem;font-weight:700;color:var(--accent-dark);text-decoration:none;transition:color .2s}
.card-link:hover{color:var(--accent)}

/* ── Directory / Accordion ── */
.directory{margin-bottom:12px}
.directory__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--white);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:700;color:var(--dark);transition:all .2s}
.directory__toggle:hover{border-color:var(--accent);background:rgba(184,230,0,.03)}
.directory__toggle .hint{font-size:.72rem;font-weight:400;color:var(--text-light);margin-left:8px}
.directory.is-open .directory__toggle{border-color:var(--accent);background:var(--dark);color:var(--white);border-radius:14px 14px 0 0}
.directory.is-open .directory__toggle .hint{color:rgba(255,255,255,.4)}
.directory__caret{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-light);transition:transform .3s;margin-left:auto}
.directory.is-open .directory__caret{transform:rotate(180deg);border-top-color:var(--accent)}
.directory__panel{background:var(--white);border:1.5px solid var(--accent);border-top:none;border-radius:0 0 14px 14px;overflow:hidden}
.directory__header{display:grid;grid-template-columns:140px 1fr;padding:12px 22px;background:var(--off-white);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);border-bottom:1px solid var(--border)}
.directory__row{display:grid;grid-template-columns:140px 1fr;padding:12px 22px;border-bottom:1px solid var(--border);font-size:.88rem;transition:background .15s}
.directory__row:last-child{border-bottom:none}
.directory__row:hover{background:rgba(184,230,0,.03)}
.directory__locations{font-weight:600;color:var(--text-mid);font-size:.82rem}
.directory__details{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.directory__details div:first-child{font-weight:600;color:var(--dark)}
.directory__details a{color:var(--accent-dark);text-decoration:none;font-weight:500;font-family:'Space Mono',monospace;font-size:.82rem}
.directory__details a:hover{color:var(--accent)}
@media(max-width:600px){
  .directory__header,.directory__row{grid-template-columns:1fr;gap:4px}
  .directory__locations{font-size:.72rem;color:var(--accent-dark)}
}

/* ── Info Boxes ── */
.info-box{padding:20px 24px;background:rgba(184,230,0,.05);border:1.5px solid rgba(184,230,0,.15);border-radius:14px;margin:24px 0}
.info-box h4{font-size:.92rem;font-weight:700;margin-bottom:6px}
.info-box p{font-size:.85rem;color:var(--text-mid);line-height:1.6;margin:0}

/* ── Section Divider ── */
.section-divider{margin:48px 0 32px;text-align:center}
.section-divider h2{font-size:1.3rem;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.section-divider p{font-size:.88rem;color:var(--text-mid);max-width:500px;margin:0 auto;line-height:1.5}
