/*
Theme Name: L7 Publicidade Legal
Theme URI: https://l7publicidadelegal.com.br
Author: L7 Publicidade Legal
Description: Tema de blocos da página institucional da L7 Publicidade Legal. Conteúdo editável no editor nativo.
Version: 1.1.1
Requires at least: 6.7
Tested up to: 7.1.3
Requires PHP: 7.4
Text Domain: l7-publicidade-legal
*/

:root {
	--l7-paper: #f6f1e8;
	--l7-ink: #25282d;
	--l7-copper: #b56b45;
	--l7-copper-text: #a85844;
	--l7-muted: #62615d;
	--l7-line: #dcd5cb;
	--l7-editorial: #efe8dd;
	--l7-contact: #eae1d4;
	--l7-process-muted: #d0cdc7;
	--l7-process-index: #d5a58b;
	--l7-process-eyebrow: #d0b8a9;
}

body.l7-site {
	margin: 0;
	background: var(--l7-paper);
	color: var(--l7-ink);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.65;
}

.l7-site,
.l7-site *,
.editor-styles-wrapper,
.editor-styles-wrapper * {
	box-sizing: border-box;
}

.l7-site h1,
.l7-site h2,
.l7-site h3,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3 {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: 400;
	color: inherit;
}

.l7-site p,
.l7-site h1,
.l7-site h2,
.l7-site h3,
.editor-styles-wrapper p,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3 {
	margin-block-start: 0;
	margin-block-end: 0;
}

.l7-site a {
	color: inherit;
	text-decoration: none;
}

.l7-site a.l7-skip {
	position: absolute;
	left: 16px;
	top: 0;
	transform: translateY(-120%);
	background: var(--l7-ink);
	color: var(--l7-paper);
	padding: 10px 14px;
	z-index: 100;
}

.l7-skip:focus {
	transform: none;
	top: 12px;
}

.l7-site a:focus-visible,
.l7-site summary:focus-visible,
.l7-site button:focus-visible,
.editor-styles-wrapper a:focus-visible,
.editor-styles-wrapper summary:focus-visible {
	outline: 3px solid var(--l7-copper);
	outline-offset: 4px;
}

.l7-wrap {
	max-width: 1100px;
	margin-inline: auto;
	padding-inline: 40px;
}

header.wp-block-template-part {
	border-bottom: 1px solid var(--l7-line);
	background: var(--l7-paper);
}

.l7-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	padding-block: 22px;
}

.l7-logo {
	margin: 0;
	flex: 0 0 auto;
}

.l7-logo a {
	display: block;
	line-height: 0;
}

.l7-site img,
.editor-styles-wrapper img {
	max-width: 100%;
	height: auto;
}

.l7-logo img {
	display: block;
	width: 220px;
	height: auto;
	max-width: 100%;
}

.l7-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
	flex-wrap: wrap;
}

.l7-nav {
	display: flex;
	align-items: center;
	gap: 22px;
	font-size: 13px;
}

.l7-nav .wp-block-navigation__responsive-container,
.l7-nav .wp-block-navigation__responsive-container-content,
.l7-nav .wp-block-navigation__container {
	display: flex;
	align-items: center;
	gap: 22px;
}

.l7-nav .wp-block-navigation-item__content {
	padding: 8px 0;
}

.l7-nav-list {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.l7-nav-list a {
	padding: 8px 0;
}

.l7-site .wp-block-buttons,
.editor-styles-wrapper .wp-block-buttons {
	margin: 0;
}

.l7-site .wp-block-button__link,
.editor-styles-wrapper .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--l7-ink);
	color: var(--l7-paper);
	border: 0;
	border-radius: 0;
	padding: 13px 21px;
	min-height: 44px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: none;
}

.l7-header-tools .wp-block-button__link {
	padding: 10px 16px;
}

.l7-eyebrow {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--l7-muted);
	margin: 0 0 22px;
}

.l7-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 50px;
	padding-block: 75px;
	align-items: center;
}

.l7-title {
	font-size: clamp(40px, 6vw, 66px);
	line-height: 1.06;
	letter-spacing: -1.6px;
	margin-bottom: 26px;
}

