/* ==========================================================================
   WP Job Board — Public Styles
   ========================================================================== */
:root {
    --wpjb-primary:   #1a56db;
    --wpjb-primary-d: #1648c0;
    --wpjb-success:   #057a55;
    --wpjb-error:     #c81e1e;
    --wpjb-gray-50:   #f9fafb;
    --wpjb-gray-100:  #f3f4f6;
    --wpjb-gray-200:  #e5e7eb;
    --wpjb-gray-500:  #6b7280;
    --wpjb-gray-700:  #374151;
    --wpjb-gray-800:  #1f2937;
    --wpjb-radius:    0;      /* box squadrati */
    --wpjb-radius-btn: 8px;   /* solo i pulsanti sono arrotondati */
    --wpjb-font-body:    'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --wpjb-font-heading: 'Nimbus Roman', 'Times New Roman', Times, serif;
    --wpjb-navy:      #2B3A67;   /* hover dei pulsanti */
    --wpjb-navy-d:    #222F53;
    --wpjb-link:      #014F9C;   /* link e tag nelle card */
    --wpjb-shadow:    0 1px 3px rgba(0,0,0,.10);
    --wpjb-shadow-md: 0 4px 8px rgba(0,0,0,.08);
}

/* ── Base ────────────────────────────────────────────────────────────────── */
.wpjb-wrap,
.wpjb-ultimi-wrap,
.wpjb-cerca-wrap { font-family: var(--wpjb-font-body); }
.wpjb-wrap { max-width: 960px; margin: 0 auto; padding: 20px 0; color: var(--wpjb-gray-800); }

/* Titoli in serif (Nimbus Roman) */
.wpjb-ultimi-titolo,
.wpjb-ultimi-card-title,
.wpjb-cerca-title,
.wpjb-single-title,
.wpjb-form-hero h2 { font-family: var(--wpjb-font-heading); }

