/* Beyond Waves Leisure — shared overrides & helpers
   Tailwind is loaded via CDN on each page; this file holds brand tokens,
   the concierge drawer styles and small refinements that apply site-wide. */

:root{
  --bw-navy:#0a2540;
  --bw-teal:#0e7c86;
  --bw-blue:#00529b;
  --bw-gold:#c9a24b;
  --bw-cream:#f7f4ee;
  --bw-surface:#f9f9ff;
}

html{scroll-behavior:smooth;}

/* Smooth image loading */
img{max-width:100%;}

/* Reusable brand button (optional utility) */
.bw-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--bw-navy);color:#fff;font-weight:600;
  padding:.75rem 1.25rem;border-radius:.6rem;text-decoration:none;
  transition:background .2s ease, transform .1s ease;
}
.bw-btn:hover{background:var(--bw-teal);}
.bw-btn:active{transform:scale(.97);}

/* ===== Atelier Concierge AI Drawer (injected on public pages) ===== */
#bw-concierge-fab{
  position:fixed;right:20px;bottom:20px;z-index:9998;
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--bw-navy);color:#fff;border:none;cursor:pointer;
  padding:14px 20px;border-radius:999px;font-family:Manrope,Inter,system-ui,sans-serif;
  font-weight:600;font-size:15px;box-shadow:0 10px 30px rgba(10,37,64,.35);
  transition:transform .15s ease, background .2s ease;
}
#bw-concierge-fab:hover{background:var(--bw-teal);transform:translateY(-2px);}
#bw-concierge-fab .bw-fab-icon{font-size:20px;line-height:1;}

#bw-concierge-overlay{
  position:fixed;inset:0;background:rgba(10,37,64,.45);z-index:9998;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
#bw-concierge-overlay.bw-open{opacity:1;pointer-events:auto;}

#bw-concierge-drawer{
  position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;z-index:9999;
  background:#fff;box-shadow:-12px 0 40px rgba(10,37,64,.25);
  transform:translateX(105%);transition:transform .35s cubic-bezier(.16,1,.3,1);
  display:flex;flex-direction:column;font-family:Manrope,Inter,system-ui,sans-serif;
}
#bw-concierge-drawer.bw-open{transform:translateX(0);}
.bw-cc-header{
  background:linear-gradient(135deg,var(--bw-navy),var(--bw-teal));
  color:#fff;padding:20px 22px;display:flex;align-items:center;gap:12px;
}
.bw-cc-header .bw-cc-avatar{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.bw-cc-header h3{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:18px;font-weight:700;}
.bw-cc-header p{margin:2px 0 0;font-size:12px;opacity:.85;}
.bw-cc-close{margin-left:auto;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;opacity:.85;}
.bw-cc-close:hover{opacity:1;}
.bw-cc-body{flex:1;overflow-y:auto;padding:20px;background:var(--bw-surface);}
.bw-cc-msg{max-width:85%;padding:12px 15px;border-radius:14px;margin-bottom:12px;font-size:14px;line-height:1.5;}
.bw-cc-msg.bot{background:#fff;color:var(--bw-navy);border:1px solid #e3e8f0;border-bottom-left-radius:4px;}
.bw-cc-msg.user{background:var(--bw-navy);color:#fff;margin-left:auto;border-bottom-right-radius:4px;}
.bw-cc-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.bw-cc-quick button{
  background:#fff;border:1px solid var(--bw-teal);color:var(--bw-teal);
  padding:8px 12px;border-radius:999px;font-size:12.5px;cursor:pointer;transition:all .15s ease;
}
.bw-cc-quick button:hover{background:var(--bw-teal);color:#fff;}
.bw-cc-footer{padding:14px 16px;border-top:1px solid #e3e8f0;background:#fff;}
.bw-cc-inputrow{display:flex;gap:8px;}
.bw-cc-inputrow input{
  flex:1;border:1px solid #cfd8e3;border-radius:10px;padding:11px 13px;font-size:14px;outline:none;
}
.bw-cc-inputrow input:focus{border-color:var(--bw-teal);}
.bw-cc-inputrow button{
  background:var(--bw-navy);color:#fff;border:none;border-radius:10px;padding:0 16px;cursor:pointer;font-size:18px;
}
.bw-cc-inputrow button:hover{background:var(--bw-teal);}
.bw-cc-note{text-align:center;font-size:11px;color:#8a93a3;margin-top:8px;}
.bw-cc-note a{color:var(--bw-teal);text-decoration:none;font-weight:600;}
@media (max-width:480px){
  #bw-concierge-fab{padding:12px 16px;font-size:14px;}
  #bw-concierge-fab .bw-fab-label{display:none;}
}
