/*
Theme Name: Factoría Digital MX
Theme URI: https://factoriadigital.store/
Author: Factoría Digital MX
Author URI: https://factoriadigital.store/
Description: Tema corporativo ligero para agencia digital: logotipos, páginas web, redes sociales, campañas y captación de clientes.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: factoria-digital-mx
Tags: custom-logo, custom-menu, featured-images, one-column, two-columns, blog, portfolio, business
*/

:root{
  --fdmx-navy:#061b3a;
  --fdmx-blue:#0078ff;
  --fdmx-cyan:#16c5ff;
  --fdmx-orange:#ff8a00;
  --fdmx-dark:#07111f;
  --fdmx-text:#172033;
  --fdmx-muted:#65738a;
  --fdmx-light:#f5f8fc;
  --fdmx-white:#ffffff;
  --fdmx-border:#dbe6f2;
  --fdmx-shadow:0 18px 45px rgba(6,27,58,.14);
  --fdmx-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--fdmx-text);
  background:var(--fdmx-white);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,92%);margin:0 auto}
.screen-reader-text{position:absolute;left:-9999px}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(6,27,58,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;color:#fff;font-weight:900;letter-spacing:-.03em;font-size:1.15rem}
.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--fdmx-cyan),var(--fdmx-blue));display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,120,255,.35);position:relative;overflow:hidden}
.brand-mark:before{content:"F";font-size:30px;font-weight:1000;color:white;line-height:1}
.brand-mark:after{content:"";position:absolute;width:54px;height:9px;background:var(--fdmx-orange);border-radius:999px;transform:rotate(-23deg);bottom:9px;right:-9px}
.brand small{display:block;font-weight:500;letter-spacing:.25em;text-transform:lowercase;color:#b9d8ff;font-size:.63rem;margin-top:-5px}
.brand .custom-logo,.fdmx-logo-default{display:block;max-height:58px;width:auto}
.fdmx-logo-default{max-width:420px;object-fit:contain}
.brand .custom-logo-link{display:flex;align-items:center}
.nav-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;color:#eaf4ff;font-size:.94rem;font-weight:650}
.nav-menu a:hover{color:var(--fdmx-orange)}
.header-cta{background:var(--fdmx-orange);color:#111827;padding:12px 18px;border-radius:999px;font-weight:900;box-shadow:0 10px 24px rgba(255,138,0,.28)}
.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 12px;font-weight:800}

.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 10%,rgba(22,197,255,.28),transparent 34%),linear-gradient(135deg,#061b3a 0%,#082957 55%,#07111f 100%);color:#fff;padding:96px 0 80px}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#cde8ff;font-weight:750;font-size:.85rem;margin-bottom:20px}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fdmx-orange)}
.hero h1{font-size:clamp(2.45rem,5vw,5.2rem);line-height:.98;margin:0 0 22px;letter-spacing:-.07em}
.hero h1 span{color:var(--fdmx-cyan)}
.hero p{font-size:1.16rem;color:#d8e9ff;max-width:650px;margin:0 0 30px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--fdmx-orange);color:#101827;box-shadow:0 15px 35px rgba(255,138,0,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(255,138,0,.36)}
.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24)}
.btn-secondary:hover{background:rgba(255,255,255,.14)}
.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:32px;padding:26px;box-shadow:var(--fdmx-shadow);backdrop-filter:blur(18px)}
.hero-screen{background:#f6fbff;border-radius:24px;padding:18px;min-height:360px;color:#061b3a;box-shadow:0 30px 75px rgba(0,0,0,.24)}
.browser{height:15px;display:flex;gap:6px;margin-bottom:16px}.browser span{width:11px;height:11px;border-radius:50%;background:#d9e5f1}.browser span:first-child{background:#ff8a00}.browser span:nth-child(2){background:#16c5ff}.browser span:nth-child(3){background:#0078ff}
.mock-hero{height:120px;border-radius:18px;background:linear-gradient(135deg,var(--fdmx-navy),var(--fdmx-blue));padding:20px;color:#fff;margin-bottom:14px}.mock-hero strong{font-size:1.25rem}.mock-lines{display:grid;gap:10px}.mock-lines div{height:14px;background:#e2edf8;border-radius:999px}.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.mock-stats article{background:#fff;border:1px solid #e2edf8;border-radius:18px;padding:16px}.mock-stats b{display:block;font-size:1.45rem;color:var(--fdmx-blue)}.mock-stats small{color:var(--fdmx-muted);font-weight:700}

.section{padding:82px 0}.section-light{background:var(--fdmx-light)}
.section-title{text-align:center;margin-bottom:42px}.section-title h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.05;letter-spacing:-.05em;margin:0 0 12px;color:var(--fdmx-navy)}.section-title p{margin:0 auto;color:var(--fdmx-muted);max-width:750px;font-size:1.04rem}
.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--fdmx-border);border-radius:var(--fdmx-radius);padding:26px;box-shadow:0 10px 30px rgba(6,27,58,.06)}
.service-card{transition:.2s ease}.service-card:hover{transform:translateY(-5px);box-shadow:var(--fdmx-shadow)}.icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#e7f8ff,#eef5ff);display:grid;place-items:center;color:var(--fdmx-blue);font-weight:1000;font-size:1.4rem;margin-bottom:18px}.service-card h3,.price-card h3{margin:0 0 10px;color:var(--fdmx-navy);font-size:1.3rem;letter-spacing:-.02em}.service-card p{margin:0;color:var(--fdmx-muted)}
.price-card{position:relative;overflow:hidden}.price-card.featured{border:2px solid var(--fdmx-blue);box-shadow:var(--fdmx-shadow)}.badge{position:absolute;top:18px;right:18px;background:var(--fdmx-orange);color:#111827;font-weight:900;font-size:.72rem;border-radius:999px;padding:6px 10px}.price{font-size:2.1rem;font-weight:1000;color:var(--fdmx-blue);margin:8px 0}.price small{font-size:.85rem;color:var(--fdmx-muted);font-weight:700}.features{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px;color:#334155}.features li:before{content:"✓";color:var(--fdmx-blue);font-weight:1000;margin-right:10px}.price-card .btn{width:100%}
.process{counter-reset:step}.step{position:relative;padding-left:0}.step .num{width:42px;height:42px;border-radius:50%;background:var(--fdmx-navy);color:#fff;display:grid;place-items:center;font-weight:1000;margin-bottom:14px}.step h3{margin:0 0 8px;color:var(--fdmx-navy)}.step p{margin:0;color:var(--fdmx-muted)}
.cta-band{background:linear-gradient(135deg,var(--fdmx-navy),#0b3d82);color:#fff;border-radius:34px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--fdmx-shadow)}.cta-band h2{margin:0 0 8px;font-size:2.1rem;letter-spacing:-.04em}.cta-band p{margin:0;color:#d8e9ff}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{overflow:hidden;padding:0}.post-card .thumb{height:190px;background:linear-gradient(135deg,#dcefff,#fff);display:grid;place-items:center;color:var(--fdmx-blue);font-size:2rem;font-weight:1000}.post-card-content{padding:22px}.post-card h3{margin:0 0 10px;color:var(--fdmx-navy);font-size:1.18rem}.post-card p{margin:0;color:var(--fdmx-muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-list{display:grid;gap:14px;margin-top:22px}.contact-list a,.contact-list div{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--fdmx-border);border-radius:18px;color:var(--fdmx-navy);font-weight:800}.form-box input,.form-box textarea{width:100%;border:1px solid var(--fdmx-border);border-radius:16px;padding:14px 16px;font:inherit;margin-bottom:12px}.form-box textarea{min-height:120px;resize:vertical}.form-box button{border:0}
.site-footer{background:var(--fdmx-dark);color:#dbeafe;padding:46px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px;align-items:start}.site-footer h3{margin:0 0 14px;color:#fff}.site-footer p,.site-footer a{color:#aebed2}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:20px;color:#7f91aa;font-size:.9rem;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;background:#20c463;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:1000;z-index:60;box-shadow:0 16px 35px rgba(32,196,99,.38)}
.entry-content{width:min(860px,92%);margin:54px auto}.entry-content h1,.entry-content h2,.entry-content h3{color:var(--fdmx-navy);letter-spacing:-.035em}.entry-title{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.wp-block-button__link{border-radius:999px;background:var(--fdmx-blue)}

@media(max-width:920px){
  .menu-toggle{display:block}.main-navigation{position:absolute;left:0;right:0;top:76px;background:var(--fdmx-navy);display:none;padding:18px 4%;border-bottom:1px solid rgba(255,255,255,.1)}.main-navigation.open{display:block}.nav-menu{display:grid;gap:14px}.header-cta{display:none}.hero-grid,.contact-grid,.cta-band{grid-template-columns:1fr}.grid-3,.grid-4,.posts-grid,.footer-grid{grid-template-columns:1fr}.hero{padding:72px 0 56px}.hero-card{padding:14px}.mock-stats{grid-template-columns:1fr}.section{padding:60px 0}.cta-band{padding:30px}.brand small{display:none}
}

/* Actualización comercial v1.1 */
.price-note{margin:22px auto 0;max-width:900px;text-align:center;color:var(--fdmx-muted);font-size:.95rem}.allies-section{background:#fff}.allies-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.ally-card{display:flex;align-items:center;justify-content:center;min-height:86px;padding:18px;text-align:center;border:1px solid var(--fdmx-border);border-radius:20px;background:linear-gradient(180deg,#fff,#f7fbff);color:var(--fdmx-navy);font-weight:900;box-shadow:0 10px 26px rgba(6,27,58,.06);transition:.2s ease}.ally-card:hover{transform:translateY(-3px);border-color:var(--fdmx-blue);color:var(--fdmx-blue)}.footer-grid{grid-template-columns:1.15fr .8fr .85fr .85fr}.brand{min-width:230px}.brand small{font-size:.6rem;letter-spacing:.18em}.fdmx-logo-default{max-height:64px}.price-card .features{min-height:150px}.price-card h3{min-height:48px}.site-header{z-index:9990}
@media(max-width:1050px){.allies-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.allies-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.price-card h3,.price-card .features{min-height:auto}.brand{min-width:auto}.fdmx-logo-default{max-width:240px;max-height:48px}}


/* v1.3 legado visual */
.grid-5{grid-template-columns:repeat(5,1fr)}
.section-panel{padding-top:26px;padding-bottom:26px}
.panel-box{background:#fff;border:1px solid var(--fdmx-border);border-radius:28px;padding:34px 32px;box-shadow:0 12px 30px rgba(6,27,58,.06)}
.compact-title{margin-bottom:28px}.compact-title h2{font-size:clamp(2rem,3vw,3rem)}
.hero-legacy{padding:72px 0 62px}
.hero-legacy-grid{grid-template-columns:1.05fr .95fr;gap:40px}
.hero-copy p{max-width:560px}
.btn-whatsapp{background:#25d366;color:#fff;box-shadow:0 15px 35px rgba(37,211,102,.28)}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(37,211,102,.36)}
.hero-showcase{position:relative;min-height:350px}
.device{position:absolute;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 50px rgba(0,0,0,.28)}
.desktop-device{top:12px;left:0;width:88%;padding:18px}
.tablet-device{right:6%;top:75px;width:26%;height:165px;background:linear-gradient(135deg,#eef5ff,#dbe8f9);border:8px solid #214a80}
.mobile-device{right:0;bottom:10px;width:18%;height:132px;background:linear-gradient(135deg,#ffffff,#dcecff);border:8px solid #214a80}
.device-top{display:flex;gap:8px;margin-bottom:14px}.device-top span{width:11px;height:11px;border-radius:50%;background:#ff8a00}.device-top span:nth-child(2){background:#16c5ff}.device-top span:nth-child(3){background:#0078ff}
.device-screen{background:#fff;border-radius:22px;padding:16px;color:var(--fdmx-navy)}
.screen-banner{background:linear-gradient(135deg,#0b3d82,#0078ff);color:#fff;border-radius:18px;padding:20px 18px;margin-bottom:14px;display:grid;gap:6px}.screen-banner strong{font-size:1.35rem}.screen-banner small{opacity:.95}
.screen-lines{display:grid;gap:10px;margin-bottom:16px}.screen-lines div{height:12px;background:#dfebf7;border-radius:999px}.screen-lines div:nth-child(1){width:93%}.screen-lines div:nth-child(2){width:78%}.screen-lines div:nth-child(3){width:84%}
.device-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.device-stats span{background:#f6f9fe;border:1px solid #dbe6f2;border-radius:18px;padding:16px 10px;text-align:center;font-weight:900;color:#0b4fcb}
.services-legacy-grid .card,.legacy-price-grid .card{box-shadow:none}
.legacy-service{padding:24px 20px;text-align:center}.legacy-service .icon{margin:0 auto 14px}.legacy-service h3{font-size:1.1rem}.legacy-service p{font-size:.96rem}
.legacy-price-grid{align-items:stretch}.legacy-price-card .btn{margin-top:auto}.legacy-price-card .features{min-height:170px}
.process-flow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;overflow:auto;padding-bottom:6px}.process-mini{display:grid;justify-items:center;min-width:140px;text-align:center}.mini-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#ffffff);border:3px solid #0b4fcb;color:#0b4fcb;font-weight:1000;font-size:1.2rem;margin-bottom:12px;box-shadow:0 10px 20px rgba(6,27,58,.08)}.process-mini h3{margin:0;color:var(--fdmx-navy);font-size:1rem}.process-arrow{font-size:2rem;color:#0b4fcb;font-weight:700;line-height:1}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.portfolio-card{border:1px solid var(--fdmx-border);border-radius:22px;padding:14px;background:#fff;box-shadow:0 10px 28px rgba(6,27,58,.06)}.portfolio-card h3{margin:14px 6px 4px;color:var(--fdmx-navy);font-size:1rem}.portfolio-thumb{height:180px;border-radius:16px;background-size:cover;background-position:center;position:relative;overflow:hidden}.portfolio-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,61,130,.15),rgba(255,138,0,.14))}
.thumb-a{background-image:url('assets/img/portfolio-web.png')}
.thumb-b{background-image:url('assets/img/portfolio-landing.png')}
.thumb-c{background-image:url('assets/img/portfolio-redes.png')}
.legacy-cta-band{grid-template-columns:1fr auto}.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,1fr)}.hero-showcase{min-height:310px}.desktop-device{width:90%}.portfolio-grid{grid-template-columns:1fr}.legacy-cta-band{grid-template-columns:1fr}.cta-band-actions{justify-content:flex-start}}
@media(max-width:920px){.hero-legacy-grid{grid-template-columns:1fr}.hero-showcase{min-height:320px}.grid-5{grid-template-columns:repeat(2,1fr)}.process-flow{justify-content:flex-start}.legacy-price-grid,.services-legacy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid-5,.legacy-price-grid,.services-legacy-grid{grid-template-columns:1fr}.panel-box{padding:24px 18px}.hero-showcase{min-height:240px}.desktop-device{width:100%;left:0}.tablet-device{width:32%;height:130px;top:70px}.mobile-device{width:24%;height:110px}.screen-banner strong{font-size:1.1rem}.device-stats{grid-template-columns:1fr}.cta-band-actions{flex-direction:column;align-items:stretch}.cta-band-actions .btn{width:100%}}

/* v1.4 portafolio con imágenes y enlaces */
.portfolio-card{display:block;color:inherit;text-decoration:none;transition:.22s ease}
.portfolio-card:hover{transform:translateY(-5px);border-color:var(--fdmx-blue);box-shadow:var(--fdmx-shadow)}
.portfolio-card p{margin:6px 6px 4px;color:var(--fdmx-blue);font-weight:900}
.portfolio-thumb{background-size:cover;background-position:center center;background-repeat:no-repeat}
.portfolio-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,27,58,.10),transparent 55%);z-index:1}
.portfolio-thumb:after{z-index:2}
