/**
 * Single Vaga - Enterprise Final v16.0
 * Design System consistente com Guia Comercial
 * 
 * @package GuarapariGuide
 */

/* ===== TOKENS ===== */
:root {
    --gsv-radius-sm: 8px;
    --gsv-radius-md: 12px;
    --gsv-radius-full: 9999px;
    --gsv-space-2: 8px;
    --gsv-space-3: 12px;
    --gsv-space-4: 16px;
    --gsv-space-5: 20px;
    --gsv-space-6: 24px;
    --gsv-space-8: 32px;
    --gsv-space-12: 48px;
    --gsv-space-16: 64px;
    
    --gsv-color-bg: #ffffff;
    --gsv-color-bg-subtle: #fafbfc;
    --gsv-color-border: #eef2f5;
    --gsv-color-border-hover: #e2e6ea;
    --gsv-color-text: #1a1f2b;
    --gsv-color-text-secondary: #4a5260;
    --gsv-color-text-muted: #a8b0bc;
    --gsv-color-primary: #0A5ED9;
    --gsv-color-primary-hover: #1A6EE9;
    --gsv-color-primary-light: #e8f0fe;
    --gsv-color-green: #0f7b3e;
    --gsv-color-green-bg: #e6f5ed;
    --gsv-color-red: #d92d20;
    --gsv-color-red-bg: #fde8e6;
    --gsv-shadow-hover: 0 4px 18px rgba(0,0,0,0.06);
    --gsv-transition: 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --gsv-transition-spring: 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ===== BASE ===== */
.gsv {
    background: var(--gsv-color-bg);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--gsv-color-text);
}

/* ===== BREADCRUMB ===== */
.gc-breadcrumb {
    padding: 18px 0 6px;
}

.gc-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 4px 8px;
    font-size: 0.8rem;
    color: var(--gsv-color-text-muted);
}

.gc-breadcrumb__list li {
    display: inline-flex;
    align-items: center;
}

.gc-breadcrumb__list li:not(:last-child)::after {
    content: "/";
    margin-left: 6px;
    color: var(--gsv-color-border);
}

.gc-breadcrumb__list a {
    color: var(--gsv-color-text-secondary);
    text-decoration: none;
    transition: color var(--gsv-transition);
}

.gc-breadcrumb__list a:hover {
    color: var(--gsv-color-text);
}

.gc-breadcrumb__list [aria-current="page"] {
    color: var(--gsv-color-text);
    font-weight: 500;
}

/* ===== HEADER ===== */
.gsv__header {
    padding: var(--gsv-space-2) 0 var(--gsv-space-5);
    border-bottom: 1px solid var(--gsv-color-border);
    margin-bottom: var(--gsv-space-6);
}

.gsv__title {
    font-size: clamp(26px, 3.4vw, 36px);
    font-weight: 620;
    letter-spacing: -0.025em;
    line-height: 1.08;
    color: var(--gsv-color-text);
    margin: 0 0 var(--gsv-space-3);
}

.gsv__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gsv-space-2) var(--gsv-space-5);
    margin-bottom: var(--gsv-space-3);
}

.gsv__meta-item {
    display: inline-flex;
    align-items: center;
    gap: var(--gsv-space-2);
    font-size: 0.85rem;
    color: var(--gsv-color-text-secondary);
}

.gsv__meta-item svg {
    stroke: var(--gsv-color-text-muted);
    flex-shrink: 0;
}

.gsv__status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gsv-space-2) var(--gsv-space-4);
}

.gsv__status-badge {
    display: inline-block;
    padding: 3px 14px;
    border-radius: var(--gsv-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.gsv__status-badge--active {
    background: var(--gsv-color-green-bg);
    color: var(--gsv-color-green);
    border: 1px solid rgba(15,123,62,0.15);
}

.gsv__status-badge--ended {
    background: var(--gsv-color-red-bg);
    color: var(--gsv-color-red);
    border: 1px solid rgba(217,45,32,0.15);
}

.gsv__status-date {
    font-size: 0.8rem;
    color: var(--gsv-color-text-muted);
}

/* ===== LAYOUT ===== */
.gsv__layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--gsv-space-8);
    margin-bottom: var(--gsv-space-12);
}

@media (max-width: 1024px) {
    .gsv__layout {
        gap: var(--gsv-space-6);
    }
}

/* ===== MAIN ===== */
.gsv__section {
    margin-bottom: var(--gsv-space-8);
    padding-bottom: var(--gsv-space-8);
    border-bottom: 1px solid var(--gsv-color-border);
}

.gsv__section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.gsv__section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 var(--gsv-space-3);
    color: var(--gsv-color-text);
}

.gsv__section-content {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--gsv-color-text-secondary);
}

.gsv__section-content p {
    margin-bottom: 1em;
}

/* ===== SIDEBAR ===== */
.gsv__sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--gsv-space-4);
}

