/* ==========================================================================
   Customização Vilarouca — TELAS DO CLIENTE (Enviar chamado / Ver chamado).
   Override no tema do cliente. Escopado às páginas de formulário via
   :has(.form-submit-ticket) para não afetar home/base de conhecimento.
   Referência: examples/cliente-chamado-mockup.html
   ========================================================================== */

.main__content.gv-ticket-page{
    --gv-primary:#074866; --gv-primary-dark:#053447; --gv-primary-light:#0A5F84;
    --gv-accent:#E05E3B; --gv-accent-dark:#C04A2A;
    --gv-g100:#f3f4f6; --gv-g200:#e5e7eb; --gv-g300:#d1d5db;
    --gv-g400:#9ca3af; --gv-g500:#6b7280; --gv-g600:#4b5563; --gv-g700:#374151; --gv-g800:#1f2937;
    --gv-hair:rgba(7,72,102,.10); --gv-shadow:0 20px 48px -28px rgba(7,72,102,.45); --gv-radius:16px;
    font-family:"Montserrat", system-ui, sans-serif;
    background:#eef1f4 !important;
    padding:26px 16px 60px !important;
}

/* Card container */
.main__content.gv-ticket-page .contr{
    max-width:860px; margin:0 auto; background:#fff !important;
    border:1px solid var(--gv-hair) !important; border-radius:var(--gv-radius) !important;
    box-shadow:var(--gv-shadow) !important; padding:0 !important; overflow:hidden;
}

