/* ==========================================================================
   Industry DETAIL page section widgets (Figma: Manufacturing detail).
   Reuses the .av-hub tokens + .av-eyebrow/.av-h2/.av-sub from industries-hub.css
   ========================================================================== */

/* =========================== DETAIL HERO ================================= */
.av-dhero { position:relative; display:flex; gap:64px; align-items:center;
	padding:80px var(--gut) 84px; overflow:hidden;
	background:linear-gradient(120deg,#eef6fb 0%,#f6fbfd 45%,#eaf4f9 100%); }
.av-dhero__copy { position:relative; z-index:1; flex:1 1 0; min-width:0; }
.av-dhero__title { font-family:"Poppins",sans-serif; font-weight:700; font-size:44px; line-height:54px;
	letter-spacing:-0.6px; color:var(--navy); margin:18px 0 0; }
.av-dhero__title .hl { color:var(--teal); }
.av-dhero__sub { font-family:"Poppins",sans-serif; font-size:16.5px; line-height:28px; color:var(--ink);
	max-width:620px; margin:18px 0 30px; }
.av-dhero__ctas { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.av-dhero .av-btn { padding:15px 28px; font-size:15px; }
.av-dhero__trust { display:flex; flex-wrap:wrap; gap:12px 26px; padding-top:26px; }
.av-dhero__trust .t { display:inline-flex; align-items:center; gap:8px; font-family:"Outfit",sans-serif;
	font-weight:600; font-size:13px; color:var(--navy2); }
.av-dhero__trust .ck { width:18px; height:18px; border-radius:50%; background:var(--teal-l); color:var(--teal-d);
	display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.av-dhero__trust .ck svg { width:10px; height:10px; }
.av-dhero__media { position:relative; z-index:1; width:44%; max-width:600px; flex:0 0 auto; }
.av-dhero__media img { width:100%; height:auto; display:block; border-radius:18px; object-fit:cover;
	box-shadow:0 24px 60px -14px rgba(15,31,77,.28); }
.av-dhero__media--empty { min-height:340px; border-radius:18px;
	background:linear-gradient(135deg,#cfe0ea,#eaf2f7); box-shadow:0 24px 60px -14px rgba(15,31,77,.18); }
.av-dhero__badge { position:absolute; left:18px; bottom:18px; display:flex; align-items:center; gap:11px;
	background:#fff; border-radius:12px; padding:12px 16px; box-shadow:0 12px 30px -8px rgba(15,31,77,.25); max-width:82%; }
.av-dhero__badge .ic { width:34px; height:34px; border-radius:9px; background:var(--teal-l); color:var(--teal-d);
	display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.av-dhero__badge .ic svg { width:18px; height:18px; }
.av-dhero__badge b { display:block; font-family:"Poppins",sans-serif; font-weight:600; font-size:13.5px; color:var(--navy); }
.av-dhero__badge span { display:block; font-family:"Poppins",sans-serif; font-size:11.5px; color:var(--ink); }

/* =========================== CHALLENGES / SOLUTIONS CARDS =============== */
.av-chal { background:#f2f2f2; padding:var(--pad-y) var(--gut); }
.av-sol  { background:#fff;    padding:var(--pad-y) var(--gut); }
.av-cardgrid { display:grid; gap:24px; max-width:1600px; margin:0 auto; }
.av-cardgrid.cols-4 { grid-template-columns:repeat(4,1fr); }
.av-cardgrid.cols-3 { grid-template-columns:repeat(3,1fr); }
.av-fcard { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px;
	padding:26px 24px; box-shadow:0 8px 24px -6px rgba(15,31,77,.06); }
.av-sol .av-fcard { background:var(--soft); }
.av-fcard__ico { width:44px; height:44px; border-radius:11px; background:var(--teal-l); color:var(--teal-d);
	display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.av-fcard__ico svg { width:22px; height:22px; }
.av-fcard__t { font-family:"Poppins",sans-serif; font-weight:700; font-size:16.5px; line-height:23px; color:var(--navy); margin:0; }
.av-fcard__p { font-family:"Poppins",sans-serif; font-size:14px; line-height:22px; color:var(--ink); margin:9px 0 0; }

/* tabs */
.av-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 auto 18px;
	background:#eef1f6; border-radius:100px; padding:6px; width:max-content; max-width:100%; }
.av-tab { border:0; cursor:pointer; background:transparent; border-radius:100px; padding:10px 22px;
	font-family:"Outfit",sans-serif; font-weight:600; font-size:14px; color:var(--navy2); transition:.2s; white-space:nowrap; }
.av-tab.is-active { background:var(--navy); color:#fff; box-shadow:0 6px 16px rgba(33,46,97,.22); }
.av-tabintro { font-family:"Poppins",sans-serif; font-size:15px; line-height:25px; color:var(--ink);
	text-align:center; max-width:760px; margin:0 auto 34px; }
.av-tabpanel { display:none; }
.av-tabpanel.is-active { display:block; }

/* =========================== SHOWCASE (carousel) ======================== */
.av-show { background:#f2f2f2; padding:var(--pad-y) var(--gut); }
.av-show__stage { max-width:1600px; margin:0 auto; position:relative; }
.av-show__swiper { overflow:hidden; width:100%; }
.av-show__swiper .swiper-wrapper { display:flex; align-items:stretch; box-sizing:content-box; }
.av-show__swiper .swiper-slide { flex-shrink:0; width:100%; height:auto; }
.av-showcard { display:flex; gap:0; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden;
	box-shadow:0 16px 40px -12px rgba(15,31,77,.12); }
.av-showcard__body { flex:1 1 0; min-width:0; padding:36px 40px; }
.av-showcard__badge { display:inline-flex; align-items:center; gap:8px; background:var(--teal-l); color:var(--teal-d);
	border-radius:100px; padding:6px 14px; font-family:"Outfit",sans-serif; font-weight:700; font-size:12.5px; }
.av-showcard__t { font-family:"Poppins",sans-serif; font-weight:700; font-size:24px; line-height:32px; color:var(--navy); margin:16px 0 0; }
.av-showcard__p { font-family:"Poppins",sans-serif; font-size:14.5px; line-height:24px; color:var(--ink); margin:8px 0 0; }
.av-showcard__list { list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.av-showcard__list li { display:flex; align-items:flex-start; gap:11px; font-family:"Poppins",sans-serif;
	font-size:14.5px; line-height:21px; color:var(--navy2); }
.av-showcard__list .ck { flex:0 0 auto; width:22px; height:22px; border-radius:6px; background:var(--navy); color:#fff;
	display:flex; align-items:center; justify-content:center; }
.av-showcard__list .ck svg { width:12px; height:12px; }
.av-showcard__tools { margin-top:24px; }
.av-showcard__tools .lbl { font-family:"Outfit",sans-serif; font-weight:700; font-size:11px; letter-spacing:.8px;
	text-transform:uppercase; color:var(--teal-d); display:block; margin-bottom:10px; }
.av-tag { display:inline-block; background:#eef1f6; color:var(--navy); border-radius:100px; padding:6px 14px;
	font-family:"Outfit",sans-serif; font-weight:600; font-size:12.5px; margin:0 8px 8px 0; }
.av-showcard__media { width:42%; flex:0 0 auto; position:relative; min-height:360px; background:#dfe6ee; }
.av-showcard__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.av-show__nav { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:22px; }
.av-show__arrow { width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer;
	display:flex; align-items:center; justify-content:center; color:var(--navy); transition:.2s; flex:0 0 auto; }
.av-show__arrow:hover { background:var(--navy); color:#fff; }
.av-show__arrow.swiper-button-disabled { opacity:.4; cursor:default; }
.av-show__arrow.swiper-button-disabled:hover { background:#fff; color:var(--navy); }
.av-show__pagination { display:flex; gap:8px; position:static; width:auto; }
.av-show__pagination .swiper-pagination-bullet { width:9px; height:9px; border-radius:50%; background:#c7cfdb; opacity:1; margin:0; transition:.2s; }
.av-show__pagination .swiper-pagination-bullet-active { background:var(--teal); width:24px; border-radius:100px; }

/* =========================== Responsive ================================= */
@media (max-width:991px){
	.av-dhero{ flex-direction:column; align-items:stretch; gap:36px; }
	.av-dhero__media{ width:100%; max-width:none; }
	.av-dhero__title{ font-size:36px; line-height:44px; }
	.av-cardgrid.cols-4{ grid-template-columns:repeat(2,1fr); }
	.av-cardgrid.cols-3{ grid-template-columns:1fr; }
	.av-showcard{ flex-direction:column; }
	.av-showcard__media{ width:100%; min-height:240px; order:-1; }
}
@media (max-width:575px){
	.av-dhero__title{ font-size:29px; line-height:38px; }
	.av-cardgrid.cols-4{ grid-template-columns:1fr; }
	.av-showcard__body{ padding:26px 22px; }
	.av-tabs{ width:100%; justify-content:stretch; }
	.av-tab{ flex:1 1 auto; padding:10px 12px; text-align:center; }
}

/* ==========================================================================
   Override Elementor kit-7 bare-tag typography.
   The kit sets `.elementor-kit-7 h1..h6` and `.elementor-kit-7 a` at
   specificity (0,1,1), which beats single-class rules. Re-assert ours at
   (0,2,0) via the .av-hub wrapper so the design controls type again.
   ========================================================================== */
.av-hub .av-dhero__title { font-family:"Poppins",sans-serif; font-weight:700; font-size:44px; line-height:54px; color:var(--navy); }
.av-hub .av-fcard__t     { font-family:"Poppins",sans-serif; font-weight:700; font-size:20px; line-height:28px; color:var(--navy); }
.av-hub .av-showcard__t  { font-family:"Poppins",sans-serif; font-weight:700; font-size:24px; line-height:32px; color:var(--navy); }
.av-hub .av-fcard__p     { font-size:14.5px; line-height:23px; }
@media (max-width:991px){ .av-hub .av-dhero__title{ font-size:36px; line-height:44px; } }
@media (max-width:575px){ .av-hub .av-dhero__title{ font-size:29px; line-height:38px; } .av-hub .av-fcard__t{ font-size:18px; line-height:25px; } }

/* ==========================================================================
   Showcase carousel nav — Figma style. The theme sets `button{...!important}`
   (navy fill, padding, etc.), so we must win with .av-hub specificity + !important.
   ========================================================================== */
/* shrink-wrap the whole nav and centre it with margin auto, so stray
   justify-content / margin-auto rules can't push the arrows to the edges */
.av-hub .av-show__nav { display:flex !important; align-items:center !important; justify-content:center !important;
	gap:16px !important; width:max-content !important; max-width:100% !important; margin:28px auto 0 !important; float:none !important; }
.av-hub .av-show__pagination,
.av-hub .av-show__arrow { position:static !important; float:none !important; }
.av-hub .av-show__arrow {
	width:46px !important; height:46px !important; min-width:0 !important; max-width:none !important;
	flex:0 0 auto !important; padding:0 !important; margin:0 !important;
	border:1px solid var(--line) !important; border-radius:50% !important;
	background:#fff !important; color:var(--navy) !important; box-shadow:none !important;
	display:inline-flex !important; align-items:center; justify-content:center;
	font-size:0 !important; line-height:1 !important; cursor:pointer; transition:.2s; }
.av-hub .av-show__arrow svg { width:18px; height:18px; display:block; }
.av-hub .av-show__arrow:hover { background:var(--navy) !important; color:#fff !important; border-color:var(--navy) !important; }
.av-hub .av-show__arrow.swiper-button-disabled { opacity:.35 !important; cursor:default; }
.av-hub .av-show__arrow.swiper-button-disabled:hover { background:#fff !important; color:var(--navy) !important; border-color:var(--line) !important; }
.av-hub .av-show__pagination { display:flex !important; align-items:center; gap:8px; position:static; width:auto; margin:0; }
.av-hub .av-show__pagination .swiper-pagination-bullet { width:9px !important; height:9px !important; border-radius:50% !important; background:#c7cfdb !important; opacity:1 !important; margin:0 !important; transition:.2s; }
.av-hub .av-show__pagination .swiper-pagination-bullet-active { background:var(--teal) !important; width:26px !important; border-radius:100px !important; }

/* Showcase badge pill — constrain the check icon (was unsized → rendered huge). */
.av-hub .av-showcard__badge { white-space:nowrap; line-height:1; }
.av-hub .av-showcard__badge svg { width:13px !important; height:13px !important; flex:0 0 auto; display:block; }
