/*
 * DigMOZ — additions to the original design (style.css stays untouched).
 * 0. Uploaded logo image size, optional white background
 * 1. Floating “Call now” / “WhatsApp” buttons (Site settings → Floating buttons)
 * 2. WhatsApp colours on every WhatsApp button and link (any link to https://wa.me/)
 */

:root {
  --wa-green: #25D366;
  --wa-teal: #128C7E;
  --wa-dark: #075E54;
  --wa-text: #0B7A3E;          /* WhatsApp green dark enough for small text on white (5.4:1) */
  --wa-btn: #15803D;           /* green behind white text: 5.0:1 (WCAG AA), the bright brand green stays on icons */
  --wa-btn-2: #0E7A63;
  --wa-btn-press: #116A33;
  --call-blue: #2563EB;        /* white text 5.2:1 */
  --call-blue-2: #1D4ED8;
}

/* 0 LOGO IMAGE (Site settings → Identity) ------------------------------------- */
.dm-logo__img { display: block; height: 60px; width: auto; max-width: min(240px, 55vw); object-fit: contain; }
.dm-logo--lg .dm-logo__img { height: 60px; }
.dm-logo__img--plate { box-sizing: content-box; background: #fff; padding: 6px 10px; border-radius: 6px; }

/* 1 FLOATING BUTTONS --------------------------------------------------------- */
.dm-float { display: none; }
@media (min-width: 992px) { .dm-float { display: block; } }
.dm-float--mobile { display: block; }

.dm-float__btn {
  position: fixed; z-index: 1015; bottom: 28px;
  display: inline-flex; align-items: center; gap: .85rem;
  min-height: 72px; padding: .6rem 1.75rem .6rem .6rem;
  border-radius: 999px; color: #fff; text-decoration: none;
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .35), 0 4px 10px -4px rgba(0, 0, 0, .2);
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, filter .25s ease;
}
.dm-float__btn--call { left: 28px; background: linear-gradient(135deg, var(--call-blue) 0%, var(--call-blue-2) 100%); }
.dm-float__btn--wa   { right: 28px; background: linear-gradient(135deg, var(--wa-btn) 0%, var(--wa-btn-2) 100%); }
.dm-float__btn--wa .dm-float__ic { background: var(--wa-green); }
.dm-float__btn--call .dm-float__ic { background: rgba(255, 255, 255, .2); }
.dm-float__btn:hover, .dm-float__btn:focus-visible {
  color: #fff; transform: translateY(-4px) scale(1.02); filter: brightness(1.05);
  box-shadow: 0 18px 34px -10px rgba(0, 0, 0, .45), 0 6px 14px -6px rgba(0, 0, 0, .25);
}
.dm-float__btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(0, 0, 0, .55); }

