.tpl-section{padding:48px 0 80px}
.tpl-crumbs{display:flex;gap:8px;font-size:13px;color:var(--muted);margin-bottom:18px}
.tpl-crumbs a{color:var(--indigo)}
.tpl-intro{color:var(--muted);font-size:16px;max-width:640px;margin-top:10px}

.tpl-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;margin-top:28px;align-items:start}
.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-content:start}
.tpl-empty{color:var(--muted);padding:20px 0}

.tpl-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease;display:block;text-decoration:none;color:inherit}
.tpl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.tpl-card__img{position:relative;aspect-ratio:286/160;background:var(--lav-2)}
.tpl-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.tpl-card__noimg{width:100%;height:100%;background:var(--lav-2)}
.tpl-badge{position:absolute;top:10px;left:10px;background:#fff;color:var(--ink-2);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;box-shadow:var(--shadow-sm)}
.tpl-badge--price{left:auto;right:10px;background:#E11D48;color:#fff}
.tpl-badge--static{position:static;display:inline-block;margin-bottom:10px}
.tpl-card__body{padding:14px 16px 18px}
.tpl-card__name{font-weight:700;color:var(--ink);margin-bottom:6px}
.tpl-card__desc{font-size:13px;color:var(--muted);line-height:1.5}

.tpl-sidebar{display:flex;flex-direction:column;gap:18px}
.tpl-search{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);font:inherit;background:var(--lav-2);color:var(--ink)}
.tpl-side-block{display:flex;flex-direction:column;gap:2px}
.tpl-side-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.tpl-toggle{display:flex;background:var(--lav-2);border-radius:999px;padding:3px}
.tpl-toggle a{flex:1;text-align:center;padding:7px 0;border-radius:999px;font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:none}
.tpl-toggle a.on{background:var(--indigo);color:#fff}
.tpl-side-link{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;font-size:14px;color:var(--ink-2);text-decoration:none}
.tpl-side-link:hover{background:var(--lav-2)}
.tpl-side-link.on{background:var(--lav);color:var(--indigo-d);font-weight:700}
.tpl-count{color:var(--muted);font-size:12px}

/* template page */
.tpl-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:12px}
.tpl-hero h1{font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:6px 0 14px}
.tpl-hero__info .btn{margin-top:24px}
.tpl-hero__widget{position:relative}
.tpl-widget{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);cursor:zoom-in;background:#020617}
.tpl-widget iframe{width:100%;height:380px;border:0;pointer-events:none;display:block}
.tpl-widget__zoom{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:var(--r);background:#fff;border:1px solid var(--line);cursor:pointer;font-size:16px;line-height:1}
.tpl-btn-buy{background:#E11D48;color:#fff;box-shadow:0 10px 22px -8px rgba(225,29,72,.6)}
.tpl-btn-buy:hover{background:#BE123C;transform:translateY(-1px)}

.tpl-body{display:grid;grid-template-columns:1fr 320px;gap:40px;margin-top:56px;align-items:start}
.tpl-desc{white-space:normal}
.tpl-sticky-col{align-self:stretch}
.tpl-sticky-card{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-md)}
.tpl-sticky-card__name{font-weight:800;font-size:18px;color:var(--ink);margin-bottom:8px}
.tpl-sticky-card p{color:var(--muted);font-size:14px;margin-bottom:16px}

.tpl-promo-section{margin:64px 0 0}
.tpl-related{padding:56px 0 80px}
.tpl-related__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.tpl-related__all{text-align:center}
.tpl-grid--related{grid-template-columns:repeat(3,1fr)}

.tpl-modal,.tpl-zoom{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}
.tpl-modal[hidden],.tpl-zoom[hidden]{display:none}
.tpl-modal__backdrop{position:absolute;inset:0;background:rgba(7,17,43,.55)}
.tpl-modal__box{position:relative;background:#fff;border-radius:var(--r-lg);padding:28px;width:min(440px,90vw);box-shadow:var(--shadow-lg)}
.tpl-modal__close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:22px;color:var(--muted);cursor:pointer;line-height:1}
.tpl-select{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);font:inherit;margin:14px 0}
.tpl-zoom{background:rgba(7,17,43,.9)}
.tpl-zoom iframe{width:92vw;height:88vh;border:0;border-radius:var(--r);background:#020617}
.tpl-zoom__close{position:absolute;top:16px;right:20px;font-size:30px;color:#fff;background:none;border:0;cursor:pointer;line-height:1}

@media (max-width:1024px){
  .tpl-grid,.tpl-grid--related{grid-template-columns:repeat(2,1fr)}
  .tpl-hero,.tpl-body{grid-template-columns:1fr}
  .tpl-layout{grid-template-columns:1fr}
  .tpl-sidebar{order:-1}
  .tpl-sticky-card{position:static}
}
@media (max-width:640px){
  .tpl-grid,.tpl-grid--related{grid-template-columns:1fr}
}
