/* Self-hosted DM Serif Display + Figtree (OFL) – no requests to Google */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-italic-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-italic-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-normal-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-normal-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/figtree-normal-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/figtree-normal-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/figtree-normal-500-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/figtree-normal-500-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/figtree-normal-600-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/figtree-normal-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/figtree-normal-700-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/figtree-normal-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Job board content styles (arb-* component library)
   Copy to the child theme as css/<site>.css, re-skin via the :root variables, enqueue with templates/theme/enqueue.php.
   ========================================================================== */
:root {
  --arb-navy:#221b17; --arb-navy-2:#3a2e27; --arb-yellow:#e8a83a; --arb-yellow-soft:#fbf1dc;
  --arb-teal:#5b6a3a; --arb-teal-soft:#eef0e4; --arb-coral:#c0502b; --arb-coral-soft:#fbebe3;
  --arb-ink:#221b17; --arb-body:#3d3530; --arb-muted:#7a6e65; --arb-line:#e7dccd; --arb-soft:#f7f0e6;
  --arb-green:#a8431f; --arb-radius:18px; --arb-shadow:0 18px 40px -18px rgba(22,34,52,.28);
}

/* Theme widgets (search hero, category grid) use negative margins that overflow on mobile */
html, body { overflow-x: clip; }

/* ---------- Article shell ---------- */
.arb-article { max-width:1140px; margin:10px auto 40px; color:var(--arb-body); font-size:17px; line-height:1.8; }
.arb-article a { color:var(--arb-green); font-weight:600; text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-size:0 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .2s ease; }
.arb-article a:hover { background-size:100% 1px; color:var(--arb-green); }
.arb-article a.arb-btn, .arb-article a.arb-card { background-image:none; }
.arb-article p, .arb-article ul, .arb-article ol { margin:0 0 20px; }
.arb-article ul, .arb-article ol { padding-left:22px; }
.arb-article li { margin-bottom:8px; }
.arb-article li::marker { color:var(--arb-teal); font-weight:700; }
.arb-article strong { color:var(--arb-ink); }
.arb-article h2 { position:relative; font-size:29px; line-height:1.28; letter-spacing:-.01em; margin:56px 0 18px; padding-top:18px; color:var(--arb-navy); scroll-margin-top:110px; }
.arb-article h2:before { content:""; position:absolute; top:0; left:0; width:44px; height:4px; border-radius:4px; background:var(--arb-yellow); }
.arb-article h3 { font-size:21px; line-height:1.35; margin:34px 0 12px; color:var(--arb-navy); scroll-margin-top:110px; }

.arb-crumbs { font-size:14px; color:var(--arb-muted); margin:0 0 18px; }
.arb-crumbs a { font-weight:500 !important; color:var(--arb-muted) !important; }
.arb-crumbs a:hover { color:var(--arb-green) !important; }

/* ---------- Article header ---------- */
.arb-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:44px; align-items:center; padding:44px 48px; margin-bottom:46px; border-radius:28px; background:radial-gradient(circle at 100% 0%, rgba(245,208,6,.20), transparent 45%), radial-gradient(circle at 0% 100%, rgba(46,196,182,.16), transparent 45%), var(--arb-soft); border:1px solid var(--arb-line); }
.arb-head .arb-kicker { margin-bottom:14px; }
.arb-head .arb-lead { font-size:19px; line-height:1.7; color:var(--arb-navy); margin:0 0 18px; }
.arb-meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--arb-muted); margin:0 !important; }
.arb-meta span { display:inline-flex; align-items:center; gap:6px; }
.arb-meta span:before { content:""; width:6px; height:6px; border-radius:50%; background:var(--arb-teal); }
.arb-head-img { margin:0; }
.arb-head-img img { display:block; width:100%; height:auto; border-radius:20px; box-shadow:var(--arb-shadow); transform:rotate(1.2deg); transition:transform .3s ease; }
.arb-head-img img:hover { transform:rotate(0deg) scale(1.01); }

