:root{
  --social-accent:#8f0d36;
  --social-accent-dark:#720a2b;
  --social-bg:#ffffff;
  --social-text:#252122;
  --social-muted:#858082;
  --social-border:#eee8ea;
  --social-shadow:0 20px 60px rgba(37,8,18,.20);
}

#ModuloRedesSociales{position:relative;z-index:12120}

.social-tab{
  position:fixed;
  left:0;
  top:50%;
  transform:translateY(-50%);
  z-index:12122;
  width:44px;
  min-height:146px;
  padding:13px 0;
  border:1px solid #e7e0e2;
  border-left:0;
  border-radius:0 20px 20px 0;
  background:#fff;
  color:var(--social-accent);
  box-shadow:0 10px 30px rgba(38,15,22,.13);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  transition:.25s ease;
}
.social-tab:hover{
  width:48px;
  color:#fff;
  background:var(--social-accent);
}
.social-tab-icon{
  font:700 18px/1 Arial,sans-serif;
}
.social-tab-text{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  letter-spacing:1.3px;
  font:700 10px/1.1 Arial,sans-serif;
}

.social-overlay{
  position:fixed;
  inset:0;
  z-index:12118;
  background:rgba(20,12,15,.20);
  backdrop-filter:blur(2px);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}
.social-overlay.is-open{opacity:1;visibility:visible}

.social-panel{
  position:fixed;
  top:0;
  left:0;
  z-index:12121;
  width:min(380px,92vw);
  height:100dvh;
  padding:34px 26px 26px;
  background:var(--social-bg);
  border-radius:0 28px 28px 0;
  box-shadow:var(--social-shadow);
  transform:translateX(-105%);
  transition:transform .42s cubic-bezier(.22,.8,.2,1);
  overflow:auto;
}
.social-panel.is-open{transform:translateX(0)}

.social-panel-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:4px 2px 24px;
  border-bottom:1px solid #f0ebed;
  margin-bottom:20px;
}
.social-kicker{
  display:block;
  margin-bottom:5px;
  color:#a88b95;
  letter-spacing:2px;
  font:700 9px/1 Arial,sans-serif;
}
.social-panel-top h2{
  margin:0;
  color:var(--social-accent);
  font:700 28px/1.05 Georgia,"Times New Roman",serif;
}
.social-close{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#faf6f7;
  color:var(--social-accent);
  font:300 28px/34px Arial,sans-serif;
  cursor:pointer;
}
.social-close:hover{background:var(--social-accent);color:#fff}

.social-list{display:grid;gap:11px}
.social-item{
  display:grid;
  grid-template-columns:46px 1fr 22px;
  align-items:center;
  min-height:68px;
  padding:10px 14px;
  text-decoration:none;
  color:var(--social-text);
  border:1px solid var(--social-border);
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 16px rgba(31,12,18,.055);
  transition:.22s ease;
}
.social-item:hover{
  transform:translateX(-4px);
  border-color:rgba(143,13,54,.20);
  box-shadow:0 10px 25px rgba(45,9,20,.10);
}
.social-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:19px;
}
.whatsapp{background:#25D366}
.facebook{background:#1877F2}
.instagram{background:linear-gradient(145deg,#833ab4,#fd1d1d,#fcb045)}
.tiktok{background:#111}
.youtube{background:#b10e36}
.email{background:var(--social-accent)}
.social-copy{display:grid;gap:3px}
.social-copy strong{font:700 14px/1.15 Arial,sans-serif}
.social-copy small{font:400 12px/1.15 Arial,sans-serif;color:var(--social-muted)}
.social-arrow{color:var(--social-accent);font:300 25px/1 Arial,sans-serif;text-align:right}

body.social-lock{overflow:hidden}
body.social-lock .social-tab{opacity:0;pointer-events:none;transform:translateY(-50%) translateX(-100%)}

@media(max-width:520px){
  .social-tab{
    top:52%;
    width:40px;
    min-height:132px;
    border-radius:0 18px 18px 0;
  }
  .social-tab-text{font-size:9px}
  .social-panel{
    width:min(340px,92vw);
    padding:28px 20px 22px;
    border-radius:0 24px 24px 0;
  }
  .social-panel-top h2{font-size:25px}
}