.gsv__card {
    background: var(--gsv-color-bg);
    padding: var(--gsv-space-5);
    border: 1px solid var(--gsv-color-border);
    border-radius: var(--gsv-radius-md);
}

.gsv__card--candidate {
    background: var(--gsv-color-bg-subtle);
    border-color: var(--gsv-color-border);
}

.gsv__card-title {
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 var(--gsv-space-4);
    padding-bottom: var(--gsv-space-2);
    border-bottom: 1px solid var(--gsv-color-border);
    color: var(--gsv-color-text);
}

.gsv__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gsv__list-item {
    display: flex;
    justify-content: space-between;
    padding: var(--gsv-space-3) 0;
    border-bottom: 1px solid var(--gsv-color-border);
    font-size: 0.875rem;
}

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

.gsv__list-label {
    color: var(--gsv-color-text-muted);
    font-weight: 400;
}

.gsv__list-value {
    font-weight: 500;
    color: var(--gsv-color-text);
    text-align: right;
}

.gsv__list-value a {
    color: var(--gsv-color-primary);
    text-decoration: none;
}

.gsv__list-value a:hover {
    text-decoration: underline;
}

.gsv__card-hint {
    font-size: 0.85rem;
    color: var(--gsv-color-text-secondary);
    margin: 0 0 var(--gsv-space-4);
    line-height: 1.5;
}

.gsv__actions {
    display: flex;
    flex-direction: column;
    gap: var(--gsv-space-2);
}

.gsv__actions .guia-interest-btn {
    min-height: 44px;
    background: var(--gsv-color-primary);
    color: #fff;
    border: 1px solid var(--gsv-color-primary);
    font-weight: 600;
    border-radius: var(--gsv-radius-sm);
    padding: 0 20px;
    font-size: 0.875rem;
    transition: all var(--gsv-transition-spring);
}

.gsv__actions .guia-interest-btn:hover {
    background: var(--gsv-color-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10,94,217,0.25);
}

.gsv__actions .guia-interest-box + .guia-interest-box .guia-interest-btn {
    background: #fff;
    color: var(--gsv-color-primary);
    border-color: var(--gsv-color-border);
}

.gsv__actions .guia-interest-box + .guia-interest-box .guia-interest-btn:hover {
    background: var(--gsv-color-bg-subtle);
    border-color: var(--gsv-color-primary);
}

/* ===== SHARE ===== */
.gsv__share {
    display: flex;
    align-items: center;
    gap: var(--gsv-space-4);
    padding: var(--gsv-space-3) 0;
    border-top: 1px solid var(--gsv-color-border);
}

.gsv__share-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--gsv-color-text-muted);
}

.gsv__share-buttons {
    display: flex;
    gap: var(--gsv-space-2);
}

.gsv__share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 1px solid var(--gsv-color-border);
    border-radius: var(--gsv-radius-sm);
    cursor: pointer;
    transition: all var(--gsv-transition);
}

.gsv__share-btn svg {
    stroke: var(--gsv-color-text-muted);
}

.gsv__share-btn:hover {
    background: var(--gsv-color-bg-subtle);
    border-color: var(--gsv-color-border-hover);
}

.gsv__share-btn:hover svg {
    stroke: var(--gsv-color-text);
}

/* ===== RELATED ===== */
.gsv__related {
    padding: var(--gsv-space-12) 0;
    border-top: 1px solid var(--gsv-color-border);
}

.gsv__related-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: var(--gsv-space-5);
}

.gsv__related-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

.gsv__related-link {
    font-size: 0.875rem;
    color: var(--gsv-color-primary);
    text-decoration: none;
}

.gsv__related-link:hover {
    text-decoration: underline;
}

.gsv__related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1px;
    background: var(--gsv-color-border);
    border-radius: var(--gsv-radius-sm);
    overflow: hidden;
}

.gsv__related-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--gsv-space-4) var(--gsv-space-5);
    background: var(--gsv-color-bg);
    text-decoration: none;
    color: var(--gsv-color-text);
    transition: all var(--gsv-transition);
}

.gsv__related-card:hover {
    background: var(--gsv-color-bg-subtle);
}

.gsv__related-card-content {
    flex: 1;
    min-width: 0;
}

.gsv__related-card-title {
    font-size: 0.95rem;
    font-weight: 500;
    margin: 0 0 var(--gsv-space-1);
    color: var(--gsv-color-text);
}

.gsv__related-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gsv-space-2);
    font-size: 0.75rem;
    color: var(--gsv-color-text-muted);
}

.gsv__related-card-arrow {
    font-size: 0.875rem;
    color: var(--gsv-color-text-muted);
    opacity: 0;
    transition: all var(--gsv-transition-spring);
}

.gsv__related-card:hover .gsv__related-card-arrow {
    opacity: 1;
    transform: translateX(4px);
    color: var(--gsv-color-primary);
}

