/* Shared low-impact widgets; deliberately prefixed to avoid collisions with existing styles. */
.zx-contact,.zx-cookie-overlay{font-family:Manrope,'DM Sans',system-ui,-apple-system,sans-serif;box-sizing:border-box}
.zx-contact *, .zx-cookie-overlay *{box-sizing:border-box}
.zx-contact{position:fixed;bottom:25px;right:24px;z-index:120;display:flex;align-items:flex-end;flex-direction:column;gap:13px}
.zx-wa-fab{position:relative;background:#22c55e;color:white;width:68px;height:68px;border:3px solid #f4fff7;box-shadow:0 12px 35px #11633355,0 0 0 6px #2bbb5619;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .25s,box-shadow .25s}
.zx-wa-fab:hover,.zx-wa-fab:focus-visible{transform:translateY(-3px);box-shadow:0 16px 45px #11633365,0 0 0 6px #2bbb5620}
.zx-online-dot{position:absolute;right:1px;top:0;width:14px;height:14px;background:#ffe6a0;border-radius:50%;border:3px solid #fff}
.zx-chat-tip{position:relative;max-width:min(320px,calc(100vw - 32px));width:315px;display:flex;flex-direction:column;gap:9px;border:1px solid #ebe2f2;padding:20px 18px 16px;border-radius:21px;background:#fff;color:#261433;box-shadow:0 18px 55px #180a2770;animation:zx-rise .26s ease-out}
.zx-chat-tip[hidden]{display:none!important}.zx-chat-tip::after{content:'';position:absolute;bottom:-8px;right:27px;width:15px;height:15px;background:white;border-bottom:1px solid #ebe2f2;border-right:1px solid #ebe2f2;transform:rotate(45deg)}
.zx-chat-tip strong{font-size:15px;line-height:1.3;max-width:240px;font-weight:800}.zx-chat-tip>span{font-size:12px;color:#74647e}.zx-chat-tip>a{background:#23b862;color:white;border-radius:13px;font-size:12px;font-weight:800;line-height:1.4;padding:13px 14px;display:flex;justify-content:space-between;gap:9px;text-decoration:none}.zx-chat-tip>a:hover{background:#138d48}.zx-chat-dismiss{position:absolute;top:10px;right:11px;border:0;color:#846a91;background:#f5eff8;width:28px;height:28px;border-radius:50%;font-size:20px;cursor:pointer}
.zx-cookie-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:flex-start;padding:24px;background:#140e205b;backdrop-filter:blur(4px)}.zx-cookie-overlay[hidden]{display:none!important}
.zx-cookie-panel{background:#fff;color:#281b31;width:min(500px,100%);padding:25px 27px 20px;border:1px solid #e7dbea;border-radius:23px;box-shadow:0 30px 95px #14072560;outline:0;max-height:calc(100vh - 48px);overflow:auto;animation:zx-rise .25s ease-out}
.zx-cookie-top{display:flex;align-items:center;gap:10px}.zx-cookie-icon{width:38px;height:38px;border-radius:12px;background:#371850;color:#ffca4b;display:grid;place-items:center;font-size:20px}.zx-cookie-label{font-size:10px;font-weight:850;letter-spacing:.14em;color:#78538d}.zx-cookie-panel h2{font-size:24px;line-height:1.18;letter-spacing:-.045em;font-weight:850;margin:17px 0 10px}.zx-cookie-panel p{font-size:12px;line-height:1.75;color:#675d6e;margin:0 0 20px}
.zx-cookie-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zx-cookie-buttons button{padding:13px 8px;min-height:45px;font-size:12px;font-weight:800;border-radius:13px;border:1px solid transparent;cursor:pointer}.zx-cookie-accept{background:#ffbd2e;color:#261236}.zx-cookie-reject{background:#f6f0f8;color:#361c48;border-color:#e5d6ef!important}.zx-cookie-buttons button:hover{filter:brightness(.97)}.zx-cookie-customise{border:0;background:transparent;color:#57237a;font-weight:800;font-size:12px;display:block;margin:12px auto 8px;cursor:pointer;padding:7px}
.zx-cookie-foot{border-top:1px solid #eee5f2;padding-top:13px;color:#857c89;font-size:11px}.zx-cookie-foot a{color:#5e2c81;text-decoration:underline;text-underline-offset:3px}
.zx-cookie-options{border:1px solid #e9dceb;border-radius:15px;margin:9px 0 17px;padding:0 13px}.zx-cookie-options[hidden]{display:none!important}.zx-cookie-option{display:flex;align-items:center;gap:13px;justify-content:space-between;padding:13px 0}.zx-cookie-option+.zx-cookie-option{border-top:1px solid #eee5f2}.zx-cookie-option strong{display:block;font-size:12px}.zx-cookie-option small{display:block;font-size:10px;color:#746a7b;line-height:1.4;margin-top:2px}.zx-essential{white-space:nowrap;color:#5d3572;background:#f4ecf7;padding:7px 9px;border-radius:7px;font-size:10px;font-weight:800}.zx-cookie-option input{position:absolute;opacity:0;width:1px;height:1px}.zx-switch{width:44px;height:25px;flex-shrink:0;border-radius:22px;background:#ccc0d4;position:relative;transition:background .2s}.zx-switch:after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .2s}.zx-cookie-option input:checked+.zx-switch{background:#4d2570}.zx-cookie-option input:checked+.zx-switch:after{transform:translateX(19px)}.zx-cookie-option input:focus-visible+.zx-switch{outline:3px solid #ffbd2e;outline-offset:2px}
.zx-policy-link{cursor:pointer}.zx-consent-embed{position:relative;min-height:270px;display:grid;place-items:center;background:linear-gradient(155deg,#f3edf8,#eee7f5);border:1px solid #e1d3ea;border-radius:17px;overflow:hidden}.zx-consent-embed iframe{height:100%;min-height:270px;width:100%;border:0;display:block}.zx-embed-prompt{text-align:center;padding:23px;max-width:320px;color:#3a2350}.zx-embed-prompt strong{display:block;font-size:17px;font-weight:850;margin-bottom:8px}.zx-embed-prompt p{font-size:12px;color:#786b83;line-height:1.65}.zx-embed-prompt button{border:0;background:#3f1e5b;color:#fff;padding:12px 18px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}.zx-embed-prompt button:hover{background:#592c7c}.zx-policy{padding:75px 0 110px;background:linear-gradient(180deg,#f4eff8,#fff 20%)}.zx-policy .zl-container{max-width:1150px}.zx-policy-hero{background:radial-gradient(circle at 88% 0,#5c2b7b,#241232 65%);color:white;padding:55px clamp(25px,5vw,65px);border-radius:27px;margin-bottom:32px;box-shadow:0 25px 55px #29153525}.zx-policy-hero small{color:#ffd16c;font-weight:900;letter-spacing:.15em}.zx-policy-hero h1{font-size:clamp(35px,5vw,60px);letter-spacing:-.065em;margin:12px 0}.zx-policy-hero p{max-width:690px;color:#e1d5e8;line-height:1.8}.zx-policy-updated{font-size:11px;color:#f4d395}
.zx-policy-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:26px;align-items:start}.zx-policy-nav{position:sticky;top:105px;padding:20px;background:#fff;border:1px solid #e9e1ed;border-radius:18px;box-shadow:0 12px 40px #361a4b09}.zx-policy-nav strong{font-size:12px;color:#552a72;display:block;margin-bottom:12px}.zx-policy-nav a{display:block;padding:8px 0;color:#74677e;font-size:12px;text-decoration:none}.zx-policy-nav a:hover{color:#562f77}.zx-policy-body{border:1px solid #e9e1ed;border-radius:22px;background:white;padding:clamp(24px,4.2vw,55px);box-shadow:0 15px 44px #2915350a}.zx-policy-body section+section{border-top:1px solid #f0eaf2;margin-top:26px;padding-top:27px}.zx-policy-body h2{font-size:22px;letter-spacing:-.035em;color:#311843;margin:0 0 12px}.zx-policy-body p,.zx-policy-body li{font-size:13px;line-height:1.85;color:#62596a}.zx-policy-body li{margin-bottom:7px}.zx-policy-body a{text-decoration:underline;text-underline-offset:3px;color:#532b78}.zx-policy-body strong{color:#2d2037}.zx-policy-intro{border-left:4px solid #ffbd2e;background:#fbf6ec;padding:17px 20px;border-radius:0 12px 12px 0;margin-bottom:25px}.zx-policy-intro p{margin:0}.zx-policy-cta{margin-top:30px;border-radius:18px;padding:22px;background:#29153e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.zx-policy-cta strong{color:#fff}.zx-policy-cta a{background:#ffbd2e;color:#24142b!important;text-decoration:none;padding:11px 16px;border-radius:40px;font-size:12px;font-weight:850}
@keyframes zx-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.zx-contact{right:15px;bottom:15px}.zx-wa-fab{width:60px;height:60px}.zx-cookie-overlay{padding:10px;align-items:end}.zx-cookie-panel{border-radius:20px;padding:20px 18px;max-height:calc(100dvh - 20px)}.zx-cookie-panel h2{font-size:21px}.zx-chat-tip{width:min(300px,calc(100vw - 32px))}.zx-policy{padding:34px 0 70px}.zx-policy-grid{grid-template-columns:1fr}.zx-policy-nav{position:static;display:flex;gap:12px;flex-wrap:wrap}.zx-policy-nav strong{width:100%}.zx-policy-nav a{display:inline-flex;font-size:11px;padding:0}.zx-policy-hero{padding:34px 25px}.zx-policy-cta{flex-direction:column;align-items:start}}
@media(prefers-reduced-motion:reduce){.zx-chat-tip,.zx-cookie-panel{animation:none}.zx-wa-fab{transition:none}}

/* Contact layout repair 2026-10-22: remove oversized blank Facebook embed and map whitespace. */
.zl-contact-grid{align-items:start;gap:23px}
.zl-contact-primary{gap:18px}
.zl-social-row a{min-height:68px;gap:14px;align-items:center}
.zl-social-row a>span:first-of-type{min-width:0;flex:1}
.zl-social-row small{display:block;opacity:.75;margin-top:4px;font-size:10px;font-weight:650;line-height:1.45}
.zl-social-row .zl-social-arrow{margin-left:auto;font-size:18px;font-weight:800;flex:0 0 auto}
.zl-map-card{min-height:0!important;align-self:start;padding:10px;display:flex;flex-direction:column}
.zl-map-card>.zx-consent-embed{height:clamp(395px,27.5vw,430px);min-height:0;flex:0 0 auto;display:grid;border:0;border-radius:13px;overflow:hidden;background:linear-gradient(145deg,#e9e2f1,#f6f0f9)}
.zl-map-card>.zx-consent-embed iframe{height:100%!important;min-height:0!important;width:100%;display:block;border:0}
.zl-map-card .zl-map-bottom{padding:12px 12px 7px;min-height:42px}
@media(max-width:760px){.zl-contact-grid{gap:18px}.zl-contact-primary{padding:20px;gap:15px}.zl-map-card>.zx-consent-embed{height:clamp(275px,75vw,385px)}.zl-social-row a{padding:13px 14px}.zl-social-row small{font-size:9.5px}}

.zl-social-row .zl-facebook-count{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 11px;background:#23113717;border:1px solid #23113718;border-radius:10px;white-space:nowrap;color:#281332}
.zl-social-row .zl-facebook-count strong{font-size:17px;line-height:1.05;font-weight:900}
.zl-social-row .zl-facebook-count small{font-size:9px;font-weight:800;margin:0;opacity:.85}
.zl-social-row .zl-fb-disclaimer{display:block;color:#d7c4e2;font-size:9px;margin-top:6px;line-height:1.45}
@media(max-width:480px){.zl-social-row .zl-facebook-count{padding:6px 7px}.zl-social-row .zl-facebook-count strong{font-size:15px}.zl-social-row .zl-social-arrow{display:none}}

@media(min-width:761px) and (max-width:1000px){.zl-map-card>.zx-consent-embed{height:440px}}


/* Cookie consent = centered modal, not a bottom-left popup.
   Desktop and mobile have equal Accept / Reject visual prominence. */
.zx-cookie-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(17, 9, 29, .68);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  z-index: 1000;
}
.zx-cookie-overlay[hidden] { display: none !important; }
.zx-cookie-panel {
  width: min(520px, 100%);
  max-height: calc(100dvh - 44px);
  margin: auto;
  overflow-y: auto;
  padding: 27px 29px 23px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(9, 4, 20, .5);
  animation: zx-cookie-zoom .25s ease-out;
}
body.zx-consent-open { overflow: hidden; }
@keyframes zx-cookie-zoom {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 760px) {
  .zx-cookie-overlay { align-items: center; justify-content: center; padding: 14px; }
  .zx-cookie-panel { padding: 23px 20px 18px; max-height: calc(100dvh - 28px); border-radius: 21px; }
}
@media (prefers-reduced-motion: reduce) { .zx-cookie-panel { animation: none; } }
