/* StockMarca V15: mapa automático y escaparate de prendas de marca.
   Scoped: no cambia catálogo, QGuapa ni precios de dropshipping. */
#mercados .market-actions,
#mercados .market-detail{display:none!important}
#mercados .network-copy .section-desc{margin-bottom:0}
#mercados .sm-europe-country.sm-is-origin{
  fill:#215d70!important;stroke:#fff;stroke-width:1.75
}
#mercados .sm-europe-marker.sm-is-origin{
  fill:#fff;stroke:#1b657a;stroke-width:3
}
#mercados .sm-europe-market.is-selected{
  fill:#1e7084;stroke:#fff;stroke-width:2
}
#mercados .sm-europe-country.sm-is-origin.is-selected{fill:#215d70}
#mercados .sm-map-autoplay-caption{
  position:absolute;z-index:5;bottom:18px;right:18px;
  display:flex;align-items:center;gap:9px;
  padding:12px 17px;border:1px solid #d3e3e6;border-radius:3px;
  background:rgba(255,255,255,.95);
  color:#194f62;font-size:12px;font-weight:700;
  letter-spacing:.025em;box-shadow:0 6px 20px rgba(20,61,72,.09);
  pointer-events:none;
}
#mercados .sm-map-caption-dot{
  width:8px;height:8px;border-radius:50%;background:#2b8796;
  box-shadow:0 0 0 4px rgba(50,145,162,.14);
}
#mercados .sm-map-switching .sm-map-caption-dot{
  animation:sm-map-breathe 2.2s ease-out 1;
}
@keyframes sm-map-breathe{
  0%,100%{box-shadow:0 0 0 4px rgba(50,145,162,.14)}
  45%{box-shadow:0 0 0 10px rgba(50,145,162,.03)}
}

#que-hacemos.sm-solutions-editorial{background:#102f3a;padding:96px 0 108px}
#que-hacemos.sm-solutions-editorial .story-head .section-title em{
  color:#9ed7dd!important;
}
#que-hacemos.sm-solutions-editorial .story-head .section-desc{
  color:#d5e4e7
}
#que-hacemos.sm-solutions-editorial .story-layout{
  grid-template-columns:minmax(0,41%) minmax(0,59%);
  gap:24px;min-height:535px;margin-top:44px;
}
#que-hacemos.sm-solutions-editorial .story-tabs{
  border-top:1px solid rgba(210,235,237,.23)
}
#que-hacemos.sm-solutions-editorial .story-tab{
  padding:25px 12px 25px 0;border-color:rgba(210,235,237,.23);
  grid-template-columns:45px minmax(0,1fr) 28px;gap:9px
}
#que-hacemos.sm-solutions-editorial .story-tab b{
  font-size:clamp(21px,2.25vw,30px)
}
#que-hacemos.sm-solutions-editorial .story-tab[aria-selected=true] i,
#que-hacemos.sm-solutions-editorial .story-tab[aria-selected=true] span{
  color:#a0dce4
}
#que-hacemos.sm-solutions-editorial .story-copy{
  min-height:110px;color:#d3e1e5;font-size:14px;
  max-width:440px;line-height:1.75
}
#que-hacemos.sm-solutions-editorial .story-layout .btn{
  background:#f4f9f8;color:#153a48;font-size:12px;
  padding:18px 22px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.7);min-height:50px
}
#que-hacemos.sm-solutions-editorial .story-layout .btn:hover{
  background:#cfebed;color:#123e4d
}
#que-hacemos.sm-solutions-editorial .story-visual{
  min-height:540px;background:#e1e8e4;border-radius:5px;
  box-shadow:0 14px 40px rgba(0,0,0,.12)
}
#que-hacemos.sm-solutions-editorial .story-visual::after{
  background:none!important;pointer-events:none
}
/* Fotografías distintas para stock, colecciones y packings.
   WordPress puede seleccionar una imagen para cada tarjeta. */
