/**
 * Plugark Theme — Main Stylesheet v2.0.0
 * Design system completo: variables, base, layout, componentes, secciones, responsive.
 *
 * @package Plugark
 */

/* ==========================================================================
   1. CSS Custom Properties
   ========================================================================== */

:root {
    /* Colores principales */
    --pk-primary-dark:  #0D1B2A;
    --pk-primary:       #1B4F72;
    --pk-primary-light: #2E75B6;
    --pk-primary-pale:  #D6EAF8;

    /* Accent / CTA — #E67E22 per brand guide (igual que plugark-ui.css) */
    --pk-accent:        #E67E22;
    --pk-accent-hover:  #CA6F1E;
    --pk-accent-light:  #FDEBD0;

    /* Glassmorphism Tokens */
    --pk-glass-bg:      rgba(255, 255, 255, 0.7);
    --pk-glass-border:  rgba(255, 255, 255, 0.4);
    --pk-glass-blur:    12px;
    --pk-glass-shadow:  0 8px 32px 0 rgba(31, 38, 135, 0.15);

    /* Estado */
    --pk-success:       #27AE60;
    --pk-danger:        #E74C3C;
    --pk-warning:       #F39C12;

    /* Neutros */
    --pk-bg-light:      #F8F9FA;
    --pk-bg-white:      #FFFFFF;
    --pk-text-primary:  #212529;
    --pk-text-secondary:#495057;
    --pk-text-muted:    #6C757D;
    --pk-border:        #DEE2E6;

    /* Tipografía */
    --pk-font:          'Inter', system-ui, -apple-system, sans-serif;
    --pk-font-mono:     'JetBrains Mono', Consolas, monospace;
    --pk-line-height:   1.6;

    /* Espaciado */
    --pk-xs:      0.25rem;
    --pk-sm:      0.5rem;
    --pk-md:      1rem;
    --pk-lg:      1.5rem;
    --pk-xl:      2rem;
    --pk-2xl:     3rem;
    --pk-3xl:     4rem;
    --pk-section: 5rem;

    /* Sombras */
    --pk-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
    --pk-shadow-md: 0 4px 12px rgba(0,0,0,0.10);
    --pk-shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --pk-shadow-xl: 0 16px 48px rgba(0,0,0,0.15);

    /* Radios */
    --pk-radius-sm:   4px;
    --pk-radius-md:   8px;
    --pk-radius-lg:   12px;
    --pk-radius-xl:   16px;
    --pk-radius-full: 9999px;

    /* Transiciones */
    --pk-transition:      all 0.3s ease;
    --pk-transition-fast: all 0.15s ease;

    /* Layout */
    --pk-container: 1200px;
    --pk-gutter:    1.5rem;

    /* Z-index */
    --pk-z-dropdown: 100;
    --pk-z-sticky:   200;
    --pk-z-modal:    300;

    /* Gradients */
    --pk-gradient-primary: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    --pk-gradient-accent:  linear-gradient(135deg, var(--pk-accent) 0%, var(--pk-accent-hover) 100%);
    --pk-gradient-glass:   linear-gradient(135deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.1) 100%);

    /* Aliases --plugark-* para landing-rsm.css y otros archivos externos */
    --plugark-primary:        var(--pk-primary);
    --plugark-primary-hover:  var(--pk-primary-light);
    --plugark-primary-light:  var(--pk-primary-pale);
    --plugark-accent:         var(--pk-accent);
    --plugark-accent-hover:   var(--pk-accent-hover);
    --plugark-white:          #FFFFFF;
    --plugark-gray-50:        var(--pk-bg-light);
    --plugark-gray-100:       #F1F3F5;
    --plugark-gray-200:       var(--pk-border);
    --plugark-gray-300:       #CED4DA;
    --plugark-gray-500:       #ADB5BD;
    --plugark-gray-600:       var(--pk-text-muted);
    --plugark-gray-700:       var(--pk-text-secondary);
    --plugark-gray-800:       #343A40;
    --plugark-gray-900:       var(--pk-text-primary);
    --plugark-container-max:  var(--pk-container);
    --plugark-container-padding: var(--pk-gutter);
    --plugark-font-family:    var(--pk-font);
    --plugark-radius-sm:      var(--pk-radius-sm);
    --plugark-radius-md:      var(--pk-radius-md);
    --plugark-radius-lg:      var(--pk-radius-lg);
    --plugark-radius-xl:      var(--pk-radius-xl);
    --plugark-radius-full:    var(--pk-radius-full);
    --plugark-shadow-md:      var(--pk-shadow-md);
    --plugark-shadow-lg:      var(--pk-shadow-lg);
    --plugark-shadow-xl:      var(--pk-shadow-xl);
    --plugark-transition-base:var(--pk-transition);
    --plugark-transition-fast:var(--pk-transition-fast);
    --plugark-transition-slow:all 0.5s ease;
    --plugark-space-sm:       var(--pk-sm);
    --plugark-space-md:       var(--pk-md);
    --plugark-space-lg:       var(--pk-lg);
    --plugark-footer-bg:      var(--pk-primary-dark);
    --plugark-footer-text:    rgba(255,255,255,0.7);
}

/* ==========================================================================
   2. Reset y Base
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--pk-font);
    font-size: 1rem;
    line-height: var(--pk-line-height);
    color: var(--pk-text-primary);
    background: var(--pk-bg-white);
    -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--pk-primary-light); text-decoration: none; transition: var(--pk-transition-fast); }
a:hover { color: var(--pk-primary); }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
ul, ol { list-style: none; }

.skip-link {
    position: absolute; top: -40px; left: 0;
    background: var(--pk-accent); color: #fff;
    padding: 8px 16px; z-index: 9999;
    border-radius: 0 0 var(--pk-radius-md) 0;
    transition: top 0.2s;
}
.skip-link:focus { top: 0; }
*:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }

/* Inter se carga localmente via inc/enqueue.php — no importar desde Google */

/* ==========================================================================
   3. Tipografía
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--pk-font);
    font-weight: 700;
    line-height: 1.25;
    color: var(--pk-primary);
}
h1 { font-size: clamp(1.875rem, 4vw, 3rem); }
h2 { font-size: clamp(1.375rem, 2.5vw, 1.75rem); }
h3 { font-size: clamp(1.0625rem, 2vw, 1.375rem); font-weight: 600; }
h4 { font-size: 1.0625rem; font-weight: 600; }
h5 { font-size: 1rem; font-weight: 600; }

p { margin-bottom: var(--pk-md); color: var(--pk-text-secondary); }
p:last-child { margin-bottom: 0; }

.pk-lead   { font-size: 1.125rem; color: var(--pk-text-secondary); line-height: 1.7; }
.pk-small  { font-size: 0.875rem; color: var(--pk-text-muted); }
.pk-caption { font-size: 0.75rem; color: var(--pk-text-muted); }

.pk-text-white   { color: #fff !important; }
.pk-text-muted   { color: var(--pk-text-muted) !important; }
.pk-text-primary { color: var(--pk-primary) !important; }
.pk-text-accent  { color: var(--pk-accent) !important; }
.pk-text-success { color: var(--pk-success) !important; }

.pk-on-dark h1,
.pk-on-dark h2,
.pk-on-dark h3,
.pk-on-dark h4 { color: #fff; }
.pk-on-dark p  { color: rgba(255,255,255,0.82); }

/* ==========================================================================
   4. Layout
   ========================================================================== */

.pk-container {
    max-width: var(--pk-container);
    margin-inline: auto;
    padding-inline: var(--pk-gutter);
}

.pk-section    { padding-block: var(--pk-section); }
.pk-section--sm { padding-block: var(--pk-2xl); }
.pk-section--lg { padding-block: calc(var(--pk-section) * 1.4); }

