/* NovaMedi Jobs & Careers — front-end
   Colors come from --nm-primary and --nm-dark (set in Settings). */

:root{
	--nm-primary:#29ABE2;
	--nm-dark:#1B3A57;
	--nm-light:#eef0f2;
	--nm-grey:#f2f3f4;
	--nm-text:#1d2733;
	--nm-radius:6px;
}

/* ---------- Careers grid ---------- */
.nm-careers{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	grid-auto-rows:1fr;
	grid-auto-flow:dense;
	gap:10px;
	margin:0 auto;
}
.nm-careers.nm-cols-2{grid-template-columns:repeat(2,1fr);}
.nm-careers.nm-cols-3{grid-template-columns:repeat(3,1fr);}
.nm-careers.nm-cols-5{grid-template-columns:repeat(5,1fr);}
.nm-careers.nm-cols-6{grid-template-columns:repeat(6,1fr);}

.nm-tile{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:230px;
	padding:28px;
	text-align:center;
	text-decoration:none;
	background-size:cover;
	background-position:center;
	overflow:hidden;
	transition:transform .25s ease, box-shadow .25s ease;
}
.nm-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.18);}

.nm-span-s{grid-column:span 1;grid-row:span 1;}
.nm-span-w{grid-column:span 2;grid-row:span 1;}
.nm-span-t{grid-column:span 1;grid-row:span 2;}
.nm-span-l{grid-column:span 2;grid-row:span 2;}

.nm-tile-inner{display:block;line-height:1.25;}
.nm-tile-title{display:block;font-size:22px;font-weight:800;letter-spacing:.2px;}
.nm-tile-suffix{display:block;margin-top:4px;font-size:15px;font-weight:500;opacity:.85;}

