/* Star Hentzen Industrial Sectors — front-end styles
   Scoped under .sh-sector-bar / .sh-sectors so they don't leak into the rest of the theme. */

.sh-sector-bar,
.sh-sectors{
	--sh-navy:#092d63;
	--sh-navy2:#061d40;
	--sh-cyan:#01AAEB;
	--sh-purple:#8A38F5;
	--sh-ink:#222;
	--sh-body:#444;
	--sh-muted:#5c6978;
	--sh-line:#dce4eb;
	--sh-soft:#f3f7fa;
	--sh-ease:cubic-bezier(.22,.61,.36,1);
	--sh-t-fast:.25s var(--sh-ease);
	--sh-shadow-1:0 2px 10px rgba(9,45,99,.06);
	--sh-shadow-2:0 18px 40px -18px rgba(6,29,64,.35);
	font-family:inherit;
}
.sh-sector-bar *,
.sh-sectors *{ box-sizing:border-box; }
.sh-sector-bar a{ text-decoration:none; }

/* ============ SECTOR BAR ============ */
.sh-sector-bar{
	position:sticky;
	top:var(--sh-sticky-offset, 80px);
	z-index:30;
	background:#fff;
	border-bottom:1px solid var(--sh-line);
	box-shadow:0 8px 24px -18px rgba(6,29,64,.25);
}
/* JS fallback: used when a parent (Elementor section/column/widget-wrap or
   the theme) has overflow:hidden/auto, which silently breaks native
   position:sticky. frontend.js detects this and switches the bar to
   position:fixed + a placeholder so the layout doesn't jump. */
