/* newtastic Privacy Scan – the free check on the website. Fits UIkit/YOOtheme (inputs and buttons are theirs) and stays
   readable without them. Colours of the traffic light; everything else follows the template. */
.nt-scan { --nt-scan-red: #e03131; --nt-scan-yellow: #f08c00; --nt-scan-info: #1c7ed6; --nt-scan-green: #2f9e44;
  --nt-scan-line: rgba(0, 0, 0, .09); --nt-scan-soft: rgba(0, 0, 0, .03); max-width: 860px; margin: 0 auto; }
.nt-scan-head { margin-bottom: 1.5rem; }
.nt-scan-title { margin: 0 0 .5rem; }
.nt-scan-intro { font-size: 1.15rem; line-height: 1.55; margin: 0; }
.nt-scan-form { padding: 1.25rem; border: 1px solid var(--nt-scan-line); border-radius: 16px; background: var(--nt-scan-soft); }
.nt-scan-label { display: block; font-weight: 600; margin-bottom: .5rem; }
.nt-scan-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.nt-scan-input { flex: 1 1 260px; min-width: 0; font-size: 1.05rem; }
.nt-scan-submit { flex: 0 0 auto; }
.nt-scan-hint, .nt-scan-busy { margin: .75rem 0 0; font-size: .92rem; opacity: .8; }
.nt-scan-busy { font-weight: 600; opacity: 1; }
.nt-scan-busy::before, .nt-scan-spinner { content: ""; display: inline-block; width: .9em; height: .9em; margin-right: .5em; vertical-align: -.1em;
  border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: nt-scan-spin .8s linear infinite; }
