/**
 * Footer — Compact, standard SaaS footer (Doso)
 * Quiet typography, restrained spacing, soft micro-interactions.
 * Scale: 13px uppercase column headings, 14px links, 36px social tiles.
 * 8px spacing system. All class names preserved.
 * @package Doso
 */

/* ---- Custom properties & base --------------------------------------------- */
.dfooter{
	--dfooter-cta:var(--color-primary,#2563eb);
	--dfooter-heading:#1f2937;
	--dfooter-link:#64748b;
	--dfooter-rule:#e5e9f0;
	background:#f8fafc;
	color:var(--dfooter-link);
	font-size:14px;
	line-height:1.6;
	border-top:1px solid var(--dfooter-rule);
	padding-block:clamp(2rem,4vw,3rem) 0;
}
.dfooter__inner{
	width:min(100%,var(--container,1280px));
	margin-inline:auto;
	padding-inline:clamp(1rem,3vw,2rem);
}

/* ---- Grid: Company | Features | Industries | Quick Links ------------------ */
.dfooter__grid{
	display:grid;
	grid-template-columns:1.8fr 1fr 1fr 1fr;
	gap:clamp(1.5rem,3vw,3rem);
	align-items:start;
}

/* ---- Shared typography ---------------------------------------------------- */
.dfooter__heading{
	margin:0 0 1rem;
	font-size:.8125rem;            /* 13px */
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:var(--dfooter-heading);
	line-height:1.4;
}
.dfooter__heading--follow{margin-top:1.25rem}
.dfooter a{
	color:var(--dfooter-link);
	text-decoration:none;
	transition:color .18s ease;
}
.dfooter a:hover{color:var(--color-primary,#2563eb)}

/* ---- Column 1: Company ---------------------------------------------------- */
.dfooter__company{max-width:30rem}
.dfooter__logo{margin-bottom:1rem}
.dfooter__logo img{
	height:34px;
	width:auto;
	max-width:180px;
	object-fit:contain;
}
.dfooter__logo-text{
	font-family:var(--font-heading,inherit);
	font-weight:800;
	font-size:1.35rem;
	color:var(--color-primary,#2563eb);
}

.dfooter__about{
	margin:0 0 1.25rem;
	line-height:1.65;
	font-size:.875rem;             /* 14px */
	max-width:42ch;
	color:#64748b;
}

.dfooter__rule{
	border:0;
	border-top:1px solid var(--dfooter-rule);
	margin:1.25rem 0;
}

/* ---- CTA block ------------------------------------------------------------ */
.dfooter__cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:.75rem 1rem;
	margin-bottom:.25rem;
}
.dfooter__cta-title{
	margin:0;
	font-size:.9375rem;            /* 15px */
	font-weight:600;
	color:var(--dfooter-heading);
	line-height:1.4;
}
.dfooter__cta-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:.5rem 1.25rem;
	border-radius:8px;
	font-size:.8125rem;            /* 13px */
	font-weight:600;
	color:#fff!important;
	background:var(--dfooter-cta);
	white-space:nowrap;
	transition:background .18s ease,transform .18s ease;
}
.dfooter__cta-btn:hover{
	transform:translateY(-1px);
	filter:brightness(1.05);
	color:#fff!important;
}

/* ---- Contact -------------------------------------------------------------- */
.dfooter__contact-list{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:.625rem;
}
.dfooter__contact-list a{
	display:inline-flex;
	align-items:center;
	gap:.625rem;
	font-size:.875rem;             /* 14px */
	line-height:1.4;
}
.dfooter__contact-list svg{color:var(--color-primary,#2563eb);flex:none;opacity:.9}

/* ---- Social icons — compact 36px tiles, soft fill on hover --------------- */
.dfooter__socials{
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:.5rem;
	margin:0;
	padding:0;
	align-items:center;
}
.dfooter__social{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border-radius:8px;
	background:#fff;
	border:1px solid var(--dfooter-rule);
	color:#94a3b8;
	transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;
	flex:none;
}
.dfooter__social svg{width:18px;height:18px}

/* Per-network brand colours */
.dfooter__social--facebook{--brand:#1877f2}
.dfooter__social--instagram{--brand:#e1306c}
.dfooter__social--linkedin{--brand:#0a66c2}
.dfooter__social--youtube{--brand:#ff0000}
.dfooter__social--x{--brand:#0f172a}
.dfooter__social--tiktok{--brand:#010101}

/* Hover: brand fill + gentle lift */
.dfooter__social:hover{
	background:var(--brand,#2563eb);
	border-color:var(--brand,#2563eb);
	color:#fff;
	transform:translateY(-2px);
}
.dfooter__social--facebook:hover svg,
.dfooter__social--linkedin:hover svg{fill:#fff}
.dfooter__social--instagram:hover{
	background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fd5949 45%,#d6249f 70%,#285aeb 100%);
	border-color:transparent;
}

/* ---- Menu columns (wp_nav_menu output) ------------------------------------ */
.dfooter__menu{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:.625rem;
}
.dfooter__menu li{margin:0}
.dfooter__menu a{
	display:inline-block;
	font-size:.875rem;             /* 14px */
	line-height:1.4;
	transition:color .18s ease,transform .18s ease;
}
.dfooter__menu a:hover{transform:translateX(2px)}

/* Plain-text columns (Features / Industries) — labels, not links: no hover. */
.dfooter__menu--text span{
	display:inline-block;
	font-size:.875rem;             /* 14px */
	line-height:1.4;
	color:var(--dfooter-link);
	cursor:default;
}

/* ---- Legal nav — sits between grid and bottom copyright bar --------------- */
.dfooter__legal-nav{
	margin-top:clamp(2rem,4vw,2.75rem);
	text-align:center;
}
.dfooter__legal-nav ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:0;
}
.dfooter__legal-nav li{display:flex;align-items:center}
.dfooter__legal-nav li+li::before{
	content:'';
	width:3px;
	height:3px;
	border-radius:50%;
	margin-inline:.75rem;
	background:#cbd5e1;
	flex:none;
}
.dfooter__legal-nav a{
	font-size:.8125rem;            /* 13px */
	color:#64748b;
}
.dfooter__legal-nav a:hover{color:var(--color-primary,#2563eb)}

/* ---- Bottom bar ----------------------------------------------------------- */
.dfooter__bottom{
	margin-top:1.25rem;
	padding-block:1.25rem;
	border-top:1px solid var(--dfooter-rule);
	text-align:center;
}
.dfooter__copy{margin:0;font-size:.8125rem;color:#94a3b8}

/* ---- Responsive ----------------------------------------------------------- */

/* Tablet: 2-column layout — company spans full top row, 3 menu cols below */
@media(max-width:992px){
	.dfooter__grid{
		grid-template-columns:1fr 1fr;
		gap:2rem;
	}
	.dfooter__company{grid-column:1 / -1;max-width:none}
	.dfooter__about{max-width:60ch}
}

/* Mobile: single-column stacked */
@media(max-width:600px){
	.dfooter__grid{
		grid-template-columns:1fr;
		gap:1.75rem;
	}
	.dfooter__about{max-width:none}
	.dfooter__cta{justify-content:flex-start}
}

/* Reduced-motion */
@media(prefers-reduced-motion:reduce){
	.dfooter__cta-btn,
	.dfooter__social,
	.dfooter__menu a,
	.dfooter a{transition:none}
}