/* ── Alerts ──────────────────────────────────────────────────────────────── */
.wpjb-alert { padding: 14px 18px; border-radius: var(--wpjb-radius); margin-bottom: 20px; font-size: 15px; }
.wpjb-alert-success { background:#ecfdf5; color: var(--wpjb-success); border: 1px solid #a7f3d0; }
.wpjb-alert-error   { background:#fef2f2; color: var(--wpjb-error);   border: 1px solid #fecaca; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.wpjb-btn { display: inline-block; padding: 10px 22px; border-radius: var(--wpjb-radius-btn); font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; border: none; transition: background .2s; }
.wpjb-btn-primary   { background: var(--wpjb-primary); color: #fff; }
.wpjb-btn-primary:hover { background: var(--wpjb-navy); color: #fff; }
.wpjb-btn-secondary { background: var(--wpjb-gray-100); color: var(--wpjb-gray-700); border: 1px solid var(--wpjb-gray-200); }
.wpjb-btn-primary:disabled { background: #93c5fd; cursor: not-allowed; }

/* ── Form hero + sezioni (nuovo layout con intestazioni blu) ────────────── */
.wpjb-form-hero        { background: var(--wpjb-primary); color: #fff; padding: 22px 24px; border-radius: var(--wpjb-radius) var(--wpjb-radius) 0 0; margin-bottom: 0; }
.wpjb-form-hero h2     { margin: 0 0 4px; font-size: 22px; color: #fff; }
.wpjb-form-hero p      { margin: 0; font-size: 14px; opacity: .9; }
.wpjb-form-section     { background: #fff; border: 1px solid var(--wpjb-gray-200); border-top: none; padding: 0; margin: 0; }
.wpjb-form-section:last-of-type { border-radius: 0 0 var(--wpjb-radius) var(--wpjb-radius); }
.wpjb-form-section-header { background: #e8f0fe; color: var(--wpjb-primary); padding: 10px 16px; font-weight: 700; font-size: 14px; border-top: 1px solid var(--wpjb-gray-200); border-bottom: 1px solid var(--wpjb-gray-200); display: flex; align-items: center; gap: 8px; }
.wpjb-form-section-body   { padding: 18px 20px; }

/* CTA giallo (bottone principale "Pubblica annuncio", "Tutte le offerte") */
.wpjb-btn-cta          { background: #f2b91c; color: #1a1a1a; border: none; height: 40px; padding: 0 24px; font-size: 14px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; border-radius: 8px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, transform .05s; }
.wpjb-btn-cta:hover    { background: var(--wpjb-navy); color: #fff; }
.wpjb-btn-cta:active   { transform: translateY(1px); }
.wpjb-btn-cta:disabled { opacity: .6; cursor: not-allowed; }

/* Bottone secondario con le stesse misure del CTA (es. "Azzera") */
.wpjb-btn-ghost        { background: #fff; color: var(--wpjb-gray-700); border: 1px solid #c9ccd1; height: 40px; padding: 0 20px; font-size: 14px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; border-radius: 8px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, border-color .15s; }
.wpjb-btn-ghost:hover  { background: var(--wpjb-navy); border-color: var(--wpjb-navy); color: #fff; }

/* ── Form ────────────────────────────────────────────────────────────────── */
.wpjb-field-row { margin-bottom: 20px; }
.wpjb-field-row label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--wpjb-gray-700); }
.wpjb-field-row-double { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.wpjb-field-row-double .wpjb-field-row { margin-bottom: 0; }
.wpjb-required > label::after { content: ' *'; color: var(--wpjb-error); }
.wpjb-input { width: 100%; padding: 10px 12px; border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); font-size: 14px; box-sizing: border-box; transition: border-color .15s; }
.wpjb-input:focus { border-color: var(--wpjb-primary); outline: none; box-shadow: 0 0 0 3px rgba(26,86,219,.12); }
.wpjb-textarea { resize: vertical; min-height: 160px; }
.wpjb-field-desc  { font-size: 13px; color: var(--wpjb-gray-500); margin: 0 0 8px; }
.wpjb-field-hint  { font-size: 12px; color: var(--wpjb-gray-500); margin: 4px 0 0; }
.wpjb-radio-group { display: flex; gap: 24px; }
.wpjb-radio-group label { font-weight: normal; display: flex; align-items: center; gap: 6px; cursor: pointer; }

/* Gruppi checkbox (Lingue richieste) */
.wpjb-checkbox-group { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 4px; }
.wpjb-checkbox-group label { font-weight: normal; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 14px; color: var(--wpjb-gray-700); }

/* Righe di consenso (privacy + termini) */
.wpjb-consent-row { display: flex; flex-direction: column; gap: 10px; margin: 14px 0 4px; }
.wpjb-checkbox-line { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--wpjb-gray-700); cursor: pointer; line-height: 1.5; }
.wpjb-checkbox-line input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }

/* Privacy box */
.wpjb-privacy-box { background: var(--wpjb-gray-50); border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); padding: 14px 16px; max-height: 220px; overflow-y: scroll; font-size: 13px; line-height: 1.7; color: var(--wpjb-gray-700); margin-bottom: 12px; }
.wpjb-privacy-consent { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.wpjb-privacy-consent label { display: flex; align-items: flex-start; gap: 8px; font-weight: normal; cursor: pointer; }
.wpjb-privacy-warning { font-size: 13px; margin-top: 4px; }

/* Submit row */
.wpjb-submit-row { margin-top: 28px; border-top: 1px solid var(--wpjb-gray-200); padding-top: 24px; }
.wpjb-submit-note { font-size: 13px; color: var(--wpjb-gray-500); margin-top: 10px; }

/* ── Search bar ──────────────────────────────────────────────────────────── */
.wpjb-search-form { background: var(--wpjb-gray-50); border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); padding: 18px; margin-bottom: 24px; }
.wpjb-search-row  { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.wpjb-search-field { flex: 1; min-width: 160px; }

/* ── Cards (lista) ───────────────────────────────────────────────────────── */
.wpjb-results-count { font-size: 14px; color: var(--wpjb-gray-500); margin-bottom: 14px; }
.wpjb-lista { display: flex; flex-direction: column; gap: 14px; }
.wpjb-card { background: #fff; border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); padding: 20px 24px; box-shadow: var(--wpjb-shadow); transition: box-shadow .2s, border-color .2s; }
.wpjb-card:hover { box-shadow: var(--wpjb-shadow-md); border-color: var(--wpjb-primary); }
.wpjb-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.wpjb-card-date   { margin-left: auto; font-size: 12px; color: var(--wpjb-gray-500); }
.wpjb-card-title  { margin: 0 0 6px; font-size: 18px; }
.wpjb-card-title a { color: var(--wpjb-gray-800); text-decoration: none; }
.wpjb-card-title a:hover { color: var(--wpjb-primary); }
.wpjb-card-mansione { margin: 0 0 8px; font-size: 14px; color: var(--wpjb-gray-700); }
.wpjb-card-meta   { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--wpjb-gray-500); margin-bottom: 10px; }
.wpjb-card-excerpt { font-size: 14px; color: var(--wpjb-gray-700); line-height: 1.6; margin-bottom: 12px; }
.wpjb-card-link   { font-size: 14px; font-weight: 600; color: var(--wpjb-primary); text-decoration: none; }
.wpjb-card-link:hover { text-decoration: underline; }

/* ── Badges ──────────────────────────────────────────────────────────────── */
.wpjb-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.wpjb-tip-offerta-di-lavoro  { background: #dbeafe; color: #1e40af; }
.wpjb-tip-richiesta-di-lavoro { background: #d1fae5; color: #065f46; }
.wpjb-tip-cessione-attivita  { background: #fef3c7; color: #92400e; }
.wpjb-tip-ricerca-attivita   { background: #ede9fe; color: #5b21b6; }
.wpjb-badge-settore { background: var(--wpjb-gray-100); color: var(--wpjb-gray-700); }

/* ── Admin badge mirrors ─────────────────────────────────────────────────── */
.wpjb-tip-offerta   { background: #dbeafe; color: #1e40af; padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.wpjb-tip-richiesta { background: #d1fae5; color: #065f46; padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.wpjb-tip-cessione  { background: #fef3c7; color: #92400e; padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.wpjb-tip-ricerca   { background: #ede9fe; color: #5b21b6; padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 600; }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.wpjb-pagination { margin-top: 28px; text-align: center; }
.wpjb-pagination .page-numbers { display: inline-block; padding: 7px 13px; border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); margin: 2px; font-size: 14px; text-decoration: none; color: var(--wpjb-gray-700); }
.wpjb-pagination .page-numbers.current { background: var(--wpjb-primary); color: #fff; border-color: var(--wpjb-primary); }
.wpjb-no-results { padding: 40px 20px; text-align: center; color: var(--wpjb-gray-500); }
.wpjb-loadmore-wrap { text-align: center; margin-top: 24px; min-height: 40px; }

/* ── Single annuncio ─────────────────────────────────────────────────────── */
.wpjb-single-wrap      { max-width: 980px; margin: 0 auto; padding: 24px; }
.wpjb-single-header    { margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--wpjb-gray-200); }
.wpjb-single-badges    { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.wpjb-single-title     { margin: 0 0 8px; font-size: 26px; }
.wpjb-single-mansione  { font-size: 15px; color: var(--wpjb-gray-700); margin: 0 0 12px; }
.wpjb-single-meta      { display: flex; flex-wrap: wrap; gap: 16px; font-size: 14px; color: var(--wpjb-gray-500); }
.wpjb-single-body      { display: grid; grid-template-columns: 1fr 280px; gap: 28px; align-items: start; }
.wpjb-single-content   { font-size: 15px; line-height: 1.8; }
.wpjb-single-sidebar   { position: sticky; top: 20px; }
.wpjb-contact-box      { background: var(--wpjb-gray-50); border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); padding: 20px; }
.wpjb-contact-box h3   { margin: 0 0 14px; font-size: 16px; }

/* Box dettagli posizione */
.wpjb-details-box      { background: #fff; border: 1px solid var(--wpjb-gray-200); border-radius: var(--wpjb-radius); padding: 20px; margin-bottom: 16px; }
.wpjb-details-box h3   { margin: 0 0 12px; font-size: 16px; }
.wpjb-details-list     { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--wpjb-gray-700); }
.wpjb-details-list li  { line-height: 1.5; }
.wpjb-details-list a   { color: var(--wpjb-primary); word-break: break-all; }

/* ── Expired notice ──────────────────────────────────────────────────────── */
.wpjb-expired-notice { background: #fef2f2; border: 1px solid #fecaca; border-radius: var(--wpjb-radius); padding: 12px 16px; margin-bottom: 20px; font-size: 14px; color: var(--wpjb-error); }

/* ── Ombra disattivabile ─────────────────────────────────────────────────── */
/* (le regole .wpjb-no-shadow sono in fondo al file, per vincere sugli override) */

/* ── Spinner ─────────────────────────────────────────────────────────────── */
.wpjb-loading::after { content:''; display:inline-block; width:12px; height:12px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:wpjb-spin .7s linear infinite; margin-left:8px; vertical-align:middle; }
@keyframes wpjb-spin { to { transform: rotate(360deg); } }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
    .wpjb-field-row-double { grid-template-columns: 1fr; }
    .wpjb-single-body      { grid-template-columns: 1fr; }
    .wpjb-single-sidebar   { position: static; }
    .wpjb-search-row       { flex-direction: column; }
    .wpjb-search-field     { width: 100%; }
}

/* ── [wpjb_ultimi] griglia 2 colonne ─────────────────────────────────────── */
.wpjb-ultimi-wrap         { margin-bottom: 40px; }
.wpjb-ultimi-titolo       { font-size: 28px; margin: 0 0 20px; padding-left: 14px; border-left: 5px solid #f2b91c; color: #14213d; font-weight: 400; line-height: 1.2; }
.wpjb-ultimi-titolo strong { font-weight: 700; color: #14213d; }
.wpjb-ultimi-titolo em     { font-style: italic; font-weight: 400; color: #14213d; }
.wpjb-ultimi-grid         { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.wpjb-ultimi-card         { background: #fff; border: 1px solid var(--wpjb-gray-200); border-radius: 0; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 4px 16px rgba(0,0,0,.25); transition: box-shadow .15s, border-color .15s; }
.wpjb-ultimi-card:hover   { box-shadow: 0 6px 20px rgba(0,0,0,.3); border-color: var(--wpjb-primary); }
.wpjb-ultimi-card-head    { display: flex; align-items: center; gap: 10px; }
.wpjb-ultimi-card-icon    { color: #014F9C; display: inline-flex; flex-shrink: 0; }
.wpjb-ultimi-card-title   { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.3; color: #14213d; }
.wpjb-ultimi-card .wpjb-ultimi-card-title a,
.wpjb-ultimi-card .wpjb-ultimi-card-title a:visited { color: inherit; text-decoration: none; }
.wpjb-ultimi-card .wpjb-ultimi-card-title a:hover   { color: var(--wpjb-link); }
.wpjb-ultimi-card-tags    { font-size: 14px; line-height: 1.7; }
.wpjb-ultimi-card .wpjb-card-tag,
.wpjb-ultimi-card .wpjb-card-tag:visited { color: var(--wpjb-link); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.wpjb-ultimi-card .wpjb-card-tag:hover   { text-decoration: none; color: var(--wpjb-navy); }
/* Separatore giallo attaccato al tag precedente (mai orfano a capo) */
.wpjb-ultimi-card .wpjb-card-tag:not(:last-child)::after {
    content: '•'; color: #f2b91c; font-weight: 700; margin: 0 8px;
    display: inline-block; text-decoration: none;
}
.wpjb-ultimi-card-excerpt { font-size: 14px; color: var(--wpjb-gray-700); line-height: 1.55; margin: 0; flex: 1; }
.wpjb-ultimi-card .wpjb-ultimi-card-link,
.wpjb-ultimi-card .wpjb-ultimi-card-link:visited { font-size: 14px; font-weight: 700; color: var(--wpjb-link); text-decoration: none; margin-top: auto; align-self: flex-end; display: inline-flex; align-items: center; gap: 6px; }
.wpjb-ultimi-card .wpjb-ultimi-card-link:hover   { color: var(--wpjb-navy); text-decoration: underline; }
.wpjb-ultimi-footer       { text-align: center; margin-top: 20px; }
.wpjb-ultimi-vuoto        { color: var(--wpjb-gray-500); font-style: italic; font-size: 14px; }

/* Bottone outline per "Tutti gli annunci" */
.wpjb-btn-outline         { background: transparent; color: var(--wpjb-primary); border: 2px solid var(--wpjb-primary); font-weight: 700; padding: 9px 28px; border-radius: var(--wpjb-radius-btn); text-decoration: none; display: inline-block; transition: background .15s, color .15s; }
.wpjb-btn-outline:hover   { background: var(--wpjb-navy); border-color: var(--wpjb-navy); color: #fff; }

/* ── [wpjb_cerca] barra standalone ──────────────────────────────────────── */
.wpjb-cerca-wrap          { margin-bottom: 24px; }

/* ── Widget Cerca: box con banda azzurra + griglia 2 colonne ────── */
/* Titolo grande sopra il box */
.wpjb-cerca-title         { font-size: 30px; font-weight: 700; color: #14213d; margin: 0 0 16px; line-height: 1.2; }

/* Il box è il form: banda (opzionale) + corpo */
.wpjb-cerca-wrap .wpjb-search-form { background: #fff; border: 1px solid #dbe4f0; border-radius: 0; padding: 0; overflow: hidden; margin-bottom: 0; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
.wpjb-cerca-head          { background: #d9e4f2; color: #14213d; font-size: 17px; font-weight: 600; padding: 14px 26px; }
.wpjb-search-body         { padding: 28px 30px 30px; }

/* Griglia 2 colonne con label a sinistra del campo */
.wpjb-cerca-wrap .wpjb-search-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 48px; }
.wpjb-cerca-wrap .wpjb-search-field { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 14px; min-width: 0; flex: none; }
.wpjb-cerca-wrap .wpjb-search-field-keyword { grid-column: 1 / -1; }
.wpjb-cerca-wrap .wpjb-search-label { display: block; font-size: 15px; font-weight: 600; color: #14213d; text-transform: none; letter-spacing: 0; margin: 0; white-space: nowrap; }
.wpjb-cerca-wrap .wpjb-search-label::after { content: ':'; }
.wpjb-cerca-wrap .wpjb-input        { border: 1px solid #c9ccd1; border-radius: 0; padding: 8px 10px; min-width: 0; background: #fff; }
.wpjb-cerca-wrap .wpjb-input:focus  { border-color: #9aa0a6; box-shadow: none; outline: none; }

/* Bottone giallo centrato — compatto e squadrato come da mockup */
.wpjb-cerca-wrap .wpjb-search-actions { display: flex; justify-content: center; margin-top: 26px; }

/* Mobile: griglia 1 colonna, label sopra */
@media (max-width: 700px) {
    .wpjb-cerca-wrap .wpjb-search-row   { grid-template-columns: 1fr; gap: 16px; }
    .wpjb-cerca-wrap .wpjb-search-field { grid-template-columns: 1fr; gap: 6px; }
    .wpjb-search-body                   { padding: 20px 18px 22px; }
}
.wpjb-search-label        { display: block; font-size: 12px; font-weight: 600; color: var(--wpjb-gray-500); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 5px; }
.wpjb-search-fixed-tip    { padding: 9px 12px; display: inline-block; font-size: 14px; }
.wpjb-search-actions      { display: flex; gap: 8px; align-items: flex-end; }

/* ── Form: badge tipologia fissa ─────────────────────────────────────────── */
.wpjb-form-badge          { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: var(--wpjb-radius); font-size: 14px; font-weight: 600; margin-bottom: 20px; }

/* ── Responsive ultimi ───────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .wpjb-ultimi-grid { grid-template-columns: 1fr; }
}

/* ── Ombra disattivabile (in fondo: deve vincere su tutte le regole sopra) ─── */
.wpjb-no-shadow .wpjb-ultimi-card,
.wpjb-no-shadow .wpjb-ultimi-card:hover,
.wpjb-no-shadow .wpjb-card,
.wpjb-no-shadow .wpjb-card:hover,
.wpjb-no-shadow .wpjb-search-form,
.wpjb-cerca-wrap.wpjb-no-shadow .wpjb-search-form,
.wpjb-ultimi-wrap.wpjb-no-shadow .wpjb-ultimi-card { box-shadow: none; }

/* ── [wpjb_box] Box compatto da sidebar ─────────────────────────────────── */
.wpjb-box { font-family: var(--wpjb-font-body); background: #fff; border: 1px solid var(--wpjb-gray-200);
            padding: 18px; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
.wpjb-box .wpjb-ultimi-titolo { font-size: 24px; margin: 0 0 16px; }

/* La barra di ricerca dentro al box non ha bordo/ombra propri */
.wpjb-box .wpjb-cerca-wrap { margin-bottom: 18px; }
.wpjb-box .wpjb-cerca-wrap .wpjb-search-form { box-shadow: none; }

/* Layout compatto: una sola colonna */
.wpjb-cerca-compatto .wpjb-search-row   { grid-template-columns: 1fr; gap: 12px; }
.wpjb-cerca-compatto .wpjb-search-field { grid-template-columns: 90px 1fr; gap: 10px; }
.wpjb-cerca-compatto .wpjb-search-label { font-size: 14px; }
.wpjb-cerca-compatto .wpjb-search-body  { padding: 18px 16px 20px; }
.wpjb-cerca-compatto .wpjb-cerca-head   { font-size: 15px; padding: 11px 16px; }
.wpjb-cerca-compatto .wpjb-search-actions { margin-top: 18px; }

/* Elenco compatto con quadratino blu */
.wpjb-box-lista { list-style: none; margin: 0 0 18px; padding: 0; }
.wpjb-box-item  { position: relative; padding: 0 0 0 22px; margin-bottom: 20px; }
.wpjb-box-item:last-child { margin-bottom: 0; }
.wpjb-box-item::before { content: ''; position: absolute; left: 0; top: 7px;
                         width: 10px; height: 10px; background: var(--wpjb-link); }
.wpjb-box-item-title    { font-family: var(--wpjb-font-heading); font-size: 18px; font-weight: 700;
                          line-height: 1.3; margin: 0 0 6px; color: #14213d; }
.wpjb-box-item .wpjb-box-item-title a,
.wpjb-box-item .wpjb-box-item-title a:visited { color: inherit; text-decoration: none; }
.wpjb-box-item .wpjb-box-item-title a:hover   { color: var(--wpjb-link); }
.wpjb-box-item-excerpt  { font-size: 14px; line-height: 1.55; color: var(--wpjb-gray-700); margin: 0 0 6px; }
.wpjb-box-item-citta    { font-size: 14px; color: var(--wpjb-gray-700); margin: 0; }
.wpjb-box-item-citta strong { color: #14213d; }

/* Pulsanti in fondo */
.wpjb-box-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
