/* ==========================================================================
   ChainPeak — theme layer
   Loaded after style.css and the blue skin. Two jobs:
     1. polish the parts of the template the new content changed
        (package cards, feature grid, headings, logo sizing)
     2. a proper mobile layout: the template's phone view was cramped and
        left real UI problems (clipped hero button, huge empty sections,
        one plan per screen, oversized photos, no live prices)
   ========================================================================== */

:root {
    --cp-blue: #0095eb;
    --cp-blue-dark: #0072b8;
    --cp-cyan: #21b6ff;
    --cp-ink: #111111;
    --cp-panel: #1a1a1a;
    --cp-line: rgba(255, 255, 255, .10);
    --cp-muted: #9aa4ae;
    --cp-green: #3ecf8e;
    --cp-red: #ff6b6b;
}

/* ---------------------------------------------------------------- brand ---- */

#logo {
    max-width: 235px;
}

#logo-mobile {
    max-width: 196px;
}

/* live price chip, only shown on phones */
.uc-nav-price {
    display: none;
}

.uc-nav-auth {
    display: none;
}

/* --------------------------------------------------- headings & spacing ---- */

.title-head {
    letter-spacing: .5px;
}

.title-head-subtitle p {
    letter-spacing: 1.5px;
}

/* ---------------------------------------------------------- feature grid ---- */

.features .feature-box,
.features-and-video .feature {
    padding-top: 10px;
    padding-bottom: 10px;
}

.feature-title {
    letter-spacing: .5px;
}

/* --------------------------------------------------------- package cards ---- */
/* The category grid in the template was built for "buy / sell" toggles with a
   fixed header height and 120px price digits. The cards below carry more copy
   now (plan name, rate, term) and are re-drawn as compact pricing cards. */

.pricing-tables-content .pricing-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: -12px;
    margin-right: -12px;
}

.pricing-tables-content .pricing-list > li {
    float: none;
    padding: 12px;
    display: flex;
}

.pricing-wrapper {
    width: 100%;
    position: static !important;
    transform: none !important;
    -webkit-transform: none !important;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pricing-wrapper > li,
.pricing-wrapper > li.is-hidden,
.pricing-wrapper > li.is-visible {
    position: static !important;
    display: block !important;
    transform: none !important;
    -webkit-transform: none !important;
    opacity: 1 !important;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, .035);
    border: 1px solid var(--cp-line);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    display: flex !important;
    flex-direction: column;
    height: 100%;
}

.pricing-wrapper > li:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(0, 149, 235, .55);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .38);
}

.pricing-header {
    height: auto !important;
    line-height: 1.45 !important;
    padding: 26px 22px 18px !important;
    text-align: center;
    background: transparent !important;
}

.pricing-header h2 {
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    line-height: 1.4 !important;
    color: #fff !important;
}

.pricing-header h2 span {
    display: block;
    padding-top: 4px !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--cp-muted) !important;
}

.pricing-header .price {
    margin: 14px 0 0 !important;
    position: static !important;
    color: #fff;
    line-height: 1.1;
}

.pricing-header .currency {
    font-size: 20px !important;
    font-weight: 600 !important;
    vertical-align: top;
    color: var(--cp-cyan);
}

.pricing-header .value {
    font-size: 40px !important;
    font-weight: 800 !important;
    letter-spacing: -1px;
}

.pricing-detail {
    margin: 12px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    letter-spacing: .3px;
    color: var(--cp-muted);
    text-transform: uppercase;
}

.pricing-footer {
    margin-top: auto;
    padding: 0 22px 24px !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
}

.pricing-footer a,
.pricing-footer .btn {
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.6 !important;
    padding: 13px 16px !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 1.5px;
    border-radius: 4px;
}

/* the plan-type tabs above the cards */
.pricing .nav-tabs {
    border: 0;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 28px;
}

.pricing .nav-tabs > li {
    float: none;
}

.pricing .nav-tabs > li > a {
    border: 1px solid var(--cp-line) !important;
    border-radius: 100px !important;
    padding: 11px 26px !important;
    margin: 0 !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--cp-muted);
    background: transparent;
}

.pricing .nav-tabs > li.active > a {
    background: var(--cp-blue) !important;
    border-color: var(--cp-blue) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------- sections ---- */

.facts .fact h3 {
    letter-spacing: -1px;
}

.call-action-all .action-text h2 {
    letter-spacing: .5px;
}

/* chart block (our own SVG, not the old bitcoin.com widget) */
/* The chart column carried a light grey box with the template's photo behind
   it; a navy panel matches the security band and the footer, and gives the
   chart's own background nothing to fight with. */
.bg-grey-chart {
    background: #0f2136;
    background-image: none;
}

.uc-chart-fallback {
    display: block;
    width: 100%;
    max-width: 720px;
    height: auto;
    margin: 0 auto;
    border-radius: 8px;
}

.uc-chart {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cp-muted);
    font-size: 13px;
}

/* ------------------------------------------------- sticky bottom action ---- */

.uc-mobile-bar {
    display: none;
}



/* -------------------------------------------------------------------- hero ---- */
/* The template centres slides with position:absolute plus a negative margin and
   a fixed slide height, which clips longer headlines. The content is put back
   in flow so the slide grows with its content at every screen size. */

