/* ── Buttons ─────────────────────────────────────────────
   Large 60px / p16-24, Small 48px / p12-24, Mini 40px / p12-16.
   Label: Titillium Web Semibold. Radius: radius-smooth. */
.it-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border:var(--border-base) solid transparent;border-radius:var(--radius-smooth);cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.it-btn--lg{min-height:60px;padding:16px 24px;font-size:18px;line-height:28px}
.it-btn--sm{min-height:48px;padding:12px 24px;font-size:18px;line-height:24px}
.it-btn--mini{min-height:40px;padding:12px 16px;font-size:16px;line-height:16px}
.it-btn--icon-only.it-btn--lg{padding:16px;width:60px}
.it-btn--icon-only.it-btn--sm{padding:12px;width:48px}
.it-btn--icon-only.it-btn--mini{padding:12px;width:40px}
.it-btn--block{width:100%}
.it-btn--filled{color:var(--text-inverse)}
.it-btn--filled.it-btn--primary{background:var(--background-primary)}
.it-btn--filled.it-btn--primary:hover{background:var(--background-primary-hover)}
.it-btn--filled.it-btn--primary:active{background:var(--background-primary-active)}
.it-btn--filled.it-btn--secondary{background:var(--background-secondary)}
.it-btn--filled.it-btn--secondary:hover{background:var(--background-secondary-hover)}
.it-btn--filled.it-btn--secondary:active{background:var(--background-secondary-active)}
.it-btn--filled.it-btn--success{background:var(--background-success)}
.it-btn--filled.it-btn--success:hover{background:var(--background-success-hover)}
.it-btn--filled.it-btn--success:active{background:var(--background-success-active)}
.it-btn--filled.it-btn--danger{background:var(--background-error)}
.it-btn--filled.it-btn--danger:hover{background:var(--background-error-hover)}
.it-btn--filled.it-btn--danger:active{background:var(--background-error-active)}
.it-btn--filled.it-btn--warning{background:var(--background-warning)}
.it-btn--filled.it-btn--warning:hover{background:var(--background-warning-hover)}
.it-btn--filled.it-btn--warning:active{background:var(--background-warning-active)}
.it-btn--outline{background:transparent}
.it-btn--outline.it-btn--primary{color:var(--text-primary);border-color:var(--border-primary)}
.it-btn--outline.it-btn--primary:hover{color:var(--text-inverse);background:var(--background-primary-hover);border-color:var(--border-primary-hover)}
.it-btn--outline.it-btn--primary:active{color:var(--text-inverse);background:var(--background-primary-active);border-color:var(--border-primary-active)}
.it-btn--outline.it-btn--secondary{color:var(--text-secondary);border-color:var(--border-secondary)}
.it-btn--outline.it-btn--secondary:hover{color:var(--text-inverse);background:var(--background-secondary-hover);border-color:var(--border-secondary-hover)}
.it-btn--outline.it-btn--success{color:var(--text-success);border-color:var(--border-success)}
.it-btn--outline.it-btn--success:hover{color:var(--text-inverse);background:var(--background-success-hover);border-color:var(--border-success-hover)}
.it-btn--outline.it-btn--danger{color:var(--text-error);border-color:var(--border-error)}
.it-btn--outline.it-btn--danger:hover{color:var(--text-inverse);background:var(--background-error-hover);border-color:var(--border-error-hover)}
.it-btn--outline.it-btn--warning{color:var(--text-warning);border-color:var(--border-warning)}
.it-btn--outline.it-btn--warning:hover{color:var(--text-inverse);background:var(--background-warning-hover);border-color:var(--border-warning-hover)}
.it-btn--inverse-filled{background:var(--color-white);color:var(--text-primary)}
.it-btn--inverse-filled:hover{background:var(--color-blue-97)}
.it-btn--inverse-outline{background:transparent;color:var(--text-inverse);border-color:var(--border-inverse)}
.it-btn--inverse-outline:hover{background:rgba(255,255,255,.15)}
.it-btn:disabled,.it-btn[aria-disabled="true"]{background:var(--background-disabled);border-color:var(--background-disabled);color:var(--text-disabled);cursor:not-allowed;pointer-events:none}
.it-btn--outline:disabled{background:transparent;border-color:var(--border-disabled);color:var(--text-disabled)}

