/* market.css — website template marketplace (catalog, detail, checkout, download) */
.tp-wrap{padding:60px 0 70px;background:#f6f8fc}
.tp-wrap .container{max-width:1180px}
.tp-narrow{max-width:640px!important}
.tp-eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d93a35;background:#fdeceb;padding:5px 14px;border-radius:50px;margin-bottom:14px}
.tp-intro{text-align:center;max-width:680px;margin:0 auto 30px}.tp-intro h2{font-weight:700;color:#1e2430;font-size:2rem}.tp-intro p{color:#667;line-height:1.7}
.tp-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:30px}
.tp-filter{border:1px solid #d6dbe6;background:#fff;border-radius:50px;padding:7px 18px;font-size:.88rem;cursor:pointer;color:#334;transition:all .15s}
.tp-filter:hover{border-color:#d93a35;color:#d93a35}.tp-filter.on{background:#d93a35;border-color:#d93a35;color:#fff}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.tp-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(30,50,90,.09);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.tp-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(30,50,90,.16)}
.tp-card[hidden]{display:none}
.tp-thumb{display:block;background:#e9edf5}.tp-thumb img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.tp-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.tp-chip{display:inline-block;font-size:.72rem;font-weight:600;color:#2f5bb0;background:#e6edfb;border-radius:50px;padding:3px 11px;margin:0 4px 4px 0}
.tp-card h3{font-size:1.2rem;font-weight:700;margin:8px 0 6px}.tp-card h3 a{color:#1e2430;text-decoration:none}
.tp-card p{color:#667;font-size:.9rem;line-height:1.55;flex:1}
.tp-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #eef0f5}
.tp-price{font-size:1.1rem;color:#1e2430}.tp-card-foot span{display:flex;align-items:center;gap:12px}
.tp-link{font-size:.86rem;color:#2f5bb0;font-weight:600;text-decoration:none}.tp-link:hover{text-decoration:underline}
.tp-btn{display:inline-block;background:#d93a35;color:#fff!important;border:2px solid #d93a35;border-radius:10px;padding:12px 26px;font-weight:600;font-size:.95rem;text-decoration:none!important;cursor:pointer;transition:all .2s;text-align:center}
.tp-btn:hover{background:#b92d29;border-color:#b92d29;transform:translateY(-1px)}
.tp-btn:disabled{opacity:.6;cursor:default;transform:none}
.tp-btn-sm{padding:8px 16px;font-size:.84rem}.tp-btn-block{display:block;width:100%;margin-top:12px}
.tp-btn-ghost{background:transparent;color:#d93a35!important}.tp-btn-ghost:hover{background:#d93a35;color:#fff!important}
.tp-how{margin-top:50px;background:#fff;border-radius:16px;padding:28px 30px;box-shadow:0 6px 24px rgba(30,50,90,.07)}
.tp-how h3{font-weight:700;margin-bottom:12px}.tp-how ol{padding-left:20px;color:#556;line-height:1.8}.tp-how p{margin:10px 0 0;color:#667}
/* detail */
.tp-crumbs{font-size:.85rem;color:#889;margin-bottom:20px}.tp-crumbs a{color:#2f5bb0}
.tp-stage{background:#fff;border-radius:16px;padding:14px;box-shadow:0 6px 24px rgba(30,50,90,.09);margin-bottom:28px}
.tp-hero-img{display:block;width:100%;height:auto;border-radius:10px}
.tp-load{display:block;margin:16px auto 6px}
.tp-soon{text-align:center;color:#889;margin:14px 0 4px}
.tp-devices{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}
.tp-devices button{border:1px solid #d6dbe6;background:#fff;border-radius:50px;padding:6px 16px;font-size:.84rem;cursor:pointer}.tp-devices button.on{background:#22252d;border-color:#22252d;color:#fff}
.tp-devices a{margin-left:auto;font-size:.84rem;color:#2f5bb0;font-weight:600}
.tp-frame{background:#e9edf5;border-radius:10px;padding:10px;display:flex;justify-content:center;overflow:hidden}
.tp-frame iframe{width:100%;height:560px;border:0;background:#fff;border-radius:6px;transition:width .3s}
.tp-h{font-weight:700;color:#1e2430;font-size:1.5rem;margin:8px 0 10px}.tp-h3{font-weight:700;color:#1e2430;font-size:1.1rem;margin:22px 0 10px}
.tp-lead{font-size:1.08rem;color:#2c3445}.tp-detail p{color:#556;line-height:1.75}
.tp-ticks{list-style:none;padding:0;margin:0}.tp-ticks li{position:relative;padding:6px 0 6px 28px;color:#445;line-height:1.5}
.tp-ticks li:before{content:"\2713";position:absolute;left:0;top:7px;width:19px;height:19px;border-radius:50%;background:#e4f5ea;color:#1e8e3e;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.tp-small li{font-size:.88rem;padding:4px 0 4px 28px}
.tp-license{background:#fff;border-radius:12px;padding:6px 22px 8px;margin-top:22px;box-shadow:0 4px 16px rgba(30,50,90,.06)}
.tp-buy{position:sticky;top:100px;background:#fff;border-radius:16px;padding:26px;box-shadow:0 10px 32px rgba(30,50,90,.12)}
.tp-price-lg{font-size:2rem;font-weight:700;color:#1e2430}.tp-once{color:#889;font-size:.85rem;margin-bottom:6px}
.tp-buy .tp-ticks{margin-top:18px}.tp-help{font-size:.82rem;color:#889;margin:14px 0 0}
.tp-more{margin-top:50px}
/* checkout modal + download */
.tp-modal{position:fixed;inset:0;background:rgba(15,18,26,.62);z-index:100001;display:flex;align-items:center;justify-content:center;padding:16px}
.tp-modal[hidden]{display:none}
.tp-dialog{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.4);position:relative;max-height:92vh;overflow:auto}
.tp-dialog h3{font-weight:700;margin:0 0 4px}.tp-dialog .sum{color:#667;margin-bottom:16px;font-size:.92rem}
.tp-dialog label,.tp-box label{display:block;font-size:.84rem;font-weight:600;color:#333;margin:12px 0 6px}
.tp-dialog input[type=text],.tp-dialog input[type=email],.tp-box input{width:100%;border:1px solid #d6dbe6;border-radius:10px;padding:11px 13px;font-size:.95rem;height:auto}
.tp-dialog input:focus,.tp-box input:focus{border-color:#3b6fcc;outline:0;box-shadow:0 0 0 3px rgba(59,111,204,.15)}
.tp-x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:#889}
.tp-agree{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:#667;margin:14px 0 4px}.tp-agree input{margin-top:3px}
.tp-note{font-size:.86rem;min-height:20px;margin:10px 0 0;color:#667}.tp-note.err{color:#c4332f}.tp-note.ok{color:#1e8e3e}
.tp-secure{font-size:.78rem;color:#889;text-align:center;margin:12px 0 0}
.tp-box{background:#fff;border-radius:16px;padding:30px;box-shadow:0 8px 28px rgba(30,50,90,.1);margin-bottom:24px;text-align:center}
.tp-box h2,.tp-box h3{font-weight:700}.tp-retrieve{text-align:left}.tp-retrieve h3,.tp-retrieve p{text-align:left}
.tp-spin{width:42px;height:42px;border:4px solid #e3e8f2;border-top-color:#d93a35;border-radius:50%;margin:0 auto 14px;animation:tps 1s linear infinite}
@keyframes tps{to{transform:rotate(360deg)}}
.tp-spin.stop{display:none}
@media(max-width:575px){.tp-intro h2{font-size:1.55rem}.tp-frame iframe{height:460px}.tp-buy{position:static;margin-top:24px}}
@media(prefers-reduced-motion:reduce){.tp-spin{animation-duration:3s}}
html.sv-dark .tp-wrap{background:#14161c}html.sv-dark .tp-card,html.sv-dark .tp-buy,html.sv-dark .tp-stage,html.sv-dark .tp-how,html.sv-dark .tp-license,html.sv-dark .tp-box{background:#1d2027}
html.sv-dark .tp-card h3 a,html.sv-dark .tp-price,html.sv-dark .tp-price-lg,html.sv-dark .tp-h,html.sv-dark .tp-h3,html.sv-dark .tp-intro h2{color:#fff}
html.sv-dark .tp-card p,html.sv-dark .tp-detail p,html.sv-dark .tp-ticks li{color:#b6bccb}

/* readable hero title over the photo */
.products-heading{position:relative}
.products-heading::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,30,.62),rgba(20,22,30,.78));z-index:0}
.products-heading .container{position:relative;z-index:1}
.products-heading h1{color:#fff!important}
.products-heading h4{color:#ff8a80!important}