#main-slide,
#main-slide .carousel-inner {
    height: auto !important;
}

#main-slide .item {
    min-height: 520px;
    height: auto !important;
}

#main-slide .item.active {
    display: flex;
    align-items: center;
}

#main-slide .carousel-inner > .item:not(.active) {
    display: none !important;
}

#main-slide .slider-content,
#main-slide .item .slider-content {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin-top: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
    display: block !important;
    width: 100%;
    height: auto !important;
    padding: 70px 0 64px;
}

#main-slide .slider-text .btn.slider,
#main-slide .slider-text .btn {
    color: #fff !important;
    background: var(--cp-blue) !important;
    border: 1px solid var(--cp-blue) !important;
    border-radius: 5px;
    padding: 15px 34px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

#main-slide .slider-text .btn:hover {
    background: var(--cp-blue-dark) !important;
    border-color: var(--cp-blue-dark) !important;
}

/* --------------------------------------------------------------- hero copy ---- */

#main-slide .slide-sub {
    max-width: 620px;
    margin: 0 auto 22px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .82);
}

#main-slide .slide-trust {
    list-style: none;
    /* bottom margin matters: the chips used to end flush against the bottom
       edge of the slide, which read as a clipped button on phones */
    margin: 26px auto 30px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

#main-slide .slide-trust li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 100px;
    background: rgba(255, 255, 255, .05);
    font-size: 12px;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #fff;
}

#main-slide .slide-trust li:before {
    content: "\2713";
    color: var(--cp-cyan);
    font-size: 12px;
}

/* ------------------------------------------------------------ page tint ----
   The template's banner / call-to-action photos are heavy gold bitcoin
   imagery; a blue-tinted overlay keeps the pages inside the ChainPeak
   palette without touching the template files. */

.banner-area {
    background-color: #0a1524;
    background-blend-mode: multiply;
}

.banner-area .banner-overlay,
.banner-area .banner-text {
    background-color: rgba(8, 20, 34, .80);
}

.call-action-all .call-action-all-overlay {
    background-color: rgba(8, 20, 34, .84);
}

.facts {
    background-image: none;
    background-color: #0d1b2a;
}

.facts:after,
.facts:before {
    border-bottom-color: #0d1b2a !important;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 991px) {
    .pricing-wrapper > li {
        min-height: 100%;
    }
}

