/*homepage custom css*/
section.get-payment-section.pt-70.pb-100.bg--section,
section.get-payment-section.tt-dark-section {
    padding-top: 100px;
}

section.blog-section.pt-80.pb-100,
section.blog-section.tt-dark-section {
    padding-bottom: 80px;
}

/* Force dark card bottoms (kill leftover orange) */
.tt-dark-section .post-item .post-content,
.blog-section .post-item .post-content,
.post-item .post-content {
    background: var(--rp-green, #0A3D2C) !important;
    background-image: none !important;
    color: #fff !important;
}
.tt-dark-section .post-item .post-content .title,
.tt-dark-section .post-item .post-content .title a,
.blog-section .post-item .post-content .title,
.blog-section .post-item .post-content .title a {
    color: #ffffff !important;
}
.tt-dark-section .post-item .post-content p,
.tt-dark-section .post-item .post-content a:not(.cmn--btn),
.blog-section .post-item .post-content p,
.blog-section .post-item .post-content a:not(.cmn--btn) {
    color: rgba(255, 255, 255, 0.88) !important;
}
/*End*/

/* Merchant page - Summernote-safe */
.mc-wrap { --mc-ink:#043448; --mc-brand:var(--rp-green, #0A3D2C); --mc-muted:#52646c; }
.mc-wrap * { box-sizing:border-box; }
.mc-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.mc-section { padding:72px 0; }
.mc-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:72px 0; background:#f5f8fa;
}
.mc-wrap h1 { margin:0 0 16px; font-size:38px; line-height:1.2; font-weight:650; color:var(--mc-ink); }
.mc-wrap h2 { margin:0 0 14px; font-size:28px; line-height:1.3; font-weight:600; color:var(--mc-ink); }
.mc-wrap h3 { margin:0 0 9px; font-size:19px; line-height:1.4; font-weight:600; color:var(--mc-ink); }
.mc-wrap p,.mc-wrap li { font-size:16px; line-height:1.7; color:var(--mc-muted); }
.mc-accent { color:var(--mc-brand); }
.mc-center { max-width:760px; margin:0 auto 38px; text-align:center; }
.mc-btn { margin-top:24px; }
.mc-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800) !important;
    color:var(--rp-ink, #1A1A1A) !important; font-weight:700; text-decoration:none;
    box-shadow:0 4px 12px rgba(245,184,0,.28);
}
.mc-btn a::after { content:"\2192"; }
.mc-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:78px 0; background:linear-gradient(135deg,#043448 0%,#0c67a3 100%);
}
.mc-hero-grid { display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
.mc-hero h1,.mc-hero p { color:#fff; }
.mc-hero-image img { display:block; width:100%; max-width:480px; margin:0 auto; }
.mc-steps { display:grid; grid-template-columns:1fr; gap:22px; }
.mc-card {
    height:100%; padding:27px 23px; border:1px solid #e4eaed; border-radius:15px;
    background:#fff; box-shadow:0 9px 26px rgba(4,52,72,.07);
}
.mc-card > img {
    display:block; width:auto !important; max-width:64px; height:54px;
    object-fit:contain; margin:0 0 18px;
}
.mc-card h3 { color:var(--mc-brand); text-transform:uppercase; }
.mc-card p { margin:0; }
.mc-tools { display:grid; grid-template-columns:1fr; gap:30px; }
.mc-panel {
    padding:30px 25px; border-radius:15px; background:#fff;
    border-top:5px solid var(--mc-brand); box-shadow:0 9px 26px rgba(4,52,72,.07);
}
.mc-list { display:grid; gap:9px; margin-top:18px; }
.mc-list > div { position:relative; padding:8px 8px 8px 31px; color:#52646c; }
.mc-list > div::before { content:"\2713"; position:absolute; left:3px; color:var(--mc-brand); font-weight:700; }
.mc-features { display:grid; grid-template-columns:1fr; gap:20px; }
.mc-feature .mc-card > img { max-width:56px; height:48px; }
.mc-why { display:grid; grid-template-columns:1fr; gap:38px; align-items:center; }
.mc-why-image img { display:block; width:100%; max-width:500px; margin:0 auto; }
.mc-values { display:grid; gap:16px; margin-top:24px; }
.mc-value { display:grid; grid-template-columns:54px 1fr; gap:16px; align-items:start; }
.mc-value > img { width:50px !important; height:50px; object-fit:contain; }
.mc-value p { margin:0; }
.mc-faq { max-width:900px; margin:0 auto; }
@media(min-width:768px) {
    .mc-hero-grid { grid-template-columns:1fr 1fr; }
    .mc-steps { grid-template-columns:repeat(3,1fr); }
    .mc-tools { grid-template-columns:1fr 1fr; }
    .mc-features { grid-template-columns:repeat(2,1fr); }
    .mc-why { grid-template-columns:1fr 1fr; }
}
@media(min-width:1024px) { .mc-features { grid-template-columns:repeat(4,1fr); } }
@media(max-width:767px) {
    .mc-section,.mc-soft { padding:50px 0; }
    .mc-hero { padding:55px 0; }
    .mc-wrap h1 { font-size:29px; }
    .mc-wrap h2 { font-size:23px; }
    .mc-wrap h3 { font-size:18px; }
    .mc-wrap p,.mc-wrap li { font-size:15px; }
    .mc-card,.mc-panel { padding:23px 18px; }
}
/*End*/

/*==============================================================
  Mobile Reload page
  Summernote-safe: style via div/span classes only
==============================================================*/
.mr-wrap {
    --mr-ink: #043448;
    --mr-brand: var(--rp-lime, #39D46A);
    --mr-muted: #52646c;
}

.mr-wrap * { box-sizing: border-box; }
.mr-container { width: min(1140px, calc(100% - 32px)); margin: 0 auto; }
.mr-section { padding: 70px 0; }
.mr-soft {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 70px 0;
    background: linear-gradient(180deg, #fff8f3 0%, #f3f8fb 100%);
}

.mr-wrap h2 {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--mr-ink);
}

.mr-wrap h3 {
    margin: 0 0 8px;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--mr-ink);
}

.mr-wrap p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--mr-muted);
}

.mr-accent { color: var(--mr-brand); }
.mr-center { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.mr-grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.mr-media img { width: 100%; height: auto; display: block; border-radius: 16px; }
.mr-media--sm img { width: min(390px, 100%); margin: 0 auto; }

.mr-hero {
    width: 100vw;
    margin: -3rem 0 0 50%;
    transform: translateX(-50%);
    padding: 90px 0;
    background: linear-gradient(135deg, #fff8f3 0%, #eaf5fb 100%);
}

.mr-hero .mr-grid { min-height: 360px; }
.mr-hero h2 { font-size: 38px; }
.mr-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--mr-brand);
    font-size: 18px;
    font-weight: 600;
}

.mr-checks { display: grid; gap: 10px; margin-top: 24px; }
.mr-check {
    position: relative;
    padding: 12px 16px 12px 46px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .85);
    color: #263f4a;
}

.mr-check::before {
    content: "\2713";
    position: absolute;
    top: 11px;
    left: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
}

.mr-video {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 38px rgba(4, 52, 72, .14);
}

.mr-video video {
    width: 100%;
    height: auto;
    display: block;
}

.mr-cards { display: grid; grid-template-columns: 1fr; gap: 22px; }
.mr-card {
    height: 100%;
    padding: 28px 22px;
    border: 1px solid #e4ecef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(4, 52, 72, .06);
    text-align: center;
}

.mr-card-img {
    width: 86px;
    height: 86px;
    margin: 0 auto 18px;
}

.mr-card-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mr-card p { font-size: 15px; margin: 0; }

.mr-steps { display: grid; grid-template-columns: 1fr; gap: 18px; counter-reset: mr-step; }
.mr-step {
    position: relative;
    min-height: 150px;
    padding: 56px 20px 22px;
    border: 1px solid #e4ecef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(4, 52, 72, .06);
    counter-increment: mr-step;
}

.mr-step::before {
    content: counter(mr-step);
    position: absolute;
    top: 18px;
    left: 20px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
}

.mr-step h3 { margin: 0 0 8px; }
.mr-step p { font-size: 15px; margin: 0; }

.mr-wallet {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #dde7eb;
}

.mr-btn { margin-top: 24px; }
.mr-btn a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    background:var(--rp-yellow, #F5B800);
    color: var(--rp-ink, #1A1A1A) !important;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28);
}

.mr-btn a::after { content: "\2192"; }
.mr-cta {
    width: 100vw;
    margin: 0 0 -3rem 50%;
    transform: translateX(-50%);
    padding: 76px 20px;
    background: #f5f7fa;
    text-align: center;
}

.mr-cta .mr-btn { display: inline-flex; }

@media (min-width: 768px) {
    .mr-grid { grid-template-columns: 1fr 1fr; gap: 54px; }
    .mr-grid--rev .mr-media { order: 2; }
    .mr-cards { grid-template-columns: repeat(3, 1fr); }
    .mr-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .mr-steps { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
    .mr-section, .mr-soft { padding: 50px 0; }
    .mr-hero { padding: 60px 0; }
    .mr-hero .mr-grid { min-height: 0; }
    .mr-wrap h2, .mr-hero h2 { font-size: 24px; }
    .mr-wrap h3 { font-size: 18px; }
    .mr-wrap p { font-size: 15px; }
    .mr-center { margin-bottom: 30px; }
    .mr-wallet { margin-top: 44px; padding-top: 44px; }
    .mr-cta { padding: 56px 18px; }
}
/*End*/

/*virtual card page css*/
/*virtual card page css*/
img.img-fluid.imgfluid {
    width: inherit;
}

img.img-fluids {
    width: 70% !important;
}

.col-md-4.col-sm-12.flexbox {
    display: flex;
    justify-content: center;
    align-items: center; /* Changed from anchor-center to center for valid CSS */
}

.virtual-card-section .row {
    display: flex;
    align-items: center; /* Vertically center content in the row */
    flex-wrap: wrap; /* Ensure responsiveness */
}

.virtual-card-section .col-md-6 {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center content vertically within the column */
    text-align: left; /* Ensure text is aligned consistently */
}

.virtual-card-section img.img-fluid {
    max-width: 90%;
    height: auto;
    object-fit: contain; /* Ensure images scale properly without distortion */
    border-radius: 10px;
}

.virtual-card-section .flexbox {
    display: flex;
    align-items: center; /* Align checkmark images with text */
    gap: 10px; /* Add spacing between image and text */
}

.virtual-card-section .flexbox img.imgfluid {
    max-width: 24px; /* Adjust size of checkmark images for consistency */
    height: auto;
}

.virtual-card-section .app-links img {
    max-width: 150px; /* Adjust size for app store buttons if needed */
    margin-right: 10px;
}

.virtual-card-section .text-center img {
    max-width: 300px; /* Adjust size for centered images */
    margin: 0 auto; /* Center images horizontally */
}

/* Reduce gaps between sections but keep design structure */
.virtual-card-section {
    padding-top: 30px !important; /* instead of py-3 (â48px) */
    padding-bottom: 30px !important;
}

.virtual-card-section .row.mb-5 {
    margin-bottom: 20px !important; /* reduce gap between content blocks */
}

/* Media queries for small screens (576px and below) */
@media (max-width: 576px) {
    /* Adjust image sizes for small screens */
    .virtual-card-section img.img-fluid {
        max-width: 100%; /* Ensure images take full width for better visibility */
    }

    .virtual-card-section img.img-fluids {
        width: 100% !important; /* Override 70% width for full-width images */
    }

    .virtual-card-section .text-center img {
        max-width: 100%; /* Ensure centered images scale to full width */
    }

    .virtual-card-section .app-links img {
        max-width: 120px; /* Reduce app store button size for small screens */
        margin-right: 5px; /* Reduce margin for tighter spacing */
    }

    /* Adjust flexbox for small screens */
    .virtual-card-section .col-md-6 {
        text-align: center; /* Center text for better readability */
        padding: 10px; /* Add padding to prevent content from touching edges */
    }

    .col-md-4.col-sm-12.flexbox {
        justify-content: flex-start; /* Align flexbox items to start for consistency */
        margin-bottom: 10px; /* Add spacing between flexbox items */
    }

    .virtual-card-section .flexbox img.imgfluid {
        max-width: 20px; /* Slightly smaller checkmark images for small screens */
    }
    .row.mb-5.customrow {
        flex-direction: column-reverse;
    }
    /* Reduce padding and margins for sections */
    .virtual-card-section {
        padding-top: 20px !important; /* Reduce padding for compact layout */
        padding-bottom: 20px !important;
    }

    .virtual-card-section .row.mb-5 {
        margin-bottom: 15px !important; /* Further reduce gap between content blocks */
    }

    /* Ensure each section's content (image + text) stays together */
    .virtual-card-section .row {
        flex-direction: column; /* Force stack in a single column */
        align-items: stretch; /* Stretch items to fill width */
    }

    .virtual-card-section .col-md-6 {
        width: 100%; /* Ensure each column takes full width */
        margin-bottom: 20px; /* Add space between image and text blocks */
    }

    .virtual-card-section .col-md-6:last-child {
        margin-bottom: 0; /* Remove margin from the last column to avoid extra space */
    }

    /* Adjust typography for small screens */
    .virtual-card-section h2 {
        font-size: 1.5rem; /* Reduce heading size for small screens */
        margin-bottom: 15px !important; /* Consistent spacing */
    }

    .virtual-card-section p,
    .virtual-card-section li {
        font-size: 0.9rem; /* Slightly smaller text for better fit */
    }

    /* Ensure buttons remain usable */
    .virtual-card-section .btn {
        font-size: 0.9rem; /* Smaller button text */
        padding: 8px 16px; /* Adjust button padding */
    }
}

/*end*/

/*cardmachine page css*/
:root {
    --bg: var(--rp-green, #0A3D2C);
    --bg-alt: #07281d;
    --ink: #ffffff;
    --muted: rgba(255,255,255,0.82);
    --brand: var(--rp-lime, #39D46A);
    --border: rgba(57, 212, 106, 0.22);
    --radius: 12px;
    --shadow: 0 6px 24px rgba(0,0,0,0.28);
    --card-bg: #ffffff;
    --card-ink: #101114;
    --card-muted: #5d6470;
}

.yp-stack {
    display: block;
    background:
        radial-gradient(ellipse 55% 70% at 90% 20%, rgba(57, 212, 106, 0.16) 0%, transparent 55%),
        linear-gradient(160deg, var(--rp-green-dark, #06281d) 0%, var(--rp-green, #0A3D2C) 50%, #0d4632 100%);
    color: var(--ink);
}
.yp-container { max-width: 1100px; margin-inline: auto; padding: 2rem 1rem; }
.yp-band { 
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
    } /* soft section band; change as you like */
.yp-title { font-size: clamp(1.75rem, 1.1rem + 2vw, 2.5rem); line-height: 1.2; margin: 0 0 0.75rem; color: #ffffff !important; }
.yp-subtitle { 
    font-size: clamp(1.35rem, 1rem + 1vw, 1.75rem);
    line-height: 1.25; margin: 0 0 0.5rem;
        display: flex;
    justify-content: center;
    color: #ffffff !important;
    }
.yp-muted { color: rgba(255,255,255,0.85) !important; }
.yp-card .yp-muted,
.yp-devices__body .yp-muted { color: #5d6470 !important; }
.yp-card .yp-checklist,
.yp-card .yp-checklist li { color: #374151 !important; }
.yp-card .yp-checklist li::before { color: var(--rp-lime, #39D46A); }
.yp-band {
    background:
        radial-gradient(ellipse 60% 80% at 80% 40%, rgba(57, 212, 106, 0.22) 0%, transparent 55%),
        linear-gradient(115deg, var(--rp-green-dark, #06281d) 0%, var(--rp-green, #0A3D2C) 50%, #145C3A 100%) !important;
    color: #fff;
}
.yp-band .yp-subtitle,
.yp-band .yp-muted,
.yp-band h2 { color: #ffffff !important; }
.yp-marquee {
    background: #ffffff !important;
    border-color: transparent !important;
}
.yp-logo {
    background: #f3f4f6;
    color: var(--rp-green, #0A3D2C) !important;
    border-radius: 999px;
    padding: 0 .9rem;
    font-weight: 600;
}
.yp-cmn--btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 1rem; border-radius: 999px; text-decoration: none; border: 1px solid var(--border); }
.yp-badge { 
    display: inline-block;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: #ffffff;
    color: var(--rp-green, #0A3D2C);
    border: 1px solid rgba(255,255,255,0.35);
    font-size: .825rem;
    font-weight: 600;
}
.yp-checklist { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .5rem; color: rgba(255,255,255,0.9); }
.yp-checklist li { position: relative; padding-left: 1.4rem; color: rgba(255,255,255,0.9) !important; }
.yp-checklist li::before { content: "\2714"; position: absolute; left: 0; top: 0; color: var(--brand); font-weight: 700; }
.yp-grid { display: grid; gap: 1rem; }
.yp-grid-2 { grid-template-columns: 1fr; }
.yp-grid-4 { grid-template-columns: 1fr; }
@media (min-width: 768px) {
    .yp-grid-2 { grid-template-columns: repeat(2, 1fr); }
    .yp-grid-4 { grid-template-columns: repeat(4, 1fr); }
}
.yp-card {
    background: var(--card-bg, #ffffff);
    color: var(--card-ink, #101114);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: var(--shadow);
}
.yp-card h1, .yp-card h2, .yp-card h3, .yp-card h4, .yp-card h5, .yp-card p, .yp-card li {
    color: var(--card-ink, #101114) !important;
}
.yp-icon { width: 36px; height: 36px; border-radius: 10px; background: var(--bg-alt); display: grid; place-items: center; color: var(--brand); margin-bottom: .5rem; font-weight: 700; }
.yp-mb-3 { margin-bottom: 1rem; }
.yp-pt-100 { padding-top: 100px; }
.yp-pb-100 { padding-bottom: 100px; }
.yp-text-center { text-align: center; }
.yp-text-balance { text-wrap: balance; }

/* Hero */
.yp-hero { display: grid; gap: 2rem; align-items: center; }
.yp-hero__copy { display: grid; gap: 1rem; }
.yp-hero__badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.yp-hero__media { position: relative; min-height: 320px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.yp-hero__screenshot { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; filter: blur(2px) saturate(.8); }
.yp-device { position: absolute; filter: drop-shadow(0 8px 24px rgba(0,0,0,.1)); }
.yp-device--front { right: 8%; bottom: 8%; width: 30%; }
.yp-device--side { left: 8%; bottom: 12%; width: 38%; }
@media (min-width: 920px) {
    .yp-hero { grid-template-columns: 1.1fr .9fr; }
}

/* Devices Tabs */
.yp-devices__head { display: grid; gap: .75rem; margin-bottom: 1rem; }
.yp-tabs { display: inline-flex; padding: .35rem; border: 0; border-radius: 999px; background: #ffffff; gap: .35rem; width: 100%; max-width: 720px; margin: 0 auto; }
.yp-tab { border: 0; background: transparent; padding: .65rem .9rem; border-radius: 999px; cursor: pointer; color: var(--rp-green, #0A3D2C); flex: 1; font-weight: 600; }
.yp-tab.yp-is-active { background: #ffffff; border: 0; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.yp-devices__body {
    display: grid;
    gap: 1.25rem;
    align-items: start;
    background: #ffffff;
    border-radius: 18px;
    padding: 1.25rem;
    color: #101114;
}
.yp-devices__media { background: #f5f6f7; border: 1px solid #e6e8eb; border-radius: var(--radius); padding: 1rem; display: grid; gap: .5rem; justify-items: center; }
.yp-devices__media img { max-width: 100%; height: auto; }
.yp-devices__media .yp-muted,
.yp-devices__media figcaption { color: #5d6470 !important; }
@media (min-width: 900px) { .yp-devices__body { grid-template-columns: 0.9fr 1.1fr; gap: 2rem; } }
.yp-panel-title { margin: 0 0 .5rem; color: #101114 !important; }
.yp-devices__panel,
.yp-devices__panel h3,
.yp-devices__panel dt,
.yp-devices__panel dd,
.yp-devices__panel strong { color: #101114 !important; }
.yp-specs { display: grid; gap: .5rem; margin-bottom: 1rem; }
.yp-specs div { display: grid; grid-template-columns: 140px 1fr; gap: .75rem; padding: .5rem; border: 1px dashed #e6e8eb; border-radius: 8px; color: #101114; }
.yp-devices__panel[hidden] { display: none !important; }

/* Marquee */
.yp-marquee { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-alt); }
.yp-marquee__track { display: flex; gap: 1rem; padding: .75rem 1rem; width: max-content; animation: yp-scroll 28s linear infinite; }
.yp-logo { min-width: 112px;
    height: 40px; 
    display: grid;
    place-items: center;
    /*background: var(--bg);*/
    /*border: 1px solid var(--border);*/
    border-radius: 8px; color: var(--muted); }
@keyframes yp-scroll { 
    from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .yp-marquee__track { 
      animation: none; 
  } 
}

/* Tap banner */
.yp-tap__wrap { display: grid;
    gap: 1rem;
    align-items: center; }
.yp-tap__media { display: grid;
    justify-items: center;
}
@media (min-width: 900px) { 
    .yp-tap__wrap { 
        grid-template-columns: 1.2fr .8fr; 
    } 
}

/* FAQs */
.yp-faq-block-item .yp-faq-block-title { cursor: pointer; }
.yp-faq-block-content { display: none; }
.yp-faq-block-item.active .yp-faq-block-content { display: block; }
.yp-stack .faq-block-item,
.yp-stack .yp-faq-block-item {
    border-color: rgba(255,255,255,0.15) !important;
    background: transparent !important;
}
.yp-stack .faq-block-title h5,
.yp-stack .faq-block-title .title,
.yp-stack .yp-faq-block-title,
.yp-stack .yp-faq-block-title h5,
.yp-stack .faq-block-item .title {
    color: #ffffff !important;
    opacity: 1 !important;
}
.yp-stack .faq-block-content p,
.yp-stack .yp-faq-block-content p {
    color: rgba(255,255,255,0.85) !important;
}
.yp-stack h1, .yp-stack h2, .yp-stack h3, .yp-stack h4, .yp-stack h5 {
    color: #ffffff !important;
}
.yp-stack .yp-card h1,
.yp-stack .yp-card h2,
.yp-stack .yp-card h3,
.yp-stack .yp-card h4,
.yp-stack .yp-card h5,
.yp-stack .yp-devices__body h1,
.yp-stack .yp-devices__body h2,
.yp-stack .yp-devices__body h3,
.yp-stack .yp-devices__body h4,
.yp-stack .yp-devices__body h5 {
    color: #101114 !important;
}
.yp-stack p:not(.yp-card p):not(.yp-devices__body p) {
    color: rgba(255,255,255,0.88) !important;
}

/* Media queries for small screens (576px and below) */
@media (max-width: 576px) {
    .yp-container { padding: 1rem; } /* Reduce padding for smaller screens */
    
    .yp-title { font-size: clamp(1.25rem, 1rem + 2vw, 1.75rem); } /* Reduce title size */
    .yp-subtitle { font-size: clamp(1.1rem, 0.9rem + 1vw, 1.35rem); } /* Reduce subtitle size */
    
    .yp-hero { gap: 1.5rem; } /* Reduce gap in hero section */
    .yp-hero__copy { gap: 0.75rem; } /* Reduce gap within hero copy */
    .yp-hero__badges { 
        /*flex-direction: column;*/
        align-items: center;
        gap: 0.25rem; } /* Stack badges vertically */
    .yp-hero__media { min-height: 200px; } /* Reduce min-height for smaller screens */
    .yp-device--front { right: 5%; bottom: 5%; width: 40%; } /* Adjust device positions and sizes */
    .yp-device--side { left: 5%; bottom: 8%; width: 45%; }
    
    .yp-devices__body { gap: 1rem; } /* Reduce gap in devices section */
    .yp-devices__media { padding: 0.75rem; } /* Reduce padding in media section */
    .yp-tabs { flex-wrap: wrap; justify-content: center; gap: 0.25rem; } /* Wrap tabs and center them */
    .yp-tab { padding: 0.4rem 0.7rem; font-size: 0.9rem; } /* Reduce tab padding and font size */
    .yp-specs div { grid-template-columns: 100px 1fr; gap: 0.5rem; padding: 0.25rem; } /* Adjust specs layout */
    
    .yp-grid-2, .yp-grid-4 { grid-template-columns: 1fr; } /* Force single column for grids */
    .yp-card { padding: 1.5rem; } /* Reduce card padding */
    .yp-icon { width: 28px; height: 28px; } /* Reduce icon size */
    
    .yp-marquee__track { gap: 0.5rem; padding: 0.5rem; } /* Reduce marquee padding and gap */
    .yp-logo { min-width: 80px; height: 30px; font-size: 0.8rem; } /* Reduce logo size */
    
    .yp-tap__wrap { gap: 0.75rem; } /* Reduce gap in tap section */
    .yp-tap__media img { max-width: 100%; } /* Ensure tap image scales */
    
    .yp-pt-100 { padding-top: 50px; } /* Reduce top padding for FAQs */
    .yp-pb-100 { padding-bottom: 50px; } /* Reduce bottom padding for FAQs */
    .faq-block-item { margin-bottom: 1rem; } /* Add spacing between FAQ items */
    .faq-block-title h5 { font-size: 1rem; } /* Reduce FAQ title size */
    .faq-block-content p { font-size: 0.9rem; } /* Reduce FAQ content size */
    
    .yp-cmn--btn { padding: 0.5rem 0.75rem; font-size: 0.9rem; } /* Reduce button size */
}
/*End*/
  
  /*tap to page*/
/*tap to pay responsive styles*/
#tapnpay {
  overflow-x: hidden;
}
#tapnpay .container {
  max-width: 1200px;
  margin-inline: auto;
  padding: 2rem 1rem;
  width: 100%;
}
#tapnpay .eyebrow {
  /*font-size: 0.875rem;*/
  /*font-weight: 600;*/
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
#tapnpay h2 {
  /*font-size: clamp(1.5rem, 4vw, 2.5rem);*/
  line-height: 1.2;
  margin-bottom: 1rem;
}
/*#tapnpay p.lead {*/
  /*font-size: 1.125rem;*/
/*  line-height: 1.6;*/
/*}*/
#tapnpay .grid {
  display: grid;
  gap: 1.5rem;
}
#tapnpay .grid-2 {
  grid-template-columns: 1fr;
  gap: 2rem;
}
#tapnpay .grid-3 {
  grid-template-columns: 1fr;
  gap: 1rem;
}
#tapnpay .grid-4 {
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  #tapnpay .grid-2 { 
    grid-template-columns: 1fr 1fr; 
    gap: 1rem;
    align-items: center;
  }
  #tapnpay .grid-3 { 
    grid-template-columns: repeat(3, 1fr); 
    gap: 1.5rem; 
  }
  #tapnpay .grid-4 { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 1.5rem; 
  }
}
@media (min-width: 1024px) {
  #tapnpay .grid-4 { 
    grid-template-columns: repeat(4, 1fr); 
  }
}
/* Cards */
#tapnpay .card {
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  background: #fff;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
#tapnpay .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
#tapnpay .card-body {
  /*padding: 0rem;*/
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: anchor-center;
}
#tapnpay .card-image {
  padding: 1.5rem 1.5rem 0;
  text-align: center;
  flex-shrink: 0;
}
#tapnpay .card-image img {
  max-height: 80px;
  width: auto;
}
#tapnpay .icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
  font-size: 1.5rem;
  background: #f8f9fa;
}
#tapnpay .check {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
#tapnpay .check svg {
  flex-shrink: 0;
}
/* Specifications Band */
/*#tapnpay .specs-band {*/
/*  background: #e9efc7;*/
/*  margin: 4rem 0;*/
/*  padding: 3rem 0;*/
/*  border-top: 1px solid #e0e0e0;*/
/*  border-bottom: 1px solid #e0e0e0;*/
/*}*/
#tapnpay .specs-band .container {
  padding: 0 1rem;
}
#tapnpay .specs-note {
  /*font-size: 0.875rem;*/
  margin-top: 1rem;
}
/* Tabs */
#tapnpay [data-tabs] {
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  overflow: hidden;
}
#tapnpay .tab-list {
  display: flex;
  gap: 0;
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  flex-wrap: wrap;
}
#tapnpay .tab-btn {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 1rem 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 2px solid transparent;
  flex: 1;
  min-width: 120px;
  text-align: center;
}
#tapnpay .tab-btn.is-active {
  background: #fff;
  border-bottom-color: #007bff;
  color: #007bff;
}
#tapnpay .tab-btn:hover:not(.is-active) {
  background: rgba(0,123,255,0.05);
}
#tapnpay .tab-panel {
  padding: 2rem;
  background: #fff;
}
@media (max-width: 767px) {
  #tapnpay .tab-list {
    flex-direction: column;
  }
  #tapnpay .tab-btn {
    border-bottom: 1px solid #e0e0e0;
    border-right: none;
    text-align: left;
  }
  #tapnpay .tab-btn:last-child {
    border-bottom: none;
  }
  #tapnpay .tab-panel {
    padding: 1.5rem;
  }
}
/* CTA Section */
#tapnpay .cta-image {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
#tapnpay .cta-image img {
  width: 100%;
  height: auto;
  display: block;
}
/* Utilities */
#tapnpay .center { 
  text-align: center; 
}
#tapnpay .mt-2 { 
  margin-top: 0.5rem; 
}
#tapnpay .mt-3 { 
  margin-top: 0.75rem; 
}
#tapnpay .mt-4 { 
  margin-top: 1rem; 
}
#tapnpay .mt-6 { 
  margin-top: 1.5rem; 
}
#tapnpay .mt-8 { 
  margin-top: 2rem; 
}
#tapnpay .mb-3 { 
  margin-bottom: 0.75rem; 
}
/*#tapnpay .muted { */
/*  color: #6c757d; */
/*}*/
#tapnpay .py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
#tapnpay .ms-lg-3 {
  margin-left: 0;
}
@media (min-width: 992px) {
  #tapnpay .ms-lg-3 {
    margin-left: 1rem;
  }
}
/* Image responsive */
#tapnpay .image-container img,
#tapnpay .media {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
/* List styles */
#tapnpay ol {
  padding-left: 0;
  list-style: none;
  counter-reset: step-counter;
}
#tapnpay ol li {
  counter-increment: step-counter;
  position: relative;
}
#tapnpay ol li strong::before {
  content: counter(step-counter) ". ";
  font-weight: bold;
}
/*End*/

