/* ==========================================================================
   Canfora Medicine Guide – farmaciacanfora.com
   Palette "Mortar & Helix" (from the logo: deep navy + pharmacy teal), Newsreader + Plus Jakarta Sans.
   Site chrome (fc-*) + article components (arb-*). Loaded by mu-plugins/farmaciacanfora-design.php.
   ========================================================================== */
@font-face { font-family:"Newsreader"; src:url(fonts/newsreader-latin.woff2) format("woff2"); font-weight:200 800; font-style:normal; font-display:swap; }
@font-face { font-family:"Plus Jakarta Sans"; src:url(fonts/jakarta-latin.woff2) format("woff2"); font-weight:200 800; font-style:normal; font-display:swap; }

:root {
  --fc-navy:#00374E; --fc-navy-2:#0B4A5F; --fc-navy-3:#06303F;
  --fc-teal:#17938A; --fc-teal-ink:#0E6F68; --fc-teal-soft:#E4F3F0; --fc-teal-line:#BFE3DC;
  --fc-blue:#2B78C2; --fc-blue-soft:#E8F1FA;
  --fc-warn:#C4532F; --fc-warn-soft:#FBEDE7; --fc-warn-line:#F2CDBF;
  --fc-amber:#B7791F; --fc-amber-soft:#FBF4E4; --fc-amber-line:#EED9A8;
  --fc-ink:#14303B; --fc-body:#33474F; --fc-muted:#5B6D73; --fc-line:#DCE6E3; --fc-paper:#F5F8F7; --fc-card:#FFFFFF;
  --fc-serif:"Newsreader", Georgia, "Times New Roman", serif;
  --fc-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fc-radius:16px; --fc-shadow:0 18px 40px -22px rgba(0,55,78,.35);
  /* arb-* component tokens mapped to the palette */
  --arb-navy:var(--fc-navy); --arb-navy-2:var(--fc-navy-2); --arb-yellow:var(--fc-teal); --arb-yellow-soft:var(--fc-blue-soft);
  --arb-teal:var(--fc-teal); --arb-teal-soft:var(--fc-teal-soft); --arb-coral:var(--fc-warn); --arb-coral-soft:var(--fc-warn-soft);
  --arb-ink:var(--fc-ink); --arb-body:var(--fc-body); --arb-muted:var(--fc-muted); --arb-line:var(--fc-line); --arb-soft:var(--fc-paper);
  --arb-green:var(--fc-teal-ink); --arb-radius:var(--fc-radius); --arb-shadow:var(--fc-shadow);
}