@media (max-width: 767px) {

    /* ---------- base ---------- */
    html,
    body {
        overflow-x: hidden;
    }

    body {
        -webkit-text-size-adjust: 100%;
        padding-bottom: 62px; /* room for the sticky action bar */
    }

    .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .btn,
    a.btn,
    button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        -webkit-tap-highlight-color: transparent;
    }

    /* ---------- header ---------- */
    .header {
        padding-bottom: 0;
    }

    .header .row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    /* On phones the account buttons move into the slide-out menu, so the
       page opens straight onto the hero instead of two stacked blocks. */
    .header .main-logo {
        display: none;
    }

    .header ul.user {
        display: none;
    }

    .header ul.user > li {
        flex: 1 1 0;
        float: none;
        width: auto;
        margin: 0;
        padding: 0;
    }

    .header ul.user > li > a.btn {
        width: 100%;
        padding: 9px 6px !important;
        font-size: 11.5px;
        letter-spacing: .8px;
        text-transform: uppercase;
        border-radius: 4px;
    }

    .bitcoin-stats {
        display: none !important;
    }

    /* ---------- fixed navigation ---------- */
    .site-navigation,
    .site-navigation.fixed {
        padding: 4px 0;
        background: rgba(17, 17, 17, .96);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    /* the bar is one row: logo + price chip + hamburger, with the slide-out
       menu wrapping onto its own full-width line underneath */
    .site-nav-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 0 4px;
    }

    .site-nav-inner .logo-mobile {
        margin: 0;
        padding: 0;
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
    }

    #logo-mobile {
        max-width: 158px;
        height: auto;
    }

    .navbar-toggle {
        float: none !important;
        flex: 0 0 auto;
        display: inline-flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        width: 44px;
        height: 44px;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 6px;
        background: rgba(255, 255, 255, .07);
        border: 1px solid var(--cp-line);
        cursor: pointer;
    }

    .navbar-toggle .icon-bar {
        display: block !important;
        float: none !important;
        width: 22px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #fff !important;
        border-radius: 2px;
    }

    /* account buttons in the slide-out menu */
    .uc-nav-auth {
        display: flex;
        flex: 0 0 100%;
        width: 100%;
        gap: 10px;
        padding: 14px 6px 20px;
        border-top: 1px solid rgba(255, 255, 255, .06);
        margin-top: 6px;
    }

    .uc-nav-auth a {
        flex: 1 1 0;
        font-size: 11.5px;
        letter-spacing: .8px;
        text-transform: uppercase;
        padding: 12px 8px !important;
        border-radius: 5px;
    }

    /* live price chip inside the bar */
    .uc-nav-price {
        display: inline-flex;
        flex: 0 0 auto;
        min-width: 0;
        align-items: center;
        gap: 6px;
        margin-left: auto;
        margin-right: 8px;
        padding: 6px 9px;
        border: 1px solid var(--cp-line);
        border-radius: 100px;
        background: rgba(255, 255, 255, .04);
        font-size: 11.5px;
        line-height: 1;
        white-space: nowrap;
        color: #fff;
    }

    .uc-nav-price b {
        font-weight: 700;
        color: #fff;
    }

    .uc-nav-price .uc-nav-change {
        color: var(--cp-muted);
    }

    .uc-nav-price .uc-nav-change.up {
        color: var(--cp-green);
    }

    .uc-nav-price .uc-nav-change.down {
        color: var(--cp-red);
    }

    .navbar-collapse {
        flex: 0 0 100%;
        width: 100% !important;
        float: none !important;
        background: #111;
        border-top: 1px solid #222;
        border-bottom: 0;
        max-height: 78vh;
        overflow-y: auto;
        padding: 0 !important;
        text-align: left;
    }

    .navbar-collapse ul.navbar-nav {
        float: none !important;
        width: 100%;
        margin: 6px 0 12px;
        border: 0;
        text-align: left;
    }

    .navbar-collapse ul.navbar-nav > li {
        float: none !important;
        width: 100% !important;
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, .06);
    }

    .navbar-collapse ul.navbar-nav > li > a {
        display: block;
        text-align: left;
    }

    .navbar-collapse ul.navbar-nav > li:last-child {
        border-bottom: 0;
    }

    .navbar-collapse ul.navbar-nav > li > a {
        padding: 15px 6px !important;
        font-size: 13.5px;
        font-weight: 600;
        letter-spacing: 1.4px;
    }

    .navbar-collapse ul.navbar-nav > li.active > a,
    .navbar-collapse ul.navbar-nav > li > a:active {
        color: var(--cp-cyan) !important;
    }

    .navbar-collapse ul.navbar-nav > li > a.dropdown-toggle .fa {
        float: right;
        margin-top: 3px;
    }

    .navbar-collapse .dropdown-menu {
        background: #171717;
        border: 0;
        box-shadow: none;
        padding: 4px 0;
    }

    .navbar-collapse .dropdown-menu > li > a {
        padding: 12px 22px !important;
        font-size: 12.5px;
        color: var(--cp-muted) !important;
    }

    .navbar-collapse ul.navbar-nav > li.search {
        display: none;
    }

    /* ---------- hero ---------- */
    #main-slide .item {
        min-height: 380px;
    }

    #main-slide .slider-content {
        padding: 54px 0 44px;
    }

    #main-slide .slider-content .slider-text {
        padding: 0 4px;
    }

    #main-slide .slide-sub {
        font-size: 13.5px;
        line-height: 1.65;
        margin-bottom: 18px;
    }

    #main-slide .slide-trust {
        margin: 20px auto 26px;
        gap: 8px;
    }

    #main-slide .slide-trust li {
        padding: 7px 12px;
        font-size: 10.5px;
    }

    #main-slide .slider-content h3,
    .slide-title {
        font-size: 27px !important;
        line-height: 1.22 !important;
        letter-spacing: -.3px;
        margin-bottom: 18px;
    }

    #main-slide .carousel-indicators {
        display: none;
    }

    #main-slide .carousel-control {
        display: none;
    }

    #main-slide .slider-text .btn,
    .slider-text .btn {
        width: auto;
        min-width: 200px;
        padding: 14px 26px !important;
    }

    /* ---------- section rhythm ---------- */
    .features,
    .about,
    .features-and-video,
    .pricing,
    .bitcoin-calculator-section,
    .team,
    .blog,
    .facts,
    .faq,
    .terms-of-services,
    .about-page,
    .contact-page,
    .services,
    .banner-area,
    .call-action-all {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .about-page,
    .faq,
    .contact-page {
        padding-top: 34px !important;
    }

    .title-head {
        font-size: 26px !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
    }

    .title-head-subtitle {
        margin-top: 10px;
    }

    .title-head-subtitle p {
        font-size: 11.5px;
        letter-spacing: 1.2px;
        line-height: 1.7;
    }

    /* ---------- top three feature boxes ---------- */
    .features.text-center .feature-box {
        margin-bottom: 14px;
        padding: 22px 18px;
        border: 1px solid var(--cp-line);
        border-radius: 8px;
        background: rgba(255, 255, 255, .03);
    }

    .feature-box .feature-icon {
        margin-bottom: 10px;
    }

    .feature-box .feature-icon img {
        max-width: 46px;
    }

    .feature-box .feature-box-content h3 {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .feature-box .feature-box-content p {
        font-size: 13px;
        line-height: 1.65;
    }

    /* ---------- about / mission tabs ---------- */
    .about img.img-about-us {
        max-width: 230px;
        margin: 0 auto 22px;
    }

    .about .feature-about h3.title-about {
        font-size: 22px;
        letter-spacing: .4px;
        line-height: 1.3;
    }

    .about .feature-about p,
    .about-text {
        font-size: 13.5px;
        line-height: 1.8;
    }

    .about-content ul.nav.nav-tabs {
        display: flex;
        flex-direction: column;
        border: 0;
        margin-top: 20px;
    }

    .about-content ul.nav.nav-tabs > li {
        float: none;
        width: 100%;
        margin-bottom: 8px;
    }

    .about-content ul.nav.nav-tabs > li > a {
        border-radius: 6px !important;
        padding: 14px 16px !important;
        font-size: 12.5px;
        letter-spacing: 1.5px;
        text-align: left;
    }

    .tab-content p {
        font-size: 13.5px;
        line-height: 1.8;
    }

    /* ---------- six-feature grid ---------- */
    .features-and-video .feature {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        text-align: left;
        padding: 14px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .06);
    }

    .features-and-video .feature:last-child {
        border-bottom: 0;
    }

    .features-and-video .feature .feature-icon {
        flex: 0 0 44px;
    }

    .features-and-video .feature .feature-icon img {
        max-width: 44px;
    }

    .features-and-video .feature h3.feature-title {
        font-size: 14px;
        letter-spacing: 1.2px;
        margin: 2px 0 5px;
    }

    .features-and-video .feature p {
        font-size: 13px;
        line-height: 1.6;
        margin: 0;
    }

    /* ---------- video block ---------- */
    .features-and-video .video {
        margin-top: 26px;
        min-height: 190px;
    }

    /* ---------- packages ---------- */
    .pricing-tables-content .pricing-list {
        margin-left: -10px;
        margin-right: -10px;
    }

    .pricing-tables-content .pricing-list > li {
        width: 100% !important;
        float: none !important;
        padding: 10px;
    }

    .pricing-wrapper > li {
        padding: 0;
    }

    .pricing-header {
        padding: 22px 18px 14px !important;
    }

    .pricing-header .value {
        font-size: 34px !important;
    }

    .pricing-detail {
        font-size: 11.5px;
        margin-top: 10px;
    }

    .pricing-footer {
        padding: 0 18px 20px !important;
    }

    .pricing .nav-tabs {
        gap: 8px;
        margin-bottom: 22px;
    }

    .pricing .nav-tabs > li {
        flex: 1 1 0;
    }

    .pricing .nav-tabs > li > a {
        padding: 12px 8px !important;
        font-size: 11px;
        text-align: center;
    }

    /* ---------- facts strip ---------- */
    .facts .facts-content .fact {
        border-bottom: 1px solid rgba(255, 255, 255, .08);
        padding: 16px 8px;
    }

    .facts .facts-content .fact h3 {
        font-size: 26px;
        margin-bottom: 2px;
    }

    .facts .facts-content .fact h4 {
        font-size: 11.5px;
        letter-spacing: 1.5px;
    }

    /* ---------- calculator ---------- */
    .bitcoin-calculator {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .bitcoin-calculator .form-input {
        width: 100% !important;
        max-width: 100%;
        font-size: 15px;
        padding: 13px 16px !important;
    }

    .bitcoin-calculator .form-info,
    .bitcoin-calculator .form-equal {
        display: none;
    }

    .bitcoin-calculator .form-wrap {
        width: 100%;
        max-width: 100%;
    }

    .bitcoin-calculator-section .info {
        font-size: 11.5px;
    }

    /* ---------- team ---------- */
    .team-members > div {
        width: 50% !important;
        float: left !important;
    }

    .team-member {
        margin-bottom: 14px;
        border-radius: 6px;
        overflow: hidden;
    }

    .team-member img {
        width: 100%;
        height: 190px;
        object-fit: cover;
        object-position: center 18%;
    }

    .team-member-caption {
        padding: 12px 10px 14px !important;
    }

    .team-member-caption h4 {
        font-size: 13.5px;
        margin-bottom: 2px;
    }

    .team-member-caption p {
        font-size: 11px;
        letter-spacing: 1px;
        margin-bottom: 8px;
    }

    .team-member-caption .social li a {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }

    /* ---------- quote + chart ---------- */
    .img-block-quote {
        padding: 26px 18px !important;
    }

    blockquote {
        padding: 22px 18px !important;
        font-size: 14px;
    }

    blockquote p {
        font-size: 13.5px !important;
        line-height: 1.8;
    }

    .uc-chart {
        min-height: 190px;
    }

    .uc-chart svg {
        height: 190px !important;
    }

    .bg-grey-chart,
    .chart-widget {
        padding: 22px 14px !important;
    }

    /* ---------- services, faq, contact, terms ---------- */
    .service-box > div {
        margin-bottom: 16px;
    }

    .service-box .service-box-content h3 {
        font-size: 16px;
    }

    .service-box .service-box-content p {
        font-size: 13.5px;
        line-height: 1.75;
    }

    .panel-group .panel-title > a {
        font-size: 13.5px;
        line-height: 1.6;
        padding: 16px 44px 16px 16px !important;
    }

    .panel-group .panel-body {
        font-size: 13.5px;
        line-height: 1.8;
        padding: 4px 16px 18px !important;
    }

    .widget {
        margin-bottom: 24px;
        padding: 20px 18px !important;
    }

    .contact-info-box {
        display: flex;
        gap: 14px;
        padding: 14px 0;
    }

    .contact-info-box .big-icon {
        font-size: 20px;
        width: 42px;
        height: 42px;
        line-height: 42px;
        flex: 0 0 42px;
    }

    .contact-info-box-content h4 {
        font-size: 13px;
        letter-spacing: 1.2px;
        margin-bottom: 4px;
    }

    .contact-info-box-content p {
        font-size: 13px;
        line-height: 1.6;
    }

    .form-contact .form-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .form-contact .form-control {
        height: 48px;
        font-size: 13.5px;
    }

    .form-contact textarea.form-control {
        height: 140px;
    }

    .form-contact button.btn-contact {
        width: 100%;
    }

    .terms-of-services h3 {
        font-size: 16px;
        margin-top: 26px;
    }

    .terms-of-services p {
        font-size: 13.5px;
        line-height: 1.85;
    }

    /* ---------- cta + footer ---------- */
    .call-action-all .action-text h2 {
        font-size: 24px !important;
        line-height: 1.3;
    }

    .call-action-all .action-text p.lead {
        font-size: 13.5px;
        line-height: 1.7;
    }

    .call-action-all .action-btn .btn-primary {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }

    .footer .top-footer {
        padding-top: 34px;
    }

    .footer .top-footer .widget,
    .footer .top-footer > div {
        margin-bottom: 26px;
    }

    .footer h4,
    .footer .widget-title {
        font-size: 12.5px;
        letter-spacing: 2px;
        margin-bottom: 12px;
    }

    .footer .menu ul,
    .footer ul.menu {
        display: flex;
        flex-wrap: wrap;
        column-gap: 22px;
    }

    .footer .menu ul li,
    .footer ul.menu li {
        width: calc(50% - 11px);
    }

    .footer .menu ul li a,
    .footer ul.menu li a {
        font-size: 12.5px;
        line-height: 2.1;
    }

    .footer .contacts .contact > div span,
    .footer .contacts > div span {
        font-size: 12.5px;
        line-height: 1.7;
    }

    .payment-logos {
        text-align: center;
        padding-top: 8px;
    }

    .payment-logos img {
        margin: 4px 5px;
    }

    .footer .bottom-footer {
        padding: 14px 0 18px;
    }

    .footer .bottom-footer p {
        font-size: 12px;
        text-align: center;
    }

    /* keep the theme's back-to-top above our sticky bar */
    .back-to-top,
    .show-back-to-top {
        bottom: 74px !important;
        right: 14px !important;
    }

    /* ---------- sticky action bar ---------- */
    .uc-mobile-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 14px;
        padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
        background: rgba(12, 12, 12, .97);
        border-top: 1px solid rgba(255, 255, 255, .09);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }

    .uc-mobile-bar a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        font-size: 11.5px;
        font-weight: 700;
        border-radius: 5px;
        padding: 13px 12px;
        min-height: 46px;
    }

    .uc-mobile-bar a.uc-bar-link {
        flex: 0 0 40%;
        color: #fff;
        border: 1px solid rgba(255, 255, 255, .18);
    }

    .uc-mobile-bar a.uc-bar-cta {
        flex: 1 1 auto;
        color: #fff;
        background: var(--cp-blue);
        border: 1px solid var(--cp-blue);
    }

    .uc-mobile-bar a.uc-bar-cta:active {
        background: var(--cp-blue-dark);
    }
}