.sh-sector-bar.sh-stuck{
	position:fixed;
	z-index:9999;
}
.sh-sector-bar-placeholder{
	display:none;
}
.sh-sb-inner{
	display:flex;
	align-items:center;
	gap:14px;
	padding:12px 16px;
}
.sh-sb-label{
	flex:none;
	font-size:10px;
	font-weight:600;
	letter-spacing:.14em;
	color:var(--sh-muted);
}
.sh-sb-scroll{
	display:flex;
	gap:7px;
	overflow-x:auto;
	scrollbar-width:none;
	padding:2px 0;
}
.sh-sb-scroll::-webkit-scrollbar{ display:none; }
.sh-sb-scroll a{
	flex:none;
	padding:9px 13px;
	border:1px solid var(--sh-line);
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	color:#43536a;
	white-space:nowrap;
	transition:border-color var(--sh-t-fast),color var(--sh-t-fast),background var(--sh-t-fast),transform var(--sh-t-fast);
}
.sh-sb-scroll a:hover{ border-color:#b9cbdb; color:var(--sh-navy); transform:translateY(-1px); }
.sh-sb-scroll a.on{ background:var(--sh-navy); border-color:var(--sh-navy); color:#fff; }

/* ============ ACCORDION WRAPPER ============ */
.sh-sectors-toolbar{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin-bottom:24px;
}
.sh-sectors-list{ border-top:1px solid var(--sh-line); }

.sh-sector{
	border-bottom:1px solid var(--sh-line);
	scroll-margin-top:150px;
	background:#fff;
	transition:background var(--sh-t-fast);
}
.sh-sector.sh-open{ background:var(--sh-soft); }

.sh-s-head-wrap{ margin:0; }
.sh-s-head{
	display:grid;
	grid-template-columns:76px 1fr auto;
	gap:26px;
	align-items:center;
	width:100%;
	padding:30px 4px;
	background:none;
	border:0;
	text-align:left;
	cursor:pointer;
	font:inherit;
	position:relative;
	transition:padding-left var(--sh-t-fast);
}
.sh-s-head:hover{ padding-left:10px; }
.sh-s-head:before{
	content:"";
	position:absolute;
	left:0; top:0; bottom:0;
	width:3px;
	background:linear-gradient(180deg,var(--sh-cyan),var(--sh-purple));
	transform:scaleY(0);
	transform-origin:center;
	transition:transform .45s var(--sh-ease);
}
.sh-sector.sh-open .sh-s-head:before,
.sh-s-head:hover:before{ transform:scaleY(1); }

.sh-s-num{ font-weight:700; font-size:13px; letter-spacing:.1em; color:var(--sh-cyan); }
.sh-s-title b{ display:block; font-weight:700; font-size:clamp(20px,2.2vw,26px); line-height:1.25; color:var(--sh-navy); margin-bottom:6px; }
.sh-s-title span{ display:block; font-size:14px; line-height:1.6; color:var(--sh-body); max-width:640px; }
.sh-soon{ display:inline-block; margin-top:8px; padding:5px 9px; border:1px solid var(--sh-line); font-size:9.5px; font-weight:700; letter-spacing:.12em; color:var(--sh-muted); background:#fff; }

.sh-s-toggle{
	flex:none; width:44px; height:44px; border:1px solid var(--sh-line);
	display:grid; place-items:center; color:var(--sh-navy); background:#fff;
	transition:border-color var(--sh-t-fast),background var(--sh-t-fast),color var(--sh-t-fast);
}
.sh-s-head:hover .sh-s-toggle{ border-color:var(--sh-cyan); background:#f2fbfe; }
.sh-s-toggle svg{ transition:transform .45s var(--sh-ease); }
.sh-sector.sh-open .sh-s-toggle{ background:var(--sh-navy); border-color:var(--sh-navy); color:#fff; }
.sh-sector.sh-open .sh-s-toggle svg{ transform:rotate(45deg); }

.sh-s-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s var(--sh-ease); }
.sh-sector.sh-open .sh-s-panel{ grid-template-rows:1fr; }
.sh-s-inner{ overflow:hidden; }
.sh-s-body{ padding:8px 0 56px 102px; }

.sh-s-intro{ font-size:15.5px; line-height:1.8; color:var(--sh-body); max-width:700px; }
.sh-s-intro p{ margin:0 0 14px; }

.sh-s-cta{
	display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:14px 20px;
	border:1px solid var(--sh-navy); color:var(--sh-navy); font-size:11px; font-weight:700; letter-spacing:.06em;
	background:none; cursor:pointer;
	transition:background var(--sh-t-fast),color var(--sh-t-fast),transform var(--sh-t-fast);
}
.sh-s-cta:hover{ background:var(--sh-navy); color:#fff; transform:translateY(-1px); }
.sh-arrow{ display:inline-block; transition:transform var(--sh-t-fast); }
a:hover > .sh-arrow, button:hover > .sh-arrow{ transform:translateX(5px); }

.sh-s-form{
	margin-top:44px; padding:30px 32px; background:#fff; border:1px solid var(--sh-line);
	border-left:4px solid var(--sh-cyan); box-shadow:var(--sh-shadow-1);
}
.sh-s-form h4{ font-weight:700; font-size:19px; line-height:1.3; color:var(--sh-navy); margin:0 0 12px; }
.sh-s-form p{ font-size:14.5px; line-height:1.75; color:var(--sh-body); margin:0; max-width:720px; }

/* Coating tabs */
.sh-ct{ margin-top:44px; border:1px solid var(--sh-line); background:#fff; }
.sh-ct-tabs{ display:flex; align-items:stretch; background:var(--sh-navy); flex-wrap:wrap; }
.sh-ct-label{ padding:15px 20px; font-size:10px; font-weight:600; letter-spacing:.16em; color:#8fb6d6; display:flex; align-items:center; }
.sh-ct-tabs button{
	padding:15px 22px; background:none; border:0; border-bottom:3px solid transparent;
	color:#c6d9ea; font:700 12px/1 inherit; letter-spacing:.05em; cursor:pointer;
	transition:color var(--sh-t-fast),border-color var(--sh-t-fast),background var(--sh-t-fast);
}
.sh-ct-tabs button:hover{ color:#fff; background:rgba(255,255,255,.06); }
.sh-ct-tabs button.sh-on{ color:#fff; border-color:var(--sh-cyan); }
.sh-ct-pane{ display:none; }
.sh-ct-pane.sh-on{ display:block; }
.sh-ct-lead{ padding:28px 32px; background:linear-gradient(180deg,#f4f8fb,#fff); border-bottom:1px solid var(--sh-line); font-size:14.5px; line-height:1.75; color:var(--sh-body); }

.sh-prod{ display:grid; grid-template-columns:170px 1fr; gap:28px; padding:28px 32px; border-bottom:1px solid var(--sh-line); transition:background var(--sh-t-fast); }
.sh-prod:last-child{ border-bottom:0; }
.sh-prod:hover{ background:#f8fbfd; }
.sh-prod-brand{ padding-top:2px; }
.sh-wm{ display:inline-flex; align-items:baseline; line-height:1; padding:9px 12px; border:1px solid var(--sh-line); background:#fff; box-shadow:var(--sh-shadow-1); white-space:nowrap; }
.sh-wm b{ font-weight:700; font-size:16px; letter-spacing:.02em; color:#1b2c6b; }
.sh-wm i{ font-style:normal; font-weight:700; font-size:16px; letter-spacing:-.01em; color:var(--sh-cyan); position:relative; }
.sh-wm sup{ font-size:8px; font-weight:600; color:var(--sh-muted); margin-left:2px; top:-.6em; }
.sh-prod-brand .sh-tag{ display:block; font-size:9.5px; font-weight:600; letter-spacing:.14em; color:var(--sh-muted); margin-top:9px; }
.sh-prod h5{ font-weight:700; font-size:17px; line-height:1.35; color:var(--sh-navy); margin:0 0 10px; }
.sh-prod p{ font-size:14px; line-height:1.72; color:var(--sh-body); margin:0 0 10px; }
.sh-prod .sh-apps{ font-size:13.5px; line-height:1.7; color:var(--sh-ink); margin:0; }
.sh-prod .sh-apps b{ color:var(--sh-navy); }
.sh-prod .sh-note{ font-size:13px; line-height:1.7; color:#718092; margin:10px 0 0; }

/* Closing feature block */
.sh-s-feat{ margin-top:44px; display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; border:1px solid var(--sh-line); background:#fff; }
.sh-s-feat-media{ position:relative; min-height:230px; background:linear-gradient(135deg,#0c294e,#123c6e); display:grid; place-items:center; color:#6f92b8; overflow:hidden; }
.sh-s-feat-media em{ font-style:normal; text-align:center; }
.sh-s-feat-media svg{ display:block; margin:0 auto 8px; opacity:.65; }
.sh-s-feat-media span{ display:block; font-size:9px; font-weight:600; letter-spacing:.14em; }
.sh-s-feat-copy{ padding:36px 34px; display:flex; flex-direction:column; justify-content:center; }
.sh-s-feat-copy h4{ font-weight:700; font-size:21px; line-height:1.3; color:var(--sh-navy); margin:0 0 12px; }
.sh-s-feat-copy p{ font-size:14.5px; line-height:1.75; color:var(--sh-body); margin:0 0 22px; }

@media(max-width:1024px){
	.sh-s-body{ padding-left:0; }
}
@media(max-width:980px){
	.sh-s-feat{ grid-template-columns:1fr; }
	.sh-s-feat-media{ min-height:180px; }
	.sh-prod{ grid-template-columns:1fr; gap:14px; }
	.sh-prod-brand .sh-tag{ display:inline-block; margin:0 0 0 12px; }
}
@media(max-width:640px){
	.sh-sb-inner{ gap:10px; padding:10px 0; }
	.sh-sb-label{ display:none; }
	.sh-s-head{ grid-template-columns:1fr 40px; gap:12px; padding:22px 2px; }
	.sh-s-head:hover{ padding-left:2px; }
	.sh-s-num{ grid-column:1; font-size:11px; margin-bottom:-2px; }
	.sh-s-title{ grid-column:1; }
	.sh-s-toggle{ grid-column:2; grid-row:1/3; width:40px; height:40px; align-self:center; }
	.sh-s-body{ padding:4px 0 40px; }
	.sh-s-form{ padding:24px 20px; }
	.sh-ct-label{ width:100%; padding:12px 18px 4px; }
	.sh-ct-tabs button{ flex:1; padding:13px 12px; }
	.sh-ct-lead, .sh-prod{ padding:22px 20px; }
	.sh-s-feat-copy{ padding:26px 20px; }
}