/* Cabeçalho (hero) */
.main__content.gv-ticket-page .article__heading--form{
    display:flex; align-items:center; gap:14px; margin:0 !important;
    padding:24px 30px !important; border-bottom:1px solid var(--gv-g100);
    font-family:"Montserrat", system-ui, sans-serif !important; text-align:left !important;
}
.main__content.gv-ticket-page .article__heading--form .icon-in-circle{
    width:48px; height:48px; border-radius:13px; background:var(--gv-primary) !important; flex-shrink:0;
    display:grid; place-items:center;
}
.main__content.gv-ticket-page .article__heading--form .icon-in-circle .icon{ width:24px; height:24px; fill:#fff; color:#fff; }
.main__content.gv-ticket-page .article__heading--form .ml-1{
    font-size:20px; font-weight:600; color:var(--gv-primary); margin:0 !important;
}
.main__content.gv-ticket-page .article-heading-tip{
    padding:14px 30px 0; font-size:12px; color:var(--gv-g400); text-align:left;
}

/* Form + campos */
.main__content.gv-ticket-page .form-submit-ticket{ padding:22px 30px 28px; }
.main__content.gv-ticket-page .form-group{ margin-bottom:16px; }
.main__content.gv-ticket-page .label,
.main__content.gv-ticket-page .form-group > label{
    display:block; font-size:12px !important; font-weight:600 !important; color:var(--gv-g700) !important;
    margin-bottom:6px !important; text-transform:none !important; letter-spacing:0 !important;
}
/* Asterisco de obrigatório: o tema posiciona com position:absolute;right:-.5em, o que
   joga para a extrema direita quando o label é block. Forçamos inline logo após o texto. */
.main__content.gv-ticket-page .label.required::after,
.main__content.gv-ticket-page label.required::after,
.main__content.gv-ticket-page .form-group.required .label::after{
    content:" *" !important; position:static !important; right:auto !important;
    color:var(--gv-accent) !important; font-size:14px !important; font-weight:700 !important; line-height:inherit !important;
}
.main__content.gv-ticket-page .label.required{ margin-right:0 !important; }

.main__content.gv-ticket-page .form-control,
.main__content.gv-ticket-page input[type="text"],
.main__content.gv-ticket-page input[type="email"],
.main__content.gv-ticket-page textarea,
.main__content.gv-ticket-page select{
    width:100%; padding:11px 13px !important; border:1px solid var(--gv-g200) !important;
    border-radius:11px !important; font-family:"Montserrat", system-ui, sans-serif !important;
    font-size:14px !important; color:var(--gv-g800) !important; background:#fff !important;
    box-shadow:none !important; transition:border-color .14s, box-shadow .14s;
}
.main__content.gv-ticket-page .form-control:focus,
.main__content.gv-ticket-page input:focus,
.main__content.gv-ticket-page textarea:focus,
.main__content.gv-ticket-page select:focus{
    border-color:var(--gv-accent) !important; box-shadow:0 0 0 3px rgba(224,94,59,.14) !important; outline:0 !important;
}
.main__content.gv-ticket-page textarea.form-control,
.main__content.gv-ticket-page #message{ min-height:150px; line-height:1.55; resize:vertical; }

/* Grade 2 colunas (apenas telas largas): pareia campos curtos lado a lado usando flex
   no container, com quebras controladas pelas seções injetadas. Campos longos (assunto,
   mensagem, custom com select amplo) ocupam a linha toda. */
@media(min-width:640px){
    .main__content.gv-ticket-page .form-submit-ticket{
        display:flex; flex-wrap:wrap; gap:0 16px; align-items:flex-start;
    }
    .main__content.gv-ticket-page .form-submit-ticket > *{ width:100%; }
    /* campos curtos pareados em 2 colunas: contato (.form-group) e custom (.param.blue-select) */
    .main__content.gv-ticket-page .form-submit-ticket > .form-group,
    .main__content.gv-ticket-page .form-submit-ticket > .param.blue-select{
        width:calc(50% - 8px);
    }
    .main__content.gv-ticket-page .form-submit-ticket > .param.blue-select select{ width:100%; }
    /* full-width: assunto, mensagem, follower, textarea */
    .main__content.gv-ticket-page .form-submit-ticket > .form-group:has(#subject),
    .main__content.gv-ticket-page .form-submit-ticket > .form-group:has(#message),
    .main__content.gv-ticket-page .form-submit-ticket > .form-group:has(textarea),
    .main__content.gv-ticket-page .form-submit-ticket > .form-group#cc-link,
    .main__content.gv-ticket-page .form-submit-ticket > .form-group#cc-div{
        width:100%;
    }
    /* seção e divisores ocupam a linha toda / são ocultados */
    .main__content.gv-ticket-page .gv-grp-title{ width:100%; }
    .main__content.gv-ticket-page .form-submit-ticket > .divider{ display:none; }
}

/* Seções (injetadas no template) */
.main__content.gv-ticket-page .gv-grp-title{
    display:flex; align-items:center; gap:8px; width:100% !important;
    font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
    color:var(--gv-primary-light); margin:24px 0 14px;
}
.main__content.gv-ticket-page .gv-grp-title::after{ content:""; flex:1; height:1px; background:var(--gv-g100); }
.main__content.gv-ticket-page .gv-grp-title:first-of-type{ margin-top:0; }

/* Prioridade */
.main__content.gv-ticket-page .param{ margin:0 0 16px; }
.main__content.gv-ticket-page .param .label{ margin-bottom:6px; }
.main__content.gv-ticket-page .select-priority{ border-radius:11px !important; }

/* Anexos / dropzone */
.main__content.gv-ticket-page .dropzone,
.main__content.gv-ticket-page .filedrop{
    border:1.5px dashed var(--gv-g300) !important; border-radius:12px !important;
    background:#f9fafb !important; color:var(--gv-g400) !important;
}

/* Botões */
.main__content.gv-ticket-page .btn.btn-full{
    background:var(--gv-accent) !important; border:0 !important; color:#fff !important;
    border-radius:12px !important; font-family:"Montserrat", system-ui, sans-serif !important;
    font-weight:600 !important; font-size:14.5px !important; padding:13px 24px !important;
    box-shadow:0 14px 28px -12px rgba(224,94,59,.6) !important;
}
.main__content.gv-ticket-page .btn.btn-full:hover{ background:var(--gv-accent-dark) !important; }
.main__content.gv-ticket-page .btn.btn-refresh{ background:none !important; box-shadow:none !important; }

/* ─────────── VER CHAMADO: card de duas colunas + painel navy (injetado) ─────────── */
.main__content:has(.gv-view){ }
.main__content:has(.gv-view) .contr{ max-width:900px; }
.main__content:has(.gv-view) .article__heading--form{ display:none; }  /* o título vai no painel navy */
.gv-view{ display:grid; grid-template-columns:1.05fr .95fr; }
@media(max-width:760px){ .gv-view{ grid-template-columns:1fr; } }
.gv-view__side{
    background:linear-gradient(160deg,var(--gv-primary),var(--gv-primary-dark)); color:#fff;
    padding:36px 32px; display:flex; flex-direction:column; justify-content:center;
}
.gv-view__side h2{ font-size:21px; font-weight:600; margin:0 0 10px; }
.gv-view__side p{ font-size:13px; color:rgba(234,241,244,.75); line-height:1.6; margin:0 0 20px; }
.gv-view__side .steps{ display:flex; flex-direction:column; gap:13px; }
.gv-view__side .step{ display:flex; gap:11px; align-items:flex-start; font-size:12.5px; color:rgba(234,241,244,.9); }
.gv-view__side .step .n{ width:21px; height:21px; border-radius:50%; background:rgba(255,255,255,.15); display:grid; place-items:center; font-size:11px; font-weight:700; flex-shrink:0; }
.gv-view__side .step b{ color:#fff; }
.gv-view__form{ padding:34px 32px; }
.gv-view__form .form-groups.centered{ text-align:left; }
.gv-view__form .form-group{ display:block !important; width:100% !important; margin:0 0 16px !important; }
.gv-view__form #track{ letter-spacing:.06em; font-weight:600; }
.gv-view__form .form-footer{ display:block; margin-top:6px; }
.gv-view__form .form-footer .btn.btn-full{ width:100%; }
.gv-view__form .form-footer .link{ display:block; text-align:center; margin-top:16px; color:var(--gv-primary-light); font-size:12.5px; text-decoration:none; }
.gv-view__form .form-footer .link:hover{ text-decoration:underline; }
.gv-view__form .checkbox-custom label{ font-size:12.5px; color:var(--gv-g600); }

/* ─────────── Fluxo único: chips de categoria + passos ─────────── */
.main__content.gv-ticket-page .gv-cat-step{ margin-bottom:4px; }
.main__content.gv-ticket-page .gv-step-h{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gv-primary-light); margin:0 0 14px; }
.main__content.gv-ticket-page .gv-step-h .num{ width:22px; height:22px; border-radius:50%; background:var(--gv-primary); color:#fff; display:grid; place-items:center; font-size:11px; font-weight:700; flex-shrink:0; }
.main__content.gv-ticket-page .gv-step-h.muted{ color:var(--gv-g300); }
.main__content.gv-ticket-page .gv-step-h.muted .num{ background:var(--gv-g200); color:var(--gv-g400); }
.main__content.gv-ticket-page .gv-step-h .gv-cat-name{ text-transform:none; letter-spacing:0; color:var(--gv-g500); font-weight:500; }
.main__content.gv-ticket-page .gv-cats{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:4px; }
.main__content.gv-ticket-page .gv-cat{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:1px solid var(--gv-g200); border-radius:999px; font-size:13px; font-weight:600; color:var(--gv-g600); text-decoration:none; background:#fff; transition:all .12s; }
.main__content.gv-ticket-page .gv-cat:hover{ border-color:var(--gv-primary-light); color:var(--gv-primary); }
.main__content.gv-ticket-page .gv-cat.sel{ background:var(--gv-primary); border-color:var(--gv-primary); color:#fff; box-shadow:0 10px 22px -12px rgba(7,72,102,.6); }
.main__content.gv-ticket-page .gv-cat .dot{ width:7px; height:7px; border-radius:50%; background:var(--gv-g300); flex-shrink:0; }
.main__content.gv-ticket-page .gv-cat.sel .dot{ background:var(--gv-accent); }
.main__content.gv-ticket-page .gv-cat-divider{ height:1px; background:var(--gv-g100); margin:24px 0; }
.main__content.gv-ticket-page .gv-cat-empty{ background:var(--gv-g50); border:1.5px dashed var(--gv-g200); border-radius:12px; padding:30px; text-align:center; color:var(--gv-g400); font-size:13.5px; }
.main__content.gv-ticket-page .gv-cat-empty svg{ width:28px; height:28px; color:var(--gv-g300); margin-bottom:8px; }

/* Categoria: chips no desktop, dropdown pesquisável no mobile */
.main__content.gv-ticket-page .gv-cat-pick{ display:none; }
@media(max-width:640px){
    .main__content.gv-ticket-page .gv-cats{ display:none; }
    .main__content.gv-ticket-page .gv-cat-pick{ display:block; margin-bottom:4px; }
}
.main__content.gv-ticket-page .gv-cat-pick > select{ width:100%; padding:13px 14px; border:1px solid var(--gv-g200); border-radius:12px; font-family:inherit; font-size:15px; color:var(--gv-g800); background:#fff; }
.main__content.gv-ticket-page .gv-cat-pick .selectize-control{ width:100%; margin:0; }
.main__content.gv-ticket-page .gv-cat-pick .selectize-input{ border:1px solid var(--gv-g200) !important; border-radius:12px !important; padding:13px 14px !important; font-size:15px; box-shadow:none !important; background:#fff; }
.main__content.gv-ticket-page .gv-cat-pick .selectize-input.focus{ border-color:var(--gv-accent) !important; box-shadow:0 0 0 3px rgba(224,94,59,.14) !important; }
.main__content.gv-ticket-page .gv-cat-pick .selectize-input input{ font-size:15px; color:var(--gv-g800); }
.main__content.gv-ticket-page .gv-cat-pick .selectize-dropdown{ border-radius:12px; border:1px solid var(--gv-g200); box-shadow:0 16px 40px -18px rgba(7,72,102,.4); }
.main__content.gv-ticket-page .gv-cat-pick .selectize-dropdown .option{ padding:11px 14px; font-size:14px; }
.main__content.gv-ticket-page .gv-cat-pick .selectize-dropdown .active{ background:var(--gv-primary); color:#fff; }

/* ═══════════ HOME DO CLIENTE (index.php) ═══════════ */
.main__content.gv-home-page{
    --gv-primary:#074866; --gv-primary-dark:#053447; --gv-primary-light:#0A5F84;
    --gv-accent:#E05E3B; --gv-accent-dark:#C04A2A;
    --gv-g100:#f3f4f6; --gv-g200:#e5e7eb; --gv-g300:#d1d5db;
    --gv-g400:#9ca3af; --gv-g500:#6b7280; --gv-g600:#4b5563; --gv-g800:#1f2937;
    --gv-hair:rgba(7,72,102,.10); --gv-shadow:0 20px 48px -28px rgba(7,72,102,.45); --gv-radius:16px;
    font-family:"Montserrat", system-ui, sans-serif;
    background:#eef1f4 !important;
    padding:0 !important;
}
.gv-home-page .contr{ max-width:1000px; margin:0 auto; background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 24px 60px !important; }
.gv-home-page .help-search{ text-align:center; padding:46px 20px 4px; background:none; }
.gv-home-page .search__title{ font-family:"Montserrat",system-ui,sans-serif !important; font-size:30px; font-weight:600; color:var(--gv-primary); margin:0 0 8px; letter-spacing:-.01em; }
.gv-home-page .gv-home-sub{ font-size:15px; color:var(--gv-g500); margin:0; }

.gv-home-page .nav{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; }
@media(max-width:720px){ .gv-home-page .nav{ grid-template-columns:1fr; } }
.gv-home-page .navlink{ display:flex; align-items:flex-start; gap:16px; width:100% !important; max-width:none !important; margin:0 !important; background:#fff; border:1px solid var(--gv-hair); border-radius:var(--gv-radius); box-shadow:var(--gv-shadow); padding:26px 24px; text-decoration:none; color:inherit; position:relative; overflow:hidden; transition:transform .14s, box-shadow .14s, border-color .14s; }
.gv-home-page .navlink::before{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--gv-g200); }
.gv-home-page .navlink:hover{ transform:translateY(-3px); box-shadow:0 26px 54px -26px rgba(7,72,102,.55); border-color:var(--gv-primary-light); }
.gv-home-page .navlink::after{ content:""; width:9px; height:9px; border-top:2px solid var(--gv-g300); border-right:2px solid var(--gv-g300); transform:rotate(45deg); margin-left:auto; align-self:center; transition:all .14s; }
.gv-home-page .navlink:hover::after{ border-color:var(--gv-accent); }
.gv-home-page .navlink .icon-in-circle{ width:54px; height:54px; border-radius:15px !important; display:grid; place-items:center; flex-shrink:0; margin:0 !important; }
.gv-home-page .navlink .icon-in-circle .icon{ width:27px; height:27px; fill:#fff !important; color:#fff !important; }
.gv-home-page .navlink__title{ font-family:"Montserrat",system-ui,sans-serif !important; font-size:18px; font-weight:600; color:var(--gv-primary); margin:2px 0 5px; }
.gv-home-page .navlink__descr{ font-size:13.5px; color:var(--gv-g500); line-height:1.5; }
.gv-home-page .nav .navlink:first-child::before{ background:var(--gv-accent); }
.gv-home-page .nav .navlink:first-child .icon-in-circle{ background:var(--gv-accent) !important; box-shadow:0 14px 28px -12px rgba(224,94,59,.6); }
.gv-home-page .nav .navlink:nth-child(2)::before{ background:var(--gv-primary-light); }
.gv-home-page .nav .navlink:nth-child(2) .icon-in-circle{ background:var(--gv-primary) !important; }

.gv-home-page .gv-quicktrack{ margin-top:20px; background:#fff; border:1px solid var(--gv-hair); border-radius:var(--gv-radius); box-shadow:var(--gv-shadow); padding:20px 24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.gv-home-page .gv-quicktrack .qt-ico{ width:40px; height:40px; border-radius:11px; background:var(--gv-primary-light); color:#fff; display:grid; place-items:center; flex-shrink:0; }
.gv-home-page .gv-quicktrack .qt-ico svg{ width:20px; height:20px; }
.gv-home-page .gv-quicktrack .qt-txt{ font-size:13px; color:var(--gv-g600); }
.gv-home-page .gv-quicktrack .qt-txt b{ color:var(--gv-g800); }
.gv-home-page .gv-quicktrack form{ margin-left:auto; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.gv-home-page .gv-quicktrack input{ border:1px solid var(--gv-g200); border-radius:11px; padding:11px 13px; font-family:inherit; font-size:14px; width:220px; outline:0; letter-spacing:.06em; font-weight:600; }
.gv-home-page .gv-quicktrack input::placeholder{ font-weight:400; letter-spacing:0; color:var(--gv-g300); }
.gv-home-page .gv-quicktrack input:focus{ border-color:var(--gv-accent); box-shadow:0 0 0 3px rgba(224,94,59,.14); }
.gv-home-page .gv-qt-btn{ background:var(--gv-accent); color:#fff; border:0; border-radius:11px; padding:11px 18px; font-weight:600; font-size:14px; font-family:inherit; cursor:pointer; box-shadow:0 12px 24px -12px rgba(224,94,59,.6); }
.gv-home-page .gv-qt-btn:hover{ background:var(--gv-accent-dark); }

.gv-home-page .article__footer{ text-align:center !important; margin-top:30px !important; border:0 !important; padding:0 !important; background:none !important; }
.gv-home-page .article__footer .link{ display:inline-block !important; height:auto !important; color:var(--gv-g400); text-decoration:none; font-size:12.5px; font-weight:600; border-bottom:1px dashed var(--gv-g300); padding-bottom:2px; line-height:1.4; }
.gv-home-page .article__footer .link:hover{ color:var(--gv-primary-light); border-color:var(--gv-primary-light); }
