/*
Theme Name: Privatec
Theme URI: https://www.privatec.com.co
Author: Privatec
Description: Landing page de seguridad electrónica para el Eje Cafetero. Configurable desde el Personalizador: logos de clientes, servicios, testimonios, galería, WhatsApp, correo de contacto e Instagram. Incluye schema LocalBusiness y FAQPage para SEO, GEO y AEO.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: privatec
Tags: one-column, custom-logo, custom-colors
*/

:root{
  --pv-black:#0d0d0d;
  --pv-yellow:#f6b40e;
  --pv-cream:#f7f5ef;
  --pv-border:#ececec;
  --pv-gray:#6b6b6b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Archivo',system-ui,sans-serif;color:#141414;background:#fff;font-size:16px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.pv-wrap{max-width:1280px;margin:0 auto;padding:0 48px}
@media(max-width:760px){.pv-wrap{padding:0 20px}}
.pv-display{font-family:'Archivo Black','Archivo',sans-serif;font-weight:400;letter-spacing:-.5px;text-transform:uppercase}
.pv-mono{font-family:'IBM Plex Mono',monospace}

/* Header */
.pv-header{background:var(--pv-black);color:#fff;position:sticky;top:0;z-index:50}
.pv-header .pv-wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.pv-header nav{display:flex;gap:28px;font-size:14px;font-weight:600;color:#c9c9c9}
.pv-header nav a{text-decoration:none}
.pv-header nav a:hover{color:var(--pv-yellow)}
.pv-logo img{height:46px;width:auto;border-radius:8px}
.pv-logo-text{font-family:'Archivo Black',sans-serif;font-size:20px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px}
.pv-logo-text .tri{width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:17px solid var(--pv-yellow)}
.pv-btn{display:inline-block;background:var(--pv-yellow);color:var(--pv-black);font-weight:800;font-size:14px;padding:11px 20px;border-radius:4px;text-decoration:none;letter-spacing:.3px;border:none;cursor:pointer}
.pv-btn:hover{filter:brightness(1.06)}
.pv-btn-lg{font-size:16px;padding:16px 28px}
.pv-btn-ghost{background:transparent;border:1.5px solid #3a3a3a;color:#fff;font-weight:700}
.pv-stripe{height:8px;background:repeating-linear-gradient(-45deg,var(--pv-yellow),var(--pv-yellow) 16px,var(--pv-black) 16px,var(--pv-black) 32px)}
@media(max-width:960px){.pv-header nav{display:none}}

/* Hero */
.pv-hero{background:var(--pv-black);color:#fff;padding:80px 0 0}
.pv-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px}
.pv-hero-kicker{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--pv-yellow);letter-spacing:2px;text-transform:uppercase}
.pv-hero h1{margin:24px 0;font-family:'Archivo Black',sans-serif;font-size:clamp(40px,5vw,64px);line-height:.98;letter-spacing:-1px;text-transform:uppercase}
.pv-hero h1 em{color:var(--pv-yellow);font-style:normal}
.pv-hero p{margin:0 0 28px;font-size:17px;line-height:1.65;color:#b5b5b5;max-width:480px}
.pv-hero-cta{display:flex;gap:14px;flex-wrap:wrap;padding-bottom:80px}
.pv-hero-img{align-self:end}
.pv-hero-img img,.pv-hero-ph{width:100%;height:360px;object-fit:cover;border-radius:12px 12px 0 0;border:1px solid #2b2b2b;border-bottom:none}
.pv-hero-ph{background:repeating-linear-gradient(45deg,#1c1c1c,#1c1c1c 14px,#242424 14px,#242424 28px);display:flex;align-items:center;justify-content:center;color:#7a7a7a;font-family:'IBM Plex Mono',monospace;font-size:12.5px}
@media(max-width:960px){.pv-hero-grid{grid-template-columns:1fr}.pv-hero-img{display:none}.pv-hero-cta{padding-bottom:60px}}

/* Marquee */
.pv-marquee{background:#fff;border-bottom:1px solid var(--pv-border);overflow:hidden;padding:24px 0}
.pv-marquee-track{display:flex;width:max-content;gap:64px;align-items:center;padding:0 32px;animation:pv-marquee 28s linear infinite}
.pv-marquee img{height:44px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75}
.pv-marquee img:hover{filter:none;opacity:1}
.pv-marquee .sep{color:var(--pv-yellow);font-size:14px}
@keyframes pv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Sections */
.pv-section{padding:80px 0}
.pv-section-cream{background:var(--pv-cream)}
.pv-h2row{display:flex;align-items:baseline;gap:18px;margin-bottom:40px}
.pv-h2row .num{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#b08a10}
.pv-h2row h2{margin:0;font-family:'Archivo Black',sans-serif;font-size:clamp(28px,3.5vw,40px);text-transform:uppercase;letter-spacing:-.5px}

/* Services */
.pv-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pv-border);border:1px solid var(--pv-border)}
.pv-service{background:#fff;padding:28px;display:flex;flex-direction:column;gap:14px;min-height:220px}
.pv-service img{height:110px;width:100%;object-fit:cover}
.pv-service .ph{height:110px;background:repeating-linear-gradient(45deg,#f7f5ef,#f7f5ef 10px,#efece2 10px,#efece2 20px);display:flex;align-items:center;justify-content:center;color:#9a9584;font-family:'IBM Plex Mono',monospace;font-size:11px}
.pv-service h3{margin:0;font-family:'Archivo Black',sans-serif;font-size:17px;text-transform:uppercase}
.pv-service p{margin:0;font-size:13.5px;line-height:1.55;color:var(--pv-gray)}
.pv-service-cta{background:var(--pv-black);justify-content:center}
.pv-service-cta h3{color:var(--pv-yellow)}
.pv-service-cta p{color:#b5b5b5}
.pv-service-cta a{color:#fff;font-weight:700;font-size:14px;text-decoration:none;margin-top:6px}
@media(max-width:960px){.pv-services{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pv-services{grid-template-columns:1fr}}

/* About / coverage */
.pv-about{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.pv-about p{margin:0;font-size:16px;line-height:1.7;color:#4a4a44}
.pv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.pv-stat{background:#fff;border:1px solid #e8e4d6;padding:18px;border-radius:6px}
.pv-stat b{font-family:'Archivo Black',sans-serif;font-size:26px;font-weight:400;display:block}
.pv-stat span{font-size:12.5px;color:#8a8574}
.pv-map iframe,.pv-map .ph{width:100%;height:240px;border:0;border-radius:8px}
.pv-map .ph{background:repeating-linear-gradient(45deg,#efece2,#efece2 12px,#e8e4d6 12px,#e8e4d6 24px);display:flex;align-items:center;justify-content:center;color:#8a8574;font-family:'IBM Plex Mono',monospace;font-size:12px}
.pv-cities{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pv-city{background:var(--pv-black);color:#fff;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:99px}
.pv-city.alt{background:#fff;border:1px solid #e8e4d6;color:var(--pv-gray);font-weight:600}
@media(max-width:960px){.pv-about{grid-template-columns:1fr}}

/* Gallery */
.pv-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pv-gallery img{height:240px;width:100%;object-fit:cover}
.pv-gallery .ph{height:240px;background:repeating-linear-gradient(45deg,#f7f5ef,#f7f5ef 12px,#efece2 12px,#efece2 24px);display:flex;align-items:end;padding:16px;color:#8a8574;font-family:'IBM Plex Mono',monospace;font-size:11.5px}
@media(max-width:760px){.pv-gallery{grid-template-columns:1fr}}

/* Testimonials */
.pv-testimonials{border-top:8px solid;border-image:repeating-linear-gradient(-45deg,var(--pv-yellow),var(--pv-yellow) 16px,var(--pv-black) 16px,var(--pv-black) 32px) 8;text-align:center}
.pv-quote{margin:0 auto;max-width:820px;font-family:'Archivo Black',sans-serif;font-size:clamp(20px,3vw,30px);line-height:1.3}
.pv-quote mark{background:var(--pv-yellow);padding:0 8px}
.pv-quote-author{margin-top:24px;font-weight:700;font-size:15px}
.pv-quote-author span{color:#9a9584;font-weight:400}
.pv-t-nav{display:flex;justify-content:center;gap:10px;margin-top:28px}
.pv-t-nav button{width:38px;height:38px;border-radius:99px;border:1.5px solid #dcdcdc;background:#fff;color:var(--pv-gray);cursor:pointer;font-size:15px}
.pv-t-nav button:hover{background:var(--pv-black);color:#fff;border-color:var(--pv-black)}

/* FAQ */
.pv-faq{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pv-faq details{background:#fff;border:1px solid #e8e4d6;padding:22px 24px}
.pv-faq summary{font-weight:800;font-size:15.5px;cursor:pointer;list-style:none}
.pv-faq summary::-webkit-details-marker{display:none}
.pv-faq summary::after{content:'+';float:right;color:#b08a10;font-weight:400}
.pv-faq details[open] summary::after{content:'–'}
.pv-faq details p{margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--pv-gray)}
@media(max-width:760px){.pv-faq{grid-template-columns:1fr}}

/* Contact */
.pv-contact{background:var(--pv-black);color:#fff}
.pv-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pv-contact h2{margin:0 0 20px;font-family:'Archivo Black',sans-serif;font-size:clamp(30px,4vw,42px);line-height:1.05;text-transform:uppercase}
.pv-contact h2 em{color:var(--pv-yellow);font-style:normal}
.pv-contact-lead{margin:0 0 24px;font-size:16px;line-height:1.65;color:#b5b5b5;max-width:420px}
.pv-contact-lines{display:flex;flex-direction:column;gap:10px;font-size:15px}
.pv-contact-lines a{color:#fff;text-decoration:none;display:flex;gap:12px;align-items:center}
.pv-contact-lines .k{color:var(--pv-yellow);width:24px;display:inline-flex}
.pv-contact-lines .k svg{width:20px;height:20px;fill:var(--pv-yellow)}
.pv-form{background:#161616;border:1px solid #2b2b2b;border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:14px}
.pv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pv-form input,.pv-form textarea{background:var(--pv-black);border:1px solid #2b2b2b;border-radius:6px;padding:13px 14px;font-size:14px;color:#fff;font-family:inherit;width:100%}
.pv-form input::placeholder,.pv-form textarea::placeholder{color:#7a7a7a}
.pv-form textarea{height:84px;resize:vertical}
.pv-form-ok{background:#173a1f;border:1px solid #2c6b3c;color:#9fe0af;border-radius:6px;padding:12px 14px;font-size:14px}
.pv-hp{position:absolute;left:-9999px}
@media(max-width:960px){.pv-contact-grid{grid-template-columns:1fr}.pv-form-row{grid-template-columns:1fr}}

/* Footer */
.pv-footer{background:var(--pv-black);border-top:1px solid #2b2b2b;color:#7a7a7a;padding:28px 0;font-size:13px}
.pv-footer .pv-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pv-footer b{font-family:'Archivo Black',sans-serif;color:#fff;font-size:15px;font-weight:400}
.pv-footer b i{color:var(--pv-yellow);font-style:normal}

/* WhatsApp float */
.pv-wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:99px;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pv-wa-float svg{width:30px;height:30px;fill:#fff}

/* Footer logo */
.pv-footer-logo img{height:40px;width:auto;border-radius:6px}

/* Blog */
.pv-blog-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pv-link-underline{font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid var(--pv-yellow);padding-bottom:2px}
.pv-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pv-post-card{border:1px solid var(--pv-border);background:#fff;display:flex;flex-direction:column}
.pv-post-card .pv-thumb{display:block}
.pv-post-card .pv-thumb img{width:100%;height:180px;object-fit:cover}
.pv-post-card .pv-thumb-ph{display:block;height:180px;background:repeating-linear-gradient(45deg,#f7f5ef,#f7f5ef 12px,#efece2 12px,#efece2 24px)}
.pv-post-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.pv-post-meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#b08a10;letter-spacing:1px;text-transform:uppercase}
.pv-post-card h3{margin:0;font-family:'Archivo Black',sans-serif;font-size:17px;line-height:1.3;font-weight:400}
.pv-post-card h3 a{text-decoration:none}
.pv-post-card h3 a:hover{color:#b08a10}
.pv-post-card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--pv-gray)}
.pv-post-card .more{margin-top:auto;font-weight:700;font-size:13.5px;text-decoration:none}
@media(max-width:960px){.pv-blog-grid{grid-template-columns:1fr}}

/* Entrada individual */
.pv-wrap-narrow{max-width:860px;margin:0 auto;padding:0 48px}
@media(max-width:760px){.pv-wrap-narrow{padding:0 20px}}
.pv-back{display:inline-block;margin-bottom:26px;font-weight:700;font-size:14px;text-decoration:none;color:var(--pv-gray)}
.pv-back:hover{color:#141414}
.pv-single h1{margin:10px 0 14px;font-family:'Archivo Black',sans-serif;font-size:clamp(30px,4vw,44px);line-height:1.05;text-transform:uppercase;letter-spacing:-.5px;font-weight:400}
.pv-single .pv-featured img{width:100%;max-height:440px;object-fit:cover;margin:26px 0}
.pv-single-content{font-size:16.5px;line-height:1.75}
.pv-single-content h2,.pv-single-content h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.3px;font-weight:400}
.pv-single-content a{color:#b08a10}
.pv-single-content img{height:auto}
.pv-share{display:flex;gap:10px;align-items:center;margin-top:40px;padding-top:26px;border-top:1px solid var(--pv-border);flex-wrap:wrap}
.pv-share span{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--pv-gray);letter-spacing:1px}
.pv-share a,.pv-share button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--pv-border);padding:9px 16px;border-radius:99px;font-size:13.5px;font-weight:700;text-decoration:none;background:#fff;color:#141414;cursor:pointer;font-family:inherit}
.pv-share a:hover,.pv-share button:hover{border-color:var(--pv-black)}

/* Paginación */
.pv-pagination{margin-top:44px}
.pv-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pv-pagination .page-numbers{border:1px solid var(--pv-border);padding:9px 15px;text-decoration:none;font-weight:700;font-size:14px;color:#141414}
.pv-pagination .page-numbers.current{background:var(--pv-black);color:#fff;border-color:var(--pv-black)}