/* very small phones */
@media (max-width: 360px) {
    #logo-mobile {
        max-width: 118px;
    }

    .uc-nav-price {
        font-size: 10.5px;
        padding: 5px 8px;
        gap: 5px;
    }

    #main-slide .slider-content h3,
    .slide-title {
        font-size: 24px !important;
    }

    .team-member img {
        height: 160px;
    }

    .header ul.user > li > a.btn {
        font-size: 10.5px;
    }
}

/* light surfaces (the template ships a "light" body class for the dashboard) */
body.light .pricing-wrapper > li {
    background: #fff;
    border-color: #e6e9ee;
}

body.light .pricing-header h2,
body.light .pricing-header .price,
body.light .pricing-header .value {
    color: #16202b !important;
}

body.light .pricing-header h2 span,
body.light .pricing-detail {
    color: #6b7684 !important;
}

/* ==========================================================================
   WHITE NAV BAR
   The pattern from the previous landing page: the sub nav is white, the logo
   sits on the left and the links run along the right side.
   ========================================================================== */

@media (min-width: 768px) {

    .site-navigation,
    .site-navigation.fixed {
        background: #fff;
        border-bottom: 1px solid #e9edf2;
    }

    .site-navigation .site-nav-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        background: #fff;
        padding: 0 15px;
        text-align: right;
        border-bottom: 1px solid #e9edf2;
    }

    /* logo on the left of the white bar */
    .site-nav-inner .logo-mobile {
        display: block !important;
        float: none;
        flex: 0 0 auto;
        padding: 8px 0;
        margin: 0;
    }

    #logo-mobile {
        max-width: 158px;
        height: auto;
    }

    .site-navigation .navbar-collapse {
        flex: 1 1 auto;
        padding: 0;
        border: 0;
    }

    /* links along the right */
    .site-navigation ul.nav.navbar-nav {
        float: right;
        display: block;
    }

    .site-navigation.fixed ul.navbar-nav {
        background: #fff;
        border-bottom: 1px solid #e9edf2;
        text-align: right;
        padding-right: 15px;
    }

    ul.navbar-nav > li > a {
        color: #16202b;
    }

    ul.navbar-nav > li:hover > a,
    ul.navbar-nav > li.active > a {
        color: var(--cp-blue);
    }

    ul.navbar-nav > li:hover > a:after,
    ul.navbar-nav > li.active > a:after {
        background: var(--cp-blue);
    }

    .navbar-nav > li > .dropdown-menu {
        background: #fff;
        border: 1px solid #e9edf2;
        box-shadow: 0 12px 26px rgba(15, 27, 38, .10);
        border-radius: 0 0 4px 4px;
    }

    .navbar-nav > li > .dropdown-menu a {
        color: #4a5563;
        background: transparent;
    }

    .navbar-nav > li > .dropdown-menu a:hover,
    .navbar-nav > li > .dropdown-menu > .active > a {
        color: var(--cp-blue);
        background: #f5f8fb;
    }

    .navbar-nav .fa-search {
        color: #16202b;
    }
}