.l7-title em {
	font-style: normal;
	color: var(--l7-copper);
}

.l7-intro {
	max-width: 470px;
	color: var(--l7-muted);
	margin-bottom: 28px;
}

.l7-note {
	font-size: 12px;
	margin-top: 21px;
	color: var(--l7-muted);
}

.l7-editorial {
	border: 1px solid var(--l7-line);
	padding: 35px 28px;
	position: relative;
	background: var(--l7-editorial);
}

.l7-editorial::before {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	width: 55px;
	height: 3px;
	background: var(--l7-copper);
}

.l7-editorial-title {
	font-size: 29px;
	line-height: 1.2;
	margin: 18px 0 25px;
}

.l7-pub-row {
	border-top: 1px solid #d4ccbf;
	display: flex;
	gap: 18px;
	padding: 13px 0;
	align-items: center;
}

.l7-pub-row h3 {
	font-size: 22px;
	min-width: 49px;
	margin: 0;
}

.l7-pub-row p {
	font-size: 12px;
	margin: 0;
}

.l7-ribbon {
	border-top: 1px solid var(--l7-line);
	border-bottom: 1px solid var(--l7-line);
	padding: 21px 40px;
	text-align: center;
	font-size: 13px;
}

.l7-block {
	padding-block: 66px;
}

.l7-section-title {
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: -0.6px;
	margin-bottom: 18px;
}

.l7-lead {
	max-width: 600px;
	color: var(--l7-muted);
	margin-bottom: 34px;
}

.l7-services,
.l7-steps,
.l7-about,
.l7-departments {
	display: grid;
}

.l7-services {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 32px;
}

.l7-service {
	border-top: 2px solid var(--l7-copper);
	padding-top: 23px;
}

.l7-index {
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--l7-copper-text);
	margin-bottom: 14px;
}

.l7-service h3 {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 14px;
}

.l7-service p {
	font-size: 13px;
	color: var(--l7-muted);
}

.l7-service .wp-block-paragraph a,
.l7-text-link a {
	font-size: 12px;
	border-bottom: 1px solid var(--l7-copper);
	padding-bottom: 4px;
}

.l7-process {
	background: var(--l7-ink);
	color: var(--l7-paper);
}

.l7-process .l7-eyebrow {
	color: var(--l7-process-eyebrow);
}

.l7-steps {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 22px;
	margin-top: 36px;
}

.l7-step {
	border-top: 1px solid #5e5b58;
	padding-top: 15px;
}

.l7-step .l7-index {
	color: var(--l7-process-index);
	margin-bottom: 8px;
}

.l7-step h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 8px;
}

.l7-step p {
	font-size: 12px;
	color: var(--l7-process-muted);
}

.l7-about {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	gap: 60px;
}

.l7-founder {
	border-left: 3px solid var(--l7-copper);
	padding: 10px 0 10px 26px;
}

.l7-year {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 65px;
	line-height: 1;
	color: var(--l7-copper);
	margin-bottom: 12px;
}

.l7-founder p,
.l7-about-copy p {
	color: var(--l7-muted);
}

.l7-founder p {
	font-size: 13px;
	max-width: 320px;
	margin-bottom: 12px;
}

.l7-founder .l7-year {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 65px;
	line-height: 1;
	color: var(--l7-copper);
	max-width: none;
	margin-bottom: 12px;
}

.l7-service .l7-index {
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--l7-copper-text);
}

.l7-step .l7-index {
	font-size: 11px;
	color: var(--l7-process-index);
}

.l7-about-copy p {
	font-size: 14px;
	margin-bottom: 16px;
}

.l7-site .wp-block-details,
.editor-styles-wrapper .wp-block-details {
	border-top: 1px solid var(--l7-line);
	padding: 16px 0;
	font-size: 13px;
}

.l7-site .wp-block-details summary,
.editor-styles-wrapper .wp-block-details summary {
	min-height: 32px;
	font-weight: 500;
	cursor: pointer;
}

.l7-departments {
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-top: 18px;
}

.l7-departments h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 500;
	margin-bottom: 5px;
}

