/* Martis contact stationery: a quiet, persistent route to the real WhatsApp chat. */
.martis-chat { position: fixed; z-index: 70; right: 24px; bottom: calc(22px + env(safe-area-inset-bottom,0px) + var(--chat-keyboard-offset,0px)); isolation: isolate; }
.martis-chat[hidden] { display: none; }
.intro-pending .martis-chat { visibility: hidden; pointer-events: none; }
.whatsapp-launcher { position: relative; display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 12px 8px 8px; border: 1px solid #55be8d; border-radius: 10px; background: linear-gradient(135deg,#0d6b48,#095d40 70%,#07543a); color: #fff; text-align: left; box-shadow: inset 0 1px 0 #ffffff35,0 3px 0 #063e2b2e,0 10px 28px #0750382b; transition: transform .18s ease,box-shadow .18s ease; }
.whatsapp-launcher::after { content: ''; position: absolute; right: 4px; top: 4px; width: 10px; height: 10px; border-top: 1px solid #b8f3d376; border-right: 1px solid #b8f3d376; border-radius: 0 6px 0 0; pointer-events: none; }
.whatsapp-launcher:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 #ffffff45,0 3px 0 #063e2b2e,0 13px 30px #07503836; }
.whatsapp-launcher[aria-expanded=true] { border-color: #a0ebc2; background: linear-gradient(135deg,#11794f,#096342); }
.whatsapp-launcher:focus-visible { outline: 3px solid #69c99b; outline-offset: 4px; }
.whatsapp-launcher-mark { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; padding: 1px; border: 1px solid #dff4e8; border-radius: 9px; background: #f6f8ff; box-shadow: 0 1px 0 #0002; }
.whatsapp-launcher-mark img { width: 100%; height: 100%; border-radius: 7px; }
.whatsapp-launcher-copy { display: grid; gap: 2px; }
.whatsapp-launcher-copy strong { font-size: 0.75rem; font-weight: 550; line-height: 1.3; letter-spacing: .1px; }
.whatsapp-launcher-copy small { font-size: 0.625rem; line-height: 1.4; color: #cfefdf; }
.whatsapp-launcher > .icon { width: 21px; height: 21px; margin-left: 1px; color: #e2f8eb; }
.whatsapp-panel { position: absolute; right: 0; bottom: calc(100% + 14px); display: flex; flex-direction: column; width: 344px; max-width: calc(100vw - 32px); max-height: min(640px,calc(100vh - 120px)); max-height: min(640px,calc(var(--chat-viewport-height,100dvh) - 120px - env(safe-area-inset-bottom,0px))); overflow: hidden; border: 1px solid #ccdfd3; border-radius: 16px; background: #fff; color: #183369; box-shadow: 0 10px 50px #0b3f2c26,0 2px 7px #0c235914; animation: whatsapp-panel-reveal .2s ease-out both; }
.whatsapp-panel[hidden], .whatsapp-context[hidden] { display: none; }
.whatsapp-panel-header { position: relative; display: flex; align-items: center; gap: 12px; flex-shrink: 0; min-height: 122px; padding: 20px 56px 20px 20px; border-bottom: 1px solid #8dd9b147; background: radial-gradient(ellipse at 85% 0%,#147e53,#0d6b48 55%,#07543a); color: #fff; box-shadow: inset 0 1px 0 #ffffff38; }
.whatsapp-panel-header::after { content: ''; position: absolute; right: 0; bottom: 0; width: 50px; height: 50px; background: linear-gradient(135deg,transparent 49%,#b8f3d312 50%); pointer-events: none; }
.whatsapp-avatar { flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid #c7edda; border-radius: 10px; box-shadow: 0 2px 6px #081b3e23; }
.whatsapp-eyebrow { display: block; color: #cfefdf; font-size: 0.5rem; font-weight: 500; letter-spacing: 1.5px; line-height: 1.5; }
.whatsapp-panel-header h2 { margin: 7px 0 0; color: #fff; font-size: 1.5625rem; font-weight: 500; line-height: 1.06; letter-spacing: -.65px; }
.whatsapp-panel-header h2:focus { outline: none; }
.whatsapp-close { position: absolute; right: 10px; top: 10px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #c5f5dc30; border-radius: 7px; background: #d5f5e40a; color: #e5f8ee; }
.whatsapp-close .icon { width: 19px; height: 19px; }
.whatsapp-close:hover { border-color: #c5f5dc72; background: #d5f5e418; }
.whatsapp-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.whatsapp-panel-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; padding: 18px 18px 16px; background: linear-gradient(145deg,#fff 45%,#f4faf6); scrollbar-width: thin; scrollbar-color: #c5dfd0 transparent; }
#whatsapp-intro { color: #687b9b; font-size: 0.75rem; line-height: 1.7; }
.whatsapp-context { display: grid; gap: 3px; margin: 15px 0 0; padding: 11px 13px; border: 1px solid #d6e8dc; border-left: 3px solid #7bbd96; border-radius: 5px; background: #f0f8f2; overflow-wrap: anywhere; }
.whatsapp-context small { color: #7486a7; font-size: 0.5625rem; letter-spacing: .2px; }
.whatsapp-context strong { color: #294677; font-size: 0.6875rem; font-weight: 550; line-height: 1.5; }
.whatsapp-context span { color: #7384a2; font-size: 0.625rem; line-height: 1.5; }
.whatsapp-topics { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 15px; }
.whatsapp-topics button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border: 1px solid #d6e5dc; border-radius: 5px; background: #fff; color: #45765d; font-size: 0.625rem; line-height: 1.4; box-shadow: 0 1px 0 #e6edf8; }
.whatsapp-topics button:hover, .whatsapp-topics button[aria-pressed=true] { border-color: #8bc9a7; background: #edf8f1; color: #155c3f; }
.whatsapp-topics button:focus-visible { outline: 2px solid #4e9c73; outline-offset: 2px; }
.whatsapp-message-label { display: block; margin-bottom: 7px; color: #405d8a; font-size: 0.6875rem; font-weight: 500; }
#whatsapp-message { display: block; width: 100%; min-height: 96px; max-height: 210px; padding: 11px 12px; resize: vertical; border: 1px solid #d4e0f1; border-radius: 6px; background: #fff; color: #29446e; font-family: Outfit,Arial,sans-serif; font-size: 0.875rem; line-height: 1.6; }
#whatsapp-message::placeholder { color: #93a0b8; }
#whatsapp-message:focus { outline: 2px solid #a4d2b7; outline-offset: 1px; border-color: #6ca987; }
.whatsapp-composer-meta { display: flex; justify-content: space-between; gap: 10px; min-height: 22px; padding: 5px 1px 0; color: #8391a8; font-size: 0.5625rem; line-height: 1.5; }
#whatsapp-draft-status { flex: 1; }
#whatsapp-char-count { flex-shrink: 0; text-align: right; }
.whatsapp-panel .whatsapp-continue { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 11px; font-size: 1.1875rem; min-height: 46px; padding-inline: 16px 21px; gap: 14px; color: #0d6141; }
.whatsapp-panel .whatsapp-continue::before { border-color: #c6dfcf; background: linear-gradient(120deg,#fff 0%,#fcfefa 60%,#edf8f0 100%); }
.whatsapp-panel .whatsapp-continue::after { background: linear-gradient(135deg,#dbf0e1,#abd2bb); }
.whatsapp-panel .whatsapp-continue:hover, .whatsapp-panel .whatsapp-continue:focus-visible { color: #074d33; }
.whatsapp-panel .whatsapp-continue:hover::before, .whatsapp-panel .whatsapp-continue:focus-visible::before { border-color: #85b99b; }
.whatsapp-continue[aria-disabled=true] { opacity: .5; cursor: default; filter: none; }
.whatsapp-handoff-note { margin: 12px 0 0; color: #758c80; font-size: 0.625rem; line-height: 1.65; text-align: center; }
.whatsapp-number { display: block; margin-top: 7px; color: #38775a; font-size: 0.6875rem; letter-spacing: .3px; line-height: 1.5; text-align: center; }
.footer { padding-bottom: calc(76px + env(safe-area-inset-bottom,0px)); }
.toast { bottom: calc(100px + env(safe-area-inset-bottom,0px)); }
/* Keep the banner's motion control clear of the persistent contact launcher. */
.campaign-hero-animated .holiday-motion-toggle { left: 22px; right: auto; }
.campaign-hero-animated .campaign-art-label { left: 166px; bottom: 27px; }
@keyframes whatsapp-panel-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:700px) {
  .martis-chat { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom,0px) + var(--chat-keyboard-offset,0px)); }
  .whatsapp-launcher { gap: 8px; min-height: 54px; padding: 8px 11px 8px 8px; border-radius: 11px; }
  .whatsapp-launcher-mark { width: 32px; height: 32px; }
  .whatsapp-launcher-copy strong { font-size: 0.75rem; }
  .whatsapp-launcher-copy small { font-size: 0.5625rem; }
  .whatsapp-launcher > .icon { width: 20px; height: 20px; }
  .whatsapp-panel { bottom: calc(100% + 12px); width: calc(100vw - 32px); max-width: 350px; max-height: calc(100vh - 98px); max-height: calc(var(--chat-viewport-height,100dvh) - 98px - env(safe-area-inset-bottom,0px)); border-radius: 14px; }
  .whatsapp-panel-header { min-height: 112px; padding: 18px 55px 18px 18px; }
  .whatsapp-panel-header h2 { font-size: 1.5rem; }
  .whatsapp-panel-body { padding: 16px 18px 15px; }
  #whatsapp-message { font-size: 1rem; min-height: 96px; }
  .whatsapp-panel .whatsapp-continue { font-size: 1.1875rem; gap: 12px; min-height: 46px; }
  .toast { bottom: calc(87px + env(safe-area-inset-bottom,0px)); }
  .campaign-hero-animated .holiday-motion-toggle { left: 16px; right: auto; }
  .campaign-hero-animated .campaign-art-label { left: auto; right: 16px; bottom: 28px; max-width: calc(100% - 166px); text-align: right; }
}
@media(max-width:360px) {
  .whatsapp-panel-header { gap: 11px; padding-left: 17px; }
  .whatsapp-panel-body { padding-inline: 17px; }
  .whatsapp-panel-header h2 { font-size: 1.4375rem; }
  .whatsapp-topics button { padding-inline: 8px; font-size: 0.625rem; }
  .whatsapp-panel .whatsapp-continue { font-size: 1.1875rem; }
}
@media(prefers-reduced-motion:reduce) {
  .whatsapp-launcher { transition: none; }
  .whatsapp-launcher:hover { transform: none; }
  .whatsapp-panel { animation: none; }
}
@media(forced-colors:active) {
  .whatsapp-launcher, .whatsapp-panel, .whatsapp-panel-header, .whatsapp-panel-body, .whatsapp-context, .whatsapp-topics button, .whatsapp-close, #whatsapp-message { border-color: ButtonText; background: Canvas; color: CanvasText; box-shadow: none; }
  .whatsapp-launcher-copy small, .whatsapp-launcher > .icon, .whatsapp-eyebrow, .whatsapp-panel-header h2, #whatsapp-intro, .whatsapp-context small, .whatsapp-context strong, .whatsapp-context span, .whatsapp-topics button, .whatsapp-message-label, .whatsapp-composer-meta, .whatsapp-handoff-note, .whatsapp-number { color: CanvasText; }
  .whatsapp-launcher::after, .whatsapp-panel-header::after { display: none; }
  .whatsapp-panel .whatsapp-continue { border: 1px solid ButtonText; background: ButtonFace; color: ButtonText; filter: none; }
  .whatsapp-continue::before, .whatsapp-continue::after { display: none; }
  .whatsapp-topics button[aria-pressed=true] { outline: 2px solid Highlight; outline-offset: -3px; }
}

/* Recognizable WhatsApp identity in both contact controls. */
.whatsapp-launcher-mark { background: transparent; border-color: transparent; box-shadow: none; padding: 2px; }
.whatsapp-avatar { border-color: transparent; box-shadow: none; padding: 2px; }
