.tesla-projects{width:100%;font-family:var(--tesla-prj-font-family,inherit)}
.tesla-projects-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.tesla-projects-filter{border:1px solid var(--tesla-prj-filter-border,#dddddd);background:var(--tesla-prj-filter-bg,#fff);color:var(--tesla-prj-filter-text,#fff);border-radius:999px;padding:10px 18px;cursor:pointer;transition:transform var(--tesla-prj-tr,350ms) ease, box-shadow var(--tesla-prj-tr,350ms) ease, background-color var(--tesla-prj-tr,350ms) ease, border-color var(--tesla-prj-tr,350ms) ease, color var(--tesla-prj-tr,350ms) ease;font-weight:600}
.tesla-projects-filter:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.10);background:var(--tesla-prj-filter-bg-hover,var(--tesla-prj-filter-bg,#fff));color:var(--tesla-prj-filter-text-hover,var(--tesla-prj-filter-text,#fff))}
.tesla-projects-filter.is-active{background:var(--tesla-prj-filter-bg-active,#111);color:var(--tesla-prj-filter-text-active,#fff);border-color:var(--tesla-prj-filter-border-active,var(--tesla-prj-filter-border,#ddd));box-shadow:0 8px 18px rgba(0,0,0,.12)}
.tesla-projects-panel{display:none}
.tesla-projects-panel.is-active{display:block}
.tesla-projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tesla-projects-card{position:relative;display:block;width:100%;padding:0;border:1px solid var(--tesla-prj-card-border,#e6e6e6);background:var(--tesla-prj-card-bg,#fff);border-radius:24px;overflow:hidden;cursor:pointer;box-shadow:var(--tesla-prj-card-shadow,0 6px 18px rgba(0,0,0,.08));transition:transform var(--tesla-prj-tr,350ms) ease, box-shadow var(--tesla-prj-tr,350ms) ease, background-color var(--tesla-prj-tr,350ms) ease, border-color var(--tesla-prj-tr,350ms) ease;aspect-ratio:1/1}
.tesla-projects-card:hover{transform:translateY(calc(-1 * var(--tesla-prj-hover-raise,4px)));box-shadow:var(--tesla-prj-card-shadow-hover,var(--tesla-prj-card-shadow,0 6px 18px rgba(0,0,0,.08)));background:var(--tesla-prj-card-bg-hover,var(--tesla-prj-card-bg,#fff));border-color:var(--tesla-prj-card-border-hover,var(--tesla-prj-card-border,#e6e6e6))}
.tesla-projects-media,.tesla-projects-img{position:absolute;inset:0;display:block}
.tesla-projects-img{background-size:cover;background-position:center;background-color:rgba(0,0,0,.06);transform:scale(1);transition:transform var(--tesla-prj-tr,350ms) ease, filter var(--tesla-prj-tr,350ms) ease}
.tesla-projects-card:hover .tesla-projects-img{transform:scale(var(--tesla-prj-img-zoom,1.06));filter:saturate(1.02)}
.tesla-projects-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.18), var(--tesla-prj-card-shadow-hover,var(--tesla-prj-card-shadow,0 6px 18px rgba(0,0,0,.08)))}
@media (max-width: 1200px){.tesla-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (max-width: 767px){.tesla-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tesla-projects-card{border-radius:18px}}
@media (max-width: 520px){.tesla-projects-grid{grid-template-columns:1fr}}
.tesla-projects-lightbox[hidden]{display:none}
.tesla-projects-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.90);z-index:100001;display:flex;align-items:center;justify-content:center;padding:28px}
.tesla-projects-lightbox-img{max-width:min(92vw, 1600px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.tesla-projects-lightbox-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:24px;cursor:pointer}