/* ── Link ──────────────────────────────────────────────── */
.it-link{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px;font-family:var(--font-sans)}
.it-link:hover{color:var(--text-primary-hover)}
.it-link:active{color:var(--text-primary-active)}
.it-link--inverse{color:var(--color-white)}
.it-link--no-underline{text-decoration:none}
.it-link--with-icon{display:inline-flex;align-items:center;gap:var(--spacing-xxs)}

/* ── Badge ─────────────────────────────────────────────── */
.it-badge{display:inline-flex;align-items:center;gap:var(--spacing-xxs);padding:4px 16px;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:14px;line-height:24px;border-radius:var(--radius-smooth);color:var(--text-inverse)}
.it-badge--rounded{border-radius:100px}
.it-badge--primary{background:var(--background-primary)}
.it-badge--secondary{background:var(--background-secondary)}
.it-badge--success{background:var(--background-success)}
.it-badge--warning{background:var(--background-warning)}
.it-badge--error{background:var(--background-error)}

/* ── Chips ─────────────────────────────────────────────── */
.it-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);border:var(--border-base) solid var(--border-secondary);border-radius:100px;background:var(--color-white);color:var(--text-secondary);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);cursor:pointer}
.it-chip--lg{min-height:40px;padding:8px 16px;font-size:16px;line-height:24px}
.it-chip--sm{min-height:32px;padding:4px 12px;font-size:14px;line-height:24px}
.it-chip:hover{background:var(--color-gray-96)}
.it-chip--primary{border-color:var(--border-primary);color:var(--text-primary)}
.it-chip--error{border-color:var(--border-error);color:var(--text-error)}
.it-chip--success{border-color:var(--border-success);color:var(--text-success)}
.it-chip--warning{border-color:var(--border-warning);color:var(--text-warning)}
.it-chip__avatar{margin-left:-4px}
.it-chip--selected{background:var(--background-primary);border-color:var(--border-primary);color:var(--text-inverse)}
.it-chip--disabled{border-color:var(--border-disabled);color:var(--text-disabled);pointer-events:none}
.it-chip__close{display:inline-flex;background:none;border:0;padding:0;cursor:pointer;color:inherit}

/* ── Avatar ────────────────────────────────────────────── */
.it-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:100px;overflow:hidden;background:var(--background-primary);color:var(--text-inverse);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);flex-shrink:0}
.it-avatar img{width:100%;height:100%;object-fit:cover}
.it-avatar--xs{width:24px;height:24px;font-size:12px}
.it-avatar--sm{width:32px;height:32px;font-size:14px}
.it-avatar--md{width:48px;height:48px;font-size:18px}
.it-avatar--lg{width:64px;height:64px;font-size:24px}
.it-avatar--xl{width:80px;height:80px;font-size:32px}
.it-avatar-wrap{position:relative;display:inline-flex}
.it-avatar-dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:100px;border:2px solid var(--color-white)}
.it-avatar-dot--approved{background:var(--background-success)}
.it-avatar-dot--declined{background:var(--background-error)}
.it-avatar-dot--notify{background:var(--background-warning)}
.it-avatar--primary{background:var(--background-primary);color:var(--text-inverse)}
a.it-avatar{text-decoration:none}
a.it-avatar:hover{filter:brightness(.92)}
.it-avatar-group{display:inline-flex;align-items:center}
.it-avatar-group--grouped{gap:8px}
.it-avatar-group--stacked>*+*{margin-left:-12px}
.it-avatar-group--stacked>*{box-shadow:0 0 0 2px var(--color-white)}

/* ── Divider ───────────────────────────────────────────── */
.it-divider{border:0;border-top:var(--border-base) solid var(--color-slate-78);margin:0}
.it-divider--strong{border-top-color:var(--color-slate-44)}
.it-divider--vertical{border:0;border-left:var(--border-base) solid var(--color-slate-78);align-self:stretch}

