/* London + Paris currency calculator. One compact persistent shortcut. */
body.currency-modal-open {overflow:hidden}
.currency-dock {
  position:fixed;
  z-index:67;
  right:max(22px,env(safe-area-inset-right));
  bottom:calc(20px + 101px + 83px + 14px);
  filter:drop-shadow(0 10px 15px rgba(73,49,13,.17));
}
.currency-launch {
  display:flex;align-items:center;gap:13px;
  min-height:51px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:16px;
  padding:9px 17px 9px 13px;
  background:linear-gradient(110deg,#f8dcaa 0%,#ebbd72 95%);
  color:#372414;
  font:inherit;
  font-weight:900;
  box-shadow:0 5px 22px rgba(51,36,17,.19),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .15s ease;
}
.currency-launch:hover {transform:translateY(-2px)}
.currency-launch:focus-visible {outline:4px solid #bd7f30;outline-offset:3px}
.currency-launch-symbols {display:flex;align-items:center;font-size:1.25rem;letter-spacing:.025em}
.currency-launch-name {font-size:.82rem;letter-spacing:.07em;white-space:nowrap}
.currency-launch-name span {padding-left:5px}
.currency-backdrop[hidden] {display:none !important}
.currency-backdrop {
  position:fixed;inset:0;z-index:900;
  background:rgba(10,17,20,.72);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.currency-panel {
  width:min(510px,100%);
  max-height:min(95dvh,740px);
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid var(--line);
  border-radius:27px;
  padding:27px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 32px 110px rgba(0,0,0,.32);
}
.currency-panel:focus {outline:none}
.currency-header {display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.currency-header .eyebrow {font-size:.65rem;letter-spacing:.13em;margin-bottom:6px;color:var(--gold)}
.currency-header h2 {font:700 clamp(1.75rem,5vw,2.35rem) 'Playfair Display',Georgia,serif;line-height:1.04;letter-spacing:-.035em;margin:0 0 9px}
.currency-header p:not(.eyebrow) {font-size:.82rem;line-height:1.5;color:var(--muted);margin:0 0 16px}
.currency-close {flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:1.6rem;line-height:1}
.currency-choice {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
.currency-option {display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 8px;min-height:52px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);color:var(--ink);font-size:1rem;font-weight:900}
.currency-option small {font-size:.75rem;font-weight:500;color:var(--muted)}
.currency-option.is-selected {background:#1e493f;border-color:#1e493f;color:#fff;box-shadow:0 3px 9px rgba(23,74,60,.15)}
.currency-option.is-selected small {color:#c9e9dc}
.currency-conversion {border-radius:21px;background:var(--surface-2);padding:18px}
.currency-conversion label {display:block;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.055em;margin-bottom:9px}
.currency-input-wrap {display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:5px 13px;min-height:68px}
.currency-input-wrap:focus-within {outline:2px solid #5b8b7c;outline-offset:1px}
.currency-input-wrap > span:first-child {font-family:'Playfair Display',Georgia,serif;font-size:2rem;color:var(--ink);font-weight:700}
.currency-input-wrap input {min-width:0;flex:1;width:100%;padding:7px 0;border:0;outline:none;background:transparent;color:var(--ink);font:700 clamp(1.55rem,6vw,2.1rem) 'DM Sans',system-ui,sans-serif;line-height:1.2}
.currency-input-wrap input::-webkit-inner-spin-button,.currency-input-wrap input::-webkit-outer-spin-button {-webkit-appearance:none;margin:0}
.currency-code {font-size:.75rem;letter-spacing:.09em;color:var(--muted);font-weight:800}
.currency-arrow {text-align:center;color:var(--muted);font-size:1.3rem;padding:7px 0 8px;line-height:1.1}
.currency-arrow span {font-size:.6rem;letter-spacing:.12em;font-weight:900;margin-left:5px}
.currency-usd {display:flex;flex-direction:column;background:#193d36;border-radius:16px;padding:16px 17px;min-height:120px;color:#fff}
.currency-usd-label {font-size:.75rem;letter-spacing:.075em;text-transform:uppercase;font-weight:700;color:#d7e6d9}
.currency-usd strong {font-size:clamp(2rem,7vw,2.8rem);letter-spacing:-.04em;line-height:1.1;margin:8px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.currency-result-caption {font-size:.7rem;color:#c4d8ce}
.currency-quick-amounts {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px}
.currency-quick-amounts > span {font-size:.68rem;font-weight:900;color:var(--muted);letter-spacing:.08em;margin-right:2px}
.currency-quick-amounts button {min-width:51px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;color:var(--ink);font-weight:800;font-size:.85rem}
.currency-quick-amounts button:hover {border-color:var(--green)}
.currency-rate-bar {border-top:1px solid var(--line);margin-top:21px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:13px}
.currency-rate-bar strong {font-size:.84rem;color:var(--ink)}
.currency-rate-bar p {font-size:.74rem;line-height:1.4;color:var(--muted);margin:4px 0 0}
.currency-refresh {border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink);padding:10px 12px;font-size:.77rem;font-weight:800;white-space:nowrap;flex:none}
.currency-refresh:disabled {opacity:.55;cursor:progress}
.currency-disclaimer {font-size:.72rem;color:var(--muted);line-height:1.55;margin:15px 0 0}
.currency-disclaimer a {color:var(--blue)}
.currency-close:focus-visible,.currency-option:focus-visible,.currency-quick-amounts button:focus-visible,.currency-refresh:focus-visible {outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:670px){
  body {padding-bottom:calc(274px + env(safe-area-inset-bottom))}
  .currency-dock {right:12px;bottom:calc(193px + env(safe-area-inset-bottom))}
  .currency-launch {min-height:47px;padding:8px 13px;border-radius:15px}
  .currency-launch-symbols {font-size:1.15rem}
  .currency-launch-name {font-size:.73rem}
  .currency-backdrop {align-items:flex-end;padding:0}
  .currency-panel {max-height:94dvh;width:100%;border-radius:25px 25px 0 0;padding:23px 19px calc(23px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){
  .currency-dock {bottom:calc(221px + env(safe-area-inset-bottom))}
  .currency-quick-amounts {gap:5px}
  .currency-quick-amounts button {min-width:47px;padding:8px 7px}
  .currency-option {gap:5px}
}
@media(prefers-reduced-motion:reduce){.currency-launch{transition:none}}
@media print {.currency-dock,.currency-backdrop{display:none !important}}
