/*
	Decillion Digital - Footer UI
	Styles for footer.php (shared by index.php and contact.php).
	Loaded after style.css / responsive.css; uses the --dd-* palette variables.
*/

.main-footer.dd-footer{
	position:relative;
	overflow:hidden;
	margin-top:0;
	color:rgba(255,255,255,0.72);
	background:linear-gradient(180deg, var(--dd-purple-800) 0%, var(--dd-purple-900) 100%);
}

/* the template draws a skewed light band behind the footer - not wanted here */
.main-footer.dd-footer:before{
	display:none;
}

.dd-footer-glow{
	position:absolute;
	top:-260px;
	right:-160px;
	width:640px;
	height:640px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(139,85,244,0.35) 0%, rgba(139,85,244,0) 70%);
	pointer-events:none;
}

.dd-footer .auto-container{
	position:relative;
}

/* ---------- top / widgets ---------- */

.dd-footer-top{
	padding:90px 0 50px;
}

.dd-footer-col{
	margin-bottom:40px;
}

.dd-footer-brand p{
	max-width:320px;
	margin:24px 0 26px;
	font-size:15px;
	line-height:1.85em;
	color:rgba(255,255,255,0.72);
}

.dd-footer-logo{
	display:inline-block;
}

.dd-footer-logo img{
	display:block;
	width:auto;
	height:78px;
	max-width:100%;
	background: #fff;
	padding: 5px;
}

.dd-footer-brochure{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-family:'Montserrat', sans-serif;
	font-size:14px;
	font-weight:600;
	color:#ffffff;
	padding:12px 18px;
	border-radius:12px;
	border:1px solid rgba(255,255,255,0.16);
	background:rgba(255,255,255,0.06);
	transition:all 0.3s ease;
}

.dd-footer-brochure .fa{
	font-size:16px;
	color:var(--dd-purple-300);
}

.dd-footer-brochure:hover{
	color:#ffffff;
	border-color:rgba(255,255,255,0.35);
	background:rgba(255,255,255,0.12);
}

.dd-footer-title{
	position:relative;
	font-family:'Dosis', sans-serif;
	font-size:22px;
	font-weight:600;
	color:#ffffff;
	padding-bottom:16px;
	margin-bottom:22px;
}

.dd-footer-title:after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:28px;
	height:3px;
	border-radius:3px;
	background-color:var(--dd-purple-400);
}

.dd-footer-links{
	list-style:none;
	margin:0;
	padding:0;
}

.dd-footer-links li{
	margin-bottom:12px;
}

.dd-footer-links a{
	position:relative;
	display:inline-block;
	font-size:15px;
	line-height:1.5em;
	color:rgba(255,255,255,0.72);
	padding-left:0;
	transition:all 0.3s ease;
}

.dd-footer-links a:before{
	content:'';
	position:absolute;
	left:0;
	top:50%;
	width:0;
	height:2px;
	margin-top:-1px;
	border-radius:2px;
	background-color:var(--dd-purple-400);
	transition:width 0.3s ease;
}

.dd-footer-links a:hover{
	color:#ffffff;
	padding-left:18px;
}

.dd-footer-links a:hover:before{
	width:10px;
}

.dd-footer-contact{
	list-style:none;
	margin:0 0 28px;
	padding:0;
}

.dd-footer-contact li{
	display:flex;
	align-items:flex-start;
	gap:14px;
	margin-bottom:18px;
	font-size:15px;
	line-height:1.7em;
	color:rgba(255,255,255,0.78);
}

.dd-footer-contact .icon{
	flex:0 0 42px;
	width:42px;
	height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	font-size:18px;
	line-height:1;
	color:#ffffff;
	background-color:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.12);
}

.dd-footer-contact a{
	color:#ffffff;
	border-bottom:1px solid rgba(255,255,255,0.25);
	transition:border-color 0.3s ease;
}

.dd-footer-contact a:hover{
	border-color:#ffffff;
}

