:root{
  --ss-pink:#cf0066;
  --ss-magenta:#ad1f75;
  --ss-turq:#72bcb7;
  --ss-turq-dark:#48a9a5;
  --ss-yellow:#ffeb22;
  --ss-lilac:#e8bdd6;
  --ss-blue:#9fc9de;
  --ss-green:#b7ca63;
  --ss-ink:#20202a;
  --ss-paper:#fff;
}

/* SanseStock 2026 · Listado */
.ss-directory,
.entry-content .ss-directory,
.znColumnElement-innerWrapper .ss-directory{
  width:100% !important;
  max-width:1320px !important;
  margin:34px auto 56px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px !important;
  align-items:stretch !important;
  clear:both !important;
  float:none !important;
  box-sizing:border-box !important;
}
.ss-directory *, .ss-single-shell *{box-sizing:border-box}
.ss-directory > .ss-card{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:410px;
  overflow:hidden;
  background:var(--ss-paper);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 10px 28px rgba(67,32,62,.12);
  text-decoration:none !important;
  color:var(--ss-ink) !important;
  transition:transform .18s ease, box-shadow .18s ease;
  isolation:isolate;
}
.ss-directory > .ss-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(67,32,62,.18)}

.ss-logo-wrap{
  position:relative;
  height:235px;
  min-height:235px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:48px 35px 28px;
  overflow:hidden;
  background:
    linear-gradient(135deg,transparent 0 66%,rgba(159,201,222,.35) 66% 80%,transparent 80%),
    linear-gradient(38deg,transparent 0 72%,rgba(183,202,99,.30) 72% 83%,transparent 83%),
    #fff;
}
.ss-logo-wrap:before{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-38px;top:-45px;
  background:rgba(232,189,214,.48);
  border-radius:48% 52% 42% 58%;
  z-index:-1;
}
.ss-logo-wrap:after{
  content:"";
  position:absolute;
  width:108px;height:108px;
  left:18px;bottom:-58px;
  background:rgba(114,188,183,.22);
  border-radius:50%;
  z-index:-1;
}
.ss-logo{display:block;max-width:86% !important;max-height:145px !important;width:auto !important;height:auto !important;object-fit:contain;position:relative;z-index:2}
.ss-placeholder{
  width:118px !important;height:118px !important;
  display:flex !important;align-items:center;justify-content:center;
  border-radius:50%;background:#f7f5f6;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
  font-size:58px;font-weight:900;color:var(--ss-pink);
}
.ss-number{
  position:absolute;top:17px;left:17px;z-index:5;
  min-width:58px;padding:11px 10px 10px;
  background:var(--ss-yellow);color:#111;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
  font-weight:900;font-size:24px;line-height:1;text-align:center;
  box-shadow:6px 6px 0 var(--ss-turq-dark);
  transform:rotate(-1deg);
}
.ss-card-body{
  position:relative;
  padding:22px 25px 25px !important;
  border-top:7px solid var(--ss-pink);
  flex:1;display:flex !important;flex-direction:column;
  background:#fff;
}
.ss-card-body:after{
  content:"";position:absolute;right:-28px;bottom:-36px;width:86px;height:86px;
  border:13px solid rgba(114,188,183,.18);border-radius:50%;pointer-events:none;
}
.ss-card h3{
  margin:0 0 8px !important;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif !important;
  font-size:23px !important;line-height:1.08 !important;font-weight:800 !important;
  letter-spacing:-.02em;color:var(--ss-magenta) !important;text-transform:none !important;
}
.ss-activity{
  margin:0 0 13px !important;
  font-family:"Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;line-height:1.35 !important;font-weight:800 !important;color:#171720 !important;
}
.ss-offer{
  margin:0 0 20px !important;font-family:"Trebuchet MS",Arial,sans-serif !important;
  font-size:14px !important;line-height:1.5 !important;color:#49444b !important;
}
.ss-more{
  position:relative;z-index:2;margin-top:auto;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif !important;
  font-weight:900;color:var(--ss-pink) !important;text-transform:uppercase;
  font-size:13px;letter-spacing:.04em;
}
.ss-more span{font-size:18px;margin-left:4px}