.nm-tile-dark{background:var(--nm-dark);color:#fff;}
.nm-tile-dark .nm-tile-title{color:#fff;}

.nm-tile-light{background:var(--nm-grey);color:var(--nm-dark);}
.nm-tile-light .nm-tile-title{color:var(--nm-dark);}

.nm-tile-image{color:#fff;align-items:flex-end;justify-content:flex-start;text-align:left;}
.nm-tile-image::before{
	content:"";position:absolute;inset:0;
	background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 60%);
}
.nm-tile-image .nm-tile-inner{position:relative;z-index:1;}

.nm-tile-hero{color:var(--nm-text);align-items:flex-start;justify-content:flex-start;text-align:left;}
.nm-tile-hero.nm-has-img::before{
	content:"";position:absolute;inset:0;background:var(--nm-primary);mix-blend-mode:multiply;opacity:.78;
}
.nm-tile-hero .nm-tile-inner{position:relative;z-index:1;align-self:center;}
.nm-tile-hero .nm-tile-title{font-size:46px;color:#10171f;}

.nm-empty{grid-column:1/-1;padding:40px;text-align:center;color:#777;}

/* ---------- Single job ---------- */
.nm-single-wrap{padding:48px 16px;}
.nm-single-container{max-width:1180px;margin:0 auto;}
.nm-single *{box-sizing:border-box;}

.nm-single-top{display:flex;gap:40px;align-items:flex-start;}
.nm-single-main{flex:1 1 auto;min-width:0;}
.nm-single-aside{flex:0 0 38%;max-width:430px;}
.nm-job-image{width:100%;height:auto;border-radius:var(--nm-radius);display:block;}

.nm-job-title{font-size:30px;font-weight:800;margin:0 0 6px;color:var(--nm-text);line-height:1.2;}
.nm-job-suffix{font-weight:700;}
.nm-job-type{font-size:20px;font-weight:600;color:var(--nm-text);margin:0 0 22px;}

.nm-job-content{font-size:16px;line-height:1.7;color:#3a4654;}
.nm-job-content p{margin:0 0 16px;}

/* Buttons */
.nm-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	border:none;cursor:pointer;text-decoration:none;
	font-size:15px;font-weight:600;color:#fff;background:var(--nm-primary);
	padding:16px 26px;border-radius:var(--nm-radius);
	box-shadow:0 8px 18px rgba(41,171,226,.30);
	transition:filter .2s ease, transform .2s ease;
}
.nm-btn:hover{filter:brightness(1.06);transform:translateY(-1px);color:#fff;}
.nm-btn-icon{font-size:14px;line-height:1;}

.nm-btn-video{width:100%;margin-top:26px;color:#10202c;background:var(--nm-primary);}
.nm-btn-video .nm-btn-label{color:#10202c;}

/* Benefits */
.nm-benefits{margin:40px 0 0;}
.nm-benefits-heading{font-size:22px;font-weight:600;color:var(--nm-text);margin:0 0 16px;}
.nm-benefits-list{list-style:none;margin:0;padding:0;}
.nm-benefits-list li{
	position:relative;padding:7px 0 7px 28px;font-size:16px;color:#3a4654;line-height:1.5;
}
.nm-benefits-list li::before{
	content:"\203A";position:absolute;left:6px;top:6px;
	color:var(--nm-primary);font-weight:800;font-size:18px;
}

/* Apply section */
.nm-apply{margin:48px 0 0;text-align:center;}
.nm-apply-heading{font-size:30px;font-weight:800;color:#10202c;margin:0 0 6px;text-transform:uppercase;letter-spacing:.5px;}
.nm-apply-sub{font-size:15px;color:#4a5560;margin:0 0 26px;}
.nm-apply-box{background:var(--nm-grey);border-radius:8px;padding:48px;text-align:left;}

.nm-form-grid{display:flex;gap:36px;flex-wrap:wrap;}
.nm-form-col{flex:1 1 320px;min-width:260px;display:flex;flex-direction:column;gap:24px;}
.nm-field input[type=text],
.nm-field input[type=email],
.nm-field textarea{
	width:100%;border:none;border-bottom:1px solid #b9c0c7;background:transparent;
	padding:12px 2px;font-size:15px;color:var(--nm-text);outline:none;border-radius:0;
}
.nm-field input:focus,.nm-field textarea:focus{border-bottom-color:var(--nm-primary);}
.nm-field-message textarea{background:#fff;border:1px solid #d6dadf;border-radius:6px;padding:14px;min-height:130px;resize:vertical;}
.nm-field-consent label{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#4a5560;line-height:1.5;cursor:pointer;}
.nm-field-consent input{margin-top:3px;flex:0 0 auto;}
.nm-field-consent a{color:var(--nm-primary);font-weight:600;}

.nm-btn-submit{width:100%;margin-top:30px;}
.nm-required-note{font-size:13px;color:#7a838c;margin:14px 0 0;}

.nm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.nm-form-msg{padding:14px 16px;border-radius:6px;margin-bottom:18px;font-size:14px;}
.nm-msg-success{background:#e3f6e8;color:#1d6b34;border:1px solid #bce5c6;}
.nm-msg-error{background:#fdeaea;color:#a32525;border:1px solid #f3c4c4;}

/* Contact + hours block */
.nm-contactblock{margin:56px 0 0;}
.nm-contact{display:flex;gap:0;align-items:stretch;flex-wrap:wrap;}
.nm-contact-media{
	flex:1 1 360px;min-height:340px;background:var(--nm-primary);
	background-size:cover;background-position:center;position:relative;
	display:flex;align-items:flex-end;padding:34px;
}
.nm-contact-media.nm-has-img::before{content:"";position:absolute;inset:0;background:var(--nm-primary);mix-blend-mode:multiply;opacity:.55;}
.nm-contact-media-title{position:relative;z-index:1;font-size:34px;font-weight:800;color:#10202c;}
.nm-contact-info{flex:1 1 360px;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:34px 34px 34px 56px;}
.nm-contact-row{display:flex;gap:16px;align-items:flex-start;font-size:17px;color:var(--nm-text);}
.nm-contact-row a{color:var(--nm-text);text-decoration:none;}
.nm-contact-row a:hover{color:var(--nm-primary);}
.nm-ico{flex:0 0 22px;width:22px;height:22px;margin-top:2px;background:var(--nm-primary);
	-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;}
.nm-ico-pin{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/></svg>");}
.nm-ico-phone{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.3 1l-2.2 2.3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.3 1l-2.2 2.3z'/></svg>");}
.nm-ico-mail{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2zm8 7L4 6v12h16V6l-8 5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2zm8 7L4 6v12h16V6l-8 5z'/></svg>");}

/* Hours */
.nm-hours{background:var(--nm-dark);color:#fff;padding:48px 56px;}
.nm-hours-title{font-size:34px;font-weight:800;margin:0 0 28px;color:#fff;}
.nm-hours-cols{display:flex;gap:60px;flex-wrap:wrap;}
.nm-hours-col{flex:1 1 280px;}
.nm-hours-col h3{font-size:26px;font-weight:800;margin:0 0 14px;color:#fff;}
.nm-hours-col table{width:100%;border-collapse:collapse;}
.nm-hours-col th{text-align:left;font-weight:700;padding:6px 0;font-size:16px;width:48%;}
.nm-hours-col td{text-align:left;padding:6px 0;font-size:16px;opacity:.95;}

/* Footer buttons */
.nm-footer-buttons{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;}
.nm-btn-footer{flex:1 1 320px;}

/* Video lightbox */
.nm-lightbox{position:fixed;inset:0;z-index:99999;display:none;}
.nm-lightbox.is-open{display:block;}
.nm-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);}
.nm-lightbox-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,960px);}
.nm-lightbox-frame{position:relative;padding-bottom:56.25%;height:0;background:#000;border-radius:8px;overflow:hidden;}
.nm-lightbox-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.nm-lightbox-close{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;font-size:34px;line-height:1;cursor:pointer;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
	.nm-careers,.nm-careers.nm-cols-3,.nm-careers.nm-cols-5,.nm-careers.nm-cols-6{grid-template-columns:repeat(2,1fr);}
	.nm-span-l{grid-column:span 2;grid-row:span 2;}
	.nm-single-top{flex-direction:column;}
	.nm-single-aside{flex-basis:auto;max-width:100%;width:100%;}
	.nm-apply-box{padding:28px;}
	.nm-contact-info{padding:30px;}
	.nm-hours{padding:34px;}
}
@media (max-width:560px){
	.nm-careers,.nm-careers.nm-cols-2,.nm-careers.nm-cols-3,.nm-careers.nm-cols-5,.nm-careers.nm-cols-6{grid-template-columns:1fr;}
	.nm-span-w,.nm-span-t,.nm-span-l{grid-column:span 1;grid-row:span 1;}
	.nm-tile{min-height:190px;}
	.nm-tile-hero .nm-tile-title{font-size:34px;}
	.nm-job-title{font-size:24px;}
	.nm-apply-heading,.nm-hours-title{font-size:24px;}
	.nm-form-grid{gap:24px;}
}
