/*
 * All colors, fonts, and radii come from CSS custom properties set on .tmc-root.
 * See TM_Careers\Admin\Theming::css_variables().
 */
.tmc-root{color:var(--tmc-color-text);background:var(--tmc-color-bg);font-family:var(--tmc-font-body);}
.tmc-root h1,.tmc-root h2,.tmc-root h3,.tmc-root h4{font-family:var(--tmc-font-heading);color:var(--tmc-color-secondary);}
.tmc-root a{color:var(--tmc-color-primary);}

.tmc-button{display:inline-block;background:var(--tmc-button-bg);color:var(--tmc-button-color);padding:.6rem 1.2rem;border:0;border-radius:var(--tmc-button-radius);text-decoration:none;cursor:pointer;font:inherit;}

/* ==========================================================================
   Board layout: filter sidebar left, single-column results right
   ========================================================================== */
.tmc-board{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start;}

.tmc-board__sidebar{position:sticky;top:1.5rem;}
.tmc-board__results{min-width:0;}

/* Mobile filter toggle button is hidden on desktop */
.tmc-board__filter-toggle{display:none;}

/* ==========================================================================
   Filter sidebar
   ========================================================================== */
.tmc-filters{padding:1.5rem;background:var(--tmc-color-bg);border:1px solid color-mix(in srgb, var(--tmc-color-text) 12%, transparent);border-radius:var(--tmc-card-radius);box-shadow:0 1px 2px color-mix(in srgb, var(--tmc-color-text) 5%, transparent);display:flex;flex-direction:column;gap:1rem;}

.tmc-filters__header{display:flex;align-items:center;justify-content:space-between;margin:0 0 .25rem;}
.tmc-filters__title{margin:0;--fontSize:24 !important;font-size:24px !important;font-weight:700 !important;line-height:30px !important;letter-spacing:0 !important;color:var(--tmc-color-secondary);}
.tmc-filters__close{display:none;background:transparent;border:0;font-size:1.5rem;line-height:1;color:var(--tmc-color-secondary);cursor:pointer;padding:.25rem .5rem;}

.tmc-field{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;border:0;}
.tmc-field__label{font-size:.85rem;font-weight:600;color:var(--tmc-color-secondary);padding:0;margin:0;}
.tmc-field__input{box-sizing:border-box;width:100%;height:2.6rem;padding:0 .75rem;min-width:0;border:1px solid color-mix(in srgb, var(--tmc-color-text) 18%, transparent);border-radius:var(--tmc-button-radius);background:var(--tmc-color-bg);color:var(--tmc-color-text);font:inherit;font-size:.9rem;line-height:1;transition:border-color .15s ease, box-shadow .15s ease;}
.tmc-field__input::placeholder{color:color-mix(in srgb, var(--tmc-color-text) 38%, transparent);}
.tmc-field__input:hover{border-color:color-mix(in srgb, var(--tmc-color-text) 32%, transparent);}
.tmc-field__input:focus{outline:none;border-color:var(--tmc-color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--tmc-color-primary) 18%, transparent);}

.tmc-field__input--select,select.tmc-field__input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 10px) 55%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding-right:2rem;cursor:pointer;}

.tmc-filters__submit{margin-top:.4rem;height:2.7rem;padding:0 1.35rem;border:0;border-radius:var(--tmc-button-radius);background:var(--tmc-button-bg);color:var(--tmc-button-color);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s ease, transform .08s ease;}
.tmc-filters__submit:hover{opacity:.9;}
.tmc-filters__submit:active{transform:translateY(1px);}
.tmc-filters__submit:focus-visible{outline:2px solid var(--tmc-color-primary);outline-offset:2px;}

/* ==========================================================================
   Job listing
   ========================================================================== */
.tmc-job-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.75rem;}

.tmc-job-card{background:var(--tmc-color-bg);border:1px solid color-mix(in srgb, var(--tmc-color-text) 12%, transparent);border-radius:var(--tmc-card-radius);transition:border-color .15s, box-shadow .15s;}
.tmc-job-card:hover{border-color:var(--tmc-color-primary);box-shadow:0 2px 8px color-mix(in srgb, var(--tmc-color-text) 6%, transparent);}
.tmc-job-card__link{display:block;padding:1.25rem 1.5rem;text-decoration:none;color:inherit;}
.tmc-job-card__link:hover{color:inherit;}
.tmc-job-card__title{margin:0 0 .15rem;--fontSize:30 !important;font-size:30px !important;font-weight:700 !important;line-height:36px !important;letter-spacing:0 !important;color:var(--tmc-color-primary);text-decoration:none !important;}
.tmc-job-card__posted{margin:0 0 1rem;font-size:.85rem;color:color-mix(in srgb, var(--tmc-color-text) 55%, transparent);font-style:italic;}

