/* TirzaSema homepage cards + Top brands. Uses Periwinkle theme tokens. */
.tzs-brands{padding:8px 0 40px}
.tzs-brands h2{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink-muted);text-align:center;margin:0 0 18px;letter-spacing:0}
.tzs-brands ul{list-style:none;margin:0;padding:22px 28px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 44px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.tzs-brands a{display:flex;align-items:center;height:44px;color:var(--ink-muted);text-decoration:none;border-radius:8px}
.tzs-brands img{display:block;max-height:34px;max-width:140px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .3s ease,opacity .3s ease}
.tzs-brands a:hover img,.tzs-brands a:focus-visible img{filter:none;opacity:1}
.tzs-word{font-size:18px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.tzs-brands a:hover .tzs-word{color:var(--ink-strong)}
.tzs-brands a:focus-visible{outline:2px solid var(--peri);outline-offset:4px}

.tzs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.tzs-head .tzh-head{margin-bottom:0}
.tzs-tabs{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.tzs-tabs button{appearance:none;border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--ink-muted);padding:8px 14px;border-radius:999px;cursor:pointer}
.tzs-tabs button.is-on{background:var(--deep);color:var(--on-deep)}
.tzs-tabs button:focus-visible{outline:2px solid var(--peri);outline-offset:2px}

/* cards */
.tzs .wrap{width:min(1320px,100% - 40px);max-width:1320px}
.tzs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tzs-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border-radius:24px;overflow:hidden;border:1px solid var(--line);transition:border-color .25s ease,box-shadow .25s ease}
.tzs-card:hover,.tzs-card:focus-within{border-color:color-mix(in srgb,var(--peri) 55%,var(--line));box-shadow:0 22px 40px -30px rgba(15,28,51,.45)}
.tzs-card[hidden]{display:none}
.tzs-media-link{display:block}

/* image box: always 10:9, content adapts */
.tzs-media{position:relative;aspect-ratio:10/9;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,#f7f8fa 0%,#e6e9ee 100%)}
.tzs-media img{display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tzs-card:hover .tzs-media img{transform:scale(1.035)}
.tzs-media.is-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.tzs-media.is-contain img{width:100%;height:100%;object-fit:contain;padding:9% 11%;filter:drop-shadow(0 18px 18px rgba(15,28,51,.14))}
.tzs-media.is-logo img{width:auto;height:auto;max-width:68%;max-height:40%;object-fit:contain}
.tzs-media.is-art svg{width:76%;height:86%;font-family:var(--font-sans)}
.tzs-mono{display:grid;place-items:center;width:104px;height:104px;border-radius:28px;background:var(--deep);color:var(--on-deep);font-size:36px;font-weight:700}
.tzs-logo-chip{position:absolute;left:12px;bottom:12px;display:grid;place-items:center;height:38px;padding:5px 10px;border-radius:10px;background:#fff;box-shadow:0 6px 16px -8px rgba(15,28,51,.35)}
.tzs-logo-chip img{max-height:26px;max-width:92px;width:auto;height:auto;object-fit:contain;padding:0;filter:none;transform:none!important}
.tzs-badge{position:absolute;top:14px;right:14px;z-index:1;background:var(--lime);color:var(--on-lime);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px}

/* body */
.tzs-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.tzs-tags{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.tzs-tags li{font-size:11.5px;font-weight:600;line-height:1;padding:5px 9px;border-radius:999px;background:var(--mist);color:var(--on-mist)}
.tzs-tags.is-warn li:last-child{background:var(--sand);color:var(--on-sand)}
.tzs-body h3{font-family:var(--font-sans);font-size:19px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.tzs-body h3 a{color:var(--ink-strong);text-decoration:none}
.tzs-body h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.tzs-text{font-size:14.5px;line-height:1.5;color:var(--ink-muted);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}
.tzs-row{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line);margin-bottom:14px}
.tzs-price{margin:0;display:grid;gap:2px}
.tzs-price span{font-size:12px;color:var(--ink-muted)}
.tzs-price b{font-size:20px;line-height:1.1;font-weight:700;color:var(--ink-strong)}
.tzs-price b small{font-size:12.5px;font-weight:500;color:var(--ink-muted);margin-left:2px}
.tzs-price b.is-na{font-size:14px;color:var(--ink-muted)}
.tzs-more{font-size:13px;font-weight:600;color:var(--ink);text-underline-offset:3px}
.tzs-more:hover{color:var(--ink-strong)}
.tzs-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;background:var(--deep);color:var(--on-deep);font-size:14.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;transition:background-color .2s ease,transform .15s ease}
.tzs-btn:hover{background:var(--ink-strong);color:var(--on-deep)}
.tzs-btn:active{transform:scale(.98)}
.tzs-btn:focus-visible,.tzs-more:focus-visible{outline:3px solid var(--peri);outline-offset:3px}
.tzs-dest{margin:8px 0 0;text-align:center;font-size:11.5px;color:var(--ink-muted)}
.tzs-note{margin:22px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-muted);max-width:90ch}
.tzs-note a{color:var(--ink)}

@media (max-width:1180px){.tzs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.tzs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:560px){
  .tzs-grid{grid-template-columns:1fr}
  .tzs-media{aspect-ratio:16/11}
  .tzs-brands ul{gap:14px 28px;padding:18px}
  .tzs-brands img{max-height:28px;max-width:110px}
  .tzs-tabs{width:100%}
  .tzs-tabs button{flex:1;padding:9px 8px}
}
@media (prefers-reduced-motion:reduce){.tzs-brands img,.tzs-btn,.tzs-media img,.tzs-card{transition:none}.tzs-card:hover .tzs-media img{transform:none}}
