/* ============================================================
 * BeCurious public site — shared styles
 * Phase 5.1: aligned with the BeCurious redesign standard
 * (warm khaki body, cream sections, purple primary, orange accent)
 * ============================================================ */

:root {
  /* Backgrounds */
  --body-bg:      #D8D1BF;   /* warm khaki — body */
  --bg:           #F0EDE5;   /* soft cream — sections */
  --card:         #FAF7F0;   /* lightest cream — cards */
  --rule:         #E5DDCB;
  --rule-2:       #EDE6D6;

  /* Ink */
  --ink:          #2D2B28;
  --mid:          #5A5650;
  --soft:         #8A8579;

  /* Brand */
  --purple:       #6A5FA8;
  --purple-deep:  #2A2256;
  --purple-soft:  #ECE9F5;
  --purple-mid:   #9D96CC;

  /* Accents — used sparingly */
  --orange:       #E87C50;
  --orange-soft:  #FBE4D8;
  --teal:         #4DBFAD;
  --teal-soft:    #DCF0EC;
  --green:        #7ECB8F;
  --green-soft:   #E3F2E6;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:var(--body-bg);color:var(--ink);
  font-family:"Tajawal","Kanun AR","Segoe UI Arabic",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ─── NAV — cream card on khaki body, like the redesign ─── */
.nav{
  position:sticky;top:0;z-index:50;
  background:var(--card);
  border-bottom:1px solid var(--rule);
  box-shadow:0 4px 18px rgba(60,40,15,.04);
}
.nav-inner{
  max-width:1240px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:24px;
}
.nav-logo img{height:46px;width:auto;display:block}
.nav-links{display:flex;gap:4px;margin-right:auto;flex-wrap:wrap;align-items:center}
.nav-links a{
  color:var(--mid);font-size:13.5px;font-weight:500;
  padding:8px 14px;border-radius:999px;
  transition:background .15s,color .15s;
  letter-spacing:.005em;
}
.nav-links a:hover{background:var(--purple-soft);color:var(--purple)}
.nav-links a.active{background:var(--purple);color:#fff;font-weight:600}
.nav-links a.cta{
  background:var(--purple);color:#fff;padding:9px 22px;font-weight:700;
  margin-right:6px;box-shadow:0 6px 16px rgba(106,95,168,.25);
}
.nav-links a.cta:hover{background:var(--purple-deep);color:#fff}
.nav-toggle{display:none;background:transparent;border:none;color:var(--ink);font-size:24px;cursor:pointer;padding:6px}

/* ─── PAGE SECTION SCAFFOLD ─── */
section{padding:80px 24px}
.section-inner{max-width:1180px;margin:0 auto}
.eyebrow{
  display:inline-block;font-size:11px;font-weight:700;
  color:var(--soft);letter-spacing:.22em;text-transform:uppercase;
  margin-bottom:10px;
}
h1.page-title,h2.section-title{
  margin:0 0 14px;font-size:clamp(28px, 4vw, 44px);
  font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.2;
}
.section-sub{margin:0 0 44px;font-size:16px;color:var(--mid);max-width:600px;line-height:1.7}
.center{text-align:center}
.center .section-sub{margin-left:auto;margin-right:auto}

/* Underline accent used on titles — small orange line under headings */
.title-accent{
  display:inline-block;width:54px;height:3px;border-radius:999px;
  background:var(--orange);margin-top:10px;
}

/* ─── PAGE BANNER (used on About / Events / Register / Contact) ─── */
.page-banner{
  background:linear-gradient(135deg, var(--purple) 0%, #7A6FBB 100%);
  color:#fff;padding:72px 24px 64px;
  position:relative;overflow:hidden;
  box-shadow:0 10px 28px rgba(42,34,86,.18);
}
.page-banner::after{
  content:"";position:absolute;right:-80px;bottom:-80px;
  width:280px;height:280px;
  background:radial-gradient(circle, rgba(255,255,255,.14), transparent 60%);
  border-radius:50%;pointer-events:none;
}
.page-banner .section-inner{text-align:center;position:relative;z-index:1}
.page-banner .eyebrow{color:rgba(255,255,255,.78);font-weight:700}
.page-banner h1{
  margin:0;font-size:clamp(28px, 4vw, 46px);
  font-weight:800;letter-spacing:-.015em;color:#fff;line-height:1.2;
}
.page-banner p{margin:14px auto 0;max-width:640px;color:rgba(255,255,255,.92);font-size:15.5px;line-height:1.7}

/* ─── CARD (generic) ─── */
.card{
  background:var(--card);border:1px solid var(--rule);
  border-radius:16px;padding:28px;
  box-shadow:0 6px 20px rgba(60,40,15,.04);
}

/* ─── FORM CARD ─── */
.form-card{
  background:var(--card);border:1px solid var(--rule);
  border-radius:18px;padding:32px 30px 28px;
  box-shadow:0 8px 24px rgba(60,40,15,.06);
}
.info-pill{
  font-size:13px;color:var(--mid);line-height:1.7;margin-bottom:18px;
  padding:13px 16px;background:var(--bg);border-radius:12px;
}
.info-pill b{color:var(--purple-deep)}
label.fld{
  display:block;font-size:11px;font-weight:700;color:var(--purple);
  margin:14px 0 6px;letter-spacing:.06em;text-transform:uppercase;
}
label.fld .req{color:var(--orange);margin-right:4px}
label.fld .opt{color:var(--soft);font-weight:500;margin-right:6px;text-transform:none;letter-spacing:0}
input,textarea,select{
  width:100%;padding:11px 13px;border:1px solid var(--rule);
  border-radius:10px;background:#fff;font-size:14.5px;font-family:inherit;color:var(--ink);
  transition:border-color .15s,box-shadow .15s;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}
textarea{resize:vertical;min-height:84px;line-height:1.55}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.submit{
  width:100%;margin-top:22px;padding:13px;border:none;border-radius:11px;
  background:var(--purple);color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;
  transition:background .15s,transform .1s;
  box-shadow:0 6px 16px rgba(106,95,168,.22);
  letter-spacing:.005em;
}
.submit:hover:not(:disabled){background:var(--purple-deep);transform:translateY(-1px)}
.submit:disabled{opacity:.6;cursor:not-allowed}
.form-msg{margin-top:14px;padding:11px 14px;border-radius:10px;font-size:13.5px;display:none}
.form-msg.ok{background:var(--green-soft);color:#2E7B42;display:block}
.form-msg.err{background:#F9DAD6;color:#D2443A;display:block}

/* ─── IN-PAGE EDIT MODE — only visible to logged-in staff ─── */
.bc-edit-btn{
  position:fixed;bottom:24px;right:24px;z-index:200;
  background:var(--purple);color:#fff;
  border:none;border-radius:999px;
  padding:11px 20px;font-size:13.5px;font-weight:700;font-family:inherit;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(106,95,168,.4);
  display:none;align-items:center;gap:7px;
  transition:transform .15s,background .15s;
}
.bc-edit-btn:hover{transform:translateY(-2px);background:var(--purple-deep)}
body.bc-edit-on .bc-edit-btn{background:#10B981;box-shadow:0 8px 24px rgba(16,185,129,.4)}
body.bc-edit-on .bc-edit-btn:hover{background:#0e9b6c}
/* Edit-mode visuals on image targets */
body.bc-edit-on [data-edit-slot],body.bc-edit-on [data-edit-event]{
  cursor:crosshair !important;outline:3px dashed var(--purple);outline-offset:-3px;
  position:relative;
}
.bc-focal-marker{
  position:absolute;width:24px;height:24px;margin-left:-12px;margin-top:-12px;
  border-radius:50%;background:#fff;border:3px solid var(--purple);
  box-shadow:0 2px 12px rgba(0,0,0,.5);pointer-events:none;z-index:5;
  display:none;
}
body.bc-edit-on .bc-focal-marker{display:block}
.bc-focal-hint{
  position:absolute;bottom:8px;left:8px;right:8px;
  text-align:center;font-size:11px;color:#fff;
  background:rgba(20,15,40,.72);padding:5px 10px;border-radius:7px;
  pointer-events:none;display:none;z-index:5;
  backdrop-filter:blur(4px);
}
body.bc-edit-on .bc-focal-hint{display:block}
.bc-edit-toast{
  position:fixed;top:24px;right:24px;z-index:300;
  background:var(--purple);color:#fff;padding:10px 16px;border-radius:10px;
  font-size:13px;font-weight:600;box-shadow:0 8px 20px rgba(106,95,168,.4);
  opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s;
}
.bc-edit-toast.show{opacity:1;transform:translateY(0)}
.bc-edit-toast.err{background:#D2443A;box-shadow:0 8px 20px rgba(210,68,58,.4)}

/* ─── LOADING SKELETONS ─── */
@keyframes bc-skel-pulse { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.bc-skel {
  background:linear-gradient(90deg, #ECE6D6 25%, #F5EFE3 50%, #ECE6D6 75%);
  background-size:200% 100%;
  animation:bc-skel-pulse 1.4s linear infinite;
  color:transparent !important;
  border-radius:12px;
}
.bc-skel * { color:transparent !important; visibility:hidden }
/* Body fade-in once data loads */
body{opacity:0;transition:opacity .25s ease-out}
body.bc-loaded{opacity:1}

/* ─── FLOATING WHATSAPP BUTTON ─── */
.wa-fab{
  position:fixed;bottom:24px;left:24px;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(37,211,102,.35);z-index:100;transition:transform .15s;
}
.wa-fab:hover{transform:scale(1.08)}
.wa-fab svg{width:30px;height:30px;color:#fff}

/* ─── FOOTER ─── */
footer{
  background:var(--purple-deep);color:rgba(255,255,255,.85);
  padding:48px 24px 32px;text-align:center;
}
footer img{height:50px;margin:0 auto 16px;filter:brightness(0) invert(1);opacity:.95}
footer .footer-tag{font-size:14px;color:rgba(255,255,255,.88);margin-bottom:6px}
footer .footer-links{
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px;
  margin:18px 0 14px;font-size:13px;
}
footer .footer-links a{
  color:rgba(255,255,255,.78);padding:6px 14px;border-radius:999px;
  transition:background .15s,color .15s;
}
footer .footer-links a:hover{background:rgba(255,255,255,.1);color:#fff}
footer .copy{font-size:11.5px;opacity:.55;margin-top:12px;letter-spacing:.04em}

/* ─── RESPONSIVE ─── */
@media (max-width:900px){
  section{padding:60px 20px}
}
@media (max-width:760px){
  .nav-inner{padding:11px 16px;gap:10px}
  .nav-logo img{height:40px}
  .nav-links{
    display:none;flex-direction:column;align-items:stretch;
    background:var(--card);position:absolute;top:100%;right:0;left:0;
    padding:10px 14px;gap:2px;border-bottom:1px solid var(--rule);
    box-shadow:0 6px 14px rgba(0,0,0,.06);
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 14px;font-size:15px}
  .nav-links a.cta{margin:6px 0 0}
  .nav-toggle{display:block;font-size:26px;padding:8px}
  .row2{grid-template-columns:1fr}
  section{padding:48px 18px}
  .section-inner{padding:0}
  .page-banner{padding:42px 18px 38px}
  .page-banner h1{font-size:24px}
  .page-banner p{font-size:14.5px}
  .form-card{padding:22px 18px;border-radius:14px}
  .wa-fab{bottom:14px;left:14px;width:50px;height:50px}
  .wa-fab svg{width:26px;height:26px}
  h1.page-title,h2.section-title{font-size:24px}
  input,textarea,select{font-size:16px}   /* 16px prevents iOS zoom on focus */
  footer{padding:34px 18px 24px}
  footer .footer-links{gap:0;flex-direction:column;align-items:center}
  footer .footer-links a{padding:6px 14px}
}
@media (max-width:480px){
  .nav-logo img{height:36px}
  .page-banner h1{font-size:22px}
  h1.page-title,h2.section-title{font-size:22px}
}