#que-hacemos.sm-solutions-editorial .story-visual::after{background:none!important;pointer-events:none}
#que-hacemos.sm-solutions-editorial .sm-solution-photo-active .story-photo,
#que-hacemos.sm-solutions-editorial .sm-solution-photo-active .story-image-text{
  display:none!important
}
#que-hacemos.sm-solutions-editorial .story-visual:not(.sm-solution-photo-active) .story-photo{display:block!important}
#que-hacemos.sm-solutions-editorial .story-visual:not(.sm-solution-photo-active) .story-image-text{display:flex!important}
#que-hacemos.sm-solutions-editorial .sm-solution-photo{
  position:absolute;inset:0;z-index:4;overflow:hidden;
  background:#dce7e4;
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo[hidden]{display:none!important}
#que-hacemos.sm-solutions-editorial .sm-solution-image{
  display:block;width:100%;height:100%;object-fit:cover;
  object-position:center;transition:transform .7s ease;
  filter:saturate(.95)
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(13,41,50,.82),rgba(13,41,50,.08) 55%,transparent);
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo-label{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:clamp(23px,4vw,45px);
  color:#fff;pointer-events:none;
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo-kicker{
  display:block;letter-spacing:.16em;font-size:10px;font-weight:750;
  color:#cce9eb;margin-bottom:13px;
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo-title{
  display:block;font:400 clamp(27px,3.15vw,44px)/1.1 Georgia,serif;
  letter-spacing:-.025em;color:#fff;max-width:600px;
}
#que-hacemos.sm-solutions-editorial .sm-solution-photo:hover .sm-solution-image{
  transform:scale(1.012)
}
@media(max-width:1060px){
  #que-hacemos.sm-solutions-editorial .story-layout{
    grid-template-columns:1fr;gap:26px;min-height:0
  }
  #que-hacemos.sm-solutions-editorial .story-visual{min-height:520px}
}
@media(max-width:620px){
  #mercados .sm-map-autoplay-caption{
    bottom:10px;right:10px;padding:9px 11px;font-size:11px
  }
  #que-hacemos.sm-solutions-editorial{padding:66px 0}
  #que-hacemos.sm-solutions-editorial .story-layout{margin-top:30px}
  #que-hacemos.sm-solutions-editorial .story-tab{padding:22px 8px 22px 0}
  #que-hacemos.sm-solutions-editorial .story-tab b{font-size:22px}
  #que-hacemos.sm-solutions-editorial .story-visual{min-height:400px}
  #que-hacemos.sm-solutions-editorial .sm-solution-photo-label{padding:23px}
  #que-hacemos.sm-solutions-editorial .sm-solution-photo-title{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  #mercados .sm-map-switching .sm-map-caption-dot{animation:none}
  #que-hacemos.sm-solutions-editorial .sm-story-shot img{transition:none}
}

/* Mostrar siempre los títulos de soluciones con buen contraste (sin depender del reveal al capturar o navegar). */
#que-hacemos.sm-solutions-editorial .story-head.reveal{
  opacity:1!important;transform:none!important;visibility:visible!important
}
#que-hacemos.sm-solutions-editorial .story-head .section-title{
  color:#f7fbfb!important
}
#que-hacemos.sm-solutions-editorial .story-head .section-title em{
  color:#9ed7dd!important
}
#que-hacemos.sm-solutions-editorial .story-head .eyebrow{
  color:#b4dce2!important
}
#que-hacemos.sm-solutions-editorial .story-head .section-desc{
  color:#d8e7e9!important
}

/* V16: el resaltado debe servir para todos los países, no solo los siete
   que eran botones en la versión anterior. */
#mercados .sm-europe-country.is-selected:not([data-iso="ES"]){
  fill:#1d7588!important;stroke:#fff!important;stroke-width:2.2!important;
  transition:fill .45s ease
}
#mercados .sm-random-destination{
  fill:#f9ffff;stroke:#11647a;stroke-width:3.2;
  filter:drop-shadow(0 0 3px rgba(10,94,112,.24));
  pointer-events:none
}
#mercados .sm-europe-route{
  stroke:#127288;stroke-width:2.8
}


/* Europa: países no seleccionados del mismo tono. Se mantienen diferenciados
   únicamente el origen España y el destino activo. */
#mercados .sm-europe-geographic .sm-europe-country:not(.is-selected):not(.sm-is-origin),
#mercados .sm-europe-geographic .sm-europe-market:not(.is-selected):not(.sm-is-origin):hover,
#mercados .sm-europe-geographic .sm-europe-market:not(.is-selected):not(.sm-is-origin):focus-visible {
  fill:#cbdcdd!important;stroke:#fff;stroke-width:1.25!important;
}
#mercados .sm-europe-geographic .sm-europe-country.sm-is-origin {
  fill:#215d70!important;
}
#mercados .sm-europe-geographic .sm-europe-country.is-selected:not(.sm-is-origin){
  fill:#1d7588!important;
}


/* V19: indicadores destacados, cifras legibles y cuatro tarjetas visuales.
   Las etiquetas 01/02/03 de la cabecera se ocultan antes de ejecutar JS
   para evitar el parpadeo y se retiran del DOM en home-v15.js. */
