.floating-contact{position:fixed;z-index:10;right:max(12px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:grid;gap:9px}
.floating-contact a{display:grid;place-items:center;box-sizing:border-box;width:50px;height:50px;border:2px solid white;border-radius:50%;color:white;text-decoration:none;font:700 12px system-ui;box-shadow:0 3px 12px #142c5633}
.floating-line{background:#087c36}
.floating-phone{background:#1657c4}
.line-panel summary{display:grid;place-items:center;width:50px;height:50px;box-sizing:border-box;border:2px solid white;border-radius:50%;color:white;font:700 12px system-ui;cursor:pointer;list-style:none}
.line-panel summary::-webkit-details-marker{display:none}
.line-panel-content{position:absolute;right:60px;bottom:0;width:190px;max-width:calc(100vw - 85px);padding:12px;background:white;color:#142c56;border:1px solid #cddbec;border-radius:10px;text-align:center;box-shadow:0 3px 12px #142c5633}
.line-panel-content .line-qr{display:block;width:min(100%,145px);height:auto;margin:6px auto}
.floating-contact a.line-add-friend{display:block;width:auto;height:auto;border:0;border-radius:0;color:#087c36;box-shadow:none;margin-top:6px}

.contact.pamy-contact { background: #f2f6fb; color: var(--navy); }
.pamy-contact-inner { padding-block: 48px; }
.contact p.pamy-contact-intro { color: #475a73; margin-bottom: 20px; }
.pamy-contact-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pamy-contact-card, .pamy-contact-hours, .pamy-contact-map {
  background: #fff;
  border: 1px solid #cddbec;
  border-radius: 12px;
}
.pamy-contact-card { display: grid; gap: 4px; padding: 20px; color: inherit; text-decoration: none; }
a.pamy-contact-card:hover { border-color: #1657c4; }
.pamy-contact-card span, .pamy-contact-card small, .pamy-contact-hours span, .pamy-contact-map address { color: #475a73; }
.pamy-contact-pending { border-style: dashed; }
.pamy-contact-hours { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 14px 20px; margin-top: 14px; }
.pamy-contact-map { margin-top: 24px; padding: clamp(14px, 2.5vw, 26px); }
.pamy-contact-map-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.pamy-contact-map-head h3 { margin: 0 0 6px; }
.pamy-contact-map address { font-style: normal; margin-top: 3px; }
.pamy-contact-map iframe { display: block; width: 100%; height: clamp(260px, 36vw, 380px); margin-top: 18px; border: 1px solid #cddbec; border-radius: 8px; }
.pamy-contact .order-info { color: #475a73; margin-top: 18px; }
@media (max-width: 640px) {
  .pamy-contact-channels { grid-template-columns: 1fr; }
}