/* Wrapper de encabezado de sección */
.pk-section-header { text-align: center; margin-bottom: var(--pk-2xl); }
.pk-section-title {
    font-size: clamp(1.375rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--pk-primary-dark);
    margin-bottom: var(--pk-sm);
}
.pk-section-subtitle { max-width: 580px; margin-inline: auto; color: var(--pk-text-muted); font-size: 1rem; }

.pk-grid   { display: grid; gap: var(--pk-lg); }
.pk-grid--2 { grid-template-columns: repeat(2, 1fr); }
.pk-grid--3 { grid-template-columns: repeat(3, 1fr); }
.pk-grid--4 { grid-template-columns: repeat(4, 1fr); }

.pk-flex         { display: flex; gap: var(--pk-md); }
.pk-flex-center  { display: flex; align-items: center; justify-content: center; }
.pk-flex-between { display: flex; align-items: center; justify-content: space-between; }
.pk-flex-wrap    { flex-wrap: wrap; }

/* ==========================================================================
   5. Botones
   ========================================================================== */

.pk-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1;
    border-radius: var(--pk-radius-md);
    transition: var(--pk-transition-fast);
    text-decoration: none;
    white-space: nowrap;
    border: 2px solid transparent;
    font-family: inherit;
}

.pk-btn--primary {
    background: linear-gradient(135deg, var(--pk-accent) 0%, var(--pk-accent-hover) 100%);
    color: #fff;
}
.pk-btn--primary:hover {
    background: linear-gradient(135deg, var(--pk-accent-hover) 0%, #B34600 100%);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(230,126,34,0.45);
}

.pk-btn--secondary {
    background: var(--pk-primary);
    color: #fff;
    border-color: var(--pk-primary);
}
.pk-btn--secondary:hover {
    background: var(--pk-primary-dark);
    border-color: var(--pk-primary-dark);
    color: #fff;
    transform: translateY(-1px);
}

.pk-btn--outline {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.55);
}
.pk-btn--outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    color: #fff;
}

.pk-btn--outline-dark {
    background: transparent;
    color: var(--pk-primary);
    border-color: var(--pk-primary);
}
.pk-btn--outline-dark:hover {
    background: var(--pk-primary);
    color: #fff;
}

.pk-btn--ghost {
    background: transparent;
    color: var(--pk-primary-light);
    border-color: transparent;
}
.pk-btn--ghost:hover { background: var(--pk-primary-pale); color: var(--pk-primary); }

.pk-btn--sm  { padding: 0.5rem 1rem; font-size: 0.875rem; }
.pk-btn--lg  { padding: 1rem 2rem; font-size: 1rem; }
.pk-btn--xl  { padding: 1.125rem 2.25rem; font-size: 1.0625rem; }
.pk-btn--full { width: 100%; justify-content: center; }

/* ==========================================================================
   6. Badges
   ========================================================================== */

.pk-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: var(--pk-radius-full);
    line-height: 1;
}
.pk-badge--free     { background: var(--pk-success); color: #fff; }
.pk-badge--pro      { background: var(--pk-accent); color: #fff; }
.pk-badge--popular  { background: var(--pk-accent); color: #fff; }
.pk-badge--new      { background: var(--pk-primary-light); color: #fff; }
.pk-badge--light    { background: var(--pk-primary-pale); color: var(--pk-primary); }
.pk-badge--neutral  { background: var(--pk-bg-light); color: var(--pk-text-secondary); border: 1px solid var(--pk-border); }
.pk-badge--dark     { background: var(--pk-primary-dark); color: #fff; }

/* ==========================================================================
   7. Cards
   ========================================================================== */

.pk-card {
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    overflow: hidden;
    transition: var(--pk-transition);
}
.pk-card:hover { box-shadow: var(--pk-shadow-lg); transform: translateY(-3px); border-color: var(--pk-primary-pale); }
.pk-card--glass {
    background: var(--pk-glass-bg);
    backdrop-filter: blur(var(--pk-glass-blur));
    -webkit-backdrop-filter: blur(var(--pk-glass-blur));
    border: 1px solid var(--pk-glass-border);
    box-shadow: var(--pk-glass-shadow);
}
.pk-card--glass:hover {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(255, 255, 255, 0.6);
}
.pk-card__body   { padding: var(--pk-lg); }
.pk-card__header { padding: var(--pk-lg); border-bottom: 1px solid var(--pk-border); }
.pk-card__footer { padding: var(--pk-md) var(--pk-lg); border-top: 1px solid var(--pk-border); background: var(--pk-bg-light); }

/* Plugin card */
.pk-plugin-card {
    display: flex;
    flex-direction: column;
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-lg);
    transition: var(--pk-transition);
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.pk-plugin-card:hover { box-shadow: var(--pk-shadow-lg); transform: translateY(-4px); border-color: var(--pk-primary-pale); color: inherit; }
.pk-plugin-card__icon {
    width: 52px; height: 52px;
    background: var(--pk-primary-pale);
    border-radius: var(--pk-radius-md);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: var(--pk-md);
    color: var(--pk-primary);
    flex-shrink: 0;
}
.pk-plugin-card__icon svg { width: 26px; height: 26px; }
.pk-plugin-card__meta   { display: flex; align-items: center; gap: var(--pk-sm); margin-bottom: var(--pk-sm); }
.pk-plugin-card__title  { font-size: 1.0625rem; font-weight: 700; color: var(--pk-primary); margin-bottom: var(--pk-xs); }
.pk-plugin-card__desc   { font-size: 0.875rem; color: var(--pk-text-muted); line-height: 1.55; flex: 1; }
.pk-plugin-card__footer {
    margin-top: var(--pk-md); padding-top: var(--pk-md);
    border-top: 1px solid var(--pk-border);
    display: flex; align-items: center; justify-content: space-between;
}
.pk-plugin-card__price { font-size: 0.875rem; font-weight: 600; color: var(--pk-primary); }

/* Feature card */
.pk-feature-card { text-align: center; padding: var(--pk-xl) var(--pk-lg); }
.pk-feature-card__icon {
    width: 56px; height: 56px;
    background: var(--pk-primary-pale);
    border-radius: var(--pk-radius-lg);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto var(--pk-md);
    color: var(--pk-primary);
}
.pk-feature-card__icon svg { width: 28px; height: 28px; }
.pk-feature-card__title { font-size: 1rem; font-weight: 700; color: var(--pk-primary); margin-bottom: var(--pk-sm); }
.pk-feature-card__desc  { font-size: 0.875rem; color: var(--pk-text-muted); line-height: 1.55; }

/* Testimonial card */
.pk-testimonial-card {
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-xl) var(--pk-lg);
    box-shadow: var(--pk-shadow-sm);
}
.pk-testimonial-card__quote {
    font-size: 1rem; font-style: italic;
    color: var(--pk-text-primary); line-height: 1.7;
    margin-bottom: var(--pk-lg);
    position: relative; padding-left: var(--pk-lg);
}
.pk-testimonial-card__quote::before {
    content: '"';
    position: absolute; left: 0; top: -6px;
    font-size: 3rem; color: var(--pk-primary-pale); font-style: normal; line-height: 1;
}
.pk-testimonial-card__author { display: flex; align-items: center; gap: var(--pk-md); }
.pk-testimonial-card__avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--pk-primary-pale); object-fit: cover; }
.pk-testimonial-card__name   { font-weight: 700; font-size: 0.9375rem; color: var(--pk-primary); }
.pk-testimonial-card__role   { font-size: 0.8125rem; color: var(--pk-text-muted); }

/* Blog card */
.pk-blog-card {
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    overflow: hidden;
    transition: var(--pk-transition);
    display: flex; flex-direction: column;
}
.pk-blog-card:hover { box-shadow: var(--pk-shadow-md); transform: translateY(-2px); }
.pk-blog-card__img { aspect-ratio: 16/9; overflow: hidden; background: var(--pk-bg-light); }
.pk-blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.pk-blog-card:hover .pk-blog-card__img img { transform: scale(1.04); }
.pk-blog-card__body  { padding: var(--pk-lg); flex: 1; display: flex; flex-direction: column; }
.pk-blog-card__meta  { font-size: 0.75rem; color: var(--pk-text-muted); margin-bottom: var(--pk-sm); }
.pk-blog-card__title { font-size: 1rem; font-weight: 700; color: var(--pk-primary); margin-bottom: var(--pk-sm); line-height: 1.4; }
.pk-blog-card__excerpt { font-size: 0.875rem; color: var(--pk-text-muted); flex: 1; }

/* ==========================================================================
   8. Forms
   ========================================================================== */

.pk-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    font-size: 0.9375rem;
    font-family: inherit;
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-md);
    background: var(--pk-bg-white);
    color: var(--pk-text-primary);
    transition: var(--pk-transition-fast);
    line-height: 1.5;
}
.pk-input:focus { outline: none; border-color: var(--pk-primary-light); box-shadow: 0 0 0 3px rgba(46,117,182,0.15); }
.pk-input::placeholder { color: var(--pk-text-muted); }
.pk-label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--pk-text-primary); margin-bottom: var(--pk-xs); }
.pk-field { margin-bottom: var(--pk-md); }

