/*
  NextSure v19 public AI, WhatsApp, product image and mobile fixes
  ----------------------------------------------------------------
  This file is intentionally separated so future edits are easy.
*/
:root{--ns-teal:#0f6b73;--ns-green:#10b981;--ns-navy:#102033;--ns-muted:#64748b;--ns-border:#dbe8f0;}

/* Home top headline/ticker over banner */
.hero{position:relative;}
.ns-hero-news{position:absolute;top: 1px;left:10%;right:10%;z-index:7;display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;/* border:2px solid rgba(239,68,68,.95); *//* border-radius:14px; *//* background: rgb(255 255 255 / 53%); *//* backdrop-filter:blur(8px); *//* box-shadow:0 14px 36px rgba(15,23,42,.10); */color:#dc2626;font-weight:1000;font-size:clamp(14px,1.6vw,22px);line-height:1.3;text-align:center;letter-spacing:.01em;}
.ns-hero-news b{color:#0f6b73;margin-right:8px;}

/* Product pages: show full banner image, never crop the important part */
.ns-product-image-wrap{background:linear-gradient(135deg,#f8fbff,#eef8fb)!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:440px!important;padding:0!important;}
.ns-product-image-wrap::before{background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0))!important;}
.ns-product-image-wrap img{width:100%!important;height:100%!important;min-height:440px!important;object-fit:contain!important;object-position:center!important;background:transparent!important;}
.ns-product-hero-card{overflow:hidden!important;}

/* Floating WhatsApp button: all pages */
.ns-wa-float{position:fixed;right:22px;bottom:102px;z-index:2147483401;width:62px;height:62px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(37,211,102,.36);border:4px solid rgba(255,255,255,.95);transition:transform .18s ease,box-shadow .18s ease;}
.ns-wa-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 24px 54px rgba(37,211,102,.46);}
.ns-wa-float svg{width:31px;height:31px;display:block;}
.ns-wa-float span{position:absolute;right:72px;top:50%;transform:translateY(-50%);background:#102033;color:#fff;font-weight:900;font-size:13px;border-radius:999px;padding:9px 12px;white-space:nowrap;box-shadow:0 12px 26px rgba(15,23,42,.20);opacity:0;pointer-events:none;transition:.16s ease;}
.ns-wa-float:hover span{opacity:1;}

/* AI assistant: all pages */
.ns-ai-assistant{position:fixed;right:22px;bottom:24px;z-index:2147483400;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.ns-ai-fab{width:64px;height:64px;border-radius:999px;border:0;background:linear-gradient(135deg,#0b3a5b,#0f766e 55%,#10b981)!important;color:#fff!important;font-weight:1000;box-shadow:0 20px 44px rgba(15,118,110,.30)!important;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;letter-spacing:.02em;border:4px solid rgba(255,255,255,.96)!important;}
.ns-ai-panel{position:absolute;right:0;bottom:78px;width:min(92vw,410px);height:540px;max-height:72vh;background:#fff;border:1px solid #dbe8f0;border-radius:28px;box-shadow:0 28px 80px rgba(15,23,42,.24);overflow:hidden;display:none;}
.ns-ai-assistant.open .ns-ai-panel{display:flex;flex-direction:column;}
.ns-ai-head{padding:16px 18px;background:linear-gradient(135deg,#0b3a5b,#0f766e);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ns-ai-head b{font-size:17px}.ns-ai-head span{font-size:12px;opacity:.86}.ns-ai-close{background:rgba(255,255,255,.16)!important;color:#fff!important;border:0;border-radius:12px;width:34px;height:34px;font-size:20px;cursor:pointer;}
.ns-ai-messages{flex:1;overflow:auto;padding:16px;background:linear-gradient(180deg,#f8fbff,#eef8fb);display:flex;flex-direction:column;gap:10px;}
.ns-ai-msg{max-width:88%;padding:11px 13px;border-radius:18px;font-size:14px;line-height:1.48;box-shadow:0 8px 18px rgba(15,23,42,.06);white-space:pre-wrap;}
.ns-ai-msg.bot{background:#fff;color:#132238;border-bottom-left-radius:6px;align-self:flex-start;border:1px solid rgba(219,232,240,.7);}
.ns-ai-msg.user{background:#0f766e;color:#fff;border-bottom-right-radius:6px;align-self:flex-end;}
.ns-ai-quick{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #e2e8f0;background:#f8fafc;}
.ns-ai-quick button{border:1px solid #dbe8f0;background:#fff;color:#0f6b73;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;cursor:pointer;}
.ns-ai-form{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #e2e8f0;}
.ns-ai-input{flex:1;border:1px solid #dbe8f0;border-radius:16px;padding:12px!important;font-size:14px;min-width:0;}
.ns-ai-input:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.ns-ai-send{border:0;border-radius:16px;background:#0b3a5b!important;color:#fff!important;font-weight:900;padding:0 16px!important;cursor:pointer;}

/* Feedback section, when present */
.ns-feedback-section{max-width:1120px;margin:56px auto;padding:28px;border:1px solid #dbe8f0;border-radius:28px;background:linear-gradient(135deg,#ffffff,#f0fdfa);box-shadow:0 20px 60px rgba(15,23,42,.08)}
.ns-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ns-feedback-grid textarea{grid-column:1/-1}.ns-feedback-section input,.ns-feedback-section textarea,.ns-feedback-section select{width:100%;border:1px solid #dbe8f0;border-radius:14px;padding:13px;background:#fff}.ns-feedback-section button{border:0;border-radius:16px;background:#0f6b73;color:#fff;font-weight:900;padding:13px 20px;margin-top:12px}

@media(max-width:900px){
  .ns-hero-news{top:10px;left:14px;right:14px;font-size:13px;min-height:34px;padding:7px 10px;border-radius:11px;}
  .ns-product-image-wrap,.ns-product-image-wrap img{min-height:300px!important;}
}
@media(max-width:640px){
  .ns-product-image-wrap,.ns-product-image-wrap img{min-height:250px!important;}
  .ns-wa-float{right:14px;bottom:88px;width:56px;height:56px;}
  .ns-wa-float span{display:none;}
  .ns-ai-assistant{right:14px;bottom:16px}.ns-ai-fab{width:56px;height:56px;font-size:18px}.ns-ai-panel{width:calc(100vw - 24px);right:-2px;height:72vh;bottom:68px;border-radius:22px}.ns-feedback-section{margin:30px 12px;padding:20px}.ns-feedback-grid{grid-template-columns:1fr}
}

/* v20: WhatsApp live chat stays above AI assistant on every page */
.ns-wa-float{bottom:112px!important;z-index:2147483600!important;}
.ns-ai-assistant{bottom:24px!important;z-index:2147483500!important;}
@media(max-width:640px){.ns-wa-float{right:16px!important;bottom:102px!important;width:58px!important;height:58px!important}.ns-ai-assistant{right:16px!important;bottom:18px!important}.ns-ai-fab{width:58px!important;height:58px!important}.ns-ai-panel{width:calc(100vw - 24px)!important;right:-4px!important;}}


/* v21: WhatsApp live support must remain visible on every page and stay above AI. */
.ns-wa-float{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:62px!important;
  height:62px!important;
  overflow:visible!important;
  right:22px!important;
  bottom:112px!important;
  z-index:2147483600!important;
}
.ns-ai-assistant{right:22px!important;bottom:24px!important;z-index:2147483500!important;}
@media(max-width:640px){
  .ns-wa-float{right:16px!important;bottom:102px!important;width:58px!important;height:58px!important;}
  .ns-ai-assistant{right:16px!important;bottom:18px!important;}
}


/* v22: WhatsApp must sit clearly above AI chatbot on every page */
.ns-wa-float{bottom:132px!important;right:22px!important;z-index:2147483601!important;}
.ns-ai-assistant{bottom:24px!important;right:22px!important;z-index:2147483500!important;}
@media(max-width:640px){.ns-wa-float{bottom:122px!important;right:16px!important}.ns-ai-assistant{bottom:18px!important;right:16px!important}}

/* v22: searchable assignment fields */
#adminAssignmentBox input[list]{font-weight:800;color:#0f172a;border:2px solid #dbeafe!important;box-shadow:0 10px 24px rgba(15,118,110,.08)}
#adminAssignmentBox input[list]:focus{outline:none;border-color:#0f766e!important;box-shadow:0 0 0 4px rgba(15,118,110,.12)}


/* v23: WhatsApp live chat stays higher than the AI chatbot on every page */
.ns-wa-float{
  bottom:172px!important;
  right:22px!important;
  z-index:2147483605!important;
}
.ns-ai-assistant{
  bottom:24px!important;
  right:22px!important;
  z-index:2147483500!important;
}
@media(max-width:640px){
  .ns-wa-float{bottom:156px!important;right:16px!important;width:58px!important;height:58px!important;}
  .ns-ai-assistant{bottom:18px!important;right:16px!important;}
}

/* v23: marine / motor calculation polish */
.ns-rate-reference{
  margin-top:18px;
  border:1px solid #dbe8f0;
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff,#f0fdfa);
  padding:18px;
  box-shadow:0 14px 35px rgba(15,23,42,.06);
}
.ns-rate-reference h3{margin:0 0 10px;color:#0b3a5b;font-size:18px;font-weight:1000;}
.ns-rate-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.ns-rate-chip{border:1px solid #dbe8f0;border-radius:16px;background:#fff;padding:11px;font-size:12px;line-height:1.45;color:#334155;}
.ns-rate-chip b{display:block;color:#0f766e;font-size:13px;margin-bottom:4px;}
.ns-motor-pdf-table{border:1px solid #cbd5e1;border-radius:18px;overflow:hidden;background:#fff;margin-top:14px;}
.ns-motor-pdf-table .ns-premium-line,
.ns-motor-pdf-table .ns-premium-total{border-bottom:1px solid #e2e8f0;border-radius:0;margin:0;padding:9px 12px;}
.ns-motor-pdf-table .ns-premium-total{background:#eef6ff;border-bottom:0;}
.ns-travel-days-hint{font-size:12px;color:#64748b;margin-top:6px;line-height:1.35;}
@media(max-width:900px){.ns-rate-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.ns-rate-chip-grid{grid-template-columns:1fr;}.ns-rate-reference{padding:14px;border-radius:18px;}}
