/* RadioMeteo Lab Tools 1.0.9. CSS scoped to one shortcode; theme palette reused verbatim. */
.rml{
 --rml-navy:var(--navy,#0b2638);--rml-teal:var(--teal,#087e8b);
 --rml-line:var(--line,#dce3e2);--rml-ink:var(--ink,#102e40);
 --rml-muted:var(--muted,#586a73);--rml-radius:var(--radius,14px);
 width:100%;max-width:100%;min-width:0;color:var(--rml-ink);font:inherit;container-type:inline-size;
}
.rml *,.rml *::before,.rml *::after{box-sizing:border-box}
.rml [hidden]{display:none!important}
.rml a{color:var(--rml-teal)}
.rml :is(a,button,input,select):focus-visible{outline:3px solid var(--rml-teal);outline-offset:3px}
.rml .rml-intro{
 position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;
 margin:0 0 1.15rem;padding:1.55rem 1.75rem;background:var(--rml-navy);
 color:#fff;border-radius:var(--rml-radius);border-bottom:4px solid var(--rml-teal);
 box-shadow:0 10px 25px rgb(11 38 56 / 12%);
}
.rml .rml-hero-main{position:relative;z-index:1;max-width:650px;min-width:0}
.rml .rml-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:max(13px,.69rem);font-weight:800;letter-spacing:.11em;line-height:1.4;color:#8fdadd;text-transform:uppercase}
.rml .rml-kicker::before{content:"";width:17px;height:3px;background:var(--rml-teal);border-radius:2px}
.rml .rml-hero-title{font-weight:800;font-size:clamp(1.55rem,3.5cqw,2.25rem);letter-spacing:-.026em;line-height:1.18;color:white;margin:.68rem 0 .75rem}
.rml .rml-hero-description{font-size:.93rem;line-height:1.6;color:#e5f0f0;margin:0;max-width:670px}
.rml .rml-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1.2rem;margin:1.1rem 0 0}
.rml .rml-hero-pill{display:inline-flex;align-items:center;padding:.39rem .73rem;border:1px solid rgb(143 218 221 / 38%);border-radius:7px;background:rgb(8 126 139 / 30%);color:#fff;font-size:max(13px,.75rem);font-weight:800;letter-spacing:.01em}
.rml .rml-hero-signal{color:#d6e7e9;font-size:max(13px,.77rem);font-weight:550;line-height:1.4}
.rml .rml-hero-art{position:absolute;right:-40px;top:4px;width:230px;height:100%;color:#4ebdc5;opacity:.14;pointer-events:none;z-index:0}
.rml .rml-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.9rem 1rem;margin:0 0 1.6rem;padding:1.05rem 1.2rem;background:#fff;border:1px solid var(--rml-line);border-radius:var(--rml-radius);box-shadow:0 4px 15px rgb(11 38 56 / 5%)}
.rml .rml-search-label{flex:1 1 205px;min-width:0;display:flex;flex-direction:column;gap:.45rem;color:var(--rml-navy);font-size:max(13px,.84rem);font-weight:750}
.rml input,.rml select,.rml button{font:inherit;max-width:100%}
.rml input,.rml select{min-width:0;width:100%;min-height:45px;border:1px solid #aab9bb;border-radius:8px;background:#fff;color:var(--rml-ink);padding:.66rem .8rem;box-shadow:none;font-size:.92rem;line-height:1.4}
.rml :is(input,select):focus{border-color:var(--rml-teal)}
.rml input::placeholder{color:#647782;opacity:1}
.rml .rml-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem}
.rml .rml-filters button{border:1px solid var(--rml-line);border-radius:8px;background:#fff;min-height:44px;color:var(--rml-ink);padding:.57rem .76rem;line-height:1.23;font-size:max(13px,.78rem);font-weight:750;cursor:pointer;transition:background-color .16s,color .16s,border-color .16s}
.rml .rml-filters button:hover{background:#edf4f2;border-color:var(--rml-teal)}
.rml .rml-filters button[aria-pressed="true"]{background:var(--rml-navy);border-color:var(--rml-navy);color:white;box-shadow:inset 0 -3px 0 var(--rml-teal)}
.rml .rml-group{margin:0 0 1.55rem}
.rml .rml-group>h2{margin:0 0 1rem;font-size:clamp(1.22rem,2.2cqw,1.52rem);font-weight:800;line-height:1.28;color:var(--rml-navy);letter-spacing:-.015em;display:flex;align-items:center;gap:.75rem}
.rml .rml-group>h2::before{content:"";width:4px;height:1.3em;background:var(--rml-teal);border-radius:5px;flex-shrink:0}
.rml .rml-group-note,.rml .rml-note{color:var(--rml-muted);font-size:max(13px,.85rem);line-height:1.55}
.rml .rml-group-note{margin:-.25rem 0 1rem}
.rml .rml-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.rml .rml-card,.rml .rml-linkcard{min-width:0;overflow-wrap:anywhere;background:#fff;border:1px solid var(--rml-line);border-radius:var(--rml-radius);box-shadow:0 4px 15px rgb(11 38 56 / 6%)}
.rml .rml-card{display:flex;flex-direction:column;overflow:hidden;border-top:4px solid var(--rml-teal)}
.rml .rml-cardhead{display:flex;gap:.85rem;align-items:center;min-height:90px;padding:1.12rem 1.15rem 1rem;background:#f3f8f8;border-bottom:1px solid var(--rml-line)}
.rml .rml-cardhead>div{min-width:0}
.rml .rml-cardhead h3{margin:0 0 .3rem;font-size:1.04rem;font-weight:800;line-height:1.3;color:var(--rml-navy)}
.rml .rml-cardhead p{margin:0;color:var(--rml-muted);font-size:max(13px,.82rem);line-height:1.45}
.rml .rml-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:11px;background:var(--rml-navy);color:#fff}
.rml .rml-symbol svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rml .rml-form{display:flex;flex:1 1 auto;flex-direction:column;padding:1.05rem 1.15rem 1.1rem;margin:0}
.rml .rml-fields{display:grid;gap:.7rem}
.rml .rml-field{display:flex;flex-direction:column;gap:.32rem;min-width:0;color:var(--rml-ink);font-size:max(13px,.84rem);font-weight:750}
.rml .rml-inputwrap{display:flex;align-items:center;min-width:0;position:relative}
.rml .rml-inputwrap input{padding-right:5.6rem}
.rml .rml-unit{position:absolute;right:.7rem;max-width:70px;color:var(--rml-muted);font-weight:700;font-size:max(13px,.8125rem);pointer-events:none;text-align:right;line-height:1.16}
.rml .rml-actions{display:flex;flex-wrap:wrap;gap:.58rem;padding-top:1rem}
.rml .rml-actions button{cursor:pointer;min-height:44px;border-radius:8px;padding:.61rem 1.07rem;font-size:max(13px,.85rem);line-height:1.3;font-weight:800;transition:background-color .16s,border-color .16s,color .16s}
.rml .rml-action{color:white;background:var(--rml-teal);border:1px solid var(--rml-teal)}
.rml .rml-action:hover{background:var(--rml-navy);border-color:var(--rml-navy)}
.rml .rml-reset{color:var(--rml-navy);background:white;border:1px solid #aab9bb}
.rml .rml-reset:hover{border-color:var(--rml-teal);background:#edf4f2}
.rml .rml-result{display:flex;align-items:center;min-height:65px;margin-top:1rem;padding:.87rem 1rem;background:#edf4f2;border:1px solid var(--rml-line);border-left:4px solid var(--rml-teal);border-radius:10px;color:var(--rml-ink);font-size:max(13px,.84rem);line-height:1.5}
.rml .rml-result.rml-has-result{display:block;background:var(--rml-navy);border:1px solid var(--rml-navy);border-top:4px solid var(--rml-teal);padding:.7rem 1rem .6rem;color:#d7e5e7}
.rml .rml-resultrow{display:flex;flex-wrap:wrap;gap:.35rem .75rem;justify-content:space-between;align-items:baseline;padding:.47rem 0;color:#d7e5e7;font-size:max(13px,.78rem);line-height:1.4}
.rml .rml-resultrow+.rml-resultrow{border-top:1px solid rgb(255 255 255 / 18%)}
.rml .rml-resultrow strong{font-variant-numeric:tabular-nums;color:#fff;font-size:.95rem;font-weight:800;text-align:right;overflow-wrap:anywhere;line-height:1.25}
.rml .rml-resultrow:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem 0 .75rem}
.rml .rml-resultrow:first-child strong{color:#fff;font-size:clamp(1.45rem,3.4cqw,2rem);line-height:1.1;letter-spacing:-.025em}
.rml .rml-note{margin:auto 0 0;padding-top:.8rem}
.rml .rml-linkcard{display:flex;gap:.85rem;align-items:flex-start;padding:1.05rem 1.1rem;text-decoration:none;border-left:4px solid var(--rml-line);transition:border-color .18s,background-color .18s,box-shadow .18s}
.rml .rml-linkcard .rml-symbol{flex-basis:42px;width:42px;height:42px;background:#edf4f2;color:var(--rml-teal);border:1px solid var(--rml-line)}
.rml .rml-linkcard .rml-symbol svg{width:21px;height:21px}
.rml .rml-linkcard:hover,.rml .rml-linkcard:focus-visible{background:#f3f8f8;border-left-color:var(--rml-teal);box-shadow:0 5px 16px rgb(11 38 56 / 10%)}
.rml .rml-linkbody{display:flex;flex-direction:column;gap:.26rem;min-width:0}
.rml .rml-linkbody strong{font-weight:800;font-size:.95rem;color:var(--rml-navy);line-height:1.33}
.rml .rml-linkbody small{font-size:max(13px,.82rem);line-height:1.43;color:var(--rml-muted)}
.rml .rml-cta{color:var(--rml-teal);font-weight:800;text-decoration:underline;text-underline-offset:3px;font-size:max(13px,.83rem);margin-top:.18rem}
.rml .rml-noresults{padding:1.1rem;color:var(--rml-navy);font-weight:700;border:1px dashed var(--rml-line);border-radius:9px}
.rml .rml-credits{border-top:1px solid var(--rml-line);padding-top:1rem;margin-top:.8rem;color:var(--rml-muted);font-size:max(13px,.8rem);line-height:1.65}
.rml .rml-credits p{margin:0 0 .4rem}
.rml .rml-credits a{font-weight:750;text-decoration:underline;text-underline-offset:2px}
@container (max-width:725px){
 .rml .rml-grid{grid-template-columns:minmax(0,1fr)}
 .rml .rml-toolbar{align-items:stretch}
 .rml .rml-search-label{flex-basis:100%}
 .rml .rml-hero-art{right:-75px;opacity:.1}
}
@container (max-width:480px){
 .rml .rml-intro{padding:1.2rem 1.05rem;border-radius:11px}
 .rml .rml-hero-title{font-size:1.5rem}
 .rml .rml-hero-description{font-size:max(13px,.87rem)}
 .rml .rml-hero-art{display:none}
 .rml .rml-toolbar{padding:1rem .9rem}
 .rml .rml-filters{width:100%}
 .rml .rml-filters button{flex:1 1 auto;padding:.55rem .6rem}
 .rml .rml-cardhead{padding:1rem .9rem;min-height:0}
 .rml .rml-form{padding:1rem .9rem}
 .rml .rml-linkcard{padding:.97rem .9rem}
}
@media(prefers-reduced-motion:reduce){.rml .rml-linkcard,.rml .rml-actions button,.rml .rml-filters button{transition:none}}

/* 1.0.3 — technical diagrams only, same theme color tokens (no external imagery). */
.rml .rml-schematic{display:flex;align-items:center;justify-content:center;min-height:73px;margin:.8rem 1.15rem 0;padding:.4rem .75rem;background:#f3f8f8;border:1px solid var(--rml-line);border-radius:9px;color:var(--rml-teal)}
.rml .rml-schematic svg{display:block;width:min(100%,215px);height:66px;overflow:visible}
.rml .rml-schematic text{fill:var(--rml-navy);stroke:none;font-family:inherit;font-size:13px;font-weight:800;text-anchor:middle}
.rml .rml-cardhead p{font-size:max(13px,.88rem);line-height:1.5}
.rml .rml-note{font-size:max(13px,.88rem);line-height:1.6}
.rml .rml-field{font-size:max(13px,.88rem)}
.rml .rml-hero-description{font-size:.96rem}
.rml .rml-credits{font-size:max(13px,.84rem)}
@container (max-width:480px){.rml .rml-schematic{margin:.7rem .9rem 0;min-height:66px}.rml .rml-schematic svg{height:60px}}


/* 1.0.4 — align the blue result panels inside each two-column row.
 * Fields have different counts; align the shared form tracks, not just card height.
 * No PHP markup, math or JavaScript changes. On narrow screens keep original stacking.
 */
@supports (grid-template-rows: subgrid){
 @container (min-width:726px){
  .rml .rml-grid:not(.rml-gridlinks){row-gap:0}
  .rml .rml-grid:not(.rml-gridlinks)>.rml-calculator{
   display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;margin-bottom:1rem
  }
  .rml .rml-grid:not(.rml-gridlinks)>.rml-calculator>.rml-form{
   display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;min-height:0;flex:none
  }
  .rml .rml-form>.rml-fields{align-self:start}
  .rml .rml-form>.rml-actions{align-self:end}
  .rml .rml-form>.rml-result{margin-top:1rem;align-self:stretch}
  .rml .rml-form>.rml-note{margin:0;align-self:start}
 }
}


/* 1.0.6 — readability only: raise the smallest labels to >= ~12 px on the live theme
 * (theme root 14.4 px). Same colours, weights, spacing and layout as 1.0.4/1.0.5.
 */
.rml .rml-kicker{font-size:max(13px,.84rem)}
.rml .rml-hero-pill{font-size:max(13px,.86rem)}
.rml .rml-hero-signal{font-size:max(13px,.86rem)}
.rml .rml-filters button{font-size:max(13px,.86rem)}
.rml .rml-unit{font-size:max(13px,.8125rem)}
.rml .rml-resultrow{font-size:max(13px,.86rem)}
.rml .rml-cta{font-size:max(13px,.88rem)}
.rml .rml-search-label{font-size:max(13px,.88rem)}
.rml .rml-actions button{font-size:max(13px,.88rem)}
.rml .rml-linkbody small{font-size:max(13px,.86rem)}
.rml .rml-credits{font-size:max(13px,.86rem)}
/* 1.0.7: usage tips */
.rml .rml-tipgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rml .rml-tip{min-width:0;background:#fff;border:1px solid var(--rml-line);border-top:4px solid var(--rml-teal);border-radius:var(--rml-radius);padding:1rem 1.1rem}
.rml .rml-tip h3{margin:0 0 .45rem;font-size:1rem;line-height:1.4;color:var(--rml-navy)}
.rml .rml-tip p{margin:0;font-size:.94rem;line-height:1.65;color:var(--rml-muted)}
@container (max-width:640px){.rml .rml-tipgrid{grid-template-columns:minmax(0,1fr)}}
