/* Currency Exchange Rates page (currency_rate_update.php), styled after the
   Sales Plan page: the same palette, type and section patterns as
   local/sales_plan/sales_plan.css, under its own cr- prefix, plus the source
   cards recoloured to match. */
.currency-page { --cr-ink:#172c3b; --cr-muted:#59707d; --cr-green:#159b83; --cr-green-dark:#087a69; --cr-mint:#e8f7f3; --cr-white:#fff; --cr-border:#dce7e9; --cr-shadow:0 16px 44px rgba(20,49,61,.09); --cr-radius:20px; --cr-width:1160px; }
.currency-page *, .currency-page *::before, .currency-page *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
.currency-page { overflow:hidden; color:var(--cr-ink); background:var(--cr-white); font-family:"Noto Sans", "Segoe UI", Arial, sans-serif; font-size:16px; line-height:1.65; letter-spacing:normal; -webkit-font-smoothing:antialiased; }
.currency-page :focus-visible { outline:3px solid var(--cr-green-dark); outline-offset:3px; }

/* Site template overrides: the template colours h1-h3 and gives bare ul/ol items padding, bullets and counters */
.currency-page h1, .currency-page h2, .currency-page h3 { color:inherit; font-family:inherit; font-weight:700; }
.currency-page h3 { letter-spacing:normal; }
.currency-page ul, .currency-page ol { margin:0; padding:0; list-style:none; }
.currency-page ul li, .currency-page ol li { margin:0; padding:0; }
.currency-page ul li::before, .currency-page ol li::before { content:none; position:static; width:auto; height:auto; border-radius:0; background:none; }

/* Shared bits */
.currency-page .cr-container { width:min(var(--cr-width), calc(100% - 44px)); margin:0 auto; }
.currency-page .cr-topline { height:5px; background:linear-gradient(90deg, #087a69, #23b69a 58%, #9be2d2); }
.currency-page .cr-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:10px; font-family:inherit; font-size:16px; font-weight:750; text-decoration:none; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.currency-page .cr-btn:hover { transform:translateY(-2px); }
.currency-page .cr-btn-primary, .currency-page .cr-btn-primary:hover { color:#fff; background:var(--cr-green-dark); box-shadow:0 9px 20px rgba(8,122,105,.18); }
.currency-page .cr-btn-primary:hover { background:#056858; }
.currency-page .cr-btn-secondary, .currency-page .cr-btn-secondary:hover { color:var(--cr-ink); background:rgba(255,255,255,.78); border-color:#cbdcde; }
.currency-page .cr-btn-light, .currency-page .cr-btn-light:hover { color:#0e5e55; background:#fff; }
.currency-page .cr-btn-arrow { margin-left:10px; }

/* Hero, with the site-wide buy heading (extbc_buy_head) as its first row */
.currency-page .cr-hero { position:relative; padding:40px 0 72px; background:radial-gradient(circle at 83% 19%, rgba(56,193,163,.15), transparent 26%), radial-gradient(circle at 8% 88%, rgba(63,143,168,.09), transparent 28%), linear-gradient(135deg, #f7fbfb 0%, #edf7f5 56%, #f8fbfc 100%); border-bottom:1px solid var(--cr-border); }
.currency-page .cr-buy { margin-bottom:56px; padding-bottom:22px; border-bottom:1px solid var(--cr-border); }
.currency-page .cr-buy .buy-head__title { font-size:clamp(1.2rem, 2vw, 1.5rem); font-weight:800; line-height:1.3; letter-spacing:-.02em; }
.currency-page .cr-buy .buy-head__note { color:var(--cr-muted); }
.currency-page .cr-hero-grid { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr); gap:54px; align-items:center; }
.currency-page .cr-eyebrow { display:inline-flex; align-items:center; gap:9px; padding:7px 12px; border:1px solid #c9e9e2; border-radius:999px; color:var(--cr-green-dark); background:rgba(255,255,255,.8); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.currency-page .cr-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--cr-green); }
.currency-page .cr-hero .cr-display { max-width:720px; margin:22px 0 20px; font-size:clamp(38px, 5vw, 62px); line-height:1.06; letter-spacing:-.045em; font-weight:780; }
.currency-page .cr-hero .cr-display span { color:var(--cr-green-dark); }
.currency-page .cr-lead { max-width:690px; margin:0; color:#435d6b; font-size:clamp(18px, 2vw, 21px); line-height:1.6; }
.currency-page .cr-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.currency-page .cr-hero-note { margin-top:17px; color:var(--cr-muted); font-size:13px; }

/* Illustrative dashboard card, as on the Sales Plan page: tiles over a panel of rows */
.currency-page .cr-dashboard { position:relative; padding:20px; border:1px solid rgba(197,218,220,.95); border-radius:22px; background:rgba(255,255,255,.87); box-shadow:var(--cr-shadow); transform:rotate(1deg); }
.currency-page .cr-dashboard::before { content:""; position:absolute; inset:-11px 14px 14px -11px; z-index:-1; border-radius:22px; background:#cceee5; }
.currency-page .cr-dash-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--cr-border); }
.currency-page .cr-dash-title { font-size:13px; font-weight:800; }
.currency-page .cr-dash-period { color:var(--cr-muted); font-size:11px; white-space:nowrap; }
.currency-page .cr-dash-metrics { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-top:14px; }
.currency-page .cr-metric { padding:13px; border:1px solid #e4edef; border-radius:12px; background:#fbfdfd; }
.currency-page .cr-metric-label { color:var(--cr-muted); font-size:11px; }
.currency-page .cr-metric-value { margin-top:2px; font-size:22px; font-weight:800; letter-spacing:-.035em; }
.currency-page .cr-metric-value small { font-size:11px; color:var(--cr-green-dark); letter-spacing:0; }
.currency-page .cr-dash-panel { margin-top:12px; padding:13px 15px 6px; border:1px solid #e4edef; border-radius:12px; background:#fbfdfd; }
.currency-page .cr-dash-panel-title { margin-bottom:4px; font-size:11px; font-weight:750; }
.currency-page .cr-dash-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 0; border-top:1px solid #e9f0f1; font-size:12.5px; }
.currency-page .cr-dash-panel-title + .cr-dash-row { border-top:0; }
.currency-page .cr-dash-tag { flex:0 0 auto; padding:3px 9px; border-radius:99px; background:#d7f2e9; color:var(--cr-green-dark); font-size:10.5px; font-weight:800; white-space:nowrap; }

/* Sections */
.currency-page .cr-section { padding:82px 0; }
.currency-page .cr-section-alt { background:#f7fafb; border-top:1px solid #edf2f3; border-bottom:1px solid #edf2f3; }
.currency-page .cr-section-heading { max-width:790px; margin:0 auto 40px; text-align:center; }
.currency-page .cr-kicker { margin:0 0 10px; color:var(--cr-green-dark); font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.currency-page .cr-section h2 { margin:0; font-size:clamp(29px, 3.2vw, 42px); line-height:1.16; letter-spacing:-.035em; }
.currency-page .cr-section-heading > p:last-child { margin:17px auto 0; max-width:700px; color:var(--cr-muted); font-size:17px; }

/* Cards */
.currency-page .cr-feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.currency-page .cr-card { height:100%; padding:26px; border:1px solid var(--cr-border); border-radius:var(--cr-radius); background:#fff; box-shadow:0 5px 20px rgba(20,49,61,.025); }
.currency-page .cr-card-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:13px; background:var(--cr-mint); color:var(--cr-green-dark); }
.currency-page .cr-card-icon svg { width:23px; height:23px; }
.currency-page .cr-card h3 { margin:19px 0 9px; font-size:19px; line-height:1.3; letter-spacing:-.015em; }
.currency-page .cr-card p { margin:0; color:var(--cr-muted); font-size:14px; }
.currency-page .cr-checklist { display:grid; gap:9px; margin:19px 0 0; padding:0; list-style:none; }
.currency-page .cr-checklist li { position:relative; padding-left:22px; color:#405965; font-size:14px; }
.currency-page .cr-checklist li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--cr-green-dark); font-weight:900; }

/* Copy beside a panel */
.currency-page .cr-split { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:62px; align-items:center; }
.currency-page .cr-copy p { color:var(--cr-muted); }
.currency-page .cr-copy .cr-kicker { color:var(--cr-green-dark); }
.currency-page .cr-copy h2 { max-width:620px; }
.currency-page .cr-copy h2 + p { margin-top:17px; }
.currency-page .cr-benefit-list { display:grid; gap:15px; margin-top:26px; }
.currency-page .cr-benefit { display:grid; grid-template-columns:30px 1fr; gap:13px; align-items:start; }
.currency-page .cr-benefit-check { display:flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; background:var(--cr-mint); color:var(--cr-green-dark); font-weight:900; }
.currency-page .cr-benefit strong { display:block; margin:0 0 2px; font-size:15px; }
.currency-page .cr-benefit span { display:block; color:var(--cr-muted); font-size:14px; }
.currency-page .cr-panel { padding:28px; border-radius:22px; background:linear-gradient(155deg, #edf8f5, #f6fafb); border:1px solid #d7ebe6; }
.currency-page .cr-panel-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; margin-bottom:20px; }
.currency-page .cr-panel-head strong { font-size:15px; }
.currency-page .cr-status { padding:5px 9px; border-radius:99px; background:#d7f2e9; color:#087a69; font-size:11px; font-weight:800; }
.currency-page .cr-row { margin-top:13px; padding:14px 16px; border:1px solid #dce9e8; border-radius:12px; background:rgba(255,255,255,.9); }
.currency-page .cr-row-top { display:flex; justify-content:space-between; gap:16px; font-size:14px; font-weight:750; }
.currency-page .cr-row-top span:last-child { color:var(--cr-green-dark); text-align:right; }
.currency-page .cr-row p { margin:4px 0 0; color:var(--cr-muted); font-size:13px; }

/* KPI-style tiles */
.currency-page .cr-kpi-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.currency-page .cr-kpi { padding:21px; border-radius:15px; background:#fff; border:1px solid var(--cr-border); }
.currency-page .cr-kpi strong { display:block; font-size:17px; line-height:1.3; }
.currency-page .cr-kpi span { display:block; margin-top:7px; color:var(--cr-muted); font-size:13px; }

/* Side note */
.currency-page .cr-note { margin:24px 0 0; padding:16px 18px; border-left:3px solid var(--cr-green); background:#f4faf8; color:#49616a; font-size:14px; }
.currency-page .cr-note a { color:var(--cr-green-dark); font-weight:700; }

/* FAQ */
.currency-page .cr-faq { max-width:860px; margin:0 auto; }
.currency-page .cr-faq details { padding:20px 0; border-bottom:1px solid var(--cr-border); }
.currency-page .cr-faq summary { position:relative; padding-right:28px; list-style:none; font-weight:800; cursor:pointer; }
.currency-page .cr-faq summary::-webkit-details-marker { display:none; }
.currency-page .cr-faq summary::after { content:"+"; position:absolute; right:2px; top:-4px; color:var(--cr-green-dark); font-size:24px; font-weight:400; }
.currency-page .cr-faq details[open] summary::after { content:"−"; }
.currency-page .cr-faq details p { margin:12px 0 0; color:var(--cr-muted); }

/* Contact band, text left and button right */
.currency-page .cr-cta { padding:64px 0; color:#fff; background:linear-gradient(120deg, #10394a, #0c695f); }
.currency-page .cr-cta-grid { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.currency-page .cr-cta-grid > .cr-btn { flex:0 0 auto; }
.currency-page .cr-cta h2 { max-width:690px; margin:0; font-size:clamp(28px, 3.3vw, 40px); line-height:1.15; letter-spacing:-.035em; }
.currency-page .cr-cta-copy p { max-width:700px; margin:13px 0 0; color:#d1e4e6; }

/* The source cards. Markup, hover layer and touch fallback are the template's
   .rate-source-card, which dashboard.php shares, so they are only recoloured
   here, inside this page: a mint panel and a white body in place of the logo
   blue and the dark slate. */
.currency-page .cr-feature-grid-4 { grid-template-columns:repeat(4, minmax(0, 1fr)); }

.currency-page .rate-sources-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.currency-page .rate-source-card { border:1px solid var(--cr-border); border-radius:16px; background:#fff; box-shadow:0 5px 20px rgba(20,49,61,.04); }
.currency-page .rate-source-card:hover { box-shadow:0 20px 44px rgba(20,49,61,.12); }
.currency-page .rate-source-card__top { height:100px; background:linear-gradient(150deg, #e8f7f3, #d5efe8); }
.currency-page .rate-source-card__code { color:#4f7d75; font-weight:700; }
.currency-page .rate-source-card__mark { color:var(--cr-green-dark); opacity:1; font-size:38px; letter-spacing:-.02em; }
.currency-page .rate-source-card__actions { background:rgba(8,122,105,.92); }
.currency-page .rate-source-card__btn { border-radius:8px; color:#0e5e55; font-weight:750; text-decoration:none; }
.currency-page .rate-source-card__btn:hover { background:#d7f2e9; color:#0e5e55; }
.currency-page .rate-source-card__body { background:#fff; padding:16px 18px 18px; text-align:left; }
.currency-page .rate-source-card__name { color:var(--cr-ink); font-size:16px; line-height:1.3; letter-spacing:-.01em; text-transform:none; }
.currency-page .rate-source-card__rate { color:var(--cr-green-dark); }
.currency-page .rate-source-card__rate span, .currency-page .rate-source-card__rate--none, .currency-page .rate-source-card__desc { color:var(--cr-muted); }
@media (hover:none) {
    .currency-page .rate-source-card__actions { background:none; }
    .currency-page .rate-source-card__btn { border:1px solid #b9ddd4; }
    /* the template stacks the mark over the button here; let the panel grow to hold both */
    .currency-page .rate-source-card__top { height:auto; min-height:100px; }
}
@media (max-width:980px) {
    .currency-page .cr-cta-grid { flex-direction:column; align-items:flex-start; }
    .currency-page .cr-hero-grid, .currency-page .cr-split { grid-template-columns:1fr; }
    .currency-page .cr-hero-grid { gap:42px; }
    .currency-page .cr-dashboard { max-width:590px; width:100%; margin:0 auto; }
    .currency-page .cr-feature-grid, .currency-page .cr-kpi-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .currency-page .rate-sources-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:640px) {
    .currency-page .cr-container { width:min(var(--cr-width), calc(100% - 30px)); }
    .currency-page .cr-hero { padding:28px 0 52px; }
    .currency-page .cr-buy { margin-bottom:34px; }
    .currency-page .cr-section { padding:58px 0; }
    .currency-page .cr-feature-grid, .currency-page .cr-kpi-grid { grid-template-columns:1fr; }
    .currency-page .cr-card { padding:22px; }
    .currency-page .cr-panel { padding:20px; }
    .currency-page .cr-hero-actions { flex-direction:column; align-items:stretch; }
    .currency-page .cr-btn { width:100%; }
    .currency-page .cr-dashboard { padding:14px; }
    .currency-page .cr-metric-value { font-size:20px; }
    .currency-page .rate-sources-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .currency-page .cr-btn, .currency-page .rate-source-card { transition:none; }
    .currency-page .cr-btn:hover { transform:none; }
}
