/* SATE Mecanizado - V3 preview adjustments, 2026-10-26 */
:root{--sate-v3-gold:#c9a96e;--sate-v3-black:#101010}
.sate-hero-h1{max-width:min(98vw,1500px)!important;width:max-content!important;margin-left:auto!important;margin-right:auto!important}
.sate-hero-h1 .sate-typewriter{white-space:nowrap;font-size:clamp(38px,6.9vw,112px)!important;line-height:1.07!important;letter-spacing:clamp(0px,.2vw,3px)!important}
#sateCtaButtons{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:14px!important}
.sate-3d-feature{display:inline-flex;align-items:center;gap:14px;margin:22px auto 0!important;padding:12px 22px;border:1px solid rgba(201,169,110,.7);color:#f8f2e5!important;text-decoration:none!important;background:rgba(15,15,15,.68);font-family:Rajdhani,Inter,sans-serif;font-weight:700;font-size:clamp(12px,1.5vw,16px);letter-spacing:.15em;text-transform:uppercase;position:relative;overflow:hidden;transition:background .25s,border-color .25s,transform .25s;box-shadow:0 0 0 1px rgba(201,169,110,.1),0 8px 24px rgba(0,0,0,.2)}
.sate-3d-feature:before{content:"";position:absolute;width:70px;height:170px;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,231,171,.2),transparent);left:-130px;top:-50px;animation:sate-v3-shine 7s ease-in-out infinite;pointer-events:none}
.sate-3d-feature:hover,.sate-3d-feature:focus-visible{background:rgba(29,25,17,.92);border-color:#e7c488;transform:translateY(-2px)}
.sate-3d-feature .sate-3d-glyph{display:grid;place-items:center;width:35px;height:35px;color:#16120d;background:var(--sate-v3-gold);font-size:20px}
.sate-3d-feature .sate-3d-sub{display:block;font-size:10px;letter-spacing:.08em;color:#ccc5b5;margin-top:2px;font-weight:500}
@keyframes sate-v3-shine{0%,72%{left:-130px}90%,100%{left:calc(100% + 80px)}}
@media(max-width:650px){.sate-hero-h1{width:100%!important;max-width:100%!important}.sate-hero-h1 .sate-typewriter{white-space:normal!important;font-size:clamp(40px,10.5vw,75px)!important;overflow-wrap:normal!important}#sateCtaButtons{gap:10px!important}.sate-3d-feature{margin-top:18px!important;max-width:95%;font-size:12px!important;padding:9px 12px!important}}
@media(prefers-reduced-motion:reduce){.sate-3d-feature:before{animation:none}.sate-3d-feature{transition:none}}
/* Accessible plain-language selector replacing broken flag imagery */
.sate-langs{display:flex;gap:4px;align-items:center;justify-content:center;flex-wrap:wrap;padding:5px 0;position:relative;z-index:10001}
.sate-langs button{background:transparent;border:1px solid rgba(201,169,110,.3);color:inherit;font:600 11px Rajdhani,Inter,sans-serif;letter-spacing:1px;padding:5px 7px;min-width:31px;cursor:pointer}
.sate-langs button:hover,.sate-langs button:focus-visible,.sate-langs button[aria-current=true]{background:#c9a96e;color:#151515;border-color:#c9a96e}
/* News interviews: keep the video smaller and consistent on all devices */
#entrevistas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;max-width:1060px!important;margin-left:auto!important;margin-right:auto!important}
#entrevistas-grid>div{min-width:0;box-shadow:0 10px 28px rgba(0,0,0,.04)}
#entrevistas-grid video{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;max-height:290px!important}
@media(max-width:730px){#entrevistas-grid{grid-template-columns:1fr!important;max-width:560px!important}}
/* Local OSM tiled-map, with an accessible project gallery */
#sateMap{position:relative;overflow:hidden;background:linear-gradient(145deg,#e3ece7,#dbe4e8);cursor:grab;touch-action:none;user-select:none;isolation:isolate}
#sateMap.is-dragging{cursor:grabbing}
.sate-v3-tiles{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.sate-v3-tile{position:absolute;width:256px;height:256px;pointer-events:none;max-width:none!important;opacity:.93}
.sate-v3-markers{position:absolute;inset:0;pointer-events:none;z-index:2}
.sate-v3-marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:grid;place-items:center;width:29px;height:36px;background:transparent;border:0;padding:0;cursor:pointer;filter:drop-shadow(0 2px 3px #0004)}
.sate-v3-marker:after{content:"";width:17px;height:17px;border:3px solid #fff;border-radius:60% 60% 60% 0;transform:rotate(-45deg);background:#c9a96e;box-shadow:0 0 0 2px #181818}
.sate-v3-marker:focus-visible{outline:3px solid #c9a96e;outline-offset:2px}
.sate-v3-map-controls{position:absolute;z-index:4;top:12px;left:12px;display:flex;flex-direction:column;background:#fff;box-shadow:0 4px 18px #0003;border-radius:5px;overflow:hidden}
.sate-v3-map-controls button{display:grid;place-items:center;border:0;border-bottom:1px solid #eee;background:#fff;color:#161616;font:600 20px/1 Inter,sans-serif;cursor:pointer;width:37px;height:37px}
.sate-v3-map-controls button:hover{background:#f4ebdc}
.sate-v3-map-attribution{position:absolute;z-index:4;bottom:0;right:0;font:11px Inter,sans-serif;color:#2d3032;background:#fffd;padding:4px 7px}
.sate-v3-map-attribution a{color:#2d3032!important}
.sate-v3-map-help{position:absolute;z-index:3;bottom:12px;left:12px;background:#fffE;color:#2c2c2c;font:600 10px Inter,sans-serif;padding:5px 8px;pointer-events:none}
.sate-v3-gallery{position:relative;background:#101010;margin-top:10px;overflow:hidden}
.sate-v3-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;min-height:150px;max-height:320px;color:#fff}
.sate-v3-gallery button{position:absolute;top:45%;transform:translateY(-50%);z-index:2;width:33px;height:38px;cursor:pointer;background:#111d;color:#fff;border:0;font-size:23px}
.sate-v3-gallery .prev{left:4px}.sate-v3-gallery .next{right:4px}
.sate-v3-gallery-meta{color:#ddd;font:11px Inter,sans-serif;padding:8px 12px;display:flex;justify-content:space-between;gap:8px}
/* Dossier lead form */
.sate-v3-modal{position:fixed;inset:0;background:rgba(10,10,10,.76);z-index:2147482500;display:none;align-items:center;justify-content:center;padding:18px}
.sate-v3-modal.is-open{display:flex}.sate-v3-dialog{background:#fff;width:min(100%,520px);max-height:90vh;overflow:auto;padding:32px;position:relative;box-shadow:0 16px 50px #0007}
.sate-v3-dialog h2{font:700 clamp(25px,4vw,35px) Rajdhani,sans-serif;text-transform:uppercase;letter-spacing:1px;color:#121212;margin:0 32px 12px 0}
.sate-v3-dialog p{font:13px/1.6 Inter,sans-serif;color:#555}
.sate-v3-dialog input[type=email]{width:100%;border:1px solid #bbb;padding:12px;font-size:15px;margin-top:6px}
.sate-v3-dialog label{font:12px Inter,sans-serif;color:#242424}.sate-v3-dialog .sate-v3-privacy{display:flex;gap:9px;align-items:flex-start;margin:15px 0}
.sate-v3-dialog button[type=submit]{background:#161616;color:#fff;border:0;padding:12px 20px;cursor:pointer;text-transform:uppercase;font:700 12px Rajdhani,sans-serif;letter-spacing:2px}
.sate-v3-close{position:absolute;right:12px;top:12px;background:transparent;border:0;cursor:pointer;font-size:24px;line-height:1}
.sate-v3-message{font:12px/1.5 Inter,sans-serif;color:#6d4f22;min-height:22px;margin-top:10px}
/* Product 3D refinements */
#sate-v3-3d-tools{position:absolute;z-index:999;left:14px;bottom:14px;display:flex;gap:6px;flex-wrap:wrap}
#sate-v3-3d-tools button{border:1px solid #b8a37b;background:#151515e8;color:#f8f6f2;padding:8px 11px;cursor:pointer;font:700 11px Rajdhani,Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}
#sate-v3-3d-tools button:hover{background:#c9a96e;color:#111}
.sate-v3-empty-category{background:#fff8e9;padding:18px 20px;border-left:4px solid #c9a96e;color:#473c2a;font:13px/1.6 Inter,sans-serif;text-align:center}

/* Header language dropdown: codes instead of broken external flag icons */
.sate-lang-menu{position:relative;flex-shrink:0;z-index:99999!important;margin-left:8px}
.sate-lang-current{background:rgba(10,10,10,.4);border:1px solid #c9a96e;color:#fff;font:700 11px Rajdhani,Inter,sans-serif;padding:8px 10px;letter-spacing:.07em;cursor:pointer;white-space:nowrap}
.sate-hero-header.scrolled .sate-lang-current,.sate-fixed-header .sate-lang-current{color:#202020;background:#fff}
.sate-lang-menu .sate-langs{position:absolute;top:calc(100% + 7px);right:0;display:grid;grid-template-columns:repeat(2,minmax(34px,1fr));gap:4px;padding:10px;background:#161616;border:1px solid #c9a96e;box-shadow:0 8px 28px #0005;min-width:105px;color:#fff}
.sate-lang-menu .sate-langs[hidden]{display:none!important}
.sate-lang-menu .sate-langs button{color:#fff;min-width:34px}
@media(max-width:900px){.sate-lang-menu{margin-left:auto;margin-right:8px}.sate-lang-current{font-size:11px;padding:7px 8px}}

/* V3.1 - Anchor title to viewport center, not the max 900px text block. */
@media (min-width: 651px) {
  .sate-hero-content .sate-hero-h1 {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: 96vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
}
@media (max-width: 650px) {
  .sate-hero-content .sate-hero-h1 {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* V3.3: idioma original, inferior esquerdo; no duplicate header widget */
.sate-lang-menu{display:none!important;}
/* V3.5: fully offline geographic overview, no tile server, no 403 */
#sateMap{position:relative;background:#e6eeef;overflow:hidden;touch-action:pan-y;isolation:isolate;cursor:grab}
#sateMap.is-dragging{cursor:grabbing;touch-action:none}
.sate-v35-world{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat;transform-origin:center center;will-change:transform;z-index:1}
.sate-v35-canarias{position:absolute;bottom:30px;right:13px;width:29%;height:27%;z-index:3;border:3px solid #fff;box-shadow:0 6px 20px #0002;background-size:100% 100%;background-repeat:no-repeat;background-color:#e6eeef;}
.sate-v35-islands-label{position:absolute;left:5px;top:4px;pointer-events:none;font:700 10px Rajdhani,sans-serif;letter-spacing:1px;color:#617366;background:#fff9;padding:3px 5px}
.sate-v35-map-pins{position:absolute;inset:0;pointer-events:none}
.sate-v35-pin{position:absolute;transform:translate(-50%,-100%);width:24px;height:29px;border:0;background:transparent;filter:drop-shadow(0 2px 2px #0005);cursor:pointer;pointer-events:auto;z-index:2}
.sate-v35-pin:before{content:'';display:block;width:17px;height:17px;border:3px solid #fff;border-radius:65% 65% 65% 0;background:#c9a96e;transform:rotate(-45deg);box-shadow:0 0 0 2px #2d251c}
.sate-v35-pin:hover{filter:drop-shadow(0 0 6px #c9a96e);z-index:10}
.sate-v35-pin:focus-visible{outline:3px solid #2f2619}
.sate-v35-map-controls{position:absolute;top:14px;left:12px;z-index:5;display:flex;flex-direction:column;box-shadow:0 5px 18px #0002;border-radius:6px;overflow:hidden}
.sate-v35-map-controls button{width:40px;height:40px;display:grid;place-items:center;background:#fff;color:#181818;font-size:23px;font-weight:700;cursor:pointer;border:0;border-bottom:1px solid #ddd}
.sate-v35-map-controls button:hover{background:#f1e5cd}
.sate-v35-map-hint,.sate-v35-map-credit{position:absolute;z-index:5;bottom:7px;background:#fffD;color:#394340;padding:5px 8px;font:10px Inter,sans-serif;pointer-events:none}
.sate-v35-map-hint{left:6px}.sate-v35-map-credit{right:6px}
@media(max-width:700px){.sate-v35-canarias{width:38%;height:25%;bottom:38px;right:8px}.sate-v35-map-credit{font-size:8px}.sate-v35-map-hint{max-width:58%}}
