/*
 * Cushqui page (page-templates/cushqui.php). Same look as the app
 * (cushqui_ionic/src/theme/variables.scss and cushqui-ui.scss): white and
 * gray, system font, radii 14 and 20, one column of at most 560px.
 * Light only. Sizes in rem so the visitor's text size setting applies.
 */

:root {
    color-scheme: light;
}

body {
    background: #FFFFFF;
}

.cq {
    --cq-bg: #FFFFFF;
    --cq-surface: #F2F2F7;
    --cq-surface-press: #E5E5EA;
    --cq-border: #E5E5EA;
    --cq-border-strong: #D1D1D6;
    --cq-text: #1C1C1E;
    --cq-text-dim: #6E6E73;
    --cq-inactive: #8E8E93;
    --cq-on-dark: #FFFFFF;
    --cq-radius: 14px;
    --cq-radius-large: 20px;
    --cq-touch: 2.75rem;
    --cq-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Roboto, Arial, sans-serif;

    background: var(--cq-bg);
    color: var(--cq-text);
    font-family: var(--cq-font);
    font-size: 1rem;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.cq *,
.cq *::before,
.cq *::after {
    box-sizing: border-box;
}

.cq [hidden] {
    display: none !important;
}

.cq a {
    color: var(--cq-text);
}

.cq :focus-visible {
    outline: 3px solid var(--cq-text);
    outline-offset: 2px;
    border-radius: 6px;
}

.cq-page {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 560px;
    margin: 0 auto;
    padding: 0.75rem 20px 2rem;
    animation: cqFadeUp 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes cqFadeUp {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Type ───────────────────────────────────────────── */
.cq-title {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.15;
}

.cq-h2 {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
}

.cq-h3 {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.3;
}

.cq-text {
    margin: 0;
    color: var(--cq-text-dim);
    font-size: 1rem;
    line-height: 1.45;
}

.cq-nowrap {
    white-space: nowrap;
}

.cq-intro {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

/* ── Header ─────────────────────────────────────────── */
.cq-brand__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--cq-touch);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

.cq-brand__link img {
    width: 2rem;
    height: 2rem;
}

/* ── Cards and buttons ──────────────────────────────── */
.cq-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
    background: var(--cq-surface);
    border-radius: var(--cq-radius-large);
}

/* ── Shared amount or app card, right under the title ── */
.cq-cta {
    gap: 0.875rem;
    padding: 1.25rem 1rem;
}

.cq-result {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
}

.cq-result__from,
.cq-result__note {
    color: var(--cq-text-dim);
    font-size: 1.0625rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cq-result__to {
    font-size: 2.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.cq-cta__lead {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
}

/* ── Sections ───────────────────────────────────────── */
.cq-text a {
    display: inline-block;
    min-height: var(--cq-touch);
    padding: 0.6875rem 0;
    font-weight: 600;
}

.cq-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.75rem;
}

.cq-table {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.cq-table th,
.cq-table td {
    padding: 0.625rem 0.25rem;
    border-bottom: 1px solid var(--cq-border);
    text-align: right;
}

.cq-table th:first-child,
.cq-table td:first-child {
    text-align: left;
}

.cq-table th {
    color: var(--cq-text-dim);
    font-size: 0.9375rem;
    font-weight: 600;
}

.cq-table td:last-child {
    font-weight: 600;
}

.cq-faq {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0.25rem 0 0.5rem;
}

/* ── The app ────────────────────────────────────────── */
.cq-app__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cq-app__head img {
    flex: 0 0 auto;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 22%;
    border: 1px solid var(--cq-border);
}

.cq-features {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cq-app__promise {
    color: var(--cq-text);
    font-weight: 600;
}

/* Store badges. Order and size by platform (cushqui.js sets
   data-cq-platform; without JS it stays "desktop": side by side) */
.cq-stores {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    padding-top: 0.25rem;
}

.cq-stores__item {
    display: inline-flex;
    align-items: center;
    min-height: var(--cq-touch);
    margin: 0;
}

.cq-stores__item img {
    display: block;
    width: auto;
    height: 3rem;
}

.cq-stores__soon {
    padding: 0 1rem;
    border: 1px solid var(--cq-border-strong);
    border-radius: var(--cq-radius);
    color: var(--cq-text-dim);
    font-size: 0.9375rem;
    font-weight: 600;
}

.cq[data-cq-platform="ios"] .cq-stores__item--ios img {
    height: 3.75rem;
}

.cq[data-cq-platform="android"] .cq-stores__item--android {
    order: -1;
}

.cq[data-cq-platform="android"] .cq-stores__item--android img {
    height: 3.75rem;
}

/* ── Footer ─────────────────────────────────────────── */
.cq-footer {
    max-width: 560px;
    margin: 0 auto;
    padding: 1.5rem 20px 2.5rem;
    border-top: 1px solid var(--cq-border);
    color: var(--cq-text-dim);
    font-size: 0.9375rem;
    text-align: center;
}

.cq-footer p {
    margin: 0 0 0.25rem;
}

.cq-footer a {
    display: inline-block;
    min-height: 2.75rem;
    padding: 0.6875rem 0.25rem;
    color: var(--cq-text);
}

@media (prefers-reduced-motion: reduce) {
    .cq-page {
        animation: none;
    }
}
