/* Austral Minerals — estilos base */
:root { --verde: #2F4F4A; --naranja: #D9822B; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Montserrat, Helvetica, Arial, sans-serif; background: #fff; color: #333; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: #2F4F4A; text-decoration: none; }
a:hover { color: #D9822B; }
button { font-family: inherit; }

/* Placeholders de imagen pendiente */
.ph { background-image: repeating-linear-gradient(135deg, rgba(47,79,74,.10) 0 10px, rgba(47,79,74,.02) 10px 20px); background-color: #e6e8e6; display: flex; align-items: center; justify-content: center; text-align: center; }
.ph > span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; letter-spacing: .08em; color: #6d7a76; text-transform: uppercase; padding: 8px 12px; }
.phbg { align-items: flex-end; justify-content: flex-start; }
.phbg > span { padding: 14px 18px; background: rgba(0,0,0,.28); color: rgba(255,255,255,.7); }
.phd { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.10) 0 10px, rgba(255,255,255,.02) 10px 20px); background-color: #2a3330; }
.phd > span { color: rgba(255,255,255,.55); }

/* Navegación */
.nav-desk { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 34px); flex: 1 1 0; }
.nav-toggle { width: 48px; height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; background: none; border: 0; cursor: pointer; padding: 0; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: #2F4F4A; }
.nav-mobile { display: none; flex: 1 1 100%; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid #eee; }
.nav-mobile.open { display: flex; }
@media (max-width: 1023px) { .nav-desk { display: none !important; } }
@media (min-width: 1024px) { .nav-toggle { display: none !important; } .nav-mobile { display: none !important; } }

.drop { position: relative; display: flex; }
.drop-btn { display: flex; align-items: center; gap: 8px; white-space: nowrap; background: none; border: 0; padding: 4px 0; min-height: 32px; cursor: pointer; font-size: 14px; font-weight: 500; letter-spacing: .12em; color: #3d3d3d; }
.drop-btn-m { display: flex; align-items: center; gap: 8px; background: none; border: 0; padding: 14px 2px; cursor: pointer; font-size: 15px; font-weight: 500; letter-spacing: .1em; text-align: left; color: #3d3d3d; }
.drop.open .drop-btn, .drop.open .drop-btn-m { color: #D9822B; }
.caret { font-size: 10px; display: inline-block; transition: transform .2s; }
.drop.open .caret { transform: rotate(180deg); }
.drop-panel { position: absolute; top: calc(100% + 12px); left: 0; min-width: 230px; display: none; flex-direction: column; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.16); border-top: 3px solid #D9822B; padding: 6px 0; z-index: 60; }
.drop.open .drop-panel { display: flex; }
.drop-panel a { font-size: 13px; font-weight: 600; letter-spacing: .1em; color: #3d3d3d; padding: 14px 20px; }
.drop-panel a:hover { background: #f5f5f5; color: #D9822B; }
.drop-panel-m { display: none; flex-direction: column; padding-left: 14px; border-left: 2px solid #eee; }
.drop-m.open .drop-panel-m { display: flex; }
.drop-panel-m a { font-size: 14px; font-weight: 600; letter-spacing: .1em; color: #3d3d3d; padding: 13px 2px; }

/* Selector de idioma */
.lang { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: .1em; }
.lang-sep { color: #ccc; }
.lang-btn { background: none; border: 0; padding: 6px 4px; min-height: 32px; cursor: pointer; font-size: inherit; font-weight: 500; letter-spacing: inherit; color: #8a8a8a; border-bottom: 2px solid transparent; }
.lang-btn.on { font-weight: 700; color: #D9822B; border-bottom-color: #D9822B; }

/* Botones e inputs */
.btn-naranja:hover { background: #c4741f; color: #fff; }
.btn-verde:hover { background: #24403b; color: #fff; }
.btn-verde-naranja:hover { background: #D9822B; color: #fff; }
.campo { border: 0; background: #f2f2f2; padding: 18px 20px; min-height: 56px; font-family: inherit; font-size: 16px; color: #333; outline: none; }
.campo:focus { background: #ebebeb; }

/* Galería inicio */
.thumb { position: relative; flex: 1 0 56px; height: 56px; padding: 0; border: 0; background: #e6e8e6; cursor: pointer; overflow: hidden; }
.thumb.on { border: 3px solid #2F4F4A; }
@media (min-width: 1024px) { .thumb { height: 74px; } }

/* Galería proyectos */
.shot.oculto { display: none; }

/* Modal formulario */
.modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: flex-start; justify-content: center; padding: clamp(16px, 4vw, 48px); background: rgba(20,26,25,.6); overflow-y: auto; }
.modal.open { display: flex; }

/* Hero de compañías en móvil: imagen completa (con el mapa visible) */
@media (max-width: 767px) {
  .hero { display: block !important; min-height: 0 !important; padding: 0 0 clamp(30px, 7vw, 48px) !important; }
  .hero-img { position: static !important; width: 100% !important; height: auto !important; object-fit: contain !important; }
  .hero-card { width: auto !important; margin: -26px 14px 0 !important; }
}

/* Hero de inicio en móvil: encuadre en la salida de la cueva */
@media (max-width: 767px) {
  .hero-inicio { object-position: 28% center !important; }
}
