/*
Theme Name: GEEKGO Commercial
Description: Sistema comercial GEEKGO con recepción de pruebas locales GATE E2. Activación pública pendiente.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: geekgo-commercial
*/

@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/inter-latin.woff2') format('woff2')}
@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url('assets/fonts/sora-latin.woff2') format('woff2')}
:root{
 --gg-deep-blue:#0B132B;--gg-electric-blue:#2563FF;--gg-cyan:#06B6D4;--gg-purple:#8B5CF6;--gg-gray:#64748B;--gg-white:#F8FAFC;
 --gg-paper:#fff;--gg-text:var(--gg-deep-blue);--gg-muted:#475569;--gg-soft:#EEF2F7;--gg-link:#174BC4;--gg-hover:#174BC4;--gg-active:#123A99;
 --gg-border:#DCE2EB;--gg-control-border:#64748B;--gg-error:#B42318;--gg-radius-sm:8px;--gg-radius-card:20px;--gg-radius-section:32px;
 --gg-space-1:.25rem;--gg-space-2:.5rem;--gg-space-3:.75rem;--gg-space-4:1rem;--gg-space-5:1.5rem;--gg-space-6:2rem;--gg-space-7:3rem;--gg-space-8:4rem;--gg-space-9:6rem;--gg-space-10:8rem;
 --gg-gutter:clamp(1.25rem,4vw,3rem);--gg-container:1200px;--gg-reading:760px;--gg-section:clamp(3rem,7vw,7rem);
 --gg-font-body:Inter,system-ui,sans-serif;--gg-font-heading:Sora,system-ui,sans-serif;
 --gg-small:.875rem;--gg-body:1rem;--gg-lead:clamp(1.125rem,1.05rem + .3vw,1.25rem);--gg-h3:clamp(1.375rem,1.15rem + 1vw,1.75rem);--gg-h2:clamp(1.875rem,1.35rem + 2.2vw,3rem);--gg-h1:clamp(2.5rem,1.5rem + 4vw,4.75rem);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--gg-white);color:var(--gg-text);font-family:var(--gg-font-body);font-size:var(--gg-body);line-height:1.65}