/* ── Card ──────────────────────────────────────────────── */
.it-card{display:flex;flex-direction:column;gap:var(--spacing-s);background:var(--color-white);border-radius:var(--radius-smooth);box-shadow:0 4px 4px 0 rgba(0,0,0,.15);padding:var(--spacing-s)}
@media(min-width:576px){.it-card{padding:var(--spacing-m)}}
.it-card--spacious{padding:var(--spacing-xl)}
.it-card--bordered{box-shadow:inset 0 0 0 1px var(--color-slate-78),0 4px 4px 0 rgba(0,0,0,.15)}
.it-card--elevated{box-shadow:0 8px 16px 0 rgba(0,0,0,.15)}
.it-card--flat{box-shadow:none;border:var(--border-base) solid var(--color-slate-78)}
.it-card--border-top{border-top:var(--border-thick) solid var(--border-primary)}
.it-card--inline{flex-direction:row;align-items:flex-start;gap:var(--spacing-m)}
.it-card__category{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:14px;line-height:24px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}
.it-card__title{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:24px;line-height:32px;color:var(--text-secondary);margin:0}
.it-card__text{font-family:var(--font-sans);font-size:16px;line-height:24px;color:var(--text-base);margin:0}
.it-card__meta{display:flex;gap:var(--spacing-s);font-size:14px;line-height:16px;color:var(--text-muted)}
.it-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-s);border-top:var(--border-base) solid var(--color-slate-93)}
.it-card__media{margin:calc(-1 * var(--spacing-m)) calc(-1 * var(--spacing-m)) 0;overflow:hidden;border-radius:var(--radius-smooth) var(--radius-smooth) 0 0}
.it-card__media img{display:block;width:100%;height:100%;object-fit:cover}

/* ── Callout ───────────────────────────────────────────── */
.it-callout{border:var(--border-double) solid var(--border-secondary);border-radius:var(--radius-smooth);padding:var(--spacing-m);display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--color-white)}
.it-callout__title{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;color:var(--text-secondary);text-transform:uppercase;margin:0}
.it-callout__text{font-size:16px;line-height:24px;margin:0}
.it-callout--highlight{border-width:var(--border-base);border-left-width:var(--border-broad)}
.it-callout--primary{border-color:var(--border-primary)}
.it-callout--primary .it-callout__title{color:var(--text-primary)}
.it-callout--success{border-color:var(--border-success)}
.it-callout--success .it-callout__title{color:var(--text-success)}
.it-callout--warning{border-color:var(--border-warning)}
.it-callout--warning .it-callout__title{color:var(--text-warning)}
.it-callout--danger{border-color:var(--border-error)}
.it-callout--danger .it-callout__title{color:var(--text-error)}

/* ── Alert ─────────────────────────────────────────────── */
.it-alert{display:flex;gap:var(--spacing-s);padding:var(--spacing-s);border-radius:var(--radius-smooth);border:var(--border-base) solid transparent;font-family:var(--font-sans)}
.it-alert__body{display:flex;flex-direction:column;gap:var(--spacing-xxs);flex:1}
.it-alert__title{font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;margin:0}
.it-alert__text{font-size:16px;line-height:24px;margin:0}
.it-alert__close{background:none;border:0;padding:0;cursor:pointer;color:inherit;align-self:flex-start}
.it-alert--primary{background:var(--color-blue-97);border-color:var(--border-primary);color:var(--text-primary)}
.it-alert--info{background:var(--color-blue-97);border-color:var(--border-primary);color:var(--color-blue-30)}
.it-alert--success{background:var(--background-success-light);border-color:var(--border-success);color:var(--text-success)}
.it-alert--warning{background:var(--background-warning-light);border-color:var(--border-warning);color:var(--text-warning)}
.it-alert--error{background:var(--background-error-light);border-color:var(--border-error);color:var(--text-error)}

/* ── Blockquote ────────────────────────────────────────── */
.it-blockquote{margin:0;padding:var(--spacing-m) 0 var(--spacing-m) var(--spacing-m);border-left:var(--border-thick) solid var(--border-primary);font-family:var(--font-serif);font-size:18px;line-height:28px;color:var(--text-base)}
.it-blockquote--center{border-left:0;text-align:center;padding:var(--spacing-m) 0}
.it-blockquote__mark{display:block;font-family:var(--font-serif);font-size:56px;line-height:1;color:var(--color-slate-78)}
.it-blockquote__cite{display:block;margin-top:var(--spacing-s);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;color:var(--text-muted);font-style:normal}