/* the same white bar on phones: white background, dark links, dark hamburger */
@media (max-width: 767px) {

    .site-navigation,
    .site-navigation.fixed {
        background: #fff;
        border-bottom: 1px solid #e9edf2;
        box-shadow: 0 4px 14px rgba(15, 27, 38, .07);
    }

    .navbar-toggle {
        background: #f4f7fa;
        border-color: #e2e8ef;
    }

    .navbar-toggle .icon-bar {
        background: #16202b !important;
    }

    .navbar-collapse {
        background: #fff;
        border-top: 1px solid #eef2f6;
    }

    .navbar-collapse ul.navbar-nav > li {
        border-bottom: 1px solid #eef2f6;
    }

    .navbar-collapse ul.navbar-nav > li > a {
        color: #16202b;
    }

    .navbar-collapse ul.navbar-nav > li.active > a,
    .navbar-collapse ul.navbar-nav > li > a:active {
        color: var(--cp-blue) !important;
    }

    .navbar-collapse .dropdown-menu {
        background: #f7f9fc;
    }

    .navbar-collapse .dropdown-menu > li > a {
        color: #4a5563 !important;
    }

    .navbar-collapse .dropdown-menu > li > a:hover {
        color: var(--cp-blue) !important;
    }

    /* live price chip on the white bar */
    .uc-nav-price {
        background: #f4f7fa;
        border-color: #e2e8ef;
        color: #16202b;
    }

    .uc-nav-price b {
        color: #16202b;
    }

    .uc-nav-price .fa-bitcoin {
        color: var(--cp-blue);
    }

    .uc-nav-price .uc-nav-change {
        color: #6b7684;
    }
}