/* ==========================================================================
   9. Header
   ========================================================================== */

.pk-header {
    position: sticky; top: 0; z-index: var(--pk-z-sticky);
    background: var(--pk-primary-dark);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    height: 64px; display: flex; align-items: center;
}
.pk-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--pk-lg); height: 100%;
}
.pk-header__logo img { height: 34px; width: auto; }
.pk-header__logo:hover { opacity: 0.88; }

/* Nav */
.pk-nav { display: flex; align-items: center; gap: var(--pk-xs); height: 100%; }
.pk-nav__item { position: relative; height: 100%; display: flex; align-items: center; }
.pk-nav__link {
    display: flex; align-items: center; gap: 0.25rem;
    padding: 0 0.625rem; height: 100%;
    color: rgba(255,255,255,0.82);
    font-size: 0.875rem; font-weight: 500;
    transition: var(--pk-transition-fast);
    white-space: nowrap;
}
.pk-nav__link:hover,
.pk-nav__link.active { color: #fff; }
.pk-nav__link svg { width: 13px; height: 13px; transition: transform 0.2s ease; }
.pk-nav__item:hover .pk-nav__link svg { transform: rotate(180deg); }

/* Mega-menú */
.pk-mega-menu {
    display: none;
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-top: 3px solid var(--pk-primary-light);
    border-radius: 0 0 var(--pk-radius-lg) var(--pk-radius-lg);
    box-shadow: var(--pk-shadow-xl);
    padding: var(--pk-lg); min-width: 620px;
    z-index: var(--pk-z-dropdown);
}
.pk-nav__item:hover .pk-mega-menu { display: block; }
.pk-mega-menu__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pk-md); }
.pk-mega-menu__col-title {
    font-size: 0.6875rem; font-weight: 700; color: var(--pk-text-muted);
    text-transform: uppercase; letter-spacing: 0.06em;
    margin-bottom: var(--pk-sm); padding-bottom: var(--pk-sm);
    border-bottom: 1px solid var(--pk-border);
}
.pk-mega-menu__link {
    display: flex; align-items: center; gap: var(--pk-sm);
    padding: 0.375rem var(--pk-sm); border-radius: var(--pk-radius-sm);
    color: var(--pk-text-primary); font-size: 0.875rem;
    transition: var(--pk-transition-fast);
}
.pk-mega-menu__link:hover { background: var(--pk-primary-pale); color: var(--pk-primary); }
.pk-mega-menu__link svg  { width: 15px; height: 15px; color: var(--pk-primary-light); flex-shrink: 0; }
.pk-mega-menu__link span { font-weight: 500; }
.pk-mega-menu__footer {
    margin-top: var(--pk-md); padding-top: var(--pk-md);
    border-top: 1px solid var(--pk-border); text-align: center;
}

/* Dropdown simple */
.pk-dropdown {
    display: none;
    position: absolute; top: 100%; left: 0;
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-top: 3px solid var(--pk-primary-light);
    border-radius: 0 0 var(--pk-radius-md) var(--pk-radius-md);
    box-shadow: var(--pk-shadow-lg);
    min-width: 210px; padding: var(--pk-sm) 0;
    z-index: var(--pk-z-dropdown);
}
.pk-nav__item:hover .pk-dropdown { display: block; }
.pk-dropdown a { display: block; padding: 0.5rem var(--pk-md); color: var(--pk-text-primary); font-size: 0.875rem; }
.pk-dropdown a:hover { background: var(--pk-primary-pale); color: var(--pk-primary); }

.pk-header__actions { display: flex; align-items: center; gap: var(--pk-sm); }