/* self-contained button so the footer works on pages that don't load home-ui.css */
.dd-footer-cta{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-family:'Montserrat', sans-serif;
	font-size:14px;
	font-weight:600;
	line-height:1;
	padding:16px 28px;
	border-radius:50px;
	color:var(--dd-purple-800);
	background-color:#ffffff;
	box-shadow:0 10px 24px rgba(0,0,0,0.25);
	transition:all 0.3s ease;
}

.dd-footer-cta .fa{
	font-size:12px;
	transition:transform 0.3s ease;
}

.dd-footer-cta:hover{
	color:var(--dd-purple-800);
	background-color:var(--dd-purple-100);
	transform:translateY(-2px);
}

.dd-footer-cta:hover .fa{
	transform:translateX(4px);
}

/* ---------- bottom bar ---------- */

.dd-footer-bottom{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:14px 30px;
	padding:24px 0 28px;
	border-top:1px solid rgba(255,255,255,0.10);
	font-size:14px;
}

.dd-footer-copy{
	color:rgba(255,255,255,0.60);
}

.dd-footer-legal{
	display:flex;
	flex-wrap:wrap;
	gap:6px 0;
	list-style:none;
	margin:0 0 0 auto;
	padding:0;
}

.dd-footer-legal li{
	position:relative;
	padding:0 14px;
}

.dd-footer-legal li:not(:last-child):after{
	content:'';
	position:absolute;
	right:0;
	top:50%;
	width:1px;
	height:12px;
	margin-top:-6px;
	background-color:rgba(255,255,255,0.20);
}

.dd-footer-legal a{
	color:rgba(255,255,255,0.60);
	transition:color 0.3s ease;
}

.dd-footer-legal a:hover{
	color:#ffffff;
}

/* the template's fixed "scroll to top" bubble, restyled to match the palette */
.scroll-to-top{
	border-radius:14px;
	background:var(--dd-purple-600);
	box-shadow:0 10px 24px rgba(44,13,110,0.35);
}

/* ---------- Modern Slavery Statement modal ---------- */

.dd-modal .modal-dialog{
	max-width:520px;
	margin:1.75rem auto;
}

.dd-modal .modal-content{
	border:none;
	border-radius:24px;
	overflow:hidden;
	box-shadow:0 40px 90px rgba(14,0,40,0.45);
}

.dd-modal-head{
	position:relative;
	padding:34px 34px 28px;
	color:#ffffff;
	background:linear-gradient(135deg, var(--dd-purple-600) 0%, var(--dd-purple-800) 65%, var(--dd-purple-900) 100%);
}

.dd-modal-head:after{
	content:'';
	position:absolute;
	right:-90px;
	top:-120px;
	width:260px;
	height:260px;
	border-radius:50%;
	background:rgba(255,255,255,0.06);
	pointer-events:none;
}

.dd-modal-head .dd-eyebrow{
	display:block;
	margin-bottom:8px;
}

.dd-modal-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	margin-bottom:18px;
	border-radius:16px;
	font-size:24px;
	line-height:1;
	color:#ffffff;
	background:rgba(255,255,255,0.12);
	box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18);
}

.dd-modal-title{
	font-family:'Dosis', sans-serif;
	font-size:28px;
	font-weight:600;
	line-height:1.15em;
	color:#ffffff;
	margin:0 0 10px;
}

.dd-modal-head p{
	margin:0;
	font-size:14px;
	line-height:1.7em;
	color:rgba(255,255,255,0.78);
	max-width:380px;
}

.dd-modal-close{
	position:absolute;
	top:18px;
	right:18px;
	z-index:2;
	width:38px;
	height:38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:none;
	border-radius:12px;
	font-size:14px;
	color:#ffffff;
	background:rgba(255,255,255,0.12);
	cursor:pointer;
	transition:background 0.3s ease, transform 0.3s ease;
}

.dd-modal-close:hover{
	background:rgba(255,255,255,0.24);
	transform:rotate(90deg);
}

.dd-modal-body{
	padding:22px 22px 20px;
	background:#ffffff;
}

.dd-doc-list{
	list-style:none;
	margin:0;
	padding:0;
}