.dm-float__ic {
  position: relative; flex: none; width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center; background: rgba(255, 255, 255, .18);
}
.dm-float__ic .dm-icon, .dm-float__ic svg { width: 26px; height: 26px; color: #fff; stroke-width: 2; }
.dm-float__txt { display: grid; line-height: 1.15; text-align: left; }
.dm-float__txt small { font-size: .8125rem; font-weight: 500; opacity: .92; letter-spacing: .01em; }
.dm-float__txt strong { font-family: var(--dm-font-display, inherit); font-size: 1.1875rem; font-weight: 800; letter-spacing: -.01em; }

/* phones (only when switched on): smaller, above the bottom action bar */
@media (max-width: 991.98px) {
  .dm-float__btn { bottom: calc(70px + env(safe-area-inset-bottom)); min-height: 56px; padding: .4rem 1.1rem .4rem .4rem; gap: .6rem; }
  .dm-float__btn--call { left: 12px; }
  .dm-float__btn--wa { right: 12px; }
  .dm-float__ic { width: 42px; height: 42px; }
  .dm-float__ic .dm-icon, .dm-float__ic svg { width: 22px; height: 22px; }
  .dm-float__txt small { font-size: .6875rem; }
  .dm-float__txt strong { font-size: 1rem; }
}

/* animation: slide in, float gently, pulse ring round the icon, icon wiggle now and then */
@media (prefers-reduced-motion: no-preference) {
  .dm-float--anim .dm-float__btn--call { animation: dmFloatInL .7s cubic-bezier(.2, .8, .2, 1) .4s both, dmFloatBob 3.2s ease-in-out 1.2s infinite; }
  .dm-float--anim .dm-float__btn--wa   { animation: dmFloatInR .7s cubic-bezier(.2, .8, .2, 1) .6s both, dmFloatBob 3.2s ease-in-out 1.8s infinite; }
  .dm-float--anim .dm-float__btn:hover { animation-play-state: running, paused; }
  .dm-float--anim .dm-float__ic::before, .dm-float--anim .dm-float__ic::after {
    content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .75);
    animation: dmFloatPulse 2.4s ease-out infinite; pointer-events: none;
  }
  .dm-float--anim .dm-float__ic::after { animation-delay: 1.2s; }
  .dm-float--anim .dm-float__btn--call .dm-float__ic svg { animation: dmFloatRing 4s ease-in-out 2s infinite; transform-origin: 50% 50%; }
  .dm-float--anim .dm-float__btn--wa .dm-float__ic svg { animation: dmFloatRing 4s ease-in-out 3s infinite; transform-origin: 50% 50%; }
}
@keyframes dmFloatInL { from { opacity: 0; translate: -140% 0; } to { opacity: 1; translate: 0 0; } }
@keyframes dmFloatInR { from { opacity: 0; translate: 140% 0; } to { opacity: 1; translate: 0 0; } }
@keyframes dmFloatBob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes dmFloatPulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.65); opacity: 0; } }
@keyframes dmFloatRing {
  0%, 60%, 100% { transform: rotate(0); }
  64% { transform: rotate(-14deg); } 68% { transform: rotate(12deg); } 72% { transform: rotate(-10deg); }
  76% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } 84% { transform: rotate(0); }
}
/* keep the end of the page (copyright line, social icons) clear of the buttons */
@media (min-width: 992px) { body:has(.dm-float) .dm-footer { padding-bottom: 104px; } }
@media (max-width: 991.98px) { body:has(.dm-float--mobile) .dm-footer { padding-bottom: 150px; } }
@media print { .dm-float { display: none !important; } }

/* 2 WHATSAPP COLOURS EVERYWHERE ---------------------------------------------- */
/* buttons (final call-to-action bands) */
.dm-btn[href^="https://wa.me/"] {
  --btn-bg: var(--wa-btn); --btn-fg: #fff; --btn-bd: var(--wa-btn); --btn-wipe: var(--wa-btn-press);
  color: #fff;
}
.dm-btn[href^="https://wa.me/"]:hover, .dm-btn[href^="https://wa.me/"]:focus-visible { color: #fff; --btn-bd: var(--wa-btn-press); }
.dm-btn[href^="https://wa.me/"] .dm-icon { color: #fff; background: var(--wa-green); border-radius: 50%; padding: 3px; width: 1.5em; height: 1.5em; }

/* page hero quick-contact row: green icon circle and green top line */
.dm-phero__quick a[href^="https://wa.me/"] .dm-icon { background: var(--wa-green); }
.dm-phero__quick a[href^="https://wa.me/"]::before { background: var(--wa-green); }
.dm-phero__quick a[href^="https://wa.me/"]:hover { background-color: rgba(37, 211, 102, .08); }

/* phone bottom action bar */
.dm-actionbar a[href^="https://wa.me/"] { background: var(--wa-btn); color: #fff; border-right-color: rgba(0, 0, 0, .15); }
.dm-actionbar a[href^="https://wa.me/"] .dm-icon { color: var(--wa-green); background: #fff; border-radius: 50%; padding: 2px; width: 22px; height: 22px; }
.dm-actionbar a[href^="https://wa.me/"]:active { background: var(--wa-btn-press); }

/* footer (dark) and contact page list (light): green text links */
.dm-footer a[href^="https://wa.me/"] { color: var(--wa-green); }
.dm-footer a[href^="https://wa.me/"]:hover { color: #5BE38F; }
.dm-contact__list a[href^="https://wa.me/"] { color: var(--wa-text); }
.dm-contact__list a[href^="https://wa.me/"]:hover { color: var(--wa-dark); }

/* article share buttons */
.dm-share a[href^="https://wa.me/"] { color: var(--wa-text); border-color: var(--wa-green); }
.dm-share a[href^="https://wa.me/"]:hover { background: var(--wa-btn); border-color: var(--wa-btn); color: #fff; }
