/*
Theme Name: Punto Geoespacial
Theme URI: https://puntogeoespacial.com/
Author: Punto Geoespacial
Description: Tema corporativo multipágina para Punto Geoespacial. Incluye catálogo sin precios, productos, servicios, contacto, WhatsApp y administración desde WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: punto-geoespacial
*/
:root{--navy:#062b5c;--navy2:#071a35;--blue:#0d4d91;--red:#e31d2f;--ink:#102039;--muted:#63728a;--bg:#f6f9fd;--line:#dce5f0;--white:#fff;--shadow:0 22px 65px rgba(5,31,65,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(6,43,92,.09);box-shadow:0 6px 22px rgba(6,43,92,.05)}.nav-wrap{min-height:88px;display:flex;align-items:center;gap:30px}.brand{width:255px;display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:100%;height:auto;max-height:72px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.main-nav a{font-size:14px;font-weight:800;color:#40506a;position:relative;padding:34px 0}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--red);transform:scaleX(0);transition:.2s}.main-nav a:hover,.main-nav a.active{color:var(--navy)}.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--navy)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:11px;padding:14px 20px;background:var(--navy);color:white;font-weight:850;cursor:pointer;transition:.2s;box-shadow:0 12px 30px rgba(6,43,92,.14)}.btn:hover{transform:translateY(-1px);background:#0a3d80}.btn-small{padding:10px 14px;font-size:13px}.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:#edf4ff;color:var(--navy)}.btn-ghost{background:transparent;color:var(--navy);border:1px solid #b8c7d9;box-shadow:none}.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.36);box-shadow:none}.text-link{font-weight:900;color:var(--blue)}.eyebrow{display:inline-block;color:var(--red);letter-spacing:.17em;font-weight:900;font-size:12px;margin-bottom:15px}.hero-tech{position:relative;overflow:hidden;min-height:700px;background:url('assets/hero-tech-bg.png') center/cover no-repeat;color:white}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,39,.88) 0%,rgba(6,31,65,.74) 45%,rgba(5,23,47,.5) 100%)}.grid-mask{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px}.hero-content{position:relative;z-index:1;min-height:700px;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;padding:90px 0}.hero-copy h1,.page-hero h1,.section h2,.home-cta h2,.quote-banner h2{font-size:clamp(42px,5.3vw,72px);line-height:.98;letter-spacing:-.045em;margin:0}.lead{font-size:20px;line-height:1.65;color:#dbe6f4;max-width:750px;margin:24px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.hero-tags span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.hero-glass{background:rgba(7,26,53,.62);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:32px;backdrop-filter:blur(12px);box-shadow:var(--shadow)}.mini-label{color:#9bc6ff;font-size:11px;letter-spacing:.18em;font-weight:900}.hero-glass h3{font-size:30px;line-height:1.08;margin:10px 0}.hero-glass p{color:#bdcde0;line-height:1.65}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.hero-metrics div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:15px;border-radius:14px}.hero-metrics b{display:block;font-size:26px}.hero-metrics span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#a9bdd5;margin-top:5px}.brand-strip{background:var(--navy2);color:#fff}.brand-strip .shell{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand-strip span{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:#8ba6c8}.brands{display:flex;gap:40px;flex-wrap:wrap}.brands b{font-size:16px}.section{padding:100px 0}.section-soft{background:linear-gradient(180deg,#f4f8fd,#fff)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:46px}.section-head h2{font-size:48px}.section-head p{margin:0;color:var(--muted);line-height:1.75}.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.portal-card{min-height:270px;border:1px solid var(--line);border-radius:22px;padding:30px;background:linear-gradient(145deg,#fff,#f4f8fe);position:relative;overflow:hidden;transition:.22s}.portal-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.portal-card:before{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(13,77,145,.15),transparent 68%)}.portal-card span{font-weight:900;color:var(--red)}.portal-card h3{font-size:30px;margin:52px 0 10px}.portal-card p{color:var(--muted);line-height:1.65;max-width:460px}.portal-card b{color:var(--navy)}.portal-catalog{background:linear-gradient(145deg,#f8fbff,#eaf3ff)}.portal-services{background:linear-gradient(145deg,#071a35,#0a356c);color:#fff;border-color:#17467b}.portal-services p{color:#c0cfe0}.portal-services b{color:#fff}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.capability-grid article{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff}.icon-orbit{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:var(--navy);font-weight:900;font-size:12px;border:1px solid #d9e6f5}.capability-grid h3{font-size:23px;margin:22px 0 8px}.capability-grid p{color:var(--muted);line-height:1.65}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:.2s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-media{height:280px;background:radial-gradient(circle at top right,rgba(91,160,255,.18),transparent 22%),linear-gradient(145deg,#eef4fb,#fafcff);position:relative;display:flex;align-items:center;justify-content:center;padding:18px}.product-media img{width:100%;height:100%;object-fit:contain}.product-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:#8493a8}.product-placeholder span{width:70px;height:70px;border:2px solid #b6c6da;border-radius:50%;display:grid;place-items:center;font-weight:900;color:var(--navy)}.badge-featured{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.product-body{padding:22px;display:flex;flex-direction:column;flex:1}.meta{display:flex;justify-content:space-between;gap:10px;color:#74839a;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.product-body h3{font-size:22px;margin:12px 0 10px}.product-body p{color:var(--muted);line-height:1.6;font-size:14px;flex:1}.product-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.product-bottom strong{display:block;color:var(--navy)}.availability{display:inline-flex;background:#eef4fb;color:#466988;border-radius:999px;padding:6px 9px;margin-top:7px;font-size:11px;font-weight:850}.card-actions{display:flex;gap:8px}.center-action{text-align:center;margin-top:30px}.home-cta,.quote-banner{background:linear-gradient(120deg,#08214a,#0d4d91);color:#fff;padding:70px 0}.home-cta .shell,.quote-banner .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.home-cta h2,.quote-banner h2{font-size:44px;max-width:760px}.page-hero{padding:105px 0 95px;color:#fff;background:linear-gradient(120deg,#071a35,#0d4d91);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-100px;top:-100px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.02)}.page-hero .shell{position:relative;z-index:1}.page-hero h1{max-width:900px}.page-hero p{font-size:18px;line-height:1.7;color:#cbd9ea;max-width:760px}.page-hero-catalog{background:linear-gradient(90deg,rgba(7,26,53,.92),rgba(13,77,145,.84)),url('assets/hero-tech-bg.png') center/cover}.page-hero-services{background:linear-gradient(90deg,rgba(7,26,53,.92),rgba(13,77,145,.78)),url('assets/hero-tech-bg.png') center 64%/cover}.page-hero-about{background:linear-gradient(120deg,#071a35,#0a356c)}.page-hero-contact{background:linear-gradient(120deg,#08214a,#0d4d91)}.catalog-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.catalog-toolbar h2{font-size:40px;margin:0}.catalog-toolbar p{color:var(--muted);margin:8px 0 0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#526079;cursor:pointer}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.product-detail{padding:80px 0 95px;background:linear-gradient(180deg,#f4f8fd,#fff)}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.detail-image{min-height:520px;border:1px solid var(--line);border-radius:26px;background:#fff;display:grid;place-items:center;padding:32px;box-shadow:var(--shadow)}.detail-image img{width:100%;height:480px;object-fit:contain}.back-link{display:inline-block;color:var(--blue);font-weight:850;margin-bottom:25px}.detail-meta{margin-bottom:14px}.detail-copy h1{font-size:54px;line-height:1;letter-spacing:-.04em;margin:0}.detail-lead{font-size:18px;color:var(--muted);line-height:1.75}.detail-status{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:28px 0}.detail-status span{color:var(--muted)}.detail-status b{color:var(--navy)}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-note{margin-top:28px;padding:20px;border-radius:16px;background:#edf4ff}.detail-note b{color:var(--navy)}.detail-note p{margin:6px 0 0;color:var(--muted);line-height:1.55}.service-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-page-grid article{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff}.service-page-grid article>span{color:var(--red);font-weight:900}.service-page-grid h2{font-size:28px;margin:35px 0 10px}.service-page-grid p{color:var(--muted);line-height:1.7}.service-page-grid ul{margin:18px 0 0;padding-left:20px;color:#50627b;line-height:1.8}.process-section{padding:95px 0;background:var(--navy2);color:#fff}.section-head.light p{color:#a9bbd0}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.process-grid div{padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.04)}.process-grid b{display:block;color:#83b7ff;font-size:24px}.process-grid span{display:block;margin-top:28px;font-weight:800}.values{display:grid;grid-template-columns:1.05fr .95fr;gap:80px}.values-copy h2{font-size:52px}.values-copy p{font-size:17px;color:var(--muted);line-height:1.8}.value-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.value-cards div{border:1px solid var(--line);border-radius:18px;padding:26px;background:linear-gradient(180deg,#fff,#f5f9fd);min-height:165px}.value-cards b{display:block;font-size:21px;color:var(--navy);margin-bottom:18px}.value-cards span{color:var(--muted);line-height:1.55}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.principles-grid article{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff}.principles-grid b{font-size:22px;color:var(--navy)}.principles-grid p{color:var(--muted);line-height:1.6}.contact-page-grid{display:grid;grid-template-columns:1fr .85fr;gap:55px;align-items:start}.contact-options{display:grid;gap:14px}.contact-option{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;transition:.2s}.contact-option:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.contact-option span{display:block;font-size:11px;letter-spacing:.12em;color:var(--red);font-weight:900}.contact-option b{display:block;margin-top:8px;color:var(--navy);font-size:20px}.contact-option p{color:var(--muted);margin-bottom:0}.contact-panel{background:linear-gradient(145deg,#071a35,#0d4d91);color:#fff;border-radius:24px;padding:34px;position:sticky;top:120px}.contact-panel h2{font-size:42px;margin:0}.contact-panel p{color:#c3d3e6;line-height:1.7}.contact-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.footer{background:#fff;border-top:1px solid var(--line)}.footer-pattern{height:135px;background:url('assets/patron-marcas.png') center/cover no-repeat}.footer-main{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:50px;padding:44px 0}.footer-main>div{display:flex;flex-direction:column;gap:9px}.footer-main img{width:250px;height:auto}.footer-main p,.footer-main a,.footer-main span{color:var(--muted);font-size:14px;line-height:1.55}.footer-main b{color:var(--navy);margin-bottom:8px}.footer-row{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;color:#6c788a;font-size:13px}.footer-row a{font-weight:800;color:var(--navy)}
/* admin */.auth-body{min-height:100vh;background:linear-gradient(135deg,#edf4fb,#fff);display:grid;place-items:center;padding:30px}.auth-box{background:white;width:min(460px,100%);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:34px}.auth-box img{width:290px;max-width:100%;height:120px;object-fit:contain}.auth-box h1{margin:10px 0 8px}.auth-box p{color:var(--muted);line-height:1.5}.auth-box form{display:grid;gap:16px;margin-top:20px}.auth-box label,.admin-form label{display:grid;gap:7px;font-weight:800;font-size:13px}.auth-box input,.admin-form input,.admin-form textarea,.admin-form select{font:inherit;border:1px solid #cdd8e5;border-radius:9px;padding:12px;background:white}.back{display:block;margin-top:20px;color:var(--blue);font-weight:800}.alert{padding:12px 14px;border-radius:9px;margin:15px 0;font-weight:700;font-size:14px}.alert.error{background:#fff0f1;color:#9e1f2a;border:1px solid #ffd0d5}.alert.success{background:#edf8ef;color:#34683a;border:1px solid #cae8cf}.admin-body{background:#f3f6fa;min-height:100vh}.admin-top{height:72px;background:var(--navy2);color:white;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}.admin-top div{display:flex;flex-direction:column}.admin-top span{font-size:12px;color:#9bb0ca}.admin-top nav{display:flex;gap:22px;font-size:13px;font-weight:800}.admin-shell{width:min(1050px,calc(100% - 36px));margin:38px auto 70px;display:grid;gap:24px}.admin-card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.admin-card-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-card h1,.admin-card h2{margin:0}.admin-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:start!important}.check input{width:auto}.current-image{display:flex;align-items:center;gap:14px}.current-image img{width:90px;height:90px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.admin-list{display:grid;gap:10px}.admin-list article{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.thumb{width:72px;height:72px;border-radius:9px;background:#eef3f8;display:grid;place-items:center;color:var(--navy);font-weight:900;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.admin-product-info{display:flex;flex-direction:column;gap:4px}.admin-product-info span,.admin-product-info small{color:var(--muted)}.admin-actions{display:flex;align-items:center;gap:12px}.danger-link{border:0;background:none;color:#b32b36;font-weight:900;cursor:pointer;padding:8px}.admin-actions form{margin:0}
@media(max-width:1000px){.main-nav{position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:14px 20px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px}.main-nav a:after{display:none}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero-content,.section-head,.values,.product-detail-grid,.contact-page-grid{grid-template-columns:1fr}.hero-content{min-height:auto;padding:80px 0}.hero-tech{min-height:auto}.product-grid,.capability-grid{grid-template-columns:1fr 1fr}.service-page-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:repeat(3,1fr)}.principles-grid{grid-template-columns:1fr 1fr}.catalog-toolbar{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}.footer-main{grid-template-columns:1fr 1fr}.contact-panel{position:static}.brand-strip .shell{flex-direction:column;align-items:flex-start;padding:22px 0}.home-cta .shell,.quote-banner .shell{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.shell{width:min(100% - 28px,1180px)}.brand{width:225px}.hero-copy h1,.page-hero h1{font-size:44px}.lead{font-size:17px}.hero-metrics{grid-template-columns:1fr}.portal-grid,.product-grid,.capability-grid,.service-page-grid,.value-cards,.principles-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.section{padding:72px 0}.section-head h2,.values-copy h2{font-size:38px}.page-hero{padding:75px 0}.product-bottom{align-items:flex-start;flex-direction:column}.card-actions{width:100%}.card-actions .btn{flex:1}.detail-copy h1{font-size:42px}.detail-image{min-height:360px}.detail-image img{height:340px}.footer-main{grid-template-columns:1fr}.footer-pattern{height:90px}.footer-row{flex-direction:column;gap:8px}.hero-actions .btn,.contact-links .btn{width:100%}.home-cta h2,.quote-banner h2{font-size:36px}.form-row{grid-template-columns:1fr}.admin-list article{grid-template-columns:60px 1fr}.admin-actions{grid-column:1/-1;justify-content:flex-end}.thumb{width:60px;height:60px}}

/* WordPress integration */
body.admin-bar .site-header{top:32px}.wp-site-blocks{overflow:hidden}.custom-logo{display:block;width:100%;height:auto;max-height:72px;object-fit:contain}.entry-content img{max-width:100%;height:auto}.wp-caption{max-width:100%}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pg-admin-note{padding:12px 14px;border-left:4px solid #0d4d91;background:#f4f8fd;margin:12px 0}.service-card-thumb{height:180px;margin:-30px -30px 22px;overflow:hidden;border-radius:22px 22px 0 0;background:#eef4fb}.service-card-thumb img{width:100%;height:100%;object-fit:cover}.generic-page{padding:80px 0}.generic-page .entry-content{color:var(--muted);font-size:17px;line-height:1.8}.no-results{grid-column:1/-1;border:1px dashed var(--line);padding:30px;border-radius:18px;color:var(--muted);text-align:center}.site-header .custom-logo-link{width:255px;display:flex;align-items:center;flex:0 0 auto}.site-header .custom-logo-link img{width:100%;height:auto;max-height:72px;object-fit:contain}.footer-main .custom-logo-link{display:block;width:250px}.footer-main .custom-logo-link img{width:100%;height:auto}.wp-menu{display:flex;align-items:center;gap:24px;margin-left:auto;list-style:none;padding:0;margin-top:0;margin-bottom:0}.wp-menu li a{font-size:14px;font-weight:800;color:#40506a;position:relative;padding:34px 0;display:block}.wp-menu li.current-menu-item>a,.wp-menu li.current_page_item>a,.wp-menu li a:hover{color:var(--navy)}.wp-menu li a:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--red);transform:scaleX(0);transition:.2s}.wp-menu li.current-menu-item>a:after,.wp-menu li.current_page_item>a:after,.wp-menu li a:hover:after{transform:scaleX(1)}@media(max-width:1000px){.wp-menu{position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:14px 20px;box-shadow:var(--shadow);gap:0}.wp-menu.open{display:flex}.wp-menu li a{padding:12px}.wp-menu li a:after{display:none}}@media(max-width:782px){body.admin-bar .site-header{top:46px}}

@media(max-width:1000px){.main-nav.open .wp-menu{display:flex}.main-nav .wp-menu{margin:0;width:100%}}