/* Hamburger */
.pk-hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.pk-hamburger span { display: block; width: 22px; height: 2px; background: #fff; border-radius: 2px; transition: var(--pk-transition-fast); }
.pk-hamburger.is-open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.pk-hamburger.is-open span:nth-child(2) { opacity: 0; }
.pk-hamburger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* Mobile nav */
.pk-mobile-nav {
    display: none;
    position: fixed; top: 64px; left: 0; right: 0; bottom: 0;
    background: var(--pk-primary-dark);
    overflow-y: auto; z-index: var(--pk-z-sticky);
    padding: var(--pk-lg);
}
.pk-mobile-nav.is-open { display: block; }
.pk-mobile-nav a { display: block; padding: 0.75rem 0; color: rgba(255,255,255,0.82); font-size: 1rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
.pk-mobile-nav a:hover { color: #fff; }
.pk-mobile-nav__section-title { font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.35); margin: var(--pk-lg) 0 var(--pk-sm); }

/* ==========================================================================
   10. Footer
   ========================================================================== */

.pk-footer { background: var(--pk-primary-dark); color: rgba(255,255,255,0.65); padding-top: var(--pk-3xl); }
.pk-footer__grid {
    display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: var(--pk-2xl); padding-bottom: var(--pk-2xl);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.pk-footer__brand-logo { height: 30px; width: auto; margin-bottom: var(--pk-md); }
.pk-footer__brand-desc { font-size: 0.875rem; line-height: 1.65; margin-bottom: var(--pk-lg); color: rgba(255,255,255,0.55); }
.pk-footer__social { display: flex; gap: var(--pk-sm); }
.pk-footer__social a {
    width: 36px; height: 36px;
    background: rgba(255,255,255,0.08); border-radius: var(--pk-radius-md);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.65); transition: var(--pk-transition-fast);
}
.pk-footer__social a:hover { background: rgba(255,255,255,0.16); color: #fff; }
.pk-footer__social svg { width: 16px; height: 16px; }
.pk-footer__col-title { font-size: 0.75rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: var(--pk-md); }
.pk-footer__col ul li { margin-bottom: 0.5rem; }
.pk-footer__col ul li a { font-size: 0.875rem; color: rgba(255,255,255,0.55); transition: var(--pk-transition-fast); }
.pk-footer__col ul li a:hover { color: #fff; }
.pk-footer__bottom {
    padding: var(--pk-lg) 0;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 0.8125rem; color: rgba(255,255,255,0.35);
    flex-wrap: wrap; gap: var(--pk-sm);
}
.pk-footer__bottom a { color: rgba(255,255,255,0.45); }
.pk-footer__bottom a:hover { color: rgba(255,255,255,0.75); }

/* ==========================================================================
   11. Hero Section
   ========================================================================== */

.pk-hero {
    background: linear-gradient(135deg, var(--pk-primary-dark) 0%, #1B3A5C 100%);
    padding-block: var(--pk-section); overflow: hidden; position: relative;
}
.pk-hero::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 70% 50%, rgba(46,117,182,0.15) 0%, transparent 60%);
    pointer-events: none;
}
.pk-hero__inner {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: var(--pk-3xl); align-items: center; position: relative;
}
.pk-hero__badge    { margin-bottom: var(--pk-md); }
.pk-hero__title    { font-size: clamp(1.875rem, 4.5vw, 3rem); font-weight: 700; color: #fff; line-height: 1.15; margin-bottom: var(--pk-md); }
.pk-hero__title span { color: var(--pk-accent); }
.pk-hero__desc     { font-size: 1.0625rem; color: rgba(255,255,255,0.78); margin-bottom: var(--pk-xl); line-height: 1.7; max-width: 500px; }
.pk-hero__actions  { display: flex; gap: var(--pk-md); flex-wrap: wrap; margin-bottom: var(--pk-xl); }
.pk-hero__rating   { display: flex; align-items: center; gap: var(--pk-sm); font-size: 0.875rem; color: rgba(255,255,255,0.65); }
.pk-hero__stars    { color: #F5C518; letter-spacing: 2px; }
.pk-hero__visual   { display: flex; justify-content: center; align-items: center; }
.pk-hero__screenshot { border-radius: var(--pk-radius-xl); box-shadow: var(--pk-shadow-xl), 0 0 0 1px rgba(255,255,255,0.08); max-width: 100%; }

.pk-hero--centered { text-align: center; }
.pk-hero--centered .pk-hero__inner { grid-template-columns: 1fr; justify-items: center; }
.pk-hero--centered .pk-hero__desc  { margin-inline: auto; }
.pk-hero--centered .pk-hero__actions { justify-content: center; }
.pk-hero--centered .pk-hero__rating  { justify-content: center; }

/* ==========================================================================
   12. Social Proof Bar
   ========================================================================== */

.pk-social-proof { background: var(--pk-primary-pale); padding-block: var(--pk-md); }
.pk-social-proof__inner {
    display: flex; align-items: center; justify-content: center;
    gap: var(--pk-2xl); flex-wrap: wrap;
}
.pk-social-proof__item {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.875rem; font-weight: 600; color: var(--pk-primary);
}
.pk-social-proof__item svg { width: 17px; height: 17px; color: var(--pk-primary-light); }

/* ==========================================================================
   13. Features Grid
   ========================================================================== */

.pk-features__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pk-lg);
}

/* ==========================================================================
   14. Comparativa Free vs Pro
   ========================================================================== */

.pk-pricing-table {
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    overflow: hidden;
    background: var(--pk-bg-white);
    box-shadow: var(--pk-shadow-md);
}
.pk-pricing-table__header {
    display: grid; grid-template-columns: 2fr 1fr 1fr;
    background: var(--pk-bg-light); border-bottom: 2px solid var(--pk-border);
}
.pk-pricing-table__col-head {
    padding: var(--pk-lg); text-align: center;
    border-left: 1px solid var(--pk-border);
}
.pk-pricing-table__col-head:first-child { border-left: none; text-align: left; }
.pk-pricing-table__col-head.highlighted { background: var(--pk-primary); }
.pk-pricing-table__col-head.highlighted * { color: #fff !important; }

.pk-pricing-table__plan { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--pk-text-muted); margin-bottom: var(--pk-xs); }
.pk-pricing-table__price { font-size: 1.625rem; font-weight: 700; color: var(--pk-primary); line-height: 1; }
.pk-pricing-table__price sup { font-size: 0.875rem; vertical-align: super; }
.pk-pricing-table__price small { font-size: 0.8125rem; font-weight: 400; color: var(--pk-text-muted); }

.pk-pricing-table__row {
    display: grid; grid-template-columns: 2fr 1fr 1fr;
    border-top: 1px solid var(--pk-border);
}
.pk-pricing-table__row:hover { background: #fafbff; }
.pk-pricing-table__cell {
    padding: 0.8125rem var(--pk-lg); font-size: 0.875rem;
    display: flex; align-items: center;
    border-left: 1px solid var(--pk-border); justify-content: center;
}
.pk-pricing-table__cell:first-child { border-left: none; justify-content: flex-start; color: var(--pk-text-primary); }
.pk-pricing-table__cell.highlighted { background: rgba(27,79,114,0.03); }

.pk-pricing-table__check { color: var(--pk-success); font-size: 1.125rem; font-weight: 700; }
.pk-pricing-table__cross { color: var(--pk-danger); font-size: 1.125rem; }

.pk-pricing-table__cta {
    display: grid; grid-template-columns: 2fr 1fr 1fr;
    border-top: 2px solid var(--pk-border); background: var(--pk-bg-light); padding: var(--pk-lg); gap: var(--pk-md);
}
.pk-pricing-table__cta-cell { display: flex; align-items: center; justify-content: center; border-left: none; }
.pk-pricing-table__cta-cell:first-child { justify-content: flex-start; }

/* ==========================================================================
   15. Screenshot Slider
   ========================================================================== */

.pk-screenshots__slider { position: relative; border-radius: var(--pk-radius-xl); overflow: hidden; box-shadow: var(--pk-shadow-xl); }
.pk-screenshots__track  { display: flex; transition: transform 0.4s ease; }
.pk-screenshots__slide  { min-width: 100%; }
.pk-screenshots__slide img { width: 100%; height: auto; }
.pk-screenshots__caption { text-align: center; padding: var(--pk-md); font-size: 0.875rem; color: var(--pk-text-muted); background: var(--pk-bg-white); }
.pk-screenshots__nav { display: flex; align-items: center; justify-content: center; gap: var(--pk-md); margin-top: var(--pk-lg); }
.pk-screenshots__btn {
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--pk-bg-white); border: 1px solid var(--pk-border);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: var(--pk-transition-fast); color: var(--pk-primary);
}
.pk-screenshots__btn:hover { background: var(--pk-primary); color: #fff; border-color: var(--pk-primary); }
.pk-screenshots__dots { display: flex; gap: 6px; }
.pk-screenshots__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pk-border); cursor: pointer; transition: var(--pk-transition-fast); }
.pk-screenshots__dot.active { background: var(--pk-primary); width: 24px; border-radius: 4px; }

/* ==========================================================================
   16. FAQ Accordion
   ========================================================================== */

.pk-faq { max-width: 780px; margin-inline: auto; }
.pk-faq__item {
    border: 1px solid var(--pk-border); border-radius: var(--pk-radius-md);
    margin-bottom: var(--pk-sm); overflow: hidden; transition: var(--pk-transition-fast);
}
.pk-faq__item.is-open { border-color: var(--pk-primary-light); }
.pk-faq__question {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: var(--pk-md) var(--pk-lg); background: var(--pk-bg-white);
    text-align: left; font-size: 0.9375rem; font-weight: 600; color: var(--pk-text-primary);
    cursor: pointer; gap: var(--pk-md); border: none; font-family: inherit;
}
.pk-faq__question:hover { color: var(--pk-primary); background: var(--pk-bg-light); }
.pk-faq__item.is-open .pk-faq__question { color: var(--pk-primary); background: var(--pk-primary-pale); }
.pk-faq__icon { width: 20px; height: 20px; flex-shrink: 0; transition: transform 0.25s ease; color: var(--pk-primary-light); }
.pk-faq__item.is-open .pk-faq__icon { transform: rotate(180deg); }
.pk-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.pk-faq__item.is-open .pk-faq__answer { max-height: 500px; }
.pk-faq__answer-inner {
    padding: var(--pk-md) var(--pk-lg) var(--pk-lg);
    font-size: 0.9rem; color: var(--pk-text-secondary); line-height: 1.7;
    border-top: 1px solid var(--pk-border);
}

/* ==========================================================================
   17. CTA Final
   ========================================================================== */

.pk-cta {
    background: linear-gradient(135deg, var(--pk-primary-dark) 0%, #1B3A5C 100%);
    padding-block: var(--pk-section); text-align: center; position: relative; overflow: hidden;
}
.pk-cta::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(46,117,182,0.2) 0%, transparent 60%);
    pointer-events: none;
}
.pk-cta__inner  { position: relative; max-width: 580px; margin-inline: auto; }
.pk-cta h2      { color: #fff; margin-bottom: var(--pk-md); }
.pk-cta p       { color: rgba(255,255,255,0.72); margin-bottom: var(--pk-xl); }
.pk-cta__actions { display: flex; gap: var(--pk-md); justify-content: center; flex-wrap: wrap; }
.pk-cta__note   { font-size: 0.8125rem; color: rgba(255,255,255,0.45); margin-top: var(--pk-md); }

/* ==========================================================================
   18. Integraciones
   ========================================================================== */

.pk-integrations__grid { display: flex; align-items: center; justify-content: center; gap: var(--pk-md); flex-wrap: wrap; }
.pk-integration-item {
    display: flex; align-items: center; gap: var(--pk-sm);
    padding: 0.625rem var(--pk-md);
    background: var(--pk-bg-white); border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-md); font-size: 0.875rem; font-weight: 600;
    color: var(--pk-primary); text-decoration: none; transition: var(--pk-transition-fast);
}
.pk-integration-item:hover { border-color: var(--pk-primary-light); color: var(--pk-primary); box-shadow: var(--pk-shadow-sm); }
.pk-integration-item svg { width: 18px; height: 18px; }

/* ==========================================================================
   19. Catálogo (archive)
   ========================================================================== */

.pk-catalog { background: var(--pk-bg-light); min-height: 60vh; }
.pk-catalog__header { display: flex; align-items: center; justify-content: space-between; gap: var(--pk-md); margin-bottom: var(--pk-xl); flex-wrap: wrap; }
.pk-catalog__filters { display: flex; align-items: center; gap: var(--pk-sm); flex-wrap: wrap; }
.pk-filter-btn {
    padding: 0.4375rem 0.875rem; font-size: 0.8125rem; font-weight: 500;
    border-radius: var(--pk-radius-full); border: 1px solid var(--pk-border);
    background: var(--pk-bg-white); color: var(--pk-text-secondary);
    cursor: pointer; transition: var(--pk-transition-fast); font-family: inherit;
}
.pk-filter-btn:hover,
.pk-filter-btn.active { background: var(--pk-primary); border-color: var(--pk-primary); color: #fff; }
.pk-catalog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pk-lg); }
.pk-catalog__search { position: relative; width: 280px; }
.pk-catalog__search input { padding-left: 2.25rem; }
.pk-catalog__search svg { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: var(--pk-text-muted); pointer-events: none; }