.l7-departments p {
	font-size: 12px;
	color: var(--l7-muted);
	margin: 0;
}

.l7-contact {
	background: var(--l7-contact);
	border-top: 1px solid var(--l7-line);
}

.l7-contact-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.l7-contact .l7-section-title {
	margin-bottom: 12px;
}

.l7-contact-copy p {
	color: var(--l7-muted);
	font-size: 14px;
}

.l7-contact-actions {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
	flex-shrink: 0;
	text-align: center;
}

.l7-email {
	font-size: 12px;
	overflow-wrap: anywhere;
}

.l7-address-label {
	margin-top: 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.l7-address,
.l7-social {
	font-size: 13px;
	color: var(--l7-muted);
	margin-top: 6px;
}

footer.wp-block-template-part {
	background: var(--l7-ink);
	color: var(--l7-paper);
	padding-block: 30px;
}

.l7-foot {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	align-items: center;
}

.l7-footer-mark {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 36px;
	line-height: 1;
	letter-spacing: -2px;
	margin: 0;
}

.l7-footer-name {
	border-left: 2px solid var(--l7-copper);
	padding-left: 12px;
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin: 8px 0 0;
}

.l7-footer-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.l7-footer-slogan,
.l7-foot-right p {
	font-size: 11px;
	color: var(--l7-process-muted);
	margin-top: 8px;
}

.l7-foot-right {
	text-align: right;
	font-size: 12px;
	max-width: 280px;
}

@media (max-width: 900px) {
	.l7-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.l7-wrap {
		padding-inline: 22px;
	}

	.l7-header-inner,
	.l7-header-tools,
	.l7-nav,
	.l7-nav-list,
	.l7-nav .wp-block-navigation__container {
		flex-wrap: wrap;
	}

	.l7-header-tools,
	.l7-nav {
		width: 100%;
		justify-content: flex-start;
	}

	.l7-hero-grid,
	.l7-about,
	.l7-contact-inner,
	.l7-foot,
	.l7-departments {
		grid-template-columns: 1fr;
		display: grid;
	}

	.l7-contact-inner,
	.l7-foot {
		display: block;
	}

	.l7-hero-grid {
		gap: 35px;
		padding-top: 46px;
		padding-bottom: 40px;
	}

	.l7-services,
	.l7-steps {
		grid-template-columns: 1fr;
	}

	.l7-steps {
		grid-template-columns: 1fr 1fr;
	}

	.l7-about {
		gap: 32px;
	}

	.l7-contact-actions {
		margin-top: 28px;
		align-items: flex-start;
		text-align: left;
	}

	.l7-foot-right {
		text-align: left;
		margin-top: 25px;
	}

	.l7-block {
		padding-block: 44px;
	}

	.l7-ribbon {
		padding: 20px 22px;
	}

	.l7-founder .l7-year {
		font-size: 52px;
	}
}

.l7-blog-list {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	gap: 32px;
}

.l7-blog-list > li,
.l7-blog-list > .wp-block-post {
	border-top: 2px solid var(--l7-copper);
	padding-top: 18px;
}

.l7-blog-title,
.l7-blog-title a {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--l7-ink);
}

.l7-blog-title {
	margin: 0 0 8px;
}

.l7-blog-date,
.l7-single-meta {
	font-size: 13px;
	color: var(--l7-muted);
}

.l7-blog-date {
	display: block;
	margin: 0 0 10px;
}

.l7-blog-excerpt,
.l7-blog-excerpt p {
	color: var(--l7-muted);
	font-size: 15px;
	margin: 0;
}

.l7-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 8px 0 28px;
}

.l7-single .wp-block-post-content {
	max-width: 680px;
}

.l7-single .wp-block-post-content p {
	margin-bottom: 16px;
}

.l7-single-cta {
	margin-top: 36px;
}

.l7-pagination,
.wp-block-query-pagination.l7-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	align-items: center;
	margin-top: 36px;
	font-size: 13px;
}

.l7-recent .l7-text-link {
	margin-top: 28px;
}

.l7-recent-placeholder {
	margin: 0;
	padding: 28px 40px;
	color: var(--l7-muted);
	font-size: 15px;
}