/* ── Hero ──────────────────────────────────────────────── */
.it-hero{position:relative;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-s);padding:var(--spacing-xxl) var(--spacing-m);background:var(--background-primary);color:var(--text-inverse);overflow:hidden}
.it-hero--image{background:var(--color-slate-20)}
.it-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.it-hero__inner{position:relative;max-width:1140px;margin-inline:auto;width:100%;display:flex;flex-direction:column;gap:var(--spacing-s)}
.it-hero__category{font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;text-transform:uppercase;letter-spacing:.5px}
.it-hero__title{font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:48px;line-height:56px;letter-spacing:var(--font-tracking-short);margin:0}
.it-hero__text{font-size:18px;line-height:28px;max-width:640px;margin:0}
.it-hero--small{padding:var(--spacing-l) var(--spacing-m)}
.it-hero--small .it-hero__title{font-size:32px;line-height:40px}

/* ── List ──────────────────────────────────────────────── */
.it-list{list-style:none;margin:0;padding:0;font-family:var(--font-sans)}
.it-list__item{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-s);border-bottom:var(--border-base) solid var(--color-slate-93);color:var(--text-base);text-decoration:none}
.it-list__item:hover{background:var(--color-gray-96)}
.it-list__item--active{background:var(--color-blue-97);box-shadow:inset 4px 0 0 0 var(--border-primary);color:var(--text-primary)}
.it-list__item--disabled{color:var(--text-disabled);pointer-events:none}
.it-list__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.it-list__title{font-weight:var(--font-weight-semibold);font-size:16px;line-height:24px}
.it-list__text{font-size:14px;line-height:24px;color:var(--text-muted)}
.it-list__meta{font-size:14px;line-height:16px;color:var(--text-muted);white-space:nowrap}
.it-list__thumb{width:48px;height:48px;border-radius:var(--radius-smooth);object-fit:cover;flex-shrink:0}
.it-list__header{padding:var(--spacing-xs) var(--spacing-s);font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;text-transform:uppercase;color:var(--text-muted)}

/* ── Accordion ─────────────────────────────────────────── */
.it-accordion{border:var(--border-base) solid var(--color-slate-78);border-radius:var(--radius-smooth);overflow:hidden;font-family:var(--font-sans);background:var(--color-white)}
.it-accordion__item+.it-accordion__item{border-top:var(--border-base) solid var(--color-slate-78)}
.it-accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-s);width:100%;padding:var(--spacing-s) var(--spacing-m);background:var(--color-white);border:0;cursor:pointer;text-align:left;font-family:inherit;font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;color:var(--text-primary)}
.it-accordion__trigger:hover{background:var(--color-blue-97)}
.it-accordion__trigger[aria-expanded="true"]{background:var(--color-blue-97)}
.it-accordion__trigger--left-icon{flex-direction:row-reverse;justify-content:flex-end}
.it-accordion__chev{transition:transform .2s ease;flex-shrink:0}
.it-accordion__trigger[aria-expanded="true"] .it-accordion__chev{transform:rotate(180deg)}
.it-accordion__panel{padding:var(--spacing-s) var(--spacing-m) var(--spacing-m);font-size:16px;line-height:24px;color:var(--text-base)}
.it-accordion--active-bg .it-accordion__trigger[aria-expanded="true"]{background:var(--background-primary);color:var(--text-inverse)}

/* ── Tabs ──────────────────────────────────────────────── */
.it-tabs{font-family:var(--font-sans)}
.it-tabs__list{display:flex;gap:0;border-bottom:var(--border-base) solid var(--color-slate-78);overflow-x:auto}
.it-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-s) var(--spacing-m);background:none;border:0;border-bottom:var(--border-thick) solid transparent;cursor:pointer;font-family:inherit;font-weight:var(--font-weight-semibold);font-size:16px;line-height:24px;color:var(--text-primary);white-space:nowrap}
.it-tab:hover{background:var(--color-blue-97)}
.it-tab--active{border-bottom-color:var(--border-primary);color:var(--text-secondary)}
.it-tab--disabled{color:var(--text-disabled);pointer-events:none}
.it-tabs--vertical{display:flex;gap:var(--spacing-m)}
.it-tabs--vertical .it-tabs__list{flex-direction:column;border-bottom:0;border-left:var(--border-base) solid var(--color-slate-78)}
.it-tabs--vertical .it-tab{justify-content:flex-start;border-bottom:0;border-left:var(--border-thick) solid transparent;margin-left:-1px}
.it-tabs--vertical .it-tab--active{border-left-color:var(--border-primary)}
.it-tabs--card .it-tab{border:var(--border-base) solid var(--color-slate-78);border-radius:var(--radius-smooth) var(--radius-smooth) 0 0;margin-right:var(--spacing-xxs);background:var(--color-gray-96)}
.it-tabs--card .it-tab--active{background:var(--color-white);border-bottom-color:var(--color-white)}
.it-tabs__panel{padding:var(--spacing-m) 0;font-size:16px;line-height:24px}

