/* ============================================================
   Crypto Press Release — custom overrides & new components
   Loaded last on every page so it cleanly overrides theme CSS.
   ============================================================ */

html { scroll-behavior: smooth; }

/* 1) Button horizontal padding — text was touching the button edges.
   Scoped to text buttons (.btn-- modifiers + header CTA); the icon-only
   .video-btn is excluded, and inline-styled buttons keep their own padding. */
.btn--neon:not(.video-btn),
.btn--white:not(.video-btn),
.header_nav-list_btn .btn {
    padding-left: 28px;
    padding-right: 28px;
}

/* 2) Outlets mega-menu (3 columns) */
.header_nav .dropdown-menu--mega { min-width: 560px; }
.header_nav .dropdown-menu--mega .dropdown-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 2px 30px;
}
.header_nav .dropdown-menu--mega .dropdown-list .list-item[data-main="true"] {
    grid-column: 1 / -1;
    margin-bottom: 6px;
}
@media (max-width: 991.98px) {
    .header_nav .dropdown-menu--mega { min-width: 0; }
    .header_nav .dropdown-menu--mega .dropdown-list { grid-template-columns: 1fr; }
}

/* 3) Outlet homepage screenshot (about-section media -> plain framed image) */
.about .media picture,
.about .media img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* 4) Single-outlet pricing section */
.outlet-pricing { padding: 30px 0 10px; }
.outlet-pricing_card {
    max-width: 540px; margin: 0 auto; text-align: center;
    background: #1b2129; border: 1px solid #28313d; border-radius: 16px;
    padding: 44px 32px; box-shadow: 2px -2px 0 #4bff2a;
}
.outlet-pricing_eyebrow { color: #4bff2a; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.outlet-pricing_price { font-size: 52px; font-weight: 700; color: #fff; line-height: 1; margin: 12px 0 6px; }
.outlet-pricing_price .sign { font-size: 28px; vertical-align: top; color: #4bff2a; margin-right: 2px; }
.outlet-pricing_note { color: #9aa7b4; margin-bottom: 26px; }
.outlet-pricing_note s { color: #6b7785; margin-left: 6px; }
.outlet-pricing_list { text-align: left; max-width: 360px; margin: 0 auto 30px; display: flex; flex-direction: column; gap: 13px; list-style: none; padding: 0; }
.outlet-pricing_list li { display: flex; align-items: center; gap: 10px; color: #cdd6df; }
.outlet-pricing_list .icon { color: #4bff2a; }

/* 5) Related outlets section */
.related-outlets { padding: 50px 0; }
.related-outlets_title { margin-bottom: 28px; text-align: center; }
.related-outlets_grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px;
}
.related-outlets_item {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 18px 22px; border: 1px solid #28313d; border-radius: 12px;
    background: #1b2129; color: #fff; text-decoration: none; transition: .3s ease;
}
.related-outlets_item:hover { border-color: #4bff2a; transform: translateY(-3px); }
.related-outlets_item .name { font-weight: 700; }
.related-outlets_item .icon { color: #4bff2a; transition: transform .3s ease; }
.related-outlets_item:hover .icon { transform: translateX(4px); }

/* 6) Dashboard / auth page (signup + login) */
.auth { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 48px 20px; background: #11161d; }
.auth_card { width: 100%; max-width: 460px; background: #1b2129; border: 1px solid #28313d; border-radius: 18px; padding: 44px 40px; box-shadow: 2px -2px 0 #4bff2a; }
.auth_logo { display: inline-flex; align-items: center; gap: 10px; justify-content: center; width: 100%; margin-bottom: 8px; text-decoration: none; }
.auth_logo img { width: 40px; height: 40px; }
.auth_logo span { color: #fff; font-weight: 700; font-size: 20px; }
.auth_subtitle { text-align: center; color: #9aa7b4; margin-bottom: 26px; }
.auth_tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.auth_tab { flex: 1; padding: 12px; text-align: center; border-radius: 9px; background: #11161d; color: #9aa7b4; cursor: pointer; font-weight: 700; border: 1px solid #28313d; transition: .25s ease; }
.auth_tab.active { background: #4bff2a; color: #1b2129; border-color: #4bff2a; }
.auth_form { display: flex; flex-direction: column; gap: 14px; }
.auth_form .field { width: 100%; padding: 14px 16px; border-radius: 9px; border: 1px solid #28313d; background: #11161d; color: #fff; font-size: 15px; }
.auth_form .field:focus { outline: none; border-color: #4bff2a; }
.auth_form .field::placeholder { color: #6b7785; }
.auth_form .btn { width: 100%; margin-top: 6px; }
.auth_alt { text-align: center; color: #9aa7b4; margin-top: 20px; }
.auth_alt a { color: #4bff2a; cursor: pointer; }
.auth_back { display: inline-block; margin-top: 22px; color: #9aa7b4; text-decoration: none; }
.auth_back:hover { color: #4bff2a; }
.is-hidden { display: none !important; }

/* 7) Contact page — form replacing the (broken) map slot */
.contact .contact_form { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; margin-right: 60px; background: #1b2129; border: 1px solid #28313d; border-radius: 14px; box-shadow: 3px 3px 0 #4bff2a; padding: 36px 32px; }
.contact .contact_form-title { color: #fff; margin-bottom: 22px; }
.contact .contact_form .form, .contact .contact_form .field, .contact .contact_form .btn { width: 100%; }
@media (max-width: 991.98px) { .contact .contact_form { margin-right: 0; margin-bottom: 40px; } }

/* 8) Blog article body components (used by the rebuilt blog posts) */
.article_subtitle { margin: 38px auto 14px; color: #1b2129; }
.article_list { margin: 0 auto 22px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.article_list li { position: relative; padding-left: 30px; line-height: 1.6; }
.article_list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 12px; height: 12px; background: #4bff2a; border-radius: 50%; }
.article_list--ol { counter-reset: step; }
.article_list--ol li { padding-left: 42px; }
.article_list--ol li::before { content: counter(step); counter-increment: step; width: 26px; height: 26px; top: 0; border-radius: 7px; color: #1b2129; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; font-family: "Roboto Mono", monospace; }

/* comparison table */
.article_table { margin: 26px auto 30px; overflow-x: auto; }
.article_table table { width: 100%; border-collapse: collapse; min-width: 520px; }
.article_table th, .article_table td { text-align: left; padding: 13px 16px; border-bottom: 1px solid #e4e7ec; font-size: 15px; vertical-align: top; }
.article_table thead th { background: #1b2129; color: #fff; border-bottom: 0; }
.article_table tbody tr:nth-child(even) { background: #f6f8fa; }
.article_table .is-us { background: #ecfde9 !important; }
.article_table .is-us td:first-child { box-shadow: inset 3px 0 0 #4bff2a; font-weight: 700; }

/* pros / cons */
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px auto 30px; }
.proscons_box { border: 1px solid #e4e7ec; border-radius: 12px; padding: 20px 22px; }
.proscons_box h5 { margin-bottom: 12px; }
.proscons_box ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.proscons_box li { position: relative; padding-left: 26px; line-height: 1.5; font-size: 15px; }
.proscons_box--pro li::before { content: "\2713"; position: absolute; left: 0; color: #18a957; font-weight: 700; }
.proscons_box--con li::before { content: "\2715"; position: absolute; left: 0; color: #d23f3f; font-weight: 700; }
@media (max-width: 600px) { .proscons { grid-template-columns: 1fr; } }

/* callout / CTA box */
.article_callout { margin: 28px auto; padding: 22px 26px; border-radius: 12px; background: #f0f4ff; border-left: 4px solid #2a2aff; line-height: 1.6; }
.article_cta { margin: 34px auto; padding: 30px 32px; border-radius: 16px; background: #1b2129; text-align: center; }
.article_cta h4 { color: #fff; margin-bottom: 10px; }
.article_cta p { color: #9aa7b4; margin-bottom: 20px; }

/* 9) Keep logo (icon + brand text) on ONE line in header and footer */
.logo { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
.logo_icon { -ms-flex-negative: 0; flex-shrink: 0; }
.logo_text { white-space: nowrap; }
@media (max-width: 400px) { .header_logo .logo_text { font-size: 17px; } }

/* 10) New PNG brand logo fills the icon box (header + footer) */
.logo_icon img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* 11) Footer About/Services/Contact on one line (override mobile 50% width) */
.footer_top-nav { -ms-flex-wrap: nowrap; flex-wrap: nowrap; gap: 0 22px; }
.footer_top-nav_link { width: auto; }
.footer_top-nav_link .link { white-space: nowrap; }

/* 12) Header: fit every nav item (incl. Contact) on one line + compact brand.
   Brand was 24px monospace which is very wide; reduce it and tighten nav. */
@media (min-width: 992px) {
    .header_logo .logo_text { font-size: 18px; }
    .header_nav { margin-right: 22px; }
    .header_nav-list { gap: 0 20px; }
    .header_nav-list_item .nav-link { white-space: nowrap; }
    .header_nav-list_item .nav-item_text { font-size: 15px; }
}
@media (max-width: 991.98px) {
    .header_logo .logo_text { font-size: 17px; }
}

/* 13) Footer About/Services/Contact strictly on one line (stronger specificity) */
.footer .footer_top-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; gap: 0 20px; }
.footer .footer_top-nav_link { width: auto; }
.footer .footer_top-nav_link .link { white-space: nowrap; }

/* 14) 'Ready for Coverage' media box — theme pointed at a 1x1 placeholder.jpg.
   Use a real image directly so it never depends on the placeholder file/cache. */
.features_media {
    background: -webkit-gradient(linear, left bottom, left top, from(#4bff2a), to(#4bff2a)), url(../img/crypto-media.jpg) center/cover no-repeat;
    background: linear-gradient(0deg, #4bff2a, #4bff2a), url(../img/crypto-media.jpg) center/cover no-repeat;
    background-blend-mode: darken, normal;
}
