.tesla-services-slider{position:relative;width:100%;margin:0 auto;display:flex;align-items:center;gap:10px;padding-inline:0px;font-family:var(--tesla-svc-font-family,inherit)}
.tesla-services-slider,.tesla-services-list{--tesla-svc-accent:#0b8198;--tesla-svc-accent-2:#8cc63f;}
.tesla-services-viewport{overflow:hidden;width:100%;flex:1 1 auto;min-width:0}
.tesla-services-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.tesla-services-item{flex:0 0 calc(100%/3);box-sizing:border-box;padding:10px}

.tesla-services-card{width:min(100%, var(--tesla-svc-card-width,100%));max-width:var(--tesla-svc-card-width,100%);margin-inline:auto;text-align:left;border-style:solid;border-width:var(--tesla-svc-card-border-w,1px);border-color:var(--tesla-svc-card-border,#e6e6e6);padding:0;background:var(--tesla-svc-card-bg,#fff);border-radius:var(--tesla-svc-card-radius,16px);overflow:hidden;box-shadow:var(--tesla-svc-card-shadow,0 6px 18px rgba(0,0,0,.08));transform:translateY(0);transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;cursor:pointer;position:relative}
.tesla-services-card::after{content:"";position:absolute;inset:auto -20% -58% auto;width:120px;height:120px;background:radial-gradient(circle, var(--tesla-svc-title-hover-color,#ffb400), transparent 70%);opacity:.65;pointer-events:none;transition:transform .24s ease, opacity .24s ease}
.tesla-services-card:hover{transform:translateY(calc(-1 * var(--tesla-svc-hover-raise,8px)));box-shadow:var(--tesla-svc-card-shadow-hover,0 18px 36px rgba(0,0,0,.22));background:var(--tesla-svc-card-bg,#fff);border-color:var(--tesla-svc-title-hover-color,var(--tesla-svc-card-border-hover,var(--tesla-svc-card-border,#e6e6e6)))}
.tesla-services-card:hover::after{opacity:.85;transform:scale(1.04)}
.tesla-services-card:hover .tesla-services-title{color:var(--tesla-svc-title-color,inherit)}
.tesla-services-card.is-static{cursor:default}
.tesla-services-card.is-static:hover{transform:none;box-shadow:var(--tesla-svc-card-shadow,0 6px 18px rgba(0,0,0,.08));background:var(--tesla-svc-card-bg,#fff);border-color:var(--tesla-svc-card-border,#e6e6e6)}
.tesla-services-card.is-static:hover::after{opacity:.65;transform:none}
.tesla-services-card.is-static:hover .tesla-services-title{color:var(--tesla-svc-title-color,inherit)}
.tesla-services-card.is-static:hover .tesla-services-img{transform:none}
.tesla-services-img{height:var(--tesla-svc-img-h,180px);background-size:var(--tesla-svc-img-fit,cover);background-repeat:no-repeat;background-position:center;background-color:rgba(0,0,0,.05);transform:scale(1);transition:transform var(--tesla-svc-tr,350ms) ease}
.tesla-services-card:hover .tesla-services-img{transform:scale(var(--tesla-svc-img-zoom,1.06))}
.tesla-services-body{padding:var(--tesla-svc-card-padding,14px);text-align:var(--tesla-svc-title-align,left)}
.tesla-services-title{margin:0;font-size:clamp(16px,4.2vw,var(--tesla-svc-title-size,18px));line-height:1.2;color:var(--tesla-svc-title-color,inherit);text-align:var(--tesla-svc-title-align,left)}

.tesla-services-btn{border:0;background:#fff;width:42px;height:42px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .2s ease, box-shadow .2s ease;position:relative;z-index:3}
.tesla-services-btn:hover{transform:scale(1.05);box-shadow:0 10px 22px rgba(0,0,0,.16)}
.tesla-services-btn:active{transform:scale(.98)}
.tesla-services-btn[disabled]{opacity:.4;cursor:default;box-shadow:none;transform:none}

/* Lista / grid */
.tesla-services-list{width:100%;font-family:var(--tesla-svc-font-family,inherit)}
.tesla-services-grid{display:grid;grid-template-columns:repeat(var(--tesla-svc-columns,3), minmax(0,1fr));gap:20px}
.tesla-services-grid-item{min-width:0}

/* Modal */
.tesla-services-modal[hidden]{display:none}
.tesla-services-modal{position:fixed;inset:0;z-index:99999}
.tesla-services-modal-backdrop{position:absolute;inset:0;background:rgba(7,12,22,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tesla-services-modal-dialog{position:relative;max-width:920px;margin:6vh auto;background:linear-gradient(180deg,rgba(10,20,38,.76),rgba(8,18,34,.70));color:#f8fafc;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.30);max-height:88vh;display:flex;flex-direction:column}
@media (max-width: 1024px){.tesla-services-modal-dialog{margin:4vh 14px}}
.tesla-services-modal-close{position:absolute;right:14px;top:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;width:38px;height:38px;border-radius:999px;cursor:pointer;font-size:22px;line-height:1}
.tesla-services-modal-close:hover{background:rgba(255,255,255,.14)}
.tesla-services-modal-content{padding:18px 18px 20px;overflow:auto;flex:1}
.tesla-services-full-img{width:100% !important;max-width:100% !important;height:var(--tesla-svc-modal-img-h,320px) !important;max-height:62vh;object-fit:cover;object-position:center;border-radius:14px;display:block}
@media (max-width: 640px){.tesla-services-full-img{height:220px}}
.tesla-services-full-title{margin:14px 0 6px;font-size:22px;line-height:1.15}
.tesla-services-full-desc{font-size:15px;line-height:1.65}

@media (max-width: 1024px){
  .tesla-services-item{flex-basis:calc(100%/2)}
  .tesla-services-grid{grid-template-columns:repeat(min(2, var(--tesla-svc-columns,3)), minmax(0,1fr))}
}
@media (max-width: 768px){
  .tesla-services-slider{gap:5px}
  .tesla-services-btn{width:38px;height:38px}
  .tesla-services-item{flex-basis:100%}
  .tesla-services-img{height:min(var(--tesla-svc-img-h,180px), 220px);transform:scale(1);transition:transform var(--tesla-svc-tr,350ms) ease}
  .tesla-services-grid{grid-template-columns:1fr;gap:14px}
}


/* Glass style */
.tesla-services-slider[data-card-style="glass"] .tesla-services-card,
.tesla-services-list[data-card-style="glass"] .tesla-services-card{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.10));
  border-color:rgba(255,255,255,.28);
  backdrop-filter:blur(14px) saturate(1.14);
  -webkit-backdrop-filter:blur(14px) saturate(1.14);
  box-shadow:0 20px 40px rgba(6,18,30,.18), inset 0 1px 0 rgba(255,255,255,.34);
}
.tesla-services-slider[data-card-style="glass"] .tesla-services-card::before,
.tesla-services-list[data-card-style="glass"] .tesla-services-card::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 34%);
}
.tesla-services-slider[data-card-style="glass"] .tesla-services-card:hover,
.tesla-services-list[data-card-style="glass"] .tesla-services-card:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.10));
  border-color:var(--tesla-svc-title-hover-color, rgba(255,255,255,.40));
  box-shadow:var(--tesla-svc-card-shadow-hover,0 18px 36px rgba(0,0,0,.22)), inset 0 1px 0 rgba(255,255,255,.40);
}
.tesla-services-slider[data-card-style="glass"] .tesla-services-title,
.tesla-services-list[data-card-style="glass"] .tesla-services-title{
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}

.tesla-services-full-title,.tesla-services-full-desc{color:#f8fafc}


/* Event cards - responsive premium look */
.tesla-services-slider .tesla-services-item,
.tesla-services-list .tesla-services-grid-item{display:flex}
.tesla-services-slider .tesla-services-item > .tesla-services-card,
.tesla-services-list .tesla-services-grid-item > .tesla-services-card{width:100%}
.tesla-services-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:100%;
  padding:12px 12px 0;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(13,112,136,.92));
  border-color:rgba(255,255,255,.28);
  overflow:hidden;
}
.tesla-services-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 34%, rgba(3,21,31,.08) 100%);
}
.tesla-services-card::after{
  width:150px;
  height:150px;
  right:-18px;
  bottom:-62px;
  background:radial-gradient(circle, rgba(255,209,102,.55), rgba(255,209,102,0) 70%);
  opacity:.52;
}
.tesla-services-img{
  width:min(88%, 240px);
  aspect-ratio:1/1;
  height:auto;
  min-height:0;
  margin:14px auto 10px;
  border-radius:999px;
  background-size:var(--tesla-svc-img-fit,contain);
  background-repeat:no-repeat;
  background-position:center center;
  background-color:#9dcb2f;
  border:10px solid rgba(6,124,160,.88);
  box-shadow:0 22px 34px rgba(5,18,30,.24);
}
.tesla-services-body{
  margin-top:auto;
  padding:8px 14px 16px;
  text-align:center !important;
  position:relative;
  z-index:1;
}
.tesla-services-title{
  color:#fff !important;
  font-size:clamp(20px, 1.55vw, var(--tesla-svc-title-size,18px));
  font-weight:800;
  line-height:1.08;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-wrap:balance;
}
.tesla-services-card:hover{background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(10,102,123,.98));}
.tesla-services-card:hover .tesla-services-title{color:#fff !important}
.tesla-services-slider[data-card-style="glass"] .tesla-services-card,
.tesla-services-list[data-card-style="glass"] .tesla-services-card{
  background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(10,102,123,.78));
  border-color:rgba(255,255,255,.32);
}
.tesla-services-slider[data-card-style="none"] .tesla-services-card,
.tesla-services-list[data-card-style="none"] .tesla-services-card{
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(10,102,123,.72));
  border-color:rgba(255,255,255,.18);
}
.tesla-services-slider[data-card-style="transparent"] .tesla-services-card,
.tesla-services-list[data-card-style="transparent"] .tesla-services-card{
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(10,102,123,.82));
}
.tesla-services-btn{
  background:rgba(14,64,99,.94);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.tesla-services-btn:hover{background:#0f6f86;color:#fff}
@media (max-width: 1024px){
  .tesla-services-card{padding:10px 10px 0}
  .tesla-services-img{width:min(82%,210px);border-width:8px}
  .tesla-services-title{font-size:clamp(18px, 3vw, 24px)}
}
@media (max-width: 768px){
  /* En móvil: 1 tarjeta visible + flechas al ras (sin pisar el diseño)
     usando grid (col izquierda = flecha, col centro = tarjeta, col derecha = flecha) */
  .tesla-services-slider{
    display:grid;
    grid-template-columns:52px 1fr 52px;
    align-items:center;
    gap:5px;
    padding-inline:0px;
  }
  .tesla-services-btn{width:38px;height:38px}
  .tesla-services-btn.prev{justify-self:start}
  .tesla-services-btn.next{justify-self:end}
  .tesla-services-viewport{width:100%;min-width:0}

  .tesla-services-item{padding:8px}
  .tesla-services-grid{grid-template-columns:1fr;gap:14px}
  .tesla-services-card{border-radius:16px}
  .tesla-services-img{width:min(78%,200px);margin:12px auto 8px;border-width:8px}
  .tesla-services-body{padding:6px 12px 14px}
  .tesla-services-title{font-size:clamp(18px, 5vw, 22px)}
}
@media (max-width: 480px){
  .tesla-services-btn{width:34px;height:34px;font-size:16px}
  .tesla-services-slider{grid-template-columns:46px 1fr 46px; padding-inline:0px}
  .tesla-services-item{padding:6px}
  .tesla-services-img{width:min(76%,180px);border-width:7px}
}

/* Animación suave: al cargar y al avanzar, las tarjetas visibles entran centradas */
.tesla-services-item.is-visible .tesla-services-card{animation:teslaSvcPop .55s cubic-bezier(.22,.61,.36,1)}
@keyframes teslaSvcPop{from{transform:translateY(10px) scale(.985);opacity:.25}to{transform:translateY(0) scale(1);opacity:1}}
@media (prefers-reduced-motion: reduce){
  .tesla-services-item.is-visible .tesla-services-card{animation:none}
  .tesla-services-track{transition:none}
}

/* Estado SIN FONDO: limpia completamente el glass y cualquier overlay */
.tesla-services-slider[data-card-style="none"] .tesla-services-card,
.tesla-services-list[data-card-style="none"] .tesla-services-card{
  background:transparent !important;
  background-image:none !important;
  border-color:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
.tesla-services-slider[data-card-style="none"] .tesla-services-card::before,
.tesla-services-slider[data-card-style="none"] .tesla-services-card::after,
.tesla-services-list[data-card-style="none"] .tesla-services-card::before,
.tesla-services-list[data-card-style="none"] .tesla-services-card::after{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
  opacity:0 !important;
}
.tesla-services-slider[data-card-style="none"] .tesla-services-card:hover,
.tesla-services-list[data-card-style="none"] .tesla-services-card:hover,
.tesla-services-slider[data-card-style="none"] .tesla-services-card.is-static:hover,
.tesla-services-list[data-card-style="none"] .tesla-services-card.is-static:hover{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.tesla-services-slider[data-card-style="none"] .tesla-services-body,
.tesla-services-list[data-card-style="none"] .tesla-services-body{
  padding-top:2px;
}