#inicio .hero-foot{display:none!important}
#inicio .hero-left{padding-bottom:clamp(58px,5.5vw,84px)}

.stats.sm-stats-featured{
  background:#eef4f3!important;
  border-top:1px solid #dce9e9;
  border-bottom:1px solid #dce8e7;
  padding:32px 0 40px;
}
.stats.sm-stats-featured .stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.stats.sm-stats-featured .stat{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  gap:19px;min-height:204px;
  padding:25px 25px 26px!important;
  background:#fff;
  border:1px solid #d8e4e5!important;
  border-top:3px solid #277f90!important;
  border-radius:5px;
  box-shadow:0 6px 19px rgba(18,56,68,.045);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  min-width:0;
}
.stats.sm-stats-featured .stat::after{
  content:attr(data-highlight);
  position:absolute;top:26px;right:25px;
  font:700 11px/1 Arial,sans-serif;
  letter-spacing:.13em;
  color:#93aeb6;
}
.stats.sm-stats-featured .stat:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 29px rgba(18,56,68,.105);
  border-top-color:#155b6d!important;
}
.stats.sm-stats-featured .stat-icon{
  width:54px!important;height:54px!important;min-width:54px!important;
  padding:13px!important;
  color:#1f6a7a!important;stroke:#1f6a7a!important;stroke-width:1.7!important;
  background:#e5f1f1!important;
  border:1px solid #d2e6e8;
  border-radius:13px!important;
  box-sizing:border-box;
}
.stats.sm-stats-featured .stat>div{min-width:0}
.stats.sm-stats-featured .stat strong{
  display:block;
  font:700 clamp(20px,1.8vw,25px)/1.16 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.035em!important;
  color:#153946!important;
  overflow-wrap:normal;
}
.stats.sm-stats-featured .stat strong em{
  font-style:normal;
  font-weight:800;
  color:#1c7586;
}
.stats.sm-stats-featured .stat span{
  display:block;
  color:#54717a!important;
  font-size:13px!important;line-height:1.55!important;
  margin-top:10px!important;
  max-width:250px;
}

@media(max-width:1100px){
  .stats.sm-stats-featured .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .stats.sm-stats-featured .stat{min-height:180px;padding:24px!important}
  .stats.sm-stats-featured .stat strong{font-size:24px!important}
}
@media(max-width:650px){
  #inicio .hero-left{padding-bottom:55px!important}
  .stats.sm-stats-featured{padding:22px 0 30px}
  .stats.sm-stats-featured .stats-grid{gap:11px}
  .stats.sm-stats-featured .stat{
    min-height:180px;gap:16px;
    padding:17px!important;
  }
  .stats.sm-stats-featured .stat::after{top:20px;right:16px;font-size:10px}
  .stats.sm-stats-featured .stat-icon{
    width:44px!important;height:44px!important;min-width:44px!important;
    padding:10px!important;border-radius:10px!important
  }
  .stats.sm-stats-featured .stat strong{
    font-size:clamp(17px,4.25vw,23px)!important;
    line-height:1.2!important;
  }
  .stats.sm-stats-featured .stat span{
    font-size:11px!important;line-height:1.45!important;margin-top:7px!important;
  }
}
@media(max-width:370px){
  .stats.sm-stats-featured .stats-grid{grid-template-columns:1fr}
  .stats.sm-stats-featured .stat{min-height:145px}
  .stats.sm-stats-featured .stat strong{font-size:22px!important}
}
@media(prefers-reduced-motion:reduce){
  .stats.sm-stats-featured .stat{transition:none}
  .stats.sm-stats-featured .stat:hover{transform:none}
}


/* Responsive contacto 320px: la anchura mínima intrínseca del formulario
   desplazaba todo el documento 25px en teléfonos estrechos. */
@media(max-width:630px){
  #contacto .contact-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px;
    min-width:0;
  }
  #contacto .contact-grid>*{
    min-width:0;
    max-width:100%;
  }
  #contacto .contact-form{
    box-sizing:border-box;
    min-width:0;
    width:100%;
    padding:26px 19px;
  }
  #contacto .form-grid{
    grid-template-columns:minmax(0,1fr);
    min-width:0;
  }
  #contacto .field{
    min-width:0;
    max-width:100%;
  }
  #contacto .field input,
  #contacto .field select,
  #contacto .field textarea,
  #contacto .contact-form .btn{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  #contacto .contact-address a{
    overflow-wrap:anywhere;
  }
}