img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:var(--gg-font-heading);font-weight:600;line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}
h1{font-size:var(--gg-h1);max-width:16ch}h2{font-size:var(--gg-h2);max-width:23ch}h3{font-size:var(--gg-h3)}
p{max-width:70ch}a{color:var(--gg-link);text-decoration:underline;text-underline-offset:.23em;text-decoration-thickness:1px}
a:hover{color:var(--gg-active);text-decoration-thickness:2px}a:active{color:var(--gg-deep-blue)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gg-deep-blue);outline-offset:4px;box-shadow:0 0 0 4px #fff}
.gg-container{width:min(var(--gg-container),calc(100% - var(--gg-gutter)*2));margin-inline:auto}
.gg-section{padding-block:var(--gg-section);margin-block:0}.gg-section>:first-child{margin-top:0}.gg-section>:last-child{margin-bottom:0}
.gg-section h1,.gg-section h2{margin-block:.75rem 1.5rem}.gg-lead{font-size:var(--gg-lead);color:var(--gg-muted);max-width:56ch}
.gg-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.6;text-transform:uppercase;color:var(--gg-link)}
.gg-help{font-size:var(--gg-small);color:var(--gg-muted)}
.gg-light{background:var(--gg-soft);border-radius:var(--gg-radius-section);padding-inline:clamp(1.25rem,4vw,3rem)}
.gg-dark{background:var(--gg-deep-blue);color:var(--gg-white);border-radius:var(--gg-radius-section);padding-inline:clamp(1.25rem,4vw,3rem)}
.gg-dark p{color:#CBD5E1}.gg-dark .gg-eyebrow{color:#67E8F9}.gg-dark a:not(.wp-element-button){color:#AFC8FF}
.gg-dark a:not(.wp-element-button):hover{color:#fff}.gg-dark :focus-visible,.gg-site-footer :focus-visible{outline-color:#67E8F9;box-shadow:0 0 0 4px var(--gg-deep-blue)}
.gg-hero{border-top:1px solid var(--gg-border)}.gg-hero .gg-hero-title{font-size:var(--gg-h1);max-width:16ch}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:2rem}.wp-block-button{display:inline-flex}
.wp-element-button,.gg-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:.875rem 1.25rem;border:1px solid transparent;border-radius:var(--gg-radius-sm);font-size:1rem;font-weight:600;line-height:1.4;background:var(--gg-electric-blue);color:#fff;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;white-space:normal;text-align:center}
.wp-element-button:hover,.gg-button:hover,.gg-hover{background:var(--gg-hover);color:#fff;text-decoration:none}
.wp-element-button:active,.gg-button:active,.gg-active{background:var(--gg-active);color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link,.gg-button-secondary{background:transparent;border:1px solid var(--gg-control-border);color:var(--gg-deep-blue)}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.gg-button-secondary:hover{background:#E2E8F0;color:var(--gg-deep-blue)}
.gg-dark .is-style-outline .wp-block-button__link{border-color:#AFC8FF;color:var(--gg-white)}.gg-dark .is-style-outline .wp-block-button__link:hover{background:#24314F;color:#fff}
.gg-button:disabled,.gg-button[aria-disabled=true]{background:#E2E8F0;color:#475569;border-color:#64748B;cursor:not-allowed;opacity:1}
.gg-focus{outline:3px solid var(--gg-deep-blue);outline-offset:4px;box-shadow:0 0 0 4px #fff}
.gg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.gg-grid.gg-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gg-card{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--gg-border);border-radius:var(--gg-radius-card);background:var(--gg-paper);height:100%}
.gg-card>:first-child{margin-top:0}.gg-card>:last-child{margin-bottom:0}.gg-card h3{max-width:22ch}.gg-card p:not(.gg-eyebrow){color:var(--gg-muted)}
.gg-card-soft{background:var(--gg-soft)}.gg-card a{font-weight:600}.gg-card a:focus-visible{border-radius:2px}
.gg-benefit{border-top:1px solid var(--gg-control-border);padding-top:1.5rem}.gg-step{font-family:var(--gg-font-heading);font-size:1.125rem;color:var(--gg-link)}.gg-cta{margin-block:1rem}
.gg-site-header{border-bottom:1px solid var(--gg-border);background:var(--gg-paper)}
.gg-header-row{min-height:108px;display:flex;gap:2rem;align-items:center;justify-content:space-between;padding-block:1rem}
.gg-brand,.wp-block-site-logo{display:inline-flex;flex-shrink:0;padding:1.5rem;box-sizing:content-box}.gg-brand img{width:156px;height:auto;display:block}.wp-block-site-logo img{display:block}
.gg-header-row .wp-block-navigation{font-size:.875rem;flex:1;justify-content:flex-end}
.gg-header-row .wp-block-navigation-item__content{padding:.75rem .25rem;min-height:44px;display:flex;align-items:center;color:var(--gg-deep-blue);text-decoration:none}
.gg-header-row .wp-block-navigation-item__content:hover{text-decoration:underline}.gg-header-row .wp-block-navigation__container{gap:1rem}
.gg-header-row .wp-block-navigation__responsive-container-open,.gg-header-row .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.gg-header-row .wp-block-navigation__responsive-container.is-menu-open{padding:2rem;background:#fff;color:var(--gg-deep-blue)}
.gg-site-footer{margin-top:var(--gg-section);background:var(--gg-deep-blue);color:var(--gg-white);padding-block:4rem}
.gg-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem}.gg-site-footer p{font-size:.875rem}.gg-site-footer a{color:#AFC8FF}.gg-site-footer a:hover{color:#fff}.gg-site-footer .gg-eyebrow{color:#67E8F9}.gg-site-footer .gg-help{color:#CBD5E1}
.gg-site-footer .gg-brand,.gg-site-footer .wp-block-site-logo{background:#fff;border-radius:8px}.gg-site-footer .gg-footer-brand{max-width:30ch}
.gg-form{border:0;padding:0;margin:2rem 0 0;min-width:0}.gg-form legend{font-weight:600;margin-bottom:1.5rem}.gg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.gg-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.gg-form input:not([type=checkbox]),.gg-form select,.gg-form textarea{display:block;width:100%;min-height:48px;padding:.75rem;border:1px solid var(--gg-control-border);border-radius:8px;background:#fff;color:var(--gg-deep-blue);margin-bottom:1.5rem}
.gg-form textarea{resize:vertical}.gg-form input:disabled,.gg-form textarea:disabled,.gg-form select:disabled{opacity:1;color:var(--gg-muted);background:var(--gg-white)}
.gg-form [aria-invalid=true]{border:2px solid var(--gg-error)}.gg-field-error{color:var(--gg-error);font-size:.875rem;font-weight:600}.gg-checkbox{display:flex!important;align-items:flex-start;gap:.75rem;margin-block:1rem}.gg-checkbox input{width:20px;height:20px;flex-shrink:0}.gg-form-grid>div{min-width:0}
.wp-block-details{border-block:1px solid var(--gg-control-border);padding-block:1rem}.wp-block-details summary{min-height:44px;cursor:pointer;font-weight:600}.wp-block-details summary::marker{color:var(--gg-link)}
.gg-skip{position:fixed;inset:1rem auto auto 1rem;z-index:999999;padding:1rem;background:#fff;transform:translateY(-200%)}.gg-skip:focus{transform:translateY(0)}.gg-content{padding-block:3rem}
/* Catalogue only: not a Home template. */
.gg-swatch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-top:2rem}.gg-swatch{display:flex;flex-direction:column;font-size:.75rem;gap:.5rem;min-width:0}.gg-swatch span{height:88px;border-radius:12px;border:1px solid #CBD5E1}.gg-swatch code{font-size:.75rem}.gg-type-sample{margin-top:3rem;border-top:1px solid #CBD5E1;padding-top:1.5rem}.gg-state-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding:.5rem}
.gg-desktop-nav{display:flex;gap:1.5rem}.gg-preview-nav a{font-size:.875rem;padding:.75rem 0;display:inline-flex}.gg-preview-nav details{display:none}.gg-specimen{scroll-margin-top:1rem}
@media(max-width:1023px){.gg-header-row{gap:1rem}.gg-header-row .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.gg-header-row .wp-block-navigation__responsive-container-open{display:flex!important}.gg-footer-grid{gap:2rem}.gg-swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gg-desktop-nav{display:none}.gg-preview-nav details{display:block;position:relative}.gg-preview-nav summary{padding:.75rem;min-height:44px;font-weight:600;cursor:pointer}.gg-preview-nav details>div{position:absolute;right:0;top:100%;min-width:220px;z-index:5;padding:1rem;background:#fff;border:1px solid var(--gg-border);border-radius:12px;box-shadow:0 12px 36px #0B132B15}.gg-preview-nav details a{display:block}}
@media(max-width:767px){.gg-grid,.gg-grid.gg-two,.gg-form-grid,.gg-footer-grid{grid-template-columns:1fr}.gg-header-row{min-height:88px}.gg-brand,.wp-block-site-logo{padding:1.25rem}.gg-brand img{width:132px}.gg-header-row .wp-block-site-logo img{width:132px}.gg-section{padding-block:3rem}.gg-desktop-nav{display:none}.gg-preview-nav details{display:block;position:relative}.gg-preview-nav summary{padding:.75rem;min-height:44px;font-weight:600;cursor:pointer}.gg-preview-nav details>div{position:absolute;right:0;top:100%;min-width:180px;z-index:5;padding:1rem;background:#fff;border:1px solid var(--gg-border);border-radius:12px;box-shadow:0 12px 36px #0B132B15}.gg-preview-nav details a{display:block}.gg-light,.gg-dark{border-radius:20px}.gg-form-grid{gap:0}.gg-site-footer{padding-block:3rem}.gg-header-row .wp-block-navigation__responsive-container-content .wp-block-navigation__container{gap:1rem}.gg-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.gg-button,.wp-element-button,.gg-card{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight;box-shadow:none}}

/* Gate C: page composition uses the existing Gate B tokens and components. */
.gg-home{padding-top:1.5rem}
.gg-home-main{margin-block:0}.gg-home-main>.wp-block-post-content{margin-block:0;max-width:none}
.gg-home-draft{border:1px solid var(--gg-control-border);border-radius:var(--gg-radius-sm);padding:.75rem 1rem;background:var(--gg-paper)}
.gg-home-draft-text{max-width:none;margin:0;font-size:var(--gg-small);color:var(--gg-muted)}
.gg-home-hero{padding-block:clamp(3rem,6vw,6rem)}
.gg-home-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.gg-home-split>*{min-width:0;margin-block:0}.gg-home-hero-copy h1{max-width:14ch}
.gg-home-hero-copy>p:not(.gg-eyebrow):not(.gg-home-signature){max-width:54ch}
.gg-home-signature{font-family:var(--gg-font-heading);font-size:.875rem;font-weight:600;margin-top:2rem;color:var(--gg-link)}
.gg-home-placeholder{min-height:420px;display:flex;flex-direction:column;justify-content:center;gap:1rem;border:1px dashed var(--gg-control-border);border-radius:var(--gg-radius-card);background:var(--gg-soft);padding:clamp(1.5rem,3vw,3rem)}
.gg-home-placeholder>*{margin:0}.gg-home-placeholder-title{max-width:18ch;font-family:var(--gg-font-heading);font-size:var(--gg-h3);font-weight:600;line-height:1.15;letter-spacing:-.035em}.gg-home-placeholder .gg-eyebrow{letter-spacing:.08em}
.gg-home-placeholder-note{font-size:.75rem;color:var(--gg-muted);border-top:1px solid var(--gg-control-border);padding-top:1rem}
.gg-home-caption{font-size:.75rem;line-height:1.6;color:var(--gg-muted);margin-top:1rem}
.gg-home-heading{margin-bottom:2.5rem}.gg-home-heading h2{max-width:25ch}.gg-home-heading .gg-lead{max-width:68ch}
.gg-home .gg-grid>*{margin-block:0}.gg-home .gg-benefit h3{margin-block:1rem}.gg-home .gg-card h3{margin-block:1rem 1.5rem}
.gg-home .gg-dark .gg-card{color:var(--gg-deep-blue)}
.gg-home-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.gg-home-flow-step{margin-block:0;border-top:1px solid #64748B;padding-top:1.5rem;min-width:0}
.gg-home-flow-step h3{font-size:var(--gg-h3);letter-spacing:-.025em}.gg-home-flow-step .gg-step{color:#67E8F9;font-weight:600}
.gg-home .gg-dark .gg-benefit{border-color:#64748B}.gg-home .gg-dark .gg-step{color:#67E8F9}
.gg-home-org-note{margin-top:2.5rem}.gg-home .gg-cta .gg-help{max-width:70ch;margin-top:1.5rem}
.gg-home .gg-home-section{scroll-margin-top:1.5rem}
.gg-home .gg-grid.gg-two .gg-card:nth-child(2) .gg-eyebrow{letter-spacing:.08em}
.gg-home-main:focus{outline:none}
@media(max-width:1023px){.gg-home-split{grid-template-columns:1fr;gap:2rem}.gg-home-hero-copy h1{max-width:18ch}.gg-home-placeholder{min-height:300px}.gg-home-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-home .gg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.gg-home-split{grid-template-columns:1fr;gap:2.5rem}.gg-home-hero-copy h1{max-width:14ch}.gg-home-placeholder{min-height:300px}.gg-home-heading{margin-bottom:2rem}.gg-home .gg-grid{grid-template-columns:1fr}.gg-home-flow{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.gg-home-flow-step h3{font-size:1.25rem}.gg-home-flow-step p{font-size:.875rem}.gg-home-draft-text{font-size:.75rem}.gg-home .wp-block-buttons{align-items:stretch}.gg-home .wp-block-button{flex:1 1 auto}.gg-home .wp-block-button__link{width:100%}}

/* Gate D: interior page composition and non-submitting contact review. */
.gg-interior-hero{padding-block:clamp(3rem,6vw,5rem)}.gg-interior-hero h1{max-width:22ch}.gg-interior-hero .gg-lead{max-width:68ch}
.gg-interior .gg-interior-section{scroll-margin-top:1.5rem}.gg-interior .gg-card{min-width:0}.gg-interior .gg-benefit{min-width:0}
.gg-contact-demo{margin-top:0}.gg-contact-demo h2{max-width:24ch}.gg-contact-demo .gg-field-label{margin-bottom:.5rem}
.gg-contact-demo .gg-form-grid{align-items:start;gap:1.5rem}.gg-contact-demo .gg-form-grid>*{margin-block:0;min-width:0}.gg-contact-demo .gg-field-mensaje{grid-column:1/-1}
.gg-contact-demo input:not([type=checkbox]),.gg-contact-demo select,.gg-contact-demo textarea{margin-bottom:.5rem}
.gg-contact-demo .gg-help{margin-block:.5rem;font-weight:400}.gg-contact-demo .gg-required{font-weight:400;font-size:.75rem;color:var(--gg-muted)}
.gg-contact-demo [hidden]{display:none!important}.gg-contact-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.gg-feedback{border:1px solid var(--gg-control-border);border-radius:var(--gg-radius-sm);padding:1rem 1.25rem;margin-block:1.5rem;background:var(--gg-paper);max-width:none}
.gg-feedback p{margin-top:0}.gg-feedback-error{border-color:var(--gg-error);color:var(--gg-error)}.gg-feedback-error a{color:var(--gg-error)}.gg-feedback-error ul{padding-left:1.5rem;margin-bottom:0}
.gg-feedback-success{border-color:#166534;color:#166534;background:#F0FDF4}.gg-contact-demo .gg-field-error{margin-block:.5rem;font-weight:600}
.gg-field-option{margin:0;font-size:.875rem;color:var(--gg-muted)}
.gg-contact-demo .gg-form-grid input:focus-visible,.gg-contact-demo select:focus-visible,.gg-contact-demo textarea:focus-visible{outline:3px solid var(--gg-deep-blue);outline-offset:3px}
.gg-desktop-nav [aria-current=page]{font-weight:700;text-decoration-thickness:2px}
@media(max-width:767px){.gg-contact-demo .gg-form-grid{grid-template-columns:1fr;gap:1.5rem}.gg-contact-actions{flex-direction:column}.gg-interior-hero h1{font-size:var(--gg-h1)}}

/* E1: preserve the commercial composition against Gutenberg canvas resets. */
.editor-styles-wrapper h1.wp-block-heading{font-size:var(--gg-h1)}
.editor-styles-wrapper h2.wp-block-heading{font-size:var(--gg-h2)}
.editor-styles-wrapper h3.wp-block-heading{font-size:var(--gg-h3)}
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container>.gg-home,
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container>.gg-interior{max-width:var(--gg-container);width:min(var(--gg-container),calc(100% - var(--gg-gutter)*2));margin-inline:auto}
.gg-demo-consent input[type=checkbox]{display:inline-block;width:1.2rem;height:1.2rem;min-height:0;margin:.25rem .5rem .25rem 0;vertical-align:middle}
.gg-demo-consent{margin-top:2rem}.gg-demo-consent p{font-size:.875rem}.gg-demo-honeypot{display:none}
/* E3: keep native WordPress heading reset from collapsing the visual hierarchy. */
.gg-home h1.wp-block-heading,.gg-interior h1.wp-block-heading{font-size:var(--gg-h1)}
.gg-home h2.wp-block-heading,.gg-interior h2.wp-block-heading{font-size:var(--gg-h2)}
.gg-home h3.wp-block-heading,.gg-interior h3.wp-block-heading{font-size:var(--gg-h3)}
.gg-home-placeholder .wp-block-image{margin:0;width:100%}.gg-home-placeholder .wp-block-image img{display:block;width:100%;height:auto;border-radius:8px}
/* Avoid low-contrast intermediate colors when JavaScript toggles disabled state. */
.gg-contact-demo .gg-button{transition:none}