/* ==========================================================================
   20. Breadcrumbs
   ========================================================================== */

.pk-breadcrumbs { font-size: 0.8125rem; color: var(--pk-text-muted); padding-block: 0.875rem; }
.pk-breadcrumbs a { color: var(--pk-text-muted); }
.pk-breadcrumbs a:hover { color: var(--pk-primary); }
.pk-breadcrumbs__sep { margin-inline: 0.375rem; color: var(--pk-border); }

/* ==========================================================================
   21. Alertas
   ========================================================================== */

.pk-alert {
    display: flex; gap: var(--pk-sm); align-items: flex-start;
    padding: var(--pk-md) var(--pk-lg);
    border-radius: var(--pk-radius-md); font-size: 0.9rem; line-height: 1.5; border: 1px solid transparent;
}
.pk-alert svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
.pk-alert--success { background: #D5F5E3; border-color: #A9DFBF; color: #1E8449; }
.pk-alert--danger  { background: #FDEBD0; border-color: #FAD7A0; color: #A04000; }
.pk-alert--info    { background: var(--pk-primary-pale); border-color: #AED6F1; color: var(--pk-primary); }

/* ==========================================================================
   22. Página interior
   ========================================================================== */

.pk-page-hero { background: linear-gradient(135deg, var(--pk-primary-dark) 0%, #1B3A5C 100%); padding-block: var(--pk-2xl) var(--pk-xl); text-align: center; }
.pk-page-hero h1 { color: #fff; margin-bottom: var(--pk-sm); }
.pk-page-hero p  { color: rgba(255,255,255,0.72); max-width: 580px; margin-inline: auto; }

/* ==========================================================================
   23. Utilities
   ========================================================================== */

.pk-text-center { text-align: center; }
.pk-text-right  { text-align: right; }
.pk-mb-0 { margin-bottom: 0 !important; }
.pk-mt-sm { margin-top: var(--pk-sm); }
.pk-mt-md { margin-top: var(--pk-md); }
.pk-mt-lg { margin-top: var(--pk-lg); }
.pk-mt-xl { margin-top: var(--pk-xl); }
.pk-mt-2xl { margin-top: var(--pk-2xl); }
.pk-d-none { display: none; }
.pk-d-flex { display: flex; }
.pk-w-full { width: 100%; }
.pk-gap-sm { gap: var(--pk-sm); }
.pk-gap-md { gap: var(--pk-md); }
.pk-gap-lg { gap: var(--pk-lg); }
.pk-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.pk-divider { border: none; border-top: 1px solid var(--pk-border); margin-block: var(--pk-xl); }

.pk-bg-white   { background: var(--pk-bg-white); }
.pk-bg-light   { background: var(--pk-bg-light); }
.pk-bg-dark    { background: var(--pk-primary-dark); }
.pk-bg-pale    { background: var(--pk-primary-pale); }

/* ==========================================================================
   24. Catalog Hero
   ========================================================================== */

.pk-catalog-hero {
    background: linear-gradient(135deg, var(--pk-primary-dark) 0%, var(--pk-primary) 100%);
    color: var(--pk-bg-white);
    padding: var(--pk-section) 0 var(--pk-2xl);
    text-align: center;
}
.pk-catalog-hero__inner { max-width: 640px; margin-inline: auto; }
.pk-catalog-hero__title {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    color: inherit;
    margin-bottom: var(--pk-md);
}
.pk-catalog-hero__subtitle {
    font-size: 1.1rem;
    color: rgba(255,255,255,.8);
    margin-bottom: var(--pk-xl);
}
.pk-catalog-hero .pk-catalog__search { max-width: 480px; margin-inline: auto; }

.pk-catalog__filters-bar {
    background: var(--pk-bg-white);
    border-bottom: 1px solid var(--pk-border);
    padding: var(--pk-md) 0;
    position: sticky;
    top: 64px;
    z-index: 90;
}
.pk-catalog__filters { display: flex; flex-wrap: wrap; gap: var(--pk-sm); }

.pk-catalog__count {
    font-size: .875rem;
    color: var(--pk-text-muted);
    margin-bottom: var(--pk-lg);
}

.pk-catalog__empty {
    text-align: center;
    padding: var(--pk-3xl) var(--pk-md);
    color: var(--pk-text-muted);
}
.pk-catalog__empty svg { display: block; margin: 0 auto var(--pk-md); opacity: .35; }
.pk-catalog__empty p { margin-bottom: var(--pk-lg); }

/* ==========================================================================
   25. Plugin Card — extended
   ========================================================================== */

.pk-plugin-card {
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: box-shadow var(--pk-transition), transform var(--pk-transition);
    overflow: hidden;
}
.pk-plugin-card:hover { box-shadow: var(--pk-shadow-lg); transform: translateY(-2px); }
.pk-plugin-card__link {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.pk-plugin-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--pk-sm);
    padding: var(--pk-lg) var(--pk-lg) 0;
}
.pk-plugin-card__icon {
    width: 48px;
    height: 48px;
    background: var(--pk-primary-pale);
    border-radius: var(--pk-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pk-primary);
    flex-shrink: 0;
}
.pk-plugin-card__icon svg { width: 24px; height: 24px; }
.pk-plugin-card__meta { display: flex; gap: var(--pk-xs); flex-wrap: wrap; align-items: center; }
.pk-plugin-card__body { flex: 1; padding: var(--pk-md) var(--pk-lg); }
.pk-plugin-card__title {
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: var(--pk-xs);
}
.pk-plugin-card__title a {
    color: var(--pk-primary-dark);
    text-decoration: none;
    position: relative;
    z-index: 1;
}
.pk-plugin-card__title a:hover { color: var(--pk-primary-light); }
.pk-plugin-card__tagline { font-size: .875rem; color: var(--pk-text-muted); margin-bottom: var(--pk-sm); }
.pk-plugin-card__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pk-plugin-card__features li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .8125rem;
    color: var(--pk-text-muted);
}
.pk-plugin-card__features li svg { color: var(--pk-success); flex-shrink: 0; }
.pk-plugin-card__footer { padding: var(--pk-md) var(--pk-lg) var(--pk-lg); border-top: 1px solid var(--pk-border); margin-top: auto; }
.pk-plugin-card__sectors { display: flex; gap: var(--pk-xs); flex-wrap: wrap; margin-bottom: var(--pk-sm); }
.pk-plugin-card__price-row { display: flex; align-items: center; justify-content: space-between; gap: var(--pk-sm); }
.pk-plugin-card__price { font-size: .875rem; color: var(--pk-text-muted); }
.pk-plugin-card__price strong { color: var(--pk-primary-dark); }
.pk-plugin-card__price-row .pk-btn { position: relative; z-index: 1; flex-shrink: 0; }

/* ==========================================================================
   26. Sector Hero
   ========================================================================== */

.pk-sector-hero {
    background: var(--pk-bg-light);
    border-bottom: 1px solid var(--pk-border);
    padding: var(--pk-section) 0 var(--pk-xl);
    text-align: center;
}
.pk-sector-hero__inner { max-width: 560px; margin-inline: auto; }
.pk-sector-hero__icon {
    width: 72px;
    height: 72px;
    background: var(--pk-primary-pale);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pk-primary);
    margin: 0 auto var(--pk-lg);
}
.pk-sector-hero__title { font-size: clamp(1.5rem, 3.5vw, 2.25rem); font-weight: 700; margin-bottom: var(--pk-sm); }
.pk-sector-hero__desc { color: var(--pk-text-muted); font-size: 1rem; }

/* ==========================================================================
   27. Support Page
   ========================================================================== */

.pk-support-hero {
    background: linear-gradient(135deg, var(--pk-primary-dark) 0%, var(--pk-primary) 100%);
    color: var(--pk-bg-white);
    padding: var(--pk-section) 0 var(--pk-2xl);
    text-align: center;
}
.pk-support-hero__inner { max-width: 600px; margin-inline: auto; }
.pk-support-hero__title { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; color: inherit; margin-bottom: var(--pk-md); }
.pk-support-hero__subtitle { color: rgba(255,255,255,.8); font-size: 1.05rem; margin-bottom: var(--pk-xl); }
.pk-support-hero .pk-catalog__search { max-width: 480px; margin-inline: auto; }

.pk-support-channels { padding: var(--pk-section) 0; background: var(--pk-bg-white); }
.pk-support-channels__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pk-xl);
}
.pk-support-channel {
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-xl);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pk-md);
}
.pk-support-channel__icon {
    width: 64px;
    height: 64px;
    background: var(--pk-primary-pale);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pk-primary);
}
.pk-support-channel__title { font-size: 1.125rem; font-weight: 600; }
.pk-support-channel__desc { font-size: .875rem; color: var(--pk-text-muted); }

