/*! Finyana — Convertidor. Quelle: finyana-datos/public/convertidor.css */
.fy-cc {
    /* Keine eigene Schrift. rechner-spec: von der Seite erben. */
    font-family: inherit;
    /* Keine eigene Maximalbreite. Der Rahmen fy-calc-frame IST die Box —
       eine zweite Begrenzung darin liess das Widget links kleben und rechts
       Platz leer: gemessen 560 px in einem 846 px breiten Rahmen. */
    width: 100%;
    color: #2A2E2B;
  }
  .fy-cc *, .fy-cc *::before, .fy-cc *::after { box-sizing: border-box; }

  .fy-cc__row { margin-bottom: 16px; }

  .fy-cc__label {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 6px;
    color: #4A5450;
  }

  .fy-cc__input, .fy-cc__select {
    width: 100%;
    min-height: 44px;            /* Trefferflaeche, rechner-spec */
    padding: 10px 12px;
    font-family: inherit;
    font-size: 16px;             /* < 16px zoomt iOS beim Fokus */
    color: #2A2E2B;
    background: #FFFFFF;
    border: 1px solid #E4EBE6;
    border-radius: 10px;
  }
  .fy-cc__select { cursor: pointer; }

  .fy-cc__input:focus-visible, .fy-cc__select:focus-visible,
  .fy-cc__btn:focus-visible, .fy-cc__swap:focus-visible {
    outline: 2px solid #2C6C84;
    outline-offset: 2px;
  }

  .fy-cc__grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: end;
    margin-bottom: 16px;
  }

  .fy-cc__swap {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    background: #FFFFFF;
    border: 1px solid #E4EBE6;
    border-radius: 10px;
    color: #2C6C84;
    cursor: pointer;
  }
  .fy-cc__swap:hover { background: #F4F8F5; }

  .fy-cc__btn {
    width: 100%;
    min-height: 44px;
    padding: 12px 20px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    color: #17342B;
    background: #AEE6BE;          /* menta */
    border: 1px solid #71B084;    /* salvia */
    border-radius: 10px;
    cursor: pointer;
  }
  .fy-cc__btn:hover { background: #9CDBAE; }

  .fy-cc__out {
    margin-top: 16px;
    padding: 20px;
    background: #F4F8F5;
    border: 1px solid #E4EBE6;
    border-radius: 10px;
  }

  .fy-cc__eyebrow {
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6B7770;
  }

  .fy-cc__value {
    margin: 0;
    /* Zahlen sind Mono. rechner-spec nennt das ausdruecklich. */
    font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 30px;
    line-height: 1.15;
    color: #9BAAA0;               /* Leerzustand */
  }
  .fy-cc__value[data-fy-state="ok"] { color: #17342B; }

  .fy-cc__rate {
    margin: 8px 0 0;
    font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 14px;
    color: #4A5450;
  }

  .fy-cc__src, .fy-cc__note {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #6B7770;
  }
  .fy-cc__src a { color: #2C6C84; }

  .fy-cc__src[data-oficial="si"] {
    padding-left: 10px;
    border-left: 3px solid #559D9B;
    color: #4A5450;
  }

  .fy-cc__msg {
    margin: 0 0 16px;
    padding: 10px 12px;
    font-size: 14px;
    color: #8A6A1E;               /* rechner-spec: kein Rot, kein alert() */
    background: #FBF6E9;
    border: 1px solid #E8DCBB;
    border-radius: 10px;
  }

  @media (max-width: 767px) {
    .fy-cc__grid { grid-template-columns: 1fr; }
    .fy-cc__swap { width: 100%; }
    .fy-cc__value { font-size: 26px; }
  }