.tmc-job-card__meta{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1rem;font-size:.9rem;color:color-mix(in srgb, var(--tmc-color-text) 75%, transparent);}
.tmc-job-card__meta-item{display:flex;align-items:center;gap:.5rem;min-width:0;}
.tmc-job-card__meta-item svg{flex:0 0 auto;color:color-mix(in srgb, var(--tmc-color-text) 50%, transparent);}
.tmc-job-card__meta-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ==========================================================================
   Pagination
   ========================================================================== */
.tmc-pagination{display:flex;gap:.3rem;justify-content:center;flex-wrap:wrap;font-size:.9rem;}
.tmc-page-link{padding:.4rem .65rem;min-width:2.25rem;text-align:center;border:1px solid color-mix(in srgb, var(--tmc-color-text) 12%, transparent);border-radius:var(--tmc-button-radius);text-decoration:none;color:var(--tmc-color-text);background:var(--tmc-color-bg);line-height:1;}
.tmc-page-link:hover{border-color:var(--tmc-color-primary);color:var(--tmc-color-primary);}
.tmc-page-link.is-current{background:var(--tmc-color-primary);color:var(--tmc-button-color);border-color:var(--tmc-color-primary);cursor:default;}
.tmc-page-link.is-disabled{opacity:.4;pointer-events:none;}

/* ==========================================================================
   Detail page
   ========================================================================== */
.tmc-detail{display:flex;flex-direction:column;gap:1rem;}
.tmc-detail__back a{display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem;text-decoration:none;}
.tmc-detail__back a:hover{text-decoration:underline;}

.tmc-detail__layout{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start;}

.tmc-detail__summary{position:sticky;top:1.5rem;}
.tmc-detail__summary-card{padding:1.5rem;background:var(--tmc-color-bg);border:1px solid color-mix(in srgb, var(--tmc-color-text) 12%, transparent);border-radius:var(--tmc-card-radius);box-shadow:0 1px 2px color-mix(in srgb, var(--tmc-color-text) 5%, transparent);display:flex;flex-direction:column;gap:.5rem;}
.tmc-detail__title{margin:0;--fontSize:24 !important;font-size:24px !important;font-weight:700 !important;line-height:30px !important;letter-spacing:0 !important;color:var(--tmc-color-primary);text-decoration:none !important;}
.tmc-detail__posted{margin:0 0 .75rem;font-size:.9rem;color:color-mix(in srgb, var(--tmc-color-text) 55%, transparent);font-style:italic;}
.tmc-detail__meta{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.6rem;}
.tmc-detail__meta li{display:flex;align-items:flex-start;gap:.6rem;color:color-mix(in srgb, var(--tmc-color-text) 78%, transparent);}
.tmc-detail__meta svg{flex:0 0 auto;color:color-mix(in srgb, var(--tmc-color-text) 50%, transparent);margin-top:.1rem;}
.tmc-root .tmc-detail__apply{display:block;text-align:center;margin-top:.5rem;padding:.85rem 1.25rem;background:var(--tmc-button-bg);color:var(--tmc-button-color);border-radius:var(--tmc-button-radius);text-decoration:none;font-weight:600;font-size:1rem;transition:opacity .15s ease;}
.tmc-root .tmc-detail__apply:hover{opacity:.9;color:var(--tmc-button-color);}

.tmc-detail__body-title{margin:0 0 1rem;--fontSize:24 !important;font-size:24px !important;font-weight:700 !important;line-height:30px !important;letter-spacing:0 !important;color:var(--tmc-color-secondary);}
.tmc-detail__content{line-height:1.65;}
.tmc-detail__content p{margin:0 0 1rem;}
.tmc-detail__content ul,.tmc-detail__content ol{padding-left:1.5rem;margin:0 0 1rem;}
.tmc-detail__content li{margin-bottom:.4rem;}
.tmc-detail__content img{max-width:100%;height:auto;}

/* ==========================================================================
   Apply Now modal
   ========================================================================== */
.tmc-modal{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:1rem;}
.tmc-modal[hidden]{display:none;}
.tmc-modal__backdrop{position:absolute;inset:0;background:rgba(15, 23, 42, .55);}
.tmc-modal__panel{position:relative;background:var(--tmc-color-bg);border-radius:var(--tmc-card-radius);width:min(720px, 100%);max-height:90vh;overflow-y:auto;padding:2rem 2.25rem 2.25rem;box-shadow:0 18px 60px rgba(0, 0, 0, .25);}
.tmc-modal__close{position:absolute;top:1rem;right:1rem;background:transparent;border:0;font-size:1.75rem;line-height:1;cursor:pointer;color:color-mix(in srgb, var(--tmc-color-text) 55%, transparent);padding:.25rem .5rem;}
.tmc-modal__close:hover{color:var(--tmc-color-text);}
.tmc-modal__title{margin:0 0 1.25rem;font-size:1.6rem;color:var(--tmc-color-secondary);}