/*yoop apps*/
  /* Minimal, layout-only CSS. No fonts or colors defined. */
  .section { padding: 56px 0; }
  .container { max-width: 1140px; margin-inline: auto; padding-inline: 16px; }
  .grid { display: grid; gap: 24px; }
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  @media (min-width: 768px) {
    .grid-2 { grid-template-columns: 1.1fr 0.9fr; }
  }
  @media (min-width: 1024px) {
    .grid-3 { grid-template-columns: 1fr 1fr 1fr; }
  }

  /*.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 999px; border: 1px solid currentColor; text-decoration: none; }*/
  .badge { display:inline-block; padding: 6px 10px; border-radius: 999px; border: 1px solid currentColor; }

  .card { 
      border: 1px solid #e0e0e0;
      border-radius: 16px;
      padding: 24px;
      }
  .card-soft { border-radius: 16px; padding: 24px; }
  .pill { border-radius: 14px; padding: 14px 16px; border: 1px solid currentColor; }

  .stack { display: grid; gap: 12px; }
  /*.stack-lg { display: grid; gap: 16px; }*/
  .cluster { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

  .media { position: relative;
    border-radius: 20px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    }
  /*.media--phone { aspect-ratio: 3/5; }*/
  /*.media--wide { aspect-ratio: 16/9; }*/
  /*.media--square { aspect-ratio: 1/1; }*/
  .qr { position: absolute; right: 8%; bottom: 6%; width: 34%; aspect-ratio: 1/1; border: 1px solid currentColor; border-radius: 12px; }

  .list { display:grid; gap:10px; }
  .list li { display:flex; gap:10px; align-items:flex-start; }
  .dot { width: 8px; height: 8px; border-radius: 999px; border: 1px solid currentColor; margin-top: 8px; flex: 0 0 auto; }

  .center { text-align: center; }
  .muted { }
  .rounded { 
      border-radius: 20px !important;
      }
  .pad { padding: 16px; }
  .mt-8 { margin-top: 32px; }
  .mt-12 { margin-top: 48px; }
  .mt-16 { margin-top: 64px; }
  .gap-6 { gap: 24px; }
  .gap-8 { gap: 32px; }

  /* Simple faux chart using currentColor only */
  .chart { position: relative; border: 1px solid currentColor; border-radius: 12px; padding: 16px; height: 260px; }
  .bars { position:absolute; bottom:16px; left:16px; right:16px; display:grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 10px; align-items:end; }
  .bar { background: currentColor; height: 40%; border-radius: 6px 6px 0 0; }
  .bar:nth-child(2){ height: 70%; }
  .bar:nth-child(3){ height: 55%; }
  .bar:nth-child(4){ height: 80%; }
  .bar:nth-child(5){ height: 63%; }
/*End*/
/*partner-page*/
    /* Hero section styles (no font imports) */

/* Color tokens: 4 colors total */

.partner-hero__container {
  max-width: 1200px;
  margin-inline: auto;
  padding: 56px 20px;
}

.partner-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 32px;
}

.partner-hero__title {
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 16px 0;
}

.partner-hero__subtitle {
  line-height: 1.6;
  margin: 0 0 24px 0;
  max-width: 60ch;
}

.partner-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
/* Desktop */
@media (min-width: 960px) {
  .partner-hero__grid {
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
  }
  .partner-hero__container {
    padding: 96px 20px;
  }
}

.partner-hero__container {
  max-width: 1200px;
  margin-inline: auto;
  padding: 56px 20px;
}

.partner-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 32px;
}

.partner-hero__title {
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 16px 0;
}

.partner-hero__subtitle {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 24px 0;
  max-width: 60ch;
}

.partner-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none;
  border: 2px solid transparent;
  font-weight: 600;
  transition: transform 120ms ease, background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.btn__arrow {
  transform: translateY(1px);
}

.btn:focus-visible {
  outline: 2px solid var(--fg-dark);
  outline-offset: 2px;
}

.btn--primary {
  background: var(--fg-dark);
  color: var(--white);
}

.btn--primary:hover {
  transform: translateY(-1px);
  background: #000;
}

.btn--secondary {
  background: var(--white);
  color: var(--fg-dark);
  border-color: var(--accent-blue);
}

.btn--secondary:hover {
  transform: translateY(-1px);
  background: #eaf3ff;
  color: var(--fg-dark);
}

.partner-hero__visual {
  justify-self: center;
}

.partner-hero__image {
  width: min(520px, 100%);
  height: auto;
  border-radius: var(--radius-xl);
  display: block;
}

/* Partner opportunities section */
/*.partner-opportunities {*/
/*  background: var(--white);*/
/*  color: var(--fg-dark);*/
/*  border-top: 4px solid var(--brand-lime);*/
/*}*/

.partner-opportunities__container {
  max-width: 1200px;
  margin-inline: auto;
  padding: 56px 20px;
}

.partner-opportunities__title {
  text-align: center;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  margin: 0 0 32px 0;
}

.partner-opportunities__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

.partner-opportunities__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px 16px;
  align-items: start;
}

.partner-opportunities__icon {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  background: var(--brand-lime);
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.06);
  margin-top: 4px;
  text-align:center;
}

.partner-opportunities__heading {
  font-size: 20px;
  line-height: 1.35;
  margin: 0 0 4px 0;
  grid-column: 2 / -1;
}

.partner-opportunities__desc {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  grid-column: 2 / -1;
  max-width: 60ch;
}

/* Desktop */
@media (min-width: 960px) {
  .partner-hero__grid {
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
  }
  .partner-hero__container {
    padding: 96px 20px;
  }
  .partner-opportunities__container {
    padding: 72px 20px;
  }
  .partner-opportunities__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
  .partner-opportunities__item {
    grid-template-columns: auto 1fr;
  }
}
/* Mobile-specific adjustments for better responsiveness */
  @media (max-width: 767px) {
    /* Reduce padding for sections and containers on mobile */
    .section {
      padding: 32px 0;
    }
    .container {
      padding-inline: 12px;
    }

    /* Adjust font sizes for better readability on smaller screens */
    .partner-hero__title,
    h1,
    h2.title-lg {
      font-size: clamp(24px, 6vw, 32px);
    }
    .partner-hero__subtitle,
    p.lead,
    p.muted {
      font-size: 14px;
      line-height: 1.5;
    }

    /* Ensure images and media elements are full-width and maintain aspect ratio */
    .media,
    .media--phone,
    .media--wide,
    .partner-hero__image {
      width: 100%;
      height: auto;
    }
    .media img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }

    /* Adjust grid layouts to stack vertically on mobile */
    .grid,
    .grid-2,
    .partner-hero__grid,
    .partner-opportunities__grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    /* Reduce spacing for tighter mobile layout */
    .gap-6 {
      gap: 16px;
    }
    .gap-8 {
      gap: 20px;
    }
    .mt-8 {
      margin-top: 24px;
    }
    .mt-12 {
      margin-top: 32px;
    }
    .mt-16 {
      margin-top: 48px;
    }

    /* Adjust card padding and content for mobile */
    .card,
    .card-soft {
      padding: 16px;
    }
    .card h3.title-lg {
      font-size: 1.1rem;
    }

    /* Ensure buttons and badges are appropriately sized */
    .btn,
    .cmn--btn {
      padding: 10px 14px;
      font-size: 14px;
    }
    .badge {
      padding: 4px 8px;
      font-size: 12px;
    }

    /* Adjust list items for mobile */
    .list li {
      gap: 8px;
    }
    .dot {
      margin-top: 6px;
      width: 6px;
      height: 6px;
    }

    /* Center-align content for better mobile presentation */
    .partner-hero__actions,
    .cluster {
      justify-content: center;
    }

    /* Adjust chart height for mobile */
    .chart {
      height: 200px;
    }

    /* Ensure partner opportunities icons are smaller */
    .partner-opportunities__icon {
      width: 40px;
      height: 40px;
    }
    .partner-opportunities__heading {
      font-size: 18px;
    }
    .partner-opportunities__desc {
      font-size: 14px;
    }
  }

  /* Extra small screens (below 480px) */
  @media (max-width: 479px) {
    .partner-hero__title,
    h1,
    h2.title-lg {
      font-size: clamp(20px, 5vw, 28px);
    }
    .partner-hero__subtitle,
    p.lead,
    p.muted {
      font-size: 13px;
    }
    .btn,
    .cmn--btn {
      padding: 8px 12px;
      font-size: 13px;
    }
    .card,
    .card-soft {
      padding: 12px;
    }
  }
/*End*/

/*==============================================================
  Shared styles for pages authored in the admin page editor.
  The editor strips class attributes from h2/h3/p/a/ul/li/img and
  removes <section>, so every selector is anchored on a div/span
  class and targets child tags by element name.
==============================================================*/
.tt-doc {
    --tt-ink: #101114;
    --tt-brand: var(--rp-lime, #39D46A);
    --tt-blue: var(--rp-lime, #39D46A);
    --tt-muted: #5d6470;
    padding: 20px 0 40px;
    color: #ffffff;
}

.tt-doc * {
    box-sizing: border-box;
}

.tt-doc h2 {
    margin: 0 0 18px;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--tt-ink);
}

.tt-doc h3 {
    margin: 0 0 10px;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--tt-ink);
}

.tt-doc p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--tt-muted);
}

.tt-doc p:last-child {
    margin-bottom: 0;
}

.tt-center {
    text-align: center;
}

.tt-narrow {
    max-width: 720px;
    margin: 0 auto 40px;
}

/* Intro paragraph with an accent rule */
.tt-lead {
    max-width: 900px;
    margin: 0 0 34px;
    padding-left: 24px;
    border-left: 5px solid var(--tt-brand);
}

.tt-lead p {
    font-size: 18px;
    line-height: 1.8;
}

/* White content card */
.tt-card {
    margin-bottom: 26px;
    padding: 36px;
    border: 1px solid #e2eaed;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(4, 52, 72, .06);
}

.tt-card--accent {
    border-top: 5px solid var(--tt-brand);
}

.tt-card:last-child {
    margin-bottom: 0;
}

/* Bulleted list with gradient dots, supports one nested level */
.tt-list ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.tt-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 28px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--tt-muted);
}

.tt-list li::before {
    content: "";
    position: absolute;
    top: .65em;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
}

.tt-list li ul {
    margin: 10px 0 4px;
    padding-left: 6px;
}

.tt-list li li::before {
    width: 7px;
    height: 7px;
    border: 2px solid var(--tt-blue);
    background: transparent;
}

/* Tinted tick list, two columns on desktop */
.tt-check ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.tt-check--single ul {
    grid-template-columns: 1fr;
}

.tt-check li {
    position: relative;
    padding: 14px 16px 14px 48px;
    border-radius: 10px;
    background: #fff5ed;
    font-size: 16px;
    line-height: 1.6;
    color: #263f4a;
}

.tt-check li::before {
    content: "\2713";
    position: absolute;
    top: 13px;
    left: 16px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
}

/* Nested panel inside a card */
.tt-panel {
    margin-top: 20px;
    padding: 22px;
    border: 1px solid #dce8ef;
    border-radius: 12px;
    background: #f3f8fb;
}

.tt-panel h3 {
    color: var(--tt-blue);
}

.tt-panel .tt-check li {
    background: #fff;
}

/* Accordion (behaviour comes from layouts/scripts.blade.php) */
.tt-acc {
    margin-top: 6px;
    border-top: 1px solid #e7edef;
}

.tt-acc-item {
    border-bottom: 1px solid #e7edef;
}

.tt-acc-head {
    position: relative;
    padding: 18px 52px 18px 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    color: #ffffff;
    cursor: pointer;
}

.tt-acc-head::after {
    content: "\002B";
    position: absolute;
    top: 15px;
    right: 4px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rp-yellow, #F5B800);
    color: var(--rp-ink, #1A1A1A);
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28);
}

.tt-acc-item.is-open .tt-acc-head {
    color: #ffffff !important;
}

.tt-acc-item.is-open .tt-acc-head::after {
    content: "\2212";
}

.tt-acc-body {
    display: none;
    padding: 0 48px 20px 4px;
}

.tt-acc-item.is-open .tt-acc-body {
    display: block;
}

.tt-acc-body p {
    font-size: 15px;
}

.tt-acc-body .tt-list li,
.tt-acc-body .tt-check li {
    font-size: 15px;
}

/* Pill button — match header "Open an Account" CTA */
.tt-btn a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.tt-btn a::after {
    content: "\2192";
    color: var(--rp-ink, #1A1A1A);
}

.tt-btn a:hover {
    transform: translateY(-2px);
    filter: brightness(.96);
    color: var(--rp-ink, #1A1A1A) !important;
    box-shadow: 0 8px 18px rgba(245, 184, 0, .36);
}

/* Full-bleed closing banner; breaks out of the editor's fixed container */
.tt-cta {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-top: 44px;
    margin-bottom: -3rem;
    padding: 110px 24px;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(4, 52, 72, .85) 0%, rgba(12, 103, 163, .78) 100%),
        url("/assets/custompage/retails/abovefooter.jpg") center / cover no-repeat;
}

.tt-cta h2 {
    margin: 0 0 16px;
    color: #fff;
}

.tt-cta p {
    margin: 0 auto 8px;
    max-width: 620px;
    font-size: 17px;
    color: rgba(255, 255, 255, .92);
}

.tt-cta .tt-btn {
    margin-top: 32px;
}

@media (max-width: 767px) {
    .tt-doc h2 {
        font-size: 24px;
    }

    .tt-doc h3 {
        font-size: 18px;
    }

    .tt-doc p,
    .tt-check li,
    .tt-list li {
        font-size: 15px;
    }

    .tt-lead {
        padding-left: 16px;
    }

    .tt-lead p {
        font-size: 16px;
    }

    .tt-card {
        padding: 24px 18px;
    }

    .tt-check ul {
        grid-template-columns: 1fr;
    }

    .tt-acc-head {
        font-size: 15px;
        padding-right: 46px;
    }

    .tt-acc-body {
        padding-right: 4px;
    }

    .tt-cta {
        padding: 70px 18px;
    }

    .tt-cta p {
        font-size: 15px;
    }
}
/*End*/

/* =========================================================
   CMS Virtual Card (tt-vc)  mirrors old virtualCard layout
   without touching .virtual-card-section styles/blade.
   Editor-safe: only div/span classes; child tags by element.
========================================================= */
.tt-vc {
    --tt-vc-ink: #101114;
    --tt-vc-muted: #5d6470;
    --tt-vc-brand: var(--rp-lime, #39D46A);
    padding: 10px 0 30px;
    color: #ffffff;
}

.tt-vc h2 {
    margin: 0 0 22px;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--tt-vc-ink);
}

.tt-vc p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--tt-vc-muted);
}

.tt-vc-row {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-bottom: 48px;
}

.tt-vc-row--rev {
    flex-direction: row-reverse;
}

.tt-vc-col {
    flex: 1 1 0;
    min-width: 0;
}

.tt-vc-media p {
    margin: 0;
    text-align: center;
}

.tt-vc-media img {
    display: block;
    max-width: 90%;
    width: auto;
    height: auto;
    margin: 0 auto;
    border-radius: 10px;
    object-fit: contain;
}

.tt-vc-media--sm img {
    max-width: 70%;
}

.tt-vc-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin-top: 18px;
}

.tt-vc-check {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 140px;
    min-width: 120px;
}

.tt-vc-check p {
    margin: 0;
    color: var(--tt-vc-ink);
    font-weight: 500;
}

.tt-vc-check-ico {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 0;
}

.tt-vc-check-ico img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.tt-vc-steps {
    margin: 8px 0 22px;
}

.tt-vc-steps ol {
    margin: 0;
    padding-left: 20px;
    color: var(--tt-vc-muted);
}

.tt-vc-steps li {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.6;
}

.tt-vc-list ul {
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--tt-vc-muted);
}

.tt-vc-list li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.7;
}

.tt-vc .tt-btn {
    margin-top: 8px;
}

@media (max-width: 767px) {
    .tt-vc h2 {
        font-size: 22px;
        margin-bottom: 14px;
        text-align: center;
    }

    .tt-vc p,
    .tt-vc-steps li,
    .tt-vc-list li {
        font-size: 15px;
    }

    .tt-vc-row,
    .tt-vc-row--rev {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 36px;
    }

    .tt-vc-row--rev .tt-vc-media {
        order: -1;
    }

    .tt-vc-media img,
    .tt-vc-media--sm img {
        max-width: 100%;
    }

    .tt-vc-checks {
        flex-direction: column;
        gap: 12px;
    }

    .tt-vc .tt-btn {
        text-align: center;
    }
}
/* tt-vc End */

