:root {
    --pv-green: #59ab6e;
    --pv-green-dark: #3f8f55;
    --pv-navy: #212934;
    --pv-soft: #e9eef5;
    --pv-ink: #2d343d;
    --pv-muted: #6c757d;
    --pv-line: #dfe5eb;
}

html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { color: var(--pv-ink); font-family: "Roboto", sans-serif; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.text-success { color: var(--pv-green) !important; }
.bg-success, .btn-success { background-color: var(--pv-green) !important; border-color: var(--pv-green) !important; }
.btn-success:hover, .btn-success:focus { background-color: var(--pv-green-dark) !important; border-color: var(--pv-green-dark) !important; }
.btn-outline-success { color: var(--pv-green-dark); border-color: var(--pv-green); }
.btn-outline-success:hover, .btn-outline-success:focus { color: #fff; background: var(--pv-green); border-color: var(--pv-green); }
.bg-dark { background-color: var(--pv-navy) !important; }
.sticky-top { z-index: 1020; }
.pv-main-nav .nav-link { font-weight: 500; padding-left: .85rem !important; padding-right: .85rem !important; }
.pv-main-nav .nav-link:hover { color: var(--pv-green) !important; }
.pv-brand-logo { max-height: 48px; max-width: 190px; object-fit: contain; }

.pv-zay-hero { background: var(--pv-soft); overflow: hidden; }
.pv-eyebrow { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1rem; padding: .5rem .85rem; border-radius: 999px; background: rgba(89,171,110,.12); color: var(--pv-green-dark); font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pv-hero-points { display: flex; flex-wrap: wrap; gap: .65rem 1rem; color: var(--pv-muted); font-size: .94rem; }
.pv-hero-points i { color: var(--pv-green); margin-right: .3rem; }

.pv-screen-mockup, .pv-feature-card, .pv-business-card, .pv-plan-card, .pv-contact-form, .pv-security-panel, .pv-legal-card { border: 1px solid var(--pv-line); background: #fff; box-shadow: 0 16px 40px rgba(33,41,52,.08); }
.pv-screen-mockup { padding: 1rem; border-radius: 1.25rem; transform: rotate(1deg); }
.pv-screen-top { display: flex; align-items: center; gap: .4rem; padding: .25rem .25rem 1rem; border-bottom: 1px solid var(--pv-line); }
.pv-screen-top span { width: .65rem; height: .65rem; border-radius: 50%; background: #ff6b6b; }
.pv-screen-top span:nth-child(2) { background: #ffd166; }
.pv-screen-top span:nth-child(3) { background: var(--pv-green); }
.pv-screen-top strong { margin-left: auto; color: var(--pv-navy); font-size: .85rem; }
.pv-pos-layout { display: grid; grid-template-columns: 1.4fr .9fr; gap: 1rem; padding-top: 1rem; }
.pv-products-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.pv-products-grid span { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 84px; padding: .75rem; border-radius: .8rem; background: var(--pv-soft); color: var(--pv-navy); font-weight: 600; text-align: center; }
.pv-products-grid i { color: var(--pv-green); font-size: 1.35rem; margin-bottom: .4rem; }
.pv-ticket-box { padding: 1rem; border-radius: .9rem; background: var(--pv-navy); color: #fff; }
.pv-ticket-box small { color: #c8d0da; }
.pv-ticket-line { display: flex; justify-content: space-between; margin-top: 1rem; color: #c8d0da; font-size: .88rem; }
.pv-ticket-box h4 { margin: 1.2rem 0; color: #fff; font-weight: 900; text-align: right; }
.pv-ticket-box button { width: 100%; padding: .7rem; border: 0; border-radius: .65rem; background: var(--pv-green); color: #fff; font-weight: 700; }

.pv-trust-strip { background: #fff; border-top: 1px solid var(--pv-line); border-bottom: 1px solid var(--pv-line); }
.pv-trust-strip i { display: block; margin-bottom: .55rem; color: var(--pv-green); font-size: 1.5rem; }
.pv-trust-strip strong, .pv-trust-strip span { display: block; }
.pv-trust-strip strong { color: var(--pv-navy); }
.pv-trust-strip span { color: var(--pv-muted); font-size: .88rem; }

.pv-feature-card, .pv-business-card, .pv-plan-card { height: 100%; border-radius: 1rem; }
.pv-feature-card { padding: 1.6rem; }
.pv-feature-card:hover, .pv-business-card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(33,41,52,.12); }
.pv-icon-circle { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--pv-soft); color: var(--pv-green); font-size: 1.3rem; }
.pv-feature-card h3, .pv-business-card h5 { margin: 1rem 0 .55rem; color: var(--pv-navy); font-weight: 700; }
.pv-feature-card p, .pv-business-card p, .pv-plan-card p { color: var(--pv-muted); margin-bottom: 0; }
.pv-business-card { padding: 1.5rem; }
.pv-business-card > i { color: var(--pv-green); font-size: 1.8rem; }

.pv-steps span { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: 50%; background: var(--pv-green); color: #fff; font-weight: 900; box-shadow: 0 8px 20px rgba(89,171,110,.24); }
.pv-steps h3 { color: var(--pv-navy); font-weight: 700; }
.pv-steps p { color: var(--pv-muted); }

.pv-plan-card { position: relative; padding: 1.8rem; overflow: hidden; }
.pv-plan-card.is-featured { border: 2px solid var(--pv-green); transform: translateY(-4px); }
.pv-plan-card .badge { position: absolute; top: 1rem; right: 1rem; }
.pv-plan-card h4 { color: var(--pv-navy); font-weight: 800; }
.pv-plan-price { margin-top: 1.2rem; color: var(--pv-green-dark); font-size: 2.25rem; font-weight: 900; }
.pv-plan-price small { color: var(--pv-muted); font-size: .88rem; font-weight: 400; }
.pv-plan-card ul, .pv-check-list { padding: 0; list-style: none; }
.pv-plan-card li, .pv-check-list li { position: relative; margin-bottom: .75rem; padding-left: 1.65rem; }
.pv-plan-card li::before, .pv-check-list li::before { content: "\f00c"; position: absolute; left: 0; top: .05rem; color: var(--pv-green); font-family: "Font Awesome 5 Free"; font-weight: 900; }

.pv-security-panel { padding: 1.3rem; border-radius: 1rem; background: var(--pv-navy); }
.pv-security-panel > div { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.pv-security-panel > div:last-child { border-bottom: 0; }
.pv-security-panel i { display: inline-flex; align-items: center; justify-content: center; min-width: 2.7rem; height: 2.7rem; border-radius: 50%; background: rgba(89,171,110,.16); color: var(--pv-green); }
.pv-security-panel strong, .pv-security-panel small { display: block; }
.pv-security-panel strong { color: #fff; }
.pv-security-panel small { color: #c5ced8; margin-top: .2rem; line-height: 1.45; }

.pv-faq .accordion-item { margin-bottom: .75rem; border: 1px solid var(--pv-line); border-radius: .75rem !important; overflow: hidden; }
.pv-faq .accordion-button { font-weight: 600; color: var(--pv-navy); }
.pv-faq .accordion-button:not(.collapsed) { color: var(--pv-green-dark); background: rgba(89,171,110,.1); box-shadow: none; }
.pv-faq .accordion-button:focus { border-color: var(--pv-green); box-shadow: 0 0 0 .2rem rgba(89,171,110,.15); }

.pv-contact-form { padding: 1.8rem; border-radius: 1rem; }
.pv-contact-form .form-control, .pv-contact-form .form-select { min-height: 48px; border-color: var(--pv-line); }
.pv-contact-form textarea.form-control { min-height: 120px; }
.pv-contact-form .form-control:focus, .pv-contact-form .form-select:focus { border-color: var(--pv-green); box-shadow: 0 0 0 .2rem rgba(89,171,110,.15); }
.pv-contact-data { display: grid; gap: 1rem; margin-top: 1.8rem; }
.pv-contact-data a, .pv-contact-data > div { display: flex; align-items: center; gap: .9rem; color: var(--pv-navy); text-decoration: none; }
.pv-contact-data i { display: inline-flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--pv-soft); color: var(--pv-green); }
.pv-contact-data small, .pv-contact-data span { display: block; }
.pv-contact-data small { color: var(--pv-muted); }

.pv-legal-section { background: var(--pv-navy); }
.pv-legal-card { height: 100%; padding: 1.6rem; border-radius: 1rem; box-shadow: none; }
.pv-legal-card h2 { color: var(--pv-green-dark); font-weight: 700; }
.pv-legal-card p { color: var(--pv-muted); }
.footer-link-list a { color: #dcdde1 !important; text-decoration: none; }
.footer-link-list a:hover { color: var(--pv-green) !important; }

@media (max-width: 991.98px) {
    html { scroll-padding-top: 70px; }
    .pv-screen-mockup { transform: none; }
    .pv-pos-layout { grid-template-columns: 1fr; }
    .pv-main-nav .nav-link { padding-left: 0 !important; }
}
@media (max-width: 575.98px) {
    .pv-products-grid { grid-template-columns: 1fr 1fr; }
    .pv-products-grid span { min-height: 72px; font-size: .82rem; }
    .pv-ticket-box { margin-top: .25rem; }
    .pv-plan-card, .pv-contact-form, .pv-feature-card { padding: 1.25rem; }
}
