/* ==========================================================================
   Danner Enterprise - Solutions Page Elementor Widgets (new sections only)
   ========================================================================== */

: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;
}

.dsw-section { font-family: var(--danner-font); box-sizing: border-box; }
.dsw-section *, .dsw-section *::before, .dsw-section *::after { box-sizing: border-box; }
.dsw-section img { max-width: 100%; display: block; }
.dsw-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.dsw-bar { width: 36px; height: 4px; background: var(--danner-orange); margin-bottom: 16px; }
.dsw-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;
}
.dsw-btn:hover { transform: translateY(-2px); }
.dsw-btn-primary { background-color: var(--danner-orange); color: #fff; }
.dsw-btn-primary:hover { background-color: var(--danner-orange-dark); color: #fff; }
.dsw-btn-dark { background-color: var(--danner-graphite); color: #fff; }
.dsw-btn-dark:hover { background-color: #14181a; color: #fff; }
.dsw-btn-outline-light { background: transparent; border-color: rgba(255,255,255,.6); color: #fff; }
.dsw-btn-outline-light:hover { background: rgba(255,255,255,.12); color: #fff; }
.dsw-btn-outline-dark { background: transparent; border-color: var(--danner-graphite); color: var(--danner-graphite); }
.dsw-btn-outline-dark:hover { background: rgba(31,37,41,.08); }

/* ---------- Shared "left intro + right grid" layout ---------- */
.dsw-split { padding: 70px 0; }
.dsw-split__grid { display: grid; grid-template-columns: 0.85fr 1.6fr; gap: 36px; align-items: start; }
@media (max-width: 900px) { .dsw-split__grid { grid-template-columns: 1fr; gap: 28px; } }
.dsw-split__title { font-size: clamp(20px, 2.5vw, 27px); font-weight: 800; line-height: 1.3; margin: 0 0 14px; }
.dsw-split__desc { font-size: 14px; line-height: 1.7; margin: 0; }

/* ---------- Problem Cards (white bg, plain icon cards) ---------- */
.dsw-problem { background: var(--danner-white); }
.dsw-problem .dsw-split__title,
.dsw-problem .dsw-prow__title { color: var(--danner-charcoal); }
.dsw-problem .dsw-split__desc { color: #6b7075; }
.dsw-pcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 900px) { .dsw-pcards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dsw-pcards { grid-template-columns: 1fr; } }
.dsw-pcard {
	background: var(--danner-white);
	border: 1px solid rgba(63,68,72,.1);
	border-radius: var(--danner-radius-lg);
	padding: 26px 20px;
	box-shadow: 0 4px 14px rgba(0,0,0,.04);
}
.dsw-pcard__icon { color: var(--danner-orange); font-size: 28px; margin-bottom: 18px; }
.dsw-pcard__title { font-size: 15px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 10px; line-height: 1.3; }
.dsw-pcard__desc { font-size: 12.5px; color: #8a9096; line-height: 1.6; margin: 0; }

/* ---------- Response Columns (dark, left intro + 4 plain columns, no dividers) ---------- */
.dsw-response { background: var(--danner-graphite); }
.dsw-response .dsw-split__title { color: #fff; }
.dsw-response .dsw-split__desc { color: rgba(255,255,255,.6); }
.dsw-rcols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 900px) { .dsw-rcols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dsw-rcols { grid-template-columns: 1fr; } }
.dsw-rcol__icon {
	width: 46px; height: 46px;
	border: 1.5px solid var(--danner-orange);
	border-radius: 10px;
	color: var(--danner-orange);
	display: flex; align-items: center; justify-content: center;
	font-size: 19px;
	margin-bottom: 18px;
}
.dsw-rcol__title { color: #fff; font-size: 14.5px; font-weight: 700; margin: 0 0 10px; line-height: 1.35; }
.dsw-rcol__desc { color: rgba(255,255,255,.6); font-size: 12.5px; line-height: 1.6; margin: 0; }

/* ---------- Application Cards (left intro + 4 photo cards w/ icon badge) ---------- */
.dsw-applications { background: var(--danner-warm-white); }
.dsw-applications .dsw-split__title { color: var(--danner-charcoal); }
.dsw-applications .dsw-split__title strong { color: var(--danner-orange); font-weight: 800; }
.dsw-applications .dsw-split__desc { color: #6b7075; }
.dsw-acards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 900px) { .dsw-acards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dsw-acards { grid-template-columns: 1fr; } }
.dsw-acard { background: #fff; border-radius: var(--danner-radius-lg); overflow: hidden; box-shadow: 0 6px 16px rgba(0,0,0,.06); }
.dsw-acard__image { height: 150px; background-size: cover; background-position: center; }
.dsw-acard__body { padding: 18px; }
.dsw-acard__icon {
	width: 36px; height: 36px; border-radius: 999px; background: var(--danner-orange); color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 15px;
	margin-top: -36px; margin-bottom: 12px;
	box-shadow: 0 4px 10px rgba(0,0,0,.18);
	border: 3px solid #fff;
}
.dsw-acard__title { font-size: 14.5px; font-weight: 700; color: var(--danner-charcoal); margin: 0 0 8px; }
.dsw-acard__desc { font-size: 12.5px; color: #8a9096; line-height: 1.55; margin: 0; }

/* ---------- Comparison Table (left intro + challenge/response table) ---------- */
.dsw-comparison { background: var(--danner-white); }
.dsw-comparison .dsw-split__title { color: var(--danner-charcoal); }
.dsw-comparison .dsw-split__desc { color: #6b7075; }
.dsw-table { width: 100%; border-collapse: collapse; border-radius: var(--danner-radius-lg); overflow: hidden; box-shadow: 0 4px 14px rgba(0,0,0,.05); }
.dsw-table thead th {
	background: var(--danner-graphite); color: #fff;
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
	padding: 16px 22px; text-align: left;
}
.dsw-table tbody tr { border-bottom: 1px solid rgba(63,68,72,.08); }
.dsw-table tbody tr:nth-child(even) { background: var(--danner-warm-white); }
.dsw-table tbody td { padding: 16px 22px; font-size: 14px; color: var(--danner-charcoal); vertical-align: middle; }
.dsw-table__challenge { display: flex; align-items: center; gap: 12px; }
.dsw-table__challenge i { color: var(--danner-orange); font-size: 16px; width: 20px; text-align: center; flex-shrink: 0; }
.dsw-table__response { display: flex; align-items: center; gap: 10px; }
.dsw-table__response i { color: var(--danner-orange); font-size: 13px; flex-shrink: 0; }
@media (max-width: 700px) {
	.dsw-table thead { display: none; }
	.dsw-table, .dsw-table tbody, .dsw-table tr, .dsw-table td { display: block; width: 100%; }
	.dsw-table tbody tr { padding: 14px 0; }
	.dsw-table__response { margin-top: 8px; padding-left: 32px; }
	.dsw-table__response::before { content: "\2192"; color: var(--danner-orange); margin-right: 6px; }
}

/* ---------- Advantage Columns (dark, left heading + 5 plain columns, no intro panel) ---------- */
.dsw-advantage { background: var(--danner-graphite); }
.dsw-advantage__grid { display: grid; grid-template-columns: 0.6fr 1.4fr; gap: 30px; align-items: start; }
@media (max-width: 900px) { .dsw-advantage__grid { grid-template-columns: 1fr; gap: 26px; } }
.dsw-advantage__title { color: #fff; font-size: clamp(19px, 2.3vw, 25px); font-weight: 800; line-height: 1.3; margin: 0; }
.dsw-acols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
@media (max-width: 900px) { .dsw-acols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dsw-acols { grid-template-columns: 1fr; } }
.dsw-acol__icon { color: var(--danner-orange); font-size: 22px; margin-bottom: 14px; }
.dsw-acol__title { color: #fff; font-size: 13.5px; font-weight: 700; margin: 0 0 8px; line-height: 1.35; }
.dsw-acol__desc { color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.55; margin: 0; }

/* ---------- Solid CTA Banner ---------- */
.dsw-cta-solid { background: var(--danner-orange); padding: 36px 0; }
.dsw-cta-solid__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.dsw-cta-solid__left { display: flex; align-items: center; gap: 18px; }
.dsw-cta-solid__badge {
	width: 50px; height: 50px; border-radius: 999px; background: rgba(31,37,41,.8);
	display: flex; align-items: center; justify-content: center; color: #fff; font-size: 19px;
	flex-shrink: 0;
}
.dsw-cta-solid__title { color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 4px; }
.dsw-cta-solid__desc { color: rgba(255,255,255,.92); font-size: 13.5px; margin: 0; }
.dsw-cta-solid__buttons { display: flex; gap: 12px; flex-wrap: wrap; }