/* ==========================================================================
   INVESTMENT PACKAGES
   Cards built from the plans table: name, rate/interval, min/max investment,
   contract term (plus expected return and bonus when they are set).
   Replaces the template's buy/sell card markup, which had no room for the
   figures the backend actually stores.
   ========================================================================== */

.uc-plans {
    display: flex !important;
    flex-wrap: wrap;
    margin-left: -12px;
    margin-right: -12px;
}

.uc-plans > div {
    display: flex;
    padding: 12px;
    float: none !important;
}

.uc-plan {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 28px 26px 24px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 10px;
    background: linear-gradient(165deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .015));
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.uc-plan:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 149, 235, .55);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .40);
}

.uc-plan-promo {
    border-color: rgba(33, 182, 255, .45);
}

.uc-plan-top {
    text-align: center;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.uc-plan-type {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 100px;
    background: rgba(0, 149, 235, .16);
    border: 1px solid rgba(0, 149, 235, .35);
    color: var(--cp-cyan);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.uc-plan-promo .uc-plan-type {
    background: rgba(33, 182, 255, .18);
}

.uc-plan-name {
    margin: 14px 0 10px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 2.5px;
    color: #fff;
}

.uc-plan-rate {
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1.5px;
    color: #fff;
}

.uc-plan-rate sub {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    color: var(--cp-muted);
    bottom: 0;
}

.uc-plan-earn {
    margin: 12px 0 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--cp-muted);
}

.uc-plan-list {
    list-style: none;
    margin: 0;
    padding: 18px 0 4px;
}

.uc-plan-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, .07);
    font-size: 13px;
}

.uc-plan-list li:last-child {
    border-bottom: 0;
}

.uc-plan-list li span {
    color: var(--cp-muted);
    letter-spacing: .3px;
}

.uc-plan-list li b {
    color: #fff;
    font-weight: 700;
    text-align: right;
}

.uc-plan-perks {
    list-style: none;
    margin: 6px 0 22px;
    padding: 0;
}

.uc-plan-perks li {
    position: relative;
    padding: 5px 0 5px 24px;
    font-size: 12.5px;
    color: var(--cp-muted);
}

.uc-plan-perks li:before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: var(--cp-cyan);
    font-size: 12px;
}