/* ---------- Base ---------- */
html, body { overflow-x:clip; }
body { background:#fff; color:var(--fc-body); font-family:var(--fc-sans); font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body .breakdance h1, body .breakdance h2, body .breakdance h3, body .breakdance h4 { font-family:var(--fc-serif); }
::selection { background:var(--fc-teal-soft); color:var(--fc-navy); }
:focus-visible { outline:3px solid var(--fc-teal); outline-offset:2px; border-radius:4px; }
.fc-sr { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.fc-i { display:inline-block; vertical-align:middle; flex:none; }
.fc-wrap { width:100%; max-width:1200px; margin:0 auto; padding:0 28px; box-sizing:border-box; }
.fc-wrap *, .fc-wrap *:before, .fc-wrap *:after { box-sizing:border-box; }

/* Breakdance sections that only hold our code blocks: no container limits, no padding */
.bde-section:has(.fc-header), .bde-section:has(.fc-footer), .bde-section:has(.fc-band), .bde-section:has(.fc-main), .bde-section:has(.fc-post-foot), .bde-section:has(.fc-404) { padding:0 !important; background:none !important; }
.bde-section:has(.fc-header) > .section-container, .bde-section:has(.fc-footer) > .section-container,
.bde-section:has(.fc-band) > .section-container, .bde-section:has(.fc-main) > .section-container,
.bde-section:has(.fc-post-foot) > .section-container { max-width:none !important; padding:0 !important; margin:0 !important; display:block !important; }
.bde-code-block:has(.fc-header), .bde-code-block:has(.fc-footer), .bde-code-block:has(.fc-band), .bde-code-block:has(.fc-main), .bde-code-block:has(.fc-post-foot) { display:block !important; width:100% !important; max-width:none !important; }

/* ---------- Header ---------- */
.fc-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--fc-line); }
.admin-bar .fc-header { top:32px; }
.fc-header-in { display:flex; align-items:center; gap:26px; min-height:74px; }
.fc-logo { display:inline-flex; align-items:center; gap:11px; text-decoration:none !important; color:var(--fc-navy); flex:none; }
.fc-logo img { width:44px; height:44px; display:block; }
.fc-logo-text { display:flex; flex-direction:column; line-height:1; }
.fc-logo-name { font-family:var(--fc-serif); font-weight:650; font-size:27px; letter-spacing:-.01em; color:var(--fc-navy); font-variation-settings:"opsz" 48; }
.fc-logo-tag { font-family:var(--fc-sans); font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--fc-teal-ink); margin-top:5px; }
.fc-nav { margin-left:auto; }
.fc-nav > ul { display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.fc-nav > ul > li { position:relative; margin:0; }
.fc-nav > ul > li > a { display:inline-flex; align-items:center; gap:4px; padding:9px 13px; border-radius:10px; font-size:15px; font-weight:600; color:var(--fc-ink); text-decoration:none; transition:background .15s, color .15s; }
.fc-nav > ul > li > a:hover, .fc-nav a[aria-current] { background:var(--fc-teal-soft); color:var(--fc-navy); }
.fc-nav .fc-i { width:16px; height:16px; transition:transform .2s; }
.fc-has-dd:hover .fc-i, .fc-has-dd:focus-within .fc-i { transform:rotate(180deg); }
.fc-dd { position:absolute; left:-12px; top:100%; width:620px; padding:16px; background:#fff; border:1px solid var(--fc-line); border-radius:18px; box-shadow:0 30px 60px -30px rgba(0,55,78,.45); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; }
.fc-has-dd:hover .fc-dd, .fc-has-dd:focus-within .fc-dd { opacity:1; visibility:visible; transform:none; }
.fc-dd ul { display:grid; grid-template-columns:1fr 1fr; gap:2px; list-style:none; margin:0; padding:0; }
.fc-dd li { margin:0; }
.fc-dd a { display:block; padding:10px 12px; border-radius:12px; text-decoration:none; }
.fc-dd a:hover { background:var(--fc-paper); }
.fc-dd-title { display:block; font-weight:700; font-size:14.5px; color:var(--fc-navy); }
.fc-dd-text { display:block; font-size:13px; line-height:1.45; color:var(--fc-muted); margin-top:2px; }
.fc-dd-all { display:flex !important; align-items:center; gap:8px; margin-top:8px; padding:12px !important; border-top:1px solid var(--fc-line); border-radius:0 0 12px 12px !important; font-weight:700; font-size:14px; color:var(--fc-teal-ink) !important; }
.fc-dd-all .fc-i { width:16px; height:16px; transform:none !important; }
.fc-search { position:relative; display:flex; align-items:center; flex:none; }
.fc-search input { width:190px; height:42px; padding:0 40px 0 16px; border:1px solid var(--fc-line); border-radius:999px; background:var(--fc-paper); font:500 14px var(--fc-sans); color:var(--fc-ink); transition:width .2s, border-color .2s, background .2s; -webkit-appearance:none; }
.fc-search input:focus { outline:none; border-color:var(--fc-teal); background:#fff; width:230px; }
.fc-search button { position:absolute; right:4px; top:4px; width:34px; height:34px; border:0; border-radius:50%; background:transparent; color:var(--fc-navy); cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.fc-search button:hover { background:var(--fc-teal-soft); }
.fc-burger { display:none; }
.fc-burger summary { list-style:none; width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--fc-navy); border:1px solid var(--fc-line); }
.fc-burger summary::-webkit-details-marker { display:none; }
.fc-burger[open] summary { background:var(--fc-navy); color:#fff; border-color:var(--fc-navy); }
.fc-drawer { position:absolute; left:0; right:0; top:100%; max-height:calc(100vh - 74px); overflow:auto; background:#fff; border-bottom:1px solid var(--fc-line); padding:16px 20px 26px; box-shadow:0 30px 40px -30px rgba(0,55,78,.4); }
.fc-drawer ul { list-style:none; margin:0; padding:0; }
.fc-drawer li { margin:0; }
.fc-drawer a { display:block; padding:10px 4px; border-bottom:1px solid var(--fc-line); text-decoration:none; color:var(--fc-ink); font-weight:600; }
.fc-drawer .fc-dd-text { font-weight:400; }
.fc-drawer-h { margin:18px 0 4px !important; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-muted); }
.fc-search-m { margin:4px 0 6px; }
.fc-search-m input, .fc-search-m input:focus { width:100%; }
.fc-search-m button { right:4px; }

/* ---------- Title band, crumbs ---------- */
.fc-band { background:linear-gradient(180deg, var(--fc-paper), #fff); border-bottom:1px solid var(--fc-line); padding:30px 0 34px; }
.fc-band-pillar { background:radial-gradient(circle at 92% -10%, rgba(23,147,138,.16), transparent 42%), radial-gradient(circle at 0% 120%, rgba(43,120,194,.10), transparent 40%), var(--fc-paper); }
.fc-crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:4px 9px; font-size:13.5px; color:var(--fc-muted); margin:0 0 16px; }
.fc-crumbs a { color:var(--fc-muted); text-decoration:none; font-weight:500; }
.fc-crumbs a:hover { color:var(--fc-teal-ink); text-decoration:underline; }
.fc-crumbs span[aria-hidden] { color:#a3b3b6; }
.fc-band-kicker { display:inline-block; margin:0 0 12px; padding:5px 12px; border-radius:999px; background:var(--fc-teal-soft); border:1px solid var(--fc-teal-line); color:var(--fc-teal-ink); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; line-height:1.5; }
a.fc-band-kicker:hover { background:#d4ece7; }
.fc-title { font-family:var(--fc-serif) !important; font-weight:600; font-size:clamp(32px, 4.2vw, 50px); line-height:1.12; letter-spacing:-.015em; color:var(--fc-navy); margin:0; max-width:900px; font-variation-settings:"opsz" 60; text-transform:none !important; text-wrap:balance; }
.fc-main { padding:34px 0 30px; }

/* Breadcrumbs inside content duplicate the band crumbs */
.fc-main .arb-article > .arb-crumbs, .single-post .arb-article > .arb-crumbs { display:none; }

/* ---------- Single post template (Breakdance 9940): ad slot #124, content #108, ad slot #125 ---------- */
.bde-section-9940-106 { padding:0 !important; background:none !important; }
.bde-section-9940-106 > .section-container { display:block !important; max-width:1200px !important; padding:0 28px !important; margin:0 auto !important; }
.bde-rich-text-9940-108 { width:100% !important; max-width:none !important; margin:0 !important; }
.bde-code-block-9940-124, .bde-code-block-9940-125 { display:flex !important; justify-content:center; margin:22px auto 0 !important; max-width:100%; overflow:hidden; }
.bde-code-block-9940-124:empty, .bde-code-block-9940-125:empty { display:none !important; }

/* ---------- Post footer ---------- */
.fc-post-foot { padding-top:10px; padding-bottom:40px; }
.fc-author { display:flex; gap:20px; align-items:flex-start; max-width:860px; padding:24px 26px; border:1px solid var(--fc-line); border-radius:20px; background:var(--fc-paper); }
.fc-author-mark { flex:0 0 58px; height:58px; border-radius:50%; background:var(--fc-navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--fc-serif); font-size:22px; font-weight:600; letter-spacing:.02em; }
.fc-author p { margin:0 0 6px; font-size:15px; line-height:1.6; color:var(--fc-body); }
.fc-author-name { font-weight:700; color:var(--fc-navy) !important; font-size:16px !important; }
.fc-author a, .fc-disclaimer a { color:var(--fc-teal-ink); font-weight:600; }
.fc-disclaimer { max-width:860px; margin:18px 0 0; font-size:14px; line-height:1.6; color:var(--fc-muted); }
.fc-back { margin:22px 0 0; }

/* ---------- Buttons ---------- */
a.fc-btn, a.arb-btn { display:inline-flex; align-items:center; gap:8px; background:var(--fc-navy); color:#fff !important; font-weight:700; font-size:15px; padding:12px 22px; border-radius:999px; text-decoration:none !important; line-height:1.4; border:1px solid var(--fc-navy); transition:transform .15s ease, box-shadow .15s ease, background .15s; background-image:none !important; }
a.fc-btn:hover, a.arb-btn:hover { transform:translateY(-1px); box-shadow:0 10px 22px -10px rgba(0,55,78,.55); background:var(--fc-navy-2); color:#fff !important; }
a.fc-btn-ghost { background:#fff; color:var(--fc-navy) !important; border-color:var(--fc-line); }
a.fc-btn-ghost:hover { background:var(--fc-paper); color:var(--fc-navy) !important; }
a.fc-btn-teal { background:var(--fc-teal); border-color:var(--fc-teal); }
a.fc-btn-teal:hover { background:var(--fc-teal-ink); }
a.fc-btn .fc-i, a.arb-btn .fc-i { width:18px; height:18px; }

/* ---------- Footer ---------- */
.fc-footer { background:var(--fc-navy-3); color:#b9cbd0; padding:56px 0 26px; margin-top:40px; font-size:15px; }
.fc-footer-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,.8fr); gap:44px; }
.fc-footer .fc-logo-name { color:#fff; }
.fc-footer .fc-logo-tag { color:#7fd3c8; }
.fc-footer .fc-logo img { background:#fff; border-radius:12px; padding:4px; width:48px; height:48px; }
.fc-footer-about p { margin:18px 0 0; line-height:1.65; max-width:380px; }
.fc-footer-h { margin:4px 0 12px !important; color:#fff; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.fc-footer ul { list-style:none; margin:0; padding:0; }
.fc-footer-grid > div:nth-child(2) ul { columns:2; column-gap:26px; }
.fc-footer li { margin:0 0 9px; break-inside:avoid; }
.fc-footer a { color:#d7e4e7; text-decoration:none; }
.fc-footer a:hover { color:#fff; text-decoration:underline; }
.fc-footer-note { margin-top:40px; padding:20px 22px; border-radius:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); font-size:14px; line-height:1.6; }
.fc-footer-note p { margin:0 0 6px; }
.fc-footer-note strong { color:#fff; }
.fc-footer-base { display:flex; justify-content:space-between; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-size:13.5px; color:#8fa6ac; }

/* ---------- Article shell (arb-*) ---------- */
.arb-article { max-width:1200px; margin:0 auto 30px; color:var(--fc-body); font-family:var(--fc-sans); font-size:17.5px; line-height:1.78; }
.arb-article a { color:var(--fc-teal-ink); font-weight:600; text-decoration:underline; text-decoration-color:rgba(14,111,104,.35); text-decoration-thickness:1.5px; text-underline-offset:3px; transition:text-decoration-color .15s, color .15s; }
.arb-article a:hover { color:var(--fc-navy); text-decoration-color:currentColor; }
.arb-article a.arb-btn, .arb-article a.arb-card, .arb-article a.fc-btn { text-decoration: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(--fc-teal); font-weight:700; }
.arb-article strong { color:var(--fc-ink); font-weight:700; }
.arb-article h2 { position:relative; font-family:var(--fc-serif); font-weight:600; font-size:32px; line-height:1.2; letter-spacing:-.012em; margin:58px 0 18px; padding-top:20px; color:var(--fc-navy); scroll-margin-top:100px; font-variation-settings:"opsz" 48; text-wrap:balance; }
.arb-article h2:before { content:""; position:absolute; top:0; left:0; width:40px; height:3px; border-radius:3px; background:var(--fc-teal); }
.arb-article h3 { font-family:var(--fc-sans); font-weight:700; font-size:20px; line-height:1.35; margin:34px 0 10px; color:var(--fc-navy); scroll-margin-top:100px; }
.arb-crumbs { font-size:14px; color:var(--fc-muted); margin:0 0 18px; }

/* Article header card */
.arb-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:44px; align-items:center; padding:34px 0 38px; margin-bottom:38px; border-bottom:1px solid var(--fc-line); }
.arb-head .arb-kicker { margin-bottom:14px; }
.arb-head .arb-lead { font-family:var(--fc-serif); font-size:23px; line-height:1.5; color:var(--fc-ink); margin:0 0 20px; font-variation-settings:"opsz" 24; }
.arb-meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--fc-muted); margin:0 !important; }
.arb-meta span { display:inline-flex; align-items:center; gap:7px; }
.arb-meta span:before { content:""; width:6px; height:6px; border-radius:50%; background:var(--fc-teal); }
.arb-meta span:first-child { color:var(--fc-navy); font-weight:700; }
.arb-meta a { color:inherit; text-decoration:none; }
.arb-head-img { margin:0; }
.arb-head-img img { display:block; width:100%; height:auto; border-radius:20px; box-shadow:var(--fc-shadow); }

/* Quick answer box (top of posts) */
.arb-answer { margin:0 0 30px; padding:24px 26px 6px; border-radius:20px; background:var(--fc-teal-soft); border:1px solid var(--fc-teal-line); }
.arb-answer-title { margin:0 0 8px !important; font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-teal-ink); }
.arb-answer p, .arb-answer li { font-size:17px; color:var(--fc-ink); }

/* Two columns, sticky TOC */
.arb-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:60px; align-items:start; }
.arb-main { grid-column:1; grid-row:1; 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:96px; }
.admin-bar .arb-aside { top:128px; }
.arb-toc { background:#fff; border:1px solid var(--fc-line); border-radius:var(--fc-radius); padding:20px 20px 10px; }
.arb-toc-title { font-weight:800; text-transform:uppercase; letter-spacing:.12em; font-size:12px; margin:0 0 10px !important; color:var(--fc-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(--fc-ink) !important; font-weight:500 !important; text-decoration:none !important; }
.arb-toc li a:before { content:counter(toc, decimal-leading-zero); color:var(--fc-teal-ink); font-variant-numeric:tabular-nums; font-size:12.5px; font-weight:700; padding-top:1px; }
.arb-toc li a:hover { background:var(--fc-paper); color:var(--fc-navy) !important; }
.arb-aside-cta { margin-top:16px; padding:22px; border-radius:var(--fc-radius); background:var(--fc-navy); color:#c9dadf; font-size:15px; line-height:1.55; }
.arb-aside-cta strong { display:block; color:#fff; font-family:var(--fc-serif); font-weight:600; font-size:20px; margin-bottom:6px; }
.arb-aside-cta p { margin:0 0 14px !important; }
.arb-aside-cta a.arb-btn { width:100%; justify-content:center; background:var(--fc-teal); border-color:var(--fc-teal); }
.arb-aside-cta a.arb-btn:hover { background:#1aa69c; }

/* Components */
.arb-lead { font-size:19px; line-height:1.7; color:var(--fc-ink); }
.arb-kicker { display:inline-block; background:var(--fc-teal-soft); border:1px solid var(--fc-teal-line); color:var(--fc-teal-ink); font-weight:700; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px; line-height:1.5; }
.arb-table { overflow-x:auto; margin:14px 0 28px; border:1px solid var(--fc-line); border-radius:14px; -webkit-overflow-scrolling:touch; }
.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(--fc-navy); color:#fff; font-weight:700; text-align:left; border:0; padding:13px 16px; font-size:14px; }
.arb-table td { border:0; border-top:1px solid var(--fc-line); vertical-align:top; padding:12px 16px; }
.arb-table tbody tr:nth-child(even) { background:#f8fbfa; }
.arb-table td:first-child { color:var(--fc-ink); font-weight:700; }
.arb-box { position:relative; border-radius:var(--fc-radius); padding:20px 24px 2px 62px; margin:28px 0; border:1px solid var(--fc-line); font-size:16.5px; }
.arb-box:before { position:absolute; left:20px; top:20px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
.arb-box-tip { background:var(--fc-teal-soft); border-color:var(--fc-teal-line); }
.arb-box-tip:before { content:"✓"; background:var(--fc-teal); color:#fff; }
.arb-box-warn { background:var(--fc-warn-soft); border-color:var(--fc-warn-line); }
.arb-box-warn:before { content:"!"; background:var(--fc-warn); color:#fff; }
.arb-box-info { background:var(--fc-blue-soft); border-color:#cfe0f2; }
.arb-box-info:before { content:"i"; background:var(--fc-blue); color:#fff; font-family:var(--fc-serif); font-style:italic; font-size:16px; }
.arb-box-doctor { background:var(--fc-amber-soft); border-color:var(--fc-amber-line); }
.arb-box-doctor:before { content:"+"; background:var(--fc-amber); color:#fff; font-size:20px; }
.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:4px; width:22px; height:22px; line-height:22px; text-align:center; border-radius:50%; background:var(--fc-teal); color:#fff; font-size:12px; font-weight:700; }
.arb-sources { margin:40px 0 0; padding:20px 24px 8px; border-radius:var(--fc-radius); background:var(--fc-paper); border:1px solid var(--fc-line); font-size:14.5px; line-height:1.6; }
.arb-sources-title { margin:0 0 8px !important; font-weight:800; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-muted); }
.arb-sources ol, .arb-sources ul { padding-left:20px; margin:0 0 12px; }
.arb-sources li { margin-bottom:6px; }
.arb-sources a { font-weight:500; }
.arb-faq details { border:1px solid var(--fc-line); border-radius:14px; margin-bottom:10px; background:#fff; transition:box-shadow .2s ease; }
.arb-faq details[open] { box-shadow:0 12px 30px -24px rgba(0,55,78,.5); border-color:var(--fc-teal-line); }
.arb-faq summary { cursor:pointer; font-weight:700; padding:16px 54px 16px 20px; color:var(--fc-navy); list-style:none; position:relative; font-size:16.5px; line-height:1.45; }
.arb-faq summary::-webkit-details-marker { display:none; }
.arb-faq summary:after { content:"+"; position:absolute; right:16px; top:13px; width:28px; height:28px; line-height:27px; text-align:center; border-radius:50%; background:var(--fc-paper); font-size:18px; color:var(--fc-navy); }
.arb-faq details[open] summary:after { content:"–"; background:var(--fc-teal); color:#fff; }
.arb-faq details p { padding:0 20px 6px; font-size:16.5px; }
.arb-related { margin-top:56px; padding-top:28px; border-top:1px solid var(--fc-line); }
.arb-related-title { font-family:var(--fc-serif); font-weight:600; font-size:26px; color:var(--fc-navy); margin-bottom:6px !important; }
.arb-cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin:18px 0 30px; }
.arb-main .arb-cards { grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.arb-main .arb-card-title { font-size:18px; }
a.arb-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--fc-line); border-radius:var(--fc-radius); overflow:hidden; text-decoration:none !important; color:var(--fc-ink); font-weight:400; transition:transform .2s ease, box-shadow .2s ease, border-color .2s; }
a.arb-card:hover { transform:translateY(-3px); box-shadow:var(--fc-shadow); border-color:var(--fc-teal-line); color:var(--fc-ink); }
a.arb-card img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.arb-card-title { display:block; font-family:var(--fc-serif); font-weight:600; font-size:20px; line-height:1.28; color:var(--fc-navy); padding:16px 18px 6px; }
.arb-card-text { display:block; font-size:14.5px; line-height:1.55; color:var(--fc-muted); padding:0 18px 18px; }
.arb-card-more { display:block; margin-top:auto; padding:0 18px 18px; font-weight:700; font-size:14px; color:var(--fc-teal-ink); }
.arb-postlist { list-style:none; padding:0 !important; margin:18px 0 30px !important; border-top:1px solid var(--fc-line); }
.arb-postlist li { margin:0 !important; border-bottom:1px solid var(--fc-line); }
.arb-postlist a { display:flex; justify-content:space-between; gap:16px; padding:15px 4px; text-decoration:none !important; color:var(--fc-navy) !important; font-weight:700 !important; }
.arb-postlist a:after { content:"→"; color:var(--fc-teal); font-weight:700; }
.arb-postlist a:hover { background:var(--fc-paper); }
.arb-postlist small { display:block; font-weight:400; color:var(--fc-muted); font-size:14.5px; margin-top:2px; }
.arb-figure { margin:28px 0; }
.arb-figure img { display:block; width:100%; height:auto; border-radius:16px; border:1px solid var(--fc-line); }
.arb-figure figcaption { margin-top:10px; font-size:14px; color:var(--fc-muted); }

/* Hub & simple pages */
.arb-hub .arb-head { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
.arb-hub-section { margin:46px 0 0; }
.arb-hub-section h2 { margin-top:0; }
.arb-simple { max-width:820px; margin-left:0; }
.arb-simple .arb-lead { font-family:var(--fc-serif); font-size:22px; line-height:1.55; }

/* WordPress auto-formatting inserts <br> between grid items */
.arb-cards > br, .arb-head > br, .arb-layout > br, .arb-meta > br, .arb-figure > br, .fc-home br.fc-x, .fc-features > br, .fc-pillars > br, .fc-steps > br, .fc-hero-in > br, .fc-hero-list > br { display:none; }

/* ---------- Front page ---------- */
.fc-front { padding:0; }
.fc-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 85% 10%, rgba(23,147,138,.38), transparent 45%), radial-gradient(circle at 10% 110%, rgba(43,120,194,.30), transparent 45%), var(--fc-navy); color:#cfe0e4; padding:76px 0 84px; }
.fc-hero:after { content:""; position:absolute; right:-120px; top:-120px; width:520px; height:520px; border-radius:50%; border:1px solid rgba(255,255,255,.08); box-shadow:0 0 0 60px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); pointer-events:none; }
.fc-hero-in { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:60px; align-items:center; }
.fc-eyebrow { display:inline-block; margin:0 0 18px !important; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#9be0d6; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.fc-hero h1 { font-family:var(--fc-serif) !important; font-weight:560; font-size:clamp(38px, 5.4vw, 66px); line-height:1.05; letter-spacing:-.02em; color:#fff; margin:0 0 20px; font-variation-settings:"opsz" 72; text-wrap:balance; }
.fc-hero h1 em { font-style:italic; color:#8fe0d4; font-weight:500; }
.fc-hero-lead { font-size:19px; line-height:1.65; max-width:620px; margin:0 0 28px !important; color:#d2e2e6; }
.fc-hero .fc-search { max-width:560px; }
.fc-hero .fc-search input, .fc-hero .fc-search input:focus { width:100%; height:58px; padding:0 64px 0 22px; font-size:16px; border:0; background:#fff; box-shadow:0 20px 40px -20px rgba(0,0,0,.5); }
.fc-hero .fc-search button { width:48px; height:48px; top:5px; right:5px; background:var(--fc-teal); color:#fff; }
.fc-hero .fc-search button:hover { background:#1aa69c; }
.fc-hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0 !important; padding:0; list-style:none; font-size:14px; }
.fc-hero-tags li { margin:0; }
.fc-hero-tags a { display:inline-block; padding:6px 13px; border-radius:999px; border:1px solid rgba(255,255,255,.2); color:#e3eef0; text-decoration:none; }
.fc-hero-tags a:hover { background:rgba(255,255,255,.1); color:#fff; }
.fc-hero-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:26px 26px 10px; backdrop-filter:blur(6px); }
.fc-hero-card-h { margin:0 0 6px !important; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#9be0d6; }
.fc-hero-list { list-style:none; margin:0; padding:0; }
.fc-hero-list li { margin:0; border-bottom:1px solid rgba(255,255,255,.1); }
.fc-hero-list li:last-child { border-bottom:0; }
.fc-hero-list a { display:block; padding:13px 0; color:#fff; text-decoration:none; font-family:var(--fc-serif); font-size:19px; line-height:1.3; }
.fc-hero-list a:hover { color:#8fe0d4; }
.fc-hero-list small { display:block; font-family:var(--fc-sans); font-size:13px; color:#9fb8be; margin-top:3px; }

.fc-sec { padding:74px 0; }
.fc-sec-alt { background:var(--fc-paper); border-top:1px solid var(--fc-line); border-bottom:1px solid var(--fc-line); }
.fc-sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:0 0 34px; }
.fc-sec-head h2 { font-family:var(--fc-serif) !important; font-weight:600; font-size:clamp(28px, 3.4vw, 40px); line-height:1.15; letter-spacing:-.015em; color:var(--fc-navy); margin:0 0 8px; text-wrap:balance; }
.fc-sec-head p { margin:0; color:var(--fc-muted); max-width:640px; }
.fc-kick { display:block; margin:0 0 10px !important; font-size:12.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--fc-teal-ink); }
.fc-pillars { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
a.fc-pillar { display:flex; flex-direction:column; background:#fff; border:1px solid var(--fc-line); border-radius:20px; overflow:hidden; text-decoration:none; color:var(--fc-body); transition:transform .2s, box-shadow .2s, border-color .2s; }
a.fc-pillar:hover { transform:translateY(-4px); box-shadow:var(--fc-shadow); border-color:var(--fc-teal-line); }
a.fc-pillar img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.fc-pillar-body { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.fc-pillar-title { font-family:var(--fc-serif); font-weight:600; font-size:22px; line-height:1.25; color:var(--fc-navy); margin:0 0 6px; }
.fc-pillar-text { font-size:15px; line-height:1.55; color:var(--fc-muted); margin:0 0 14px; }
.fc-pillar-more { margin-top:auto; font-size:14px; font-weight:700; color:var(--fc-teal-ink); display:inline-flex; align-items:center; gap:6px; }
.fc-pillar-more .fc-i { width:16px; height:16px; transition:transform .2s; }
a.fc-pillar:hover .fc-pillar-more .fc-i { transform:translateX(3px); }
.fc-popular { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 46px; list-style:none; margin:0; padding:0; counter-reset:pop; }
.fc-popular li { margin:0; border-bottom:1px solid var(--fc-line); counter-increment:pop; }
.fc-popular a { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:18px 0; text-decoration:none; color:var(--fc-navy); }
.fc-popular a:before { content:counter(pop, decimal-leading-zero); font-family:var(--fc-serif); font-size:26px; line-height:1.1; color:var(--fc-teal); font-weight:500; }
.fc-popular strong { display:block; font-family:var(--fc-serif); font-size:20px; font-weight:600; line-height:1.3; }
.fc-popular span { display:block; font-size:14.5px; color:var(--fc-muted); margin-top:3px; line-height:1.5; }
.fc-popular a:hover strong { color:var(--fc-teal-ink); }
.fc-features { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
.fc-feature { background:#fff; border:1px solid var(--fc-line); border-radius:20px; padding:26px; }
.fc-feature-n { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:var(--fc-teal-soft); color:var(--fc-teal-ink); font-family:var(--fc-serif); font-size:22px; font-weight:600; margin-bottom:16px; }
.fc-feature h3 { font-family:var(--fc-sans) !important; font-size:18px; font-weight:700; color:var(--fc-navy); margin:0 0 8px; }
.fc-feature p { margin:0; color:var(--fc-muted); font-size:15.5px; line-height:1.6; }
.fc-feature a { color:var(--fc-teal-ink); font-weight:700; }
.fc-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
.fc-split h2 { font-family:var(--fc-serif) !important; font-weight:600; font-size:clamp(28px, 3.2vw, 38px); line-height:1.15; color:var(--fc-navy); margin:0 0 16px; }
.fc-split p { margin:0 0 16px; }
.fc-safety { background:var(--fc-navy); color:#c9dadf; border-radius:24px; padding:34px 34px 20px; }
.fc-safety h3 { font-family:var(--fc-serif) !important; font-weight:600; color:#fff; font-size:26px; margin:0 0 14px; }
.fc-safety ul { list-style:none; margin:0; padding:0; }
.fc-safety li { position:relative; padding:0 0 14px 30px; margin:0; line-height:1.55; }
.fc-safety li:before { content:"!"; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%; background:var(--fc-warn); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.fc-safety strong { color:#fff; }
.fc-home .arb-faq { max-width:860px; }

/* ---------- Lists (archives / search) ---------- */
.fc-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
a.fc-list-item { display:block; padding:20px 22px; border:1px solid var(--fc-line); border-radius:16px; text-decoration:none; background:#fff; transition:border-color .2s, box-shadow .2s; }
a.fc-list-item:hover { border-color:var(--fc-teal-line); box-shadow:var(--fc-shadow); }
.fc-list-kicker { display:block; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--fc-teal-ink); margin-bottom:6px; }
.fc-list-title { display:block; font-family:var(--fc-serif); font-size:21px; font-weight:600; color:var(--fc-navy); line-height:1.3; }
.fc-list-text { display:block; margin-top:6px; font-size:14.5px; color:var(--fc-muted); line-height:1.55; }
.fc-empty { font-size:18px; max-width:700px; }
.fc-search-lg { max-width:560px; margin:10px 0 30px; }
.fc-search-lg input, .fc-search-lg input:focus { width:100%; height:54px; }
.fc-search-lg button { top:10px; }
.fc-main .nav-links { display:flex; gap:8px; margin:30px 0; }
.fc-main .page-numbers { padding:8px 14px; border:1px solid var(--fc-line); border-radius:10px; text-decoration:none; color:var(--fc-navy); }
.fc-main .page-numbers.current { background:var(--fc-navy); color:#fff; }

/* ---------- Contact page (Breakdance form) ---------- */
.fc-contact-form .breakdance-form { max-width:640px; }
.page-id-10044 .breakdance-form-field__input, .page-id-10044 input, .page-id-10044 textarea { border-radius:12px !important; border:1px solid var(--fc-line) !important; font-family:var(--fc-sans) !important; }
.page-id-10044 .breakdance-form-button { background:var(--fc-navy) !important; border-radius:999px !important; font-family:var(--fc-sans) !important; font-weight:700 !important; }

/* ---------- Responsive ---------- */
@media (max-width:1180px) {
  .fc-search { display:none; }
  .fc-hero .fc-search, .fc-search-m, .fc-search-lg { display:flex; }
  .arb-layout { grid-template-columns:minmax(0,1fr) 260px; gap:40px; }
}
@media (max-width:960px) {
  .fc-nav { display:none; }
  .fc-burger { display:block; margin-left:auto; }
  .fc-header-in { position:relative; min-height:66px; }
  .fc-header { position:sticky; }
  .arb-head { grid-template-columns:1fr; gap:24px; padding-top:24px; }
  .arb-head-img { order:-1; }
  .arb-layout { display:block; }
  .arb-aside { position:static; margin-bottom:34px; }
  .arb-aside-cta { display:none; }
  .arb-main { max-width:none; }
  .arb-cards, .fc-pillars, .fc-features { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .fc-hero-in, .fc-split { grid-template-columns:1fr; gap:36px; }
  .fc-footer-grid { grid-template-columns:1fr 1fr; }
  .fc-footer-about { grid-column:1 / -1; }
  .fc-popular { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  body { font-size:16px; }
  .fc-wrap { padding:0 16px; }
  .bde-section-9940-106 > .section-container { padding:0 16px !important; }
  .fc-logo-name { font-size:24px; }
  .fc-logo img { width:38px; height:38px; }
  .fc-band { padding:22px 0 26px; }
  .arb-article { font-size:16.5px; }
  .arb-article h2 { font-size:26px; margin-top:44px; }
  .arb-article h3 { font-size:18.5px; }
  .arb-head .arb-lead { font-size:20px; }
  .arb-box { padding:18px 16px 2px 54px; }
  .arb-box:before { left:14px; top:18px; }
  .arb-answer { padding:20px 18px 4px; }
  .arb-cards, .arb-main .arb-cards, .fc-pillars, .fc-features, .fc-list { grid-template-columns:1fr; }
  .fc-hero { padding:48px 0 56px; }
  .fc-hero-lead { font-size:17px; }
  .fc-sec { padding:52px 0; }
  .fc-sec-head { display:block; }
  .fc-sec-head .fc-btn { margin-top:16px; }
  .fc-footer-grid { grid-template-columns:1fr; gap:30px; }
  .fc-footer-grid > div:nth-child(2) ul { columns:1; }
  .fc-footer-base { flex-direction:column; }
  .fc-author { flex-direction:column; gap:12px; padding:20px; }
  .fc-safety { padding:26px 20px 12px; }
  .fc-dd { display:none; }
}
@media print {
  .fc-header, .fc-footer, .arb-aside, .fc-back { display:none !important; }
  .arb-layout { display:block; }
}

/* ---------- Breakdance global-settings overrides ----------
   Its global-settings.css loads after this file and sets .breakdance h1–h6 { font-family:"Exo 2"; text-transform:capitalize }.
   :not(#fc) adds id-level specificity so these rules win without !important. */
:root { --bde-heading-font-family:var(--fc-serif); --bde-body-font-family:var(--fc-sans); }
html body :is(h1, h2, h3, h4, h5, h6):not(#fc) { text-transform:none; letter-spacing:normal; font-family:var(--fc-serif); }
html body :is(.fc-title, .fc-hero h1, .arb-article h2, .fc-sec-head h2, .fc-split h2, .fc-safety h3):not(#fc) { letter-spacing:-.015em; }
html body .arb-article h2:not(#fc) { font-weight:600; font-size:32px; line-height:1.2; color:var(--fc-navy); }
html body :is(.arb-article h3, .fc-feature h3):not(#fc) { font-family:var(--fc-sans); font-weight:700; font-size:20px; line-height:1.35; color:var(--fc-navy); }
html body .fc-feature h3:not(#fc) { font-size:18px; }
html body .fc-title:not(#fc) { font-weight:600; font-size:clamp(32px, 4.2vw, 50px); line-height:1.12; color:var(--fc-navy); }
html body .fc-hero h1:not(#fc) { font-weight:560; font-size:clamp(38px, 5.4vw, 66px); line-height:1.05; color:#fff; }
html body .fc-sec-head h2:not(#fc) { font-weight:600; font-size:clamp(28px, 3.4vw, 40px); line-height:1.15; color:var(--fc-navy); }
html body .fc-split h2:not(#fc) { font-weight:600; font-size:clamp(28px, 3.2vw, 38px); line-height:1.15; color:var(--fc-navy); }
html body .fc-safety h3:not(#fc) { color:#fff; font-size:26px; font-weight:600; }
@media (max-width:640px) {
  html body .arb-article h2:not(#fc) { font-size:26px; }
  html body .arb-article h3:not(#fc) { font-size:18.5px; }
}
/* pillar pages: the content header carries the kicker, so the band shows none */
.fc-band-pillar .fc-band-kicker { display:none; }

/* Breakdance rich-text styles (PostContent on posts) force "Open Sans" – restore the article typography */
html body .arb-article *:not(#fc) { font-family:var(--fc-sans); }
html body .arb-article :is(h2, .arb-lead, .arb-related-title, .arb-card-title, .arb-aside-cta strong):not(#fc) { font-family:var(--fc-serif); }
html body .breakdance-rich-text-styles .arb-article :is(p, li):not(#fc) { font-size:inherit; line-height:inherit; }
html body .arb-article .arb-head .arb-lead:not(#fc) { font-size:23px; line-height:1.5; color:var(--fc-ink); }
@media (max-width:640px) { html body .arb-article .arb-head .arb-lead:not(#fc) { font-size:20px; } }
.single-post .arb-head .arb-kicker { display:none; }

/* Ad slots in the single post template: centred, labelled */
.bde-code-block-9940-124, .bde-code-block-9940-125 { position:relative; flex-direction:column; align-items:center; }
.bde-code-block-9940-124 iframe, .bde-code-block-9940-125 iframe { display:block; margin:0 auto; }
.bde-code-block-9940-124:has(iframe):before, .bde-code-block-9940-125:has(iframe):before { content:"Advertisement"; display:block; text-align:center; font:600 10.5px/1 var(--fc-sans); letter-spacing:.14em; text-transform:uppercase; color:#93a4a8; margin:0 0 6px; width:100%; align-self:stretch; }

/* Breakdance global variables (defined on :root in its global-settings.css) – redefine on body.breakdance, which wins */
body.breakdance {
  --bde-body-font-family:var(--fc-sans); --bde-heading-font-family:var(--fc-serif);
  --bde-body-text-color:var(--fc-body); --bde-headings-color:var(--fc-navy); --bde-background-color:#fff;
  --bde-links-color:var(--fc-teal-ink); --bde-links-color-hover:var(--fc-navy);
  --bde-brand-primary-color:var(--fc-navy); --bde-brand-primary-color-hover:var(--fc-navy-2);
  --bde-form-input-border-radius:12px; --bde-form-label-required-color:var(--fc-warn); --bde-form-input-focused-border-color:var(--fc-teal);
  font-family:var(--fc-sans);
}
.fc-header { --bde-links-color:var(--fc-ink); --bde-links-color-hover:var(--fc-navy); }
.fc-footer { --bde-links-color:#d7e4e7; --bde-links-color-hover:#fff; }
.fc-footer .fc-logo { --bde-links-color:#fff; }
.fc-crumbs { --bde-links-color:var(--fc-muted); --bde-links-color-hover:var(--fc-teal-ink); }
.fc-hero { --bde-links-color:#e3eef0; --bde-links-color-hover:#fff; }
a.fc-btn, a.arb-btn { --bde-links-color:#fff; --bde-links-color-hover:#fff; }
a.fc-btn-ghost { --bde-links-color:var(--fc-navy); --bde-links-color-hover:var(--fc-navy); }
.arb-toc, .arb-card, .fc-pillar, .fc-popular, .fc-list-item, .arb-postlist, .fc-dd, .fc-drawer { --bde-links-color:var(--fc-navy); --bde-links-color-hover:var(--fc-navy); }
.page-id-10044 .bde-section .section-container { max-width:1200px; }