/* ===== CTA ===== */
.gsv__cta {
    padding: var(--gsv-space-12) 0 var(--gsv-space-16);
    border-top: 1px solid var(--gsv-color-border);
}

.gsv__cta-content {
    text-align: center;
    padding: var(--gsv-space-12) var(--gsv-space-8);
    background: var(--gsv-color-bg-subtle);
    border-radius: var(--gsv-radius-md);
}

.gsv__cta-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 var(--gsv-space-2);
}

.gsv__cta-text {
    color: var(--gsv-color-text-secondary);
    margin: 0 0 var(--gsv-space-5);
}

/* ===== BUTTONS ===== */
.gc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 28px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all var(--gsv-transition-spring);
    border-radius: var(--gsv-radius-sm);
}

.gc-btn--primary {
    background: var(--gsv-color-primary);
    color: #fff;
}

.gc-btn--primary:hover {
    background: var(--gsv-color-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10,94,217,0.25);
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 768px) {
    .gsv__container {
        padding: 0 16px;
    }
    
    .gc-breadcrumb {
        padding: 12px 0 4px;
    }
    
    .gsv__header {
        padding: var(--gsv-space-2) 0 var(--gsv-space-4);
        margin-bottom: var(--gsv-space-4);
    }
    
    .gsv__title {
        font-size: 24px;
    }
    
    .gsv__meta {
        gap: var(--gsv-space-2);
        flex-direction: column;
        align-items: flex-start;
    }
    
    .gsv__meta-item {
        font-size: 0.8rem;
    }
    
    .gsv__layout {
        grid-template-columns: 1fr;
        gap: var(--gsv-space-5);
        margin-bottom: var(--gsv-space-8);
    }
    
    .gsv__sidebar {
        gap: var(--gsv-space-3);
    }
    
    .gsv__card {
        padding: var(--gsv-space-4);
    }
    
    .gsv__related-grid {
        grid-template-columns: 1fr;
    }
    
    .gsv__cta-content {
        padding: var(--gsv-space-8) var(--gsv-space-4);
    }
    
    .gsv__cta-title {
        font-size: 1.125rem;
    }
    
    .gsv__share {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--gsv-space-2);
    }
}

@media (max-width: 480px) {
    .gsv__container {
        padding: 0 12px;
    }
    
    .gc-breadcrumb__list {
        font-size: 0.7rem;
    }
    
    .gsv__title {
        font-size: 20px;
    }
    
    .gsv__meta-item {
        font-size: 0.75rem;
    }
    
    .gsv__meta-item svg {
        width: 14px;
        height: 14px;
    }
    
    .gsv__section-title {
        font-size: 1.1rem;
    }
    
    .gsv__section-content {
        font-size: 0.9375rem;
    }
    
    .gsv__related-card {
        padding: var(--gsv-space-3) var(--gsv-space-4);
    }
    
    .gsv__related-card-title {
        font-size: 0.875rem;
    }
    
    .gsv__cta-text {
        font-size: 0.875rem;
    }
}

/* Extracted from single-vaga.php — v16.13.6 architecture cleanup. */

/* CSS crítico mínimo para evitar flash */
.gsv__container{max-width:1200px;margin:0 auto;padding:0 20px}
.gc-breadcrumb{padding:18px 0 6px}
.gsv__header{padding:8px 0 20px;border-bottom:1px solid #eef2f5;margin-bottom:24px}
.gsv__title{font-size:clamp(26px,3.4vw,36px);font-weight:620;letter-spacing:-0.025em;line-height:1.08;color:#1a1f2b;margin:0 0 12px}
.gsv__layout{display:grid;grid-template-columns:1fr 340px;gap:32px;margin-bottom:48px}
.gsv__layout--locked{display:block;max-width:760px;margin:0 auto 48px}
.gsv__layout--locked .gsv__content{padding:0}
@media(max-width:768px){.gsv__layout{grid-template-columns:1fr;gap:20px}}



.guia-access-gate{border:1px solid #e4e9f0;border-radius:18px;background:#fff;padding:clamp(24px,4vw,42px);text-align:center;box-shadow:0 14px 40px rgba(15,31,51,.06)}
.guia-access-gate__eyebrow{display:inline-flex;margin-bottom:10px;color:#1268d8;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.guia-access-gate h2{margin:0 0 10px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.15;color:#0b1f33}
.guia-access-gate p{max-width:560px;margin:0 auto 22px;color:#5f6b7a;font-size:1rem;line-height:1.65}
.guia-access-gate__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.guia-access-gate__primary,.guia-access-gate__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;font-weight:750;text-decoration:none}
.guia-access-gate__primary{background:#0b1f33;color:#fff}.guia-access-gate__secondary{border:1px solid #dbe4ef;background:#fff;color:#0b1f33}
@media(max-width:560px){.guia-access-gate__actions{display:grid}.guia-access-gate__primary,.guia-access-gate__secondary{width:100%}}