/* ---------- Two-column body with sticky table of contents ---------- */
.arb-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:56px; align-items:start; }
.arb-main { min-width:0; max-width:760px; }
.arb-main > h2:first-child { margin-top:0; }
.arb-aside { grid-column:2; grid-row:1; position:sticky; top:110px; }
.arb-main { grid-column:1; grid-row:1; }
.arb-toc { background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); padding:22px 22px 12px; box-shadow:0 10px 30px -22px rgba(22,34,52,.35); }
.arb-toc-title { font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px; margin:0 0 10px !important; color:var(--arb-muted); }
.arb-toc ol { list-style:none; counter-reset:toc; padding:0 !important; margin:0 0 8px !important; font-size:14.5px; line-height:1.45; }
.arb-toc li { counter-increment:toc; margin:0 !important; }
.arb-toc li a { display:flex; gap:10px; padding:7px 8px; margin:0 -8px; border-radius:8px; color:var(--arb-ink) !important; font-weight:500 !important; background-image:none !important; }
.arb-toc li a:before { content:counter(toc, decimal-leading-zero); color:var(--arb-muted); font-variant-numeric:tabular-nums; font-size:12.5px; padding-top:1px; }
.arb-toc li a:hover { background:var(--arb-soft); color:var(--arb-navy) !important; }
.arb-aside-cta { margin-top:18px; padding:22px; border-radius:var(--arb-radius); background:var(--arb-navy); color:#cfd8e3; font-size:15px; line-height:1.55; }
.arb-aside-cta strong { display:block; color:#fff; font-size:17px; margin-bottom:6px; }
.arb-aside-cta p { margin:0 0 14px !important; }
.arb-aside-cta a.arb-btn { width:100%; text-align:center; }

/* ---------- Components ---------- */
.arb-lead { font-size:19px; line-height:1.7; color:var(--arb-navy); }
.arb-kicker { display:inline-block; background:var(--arb-yellow); color:var(--arb-navy); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:30px; line-height:1.5; }
.arb-table { overflow-x:auto; margin:14px 0 28px; border:1px solid var(--arb-line); border-radius:16px; -webkit-overflow-scrolling:touch; box-shadow:0 10px 30px -24px rgba(22,34,52,.4); }
.arb-table table { max-width:none; width:100%; min-width:560px; margin:0; font-size:15px; line-height:1.55; border-collapse:collapse; border-style:hidden; }
.arb-table th { background:var(--arb-navy); color:#fff; font-weight:600; border:0; border-right:1px solid rgba(255,255,255,.08); padding:14px 16px; }
.arb-table td { border:0; border-top:1px solid var(--arb-line); vertical-align:top; padding:13px 16px; }
.arb-table tr:hover { background:transparent; }
.arb-table tbody tr:nth-child(even) { background:#fafbfd; }
.arb-table td:first-child { color:var(--arb-ink); font-weight:600; }
.arb-box { position:relative; border-radius:var(--arb-radius); padding:22px 26px 4px 64px; margin:28px 0; border:1px solid var(--arb-line); }
.arb-box:before { position:absolute; left:20px; top:20px; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.arb-box-tip { background:var(--arb-teal-soft); border-color:#c4ece6; }
.arb-box-tip:before { content:"✓"; background:var(--arb-teal); color:#fff; }
.arb-box-warn { background:var(--arb-coral-soft); border-color:#ffd6c8; }
.arb-box-warn:before { content:"!"; background:var(--arb-coral); color:#fff; }
.arb-box-info { background:var(--arb-yellow-soft); border-color:#f6e7a0; }
.arb-box-info:before { content:"i"; background:var(--arb-navy); color:var(--arb-yellow); font-family:Georgia,serif; font-style:italic; }
.arb-checklist { list-style:none; padding-left:0 !important; }
.arb-checklist li { position:relative; padding-left:34px; }
.arb-checklist li:before { content:"✓"; position:absolute; left:0; top:3px; width:22px; height:22px; line-height:22px; text-align:center; border-radius:50%; background:var(--arb-teal); color:#fff; font-size:12px; font-weight:700; }
a.arb-btn { display:inline-block; background:var(--arb-yellow); color:var(--arb-navy) !important; font-weight:700; font-size:15px; padding:12px 26px; border-radius:40px; text-decoration:none; line-height:1.4; transition:transform .15s ease, box-shadow .15s ease; }
a.arb-btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px -8px rgba(22,34,52,.35); color:var(--arb-navy) !important; }
.arb-faq details { border:1px solid var(--arb-line); border-radius:14px; margin-bottom:12px; background:#fff; transition:box-shadow .2s ease; }
.arb-faq details[open] { box-shadow:0 12px 30px -22px rgba(22,34,52,.4); }
.arb-faq summary { cursor:pointer; font-weight:700; padding:16px 52px 16px 20px; color:var(--arb-navy); list-style:none; position:relative; }
.arb-faq summary::-webkit-details-marker { display:none; }
.arb-faq summary:after { content:"+"; position:absolute; right:16px; top:12px; width:28px; height:28px; line-height:27px; text-align:center; border-radius:50%; background:var(--arb-soft); font-size:18px; color:var(--arb-navy); }
.arb-faq details[open] summary:after { content:"–"; background:var(--arb-yellow); }
.arb-faq details p { padding:0 20px 8px; }
.arb-related { margin-top:56px; padding-top:28px; border-top:1px solid var(--arb-line); }
.arb-related-title { font-weight:700; font-size:22px; color:var(--arb-navy); margin-bottom:6px !important; }
.arb-cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin:18px 0 30px; }
.arb-cards-lg { grid-template-columns:repeat(3, minmax(0,1fr)); }
a.arb-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); overflow:hidden; text-decoration:none; color:var(--arb-ink); font-weight:400; transition:transform .2s ease, box-shadow .2s ease; }
a.arb-card:hover { transform:translateY(-4px); box-shadow:var(--arb-shadow); color:var(--arb-ink); }
a.arb-card img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.arb-card-title { display:block; font-weight:700; font-size:17px; line-height:1.35; color:var(--arb-navy); padding:16px 18px 6px; }
.arb-card-text { display:block; font-size:14.5px; line-height:1.55; color:var(--arb-muted); padding:0 18px 16px; }
.arb-card-more { display:block; margin-top:auto; padding:0 18px 18px; font-weight:700; font-size:14px; color:var(--arb-green); }

/* ---------- Hub & simple pages ---------- */
.arb-hub .arb-head { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
.arb-hub h2 { margin-top:48px; }
.arb-simple { max-width:820px; }
.arb-simple .arb-lead { padding:28px 32px; border-radius:22px; background:var(--arb-soft); border:1px solid var(--arb-line); }

@media (max-width:1100px) {
  .arb-layout { grid-template-columns:minmax(0,1fr) 250px; gap:36px; }
}
@media (max-width:991px) {
  .arb-head { grid-template-columns:1fr; padding:30px 28px; gap:26px; }
  .arb-head-img { order:-1; }
  .arb-head-img img { transform:none; }
  .arb-layout { display:block; }
  .arb-aside { position:static; margin-bottom:34px; }
  .arb-aside-cta { display:none; }
  .arb-main { max-width:none; }
  .arb-cards, .arb-cards-lg { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  .arb-article { font-size:16px; }
  .arb-article h2 { font-size:24px; margin-top:42px; }
  .arb-article h3 { font-size:19px; }
  .arb-head { padding:22px 18px; border-radius:22px; margin-bottom:30px; }
  .arb-head .arb-lead, .arb-lead { font-size:17px; }
  .arb-box { padding:18px 18px 2px 56px; }
  .arb-box:before { left:16px; top:18px; }
  .arb-cards, .arb-cards-lg { grid-template-columns:1fr; }
}

/* ---------- Startseite ---------- */
.arb-home { --arb-body:#5b6676; color:var(--arb-ink); font-size:16px; line-height:1.7; }
.arb-home h1, .arb-home h2 { color:var(--arb-navy); line-height:1.25; letter-spacing:-.01em; }
.arb-home h2 { font-size:32px; margin:0 0 12px; }
.arb-sec-head { text-align:center; max-width:760px; margin:0 auto 36px; }
.arb-sec-head .arb-kicker { margin-bottom:14px; }
.arb-sec-head p { color:var(--arb-muted); font-size:17px; }
.arb-features { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.arb-feature { background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); padding:28px; transition:transform .2s ease, box-shadow .2s ease; }
.arb-feature:hover { transform:translateY(-3px); box-shadow:var(--arb-shadow); }
.arb-feature-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:25px; margin-bottom:16px; }
.arb-feature h3 { font-size:19px; margin:0 0 8px; color:var(--arb-navy); }
.arb-feature p { margin:0 0 12px; color:var(--arb-muted); }
.arb-feature a, .arb-step a { color:var(--arb-green); font-weight:700; }
.arb-steps { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; counter-reset:arbstep; }
.arb-step { position:relative; padding:28px 26px 24px; background:#fff; border-radius:var(--arb-radius); border:1px solid var(--arb-line); }
.arb-step:before { counter-increment:arbstep; content:counter(arbstep); display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--arb-navy); color:var(--arb-yellow); font-weight:700; font-size:18px; margin-bottom:16px; }
.arb-step h3 { font-size:18px; margin:0 0 8px; color:var(--arb-navy); }
.arb-step p { margin:0; color:var(--arb-muted); }
.arb-home .arb-cards { grid-template-columns:repeat(3, minmax(0,1fr)); }
.arb-center { text-align:center; margin-top:12px; }
.arb-safety { display:flex; gap:30px; align-items:center; background:radial-gradient(circle at 100% 0%, rgba(245,208,6,.18), transparent 40%), var(--arb-navy); color:#dfe6ef; border-radius:24px; padding:38px 42px; }
.arb-safety h2 { color:#fff; font-size:28px; }
.arb-safety p { color:#c9d3df; margin:0 0 16px; }
.arb-safety-icon { flex:0 0 96px; height:96px; border-radius:26px; background:var(--arb-teal); display:flex; align-items:center; justify-content:center; font-size:46px; }
.arb-home .arb-faq { max-width:860px; margin:0 auto; }
@media (max-width:991px) {
  .arb-features, .arb-steps, .arb-home .arb-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  .arb-home h2 { font-size:25px; }
  .arb-features, .arb-steps, .arb-home .arb-cards { grid-template-columns:1fr; }
  .arb-safety { flex-direction:column; align-items:flex-start; padding:28px 22px; }
}

/* WordPress auto-formatting inserts <br> between grid items */
.arb-cards > br, .arb-features > br, .arb-steps > br, .arb-head > br, .arb-layout > br, .arb-meta > br { display:none; }

/* ---------- Supporting posts (theme single.php) ----------
   JobMonster prints the featured image and an author/share column before the content.
   Our .arb-head already shows the image, so hide those only on posts built with .arb-article. */
.single-post article:has(.arb-article) > .content-left,
.single-post article:has(.arb-article) .content-featured { display:none; }
.single-post article:has(.arb-article) .content-wrap { margin-left:0 !important; padding-left:0 !important; width:auto !important; float:none !important; }
.single-post article:has(.arb-article) .entry-tags { max-width:760px; }

/* In-article figure (diagram); the image links to the full-size file for small screens */
.arb-figure { margin:28px 0; }
.arb-figure img { display:block; width:100%; height:auto; border-radius:16px; border:1px solid var(--arb-line); }
.arb-figure figcaption { margin-top:10px; font-size:14px; color:var(--arb-muted); }
.arb-figure > br { display:none; }

/* ==========================================================================
   Talentocasa skin – "casa editoriale": cream paper, espresso ink, terracotta, arch motif
   Fonts: DM Serif Display (headings) + Figtree (text), loaded by the child functions.php
   ========================================================================== */
:root { --tc-serif:"DM Serif Display", Georgia, "Times New Roman", serif; --tc-sans:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tc-paper:#fbf7f1; --tc-arch:999px 999px 22px 22px; }

/* Site-wide typography */
body, body p, body li, .noo-main, .navbar, input, button, select, textarea { font-family:var(--tc-sans); }
body h1, body h2, body h3, body .noo-page-heading .page-title, body .entry-title { font-family:var(--tc-serif) !important; font-weight:400 !important; letter-spacing:-.005em; }
body { background:var(--tc-paper); }

/* Article */
.arb-article { font-family:var(--tc-sans); font-size:17.5px; }
.arb-article h2, .arb-article h3, .arb-related-title, .arb-card-title, .arb-faq summary, .arb-aside-cta strong { font-family:var(--tc-serif); font-weight:400; }
.arb-main { counter-reset:tch2; }
.arb-article h2 { font-size:34px; line-height:1.18; padding-top:0; padding-left:0; }
.arb-article h2:before { display:none; }
.arb-main > h2:not(#faq) { counter-increment:tch2; }
.arb-main > h2:not(#faq):before { content:counter(tch2, decimal-leading-zero); display:block; position:static; width:auto; height:auto; background:none; font-family:var(--tc-serif); font-style:italic; font-size:20px; color:var(--arb-coral); margin-bottom:6px; letter-spacing:.04em; }
.arb-article h3 { font-size:23px; }

/* Kicker: small caps with a terracotta rule instead of a pill */
.arb-kicker { background:none; padding:0 0 0 38px; border-radius:0; color:var(--arb-coral); font-size:12.5px; letter-spacing:.16em; position:relative; }
.arb-kicker:before { content:""; position:absolute; left:0; top:50%; width:28px; height:2px; background:var(--arb-coral); }

/* Header: cream band, photo in an arch frame */
.arb-head { background:linear-gradient(180deg, #f3e9dc 0%, var(--tc-paper) 100%); border:0; border-radius:4px; padding:56px 56px 50px; gap:56px; box-shadow:inset 0 -1px 0 var(--arb-line); }
.arb-head .arb-lead { font-size:20px; color:var(--arb-ink); }
.arb-head-img img { transform:none; border-radius:var(--tc-arch); aspect-ratio:4/4.3; object-fit:cover; object-position:50% 40%; box-shadow:0 30px 60px -30px rgba(34,27,23,.55); outline:1px solid rgba(255,255,255,.5); outline-offset:-10px; }
.arb-head-img img:hover { transform:none; }
.arb-head-img { position:relative; }
.arb-head-img:after { content:""; position:absolute; right:-14px; bottom:-14px; width:72px; height:72px; border-radius:50%; background:var(--arb-yellow); z-index:-1; }
.arb-meta span:before { background:var(--arb-coral); }

/* TOC */
.arb-toc { background:transparent; border:0; border-left:2px solid var(--arb-yellow); border-radius:0; box-shadow:none; padding:4px 0 4px 20px; }
.arb-toc li a { color:var(--arb-body) !important; }
.arb-toc li a:before { font-family:var(--tc-serif); font-style:italic; color:var(--arb-coral); font-size:14px; }
.arb-toc li a:hover { background:#f3e9dc; }
.arb-aside-cta { border-radius:var(--tc-arch); padding:46px 24px 26px; text-align:center; background:var(--arb-navy); color:#e7dccd; }
.arb-aside-cta strong { font-size:22px; }

/* Buttons */
a.arb-btn { border-radius:4px; background:var(--arb-navy); color:#fbf7f1 !important; letter-spacing:.02em; padding:13px 24px; }
a.arb-btn:after { content:" →"; }
a.arb-btn:hover { background:var(--arb-coral); color:#fff !important; }
.arb-aside-cta a.arb-btn, .arb-safety a.arb-btn { background:var(--arb-yellow); color:var(--arb-navy) !important; }

/* Boxes: magazine side-rule */
.arb-box { border-radius:4px; border:0; border-left:4px solid; padding:20px 24px 4px 62px; }
.arb-box-tip { border-color:var(--arb-teal); }
.arb-box-warn { border-color:var(--arb-coral); }
.arb-box-info { border-color:var(--arb-yellow); }
.arb-box-info:before { background:var(--arb-yellow); color:var(--arb-navy); }
.arb-checklist li:before { background:none; color:var(--arb-coral); border:1.5px solid var(--arb-coral); line-height:19px; }
.arb-article li::marker { color:var(--arb-coral); }

/* Tables */
.arb-table { border-radius:6px; box-shadow:none; }
.arb-table th { background:#f3e9dc; color:var(--arb-ink); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; border-right:0; border-bottom:2px solid var(--arb-ink); }
.arb-table tbody tr:nth-child(even) { background:#fcf8f2; }

/* FAQ */
.arb-faq details { border:0; border-bottom:1px solid var(--arb-line); border-radius:0; background:transparent; margin:0; }
.arb-faq details[open] { box-shadow:none; }
.arb-faq summary { font-size:20px; padding:20px 52px 20px 0; color:var(--arb-ink); }
.arb-faq summary:after { background:transparent; border:1.5px solid var(--arb-ink); right:0; top:18px; }
.arb-faq details[open] summary:after { background:var(--arb-ink); color:#fff; }
.arb-faq details p { padding:0 0 12px; }

/* Cards: arch-topped photos */
a.arb-card { border:0; border-radius:0; background:transparent; overflow:visible; }
a.arb-card img { border-radius:var(--tc-arch); aspect-ratio:4/3.4; object-position:30% 50%; }
a.arb-card:hover { transform:none; box-shadow:none; }
a.arb-card:hover img { filter:saturate(1.08) brightness(1.03); }
.arb-card-title { font-size:22px; padding:16px 4px 4px; color:var(--arb-ink); }
.arb-card-text { padding:0 4px 8px; }
.arb-card-more { padding:0 4px 8px; color:var(--arb-coral); }
.arb-related { border-top:2px solid var(--arb-ink); }
.arb-related-title { font-size:28px; }

/* Hub */
.arb-hub .arb-cards { grid-template-columns:repeat(3, minmax(0,1fr)); gap:40px 28px; }

@media (max-width:991px) {
  .arb-head { padding:30px 26px; }
  .arb-head-img img { aspect-ratio:1200/700; border-radius:200px 200px 16px 16px; }
  .arb-head-img:after { display:none; }
  .arb-hub .arb-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  .arb-article h2 { font-size:28px; }
  .arb-head { padding:22px 18px; }
  .arb-head-img img { border-radius:140px 140px 12px 12px; }
  .arb-hub .arb-cards { grid-template-columns:1fr; }
  .arb-box { padding:16px 16px 2px 54px; }
}

/* Theme frame: title band with brand photo instead of the stock skyline */
.noo-page-heading { background-color:#221b17; }
.noo-page-heading .parallax { background-image:url("https://talentocasa.com/wp-content/uploads/2026/10/guida-lavoro-da-casa-foto.webp") !important; background-size:cover !important; background-position:50% 60% !important; opacity:.42; filter:saturate(.9); }
.noo-page-heading:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(34,27,23,.92) 0%, rgba(34,27,23,.55) 60%, rgba(192,80,43,.35) 100%); pointer-events:none; }
.noo-page-heading .container-boxed, .noo-page-heading .noo-container { position:relative; z-index:2; }
.noo-page-heading .page-title { color:#fbf7f1 !important; }
.navbar-nav > li > a { letter-spacing:.06em; }
/* Sticky header: menu wraps below the logo on ≤1500px – let the fixed bar grow and keep a background */
.navbar.navbar-fixed-top.navbar-shrink { height:auto !important; min-height:70px; background:#fff; box-shadow:0 10px 30px -20px rgba(34,27,23,.35); }
@media (min-width:992px) { .navbar-nav > li > a { padding-left:12px !important; padding-right:12px !important; font-size:13.5px; } }

/* ==========================================================================
   Front page (tc-home): hero with search, trust strip, guides, jobs, popular, safety, steps, FAQ, newsletter
   ========================================================================== */
.home .noo-page-heading { display:none; }
.home .main-content, .home .noo-main { padding-top:0; }
.tc-home { font-family:var(--tc-sans); }
.tc-home h1, .tc-home h2, .tc-home h3 { font-family:var(--tc-serif) !important; font-weight:400 !important; color:var(--arb-ink); }
.tc-home .arb-kicker { margin-bottom:14px; }
.tc-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.tc-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:center; padding:64px 0 56px; }
.tc-hero h1 { font-size:54px; line-height:1.08; letter-spacing:-.015em; margin:0 0 20px; }
.tc-hero-lead { font-size:19px; line-height:1.65; color:var(--arb-body); max-width:600px; margin:0 0 28px; }
.tc-search { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto; gap:8px; background:#fff; padding:8px; border-radius:6px; box-shadow:0 24px 50px -28px rgba(34,27,23,.45); border:1px solid var(--arb-line); }
.tc-search input, .tc-search select { height:54px; border:0; background:var(--tc-paper); border-radius:4px; padding:0 16px; font-size:16px; color:var(--arb-ink); width:100%; min-width:0; }
.tc-search button { height:54px; border:0; border-radius:4px; background:var(--arb-coral); color:#fff; font-weight:700; padding:0 26px; font-size:16px; letter-spacing:.02em; cursor:pointer; transition:background .15s ease; }
.tc-search button:hover { background:var(--arb-ink); }
.tc-chips { margin:18px 0 0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:14px; color:var(--arb-muted); }
.tc-chips a { display:inline-block; padding:6px 13px; border:1px solid var(--arb-line); border-radius:40px; color:var(--arb-ink); background:#fff; font-weight:500; text-decoration:none; }
.tc-chips a:hover { border-color:var(--arb-coral); color:var(--arb-coral); }
.tc-hero-img { margin:0; position:relative; }
.tc-hero-img img { display:block; width:100%; height:auto; aspect-ratio:4/4.6; object-fit:cover; border-radius:var(--tc-arch); box-shadow:0 40px 70px -35px rgba(34,27,23,.6); outline:1px solid rgba(255,255,255,.55); outline-offset:-12px; }
.tc-hero-img:before { content:""; position:absolute; left:-26px; bottom:40px; width:96px; height:96px; border-radius:50%; background:var(--arb-yellow); z-index:-1; }
.tc-hero-img:after { content:""; position:absolute; right:-18px; top:60px; width:2px; height:120px; background:var(--arb-coral); }
.tc-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:2px solid var(--arb-ink); border-bottom:1px solid var(--arb-line); margin:0 0 20px; }
.tc-trust div { padding:22px 24px 22px 0; }
.tc-trust div + div { padding-left:24px; border-left:1px solid var(--arb-line); }
.tc-trust strong { display:block; font-family:var(--tc-serif); font-weight:400; font-size:22px; color:var(--arb-ink); }
.tc-trust span { color:var(--arb-muted); font-size:15px; }
.tc-sec { padding:64px 0 0; }
.tc-home .arb-sec-head h2 { font-size:40px; line-height:1.15; margin:0 0 10px; }
.tc-guides { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:36px 24px; }
.tc-guides a.arb-card:first-child { grid-column:span 2; }
.tc-guides a.arb-card:first-child img { aspect-ratio:2.08/1; border-radius:999px 999px 22px 22px / 420px 420px 22px 22px; }
.tc-guides a.arb-card:first-child .arb-card-title { font-size:30px; }
.tc-guides .arb-card-title { font-size:20px; }
.tc-jobs-head { padding-bottom:6px; }
.tc-jobs .noo-job-list, .tc-jobs article { background:#fff; }
.tc-jobs-more { margin:26px 0 0; }
.tc-popular { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--arb-line); }
.tc-popular > div { padding:26px 26px 26px 0; border-bottom:1px solid var(--arb-line); }
.tc-popular > div:not(:nth-child(3n+1)) { padding-left:26px; border-left:1px solid var(--arb-line); }
.tc-popular h3 { font-size:23px; margin:0 0 8px; }
.tc-popular p { color:var(--arb-muted); margin:0 0 12px; font-size:15.5px; }
.tc-popular a { color:var(--arb-coral); font-weight:700; text-decoration:none; font-size:14.5px; }
.tc-safety { background:var(--arb-ink) !important; border-radius:4px !important; padding:48px 52px !important; gap:40px !important; position:relative; overflow:hidden; }
.tc-safety h2 { color:#fbf7f1 !important; font-size:34px !important; }
.tc-safety p { color:#d9cdbd !important; font-size:17px; max-width:720px; }
.tc-safety-mark { flex:0 0 120px; height:150px; border-radius:999px 999px 6px 6px; background:var(--arb-coral); position:relative; }
.tc-safety-mark:after { content:"!"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--tc-serif); font-size:72px; color:#fbf7f1; padding-top:14px; }
.tc-home .arb-step { background:transparent; border:0; border-top:2px solid var(--arb-ink); border-radius:0; padding:22px 0 0; }
.tc-home .arb-step:before { background:none; color:var(--arb-coral); font-family:var(--tc-serif); font-style:italic; font-size:44px; width:auto; height:auto; justify-content:flex-start; margin-bottom:6px; content:"0" counter(arbstep); }
.tc-home .arb-step h3 { font-size:26px; }
.tc-home .arb-step a { color:var(--arb-coral); }
.tc-news .arb-sec-head { margin-bottom:18px; }
.tc-newsletter { max-width:620px; margin:0 auto; }
.tc-newsletter input[type=email], .tc-newsletter input[type=text] { height:52px; border-radius:4px !important; border:1px solid var(--arb-line) !important; background:#fff !important; }
.tc-newsletter input[type=submit] { height:52px; border-radius:4px !important; background:var(--arb-ink) !important; color:#fff !important; border:0 !important; }
.elementor-section.tc-el-section > .elementor-container { max-width:1170px; }
@media (max-width:1100px) { .tc-guides { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .tc-guides a.arb-card:first-child { grid-column:span 2; } }
@media (max-width:991px) {
  .tc-hero { grid-template-columns:1fr; gap:34px; padding:34px 0 30px; }
  .tc-hero-img { order:-1; max-width:520px; }
  .tc-hero-img img { aspect-ratio:1200/760; border-radius:220px 220px 14px 14px; }
  .tc-hero h1 { font-size:40px; }
  .tc-popular { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tc-popular > div, .tc-popular > div:not(:nth-child(3n+1)) { padding:22px 18px 22px 0; border-left:0; }
  .tc-popular > div:nth-child(2n) { padding-left:18px; border-left:1px solid var(--arb-line); }
}
@media (max-width:767px) {
  .tc-hero h1 { font-size:33px; }
  .tc-hero-lead { font-size:17px; }
  .tc-search { grid-template-columns:1fr; }
  .tc-hero-img:before, .tc-hero-img:after { display:none; }
  .tc-hero-img img { border-radius:160px 160px 12px 12px; }
  .tc-trust { grid-template-columns:1fr; }
  .tc-trust div + div { padding-left:0; border-left:0; border-top:1px solid var(--arb-line); }
  .tc-sec { padding-top:48px; }
  .tc-home .arb-sec-head h2 { font-size:29px; }
  .tc-guides { grid-template-columns:1fr !important; }
  .tc-guides a.arb-card:first-child { grid-column:auto; }
  .tc-guides a.arb-card:first-child .arb-card-title { font-size:24px; }
  .tc-popular { grid-template-columns:1fr; }
  .tc-popular > div, .tc-popular > div:nth-child(2n) { padding:20px 0; border-left:0; }
  .tc-safety { flex-direction:column; padding:30px 22px !important; }
  .tc-safety-mark { flex:0 0 auto; width:80px; height:100px; }
  .tc-safety-mark:after { font-size:48px; }
}
.tc-guides > br, .tc-popular > br, .tc-trust > br, .tc-hero > br, .tc-search > br, .tc-safety > br { display:none; }

/* Front page: latest jobs list (theme noo_job widget) */
.tc-jobs .pagination, .tc-jobs .noo-pagination, .tc-jobs nav.pagination { display:none !important; }
.tc-jobs .loop-item-title, .tc-jobs .loop-item-title a { font-family:var(--tc-sans) !important; font-weight:700 !important; font-size:18px !important; color:var(--arb-ink) !important; letter-spacing:0; }
.tc-jobs article, .tc-jobs .noo_job { background:#fff !important; border-bottom:1px solid var(--arb-line); }

/* Footer: espresso instead of the theme grey */
.wrap-footer, .footer-widgets, #colophon, .colophon { background:#221b17 !important; }
.colophon .widget-title, .wrap-footer .widget-title { font-family:var(--tc-serif) !important; font-weight:400 !important; font-size:21px !important; color:#fbf7f1 !important; text-transform:none !important; letter-spacing:0 !important; }
.colophon, .colophon p, .wrap-footer p { color:#cbbfae !important; font-size:15px; line-height:1.7; }
.colophon .textwidget a { display:block; color:#efe5d6 !important; padding:3px 0; font-weight:500; }
.colophon .textwidget a:hover { color:#e8a83a !important; }
.colophon .widget_media_image img { max-width:200px; height:auto; }
.noo-bottom-bar-content, .noo-bottom-bar { background:#17110e !important; color:#a99a87 !important; }

/* Posts (theme single.php): no left author column, no white box; author link hidden (the article has its own byline) */
.single-post article.has-left-col:has(.arb-article) { padding-left:0 !important; background:transparent !important; }
.single-post article:has(.arb-article) .content { background:transparent !important; padding:0 !important; }
.single-post .noo-page-heading .content-meta span:has(a[rel="author"]) { display:none; }
.single-post .noo-page-heading .content-meta { font-style:normal; }
.single-post .noo-page-heading .content-meta, .single-post .noo-page-heading .content-meta a { color:#e7dccd !important; font-weight:500; }
.go-to-top { background:#221b17 !important; border-radius:999px 999px 6px 6px !important; color:#fbf7f1 !important; opacity:.9; }
.go-to-top:hover { background:#c0502b !important; }
.go-to-top i { color:#fbf7f1 !important; }
