/* ══════ COMPONENTES COMPARTIDOS (home y páginas interiores) ══════ */
/* valores, pilares y certificaciones */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(46px,6vw,90px)}
.val{background:#fff;border:1px solid var(--line-soft);border-radius:4px;padding:clamp(24px,2.4vw,34px);transition:.55s var(--ease)}
.val:hover{transform:translateY(-8px);box-shadow:0 34px 58px -34px rgba(31,41,96,.35);border-color:var(--line)}
.val img{width:58px;margin-bottom:20px;transition:transform .55s var(--ease)}
.val:hover img{transform:scale(1.12) rotate(-5deg)}
.val h3{color:var(--deep);margin-bottom:10px}
.val p{font-size:14.5px;color:var(--muted)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);padding:clamp(34px,4vw,60px) var(--pad) 0}
.pillar{background:rgba(255,255,255,.75);backdrop-filter:blur(6px);border:1px solid rgba(47,107,79,.12);border-radius:4px;padding:clamp(22px,2.4vw,32px);transition:.5s var(--ease)}
.pillar:hover{background:#fff;transform:translateY(-6px)}
.pillar img{width:52px;margin-bottom:18px}
.pillar h3{color:var(--deep);margin-bottom:10px}
.pillar p{font-size:14.5px;color:#4A5A52}
.pillar .tlink{margin-top:16px}
.certs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:clamp(30px,3.6vw,52px) var(--pad) clamp(46px,5vw,80px)}
.certs .lbl{margin-right:10px;color:#41564C}
.cert{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;padding:9px 14px;border-radius:100px;background:#fff;border:1px solid rgba(47,107,79,.18);color:var(--deep)}
.cert::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-2)}

/* productos */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,26px)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4.4vw,66px);align-items:center;margin-top:clamp(38px,5vw,80px);
  background:radial-gradient(90% 120% at 85% 50%,#3A4AA6 0%,var(--deep-2) 62%);color:#fff;border-radius:4px;overflow:hidden;padding:clamp(28px,3.6vw,62px)}
.feature .h2{color:#fff;max-width:12ch;margin-top:20px;font-size:clamp(36px,4.6vw,70px);line-height:1.02}
.feature p:not(.h2){color:rgba(255,255,255,.8);margin-top:22px;max-width:42ch;font-size:clamp(16px,1.35vw,19.5px);line-height:1.6}
.feature .eyebrow{font-size:12px}
.feature .chip{font-size:12px;padding:8px 13px}
.feature .chips{margin-top:26px;gap:8px}
.feature .btn{margin-top:32px;padding:16px 28px;font-size:14.5px}
.orbit{position:relative;display:grid;place-items:center;aspect-ratio:1/1}
.orbit svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 46s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit svg circle{fill:none;stroke:rgba(255,255,255,.14)}
.orbit svg .dot{fill:var(--honey);stroke:none}
.orbit .tins{position:relative;z-index:2;width:78%;height:70%}
.orbit .tins img{position:absolute;bottom:0;filter:drop-shadow(0 30px 34px rgba(0,0,0,.45));transition:transform 1.2s var(--ease)}
.orbit .tins .t1{width:46%;left:27%;z-index:2}
.orbit .tins .t2{width:38%;left:2%;bottom:4%;opacity:.95}
.orbit .tins .t3{width:38%;right:2%;bottom:4%;opacity:.95}
.feature:hover .tins .t2{transform:translateX(-6%) rotate(-3deg)}
.feature:hover .tins .t3{transform:translateX(6%) rotate(3deg)}
.orbit .lab{position:absolute;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.78);text-transform:uppercase;z-index:3}

/* mapa mundial */
#world{background:var(--deep-2);color:#fff}
.maprow{display:grid;grid-template-columns:1.55fr .45fr;gap:clamp(26px,3.4vw,56px);align-items:start}
.mapbox{position:relative}
#worldmap{width:100%;height:auto;display:block}
#worldmap .grat{fill:none;stroke:rgba(255,255,255,.06);stroke-width:.5}
#worldmap .cty{fill:rgba(255,255,255,.085);stroke:rgba(255,255,255,.16);stroke-width:.45;transition:fill .3s}
#worldmap .cty:hover{fill:rgba(255,255,255,.16)}
#worldmap .cty.on{fill:rgba(196,146,60,.36);stroke:var(--honey);stroke-width:.7;cursor:pointer}
#worldmap .cty.opp{fill:rgba(169,176,218,.22);stroke:var(--sky);stroke-dasharray:2 2;cursor:pointer}
#worldmap .cty.on:hover,#worldmap .cty.act{fill:rgba(196,146,60,.7)}
#worldmap .cty.opp.act,#worldmap .cty.opp:hover{fill:rgba(169,176,218,.45)}
#worldmap .arc{fill:none;stroke:rgba(196,146,60,.45);stroke-width:1;stroke-linecap:round}
#worldmap .mk{fill:var(--honey);cursor:pointer}
#worldmap .mk.opp{fill:var(--sky)}
#worldmap .mk:hover{fill:#fff}
#worldmap .ring{fill:none;stroke:var(--honey);stroke-width:.8;opacity:.5;pointer-events:none}
#worldmap .hq{fill:#fff}
#tip{position:absolute;pointer-events:none;background:rgba(18,23,65,.96);border:1px solid var(--dline);border-radius:3px;padding:6px 10px;font-family:var(--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s;transform:translate(-50%,-155%);white-space:nowrap;z-index:5}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:rgba(255,255,255,.6)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:-1px}
.panel{background:rgba(255,255,255,.05);border:1px solid var(--dline);border-radius:4px;padding:24px;min-height:300px}
.panel .flag{width:48px;border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.4);margin-bottom:16px}
.panel h3{color:#fff;margin-bottom:16px}
.panel dl{display:grid;gap:12px}
.panel dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.panel dd{font-size:14.5px;color:rgba(255,255,255,.88)}
.panel .pend{margin-top:4px}
.panel .btn{margin-top:20px}
.panel .hint{color:rgba(255,255,255,.55);font-size:14px}
.flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(24px,3vw,40px)}
.fbtn{display:flex;align-items:center;gap:9px;border:1px solid var(--dline);border-radius:100px;padding:7px 14px 7px 7px;transition:.35s var(--ease);cursor:pointer;color:#fff}
.fbtn:hover,.fbtn.act{background:rgba(255,255,255,.1);border-color:var(--honey)}
.fbtn.opp{border-style:dashed}
.fbtn img{width:22px;height:16px;object-fit:cover;border-radius:2px}
.fbtn span{font-size:13px;color:rgba(255,255,255,.88);white-space:nowrap}

/* ferias */
.fairs-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,40px)}
.fairs-top img{height:46px;width:auto}
.fairs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px)}
.fair{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:16/10;background:#DDE1EE;clip-path:inset(0 0 100% 0);transition:clip-path 1.05s var(--ease)}
.fair.on{clip-path:inset(0)}
.fair:nth-child(3n+2){transition-delay:.11s}.fair:nth-child(3n+3){transition-delay:.22s}
.fair img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.fair:hover img{transform:scale(1.07)}
.fair .cap{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;background:linear-gradient(transparent,rgba(18,23,65,.88))}

/* trabajo con importadores */
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,2.6vw,44px)}
.tile{border-top:1px solid var(--line);padding-top:20px}
.tile img{width:46px;margin-bottom:16px}
.tile h3{font-size:clamp(17px,1.4vw,21px);margin-bottom:9px;color:var(--deep)}
.tile p{font-size:14.5px;color:var(--muted)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);margin-top:clamp(42px,5vw,80px)}
.dos>*{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line-soft);padding:18px;border-radius:3px;transition:.5s var(--ease)}
.dos a:hover{border-color:var(--deep);transform:translateY(-5px);box-shadow:0 28px 48px -30px rgba(31,41,96,.45)}
.dos img{width:124px;aspect-ratio:16/10;object-fit:cover;border-radius:2px;flex:0 0 auto}
.dos h3{font-size:19px;color:var(--deep);margin-bottom:4px}
.dos p{font-size:13.5px;color:var(--muted)}
.dos .k{color:var(--honey)}