.uc-plan-btn {
    margin-top: auto;
    display: block;
    width: 100%;
    padding: 15px 18px !important;
    border-radius: 5px;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

/* light surfaces */
body.light .uc-plan {
    background: #fff;
    border-color: #e6e9ee;
}

body.light .uc-plan-name,
body.light .uc-plan-rate,
body.light .uc-plan-list li b {
    color: #16202b;
}

body.light .uc-plan-list li {
    border-bottom-color: #eef2f6;
}

/* ==========================================================================
   NAVIGATION SPACING
   One bar, one inset, no leftover margins from the template. On phones the
   dark figures strip is removed entirely: the white bar carries the logo, the
   live price, the menu button and (inside the menu) the account buttons.
   ========================================================================== */

@media (min-width: 768px) {

    /* the bar is in normal flow until the page scrolls, then it sticks */
    .site-navigation {
        padding-bottom: 0 !important;
    }

    .site-navigation .site-nav-inner {
        position: relative !important;
        min-height: 58px;
        padding: 0 !important;
    }

    .site-navigation.fixed {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1111;
        background: #fff;
        box-shadow: 0 6px 18px rgba(15, 27, 38, .09);
    }

    .site-navigation.fixed .site-nav-inner {
        position: relative !important;
        border-bottom: 0;
    }

    .site-navigation.fixed ul.navbar-nav {
        position: static !important;
        background: transparent;
        border-bottom: 0;
        padding-right: 0 !important;
    }

    body.uc-nav-fixed {
        padding-top: 58px;
    }
}

@media (max-width: 767px) {

    /* no dark figures strip on phones — the white bar is the header.
       Note: the nav lives inside .header, so only the strip's container goes. */
    .header {
        padding: 0 !important;
        background: #fff;
    }

    .header > .container {
        display: none !important;
    }

    /* the nav sits fixed at the top of the screen, so the page starts below it */
    body {
        padding-top: 56px !important;
    }

    .site-navigation,
    .site-navigation.fixed {
        padding: 0 !important;
        min-height: 56px;
    }

    .site-navigation .container {
        width: 100%;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-nav-inner {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        min-height: 56px;
        padding: 0 !important;
        background: #fff;
        border-bottom: 0;
    }

    .site-nav-inner .logo-mobile {
        flex: 0 0 auto;
        padding: 0;
        margin: 0;
    }

    #logo-mobile {
        display: block;
        max-width: 152px;
        height: auto;
    }

    /* live price, right next to the menu button */
    .uc-nav-price {
        margin-left: auto;
        margin-right: 0;
        padding: 6px 9px;
        font-size: 11px;
        gap: 6px;
    }

    .navbar-toggle {
        width: 40px;
        height: 40px;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* the pull-out menu: tight rows, no dead space above or below */
    .navbar-collapse {
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid #eef2f6;
    }

    .navbar-collapse ul.navbar-nav {
        padding: 4px 0 8px !important;
        margin: 0 !important;
    }

    .navbar-collapse ul.navbar-nav > li > a {
        padding: 14px 0 !important;
        font-size: 13px;
    }

    .navbar-collapse ul.navbar-nav > li > a .fa {
        margin-top: 1px;
    }

    .navbar-collapse .dropdown-menu {
        padding: 2px 0 8px;
        margin: 0;
    }

    .navbar-collapse .dropdown-menu > li > a {
        padding: 11px 0 11px 14px !important;
    }

    .uc-nav-auth {
        gap: 8px;
        padding: 12px 0 16px;
        margin: 0;
    }

    .uc-nav-auth a {
        font-size: 11px;
        letter-spacing: .6px;
    }

    /* nothing should hang off the sides */
    .header,
    .site-navigation,
    .site-nav-inner,
    .navbar-collapse {
        max-width: 100%;
        overflow-x: hidden;
    }
}

@media (max-width: 360px) {
    #logo-mobile {
        max-width: 108px;
    }

    .uc-nav-price {
        font-size: 10px;
        padding: 5px 7px;
    }

    .navbar-toggle {
        width: 38px;
        height: 38px;
    }
}

/* loader: mark, name, and a progress sweep in the brand colours */
/* the base sheet centres this with translate(-50%,-50%) rotate(-13deg) — keep
   the centring, drop only the tilt, or the box anchors at the page centre and
   hangs off to the bottom right */
#preloader-content {
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
    width: 240px;
}
#preloader-content:before,
#preloader-content:after {
    -webkit-transform: none;
    transform: none;
}

.uc-loader-mark {
    /* was a flat 132px, which is a third of the screen on a phone and read as
       oversized; it now scales down with the screen */
    width: 116px;
    height: 116px;
    margin: 0 auto 14px;
    display: block;
    animation: uc-pulse 1.7s ease-in-out infinite;
}

.uc-loader-text {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 5px;
    color: #fff;
    text-indent: 5px;
}

@media (max-width: 767px) {
    #preloader-content { width: 200px; }
    .uc-loader-mark { width: 92px; height: 92px; margin-bottom: 12px; }
    .uc-loader-text { font-size: 13px; letter-spacing: 4px; text-indent: 4px; }
    #preloader-content:after { width: 104px; margin-top: 14px; }
}

@media (max-width: 360px) {
    .uc-loader-mark { width: 80px; height: 80px; }
}