/* ── Table ─────────────────────────────────────────────── */
.it-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:16px;line-height:24px}
.it-table th{text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);padding:var(--spacing-s);border-bottom:var(--border-double) solid var(--color-slate-44);background:var(--color-white)}
.it-table td{padding:var(--spacing-s);border-bottom:var(--border-base) solid var(--color-slate-93);color:var(--text-base)}
.it-table--sm th,.it-table--sm td{padding:var(--spacing-xs) var(--spacing-s);font-size:14px}
.it-table--striped tbody tr:nth-child(odd){background:var(--color-gray-96)}
.it-table--bordered th,.it-table--bordered td{border:var(--border-base) solid var(--color-slate-93)}
.it-table--hover tbody tr:hover{background:var(--color-blue-97)}
.it-table caption{caption-side:top;text-align:left;padding:var(--spacing-s) 0;font-weight:var(--font-weight-semibold);font-size:18px;color:var(--text-secondary)}

/* ── Progress ──────────────────────────────────────────── */
.it-progress{height:8px;background:var(--color-slate-93);border-radius:100px;overflow:hidden}
.it-progress__bar{height:100%;background:var(--background-primary);border-radius:100px;transition:width .3s ease}
.it-progress--lg{height:16px}
.it-progress__label{display:flex;justify-content:space-between;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;color:var(--text-secondary);margin-bottom:var(--spacing-xxs)}
.it-progress--success .it-progress__bar{background:var(--background-success)}
.it-progress--error .it-progress__bar{background:var(--background-error)}
.it-spinner{width:32px;height:32px;border:var(--border-thick) solid var(--color-slate-93);border-top-color:var(--background-primary);border-radius:100px;animation:it-spin .8s linear infinite}
.it-spinner--lg{width:48px;height:48px}
@keyframes it-spin{to{transform:rotate(360deg)}}

/* ── Rating ────────────────────────────────────────────── */
.it-rating{display:inline-flex;align-items:center;gap:var(--spacing-xxs);color:var(--background-warning)}
.it-rating__star{background:none;border:0;padding:0;cursor:pointer;color:inherit;display:inline-flex}
.it-rating__star--empty{color:var(--color-slate-78)}
.it-rating__label{font-family:var(--font-sans);font-size:14px;line-height:16px;color:var(--text-muted);margin-left:var(--spacing-xxs)}

/* ── Tooltip / Popover ─────────────────────────────────── */
.it-tooltip{position:relative;display:inline-flex}
.it-tooltip__bubble{position:absolute;z-index:20;background:var(--color-slate-20);color:var(--text-inverse);font-family:var(--font-sans);font-size:14px;line-height:16px;padding:var(--spacing-xs) var(--spacing-s);border-radius:var(--radius-smooth);white-space:nowrap;box-shadow:var(--shadow-s)}
.it-tooltip__bubble--top{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.it-tooltip__bubble--bottom{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.it-tooltip__bubble--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.it-tooltip__bubble--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.it-popover{position:absolute;z-index:20;min-width:240px;max-width:320px;background:var(--color-white);border-radius:var(--radius-smooth);box-shadow:var(--shadow-m);padding:var(--spacing-s);font-family:var(--font-sans);font-size:16px;line-height:24px}
.it-popover__title{font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;color:var(--text-secondary);margin:0 0 var(--spacing-xxs)}

/* ── Dropdown ──────────────────────────────────────────── */
.it-dropdown{position:relative;display:inline-flex;font-family:var(--font-sans)}
.it-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:240px;background:var(--color-white);border-radius:var(--radius-smooth);box-shadow:var(--shadow-m);padding:var(--spacing-xs) 0;display:flex;flex-direction:column}
.it-dropdown__menu--right{left:auto;right:0}
.it-dropdown__item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-s);background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;font-size:16px;line-height:24px;color:var(--text-primary);text-decoration:none}
.it-dropdown__item:hover{background:var(--color-blue-97)}
.it-dropdown__item--active{font-weight:var(--font-weight-semibold);box-shadow:inset 4px 0 0 0 var(--border-primary)}
.it-dropdown__item--disabled{color:var(--text-disabled);pointer-events:none}
.it-dropdown__divider{height:1px;background:var(--color-slate-93);margin:var(--spacing-xs) 0}
.it-dropdown__heading{padding:var(--spacing-xs) var(--spacing-s);font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;text-transform:uppercase;color:var(--text-muted)}

