/* RadioMeteo Locator e distanze 1.0.2 — scoped stylesheet; base shared with Diagnosi QRM. Same visual system as the approved
 * Satellites & ISS module; colours come from the active RadioMeteo 2027 theme tokens
 * (fallbacks = values measured on the live theme 1.0.26.30). Minimum text size 13 px. */
.rmq{--q-navy:var(--navy,#071b32);--q-teal:var(--teal,#0086a9);--q-ink:var(--ink,#0c2541);--q-line:var(--line,#d9e9f3);--q-muted:var(--muted,#5b728a);--q-radius:var(--radius,14px);--q-soft:#f2f8fb;
 width:100%;min-width:0;max-width:100%;color:var(--q-ink);font:inherit;line-height:1.6;container-type:inline-size}
.rmq *,.rmq *::before,.rmq *::after{box-sizing:border-box}
.rmq [hidden]{display:none!important}
.rmq :is(h2,h3,h4){letter-spacing:-.02em}
.rmq a{color:var(--q-teal)}
.rmq :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid #b7650b;outline-offset:3px}

/* Hero */
.rmq-hero{background:var(--q-navy);color:#fff;border-radius:var(--q-radius);padding:26px;display:flex;align-items:center;justify-content:space-between;gap:22px;overflow:hidden;border-bottom:4px solid var(--q-teal)}
.rmq-hero-text{min-width:0;flex:1}
.rmq-kicker{font-size:13px;line-height:1.5;letter-spacing:.11em;font-weight:750;color:#a7e2e2;margin:0 0 12px}
.rmq-hero h2{font-size:clamp(1.6rem,3.2vw,2.25rem);color:#fff;line-height:1.2;margin:0 0 13px;font-weight:800}
.rmq-hero p{color:#e6f2f4;font-size:16px;line-height:1.65;margin:0;max-width:66ch}
.rmq-illustration{width:150px;height:auto;flex:none;max-width:28%}

/* Quick navigation */
.rmq-quick{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 25px}
.rmq-quick a{flex:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:44px;text-decoration:none;border:1px solid var(--q-line);background:#fff;border-radius:8px;padding:9px 15px;color:var(--q-navy);font-weight:700;font-size:14px}
.rmq-quick a:hover,.rmq-quick a:focus-visible{border-color:var(--q-teal);color:var(--q-teal)}

/* Sections */
.rmq-section{margin:0 0 25px;padding:23px;background:#fff;border:1px solid var(--q-line);border-radius:var(--q-radius);min-width:0;scroll-margin-top:22px}
.rmq-section-head h3{margin:0 0 8px;color:var(--q-navy);font-size:clamp(1.38rem,2.8vw,1.75rem);line-height:1.25;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.rmq-section-head p{margin:0 0 20px;color:#405866;font-size:15px;line-height:1.7}

/* Info popovers (mouse, touch, keyboard) */
.rmq-info{position:relative;display:inline-block;vertical-align:middle;font-size:13px;line-height:1.2;letter-spacing:0}
.rmq-info summary{display:inline-grid;place-items:center;list-style:none;cursor:help;height:24px;width:24px;border:1px solid #88aab2;border-radius:50%;color:var(--q-teal);font-weight:800;background:#fff}
.rmq-info summary::-webkit-details-marker{display:none}
.rmq-info-panel{position:absolute;left:0;top:calc(100% + 7px);z-index:15;background:#fff;color:var(--q-navy);border:1px solid var(--q-line);box-shadow:0 6px 18px #0c254126;border-radius:7px;width:min(300px,72vw);padding:11px 13px;line-height:1.55;text-align:left;font-size:14px;font-weight:500}
.rmq-info:not([open]) .rmq-info-panel{display:none}

/* Guided path */
.rmq-actions{display:flex;gap:10px;flex-wrap:wrap}
.rmq-actions button{background:var(--q-teal);color:#fff;border:0;border-radius:7px;padding:9px 17px;min-height:44px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.rmq-actions .rmq-reset{color:var(--q-navy);background:#fff;border:1px solid #aab9bb}
.rmq-level{font-size:13px;font-weight:750;color:#a7e2e2}
.rmq .rmq-result-link{color:#a7e2e2;font-weight:750;font-size:14px;text-underline-offset:3px}

/* Source profiles */

/* Tools */
.rmq-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.rmq-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:700;color:var(--q-navy);font-size:14px}
.rmq-field-wide{grid-column:1/-1}
.rmq-form input,.rmq-form select{width:100%;min-width:0;min-height:45px;border:1px solid #aab9bb;border-radius:8px;background:#fff;color:var(--q-ink);padding:10px 12px;font:inherit;font-size:15px;font-weight:500}
.rmq-form .rmq-actions{grid-column:1/-1}
.rmq-out{grid-column:1/-1;border-radius:10px;padding:15px 16px;background:#fff;border:1px solid var(--q-line);border-left:4px solid var(--q-teal);font-size:15px;line-height:1.55;color:#405866;min-height:64px}
.rmq-out.rmq-has-result{background:var(--q-navy);border-color:var(--q-navy);border-left-color:#87d9da;color:#e6f2f4}
.rmq-out-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:5px 0;font-size:14px;color:#cde4e5}
.rmq-out-row strong{color:#fff;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rmq-out-row:first-child strong{font-size:clamp(1.3rem,2.4vw,1.65rem)}
.rmq-out-note{margin:8px 0 0;font-size:14px;line-height:1.55;color:#e6f2f4}

/* Reporting */

/* Articles */
.rmq-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rmq-article{min-width:0;border:1px solid var(--q-line);border-radius:10px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:9px}
.rmq-article h4{font-size:18px;line-height:1.36;margin:0}
.rmq-article h4 a{color:var(--q-navy);text-decoration:none}
.rmq-article h4 a:hover{color:var(--q-teal);text-decoration:underline}
.rmq-article time{font-size:13px;font-weight:650;color:#485f6c}
.rmq-article p{font-size:15px;line-height:1.65;color:#405866;margin:0}
.rmq-article-read{font-size:15px;font-weight:750;margin-top:auto}
.rmq-articles-empty{font-size:15px;line-height:1.65;color:#405866;background:#f4f8fa;border:1px solid var(--q-line);padding:18px;border-radius:9px;margin:0}

/* Breakpoints follow the real content column (container queries), not the window. */
@container (max-width:760px){
}
@container (max-width:620px){
 .rmq-hero{padding:21px}
 .rmq-section{padding:17px}
 .rmq-illustration{width:96px}
}
@container (max-width:460px){
 .rmq-hero{padding:19px}
 .rmq-hero p{font-size:15px}
 .rmq-illustration{display:none}
 .rmq-form{grid-template-columns:minmax(0,1fr)}
 .rmq-actions{flex-direction:column}
 .rmq-actions button{width:100%}
 .rmq-quick a{flex:1 1 40%}
}
@media (prefers-reduced-motion:reduce){.rmq *{scroll-behavior:auto!important;transition:none!important}}

/* Locator: forms */
.rmloc-form{max-width:900px}
.rmloc-form .rmq-out{min-height:72px}

/* Maps */
.rmloc-maps{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
.rmloc-map{margin:0;min-width:0;border:1px solid var(--q-line);border-radius:11px;background:var(--q-soft);padding:12px}
.rmloc-map svg{display:block;width:100%;height:auto;border-radius:8px;background:#e7f3f8}
.rmloc-map figcaption{margin-top:8px;font-size:14px;line-height:1.5;color:#405866;font-weight:600}
.rmloc-sea{fill:#e4f1f7}
.rmloc-land{fill:#c9dccf;stroke:#9fb8a7;stroke-width:.6}
.rmloc-land-outline{fill:none;stroke:#9fb8a7;stroke-width:.8}
.rmloc-grid line,.rmloc-grid circle{fill:none;stroke:#9cb9c9;stroke-width:.6;stroke-dasharray:3 3;opacity:.8}
.rmloc-rim{fill:none;stroke:var(--q-navy);stroke-width:1.5}
.rmloc-path-short{fill:none;stroke:var(--q-teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rmloc-path-long{fill:none;stroke:#b7650b;stroke-width:2;stroke-dasharray:6 5;stroke-linecap:round;opacity:.9}
.rmloc-mark-a{fill:#eeb66c;stroke:#071b32;stroke-width:1.5}
.rmloc-mark-b{fill:#fff;stroke:var(--q-teal);stroke-width:2.5}
.rmloc-cardinal text{font:700 14px/1 system-ui,sans-serif;fill:var(--q-navy);text-anchor:middle}
.rmloc-cardinal .rmloc-ring-label{font-size:11px;font-weight:600;fill:#405866;text-anchor:start}
.rmloc-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0;font-size:14px;color:#344e5b}
.rmloc-legend span{display:inline-flex;align-items:center;gap:8px}
.rmloc-legend span::before{content:"";display:inline-block}
.rmloc-l-short::before{width:24px;height:3px;background:var(--q-teal);border-radius:2px}
.rmloc-l-long::before{width:24px;height:0;border-top:2px dashed #b7650b}
.rmloc-l-a::before{width:10px;height:10px;border-radius:50%;background:#eeb66c;border:1.5px solid #071b32}
.rmloc-l-b::before{width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid var(--q-teal)}
.rmloc-map-status{margin:10px 0 0;font-size:15px;line-height:1.55;color:#405866;font-variant-numeric:tabular-nums}

/* Guide table */
.rmloc-table-wrap{overflow-x:auto;border:1px solid var(--q-line);border-radius:10px}
.rmloc-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:520px}
.rmloc-table th,.rmloc-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--q-line);vertical-align:top}
.rmloc-table thead th{background:var(--q-navy);color:#fff;font-size:14px;font-weight:750}
.rmloc-table tbody th{color:var(--q-navy);font-weight:800;white-space:nowrap}
.rmloc-table tbody tr:nth-child(even){background:var(--q-soft)}
.rmloc-table tbody tr:last-child>*{border-bottom:0}
.rmloc-guide-uses{margin:16px 0 0;font-size:15px;line-height:1.7;color:#344e5b}

@container (max-width:760px){.rmloc-maps{grid-template-columns:minmax(0,1fr)}.rmloc-map-az{max-width:460px;justify-self:center;width:100%}}
@container (max-width:620px){.rmq-articles{grid-template-columns:minmax(0,1fr)}}

/* 1.0.1 — quick navigation: never break a word inside a button; buttons wrap to a new row instead. */
.rmq-quick a{flex:1 1 auto;white-space:nowrap}
/* 1.0.2: in practice + see also */
.rmloc-practice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rmloc-practice article{min-width:0;border:1px solid var(--q-line);border-top:4px solid var(--q-teal);border-radius:10px;padding:16px;background:#fff}
.rmloc-practice h4{margin:0 0 8px;font-size:16px;line-height:1.4;color:var(--q-navy)}
.rmloc-practice p{margin:0;font-size:15px;line-height:1.65;color:#405866}
.rmloc-see{margin:16px 0 0;font-size:15px;line-height:1.8;color:#405866}
.rmloc-see a{font-weight:700}
@container (max-width:640px){.rmloc-practice{grid-template-columns:minmax(0,1fr)}}
