/* Weblancer — butoane flotante (WhatsApp, accesibilitate) și preferințele de accesibilitate (EAA / WCAG 2.1 AA). */

/* Focus vizibil pentru tastatură, pe tot site-ul (WCAG 2.4.7) */
:focus-visible { outline:3px solid #1a5cff; outline-offset:3px }
html[data-focus-input=pointer] :focus:not(:focus-visible) { outline:none }

/* ── Butoane flotante ── */
.wl-float { position:fixed; inset:auto 0 0 0; z-index:900; pointer-events:none }
.wl-fab {
  position:fixed;
  bottom:calc(20px + env(safe-area-inset-bottom, 0px));
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:0;
  padding:0;
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 10px 28px -10px #0008;
  transition:transform .35s cubic-bezier(.19,1,.22,1), box-shadow .35s
}
.wl-fab:hover { transform:translateY(-3px) scale(1.05); box-shadow:0 14px 32px -10px #0009 }
.wl-fab-wa { background:#25d366; color:#fff }
.wl-fab-a11y { background:#1a3fd6; color:#fff }
.wl-float-wa-right .wl-fab-wa, .wl-float-wa-left .wl-fab-a11y { right:calc(20px + env(safe-area-inset-right, 0px)) }
.wl-float-wa-right .wl-fab-a11y, .wl-float-wa-left .wl-fab-wa { left:calc(20px + env(safe-area-inset-left, 0px)) }
.wl-fab:focus-visible { outline:3px solid #ffbf00; outline-offset:3px }

.wl-a11y-panel {
  position:fixed;
  bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  width:min(340px, calc(100vw - 32px));
  max-height:min(560px, calc(100vh - 120px));
  overflow:auto;
  padding:18px;
  border-radius:20px;
  background:#fff;
  color:#111;
  box-shadow:0 24px 60px -20px #0007, 0 0 0 1px #0001;
  pointer-events:auto;
  font:15px/1.4 Inter, Arial, sans-serif;
  letter-spacing:0;
  zoom:1
}
.wl-float-wa-right .wl-a11y-panel { left:calc(16px + env(safe-area-inset-left, 0px)) }
.wl-float-wa-left .wl-a11y-panel { right:calc(16px + env(safe-area-inset-right, 0px)) }
.wl-a11y-panel[hidden] { display:none }
.wl-a11y-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px }
.wl-a11y-title { font-size:18px; font-weight:600; margin:0 }
.wl-a11y-close { width:36px; height:36px; border-radius:50%; border:1px solid #0002; background:#fff; color:#111; cursor:pointer }
.wl-a11y-size { display:flex; align-items:center; gap:8px; margin-bottom:12px }
.wl-a11y-size span { flex:1 }
.wl-a11y-size button { width:44px; height:40px; border-radius:12px; border:1px solid #0003; background:#f4f5f7; color:#111; font-weight:600; cursor:pointer }
.wl-a11y-size output { min-width:48px; text-align:center; font-variant-numeric:tabular-nums }
.wl-a11y-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px }
.wl-a11y-grid button {
  min-height:52px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #0002;
  background:#f4f5f7;
  color:#111;
  font:inherit;
  font-size:14px;
  text-align:left;
  cursor:pointer
}
.wl-a11y-grid button[aria-pressed=true] { background:#1a3fd6; border-color:#1a3fd6; color:#fff }
.wl-a11y-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; font-size:14px }
.wl-a11y-reset { border:1px solid #0003; background:#fff; color:#111; border-radius:99px; padding:9px 16px; cursor:pointer; font:inherit }
.wl-a11y-foot a { color:#1a3fd6; text-decoration:underline; text-underline-offset:3px }
@media (max-width:767px) {
  .wl-fab { width:50px; height:50px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)) }
  .wl-float-wa-right .wl-fab-wa, .wl-float-wa-left .wl-fab-a11y { right:calc(14px + env(safe-area-inset-right, 0px)) }
  .wl-float-wa-right .wl-fab-a11y, .wl-float-wa-left .wl-fab-wa { left:calc(14px + env(safe-area-inset-left, 0px)) }
  .wl-a11y-panel { bottom:calc(76px + env(safe-area-inset-bottom, 0px)) }
}
@media print { .wl-float { display:none } }

/* ── Preferințele din panou ── */
html.a11y-text-1 :is(main, .footer) { zoom:1.15 }
html.a11y-text-2 :is(main, .footer) { zoom:1.3 }
html.a11y-text-3 :is(main, .footer) { zoom:1.5 }

html:is(.a11y-contrast, .a11y-gray) :is(main, .footer, .header) { filter:var(--a11y-contrast, ) var(--a11y-gray, ) }
html.a11y-contrast { --a11y-contrast:contrast(1.45) }
html.a11y-gray { --a11y-gray:grayscale(1) }
html.a11y-contrast :is(main, .footer) :is(p, li, span, small, dd, figcaption) { opacity:1 !important; text-shadow:none !important }

html.a11y-links :is(main, .footer) a { text-decoration:underline !important; text-underline-offset:.18em; text-decoration-thickness:2px }

html.a11y-readable body, html.a11y-readable body :is(p, li, a, span, h1, h2, h3, h4, h5, h6, button, input, select, textarea, label, dd, dt, blockquote, figcaption) {
  font-family:Verdana, Tahoma, Arial, sans-serif !important;
  letter-spacing:.01em !important
}

html.a11y-spacing :is(main, .footer) :is(p, li, dd, dt, blockquote, figcaption, label) {
  line-height:1.6 !important;
  letter-spacing:.12em !important;
  word-spacing:.16em !important
}
html.a11y-spacing :is(main, .footer) p { margin-bottom:2em !important }

html.a11y-no-motion *, html.a11y-no-motion *::before, html.a11y-no-motion *::after {
  animation-duration:.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:.001ms !important;
  scroll-behavior:auto !important
}
html.a11y-no-motion .custom-cursor, html.a11y-cursor .custom-cursor { display:none !important }
html.a11y-no-motion.cursor-active, html.a11y-cursor.cursor-active { cursor:auto }

html.a11y-cursor, html.a11y-cursor * {
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 4l30 16-13 3 7 15-6 3-7-15-11 9z' fill='%23000' stroke='%23fff' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4, auto !important
}

html.a11y-focus :focus { outline:4px solid #ffbf00 !important; outline-offset:3px !important; box-shadow:0 0 0 7px #000 !important }
html.a11y-focus :is(main, .footer, .header) :is(a, button, summary, input, select, textarea):hover { outline:2px dashed currentColor; outline-offset:3px }