.pk-support-docs { padding: var(--pk-section) 0; background: var(--pk-bg-light); }
.pk-docs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pk-md);
}
.pk-doc-card {
    background: var(--pk-bg-white);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-lg);
    display: flex;
    align-items: flex-start;
    gap: var(--pk-md);
    text-decoration: none;
    color: inherit;
    transition: box-shadow var(--pk-transition);
}
.pk-doc-card:hover { box-shadow: var(--pk-shadow); }
.pk-doc-card__icon {
    width: 40px;
    height: 40px;
    background: var(--pk-primary-pale);
    border-radius: var(--pk-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pk-primary);
    flex-shrink: 0;
}
.pk-doc-card__content { flex: 1; min-width: 0; }
.pk-doc-card__title { font-size: .9375rem; font-weight: 600; margin: var(--pk-xs) 0; }
.pk-doc-card__title a { color: var(--pk-primary-dark); text-decoration: none; }
.pk-doc-card__title a:hover { color: var(--pk-primary-light); }
.pk-doc-card__excerpt { font-size: .8125rem; color: var(--pk-text-muted); }
.pk-doc-card__arrow { color: var(--pk-text-muted); flex-shrink: 0; align-self: center; }

.pk-faq-section { padding: var(--pk-section) 0; background: var(--pk-bg-white); }
.pk-faq-section .pk-section-title { margin-bottom: var(--pk-xl); }

/* ==========================================================================
   28. Single Product — complementos
   ========================================================================== */

/* Breadcrumbs wrapper */
.pk-breadcrumbs-wrap {
    background: var(--pk-bg-light);
    border-bottom: 1px solid var(--pk-border);
}
.pk-breadcrumb {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: .375rem;
    font-size: .8125rem;
    color: var(--pk-text-muted);
    padding-block: .875rem;
}
.pk-breadcrumb li { display: flex; align-items: center; gap: .375rem; }
.pk-breadcrumb li + li::before { content: '›'; color: var(--pk-border); }
.pk-breadcrumb a { color: var(--pk-text-muted); }
.pk-breadcrumb a:hover { color: var(--pk-primary); }

/* Hero extras */
.pk-hero__requirements { font-size: .8125rem; color: rgba(255,255,255,.45); margin-top: .5rem; }
.pk-hero__placeholder {
    width: 100%;
    max-width: 480px;
    aspect-ratio: 4/3;
    background: rgba(255,255,255,.06);
    border-radius: var(--pk-radius-xl);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--pk-md);
    color: rgba(255,255,255,.25);
    font-size: .875rem;
}
.pk-hero__placeholder svg { width: 48px; height: 48px; }

/* Feature card extras */
.pk-feature-card__icon--pro {
    background: rgba(230,126,34,.12);
    color: var(--pk-accent);
}
.pk-feature-card__badge { margin-top: var(--pk-xs); }

/* Pricing card (paid plugins) */
.pk-pricing-card { display: flex; justify-content: center; }
.pk-pricing-card__inner {
    background: var(--pk-bg-white);
    border: 2px solid var(--pk-primary);
    border-radius: var(--pk-radius-xl);
    padding: var(--pk-2xl) var(--pk-3xl);
    text-align: center;
    max-width: 400px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pk-md);
    box-shadow: var(--pk-shadow-lg);
}
.pk-pricing-card__price { display: flex; align-items: baseline; gap: .25rem; }
.pk-pricing-card__amount { font-size: 3rem; font-weight: 800; color: var(--pk-primary-dark); line-height: 1; }
.pk-pricing-card__period { font-size: .9375rem; color: var(--pk-text-muted); }
.pk-pricing-card__perks {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.pk-pricing-card__perks li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .9rem;
    color: var(--pk-text-secondary);
}
.pk-pricing-card__perks li svg { color: var(--pk-success); flex-shrink: 0; }

.pk-pricing__note { text-align: center; font-size: .8125rem; color: var(--pk-text-muted); margin-top: var(--pk-lg); }

/* ==========================================================================
   Pricing Page
   ========================================================================== */