/* contacto */
#contact{background:var(--deep-2);color:#fff;overflow:hidden}
#contact::before{content:"";position:absolute;right:-12%;top:-30%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(196,146,60,.16),transparent 60%);pointer-events:none}
.cwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,86px);position:relative}
#contact .h2{color:#fff;max-width:12ch;margin-top:18px}
.info{display:grid;gap:22px;align-content:start;margin-top:32px}
.info span{display:block;color:var(--sky);margin-bottom:5px}
.info p,.info a,.info address{color:rgba(255,255,255,.85);font-size:15px;font-style:normal}
.info a:hover{color:var(--honey)}

@media(max-width:1080px){
  .feature,.cwrap,.dos,.maprow{grid-template-columns:1fr}
  .four{grid-template-columns:repeat(2,1fr)}
  .cards,.fairs,.pillars{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .cards,.fairs,.four,.pillars,.values{grid-template-columns:1fr}
  .dos img{width:88px}
  .panel{min-height:0}
  .fairs-top img{height:34px}
}

/* mercados escritos en el HTML (debajo del mapa) */
.mkts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:clamp(24px,3vw,40px)}
.mkt{border:1px solid var(--dline);border-radius:6px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;transition:.35s var(--ease)}
.mkt:hover,.mkt.act{background:rgba(255,255,255,.07);border-color:var(--honey)}
.mkt.opp{border-style:dashed}
.mbtn{display:flex;align-items:center;gap:10px;text-align:left;color:#fff;padding:0}
.mbtn img{width:28px;height:21px;object-fit:cover;border-radius:2px;flex:0 0 auto}
.mname{font-family:var(--display);font-size:19px;line-height:1.1}
.mpart{font-size:13.5px;color:rgba(255,255,255,.82)}
.mstat{font-size:9.5px;color:var(--sky);letter-spacing:.1em}
.mkt .pend{align-self:flex-start;margin-top:2px}
.mlink{font-size:13px;color:var(--honey);margin-top:auto;padding-top:4px}
.mlink:hover{color:#fff}

/* aviso de cookies (solo aparece si Microsoft Clarity está configurado) */
.consent-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;max-width:760px;margin-inline:auto;background:var(--night);color:#fff;
  border:1px solid var(--dline);border-radius:8px;padding:18px 20px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.consent-bar[hidden]{display:none}
.consent-bar p{font-size:14px;color:rgba(255,255,255,.8);flex:1 1 320px}
.consent-bar a{text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:flex;gap:10px}
.consent-actions .btn{padding:11px 20px}

@media(max-width:1080px){.mkts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mkts{grid-template-columns:1fr}}

/* sede central (España) en rojo corporativo */
#worldmap .cty.hqc{fill:rgba(237,28,36,.42);stroke:#FF6B70;stroke-width:.7;cursor:pointer}
#worldmap .cty.hqc:hover,#worldmap .cty.hqc.act{fill:rgba(237,28,36,.7)}
#worldmap .mk.hqm{fill:var(--brand-red);stroke:#fff;stroke-width:1}
.mkt.hq{border-color:rgba(237,28,36,.55);background:rgba(237,28,36,.08)}
.mkt.hq .mstat{color:#FF9A9E}
.mkt.hq .mlink{color:#FF9A9E}
.dos.one{grid-template-columns:1fr;max-width:760px}
