/* ==========================================================================
   Danner Enterprise - Resources & Global Pages Elementor Widgets
   Structural CSS only. Icon box sizing, padding, radius, alignment and
   colors are controlled per-instance via Elementor Style controls (see
   includes/trait-icon-style-controls.php) and applied as inline styles,
   which always take priority over these structural defaults.
   ========================================================================== */

:root {
	--danner-orange: #F5821F;
	--danner-orange-dark: #D96E0F;
	--danner-charcoal: #3F4448;
	--danner-warm-white: #F8F6F2;
	--danner-graphite: #1F2529;
	--danner-white: #FFFFFF;
	--danner-radius: 6px;
	--danner-radius-lg: 10px;
	--danner-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

.dnr-section { font-family: var(--danner-font); box-sizing: border-box; padding: 70px 0; }
.dnr-section *, .dnr-section *::before, .dnr-section *::after { box-sizing: border-box; }
.dnr-section img { max-width: 100%; display: block; }
.dnr-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.dnr-bar { width: 36px; height: 4px; background: var(--danner-orange); margin-bottom: 14px; }
.dnr-eyebrow { display: inline-block; color: var(--danner-orange); font-weight: 700; font-size: 12.5px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 12px; }
.dnr-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 13px 26px; border-radius: 999px;
	font-weight: 600; font-size: 14.5px;
	text-decoration: none; border: 2px solid transparent;
	transition: transform .15s ease, background-color .15s ease;
	cursor: pointer; white-space: nowrap;
}
.dnr-btn:hover { transform: translateY(-2px); }
.dnr-btn-primary { background-color: var(--danner-orange); color: #fff; }
.dnr-btn-primary:hover { background-color: var(--danner-orange-dark); color: #fff; }
.dnr-btn-dark { background-color: var(--danner-graphite); color: #fff; }
.dnr-btn-dark:hover { background-color: #14181a; color: #fff; }
.dnr-btn-outline { background: transparent; border: 1.5px solid rgba(63,68,72,.25); color: var(--danner-charcoal); }
.dnr-btn-outline:hover { background: rgba(63,68,72,.06); }
.dnr-btn-outline-light { background: transparent; border-color: rgba(255,255,255,.5); color: #fff; }
.dnr-btn-outline-light:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ---------- generic icon-box wrapper used by the trait's *_align control ---------- */
/* selector pattern: .dnr-xxx__icon-wrap wraps icon-box + title + desc */

/* ---------- Hero + Features (Science & Innovation style) ---------- */
.dnr-hero-features { background: var(--danner-white); padding: 0; }
.dnr-hero-features__top { padding: 70px 0 50px; }
.dnr-hero-features__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 900px) { .dnr-hero-features__grid { grid-template-columns: 1fr; gap: 26px; } }
.dnr-hero-features__title { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; color: var(--danner-charcoal); line-height: 1.25; margin: 0 0 16px; }
.dnr-hero-features__desc { font-size: 14.5px; color: #5a5f63; line-height: 1.75; margin: 0; }
.dnr-hero-features__image { border-radius: var(--danner-radius-lg); height: 320px; object-fit: cover; width: 100%; }
.dnr-fcols { background: var(--danner-warm-white); padding: 40px 0; }
.dnr-fcols__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 900px) { .dnr-fcols__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dnr-fcols__grid { grid-template-columns: 1fr; } }
.dnr-fcol__icon-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dnr-fcol__icon { display: flex; align-items: center; justify-content: center; }
.dnr-fcol__title { font-size: 13.5px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 8px; }
.dnr-fcol__desc { font-size: 12px; color: #8a9096; line-height: 1.55; margin: 0; }

/* ---------- Process Steps (dark, numbered circles only) ---------- */
.dnr-process { background: var(--danner-graphite); }
.dnr-process__title { text-align: center; color: #fff; font-size: 18px; font-weight: 700; margin: 0 0 40px; }
.dnr-process__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; position: relative; }
@media (max-width: 900px) { .dnr-process__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dnr-process__grid { grid-template-columns: 1fr; } }
.dnr-process__grid::before {
	content: ""; position: absolute; top: 26px; left: 6%; right: 6%; height: 1px;
	background: repeating-linear-gradient(to right, rgba(245,130,31,.4) 0, rgba(245,130,31,.4) 6px, transparent 6px, transparent 12px);
	z-index: 0;
}
@media (max-width: 900px) { .dnr-process__grid::before { display: none; } }
.dnr-pstep { position: relative; z-index: 1; text-align: center; }
.dnr-pstep__icon-wrap { display: flex; flex-direction: column; align-items: center; }
.dnr-pstep__icon { display: flex; align-items: center; justify-content: center; background: var(--danner-graphite); }
.dnr-pstep__title { color: #fff; font-size: 13.5px; font-weight: 700; margin: 0 0 6px; }
.dnr-pstep__desc { color: rgba(255,255,255,.55); font-size: 11.5px; line-height: 1.5; margin: 0; }

/* ---------- Checklist + Image + Stat strip ---------- */
.dnr-checklist { background: var(--danner-white); }
.dnr-checklist__top { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 40px; }
@media (max-width: 900px) { .dnr-checklist__top { grid-template-columns: 1fr; gap: 26px; } }
.dnr-checklist__title { font-size: clamp(20px, 2.4vw, 26px); font-weight: 800; color: var(--danner-charcoal); margin: 0 0 16px; }
.dnr-checklist__desc { font-size: 14px; color: #5a5f63; line-height: 1.7; margin: 0 0 18px; }
.dnr-checklist__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.dnr-checklist__list li { display: flex; align-items: flex-start; gap: 9px; font-size: 13.5px; color: var(--danner-charcoal); }
.dnr-checklist__list i { color: var(--danner-orange); margin-top: 3px; font-size: 12px; }
.dnr-checklist__image { border-radius: var(--danner-radius-lg); height: 300px; object-fit: cover; width: 100%; }
.dnr-stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; border-top: 1px solid rgba(63,68,72,.1); padding-top: 30px; }
@media (max-width: 700px) { .dnr-stat-strip { grid-template-columns: repeat(2, 1fr); } }
.dnr-stat { display: flex; align-items: center; gap: 12px; }
.dnr-stat__icon { color: var(--danner-orange); font-size: 22px; flex-shrink: 0; }
.dnr-stat__value { font-size: 16px; font-weight: 800; color: var(--danner-charcoal); display: block; }
.dnr-stat__label { font-size: 11.5px; color: #8a9096; }

/* ---------- Certification badges ---------- */
.dnr-certs { background: var(--danner-white); }
.dnr-certs__title { font-size: clamp(18px, 2.2vw, 22px); font-weight: 800; color: var(--danner-charcoal); margin: 0 0 8px; }
.dnr-certs__desc { font-size: 13.5px; color: #8a9096; margin: 0 0 30px; }
.dnr-certs__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 900px) { .dnr-certs__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .dnr-certs__grid { grid-template-columns: repeat(2, 1fr); } }
.dnr-cert {
	border: 1px solid rgba(63,68,72,.1); border-radius: var(--danner-radius-lg);
	padding: 20px; text-align: center; background: #fff;
}
.dnr-cert__badge-wrap { display: flex; flex-direction: column; align-items: center; }
.dnr-cert__badge { display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.dnr-cert__badge img { max-height: 100%; max-width: 100%; object-fit: contain; }
.dnr-cert__title { font-size: 12.5px; font-weight: 700; color: var(--danner-charcoal); margin: 10px 0 4px; }
.dnr-cert__desc { font-size: 10.5px; color: #8a9096; line-height: 1.4; margin: 0; }

/* ---------- Doc Cards (dark, icon-document grid) ---------- */
.dnr-doccards { background: var(--danner-graphite); }
.dnr-doccards__title { color: #fff; font-size: 18px; font-weight: 700; margin: 0 0 32px; }
.dnr-doccards__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 900px) { .dnr-doccards__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dnr-doccards__grid { grid-template-columns: 1fr; } }
.dnr-doccard { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: var(--danner-radius-lg); padding: 22px 16px; }
.dnr-doccard__icon-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dnr-doccard__icon { display: flex; align-items: center; justify-content: center; }
.dnr-doccard__title { color: #fff; font-size: 13px; font-weight: 700; margin: 0 0 8px; }
.dnr-doccard__desc { color: rgba(255,255,255,.55); font-size: 11.5px; line-height: 1.5; margin: 0; }

/* ---------- Resource Grid (cards w/ tag, title, desc, file type, download button) ---------- */
.dnr-resgrid { background: var(--danner-white); }
.dnr-resgrid__title { font-size: clamp(18px, 2.2vw, 22px); font-weight: 800; color: var(--danner-charcoal); margin: 0 0 24px; }
.dnr-resgrid__tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.dnr-resgrid__tab { padding: 9px 18px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--danner-warm-white); color: var(--danner-charcoal); border: 1px solid rgba(63,68,72,.1); cursor: pointer; }
.dnr-resgrid__tab.is-active { background: var(--danner-orange); color: #fff; border-color: var(--danner-orange); }
.dnr-resgrid__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 900px) { .dnr-resgrid__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dnr-resgrid__grid { grid-template-columns: 1fr; } }
.dnr-rescard { background: var(--danner-warm-white); border: 1px solid rgba(63,68,72,.08); border-radius: var(--danner-radius-lg); padding: 20px; display: flex; flex-direction: column; }
.dnr-rescard[data-cat] { display: flex; }
.dnr-rescard.dnr-is-hidden { display: none; }
.dnr-rescard__icon-wrap { margin-bottom: 14px; }
.dnr-rescard__icon { display: flex; align-items: center; justify-content: center; }
.dnr-rescard__title { font-size: 13.5px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 8px; line-height: 1.35; }
.dnr-rescard__desc { font-size: 12px; color: #8a9096; line-height: 1.55; margin: 0 0 16px; flex-grow: 1; }
.dnr-rescard__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dnr-rescard__filetype { font-size: 10.5px; font-weight: 700; color: #8a9096; }
.dnr-rescard__download { font-size: 11.5px; font-weight: 700; color: var(--danner-orange); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }

/* ---------- Dark Banner CTA (image + button + stat strip) ---------- */
.dnr-darkcta { background: var(--danner-graphite); }
.dnr-darkcta__inner { position: relative; border-radius: var(--danner-radius-lg); overflow: hidden; padding: 36px; background-size: cover; background-position: center; margin-bottom: 30px; }
.dnr-darkcta__overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(31,37,41,.92) 30%, rgba(31,37,41,.55) 100%); z-index: 1; }
.dnr-darkcta__content { position: relative; z-index: 2; }
.dnr-darkcta__title { color: #fff; font-size: clamp(18px, 2.2vw, 24px); font-weight: 800; margin: 0 0 18px; max-width: 480px; }
.dnr-darkcta__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 700px) { .dnr-darkcta__stats { grid-template-columns: repeat(2, 1fr); } }
.dnr-darkcta__stat-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dnr-darkcta__stat-icon { color: rgba(255,255,255,.85); display: flex; align-items: center; justify-content: center; }
.dnr-darkcta__stat-label { color: rgba(255,255,255,.6); font-size: 11.5px; margin-top: 6px; }

/* ---------- World Map Stats ---------- */
.dnr-mapstats { background: var(--danner-white); }
.dnr-mapstats__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 36px; }
@media (max-width: 900px) { .dnr-mapstats__grid { grid-template-columns: 1fr; gap: 24px; } }
.dnr-mapstats__title { font-size: clamp(20px, 2.4vw, 26px); font-weight: 800; color: var(--danner-charcoal); margin: 0 0 14px; }
.dnr-mapstats__desc { font-size: 14px; color: #5a5f63; line-height: 1.7; margin: 0; }
.dnr-mapstats__map { width: 100%; border-radius: var(--danner-radius-lg); }
.dnr-mapstats__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 700px) { .dnr-mapstats__stats { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Region Cards ---------- */
.dnr-regions { background: var(--danner-white); padding-top: 0; }
.dnr-regions__title { font-size: 14px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 20px; text-transform: uppercase; letter-spacing: .5px; }
.dnr-regions__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 900px) { .dnr-regions__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .dnr-regions__grid { grid-template-columns: repeat(2, 1fr); } }
.dnr-region { border: 1px solid rgba(63,68,72,.1); border-radius: var(--danner-radius-lg); padding: 20px; background: #fff; }
.dnr-region__icon-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dnr-region__icon { display: flex; align-items: center; justify-content: center; }
.dnr-region__title { font-size: 13px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 8px; }
.dnr-region__desc { font-size: 11.5px; color: #8a9096; line-height: 1.5; margin: 0; }

/* ---------- Contact Cards ---------- */
.dnr-contact-cards { background: var(--danner-white); }
.dnr-contact-cards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .dnr-contact-cards__grid { grid-template-columns: 1fr; } }
.dnr-ccard { border: 1px solid rgba(63,68,72,.1); border-radius: var(--danner-radius-lg); padding: 26px 22px; background: #fff; }
.dnr-ccard__icon-wrap { margin-bottom: 16px; }
.dnr-ccard__icon { display: flex; align-items: center; justify-content: center; }
.dnr-ccard__title { font-size: 14.5px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 8px; }
.dnr-ccard__desc { font-size: 12.5px; color: #8a9096; line-height: 1.55; margin: 0 0 14px; }
.dnr-ccard__contact { font-size: 13px; font-weight: 700; color: var(--danner-orange); margin-bottom: 16px; display: block; }
.dnr-ccard .dnr-btn { width: 100%; justify-content: center; }

/* ---------- Office Cards ---------- */
.dnr-offices { background: var(--danner-warm-white); }
.dnr-offices__title { font-size: 14px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 20px; }
.dnr-offices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .dnr-offices__grid { grid-template-columns: 1fr; } }
.dnr-office { background: #fff; border: 1px solid rgba(63,68,72,.1); border-radius: var(--danner-radius-lg); padding: 20px; }
.dnr-office__title { font-size: 13.5px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 10px; }
.dnr-office__line { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #6b7075; margin-bottom: 6px; }
.dnr-office__line i { color: var(--danner-orange); margin-top: 2px; flex-shrink: 0; }

/* ---------- Handshake CTA (image bg + stat strip) ---------- */
.dnr-handshake { background: var(--danner-graphite); }
.dnr-handshake__inner { position: relative; border-radius: var(--danner-radius-lg); overflow: hidden; padding: 30px 36px; background-size: cover; background-position: center; }
.dnr-handshake__overlay { position: absolute; inset: 0; background: rgba(20,24,26,.78); z-index: 1; }
.dnr-handshake__content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.dnr-handshake__title { color: #fff; font-size: clamp(17px, 2vw, 21px); font-weight: 800; margin: 0; }
.dnr-handshake__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; border-top: 1px solid rgba(255,255,255,.15); padding-top: 20px; }
@media (max-width: 700px) { .dnr-handshake__stats { grid-template-columns: repeat(2, 1fr); } }
.dnr-handshake__stat-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dnr-handshake__stat-icon { color: rgba(255,255,255,.85); display: flex; align-items: center; justify-content: center; }
.dnr-handshake__stat-label { color: rgba(255,255,255,.6); font-size: 11px; margin-top: 6px; }

/* ---------- Mega Footer ---------- */
.dnr-megafooter { background: var(--danner-graphite); color: rgba(255,255,255,.7); position: relative; overflow: hidden; }
.dnr-megafooter__bgmap { position: absolute; inset: 0; opacity: .06; background-size: cover; background-position: center; pointer-events: none; }
.dnr-megafooter__top { position: relative; z-index: 2; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 30px; padding-bottom: 40px; }
@media (max-width: 900px) { .dnr-megafooter__top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dnr-megafooter__top { grid-template-columns: 1fr; } }
.dnr-megafooter__brand { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.dnr-megafooter__brand img { max-height: 36px; }
.dnr-megafooter__brand-text { font-weight: 800; color: #fff; font-size: 18px; }
.dnr-megafooter__tagline { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.5); max-width: 260px; margin-bottom: 16px; }
.dnr-megafooter__social { display: flex; gap: 10px; }
.dnr-megafooter__social a { width: 32px; height: 32px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.7); text-decoration: none; font-size: 13px; }
.dnr-megafooter__social a:hover { background: var(--danner-orange); color: #fff; border-color: var(--danner-orange); }
.dnr-megafooter__col-title { color: #fff; font-weight: 700; font-size: 13.5px; margin: 0 0 16px; }
.dnr-megafooter__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.dnr-megafooter__col a { color: rgba(255,255,255,.6); text-decoration: none; font-size: 13px; }
.dnr-megafooter__col a:hover { color: var(--danner-orange); }
.dnr-megafooter__bottom { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 22px 0; flex-wrap: wrap; gap: 12px; font-size: 12.5px; color: rgba(255,255,255,.45); border-top: 1px solid rgba(255,255,255,.1); }
.dnr-megafooter__bottom-links { display: flex; gap: 18px; }
.dnr-megafooter__bottom-links a { color: rgba(255,255,255,.45); text-decoration: none; }
.dnr-megafooter__bottom-links a:hover { color: var(--danner-orange); }