@keyframes nt-scan-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .nt-scan-busy::before, .nt-scan-spinner { animation: none; } }
.nt-scan-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.nt-scan-error { margin-top: 1rem; }
.nt-scan-result { margin-top: 2.5rem; }
/* The result takes the focus for screen readers after a check; it is no control, so no focus ring. */
.nt-scan .nt-scan-result:focus, .nt-scan .nt-scan-error:focus { outline: none; }
.nt-scan .nt-scan-result h2 { margin-bottom: .25rem; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem); line-height: 1.15; overflow-wrap: anywhere; }
.nt-scan-meta { margin: 0 0 1rem; opacity: .75; }
.nt-scan-summary { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.nt-scan-count { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .8rem; border: 1px solid var(--nt-scan-line); border-radius: 999px; }
.nt-scan-dot { display: inline-block; flex: 0 0 auto; width: .75rem; height: .75rem; border-radius: 50%; background: var(--nt-scan-dot, #999); }
.nt-scan-red { --nt-scan-dot: var(--nt-scan-red); }
.nt-scan-yellow { --nt-scan-dot: var(--nt-scan-yellow); }
.nt-scan-info { --nt-scan-dot: var(--nt-scan-info); }
.nt-scan-green { --nt-scan-dot: var(--nt-scan-green); }
.nt-scan-finding { display: flex; gap: .9rem; padding: 1rem 1.1rem; margin-bottom: .75rem; border: 1px solid var(--nt-scan-line); border-left: 4px solid var(--nt-scan-dot);
  border-radius: 12px; }
.nt-scan-finding .nt-scan-dot { margin-top: .4rem; }
.nt-scan-finding h3 { font-size: 1.05rem; margin: 0 0 .3rem; }
.nt-scan-finding p { margin: 0; }
.nt-scan-level { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.nt-scan-items { margin-top: .5rem; font-size: .9rem; }
.nt-scan-items summary, .nt-scan-rest summary, .nt-scan-pages summary { cursor: pointer; font-weight: 600; }
.nt-scan-items ul { margin: .4rem 0 0; padding-left: 1.1rem; overflow-wrap: anywhere; }
.nt-scan-rest, .nt-scan-pages { margin: 1rem 0; padding: .9rem 1.1rem; border: 1px solid var(--nt-scan-line); border-radius: 12px; }
.nt-scan-line { display: flex; gap: .75rem; margin-top: .75rem; }
.nt-scan-line .nt-scan-dot { margin-top: .4rem; }
.nt-scan-line p { margin: 0; }
.nt-scan-pages ol { margin: .5rem 0 0; overflow-wrap: anywhere; }
.nt-scan-limits, .nt-scan-disclaimer { font-size: .9rem; opacity: .75; }
.nt-scan-next { margin: 1.5rem 0 1rem; padding: 1.25rem; border-radius: 16px; background: var(--nt-scan-soft); border: 1px solid var(--nt-scan-line); }
.nt-scan-next h3 { margin-top: 0; }
.nt-scan-buttons { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 0; }
/* The place in the queue (20.10.2026): one card like the form, the place in large type, the e-mail form below. */
.nt-scan-notice { margin-top: 1rem; }
.nt-scan-queue { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--nt-scan-line); border-radius: 16px; background: var(--nt-scan-soft); }
.nt-scan .nt-scan-queue:focus { outline: none; }
.nt-scan .nt-scan-queue h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.2; overflow-wrap: anywhere; }
.nt-scan-queue-place { font-size: 1.15rem; font-weight: 600; margin: 0 0 .75rem; }
.nt-scan-mail { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--nt-scan-line); }
.nt-scan-queue-mail-set { font-weight: 600; color: var(--nt-scan-green); }
.nt-scan-mail-error { margin: .75rem 0 0; font-weight: 600; color: var(--nt-scan-red); }
/* Every page read and nothing red or yellow (20.10.2026): the congratulation in green. */
.nt-scan-congrats { --nt-scan-dot: var(--nt-scan-green); display: flex; gap: .9rem; padding: 1.1rem 1.2rem; margin-bottom: 1rem; border: 1px solid var(--nt-scan-line);
  border-left: 4px solid var(--nt-scan-green); border-radius: 12px; background: rgba(47, 158, 68, .07); }
.nt-scan-congrats .nt-scan-dot { margin-top: .45rem; }
.nt-scan-congrats h3 { font-size: 1.15rem; margin: 0 0 .3rem; }
.nt-scan-congrats p { margin: 0; }
/* Foreign services with "do you need it?" and the more privacy-friendly way (20.10.2026). */
.nt-scan-services { margin: 1.5rem 0; }
.nt-scan-services h3 { margin: 0 0 .25rem; }
.nt-scan-services-intro { margin: 0 0 .75rem; opacity: .8; }
.nt-scan-service { padding: .9rem 1.1rem; margin-bottom: .6rem; border: 1px solid var(--nt-scan-line); border-radius: 12px; }
.nt-scan-service h4 { font-size: 1.02rem; margin: 0 0 .35rem; overflow-wrap: anywhere; }
.nt-scan-service-kind { font-weight: 400; font-size: .85rem; opacity: .7; margin-left: .35rem; }
.nt-scan-service p { margin: .2rem 0 0; font-size: .95rem; }
/* Joomla's proof-of-work captcha in the forms (20.10.2026). */
.nt-scan-pow-wrap { margin-top: .75rem; max-width: 360px; }
/* The customer area (20.10.2026): account, domains, addresses, checks by date – cards like the free check. */
.nt-account-company { margin: 0; font-size: 1.1rem; opacity: .8; }
.nt-account-test { padding: .6rem .9rem; border-radius: 10px; background: rgba(240, 140, 0, .1); border: 1px solid rgba(240, 140, 0, .35); font-size: .95rem; }
.nt-account .nt-account-h { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); margin: 0 0 .4rem; overflow-wrap: anywhere; }
.nt-account-section { margin: 2rem 0; }
.nt-account-none, .nt-account-meta { margin: 0 0 .75rem; opacity: .8; }
.nt-account-list { list-style: none; padding: 0; margin: 0 0 1rem; }
.nt-account-item { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: flex-start; padding: .9rem 1.1rem; margin-bottom: .6rem;
  border: 1px solid var(--nt-scan-line); border-radius: 12px; }
.nt-account-item-main { flex: 1 1 260px; min-width: 0; }
.nt-account-item h3 { font-size: 1.05rem; margin: 0 0 .25rem; overflow-wrap: anywhere; }
.nt-account-item .nt-account-meta { margin: .2rem 0 0; font-size: .92rem; }
.nt-account-item-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.nt-account-item-actions form { margin: 0; }
.nt-account-remove { font-size: .9rem; }
.nt-account-company-data > summary h2 { display: inline; }
.nt-account-form { margin-top: 1rem; }
.nt-account-fields { display: grid; gap: .75rem 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .nt-account-fields { grid-template-columns: 1fr 1fr; } .nt-account-field-street, .nt-account-field-company { grid-column: span 2; } }
.nt-account-check { display: flex; gap: .6rem; align-items: flex-start; margin-top: 1rem; font-weight: 600; }
.nt-account-check input { margin-top: .2rem; flex: 0 0 auto; }
.nt-account-back { margin: 0 0 1rem; }
.nt-account-back a::before { content: "\2190\00a0"; }
.nt-account-running { display: flex; align-items: center; gap: .1rem; font-weight: 600; }
.nt-account-start { margin: 1rem 0 1.5rem; }
.nt-account-start p:first-child { margin-top: 0; }
.nt-account-table td, .nt-account-table th { white-space: nowrap; }