/* ── Dimmer / Modal / Cookiebar / Notification ─────────── */
.it-dimmer{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(23,50,77,.8)}
.it-dimmer--icon{flex-direction:column;gap:var(--spacing-s);color:var(--text-inverse);font-family:var(--font-sans)}
.it-modal{width:100%;max-width:600px;background:var(--color-white);border-radius:var(--radius-smooth);box-shadow:var(--shadow-l);display:flex;flex-direction:column;font-family:var(--font-sans)}
.it-modal--sm{max-width:400px}
.it-modal--lg{max-width:800px}
.it-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-s);padding:var(--spacing-m) var(--spacing-m) var(--spacing-s)}
.it-modal__title{font-weight:var(--font-weight-semibold);font-size:24px;line-height:32px;color:var(--text-secondary);margin:0}
.it-modal__body{padding:0 var(--spacing-m);font-size:16px;line-height:24px;color:var(--text-base)}
.it-modal__footer{display:flex;gap:var(--spacing-s);justify-content:flex-end;padding:var(--spacing-m)}
.it-modal__close{background:none;border:0;padding:0;cursor:pointer;color:var(--text-primary)}
.it-cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--color-slate-20);color:var(--text-inverse);padding:var(--spacing-m);font-family:var(--font-sans);display:flex;flex-direction:column;gap:var(--spacing-s)}
.it-cookiebar__title{font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;margin:0}
.it-cookiebar__text{font-size:16px;line-height:24px;margin:0}
.it-cookiebar__actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}
.it-notification{display:flex;gap:var(--spacing-s);width:320px;background:var(--color-white);border-radius:var(--radius-smooth);box-shadow:var(--shadow-m);padding:var(--spacing-s);font-family:var(--font-sans);border-left:var(--border-thick) solid var(--border-primary)}
.it-notification--success{border-left-color:var(--border-success)}
.it-notification--warning{border-left-color:var(--border-warning)}
.it-notification--error{border-left-color:var(--border-error)}
.it-notification__title{font-weight:var(--font-weight-semibold);font-size:16px;line-height:24px;margin:0;color:var(--text-secondary)}
.it-notification__text{font-size:14px;line-height:24px;margin:0;color:var(--text-base)}

/* ── Steppers ──────────────────────────────────────────── */
.it-stepper{display:flex;align-items:center;font-family:var(--font-sans)}
.it-stepper__step{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}
.it-stepper__marker{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:100px;border:var(--border-base) solid var(--border-secondary);color:var(--text-secondary);font-weight:var(--font-weight-semibold);font-size:14px;flex-shrink:0;background:var(--color-white)}
.it-stepper__step--active .it-stepper__marker{background:var(--background-primary);border-color:var(--border-primary);color:var(--text-inverse)}
.it-stepper__step--done .it-stepper__marker{background:var(--background-success);border-color:var(--border-success);color:var(--text-inverse)}
.it-stepper__step--error .it-stepper__marker{background:var(--background-error);border-color:var(--border-error);color:var(--text-inverse)}
.it-stepper__label{font-size:14px;line-height:16px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it-stepper__step--active .it-stepper__label{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}
.it-stepper__line{flex:1;height:1px;background:var(--color-slate-78);margin:0 var(--spacing-xs)}
.it-stepper__counter{font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;color:var(--text-muted)}
.it-stepper-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-s);padding:var(--spacing-s) 0;border-top:var(--border-base) solid var(--color-slate-93)}