/* =========================================================
   CMS Card Machines (tt-cm)  mirrors old cardMachines layout
   without touching .yp-* styles/blade. Editor-safe div/span only.
========================================================= */
.tt-cm {
    --tt-cm-ink: #101114;
    --tt-cm-muted: #5d6470;
    --tt-cm-brand: var(--rp-lime, #39D46A);
    --tt-cm-border: rgba(57, 212, 106, 0.25);
    --tt-cm-alt: #ffffff;
    --tt-cm-radius: 12px;
    --tt-cm-card-ink: #101114;
    --tt-cm-card-muted: #5d6470;
    color: var(--tt-cm-ink);
    padding: 8px 0 40px;
}

.tt-cm * {
    box-sizing: border-box;
}

.tt-cm h2 {
    margin: 0 0 12px;
    font-size: clamp(1.45rem, 1rem + 1.2vw, 1.85rem);
    line-height: 1.25;
    font-weight: 700;
    color: var(--tt-cm-ink);
}

.tt-cm h3 {
    margin: 0 0 10px;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--tt-cm-ink);
}

.tt-cm p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--tt-cm-muted);
}

.tt-cm-center {
    text-align: center;
}

.tt-cm-hero {
    display: grid;
    gap: 28px;
    align-items: center;
    margin-bottom: 48px;
}

.tt-cm-hero-copy .tt-cm-h1 {
    margin: 0 0 12px;
    font-size: clamp(1.75rem, 1.1rem + 2vw, 2.5rem);
    line-height: 1.2;
    font-weight: 700;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

.tt-cm-list ul {
    list-style: none;
    margin: 14px 0 18px;
    padding: 0;
    display: grid;
    gap: 8px;
}

.tt-cm-list li {
    position: relative;
    padding-left: 1.4rem;
    color: var(--tt-cm-ink);
    font-size: 15.5px;
    line-height: 1.5;
}

.tt-cm-list li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--tt-cm-brand);
    font-weight: 700;
}

.tt-cm-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.tt-cm-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,0.35);
    font-size: 13px;
    color: var(--rp-green, #0A3D2C) !important;
    font-weight: 600;
}

.tt-cm-hero-media {
    position: relative;
    min-height: 300px;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--tt-cm-radius);
    overflow: hidden;
}

.tt-cm-hero-bg {
    position: absolute;
    inset: 0;
    margin: 0;
}

.tt-cm-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .22;
    filter: blur(2px) saturate(.8);
}

.tt-cm-device {
    position: absolute;
    margin: 0;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .1));
    line-height: 0;
}

.tt-cm-device img {
    display: block;
    width: 100%;
    height: auto;
}

.tt-cm-device--side {
    left: 8%;
    bottom: 12%;
    width: 38%;
}

.tt-cm-device--front {
    right: 8%;
    bottom: 8%;
    width: 30%;
}

.tt-cm-section {
    margin-bottom: 48px;
}

/* Device tabs (Pro / Essential / Go)  matches old cardMachines UX */
.tt-cm-devices-wrap {
    margin-top: 18px;
}

.tt-cm-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 6px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #ffffff;
    border: 0;
}

.tt-cm-tab {
    text-align: center;
    padding: 12px 10px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: var(--rp-green, #0A3D2C) !important;
    user-select: none;
    transition: background .2s ease, box-shadow .2s ease;
}

.tt-cm-tab.is-active {
    background: #ffffff;
    border: 0;
    box-shadow: 0 2px 10px rgba(16, 17, 20, .1);
}

.tt-cm-panels {
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    padding: 22px;
    color: #101114;
}

.tt-cm-panel {
    display: none;
    gap: 28px;
    align-items: center;
}

.tt-cm-panel.is-active {
    display: grid;
}

.tt-cm-panel-media {
    text-align: center;
    margin: 0;
}

.tt-cm-panel-media img {
    display: block;
    max-width: 280px;
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .12));
}

.tt-cm-panel-caption {
    display: block;
    color: #5d6470 !important;
    font-size: 14px;
}

.tt-cm-panels h2,
.tt-cm-panels h3,
.tt-cm-panel-body,
.tt-cm-panel-body h2,
.tt-cm-panel-body h3 {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-cm-spec span:first-child {
    color: #101114 !important;
}

.tt-cm-spec span:last-child {
    color: #5d6470 !important;
}

.tt-cm-panel-body {
    min-width: 0;
}

.tt-cm-specs {
    display: grid;
    gap: 0;
    margin: 14px 0 20px;
}

.tt-cm-spec {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
    font-size: 15px;
}

.tt-cm-spec:last-child {
    border-bottom: 0;
}

.tt-cm-spec span:first-child {
    font-weight: 700;
    color: var(--tt-cm-ink);
}

.tt-cm-spec span:last-child {
    color: var(--tt-cm-muted);
}

.tt-cm-quote a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 8px;
    background: #111 !important;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: none;
}

.tt-cm-quote a::after {
    content: none;
}

.tt-cm-quote a:hover {
    background: #000 !important;
    transform: none;
    box-shadow: none;
}

.tt-cm-band {
    margin: 0 0 48px;
    padding: 36px 20px;
    border-radius: var(--tt-cm-radius);
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
}

.tt-cm-band h2,
.tt-cm-band p {
    color: #fff;
}

.tt-cm-band p {
    opacity: .95;
}

.tt-cm-grid-4 {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.tt-cm-benefit {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: var(--tt-cm-radius);
    padding: 20px;
    box-shadow: 0 6px 24px rgba(16, 17, 20, .08);
}

.tt-cm-benefit h3 {
    margin-bottom: 8px;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-cm-benefit p {
    margin: 0;
    color: #5d6470 !important;
}

.tt-cm-ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--tt-cm-alt);
    color: var(--tt-cm-brand);
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 12px;
}

/* Auto logo marquee (like old .yp-marquee) */
.tt-cm-marquee {
    overflow: hidden;
    margin-top: 18px;
    border: 1px solid var(--tt-cm-border);
    border-radius: var(--tt-cm-radius);
    background: var(--tt-cm-alt);
}

.tt-cm-marquee-track {
    display: flex;
    gap: 12px;
    width: max-content;
    padding: 14px 16px;
    animation: tt-cm-scroll 28s linear infinite;
}

.tt-cm-marquee:hover .tt-cm-marquee-track {
    animation-play-state: paused;
}

.tt-cm-logo {
    flex: 0 0 auto;
    min-width: 112px;
    height: 40px;
    padding: 0 14px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--tt-cm-muted);
    font-weight: 600;
    font-size: 13px;
    background: #fff;
    border: 1px solid var(--tt-cm-border);
    white-space: nowrap;
}

@keyframes tt-cm-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .tt-cm-marquee-track {
        animation: none;
        flex-wrap: wrap;
        width: auto;
        justify-content: center;
    }
}

.tt-cm-grid-2 {
    display: grid;
    gap: 14px;
}

.tt-cm-mode {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-cm-radius);
    padding: 22px;
    box-shadow: 0 6px 24px rgba(16, 17, 20, .06);
    color: #101114;
}

.tt-cm-mode h3,
.tt-cm-mode p,
.tt-cm-mode li {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-cm-mode .tt-cm-list li {
    color: #374151 !important;
}

.tt-cm-section > h2,
.tt-cm-section > .tt-cm-center h2,
.tt-cm .tt-cm-section h2:not(.tt-cm-panels h2):not(.tt-cm-benefit h2):not(.tt-cm-mode h2) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.tt-cm-section > p,
.tt-cm-section > .tt-cm-center p {
    color: rgba(255,255,255,0.85) !important;
}

.tt-cm-marquee {
    background: #ffffff !important;
}

.tt-cm-logo {
    color: var(--rp-green, #0A3D2C) !important;
    background: #f3f4f6 !important;
    border-color: #e6e8eb !important;
}

.tt-cm .tt-acc-head,
.tt-cm .tt-acc-item,
.tt-doc .tt-acc-head {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255,255,255,0.18) !important;
}

.tt-cm .tt-acc-body p,
.tt-doc .tt-acc-body p {
    color: rgba(255,255,255,0.88) !important;
}

.tt-cm-tap {
    display: grid;
    gap: 20px;
    align-items: center;
    margin-bottom: 48px;
    padding: 28px 20px;
    border-radius: var(--tt-cm-radius);
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
}

.tt-cm-tap h2,
.tt-cm-tap p {
    color: #fff;
}

.tt-cm-tap-media {
    text-align: center;
    margin: 0;
}

.tt-cm-tap-media img {
    max-width: 280px;
    width: 100%;
    height: auto;
    display: inline-block;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .18));
}

.tt-cm .tt-btn {
    margin-top: 6px;
}

.tt-cm .tt-acc {
    margin-top: 18px;
}

@media (min-width: 768px) {
    .tt-cm-hero {
        grid-template-columns: 1.1fr .9fr;
    }

    .tt-cm-panel.is-active {
        grid-template-columns: .9fr 1.1fr;
    }

    .tt-cm-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tt-cm-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tt-cm-tap {
        grid-template-columns: 1.2fr .8fr;
        padding: 36px 28px;
    }
}

@media (max-width: 767px) {
    .tt-cm-hero-media {
        min-height: 240px;
    }

    .tt-cm-device--side {
        width: 42%;
    }

    .tt-cm-device--front {
        width: 34%;
    }

    .tt-cm-spec {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .tt-cm-tabs {
        gap: 4px;
        padding: 4px;
    }

    .tt-cm-tab {
        padding: 10px 6px;
        font-size: 13px;
    }

    .tt-cm-panels {
        padding: 16px;
    }

    .tt-cm-band,
    .tt-cm-tap {
        padding: 28px 16px;
    }
}
/* tt-cm End */

/* =========================================================
   CMS Tap to Pay (tt-tp)  mirrors old tap_to_pay layout
   without touching #tapnpay styles/blade. Editor-safe markup.
========================================================= */
.tt-tp {
    --tt-tp-ink: #101114;
    --tt-tp-muted: #5d6470;
    --tt-tp-brand: var(--rp-lime, #39D46A);
    --tt-tp-border: rgba(57, 212, 106, 0.25);
    --tt-tp-alt: #ffffff;
    --tt-tp-radius: 12px;
    color: var(--tt-tp-ink);
    padding: 8px 0 40px;
}

.tt-tp * {
    box-sizing: border-box;
}

.tt-tp h2 {
    margin: 0 0 14px;
    font-size: clamp(1.5rem, 1rem + 1.4vw, 2.2rem);
    line-height: 1.25;
    font-weight: 700;
    color: var(--tt-tp-ink);
}

.tt-tp h3 {
    margin: 0 0 10px;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--tt-tp-ink);
}

.tt-tp p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--tt-tp-muted);
}

.tt-tp-center {
    text-align: center;
}

.tt-tp-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tt-tp-brand);
}

.tt-tp-section {
    margin-bottom: 48px;
}

.tt-tp-split {
    display: grid;
    gap: 28px;
    align-items: center;
    margin-bottom: 48px;
}

.tt-tp-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
    margin: 18px 0 22px;
}

.tt-tp-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--tt-tp-ink);
    font-size: 15px;
    line-height: 1.45;
}

.tt-tp-check::before {
    content: "\2713";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: var(--rp-ink, #1A1A1A);
    font-size: 12px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
}

.tt-tp-media {
    margin: 0;
    text-align: center;
}

.tt-tp-media img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 14px;
}

.tt-tp-band {
    margin: 0 0 48px;
    padding: 36px 20px;
    border-radius: var(--tt-tp-radius);
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
}

.tt-tp-band h2,
.tt-tp-band p {
    color: #fff;
}

.tt-tp-band p {
    opacity: .95;
}

.tt-tp-note {
    font-size: 13px !important;
    opacity: .9;
}

.tt-tp-grid-4,
.tt-tp-grid-3 {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.tt-tp-spec {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-tp-radius);
    padding: 18px 14px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(16, 17, 20, .08);
    color: #101114;
}

.tt-tp-spec p,
.tt-tp-spec h3,
.tt-tp-spec strong {
    margin: 0;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    font-weight: 600;
}

.tt-tp-ico {
    width: 56px;
    height: 56px;
    margin: 0 auto 10px;
    border-radius: 50%;
    border: 1px solid #e6e8eb;
    background: #f3f4f6;
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
    display: grid;
    place-items: center;
    font-size: 22px;
    font-weight: 700;
}

/* Feature tabs  index-based JS (no data-attrs; editor strips them) */
.tt-tp-tabs-wrap {
    margin-bottom: 48px;
}

.tt-tp-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 6px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #ffffff;
    border: 0;
}

.tt-tp-tab {
    text-align: center;
    padding: 12px 10px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
    user-select: none;
}

.tt-tp-tab.is-active {
    background: #ffffff;
    border: 0;
    box-shadow: 0 2px 10px rgba(16, 17, 20, .1);
    color: var(--rp-green, #0A3D2C) !important;
}

.tt-tp-panels {
    min-height: 160px;
}

.tt-tp-panel {
    display: none;
}

.tt-tp-panel.is-active {
    display: block;
}

.tt-tp-card {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-tp-radius);
    padding: 20px;
    height: 100%;
    box-shadow: 0 4px 16px rgba(16, 17, 20, .04);
    transition: transform .2s ease, box-shadow .2s ease;
    color: #101114;
}

.tt-tp-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(16, 17, 20, .1);
}

.tt-tp-card p {
    margin-bottom: 0;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-tp-card h3,
.tt-tp-card strong {
    display: block;
    margin-bottom: 8px;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    font-size: 16px;
}

.tt-tp-feature .tt-tp-card-img {
    text-align: center;
    margin-bottom: 14px;
}

.tt-tp-feature .tt-tp-card-img img {
    max-height: 80px;
    width: auto;
    display: inline-block;
}

.tt-tp .tt-btn {
    margin-top: 4px;
}

@media (min-width: 768px) {
    .tt-tp-split {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .tt-tp-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tt-tp-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .tt-tp-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .tt-tp-checks {
        grid-template-columns: 1fr;
    }

    .tt-tp-tabs {
        gap: 4px;
        padding: 4px;
    }

    .tt-tp-tab {
        padding: 10px 6px;
        font-size: 12.5px;
    }

    .tt-tp-band {
        padding: 28px 16px;
    }
}
/* tt-tp End */

/* =========================================================
   CMS TickTap Apps / yoopapps (tt-ya)
   Mirrors old yoopapps layout without touching its blade/CSS.
   Editor-safe: div/span classes only.
========================================================= */
.tt-ya {
    --tt-ya-ink: #101114;
    --tt-ya-muted: #5d6470;
    --tt-ya-brand: var(--rp-lime, #39D46A);
    --tt-ya-border: rgba(57, 212, 106, 0.25);
    --tt-ya-alt: #ffffff;
    --tt-ya-soft: rgba(255,255,255,0.08);
    --tt-ya-radius: 16px;
    color: var(--tt-ya-ink);
    padding: 8px 0 40px;
}

.tt-ya * {
    box-sizing: border-box;
}

.tt-ya h1,
.tt-ya .tt-ya-h1 {
    margin: 0 0 14px;
    font-size: clamp(1.85rem, 1.2rem + 2vw, 2.6rem);
    line-height: 1.2;
    font-weight: 800;
    color: var(--tt-ya-ink);
}

.tt-ya h2 {
    margin: 0 0 10px;
    font-size: clamp(1.45rem, 1rem + 1.2vw, 1.9rem);
    line-height: 1.25;
    font-weight: 750;
    color: var(--tt-ya-ink);
}

.tt-ya h3 {
    margin: 0 0 12px;
    font-size: 1.2rem;
    line-height: 1.35;
    font-weight: 700;
    color: var(--tt-ya-ink);
}

.tt-ya p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--tt-ya-muted);
}

.tt-ya-center {
    text-align: center;
}

.tt-ya-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tt-ya-brand);
}

.tt-ya-section {
    margin-bottom: 48px;
}

.tt-ya-hero {
    display: grid;
    gap: 28px;
    align-items: center;
    margin-bottom: 48px;
}

.tt-ya-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.tt-ya-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--tt-ya-soft);
    border: 1px solid #ffe3d6;
    color: var(--tt-ya-ink);
    font-size: 13px;
    font-weight: 600;
}

.tt-ya-media {
    margin: 0;
    text-align: center;
}

.tt-ya-media img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 14px;
}

.tt-ya-panel {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-ya-radius);
    padding: 24px;
    box-shadow: 0 10px 28px rgba(16, 17, 20, .06);
    margin-bottom: 48px;
    color: #101114;
}