.pk-pricing-hero {
    background: linear-gradient(135deg, var(--pk-primary-dark) 0%, var(--pk-primary) 100%);
    color: #fff;
    padding: var(--pk-section) 0 var(--pk-2xl);
    text-align: center;
}
.pk-pricing-hero__inner { max-width: 600px; margin-inline: auto; }
.pk-pricing-hero__title { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; color: #fff; margin-bottom: var(--pk-sm); }
.pk-pricing-hero__sub   { font-size: 1.05rem; color: rgba(255,255,255,.75); margin-bottom: var(--pk-xl); }

.pk-pricing-toggle {
    display: inline-flex;
    background: rgba(255,255,255,.12);
    border-radius: 2rem;
    padding: 4px;
    gap: 4px;
}
.pk-pricing-toggle__btn {
    padding: .5rem 1.25rem;
    border: none;
    background: transparent;
    color: rgba(255,255,255,.7);
    border-radius: 2rem;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .5rem;
    transition: var(--pk-transition-fast);
}
.pk-pricing-toggle__btn.active {
    background: #fff;
    color: var(--pk-primary-dark);
}
.pk-pricing-toggle__save {
    background: var(--pk-accent);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 1rem;
}

/* Plugin cards grid */
.pk-pricing-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pk-lg);
}
.pk-pricing-plugin-card {
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-lg);
    display: flex;
    flex-direction: column;
    gap: var(--pk-sm);
    background: var(--pk-bg-white);
    transition: box-shadow var(--pk-transition);
}
.pk-pricing-plugin-card:hover { box-shadow: var(--pk-shadow); }
.pk-pricing-plugin-card__head { display: flex; align-items: center; gap: var(--pk-sm); }
.pk-pricing-plugin-card__icon {
    width: 42px; height: 42px;
    background: var(--pk-primary-pale);
    border-radius: var(--pk-radius);
    display: flex; align-items: center; justify-content: center;
    color: var(--pk-primary); flex-shrink: 0;
}
.pk-pricing-plugin-card__icon svg { width: 20px; height: 20px; }
.pk-pricing-plugin-card__name { font-size: 1rem; font-weight: 700; color: var(--pk-primary-dark); }
.pk-pricing-plugin-card__tagline { font-size: .8125rem; color: var(--pk-text-muted); flex: 1; line-height: 1.5; }
.pk-pricing-plugin-card__price { margin-top: auto; padding-top: var(--pk-sm); border-top: 1px solid var(--pk-border); }
.pk-pricing-plugin-card__free { font-size: .8125rem; color: var(--pk-success); font-weight: 600; display: block; }
.pk-pricing-plugin-card__pro-from { font-size: .8125rem; color: var(--pk-text-muted); }
.pk-pricing-plugin-card__amount strong { font-size: 1.375rem; font-weight: 800; color: var(--pk-primary-dark); }
.pk-pricing-plugin-card__amount small { font-size: .8125rem; font-weight: 400; color: var(--pk-text-muted); }

/* Full pricing table */
.pk-pricing-full-table { border: 1px solid var(--pk-border); border-radius: var(--pk-radius-lg); overflow: hidden; }
.pk-pricing-full-table__header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr 1fr;
    background: var(--pk-primary-dark);
    color: #fff;
}
.pk-pricing-full-table__col {
    padding: var(--pk-md) var(--pk-sm);
    font-size: .8125rem;
    font-weight: 600;
    text-align: center;
    border-left: 1px solid rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
}
.pk-pricing-full-table__col small { font-weight: 400; opacity: .65; font-size: .7rem; }
.pk-pricing-full-table__col--plugin { text-align: left; justify-content: flex-start; border-left: none; padding-left: var(--pk-md); }
.pk-pricing-full-table__col--highlight { background: rgba(46,117,182,.35); }
.pk-pricing-full-table__row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr 1fr;
    border-top: 1px solid var(--pk-border);
    transition: background var(--pk-transition-fast);
}
.pk-pricing-full-table__row:hover { background: var(--pk-bg-light); }
.pk-pricing-full-table__row--soon { opacity: .6; }
.pk-pricing-full-table__row .pk-pricing-full-table__col {
    background: transparent;
    color: var(--pk-text-primary);
    font-weight: 400;
    border-color: var(--pk-border);
    font-size: .875rem;
}
.pk-pricing-full-table__row .pk-pricing-full-table__col--highlight { background: rgba(27,79,114,.04); }
.pk-pricing-full-table__plugin-name {
    display: flex;
    align-items: center;
    gap: var(--pk-sm);
    font-weight: 600;
    color: var(--pk-primary-dark);
}
.pk-pricing-full-table__icon { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; color: var(--pk-primary); flex-shrink: 0; }
.pk-pricing-full-table__icon svg { width: 16px; height: 16px; }

/* Packs sectoriales */
.pk-packs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pk-xl);
}
.pk-pack-card {
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-xl);
    overflow: hidden;
    background: var(--pk-bg-white);
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--pk-transition);
}
.pk-pack-card:hover { box-shadow: var(--pk-shadow-lg); }
.pk-pack-card__header {
    background: var(--pk-bg-light);
    border-bottom: 1px solid var(--pk-border);
    padding: var(--pk-lg);
    display: flex;
    align-items: center;
    gap: var(--pk-md);
}
.pk-pack-card__icon {
    width: 52px; height: 52px;
    background: var(--pack-color, var(--pk-primary));
    border-radius: var(--pk-radius);
    display: flex; align-items: center; justify-content: center;
    color: #fff; flex-shrink: 0;
}
.pk-pack-card__name { font-size: 1.0625rem; font-weight: 700; color: var(--pk-primary-dark); }
.pk-pack-card__sector { font-size: .8125rem; color: var(--pk-text-muted); }
.pk-pack-card__plugins {
    list-style: none;
    padding: var(--pk-md) var(--pk-lg);
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .375rem;
    flex: 1;
}
.pk-pack-card__plugins li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    color: var(--pk-text-secondary);
}
.pk-pack-card__plugins li svg { color: var(--pk-success); flex-shrink: 0; }
.pk-pack-card__price-row {
    padding: var(--pk-md) var(--pk-lg) var(--pk-lg);
    border-top: 1px solid var(--pk-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pk-sm);
}
.pk-pack-card__price strong { font-size: 1.625rem; font-weight: 800; color: var(--pk-primary-dark); }
.pk-pack-card__price small { font-size: .875rem; font-weight: 400; color: var(--pk-text-muted); }
.pk-pack-card__saving { font-size: .8125rem; color: var(--pk-success); font-weight: 600; }

/* Garantías */
.pk-guarantees {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--pk-xl);
    text-align: center;
}
.pk-guarantee { display: flex; flex-direction: column; align-items: center; gap: var(--pk-sm); }
.pk-guarantee svg { color: var(--pk-primary); }
.pk-guarantee h3 { font-size: 1rem; font-weight: 700; color: var(--pk-primary-dark); }
.pk-guarantee p { font-size: .875rem; color: var(--pk-text-muted); line-height: 1.55; }

/* Coming soon */
.pk-coming-soon {
    background: var(--pk-bg-light);
    border-top: 1px solid var(--pk-border);
    border-bottom: 1px solid var(--pk-border);
    padding: var(--pk-section) 0;
}
.pk-coming-soon__inner {
    max-width: 520px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pk-md);
}
.pk-coming-soon__icon {
    width: 72px;
    height: 72px;
    background: var(--pk-primary-pale);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pk-primary);
}
.pk-coming-soon__title { font-size: 1.375rem; font-weight: 700; color: var(--pk-primary-dark); }
.pk-coming-soon__desc { color: var(--pk-text-muted); font-size: .9375rem; line-height: 1.65; }

/* Botón blanco (sobre fondo oscuro) */
.pk-btn--white {
    background: #fff;
    color: var(--pk-primary-dark);
    border-color: #fff;
}
.pk-btn--white:hover { background: var(--pk-primary-pale); border-color: var(--pk-primary-pale); color: var(--pk-primary); }

/* ==========================================================================
   29. Responsive
   ========================================================================== */