.dd-doc-list li + li{
	margin-top:10px;
}

.dd-doc-list a{
	display:flex;
	align-items:center;
	gap:14px;
	padding:14px 16px;
	border-radius:16px;
	border:1px solid #ebe6f6;
	background:#faf8fe;
	color:var(--dd-text);
	transition:all 0.3s ease;
}

.dd-doc-list a:hover{
	border-color:rgba(99,41,185,0.35);
	background:#ffffff;
	box-shadow:0 12px 28px rgba(44,13,110,0.14);
	transform:translateY(-2px);
}

.dd-doc-list .doc-icon{
	flex:0 0 46px;
	width:46px;
	height:46px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:14px;
	font-size:20px;
	color:var(--dd-purple-600);
	background:linear-gradient(135deg, var(--dd-purple-50) 0%, var(--dd-purple-100) 100%);
	transition:all 0.3s ease;
}

.dd-doc-list a:hover .doc-icon{
	color:#ffffff;
	background:linear-gradient(135deg, var(--dd-purple-600) 0%, var(--dd-purple-800) 100%);
}

.dd-doc-list .doc-text{
	flex:1 1 auto;
	min-width:0;
}

.dd-doc-list .doc-text strong{
	display:block;
	font-family:'Dosis', sans-serif;
	font-size:19px;
	font-weight:600;
	line-height:1.2em;
	color:var(--dd-text);
}

.dd-doc-list .doc-text small{
	display:block;
	font-size:12px;
	line-height:1.5em;
	color:#8b8e93;
	margin-top:2px;
}

.dd-doc-list .doc-badge{
	flex:0 0 auto;
	font-family:'Montserrat', sans-serif;
	font-size:10px;
	font-weight:700;
	letter-spacing:1px;
	text-transform:uppercase;
	color:var(--dd-purple-600);
	padding:5px 9px;
	border-radius:20px;
	background:var(--dd-purple-100);
}

.dd-doc-list .doc-action{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:'Montserrat', sans-serif;
	font-size:13px;
	font-weight:600;
	color:var(--dd-purple-600);
	white-space:nowrap;
}

.dd-doc-list .doc-action .fa{
	font-size:11px;
	transition:transform 0.3s ease;
}

.dd-doc-list a:hover .doc-action .fa{
	transform:translateX(4px);
}

.dd-modal-note{
	margin:16px 4px 0;
	font-size:12px;
	color:#9b9fa6;
}

.dd-modal-note .fa{
	color:var(--dd-purple-600);
	margin-right:6px;
}

.modal-backdrop.show{
	opacity:0.7;
	background-color:var(--dd-purple-900);
}

@media only screen and (max-width: 575px){
	.dd-modal .modal-dialog{ margin:12px; }
	.dd-modal-head{ padding:28px 24px 24px; }
	.dd-modal-title{ font-size:24px; }
	.dd-modal-body{ padding:16px 14px 16px; }
	.dd-doc-list a{ flex-wrap:wrap; padding:14px; }
	.dd-doc-list .doc-text{ flex:1 1 calc(100% - 60px); }
	.dd-doc-list .doc-badge{ order:4; }
	.dd-doc-list .doc-action{ order:5; margin-left:auto; }
}

/* ---------- responsive ---------- */

@media only screen and (max-width: 991px){
	.dd-footer-top{ padding:70px 0 20px; }
	.dd-footer-glow{ display:none; }
}

@media only screen and (max-width: 767px){
	.dd-footer-top{ padding:60px 0 10px; }
	.dd-footer-col{ margin-bottom:36px; }
	/* Services + Company lists share a row on phones */
	.dd-footer-col:nth-child(2),
	.dd-footer-col:nth-child(3){ flex:0 0 50%; max-width:50%; }
	.dd-footer-links a{ font-size:14px; }
	.dd-footer-bottom{ padding:22px 0 26px; justify-content: center; }
	.dd-footer-legal{ order:3; width:100%; margin:0; justify-content: center; }
	.dd-footer-legal li:first-child{ padding-left:0; }
}
