/* BIND — Header, mega menu, mobile drawer, footer */

/* ============ LAYOUT TOKENS ============ */
:root{
	--bind-container-max: 1440px;
	--bind-gutter: 50px;
}
@media (max-width:1199px){
	:root{ --bind-gutter: 20px; }
}

/* Helper class — usa questa su qualsiasi contenitore per allinearlo al layout BIND */
.bind-container{
	max-width: var(--bind-container-max);
	margin: 0 auto;
	padding: 0 var(--bind-gutter);
	box-sizing: border-box;
}

/* ============ RESETS (override Elementor Kit defaults) ============ */

.bind-header button,
.bind-drawer button{
	-webkit-appearance:none;appearance:none;
	background:transparent!important;border:0!important;
	padding:0;margin:0;cursor:pointer;
	color:inherit;
	box-shadow:none!important;text-decoration:none;
	/* Font intentionally NOT reset — inherit from container then override with specific rules */
}
.bind-header a,
.bind-drawer a,
.bind-footer a{text-decoration:none!important;box-shadow:none!important}

/* ============ HEADER ============ */

.bind-header{
	position:sticky;top:0;z-index:100;
	background:#fff;
	border-bottom:1px solid #E2E8F0;
}
.bind-header__inner{
	max-width:var(--bind-container-max);margin:0 auto;
	display:flex;align-items:center;justify-content:space-between;
	min-height:120px;padding:0 var(--bind-gutter);gap:24px;
	box-sizing:border-box;
}
.bind-header__logo{display:inline-flex;align-items:center;flex-shrink:0}
.bind-header .bind-header__logo img{display:block!important;height:76px!important;width:auto!important;max-width:none!important}