/* Ficha individual */
.ss-single-shell{max-width:1200px;margin:35px auto 70px;padding:0 20px;font-family:"Trebuchet MS",Arial,sans-serif;color:var(--ss-ink)}
.ss-back{text-decoration:none!important;color:var(--ss-magenta)!important;font-weight:800}
.ss-single-head{display:flex;align-items:center;gap:20px;margin:25px 0 34px;border-bottom:9px solid var(--ss-turq);padding:18px 0 22px;position:relative}
.ss-single-head:after{content:"";position:absolute;right:0;bottom:-9px;width:25%;height:9px;background:var(--ss-yellow)}
.ss-single-head h1{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;font-size:clamp(34px,5vw,62px);line-height:.98;margin:0;color:var(--ss-magenta)!important;letter-spacing:-.035em}
.ss-single-head p{margin:9px 0 0;font-size:18px;font-weight:700}
.ss-single-number{background:var(--ss-yellow);color:#111;font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-size:40px;font-weight:900;padding:14px 16px;box-shadow:8px 8px 0 var(--ss-turq-dark)}
.ss-single-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:44px}
.ss-single-logo{position:relative;background:#fff;border:0;min-height:320px;display:flex;align-items:center;justify-content:center;padding:38px;box-shadow:0 10px 28px rgba(67,32,62,.10);overflow:hidden}
.ss-single-logo:after{content:"";position:absolute;width:150px;height:150px;right:-45px;top:-45px;background:rgba(232,189,214,.4);border-radius:50%}
.ss-single-logo img{position:relative;z-index:2;max-width:100%;max-height:300px;width:auto;height:auto;object-fit:contain}
.ss-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.ss-gallery a{display:block;aspect-ratio:4/3;background:#f6f6f6;overflow:hidden}.ss-gallery img{width:100%;height:100%;object-fit:cover;transition:.2s}.ss-gallery a:hover img{transform:scale(1.025)}
.ss-feature-box{position:relative;background:var(--ss-pink);color:#fff;padding:29px;margin-bottom:30px;box-shadow:11px 11px 0 var(--ss-yellow)}
.ss-feature-box:before{content:"";position:absolute;right:20px;top:-18px;width:58px;height:58px;border:10px solid var(--ss-turq);border-radius:50%}
.ss-feature-box>span{display:block;font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:12px}.ss-feature-box p:last-child{margin-bottom:0}
.ss-content-block{margin:30px 0}.ss-content-block h2{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;color:var(--ss-magenta)!important;font-size:23px;margin-bottom:10px}
.ss-contact-box{border-left:9px solid var(--ss-turq);background:#f8f5f7;padding:23px 27px}.ss-contact-box p{margin:0 0 16px}.ss-contact-box p:last-child{margin-bottom:0}.ss-contact-box a{color:var(--ss-pink)!important;font-weight:800}

@media (max-width:1020px){
  .ss-directory,.entry-content .ss-directory,.znColumnElement-innerWrapper .ss-directory{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
  .ss-single-grid{grid-template-columns:1fr}
}
@media (max-width:650px){
  .ss-directory,.entry-content .ss-directory,.znColumnElement-innerWrapper .ss-directory{grid-template-columns:1fr !important;gap:20px !important;padding:0 10px !important}
  .ss-directory > .ss-card{min-height:0}.ss-logo-wrap{height:200px;min-height:200px}.ss-single-head{align-items:flex-start}.ss-single-number{font-size:28px}.ss-gallery{grid-template-columns:1fr 1fr}
}

/* v0.5 · ajustes ficha */
.ss-single-head h1{
  font-size:clamp(30px,3.4vw,46px) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
}
.ss-single-head p{font-size:17px !important;line-height:1.35 !important}
.ss-socials{overflow-wrap:anywhere}
.ss-social-link{display:inline-block !important;color:var(--ss-pink)!important;font-weight:800!important;text-decoration:none!important;margin-top:3px}
.ss-social-link:hover{text-decoration:underline!important}
.ss-social-text{display:inline-block;max-width:100%;overflow-wrap:anywhere}

/* Galería en lightbox dentro de la misma página */
body.ss-lightbox-open{overflow:hidden}
.ss-lightbox{
  position:fixed;inset:0;z-index:999999;
  display:none;align-items:center;justify-content:center;
  padding:40px 70px;background:rgba(20,16,22,.90);
}
.ss-lightbox.is-open{display:flex}
.ss-lightbox img{max-width:min(1200px,92vw);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 16px 50px rgba(0,0,0,.35)}
.ss-lightbox button{position:absolute;border:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;cursor:pointer;line-height:1;padding:8px!important}
.ss-lightbox-close{top:18px;right:24px;font-size:48px!important}
.ss-lightbox-prev,.ss-lightbox-next{top:50%;transform:translateY(-50%);font-size:64px!important}
.ss-lightbox-prev{left:18px}.ss-lightbox-next{right:18px}
@media (max-width:650px){
  .ss-single-head h1{font-size:30px!important}
  .ss-lightbox{padding:55px 15px}.ss-lightbox-prev{left:3px}.ss-lightbox-next{right:3px}
}

/* v0.6 · Flatsome + listado más compacto */
.ss-directory,
.entry-content .ss-directory,
.ux-page-content .ss-directory,
.page-wrapper .ss-directory{
  max-width:1180px !important;
  margin:24px auto 44px !important;
  padding:0 10px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.ss-directory > .ss-card{
  min-height:330px !important;
  box-shadow:0 7px 20px rgba(67,32,62,.10) !important;
}
.ss-directory > .ss-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(67,32,62,.15) !important;
}
.ss-logo-wrap{
  height:170px !important;
  min-height:170px !important;
  padding:35px 22px 18px !important;
}
.ss-logo{max-width:88% !important;max-height:108px !important}
.ss-placeholder{width:88px !important;height:88px !important;font-size:43px !important}
.ss-number{
  top:12px;left:12px;min-width:48px;
  padding:8px 8px 7px;font-size:19px;
  box-shadow:4px 4px 0 var(--ss-turq-dark);
}
.ss-card-body{padding:15px 17px 18px !important;border-top-width:5px !important}
.ss-card h3{font-size:18px !important;line-height:1.12 !important;margin-bottom:5px !important}
.ss-activity{font-size:13.5px !important;line-height:1.3 !important;margin-bottom:10px !important}
.ss-offer{
  display:block !important;
  margin:2px 0 13px !important;
  padding:9px 10px 10px !important;
  background:var(--ss-turq) !important;
  color:#132624 !important;
  font-family:"Trebuchet MS",Arial,sans-serif !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  border-left:4px solid var(--ss-yellow);
}
.ss-offer-label{
  display:block;
  margin-bottom:3px;
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.06em;
  color:#fff !important;
}
.ss-offer-text{display:block;color:#17302d !important}
.ss-more{font-size:11.5px !important}

/* Ficha individual más proporcionada en Flatsome */
.ss-single-shell{max-width:1160px !important;margin:24px auto 55px !important;padding:0 18px !important}
.ss-single-head{gap:15px !important;margin:18px 0 26px !important;padding:12px 0 17px !important;border-bottom-width:7px !important}
.ss-single-head:after{bottom:-7px !important;height:7px !important}
.ss-single-head h1{
  font-size:clamp(27px,2.7vw,36px) !important;
  line-height:1.06 !important;
  letter-spacing:-.02em !important;
  font-weight:800 !important;
}
.ss-single-head p{font-size:15px !important;line-height:1.3 !important;margin-top:5px !important}
.ss-single-number{font-size:28px !important;padding:10px 12px !important;box-shadow:6px 6px 0 var(--ss-turq-dark) !important}
.ss-single-grid{gap:34px !important}
.ss-single-logo{min-height:280px !important;padding:30px !important}
.ss-single-logo img{max-height:250px !important}

/* La oferta usa el verde/turquesa principal de la campaña */
.ss-feature-box{
  background:var(--ss-turq) !important;
  color:#17302d !important;
  padding:23px 25px !important;
  margin-bottom:25px !important;
  box-shadow:9px 9px 0 var(--ss-yellow) !important;
}
.ss-feature-box:before{border-color:var(--ss-magenta) !important;width:50px !important;height:50px !important}
.ss-feature-box>span{color:#fff !important;font-size:12px !important;margin-bottom:9px !important}
.ss-feature-box p{color:#17302d !important}
.ss-content-block{margin:24px 0 !important}
.ss-content-block h2{font-size:21px !important}
.ss-contact-box{padding:20px 23px !important}
.ss-contact-box p{margin-bottom:13px !important}

/* Redes: nunca mostrar URLs desnudas ni romper el ancho */
.ss-socials{overflow-wrap:normal !important}
.ss-social-link{display:inline-block !important;white-space:normal !important;overflow-wrap:anywhere !important}

@media (max-width:1050px){
  .ss-directory,.entry-content .ss-directory,.ux-page-content .ss-directory,.page-wrapper .ss-directory{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:780px){
  .ss-directory,.entry-content .ss-directory,.ux-page-content .ss-directory,.page-wrapper .ss-directory{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:520px){
  .ss-directory,.entry-content .ss-directory,.ux-page-content .ss-directory,.page-wrapper .ss-directory{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .ss-logo-wrap{height:165px !important;min-height:165px !important}
  .ss-single-head h1{font-size:27px !important}
}