#preloader-content:after {
    content: "";
    display: block;
    width: 120px;
    height: 2px;
    margin: 18px auto 0;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, #0095eb, #21b6ff, transparent);
    background-size: 200% 100%;
    animation: uc-sweep 1.5s linear infinite;
}

@keyframes uc-pulse {
    0%, 100% { opacity: 1; transform: translateY(0); }
    50% { opacity: .82; transform: translateY(-3px); }
}

@keyframes uc-sweep {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* ==========================================================================
   LOGO SIZING
   The mark is an app-style tile now, so the lockup is 4.39:1 instead of the
   old 5.8:1. Sizing by height keeps the mark the same visual weight at every
   breakpoint, and the wordmark simply gets a little shorter.
   ========================================================================== */

#logo {
    height: 40px;
    width: auto;
    max-width: none;
}

#logo-mobile {
    height: 32px;
    width: auto;
    max-width: none;
}

@media (min-width: 992px) {
    #logo-mobile {
        height: 36px;
    }
}

@media (max-width: 767px) {
    #logo-mobile {
        height: 30px;
    }
}

@media (max-width: 360px) {
    #logo-mobile {
        height: 25px;
    }
}

/* ==========================================================================
   SECURITY & FUND PROTECTION
   Replaces the placeholder team grid. A dark band, because on both pages it
   sits between two white sections and needs to read as a break, and six cards
   in a 3 / 2 / 1 grid with inline SVG icons (no extra image requests).
   ========================================================================== */

.uc-sec {
    position: relative;
    padding: 74px 0 66px;
    background: linear-gradient(160deg, #0b1626 0%, #12233b 55%, #0d1b2e 100%);
    color: #fff;
    overflow: hidden;
}

/* faint grid texture so the band does not read as a flat block */
.uc-sec:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .028) 1px, transparent 1px);
    background-size: 46px 46px;
    pointer-events: none;
}

.uc-sec .container {
    position: relative;
    z-index: 1;
}

.uc-sec-title {
    margin: 0;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
}

.uc-sec-title span {
    color: var(--cp-cyan);
}

.uc-sec-sub {
    margin: 10px 0 0;
    font-size: 16px;
    color: #9fb2c6;
}

.uc-sec-grid {
    margin-top: 44px;
    /* flex so the columns in a row stretch to the tallest card — with cards at
       different text lengths the grid used to end in a ragged staircase */
    display: flex;
    flex-wrap: wrap;
}

.uc-sec-grid > div {
    margin-bottom: 26px;
}

.uc-sec-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 26px 24px 28px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.uc-sec-card:hover {
    transform: translateY(-4px);
    border-color: rgba(33, 182, 255, .55);
    background: rgba(33, 182, 255, .07);
}

.uc-sec-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    border-radius: 12px;
    background: linear-gradient(140deg, rgba(0, 149, 235, .95), rgba(33, 182, 255, .85));
}

.uc-sec-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.uc-sec-card h3 {
    margin: 0 0 9px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: #fff;
}

.uc-sec-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.62;
    color: #a9b9c9;
}

.uc-sec-cta {
    margin-top: 40px;
}

.uc-sec-cta .btn-primary {
    padding: 13px 30px;
}

.uc-sec-link {
    display: inline-block;
    margin-left: 18px;
    font-size: 14.5px;
    color: #9fb2c6;
    border-bottom: 1px solid rgba(159, 178, 198, .4);
    padding-bottom: 2px;
}

.uc-sec-link:hover,
.uc-sec-link:focus {
    color: var(--cp-cyan);
    border-bottom-color: var(--cp-cyan);
    text-decoration: none;
}

@media (max-width: 991px) {
    .uc-sec { padding: 56px 0 50px; }
    .uc-sec-title { font-size: 31px; }
    .uc-sec-grid { margin-top: 32px; }
    .uc-sec-grid > div { margin-bottom: 22px; }
}

@media (max-width: 767px) {
    .uc-sec { padding: 44px 0 40px; }
    .uc-sec-title { font-size: 26px; }
    .uc-sec-sub { font-size: 15px; padding: 0 10px; }
    .uc-sec-grid { margin-top: 26px; }
    .uc-sec-grid > div { margin-bottom: 16px; }
    .uc-sec-card { padding: 22px 18px 24px; }
    .uc-sec-cta .btn-primary { display: block; width: 100%; }
    .uc-sec-link { display: block; margin: 16px 0 0; }
}

@media (max-width: 360px) {
    .uc-sec-title { font-size: 23px; }
}

/* ------------------------------------------------- footer coin marks ----
   The template sizes these with width:30px and no height. It suited the old
   card logos because their artwork sat inside a 55x35 canvas with padding:
   the visible glyph was only 29x29, i.e. 16x16 on screen. Coin marks are
   square and fill their canvas, so the same 30px rule drew a 30x30 coin —
   nearly double the visual weight of the row it replaced.

   The row is now sized to the glyph that was there before: 16px on desktop,
   15px on phones, with an 8px gap. Every mark stays identical in size. */

.payment-logos img {
    height: 16px;
    width: auto;
    margin-right: 8px;
    vertical-align: middle;
}

.payment-logos img.last {
    margin-right: 0;
}

@media (max-width: 767px) {
    .payment-logos img { height: 15px; margin-right: 7px; }
}