.bind-header .bind-nav{flex:0 1 auto}
.bind-header .bind-nav__list{
	display:flex;align-items:center;
	list-style:none;margin:0;padding:0;gap:8px;
}
.bind-header .bind-nav__item{position:relative;display:flex;align-items:center;margin:0}
.bind-header .bind-nav__item > a,
.bind-header .bind-nav__trigger{
	display:inline-flex!important;align-items:center!important;gap:6px!important;
	padding:12px 16px!important;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:16px!important;line-height:18px!important;letter-spacing:0.08px!important;
	color:#0B2A5B!important;text-decoration:none!important;
	transition:color .15s ease;
	text-transform:none!important;
}
.bind-header .bind-nav__item:hover > a,
.bind-header .bind-nav__item:hover > .bind-nav__trigger,
.bind-header .bind-nav__trigger[aria-expanded="true"]{color:#1E50C8!important}

.bind-header .bind-nav__chevron{width:16px!important;height:16px!important;flex-shrink:0;transition:transform .2s ease;display:inline-block;color:currentColor}
.bind-header .bind-nav__trigger[aria-expanded="true"] .bind-nav__chevron{transform:rotate(180deg)}

/* Mega menu */
.bind-mega{
	position:absolute;top:100%;left:0;
	background:#fff;border:1px solid #E2E8F0;
	padding:24px;margin-top:0;
	display:none;min-width:300px;
	z-index:110;
	box-shadow:0 4px 12px rgba(15,23,42,.08);
}
.bind-nav__item.is-open > .bind-mega{display:block}

.bind-header .bind-mega__overline{
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:13px!important;line-height:16px!important;
	letter-spacing:1.56px!important;text-transform:uppercase!important;
	color:#1E50C8!important;
	margin:0 0 12px!important;
}
.bind-header .bind-mega__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.bind-header .bind-mega__list a{
	display:flex!important;align-items:center!important;justify-content:space-between!important;
	padding:12px 0!important;text-decoration:none!important;
	font-family:'Inter',sans-serif!important;font-weight:400!important;
	font-size:16px!important;line-height:26px!important;letter-spacing:0!important;
	color:#0B2A5B!important;
	transition:color .15s ease;
	text-transform:none!important;
}
.bind-header .bind-mega__list a:hover{color:#1E50C8!important}
.bind-header .bind-mega--with-icons .bind-mega__list a{padding:16px 0!important;min-width:352px}
.bind-header .bind-mega__icon{width:20px!important;height:20px!important;flex-shrink:0;color:#1E50C8}

/* Mobile toggle (hidden desktop) */
.bind-header .bind-header__toggle{
	display:none!important;
	align-items:center;gap:8px;
	padding:12px!important;cursor:pointer;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:15px!important;line-height:20px!important;letter-spacing:0.075px!important;
	color:#0B2A5B!important;
	text-transform:none!important;
}
.bind-header .bind-header__toggle svg{width:24px!important;height:24px!important}

.bind-nav__trigger{cursor:pointer;padding:12px 16px!important}
.bind-nav__trigger,
.bind-nav__item > a{padding:12px 16px!important}

@media (max-width:1199px){
	.bind-header .bind-header__inner{padding:16px var(--bind-gutter);min-height:92px}
	.bind-header .bind-header__logo img{height:60px!important;width:auto!important;max-width:none!important}
	.bind-header .bind-nav{display:none!important}
	.bind-header .bind-header__toggle{display:inline-flex!important}
}

/* ============ MOBILE DRAWER ============ */

.bind-drawer{
	position:fixed;inset:0;
	background:#fff;padding:24px;
	z-index:200;overflow-y:auto;
	display:flex;flex-direction:column;gap:16px;
}
.bind-drawer[hidden]{display:none}

.bind-drawer__header{display:flex;align-items:center;justify-content:space-between}
.bind-drawer .bind-drawer__logo{flex-shrink:0}
.bind-drawer .bind-drawer__logo img{display:block!important;height:60px!important;width:auto!important;max-width:none!important}
.bind-drawer .bind-drawer__close{
	padding:12px!important;cursor:pointer;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:15px!important;line-height:20px!important;letter-spacing:0.075px!important;
	color:#0B2A5B!important;
	text-transform:none!important;
}
.bind-drawer__divider{border:0;border-top:1px solid #E2E8F0;margin:0}

.bind-drawer__nav{display:flex;flex-direction:column;gap:16px}
.bind-drawer__group{display:flex;flex-direction:column;gap:8px}
.bind-drawer .bind-drawer__title,
.bind-drawer .bind-drawer__group > a{
	display:block!important;
	font-family:'Space Grotesk',sans-serif!important;font-weight:500!important;
	font-size:20px!important;line-height:28px!important;letter-spacing:0!important;
	color:#0B2A5B!important;text-decoration:none!important;
	padding:8px 0!important;
	text-transform:none!important;
}
.bind-drawer__sublist{
	list-style:none;margin:0;padding:0 0 0 16px;
	display:flex;flex-direction:column;
}
.bind-drawer .bind-drawer__sublist a{
	display:block!important;padding:8px 0!important;
	font-family:'Inter',sans-serif!important;font-weight:400!important;
	font-size:16px!important;line-height:26px!important;letter-spacing:0!important;
	color:#334155!important;text-decoration:none!important;
	text-transform:none!important;
}
.bind-drawer .bind-drawer__sublist a:hover{color:#1E50C8!important}

/* Prevent body scroll when drawer open */
body.bind-drawer-open{overflow:hidden}

/* ============ FOOTER ============ */

.bind-footer{background:#0B2A5B;color:#fff;padding:80px 0}
.bind-footer__inner{
	max-width:var(--bind-container-max);margin:0 auto;padding:0 var(--bind-gutter);
	display:flex;flex-direction:column;gap:48px;
	box-sizing:border-box;
}
.bind-footer__cols{display:flex;gap:64px;align-items:flex-start;flex-wrap:wrap}
.bind-footer__brand{width:440px;display:flex;flex-direction:column;gap:20px}
.bind-footer .bind-footer__brand-logo img{display:block!important;width:260px!important;height:auto!important;max-width:100%!important}
.bind-footer .bind-footer__tagline{
	font-family:'Inter',sans-serif!important;font-weight:400!important;
	font-size:16px!important;line-height:26px!important;letter-spacing:0!important;
	color:#D9E3F7!important;margin:0!important;max-width:440px;
}
.bind-footer__social{display:flex;gap:8px}
.bind-footer__social a{
	display:inline-flex;align-items:center;justify-content:center;
	width:44px;height:44px;color:#22C9D6;text-decoration:none;
	transition:opacity .15s ease;
}
.bind-footer__social a:hover{opacity:.75}
.bind-footer__social img{display:block;width:28px;height:32px}

.bind-footer__col{display:flex;flex-direction:column;gap:16px;min-width:200px}
.bind-footer .bind-footer__col-title{
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:13px!important;line-height:16px!important;
	letter-spacing:1.56px!important;text-transform:uppercase!important;
	color:#22C9D6!important;margin:0!important;
}
.bind-footer .bind-footer__col a,
.bind-footer .bind-footer__col span{
	font-family:'Inter',sans-serif!important;font-weight:400!important;
	font-size:16px!important;line-height:26px!important;letter-spacing:0!important;
	color:#fff!important;text-decoration:none!important;
	text-transform:none!important;
}
.bind-footer .bind-footer__col a{transition:color .15s ease}
.bind-footer .bind-footer__col a:hover{color:#22C9D6!important}

.bind-footer__divider{height:1px;background:#153A86;border:0;margin:0;width:100%}

.bind-footer .bind-footer__legal{
	display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
	font-family:'Inter',sans-serif!important;font-weight:400!important;
	font-size:14px!important;line-height:22px!important;letter-spacing:0!important;
	color:#D9E3F7!important;
}
.bind-footer .bind-footer__legal a{color:#D9E3F7!important;text-decoration:none!important;margin:0 4px}
.bind-footer .bind-footer__legal a:hover{color:#fff!important}

@media (max-width:1199px){
	.bind-footer{padding:48px 0}
	.bind-footer__inner{padding:0 var(--bind-gutter);gap:32px}
	.bind-footer__cols{gap:40px}
	.bind-footer__brand{width:100%}
	.bind-footer__legal{flex-direction:column;align-items:flex-start}
}

/* ============ HERO LAYOUT ============ */

/* Backup rule if Elementor's boxed_width doesn't cap the wrapper for any reason. */
.elementor-element.bind-hero-wrapper,
.bind-hero-wrapper > .e-con-inner{
	max-width: var(--bind-container-max)!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

/* Cap H1 width so text wraps like Figma (3 lines desktop). */
.bind-hero-h1 .elementor-heading-title{
	max-width: 656px;
}
@media (max-width:1199px){
	.bind-hero-h1 .elementor-heading-title{max-width: 100%}
}

/* ============ HERO BUTTONS ============ */

.bind-hero-btn .elementor-button,
.elementor-widget-button.bind-hero-btn > .elementor-widget-container > .elementor-button-wrapper > .elementor-button{
	display:inline-flex!important;align-items:center!important;
	justify-content:space-between!important;
	gap:24px!important;
	padding:16px 24px!important;
	border-radius:4px!important;
	border:0!important;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:15px!important;line-height:20px!important;letter-spacing:0.075px!important;
	text-transform:none!important;
	min-height:52px;
	transition:background-color .15s ease, color .15s ease;
}
.bind-hero-btn .elementor-button::after{
	content:'';display:inline-block;flex-shrink:0;
	width:24px;height:24px;
	background-color:currentColor;
	-webkit-mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
}
.bind-hero-btn .elementor-button-icon,
.bind-hero-btn .elementor-button-text{flex-shrink:0}
.bind-hero-btn .elementor-button-text{margin:0!important}

.bind-hero-btn--primary .elementor-button{background-color:#00B7C4!important;color:#0B2A5B!important}
.bind-hero-btn--primary .elementor-button:hover{background-color:#009BA6!important;color:#0B2A5B!important}
.bind-hero-btn--secondary .elementor-button{background-color:#FFFFFF!important;color:#0B2A5B!important}
.bind-hero-btn--secondary .elementor-button:hover{background-color:#F1F5F9!important;color:#0B2A5B!important}

@media (max-width:1199px){
	.bind-hero-btn,
	.bind-hero-btn .elementor-button{width:100%!important}
}

/* ============ LINK BUTTON (transparent, blue text, used for "All news" / "View calendar") ============ */

.bind-link-btn .elementor-button{
	display:inline-flex!important;align-items:center!important;
	gap:24px!important;
	padding:16px 24px!important;
	border-radius:4px!important;border:0!important;
	background-color:transparent!important;color:#1E50C8!important;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:15px!important;line-height:20px!important;letter-spacing:0.075px!important;
	text-transform:none!important;
	transition:color .15s ease,background-color .15s ease;
}
.bind-link-btn .elementor-button:hover{background-color:#EEF3FB!important;color:#153A86!important}
.bind-link-btn--white .elementor-button{background-color:#FFFFFF!important}
.bind-link-btn--white .elementor-button:hover{background-color:#F1F5F9!important}
.bind-link-btn .elementor-button::after{
	content:'';display:inline-block;flex-shrink:0;
	width:24px;height:24px;
	background-color:currentColor;
	-webkit-mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
}

/* ============ NEWS CARD ============ */

.bind-news-card{
	background:transparent;
	transition:transform .2s ease;
}
.bind-news-card:hover{transform:translateY(-2px)}
.bind-news-card > a.elementor-element{text-decoration:none}
.bind-news-card__img img{
	display:block!important;
	width:100%!important;
	height:250px!important;
	object-fit:cover!important;
}
.bind-news-card__cat .elementor-heading-title{margin:0!important}
.bind-news-card__title .elementor-heading-title{
	margin:0!important;
	transition:color .15s ease;
}
.bind-news-card:hover .bind-news-card__title .elementor-heading-title{color:#1E50C8!important}
.bind-news-card__readmore{margin-top:4px}
.bind-news-card__readmore .elementor-heading-title{
	display:inline-flex!important;align-items:center!important;gap:8px;
}
.bind-news-card__readmore .elementor-heading-title::after{
	content:'';display:inline-block;flex-shrink:0;
	width:20px;height:20px;
	background-color:currentColor;
	-webkit-mask:url('../img/bind/arrow-up-right.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right.svg') no-repeat center/contain;
}

/* ============ RESEARCH CARD ============ */

.bind-research-card{
	transition:transform .2s ease;
	overflow:hidden;
	position:relative;
}
.bind-research-card:hover{transform:translateY(-2px)}
.bind-research-card__index .elementor-heading-title,
.bind-research-card__title .elementor-heading-title{margin:0!important}
.bind-research-card__arrow{
	display:inline-block;flex-shrink:0;
	width:24px;height:24px;
	background-color:#FFFFFF;
	-webkit-mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
}

/* ============ PUBLICATIONS YEAR ROWS ============ */

.bind-pub-year-row{
	border-top:1px solid #153A86;
	cursor:pointer;
	transition:padding .15s ease, background-color .15s ease;
}
.bind-pub-years > .bind-pub-year-row:last-child{border-bottom:1px solid #153A86}
.bind-pub-year-row:hover{background-color:rgba(21,58,134,0.15)}
.bind-pub-year-row .elementor-heading-title{margin:0!important}

.bind-pub-year-row__arrow{
	display:inline-block;flex-shrink:0;
	width:24px;height:24px;
	background-color:#22C9D6;
	-webkit-mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right-24.svg') no-repeat center/contain;
}

/* ============ EXPLORE BIND columns ============ */

.bind-explore-col{transition:transform .15s ease}
.bind-explore-sublinks ul{list-style:none!important;padding:0!important;margin:0!important}
.bind-explore-sublinks a{color:#0B2A5B!important;text-decoration:none!important;transition:color .15s ease}
.bind-explore-sublinks a:hover{color:#1E50C8!important}

.bind-explore-link-row{cursor:pointer;transition:padding-left .15s ease}
.bind-explore-link-row:hover{padding-left:4px!important}
.bind-explore-link-row .elementor-heading-title{margin:0!important}
.bind-explore-link-row__arrow{
	display:inline-block;flex-shrink:0;
	width:20px;height:20px;
	background-color:#1E50C8;
	-webkit-mask:url('../img/bind/arrow-up-right.svg') no-repeat center/contain;
	mask:url('../img/bind/arrow-up-right.svg') no-repeat center/contain;
}

/* ============ PEOPLE TABS ============ */

.bind-people-tabs{border-bottom:1px solid #E2E8F0}
.bind-people-tab .elementor-button{
	background-color:transparent!important;
	color:#334155!important;
	padding:16px 24px!important;
	border:0!important;border-radius:0!important;
	font-family:'Inter',sans-serif!important;font-weight:600!important;
	font-size:15px!important;line-height:20px!important;letter-spacing:0.075px!important;
	text-transform:none!important;
	border-bottom:2px solid transparent!important;
	transition:color .15s ease, border-color .15s ease;
}
.bind-people-tab .elementor-button:hover{color:#1E50C8!important}
.bind-people-tab--active .elementor-button{
	background-color:#0B2A5B!important;
	color:#FFFFFF!important;
	border-bottom-color:#0B2A5B!important;
	border-radius:4px 4px 0 0!important;
}

/* ============ MEMBER CARD ============ */

.bind-member-card{
	transition:transform .2s ease;
}
.bind-member-card:hover{transform:translateY(-2px)}
.bind-member-card__initials{
	display:flex;align-items:center;justify-content:center;
	width:80px;height:80px;border-radius:40px;
	background:#E6F9FB;
	font-family:'Space Grotesk',sans-serif;font-weight:700;
	font-size:30px;line-height:38px;letter-spacing:-0.15px;
	color:#0B2A5B;flex-shrink:0;
}
.bind-member-card__role .elementor-heading-title{
	line-height:16px!important;margin:0!important;
}
.bind-member-card__name .elementor-heading-title{
	margin:0!important;transition:color .15s ease;
}
.bind-member-card:hover .bind-member-card__name .elementor-heading-title{color:#1E50C8!important}
.bind-member-card__email a{color:#1A44AB!important;text-decoration:none!important}
.bind-member-card__email a:hover{text-decoration:underline!important}
