.tsca-mm-container{position:relative; display:flex; flex-direction:column; gap:8px}
.tsca-align-left{align-items:flex-start}
.tsca-align-center{align-items:center}
.tsca-align-right{align-items:flex-end}
.tsca-mm-trigger{display:inline-flex; align-items:center; gap:10px; padding:10px 16px; background:var(--tsca-btn-bg,#22c55e); color:var(--tsca-btn-color,#fff); border:none; border-radius:var(--tsca-btn-radius,10px); cursor:pointer; font-weight:600}
.tsca-mm-trigger:hover{filter:brightness(.96)}
.tsca-mm-trigger:focus{outline:2px solid rgba(0,0,0,.25); outline-offset:2px}
.tsca-mm-trigger-icon{width:18px;height:2px;box-shadow:0 6px 0 0 currentColor, 0 -6px 0 0 currentColor;background:currentColor;border-radius:2px;display:inline-block}
/* Panel positioning + centering */
.tsca-mm-panel{position:absolute; z-index:9999; top:100%; margin-top:12px; min-width:320px; opacity:0; transform:translateY(10px); transition:opacity var(--tsca-anim,.22s) ease, transform var(--tsca-anim,.22s) ease}
.tsca-align-center .tsca-mm-panel{left:50%; transform:translate(-50%, 10px)}
.tsca-align-left .tsca-mm-panel{left:0}
.tsca-align-right .tsca-mm-panel{right:0}
.tsca-mm-panel.open{opacity:1; transform:translateY(0) translateX(0)}
/* Mega menu */
.tsca-mm{display:flex; gap:var(--tsca-mm-gap,24px); background:var(--tsca-mm-bg,#fff); color:var(--tsca-mm-text,#111); font-family:var(--tsca-mm-font,inherit); font-size:var(--tsca-mm-font-size,16px); padding:28px; border-radius:14px; box-shadow:0 18px 36px rgba(0,0,0,.12)}
.tsca-mm-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--tsca-mm-gap,24px); flex:1}
.tsca-mm-cols-1 .tsca-mm-grid{grid-template-columns:repeat(1, 1fr)}
.tsca-mm-cols-2 .tsca-mm-grid{grid-template-columns:repeat(2, 1fr)}
.tsca-mm-cols-3 .tsca-mm-grid{grid-template-columns:repeat(3, 1fr)}
.tsca-mm-cols-4 .tsca-mm-grid{grid-template-columns:repeat(4, 1fr)}
.tsca-mm-cols-5 .tsca-mm-grid{grid-template-columns:repeat(5, 1fr)}
.tsca-mm-cols-6 .tsca-mm-grid{grid-template-columns:repeat(6, 1fr)}
/* Optional dividers */
.tsca-mm.tsca-dividers .tsca-mm-col{position:relative}
.tsca-mm.tsca-dividers .tsca-mm-col+ .tsca-mm-col:before{content:''; position:absolute; left:-12px; top:0; bottom:0; width:1px; background:rgba(0,0,0,.08)}
/* Links */
.tsca-mm-col .tsca-mm-heading{font-size:1.08em;margin:0 0 10px;font-weight:700}
.tsca-mm-links{list-style:none;margin:0;padding:0}
.tsca-mm-links li{min-height:var(--tsca-mm-item-h,0)}
.tsca-mm-links a{display:flex;gap:8px;align-items:flex-start;padding:8px 0; text-decoration:none; color:var(--tsca-mm-text,#111); line-height:var(--tsca-mm-line,1.4); min-width:var(--tsca-mm-item-w,0)}
.tsca-mm-links a:hover{opacity:.9; text-decoration:underline}
.tsca-icon{font-size:20px; line-height:1; opacity:.9; margin-top:2px}
/* Side image */
.tsca-mm-side{flex:0 0 320px; display:flex; align-items:center; justify-content:center}
.tsca-mm-side img{max-width:100%; height:auto; border-radius:12px; display:block}
.tsca-mm.tsca-image-left{flex-direction:row-reverse}
/* Responsive */
@media (max-width: 900px){
  .tsca-mm-panel{position:static; width:100%}
  .tsca-mm{flex-direction:column}
  .tsca-mm-side{order:2}
}
