/* Shared website shell and final component styles. */
:root {
    --tijarah-yellow: var(--color-sage);
    --tijarah-yellow-dark: var(--color-primary);
    --tijarah-yellow-soft: var(--color-primary-soft);
    --tijarah-navy: var(--color-ink);
    --tijarah-navy-dark: var(--color-sidebar);
    --tijarah-blue: var(--color-primary);
    --tijarah-bg: var(--color-background);
    --tijarah-text: var(--color-ink);
    --tijarah-muted: var(--color-muted);
    --border: var(--color-border);
    --shadow: var(--shadow-card);
}
body.tj-site { font-family: var(--font-body); color: var(--color-ink); background: var(--color-background); font-size: 14px; line-height: 1.65; }
.tj-site [hidden] { display: none !important; }
.tj-site button,.tj-site input,.tj-site select,.tj-site textarea { font: inherit; }
.tj-site a:focus-visible,.tj-site button:focus-visible,.tj-site input:focus-visible,.tj-site select:focus-visible,.tj-site textarea:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.tj-site h1,.tj-site h2,.tj-site h3 { color: var(--color-ink); font-weight: 650; overflow-wrap: anywhere; }
.tj-container,.tj-site .container,.tj-site .faq-container,.tj-site .contact-container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.tj-site .container { max-width: 1200px; }
.tj-page-content { flex: 1; min-width: 0; }
.tj-site { min-height: 100vh; display: flex; flex-direction: column; }
.tj-header { background: #fff; border-bottom: 1px solid var(--color-border); position: relative; z-index: 50; }
.tj-nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.tj-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--color-ink); font-size: 24px; font-weight: 700; letter-spacing: -.7px; flex-shrink: 0; line-height: 1.3; }
.tj-brand-mark { width: 40px; height: 40px; border-radius: 11px; background: #f0f5ed; border: 1px solid var(--color-border); display: grid; place-items: center; }
.tj-brand-mark img { width: 32px; height: 32px; object-fit: contain; }
.tj-brand small { display: block; color: var(--color-muted); font-size: 8px; letter-spacing: 1.6px; margin-top: 4px; font-weight: 600; }
.tj-menu { display: flex; align-items: center; gap: 24px; }
.tj-menu>a { padding: 10px 0; font-size: 12px; font-weight: 500; color: #687d74; white-space: nowrap; }
.tj-menu>a:hover,.tj-menu>a.is-active { color: var(--color-primary); }
.tj-menu>a.is-active { font-weight: 650; position: relative; }
.tj-menu>a.is-active::after { content: ''; position: absolute; height: 2px; border-radius: 4px; inset: auto 0 1px; background: var(--color-primary); }
.tj-nav-actions { display: flex; align-items: center; gap: 14px; margin-left: 12px; }
.tj-nav-actions form { margin: 0; }
.tj-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; padding: 11px 18px; border: 1px solid var(--color-primary); border-radius: var(--radius-control); background: var(--color-primary); color: white; min-height: 43px; font-size: 12px; font-weight: 600; line-height: 1.5; text-decoration: none; cursor: pointer; }
.tj-button:hover { background: var(--color-primary-hover); color: white; border-color: var(--color-primary-hover); }
.tj-button-secondary { color: var(--color-ink); background: white; border-color: var(--color-border); }
.tj-button-secondary:hover { color: var(--color-ink); background: var(--color-primary-soft); border-color: #bacfbd; }
.tj-text-button { border: 0; background: transparent; color: var(--color-muted); padding: 8px 0; font-size: 11px; cursor: pointer; }
.tj-text-button:hover { color: var(--color-primary); }
.tj-menu-toggle { display: none; }
.tj-menu-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.tj-skip { position: fixed; top: -80px; left: 16px; z-index: 100; padding: 10px 18px; background: white; border-radius: 8px; color: var(--color-primary); }
.tj-skip:focus { top: 10px; }
.tj-footer { background: var(--color-sidebar); color: #a2b8af; padding: 48px 0 0; }
.tj-footer .tj-brand { color: white; }
.tj-footer .tj-brand small { color: #93ada7; }
.tj-footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1.2fr; gap: 38px; padding-bottom: 38px; }
.tj-footer-grid>div>strong { display: block; color: #edf5ef; font-size: 12px; font-weight: 600; margin-bottom: 16px; }
.tj-footer-grid>div>a:not(.tj-brand) { display: block; width: fit-content; color: #a2b8af; font-size: 12px; margin: 9px 0; }
.tj-footer-grid>div>a:hover { color: white; }
.tj-footer p { color: #a2b8af; font-size: 12px; line-height: 1.9; margin: 15px 0; }
.tj-footer-grid>div>a.tj-footer-cta { color: var(--color-sage); font-weight: 600; }
.tj-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid #505671; font-size: 10px; color: #b0b5cf; }
/* Content rhythm */
.tj-site .hero,.tj-site .about-hero,.tj-site .features-hero,.tj-site .pricing-hero,.tj-site .faq-hero,.tj-site .contact-hero { background: #eaf1e5; }
.tj-site .hero { padding: 64px 0; }
.tj-site .hero-grid { gap: 48px; align-items: center; }
.tj-site .hero h1 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.18; letter-spacing: -1.7px; }
.tj-site .hero-content h1 span { color: var(--color-primary); }
.tj-site .hero-description { font-size: 14px; line-height: 1.85; color: #6d7185; }
.tj-site .hero-visual-heading { color: var(--color-ink); font-size: 27px; line-height: 1.3; }
.tj-site .hero-visual-caption { font-size: 21px; color: #6d7185; }
.tj-site .hero-benefits { font-size: 12px; }
.tj-site .hero-visual { min-width: 0; }
.tj-site .laptop { max-width: 100%; }
.tj-site .laptop-screen { border-color: #343851; box-shadow: var(--shadow-card); }
.tj-site .mock-sidebar { background: var(--color-sidebar); }
.tj-site .mock-brand,.tj-site .mock-menu.active { color: var(--color-sage); }
.tj-site .mock-menu.active { background: #4b516f; }
.tj-site .about-hero,.tj-site .features-hero,.tj-site .faq-hero,.tj-site .contact-hero { padding: 58px 0; }
.tj-site .pricing-hero { padding: 58px 0 110px; }
.tj-site .pricing-hero::before,.tj-site .about-hero::before,.tj-site .features-hero::before { display: none; }
.tj-site :is(.pricing-heading,.features-hero,.faq-hero,.contact-hero,.about-hero-text) h1 { font-size: clamp(30px, 3.5vw, 44px); line-height: 1.2; letter-spacing: -1.4px; }
.tj-site :is(.pricing-heading,.features-hero,.faq-hero,.contact-hero,.about-hero-text) h1 span { color: var(--color-primary); }
.tj-site :is(.pricing-heading,.features-hero,.faq-hero,.contact-hero,.about-hero-text)>p { font-size: 14px; line-height: 1.85; color: #6d7185; }
.tj-site :is(.section-label,.features-eyebrow,.about-eyebrow,.faq-content-heading>span,.contact-form-heading>span,.contact-eyebrow) { color: var(--color-primary); font-size: 10px; letter-spacing: 1.5px; font-weight: 650; }
.tj-site :is(.hero-badge,.faq-hero-badge,.about-hero-badge,.contact-hero-badge) { background: #fff8; border: 1px solid #e7e5d7; color: var(--color-primary); border-radius: 8px; font-size: 10px; letter-spacing: .8px; }
.tj-site :is(.business-section,.feature-section,.testimonial-section,.features-section,.about-intro,.about-benefits,.faq-content,.contact-content,.modules-section) { padding-top: 56px; padding-bottom: 56px; }
.tj-site :is(.business-card,.testimonial-card,.features-card,.price-card,.module-card,.about-value-card,.about-benefit-card,.contact-info-card,.contact-form-card,.checkout-card,.checkout-summary,.invoice-card-modern,.invoice-payment-card,.faq-item,.faq-contact-card) { border-color: var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.tj-site :is(.business-card,.testimonial-card,.features-card,.module-card,.about-value-card,.about-benefit-card):hover { transform: translateY(-3px); box-shadow: 0 10px 28px #3439530a; }
.tj-site :is(.features-card,.price-card,.module-card) { padding: 26px; }
.tj-site .features-grid { gap: 20px; }
.tj-site :is(.features-card,.module-card) h3 { font-size: 18px; }
.tj-site :is(.features-card,.module-card,.business-card,.testimonial-card) p { font-size: 13px; line-height: 1.8; color: var(--color-muted); }
.tj-site :is(.features-icon,.price-icon,.module-icon,.about-benefit-icon,.contact-info-icon,.checkout-number,.selected-package-icon) { background: var(--color-primary-soft); color: var(--color-primary); border-radius: 11px; }
.tj-site :is(.btn,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button) { border-radius: var(--radius-control); font-size: 13px; font-weight: 600; min-height: 44px; transition: background .16s, border-color .16s; }
.tj-site :is(.btn-yellow,.price-button.primary,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button) { background: var(--color-primary); color: white; border: 1px solid var(--color-primary); }
.tj-site :is(.btn-yellow,.price-button.primary,.features-hero-button,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button):hover { background: var(--color-primary-hover); color: white; transform: none; }
.tj-site :is(.btn-outline,.price-button.outline,.about-secondary-button,.invoice-btn-back) { background: white; border: 1px solid var(--color-border); color: var(--color-ink); border-radius: var(--radius-control); font-size: 13px; font-weight: 600; }
.tj-site .btn:hover { transform: none; }
.tj-site .price-card { display: flex; flex-direction: column; }
.tj-site .price-card.popular,.tj-site .price-card.popular:hover { border-color: var(--color-primary); transform: none; box-shadow: var(--shadow-card); }
.tj-site .price-card:hover { transform: translateY(-3px); }
.tj-site .popular-label { background: var(--color-sage); color: var(--color-ink); font-weight: 600; }
.tj-site .price-button { margin-top: auto; }
.tj-site .price-features { min-height: 0; flex: 1; }
.tj-site .price-features li { font-size: 13px; line-height: 1.7; }
.tj-site .package-description { font-size: 13px; min-height: 0; line-height: 1.8; }
.tj-site .price strong { font-size: 34px; }
.tj-site :is(.bottom-cta,.features-cta,.about-cta) { background: #eaf1e5; color: var(--color-ink); }
.tj-site :is(.bottom-cta,.features-cta,.about-cta) h2 { color: var(--color-ink); font-size: 28px; line-height: 1.35; }
.tj-site :is(.bottom-cta,.features-cta,.about-cta) p { color: #6d7185; font-size: 14px; line-height: 1.8; }
.tj-site .btn-dark-outline { color: var(--color-ink); border: 1px solid #bacfbd; background: transparent; }
.tj-site .faq-category.active { background: var(--color-primary); color: white; border-color: var(--color-primary); }
.tj-site .faq-question { color: var(--color-ink); text-align: left; }
.tj-site .faq-item.is-open { border-color: #b7cfb9; }
.tj-site .faq-number,.tj-site .faq-chevron { color: var(--color-primary); background: var(--color-primary-soft); }
.tj-site .faq-search-box,.tj-site .contact-field input,.tj-site .contact-field textarea { border-color: var(--color-border); border-radius: var(--radius-control); box-shadow: none; background: white; }
.tj-site .contact-field input:focus,.tj-site .contact-field textarea:focus { border-color: var(--focus-ring); box-shadow: none; }
.tj-site .contact-field label { font-weight: 600; font-size: 12px; }
.tj-site .contact-form-heading h2,.tj-site .contact-info-heading h2 { font-size: 25px; }
.tj-site .contact-form-note { line-height: 1.8; }
.tj-site .checkout-page,.tj-site .invoice-page,.tj-site .buyer-page { background: var(--color-background); }
.tj-site .checkout-main { padding: 42px 0 60px; }
.tj-site .checkout-title h1 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -1px; }
.tj-site .checkout-grid { grid-template-columns: minmax(0,1.6fr) minmax(300px,1fr); gap: 24px; }
.tj-site .checkout-avatar,.tj-site .buyer-avatar { background: #e9efe7; color: #44674a; }
.tj-site .checkout-help { background: var(--color-primary-soft); border: 1px solid var(--color-border); border-radius: 12px; }
.tj-site .invoice-main { padding: 42px 24px 60px; }
.tj-site .invoice-container { max-width: 980px; }
.tj-site .invoice-success h1 { font-size: clamp(28px, 3vw, 36px); }
.tj-site .invoice-status-pending { background: #fff3db; color: #926b23; }
.tj-site .invoice-status-paid { background: var(--color-primary-soft); color: var(--color-primary); }
.tj-site .invoice-status-failed,.tj-site .invoice-status-cancelled { background: #fbece8; color: #aa5544; }
.tj-site .invoice-product-header { background: #ffffff; border-color: var(--color-border); }
.tj-site .buyer-header { background: white; border-bottom: 1px solid var(--color-border); }
.tj-site .buyer-header-inner { width: min(1200px, calc(100% - 64px)); min-height: 76px; gap: 24px; }
.tj-site .buyer-main { width: min(1200px, calc(100% - 64px)); padding-top: 32px; }
.tj-site .buyer-welcome { background: #eaf1e5; border: 1px solid #e0e3ed; color: var(--color-ink); border-radius: var(--radius-card); padding: 36px; }
.tj-site .buyer-welcome h1 { color: var(--color-ink); font-size: clamp(27px,3vw,36px); }
.tj-site .buyer-welcome p { color: #6d7185; }
.tj-site .buyer-eyebrow,.tj-site .buyer-section-kicker { color: var(--color-primary); font-size: 10px; font-weight: 650; }
.tj-site .buyer-primary-button { background: var(--color-primary); color: white; border-radius: var(--radius-control); font-weight: 600; }
.tj-site .buyer-art-circle { background: #dce9d3; width: 150px; height: 150px; }
.tj-site .buyer-product-card { border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.tj-site .buyer-category.is-active,.tj-site .buyer-add-cart { background: var(--color-primary); color: white; border-color: var(--color-primary); }
.tj-site .buyer-cart-count,.tj-site .buyer-demo-badge { background: var(--color-sage); color: #355339; }
.tj-site .buyer-search { border-color: var(--color-border); background: var(--color-background); border-radius: var(--radius-control); }
.tj-site .buyer-search input { font-size: 14px; }
.tj-site .buyer-account-name { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Login and informational pages */
.tj-auth { width: min(1040px,calc(100% - 64px)); margin: 48px auto 64px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--color-border); border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-card); background: white; }
.tj-auth-story { background: var(--color-sidebar); color: #c6d8ce; padding: 44px; display: flex; flex-direction: column; justify-content: center; }
.tj-eyebrow { color: var(--color-primary); font-size: 10px; letter-spacing: 1.6px; font-weight: 650; }
.tj-auth-story .tj-eyebrow { color: var(--color-sage); }
.tj-auth-story h1 { color: white; font-size: 36px; line-height: 1.25; letter-spacing: -1px; margin: 18px 0; }
.tj-auth-story h1 span { color: var(--color-sage); }
.tj-auth-story p { color: #aac2b5; font-size: 13px; line-height: 1.85; }
.tj-auth-story ul { list-style: none; padding: 0; margin: 30px 0 0; }
.tj-auth-story li { padding: 12px 0; border-bottom: 1px solid #505671; font-size: 12px; }
.tj-auth-story li strong { display: block; color: #edf5ef; font-weight: 600; }
.tj-auth-form { padding: 40px; }
.tj-auth-form h2 { font-size: 27px; margin: 0 0 8px; line-height: 1.4; }
.tj-auth-form>p { font-size: 13px; color: var(--color-muted); margin: 0 0 24px; }
.tj-auth-form fieldset { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
.tj-auth-form legend { font-size: 12px; font-weight: 600; margin-bottom: 12px; }
.tj-auth-form .login-role-options { gap: 12px; }
.tj-auth-form .login-role-card { padding: 16px; border: 1px solid var(--color-border); min-height: 156px; border-radius: 12px; }
.tj-auth-form .login-role-card:hover,.tj-auth-form .login-role-card:has(input:checked) { border-color: var(--color-primary); background: var(--color-primary-soft); }
.tj-auth-form .login-role-card:has(input:focus-visible) { outline-color: var(--focus-ring); }
.tj-auth-form .login-role-text strong { color: var(--color-ink); font-size: 14px; }
.tj-auth-form .login-role-check { background: var(--color-primary); color: white; width: 19px; height: 19px; font-size: 11px; }
.tj-auth-form .login-role-icon { color: var(--color-primary); font-size: 23px; }
.tj-auth-form .google-login-button { border: 1px solid var(--color-border); border-radius: var(--radius-control); color: var(--color-ink); background: white; box-shadow: none; height: 48px; font-size: 13px; font-weight: 600; width: 100%; }
.tj-auth-form .google-login-button:hover { background: var(--color-background); border-color: #b7cfb9; transform: none; }
.tj-auth-note { margin: 18px 0 24px; font-size: 11px; color: var(--color-muted); line-height: 1.8; }
.tj-auth-links { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--color-border); padding-top: 20px; font-size: 12px; }
.tj-auth-links a { color: var(--color-primary); }
.tj-selected-package { background: var(--color-primary-soft); border: 1px solid #e0e3ed; border-radius: 10px; padding: 12px 16px; font-size: 12px; color: var(--color-primary); }
.tj-selected-package strong { display: block; font-size: 15px; margin-top: 3px; color: var(--color-ink); }
.tj-validation { font-size: 12px; color: #b34e3d; }
.tj-validation.validation-summary-valid { display: none; }
.tj-info-page { width: min(880px,calc(100% - 64px)); margin: 52px auto 64px; }
.tj-info-heading { margin-bottom: 28px; }
.tj-info-heading h1 { font-size: clamp(28px,3vw,38px); letter-spacing: -1px; margin: 10px 0; line-height: 1.3; }
.tj-info-heading p { color: var(--color-muted); font-size: 14px; line-height: 1.8; }
.tj-info-card { background: white; border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 30px; margin-bottom: 20px; }
.tj-info-card h2 { font-size: 19px; margin: 0 0 12px; }
.tj-info-card p { color: var(--color-muted); font-size: 13px; line-height: 1.9; margin: 0 0 14px; }
.tj-info-card a:not(.tj-button) { color: var(--color-primary); }
.tj-error-code { display: inline-block; padding: 8px 14px; border: 1px solid var(--color-border); border-radius: 8px; font-size: 12px; background: var(--color-background); overflow-wrap: anywhere; }
/* Readable contrast across light and dark feature sections. */
.tj-site :is(.hero,.features-hero,.pricing-hero,.about-hero,.faq-hero,.contact-hero) p { color: #6d7185; }
.tj-site :is(.about-badge,.contact-badge) { color: var(--color-primary); background: #ffffff90; border: 1px solid #e7e5d7; border-radius: 8px; }
.tj-site :is(.features-heading>span,.contact-section-label,.buyer-product-category) { color: var(--color-primary); }
.tj-site :is(h1,h2,h3) span { color: var(--color-primary); }
.tj-site .about-product-card { background: var(--color-sidebar); transform: none; box-shadow: var(--shadow-card); }
.tj-site .about-product-card h2 { color: white; }
.tj-site .about-product-card p { color: #c6d8ce; }
.tj-site .tj-auth-story h1 span { color: var(--color-sage); }
.tj-site .hero-visual-heading,.tj-site .hero-visual-caption { font-family: var(--font-body); font-style: normal; transform: none; font-weight: 600; }
.tj-site .hero-visual-heading::after { display: none; }
.tj-site .hero-visual-caption::after { display: none; }
.tj-site .hero::before,.tj-site .hero::after { display: none; }
.tj-site .price-button.primary:hover { box-shadow: none; }
.tj-site :is(.btn-primary,.about-btn-primary) { color: white; background: var(--color-primary); border: 1px solid var(--color-primary); border-radius: var(--radius-control); box-shadow: none; font-size: 13px; font-weight: 600; }
.tj-site :is(.btn-primary,.about-btn-primary):hover { color: white; background: var(--color-primary-hover); box-shadow: none; transform: none; }
.tj-site .about-btn-outline { color: var(--color-ink); background: white; border: 1px solid var(--color-border); border-radius: var(--radius-control); font-weight: 600; }
.tj-site :is(.price-button.primary,.checkout-button,.contact-submit-button) { box-shadow: none; }
.tj-site .checkout-help strong { color: var(--color-ink); }
.tj-site .checkout-help span { color: var(--color-muted); }
.tj-site :is(.checkout-card-header p,.checkout-client-info span,.checkout-package-description,.checkout-security p,.checkout-help span) { font-size: 12px; line-height: 1.8; }
.tj-site :is(.checkout-client-info strong,.summary-package-info strong,.checkout-summary-row) { font-size: 13px; }
.tj-site .checkout-subscription-option { background: var(--color-primary-soft); border-color: #e0e3ed; }
.tj-site .invoice-meta strong { font-size: 13px; }
.tj-site .invoice-meta small,.tj-site .invoice-meta span { font-size: 11px; }
.tj-site .invoice-product-row { font-size: 13px; }
.tj-site .invoice-product-name strong { font-size: 13px; }
.tj-site .invoice-product-name span { font-size: 11px; }
.tj-site .payment-heading h2 { font-size: 22px; }
.tj-site .payment-heading p { font-size: 13px; }
.tj-site .payment-heading>div>span { color: var(--color-primary); }
.tj-site .invoice-card-top h2 { overflow-wrap: anywhere; }
.tj-error-actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media(max-width:1100px) { .tj-menu { gap: 16px; } .tj-nav-actions { gap: 10px; margin-left: 0; } .tj-nav { gap: 20px; } .tj-brand { font-size: 22px; } .tj-site .hero-grid { gap: 24px; } }
@media(max-width:1000px) { .tj-menu { gap: 12px; } .tj-menu>a { font-size: 11px; } .tj-nav-actions .tj-button { padding: 10px 12px; font-size: 11px; } .tj-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; } .tj-site .checkout-grid { grid-template-columns: minmax(0,1fr) minmax(280px,.8fr); } }
@media(max-width:900px) {
    .tj-menu-toggle { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--color-border); border-radius: 8px; color: var(--color-ink); background: white; cursor: pointer; }
    .tj-nav { min-height: 72px; }
    .tj-menu { display: none; position: absolute; inset: 72px 0 auto; background: white; padding: 18px 32px 24px; border-bottom: 1px solid var(--color-border); box-shadow: 0 16px 24px #3439530a; flex-direction: column; align-items: stretch; gap: 5px; max-height: calc(100dvh - 72px); overflow-y: auto; }
    .tj-menu.is-open { display: flex; }
    .tj-menu>a { padding: 10px 12px; border-radius: 8px; font-size: 13px; }
    .tj-menu>a.is-active { background: var(--color-primary-soft); }
    .tj-menu>a.is-active::after { display: none; }
    .tj-nav-actions { margin-top: 12px; gap: 20px; }
    .tj-nav-actions .tj-button { font-size: 12px; padding: 11px 18px; }
    .tj-site .checkout-grid { grid-template-columns: 1fr; }
    .tj-site .checkout-right { position: static; }
    .tj-auth-story { padding: 32px; }
    .tj-auth-form { padding: 32px; }
    .tj-site .hero-grid { grid-template-columns: 1fr; }
    .tj-site .hero-content { max-width: 640px; }
    .tj-site .hero-visual { max-width: 650px; margin: 20px auto 0; width: 100%; }
}
@media(max-width:650px) {
    .tj-container,.tj-site .container,.tj-site .faq-container,.tj-site .contact-container,.tj-site .buyer-main,.tj-site .buyer-header-inner { width: calc(100% - 36px); }
    .tj-site .hero,.tj-site .about-hero,.tj-site .features-hero,.tj-site .faq-hero,.tj-site .contact-hero { padding: 38px 0; }
    .tj-site .pricing-hero { padding: 38px 0 88px; }
    .tj-site .hero h1 { font-size: 33px; letter-spacing: -1px; }
    .tj-site .hero-visual-heading { font-size: 21px; }
    .tj-site .hero-visual-caption { font-size: 18px; }
    .tj-site :is(.business-section,.feature-section,.testimonial-section,.features-section,.about-intro,.about-benefits,.faq-content,.contact-content,.modules-section) { padding-top: 36px; padding-bottom: 36px; }
    .tj-site :is(.bottom-cta,.features-cta,.about-cta) h2 { font-size: 24px; }
    .tj-site :is(.business-card,.testimonial-card,.features-card,.price-card,.module-card,.contact-info-card,.contact-form-card,.checkout-card,.checkout-summary) { padding: 22px; }
    .tj-site .features-grid { grid-template-columns: 1fr; }
    .tj-site .contact-grid { grid-template-columns: 1fr; }
    .tj-site .checkout-main { padding: 30px 0 40px; }
    .tj-site .checkout-card { padding: 0; }
    .tj-site .checkout-card-header,.tj-site .checkout-client,.tj-site .checkout-package,.tj-site .checkout-subscription { padding: 22px; }
    .tj-site .billing-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; font-size: 11px; text-align: left; }
    .tj-site .invoice-main { padding: 30px 18px 40px; }
    .tj-site .invoice-card-top { flex-direction: column; align-items: flex-start; gap: 12px; }
    .tj-site .invoice-card-top h2 { font-size: 17px; }
    .tj-site .invoice-cell { display: flex; justify-content: space-between; gap: 16px; }
    .tj-site .invoice-cell::before { content: attr(data-label); color: var(--color-muted); font-weight: 400; }
    .tj-site .buyer-header-inner { gap: 14px; flex-wrap: wrap; padding: 14px 0; }
    .tj-site .buyer-search { flex-basis: 100%; max-width: none; order: 2; }
    .tj-site .buyer-header-actions { margin-left: 0; width: 100%; justify-content: space-between; }
    .tj-site .buyer-welcome { padding: 24px; }
    .tj-site .buyer-welcome-art { display: none; }
    .tj-site .buyer-product-grid { gap: 14px; }
    .tj-site .buyer-product-info { padding: 16px; }
    .tj-site .buyer-product-info h3 { font-size: 15px; }
    .tj-site .buyer-product-bottom { flex-wrap: wrap; gap: 10px; }
    .tj-auth { width: calc(100% - 36px); grid-template-columns: 1fr; margin: 28px auto 40px; }
    .tj-auth-story { padding: 26px; }
    .tj-auth-story h1 { font-size: 28px; margin: 14px 0; }
    .tj-auth-story ul { display: none; }
    .tj-auth-form { padding: 24px; }
    .tj-auth-form .login-role-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tj-auth-form .login-role-card { padding: 14px; min-height: 164px; }
    .tj-auth-form .login-role-text strong { font-size: 13px; }
    .tj-info-page { width: calc(100% - 36px); margin: 30px auto 40px; }
    .tj-info-card { padding: 24px; }
    .tj-footer { padding-top: 34px; }
    .tj-footer-grid { gap: 24px; }
    .tj-footer-grid>div:first-child,.tj-footer-grid>div:last-child { grid-column: 1/-1; }
    .tj-footer-bottom { padding: 18px 0; }
    .tj-footer-bottom span:last-child { display: none; }
    .tj-site input,.tj-site select,.tj-site textarea { font-size: 16px; }
}
@media(max-width:380px) { .tj-auth-form .login-role-options { grid-template-columns: 1fr; } .tj-auth-form .login-role-card { min-height: auto; } .tj-site .buyer-product-grid { grid-template-columns: 1fr; } }
.tj-flat-icon { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.tj-site .business-item > div { color: var(--color-primary); box-shadow: none; }
.tj-site .business-item .tj-flat-icon { width: 20px; height: 20px; }
.tj-site .feature-icon { color: var(--color-primary); background: var(--color-primary-soft); box-shadow: none; }
.tj-site .feature-icon .tj-flat-icon { width: 21px; height: 21px; }
.tj-site .business-types .stat strong { display: flex; align-items: center; justify-content: center; gap: 9px; }
.tj-site .business-types .stat .tj-flat-icon { color: #a08b46; }
.tj-site .about-amza-content h2 { color: #fff; }
.tj-site .about-amza-content h2 span { color: var(--color-sage); }
.tj-site .about-amza-circle { background: rgba(204,226,189,.12); }
.tj-site .faq-contact-card { background: var(--color-primary-soft); color: var(--color-ink); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.tj-site .faq-contact-text h2 { color: var(--color-ink); }
.tj-site .faq-contact-text p { color: #6d7185; }
.tj-site .faq-contact-text > span { color: var(--color-primary); }
.tj-site .faq-contact-icon { background: white; color: var(--color-primary); }
.tj-site .faq-contact-button { background: var(--color-primary); color: white; }
.tj-site .faq-contact-button:hover { background: var(--color-primary-hover); color: white; }
@media(prefers-reduced-motion:reduce) { .tj-site *, .tj-site *::before, .tj-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

.tj-preview-notice { padding: 16px; margin: 20px 0; background: var(--color-primary-soft); border-radius: var(--radius-control); }
.google-login-button:disabled { opacity: .55; cursor: not-allowed; }

/* Monochrome icons share the primary color across public pages. */
.tj-site .tj-flat-icon { color: #a08b46; }
.tj-site .feature-icon:is(.yellow,.blue,.purple) { color: var(--color-primary); background: var(--color-primary-soft); }
.tj-site .mock-sidebar .tj-flat-icon { width: 12px; height: 12px; color: currentColor; }
.tj-site .mock-header .tj-flat-icon { width: 12px; height: 12px; }
.tj-site :is(.btn-primary,.tj-button,.about-amza-button,.about-btn-primary,.faq-contact-button) .tj-flat-icon { color: currentColor; }


/* Rounded icon holders follow the supplied reference. */
.tj-site .business-item > div { border-radius: 14px; background: #eaf4ee; }
.tj-site .feature-icon:is(.yellow,.blue,.purple) { border-radius: 14px; background: #eaf4ee; }

/* Invoice: compact hierarchy, consistent flat icons and readable details. */
.tj-site .invoice-container { max-width: 1040px; }
.tj-site .invoice-main { padding: 36px 24px 56px; }
.tj-site .invoice-success { display: grid; grid-template-columns: 56px minmax(0,1fr); column-gap: 18px; text-align: left; margin-bottom: 28px; }
.tj-site .invoice-hourglass { grid-row: 1 / 4; width: 56px; height: 56px; margin: 4px 0 0; border-radius: 16px; background: #eaf4ee; display: flex; align-items: center; justify-content: center; }
.tj-site .invoice-hourglass .tj-flat-icon { width: 26px; height: 26px; }
.tj-site .invoice-waiting { grid-column: 2; margin: 0 0 7px; font-size: 11px; letter-spacing: .8px; color: #a08b46; }
.tj-site .invoice-success h1 { grid-column: 2; margin: 0 0 8px; font-size: clamp(25px,3vw,32px); line-height: 1.2; }
.tj-site .invoice-success p { grid-column: 2; margin: 0; font-size: 14px; color: var(--color-muted); }
.tj-site .invoice-card-top { padding: 24px 28px; gap: 24px; }
.tj-site .invoice-label { font-size: 11px; letter-spacing: .9px; color: var(--color-muted); }
.tj-site .invoice-card-top > div:first-child { min-width: 0; }
.tj-site .invoice-card-top h2 { font-size: clamp(16px,2vw,22px); margin: 8px 0 0; line-height: 1.5; letter-spacing: -.3px; overflow-wrap: anywhere; }
.tj-site .invoice-status-pending { flex-shrink: 0; }
.tj-site .invoice-status-pending { min-height: 36px; padding: 9px 14px; border-radius: 9px; gap: 7px; font-size: 11px; }
.tj-site .invoice-status-pending .tj-flat-icon { width: 16px; height: 16px; color: currentColor; }
.tj-site .invoice-meta { padding: 24px 28px; gap: 22px; background: #ffffff; }
.tj-site .invoice-meta-item { gap: 12px; min-width: 0; }
.tj-site .invoice-meta strong { font-size: 14px; overflow-wrap: anywhere; }
.tj-site .invoice-meta span,.tj-site .invoice-meta small { font-size: 12px; }
.tj-site :is(.meta-icon,.product-box-icon,.payment-heading-icon,.payment-option-icon,.information-icon) { width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; border-radius: 12px; background: #eaf4ee; color: #a08b46; display: flex; align-items: center; justify-content: center; }
.tj-site :is(.meta-icon,.product-box-icon,.payment-heading-icon,.payment-option-icon) .tj-flat-icon { width: 21px; height: 21px; }
.tj-site .invoice-product { padding: 20px 28px 28px; }
.tj-site .invoice-product-header { padding: 13px 16px; border-radius: 8px; font-size: 11px; color: var(--color-muted); }
.tj-site .invoice-product-row { padding: 20px 16px; align-items: center; }
.tj-site .invoice-product-name { gap: 12px; }
.tj-site .invoice-product-name strong { font-size: 14px; }
.tj-site .invoice-product-name span { font-size: 12px; }
.tj-site .invoice-total-area { max-width: 400px; margin-top: 18px; margin-left: auto; }
.tj-site .invoice-total-row { padding: 10px 12px; font-size: 13px; }
.tj-site .invoice-grand-total { padding: 16px; background: #eaf4ee; border-radius: 10px; gap: 20px; }
.tj-site .invoice-grand-total span { font-size: 13px; }
.tj-site .invoice-grand-total strong { font-size: 24px; white-space: nowrap; }
.tj-site .invoice-payment-card { padding: 26px 28px; margin-top: 20px; }
.tj-site .payment-heading { gap: 14px; align-items: flex-start; }
.tj-site .payment-heading h2 { font-size: 21px; margin: 6px 0 8px; }
.tj-site .payment-heading p { font-size: 13px; margin: 0; }
.tj-site .invoice-payment-options { gap: 14px; margin-top: 24px; }
.tj-site .invoice-payment-option { padding: 16px; gap: 12px; border: 1px solid var(--color-border); border-radius: 12px; background: #ffffff; min-width: 0; flex-wrap: wrap; }
.tj-site .payment-option-name { min-width: 0; flex: 1; }
.tj-site .invoice-page :is(.meta-icon,.product-box-icon,.payment-heading-icon,.payment-option-icon) { background: #eaf4ee; color: #a08b46; }
.tj-site .payment-option-name strong { font-size: 13px; }
.tj-site .payment-soon { padding: 4px 7px; font-size: 9px; background: #eaf4ee; color: #a08b46; }
.tj-site .payment-information { padding: 16px; gap: 12px; border-radius: 10px; background: #f5f7f6; }
.tj-site .information-icon { width: 28px; height: 28px; min-width: 28px; background: transparent; }
.tj-site .invoice-actions { margin-top: 24px; gap: 12px; }
.tj-site .payment-contact-link { display: inline-block; margin-top: 10px; color: var(--color-primary); font-size: 13px; font-weight: 600; }
.tj-site .invoice-page .invoice-product-header,.tj-site .invoice-page .invoice-product-row { grid-template-columns: minmax(0,2.5fr) minmax(90px,1fr) 50px minmax(100px,1fr); gap: 16px; }
.tj-site .invoice-page .invoice-product-name { min-width: 0; }
.tj-site .invoice-page .invoice-product-name strong { overflow-wrap: anywhere; }
@media(min-width:651px) and (max-width:1000px) {
    .tj-site .invoice-payment-options { grid-template-columns: 1fr; }
    .tj-site .invoice-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tj-site .invoice-meta-item:last-child { grid-column: 1 / -1; }
}
@media(max-width:650px) {
    .tj-site .invoice-main { padding: 26px 18px 36px; }
    .tj-site .invoice-success { grid-template-columns: 44px minmax(0,1fr); gap: 0 12px; }
    .tj-site .invoice-hourglass { width: 44px; height: 44px; border-radius: 12px; }
    .tj-site .invoice-hourglass .tj-flat-icon { width: 22px; height: 22px; }
    .tj-site .invoice-success h1 { font-size: 25px; }
    .tj-site .invoice-success p { font-size: 12px; }
    .tj-site .invoice-card-top,.tj-site .invoice-meta,.tj-site .invoice-payment-card { padding: 20px; }
    .tj-site .invoice-card-top h2 { font-size: 18px; }
    .tj-site .invoice-product { padding: 16px 20px 20px; }
    .tj-site .invoice-product-row { padding: 18px 0; }
    .tj-site .invoice-page .invoice-product-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .tj-site .invoice-page .invoice-product-header { display: none; }
    .tj-site .invoice-meta { grid-template-columns: minmax(0,1fr); }
    .tj-site .invoice-total-area { width: 100%; max-width: none; }
    .tj-site .invoice-grand-total strong { font-size: 22px; }
    .tj-site .invoice-actions { flex-direction: column; }
    .tj-site .invoice-actions a { width: 100%; justify-content: center; }
}
.tj-site .invoice-bank-accounts { display: grid; gap: 16px; margin-top: 24px; }
.tj-site .invoice-bank-account { padding: 22px; border: 1px solid var(--color-border); border-radius: 14px; background: #ffffff; }
.tj-site .invoice-bank-account h3 { margin: 0 0 6px; font-size: 16px; }
.tj-site .payment-account-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 20px 0; margin: 0; }
.tj-site .payment-account-details dt { font-size: 12px; color: var(--color-muted); margin-bottom: 8px; }
.tj-site .payment-account-details dd { margin: 0; font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.tj-site .payment-account-details .payment-account-number { font-size: 22px; letter-spacing: 1px; }
.tj-site .payment-bank-instructions { font-size: 13px; line-height: 1.8; margin: 0; color: var(--color-muted); }
@media(max-width:650px) { .tj-site .payment-account-details { grid-template-columns: 1fr; gap: 16px; } .tj-site .invoice-bank-account { padding: 18px; } }
.tj-site .invoice-qris { display: flex; align-items: center; gap: 24px; margin: 20px 0; }
.tj-site .invoice-qris img { width: 240px; max-width: 100%; height: auto; background: white; }
.tj-site .invoice-qris p { font-size: 13px; line-height: 1.7; }
@media(max-width:650px) { .tj-site .invoice-qris { flex-direction: column; align-items: flex-start; } }
.tj-site .invoice-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.tj-site .invoice-toolbar-back { font-size:13px; color:var(--color-muted); }
.tj-site .invoice-toolbar-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.tj-site .invoice-tool-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:11px 16px; border:1px solid var(--color-border); border-radius:10px; background:white; color:var(--color-ink); font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.tj-site .invoice-tool-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tj-site .invoice-tool-primary { background:var(--color-primary); border-color:var(--color-primary); color:white; }
.tj-site .invoice-tool-button:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.tj-site .invoice-tool-button:disabled { opacity:.65; }
.tj-site .invoice-action-message { font-size:13px; color:var(--color-primary); }
.tj-site .invoice-action-message:empty { display:none; }
.tj-site .invoice-share-fallback { width:100%; min-height:180px; padding:16px; margin-bottom:20px; border:1px solid var(--color-border); border-radius:10px; }
.tj-site .invoice-document-brand { display:flex; gap:12px; align-items:center; padding:24px 28px 0; }
.tj-site .invoice-document-brand img { width:36px; height:36px; }
.tj-site .invoice-document-brand strong { display:block; font-size:18px; }
.tj-site .invoice-document-brand span { font-size:11px; color:var(--color-muted); }
.tj-site .invoice-page .invoice-success { padding-bottom:0; }
.tj-site .invoice-page .invoice-meta { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tj-site .invoice-page .invoice-meta-item > div:last-child { min-width:0; }
.tj-site .invoice-page .invoice-meta strong { overflow-wrap:anywhere; }
@media(max-width:850px) { .tj-site .invoice-page .invoice-meta { grid-template-columns:minmax(0,1fr); gap:18px; } .tj-site .invoice-page .invoice-meta-item:last-child { grid-column:auto; } }
@media print {
    @page { size:A4; margin:14mm; }
    html,body.tj-site { background:white !important; font-size:11pt; }
    .tj-site .tj-header,.tj-site .tj-footer,.tj-site .tj-skip,.invoice-toolbar,.invoice-action-message,.invoice-share-fallback,.invoice-success,.invoice-actions,.payment-contact-link,#invoiceShareData { display:none !important; }
    .tj-site .invoice-page { min-height:0; background:white; }
    .tj-site .invoice-main { padding:0; }
    .tj-site .invoice-container { max-width:none; width:100%; }
    .tj-site .invoice-card-modern,.tj-site .invoice-payment-card { box-shadow:none; border:1px solid #dce3df; border-radius:8px; overflow:visible; }
    .tj-site .invoice-card-top { flex-direction:row; padding:18px; min-height:0; }
    .tj-site .invoice-card-top h2 { font-size:15pt; }
    .tj-site .invoice-document-brand { padding:18px 18px 0; }
    .tj-site .invoice-page .invoice-meta { grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px; gap:12px; }
    .tj-site .invoice-meta-item { gap:8px; }
    .tj-site .invoice-meta strong { font-size:10pt; }
    .tj-site .invoice-product { padding:16px 18px; }
    .tj-site .invoice-page .invoice-product-header,.tj-site .invoice-page .invoice-product-row { display:grid; grid-template-columns:minmax(0,2fr) 90px 32px 95px; gap:12px; }
    .tj-site .invoice-cell::before { display:none; }
    .tj-site .invoice-cell { display:block; }
    .tj-site .invoice-page .invoice-total-area { width:55%; max-width:none; }
    .tj-site .invoice-grand-total strong { font-size:18pt; }
    .tj-site .invoice-page :is(.meta-icon,.product-box-icon) { width:30px; height:30px; min-width:30px; }
    .invoice-product-row,.invoice-total-area,.invoice-meta,.invoice-card-top,.invoice-bank-account { break-inside:avoid; }
    .tj-site .invoice-payment-card { margin-top:16px; padding:18px; }
    .tj-site .payment-account-details { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tj-site .invoice-qris { flex-direction:row; }
    .tj-site .invoice-qris img { width:160px; }
}
.tj-site .client-stores { padding:56px 24px; background:#f5f7f6; }
.tj-site .client-stores-heading { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:28px; }
.tj-site .client-stores-heading h2 { font-size:clamp(24px,3vw,32px); margin:14px 0 10px; }
.tj-site .client-stores-heading p { font-size:14px; color:var(--color-muted); margin:0; }
.tj-site .client-stores-count { font-size:12px; color:var(--color-primary); white-space:nowrap; }
.tj-site .client-stores-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.tj-site .client-store-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; background:white; border:1px solid var(--color-border); border-radius:16px; }
.tj-site .client-store-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#eaf4ee; color:#a08b46; border-radius:12px; }
.tj-site .client-store-card h3 { font-size:16px; line-height:1.5; margin:18px 0 8px; overflow-wrap:anywhere; }
.tj-site .client-store-status { font-size:11px; color:var(--color-muted); margin-bottom:18px; }
.tj-site .client-store-link { font-size:13px; color:var(--color-primary); font-weight:600; margin-top:8px; overflow-wrap:anywhere; }
.tj-site .client-stores-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; margin-top:28px; font-size:13px; }
.tj-site .client-stores-empty { padding:24px; background:white; border:1px solid var(--color-border); border-radius:14px; color:var(--color-muted); }
@media(max-width:1000px) { .tj-site .client-stores-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .tj-site .client-stores { padding:36px 18px; } .tj-site .client-stores-heading { flex-direction:column; align-items:flex-start; gap:14px; } .tj-site .client-stores-grid { grid-template-columns:minmax(0,1fr); } }
.tj-site .client-store-logo { width:64px; height:64px; position:relative; border:1px solid #e3e9e6; border-radius:14px; overflow:hidden; background:#eaf4ee; }
.tj-site .client-store-logo-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:6px; background:white; opacity:0; }
.tj-site .client-store-logo-fallback { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#a08b46; }
.tj-site .client-store-logo-fallback .tj-flat-icon { width:26px; height:26px; }
.tj-site .client-store-logo.has-logo .client-store-logo-image { opacity:1; }
.tj-site .client-store-logo.has-logo .client-store-logo-fallback { visibility:hidden; }
.tj-site .client-store-tagline { margin:0 0 14px; font-size:12px; line-height:1.7; color:var(--color-muted); overflow-wrap:anywhere; }
.tj-site :is(.hero,.about-hero,.features-hero,.pricing-hero,.faq-hero,.contact-hero) { background:linear-gradient(120deg,#f0f1f9 0%,#f8f8fb 58%,#eaf1e5 100%); }
.tj-site :is(.tj-brand-mark,.client-store-logo,.business-item>div,.feature-icon,.meta-icon,.payment-option-icon,.product-box-icon) { border-color:var(--color-border); }
.tj-site .stars { color:#bda452; }
.tj-site .tj-footer { background:var(--color-sidebar); }
.tj-site :is(.bottom-cta,.features-cta-inner,.about-cta) { background:var(--color-sidebar); }
.tj-site .tj-footer :is(p,.tj-brand small,.tj-footer-grid>div>a:not(.tj-brand)) { color:#b4bad1; }
.tj-site :is(.hero,.about-hero,.features-hero,.pricing-hero,.faq-hero,.contact-hero) { background:linear-gradient(120deg,#eaf1e5 0%,#eaf1e5 65%,#f5f7f6 100%); }
.tj-site :is(.tj-button,.btn-yellow,.price-button.primary,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button,.invoice-tool-primary) { background:#cce2bd; border-color:#e4a532; color:var(--color-ink); }
.tj-site :is(.tj-button,.btn-yellow,.price-button.primary,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button,.invoice-tool-primary):hover { background:#edae32; color:var(--color-ink); }
.tj-site :is(.tj-footer,.bottom-cta,.features-cta-inner,.about-cta) { background:#eaf1e5; color:var(--color-ink); }

.tj-site .tj-footer-bottom { border-color:#d4e1cc; }
.tj-site :is(.bottom-cta,.features-cta-inner,.about-cta) :is(h2,p,span) { color:var(--color-ink); }
.tj-site :is(.client-store-logo,.business-item>div,.feature-icon,.meta-icon,.payment-option-icon,.product-box-icon,.invoice-hourglass) { background:var(--color-green-soft); color:var(--color-icon); }
.tj-site .tj-flat-icon { color:var(--color-icon); }
.tj-site .client-store-logo-fallback { color:var(--color-icon); }
.tj-site .stars { color:var(--color-green); }
.tj-site :is(.invoice-tool-primary,.tj-button) .tj-flat-icon { color:currentColor; }
.tj-site :is(.price-icon,.checkout-package-icon,.summary-package-icon) { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex-shrink:0; border-radius:14px; background:var(--color-green-soft); color:var(--color-green); border:1px solid #dce7d3; }
.tj-site :is(.price-icon,.checkout-package-icon,.summary-package-icon) .tj-flat-icon { width:27px; height:27px; color:currentColor; }
.tj-site .price-card.popular .price-icon { background:#eaf4ee; border-color:#efd59c; color:#9b762c; }
.tj-site .pricing-grid { gap:24px; align-items:stretch; }
.tj-site .pricing-grid .price-card { padding:26px; border-radius:20px; margin-top:20px; background:#fff; }
.tj-site .price-package-head { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-height:240px; margin:-26px -26px 26px; padding:42px 20px 26px; text-align:center; --package-cloud:#ffe0a0; }
.tj-site .price-package-cloud { position:absolute; inset:0; width:100%; height:100%; z-index:-1; fill:var(--package-cloud); }
.tj-site .price-package-head .price-icon { width:86px; height:86px; min-width:86px; border-radius:50%; border:6px solid #fff9e8; background:#edf3ed; color:#6f895e; box-shadow:0 3px 0 #d7bf8738; }
.tj-site .price-package-head .price-icon .tj-flat-icon { width:42px; height:42px; stroke-width:1.8; }
.tj-site .price-package-head h2 { margin:18px 0 8px; font-size:28px; line-height:1.2; color:var(--color-ink); }
.tj-site .price-package-caption { padding:4px 12px; background:#ffffffba; border-radius:6px; font-size:10px; font-weight:650; letter-spacing:1.3px; color:#716033; }
.tj-site .price-card.popular .price-package-head { --package-cloud:#cce2bd; }
.tj-site .price-card.popular .price-icon { border-color:#fff4d6; background:#eef4e5; color:#617c52; }
.tj-site .price-card.popular,.tj-site .price-card.popular:hover { border-color:#e4b750; box-shadow:0 12px 32px #aa812014; }
.tj-site .price-card .popular-label { right:16px; left:auto; top:-15px; transform:none; z-index:2; background:#e6efda; color:#536c45; padding:7px 12px; font-size:10px; border:1px solid #d2e0be; }
.tj-site .pricing-grid .package-description { margin-top:0; }
@media(max-width:650px) { .tj-site .price-package-head { min-height:220px; } .tj-site .pricing-grid .price-card { padding:26px; } }
.tj-site .pricing-grid .price-card,.tj-site .pricing-grid .price-card:hover { padding:0; background:transparent; border:0; box-shadow:none; border-radius:0; transform:none; }
.tj-site .price-package-head { margin:0 0 -12px; min-height:260px; padding:66px 24px 24px; --package-cloud:#dfead5; }
.tj-site .price-package-cloud { overflow:visible; filter:drop-shadow(0 5px 3px #ac7b2412); }
.tj-site .package-arch-line { fill:none; stroke:#c99a45; stroke-width:1.2; opacity:.65; }
.tj-site .package-arch-ornament { fill:none; stroke:#bd9349; stroke-width:1.3; opacity:.42; }
.tj-site .price-package-head .price-icon,.tj-site .price-card.popular .price-icon { width:76px; height:76px; min-width:76px; background:transparent; border:0; box-shadow:none; color:#667c4f; }
.tj-site .price-package-head .price-icon .tj-flat-icon { width:52px; height:52px; filter:drop-shadow(0 2px 0 #fff6db); }
.tj-site .price-package-head h2 { margin:7px 0 8px; font-size:27px; }
.tj-site .price-package-caption { background:transparent; padding:0; color:#79632f; }
.tj-site .price-package-body { position:relative; margin:0 22px; padding:28px 22px 24px; border:1px solid var(--color-border); border-top:0; border-radius:0 0 16px 16px; background:#ffffff; display:flex; flex-direction:column; flex:1; }
.tj-site .price-card.popular .price-package-head { --package-cloud:#cce2bd; }
.tj-site .price-card.popular .price-package-body { border-color:#e7c27b; background:#fafcf9; }
.tj-site .price-card .popular-label { top:18px; right:0; }
@media(max-width:650px) { .tj-site .pricing-grid .price-card { padding:0; } .tj-site .price-package-head { min-height:260px; } }
.tj-site .pricing-hero { padding-bottom:48px; }
.tj-site .pricing-section { margin-top:0; padding-top:52px; position:relative; }
.tj-site .pricing-grid .price-card { margin-top:0; }
.tj-site .price-package-head { margin-bottom:0; padding-top:72px; }
.tj-site .price-package-cloud { filter:drop-shadow(0 3px 2px #ac7b2410); }
.tj-site .package-arch-line { stroke:#bb9144; stroke-width:2; opacity:.55; filter:drop-shadow(0 1px 0 #fff7d9); }
.tj-site .package-lattice { stroke:#b18d4a; stroke-width:1.5; opacity:.32; filter:drop-shadow(0 1px 0 #fff4cd); }
.tj-site .price-card.popular .package-lattice { stroke:#98752f; opacity:.35; }
.tj-site .price-card .popular-label { top:24px; right:22px; }
@media(max-width:650px) { .tj-site .pricing-hero { padding-bottom:32px; } .tj-site .pricing-section { padding-top:36px; } }
.tj-site :is(.hero,.about-hero,.features-hero,.pricing-hero,.faq-hero,.contact-hero) { background:#eaf1e5; }
.tj-site :is(.tj-button,.btn-yellow,.price-button.primary,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button,.invoice-tool-primary) { background:var(--color-primary); border-color:var(--color-primary); color:white; }
.tj-site :is(.tj-button,.btn-yellow,.price-button.primary,.features-hero-button,.features-cta-inner>a,.about-primary-button,.about-cta-button,.contact-submit-button,.checkout-button,.invoice-btn-history,.faq-contact-button,.invoice-tool-primary):hover { background:var(--color-primary-hover); color:white; }
.tj-site :is(.tj-footer,.bottom-cta,.features-cta-inner,.about-cta) { background:var(--color-sidebar); color:white; }
.tj-site .tj-footer :is(p,.tj-brand small,.tj-footer-grid>div>a:not(.tj-brand),.tj-footer-bottom) { color:#b0c4be; }
.tj-site .tj-footer :is(.tj-brand,.tj-footer-grid>div>strong),.tj-site :is(.bottom-cta,.features-cta-inner,.about-cta) :is(h2,p,span) { color:white; }
.tj-site .tj-footer-bottom { border-color:#345047; }
.tj-site .price-package-head { --package-cloud:#dfead5; }
.tj-site .price-card.popular .price-package-head { --package-cloud:#cce2bd; }
.tj-site :is(.package-arch-line,.package-lattice) { stroke:#859b76; }
.tj-site .price-card.popular .package-lattice { stroke:#768d64; }
.tj-site .price-package-caption { color:#64765b; }
.tj-site .price-card.popular .price-package-body { border-color:#c5d7b8; }

/* Full geometric relief, with warm yellow accents and consistent spacing. */
.tj-site .price-package-head { height:300px; min-height:300px; padding:98px 32px 28px; justify-content:flex-end; gap:0; }
.tj-site .price-package-cloud pattern path { fill:none; stroke:#82966e; stroke-width:1; }
.tj-site .package-relief-pattern { opacity:.24; }
.tj-site .package-arch-line { stroke:#d6ad4b; stroke-width:2; opacity:.85; }
.tj-site .price-package-head .price-icon { width:68px; height:68px; min-width:68px; margin-bottom:8px; background:#fff1bb; border:1px solid #e5ca78; border-radius:50%; color:#61794f; }
.tj-site .price-package-head .price-icon .tj-flat-icon { width:38px; height:38px; filter:none; }
.tj-site .price-package-head h2 { margin:8px 0 12px; font-size:28px; line-height:1.2; text-shadow:0 1px 3px #eaf1e5; }
.tj-site .price-package-caption { padding:5px 12px; border-radius:20px; background:#fff1bb; color:#796128; font-size:10px; letter-spacing:1.4px; }
.tj-site .price-card.popular .price-icon { background:#ffe69a; border-color:#dcb44c; }
.tj-site .price-card .popular-label { top:48px; right:24px; background:#ffe69a; border-color:#e3c36e; color:#72591f; }
.tj-site .price-package-body { padding-top:28px; }
@media(max-width:650px) { .tj-site .price-package-head { height:300px; min-height:300px; } .tj-site .price-card .popular-label { right:26px; } }


/* Match the dashboard illustration to the green and yellow brand palette. */
.tj-site .laptop-screen { background:#203d38; border-color:#203d38; }
.tj-site .mock-sidebar,.tj-site .mock-brand { background:#142b31; }
.tj-site .mock-brand { color:#ffe29a; }
.tj-site .mock-menu.active { background:#34594f; color:#fff1bb; box-shadow:inset 3px 0 #e4bb53; }
.tj-site .mock-main { background:#f5f7f6; }
.tj-site :is(.mock-header,.mock-card strong,.chart-title,.sales-card) { color:var(--color-ink); }
.tj-site .chart div { background:linear-gradient(90deg,#ecd080 50%,#789786 50%); }
.tj-site .laptop-base { background:linear-gradient(#dce5de,#8d9f94); }
.tj-site .bottom-cta::before { content:none; display:none; }
.tj-site .tj-footer .tj-footer-grid > div > strong,
.tj-site .tj-footer .tj-brand,
.tj-site .tj-footer .tj-brand > span:not(.tj-brand-mark) { color:#f4f8f5; }
.tj-site .tj-footer .tj-footer-grid > div > a.tj-footer-cta { color:#ffe29a; }
.tj-site .tj-footer .tj-footer-grid > div > a:hover { color:#fff1bb; }
.tj-site .bottom-cta .btn-dark-outline { color:#f4f8f5; border-color:#a9c2b5; background:transparent; }
.tj-site .bottom-cta .btn-dark-outline:hover { color:#142b31; border-color:#e6cc80; background:#fff1bb; }
.tj-site .bottom-cta .cta-buttons .tj-flat-icon { color:currentColor; }

.tj-site .tj-auth-story .ca-eyebrow { color:#ffe29a; }
.tj-site .tj-auth-story li { border-color:#345047; }

@media screen {
    .tj-site .invoice-card-top h2 { font-size:clamp(15px,1.3vw,18px); line-height:1.45; font-weight:600; letter-spacing:0; }
    .tj-site .invoice-document-brand strong { font-size:16px; line-height:1.4; }
    .tj-site .invoice-document-brand span { font-size:10px; }
    .tj-site .invoice-card-top .invoice-status-pending { font-size:10px; padding:8px 12px; min-height:32px; }
    .tj-site .invoice-card-top > div:first-child > span { font-size:10px; }
}

/* Document invoice inspired by a clean business invoice. */
.tj-site .invoice-page .invoice-container { max-width:1000px; }
.tj-site .invoice-success { display:none; }
.tj-site .invoice-card-modern { padding:36px; border-radius:8px; background:white; }
.tj-site .invoice-document-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; margin-bottom:44px; }
.tj-site .invoice-document-brand { padding:0; }
.tj-site .invoice-document-brand img { width:48px; height:48px; object-fit:contain; }
.tj-site .invoice-document-brand strong { font-size:18px; }
.tj-site .invoice-document-reference h2 { text-align:right; font-size:22px; margin:0 0 16px; color:var(--color-primary); }
.tj-site .invoice-document-reference dl { margin:0; font-size:11px; }
.tj-site .invoice-document-reference dl > div { display:grid; grid-template-columns:85px minmax(0,1fr); gap:12px; margin:6px 0; }
.tj-site .invoice-document-reference dt { color:var(--color-muted); font-weight:400; }
.tj-site .invoice-document-reference dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.tj-site .invoice-document-reference .invoice-status-pending { display:inline-flex; align-items:center; gap:5px; font-size:10px; padding:4px 9px; min-height:0; border-radius:5px; }
.tj-site .invoice-document-reference .tj-flat-icon { width:13px; height:13px; color:currentColor; }
.tj-site .invoice-parties { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:28px; font-size:12px; }
.tj-site .invoice-parties h3,.tj-site .invoice-document-notes h3 { font-size:11px; padding-bottom:9px; border-bottom:1px solid #a7b7ae; margin:0 0 12px; }
.tj-site .invoice-parties strong { color:var(--color-primary); font-size:13px; }
.tj-site .invoice-parties p { margin:8px 0; overflow-wrap:anywhere; }
.tj-site .invoice-parties span { color:var(--color-muted); }
.tj-site .invoice-product { padding:0; }
.tj-site .invoice-product-header { border-radius:0; background:#203d38; color:white; padding:10px 12px; font-size:11px; }
.tj-site .invoice-product-header > div { color:white; }
.tj-site .invoice-product-row { padding:14px 12px; font-size:12px; background:#f5f7f6; border-bottom:1px solid var(--color-border); }
.tj-site .invoice-product-row:nth-child(odd) { background:#fafcfb; }
.tj-site .invoice-product-name strong { font-size:12px; }
.tj-site .invoice-product-name span { font-size:10px; }
.tj-site .invoice-product-name .product-box-icon { display:none; }
.tj-site .invoice-document-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; margin-top:28px; }
.tj-site .invoice-document-notes { font-size:11px; color:var(--color-muted); line-height:1.7; }
.tj-site .invoice-document-notes h3 { color:var(--color-ink); margin-top:20px; }
.tj-site .invoice-document-notes h3:first-child { margin-top:0; }
.tj-site .invoice-page .invoice-total-area { width:100%; max-width:none; margin:0; }
.tj-site .invoice-total-row { font-size:12px; padding:8px 0; }
.tj-site .invoice-grand-total { border-radius:0; padding:12px; background:#eaf1e5; }
.tj-site .invoice-grand-total span { font-size:12px; }
.tj-site .invoice-grand-total strong { font-size:18px; }
@media(max-width:650px) {
 .tj-site .invoice-card-modern { padding:22px 18px; }
 .tj-site .invoice-document-header { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
 .tj-site .invoice-document-reference h2 { text-align:left; }
 .tj-site .invoice-parties { gap:20px; }
 .tj-site .invoice-document-summary { grid-template-columns:1fr; gap:24px; }
}
@media print {
 .tj-site .invoice-card-modern { padding:12px; border:0; }
 .tj-site .invoice-document-header { grid-template-columns:1fr 1fr; margin-bottom:32px; }
 .tj-site .invoice-document-brand { padding:0; }
 .tj-site .invoice-document-summary { grid-template-columns:1fr 1fr; gap:40px; }
 .tj-site .invoice-product-header { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .tj-site .invoice-parties,.tj-site .invoice-document-summary { break-inside:avoid; }
}
.tj-site .tj-official-address { font-style:normal; color:#b8cec3; font-size:11px; line-height:1.8; margin-top:16px; }
.tj-site .invoice-official-address { font-style:normal; font-size:11px; line-height:1.7; margin:8px 0; color:var(--color-ink); }

.tj-site .about-founder { padding:64px 0; background:#f5f7f6; }
.tj-site .about-founder-grid { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:center; gap:48px; max-width:960px; }
.tj-site .about-founder-photo { margin:0; padding:8px; background:white; border:1px solid var(--color-border); border-radius:18px; }
.tj-site .about-founder-photo img { display:block; width:100%; height:300px; object-fit:cover; object-position:center 45%; border-radius:12px; }
.tj-site .about-founder-content h2 { font-size:28px; margin:14px 0 8px; }
.tj-site .about-founder-role { display:inline-block; background:#fff1bb; color:#72591f; border-radius:6px; padding:5px 10px; font-size:12px; }
.tj-site .about-founder-content p { color:var(--color-muted); font-size:13px; line-height:1.85; margin:16px 0; }
.tj-site .about-founder-location { margin:20px 0; padding-top:16px; border-top:1px solid var(--color-border); font-size:12px; }
.tj-site .about-founder-location address { font-style:normal; color:var(--color-muted); line-height:1.8; margin:6px 0 0; }
@media(max-width:650px) { .tj-site .about-founder { padding:40px 0; } .tj-site .about-founder-grid { grid-template-columns:1fr; gap:24px; } .tj-site .about-founder-photo { width:210px; } .tj-site .about-founder-photo img { height:265px; } .tj-site .about-founder-content h2 { font-size:24px; } }
.tj-site .client-stores-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tj-site .client-store-description { color:var(--color-muted); font-size:12px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 12px; }
.tj-site .client-store-rating { font-size:11px; color:#72591f; margin-bottom:16px; }
.tj-site .client-store-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:100%; margin:0 0 16px; }
.tj-site .client-store-product { min-width:0; font-size:10px; }
.tj-site .client-store-product-picture { position:relative; display:grid; place-items:center; aspect-ratio:1; border-radius:8px; background:#edf3ed; overflow:hidden; margin-bottom:8px; }
.tj-site .client-store-product-picture img { position:absolute; width:100%; height:100%; object-fit:contain; background:white; }
.tj-site .client-store-product strong { font-size:11px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; }
.tj-site .client-store-product > span,.tj-site .client-store-product > a { display:block; margin-top:5px; }
.tj-site .client-store-product > a { color:var(--color-primary); }
.tj-site .client-store-link { margin-top:auto; }
@media(max-width:1000px) { .tj-site .client-stores-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .tj-site .client-stores-grid { grid-template-columns:1fr; } }
.tj-site .client-store-search { margin-bottom:24px; }
.tj-site .client-store-search label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.tj-site .client-store-search > div { display:flex; gap:10px; flex-wrap:wrap; }
.tj-site .client-store-search input { flex:1; min-width:180px; padding:10px 12px; border:1px solid var(--color-border); border-radius:9px; background:white; }
.tj-site .client-store-search small { display:block; color:var(--color-muted); margin-top:8px; font-size:11px; }
.tj-site .client-store-product:nth-child(n+4) { display:none; }
.tj-site .client-store-product[hidden] { display:none; }
.tj-site .market-results-toolbar { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:16px; background:#eaf1e5; border-radius:10px; }
.tj-site .market-results-toolbar h3 { flex:1; margin:0; font-size:15px; }
.tj-site .market-results-toolbar label { font-size:12px; }
.tj-site .market-results-toolbar select { padding:8px; border:1px solid var(--color-border); border-radius:6px; background:white; }
.tj-site .market-results-note { font-size:11px; color:var(--color-muted); margin:12px 0 18px; }
.tj-site .market-results-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.tj-site .market-product { display:flex; flex-direction:column; min-width:0; padding:10px; background:white; border:1px solid var(--color-border); border-radius:10px; color:var(--color-ink); text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.tj-site a.market-product:hover { border-color:#cfab48; box-shadow:0 5px 15px #20383e12; }
.tj-site .market-product-picture { position:relative; display:grid; place-items:center; aspect-ratio:1; background:#edf3ed; border-radius:6px; overflow:hidden; }
.tj-site .market-product-picture img { position:absolute; width:100%; height:100%; object-fit:contain; background:white; }
.tj-site .market-product-picture .buyer-best-seller { position:absolute; z-index:1; top:8px; left:8px; max-width:calc(100% - 16px); padding:5px 8px; border-radius:999px; background:#fff7d6; color:#76520b; font-size:10px; font-weight:700; line-height:1.2; }
.tj-site .buyer-catalog-pagination { display:flex; align-items:center; justify-content:center; gap:8px; width:fit-content; max-width:100%; margin:24px auto 8px; padding:6px; border:1px solid #e3ece6; border-radius:999px; background:linear-gradient(135deg,#f5f9f6,#edf5ef); box-shadow:0 4px 14px #173a2b08; }
.tj-site .buyer-catalog-pagination[hidden] { display:none; }
.tj-site .buyer-catalog-pagination span { min-width:142px; padding:0 8px; text-align:center; color:#60766d; font-size:11px; font-weight:600; letter-spacing:.01em; }
.tj-site .buyer-catalog-pagination button { min-height:36px; padding:8px 14px; border:1px solid transparent; border-radius:999px; font-size:11px; font-weight:650; line-height:1.2; box-shadow:none; transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.tj-site .buyer-catalog-pagination button.invoice-tool-button { background:#fff; border-color:#e1eae4; color:#44665a; }
.tj-site .buyer-catalog-pagination button.tj-button { background:#176b58; color:#fff; }
.tj-site .buyer-catalog-pagination button:not(:disabled):hover { transform:translateY(-1px); }
.tj-site .buyer-catalog-pagination button.invoice-tool-button:not(:disabled):hover { background:#e8f2eb; border-color:#cbded1; }
.tj-site .buyer-catalog-pagination button.tj-button:not(:disabled):hover { background:#105b49; }
.tj-site .buyer-catalog-pagination button:focus-visible { outline:3px solid #e9c652; outline-offset:2px; }
.tj-site .buyer-catalog-pagination button:disabled { opacity:.48; cursor:not-allowed; }
.tj-site .market-product h4 { font-size:12px; font-weight:500; line-height:1.6; margin:12px 0 8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }
.tj-site .market-product-price { color:#9a6a19; font-size:15px; margin-top:auto; }
.tj-site .market-product-store { font-size:10px; color:var(--color-muted); margin:6px 0; overflow-wrap:anywhere; }
.tj-site .market-product-action { font-size:10px; color:var(--color-primary); }
@media(max-width:1000px) { .tj-site .market-results-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) { .tj-site .market-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .tj-site .market-results-toolbar h3 { flex-basis:100%; } }
.tj-site .market-matching-stores-title { margin:32px 0 18px; font-size:18px; }
.tj-site .payment-bank-logo { width:76px; height:32px; object-fit:contain; }
.tj-site .payment-option-icon:has(.payment-bank-logo) { width:90px; min-width:90px; background:white; border:1px solid var(--color-border); }
.tj-site .invoice-proof-upload { margin:20px 0; font-size:12px; }
.tj-site .invoice-proof-upload summary { width:fit-content; cursor:pointer; }
.tj-site .invoice-proof-upload form { padding:18px; background:#f5f7f6; border-radius:9px; margin-top:12px; }
.tj-site .invoice-proof-upload input { display:block; margin:12px 0; max-width:100%; }
@media print { .tj-site .invoice-proof-upload { display:none; } }
.tj-site .buyer-market-page { padding-top:36px; padding-bottom:56px; }
.tj-site .buyer-market-welcome { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:28px; }
.tj-site .buyer-market-welcome h1 { font-size:26px; margin:12px 0 8px; }
.tj-site .buyer-market-welcome p { color:var(--color-muted); font-size:13px; margin:0; }
.tj-site .buyer-market-page .market-results-toolbar h2 { font-size:15px; margin:0; flex:1; }
.tj-site .buyer-catalog-sort-label { color:var(--color-muted); font-size:11px; }
@media(max-width:650px) { .tj-site .buyer-market-welcome { flex-direction:column; align-items:flex-start; } .tj-site .buyer-market-page .market-results-toolbar h2 { flex-basis:100%; } }
.tj-site #proofImagePreview { display:block; max-width:min(100%,360px); max-height:360px; object-fit:contain; margin:16px 0; border:1px solid var(--color-border); border-radius:8px; }
.tj-site #proofCameraPanel { margin:16px 0; }
.tj-site #proofCameraVideo { display:block; width:100%; max-width:480px; max-height:360px; background:#142b31; border-radius:8px; margin-bottom:12px; }
.tj-site .invoice-proof-upload input[hidden],.tj-site #proofImagePreview[hidden] { display:none; }

#TransferProof { display: none !important; }

/* Payment proof: separate the instructions, photo actions and submission. */
.tj-site .invoice-proof-upload form {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 12px;
    padding: 24px;
    margin-top: 16px;
}
.tj-site .invoice-proof-upload form > :not(#proofPickFile):not(#proofCameraButton) { grid-column: 1 / -1; }
.tj-site .invoice-proof-upload form > p { margin: 0; line-height: 1.6; }
.tj-site .invoice-proof-upload form > label { display: block; margin-top: 4px; line-height: 1.5; }
.tj-site .invoice-proof-upload form > .invoice-tool-button { padding: 10px 16px; min-height: 44px; }
.tj-site .invoice-proof-upload form > button[type="submit"] { justify-self: start; margin-top: 8px; padding: 12px 20px; }
.tj-site .invoice-proof-upload .validation-summary-valid,
.tj-site .invoice-proof-upload .field-validation-valid,
.tj-site #proofFileMessage:empty { display: none; }
.tj-site #proofImagePreview { margin: 4px 0; }
.tj-site #proofCameraPanel { margin: 4px 0; }
.tj-site #proofCameraPanel > div { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 600px) {
    .tj-site .invoice-proof-upload form { padding: 18px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
    .tj-site .invoice-proof-upload form > .invoice-tool-button { padding: 10px 12px; }
}

.tj-site .hero-slide[hidden] { display: none !important; }
.tj-site .hero-slide { min-height: 640px; }
.tj-site .hero-slide-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
.tj-site .hero-slide-controls button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid #cbd9cb; border-radius: 50%; background: #ffffffb8; color: var(--color-primary); font: inherit; font-size: 22px; cursor: pointer; }
.tj-site .hero-slide-controls .hero-slide-dot { width: 9px; height: 9px; border: 0; background: #acc2ab; transition: width 300ms ease, background-color 300ms ease; }
.tj-site .hero-slide-controls .hero-slide-dot.is-active { width: 26px; border-radius: 8px; background: var(--color-primary); }
.tj-site .hero-slide-controls button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
@keyframes tijarah-hero-text { from { opacity: 0; translate: -10px 6px; } to { opacity: 1; translate: 0 0; } }
@keyframes tijarah-chart-grow { from { transform: scaleY(.1); opacity: .4; } to { transform: scaleY(1); opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
    .tj-site .hero-slide .hero-content > * { animation: tijarah-hero-text 850ms cubic-bezier(.22,.61,.36,1) both; }
    .tj-site .hero-slide .hero-content > :nth-child(2) { animation-delay: 100ms; }
    .tj-site .hero-slide .hero-content > :nth-child(3) { animation-delay: 200ms; }
    .tj-site .hero-slide .hero-content > :nth-child(4) { animation-delay: 300ms; }
    .tj-site .hero-slide .hero-content > :nth-child(5) { animation-delay: 400ms; }
    .tj-site .hero-slide .chart > div { transform-origin: bottom; animation: tijarah-chart-grow 1200ms cubic-bezier(.22,.61,.36,1) 300ms both; }
    .tj-site .hero-slide .chart > div:nth-child(2) { animation-delay: 400ms; }
    .tj-site .hero-slide .chart > div:nth-child(3) { animation-delay: 500ms; }
    .tj-site .hero-slide .chart > div:nth-child(4) { animation-delay: 600ms; }
    .tj-site .hero-slide .chart > div:nth-child(5) { animation-delay: 700ms; }
    .tj-site .hero-slide .chart > div:nth-child(6) { animation-delay: 800ms; }
    .tj-site .hero-slide .chart > div:nth-child(7) { animation-delay: 900ms; }
}
@media (max-width: 1000px) { .tj-site .hero-slide { min-height: 0; } }
@media print { .tj-site .hero-slide-controls { display: none; } }

.tj-site .hero-catalog-screen { display: flex; align-items: center; background: #fffdf7; }
.tj-site .hero-catalog-screen img { display: block; width: 100%; height: 100%; object-fit: contain; }

.tj-site .hero-live-catalog { width: 100%; padding: 20px 14px; }
.tj-site .hero-live-catalog-heading { font-size: 16px; font-weight: 700; margin-bottom: 16px; color: var(--color-ink); }
.tj-site .hero-live-catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.tj-site .hero-live-product { min-width: 0; padding: 8px; border: 1px solid #e3e9e6; border-radius: 12px; background: #fff; }
.tj-site .hero-live-product img { width: 100%; height: 190px; object-fit: cover; border-radius: 8px; background: #f5f7f6; }
.tj-site .hero-live-product strong { display: block; margin: 12px 0 8px; font-size: 12px; }
.tj-site .hero-live-product span { display: block; font-size: 13px; font-weight: 600; color: var(--color-primary); }
.tj-site .hero-live-product.has-image-error::before { content: 'Gambar produk'; display: grid; place-items: center; height: 190px; background: #f5f7f6; color: var(--color-muted); font-size: 12px; border-radius: 8px; }
@media(max-width:650px) {
    .tj-site .hero-live-catalog { padding: 12px 8px; }
    .tj-site .hero-live-catalog-grid { gap: 6px; }
    .tj-site .hero-live-product { padding: 5px; }
    .tj-site .hero-live-product img, .tj-site .hero-live-product.has-image-error::before { height: 110px; }
    .tj-site .hero-live-product strong, .tj-site .hero-live-product span { font-size: 10px; }
}

/* Clearer payment choices and a calmer invoice checkout hierarchy. */
.tj-site .invoice-payment-card { padding: clamp(20px,3vw,32px); }
.tj-site .invoice-payment-heading { display:flex; align-items:center; gap:16px; padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid #e8eeea; }
.tj-site .invoice-payment-heading-copy { flex:1; min-width:0; }
.tj-site .invoice-payment-heading-copy > span,.tj-site .invoice-method-eyebrow { display:block; color:var(--color-primary); font-size:10px; font-weight:800; letter-spacing:.9px; }
.tj-site .invoice-payment-heading .payment-heading-icon { width:50px; height:50px; min-width:50px; border-radius:15px; background:#eaf4ee; color:var(--color-primary); }
.tj-site .invoice-payment-heading h2 { margin:5px 0 6px; font-size:clamp(20px,2.4vw,26px); letter-spacing:-.45px; }
.tj-site .invoice-payment-heading p { margin:0; color:var(--color-muted); font-size:13px; line-height:1.65; }
.tj-site .invoice-payment-total { display:grid; gap:4px; min-width:150px; padding:12px 16px; border:1px solid #dcebe1; border-radius:12px; background:#f4faf6; }
.tj-site .invoice-payment-total span { color:var(--color-muted); font-size:11px; }
.tj-site .invoice-payment-total strong { color:var(--color-primary); font-size:19px; }
.tj-site .invoice-payment-methods { display:grid; gap:16px; }
.tj-site .invoice-midtrans-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; padding:22px; border:1px solid #cfe4d7; border-radius:16px; background:linear-gradient(120deg,#f0f8f3 0%,#fbfdfb 68%,#f2f8f4 100%); }
.tj-site .invoice-midtrans-heading { display:flex; align-items:center; gap:14px; min-width:0; }
.tj-site .invoice-midtrans-icon { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:13px; background:#dff0e5; color:var(--color-primary); }
.tj-site .invoice-midtrans-icon .tj-flat-icon { width:22px; height:22px; }
.tj-site .midtrans-mark { color:#0b3b70; font-size:13px; font-weight:800; letter-spacing:-.7px; }
.tj-site .midtrans-mark span { color:#00a5b5; }
.tj-site .invoice-midtrans-brand { display:flex; flex:0 0 106px; width:106px; min-height:54px; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:1px solid #e1e9ed; border-radius:11px; background:#fff; box-shadow:0 3px 10px #163c2d08; }
.tj-site .invoice-midtrans-brand .midtrans-mark { font-size:20px; letter-spacing:-1.1px; line-height:1.05; }
.tj-site .invoice-midtrans-brand small { color:#64798a; font-size:7px; font-weight:750; letter-spacing:1.4px; line-height:1; }
.tj-site .invoice-midtrans-copy { min-width:0; }
.tj-site .invoice-midtrans-copy h3 { margin:4px 0; font-size:16px; line-height:1.35; }
.tj-site .invoice-midtrans-copy p { margin:0; color:var(--color-muted); font-size:12px; line-height:1.6; }
.tj-site .invoice-method-badge { align-self:flex-start; padding:6px 9px; border-radius:999px; background:#e2f3e8; color:#17624d; font-size:10px; font-weight:700; white-space:nowrap; }
.tj-site .invoice-midtrans-action { display:grid; justify-items:end; gap:7px; }
.tj-site .invoice-midtrans-action > span { color:var(--color-muted); font-size:10px; text-align:right; }
.tj-site .invoice-midtrans-form { display:block; margin:0; padding:0; background:transparent; }
.tj-site .invoice-midtrans-action .tj-button { min-height:46px; padding:12px 20px; border-radius:10px; font-size:13px; white-space:nowrap; }
.tj-site .invoice-bank-accounts { gap:12px; margin-top:0; }
.tj-site .invoice-bank-account { padding:20px; border-radius:15px; box-shadow:0 4px 16px #183d2e08; }
.tj-site .invoice-bank-account > .payment-heading { align-items:center; }
.tj-site .invoice-bank-account .payment-heading h3 { margin:0 0 4px; font-size:15px; }
.tj-site .invoice-bank-account .payment-heading p { margin:0; color:var(--color-muted); font-size:12px; }
.tj-site .invoice-bank-account .payment-option-icon { box-sizing:border-box; width:90px; height:48px; min-width:90px; overflow:hidden; border-radius:11px; background:#fff; border:1px solid #e8eeea; }
.tj-site .invoice-bank-account .payment-bank-logo { display:block; width:76px; max-width:100%; height:32px; object-fit:contain; }
.tj-site .invoice-bank-account .payment-account-details { gap:12px; padding:18px 0; }
.tj-site .invoice-bank-account .payment-account-details > div { min-width:0; padding:13px 14px; border:1px solid #edf1ee; border-radius:10px; background:#f8faf8; }
.tj-site .invoice-bank-account .payment-account-details dt { margin-bottom:6px; font-size:10px; }
.tj-site .invoice-bank-account .payment-account-details dd { font-size:14px; }
.tj-site .invoice-bank-account .payment-account-details .payment-account-number { font-size:19px; letter-spacing:.6px; }
.tj-site .invoice-bank-account .payment-bank-instructions { padding-top:12px; border-top:1px solid #edf1ee; font-size:12px; line-height:1.7; }
.tj-site .invoice-proof-section { margin:16px 0 0; }
.tj-site .invoice-proof-section details { overflow:hidden; border:1px solid #e5ece7; border-radius:13px; background:#fff; }
.tj-site .invoice-proof-summary { display:flex; align-items:center; gap:12px; padding:14px 16px; list-style:none; cursor:pointer; }
.tj-site .invoice-proof-summary::-webkit-details-marker { display:none; }
.tj-site .invoice-proof-summary-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#f0f5f1; color:var(--color-primary); }
.tj-site .invoice-proof-summary-icon .tj-flat-icon { width:19px; height:19px; }
.tj-site .invoice-proof-summary > span:nth-child(2) { display:grid; gap:3px; flex:1; }
.tj-site .invoice-proof-summary strong { font-size:12px; }
.tj-site .invoice-proof-summary small { color:var(--color-muted); font-size:10px; }
.tj-site .invoice-proof-summary-action { display:flex; align-items:center; gap:8px; color:var(--color-primary); font-size:11px; font-weight:700; }
.tj-site .invoice-proof-summary-action b { font-size:17px; font-weight:500; }
.tj-site .invoice-proof-section details[open] .invoice-proof-summary { border-bottom:1px solid #e9efeb; }
.tj-site .invoice-proof-section details > form { margin:0; border-radius:0; background:#f8faf8; }
.tj-site .invoice-payment-card .payment-information { display:flex; align-items:flex-start; margin-top:18px; padding:16px 18px; border:1px solid #e7eee9; background:#f7faf8; }
.tj-site .invoice-payment-card .payment-information > div:last-child { display:grid; gap:6px; }
.tj-site .invoice-payment-card .payment-information strong { font-size:12px; }
.tj-site .invoice-payment-card .payment-information span { color:var(--color-muted); font-size:11px; line-height:1.65; }
.tj-site .invoice-payment-card .payment-contact-link { margin-top:2px; font-size:11px; }
@media(max-width:700px) {
    .tj-site .invoice-payment-heading { align-items:flex-start; flex-wrap:wrap; }
    .tj-site .invoice-payment-heading-copy { flex-basis:calc(100% - 68px); }
    .tj-site .invoice-payment-total { width:100%; margin-left:66px; }
    .tj-site .invoice-midtrans-card { grid-template-columns:minmax(0,1fr); gap:16px; padding:17px; }
    .tj-site .invoice-midtrans-heading { align-items:flex-start; flex-wrap:wrap; }
    .tj-site .invoice-method-badge { margin-left:60px; }
    .tj-site .invoice-midtrans-action { justify-items:stretch; }
    .tj-site .invoice-midtrans-action .tj-button { justify-content:center; width:100%; }
    .tj-site .invoice-midtrans-action > span { text-align:center; }
    .tj-site .invoice-bank-account .payment-account-details { grid-template-columns:minmax(0,1fr); }
    .tj-site .invoice-bank-account .payment-option-icon:has(.payment-bank-logo) { display:grid; flex:0 0 88px; place-items:center; width:88px; min-width:88px; box-sizing:border-box; overflow:hidden; }
    .tj-site .invoice-bank-account .payment-option-icon .payment-bank-logo { display:block; width:76px; max-width:100%; height:32px; object-fit:contain; }
}
@media(max-width:420px) {
    .tj-site .invoice-proof-summary { padding:12px; gap:9px; }
    .tj-site .invoice-proof-summary-action { font-size:0; }
    .tj-site .invoice-proof-summary-action b { font-size:19px; }
}
@media(max-width:700px) {
    .tj-site .invoice-payment-card { padding:18px; }
    .tj-site .invoice-payment-heading { display:grid; grid-template-columns:50px minmax(0,1fr); align-items:start; gap:12px; padding-bottom:16px; margin-bottom:16px; }
    .tj-site .invoice-payment-heading .payment-heading-icon { grid-column:1; grid-row:1; }
    .tj-site .invoice-payment-heading-copy { grid-column:2; grid-row:1; flex-basis:auto; width:auto; }
    .tj-site .invoice-payment-total { grid-column:1 / -1; width:auto; min-width:0; margin:0; }
    .tj-site .invoice-midtrans-card { padding:16px; gap:14px; }
    .tj-site .invoice-midtrans-heading { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:8px 12px; }
    .tj-site .invoice-midtrans-brand { grid-column:1; grid-row:1 / span 2; width:82px; min-height:48px; flex-basis:82px; border-radius:10px; }
    .tj-site .invoice-midtrans-brand .midtrans-mark { font-size:17px; }
    .tj-site .invoice-midtrans-brand small { font-size:6px; }
    .tj-site .invoice-midtrans-copy { grid-column:2; grid-row:1; }
    .tj-site .invoice-method-badge { grid-column:2; grid-row:2; justify-self:start; align-self:start; margin:0; }
    .tj-site .invoice-midtrans-action { gap:6px; }
}

.tj-site .home-promotions { padding: 64px 0; background: #fffaf0; }
.tj-site .home-promo-grid { margin-top: 28px; }
.tj-site .home-promo-card { position: relative; }
.tj-site .home-promo-card h3 { margin: 4px 12px 8px; font-size: 14px; line-height: 1.4; }
.tj-site .home-promo-badge { position: absolute; top: 10px; left: 10px; padding: 6px 9px; border-radius: 7px; background: #ffdf88; color: #624511; font-size: 11px; font-weight: 700; }
.tj-site .home-promo-name { display: block; margin: 12px 12px 4px; color: #806020; font-size: 11px; }
.tj-site .home-promo-original { display: block; margin: 0 12px 4px; font-size: 12px; color: var(--color-muted); }
.tj-site .home-promo-condition, .tj-site .home-promo-expiry { display: block; margin: 8px 12px; font-size: 11px; line-height: 1.5; color: var(--color-muted); }
.tj-site .home-promo-empty { padding: 24px; text-align: center; background: white; border: 1px solid #f0e3c1; border-radius: 14px; color: var(--color-muted); font-size: 14px; }
@media(max-width:650px) { .tj-site .home-promotions { padding: 40px 0; } }

.tj-site .hero-dashboard-screen { display: flex; align-items: center; background: #f4f8f5; }
.tj-site .hero-dashboard-screen img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Overlap slides while retaining the tallest slide's layout at every breakpoint. */
.tj-site .hero-slide-stage{display:grid;isolation:isolate}
.tj-site .hero-slide-stage>.hero-slide{grid-area:1/1;align-self:stretch;visibility:hidden;opacity:0;pointer-events:none;transition:opacity 650ms ease,visibility 0s 650ms}
.tj-site .hero-slide-stage>.hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;transition:opacity 650ms ease,visibility 0s;z-index:1}
.tj-site .hero-slide-controls .hero-slide-dot{position:relative;width:26px;background:transparent;transition:none}
.tj-site .hero-slide-controls .hero-slide-dot::after{content:'';position:absolute;width:9px;height:9px;border-radius:8px;background:#acc2ab;transition:width 300ms ease,background-color 300ms ease}
.tj-site .hero-slide-controls .hero-slide-dot.is-active{width:26px;background:transparent}
.tj-site .hero-slide-controls .hero-slide-dot.is-active::after{width:26px;background:var(--color-primary)}
@media(prefers-reduced-motion:reduce){.tj-site .hero-slide-stage>.hero-slide,.tj-site .hero-slide-controls .hero-slide-dot::after{transition:none}}

/* Public homepage quick navigation for phones. */
.tj-public-mobile-nav { display:none; }
.tj-upgrade-notice { display:flex; flex-direction:column; gap:4px; padding:16px 18px; margin:0 0 22px; border:1px solid #d8e8dc; border-radius:12px; background:#f1f8f2; color:var(--color-ink); }
.tj-upgrade-notice span { color:var(--color-muted); font-size:13px; }
@media(max-width:650px) {
    .tj-public-mobile-nav { position:fixed; inset:auto 0 0; z-index:60; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid #e4ebe7; background:rgba(255,255,255,.97); box-shadow:0 -8px 28px #173a2b12; backdrop-filter:blur(14px); }
    .tj-public-mobile-nav a { display:flex; min-width:0; min-height:54px; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:12px; color:#728078; font-size:9px; font-weight:600; line-height:1.2; text-align:center; text-decoration:none; }
    .tj-public-mobile-nav a.is-active { color:#006350; background:#eaf5ee; }
    .tj-public-mobile-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
    .tj-public-mobile .tj-page-content { padding-bottom:76px; }
    .tj-public-mobile .tj-footer { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
    .tj-public-mobile .hero { padding:14px 0 24px; }
    .tj-public-mobile .hero-grid { min-height:0; gap:14px; }
    .tj-public-mobile .hero-content { padding:0; }
    .tj-public-mobile .hero-visual { margin-top:8px; }
}
@media(max-width:380px) {
    .tj-public-mobile-nav { gap:1px; padding-inline:4px; }
    .tj-public-mobile-nav a { font-size:8px; }
}

/* Buyer portal borrows the client area palette and card rhythm. */
.tj-site .buyer-market-page { padding-top:24px; }
.tj-site .buyer-market-welcome { padding:22px 24px; margin-bottom:20px; border:1px solid #dcebe2; border-radius:16px; background:linear-gradient(115deg,#edf7f0,#f8fbf8); }
.tj-site .buyer-market-welcome h1 { color:#183b32; }
.tj-site .buyer-market-welcome .section-label { color:#08705d; }
.tj-site .buyer-stores-section { padding:22px; margin:22px 0; border:1px solid #e2ebe5; border-radius:16px; background:#fff; box-shadow:0 5px 18px #173a2b08; }
.tj-site .buyer-stores-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.tj-site .buyer-stores-heading h2 { margin:6px 0 4px; font-size:20px; color:#183b32; }
.tj-site .buyer-stores-heading p { margin:0; color:#728078; font-size:12px; }
.tj-site .buyer-stores-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tj-site .buyer-store-card { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:12px; min-width:0; padding:15px; border:1px solid #e4ece7; border-radius:13px; background:linear-gradient(145deg,#fff,#fbfdfb); }
.tj-site .buyer-store-card .client-store-logo { width:56px; height:56px; grid-row:1 / span 2; border-radius:13px; }
.tj-site .buyer-store-info { min-width:0; }
.tj-site .buyer-store-info h3 { margin:0 0 3px; font-size:14px; color:#173a32; overflow-wrap:anywhere; }
.tj-site .buyer-store-info .client-store-tagline { margin:0 0 4px; font-size:11px; }
.tj-site .buyer-store-info .client-store-rating { display:block; color:#698177; font-size:10px; }
.tj-site .buyer-store-actions { grid-column:2; display:flex; gap:8px; flex-wrap:wrap; }
.tj-site .buyer-store-actions a { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid #d9e8df; border-radius:9px; background:#eef7f1; color:#066653; font-size:11px; font-weight:650; text-decoration:none; }
.tj-site .buyer-store-actions a:hover { border-color:#a9cdbc; background:#e2f1e7; }
.tj-site .buyer-store-actions .client-store-status { color:#75847c; font-size:11px; }
.tj-site .buyer-market-page .client-store-search { margin:22px 0 16px; padding:18px; border:1px solid #e2ebe5; border-radius:14px; background:#fff; }
.tj-site .buyer-market-page .market-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border:1px solid #e1ebe4; border-radius:14px; background:linear-gradient(110deg,#f0f6ed,#f8faf6); }
.tj-site .buyer-market-page .market-results-toolbar h2 { min-width:0; font-size:18px; }
.tj-site .buyer-catalog-toolbar-controls { display:flex; align-items:center; justify-content:flex-end; gap:16px; min-width:0; }
.tj-site .buyer-catalog-toolbar-controls label { display:flex; align-items:center; gap:9px; color:#526b61; font-size:13px; white-space:nowrap; }
.tj-site .buyer-catalog-toolbar-controls select { min-width:180px; min-height:44px; padding:9px 34px 9px 13px; border:1px solid #dce7df; border-radius:10px; background:#fff; color:#213b33; font-size:14px; }
.tj-site .buyer-catalog-sort-label { max-width:230px; color:var(--color-muted); font-size:12px; line-height:1.45; text-align:right; }
.tj-site .market-product { border-radius:13px; border-color:#e2ebe5; box-shadow:0 3px 12px #173a2b06; }
.tj-site a.market-product:hover { border-color:#9cc7b3; box-shadow:0 8px 20px #173a2b12; }
.tj-site .market-product-price { color:#08705d; }
.tj-member-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; min-height:248px; padding:24px 28px 20px; margin:0 0 24px; border:1px solid #27695b; border-radius:20px; background:linear-gradient(118deg,#073d36 0%,#075e4f 54%,#11836c 100%); color:#f3fff8; box-shadow:0 18px 40px #0b514022; }
@media(min-width:651px) { .tj-member-card { width:min(100%,470px); aspect-ratio:1.586; min-height:0; box-sizing:border-box; padding:18px 22px 14px; } }
.tj-member-card::before { position:absolute; z-index:-1; content:""; inset:0; background:radial-gradient(circle at 83% 8%,#d7bd6535 0 2px,transparent 3px),radial-gradient(circle at 90% 55%,#ffffff0d 0 110px,transparent 111px),linear-gradient(120deg,transparent 55%,#ffffff0b); background-size:22px 22px,auto,auto; }
.tj-member-card-shape { position:absolute; z-index:-1; border:1px solid #ffffff12; border-radius:50%; }
.tj-member-card-shape-one { width:250px;height:250px;right:8%;top:-150px; }
.tj-member-card-shape-two { width:180px;height:180px;right:18%;bottom:-140px; }
.tj-member-card-top,.tj-member-card-content,.tj-member-card-bottom { position:relative; display:flex; align-items:center; }
.tj-member-card-top { gap:10px; }
.tj-member-mark { display:grid; place-items:center; width:42px;height:42px;border-radius:50%;background:#f8fbf5; }
.tj-member-mark img { width:33px;height:33px;object-fit:contain; }
.tj-member-brand { display:block; font-size:17px;font-weight:800;line-height:1.2;letter-spacing:.5px; }
.tj-member-card-top small { display:block;color:#c7e5d7;font-size:8px;letter-spacing:1.6px; }
.tj-member-chip { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; margin-left:auto; border:1px solid #ffffff28; border-radius:20px; background:#ffffff12; font-size:9px; letter-spacing:.5px; }
.tj-member-chip span { width:7px;height:7px;border-radius:50%;background:#e9c85d;box-shadow:0 0 0 3px #e9c85d25; }
.tj-member-card-content { justify-content:space-between; gap:20px; flex:1; padding:24px 0 18px; }
@media(min-width:651px) { .tj-member-card-content { padding:9px 0 8px; } }
.tj-member-caption { color:#c5e3d5;font-size:9px;font-weight:700;letter-spacing:1.7px; }
.tj-member-card-content h2 { margin:5px 0 1px;color:#fff;font-size:25px;font-weight:700;letter-spacing:-.5px; }
.tj-member-card-content p { margin:0;color:#d3ebe0;font-size:12px; }
.tj-member-avatar { display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:2px solid #ffffffb3;border-radius:50%;background:#e5f0e9;color:#08705d;font-size:20px;font-weight:700; }
.tj-member-avatar img { width:100%;height:100%;object-fit:cover; }
.tj-member-card-bottom { gap:28px; padding-top:13px; border-top:1px solid #ffffff2c; }
.tj-member-card-bottom div { display:flex;flex-direction:column;gap:2px; }
.tj-member-card-bottom small { color:#c5e3d5;font-size:9px; }
.tj-member-card-bottom strong { color:#fff;font-size:11px;letter-spacing:.5px; }
.tj-member-card-wordmark { margin-left:auto;color:#ffffffb3;font-size:26px;font-weight:800;font-style:italic; }
@media(max-width:700px) { .tj-site .buyer-stores-grid { grid-template-columns:1fr; } }

/* Buyer cart and member purchase history */
.tj-site .buyer-market-shortcuts { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }
.tj-site .market-product { display:flex; flex-direction:column; gap:8px; }
.tj-site .market-product .buyer-product-open { color:inherit; text-decoration:none; }
.tj-site .market-product .buyer-product-open h4 { margin:9px 0 0; }
.tj-site .buyer-add-cart-form { margin-top:auto; padding-top:7px; }
.tj-site .buyer-add-cart-form button { width:100%; min-height:38px; padding:9px 12px; border-radius:10px; font-size:12px; }
.tj-site .buyer-shopping-page { padding-top:28px; padding-bottom:90px; }
.tj-site .buyer-shopping-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; margin-bottom:20px; border:1px solid #dfeae3; border-radius:16px; background:linear-gradient(115deg,#edf7f0,#f9fbf8); }
.tj-site .buyer-shopping-heading h1 { margin:7px 0; color:#183b32; font-size:clamp(24px,3vw,32px); }
.tj-site .buyer-shopping-heading p { margin:0; color:#718078; font-size:13px; }
.tj-site .buyer-shopping-empty { padding:52px 20px; text-align:center; border:1px solid #e1ebe5; border-radius:16px; background:#fff; }
.tj-site .buyer-shopping-empty>span { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 14px; border-radius:16px; background:#eaf4ed; color:#126852; font-size:26px; }
.tj-site .buyer-shopping-empty h2 { margin:0 0 8px; color:#183b32; font-size:19px; }
.tj-site .buyer-shopping-empty p,.tj-site .buyer-shopping-note { max-width:620px; margin:0 auto 17px; color:#718078; font-size:13px; line-height:1.65; }
.tj-site .buyer-shopping-success { margin:0 0 14px; padding:12px 15px; border:1px solid #cce8d7; border-radius:10px; background:#edf9f1; color:#126445; }
.tj-site .buyer-cart-list,.tj-site .buyer-purchase-list { display:grid; gap:12px; }
.tj-site .buyer-cart-item,.tj-site .buyer-purchase-card { display:grid; grid-template-columns:84px minmax(180px,1fr) auto auto; align-items:center; gap:18px; padding:17px; border:1px solid #e3ebe6; border-radius:15px; background:#fff; box-shadow:0 4px 14px #173a2b06; }
.tj-site .buyer-cart-image { display:grid; place-items:center; width:84px; height:84px; overflow:hidden; border-radius:12px; background:#edf4ef; color:#779685; font-size:24px; }
.tj-site .buyer-cart-image img { width:100%; height:100%; object-fit:cover; }
.tj-site .buyer-cart-main { min-width:0; display:grid; gap:4px; }
.tj-site .buyer-cart-store { color:#08705d; font-size:11px; font-weight:700; }
.tj-site .buyer-cart-main h2,.tj-site .buyer-purchase-top h2 { margin:0; color:#183b32; font-size:15px; overflow-wrap:anywhere; }
.tj-site .buyer-cart-main strong,.tj-site .buyer-purchase-meta strong { color:#126852; font-size:14px; }
.tj-site .buyer-cart-main small { color:#829087; font-size:10px; }
.tj-site .buyer-cart-quantity { display:grid; grid-template-columns:70px 76px; gap:6px; align-items:center; }
.tj-site .buyer-cart-quantity label { grid-column:1/-1; color:#75837a; font-size:11px; }
.tj-site .buyer-cart-quantity input { width:76px; min-height:36px; border:1px solid #dfe9e2; border-radius:9px; padding:6px 8px; }
.tj-site .buyer-cart-quantity button { grid-column:1/-1; min-height:32px; padding:5px 9px; font-size:11px; }
.tj-site .buyer-cart-actions { display:grid; gap:7px; justify-items:stretch; }
.tj-site .buyer-cart-actions .tj-button { min-height:36px; padding:8px 11px; font-size:11px; white-space:nowrap; }
.tj-site .buyer-cart-remove { border:0; background:transparent; color:#a44238; font-size:12px; cursor:pointer; }
.tj-site .buyer-cart-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding:17px 20px; border:1px solid #dfeae3; border-radius:14px; background:#f2f8f3; }
.tj-site .buyer-cart-summary>div { display:grid; gap:4px; color:#718078; font-size:12px; }
.tj-site .buyer-cart-summary strong { color:#183b32; font-size:15px; }
.tj-site .buyer-shopping-note { margin:14px 0; }
.tj-site .buyer-purchase-card { display:block; }
.tj-site .buyer-purchase-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; border-bottom:1px solid #edf1ee; }
.tj-site .buyer-purchase-top h2 { margin-top:4px; font-family:ui-monospace,Consolas,monospace; font-size:13px; }
.tj-site .buyer-purchase-status { flex:none; padding:6px 10px; border-radius:999px; background:#fff4dc; color:#8a5c08; font-size:11px; font-weight:700; }
.tj-site .buyer-purchase-status.is-paid { background:#e6f6eb; color:#167346; }
.tj-site .buyer-purchase-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:15px 0; }
.tj-site .buyer-purchase-meta span { display:grid; gap:5px; min-width:0; }
.tj-site .buyer-purchase-meta small { color:#7a8880; font-size:11px; }
.tj-site .buyer-purchase-store-link { color:#08705d; font-size:12px; font-weight:650; text-decoration:none; }
@media(max-width:700px) {
 .tj-site .buyer-market-shortcuts { width:100%; justify-content:flex-start; }
 .tj-site .buyer-shopping-heading { align-items:flex-start; flex-direction:column; padding:17px; }
 .tj-site .buyer-cart-item { grid-template-columns:64px minmax(0,1fr); align-items:start; gap:12px; padding:13px; }
 .tj-site .buyer-cart-image { width:64px; height:64px; }
 .tj-site .buyer-cart-main { grid-column:2; }
 .tj-site .buyer-cart-quantity { grid-column:1 / -1; grid-template-columns:1fr 90px auto; align-items:end; }
 .tj-site .buyer-cart-quantity label { grid-column:1 / -1; }
 .tj-site .buyer-cart-quantity input { width:90px; }
 .tj-site .buyer-cart-quantity button { grid-column:auto; }
 .tj-site .buyer-cart-actions { grid-column:1 / -1; grid-template-columns:1fr auto; align-items:center; }
 .tj-site .buyer-cart-summary { align-items:flex-start; flex-direction:column; }
 .tj-site .buyer-purchase-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
    .tj-site .buyer-market-page { padding-top:14px; padding-bottom:82px; }
    .tj-site .buyer-market-welcome { align-items:flex-start; padding:17px; margin-bottom:14px; border-radius:14px; }
    .tj-site .buyer-market-welcome h1 { font-size:23px; }
    .tj-site .buyer-stores-section { padding:15px; margin:16px 0; border-radius:14px; }
    .tj-site .buyer-stores-heading { align-items:flex-start; flex-direction:column; gap:9px; }
    .tj-site .buyer-stores-heading h2 { font-size:18px; }
    .tj-site .buyer-market-page .client-store-search { padding:14px; }
    .tj-member-card { min-height:224px; padding:18px; margin-bottom:17px; border-radius:17px; }
    .tj-member-card-content { padding:19px 0 15px; }
    .tj-member-card-content h2 { font-size:21px; }
    .tj-member-card-bottom { gap:18px; }
    .tj-member-card-bottom strong { font-size:10px; }
}

/* Compact buyer catalog controls and member QR for narrow screens. */
.tj-member-identity { min-width:0; }
.tj-member-card-tier { display:flex; align-items:center; gap:8px; margin-top:13px; }
.tj-tier-medal { display:grid; place-items:center; width:28px;height:28px;border:1px solid #e8cd78;border-radius:9px;background:#f1d77b;color:#31594b;font-size:16px; }
.tj-member-card-tier > span:nth-child(2) { display:flex; flex-direction:column; gap:1px; }
.tj-member-card-tier small { color:#c5e3d5;font-size:8px; }
.tj-member-card-tier strong { color:#fff;font-size:11px; }
.tj-member-card-tier b { padding:5px 9px;margin-left:4px;border:1px solid #ffffff30;border-radius:20px;background:#ffffff12;color:#f4e1a1;font-size:9px;white-space:nowrap; }
.buyer-member-profile { margin:0 0 24px;padding:22px 24px;border:1px solid #e1ebe4;border-radius:16px;background:#fff; }
.buyer-member-profile-heading h2 { margin:4px 0;font-size:20px;color:#183c35; }
.buyer-member-profile-heading p { margin:0;color:#687b73;font-size:14px; }
.buyer-member-profile-form { margin-top:18px; }
.buyer-member-profile-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px; }
.buyer-member-profile-field { display:flex;flex-direction:column;gap:6px;min-width:0; }
.buyer-member-profile-field label { color:#344b45;font-size:13px;font-weight:650; }
.buyer-member-profile-field input,.buyer-member-profile-field textarea { width:100%;min-height:44px;padding:10px 12px;border:1px solid #dce6df;border-radius:9px;background:#fbfdfb;color:#203b35;font:inherit; }
.buyer-member-profile-field textarea { min-height:92px;resize:vertical; }
.buyer-member-profile-field input:focus,.buyer-member-profile-field textarea:focus { outline:3px solid #19776325;border-color:#207763; }
.buyer-member-profile-field span { color:#b54437;font-size:12px; }
.buyer-member-profile-address { grid-column:1/-1; }
.buyer-member-profile-form .tj-button { margin-top:14px; }
.buyer-member-profile-success { margin:14px 0 0;padding:10px 12px;border-radius:9px;background:#e8f6ed;color:#147548;font-size:14px; }
.buyer-member-profile-error { color:#b54437;font-size:13px; }
@media(max-width:650px) { .buyer-member-profile { padding:17px; }.buyer-member-profile-fields { grid-template-columns:minmax(0,1fr); }.buyer-member-profile-address { grid-column:auto; }.buyer-member-profile-form .tj-button { width:100%;min-height:46px; } }
.tj-member-qr { display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:12px;background:#fff;box-shadow:0 5px 18px #002b241c; }
.tj-member-qr>div { width:128px;height:128px; }
.tj-member-qr svg { display:block;width:100%;height:100%; }
.tj-member-qr small { color:#597166;font-size:7px;font-weight:750;letter-spacing:.8px;line-height:1; }
.tj-tier-progress { padding:18px 20px;margin:-7px 0 22px;border:1px solid #e1ebe4;border-radius:14px;background:#fff; }
.tj-tier-progress-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.tj-tier-progress-heading h2 { margin:5px 0;font-size:19px;color:#183b32; }
.tj-tier-progress-heading p { margin:0;color:#718078;font-size:13px;line-height:1.55; }
.tj-tier-next { padding:8px 12px;border-radius:18px;background:#edf6ef;color:#08705d;font-size:12px;font-weight:700;white-space:nowrap; }
.tj-tier-track { height:7px;margin:14px 0 8px;overflow:hidden;border-radius:8px;background:#e9efeb; }
.tj-tier-track span { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9bb56,#16816d); }
.tj-tier-steps { display:flex;justify-content:space-between;gap:6px;color:#74837b;font-size:11px; }
.tj-tier-steps .is-current { color:#08705d;font-weight:750; }
@media(max-width:650px) {
    .tj-site .buyer-market-page .client-store-search { padding:14px; }
    .tj-site .buyer-market-page .client-store-search > div { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
    .tj-site .buyer-market-page .client-store-search input { grid-column:1/-1;width:100%;min-width:0;min-height:48px;padding:11px 13px;font-size:14px; }
    .tj-site .buyer-market-page .client-store-search .tj-button,
    .tj-site .buyer-market-page .client-store-search .invoice-tool-button { width:100%;min-width:0;min-height:44px;padding:9px 7px;font-size:12px;white-space:normal; }
    .tj-site .buyer-market-page .market-results-toolbar { display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:15px;border:1px solid #e2ebe5;border-radius:14px;background:#fff; }
    .tj-site .buyer-market-page .market-results-toolbar h2 { flex:none;width:100%;margin:0 0 2px;font-size:16px;line-height:1.35; }
    .tj-site .buyer-catalog-toolbar-controls { display:grid;grid-template-columns:minmax(0,1fr);gap:9px;width:100%; }
    .tj-site .buyer-market-page .buyer-catalog-toolbar-controls label { display:flex;flex-direction:column;align-items:stretch;gap:5px;width:100%;color:#63756d;font-size:11px;font-weight:650;white-space:normal; }
    .tj-site .buyer-market-page .buyer-catalog-toolbar-controls select { width:100%;min-width:0;min-height:43px;padding:9px 12px;border-radius:9px;font-size:13px; }
    .tj-site .buyer-catalog-sort-label { max-width:none;text-align:left;font-size:11px; }
    .tj-site .buyer-market-page .market-results-note { margin:10px 2px 14px;font-size:10px;line-height:1.55; }
    .tj-member-card { padding:16px; }
    .tj-member-card-content { align-items:center;gap:8px; }
    .tj-member-card-content h2 { max-width:190px;font-size:19px; }
    .tj-member-card-content p { max-width:190px;font-size:10px;overflow-wrap:anywhere; }
    .tj-member-qr { padding:7px;border-radius:10px; }
    .tj-member-qr>div { width:96px;height:96px; }
    .tj-member-card-bottom { gap:12px; }
    .tj-tier-progress { padding:15px;margin-top:-5px; }
    .tj-tier-progress-heading { flex-direction:column; }
    .tj-tier-next { align-self:flex-start; }
    .tj-tier-steps { font-size:9px; }
}
@media print{.tj-site .hero-slide-stage>.hero-slide:not(.is-active){display:none}}

/* Keep all service package choices together on a standard desktop viewport. */
@media (min-width:1101px) {
    .tj-site .pricing-section > .container { width:min(1360px,calc(100% - 56px)); max-width:1360px; }
    .tj-site .pricing-grid { width:100%; max-width:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
    .tj-site .pricing-grid .price-card { min-width:0; }
    .tj-site .price-package-head { height:230px; min-height:230px; padding:67px 18px 20px; }
    .tj-site .price-package-head .price-icon,.tj-site .price-card.popular .price-icon { width:64px; height:64px; min-width:64px; }
    .tj-site .price-package-head .price-icon .tj-flat-icon { width:44px; height:44px; }
    .tj-site .price-package-head h2 { font-size:22px; }
    .tj-site .pricing-grid .price-package-body { margin:0 12px; padding:20px 14px 18px; }
    .tj-site .pricing-grid .package-description { font-size:12px; line-height:1.6; }
    .tj-site .pricing-grid .price strong { font-size:28px; }
    .tj-site .pricing-grid .price-features li { font-size:11px; line-height:1.55; }
    .tj-site .pricing-grid .price-button { padding:10px 12px; font-size:11px; white-space:normal; }
}
@media (min-width:651px) and (max-width:1100px) {
    .tj-site .pricing-grid { max-width:820px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}

/* Keep the digital member card at a standard ID-card proportion on desktop. */
@media(min-width:651px) {
    .tj-site .buyer-market-page > .tj-member-card {
        width:min(100%,540px);
        max-width:540px;
        height:auto;
        min-height:0;
        aspect-ratio:85.6 / 54;
        flex:0 1 540px;
        padding:19px 23px 15px;
    }
    .tj-site .buyer-market-page > .tj-member-card .tj-member-qr { padding:9px; }
    .tj-site .buyer-market-page > .tj-member-card .tj-member-qr > div { width:160px;height:160px; }
    .tj-site .buyer-market-page > .tj-member-card .tj-member-qr small { font-size:8px; }
}
@media(max-width:650px) {
    .tj-site .buyer-market-page > .tj-member-card .tj-member-qr > div { width:108px;height:108px; }
}
