/* YellowDotPay — site-wide polish for the basic template (public pages) */
:root {
    --ydp-brand: #f7931f;
    --ydp-brand-2: #ff6a00;
    --ydp-ink: #16161a;
    --ydp-ink-2: #4a4a52;
    --ydp-line: #ebe9e4;
    --ydp-soft: #f7f6f3;
    --ydp-radius: 16px;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

::selection {
    background: rgba(247, 147, 31, .28);
}

img {
    max-width: 100%;
    height: auto;
}

a, button, .btn, .cmn--btn {
    transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--ydp-brand);
    outline-offset: 2px;
}

/* ---------- Page hero (breadcrumb) ---------- */
.hero-section {
    position: relative;
    overflow: hidden;
    background: radial-gradient(120% 140% at 100% 0%, #ffb25b 0%, #f7931f 45%, #ff6a00 100%) !important;
}

.hero-section::after {
    content: "";
    position: absolute;
    inset: auto -10% -60% auto;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    pointer-events: none;
}

.hero-section .hero-content .title {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-weight: 700;
    letter-spacing: -.02em;
    font-size: clamp(28px, 4.2vw, 46px);
    line-height: 1.15;
    text-shadow: 0 2px 16px rgba(120, 50, 0, .18);
}

/* ---------- Cards & surfaces ---------- */
.custom--card,
.card.custom--card,
.dashboard__item,
.post__item,
.deposit-preview,
.contact__item {
    border-radius: var(--ydp-radius) !important;
}

.post__item,
.contact__item {
    box-shadow: 0 1px 2px rgba(22, 22, 26, .04), 0 12px 30px -18px rgba(22, 22, 26, .18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.post__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 1px 2px rgba(22, 22, 26, .04), 0 20px 40px -20px rgba(22, 22, 26, .28);
}

.post__item .post__thumb img,
.post__thumb img {
    border-radius: 12px;
}

/* ---------- Buttons ---------- */
.cmn--btn {
    border-radius: 12px !important;
    font-weight: 600;
    letter-spacing: .01em;
}

.cmn--btn:hover {
    transform: translateY(-1px);
}

/* ---------- Blog article readability ---------- */
.post__details .post__title {
    font-size: clamp(26px, 3.6vw, 40px) !important;
    line-height: 1.2;
    letter-spacing: -.015em;
    font-weight: 700;
    color: var(--ydp-ink);
}

.post__details {
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--ydp-ink-2);
}

.post__details h2,
.post__details h3,
.post__details h4 {
    color: var(--ydp-ink);
    font-weight: 700;
    line-height: 1.3;
    margin: 1.6em 0 .6em;
}

.post__details h2 { font-size: clamp(22px, 2.6vw, 28px); }
.post__details h3 { font-size: clamp(19px, 2.2vw, 23px); }

.post__details p,
.post__details li {
    max-width: 72ch;
}

.post__details a {
    color: var(--ydp-brand-2);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.post__details blockquote {
    margin: 1.5em 0;
    padding: 14px 18px;
    border-left: 4px solid var(--ydp-brand);
    background: var(--ydp-soft);
    border-radius: 0 12px 12px 0;
}

/* Wide tables scroll inside the article instead of breaking the layout on phones */
.post__details table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    margin: 1.2em 0;
    font-size: 15px;
}

.post__details table th,
.post__details table td {
    padding: 10px 12px;
    border: 1px solid var(--ydp-line);
    vertical-align: top;
    min-width: 120px;
}

.post__details table thead th {
    background: var(--ydp-soft);
    color: var(--ydp-ink);
    font-weight: 600;
}

/* ---------- Public card details ---------- */
.deposit-preview {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    padding: 28px 24px !important;
    box-shadow: 0 1px 2px rgba(22, 22, 26, .04), 0 24px 50px -28px rgba(22, 22, 26, .4);
}

.deposit-preview,
.deposit-preview .deposit-content,
.deposit-preview .deposit-content ul li {
    color: #e9e9ee;
}

.deposit-preview h1,
.deposit-preview h6 {
    color: #fff;
    font-weight: 700;
    letter-spacing: -.01em;
}

.deposit-preview .deposit-thumb img {
    border-radius: 14px;
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .7);
}

.deposit-preview .deposit-content ul li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    font-size: 15px;
}

.deposit-preview .deposit-content ul li:last-child {
    display: block;
    border-bottom: 0;
}

.deposit-preview .deposit-content .text--success {
    color: #6ee7a8 !important;
    font-weight: 600;
    text-align: right;
}

.deposit-preview .quantity input {
    color: #fff !important;
    font-weight: 600;
}

/* ---------- Footer ---------- */
footer .footer-bottom,
footer .footer-top {
    border-color: rgba(255, 255, 255, .08) !important;
}

/* ---------- Floating contact buttons ---------- */
@media (max-width: 600px) {
    .whatsapp-button {
        right: 76px !important;
        bottom: 16px !important;
        padding: 9px !important;
        animation: none !important;
    }

    .whatsapp-button img {
        width: 28px !important;
        height: 28px !important;
    }

    .telegram-float {
        right: 76px !important;
        bottom: 72px !important;
    }

    .telegram-float__icon {
        width: 46px !important;
        height: 46px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}
