/* Careers and manuals: native editable blocks with standalone class-based styling. */
.icy-careers, .icy-manuals, .icy-vacancy-single { box-sizing: border-box; color: #223d40; line-height: 1.65; }
:is(.icy-careers, .icy-manuals, .icy-vacancy-single) *, :is(.icy-careers, .icy-manuals, .icy-vacancy-single) *::before { box-sizing: inherit; }
.entry-content > .wp-block-group:is(.icy-careers, .icy-manuals) { max-width: none; margin: 0; padding: 0; }
:is(.icy-careers, .icy-manuals) :where(.wp-block-group, figure, h1, h2, h3, p, .wp-block-buttons) { margin: 0; }
:is(.icy-careers, .icy-manuals) .wp-block-group > * { margin-block-start: 0; }
.icy-careers-container { width: min(var(--icy-width, 1400px), calc(100% - var(--icy-gutter, 24px) * 2)); max-width: none; margin-inline: auto; }
:is(.icy-careers, .icy-manuals, .icy-vacancy-single) :is(h1, h2, h3) { color: var(--ast-global-color-0); line-height: 1.2; }
:is(.icy-careers, .icy-manuals, .icy-vacancy-single) h1 { font-size: clamp(36px, 4vw, 58px); }
:is(.icy-careers, .icy-manuals) h2 { font-size: clamp(27px, 3vw, 38px); }
:is(.icy-careers, .icy-manuals) p { line-height: 1.65; }
.wp-block-group.icy-careers-hero, .icy-vacancy-hero { padding: 0; background: linear-gradient(110deg, #eaf8f8, #f8fcfc); }
.icy-careers-hero-grid, .icy-vacancy-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; }
.icy-careers-intro, .icy-vacancy-hero-grid > div { padding-block: 60px; }
.icy-careers-intro h1 { margin-bottom: 20px; }
.icy-careers .icy-careers-lead, .icy-manuals .icy-careers-lead { font-size: clamp(20px, 2vw, 25px); font-weight: 600; color: #164f50; margin-bottom: 12px; line-height: 1.4; }
.icy-careers .icy-careers-hero-photo { align-self: stretch; min-height: 340px; overflow: hidden; border-radius: 9999px 0 0 9999px; }
.icy-careers .icy-careers-hero-photo img { display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; border-radius: 0 !important; }
.wp-block-group.icy-careers-listings { padding: 60px 0 44px; }
.icy-careers-eyebrow { color: #007b80; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin: 0 0 10px; }
.icy-careers-listings h2 { margin-bottom: 6px; }
.icy-careers .icy-jobs-grid { margin: 0; }
.wp-block-group.icy-careers-benefits { padding: 8px 0 60px; }
.icy-careers-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.icy-careers-benefit { position: relative; padding-left: 80px; }
.icy-careers-benefit::before { content: '↗'; display: grid; place-items: center; position: absolute; left: 0; top: 0; width: 60px; height: 60px; border-radius: 50%; background: #eaf8f8; color: #007b80; font-size: 28px; }
.icy-careers-benefit--team::before { content: '◎'; }
.icy-careers-benefit--ideas::before { content: '✧'; }
.icy-careers-benefit h3 { font-size: 19px; margin-bottom: 6px; }
.icy-careers-benefit p { font-size: 15px; color: #587174; }
.wp-block-group.icy-careers-open { padding: 44px 0; background: var(--icy-knowledge-gradient); color: #fff; }
.icy-careers-open h2 { color: #fff; margin-bottom: 12px; }
.icy-careers-open .wp-block-buttons { margin-top: 24px; }
.icy-careers-open .wp-block-button__link { display: inline-flex; align-items: center; gap: 16px; padding: 12px 24px; border: 0; border-radius: 100px; background: #fff; color: #007b80; font-size: 15px; font-weight: 600; text-decoration: none; }
.icy-careers-button { display: inline-flex; gap: 12px; align-items: center; padding: 12px 24px; border-radius: 100px; background: #007b80; color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; }
.icy-careers-button:hover { background: #164f50; color: #fff; }
.icy-vacancy-hero-grid { padding-block: 36px; }
.icy-vacancy-hero-grid > div { padding-block: 24px; }
.icy-vacancy-hero h1 { margin: 12px 0 18px; }
.icy-vacancy-hero .icy-careers-button { margin-top: 24px; }
.icy-vacancy-meta { color: #587174; font-size: 19px; margin: 0; }
.icy-vacancy-back { display: inline-block; color: #007b80; font-size: 14px; margin-bottom: 24px; text-decoration: none; }
.icy-vacancy-photo { margin: 0; overflow: hidden; border-radius: 18px; }
.icy-vacancy-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.icy-vacancy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 64px; padding-block: 64px; }
.icy-vacancy-content { min-width: 0; }
.icy-vacancy-content h2 { font-size: 29px; margin: 36px 0 16px; }
.icy-vacancy-content > :first-child { margin-top: 0; }
.icy-vacancy-apply { padding: 28px; background: #edf7f7; border-radius: 16px; }
.icy-vacancy-apply h2 { font-size: 25px; }
.icy-vacancy-apply p { margin-block: 16px; }
:is(.icy-careers, .icy-manuals, .icy-vacancy-single) a:focus-visible { outline: 3px solid #007b80; outline-offset: 4px; }
/* Manuals are grouped by product, with each document as an editable row. */
.wp-block-group.icy-manuals-hero { padding: 54px 0; background: #edf8f8; }
.icy-manuals-hero h1 { margin-bottom: 16px; }
.icy-manuals .icy-manuals-content { display: grid; gap: 28px; padding-block: 48px 64px; counter-reset: product; }
.wp-block-group.icy-manual-product { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 36px; padding: 32px; border: 1px solid #dce8e8; border-radius: 18px; background: #fff; box-shadow: 0 3px 14px #163c400a; }
.icy-manual-product-heading h2 { font-size: clamp(24px, 2.3vw, 30px); margin-bottom: 14px; }
.icy-manual-product-heading > p:last-child { color: #587174; }
.icy-manual-documents { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.wp-block-group.icy-manual-document { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; background: #f4f8f8; border-radius: 12px; }
.icy-manual-document-copy { min-width: 0; }
.icy-manual-document h3 { font-size: 18px; overflow-wrap: anywhere; }
.icy-manual-document .icy-manual-format { color: #587174; font-size: 11px; font-weight: 700; letter-spacing: .08em; margin-bottom: 6px; }
.icy-manual-document .wp-block-buttons { flex: 0 0 auto; }
.icy-manual-document .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #d4e6e4; border-radius: 100px; background: #fff; color: #007b80; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.icy-manual-document .wp-block-button__link:not([href]) { opacity: .55; }
.icy-manuals-help { padding: 28px; text-align: center; background: #edf8f8; border-radius: 14px; }
.icy-manuals-help h2 { font-size: 26px; margin-bottom: 8px; }
@media (max-width: 1050px) {
  .icy-careers-benefits-grid { gap: 24px; }
  .icy-careers-benefit { padding-left: 0; padding-top: 78px; }
  .icy-manual-product .icy-manual-document { align-items: flex-start; flex-direction: column; }
  .icy-vacancy-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; }
}
@media (max-width: 782px) {
  .icy-careers-hero-grid, .icy-vacancy-hero-grid, .wp-block-group.icy-manual-product { grid-template-columns: 1fr; gap: 24px; }
  .icy-careers-intro { padding-block: 36px 8px; }
  .icy-careers .icy-careers-hero-photo { height: 280px; min-height: 0; border-radius: 18px; margin-bottom: 28px; }
  .icy-careers .icy-careers-hero-photo img { min-height: 0; }
  .icy-careers-benefits-grid { grid-template-columns: 1fr; }
  .icy-careers-benefit { padding: 0 0 0 80px; min-height: 60px; }
  .icy-vacancy-layout { grid-template-columns: 1fr; padding-block: 36px; }
  .icy-vacancy-hero-grid > div { padding-block: 0; }
  .wp-block-group.icy-manual-product { padding: 24px; }
  .icy-manual-product .icy-manual-document { flex-direction: row; align-items: center; }
}
@media (max-width: 540px) {
  .icy-manual-product .icy-manual-document { flex-direction: column; align-items: flex-start; }
  .icy-manuals .icy-manuals-content { width: calc(100% - 32px); }
}
.icy-careers .icy-jobs-count { display: table; margin: 0 0 24px auto; padding: 6px 14px; border-radius: 100px; background: #edf7f7; color: #007b80; }
/* The editor adds wrappers around groups; preserve their layout and editable content. */
.editor-styles-wrapper :is(.icy-careers-hero-grid, .icy-careers-benefits-grid, .icy-manual-product) > .block-editor-inner-blocks { grid-column: 1 / -1; }
.editor-styles-wrapper .icy-careers-hero-grid > .block-editor-inner-blocks > .block-editor-block-list__layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.editor-styles-wrapper .icy-careers-benefits-grid > .block-editor-inner-blocks > .block-editor-block-list__layout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.editor-styles-wrapper .icy-careers-open h2 { color: #fff; }
.editor-styles-wrapper .icy-manual-product > .block-editor-inner-blocks > .block-editor-block-list__layout { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 36px; }
.editor-styles-wrapper :is(.icy-manual-documents, .icy-manual-document) > .block-editor-inner-blocks { width: 100%; }
.editor-styles-wrapper .icy-manual-documents > .block-editor-inner-blocks > .block-editor-block-list__layout { display: flex; flex-direction: column; gap: 12px; }
.editor-styles-wrapper .icy-manual-document > .block-editor-inner-blocks > .block-editor-block-list__layout { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
@media (max-width: 1050px) { .editor-styles-wrapper .icy-manual-document > .block-editor-inner-blocks > .block-editor-block-list__layout { flex-direction: column; align-items: flex-start; } }
@media (max-width: 782px) {
  .editor-styles-wrapper :is(.icy-careers-hero-grid, .icy-careers-benefits-grid, .icy-manual-product) > .block-editor-inner-blocks > .block-editor-block-list__layout { grid-template-columns: 1fr; }
}
.icy-vacancy-layout:not(:has(.icy-vacancy-apply)) { display: block; max-width: 900px; }
.icy-vacancy-hero-grid:not(:has(.icy-vacancy-photo)) { grid-template-columns: 1fr; }

/* Vector benefit icons stay crisp without depending on symbol fonts. */
.icy-careers-benefit::before { content: ''; background-size: 30px; background-position: center; background-repeat: no-repeat; }
.icy-careers-benefit--team::before { content: ''; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23007b80%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%2021v-3a6%206%200%200%201%2012%200v3M3%208a2%202%200%200%200%200%204m18-4a2%202%200%200%201%200%204M2%2021v-3m20%203v-3%22%2F%3E%3C%2Fsvg%3E"); }
.icy-careers-benefit--ideas::before { content: ''; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23007b80%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2018h6m-5%203h4M8%2014a7%207%200%201%201%208%200c-1%201-1%202-1%204H9c0-2%200-3-1-4Z%22%2F%3E%3C%2Fsvg%3E"); }
.icy-careers-benefit--impact::before { content: ''; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23007b80%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m13%202-8%2012h6l-1%208%209-13h-6z%22%2F%3E%3C%2Fsvg%3E"); }

/* Keep the text on the shared container line while the photo reaches the right edge. */
.icy-careers .icy-careers-hero-grid {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-left: max(var(--icy-gutter, 24px), calc((100% - var(--icy-width, 1400px)) / 2));
    padding-right: 0;
}
@media (max-width: 782px) {
    .icy-careers .icy-careers-hero-photo { border-radius: 18px 0 0 18px; margin-bottom: 0; }
}
