/* EFPIA – Code page components. Morris & Chapman 2026-11.
   Prefix: cp-  (bookmark nav, flipbook, micro-learning cards, resources, reports) */
:root{
  --cp-teal:#006370; --cp-teal-2:#0b7f8c; --cp-ink:#1f2a33; --cp-text:#2a2f32; --cp-muted:#5d6b75;
  --cp-line:#dfe8ec; --cp-soft:#f2f7f8; --cp-soft-2:#e8f2f4; --cp-orange:#f39200;
  --cp-c1:#3fb7b9; --cp-c2:#e5466d; --cp-c3:#f6b21b; --cp-c4:#7cbf3c; --cp-c5:#7a52b3; --cp-c6:#2f8fd6; --cp-c7:#b49ae0;
  --cp-radius:12px; --cp-shadow:0 1px 2px rgba(16,42,52,.05),0 6px 20px rgba(16,42,52,.06);
}
.cp-wrap{font-family:Lato,"Helvetica Neue",Arial,sans-serif;color:var(--cp-text)}
.cp-eyebrow{display:block;font:700 12px/1.2 Lato,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--cp-teal-2);margin:0 0 6px}
.cp-h2{font:700 26px/1.2 Lato,Arial,sans-serif;color:var(--cp-teal);margin:0 0 6px}
.cp-h2::after{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--cp-orange);margin-top:10px}
.cp-h2--plain::after{display:none}
.cp-lead{font:400 15px/1.55 Lato,Arial,sans-serif;color:var(--cp-muted);margin:8px 0 0;max-width:760px}
.cp-section{scroll-margin-top:90px;margin:0 0 8px}
.cp-anchor{display:block;position:relative;top:-90px;visibility:hidden;height:0}

