/*
 * ══════════════════════════════════════════════════════════════
 *  GuateWork — Global Theme Override
 *  Versión 2.0 | Carga DESPUÉS de style.css
 *
 *  Paleta inspirada en la imagen de marca + bandera de Guatemala
 *  Fuente: Plus Jakarta Sans (moderna, legible, multiidioma)
 * ══════════════════════════════════════════════════════════════
 */

/* ── 1. Google Fonts ──────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* ── 2. Variables de Diseño ──────────────────────────────── */
:root {
    /* Paleta principal — azul-índigo vibrante (imagen de marca) */
    --gw-primary:        #3B37E8;   /* azul índigo principal */
    --gw-primary-dark:   #1e1ab0;   /* hover / pressed */
    --gw-primary-light:  #6C69F5;   /* variante clara */
    --gw-primary-bg:     #EEF0FF;   /* fondo muy claro */
    --gw-primary-border: #c7d2fe;

    /* Acento — verde vibrante del logotipo / naturaleza */
    --gw-accent:         #10b981;   /* verde éxito */
    --gw-accent-dark:    #059669;
    --gw-accent-bg:      #d1fae5;

    /* Lima / destaque — del afiche de marca */
    --gw-lime:           #AAFF2F;
    --gw-lime-dark:      #84cc16;

    /* Alerta / advertencia */
    --gw-warning:        #f59e0b;
    --gw-warning-bg:     #fef3c7;

    /* Error */
    --gw-danger:         #ef4444;
    --gw-danger-bg:      #fee2e2;

    /* Oscuros (reemplazo de #242424) */
    --gw-dark:           #1e1b4b;   /* casi negro con tinte índigo */
    --gw-dark2:          #312e81;
    --gw-gray:           #4b5563;
    --gw-muted:          #6b7280;
    --gw-muted-light:    #9ca3af;

    /* Bordes y fondos */
    --gw-border:         #e0e7ff;
    --gw-border-light:   #f0f4ff;
    --gw-bg:             #f8f9ff;   /* fondo general ligeramente azulado */
    --gw-white:          #ffffff;

    /* Tipografía */
    --gw-font:           'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

    /* Radios */
    --gw-radius-sm:      4px;
    --gw-radius:         8px;
    --gw-radius-md:      12px;
    --gw-radius-lg:      16px;
    --gw-radius-xl:      24px;

    /* Sombras */
    --gw-shadow-sm:      0 1px 4px rgba(59,55,232,.08);
    --gw-shadow:         0 4px 16px rgba(59,55,232,.12);
    --gw-shadow-md:      0 8px 24px rgba(59,55,232,.16);
    --gw-shadow-lg:      0 16px 48px rgba(59,55,232,.20);

    /* Transición global */
    --gw-transition:     all 0.22s cubic-bezier(.4,0,.2,1);
}

/* ── 3. Reset de fuente — reemplaza Roboto en TODO el sitio ── */
body, html,
p, span, a, li, label, input, textarea, select, button,
h1, h2, h3, h4, h5, h6,
td, th, blockquote, pre,
.link-j1, .main-heading, .job-ut-dts, .job-des-dt,
.navbar-light .navbar-nav .nav-link,
.add-post, .add-task, .view-links, .srch-btn,
.lr_btn, .apply_job, .apply_job_rt,
.offer-text-dt, .p-category {
    font-family: var(--gw-font) !important;
}
p {
    color: var(--gw-muted);
}

/* ── RESTAURAR FontAwesome — FIX ROBUSTO anti-□ ─────────── */
i.fa, i.fas, i.far, i.fal, i.fab, i.fad,
.fa, .fas, .far, .fal, .fab, .fad,
[class^="fa-"], [class*=" fa-"] {
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    speak: never !important;
    display: inline-block !important;
}
i.fab, .fab, [class^="fab"] {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}
i.far, .far { font-weight: 400 !important; }
.fa::before, .fas::before, .far::before, .fal::before, .fad::before,
[class^="fa-"]::before, [class*=" fa-"]::before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}
.fab::before { font-family: "Font Awesome 5 Brands" !important; font-weight: 400 !important; }
.far::before { font-weight: 400 !important; }

/* ── 4. Fondo general ─────────────────────────────────────── */
body {
    background: var(--gw-bg) !important;
}

