/*
Theme Name: Supply Plus Consulting Theme
Theme URI: https://supplyplusconsulting.com/
Author: Supply Plus / ChatGPT
Description: Tema corporativo ligero para Supply Plus — Compliance & Consulting. Construido sin Elementor, orientado a SEO, conversión B2B, consultoría ISO, compliance, procurement, supply chain, gestión documental y ciberseguridad.
Version: 1.3.0
License: GPL-2.0-or-later
Text Domain: supplyplus
*/

:root{
  --sp-blue-950:#0B1F3A;
  --sp-blue-800:#145DA0;
  --sp-blue-100:#EAF2FA;
  --sp-gray-900:#1F2937;
  --sp-gray-700:#4B5563;
  --sp-gray-500:#6B7280;
  --sp-gray-200:#E5E7EB;
  --sp-gray-100:#F5F7FA;
  --sp-white:#FFFFFF;
  --sp-amber:#D97706;
  --sp-amber-dark:#B45309;
  --sp-green:#168A4A;
  --sp-radius:18px;
  --sp-shadow:0 18px 50px rgba(11,31,58,.12);
  --sp-shadow-soft:0 10px 28px rgba(11,31,58,.08);
  --sp-max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--sp-gray-900);
  background:var(--sp-white);
  line-height:1.65;
  font-size:17px;
}
a{color:var(--sp-blue-800);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.sp-container{width:min(var(--sp-max), calc(100% - 40px)); margin-inline:auto}
.sp-section{padding:92px 0}
.sp-section-sm{padding:60px 0}
.sp-eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--sp-amber);font-weight:800;margin:0 0 12px}
.sp-title{font-size:clamp(32px, 4vw, 48px);line-height:1.08;margin:0 0 18px;color:var(--sp-blue-950);letter-spacing:-.03em}
.sp-subtitle{font-size:clamp(18px, 2vw, 21px);color:var(--sp-gray-700);max-width:820px;margin:0 0 34px}
.sp-muted{color:var(--sp-gray-700)}
.sp-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:18px;backdrop-filter:blur(8px)}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:14px 22px;font-weight:800;border:1px solid transparent;transition:.2s ease;text-decoration:none;line-height:1.2}
.sp-btn:hover{text-decoration:none;transform:translateY(-1px)}
.sp-btn-primary{background:var(--sp-amber);color:#fff;box-shadow:0 12px 26px rgba(217,119,6,.23)}
.sp-btn-primary:hover{background:var(--sp-amber-dark);color:#fff}
.sp-btn-secondary{background:#fff;color:var(--sp-blue-950);border-color:rgba(11,31,58,.18)}
.sp-btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.38)}
.sp-btn-outline:hover{background:rgba(255,255,255,.1);color:#fff}
.sp-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--sp-gray-200)}
.sp-header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-branding a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--sp-blue-950)}
.site-branding .custom-logo-link{display:block}
.sp-logo-img,.site-branding .custom-logo{width:auto;max-width:190px;max-height:66px;object-fit:contain}
.sp-logo-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--sp-blue-950),var(--sp-blue-800));display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:-.08em;box-shadow:var(--sp-shadow-soft)}
.sp-logo-text{display:flex;flex-direction:column;line-height:1.1}
.sp-logo-text strong{font-size:18px;letter-spacing:-.02em}
.sp-logo-text span{font-size:12px;color:var(--sp-gray-700);font-weight:600}
.main-navigation{display:flex;align-items:center;gap:22px}
.main-navigation ul{display:flex;list-style:none;margin:0;padding:0;gap:20px;align-items:center}
.main-navigation li{position:relative}
.main-navigation a{font-size:15px;font-weight:700;color:var(--sp-gray-900);text-decoration:none}
.main-navigation a:hover{color:var(--sp-blue-800)}
.main-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--sp-gray-200);box-shadow:var(--sp-shadow-soft);border-radius:14px;padding:12px;min-width:280px;z-index:60;gap:0;flex-direction:column;align-items:stretch}
.main-navigation li:hover>.sub-menu{display:flex}
.main-navigation .sub-menu a{display:block;padding:9px 10px;border-radius:9px;color:var(--sp-gray-900)}
.main-navigation .sub-menu a:hover{background:var(--sp-blue-100)}
.sp-header-cta{margin-left:4px}
.menu-toggle{display:none;background:var(--sp-blue-950);color:#fff;border:0;border-radius:10px;padding:10px 13px;font-weight:800}

/* Hero */
.sp-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#07172d 0%,#0B1F3A 48%,#123e6d 100%);color:#fff;padding:92px 0}
.sp-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(217,119,6,.22),transparent 30%),radial-gradient(circle at 30% 80%,rgba(20,93,160,.55),transparent 33%);pointer-events:none}
.sp-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.sp-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:.98;margin:0 0 22px;letter-spacing:-.055em;color:#fff}
.sp-hero p{font-size:clamp(18px,2vw,22px);color:rgba(255,255,255,.82);margin:0 0 30px;max-width:680px}
.sp-hero-visual{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(0,0,0,.32);background:rgba(255,255,255,.05)}
.sp-hero-visual img{width:100%;height:auto}
.sp-hero-note{display:flex;gap:12px;align-items:flex-start;margin-top:28px;color:rgba(255,255,255,.78);font-size:14px;max-width:650px}
.sp-hero-note:before{content:"";width:10px;height:10px;border-radius:999px;background:var(--sp-green);margin-top:7px;flex:0 0 auto;box-shadow:0 0 0 6px rgba(22,138,74,.18)}