/* ── Timeline ──────────────────────────────────────────── */
.it-timeline{position:relative;font-family:var(--font-sans);padding-left:var(--spacing-l)}
.it-timeline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--color-slate-78)}
.it-timeline__item{position:relative;padding-bottom:var(--spacing-l)}
.it-timeline__marker{position:absolute;left:calc(-1 * var(--spacing-l) + 4px);top:2px;width:16px;height:16px;border-radius:100px;background:var(--color-white);border:var(--border-thick) solid var(--border-secondary)}
.it-timeline__item--past .it-timeline__marker{border-color:var(--color-slate-78)}
.it-timeline__item--now .it-timeline__marker{border-color:var(--border-primary);background:var(--background-primary)}
.it-timeline__date{font-weight:var(--font-weight-semibold);font-size:14px;line-height:16px;color:var(--text-muted);text-transform:uppercase}
.it-timeline__title{font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px;color:var(--text-secondary);margin:var(--spacing-xxs) 0}
.it-timeline__text{font-size:16px;line-height:24px;margin:0}
.it-timeline__img{margin-top:var(--spacing-xs);border-radius:var(--radius-smooth);width:100%;max-width:320px;display:block}

/* ── Carousel ──────────────────────────────────────────── */
.it-carousel{position:relative;font-family:var(--font-sans)}
.it-carousel__viewport{overflow:hidden}
.it-carousel__track{display:flex;gap:var(--spacing-m);transition:transform .35s ease}
.it-carousel__slide{flex:0 0 auto}
.it-carousel__dots{display:flex;gap:var(--spacing-xs);justify-content:center;padding-top:var(--spacing-s)}
.it-carousel__dot{width:8px;height:8px;border-radius:100px;border:0;background:var(--color-slate-78);cursor:pointer;padding:0}
.it-carousel__dot--active{background:var(--background-primary);width:24px}
.it-carousel__nav{display:flex;gap:var(--spacing-xs);justify-content:flex-end;padding-top:var(--spacing-s)}

/* ── Images / thumbnails / media ratio ─────────────────── */
.it-thumb{display:block;border-radius:var(--radius-smooth);overflow:hidden;background:var(--color-gray-96)}
.it-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.it-thumb--bordered{border:var(--border-base) solid var(--color-slate-78)}
.it-thumb--circle{border-radius:100px}
.it-thumb__caption{font-family:var(--font-sans);font-size:14px;line-height:24px;color:var(--text-muted);padding-top:var(--spacing-xxs)}
.it-thumb--overlay{position:relative}
.it-thumb--overlay .it-thumb__title{position:absolute;left:0;right:0;bottom:0;padding:var(--spacing-s);background:linear-gradient(180deg,rgba(23,50,77,0),rgba(23,50,77,.85));color:var(--text-inverse);font-weight:var(--font-weight-semibold);font-size:18px;line-height:24px}
.it-ratio{position:relative;width:100%;overflow:hidden}
.it-ratio>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.it-ratio--1x1{aspect-ratio:1/1}
.it-ratio--4x3{aspect-ratio:4/3}
.it-ratio--16x9{aspect-ratio:16/9}
.it-ratio--21x9{aspect-ratio:21/9}
.it-ratio--3x4{aspect-ratio:3/4}
.it-img-grid{display:grid;gap:var(--spacing-xxs)}
.it-img-grid--2{grid-template-columns:repeat(2,1fr)}
.it-img-grid--3{grid-template-columns:repeat(3,1fr)}
.it-img-grid--4{grid-template-columns:repeat(4,1fr)}

/* ── Video player ──────────────────────────────────────── */
.it-video{position:relative;background:var(--color-black);border-radius:var(--radius-smooth);overflow:hidden;font-family:var(--font-sans)}
.it-video__poster{display:block;width:100%;height:100%;object-fit:cover;opacity:.9}
.it-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:100px;background:rgba(255,255,255,.9);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}
.it-video__controlbar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xs) var(--spacing-s);background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.75));color:var(--color-white)}
.it-video__ctrl{background:none;border:0;padding:0;cursor:pointer;color:inherit;display:inline-flex}
.it-video__progress{flex:1;height:4px;background:rgba(255,255,255,.35);border-radius:100px;overflow:hidden}
.it-video__progress-bar{height:100%;background:var(--color-white)}
.it-video__time{font-family:var(--font-mono);font-size:14px;line-height:16px}

/* ── Grid helpers ──────────────────────────────────────── */
.it-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-m)}
.it-grid--gutter-s{gap:var(--spacing-s)}
.it-grid--gutter-l{gap:var(--spacing-l)}