.tt-ya-panel h2,
.tt-ya-panel h3,
.tt-ya-panel p,
.tt-ya-panel li,
.tt-ya-panel strong {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-ya-panel p,
.tt-ya-panel li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-ya-split {
    display: grid;
    gap: 28px;
    align-items: center;
}

.tt-ya-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.tt-ya-list li {
    position: relative;
    padding-left: 1.35rem;
    font-size: 15.5px;
    line-height: 1.55;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-ya-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
}

.tt-ya-block {
    margin-bottom: 22px;
}

.tt-ya-block:last-child {
    margin-bottom: 0;
}

.tt-ya-insights {
    display: grid;
    gap: 18px;
    align-items: start;
    margin-top: 24px;
}

.tt-ya-mini {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(16, 17, 20, .04);
    color: #101114;
}

.tt-ya-mini:last-child {
    margin-bottom: 0;
}

.tt-ya-mini strong {
    display: block;
    margin-bottom: 4px;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    font-size: 16px;
}

.tt-ya-mini p {
    margin: 0;
    font-size: 14.5px;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-ya-grid-2 {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.tt-ya-soft {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-ya-radius);
    padding: 18px;
    color: #101114;
}

.tt-ya-soft .tt-ya-media {
    margin-bottom: 14px;
}

.tt-ya-soft strong,
.tt-ya-soft h3,
.tt-ya-soft p,
.tt-ya-soft li {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-ya-soft strong {
    display: block;
    margin: 0 0 12px;
    font-size: 17px;
}

.tt-ya-soft p,
.tt-ya-soft li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-ya-pay {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.tt-ya-card {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-ya-radius);
    padding: 22px;
    box-shadow: 0 6px 20px rgba(16, 17, 20, .05);
    color: #101114;
}

.tt-ya-card h3,
.tt-ya-card p,
.tt-ya-card li,
.tt-ya-card strong {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-ya-card p,
.tt-ya-card li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-ya .tt-btn {
    margin-top: 2px;
}

@media (min-width: 768px) {
    .tt-ya-hero,
    .tt-ya-split,
    .tt-ya-insights,
    .tt-ya-grid-2,
    .tt-ya-pay {
        grid-template-columns: 1fr 1fr;
    }

    .tt-ya-panel {
        padding: 32px;
    }
}

@media (max-width: 767px) {
    .tt-ya-panel,
    .tt-ya-soft,
    .tt-ya-card {
        padding: 16px;
    }

    .tt-ya-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* tt-ya End */

/* =========================================================
   CMS Partner page (tt-pn)
   Mirrors old partner.blade without touching partner-* / yp-* CSS.
   Editor-safe: div/span classes only.
========================================================= */
.tt-pn {
    --tt-pn-ink: #101114;
    --tt-pn-muted: #5d6470;
    --tt-pn-brand: var(--rp-lime, #39D46A);
    --tt-pn-border: rgba(57, 212, 106, 0.25);
    --tt-pn-alt: #ffffff;
    --tt-pn-radius: 14px;
    color: var(--tt-pn-ink);
    padding: 8px 0 40px;
}

.tt-pn * {
    box-sizing: border-box;
}

.tt-pn h1,
.tt-pn .tt-pn-h1 {
    margin: 0 0 14px;
    font-size: clamp(1.8rem, 1.15rem + 2vw, 2.55rem);
    line-height: 1.2;
    font-weight: 800;
    color: var(--tt-pn-ink);
}

.tt-pn h2 {
    margin: 0 0 14px;
    font-size: clamp(1.4rem, 1rem + 1.2vw, 1.85rem);
    line-height: 1.25;
    font-weight: 750;
    color: var(--tt-pn-ink);
}

.tt-pn h3 {
    margin: 0 0 10px;
    font-size: 1.1rem;
    line-height: 1.35;
    font-weight: 700;
    color: var(--tt-pn-ink);
}

.tt-pn p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--tt-pn-muted);
}

.tt-pn-center {
    text-align: center;
}

.tt-pn-section {
    margin-bottom: 48px;
}

.tt-pn-hero,
.tt-pn-split {
    display: grid;
    gap: 28px;
    align-items: center;
    margin-bottom: 48px;
}

.tt-pn-media {
    margin: 0;
    text-align: center;
}

.tt-pn-media img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 14px;
}

.tt-pn-heart {
    color: var(--tt-pn-brand);
    font-style: normal;
}

.tt-pn-band {
    margin: 0 0 48px;
    padding: 36px 20px;
    border-radius: var(--tt-pn-radius);
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
}

.tt-pn-band h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 22px;
}

.tt-pn-opp {
    display: grid;
    gap: 14px;
}

.tt-pn-opp-item {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-pn-radius);
    padding: 20px;
    box-shadow: 0 8px 22px rgba(16, 17, 20, .08);
    color: #101114;
}

.tt-pn-opp-item h3 {
    margin-top: 8px;
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-pn-opp-item p {
    margin: 0;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-pn-ico {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #E8F8EE;
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 14px;
}

.tt-pn-list ul {
    list-style: none;
    margin: 12px 0 18px;
    padding: 0;
    display: grid;
    gap: 8px;
}

.tt-pn-list li {
    position: relative;
    padding-left: 1.4rem;
    font-size: 15.5px;
    line-height: 1.5;
    color: var(--tt-pn-ink);
}

.tt-pn-list li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--tt-pn-brand);
    font-weight: 700;
}

.tt-pn-perks {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.tt-pn-perk {
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: var(--tt-pn-radius);
    padding: 22px;
    box-shadow: 0 6px 20px rgba(16, 17, 20, .05);
    color: #101114;
}

.tt-pn-perk h3,
.tt-pn-perk strong {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.tt-pn-perk p,
.tt-pn-perk li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.tt-pn .tt-btn {
    margin-top: 4px;
}

/* Partner copy on dark page background */
.tt-pn-hero .tt-pn-h1,
.tt-pn-split .tt-pn-h1,
.tt-pn-hero > p,
.tt-pn-split > div > p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.tt-pn-split > div > .tt-pn-list li {
    color: rgba(255,255,255,0.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.9) !important;
}

.tt-pn-heart {
    color: var(--rp-lime, #39D46A) !important;
}

@media (min-width: 768px) {
    .tt-pn-hero,
    .tt-pn-split {
        grid-template-columns: 1.05fr .95fr;
        gap: 36px;
    }

    .tt-pn-opp {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tt-pn-perks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tt-pn-band {
        padding: 40px 28px;
    }
}

@media (max-width: 767px) {
    .tt-pn-band {
        padding: 28px 16px;
    }

    .tt-pn-opp-item,
    .tt-pn-perk {
        padding: 16px;
    }
}
/* tt-pn End */

/* =========================================================
   CMS Lifestyle / Apps & mPOS (tt-ls)  screenshot layout,
   overlapping POS slider, Ticktap orange brand.
========================================================= */
.tt-ls {
    --tt-ls-ink: #101114;
    --tt-ls-muted: #5d6470;
    --tt-ls-brand: var(--rp-lime, #39D46A);
    --tt-ls-brand-dark: var(--rp-green, #0A3D2C);
    --tt-ls-soft: rgba(255,255,255,0.08);
    --tt-ls-alt: #ffffff;
    --tt-ls-grad: linear-gradient(180deg,var(--rp-green-dark, #06281d) 20%,var(--rp-green, #0A3D2C) 100%);
    --tt-ls-border: rgba(57, 212, 106, 0.25);
    --tt-ls-radius: 16px;
    color: var(--tt-ls-ink);
    padding: 0 0 24px;
}
.tt-ls * { box-sizing: border-box; }
/* Match other CMS pages (.tt-doc / .tt-vc ~2830px)  not giant hero sizes */
.tt-ls h1,
.tt-ls .tt-ls-h1 {
    margin: 0 0 12px;
    font-size: 28px !important;
    line-height: 1.3;
    font-weight: 700;
    color: var(--tt-ls-ink);
}
.tt-ls h2 {
    margin: 0 0 12px;
    font-size: 28px !important;
    line-height: 1.3;
    font-weight: 700;
    color: var(--tt-ls-ink);
}
.tt-ls h3 {
    margin: 0 0 8px;
    font-size: 21px;
    font-weight: 600;
    color: var(--tt-ls-ink);
}
.tt-ls p { margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--tt-ls-muted); }
.tt-ls-accent { color:var(--tt-ls-brand)!important; }
.tt-ls-center { text-align:center; }
.tt-ls-section { margin-bottom:48px; }

/* Hero */
.tt-ls-hero { margin:0 0 36px; padding:40px 24px; border-radius:var(--tt-ls-radius); background:var(--tt-ls-grad); }
.tt-ls-hero-inner { display:grid; gap:28px; align-items:center; }
.tt-ls-kicker { display:block; margin:0 0 18px; font-size:20px; font-weight:700; color:var(--tt-ls-brand); }
.tt-ls-dl-label { margin:22px 0 10px; color:#555; font-size:15px; }
.tt-ls-stores { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.tt-ls-stores img { display:block; height:46px; width:auto; }
.tt-ls-media { margin:0; text-align:center; }
.tt-ls-media img, .tt-ls-media video { display:block; max-width:100%; height:auto; margin:0 auto; border-radius:14px; }

.tt-ls-btn a { display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:999px; background:var(--rp-yellow, #F5B800); color:var(--rp-ink, #1A1A1A)!important; font-weight:700; text-decoration:none!important; font-size:1.05rem; }
.tt-ls-btn--outline a { background:#fff; color:var(--tt-ls-brand)!important; border:1.5px solid var(--tt-ls-brand); }
.tt-ls-btn--dark a { background:#111; }

/* mPOS row  image (Summernote strips <video>) */
.tt-ls-mpos { display:grid!important; gap:28px; align-items:center; margin-bottom:48px; padding:10px 0; clear:both; }
.tt-ls-mpos-frame {
    border:0;
    border-radius:24px;
    padding:0;
    background:transparent;
    overflow:hidden;
    min-height:0;
}
.tt-ls-mpos-frame img,
.tt-ls-mpos-frame video {
    width:100%;
    max-width:100%;
    height:auto;
    min-height:180px;
    object-fit:cover;
    border-radius:24px;
    display:block;
}
.tt-ls-mpos-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
.tt-ls-mpos-title {
    display:block;
    margin:0 0 12px;
    font-size:28px !important;
    line-height:1.3;
    font-weight:700;
    color:var(--tt-ls-ink);
}
.tt-ls-mpos-text {
    display:block;
    margin:0 0 14px;
    font-size:16px;
    line-height:1.7;
    color:var(--tt-ls-muted);
}

/* Overlapping accordion slider */
.tt-ls-slider-head {
    text-align:center;
    max-width:860px;
    margin:0 auto 24px;
    clear:both;
}
.tt-ls-slider-head .tt-ls-h1,
.tt-ls-slider-head h1,
.tt-ls-slider-head h2 {
    font-size:28px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    margin:0 auto !important;
}
.tt-ls-stage {
    display:flex!important;
    gap:14px;
    align-items:stretch;
    min-height:0;
    margin:36px 0 48px;
    padding-top:26px;
    clear:both;
}
.tt-ls-pane {
    flex:1 1 0;
    min-width:0;
    height:280px;
    border-radius:24px;
    padding:26px 16px 18px;
    color:#fff;
    cursor:pointer;
    overflow:hidden;
    position:relative;
    transition:flex .4s ease, height .4s ease, transform .4s ease, box-shadow .4s ease, padding .4s ease;
    box-shadow:0 10px 28px rgba(4,52,72,.12);
    display:flex!important;
    flex-direction:column;
    justify-content:space-between;
    float:none!important;
}
.tt-ls-pane.is-active {
    flex:1.55 1 0;
    height:300px;
    padding:28px 22px 20px;
    transform:translateY(-4px);
    box-shadow:0 16px 36px rgba(4,52,72,.16);
    z-index:3;
    overflow:visible;
}
.tt-ls-pane--a { background:#043448; z-index:1; }
.tt-ls-pane--b { background:var(--rp-green, #0A3D2C); }
.tt-ls-pane--c { background:#ff8a5b; z-index:1; }
.tt-ls-pane-title {
    display:block;
    font-size:22px !important;
    font-weight:700;
    line-height:1.25;
    margin:0 0 10px;
    color:#fff!important;
    padding-right:64px;
}
.tt-ls-pane-desc {
    display:block;
    font-size:14px !important;
    line-height:1.55;
    margin:0;
    color:#fff!important;
    opacity:.95;
}
.tt-ls-pane.is-active .tt-ls-pane-title { font-size:24px !important; }
.tt-ls-pane:not(.is-active) .tt-ls-pane-title { font-size:18px !important; padding-right:52px; }
.tt-ls-pane:not(.is-active) .tt-ls-pane-desc {
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.tt-ls-pane:not(.is-active) .tt-ls-learn { opacity:.85; }
.tt-ls-pane-ico {
    position:absolute;
    top:12px;
    right:12px;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    display:grid!important;
    place-items:center;
    overflow:hidden;
    z-index:4;
}
.tt-ls-pane.is-active .tt-ls-pane-ico {
    top:-18px;
    right:14px;
    width:64px;
    height:64px;
}
.tt-ls-pane--a .tt-ls-pane-ico { background:#e53935; }
.tt-ls-pane--b .tt-ls-pane-ico { background:#1e88e5; }
.tt-ls-pane--c .tt-ls-pane-ico { background:#fb8c00; }
.tt-ls-pane-ico img { width:40px; height:40px; object-fit:contain; display:block; }
.tt-ls-pane.is-active .tt-ls-pane-ico img { width:46px; height:46px; }
.tt-ls-pane-copy { min-width:0; position:relative; z-index:1; }
.tt-ls-learn { margin-top:auto; }
.tt-ls-learn a,
.tt-ls-learn .tt-ls-learn-btn {
    display:inline-flex!important;
    align-items:center;
    padding:9px 16px;
    border-radius:999px;
    background:#fff;
    color:var(--tt-ls-brand-dark)!important;
    font-weight:700;
    text-decoration:none!important;
    width:fit-content;
    font-size:13px;
}
/* Cashless */
.tt-ls-cashless {
    margin-bottom:48px; padding:48px 24px;
    border-radius:var(--tt-ls-radius);
    background:var(--tt-ls-grad);
}
.tt-ls-cashless-inner { display:grid; gap:28px; align-items:center; }
.tt-ls-cats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0 20px; }
.tt-ls-cat { text-align:center; }
.tt-ls-cat img { width:50px; height:50px; object-fit:contain; margin:0 auto 6px; display:block; }
.tt-ls-cat span, .tt-ls-cat p { margin:0; font-size:14px; color:var(--tt-ls-ink); font-weight:600; display:block; }
.tt-ls-cashless-cta { text-align:center; margin-top:28px; }

/* Feature trio */
.tt-ls-cards-3 { display:grid; gap:16px; margin-bottom:48px; }
.tt-ls-card { background:#fff; border:1px solid var(--tt-ls-border); border-radius:var(--tt-ls-radius); overflow:hidden; box-shadow:0 6px 20px rgba(4,52,72,.05); height:100%; }
.tt-ls-card img { width:100%; height:190px; object-fit:cover; display:block; }
.tt-ls-card-body { padding:18px; }

/* Tap on Phone banner */
.tt-ls-tap {
    display:grid; gap:0; align-items:stretch;
    margin-bottom:48px; overflow:hidden;
    border-radius:var(--tt-ls-radius);
    background:#fff;
    border:1px solid var(--tt-ls-border);
}
.tt-ls-tap-copy { padding:40px 28px; }
.tt-ls-tap-copy .tt-ls-sub { color:var(--tt-ls-muted); font-size:15px; margin-bottom:8px; }
.tt-ls-tap-visual {
    min-height:340px;
    background:linear-gradient(135deg,var(--rp-green, #0A3D2C) 0%,#ff8a5b 55%,#c44512 100%);
    display:grid; place-items:center; padding:28px 20px;
    position:relative;
}
.tt-ls-tap-visual img { max-width:min(420px,90%); height:auto; filter:drop-shadow(0 16px 30px rgba(0,0,0,.25)); }
.tt-ls-tap-pills { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:16px; }
.tt-ls-pill { background:#fff; border-radius:12px; padding:10px 14px; min-width:120px; box-shadow:0 6px 16px rgba(0,0,0,.12); }
.tt-ls-pill strong { display:block; color:var(--tt-ls-brand); font-size:14px; }
.tt-ls-pill span { display:block; color:#666; font-size:12px; }

/* Retail */
.tt-ls-split { display:grid; gap:28px; align-items:center; }
.tt-ls-checks { display:grid; gap:14px; margin-top:10px; }
.tt-ls-check { display:flex; gap:12px; align-items:flex-start; }
.tt-ls-check::before { content:"\2713"; flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:var(--rp-yellow, #F5B800); color:#fff; font-size:12px; font-weight:700; line-height:24px; text-align:center; }
.tt-ls-check strong { display:block; margin-bottom:4px; color:var(--tt-ls-ink); }
.tt-ls-check p { margin:0; font-size:14.5px; }

/* Join cards  works even if editor strips .tt-ls-join-card from <a> */
.tt-ls-join {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-top:28px;
    clear:both;
    width:100%;
}
.tt-ls-join > a,
.tt-ls-join-card,
.tt-ls-join-item {
    display:flex!important;
    flex-direction:column;
    align-items:center!important;
    justify-content:flex-start;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    text-decoration:none!important;
    background:#fff!important;
    border:1px solid #e6e8eb!important;
    border-radius:16px!important;
    padding:28px 18px 24px!important;
    text-align:center!important;
    box-shadow:0 6px 18px rgba(4,52,72,.06);
    transition:background .2s ease, transform .2s ease, border-color .2s ease;
    color:inherit!important;
    min-height:230px;
    box-sizing:border-box!important;
}
.tt-ls-join-item > a {
    display:flex!important;
    flex-direction:column;
    align-items:center!important;
    text-align:center!important;
    text-decoration:none!important;
    color:inherit!important;
    width:100%;
    height:100%;
}
.tt-ls-join > a:hover,
.tt-ls-join-card:hover,
.tt-ls-join-item:hover {
    background:#111!important;
    transform:translateY(-3px);
    border-color:#111!important;
}
.tt-ls-join-ico {
    width:64px;
    height:64px;
    margin:0 auto 14px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.tt-ls-join img {
    width:52px!important;
    height:52px!important;
    max-width:52px!important;
    object-fit:contain!important;
    display:block!important;
    margin:0 auto 12px!important;
}
.tt-ls-join-ico img { margin:0 auto!important; }
.tt-ls-join-title,
.tt-ls-join .tt-ls-join-title {
    display:block!important;
    width:100%;
    margin:0 0 8px!important;
    padding:0!important;
    font-size:18px !important;
    font-weight:700!important;
    line-height:1.35!important;
    text-align:center!important;
    color:var(--rp-green, #0A3D2C)!important;
}
.tt-ls-join-text,
.tt-ls-join .tt-ls-join-text {
    display:block!important;
    width:100%;
    margin:0!important;
    font-size:14px !important;
    line-height:1.55!important;
    text-align:center!important;
    color:#52646c!important;
}
.tt-ls-join > a:hover .tt-ls-join-title,
.tt-ls-join > a:hover .tt-ls-join-text,
.tt-ls-join-card:hover .tt-ls-join-title,
.tt-ls-join-card:hover .tt-ls-join-text,
.tt-ls-join-item:hover .tt-ls-join-title,
.tt-ls-join-item:hover .tt-ls-join-text {
    color:#fff!important;
}
.tt-ls-join > a:hover img,
.tt-ls-join-card:hover img,
.tt-ls-join-item:hover img {
    filter:brightness(0) invert(1);
}
.tt-ls-section > .tt-ls-h1 {
    font-size:28px !important;
    font-weight:700!important;
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
/* Footer CTA */
.tt-ls-cta { margin:0 0 10px; padding:64px 24px; border-radius:var(--tt-ls-radius); text-align:center; background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url("/assets/custompage/ewallet-features/abovefooter.jpg") center/cover no-repeat; }
.tt-ls-cta h2, .tt-ls-cta p { color:#fff; }

@media (min-width:768px){
  .tt-ls-hero-inner, .tt-ls-mpos, .tt-ls-cashless-inner, .tt-ls-split, .tt-ls-tap { grid-template-columns:1.05fr .95fr; }
  .tt-ls-cards-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tt-ls-join { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:991px){
  .tt-ls-join { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
  .tt-ls-stage { flex-direction:column; min-height:0; padding-top:12px; }
  .tt-ls-pane, .tt-ls-pane.is-active {
    flex:none;
    width:100%;
    height:auto;
    min-height:200px;
    transform:none;
    overflow:hidden;
  }
  .tt-ls-pane-ico { top:12px; right:12px; width:64px; height:64px; }
  .tt-ls-pane-ico img { width:46px; height:46px; }
  .tt-ls-pane-title { padding-right:72px; }
  .tt-ls-join { grid-template-columns:1fr; }
  .tt-ls-cats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tt-ls-hero, .tt-ls-cashless, .tt-ls-tap-copy { padding:24px 16px; }
  .tt-ls-mpos-frame img { min-height:140px; }
}
/* tt-ls End */

/*retails page - selectors are anchored on div/span classes because the
  admin editor strips class attributes from h2/h3/p/a/ul/img and drops <section> */
.rt-wrap {
    --rt-ink: #043448;
    --rt-brand: var(--rp-green, #0A3D2C);
    --rt-muted: #56666e;
}

.rt-wrap * {
    box-sizing: border-box;
}

.rt-container {
    width: min(1140px, calc(100% - 32px));
    margin: 0 auto;
}

.rt-section {
    padding: 70px 0;
}

.rt-section--alt {
    padding: 70px 0;
    background: #f7fafb;
}

.rt-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: center;
}

.rt-wrap h2 {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--rt-ink);
}

.rt-wrap h3 {
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--rt-ink);
}

.rt-wrap p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--rt-muted);
}

.rt-lead p {
    font-size: 17px;
    margin-bottom: 0;
}

.rt-lead {
    margin-bottom: 32px;
}

.rt-center {
    text-align: center;
}

.rt-title-center {
    max-width: 720px;
    margin: 0 auto 44px;
}

.rt-accent {
    color: var(--rt-brand);
}

.rt-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

.rt-btn a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    background:var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}

.rt-btn a::after {
    content: "\2192";
}

.rt-btn a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(240, 88, 34, .36);
}

.rt-features ul {
    display: grid;
    gap: 18px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.rt-features li {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 20px;
    border: 1px solid #e4ecef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(4, 52, 72, .05);
}

.rt-features li,
.rt-features li p,
.rt-features li span:not(.rt-tick) {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.rt-features li p {
    margin: 0;
    font-size: 15px;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

.rt-tick {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-top: 2px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
}

.rt-tick::before {
    content: "\2713";
}

/* full-bleed: the admin editor renders page content inside a fixed-width
   container, so this breaks out to the viewport edges */
.rt-cta {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-top: 20px;
    margin-bottom: -3rem;
    padding: 110px 24px;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(4, 52, 72, .85) 0%, rgba(12, 103, 163, .78) 100%),
        url("/assets/custompage/retails/abovefooter.jpg") center / cover no-repeat;
}

.rt-cta h2 {
    margin: 0 0 16px;
    color: #fff;
}

.rt-cta p {
    margin: 0 auto 8px;
    max-width: 620px;
    font-size: 17px;
    color: rgba(255, 255, 255, .92);
}

.rt-cta .rt-btn {
    margin-top: 32px;
}

@media (min-width: 768px) {
    .rt-grid {
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .rt-grid--rev .rt-media {
        order: 2;
    }
}

@media (max-width: 767px) {
    .rt-section,
    .rt-section--alt {
        padding: 46px 0;
    }

    .rt-wrap h2 {
        font-size: 24px;
    }

    .rt-wrap h3 {
        font-size: 18px;
    }

    .rt-wrap p,
    .rt-lead p,
    .rt-cta p {
        font-size: 15px;
    }

    .rt-cta {
        padding: 70px 18px;
    }

    .rt-lead {
        margin-bottom: 26px;
    }
}
/*End*/

/*==============================================================
  mPOS Virtual Terminal page
  Summernote-safe: style via div/span classes only
==============================================================*/
.mp-wrap {
    --mp-ink: #043448;
    --mp-brand: var(--rp-green, #0A3D2C);
    --mp-blue: #0c67a3;
    --mp-muted: #52646c;
}

.mp-wrap * {
    box-sizing: border-box;
}

.mp-container {
    width: min(1140px, calc(100% - 32px));
    margin: 0 auto;
}

.mp-wrap h2 {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--mp-ink);
}

.mp-wrap h3 {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--mp-ink);
}

.mp-wrap h4 {
    margin: 14px 0 8px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--mp-ink);
}

.mp-wrap p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--mp-muted);
}

.mp-wrap p:last-child {
    margin-bottom: 0;
}

.mp-accent {
    color: var(--mp-brand);
}

.mp-center {
    text-align: center;
    margin-bottom: 34px;
}

.mp-center p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.mp-section {
    padding: 70px 0;
}

/* Tinted bands must reach the viewport edges; the page editor renders content
   inside a fixed-width container */
.mp-section--soft {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 70px 0;
    background: linear-gradient(180deg, #fff8f3 0%, #f3f8fb 100%);
}

.mp-section--soft > .mp-container {
    width: min(1140px, calc(100% - 32px));
}

.mp-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: center;
}

.mp-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

.mp-media--sm img {
    width: min(280px, 100%);
    margin: 0 auto;
    border-radius: 16px;
}

.mp-btn a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    background:var(--rp-yellow, #F5B800);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(240, 88, 34, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}

.mp-btn a::after {
    content: "\2192";
}

.mp-btn a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(240, 88, 34, .36);
}

.mp-btn {
    margin-top: 24px;
}

.mp-store a img {
    width: 150px;
    height: auto;
    display: inline-block;
}

.mp-store {
    margin: 18px 0 8px;
}

/* Hero */
.mp-hero {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-top: -3rem;
    padding: 120px 24px;
    background:
        linear-gradient(135deg, rgba(4, 52, 72, .72) 0%, rgba(240, 88, 34, .55) 100%),
        url("/assets/custompage/mpos/mpos-hero-bg.png") center / cover no-repeat;
    color: #fff;
}

.mp-hero h2,
.mp-hero p {
    color: #fff;
    max-width: 720px;
}

.mp-hero h2 {
    font-size: 34px;
}

.mp-hero p {
    font-size: 18px;
}

/* Brand band */
.mp-band {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 80px 24px;
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
    color: #fff;
}

.mp-band h2,
.mp-band h3,
.mp-band p,
.mp-band strong {
    color: #fff;
}

.mp-band p {
    color: rgba(255, 255, 255, .92);
}

.mp-band .mp-grid {
    width: min(1140px, calc(100% - 32px));
    margin: 0 auto;
}

/* Two brand bands in a row should read as one block */
.mp-band + .mp-band {
    padding-top: 10px;
}

.mp-band .mp-center {
    margin-bottom: 10px;
}

.mp-circles {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
}

.mp-circles::before,
.mp-circles::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
}

.mp-circles::before {
    width: 88%;
    padding-bottom: 88%;
}

.mp-circles::after {
    width: 62%;
    padding-bottom: 62%;
    background: rgba(255, 255, 255, .22);
}

.mp-circles img {
    position: relative;
    z-index: 2;
    width: min(360px, 100%);
    border-radius: 16px;
}

.mp-block {
    margin-bottom: 22px;
}

.mp-block:last-child {
    margin-bottom: 0;
}

/* How it works steps */
.mp-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 46px 24px;
    margin-top: 56px;
    counter-reset: mp-step;
}

.mp-step {
    position: relative;
    padding: 56px 22px 28px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(4, 52, 72, .12);
    text-align: center;
    counter-increment: mp-step;
}

/* numbering comes from a counter because data-* attributes are stripped */
.mp-step::before {
    content: counter(mp-step);
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid #fff;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
}

.mp-step-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
}

.mp-step-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mp-step-line {
    width: 100%;
    height: 2px;
    margin: 14px 0 16px;
    background: #e7edef;
}

.mp-step p {
    color: var(--mp-muted);
}

.mp-step strong {
    display: block;
    margin-bottom: 6px;
    font-size: 17px;
    color: var(--mp-ink);
}

/* Feature cards */
.mp-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 36px;
}

.mp-feature {
    height: 100%;
    padding: 28px 22px;
    border: 1px solid #e4ecef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(4, 52, 72, .05);
    text-align: center;
}

.mp-feature-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 8px;
}

.mp-feature-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Checklist */
.mp-checks {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}

.mp-check {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border: 1px solid #e4ecef;
    border-radius: 12px;
    background: #fff;
}

.mp-tick {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-top: 2px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
}

.mp-tick::before {
    content: "\2713";
}

.mp-check,
.mp-check p,
.mp-check span:not(.mp-tick) {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.mp-check p {
    margin: 0;
    font-size: 15px;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

/* Triple benefit cards */
.mp-triple {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

.mp-benefit {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px 24px 26px;
    border-radius: 16px;
    background: linear-gradient(to right, var(--rp-green, #0A3D2C) 46.22%, #1B6B3A 97.9%);
    color: #fff;
    box-shadow: 0 12px 30px rgba(240, 88, 34, .22);
}

.mp-benefit h3,
.mp-benefit p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

.mp-benefit p {
    order: 2;
    margin: 0 0 22px;
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
    font-size: 15px;
}

.mp-benefit-head {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    margin-bottom: 20px;
}

.mp-benefit-head img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

/* image sits at the bottom so card bottoms line up despite different ratios */
.mp-benefit-img {
    order: 3;
    margin-top: auto;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, .12);
}

.mp-benefit-img img {
    width: 100%;
    height: 260px;
    object-fit: contain;
    display: block;
}

/* Bottom CTA */
.mp-cta {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-bottom: -3rem;
    padding: 80px 24px;
    text-align: center;
    background: #f5f7fa;
}

.mp-cta h2 {
    margin-bottom: 10px;
}

.mp-cta .mp-btn {
    display: inline-flex;
    margin-top: 22px;
}

@media (min-width: 768px) {
    .mp-grid {
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .mp-grid--rev .mp-media {
        order: 2;
    }

    .mp-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .mp-features {
        grid-template-columns: repeat(2, 1fr);
    }

    .mp-triple {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .mp-steps {
        grid-template-columns: repeat(4, 1fr);
    }

    .mp-features {
        grid-template-columns: repeat(4, 1fr);
    }

    .mp-hero h2 {
        font-size: 40px;
    }
}

@media (max-width: 767px) {
    .mp-section,
    .mp-section--soft,
    .mp-band {
        padding: 50px 0;
    }

    .mp-hero {
        padding: 80px 18px;
    }

    .mp-wrap h2,
    .mp-hero h2 {
        font-size: 24px;
    }

    .mp-wrap h3 {
        font-size: 18px;
    }

    .mp-wrap p,
    .mp-hero p {
        font-size: 15px;
    }

    .mp-media--sm img {
        width: min(220px, 100%);
    }

    .mp-center {
        margin-bottom: 26px;
    }

    .mp-benefit-img img {
        height: 220px;
    }

    .mp-cta {
        padding: 56px 18px;
    }
}
/*End*/

/*==============================================================
  Supported Merchant by mPOS page
  Summernote-safe: style via div/span classes only
==============================================================*/
.sm-wrap {
    --sm-ink: #043448;
    --sm-brand: var(--rp-green, #0A3D2C);
    --sm-blue: #0c67a3;
    --sm-muted: #52646c;
}

.sm-wrap * {
    box-sizing: border-box;
}

.sm-container {
    width: min(1140px, calc(100% - 32px));
    margin: 0 auto;
}

.sm-wrap h2 {
    margin: 0 0 14px;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--sm-ink);
}

.sm-wrap h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--sm-ink);
}

.sm-wrap p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--sm-muted);
}

.sm-wrap p:last-child {
    margin-bottom: 0;
}

.sm-accent {
    color: var(--sm-brand);
}

.sm-section {
    padding: 70px 0;
}

.sm-section--soft {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 70px 0;
    background: linear-gradient(180deg, #fff8f3 0%, #f3f8fb 100%);
}

.sm-head {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

/* accent rule under a centred heading */
.sm-head span.sm-rule {
    display: block;
    width: 68px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 999px;
    background:var(--rp-yellow, #F5B800);
}

.sm-btn {
    margin-top: 28px;
}

.sm-btn a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    background:var(--rp-yellow, #F5B800);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(240, 88, 34, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}

.sm-btn a::after {
    content: "\2192";
}

.sm-btn a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(240, 88, 34, .36);
}

/* Hero */
.sm-hero {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-top: -3rem;
    padding: 120px 24px;
    background:
        linear-gradient(135deg, rgba(4, 52, 72, .78) 0%, rgba(240, 88, 34, .5) 100%),
        url("/assets/custompage/supported-merchant/hero-bg.png") center / cover no-repeat;
    color: #fff;
}

.sm-hero .sm-container {
    max-width: 1140px;
}

.sm-hero span.sm-eyebrow {
    display: block;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .9);
}

.sm-hero h2,
.sm-hero p {
    color: #fff;
    max-width: 640px;
}

.sm-hero h2 {
    font-size: 40px;
}

.sm-hero p {
    font-size: 18px;
}

/* Business type icon grid */
.sm-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 44px;
    align-items: start;
}

.sm-types {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.sm-type {
    padding: 22px 12px 18px;
    border: 1px solid #eef2f4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(4, 52, 72, .05);
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.sm-type:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(4, 52, 72, .1);
}

.sm-type img {
    width: 58px;
    height: 58px;
    margin: 0 auto 10px;
    object-fit: contain;
    display: block;
}

.sm-type p {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--sm-ink);
}

/* Tick list */
.sm-ticks {
    display: grid;
    gap: 12px;
}

.sm-ticks > div {
    position: relative;
    padding: 15px 18px 15px 52px;
    border-radius: 12px;
    background: #fff5ed;
    font-size: 16px;
    font-weight: 500;
    color: #263f4a;
}

.sm-ticks > div::before {
    content: "\2713";
    position: absolute;
    top: 14px;
    left: 16px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background:var(--rp-yellow, #F5B800);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
}

/* Four-up picture cards */
.sm-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

.sm-card {
    height: 100%;
    padding: 24px 20px 26px;
    border: 1px solid #e4ecef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(4, 52, 72, .06);
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.sm-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(4, 52, 72, .12);
}

.sm-card-img {
    width: 128px;
    height: 128px;
    margin: 0 auto 18px;
    border-radius: 50%;
    overflow: hidden;
    background: #f6f9fb;
}

.sm-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-card h3 {
    margin: 0;
}

/* Closing CTA */
.sm-cta {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-bottom: -3rem;
    padding: 80px 24px;
    text-align: center;
    background: #f5f7fa;
}

.sm-cta h2 {
    margin-bottom: 10px;
}

.sm-cta .sm-btn {
    display: inline-flex;
    margin-top: 22px;
}

@media (min-width: 576px) {
    .sm-types {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 768px) {
    .sm-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .sm-split {
        grid-template-columns: 1.15fr .85fr;
        gap: 56px;
    }

    .sm-cards {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 767px) {
    .sm-section,
    .sm-section--soft {
        padding: 50px 0;
    }

    .sm-hero {
        padding: 80px 18px;
    }

    .sm-wrap h2,
    .sm-hero h2 {
        font-size: 24px;
    }

    .sm-wrap p,
    .sm-hero p {
        font-size: 15px;
    }

    .sm-head {
        margin-bottom: 32px;
    }

    .sm-types {
        gap: 14px;
    }

    .sm-type img {
        width: 48px;
        height: 48px;
    }

    .sm-card-img {
        width: 110px;
        height: 110px;
    }

    .sm-cta {
        padding: 56px 18px;
    }
}
/*End*/

/*==============================================================
  Gift Card page - Summernote-safe
==============================================================*/
.gc-wrap { --gc-ink:#043448; --gc-brand:var(--rp-green, #0A3D2C); --gc-muted:#52646c; }
.gc-wrap * { box-sizing:border-box; }
.gc-container { width:min(1140px, calc(100% - 32px)); margin:0 auto; }
.gc-section { padding:70px 0; }
.gc-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0;
    background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.gc-grid { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.gc-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--gc-ink); }
.gc-wrap h3 { margin:0 0 10px; font-size:20px; line-height:1.4; font-weight:600; color:var(--gc-ink); }
.gc-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--gc-muted); }
.gc-accent { color:var(--gc-brand); }
.gc-eyebrow {
    display:block; margin-bottom:12px; color:var(--gc-brand);
    font-size:15px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.gc-media img { width:100%; height:auto; display:block; border-radius:16px; }
.gc-media--sm img { width:min(430px,100%); margin:0 auto; }
.gc-center { max-width:760px; margin:0 auto 40px; text-align:center; }

.gc-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:80px 0;
    background:linear-gradient(135deg,#fff8f3 0%,#eaf5fb 100%);
}
.gc-hero h2 { font-size:36px; }

.gc-btn { margin-top:26px; }
.gc-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.gc-btn a::after { content:"\2192"; }

.gc-benefits { display:grid; grid-template-columns:1fr; gap:18px; margin-top:24px; }
.gc-benefit {
    position:relative; padding:18px 18px 18px 52px;
    border:1px solid #e4ecef; border-radius:12px; background:#fff;
}
.gc-benefit::before {
    content:"\2713"; position:absolute; top:17px; left:16px;
    width:24px; height:24px; border-radius:50%;
    background:var(--rp-yellow, #F5B800); color:#fff;
    font-size:12px; font-weight:700; line-height:24px; text-align:center;
}
.gc-benefit h3 { font-size:17px; margin-bottom:5px; }
.gc-benefit p { margin:0; font-size:15px; }

.gc-app {
    padding:46px;
    border:1px solid #e2eaed; border-radius:20px;
    background:linear-gradient(180deg,#fff8f3 0%,#eaf5fb 100%);
    box-shadow:0 12px 34px rgba(4,52,72,.07);
}
.gc-store { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.gc-store a img { width:150px; height:auto; display:block; }

.gc-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.gc-cta .gc-btn { display:inline-flex; }

@media (min-width:768px) {
    .gc-grid { grid-template-columns:1fr 1fr; gap:54px; }
    .gc-grid--rev .gc-media { order:2; }
    .gc-benefits { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px) {
    .gc-section,.gc-soft { padding:50px 0; }
    .gc-hero { padding:56px 0; }
    .gc-wrap h2,.gc-hero h2 { font-size:24px; }
    .gc-wrap h3 { font-size:18px; }
    .gc-wrap p { font-size:15px; }
    .gc-app { padding:26px 18px; }
    .gc-cta { padding:56px 18px; }
}
/*End*/

/* Online Shopping page - Summernote-safe */
.os-wrap { --os-ink:#043448; --os-brand:var(--rp-green, #0A3D2C); --os-muted:#52646c; }
.os-wrap * { box-sizing:border-box; }
.os-container { width:min(1140px,calc(100% - 32px)); margin:0 auto; }
.os-section { padding:70px 0; }
.os-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.os-grid { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.os-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--os-ink); }
.os-wrap h3 { margin:0 0 10px; font-size:20px; line-height:1.4; font-weight:600; color:var(--os-ink); }
.os-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--os-muted); }
.os-accent { color:var(--os-brand); }
.os-center { max-width:760px; margin:0 auto 40px; text-align:center; }
.os-media img { width:100%; height:auto; display:block; border-radius:16px; }
.os-media--sm img { width:min(470px,100%); margin:0 auto; }
.os-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:80px 0; background:linear-gradient(135deg,#fff8f3 0%,#eaf5fb 100%);
}
.os-hero h2 { font-size:38px; }
.os-checks { display:grid; gap:10px; margin-top:24px; }
.os-check {
    position:relative; padding:13px 16px 13px 48px;
    border-radius:10px; background:#fff; color:#263f4a;
    box-shadow:0 6px 18px rgba(4,52,72,.04);
}
.os-check::before {
    content:"\2713"; position:absolute; top:12px; left:15px;
    width:23px; height:23px; border-radius:50%;
    background:var(--rp-yellow, #F5B800); color:#fff;
    font-size:12px; font-weight:700; line-height:23px; text-align:center;
}
.os-features {
    padding:30px; border:1px solid #e2eaed; border-radius:18px;
    background:#fff; box-shadow:0 12px 34px rgba(4,52,72,.07);
}
.os-feature-media img {
    width:100%; max-height:520px; object-fit:contain; display:block; border-radius:12px;
}
.os-btn { margin-top:24px; }
.os-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800) !important;
    color:var(--rp-ink, #1A1A1A) !important; font-weight:700; text-decoration:none;
    box-shadow:0 4px 12px rgba(245,184,0,.28);
}
.os-btn a::after { content:"\2192"; }
.os-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.os-cta .os-btn { display:inline-flex; }
@media(min-width:768px) {
    .os-grid { grid-template-columns:1fr 1fr; gap:54px; }
    .os-grid--rev .os-media { order:2; }
}
@media(max-width:767px) {
    .os-section,.os-soft { padding:50px 0; }
    .os-hero { padding:56px 0; }
    .os-wrap h2,.os-hero h2 { font-size:24px; }
    .os-wrap h3 { font-size:18px; }
    .os-wrap p { font-size:15px; }
    .os-features { padding:20px 14px; }
    .os-cta { padding:56px 18px; }
}
/*End*/

/* Marketplace page - Summernote-safe */
.mk-wrap { --mk-ink:#043448; --mk-brand:var(--rp-green, #0A3D2C); --mk-muted:#52646c; }
.mk-wrap * { box-sizing:border-box; }
.mk-container { width:min(1140px,calc(100% - 32px)); margin:0 auto; }
.mk-section { padding:70px 0; }
.mk-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.mk-grid { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.mk-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--mk-ink); }
.mk-wrap h3 { margin:0 0 8px; font-size:18px; line-height:1.4; font-weight:600; color:var(--mk-ink); }
.mk-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--mk-muted); }
.mk-accent { color:var(--mk-brand); }
.mk-center { max-width:800px; margin:0 auto 42px; text-align:center; }
.mk-media img { width:100%; height:auto; display:block; border-radius:16px; }
.mk-media--sm img { width:min(470px,100%); margin:0 auto; }
.mk-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:80px 0; background:linear-gradient(135deg,#fff8f3 0%,#eaf5fb 100%);
}
.mk-hero h2 { font-size:38px; }
.mk-btn { margin-top:25px; }
.mk-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.mk-btn a::after { content:"\2192"; }
.mk-types { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.mk-type {
    padding:20px 10px 16px; border:1px solid #e7edef; border-radius:13px;
    background:#fff; text-align:center; box-shadow:0 7px 20px rgba(4,52,72,.05);
}
.mk-type img { width:54px; height:54px; margin:0 auto 9px; object-fit:contain; display:block; }
.mk-type p { margin:0; font-size:13px; font-weight:600; text-transform:uppercase; color:var(--mk-ink); }
.mk-payment { margin-top:24px; }
.mk-payment img { width:100%; height:auto; display:block; border-radius:14px; }
.mk-features { display:grid; grid-template-columns:1fr; gap:10px 20px; margin-top:22px; }
.mk-feature {
    position:relative; padding:12px 14px 12px 44px;
    border-radius:10px; background:#fff5ed; font-size:14px; color:#263f4a;
}
.mk-feature::before {
    content:"\2713"; position:absolute; top:11px; left:13px;
    width:22px; height:22px; border-radius:50%;
    background:var(--rp-yellow, #F5B800); color:#fff;
    font-size:12px; font-weight:700; line-height:22px; text-align:center;
}
.mk-gallery {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    background:#f6f9fb;
}
.mk-gallery img { width:100%; height:auto; display:block; }
.mk-banner {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    min-height:420px; padding:80px 20px;
    display:flex; align-items:center; justify-content:center;
    background:
      linear-gradient(135deg,rgba(4,52,72,.78),rgba(12,103,163,.68)),
      url("/assets/custompage/marketplace/marketplace-banner.jpg") center/cover no-repeat;
    text-align:center;
}
.mk-banner h2,.mk-banner p { color:#fff; }
.mk-banner > div { max-width:760px; }
.mk-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.mk-cta .mk-btn { display:inline-flex; }
@media(min-width:576px) { .mk-types { grid-template-columns:repeat(4,1fr); } }
@media(min-width:768px) {
    .mk-grid { grid-template-columns:1fr 1fr; gap:54px; }
    .mk-grid--rev .mk-media { order:2; }
    .mk-features { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:767px) {
    .mk-section,.mk-soft { padding:50px 0; }
    .mk-hero { padding:56px 0; }
    .mk-wrap h2,.mk-hero h2 { font-size:24px; }
    .mk-wrap h3 { font-size:18px; }
    .mk-wrap p { font-size:15px; }
    .mk-banner { min-height:330px; padding:56px 18px; }
    .mk-cta { padding:56px 18px; }
}
/*End*/

/* Ecommerce Solution page - Summernote-safe */
.ec-wrap { --ec-ink:#043448; --ec-brand:var(--rp-green, #0A3D2C); --ec-muted:#52646c; }
.ec-wrap * { box-sizing:border-box; }
.ec-container { width:min(1140px,calc(100% - 32px)); margin:0 auto; }
.ec-section { padding:70px 0; }
.ec-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.ec-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--ec-ink); }
.ec-wrap h3 { margin:0 0 9px; font-size:19px; line-height:1.4; font-weight:600; color:var(--ec-ink); }
.ec-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--ec-muted); }
.ec-accent { color:var(--ec-brand); }
.ec-center { max-width:780px; margin:0 auto 42px; text-align:center; }
.ec-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:90px 20px; text-align:center;
    background:linear-gradient(135deg,#043448 0%,#0c67a3 100%);
}
.ec-hero h2,.ec-hero p { color:#fff; }
.ec-hero h2 { font-size:38px; }
.ec-hero p { max-width:750px; margin:0 auto; font-size:18px; color:rgba(255,255,255,.9); }
.ec-cards { display:grid; grid-template-columns:1fr; gap:22px; }
.ec-card {
    height:100%; padding:30px 24px; border:1px solid #e4ecef;
    border-bottom:5px solid var(--ec-brand); border-radius:14px;
    background:#fff; box-shadow:0 10px 28px rgba(4,52,72,.07);
}
.ec-card p { margin:0; font-size:15px; }
.ec-shop { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.ec-main-img img { width:100%; height:520px; object-fit:cover; display:block; border-radius:18px; }
.ec-btn { margin-top:24px; }
.ec-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.ec-btn a::after { content:"\2192"; }
.ec-categories { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:28px; }
.ec-category {
    padding:16px 10px; border:1px solid #e7edef; border-radius:13px;
    background:#fff; text-align:center; box-shadow:0 7px 20px rgba(4,52,72,.05);
}
.ec-category img { width:58px; height:58px; margin:0 auto 9px; object-fit:contain; display:block; }
.ec-category p { margin:0; font-size:13px; font-weight:600; color:var(--ec-ink); }
.ec-products { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ec-product {
    height:100%; padding:14px; border:1px solid #e4ecef; border-radius:14px;
    background:#fff; text-align:center; box-shadow:0 8px 22px rgba(4,52,72,.06);
}
.ec-product-img { height:170px; margin-bottom:13px; }
.ec-product-img img { width:100%; height:100%; object-fit:contain; display:block; }
.ec-stars { display:block; margin-bottom:7px; color:#f0a022; letter-spacing:2px; font-size:14px; }
.ec-product h3 { margin:0 0 6px; font-size:15px; }
.ec-price { color:var(--ec-brand); font-weight:700; }
.ec-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.ec-cta .ec-btn { display:inline-flex; }
@media(min-width:576px) {
    .ec-categories { grid-template-columns:repeat(4,1fr); }
    .ec-products { grid-template-columns:repeat(3,1fr); }
}
@media(min-width:768px) {
    .ec-cards { grid-template-columns:repeat(3,1fr); }
    .ec-shop { grid-template-columns:.85fr 1.15fr; gap:54px; }
}
@media(min-width:1024px) { .ec-products { grid-template-columns:repeat(4,1fr); } }
@media(max-width:767px) {
    .ec-section,.ec-soft { padding:50px 0; }
    .ec-hero { padding:60px 18px; }
    .ec-wrap h2,.ec-hero h2 { font-size:24px; }
    .ec-wrap h3 { font-size:18px; }
    .ec-wrap p,.ec-hero p { font-size:15px; }
    .ec-main-img img { height:360px; }
    .ec-product-img { height:140px; }
    .ec-cta { padding:56px 18px; }
}
/*End*/

/* Join as Merchant page - Summernote-safe */
.jm-wrap { --jm-ink:#043448; --jm-brand:var(--rp-green, #0A3D2C); --jm-muted:#52646c; }
.jm-wrap * { box-sizing:border-box; }
.jm-container { width:min(1140px,calc(100% - 32px)); margin:0 auto; }
.jm-section { padding:70px 0; }
.jm-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.jm-grid { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.jm-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--jm-ink); }
.jm-wrap h3 { margin:0 0 9px; font-size:19px; line-height:1.4; font-weight:600; color:var(--jm-ink); }
.jm-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--jm-muted); }
.jm-accent { color:var(--jm-brand); }
.jm-center { max-width:800px; margin:0 auto 42px; text-align:center; }
.jm-media img { width:100%; height:auto; display:block; border-radius:16px; }
.jm-media--sm img { width:min(480px,100%); margin:0 auto; }
.jm-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:80px 0; background:linear-gradient(135deg,#fff8f3 0%,#eaf5fb 100%);
}
.jm-hero h2 { font-size:38px; }
.jm-btn { margin-top:24px; }
.jm-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.jm-btn a::after { content:"\2192"; }
.jm-pricing { display:grid; grid-template-columns:1fr; gap:22px; }
.jm-price {
    height:100%; padding:30px 24px; border:1px solid #e4ecef;
    border-top:5px solid var(--jm-brand); border-radius:15px;
    background:#fff; box-shadow:0 10px 28px rgba(4,52,72,.07); text-align:center;
}
.jm-amount { display:block; margin:18px 0 4px; color:var(--jm-brand); font-size:32px; font-weight:700; }
.jm-price p { margin:8px 0; font-size:15px; }
.jm-types { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.jm-type {
    height:100%; padding:22px 12px 18px; border:1px solid #e4ecef;
    border-radius:14px; background:#fff; text-align:center;
    box-shadow:0 7px 20px rgba(4,52,72,.05);
}
.jm-type img { width:68px; height:68px; margin:0 auto 12px; object-fit:contain; display:block; }
.jm-type p { margin:0; font-size:14px; font-weight:600; color:var(--jm-ink); }
.jm-sdk { display:grid; grid-template-columns:1fr; gap:22px; }
.jm-sdk-card {
    padding:30px 20px; border:1px solid #e4ecef; border-radius:15px;
    background:#fff; box-shadow:0 9px 25px rgba(4,52,72,.06); text-align:center;
}
.jm-sdk-card img { width:76px; height:76px; margin:0 auto 16px; object-fit:contain; display:block; }
.jm-sdk-card h3 { margin:0; }
.jm-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.jm-cta .jm-btn { display:inline-flex; }
@media(min-width:576px) { .jm-types { grid-template-columns:repeat(3,1fr); } }
@media(min-width:768px) {
    .jm-grid { grid-template-columns:1fr 1fr; gap:54px; }
    .jm-grid--rev .jm-media { order:2; }
    .jm-pricing,.jm-sdk { grid-template-columns:repeat(3,1fr); }
}
@media(min-width:992px) { .jm-types { grid-template-columns:repeat(5,1fr); } }
@media(max-width:767px) {
    .jm-section,.jm-soft { padding:50px 0; }
    .jm-hero { padding:56px 0; }
    .jm-wrap h2,.jm-hero h2 { font-size:24px; }
    .jm-wrap h3 { font-size:18px; }
    .jm-wrap p { font-size:15px; }
    .jm-amount { font-size:27px; }
    .jm-cta { padding:56px 18px; }
}
/*End*/

/* Form a Company page - Summernote-safe */
.fc-wrap { --fc-ink:#043448; --fc-brand:var(--rp-green, #0A3D2C); --fc-muted:#52646c; }
.fc-wrap * { box-sizing:border-box; }
.fc-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.fc-section { padding:70px 0; }
.fc-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3 0%,#f3f8fb 100%);
}
.fc-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--fc-ink); }
.fc-wrap h3 { margin:0 0 9px; font-size:20px; line-height:1.4; font-weight:600; color:var(--fc-ink); }
.fc-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--fc-muted); }
.fc-accent { color:var(--fc-brand); }
.fc-center { max-width:820px; margin:0 auto 42px; text-align:center; }
.fc-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:80px 0; background:linear-gradient(135deg,#fff8f3 0%,#eaf5fb 100%);
}
.fc-hero > .fc-container > h2 { max-width:900px; margin:0 auto 44px; font-size:36px; text-align:center; }
.fc-grid { display:grid; grid-template-columns:1fr; gap:34px; align-items:start; }
.fc-card {
    padding:32px 26px; border:1px solid #e2eaed; border-radius:16px;
    background:#fff; box-shadow:0 11px 30px rgba(4,52,72,.07);
}
.fc-points { display:grid; gap:12px; }
.fc-point {
    position:relative; padding:15px 17px 15px 50px;
    border-radius:11px; background:#fff5ed; color:#263f4a;
}
.fc-point::before {
    content:"\2713"; position:absolute; top:14px; left:15px;
    width:24px; height:24px; border-radius:50%;
    background:var(--rp-yellow, #F5B800); color:#fff;
    font-size:12px; font-weight:700; line-height:24px; text-align:center;
}
.fc-btn { margin-top:24px; }
.fc-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.fc-btn a::after { content:"\2192"; }
.fc-state { border-top:5px solid var(--fc-brand); }
.fc-state-list { display:grid; gap:8px; margin-top:20px; }
.fc-state-list > div {
    position:relative; padding:10px 10px 10px 32px;
    border-bottom:1px solid #edf1f3; color:var(--fc-muted);
}
.fc-state-list > div::before { content:"\2713"; position:absolute; left:4px; color:var(--fc-brand); font-weight:700; }
.fc-package { padding:0; overflow:hidden; }
.fc-package-head {
    padding:16px 20px; background:var(--rp-green, #0A3D2C); color:#fff;
    font-size:16px; font-weight:700; text-align:center;
}
.fc-package-list { display:grid; }
.fc-package-list > div {
    position:relative; padding:12px 20px 12px 48px;
    border-bottom:1px solid #e7edef; color:var(--fc-muted);
}
.fc-package-list > div::before {
    content:"\2713"; position:absolute; top:12px; left:20px;
    color:var(--fc-brand); font-weight:700;
}
.fc-price {
    margin:22px; padding:16px; border-radius:12px;
    background:var(--rp-yellow, #F5B800);
    color:#fff; font-size:19px; font-weight:700; text-align:center;
}
.fc-price a { color:#fff !important; text-decoration:none; }
.fc-trust {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 20px; background:linear-gradient(135deg,#043448,#0c67a3); text-align:center;
}
.fc-trust h2,.fc-trust h3,.fc-trust p { color:#fff; }
.fc-trust h3 { font-size:17px; font-weight:500; }
.fc-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:76px 20px; background:#f5f7fa; text-align:center;
}
.fc-cta .fc-btn { display:inline-flex; }
@media(min-width:768px) { .fc-grid { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:767px) {
    .fc-section,.fc-soft { padding:50px 0; }
    .fc-hero { padding:56px 0; }
    .fc-wrap h2,.fc-hero > .fc-container > h2 { font-size:24px; }
    .fc-wrap h3 { font-size:18px; }
    .fc-wrap p { font-size:15px; }
    .fc-card { padding:24px 18px; }
    .fc-trust { padding:54px 18px; }
    .fc-cta { padding:56px 18px; }
}
/*End*/

/* Why Us page - Summernote-safe */
.wu-wrap { --wu-ink:#043448; --wu-brand:var(--rp-green, #0A3D2C); --wu-muted:#52646c; }
.wu-wrap * { box-sizing:border-box; }
.wu-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.wu-wrap h2 { margin:0 0 16px; font-size:30px; line-height:1.3; font-weight:600; color:var(--wu-ink); }
.wu-wrap h3 { margin:0 0 12px; font-size:22px; line-height:1.4; font-weight:600; color:var(--wu-ink); }
.wu-wrap p { margin:0 0 14px; font-size:16px; line-height:1.75; color:var(--wu-muted); }
.wu-accent { color:var(--wu-brand); }
.wu-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.wu-btn a::after { content:"\2192"; }
.wu-hero {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    display:grid; grid-template-columns:1fr;
}
.wu-hero-left {
    position:relative; min-height:420px; padding:70px 28px;
    background:url('/assets/custompage/why-us/hero.webp') center/cover no-repeat;
    display:flex; align-items:center;
}
.wu-hero-left::before {
    content:""; position:absolute; inset:0;
    background:rgba(4,52,72,.62);
}
.wu-hero-left > div { position:relative; z-index:1; max-width:520px; }
.wu-hero-left h3,.wu-hero-left p { color:#fff; }
.wu-hero-right { padding:60px 28px; background:#f5f7fa; }
.wu-hero-right > div > h3 { text-align:center; max-width:560px; margin:0 auto 34px; }
.wu-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:620px; margin:0 auto; }
.wu-card {
    border-radius:14px; background:#fff;
    box-shadow:0 8px 24px rgba(149,157,165,.2); transition:.25s;
}
.wu-card a {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:12px; padding:26px 14px; text-align:center; text-decoration:none !important;
}
.wu-card img {
    width:46px !important; height:46px; max-width:46px;
    object-fit:contain; display:block; margin:0;
    /* TickTap dark green var(--rp-green, #0A3D2C) */
    filter:brightness(0) saturate(100%) invert(17%) sepia(42%) saturate(1024%) hue-rotate(123deg) brightness(95%) contrast(97%);
}
.wu-card span { font-size:15px; font-weight:600; line-height:1.35; color:var(--wu-ink); }
.wu-card:hover { background:var(--rp-green, #0A3D2C); color:#fff; }
.wu-card:hover h3, .wu-card:hover p { color:#fff !important; }
.wu-card:hover span { color:#fff; }
.wu-card:hover img { filter:brightness(0) invert(1); }
.wu-section { padding:70px 0; }
.wu-split { display:grid; grid-template-columns:1fr; gap:36px; align-items:center; }
.wu-media img { width:100%; max-width:220px; margin:0 auto; display:block; }
.wu-checks { display:grid; gap:12px; margin:20px 0 28px; }
.wu-check {
    position:relative; padding:10px 10px 10px 34px;
    border-bottom:1px solid #edf1f3; color:var(--wu-muted);
}
.wu-check::before {
    content:"\2713"; position:absolute; left:4px; top:10px;
    color:var(--wu-brand); font-weight:700;
}
.wu-agent {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:#f5f7fa;
}
.wu-wallet {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0;
    /* Distinct from .wu-agent (#f5f7fa) — soft mint brand wash */
    background:linear-gradient(180deg,#E8F8EE 0%,#F3FBF6 55%,#EAF7F0 100%);
}
.wu-wallet .wu-media img { max-width:360px; }
@media(min-width:768px) {
    .wu-hero { grid-template-columns:1fr 1fr; }
    .wu-hero-left { min-height:620px; padding:80px 48px; }
    .wu-hero-right { padding:80px 40px; }
    .wu-cards { grid-template-columns:repeat(3,1fr); }
    .wu-split { grid-template-columns:1fr 1.2fr; }
    .wu-agent .wu-split { grid-template-columns:1.1fr 1fr; }
    .wu-wallet .wu-split { grid-template-columns:1fr 1fr; }
    .wu-wallet .wu-split > div:first-child { order:2; }
    .wu-wallet .wu-split > div:last-child { order:1; }
}
@media(max-width:767px) {
    .wu-section,.wu-agent,.wu-wallet { padding:50px 0; }
    .wu-hero-left { min-height:340px; padding:48px 20px; }
    .wu-hero-right { padding:40px 20px; }
    .wu-wrap h2 { font-size:24px; }
    .wu-wrap h3 { font-size:18px; }
    .wu-wrap p { font-size:15px; }
}
/*End*/

/* Pricing page - Summernote-safe */
.pc-wrap { --pc-ink:#043448; --pc-brand:var(--rp-green, #0A3D2C); --pc-muted:#52646c; }
.pc-wrap * { box-sizing:border-box; }
.pc-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.pc-section { padding:70px 0; }
.pc-wrap h1 { margin:0 0 17px; font-size:38px; line-height:1.2; font-weight:650; color:var(--pc-ink); }
.pc-wrap h2 { margin:0 0 14px; font-size:28px; line-height:1.3; font-weight:600; color:var(--pc-ink); }
.pc-wrap h3 { margin:0 0 9px; font-size:19px; line-height:1.4; font-weight:600; color:var(--pc-ink); }
.pc-wrap p { margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--pc-muted); }
.pc-accent { color:var(--pc-brand); }
.pc-center { max-width:780px; margin:0 auto 38px; text-align:center; }
.pc-btn { margin-top:24px; }
.pc-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800);
    color:var(--rp-ink, #1A1A1A) !important; font-weight:600; text-decoration:none;
    box-shadow:0 10px 24px rgba(240,88,34,.28);
}
.pc-btn a::after { content:"\2192"; }
.pc-tabs {
    width:100vw; margin:-3rem 0 0 50%; transform:translateX(-50%);
    padding:22px 16px; background:#f5f7fa;
}
.pc-tabs > div { width:min(1100px,100%); margin:0 auto; display:flex; flex-wrap:wrap; gap:10px; }
.pc-tab { border-radius:9px; background:var(--rp-green, #0A3D2C); }
.pc-tab:first-child { background:var(--pc-brand); }
.pc-tab a { display:block; padding:13px 20px; color:#fff !important; font-weight:600; text-decoration:none; }
.pc-hero {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(135deg,#043448,#0c67a3);
}
.pc-split { display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
.pc-hero h1,.pc-hero p { color:#fff !important; }
.pc-hero-list { display:grid; gap:10px; margin-top:18px; }
.pc-hero-list > div { position:relative; padding:7px 5px 7px 29px; color:#fff !important; }
.pc-hero-list > div::before { content:"\2713"; position:absolute; left:2px; color:var(--rp-yellow, #F5B800); font-weight:700; }
.pc-media img { display:block; width:100%; max-width:470px; margin:0 auto; }
.pc-price {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:70px 0; background:linear-gradient(180deg,#fff8f3,#edf7fb);
}
.pc-price-box {
    padding:32px 26px; border-radius:16px; background:#fff;
    border-top:5px solid var(--pc-brand); box-shadow:0 10px 30px rgba(4,52,72,.08);
}
.pc-price-number { margin:5px 0 20px; font-size:50px; line-height:1; font-weight:700; color:var(--pc-brand); }
.pc-price-list { display:grid; gap:10px; }
.pc-price-list > div { position:relative; padding:8px 8px 8px 31px; color:var(--pc-muted); }
.pc-price-list > div::before { content:"\2713"; position:absolute; left:3px; color:var(--pc-brand); font-weight:700; }
.pc-features { display:grid; grid-template-columns:1fr; gap:20px; }
.pc-card {
    height:100%; padding:25px 20px; border:1px solid #e3eaed; border-radius:14px;
    background:#fff; box-shadow:0 8px 24px rgba(4,52,72,.06); text-align:center;
}
.pc-card img { display:block; width:52px !important; height:52px; object-fit:contain; margin:0 auto 17px; }
.pc-card h3 { margin:0; }
.pc-stripe {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:50px 0; background:var(--rp-green, #0A3D2C);
}
.pc-stripe-grid { display:grid; grid-template-columns:1fr; gap:24px; align-items:center; }
.pc-stripe p { margin:0; color:#fff; font-size:18px; }
.pc-addons { display:grid; grid-template-columns:1fr; gap:20px; }
.pc-addon {
    height:100%; padding:25px 21px; border-radius:14px; background:#fff;
    border:1px solid #e3eaed; box-shadow:0 8px 24px rgba(4,52,72,.06);
}
.pc-addon p { margin:0; }
@media(min-width:768px) {
    .pc-split { grid-template-columns:1fr 1fr; }
    .pc-features,.pc-addons { grid-template-columns:repeat(2,1fr); }
    .pc-stripe-grid { grid-template-columns:1fr auto; }
}
@media(min-width:1024px) { .pc-features,.pc-addons { grid-template-columns:repeat(4,1fr); } }
@media(max-width:767px) {
    .pc-section,.pc-price { padding:50px 0; }
    .pc-hero { padding:52px 0; }
    .pc-wrap h1 { font-size:29px; }
    .pc-wrap h2 { font-size:23px; }
    .pc-wrap h3 { font-size:18px; }
    .pc-wrap p { font-size:15px; }
    .pc-price-number { font-size:42px; }
    .pc-tabs > div { flex-direction:column; }
}
/*End*/

/* Standalone application forms */
.ff-page {
    min-height:70vh; padding:150px 0 80px;
    background:linear-gradient(180deg,#fff8f3 0%,#eef8fb 100%);
}
.ff-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.ff-heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.ff-heading > span { color:var(--rp-lime, #39D46A); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ff-heading h1 { margin:8px 0 12px; color:#ffffff; font-size:36px; line-height:1.25; font-weight:650; }
.ff-heading p { margin:0; color:rgba(255,255,255,.88); font-size:16px; }
.ff-form-card {
    padding:36px; border:1px solid #e2eaed; border-radius:18px; background:#fff;
    box-shadow:0 14px 38px rgba(4,52,72,.09);
}
.ff-form-narrow { max-width:820px; margin:0 auto; }
.ff-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.ff-field { margin-bottom:20px; }
.ff-field label,.ff-captcha > label {
    display:block; margin-bottom:8px; color:#043448; font-size:14px; font-weight:650;
}
.ff-field input,.ff-field select,.ff-field textarea,.ff-captcha input {
    display:block; width:100%; min-height:48px; padding:11px 13px;
    border:1px solid #ccd8dd; border-radius:9px; background:#fff;
    color:#263f4a; font:inherit; outline:none;
}
.ff-field textarea { resize:vertical; }
.ff-field input:focus,.ff-field select:focus,.ff-field textarea:focus,.ff-captcha input:focus {
    border-color:var(--rp-green, #0A3D2C); box-shadow:0 0 0 3px rgba(240,88,34,.12);
}
.ff-captcha { margin:5px 0 22px; }
.ff-captcha > div { display:flex; gap:10px; align-items:stretch; }
.ff-captcha input { width:190px; max-width:100%; -moz-appearance:textfield; }
.ff-captcha input::-webkit-outer-spin-button,
.ff-captcha input::-webkit-inner-spin-button { margin:0; -webkit-appearance:none; }
.ff-captcha button {
    flex:0 0 auto; padding:10px 18px; border:1px solid #043448; border-radius:9px;
    background:#fff; color:#043448; font-weight:600; white-space:nowrap; cursor:pointer;
}
.ff-check { display:flex; gap:12px; align-items:flex-start; margin:0 0 24px; color:#52646c; cursor:pointer; }
.ff-check input[type="checkbox"] {
    flex:0 0 19px; width:19px !important; min-width:19px; height:19px; min-height:19px;
    margin:3px 0 0; padding:0; border:1px solid #ccd8dd; border-radius:4px; accent-color:var(--rp-green, #0A3D2C);
}
.ff-check > span { flex:1 1 auto; line-height:1.6; }
.ff-check a { color:var(--rp-green, #0A3D2C); }
.ff-submit {
    display:inline-flex; padding:14px 30px; border:0; border-radius:999px;
    background:var(--rp-yellow, #F5B800); color:#fff;
    font-weight:650; box-shadow:0 10px 24px rgba(240,88,34,.25); cursor:pointer;
}
.ff-alert { margin-bottom:24px; padding:14px 16px; border-radius:10px; }
.ff-alert ul { margin:0; padding-left:20px; }
.ff-alert-success { border:1px solid #a7dfc0; background:#ecfaf2; color:#17663a; }
.ff-alert-error { border:1px solid #f0b3b3; background:#fff1f1; color:#9d2929; }
.ff-split { display:grid; grid-template-columns:1fr; gap:35px; align-items:start; }
.ff-side { padding:30px; border-radius:18px; background:#043448; color:#fff; }
.ff-side > img { display:block; width:100%; max-width:420px; margin:0 auto 26px; }
.ff-side h2 { margin:0 0 12px; color:#fff; font-size:26px; }
.ff-side p { color:#dce9ee; }
.ff-side > a { color:#ffad3a; }
.ff-whatsapp {
    display:flex; align-items:center; gap:12px; width:max-content;
    margin-top:22px; color:#fff !important; font-weight:650; text-decoration:none;
}
.ff-whatsapp img { width:46px !important; height:46px; border-radius:50%; object-fit:cover; }
@media(min-width:768px) {
    .ff-grid { grid-template-columns:repeat(2,1fr); }
    .ff-split { grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr); }
}
@media(max-width:767px) {
    .ff-page { padding:120px 0 55px; }
    .ff-heading h1 { font-size:28px; }
    .ff-form-card,.ff-side { padding:24px 18px; }
    .ff-captcha > div { flex-direction:column; }
    .ff-captcha input { max-width:none; }
}
/*End*/

/* Who Are We page - Summernote-safe */
.wa-wrap { --wa-ink:#043448; --wa-brand:var(--rp-green, #0A3D2C); --wa-muted:#52646c; }
.wa-wrap * { box-sizing:border-box; }
.wa-container { width:min(1100px,calc(100% - 32px)); margin:0 auto; }
.wa-section { padding:72px 0; }
.wa-wrap h1 { margin:0 0 16px; font-size:38px; line-height:1.2; font-weight:650; color:var(--wa-ink); }
.wa-wrap h2 { margin:0 0 15px; font-size:29px; line-height:1.3; font-weight:600; color:var(--wa-ink); }
.wa-wrap h3 { margin:0 0 10px; font-size:20px; line-height:1.4; font-weight:600; color:var(--wa-ink); }
.wa-wrap p { margin:0 0 15px; font-size:16px; line-height:1.75; color:var(--wa-muted); }
.wa-accent { color:var(--wa-brand); }
.wa-center { max-width:780px; margin:0 auto 40px; text-align:center; }
.wa-hero {
    width:100vw; min-height:580px; margin:-3rem 0 0 50%; transform:translateX(-50%);
    position:relative; display:flex; align-items:center;
    background:url('/assets/custompage/who-are-we/hero.png') center/cover no-repeat;
}
.wa-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,52,72,.78),rgba(4,52,72,.15)); }
.wa-hero-copy { position:relative; z-index:1; max-width:620px; }
.wa-hero h1,.wa-hero p { color:#fff; }
.wa-hero p { font-size:18px; }
.wa-btn { margin-top:25px; }
.wa-btn a {
    display:inline-flex; align-items:center; gap:10px; padding:14px 30px;
    border-radius:999px; background:var(--rp-yellow, #F5B800) !important;
    color:var(--rp-ink, #1A1A1A) !important; font-weight:700; text-decoration:none;
    box-shadow:0 4px 12px rgba(245,184,0,.28);
}
.wa-btn a::after { content:"\2192"; }
.wa-soft {
    width:100vw; margin-left:50%; transform:translateX(-50%);
    padding:72px 0; background:linear-gradient(180deg,#fff8f3,#eef8fb);
}
.wa-split { display:grid; grid-template-columns:1fr; gap:42px; align-items:center; }
.wa-media img { display:block; width:100%; max-width:510px; margin:0 auto; border-radius:16px; }
.wa-checks { display:grid; gap:12px; margin-top:22px; }
.wa-check { position:relative; padding:10px 10px 10px 35px; border-bottom:1px solid #e5ecef; color:var(--wa-muted); }
.wa-check::before { content:"\2713"; position:absolute; left:4px; color:var(--wa-brand); font-weight:700; }
.wa-pillars { display:grid; grid-template-columns:1fr; gap:22px; }
.wa-card {
    height:100%; padding:28px 24px; border:1px solid #e2e9ec; border-radius:15px;
    background:#fff; box-shadow:0 9px 28px rgba(4,52,72,.07);
}
.wa-card::before {
    content:""; display:block; width:44px; height:5px; margin-bottom:18px;
    border-radius:5px; background:linear-gradient(90deg,var(--rp-green, #0A3D2C),var(--rp-yellow, #F5B800));
}
.wa-card p { margin:0; }
.wa-gallery { display:grid; grid-template-columns:1fr; gap:22px; align-items:center; }
.wa-gallery > div { overflow:hidden; border-radius:16px; box-shadow:0 10px 28px rgba(4,52,72,.1); }
.wa-gallery img { display:block; width:100%; transition:transform .3s; }
.wa-gallery > div:hover img { transform:scale(1.04); }
.wa-cta {
    width:100vw; margin:0 0 -3rem 50%; transform:translateX(-50%);
    padding:72px 20px; background:var(--rp-green, #0A3D2C) !important; text-align:center;
}
.wa-cta h2,.wa-cta p {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
}
.wa-cta .wa-btn { display:inline-flex; }
@media(min-width:768px) {
    .wa-split { grid-template-columns:1fr 1fr; }
    .wa-pillars,.wa-gallery { grid-template-columns:repeat(3,1fr); }
    .wa-gallery > div:nth-child(2) { transform:translateY(28px); }
}
@media(max-width:767px) {
    .wa-section,.wa-soft { padding:50px 0; }
    .wa-hero { min-height:430px; }
    .wa-wrap h1 { font-size:29px; }
    .wa-wrap h2 { font-size:23px; }
    .wa-wrap h3 { font-size:18px; }
    .wa-wrap p { font-size:15px; }
    .wa-hero p { font-size:16px; }
    .wa-cta { padding:55px 18px; }
}
/*End*/

/* =========================================================
   Homepage TickTap text + section fixes (loads last)
   ========================================================= */
body.home .tt-dark-section,
body.home section.tt-dark-section {
    background:
        radial-gradient(ellipse 55% 70% at 90% 20%, rgba(57, 212, 106, 0.18) 0%, transparent 55%),
        radial-gradient(ellipse 50% 60% at 8% 85%, rgba(57, 212, 106, 0.12) 0%, transparent 50%),
        linear-gradient(160deg, var(--rp-green-dark, #06281d) 0%, var(--rp-green, #0A3D2C) 45%, #0d4632 100%) !important;
    color: #ffffff !important;
}

body.home .tt-dark-section h1,
body.home .tt-dark-section h2,
body.home .tt-dark-section h3,
body.home .tt-dark-section h4,
body.home .tt-dark-section h5,
body.home .tt-dark-section h6,
body.home .tt-dark-section .title,
body.home .tt-dark-section .section__title,
body.home .tt-dark-section .section__title .section__title,
body.home .tt-dark-section .common-title h3,
body.home .tt-dark-section .stickynew h3,
body.home .tt-dark-section .tt-promo-copy h3 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

body.home .tt-dark-section .section__cate,
body.home .tt-dark-section .section__title .section__cate {
    color: var(--rp-lime, #39D46A) !important;
    opacity: 1 !important;
}

body.home .tt-dark-section p,
body.home .tt-dark-section .section__title p,
body.home .tt-dark-section .tt-section-desc,
body.home .tt-dark-section .common-title p,
body.home .tt-dark-section .stickynew p,
body.home .tt-dark-section .cont p,
body.home .tt-dark-section .get-payment-item .cont p,
body.home .tt-dark-section .tt-promo-copy p {
    color: rgba(255, 255, 255, 0.92) !important;
    opacity: 1 !important;
}

body.home .tt-dark-section .get-payment-item .title,
body.home .tt-dark-section .get-payment-item h5 {
    color: #ffffff !important;
}

body.home .tt-dark-section a:not(.cmn--btn):not(.tt-cta-btn):not(.tt-link-btn) {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* Promo band (Low cost section) */
body.home .tt-promo-band {
    overflow: hidden;
}
body.home .tt-promo-copy h3 {
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 700;
    color: #fff !important;
}
body.home .tt-promo-visual {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(57, 212, 106, 0.25);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    background: rgba(0, 0, 0, 0.15);
}
body.home .tt-promo-visual img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: cover;
    object-position: center right;
}

/* Industry solutions readability */
body.home .solution.tt-dark-section .common-title h3 {
    color: #ffffff !important;
    font-weight: 700;
    font-size: 28px;
}
body.home .solution.tt-dark-section .common-title p {
    color: rgba(255, 255, 255, 0.92) !important;
    margin-bottom: 20px;
}

/* Service / Why choose cards */
body.home .get-payment-item {
    background: linear-gradient(180deg, rgba(10, 52, 38, 0.95) 0%, rgba(7, 40, 29, 0.98) 100%) !important;
    border: 1px solid rgba(57, 212, 106, 0.22) !important;
    border-radius: 18px !important;
    padding: 22px 18px !important;
}
body.home .get-payment-item .cont .title,
body.home .get-payment-item .cont h5 {
    color: #fff !important;
}
body.home .get-payment-item .cont p {
    color: rgba(255, 255, 255, 0.88) !important;
}

/* Merchant / Support cards keep image + dark footer */
body.home .blog-section .post-item .post-inner {
    background: #07281d !important;
    border: 1px solid rgba(57, 212, 106, 0.22) !important;
    border-radius: 18px !important;
    overflow: hidden;
}
body.home .blog-section .post-item .post-content {
    background: var(--rp-green, #0A3D2C) !important;
}
body.home .blog-section .section__title.section__title-center > .section__title {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* =========================================================
   ALL custom pages — TickTap dark theme readability
   ========================================================= */
/* Do NOT set wrap-level white color — it leaks into white cards.
   Dark section headings are forced white in dedicated rules below. */
body.home .virtual-card-section,
body.home .tpn-wrap,
body.home #tapnpay,
body.home .ff-page,
body.home .partner-hero__container {
    color: rgba(255,255,255,0.9);
}

body.home .virtual-card-section,
body.home .tpn-wrap,
body.home #tapnpay,
body.home .ff-page {
    background:
        radial-gradient(ellipse 55% 70% at 90% 20%, rgba(57, 212, 106, 0.14) 0%, transparent 55%),
        linear-gradient(160deg, var(--rp-green-dark, #06281d) 0%, var(--rp-green, #0A3D2C) 50%, #0d4632 100%) !important;
}

body.home .virtual-card-section h1,
body.home .virtual-card-section h2,
body.home .virtual-card-section h3,
body.home .virtual-card-section h4,
body.home .virtual-card-section h5,
body.home .virtual-card-section p,
body.home .virtual-card-section li,
body.home .tpn-wrap h1,
body.home .tpn-wrap h2,
body.home .tpn-wrap h3,
body.home .tpn-wrap p,
body.home .tpn-wrap li,
body.home #tapnpay h1,
body.home #tapnpay h2,
body.home #tapnpay h3,
body.home #tapnpay p,
body.home #tapnpay .lead,
body.home #tapnpay .eyebrow {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.home #tapnpay .card,
body.home #tapnpay .card h1,
body.home #tapnpay .card h2,
body.home #tapnpay .card h3,
body.home #tapnpay .card h4,
body.home #tapnpay .card p,
body.home #tapnpay .card li,
body.home #tapnpay .card strong {
    color: #101114 !important;
}

body.home .partner-hero__title,
body.home .partner-hero__subtitle,
body.home .partner-opportunities__title,
body.home .partner-opportunities__heading,
body.home .partner-opportunities__desc,
body.home .ff-heading h1,
body.home .ff-heading h2,
body.home .ff-heading p,
body.home .ff-side,
body.home .ff-side p,
body.home .ff-side h2,
body.home .ff-side h3 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
body.home .ff-heading > span {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .partner-opportunities__item {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(57, 212, 106, 0.22) !important;
    border-radius: 16px;
}

body.home .ff-form-card,
body.home .ff-form-card h1,
body.home .ff-form-card h2,
body.home .ff-form-card h3,
body.home .ff-form-card label,
body.home .ff-form-card p,
body.home .ff-field label {
    color: #101114 !important;
}

body.home .ff-form-card {
    background: #ffffff !important;
    border-radius: 16px;
}

/* Do NOT force white on mixed wraps (gc/sm/mc/wa/mr…) — section/card rules only.
   tt-doc kept scoped to headings that sit on dark body green. */
body.home .tt-doc > h2,
body.home .tt-doc > h3,
body.home .tt-doc > .tt-center > h2,
body.home .tt-doc > .tt-center > h3 {
    color: #ffffff !important;
}

body.home .tt-doc > p,
body.home .tt-doc > .tt-center > p {
    color: rgba(255,255,255,0.88) !important;
}

body.home .mc-card,
body.home .mr-card,
body.home .mc-panel,
body.home .wa-card,
body.home .sm-card,
body.home .gc-benefit,
body.home .mp-benefit,
body.home .tt-panel {
    background: #ffffff !important;
    color: #101114 !important;
}

body.home .mc-card h3,
body.home .mc-card p,
body.home .mr-card p,
body.home .mc-panel h3,
body.home .mc-panel p,
body.home .wa-card h3,
body.home .wa-card p,
body.home .sm-card h3,
body.home .sm-card p {
    color: #101114 !important;
}

/* Inner page breadcrumb on custom pages */
body.home .hero-section.tt-dark-section .hero-breadcrumb .title,
body.home .hero-section.tt-dark-section .breadcrumb a,
body.home .hero-section.tt-dark-section .breadcrumb span,
body.home .hero-section.tt-dark-section .breadcrumb li {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Card-machine FAQ force readable */
body.home .yp-stack .faqs-section h2,
body.home .yp-stack .faqs-section .subtitle,
body.home .yp-stack .faq-block-item .title,
body.home .yp-stack .faq-block-title h5 {
    color: #ffffff !important;
    opacity: 1 !important;
}
body.home .yp-stack .faq-block-content p {
    color: rgba(255,255,255,0.88) !important;
}
body.home .yp-stack .faq-block-item {
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
    background: transparent !important;
}

/* Soft bands forced dark earlier — keep as dark panels on body green */
body.home .mc-soft,
body.home .wa-soft {
    background: rgba(7, 40, 29, 0.65) !important;
}
/* Mobile-reload soft keeps original light paper look (mixed with white steps) */
body.home .mr-soft {
    background: linear-gradient(180deg, #fff8f3 0%, #f3f8fb 100%) !important;
    color: #043448 !important;
}

/* =========================================================
   CMS TickTap pages — dark SECTION headings white only.
   Default ink is dark again so white cards stay readable.
   ========================================================= */
body.home .tt-cm-hero-copy .tt-cm-h1,
body.home .tt-cm-section > h2,
body.home .tt-cm-section > .tt-cm-center h2,
body.home .tt-cm-section > p,
body.home .tt-cm-section > .tt-cm-center p,
body.home .tt-cm .tt-cm-list li,
body.home .tt-cm-hero-copy > p,
body.home .tt-doc > h2,
body.home .tt-doc > h3,
body.home .tt-tp-band h2,
body.home .tt-tp-band p,
body.home .tt-tp-section > h2,
body.home .tt-tp-section > .tt-tp-center h2,
body.home .tt-tp-split > div > h2,
body.home .tt-tp-split > div > p,
body.home .tt-tp-check,
body.home .tt-ya-hero .tt-ya-h1,
body.home .tt-ya-hero p,
body.home .tt-ya-section > .tt-ya-center > h2,
body.home .tt-ya-section > .tt-ya-center > p,
body.home .tt-ya-section > .tt-ya-center > .tt-ya-eyebrow,
body.home .tt-ya-badge,
body.home .tt-pn-hero .tt-pn-h1,
body.home .tt-pn-hero > p,
body.home .tt-pn-split .tt-pn-h1,
body.home .tt-pn-split > div > p,
body.home .tt-pn-split > div > .tt-pn-list li,
body.home .tt-pn-band h2,
body.home .tt-pn-section > h2,
body.home .tt-pn-section > p,
body.home .tt-ls-hero .tt-ls-h1,
body.home .tt-ls-section > h2,
body.home .tt-ls-section > p,
body.home .tt-acc-head {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

body.home .tt-ya-section > .tt-ya-center > p,
body.home .tt-ya-hero p,
body.home .tt-cm-hero-copy > p,
body.home .tt-cm-section > p {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

body.home .tt-ya-eyebrow,
body.home .tt-ya-section > .tt-ya-center > .tt-ya-eyebrow {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}

body.home .tt-cm .tt-cm-muted,
body.home .tt-cm > p,
body.home .tt-cm-section > p,
body.home .tt-cm-hero-copy > p,
body.home .tt-doc > p,
body.home .tt-vc > p,
body.home .tt-tp-band p,
body.home .tt-tp-note,
body.home .tt-tp-split > div > p,
body.home .tt-ya > p,
body.home .tt-ya-section > p,
body.home .tt-pn > p,
body.home .tt-pn-section > p,
body.home .tt-ls > p,
body.home .tt-ls-section > p {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

/* Payment badges on hero stay light pills with dark green text */
body.home .tt-cm-badge {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
    background: #ffffff !important;
}

/* White card surfaces keep dark readable text (all CMS) */
body.home .tt-cm-panels,
body.home .tt-cm-panels *,
body.home .tt-cm-benefit,
body.home .tt-cm-benefit *,
body.home .tt-cm-mode,
body.home .tt-cm-mode *,
body.home .tt-cm-tabs,
body.home .tt-cm-tab,
body.home .tt-cm-spec,
body.home .tt-cm-spec *,
body.home .tt-ya-card,
body.home .tt-ya-card *,
body.home .tt-ya-panel,
body.home .tt-ya-panel *,
body.home .tt-ya-mini,
body.home .tt-ya-mini *,
body.home .tt-ya-soft,
body.home .tt-ya-soft *,
body.home .tt-ya-list li,
body.home .tt-pn-card,
body.home .tt-pn-card *,
body.home .tt-pn-opp-item,
body.home .tt-pn-opp-item *,
body.home .tt-pn-perk,
body.home .tt-pn-perk *,
body.home .tt-pn-ico,
body.home .tt-ls-card,
body.home .tt-ls-card *,
body.home .tt-ls-pill,
body.home .tt-ls-pill *,
body.home .tt-tp-card,
body.home .tt-tp-card *,
body.home .tt-tp-spec,
body.home .tt-tp-spec *,
body.home .tt-tp-ico,
body.home .tt-tp-tabs,
body.home .tt-tp-tab,
body.home .tt-vc-card,
body.home .tt-vc-card *,
body.home .tt-panel,
body.home .tt-panel *,
body.home .mc-card,
body.home .mc-card *,
body.home .mc-panel,
body.home .mc-panel *,
body.home .wa-card,
body.home .wa-card *,
body.home .mr-card,
body.home .mr-card *,
body.home .os-check,
body.home .os-features,
body.home .os-features *,
body.home .mk-type,
body.home .mk-type *,
body.home .mk-feature,
body.home .yp-card,
body.home .yp-card *,
body.home .yp-tabs,
body.home .yp-tab,
body.home .sm-card,
body.home .sm-card *,
body.home .gc-benefit,
body.home .gc-benefit *,
body.home .mp-benefit,
body.home .mp-benefit *,
body.home .mp-step,
body.home .mp-step *,
body.home .ec-card,
body.home .ec-card *,
body.home .jm-card,
body.home .jm-card *,
body.home .fc-card,
body.home .fc-card *,
body.home .wu-card,
body.home .wu-card *,
body.home .pc-card,
body.home .pc-card *,
body.home .rt-card,
body.home .rt-card * {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

body.home .tt-tp-ico,
body.home .tt-tp-tab,
body.home .tt-cm-tab,
body.home .yp-tab {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}

body.home .tt-cm-benefit p,
body.home .tt-cm-mode .tt-cm-list li,
body.home .tt-cm-panel-caption,
body.home .tt-cm-spec span:last-child,
body.home .tt-ya-card p,
body.home .tt-pn-card p,
body.home .tt-ls-card p {
    color: #5d6470 !important;
    -webkit-text-fill-color: #5d6470 !important;
}

body.home .tt-cm .tt-acc-head,
body.home .tt-doc .tt-acc-head,
body.home .tt-cm .tt-acc-item,
body.home .tt-doc .tt-acc-item {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.home .tt-cm .tt-acc-body p,
body.home .tt-doc .tt-acc-body p {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

/* Match header Open an Account yellow CTA */
body.home .tt-btn a,
body.home .tt-cm .tt-btn a,
body.home .tt-doc .tt-btn a,
body.home .tt-vc .tt-btn a,
body.home .tt-tp .tt-btn a,
body.home .tt-ya .tt-btn a,
body.home .tt-pn .tt-btn a,
body.home .tt-ls .tt-btn a,
body.home .tt-ls-btn a {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28) !important;
}

body.home .tt-btn a::after,
body.home .tt-cm .tt-btn a::after {
    color: var(--rp-ink, #1A1A1A) !important;
}

body.home .tt-acc-head::after,
body.home .tt-cm .tt-acc-head::after,
body.home .tt-doc .tt-acc-head::after {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28);
}

/* =========================================================
   UNIVERSAL CMS DB pages (os/wa/mc/mr/mk/ec/jm/fc/wu/pc/…)
   Body is dark green — sections without light bg need white copy.
   Light heroes/soft/cta keep dark copy. White cards keep dark copy.
   All CTAs match header Open an Account yellow.
   ========================================================= */

/* --- Dark bands sitting on body green --- */
body.home .os-section,
body.home .mk-section,
body.home .ec-section,
body.home .jm-section,
body.home .fc-section,
body.home .wu-section,
body.home .pc-section,
body.home .gc-section,
body.home .rt-section,
body.home .mp-section,
body.home .sm-section,
body.home .mc-section,
body.home .mr-section,
body.home .wa-section,
body.home .mc-faq,
body.home .wa-cta,
body.home .mc-hero,
body.home .mk-banner {
    color: rgba(255,255,255,0.9);
}

body.home .os-section h1,
body.home .os-section h2,
body.home .os-section h3,
body.home .os-section h4,
body.home .os-section p,
body.home .os-section li,
body.home .os-section .os-accent,
body.home .mk-section h1,
body.home .mk-section h2,
body.home .mk-section h3,
body.home .mk-section p,
body.home .mk-section .mk-accent,
body.home .ec-section h1,
body.home .ec-section h2,
body.home .ec-section h3,
body.home .ec-section p,
body.home .ec-section .ec-accent,
body.home .jm-section h1,
body.home .jm-section h2,
body.home .jm-section h3,
body.home .jm-section p,
body.home .jm-section .jm-accent,
body.home .fc-section h1,
body.home .fc-section h2,
body.home .fc-section h3,
body.home .fc-section p,
body.home .fc-section .fc-accent,
body.home .wu-section h1,
body.home .wu-section h2,
body.home .wu-section h3,
body.home .wu-section p,
body.home .wu-section .wu-accent,
body.home .pc-section h1,
body.home .pc-section h2,
body.home .pc-section h3,
body.home .pc-section p,
body.home .pc-section .pc-accent,
body.home .gc-section h1,
body.home .gc-section h2,
body.home .gc-section h3,
body.home .gc-section p,
body.home .gc-section .gc-accent,
body.home .rt-section h1,
body.home .rt-section h2,
body.home .rt-section h3,
body.home .rt-section p,
body.home .mp-section h1,
body.home .mp-section h2,
body.home .mp-section h3,
body.home .mp-section p,
body.home .sm-section h1,
body.home .sm-section h2,
body.home .sm-section h3,
body.home .sm-section p,
body.home .mc-section h1,
body.home .mc-section h2,
body.home .mc-section h3,
body.home .mc-section p,
body.home .mc-section .mc-accent,
body.home .mr-section h1,
body.home .mr-section h2,
body.home .mr-section h3,
body.home .mr-section p,
body.home .wa-section h1,
body.home .wa-section h2,
body.home .wa-section h3,
body.home .wa-section p,
body.home .wa-section .wa-accent,
body.home .wa-section .wa-check,
body.home .wa-cta h2,
body.home .wa-cta p,
body.home .mc-hero h1,
body.home .mc-hero h2,
body.home .mc-hero p,
body.home .mk-banner h2,
body.home .mk-banner p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

body.home .os-section p,
body.home .mk-section p,
body.home .ec-section p,
body.home .jm-section p,
body.home .fc-section p,
body.home .wu-section p,
body.home .pc-section p,
body.home .mc-section p,
body.home .wa-section p,
body.home .wa-section .wa-check {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

body.home .os-section .os-accent,
body.home .mk-section .mk-accent,
body.home .mc-section .mc-accent,
body.home .wa-section .wa-accent,
body.home .ec-section .ec-accent,
body.home .jm-section .jm-accent,
body.home .fc-section .fc-accent,
body.home .wu-section .wu-accent,
body.home .pc-section .pc-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}

/* Soft bands forced dark earlier — keep titles white (not mr-soft: light paper) */
body.home .mc-soft h1,
body.home .mc-soft h2,
body.home .mc-soft h3,
body.home .mc-soft p,
body.home .mc-soft .mc-accent,
body.home .wa-soft h1,
body.home .wa-soft h2,
body.home .wa-soft h3,
body.home .wa-soft p,
body.home .wa-soft .wa-accent {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.home .mc-soft p,
body.home .wa-soft p {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

body.home .mc-soft .mc-accent,
body.home .wa-soft .wa-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}

/* --- Light islands: restore dark readable text ---
   NOTE: ec-hero is DARK; wu-hero is split (left dark / right light) — do not treat as light. */
body.home .os-hero,
body.home .os-soft,
body.home .os-cta,
body.home .mk-hero,
body.home .mk-soft,
body.home .mk-cta,
body.home .mk-gallery,
body.home .ec-soft,
body.home .ec-cta,
body.home .jm-hero,
body.home .jm-soft,
body.home .jm-cta,
body.home .fc-hero,
body.home .fc-soft,
body.home .fc-cta,
body.home .wu-hero-right,
body.home .wu-soft,
body.home .wu-cta,
body.home .wu-agent,
body.home .wu-wallet,
body.home .pc-soft,
body.home .pc-cta,
body.home .pc-price,
body.home .gc-hero,
body.home .gc-soft,
body.home .gc-cta,
body.home .gc-app,
body.home .sm-section--soft,
body.home .sm-cta {
    color: #043448 !important;
}

body.home .os-hero h1,
body.home .os-hero h2,
body.home .os-hero h3,
body.home .os-hero p,
body.home .os-soft h1,
body.home .os-soft h2,
body.home .os-soft h3,
body.home .os-soft p,
body.home .os-soft .os-accent,
body.home .os-cta h1,
body.home .os-cta h2,
body.home .os-cta h3,
body.home .os-cta p,
body.home .mk-hero h1,
body.home .mk-hero h2,
body.home .mk-hero h3,
body.home .mk-hero p,
body.home .mk-soft h1,
body.home .mk-soft h2,
body.home .mk-soft h3,
body.home .mk-soft p,
body.home .mk-cta h1,
body.home .mk-cta h2,
body.home .mk-cta h3,
body.home .mk-cta p,
body.home .ec-soft h1,
body.home .ec-soft h2,
body.home .ec-soft h3,
body.home .ec-soft p,
body.home .ec-cta h1,
body.home .ec-cta h2,
body.home .ec-cta p,
body.home .jm-hero h1,
body.home .jm-hero h2,
body.home .jm-hero p,
body.home .jm-soft h1,
body.home .jm-soft h2,
body.home .jm-soft p,
body.home .jm-cta h1,
body.home .jm-cta h2,
body.home .jm-cta p,
body.home .fc-hero h1,
body.home .fc-hero h2,
body.home .fc-hero p,
body.home .fc-soft h1,
body.home .fc-soft h2,
body.home .fc-soft p,
body.home .fc-cta h1,
body.home .fc-cta h2,
body.home .fc-cta p,
body.home .wu-hero-right h1,
body.home .wu-hero-right h2,
body.home .wu-hero-right h3,
body.home .wu-hero-right p,
body.home .wu-soft h1,
body.home .wu-soft h2,
body.home .wu-soft p,
body.home .wu-cta h1,
body.home .wu-cta h2,
body.home .wu-cta p,
body.home .wu-agent h2,
body.home .wu-agent h3,
body.home .wu-agent p,
body.home .wu-wallet h2,
body.home .wu-wallet h3,
body.home .wu-wallet p,
body.home .pc-soft h1,
body.home .pc-soft h2,
body.home .pc-soft p,
body.home .pc-cta h1,
body.home .pc-cta h2,
body.home .pc-cta p,
body.home .pc-price h1,
body.home .pc-price h2,
body.home .pc-price h3,
body.home .pc-price p,
body.home .pc-price .pc-accent,
body.home .gc-hero h1,
body.home .gc-hero h2,
body.home .gc-hero h3,
body.home .gc-hero p,
body.home .gc-soft h1,
body.home .gc-soft h2,
body.home .gc-soft h3,
body.home .gc-soft p,
body.home .gc-cta h1,
body.home .gc-cta h2,
body.home .gc-cta p,
body.home .gc-app h2,
body.home .gc-app h3,
body.home .gc-app p,
body.home .sm-section--soft h1,
body.home .sm-section--soft h2,
body.home .sm-section--soft h3,
body.home .sm-section--soft p,
body.home .sm-cta h1,
body.home .sm-cta h2,
body.home .sm-cta p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
}

body.home .os-hero p,
body.home .os-soft p,
body.home .os-cta p,
body.home .mk-hero p,
body.home .mk-soft p,
body.home .mk-cta p,
body.home .ec-soft p,
body.home .ec-cta p,
body.home .jm-hero p,
body.home .jm-soft p,
body.home .jm-cta p,
body.home .fc-hero p,
body.home .fc-soft p,
body.home .fc-cta p,
body.home .wu-hero-right p,
body.home .wu-soft p,
body.home .wu-cta p,
body.home .wu-agent p,
body.home .wu-wallet p,
body.home .pc-soft p,
body.home .pc-cta p,
body.home .pc-price p,
body.home .pc-price-list > div,
body.home .gc-hero p,
body.home .gc-soft p,
body.home .gc-cta p,
body.home .gc-app p,
body.home .sm-section--soft p,
body.home .sm-cta p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

body.home .os-soft .os-accent,
body.home .mk-soft .mk-accent,
body.home .ec-soft .ec-accent {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}

/* White cards / panels / checks stay dark */
body.home .os-check,
body.home .os-features,
body.home .os-features *,
body.home .mk-type,
body.home .mk-type *,
body.home .mk-feature,
body.home .mc-card,
body.home .mc-card *,
body.home .mc-panel,
body.home .mc-panel *,
body.home .mc-list > div,
body.home .wa-card,
body.home .wa-card *,
body.home .mr-card,
body.home .mr-card *,
body.home .gc-benefit,
body.home .gc-benefit *,
body.home .mp-benefit,
body.home .mp-benefit *,
body.home .sm-card,
body.home .sm-card *,
body.home .sm-type,
body.home .sm-type *,
body.home .sm-ticks > div,
body.home .ec-card,
body.home .ec-card *,
body.home .ec-category,
body.home .ec-category *,
body.home .ec-product,
body.home .ec-product *,
body.home .jm-card,
body.home .jm-card *,
body.home .jm-price,
body.home .jm-price *,
body.home .jm-type,
body.home .jm-type *,
body.home .jm-sdk-card,
body.home .jm-sdk-card *,
body.home .fc-card,
body.home .fc-card *,
body.home .fc-point,
body.home .fc-point *,
body.home .wu-card,
body.home .wu-card *,
body.home .pc-card,
body.home .pc-card *,
body.home .pc-addon,
body.home .pc-addon *,
body.home .pc-price-box,
body.home .pc-price-box * {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

body.home .os-check,
body.home .mk-feature,
body.home .mc-card p,
body.home .mc-panel p,
body.home .mc-list > div,
body.home .wa-card p,
body.home .mr-card p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

body.home .mc-card h3,
body.home .mc-panel h3,
body.home .wa-card h3 {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}

/* FAQ accordion on any CMS dark page */
body.home .mc-faq .tt-acc-head,
body.home .mc-wrap .tt-acc-head,
body.home .mr-wrap .tt-acc-head,
body.home .os-wrap .tt-acc-head,
body.home .wa-wrap .tt-acc-head,
body.home .tt-acc-head {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255,255,255,0.18) !important;
}

body.home .mc-faq .tt-acc-body p,
body.home .mc-wrap .tt-acc-body p,
body.home .mr-wrap .tt-acc-body p,
body.home .tt-acc-body p {
    color: rgba(255,255,255,0.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.88) !important;
}

body.home .mc-faq .tt-acc-item,
body.home .mc-wrap .tt-acc-item,
body.home .tt-acc-item {
    border-color: rgba(255,255,255,0.15) !important;
}

body.home .tt-acc {
    border-color: rgba(255,255,255,0.15) !important;
}

/* Universal yellow CTA — Open an Account color */
body.home .os-btn a,
body.home .wa-btn a,
body.home .mc-btn a,
body.home .mr-btn a,
body.home .mk-btn a,
body.home .ec-btn a,
body.home .jm-btn a,
body.home .fc-btn a,
body.home .wu-btn a,
body.home .pc-btn a,
body.home .gc-btn a,
body.home .rt-btn a,
body.home .mp-btn a,
body.home .sm-btn a,
body.home .tt-btn a,
body.home .tt-ls-btn a,
body.home .yp-cmn--btn {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
    box-shadow: 0 4px 12px rgba(245, 184, 0, .28) !important;
    border: 0 !important;
}

body.home .os-btn a::after,
body.home .wa-btn a::after,
body.home .mc-btn a::after,
body.home .mr-btn a::after,
body.home .mk-btn a::after,
body.home .ec-btn a::after,
body.home .jm-btn a::after,
body.home .fc-btn a::after,
body.home .wu-btn a::after,
body.home .pc-btn a::after,
body.home .gc-btn a::after,
body.home .rt-btn a::after,
body.home .mp-btn a::after,
body.home .sm-btn a::after,
body.home .tt-btn a::after {
    color: var(--rp-ink, #1A1A1A) !important;
}

body.home .os-btn a:hover,
body.home .wa-btn a:hover,
body.home .mc-btn a:hover,
body.home .mr-btn a:hover,
body.home .mk-btn a:hover,
body.home .ec-btn a:hover,
body.home .jm-btn a:hover,
body.home .fc-btn a:hover,
body.home .wu-btn a:hover,
body.home .pc-btn a:hover,
body.home .gc-btn a:hover,
body.home .rt-btn a:hover,
body.home .mp-btn a:hover,
body.home .sm-btn a:hover,
body.home .tt-btn a:hover {
    filter: brightness(.96);
    color: var(--rp-ink, #1A1A1A) !important;
}

body.home .tt-acc-head::after,
body.home .mc-wrap .tt-acc-head::after,
body.home .os-check::before,
body.home .mk-feature::before,
body.home .wa-check::before {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* wa-check uses text checkmark — keep lime/yellow readable on dark */
body.home .wa-section .wa-check::before,
body.home .wa-soft .wa-check::before {
    color: var(--rp-yellow, #F5B800) !important;
    -webkit-text-fill-color: var(--rp-yellow, #F5B800) !important;
    background: transparent !important;
}

/* =========================================================
   SAFETY NET: light bands + white cards never stay white-on-white
   ========================================================= */
body.home .rt-section--alt,
body.home .rt-section--alt h2,
body.home .rt-section--alt h3,
body.home .rt-section--alt p,
body.home .rt-section--alt .rt-accent,
body.home .mp-section--soft,
body.home .mp-section--soft h2,
body.home .mp-section--soft h3,
body.home .mp-section--soft p,
body.home .mp-section--soft .mp-accent,
body.home .mp-cta,
body.home .mp-cta h2,
body.home .mp-cta p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
    opacity: 1 !important;
}
body.home .rt-section--alt p,
body.home .mp-section--soft p,
body.home .mp-cta p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .rt-features li,
body.home .rt-features li p,
body.home .rt-features li *:not(.rt-tick),
body.home .mp-check,
body.home .mp-check p,
body.home .mp-check *:not(.mp-tick),
body.home .mp-feature,
body.home .mp-feature *,
body.home .mp-benefit h3,
body.home .mp-benefit p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .rt-features li p,
body.home .mp-check p,
body.home .mp-benefit p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .rt-tick,
body.home .mp-tick {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* Ticktap Apps white surfaces — never white-on-white */
body.home .tt-ya-panel,
body.home .tt-ya-panel *,
body.home .tt-ya-mini,
body.home .tt-ya-mini *,
body.home .tt-ya-soft,
body.home .tt-ya-soft *,
body.home .tt-ya-card,
body.home .tt-ya-card *,
body.home .tt-ya-list li {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .tt-ya-panel p,
body.home .tt-ya-panel li,
body.home .tt-ya-mini p,
body.home .tt-ya-soft p,
body.home .tt-ya-soft li,
body.home .tt-ya-card p,
body.home .tt-ya-card li,
body.home .tt-ya-list li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .tt-ya-panel,
body.home .tt-ya-mini,
body.home .tt-ya-soft,
body.home .tt-ya-card {
    background: #fff !important;
}

/* Partner page safety net */
body.home .tt-pn-hero .tt-pn-h1,
body.home .tt-pn-split .tt-pn-h1,
body.home .tt-pn-band h2 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .tt-pn-hero > p,
body.home .tt-pn-split > div > p,
body.home .tt-pn-split > div > .tt-pn-list li {
    color: rgba(255,255,255,.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}
body.home .tt-pn-opp-item,
body.home .tt-pn-opp-item h3,
body.home .tt-pn-opp-item p,
body.home .tt-pn-perk,
body.home .tt-pn-perk h3,
body.home .tt-pn-perk p,
body.home .tt-pn-perk li,
body.home .tt-pn-ico {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .tt-pn-opp-item p,
body.home .tt-pn-perk p,
body.home .tt-pn-perk li {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .tt-pn-opp-item,
body.home .tt-pn-perk { background: #fff !important; }
body.home .tt-pn-ico {
    background: #E8F8EE !important;
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}
body.home .tt-pn-heart {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}

/* =========================================================
   Pricing (/pricing · pc-*) safety net
   - Hero is dark blue → white copy
   - Section titles on body green → white + lime accent
   - White cards / add-ons / price box → dark copy (beats .pc-section h3)
   ========================================================= */
body.home .pc-hero,
body.home .pc-hero h1,
body.home .pc-hero h2,
body.home .pc-hero p,
body.home .pc-hero-list > div {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}
body.home .pc-hero-list > div::before {
    color: var(--rp-yellow, #F5B800) !important;
}
body.home .pc-section > .pc-container > .pc-center h2,
body.home .pc-section > .pc-container > .pc-center > h2 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .pc-section > .pc-container > .pc-center .pc-accent,
body.home .pc-section > .pc-container > .pc-center > .pc-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .pc-section .pc-card,
body.home .pc-section .pc-card h3,
body.home .pc-section .pc-card p,
body.home .pc-section .pc-addon,
body.home .pc-section .pc-addon h3,
body.home .pc-section .pc-addon p,
body.home .pc-card,
body.home .pc-card h3,
body.home .pc-card p,
body.home .pc-addon,
body.home .pc-addon h3,
body.home .pc-addon p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .pc-section .pc-addon p,
body.home .pc-addon p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .pc-card,
body.home .pc-addon,
body.home .pc-price-box {
    background: #fff !important;
}
body.home .pc-price,
body.home .pc-price h2,
body.home .pc-price h3,
body.home .pc-price .pc-accent,
body.home .pc-price-number {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}
body.home .pc-price-list > div {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .pc-btn a {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* =========================================================
   Mobile Reload (/mobile-reload · mr-*) safety net
   Mixed page: light hero/soft/cta + dark sections + white cards/steps
   ========================================================= */
body.home .mr-hero,
body.home .mr-hero h2,
body.home .mr-hero h3,
body.home .mr-hero p,
body.home .mr-soft,
body.home .mr-soft h2,
body.home .mr-soft h3,
body.home .mr-soft p,
body.home .mr-cta,
body.home .mr-cta h2,
body.home .mr-cta h3,
body.home .mr-cta p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
    opacity: 1 !important;
}
body.home .mr-hero p,
body.home .mr-soft p,
body.home .mr-cta p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .mr-hero .mr-eyebrow,
body.home .mr-soft .mr-eyebrow,
body.home .mr-soft .mr-accent,
body.home .mr-section .mr-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .mr-section > .mr-container > h2,
body.home .mr-section > .mr-container > .mr-center h2,
body.home .mr-section > .mr-container > .mr-grid > div > h2,
body.home .mr-section > .mr-container > .mr-grid > div > p,
body.home .mr-section > .mr-container > .mr-grid > div > .mr-eyebrow {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .mr-section > .mr-container > .mr-grid > div > p {
    color: rgba(255,255,255,.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}
body.home .mr-section > .mr-container > .mr-grid > div > .mr-eyebrow,
body.home .mr-section .mr-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .mr-check {
    color: #263f4a !important;
    -webkit-text-fill-color: #263f4a !important;
    background: rgba(255,255,255,.85) !important;
}
body.home .mr-section .mr-card,
body.home .mr-section .mr-card h3,
body.home .mr-section .mr-card p,
body.home .mr-soft .mr-step,
body.home .mr-soft .mr-step h3,
body.home .mr-soft .mr-step p,
body.home .mr-step,
body.home .mr-step h3,
body.home .mr-step p,
body.home .mr-card,
body.home .mr-card h3,
body.home .mr-card p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .mr-section .mr-card p,
body.home .mr-soft .mr-step p,
body.home .mr-step p,
body.home .mr-card p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .mr-card,
body.home .mr-step {
    background: #fff !important;
}
body.home .mr-btn a {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}
body.home .mr-btn a::after {
    color: var(--rp-ink, #1A1A1A) !important;
}
body.home .mr-step::before,
body.home .mr-check::before {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* =========================================================
   GLOBAL CMS SAFETY NET (gc / sm / ec / wu / jm / fc / wa / mc)
   Light bands + white cards = dark; dark heroes/sections = white
   ========================================================= */

/* Gift Card — light bands */
body.home .gc-hero,
body.home .gc-hero h2,
body.home .gc-hero h3,
body.home .gc-hero p,
body.home .gc-soft,
body.home .gc-soft h2,
body.home .gc-soft h3,
body.home .gc-soft p,
body.home .gc-cta,
body.home .gc-cta h2,
body.home .gc-cta p,
body.home .gc-app,
body.home .gc-app h2,
body.home .gc-app h3,
body.home .gc-app p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
    opacity: 1 !important;
}
body.home .gc-hero p,
body.home .gc-soft p,
body.home .gc-cta p,
body.home .gc-app p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .gc-hero .gc-eyebrow,
body.home .gc-soft .gc-eyebrow,
body.home .gc-app .gc-eyebrow,
body.home .gc-soft .gc-accent {
    color: var(--rp-green, #0A3D2C) !important;
    -webkit-text-fill-color: var(--rp-green, #0A3D2C) !important;
}
body.home .gc-section > .gc-container > .gc-center h2,
body.home .gc-section > .gc-container > .gc-center p,
body.home .gc-section > .gc-container > .gc-grid > div > h2,
body.home .gc-section > .gc-container > .gc-grid > div > p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .gc-section > .gc-container > .gc-center p,
body.home .gc-section > .gc-container > .gc-grid > div > p {
    color: rgba(255,255,255,.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}
body.home .gc-section > .gc-container .gc-eyebrow,
body.home .gc-section .gc-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .gc-section .gc-benefit,
body.home .gc-section .gc-benefit h3,
body.home .gc-section .gc-benefit p,
body.home .gc-benefit,
body.home .gc-benefit h3,
body.home .gc-benefit p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .gc-section .gc-benefit p,
body.home .gc-benefit p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .gc-benefit { background: #fff !important; }
body.home .gc-benefit::before {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}
body.home .gc-btn a {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* Supported Merchants — light soft/cta; dark hero/section titles */
body.home .sm-section--soft,
body.home .sm-section--soft h2,
body.home .sm-section--soft h3,
body.home .sm-section--soft p,
body.home .sm-cta,
body.home .sm-cta h2,
body.home .sm-cta p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
}
body.home .sm-section--soft p,
body.home .sm-cta p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .sm-hero h2,
body.home .sm-hero p,
body.home .sm-section > .sm-container > .sm-head h2,
body.home .sm-section > .sm-container > h2 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .sm-hero p {
    color: rgba(255,255,255,.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}
body.home .sm-hero .sm-eyebrow,
body.home .sm-section .sm-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .sm-section .sm-card,
body.home .sm-section .sm-card h3,
body.home .sm-section .sm-card p,
body.home .sm-type,
body.home .sm-type p,
body.home .sm-ticks > div {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .sm-card,
body.home .sm-type { background: #fff !important; }

/* Ecommerce — dark hero (not light) */
body.home .ec-hero,
body.home .ec-hero h2,
body.home .ec-hero p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .ec-hero p {
    color: rgba(255,255,255,.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}
body.home .ec-section .ec-card,
body.home .ec-section .ec-card h3,
body.home .ec-section .ec-card p,
body.home .ec-category,
body.home .ec-category *,
body.home .ec-product,
body.home .ec-product * {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}

/* Why Us — split hero + dark wu-section (checks are list items, not white cards) */
body.home .wu-hero-left,
body.home .wu-hero-left h3,
body.home .wu-hero-left p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.home .wu-hero-left p {
    color: rgba(255,255,255,.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}
body.home .wu-section > .wu-container .wu-split > div > h2,
body.home .wu-section > .wu-container .wu-split > div > h3,
body.home .wu-section > .wu-container .wu-split > div > p,
body.home .wu-section .wu-check {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}
body.home .wu-section > .wu-container .wu-split > div > p,
body.home .wu-section .wu-check {
    color: rgba(255,255,255,.9) !important;
    -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}
body.home .wu-section .wu-accent {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .wu-section .wu-check {
    border-bottom-color: rgba(255,255,255,.18) !important;
}
body.home .wu-section .wu-check::before {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
body.home .wu-hero-right,
body.home .wu-hero-right h3,
body.home .wu-hero-right p,
body.home .wu-agent,
body.home .wu-agent h2,
body.home .wu-agent h3,
body.home .wu-agent p,
body.home .wu-wallet,
body.home .wu-wallet h2,
body.home .wu-wallet h3,
body.home .wu-wallet p {
    color: #043448 !important;
    -webkit-text-fill-color: #043448 !important;
}
body.home .wu-hero-right p,
body.home .wu-agent p,
body.home .wu-wallet p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}
body.home .wu-hero-right .wu-card,
body.home .wu-hero-right .wu-card span {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}
body.home .wu-hero-right .wu-card img {
    filter: brightness(0) saturate(100%) invert(17%) sepia(42%) saturate(1024%) hue-rotate(123deg) brightness(95%) contrast(97%) !important;
}
body.home .wu-hero-right .wu-card:hover img {
    filter: brightness(0) invert(1) !important;
}
body.home .wu-agent {
    background: #f5f7fa !important;
}
body.home .wu-wallet {
    background: linear-gradient(180deg, #E8F8EE 0%, #F3FBF6 55%, #EAF7F0 100%) !important;
}
body.home .wu-btn a {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
}

/* Join Merchant / Form Company white surfaces in dark sections */
body.home .jm-section .jm-card,
body.home .jm-section .jm-card h3,
body.home .jm-section .jm-card p,
body.home .jm-price,
body.home .jm-price *,
body.home .jm-type,
body.home .jm-type *,
body.home .jm-sdk-card,
body.home .jm-sdk-card *,
body.home .fc-section .fc-card,
body.home .fc-section .fc-card h3,
body.home .fc-section .fc-card p,
body.home .fc-point,
body.home .fc-point * {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .jm-price,
body.home .jm-type,
body.home .jm-sdk-card,
body.home .fc-point,
body.home .fc-card,
body.home .jm-card {
    background: #fff !important;
}

/* Merchant / Who-are-we — dark section titles already covered; re-assert cards */
body.home .mc-section .mc-card,
body.home .mc-section .mc-card h3,
body.home .mc-section .mc-card p,
body.home .mc-section .mc-panel,
body.home .mc-section .mc-panel h3,
body.home .mc-section .mc-panel p,
body.home .wa-section .wa-card,
body.home .wa-section .wa-card h3,
body.home .wa-section .wa-card p {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
    opacity: 1 !important;
}
body.home .mc-section .mc-card p,
body.home .mc-section .mc-panel p,
body.home .wa-section .wa-card p {
    color: #52646c !important;
    -webkit-text-fill-color: #52646c !important;
}

/* =========================================================
   Auth: Login / Register — contact-page fields, no white card
   ========================================================= */
body.tt-auth-page .navbar-section,
body.tt-auth-page .tt-navbar,
body.home:has(.account-section) .navbar-section,
body.home:has(.account-section) .tt-navbar {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
}

body.tt-auth-page header,
body.tt-auth-page .tt-site-header {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tt-auth-page .hero-section {
    display: none !important;
}

body.home .account-section,
body.home .account-section.bg--title {
    min-height: 0 !important;
    display: block !important;
    padding: 40px 0 72px !important;
    background:
        radial-gradient(ellipse 50% 60% at 15% 40%, rgba(57, 212, 106, 0.14) 0%, transparent 55%),
        linear-gradient(160deg, var(--rp-green-dark, #06281d) 0%, var(--rp-green, #0A3D2C) 50%, #0d4632 100%) !important;
    border-bottom: none !important;
    overflow: visible !important;
}

body.home .account-section > .container > .row {
    align-items: center !important;
    flex-wrap: wrap !important;
}

body.home .account__wrapper,
body.home .account__wrapper.bg--body {
    background: transparent !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 !important;
}

body.home .account-section .account-logo {
    display: none !important;
}

body.home .account-section .account-form,
body.home .account-section .form-check-label,
body.home .account-section .form-label,
body.home .account-section .account-form > .form--group:last-child {
    color: rgba(255, 255, 255, 0.85) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.85) !important;
}

/* Label above input (DOM is input then label) */
body.home .account-section .form--group:has(.form--label) {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 0;
}
body.home .account-section .form--label,
body.home .account-section .contact-label {
    order: 1;
}
body.home .account-section .form--group:has(.form--label) > .form--control,
body.home .account-section .form--group:has(.form--label) > .form-control,
body.home .account-section .form--group:has(.form--label) > .input-group,
body.home .account-section .form--group:has(.form--label) > .tt-phone-group,
body.home .account-section .form--group:has(.form--label) > .tt-phone-field {
    order: 2;
}
body.home .account-section .form--group:has(.form--label) > .invalid-feedback,
body.home .account-section .form--group:has(.form--label) > .text-danger {
    order: 3;
}

body.home .account-section .form--label,
body.home .account-section .contact-label {
    position: static !important;
    transform: none !important;
    height: auto !important;
    line-height: 1.3 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.85) !important;
    cursor: default;
    pointer-events: none;
    margin-bottom: 0 !important;
}

body.home .account-section .form--control,
body.home .account-section .form-control,
body.home .account-section select.form--control,
body.home .account-section .contact-control {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(57, 212, 106, 0.28) !important;
    border-radius: 8px !important;
    height: 50px !important;
    padding: 10px 14px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: none !important;
}

body.home .account-section .form--control:focus,
body.home .account-section .form-control:focus,
body.home .account-section select.form--control:focus {
    border-color: var(--rp-lime, #39D46A) !important;
    box-shadow: 0 0 0 3px rgba(57, 212, 106, 0.16) !important;
    outline: none !important;
}

body.home .account-section .form-control::placeholder,
body.home .account-section .form--control::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}

body.home .account-section .form-control:-webkit-autofill,
body.home .account-section .form-control:-webkit-autofill:hover,
body.home .account-section .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px var(--rp-green, #0A3D2C) inset !important;
    box-shadow: 0 0 0 1000px var(--rp-green, #0A3D2C) inset !important;
    transition: background-color 99999s ease-in-out 0s;
}

body.home .account-section .input-group {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
}

body.home .account-section .input-group .form-control,
body.home .account-section .input-group .form--control {
    height: 50px !important;
}

body.home .account-section .input-group-text {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(57, 212, 106, 0.28) !important;
    color: #fff !important;
}

body.home .account-section .tt-phone-select-src {
    display: none !important;
}
body.home .account-section .tt-phone-field {
    display: flex;
    align-items: stretch;
    position: relative;
    height: 50px;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(57, 212, 106, 0.28);
    border-radius: 8px;
}
body.home .account-section .tt-phone-field.is-open,
body.home .account-section .tt-phone-field:focus-within {
    border-color: var(--rp-lime, #39D46A);
    box-shadow: 0 0 0 3px rgba(57, 212, 106, 0.16);
}
body.home .account-section .tt-phone-field.is-open {
    z-index: 40;
}
body.home .account-section .tt-phone-code {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #fff;
    padding: 0 12px 0 14px;
    cursor: pointer;
    white-space: nowrap;
}
body.home .account-section .tt-phone-iso {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 20px;
    padding: 0 5px;
    border-radius: 4px;
    background: rgba(57, 212, 106, 0.16);
    color: var(--rp-lime, #39D46A);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
body.home .account-section .tt-phone-dial {
    font-weight: 700;
    font-size: 14px;
    color: #fff;
}
body.home .account-section .tt-phone-caret {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.7);
    margin-left: 2px;
}
body.home .account-section .tt-phone-divider {
    width: 1px;
    margin: 10px 0;
    background: rgba(57, 212, 106, 0.28);
    flex: 0 0 1px;
}
body.home .account-section .tt-phone-input,
body.home .account-section .tt-phone-field .form-control {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    height: 50px !important;
    flex: 1 1 auto;
    min-width: 0;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 10px 14px 10px 12px !important;
}
body.home .account-section .tt-phone-menu[hidden] {
    display: none !important;
}
body.home .account-section .tt-phone-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: min(100%, 380px);
    background: var(--rp-green-dark, #06281d);
    border: 1px solid rgba(57, 212, 106, 0.28);
    border-radius: 10px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
    z-index: 30;
    overflow: hidden;
}
body.home .account-section .tt-phone-search {
    width: 100%;
    height: 42px;
    border: 0;
    border-bottom: 1px solid rgba(57, 212, 106, 0.2);
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    padding: 0 14px;
    outline: none;
}
body.home .account-section .tt-phone-list {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    max-height: 220px;
    overflow-y: auto;
}
body.home .account-section .tt-phone-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 14px;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
}
body.home .account-section .tt-phone-item:hover,
body.home .account-section .tt-phone-item.is-active {
    background: rgba(57, 212, 106, 0.16);
}
body.home .account-section .tt-phone-item-dial {
    color: var(--rp-lime, #39D46A);
    font-weight: 700;
    white-space: nowrap;
}
body.home .account-section .tt-phone-empty {
    padding: 12px 14px;
    color: rgba(255, 255, 255, 0.55);
}

body.home .account-section .form-check-input {
    border-color: rgba(57, 212, 106, 0.45) !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
}

body.home .account-section .form-check-input:checked {
    background-color: var(--rp-lime, #39D46A) !important;
    border-color: var(--rp-lime, #39D46A) !important;
}

body.home .account-section .text--base {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
    font-weight: 600;
}

body.home .account-section .text--base:hover {
    color: var(--rp-yellow, #F5B800) !important;
    -webkit-text-fill-color: var(--rp-yellow, #F5B800) !important;
}

body.home .account-section .cmn--btn,
body.home .account-section .cmn--btn.text--white {
    background: var(--rp-yellow, #F5B800) !important;
    color: var(--rp-ink, #1A1A1A) !important;
    -webkit-text-fill-color: var(--rp-ink, #1A1A1A) !important;
    border: 0 !important;
    box-shadow: 0 4px 12px rgba(245, 184, 0, 0.28) !important;
}

body.home .account-section .section__title.text--white,
body.home .account-section .section__title.text--white h3,
body.home .account-section .section__title.text--white p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body.home .account-section .section__title.text--white .section__cate {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}

body.home .account-section .invalid-feedback,
body.home .account-section .text-danger {
    color: #dc3545 !important;
}

/* =========================================================
   Dark-page titles: never stay black/title-clr on green bg
   ========================================================= */
body.home .hero-section.tt-dark-section .hero-breadcrumb .title,
body.home .hero-section.tt-dark-section .hero-breadcrumb .breadcrumb,
body.home .hero-section.tt-dark-section .hero-breadcrumb .breadcrumb a,
body.home .hero-section.tt-dark-section .hero-breadcrumb .breadcrumb li,
body.home .tt-dark-section > .container > h1,
body.home .tt-dark-section > .container > h2,
body.home .tt-dark-section > .container > .common-title h3,
body.home .tt-dark-section > .container > .section__title,
body.home .ff-page .ff-heading h1,
body.home .ff-page .ff-heading h2,
body.home .ff-page .ff-heading p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}
body.home .ff-page .ff-heading > span,
body.home .tt-dark-section .section__cate {
    color: var(--rp-lime, #39D46A) !important;
    -webkit-text-fill-color: var(--rp-lime, #39D46A) !important;
}
/* White form cards keep dark labels */
body.home .ff-form-card,
body.home .ff-form-card label,
body.home .ff-form-card p,
body.home .ff-field label {
    color: #101114 !important;
    -webkit-text-fill-color: #101114 !important;
}
