/* TravelGoCo Currency Converter V2 — dedicated Tools page only. */
.tgc-fx-hero{padding-top:53px;padding-bottom:48px}
.tgc-fx-hero h1{letter-spacing:-.035em}
.tgc-fx-page.utility-body{background:#f7f8fa;padding-top:38px;padding-bottom:82px}
.tgc-fx-page .utility-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}
.tgc-fx-page .utility-widget{background:#fff;border:1px solid #e6e9ed;border-radius:20px;padding:30px;box-shadow:0 14px 48px rgba(17,19,21,.055)}
.tgc-fx-page .utility-widget-top{gap:13px;margin-bottom:24px;align-items:center}
.tgc-fx-page .utility-widget-top h2{font-size:24px;letter-spacing:-.025em;font-weight:750;color:#111315}
.tgc-fx-page .utility-widget-top p{max-width:53ch;line-height:1.55;font-size:13px;color:#626b75}
.tgc-fx-page .utility-widget-icon{width:47px;height:47px;border-radius:12px;background:#fff0ee;color:#e2362f}
.tgc-fx-page .currency-widget{display:grid;gap:17px;min-width:0}
.tgc-fx-page .currency-fields{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:12px;align-items:end;min-width:0}
.tgc-fx-page .currency-fields label,.tgc-fx-page .currency-widget>label{display:grid;gap:8px;min-width:0;font-size:12px;font-weight:650;line-height:1.3;color:#4b525c}
.tgc-fx-page .currency-widget select,.tgc-fx-page .currency-widget [data-amount]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:none;border:1px solid #dfe3e8;border-radius:12px;background:#f8f9fb;color:#111315;box-shadow:none;font-family:inherit;font-size:14px;font-weight:500;line-height:1.25;outline-offset:2px}
.tgc-fx-page .currency-widget select{height:55px;min-height:55px;padding:10px 11px}
.tgc-fx-page .currency-widget [data-amount]{height:68px;min-height:68px;padding:13px 17px;font-size:25px;font-weight:600;letter-spacing:-.025em;background:#fff}
.tgc-fx-page .currency-widget select:focus-visible,.tgc-fx-page .currency-widget [data-amount]:focus-visible{border-color:#aab2bb;outline:2px solid rgba(226,54,47,.23)}
.tgc-fx-page .currency-widget .swap{display:grid;place-items:center;width:48px;height:55px;min-height:55px;margin:0;align-self:end;border:0;border-radius:12px;background:#e2362f;color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.tgc-fx-page .currency-widget .swap:hover{background:#bb2925;transform:translateY(-1px)}
.tgc-fx-page .currency-widget .swap:focus-visible{outline:3px solid #111315;outline-offset:2px}
.tgc-fx-page .currency-widget [data-convert]{justify-self:start;display:inline-flex;align-items:center;justify-content:center;width:184px;min-width:184px;min-height:44px;max-width:100%;margin:0;padding:11px 20px;border:1px solid #111315;border-radius:11px;background:#111315;color:#fff;font-size:13px;font-weight:650;cursor:pointer;transition:background .2s}
.tgc-fx-page .currency-widget [data-convert]:hover{background:#2b2f33;border-color:#2b2f33}
.tgc-fx-page .currency-widget [data-convert]:focus-visible{outline:3px solid rgba(226,54,47,.45);outline-offset:2px}
.tgc-fx-page .currency-widget .rate-result{min-height:112px;margin:0;padding:22px 22px 19px;border:1px solid #e3e7ec;border-left:3px solid #e2362f;border-radius:14px;background:#f7f8fa;color:#111315;overflow-wrap:anywhere}
.tgc-fx-page .currency-widget .rate-result[aria-busy="true"]{opacity:.75}
.tgc-fx-page .tgc-fx-result-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.tgc-fx-page .tgc-fx-result-heading{color:#606873;font-size:11px;font-weight:700;letter-spacing:.085em;text-transform:uppercase}
.tgc-fx-page .tgc-fx-copy{flex:none;border:1px solid #e1e5e8;border-radius:9px;background:#fff;color:#2e343b;font-family:inherit;font-size:12px;font-weight:600;line-height:1.25;padding:8px 11px;cursor:pointer}
.tgc-fx-page .tgc-fx-copy:hover{background:#eceff2}
.tgc-fx-page .tgc-fx-copy:focus-visible{outline:2px solid #e2362f;outline-offset:2px}
.tgc-fx-page .tgc-fx-result-value{display:block;color:#111315;font-size:clamp(29px,3vw,43px);font-weight:750;line-height:1.22;letter-spacing:-.04em;overflow-wrap:anywhere}
.tgc-fx-page .tgc-fx-result-value span{font-size:.47em;letter-spacing:0;vertical-align:baseline;font-weight:700;color:#3a4048}
.tgc-fx-page .tgc-fx-subresult{margin-top:6px;color:#545c66;font-size:13px;line-height:1.6}
.tgc-fx-page .tgc-fx-rate-line{margin-top:8px;color:#303741;font-size:13px;font-weight:600}
.tgc-fx-page .tgc-fx-date{margin-top:13px;color:#66707b;font-size:12px;line-height:1.55}
.tgc-fx-page .tgc-fx-date.tgc-fx-stale{color:#8e5319;font-weight:650}
.tgc-fx-page .currency-widget>.muted{font-size:12px;line-height:1.6;color:#6d747e}
.tgc-fx-page .utility-sidebar{gap:14px}
.tgc-fx-page .aside-card{padding:20px;border-radius:15px;background:#fff;border-color:#e7e9ed;box-shadow:0 7px 26px rgba(17,19,21,.025)}
.tgc-fx-page .aside-card svg{color:#e2362f}
.tgc-fx-page .aside-card h3{font-size:15px;line-height:1.4;margin:9px 0 7px;color:#16181a}
.tgc-fx-page .aside-card p{font-size:13px;line-height:1.7;color:#606873}
.tgc-fx-page .aside-link{font-size:13px;font-weight:650;color:#111315}
.tgc-fx-page .aside-link svg{color:#e2362f}
.tgc-fx-page .utility-explainer{margin-top:35px;max-width:76ch}
.tgc-fx-page .utility-explainer h2{font-size:25px}
.tgc-fx-page .utility-explainer h3{font-size:19px}
.tgc-fx-page .utility-explainer p{font-size:15px;line-height:1.85}
@media(max-width:930px){.tgc-fx-page .utility-layout{grid-template-columns:1fr}.tgc-fx-page .utility-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.tgc-fx-page .utility-sidebar .aside-link{grid-column:1/-1}}
@media(max-width:600px){.tgc-fx-hero{padding-top:40px;padding-bottom:38px}.tgc-fx-page.utility-body{padding-top:22px;padding-bottom:55px}.tgc-fx-page .utility-widget{padding:18px;border-radius:16px}.tgc-fx-page .utility-widget-top{gap:11px;margin-bottom:22px}.tgc-fx-page .utility-widget-top h2{font-size:20px}.tgc-fx-page .currency-fields{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:7px}.tgc-fx-page .currency-widget select{height:50px;min-height:50px;padding:8px 7px;font-size:12px}.tgc-fx-page .currency-widget .swap{width:42px;height:50px;min-height:50px}.tgc-fx-page .currency-widget [data-amount]{height:63px;min-height:63px;font-size:23px}.tgc-fx-page .currency-widget .rate-result{padding:18px}.tgc-fx-page .tgc-fx-result-value{font-size:31px}.tgc-fx-page .utility-sidebar{grid-template-columns:1fr}.tgc-fx-page .utility-sidebar .aside-link{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.tgc-fx-page .currency-widget .swap,.tgc-fx-page .currency-widget [data-convert]{transition:none}}


/* V2.1 mobile refinement: keep the dedicated Tools converter full-width and compact.
   Scoped to /tools/currency-converter only; country converters are unchanged. */
@media (max-width:680px) {
  .tgc-fx-page .utility-widget {padding:18px 16px}
  .tgc-fx-page .utility-widget-top {align-items:flex-start;gap:10px;margin-bottom:17px}
  .tgc-fx-page .utility-widget-icon {width:43px;height:43px}
  .tgc-fx-page .utility-widget-top h2 {font-size:20px;line-height:1.2}
  .tgc-fx-page .utility-widget-top p {font-size:12.5px;line-height:1.45}
  .tgc-fx-page .currency-widget {gap:14px}
  .tgc-fx-page .currency-widget .currency-fields {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    align-items:stretch !important;
    width:100%;
    min-width:0;
  }
  .tgc-fx-page .currency-widget .currency-fields > label {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    min-width:0 !important;
    gap:7px;
    margin:0;
  }
  .tgc-fx-page .currency-widget .currency-fields > label select {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
    height:52px;
    min-height:52px;
    padding:0 14px;
    font-size:14px;
  }
  .tgc-fx-page .currency-widget .currency-fields > .swap {
    grid-column:1 !important;
    justify-self:center !important;
    align-self:center !important;
    margin:-1px 0 !important;
    width:46px;
    height:46px;
    min-height:46px;
  }
  .tgc-fx-page .currency-widget .currency-fields > .swap svg {transform:rotate(90deg)}
  .tgc-fx-page .currency-widget [data-amount] {height:60px;min-height:60px;font-size:24px}
  .tgc-fx-page .currency-widget .rate-result {padding:17px 16px;min-height:0}
  .tgc-fx-page .tgc-fx-result-top {align-items:flex-start;gap:10px}
  .tgc-fx-page .tgc-fx-result-value {font-size:clamp(29px,8vw,38px)}
}

/* V2.2 mobile finishing touches: align stacked selectors and keep the action compact. */
@media (max-width:680px) {
  .tgc-fx-page .currency-widget .currency-fields {
    width:100% !important;
    max-width:100%;
  }
  .tgc-fx-page .currency-widget .currency-fields > label {
    max-width:100%;
  }
  .tgc-fx-page .currency-widget .currency-fields > label select {
    text-overflow:ellipsis;
  }
  .tgc-fx-page .currency-widget .currency-fields > .swap {
    margin:0 auto !important;
  }
  .tgc-fx-page .currency-widget [data-convert] {
    width:184px;
    min-width:0;
  }
  .tgc-fx-page .utility-widget-top {
    margin-bottom:16px;
  }
  .tgc-fx-page .tgc-fx-result-heading {
    line-height:1.4;
  }
}

/* V2.3: desktop amount input is balanced against open space; mobile fills the widget.
   Keep the existing desktop currency selectors, result panel and action button unchanged. */
@media (min-width:761px) {
  .tgc-fx-page .currency-widget > label {
    width:58%;
    max-width:100%;
    min-width:0;
    justify-self:start;
  }
}
@media (max-width:760px) {
  .tgc-fx-page .currency-widget > label {
    width:100%;
    max-width:100%;
    min-width:0;
    justify-self:stretch;
  }
  .tgc-fx-page .currency-widget > label [data-amount] {
    display:block;
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
  }
}


/* V2.4: match amount-input height to selectors; show native flag beside selected currency.
   Only the dedicated Tools Currency Converter page is affected. */
.tgc-fx-page .currency-widget > label [data-amount] {
  box-sizing:border-box !important;
  height:55px !important;
  min-height:55px !important;
  max-height:55px;
  padding:0 16px !important;
  font-size:22px;
  line-height:1.25;
}
.tgc-fx-page .currency-fields .tgc-fx-select-wrap {
  position:relative;
  display:block;
  width:100%;
  min-width:0;
}
.tgc-fx-page .currency-fields .tgc-fx-select-wrap > select {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box;
  padding-left:49px !important;
  padding-right:27px;
  text-overflow:ellipsis;
}
.tgc-fx-page .tgc-fx-selected-flag {
  position:absolute;
  left:14px;
  top:50%;
  width:25px;
  height:18px;
  transform:translateY(-50%);
  object-fit:cover;
  border:1px solid rgba(17,19,21,.12);
  border-radius:3px;
  background:#fff;
  pointer-events:none;
  z-index:1;
}
.tgc-fx-page .tgc-fx-selected-flag[hidden] {display:none !important}
.tgc-fx-page .tgc-fx-select-wrap.tgc-fx-no-flag > select {padding-left:13px !important}
@media(max-width:680px) {
  .tgc-fx-page .currency-widget > label [data-amount] {
    height:52px !important;
    min-height:52px !important;
    max-height:52px;
    padding:0 14px !important;
    font-size:20px;
  }
  .tgc-fx-page .currency-fields .tgc-fx-select-wrap > select {
    height:52px !important;
    min-height:52px !important;
    padding-left:49px !important;
    padding-right:27px !important;
    font-size:14px;
  }
}

@media(max-width:680px) {
  .tgc-fx-page .currency-fields .tgc-fx-select-wrap.tgc-fx-no-flag > select {padding-left:13px !important}
}

/* V2.5 — Amount and Convert button on the same desktop row */
@media (min-width: 761px) {
  .tgc-fx-page .currency-widget {
    grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
    column-gap: 16px;
  }

  .tgc-fx-page .currency-widget > .currency-fields,
  .tgc-fx-page .currency-widget > .rate-result,
  .tgc-fx-page .currency-widget > .muted {
    grid-column: 1 / -1;
  }

  .tgc-fx-page .currency-widget > label {
    grid-column: 1;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .tgc-fx-page .currency-widget > [data-convert] {
    grid-column: 2;
    align-self: end;
    justify-self: start;
    width: 184px;
    min-width: 184px;
    height: 55px;
    min-height: 55px;
    margin: 0;
  }
}

/* TravelGoCo Currency V2.6 — balanced Convert button */

/* Desktop: button fills its entire allocated column */
@media (min-width: 761px) {
  .tgc-fx-page .currency-widget > [data-convert] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 55px !important;
    min-height: 55px !important;
    justify-self: stretch !important;
    box-sizing: border-box;
    margin: 0;
  }
}

/* Tablet and mobile: full-width action */
@media (max-width: 760px) {
  .tgc-fx-page .currency-widget > [data-convert] {
    display: flex;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 55px !important;
    min-height: 55px !important;
    justify-self: stretch !important;
    box-sizing: border-box;
    margin: 0;
  }
}

/* Small mobile: match the compact amount field */
@media (max-width: 680px) {
  .tgc-fx-page .currency-widget > [data-convert] {
    height: 52px !important;
    min-height: 52px !important;
  }
}