.tmc-modal__notice{padding:.75rem 1rem;border-radius:var(--tmc-button-radius);margin-bottom:1rem;font-size:.95rem;}
.tmc-modal__notice[hidden]{display:none;}
.tmc-modal__notice.is-success{background:color-mix(in srgb, var(--tmc-color-primary) 15%, transparent);color:var(--tmc-color-secondary);}
.tmc-modal__notice.is-error{background:#fdecea;color:#8a1c1c;}

.tmc-apply-form{display:flex;flex-direction:column;gap:1.1rem;}
.tmc-apply-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.tmc-apply-form .tmc-field{gap:.45rem;}
.tmc-apply-form .tmc-field__label{font-weight:600;color:var(--tmc-color-secondary);}
.tmc-apply-form .tmc-field__input{background:color-mix(in srgb, var(--tmc-color-text) 4%, transparent);border-color:transparent;height:2.7rem;}
.tmc-apply-form .tmc-field__input:focus{background:var(--tmc-color-bg);border-color:var(--tmc-color-primary);}

.tmc-field--dropzone{display:flex;flex-direction:column;gap:.45rem;}
.tmc-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:140px;padding:1.5rem;background:color-mix(in srgb, var(--tmc-color-text) 4%, transparent);border:1px dashed color-mix(in srgb, var(--tmc-color-text) 25%, transparent);border-radius:var(--tmc-button-radius);cursor:pointer;text-align:center;color:var(--tmc-color-secondary);transition:border-color .15s, background .15s;}
.tmc-dropzone:hover,.tmc-dropzone.is-drag{border-color:var(--tmc-color-primary);background:color-mix(in srgb, var(--tmc-color-primary) 6%, transparent);}
.tmc-dropzone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.tmc-dropzone__hint{font-size:.85rem;color:color-mix(in srgb, var(--tmc-color-text) 65%, transparent);}
.tmc-dropzone.is-filled{border-style:solid;}
.tmc-dropzone.is-filled .tmc-dropzone__hint{color:var(--tmc-color-secondary);font-weight:600;}

.tmc-modal__submit{width:100%;height:3rem;border:0;border-radius:var(--tmc-button-radius);background:var(--tmc-accent-bg);color:var(--tmc-accent-color);font:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s;}
.tmc-modal__submit:hover{opacity:.9;}
.tmc-modal__submit:disabled{opacity:.6;cursor:wait;}

@media (max-width:560px){
	.tmc-modal__panel{padding:1.5rem 1.25rem;}
	.tmc-modal__title{font-size:1.4rem;}
	.tmc-apply-form__row{grid-template-columns:1fr;}
}

.tmc-empty{color:#666;font-style:italic;}

/* ==========================================================================
   Mobile (<= 760px): filter behind toggle/drawer; cards simplified;
   detail stacks; apply form unchanged.
   ========================================================================== */
@media (max-width:760px){
	.tmc-board{display:block;}
	.tmc-board__filter-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:transparent;border:1px solid color-mix(in srgb, var(--tmc-color-text) 18%, transparent);border-radius:var(--tmc-button-radius);color:var(--tmc-color-text);font:inherit;font-size:.9rem;cursor:pointer;margin-bottom:1rem;}
	.tmc-board__filter-toggle svg{color:var(--tmc-color-primary);}

	/* Filter panel becomes a full-screen overlay; hidden until toggled open */
	.tmc-board__sidebar{position:fixed;inset:0;z-index:10000;background:var(--tmc-color-bg);overflow-y:auto;padding:1.25rem;transform:translateX(100%);transition:transform .25s ease-out;visibility:hidden;}
	.tmc-board--filter-open .tmc-board__sidebar{transform:translateX(0);visibility:visible;}
	.tmc-filters{padding:0;border:0;box-shadow:none;}
	.tmc-filters__close{display:block;}

	/* Listing cards: drop type/setup row, show only location + industry */
	.tmc-job-card__meta{grid-template-columns:1fr;gap:.5rem;}
	.tmc-job-card__meta-item--type{display:none;}

	/* Detail page stacks */
	.tmc-detail__layout{grid-template-columns:1fr;gap:1.5rem;}
	.tmc-detail__summary{position:static;}
}