/* ── 5. Color principal — reemplaza #3498db ──────────────── */
a:hover { color: var(--gw-primary) !important; }
a:focus { color: var(--gw-primary) !important; }
::-moz-selection { background: var(--gw-primary); color: #fff; }
::selection      { background: var(--gw-primary); color: #fff; }
input:focus,
textarea:focus,
.job-input:focus,
.search-1:focus {
    border-color: var(--gw-primary) !important;
    box-shadow: 0 0 0 3px rgba(59,55,232,.12) !important;
    outline: none !important;
}

/* ── 6. Barra de búsqueda ────────────────────────────────── */
.Search-section {
    background: linear-gradient(135deg, var(--gw-primary) 0%, var(--gw-primary-light) 100%) !important;
    padding: 18px 0 !important;
}
.srch-btn {
    background: var(--gw-accent) !important;
    border-color: var(--gw-accent) !important;
    color: #fff !important;
    border-radius: var(--gw-radius) !important;
    font-weight: 600 !important;
    transition: var(--gw-transition) !important;
}
.srch-btn:hover {
    background: var(--gw-accent-dark) !important;
    border-color: var(--gw-accent-dark) !important;
    color: #fff !important;
}
.search-1 {
    border-color: rgba(255,255,255,.3) !important;
    border-radius: var(--gw-radius) !important;
    color: var(--gw-dark) !important;
}

/* ── 7. Header / Navbar ──────────────────────────────────── */
.sub-header {
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(59,55,232,.08) !important;
}
.navbar-light .navbar-nav .nav-link {
    color: var(--gw-dark) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-expand-lg .navbar-nav .nav-link:hover {
    color: var(--gw-primary) !important;
}
.add-post {
    background: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
    font-weight: 600 !important;
    letter-spacing: .3px !important;
    transition: var(--gw-transition) !important;
}
.add-post:hover {
    background: var(--gw-primary-dark) !important;
    color: #fff !important;
}
.add-task {
    background: var(--gw-dark) !important;
    border-radius: var(--gw-radius) !important;
    font-weight: 600 !important;
}
.add-task:hover {
    background: var(--gw-dark2) !important;
    color: #fff !important;
}
.icon14:hover, .icon15:hover { color: var(--gw-primary) !important; }
.circle-alrt     { background: var(--gw-primary) !important; }
.noti-p-link     { color: var(--gw-primary) !important; }
.link-item:hover { border-color: var(--gw-primary) !important; color: var(--gw-primary) !important; }

/* ── 8. Barra de logros ──────────────────────────────────── */
.achivements {
    background: linear-gradient(135deg, var(--gw-dark) 0%, var(--gw-dark2) 100%) !important;
}

/* ── 9. Tarjetas de oferta ───────────────────────────────── */
.job-item {
    border-radius: var(--gw-radius-md) !important;
    border-color: var(--gw-border) !important;
    transition: var(--gw-transition) !important;
    overflow: hidden !important;
}
.job-item:hover {
    border-color: var(--gw-primary-border) !important;
    box-shadow: var(--gw-shadow-md) !important;
    transform: translateY(-3px) !important;
}
.job-fp {
    background: var(--gw-primary) !important;
    border-radius: 20px !important;
    font-weight: 600 !important;
}
.job-prt  { background: var(--gw-accent) !important; }
.job-skills a:hover,
.job-skills .more-skills {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    color: #fff !important;
}
.link-j1:hover {
    background: var(--gw-primary) !important;
    color: #fff !important;
}
.bookmark1:hover {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    color: #fff !important;
}

/* ── 10. Botones principales ─────────────────────────────── */
.view-links {
    background: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
    font-weight: 700 !important;
    letter-spacing: .3px !important;
    transition: var(--gw-transition) !important;
}
.view-links:hover {
    background: var(--gw-primary-dark) !important;
    color: #fff !important;
}
.btn-152 { background: var(--gw-primary) !important; border-radius: var(--gw-radius) !important; }
.btn-152:hover { background: var(--gw-primary-dark) !important; color: #fff !important; }
.btn-153 { background: var(--gw-dark) !important; border-radius: var(--gw-radius) !important; }
.btn-153:hover { background: var(--gw-dark2) !important; color: #fff !important; }
.s-btn {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
}
.s-btn:hover {
    background: var(--gw-accent) !important;
    border-color: var(--gw-accent) !important;
    color: #fff !important;
}
.flr-btn { background: var(--gw-primary) !important; border-radius: var(--gw-radius) !important; font-weight: 700 !important; }
.apply_job, .apply_job_rt, .apply_job50 {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
}
.apply_job:hover, .apply_job_rt:hover, .apply_job50:hover {
    background: var(--gw-primary-dark) !important;
    color: #fff !important;
}

/* ── 11. Pestañas / Nav tabs ─────────────────────────────── */
.main-tabs .nav-tabs .nav-item.show .nav-link,
.main-tabs .nav-tabs .nav-link.active {
    color: var(--gw-primary) !important;
    border-bottom-color: var(--gw-primary) !important;
}
.main-tabs .nav-tabs .nav-item .nav-link:hover {
    color: var(--gw-primary) !important;
    border-bottom-color: var(--gw-primary) !important;
}
.account_tabs .nav-tabs .nav-link.active,
.account_tabs .nav-link:hover {
    color: var(--gw-primary) !important;
    border-color: var(--gw-border) var(--gw-border) #fff !important;
}
.job_nav .nav-item.show .nav-link,
.job_nav .nav-link.active,
.job_nav .nav-link:hover {
    color: var(--gw-primary) !important;
    border-left-color: var(--gw-primary) !important;
}

/* ── 12. Slider / Carruseles ─────────────────────────────── */
.bnnr-owl .owl-nav .owl-prev:hover,
.bnnr-owl .owl-nav .owl-next:hover,
.jobs-owl .owl-nav .owl-prev:hover,
.jobs-owl .owl-nav .owl-next:hover {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    color: #fff !important;
}

/* ── 13. Categorías ──────────────────────────────────────── */
.offer-step {
    border-top-color: var(--gw-primary) !important;
    border-radius: 0 0 var(--gw-radius) var(--gw-radius) !important;
    transition: var(--gw-transition) !important;
}
.offer-step:hover { box-shadow: var(--gw-shadow-md) !important; }
.p-category > a:hover p { color: var(--gw-primary) !important; }
.offer-text-dt a:hover  { color: var(--gw-primary) !important; }
.job-ut-dts span i      { color: var(--gw-primary) !important; }

/* ── 14. Rating / Stars ──────────────────────────────────── */
.star span { background: var(--gw-accent) !important; }
.progress_bar_skills { background: var(--gw-primary) !important; }
.group_bar1 span { color: var(--gw-primary) !important; }

/* ── 15. Footer ──────────────────────────────────────────── */
.footer { background: var(--gw-dark) !important; }
.header102 { background: var(--gw-primary) !important; }
.copyright a { color: var(--gw-primary-light) !important; }
.footer-links ul li a:hover { color: var(--gw-primary-light) !important; }
.view-all {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
}
.view-all:hover { background: var(--gw-primary-dark) !important; color: #fff !important; }
#pageup {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    border-radius: 50% !important;
}
#pageup:hover { background: var(--gw-primary-dark) !important; }

/* ── 16. Dashboard / Badges ──────────────────────────────── */
.priorty        { background: var(--gw-primary) !important; }
.priorty_low    { background: var(--gw-accent) !important; }
.priorty_medium { background: var(--gw-warning) !important; }
.trans_badge    { background: var(--gw-primary) !important; }
.col_icon1      { color: var(--gw-primary) !important; }
.add_note_btn   { background: var(--gw-primary) !important; }
.add_note_btn:hover { background: var(--gw-primary-dark) !important; }
.main_lg_btn    { background: var(--gw-primary) !important; }
.main_lg_btn:hover { background: var(--gw-primary-dark) !important; }

/* ── 17. Mensajes / Chat ─────────────────────────────────── */
.message-inner-dt > p  { background: var(--gw-primary) !important; }
.mf-field button       { background: var(--gw-primary) !important; }
.mf-field button:hover { background: var(--gw-primary-dark) !important; }
.msg-notifc            { background: var(--gw-primary) !important; }
.messages-list ul li.active .msg-status { background: var(--gw-primary) !important; }

/* ── 18. Checkboxes / UI Semantic ────────────────────────── */
.ui.checkbox input:checked ~ .box:before,
.ui.checkbox input:checked ~ label:before { border-color: var(--gw-primary) !important; }
.ui.radio.checkbox input:checked ~ .box:after,
.ui.radio.checkbox input:checked ~ label:after { background: var(--gw-primary) !important; }
.main-p-pagination .pagination .page-link:hover,
.main-p-pagination .pagination .page-link.active {
    background: var(--gw-primary) !important;
    border-color: var(--gw-primary) !important;
    color: #fff !important;
}

/* ── 19. Planes / Precios ────────────────────────────────── */
.plan_icon i   { color: var(--gw-primary) !important; }
.plan_btn a    { background: var(--gw-primary) !important; }
.plan_btn a:hover { background: var(--gw-primary-dark) !important; color: #fff !important; }
.earn_amount   { color: var(--gw-primary) !important; }
.withdraw_btn  { background: var(--gw-primary) !important; }
.withdraw_btn:hover { background: var(--gw-primary-dark) !important; }

/* ── 20. Blog ────────────────────────────────────────────── */
.read_btn     { background: var(--gw-primary) !important; }
.read_btn:hover { background: var(--gw-primary-dark) !important; color: #fff !important; }
.pp_14        { background: var(--gw-primary) !important; }
.blogbtn142   { background: var(--gw-primary) !important; }
.blogbtn142:hover { background: var(--gw-primary-dark) !important; }
.blog_left a  { color: var(--gw-primary) !important; }
.blog_left a:hover { color: var(--gw-primary-dark) !important; }
.subscribe_blog { background: var(--gw-primary) !important; }

/* ── 21. Formularios de contacto / postulación ───────────── */
.hire_btn, .post_jp_btn, .lr_btn, .help_btn {
    background: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
}
.hire_btn:hover, .post_jp_btn:hover, .lr_btn:hover, .help_btn:hover {
    background: var(--gw-primary-dark) !important;
    color: #fff !important;
}
.add_portfolio_btn { background: var(--gw-primary) !important; }
.download_button   { background: var(--gw-primary) !important; }
.apled_btn50, .apled_btn60, .paid_btn {
    background: var(--gw-primary) !important;
    border-radius: var(--gw-radius-sm) !important;
}
.apled_btn50:hover, .apled_btn60:hover, .paid_btn:hover {
    background: var(--gw-primary-dark) !important;
}
.apply_check input:checked ~ .box:after,
.apply_check input:checked ~ label:after { color: var(--gw-primary) !important; }

/* ── 22. Social links fijos ──────────────────────────────── */
.skiils_button { border-color: var(--gw-primary) !important; color: var(--gw-primary) !important; }
.skiils_button:hover {
    background: var(--gw-primary) !important;
    color: #fff !important;
    border-color: var(--gw-primary) !important;
}
.vw1254 i { color: var(--gw-primary) !important; }
.lc_icon  { color: var(--gw-primary) !important; }
.job-urs-dts .c-link { color: var(--gw-primary) !important; }

/* ── 23. Barra de progreso / Range slider ────────────────── */
.theme-green .back-bar .pointer { border-color: var(--gw-primary) !important; }
.datepicker--cell.-selected-,
.datepicker--cell.-selected-.-current- {
    background: var(--gw-primary) !important;
    color: #fff !important;
}
.datepicker--cell.-current- { color: var(--gw-primary) !important; }

/* ── 24. File upload ─────────────────────────────────────── */
.file-form [type=file] + label {
    background: var(--gw-primary) !important;
    border-radius: var(--gw-radius) !important;
}
.file-form [type=file] + label:hover { background: var(--gw-primary-dark) !important; }
.image-upload-wrap1 { background: var(--gw-primary) !important; }

/* ── 25. Tipografía de títulos de sección ────────────────── */
.main-heading h2 {
    color: var(--gw-dark) !important;
    font-weight: 700 !important;
    font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
}
.main-heading span { color: var(--gw-muted) !important; }

/* ── 26. Scrollbar ───────────────────────────────────────── */
body::-webkit-scrollbar-thumb { background: rgba(59,55,232,.18) !important; }

/* ── 27. Doble encabezado de categorías ──────────────────── */
.gw-cats-wrapper .main-heading { display: none !important; }

/* ── 28. Tarjetas — bordes redondeados modernos ─────────── */
.offer-step {
    border-radius: var(--gw-radius-md) !important;
    border-top-width: 3px !important;
}
.job-item { border-radius: var(--gw-radius-md) !important; }

/* ── 29. Indicadores de estado en proyectos ──────────────── */
.status-active   { background: var(--gw-primary-bg) !important; color: var(--gw-primary) !important; }
.status-accepted { background: var(--gw-accent-bg) !important; color: var(--gw-accent-dark) !important; }

/* ── 30. Responsive refinements ──────────────────────────── */
@media (max-width: 767px) {
    .add-post, .add-task { font-size: 12px !important; padding: 6px 14px !important; }
    .job-item { border-radius: var(--gw-radius) !important; }
    .view-links { width: 100% !important; }
}

/* ══════════════════════════════════════════════════════════════
   31. MOBILE OVERFLOW — FIX CRÍTICO
══════════════════════════════════════════════════════════════ */
html {
    overflow-x: hidden !important;
    max-width: 100% !important;
}
body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
}
.container,
.container-fluid,
.row {
    max-width: 100% !important;
}
@media (max-width: 767px) {
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .row > [class*="col-"] {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    section,
    .gw-section, .gloria-section, .publicar-section,
    .achivements, .all-categories, .we-offers {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .owl-carousel, .owl-stage-outer, .jobs-owl, .bnnr-owl {
        max-width: 100% !important;
        overflow: hidden !important;
    }
    .achive-text { font-size: 13px !important; white-space: normal !important; }
    .post-buttons { text-align: center !important; }
    .post-buttons li { display: block !important; margin-bottom: 8px !important; }
    .add-job, .add-project {
        display: block !important; width: 100% !important;
        margin-left: 0 !important; text-align: center !important;
    }
    .footer-links { margin-top: 30px !important; }
    .subscribe-newsletter .row > [class*="col-"] { margin-bottom: 16px !important; }
    .main-p-pagination { text-align: center !important; }
    .main-p-pagination .pagination { flex-wrap: wrap !important; justify-content: center !important; }
    .link-btn li { display: block !important; width: 100% !important; }
    .link-btn li:last-child { width: 100% !important; }
    .link-btn li:nth-child(2) {
        border-left: none !important; border-right: none !important;
        border-top: 1px solid #e5e5e5 !important;
        border-bottom: 1px solid #e5e5e5 !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   32. APLICAR SIN REGISTRO (aplicar_sin_registro.php)
   Layout split oscuro/claro, clases: asr-*
══════════════════════════════════════════════════════════════ */

/* Keyframe compartido para spinners */
@keyframes gw-spin { to { transform: rotate(360deg); } }

/* Layout */
.asr-wrap {
    display: grid;
    grid-template-columns: 420px 1fr;
    min-height: 100vh;
    width: 100%;
}

/* ─ Panel izquierdo (oscuro) ─ */
.asr-left {
    background:
        radial-gradient(ellipse 80% 60% at 20% 30%, rgba(59,55,232,.18) 0%, transparent 60%),
        radial-gradient(ellipse 60% 80% at 80% 80%, rgba(13,148,136,.12) 0%, transparent 60%),
        #0f172a;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
}
.asr-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 48px;
    text-decoration: none;
}
.asr-logo img  { height: 32px; width: auto; }
.asr-logo span { font-size: 20px; font-weight: 800; color: #f8fafc; letter-spacing: -.03em; }
.asr-left-title {
    font-size: 1.7rem;
    font-weight: 800;
    color: #f8fafc;
    line-height: 1.2;
    letter-spacing: -.03em;
    margin: 0 0 10px;
}
.asr-left-sub { font-size: 14px; color: #64748b; margin: 0 0 36px; line-height: 1.6; }

/* Pasos numerados */
.asr-steps { display: flex; flex-direction: column; }
.asr-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    position: relative;
    padding-bottom: 28px;
}
.asr-step:last-child { padding-bottom: 0; }
.asr-step::before {
    content: '';
    position: absolute;
    left: 18px; top: 36px; bottom: 0;
    width: 1px;
    background: linear-gradient(to bottom, rgba(255,255,255,.10), transparent);
}
.asr-step:last-child::before { display: none; }
.asr-step-num {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(59,55,232,.18);
    border: 1px solid rgba(59,55,232,.35);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700; color: #818cf8;
    flex-shrink: 0;
}
.asr-step.done .asr-step-num {
    background: rgba(16,185,129,.15);
    border-color: rgba(16,185,129,.3);
    color: #34d399;
}
.asr-step-text strong { display: block; font-size: 13.5px; font-weight: 700; color: #e2e8f0; margin-bottom: 2px; }
.asr-step-text p      { font-size: 12px; color: #475569; margin: 0; line-height: 1.5; }

/* Pills de confianza */
.asr-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    padding-top: 32px;
}
.asr-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 20px;
    font-size: 11.5px; font-weight: 600; color: #64748b;
}
.asr-trust-pill i { color: #0d9488; font-size: 10px; }

/* ─ Panel derecho (formulario) ─ */
.asr-right {
    background: #f8fafc;
    overflow-y: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 32px;
}
.asr-form-wrap { width: 100%; max-width: 520px; }
.asr-form-title { font-size: 1.4rem; font-weight: 800; color: #1e293b; margin: 0 0 4px; letter-spacing: -.02em; }
.asr-form-sub   { font-size: 13.5px; color: #64748b; margin: 0 0 28px; }

/* Alerta informativa */
.asr-alert {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(13,148,136,.06);
    border: 1px solid rgba(13,148,136,.2);
    border-radius: 10px;
    margin-bottom: 24px;
}
.asr-alert i              { color: var(--gw-accent); font-size: 15px; margin-top: 1px; flex-shrink: 0; }
.asr-alert-text           { font-size: 13px; color: #374151; line-height: 1.5; }
.asr-alert-text strong    { color: #1e293b; display: block; margin-bottom: 1px; }

/* Grid nombre / apellido */
.asr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.asr-field { margin-bottom: 18px; }
.asr-label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.asr-label .req { color: var(--gw-danger); margin-left: 2px; }

/* Input base */
.asr-input {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 9px;
    font-family: var(--gw-font);
    font-size: 14px; color: #1e293b;
    background: #fff;
    transition: var(--gw-transition);
    outline: none;
}
.asr-input:focus {
    border-color: var(--gw-primary);
    box-shadow: 0 0 0 3px rgba(59,55,232,.08);
}
.asr-input.is-invalid { border-color: var(--gw-danger); }
.asr-input::placeholder { color: #9ca3af; font-weight: 400; }
textarea.asr-input { resize: vertical; min-height: 110px; }

/* Hint / contador de caracteres */
.asr-field-hint {
    font-size: 11.5px; color: #9ca3af;
    margin-top: 5px;
    display: flex; justify-content: space-between;
}
.asr-field-hint.ok  { color: var(--gw-accent); }
.asr-field-hint.err { color: var(--gw-danger); }

/* Zona de subida de archivo */
.asr-file-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px 20px;
    border: 2px dashed #cbd5e1;
    border-radius: 10px;
    cursor: pointer;
    transition: var(--gw-transition);
    background: #fff;
    text-align: center;
}
.asr-file-label:hover {
    border-color: var(--gw-primary);
    background: rgba(59,55,232,.03);
}
.asr-file-label i      { font-size: 28px; color: var(--gw-primary); }
.asr-file-label strong { font-size: 13.5px; font-weight: 700; color: #1e293b; }
.asr-file-label small  { font-size: 11.5px; color: #9ca3af; }

.asr-file-selected {
    display: none;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(59,55,232,.05);
    border: 1px solid rgba(59,55,232,.15);
    border-radius: 8px;
    margin-top: 10px;
}
.asr-file-selected.show { display: flex; }
.asr-file-selected i    { color: var(--gw-primary); font-size: 20px; }
.asr-file-info          { flex: 1; }
.asr-file-info strong   { display: block; font-size: 13px; color: #1e293b; }
.asr-file-info small    { font-size: 11.5px; color: #64748b; }
.asr-remove-file {
    background: none; border: none; cursor: pointer;
    color: var(--gw-danger); font-size: 14px;
    padding: 4px 8px; border-radius: 5px;
    transition: var(--gw-transition);
}
.asr-remove-file:hover { background: var(--gw-danger-bg); }

/* Botón de envío */
.asr-btn-primary {
    width: 100%;
    padding: 14px;
    background: var(--gw-primary);
    border: none;
    border-radius: 9px;
    color: #fff;
    font-family: var(--gw-font);
    font-size: 15px; font-weight: 700;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: var(--gw-transition);
    margin-bottom: 20px;
}
.asr-btn-primary:hover:not(:disabled) {
    background: var(--gw-primary-dark);
    transform: translateY(-1px);
    box-shadow: var(--gw-shadow-md);
}
.asr-btn-primary:disabled { opacity: .65; cursor: not-allowed; transform: none; }
.asr-btn-primary .btn-spinner {
    width: 18px; height: 18px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: gw-spin 1s linear infinite;
    display: none;
}
.asr-btn-primary.loading .btn-spinner { display: block; }
.asr-btn-primary.loading .btn-text   { display: none; }

/* Separador */
.asr-divider {
    display: flex; align-items: center; gap: 12px;
    margin: 4px 0 20px;
    color: #94a3b8; font-size: 12.5px; font-weight: 600;
}
.asr-divider::before,
.asr-divider::after { content: ''; flex: 1; height: 1px; background: #e2e8f0; }

/* Botones sociales */
.asr-socials { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.asr-social-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 12px;
    border: 1.5px solid #e2e8f0;
    border-radius: 9px;
    background: #fff;
    font-family: var(--gw-font);
    font-size: 14px; font-weight: 600; color: #374151;
    cursor: pointer; text-decoration: none;
    transition: var(--gw-transition);
}
.asr-social-btn:hover {
    border-color: #cbd5e1; background: #f8fafc;
    transform: translateY(-1px); color: #1e293b;
    text-decoration: none;
}
.asr-social-btn i { font-size: 17px; }
.asr-social-btn .social-spinner {
    width: 16px; height: 16px;
    border: 2px solid rgba(0,0,0,.15);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: gw-spin 1s linear infinite;
    display: none;
}
.asr-social-btn.loading .social-spinner { display: block; }
.asr-social-btn.loading .social-text   { display: none; }
.asr-social-btn.loading { pointer-events: none; opacity: .8; }

/* Link de login */
.asr-login-link { text-align: center; font-size: 13.5px; color: #64748b; }
.asr-login-link a { color: var(--gw-primary); font-weight: 700; text-decoration: none; }
.asr-login-link a:hover { text-decoration: underline; }

/* Botón volver */
.asr-back {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12.5px; font-weight: 600; color: #64748b;
    text-decoration: none; margin-bottom: 28px;
    padding: 6px 10px; border-radius: 7px;
    transition: var(--gw-transition);
}
.asr-back:hover { background: #f1f5f9; color: #1e293b; text-decoration: none; }

/* Toasts */
.asr-toast-wrap { position: fixed; top: 20px; right: 20px; z-index: 9999; }
.asr-toast {
    min-width: 280px; background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0,0,0,.12);
    padding: 14px 16px; margin-bottom: 10px;
    border-left: 4px solid transparent;
    transform: translateX(110%); transition: transform .25s;
}
.asr-toast.show    { transform: translateX(0); }
.asr-toast.t-success { border-color: var(--gw-accent); }
.asr-toast.t-error   { border-color: var(--gw-danger); }
.asr-toast.t-info    { border-color: var(--gw-primary); }
.asr-toast-msg { font-size: 13.5px; color: #374151; font-family: var(--gw-font); }

/* Responsive ASR */
@media (max-width: 900px) {
    .asr-wrap { grid-template-columns: 1fr; }
    .asr-left { position: relative; height: auto; padding: 32px 24px 28px; }
    .asr-steps { display: none; }
    .asr-trust { margin-top: 20px; padding-top: 0; }
    .asr-right { padding: 32px 20px; }
}
@media (max-width: 540px) {
    .asr-row { grid-template-columns: 1fr; gap: 0; }
}

/* ══════════════════════════════════════════════════════════════
   33. SLIDER DE OFERTAS SIMILARES (slider_similares.php)
   Carrusel Owl con tarjetas modernas, clases: slm-*
══════════════════════════════════════════════════════════════ */
.slm-section { padding: 44px 0 52px; }

.slm-head {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 24px;
}
.slm-head::before {
    content: '';
    width: 4px; height: 22px;
    background: var(--gw-accent);
    border-radius: 2px; display: inline-block; flex-shrink: 0;
}
.slm-title { font-size: 1.1rem; font-weight: 800; color: #1e293b; letter-spacing: -.02em; margin: 0; }
.slm-count {
    font-size: 12px; font-weight: 600; color: #94a3b8;
    background: #f1f5f9; border: 1px solid #e2e8f0;
    border-radius: 20px; padding: 3px 10px;
}

/* Tarjeta */
.slm-card {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px; overflow: hidden;
    transition: var(--gw-transition);
    height: 100%; display: flex; flex-direction: column;
}
.slm-card:hover {
    border-color: var(--gw-accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(16,185,129,.12);
}

/* Cabecera de tarjeta */
.slm-card-head {
    padding: 16px 16px 12px;
    display: flex; align-items: flex-start; gap: 12px;
    border-bottom: 1px solid #f1f5f9;
}
.slm-logo {
    width: 44px; height: 44px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    overflow: hidden; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; padding: 4px;
}
.slm-logo img { width: 100%; height: 100%; object-fit: contain; }
.slm-company  { flex: 1; min-width: 0; }
.slm-company-name {
    font-size: 12.5px; font-weight: 700; color: #1e293b;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: block; margin-bottom: 3px;
}
.slm-loc { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: #64748b; }
.slm-loc i { font-size: 9px; }

/* Cuerpo de tarjeta */
.slm-card-body { padding: 14px 16px; flex: 1; }
.slm-puesto {
    font-size: 14px; font-weight: 700; color: #1e293b;
    line-height: 1.35; margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.slm-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.slm-pill {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 600;
    padding: 3px 9px; border-radius: 20px;
    background: #f1f5f9; color: #475569;
    border: 1px solid #e2e8f0; white-space: nowrap;
}
.slm-pill-tipo { background: rgba(13,148,136,.07);  color: #0d9488; border-color: rgba(13,148,136,.18); }
.slm-pill-sal  { background: rgba(245,158,11,.07);  color: #b45309; border-color: rgba(245,158,11,.18); }
.slm-pill-venc { background: rgba(239,68,68,.07);   color: #dc2626; border-color: rgba(239,68,68,.18); }

/* Pie de tarjeta */
.slm-card-foot {
    padding: 12px 16px;
    border-top: 1px solid #f1f5f9;
    display: flex; gap: 8px;
}
.slm-btn {
    flex: 1;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 9px 10px; border-radius: 8px;
    font-size: 12.5px; font-weight: 700;
    font-family: var(--gw-font);
    text-decoration: none; cursor: pointer; border: none;
    transition: var(--gw-transition); white-space: nowrap;
}
.slm-btn-primary { background: var(--gw-accent); color: #fff; }
.slm-btn-primary:hover { background: var(--gw-accent-dark); color: #fff !important; text-decoration: none; }
.slm-btn-outline { background: #fff; color: #475569; border: 1.5px solid #e2e8f0; }
.slm-btn-outline:hover { border-color: var(--gw-accent); color: var(--gw-accent) !important; text-decoration: none; }
.slm-btn-icon {
    width: 36px; flex: none;
    background: #fff; color: #94a3b8;
    border: 1.5px solid #e2e8f0; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: var(--gw-transition);
    font-size: 13px; padding: 0;
}
.slm-btn-icon:hover { border-color: var(--gw-danger); color: var(--gw-danger); }

/* Owl carousel — overrides del slider similares */
.slm-section .owl-stage  { display: flex; }
.slm-section .owl-item   { display: flex; }
.slm-section .owl-item > .item { width: 100%; display: flex; }
.slm-section .owl-prev,
.slm-section .owl-next {
    background: #fff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    width: 36px !important; height: 36px !important;
    color: #475569 !important;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    transition: var(--gw-transition); margin: 0 4px !important;
}
.slm-section .owl-prev:hover,
.slm-section .owl-next:hover {
    background: var(--gw-accent) !important;
    border-color: var(--gw-accent) !important;
    color: #fff !important;
}
.slm-section .owl-dot span {
    background: #cbd5e1 !important;
    width: 6px !important; height: 6px !important;
}
.slm-section .owl-dot.active span {
    background: var(--gw-accent) !important;
    width: 18px !important; border-radius: 3px !important;
}
.slm-section .owl-dots { margin-top: 20px !important; }

/* Estado vacío */
.slm-empty { text-align: center; padding: 48px 20px; color: #94a3b8; }
.slm-empty i { font-size: 2.5rem; display: block; margin-bottom: 12px; opacity: .4; }
.slm-empty p { font-size: 14px; margin: 0; }

/* ═══════════════════════════════════════════════════════════════
   SECCIÓN 34 — DETALLE OFERTA EMPLEO (.dv-*)
   ═══════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
    --dv-navy:  #0f172a;
    --dv-teal:  #0d9488;
    --dv-teal2: #14b8a6;
    --dv-gold:  #f59e0b;
    --dv-muted: #64748b;
    --dv-border:#e2e8f0;
    --dv-bg:    #f1f5f9;
    --dv-font:  'Plus Jakarta Sans','DM Sans',system-ui,sans-serif;
}

/* ── HERO ── */
.dv-hero {
    background: radial-gradient(ellipse 60% 120% at 50% 110%, rgba(13,148,136,.12) 0%, transparent 65%), #0f172a;
    padding: 36px 0 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.dv-breadcrumb { font-size:12px; color:#475569; margin-bottom:16px; }
.dv-breadcrumb a     { color:#64748b; text-decoration:none; }
.dv-breadcrumb a:hover { color:var(--dv-teal2) !important; }
.dv-breadcrumb .sep  { margin:0 6px; color:#334155; }

.dv-hero-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px 16px 0 0;
    padding: 24px 24px 0;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.dv-logo-wrap {
    width: 68px; height: 68px;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
    overflow: hidden; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; padding: 6px;
}
.dv-logo-wrap img { width:100%; height:100%; object-fit:contain; }
.dv-hero-info { flex:1; min-width:0; padding-bottom:22px; }
.dv-hero-top  { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.dv-h1 {
    font-size: clamp(1.15rem, 3vw, 1.85rem);
    font-weight: 800; color: #f8fafc;
    letter-spacing: -.025em; line-height: 1.2;
    margin: 0 0 8px; font-family: var(--dv-font) !important;
    word-break: break-word;
}
.dv-badge {
    display: inline-flex; align-items: center;
    padding: 4px 11px; border-radius: 20px;
    font-size: 11px; font-weight: 700; color: #fff;
    white-space: nowrap; flex-shrink: 0; margin-top: 3px;
    font-family: var(--dv-font) !important;
}
.dv-company-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dv-co-link { font-size:14px; font-weight:700; color:var(--dv-teal2); text-decoration:none; font-family:var(--dv-font) !important; }
.dv-co-link:hover { color:#fff !important; }
.dv-meta-pill { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#64748b; font-family:var(--dv-font) !important; }
.dv-meta-pill i { font-size:10px; }

/* ── STATS BAR ── */
.dv-stats-bar {
    background: rgba(255,255,255,.03);
    border-top: 1px solid rgba(255,255,255,.05);
    padding: 0 24px;
    width: 100%; max-width: 100%; overflow: hidden;
}
.dv-stats-inner {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.dv-stats-inner::-webkit-scrollbar { display: none; }
.dv-stat-item {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px;
    border-right: 1px solid rgba(255,255,255,.06);
    white-space: nowrap; flex-shrink: 0;
}
.dv-stat-item:first-child { padding-left: 0; }
.dv-stat-item:last-child  { border-right: none; }
.dv-stat-ico { color: var(--dv-teal); font-size: 13px; }
.dv-stat-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#475569; display:block; font-family:var(--dv-font) !important; }
.dv-stat-val { font-size:13px; font-weight:700; color:#94a3b8; font-family:var(--dv-font) !important; }

/* ── BOTONES ACCIONES ── */
.dv-actions {
    display: flex; gap: 10px; flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.dv-btn-main {
    display: inline-flex; align-items: center; justify-content:center; gap: 7px;
    padding: 11px 20px;
    background: var(--dv-teal); border: none; border-radius: 8px;
    font-family: var(--dv-font) !important; font-size: 13.5px; font-weight: 700;
    color: #fff; cursor: pointer; text-decoration: none; transition: all .2s;
    white-space: nowrap;
}
.dv-btn-main:hover { background:#0f766e; color:#fff !important; text-decoration:none; box-shadow:0 6px 20px rgba(13,148,136,.30); transform:translateY(-1px); }
.dv-btn-sec {
    display: inline-flex; align-items: center; justify-content:center; gap: 7px;
    padding: 11px 16px;
    background: transparent; border: 1.5px solid rgba(255,255,255,.12); border-radius: 8px;
    font-family: var(--dv-font) !important; font-size: 13.5px; font-weight: 600;
    color: #94a3b8; cursor: pointer; text-decoration: none; transition: all .2s;
    white-space: nowrap;
}
.dv-btn-sec:hover { border-color:rgba(255,255,255,.28); color:#f8fafc !important; text-decoration:none; }
.dv-btn-icon {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 11px 14px;
    background: transparent; border: 1.5px solid rgba(255,255,255,.08); border-radius: 8px;
    font-family: var(--dv-font) !important; font-size: 13px; font-weight: 600;
    color: #475569; cursor: pointer; transition: all .2s;
}
.dv-btn-icon:hover { border-color:rgba(255,255,255,.18); color:#94a3b8; }

/* ── BODY PRINCIPAL ── */
.dv-main { padding: 24px 0 52px; background: var(--dv-bg); }
.dv-grid {
    display: grid;
    grid-template-columns: 1fr 310px;
    gap: 22px;
    align-items: start;
}
.dv-card { background:#fff; border:1.5px solid var(--dv-border); border-radius:14px; overflow:hidden; }
.dv-sec  { padding:22px 24px; border-bottom:1px solid var(--dv-border); }
.dv-sec:last-child { border-bottom:none; }
.dv-sec-ttl {
    font-size:11.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase;
    color:var(--dv-teal); margin:0 0 14px;
    display:flex; align-items:center; gap:8px; font-family:var(--dv-font) !important;
}
.dv-sec-ttl::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,rgba(13,148,136,.2) 0%,transparent 100%); }

/* ── DESCRIPCIÓN ── */
.dv-desc { font-size:14.5px !important; color:#374151 !important; line-height:1.8 !important; font-family:var(--dv-font) !important; }
.dv-desc *, .dv-desc p, .dv-desc span, .dv-desc div, .dv-desc li,
.dv-desc font, .dv-desc td, .dv-desc a {
    font-family: var(--dv-font) !important;
    color: #374151 !important;
    font-size: 14.5px !important;
    line-height: 1.8 !important;
    background: transparent !important;
    font-style: normal !important;
    text-decoration: none !important;
}
.dv-desc strong, .dv-desc b { color:#1e293b !important; font-weight:700 !important; font-size:14.5px !important; }

/* ── REQUERIMIENTOS ── */
.dv-req-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.dv-req-item { background:#f8fafc; border:1px solid var(--dv-border); border-radius:9px; padding:11px 14px; }
.dv-req-lbl  { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; color:#9ca3af; display:block; margin-bottom:3px; font-family:var(--dv-font) !important; }
.dv-req-val  { font-size:13.5px; font-weight:600; color:#1e293b; font-family:var(--dv-font) !important; }

/* ── TAGS ── */
.dv-tags { display:flex; flex-wrap:wrap; gap:7px; }
.dv-tag  {
    display:inline-flex; align-items:center; padding:5px 12px;
    background:#f1f5f9; border:1px solid var(--dv-border); border-radius:20px;
    font-size:12.5px; font-weight:600; color:#475569; text-decoration:none;
    transition:all .18s; font-family:var(--dv-font) !important;
}
.dv-tag:hover { background:rgba(13,148,136,.08); border-color:rgba(13,148,136,.25); color:var(--dv-teal) !important; }

/* ── CTA STRIP ── */
.dv-cta-strip {
    background:#f8fafc; display:flex; align-items:center;
    justify-content:space-between; flex-wrap:wrap; gap:14px; padding:20px 24px;
}
.dv-cta-strip h5 { font-size:14px; font-weight:700; color:#1e293b; margin:0 0 3px; font-family:var(--dv-font) !important; }
.dv-cta-strip p  { font-size:12.5px; color:#64748b; margin:0; font-family:var(--dv-font) !important; }

/* ── SIDEBAR ── */
.dv-sidebar { display:flex; flex-direction:column; gap:16px; }
.dv-sc-head { padding:13px 18px; border-bottom:1px solid var(--dv-border); font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--dv-muted); font-family:var(--dv-font) !important; }
.dv-sc-body { padding:16px 18px; }
.dv-salary-box { background:linear-gradient(135deg,rgba(13,148,136,.08),rgba(13,148,136,.03)); border:1px solid rgba(13,148,136,.18); border-radius:10px; padding:14px 16px; margin-bottom:4px; }
.dv-salary-lbl { font-size:10.5px; color:#0d9488; font-weight:700; text-transform:uppercase; letter-spacing:.8px; margin-bottom:4px; font-family:var(--dv-font) !important; display:block; }
.dv-salary-val { font-size:1.1rem; font-weight:800; color:#1e293b; font-family:var(--dv-font) !important; }
.dv-salary-sub { font-size:11.5px; color:#9ca3af; font-family:var(--dv-font) !important; }
.dv-info-row  { display:flex; align-items:flex-start; gap:11px; padding:9px 0; border-bottom:1px solid #f1f5f9; }
.dv-info-row:last-child { border-bottom:none; padding-bottom:0; }
.dv-info-ico  { width:30px; height:30px; border-radius:7px; background:rgba(13,148,136,.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--dv-teal); font-size:12px; }
.dv-info-lbl  { font-size:10px; font-weight:600; color:#9ca3af; text-transform:uppercase; letter-spacing:.5px; display:block; margin-bottom:1px; font-family:var(--dv-font) !important; }
.dv-info-val  { font-size:13px; font-weight:600; color:#1e293b; font-family:var(--dv-font) !important; }
.dv-deadline  { display:flex; align-items:center; gap:7px; padding:9px 13px; border-radius:8px; font-size:12px; font-weight:600; margin-top:11px; font-family:var(--dv-font) !important; }
.dv-deadline.ok      { background:rgba(16,185,129,.08); border:1px solid rgba(16,185,129,.20); color:#059669; }
.dv-deadline.warn    { background:rgba(245,158,11,.08);  border:1px solid rgba(245,158,11,.20);  color:#d97706; }
.dv-deadline.expired { background:rgba(239,68,68,.08);   border:1px solid rgba(239,68,68,.20);   color:#dc2626; }
.dv-btn-profile { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px; border:1.5px solid var(--dv-border); border-radius:8px; background:#fff; font-family:var(--dv-font) !important; font-size:13px; font-weight:600; color:#475569; text-decoration:none; transition:all .18s; }
.dv-btn-profile:hover { border-color:var(--dv-teal); color:var(--dv-teal) !important; text-decoration:none; }
.dv-other-item { display:flex; align-items:center; gap:9px; padding:9px 0; border-bottom:1px solid #f1f5f9; text-decoration:none; }
.dv-other-item:last-child { border-bottom:none; padding-bottom:0; }
.dv-other-dot  { width:6px; height:6px; border-radius:50%; background:var(--dv-teal); flex-shrink:0; }
.dv-other-ttl  { font-size:12.5px; font-weight:600; color:#1e293b; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; font-family:var(--dv-font) !important; }
.dv-other-item:hover .dv-other-ttl { color:var(--dv-teal); }
.dv-other-sal  { font-size:11px; font-weight:600; color:var(--dv-teal); white-space:nowrap; flex-shrink:0; font-family:var(--dv-font) !important; }
.dv-soc-row  { display:flex; gap:8px; flex-wrap:wrap; }
.dv-soc-btn  { width:34px; height:34px; border-radius:7px; background:#f8fafc; border:1px solid var(--dv-border); display:flex; align-items:center; justify-content:center; color:#64748b; font-size:13px; text-decoration:none; transition:all .2s; }
.dv-soc-btn:hover { background:rgba(13,148,136,.10); border-color:rgba(13,148,136,.3); color:var(--dv-teal) !important; text-decoration:none; }
.dv-gloria     { background:radial-gradient(ellipse 80% 80% at 10% 20%,rgba(13,148,136,.14) 0%,transparent 60%),#0f172a; border:1.5px solid rgba(13,148,136,.18); border-radius:14px; padding:22px 18px; text-align:center; }
.dv-gloria-ico { font-size:1.9rem; display:block; margin-bottom:10px; }
.dv-gloria-ttl { font-size:.95rem; font-weight:800; color:#f8fafc; margin:0 0 5px; font-family:var(--dv-font) !important; }
.dv-gloria-sub { font-size:12px; color:#64748b; line-height:1.5; margin:0 0 14px; font-family:var(--dv-font) !important; }

/* ── SECCIÓN SIMILARES ── */
.dv-similares-wrap { background:#f8fafc; border-top:1px solid #e2e8f0; padding:40px 0; }
.dv-slider-title { font-family:var(--dv-font) !important; font-size:1.05rem; font-weight:800; color:#1e293b; margin:0 0 20px; display:flex; align-items:center; gap:10px; }
.dv-slider-title::before { content:''; width:4px; height:18px; background:var(--dv-teal); border-radius:2px; display:inline-block; }
.dv-similares-wrap .featured-cities { border-radius:12px; overflow:hidden; position:relative; display:block; }
.dv-similares-wrap .feature-img { position:relative; overflow:hidden; height:140px; }
.dv-similares-wrap .feature-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.dv-similares-wrap .featured-cities:hover .feature-img img { transform:scale(1.05); }
.dv-similares-wrap .overly-bg { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,23,42,.78) 0%,rgba(15,23,42,.2) 60%,transparent 100%); }
.dv-similares-wrap .featured-text { position:absolute; bottom:0; left:0; right:0; padding:12px 14px; }
.dv-similares-wrap .city-title { font-family:var(--dv-font) !important; font-size:14px !important; font-weight:700 !important; color:#fff !important; display:block; line-height:1.2; }
.dv-similares-wrap .featured-text ins { font-family:var(--dv-font) !important; font-size:11px !important; font-weight:600 !important; color:#14b8a6 !important; text-decoration:none !important; display:block; margin-top:3px; }
.dv-similares-wrap .owl-prev, .dv-similares-wrap .owl-next { background:#fff !important; border:1.5px solid #e2e8f0 !important; border-radius:8px !important; width:34px !important; height:34px !important; color:#475569 !important; display:flex !important; align-items:center; justify-content:center; transition:all .18s; }
.dv-similares-wrap .owl-prev:hover, .dv-similares-wrap .owl-next:hover { background:#0d9488 !important; border-color:#0d9488 !important; color:#fff !important; }
.dv-similares-wrap .owl-dot span { background:#cbd5e1 !important; width:6px !important; height:6px !important; }
.dv-similares-wrap .owl-dot.active span { background:#0d9488 !important; width:18px !important; }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    .dv-grid { grid-template-columns: 1fr; }
    .dv-sidebar { order: -1; }
}
@media (max-width: 767px) {
    .dv-hero     { padding: 20px 0 0; }
    .dv-hero-card { padding: 16px 14px 0; border-radius: 10px 10px 0 0; gap: 12px; }
    .dv-stats-bar { padding: 0 14px; }
    .dv-actions  { padding: 12px 14px; gap: 7px; }
    .dv-logo-wrap { width: 52px; height: 52px; }
    .dv-h1       { font-size: 1.2rem; }
    .dv-main     { padding: 14px 0 24px; }
    .dv-sec      { padding: 16px 14px; }
    .dv-sc-body  { padding: 14px; }
    .dv-cta-strip { flex-direction: column; align-items: flex-start; }
    .dv-req-grid { grid-template-columns: 1fr 1fr; }
    .dv-btn-main, .dv-btn-sec { font-size: 12.5px; padding: 10px 13px; }
}
@media (max-width: 480px) {
    .dv-hero-card   { flex-direction: column; gap: 8px; }
    .dv-req-grid    { grid-template-columns: 1fr; }
    .dv-actions     { flex-direction: column; }
    .dv-btn-main, .dv-btn-sec, .dv-btn-icon { width: 100%; justify-content: center; }
    .dv-company-line { gap: 6px; flex-wrap: wrap; }
}