/* Contact dock — compact editorial card in the site's petrol/terracotta palette. */
.contact-dock{
  --contact-petrol:#123f3a;
  --contact-petrol-deep:#0a2e2b;
  --contact-terracotta:#bc5a3c;
  --contact-paper:#fffaf1;
  --contact-offset-left:0px;
  --contact-offset-bottom:0px;
  --contact-consent-offset:0px;
  position:fixed;
  left:calc(18px + env(safe-area-inset-left) + var(--contact-offset-left));
  bottom:calc(18px + env(safe-area-inset-bottom) + var(--contact-offset-bottom) + var(--contact-consent-offset));
  z-index:360;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  max-width:calc(100vw - 36px - env(safe-area-inset-left) - env(safe-area-inset-right));
  font-family:inherit;
  isolation:isolate;
}
.contact-dock__panel{
  width:min(326px,calc(100vw - 36px - env(safe-area-inset-left) - env(safe-area-inset-right)));
  max-height:min(68vh,540px);
  overflow:auto;
  padding:18px;
  color:var(--contact-petrol-deep);
  background:
    radial-gradient(circle at 100% 0,rgba(188,90,60,.12),transparent 38%),
    var(--contact-paper);
  border:1px solid rgba(18,63,58,.16);
  border-radius:22px 22px 22px 7px;
  box-shadow:0 24px 58px rgba(8,38,35,.25),0 4px 12px rgba(8,38,35,.12);
  transform-origin:bottom left;
  animation:contact-dock-enter .2s cubic-bezier(.2,.8,.2,1) both;
  scrollbar-width:thin;
  scrollbar-color:rgba(18,63,58,.3) transparent;
}
.contact-dock__panel[hidden]{display:none}
.contact-dock__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.contact-dock__eyebrow{
  margin:0 0 3px;
  color:var(--contact-terracotta);
  font-size:.68rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.contact-dock__header h2{margin:0;color:var(--contact-petrol-deep);font-size:1.12rem;line-height:1.2;letter-spacing:-.015em}
.contact-dock__intro{margin:7px 0 14px;color:#54706c;font-size:.8rem;line-height:1.45}
.contact-dock__close,
.contact-dock__trigger,
.contact-dock__link{min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}
.contact-dock__close{
  flex:0 0 44px;
  display:grid;
  place-items:center;
  padding:0;
  color:var(--contact-petrol);
  background:rgba(18,63,58,.07);
  border:0;
  border-radius:50%;
  cursor:pointer;
}
.contact-dock__close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.contact-dock__list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.contact-dock__link{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:6px 10px 6px 6px;
  color:var(--contact-petrol-deep);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(18,63,58,.1);
  border-radius:13px;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.contact-dock__icon{width:44px;height:44px;display:grid;place-items:center;color:var(--contact-petrol);background:rgba(18,63,58,.08);border-radius:10px}
.contact-dock__icon svg,.contact-dock__trigger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.contact-dock__link--whatsapp .contact-dock__icon{color:#176b55;background:rgba(23,107,85,.1)}
.contact-dock__copy{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.contact-dock__copy strong{font-size:.84rem;color:inherit}
.contact-dock__copy small{overflow:hidden;color:#617a76;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.contact-dock__arrow{color:var(--contact-terracotta);font-size:1rem}
.contact-dock__trigger{
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 16px 7px 7px;
  color:#fff;
  background:var(--contact-petrol);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  box-shadow:0 12px 28px rgba(8,38,35,.28);
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.contact-dock__trigger-icon{width:40px;height:40px;display:grid;place-items:center;color:#fff5e8;background:var(--contact-terracotta);border-radius:50%}
.contact-dock__trigger-icon svg{fill:none;stroke:currentColor;stroke-width:1.65}
.contact-dock__trigger-label{font-size:.8rem;font-weight:800;letter-spacing:.025em}
.contact-dock__trigger:hover{background:var(--contact-petrol-deep);transform:translateY(-2px);box-shadow:0 16px 34px rgba(8,38,35,.34)}
.contact-dock__link:hover{transform:translateX(3px);border-color:rgba(188,90,60,.42);background:#fff}
.contact-dock :where(a,button):focus-visible{outline:3px solid #e48b6f;outline-offset:3px}
@keyframes contact-dock-enter{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:600px){
  .contact-dock{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom) + var(--contact-offset-bottom) + var(--contact-consent-offset));max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}
  .contact-dock__panel{width:min(316px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:15px}
  .contact-dock__trigger-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .contact-dock__trigger{width:52px;height:52px;padding:5px;justify-content:center}
  .contact-dock__trigger-icon{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  .contact-dock__panel{animation:none}
  .contact-dock__trigger,.contact-dock__link{transition:none}
  .contact-dock__trigger:hover,.contact-dock__link:hover{transform:none}
}
@media (forced-colors:active){
  .contact-dock__panel,.contact-dock__trigger,.contact-dock__link{border:1px solid ButtonText}
}
