/* BrightBrain Works Tools. Kleuren en lettertypen komen uit de Elementor Globale kleuren en lettertypen. */
.bbw-tools {
  --t: var(--e-global-color-primary, #25677A);
  --ink: var(--e-global-color-secondary, #0B1D33);
  --acc: var(--e-global-color-accent, #EACB3D);
  --acc-d: var(--e-global-color-bbw_yellow_dark, #D4B224);
  --sage: var(--e-global-color-bbw_sage, #DCEBEE);
  --line: var(--e-global-color-bbw_line, #D3E2E6);
  --bg: var(--e-global-color-bbw_bg, #F1F7F8);
  --white: var(--e-global-color-bbw_white, #FFFFFF);
  --muted: var(--e-global-color-bbw_muted, #425A6E);
  color: var(--ink);
  font-family: inherit;
  font-size: var(--e-global-typography-text-font-size, 17px);
  line-height: 1.7;
}
.bbw-tools *, .bbw-tools *::before, .bbw-tools *::after { box-sizing: border-box; }
.bbw-tools h2 { margin: 0 0 .6em; color: var(--ink); font-family: var(--e-global-typography-bbw_title_m-font-family, inherit); font-size: var(--e-global-typography-bbw_title_m-font-size, 28px); font-weight: var(--e-global-typography-bbw_title_m-font-weight, 700); line-height: 1.2; }
.bbw-tools p { margin: 0 0 1em; max-width: 62ch; }
.bbw-tools .tool { background: var(--white); border: 1px solid var(--line); border-radius: 24px; padding: 2rem; margin-bottom: 1.5rem; scroll-margin-top: 110px; }
.bbw-tools .tool-grid { display: grid; gap: 2rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 800px) { .bbw-tools .tool { padding: 1.4rem; } .bbw-tools .tool-grid { grid-template-columns: 1fr; } }
.bbw-tools .center { text-align: center; }
.bbw-tools .center p { margin-inline: auto; }
.bbw-tools label { font-weight: 600; display: block; margin-bottom: .3rem; }
.bbw-tools .field { width: 100%; padding: .8rem 1rem; border-radius: 12px; border: 2px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; }
.bbw-tools .field:focus { border-color: var(--t); outline: none; }
.bbw-tools :focus-visible { outline: 3px solid var(--acc); outline-offset: 3px; border-radius: 6px; }
.bbw-tools .btn { display: inline-block; padding: .8rem 1.6rem; border-radius: 999px; font: inherit; font-weight: 600; border: 2px solid transparent; cursor: pointer; transition: background .15s; }
.bbw-tools .btn-primary { background: var(--acc); color: var(--ink); }
.bbw-tools .btn-primary:hover { background: var(--acc-d); }
.bbw-tools .btn-ghost { border-color: var(--t); color: var(--t); background: transparent; }
.bbw-tools .btn-ghost:hover { background: var(--t); color: var(--white); }
.bbw-tools .btn-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
.bbw-tools .chips { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bbw-tools .chip { border: 2px solid var(--line); background: var(--white); color: var(--ink); font: inherit; padding: .4rem 1rem; border-radius: 999px; cursor: pointer; }
.bbw-tools .chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.bbw-tools .ring-wrap { position: relative; width: min(280px, 80vw); aspect-ratio: 1; margin: 0 auto 1rem; }
.bbw-tools .ring-wrap svg { transform: rotate(-90deg); width: 100%; height: 100%; display: block; }
.bbw-tools .ring-bg { stroke: var(--line); }
.bbw-tools .ring-fg { stroke: var(--t); transition: stroke-dashoffset .5s linear; stroke-linecap: round; }
.bbw-tools .ring-time { position: absolute; inset: 0; display: grid; place-items: center; font-size: 3rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.bbw-tools .ring-time small { display: block; font-size: .9rem; font-weight: 500; color: var(--muted); text-align: center; }
.bbw-tools .hint { font-size: .9rem; color: var(--muted); margin: 0 0 .8rem; }
.bbw-tools .note { background: var(--sage); border-left: 6px solid var(--t); border-radius: 12px; padding: 1rem 1.2rem; margin-top: 1.2rem; max-width: 62ch; }
.bbw-tools details { background: var(--bg); border: 1px solid var(--line); border-radius: 14px; padding: .9rem 1.1rem; margin-top: 1rem; }
.bbw-tools summary { cursor: pointer; font-weight: 600; }
.bbw-tools details[open] summary { margin-bottom: .6rem; color: var(--t); }
.bbw-tools details ul { padding-left: 1.2rem; margin: 0 0 1em; }
.bbw-tools .todo { list-style: none; padding: 0; margin: 1rem 0 0; }
.bbw-tools .todo li { display: flex; align-items: center; gap: .75rem; background: var(--bg); border-radius: 12px; padding: .7rem 1rem; margin-bottom: .5rem; }
.bbw-tools .todo input[type=checkbox] { width: 22px; height: 22px; accent-color: var(--t); flex-shrink: 0; }
.bbw-tools .todo li.done span { text-decoration: line-through; color: var(--muted); }
.bbw-tools .todo button { margin-left: auto; background: none; border: 0; color: var(--muted); cursor: pointer; font-size: 1.1rem; }
.bbw-tools .stars { font-size: 1.4rem; letter-spacing: .2rem; }
.bbw-tools .breath { width: 160px; height: 160px; border-radius: 50%; background: var(--sage); border: 4px solid var(--t); margin: 1rem auto; display: grid; place-items: center; text-align: center; padding: .5rem; font-weight: 600; transition: transform 4s ease-in-out; }
.bbw-tools .breath.in { transform: scale(1.35); }
.bbw-tools .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (prefers-reduced-motion: reduce) { .bbw-tools *, .bbw-tools *::before, .bbw-tools *::after { transition: none !important; animation: none !important; } }