/* buttons / links */
.cp-btn,.cp-btn:link,.cp-btn:visited{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--cp-teal);border-radius:999px;background:#fff;color:var(--cp-teal)!important;font:700 14px/1.2 Lato,Arial,sans-serif;text-decoration:none!important;text-transform:none;cursor:pointer;transition:background .15s,color .15s}
.cp-btn:hover,.cp-btn:focus-visible{background:var(--cp-teal);color:#fff!important;border:1.5px solid var(--cp-teal)!important}
.cp-btn--solid,.cp-btn--solid:link,.cp-btn--solid:visited{background:var(--cp-teal);color:#fff!important}
.cp-btn--solid:hover{background:#004d57}
.cp-btn svg{width:16px;height:16px;flex:none}
.cp-arrow{display:inline-block;transition:transform .15s}
a:hover .cp-arrow,button:hover .cp-arrow{transform:translateX(3px)}

/* ---------- bookmark nav ---------- */
.cp-nav{position:relative;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(6px);-webkit-backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--cp-line);margin:0 0 28px}
.cp-nav.is-stuck{position:fixed;top:0;margin:0;box-shadow:0 6px 16px rgba(16,42,52,.08)}
.cp-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.cp-nav ul::-webkit-scrollbar{display:none}
.cp-nav li{flex:1 1 0;min-width:max-content;margin:0;padding:0}
.cp-nav li::before{display:none!important}
.cp-nav a{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 18px 14px;border-bottom:3px solid transparent;color:var(--cp-ink)!important;font:700 15px/1.2 Lato,Arial,sans-serif;text-decoration:none!important;white-space:nowrap;transition:color .15s,border-color .15s}
.cp-nav a svg{width:20px;height:20px;color:var(--cp-teal);flex:none}
.cp-nav a:hover{color:var(--cp-teal)!important;border-bottom-color:var(--cp-line)}
.cp-nav a.is-active{color:var(--cp-teal)!important;border-bottom-color:var(--cp-teal)}
@media (max-width:767px){.cp-nav a{padding:13px 12px 11px;font-size:14px;gap:7px}.cp-nav a svg{width:17px;height:17px}}

/* ---------- flipbook ---------- */
.cp-book{position:relative;background:linear-gradient(180deg,#fff 0%,var(--cp-soft) 100%);border:1px solid var(--cp-line);border-radius:16px;padding:24px 24px 16px;box-shadow:var(--cp-shadow);outline:none}
.cp-book__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.cp-book__head > div:first-child{flex:1 1 320px;min-width:0}
.cp-book__head .cp-lead{max-width:none}
.cp-book__tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cp-book__search{position:relative;margin:0}
.cp-book__search input{width:230px;height:40px;padding:0 12px 0 36px;border:1px solid var(--cp-line);border-radius:999px;background:#fff;font:400 14px Lato,Arial,sans-serif;color:var(--cp-ink);box-shadow:none;margin:0}
.cp-book__search input:focus{outline:2px solid rgba(0,99,112,.25);border-color:var(--cp-teal)}
.cp-book__search svg{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--cp-muted);pointer-events:none}
.cp-tool,.cp-tool:link,.cp-tool:visited{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border:1px solid var(--cp-line)!important;border-radius:999px;background:#fff!important;color:var(--cp-ink)!important;font:700 13px/1 Lato,Arial,sans-serif!important;text-transform:none!important;text-decoration:none!important;cursor:pointer;box-shadow:none}
.cp-tool:hover{border-color:var(--cp-teal)!important;color:var(--cp-teal)!important}
.cp-tool svg{width:17px;height:17px}
.cp-book__body{position:relative;display:flex;gap:16px}
.cp-book__stage{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;padding:18px 4px;border-radius:12px;background:radial-gradient(ellipse at 50% 40%,#fdfefe 0%,var(--cp-soft-2) 75%)}
.cp-book__flipwrap{flex:1 1 auto;min-width:0;max-width:1040px;margin:0 auto}
.cp-book__flip{margin:0 auto;min-height:200px}
.cp-book:not(.is-ready) .cp-book__flip{display:none}
.cp-book__loading{display:flex;align-items:center;justify-content:center;min-height:360px;width:100%;color:var(--cp-muted);font:400 14px Lato,Arial,sans-serif}
.cp-book.is-ready .cp-book__loading{display:none}
.cp-book__loading::before{content:"";width:22px;height:22px;margin-right:10px;border:3px solid var(--cp-line);border-top-color:var(--cp-teal);border-radius:50%;animation:cp-spin .8s linear infinite}
.cp-book.is-error .cp-book__loading::before{display:none}
@keyframes cp-spin{to{transform:rotate(360deg)}}
.cp-nav-btn{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--cp-line)!important;background:#fff!important;color:var(--cp-ink)!important;box-shadow:0 2px 8px rgba(16,42,52,.10);cursor:pointer;padding:0;transition:transform .15s,opacity .15s}
.cp-nav-btn:hover{color:var(--cp-teal)!important;transform:scale(1.06)}
.cp-nav-btn:disabled{opacity:.35;cursor:default;transform:none}
.cp-nav-btn svg{width:20px;height:20px}
.cp-page{background:#fff;overflow:hidden}
.cp-page__inner{position:relative;width:100%;height:100%;background:#fff}
.cp-page__inner img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.cp-page__inner:not(.is-loaded)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f9fa 0%,#fff 50%,#f6f9fa 100%);background-size:200% 100%;animation:cp-sh 1.2s linear infinite}
@keyframes cp-sh{to{background-position:-200% 0}}
.cp-hl{position:absolute;background:rgba(246,178,27,.42);mix-blend-mode:multiply;border-radius:2px;pointer-events:none}
.cp-book .stf__parent{margin:0 auto}
.cp-book .stf__item{box-shadow:0 0 0 1px rgba(16,42,52,.04)}
.cp-book__bar{display:flex;align-items:center;gap:14px;padding:12px 6px 4px;color:var(--cp-muted);font:400 13px Lato,Arial,sans-serif}
.cp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0!important;border-radius:8px;background:transparent!important;color:var(--cp-muted)!important;cursor:pointer}
.cp-icon-btn:hover,.cp-icon-btn[aria-expanded="true"]{background:var(--cp-soft-2)!important;color:var(--cp-teal)!important}
.cp-icon-btn svg{width:18px;height:18px}
.cp-book__count{min-width:72px;font-variant-numeric:tabular-nums}
.cp-book__range{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--cp-teal) var(--p,0%),var(--cp-line) var(--p,0%));outline:none;margin:0;padding:0;border:0}
.cp-book__range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--cp-teal);cursor:pointer}
.cp-book__range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--cp-teal);cursor:pointer}
.cp-book__thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 4px 6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.cp-book__thumbs[hidden]{display:none}
.cp-thumb{flex:0 0 70px;position:relative;padding:0;border:2px solid transparent!important;border-radius:6px;background:#fff!important;box-shadow:0 1px 4px rgba(16,42,52,.12);cursor:pointer;overflow:hidden;scroll-snap-align:center}
.cp-thumb canvas{display:block;width:100%;height:100%}
.cp-thumb:hover{border-color:var(--cp-line)!important}
.cp-thumb.is-active{border-color:var(--cp-teal)!important}
.cp-book__panel{position:absolute;z-index:6;right:8px;top:8px;bottom:8px;width:320px;max-width:calc(100% - 16px);overflow:auto;background:#fff;border:1px solid var(--cp-line);border-radius:12px;box-shadow:-8px 8px 28px rgba(16,42,52,.16)}
.cp-book__panel[hidden]{display:none}
.cp-book__panelhead{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border-bottom:1px solid var(--cp-line);font:700 14px Lato,Arial,sans-serif;color:var(--cp-ink)}
.cp-book__panelclose{border:0!important;background:none!important;font-size:22px;line-height:1;color:var(--cp-muted)!important;cursor:pointer;padding:0 4px}
.cp-book__panelbody{padding:8px}
.cp-book__muted{margin:6px 8px 10px;color:var(--cp-muted);font:400 13px/1.4 Lato,Arial,sans-serif}
.cp-results,.cp-toc{list-style:none;margin:0;padding:0}
.cp-results li,.cp-toc li{margin:0;padding:0}
.cp-results li::before,.cp-toc li::before{display:none!important}
.cp-results button,.cp-toc button{display:block;width:100%;text-align:left;padding:9px 10px;border:0!important;border-radius:8px;background:none!important;color:var(--cp-text)!important;font:400 13px/1.45 Lato,Arial,sans-serif!important;text-transform:none!important;cursor:pointer}
.cp-results button:hover,.cp-toc button:hover{background:var(--cp-soft)!important}
.cp-results em{display:block;font-style:normal;font-weight:700;color:var(--cp-teal);margin-bottom:2px}
.cp-results mark{background:rgba(246,178,27,.45);padding:0 1px;color:inherit}
.cp-toc button{display:flex;gap:10px;justify-content:space-between}
.cp-toc em{font-style:normal;color:var(--cp-muted);font-variant-numeric:tabular-nums}
.cp-toc__l0 button{font-weight:700!important;color:var(--cp-ink)!important}
.cp-toc__l1 button{padding-left:22px}
.cp-book__fallback{margin-top:10px;font:400 13px Lato,Arial,sans-serif;color:var(--cp-muted)}
.cp-book.is-error .cp-book__stage{min-height:0}
.cp-book.is-fullscreen{background:#f2f7f8;border-radius:0;padding:16px 24px;overflow:auto}
.cp-book.is-fullscreen .cp-book__flipwrap{max-width:none}

@media (max-width:767px){
  .cp-book{padding:16px 12px 10px;border-radius:12px}
  .cp-book__head{align-items:stretch}
  .cp-book__tools{width:100%}
  .cp-book__search{flex:1 1 100%}
  .cp-book__search input{width:100%}
  .cp-book__stage{padding:10px 0;gap:4px}
  .cp-nav-btn{width:34px;height:34px}
  .cp-book__bar .cp-book__range{display:none}
  .cp-book__bar{justify-content:space-between}
}
/* zoom overlay */
.cp-noscroll,.cp-noscroll body{overflow:hidden}
.cp-zoom{position:fixed;inset:0;z-index:10000;background:rgba(20,34,42,.88)}
.cp-zoom__bar{position:absolute;top:12px;right:16px;z-index:2;display:flex;gap:8px}
.cp-zoom__bar button{width:42px;height:42px;border-radius:50%;border:0!important;background:#fff!important;color:var(--cp-ink)!important;font:400 24px/1 Lato,Arial,sans-serif!important;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.cp-zoom__scroll{position:absolute;inset:0;overflow:auto;padding:64px 16px 32px}
.cp-zoom__pages{display:flex;gap:4px;margin:0 auto;min-width:0}
.cp-zoom__page{flex:1 1 0;background:#fff;min-height:200px}
.cp-zoom__page canvas{display:block;width:100%;height:auto}

/* ---------- micro-learning modules ---------- */
.cp-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:18px 0 0;padding:0}
.cp-modules > li{margin:0;padding:0}
.cp-modules > li::before{display:none!important}
.cp-mod,.cp-mod:link,.cp-mod:visited{position:relative;display:flex;align-items:center;gap:12px;height:100%;min-height:86px;padding:14px 34px 14px 14px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-radius);color:var(--cp-text)!important;text-decoration:none!important;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
.cp-mod::after{content:"";position:absolute;right:-7px;top:50%;width:26px;height:26px;border-top:5px solid var(--c,var(--cp-c1));border-left:5px solid var(--c,var(--cp-c1));border-radius:3px;transform:translateY(-50%) rotate(-45deg);opacity:.95}
.cp-mod:hover{border-color:var(--c,var(--cp-teal));box-shadow:var(--cp-shadow);transform:translateY(-1px)}
.cp-mod__ic{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--cp-soft-2);color:var(--cp-teal)}
.cp-mod__ic svg{width:23px;height:23px}
.cp-mod__txt{min-width:0}
.cp-mod__n{display:block;font:400 11px/1.2 Lato,Arial,sans-serif;color:var(--cp-muted);margin-bottom:2px}
.cp-mod__t{display:block;font:700 14px/1.25 Lato,Arial,sans-serif;color:var(--cp-ink)}
.cp-mod__dl{display:inline-block;margin-top:5px;font:700 12px/1.2 Lato,Arial,sans-serif;color:var(--cp-teal)}
.cp-mod--soon{opacity:.6;pointer-events:none}
.cp-mod--soon .cp-mod__dl{color:var(--cp-muted)}
@media (max-width:1199px){.cp-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){.cp-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.cp-modules{grid-template-columns:1fr;gap:8px}.cp-mod{min-height:0}}

/* ---------- other resources ---------- */
.cp-res{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding:22px 0;border-top:1px solid var(--cp-line)}
.cp-res:first-of-type{border-top:0}
.cp-res__text{font:400 15px/1.6 Lato,Arial,sans-serif;color:var(--cp-text)}
.cp-res__text p{margin:0 0 8px}
.cp-res__text h3{font:700 18px/1.3 Lato,Arial,sans-serif;color:var(--cp-ink);margin:0 0 8px}
.cp-card,.cp-card:link,.cp-card:visited{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-radius);color:var(--cp-text)!important;text-decoration:none!important;box-shadow:var(--cp-shadow);transition:border-color .15s,transform .15s}
.cp-card:hover{border-color:var(--cp-teal);transform:translateY(-1px)}
.cp-card__ic{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--cp-soft-2);color:var(--cp-teal)}
.cp-card__ic svg{width:26px;height:26px}
.cp-card__txt{flex:1 1 auto;min-width:0}
.cp-card__t{display:block;font:700 15px/1.3 Lato,Arial,sans-serif;color:var(--cp-ink)}
.cp-card__d{display:block;margin-top:3px;font:400 13px/1.4 Lato,Arial,sans-serif;color:var(--cp-muted)}
.cp-card__cta{flex:none;font:700 13px/1.2 Lato,Arial,sans-serif;color:var(--cp-teal);white-space:nowrap}
@media (max-width:767px){.cp-res{grid-template-columns:1fr;gap:14px}.cp-card{flex-wrap:wrap}.cp-card__cta{width:100%;padding-left:68px}}

/* ---------- annual reports ---------- */
.cp-reports{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:20px;padding:16px;background:var(--cp-soft);border-radius:16px}
.cp-latest{display:flex;align-items:center;gap:22px;padding:18px 22px;background:#fff;border-radius:var(--cp-radius);box-shadow:var(--cp-shadow)}
.cp-cover{flex:none;width:96px;aspect-ratio:210/297;border-radius:4px;overflow:hidden;background:var(--cp-soft-2);box-shadow:0 6px 16px rgba(16,42,52,.18);transform:rotate(-2deg)}
.cp-cover canvas,.cp-cover img{display:block;width:100%;height:100%;object-fit:cover}
.cp-latest__tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--cp-soft-2);color:var(--cp-teal);font:700 11px/1.3 Lato,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.cp-latest__t{display:block;margin:8px 0 12px;font:700 24px/1.2 Lato,Arial,sans-serif;color:var(--cp-ink)}
.cp-archive{list-style:none;margin:0;padding:6px 18px;background:#fff;border-radius:var(--cp-radius);box-shadow:var(--cp-shadow);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.cp-archive li{margin:0;padding:0;border-top:1px solid var(--cp-line)}
.cp-archive li:first-child{border-top:0}
.cp-archive li::before{display:none!important}
.cp-archive a,.cp-archive a:link,.cp-archive a:visited{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;color:var(--cp-ink)!important;font:400 15px/1.3 Lato,Arial,sans-serif;text-decoration:none!important}
.cp-archive a:hover{color:var(--cp-teal)!important}
.cp-archive small{font:700 12px Lato,Arial,sans-serif;color:var(--cp-muted)}
.cp-archive .cp-arrow{color:var(--cp-teal);font-weight:700}
@media (max-width:991px){.cp-reports{grid-template-columns:1fr}}
@media (max-width:480px){.cp-latest{gap:14px;padding:14px}.cp-cover{width:72px}.cp-latest__t{font-size:20px}}

/* ---------- RTE texts placed next to the components ---------- */
.cp-subtitle{font:700 19px/1.3 Lato,Arial,sans-serif!important;color:var(--cp-ink,#1f2a33)!important;margin:0 0 10px!important}
.cp-text{font:400 15px/1.6 Lato,Arial,sans-serif!important;color:#2a2f32;margin:0 0 12px!important}

.cp-wrap *,.cp-wrap *::before,.cp-wrap *::after{box-sizing:border-box}
@media (max-width:480px){.cp-nav a svg{display:none}.cp-nav a{padding:13px 8px 11px;font-size:13.5px}}
.cp-book__search input[type="search"]{box-sizing:border-box!important;-webkit-appearance:none;appearance:none}

/* spacing between the main sections */
.cp-section{margin-top:72px!important}
.cp-reports{margin-bottom:48px}
@media (max-width:767px){.cp-section{margin-top:48px!important}}

/* ---------- resource blocks (text + prominent card) ---------- */
.cp-res{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding:8px 0;margin:0 0 36px;border:0}
.cp-res__text h3{font:700 20px/1.3 Lato,Arial,sans-serif;color:var(--cp-teal);margin:0 0 10px}
.cp-card--big,.cp-card--big:link,.cp-card--big:visited{align-items:flex-start;gap:20px;padding:26px 28px;background:linear-gradient(135deg,#eef6f7 0%,#ffffff 70%);border:1px solid #cfe3e6;border-radius:16px;box-shadow:0 2px 4px rgba(16,42,52,.05),0 12px 30px rgba(16,42,52,.10)}
.cp-card--big:hover{border-color:#b7d6da;transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,42,52,.06),0 16px 36px rgba(16,42,52,.14)}
.cp-card--big .cp-card__ic{width:64px;height:64px;background:var(--cp-teal);color:#fff}
.cp-card--big .cp-card__ic svg{width:30px;height:30px}
.cp-card--big .cp-card__t{font-size:19px;color:var(--cp-ink)}
.cp-card--big .cp-card__d{font-size:14px;margin-top:6px}
.cp-card--big .cp-card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 18px;border-radius:999px;background:var(--cp-teal);color:#fff;font-size:14px}
.cp-card--big .cp-card__cta svg{width:16px;height:16px}
.cp-card--big:hover .cp-card__cta{background:#004d57}
@media (max-width:991px){.cp-res{grid-template-columns:1fr;gap:18px}}
@media (max-width:480px){.cp-card--big{padding:20px;gap:14px}.cp-card--big .cp-card__ic{width:48px;height:48px}.cp-card--big .cp-card__ic svg{width:24px;height:24px}}

/* ---------- site typography: running text in Georgia like the rest of efpia.eu (titles / UI stay Lato) ---------- */
.cp-lead,.cp-text,.cp-res__text p{font-family:Georgia,Times,"Times New Roman",serif!important;font-size:18px!important;line-height:1.6!important;font-weight:400!important}
.cp-lead{color:#2a2f32}
.cp-res__text p{color:#2a2f32;margin:0 0 12px}
.cp-book__head .cp-lead{font-size:17px!important}
@media (max-width:767px){.cp-lead,.cp-text,.cp-res__text p{font-size:16px!important}}

/* toolbar aligned right: search on top, buttons below, same width */
.cp-book__tools{display:grid;grid-template-columns:auto auto;justify-content:end;gap:8px;margin-left:auto}
.cp-book__tools .cp-book__search{grid-column:1 / -1}
.cp-book__tools .cp-book__search input{width:100%}
.cp-book__tools > .cp-btn{justify-content:center}
@media (max-width:767px){.cp-book__tools{grid-template-columns:1fr 1fr;justify-content:stretch;margin-left:0}.cp-book__tools > *{justify-content:center}}

/* zoom overlay toolbar */
.cp-zoom__bar{top:16px;right:20px;align-items:center;gap:10px}
.cp-zoom__group{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cp-zoom .cp-zoom__btn{display:inline-flex;align-items:center;justify-content:center;width:40px!important;height:40px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;box-shadow:none!important;text-transform:none!important;font-size:0!important;line-height:0!important;cursor:pointer;transition:background .15s,opacity .15s}
.cp-zoom .cp-zoom__btn svg{width:20px;height:20px}
.cp-zoom .cp-zoom__btn:hover{background:rgba(255,255,255,.18)!important;color:#fff!important}
.cp-zoom .cp-zoom__btn:disabled{opacity:.35;cursor:default;background:transparent!important}
.cp-zoom__level{min-width:48px;text-align:center;color:#fff;font:700 13px/1 Lato,Arial,sans-serif;font-variant-numeric:tabular-nums}
.cp-zoom .cp-zoom__close{width:46px!important;height:46px!important;background:#fff!important;color:var(--cp-ink)!important;box-shadow:0 4px 14px rgba(0,0,0,.3)!important}
.cp-zoom .cp-zoom__close:hover{background:var(--cp-orange)!important;color:#fff!important}

.cp-zoom{background:rgba(16,28,36,.94)}
.cp-zoom__scroll{padding:64px 16px 24px}

/* prominent zoom button on the book */
.cp-book .cp-book__zoomfab{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px 0 14px!important;margin:0!important;border:0!important;border-radius:999px!important;background:var(--cp-teal)!important;color:#fff!important;font:700 14px/1 Lato,Arial,sans-serif!important;text-transform:none!important;letter-spacing:0;box-shadow:0 6px 18px rgba(0,77,87,.28);cursor:pointer;transition:background .15s,transform .15s}
.cp-book .cp-book__zoomfab:hover{background:#004d57!important;color:#fff!important;transform:translateY(-1px)}
.cp-book .cp-book__zoomfab svg{width:20px;height:20px;flex:none}
.cp-book:not(.is-ready) .cp-book__zoomfab{display:none}
@media (max-width:767px){.cp-book .cp-book__zoomfab{top:8px;right:8px;height:38px;padding:0 14px 0 11px!important;font-size:13px!important}}

/* zoom overlay: page navigation */
.cp-zoom .cp-zoom__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:52px!important;height:52px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.22)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cp-zoom .cp-zoom__nav svg{width:24px;height:24px}
.cp-zoom .cp-zoom__nav:hover{background:rgba(255,255,255,.28)!important}
.cp-zoom .cp-zoom__nav:disabled{opacity:.25;background:rgba(255,255,255,.08)!important}
.cp-zoom__prev{left:18px}
.cp-zoom__next{right:18px}
.cp-zoom__count{position:absolute;top:24px;left:24px;z-index:2;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:700 13px/1 Lato,Arial,sans-serif;font-variant-numeric:tabular-nums}
.cp-zoom__scroll{padding:64px 84px 24px}
.cp-zoom__page{min-height:0}
@media (max-width:767px){.cp-zoom__scroll{padding:64px 8px 24px}.cp-zoom .cp-zoom__nav{top:auto;bottom:16px;transform:none;width:46px!important;height:46px!important}}

/* zoom button moved to the toolbar (does not cover the pages) */
.cp-book__tools{grid-template-columns:auto auto auto}
.cp-book .cp-book__zoombtn{height:40px;padding:0 16px!important;margin:0!important;border:1.5px solid var(--cp-teal)!important;border-radius:999px!important;background:#fff!important;color:var(--cp-teal)!important;font:700 14px/1 Lato,Arial,sans-serif!important;text-transform:none!important}
.cp-book .cp-book__zoombtn:hover{background:var(--cp-teal)!important;color:#fff!important}
.cp-book:not(.is-ready) .cp-book__zoombtn{opacity:.45;pointer-events:none}
@media (max-width:767px){.cp-book__tools{grid-template-columns:1fr 1fr}.cp-book .cp-book__zoombtn{grid-column:1 / -1}}

/* ---------- 05/11 feedback (Giulia) ---------- */
.cp-section{margin-top:48px!important}
@media (max-width:767px){.cp-section{margin-top:36px!important}}
.cp-res{margin-bottom:12px!important}
.cp-lead{max-width:none!important}
/* text grey as on the rest of efpia.eu (.rte-paragraph = #5c5d5f) */
.cp-lead,.cp-text,.cp-res__text p{color:#5c5d5f!important}
body:has(.cp-nav) .grid-section p,body:has(.cp-nav) .grid-section li,body:has(.cp-nav) .grid-section .rte-paragraph{color:#5c5d5f}
/* annual report: single rectangle with "Previous editions" link */
.cp-reports--single{display:block;padding:0;background:none}
.cp-reports--single .cp-latest{border:1px solid var(--cp-line);box-shadow:var(--cp-shadow)}
.cp-latest__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.cp-prev,.cp-prev:link,.cp-prev:visited{display:inline-flex;align-items:center;gap:6px;color:var(--cp-teal)!important;font:700 14px/1.2 Lato,Arial,sans-serif;text-decoration:none!important}
.cp-prev small{font:700 11px Lato,Arial,sans-serif;color:var(--cp-muted)}
.cp-prev:hover{text-decoration:underline!important}

#the-code.cp-section,#annual-report.cp-section{margin-top:16px!important}