/* Cards / grids */
.sp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.sp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sp-card{background:#fff;border:1px solid var(--sp-gray-200);border-radius:var(--sp-radius);padding:26px;box-shadow:var(--sp-shadow-soft);height:100%}
.sp-card h3{font-size:22px;line-height:1.18;margin:14px 0 10px;color:var(--sp-blue-950);letter-spacing:-.02em}
.sp-card p{margin:0 0 16px;color:var(--sp-gray-700)}
.sp-card a{font-weight:800}
.sp-icon{width:48px;height:48px;border-radius:14px;background:var(--sp-blue-100);display:grid;place-items:center;color:var(--sp-blue-800)}
.sp-icon svg{width:26px;height:26px}
.sp-card-featured{border-color:rgba(217,119,6,.32);background:linear-gradient(180deg,#fff,#fff8ef)}
.sp-stats{background:var(--sp-gray-100);padding:34px 0;border-top:1px solid var(--sp-gray-200);border-bottom:1px solid var(--sp-gray-200)}
.sp-stat{padding:18px;background:#fff;border:1px solid var(--sp-gray-200);border-radius:18px;box-shadow:var(--sp-shadow-soft)}
.sp-stat strong{display:block;font-size:34px;line-height:1;color:var(--sp-blue-950);letter-spacing:-.04em;margin-bottom:8px}
.sp-stat span{display:block;font-size:14px;color:var(--sp-gray-700);font-weight:700}
.sp-bg-soft{background:var(--sp-gray-100)}
.sp-bg-blue{background:var(--sp-blue-950);color:#fff}
.sp-bg-blue .sp-title,.sp-bg-blue h2,.sp-bg-blue h3{color:#fff}
.sp-bg-blue .sp-subtitle,.sp-bg-blue p{color:rgba(255,255,255,.78)}
.sp-bg-blue .sp-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.sp-bg-blue .sp-card p{color:rgba(255,255,255,.74)}
.sp-bg-blue .sp-card a{color:#fff}

.sp-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:step}
.sp-step{background:#fff;border:1px solid var(--sp-gray-200);border-radius:18px;padding:22px;position:relative;box-shadow:var(--sp-shadow-soft);counter-increment:step}
.sp-step:before{content:counter(step);display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sp-blue-950);color:#fff;font-weight:900;margin-bottom:16px}
.sp-step h3{margin:0 0 8px;font-size:18px;color:var(--sp-blue-950)}
.sp-step p{margin:0;color:var(--sp-gray-700);font-size:15px}

.sp-iso-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sp-pill{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--sp-gray-200);font-weight:800;color:var(--sp-blue-950);font-size:14px}

.sp-cta{background:linear-gradient(135deg,var(--sp-blue-950),var(--sp-blue-800));color:#fff;border-radius:28px;padding:48px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--sp-shadow)}
.sp-cta h2{margin:0 0 10px;color:#fff;font-size:clamp(30px,3.4vw,44px);line-height:1.08;letter-spacing:-.03em}
.sp-cta p{margin:0;color:rgba(255,255,255,.78);max-width:760px}

/* Forms */
.wpcf7-form input,.wpcf7-form select,.wpcf7-form textarea,
.sp-form input,.sp-form select,.sp-form textarea{width:100%;border:1px solid var(--sp-gray-200);border-radius:10px;padding:13px 14px;font:inherit;background:#fff;color:var(--sp-gray-900)}
.wpcf7-form label,.sp-form label{font-weight:800;color:var(--sp-blue-950);font-size:14px;display:block;margin:0 0 6px}
.wpcf7-form p,.sp-form p{margin:0 0 16px}
.wpcf7-submit,.sp-form button{background:var(--sp-amber);color:#fff;border:0;border-radius:10px;padding:14px 22px;font-weight:900;cursor:pointer}

/* Footer */
.site-footer{background:#07172d;color:rgba(255,255,255,.76);padding:58px 0 24px}
.sp-footer-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr .9fr;gap:36px;margin-bottom:34px}
.site-footer h3{color:#fff;margin:0 0 14px;font-size:17px}
.site-footer p{margin:0;color:rgba(255,255,255,.72)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:rgba(255,255,255,.78);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.sp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:14px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Page layout */
.sp-page-hero{background:linear-gradient(135deg,var(--sp-blue-950),#123e6d);color:#fff;padding:76px 0}
.sp-page-hero h1{font-size:clamp(36px,4.8vw,58px);line-height:1.02;margin:0 0 18px;letter-spacing:-.045em;color:#fff;max-width:960px}
.sp-page-hero p{font-size:clamp(18px,2vw,22px);color:rgba(255,255,255,.82);max-width:860px;margin:0}
.sp-content{max-width:860px;margin:0 auto}
.sp-content h2{font-size:34px;line-height:1.15;color:var(--sp-blue-950);margin:38px 0 14px;letter-spacing:-.025em}
.sp-content h3{font-size:24px;line-height:1.2;color:var(--sp-blue-950);margin:28px 0 10px}
.sp-content p{color:var(--sp-gray-700);margin:0 0 18px}
.sp-content ul{color:var(--sp-gray-700)}

@media (max-width: 1024px){
  .sp-hero-grid,.sp-grid-2{grid-template-columns:1fr}
  .sp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-cta{grid-template-columns:1fr}
  .sp-footer-grid{grid-template-columns:1fr 1fr}
  .main-navigation ul{display:none;position:absolute;left:20px;right:20px;top:92px;background:#fff;border:1px solid var(--sp-gray-200);border-radius:16px;padding:16px;box-shadow:var(--sp-shadow);flex-direction:column;align-items:stretch;gap:10px}
  .main-navigation.toggled ul{display:flex}
  .main-navigation .sub-menu{position:static;display:flex;box-shadow:none;border:0;padding:4px 0 0 12px;min-width:0}
  .menu-toggle{display:inline-flex}
  .sp-header-cta{display:none}
}
@media (max-width: 640px){
  body{font-size:16px}
  .sp-container{width:min(100% - 28px, var(--sp-max))}
  .sp-section{padding:64px 0}
  .sp-hero{padding:62px 0}
  .sp-grid-3,.sp-grid-4,.sp-process{grid-template-columns:1fr}
  .sp-card,.sp-cta{padding:22px;border-radius:18px}
  .sp-header-inner{height:70px}
  .main-navigation ul{top:70px}
  .sp-logo-text span{display:none}
  .sp-logo-img,.site-branding .custom-logo{max-width:150px;max-height:52px}
  .sp-footer-grid{grid-template-columns:1fr}
  .sp-footer-bottom{display:block}
}

/* v1.2: Logotipo oficial cargado exactamente desde el archivo entregado por Supply Plus */
.sp-logo-img{
  display:block;
  width:auto;
  max-width:220px;
  max-height:92px;
  object-fit:contain;
}
@media (max-width: 768px){
  .sp-logo-img{max-width:170px;max-height:72px;}
}


/* v1.3 launch-ready refinements */
.sp-mini-list{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.sp-mini-list li{position:relative;padding-left:28px;color:var(--sp-gray-700)}
.sp-mini-list li:before{content:"";position:absolute;left:0;top:.65em;width:10px;height:10px;border-radius:999px;background:var(--sp-green);box-shadow:0 0 0 5px rgba(22,138,74,.12)}
.sp-alert{background:#fff8ef;border:1px solid rgba(217,119,6,.28);border-radius:16px;padding:18px;color:var(--sp-blue-950)}
.sp-badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.sp-badge{display:inline-flex;align-items:center;border:1px solid var(--sp-gray-200);background:#fff;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800;color:var(--sp-blue-950)}