@media (max-width: 991px) {
    .pk-nav            { display: none; }
    .pk-hamburger      { display: flex; }
    .pk-header__actions .pk-btn--outline { display: none; }

    .pk-hero__inner  { grid-template-columns: 1fr; text-align: center; }
    .pk-hero__desc   { margin-inline: auto; }
    .pk-hero__actions { justify-content: center; }
    .pk-hero__rating  { justify-content: center; }
    .pk-hero__visual  { order: -1; }
    .pk-hero__screenshot { max-width: 440px; }

    .pk-footer__grid { grid-template-columns: 1fr 1fr; }
    .pk-catalog__grid { grid-template-columns: repeat(2, 1fr); }
    .pk-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .pk-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .pk-features__grid { grid-template-columns: repeat(2, 1fr); }

    .pk-pricing-table__header,
    .pk-pricing-table__row,
    .pk-pricing-table__cta { grid-template-columns: 2fr 1fr 1fr; }

    .pk-support-channels__grid { grid-template-columns: 1fr; }
    .pk-docs-grid { grid-template-columns: 1fr; }
    .pk-pricing-card__inner { padding: var(--pk-xl) var(--pk-lg); }
    .pk-pricing-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .pk-packs-grid { grid-template-columns: 1fr; }
    .pk-guarantees { grid-template-columns: repeat(2, 1fr); }
    .pk-pricing-full-table__header,
    .pk-pricing-full-table__row { grid-template-columns: 2fr 0 1fr 1.2fr 0; }
    .pk-pricing-full-table__col:nth-child(2),
    .pk-pricing-full-table__col:nth-child(5) { display: none; }
}

@media (max-width: 575px) {
    :root { --pk-section: 3rem; }

    .pk-footer__grid  { grid-template-columns: 1fr; gap: var(--pk-xl); }
    .pk-footer__bottom { flex-direction: column; text-align: center; }
    .pk-social-proof__inner { gap: var(--pk-lg); }
    .pk-catalog__grid { grid-template-columns: 1fr; }
    .pk-catalog__search { width: 100%; }
    .pk-grid--3, .pk-grid--4, .pk-grid--2 { grid-template-columns: 1fr; }
    .pk-features__grid { grid-template-columns: 1fr; }
    .pk-hero__actions { flex-direction: column; }
    .pk-hero__actions .pk-btn { width: 100%; justify-content: center; }
    .pk-cta__actions { flex-direction: column; align-items: center; }
    .pk-cta__actions .pk-btn { width: 100%; max-width: 280px; justify-content: center; }
    .pk-support-channels__grid { grid-template-columns: 1fr; }
    .pk-docs-grid { grid-template-columns: 1fr; }
    .pk-plugin-card__price-row { flex-direction: column; align-items: flex-start; }
    .pk-pricing-cards-grid { grid-template-columns: 1fr; }
    .pk-guarantees { grid-template-columns: 1fr; }
    .pk-pricing-full-table__header,
    .pk-pricing-full-table__row { grid-template-columns: 2fr 1fr 1.2fr; }
    .pk-pricing-full-table__col:nth-child(2),
    .pk-pricing-full-table__col:nth-child(4),
    .pk-pricing-full-table__col:nth-child(5) { display: none; }
}


@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ── Sector Cards (page-sectores.php) ────────────────────────── */
.pk-sectors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pk-xl);
}
.pk-sector-card {
    display: flex;
    flex-direction: column;
    gap: var(--pk-md);
    background: var(--pk-surface);
    border: 1px solid var(--pk-border);
    border-radius: var(--pk-radius-lg);
    padding: var(--pk-xl);
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.pk-sector-card:hover {
    box-shadow: var(--pk-shadow-md);
    transform: translateY(-3px);
    border-color: var(--pk-primary);
}
.pk-sector-card__icon {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pk-sector-card__body { flex: 1; }
.pk-sector-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 .4rem;
    color: var(--pk-text);
}
.pk-sector-card__desc {
    font-size: .875rem;
    color: var(--pk-text-muted);
    margin: 0 0 .75rem;
    line-height: 1.55;
}
.pk-sector-card__count {
    font-size: .75rem;
    font-weight: 600;
    color: var(--pk-primary);
    background: var(--pk-primary-alpha);
    padding: .2rem .6rem;
    border-radius: 20px;
    display: inline-block;
}
.pk-sector-card__arrow {
    position: absolute;
    top: var(--pk-xl);
    right: var(--pk-xl);
    color: var(--pk-text-muted);
    opacity: 0;
    transition: opacity .2s, right .2s;
}
.pk-sector-card:hover .pk-sector-card__arrow {
    opacity: 1;
    right: calc(var(--pk-xl) - 4px);
}
@media (max-width: 900px) {
    .pk-sectors-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   29. Dashboard & Portal
   ========================================================================== */

.pk-portal-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: var(--pk-xl);
    align-items: start;
}

@media (max-width: 991px) {
    .pk-portal-layout { grid-template-columns: 1fr; }
}

.pk-portal-sidebar {
    position: sticky;
    top: 84px;
}

.pk-portal-nav {
    display: flex;
    flex-direction: column;
    gap: var(--pk-xs);
}

.pk-portal-nav__item {
    display: flex;
    align-items: center;
    gap: var(--pk-sm);
    padding: 0.75rem var(--pk-md);
    border-radius: var(--pk-radius-md);
    color: var(--pk-text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
    transition: var(--pk-transition-fast);
    cursor: pointer;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
}

.pk-portal-nav__item:hover {
    background: var(--pk-primary-pale);
    color: var(--pk-primary);
}

.pk-portal-nav__item.is-active {
    background: var(--pk-primary);
    color: #fff;
    box-shadow: var(--pk-shadow-md);
}

.pk-portal-main {
    display: flex;
    flex-direction: column;
    gap: var(--pk-xl);
}

.pk-portal-header {
    margin-bottom: var(--pk-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pk-portal-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--pk-lg);
}

.pk-portal-stat-card {
    text-align: center;
}

.pk-portal-stat-val {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--pk-primary);
    line-height: 1.2;
}

.pk-portal-stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pk-text-muted);
}

/* Notifications specific */
.pk-portal-notif {
    padding: var(--pk-md) var(--pk-lg);
    border-left: 4px solid var(--pk-primary);
    margin-bottom: var(--pk-sm);
    cursor: pointer;
    transition: var(--pk-transition-fast);
}

.pk-portal-notif.is-unread {
    background: var(--pk-primary-pale);
}

.pk-portal-notif:hover {
    transform: translateX(4px);
}

/* ==========================================================================
   30. Checkout Premium
   ========================================================================== */

.pk-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--pk-xl);
    align-items: start;
}

@media (max-width: 991px) {
    .pk-checkout-layout { grid-template-columns: 1fr; }
}

.pk-order-summary {
    position: sticky;
    top: 84px;
}

.pk-checkout-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--pk-md) 0;
    border-bottom: 1px solid var(--pk-glass-border);
}

.pk-checkout-item:last-child {
    border-bottom: none;
}

.pk-checkout-item__name {
    font-weight: 600;
    font-size: 0.9375rem;
}

.pk-checkout-item__price {
    font-weight: 700;
    color: var(--pk-primary);
}

.pk-checkout-total-box {
    margin-top: var(--pk-lg);
    padding-top: var(--pk-lg);
    border-top: 1px solid var(--pk-glass-border);
}

.pk-checkout-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--pk-xs);
    font-size: 0.875rem;
}

.pk-checkout-row--total {
    font-size: 1.25rem;
    font-weight: 800;
    margin-top: var(--pk-sm);
    color: var(--pk-text-primary);
}

.pk-payment-section {
    display: flex;
    flex-direction: column;
    gap: var(--pk-lg);
}

.pk-waiver-box {
    font-size: 0.8125rem;
    color: var(--pk-text-muted);
    line-height: 1.6;
    padding: var(--pk-md);
    background: rgba(var(--pk-primary-rgb), 0.03);
    border-radius: var(--pk-radius-md);
    border: 1px dashed var(--pk-primary-pale);
}

/* Glass Shine Animation */
.pk-card--glass {
    position: relative;
    overflow: hidden;
}

.pk-card--glass::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 0%,
        rgba(255, 255, 255, 0.05) 45%,
        rgba(255, 255, 255, 0.1) 50%,
        rgba(255, 255, 255, 0.05) 55%,
        transparent 100%
    );
    transform: rotate(45deg);
    transition: all 0.6s ease;
    pointer-events: none;
    opacity: 0;
}

.pk-card--glass:hover::after {
    opacity: 1;
    left: 100%;
    top: 100%;
}
