/* ==========================================================================
   Páginas de produto para campanha: sacolas de papel e saco de delivery
   (carregado depois de pages.css e servicos.css)
   ========================================================================== */

/* ---------- Botões do hero ---------- */
.lp-hero__ctas { display: flex; flex-direction: column; gap: 12px; flex: none; min-width: 270px; }
.lp-hero__ctas .btn { justify-content: center; white-space: nowrap; }
@media (max-width: 1023px) {
	.lp-hero__ctas { flex-direction: row; flex-wrap: wrap; margin-top: 28px; min-width: 0; }
}
@media (max-width: 767px) {
	.lp-hero__ctas { flex-direction: column; margin-top: 22px; }
	.lp-hero__ctas .btn { display: flex; }
}

/* ---------- Ficha técnica ---------- */
.lp-specs .h2 { max-width: 760px; }
.lp-specs__grid { margin: 40px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lp-spec { margin: 0; padding: 22px 24px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-card); }
.lp-spec dt { margin: 0 0 10px; font-size: 11px; font-weight: 800; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; color: var(--text-secondary); }
.lp-spec dd { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--navy); }
@media (max-width: 1023px) {
	.lp-specs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lp-specs .h2 { font-size: 25px; }
	.lp-specs__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 24px; }
	.lp-spec { padding: 16px 18px; }
	.lp-spec dd { font-size: 15px; }
}

/* ---------- Texto com foto ---------- */
.lp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.lp-split--single { grid-template-columns: minmax(0, 760px); }
.lp-split .h2 { font-size: 36px; margin-bottom: 18px; }
.lp-split__lead { margin-bottom: 30px; }
.lp-figure { margin: 0; }
.lp-figure__img { display: block; width: 100%; height: auto; border-radius: var(--radius-block); }
@media (max-width: 1023px) {
	.lp-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
	.lp-split { gap: 24px; }
	.lp-split .h2 { font-size: 25px; margin-bottom: 14px; }
	.lp-split__lead { margin-bottom: 22px; }
}

/* ---------- Casos do portfólio ---------- */
.lp-specs + .lp-cases { padding-top: 0; }
.lp-cases .h2 { margin-bottom: 36px; }
.lp-cases .portfolio-grid--duo { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
@media (max-width: 1023px) {
	.lp-cases .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lp-cases .h2 { font-size: 25px; margin-bottom: 22px; }
	.lp-cases .portfolio-grid, .lp-cases .portfolio-grid--duo { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.lp-cases .portfolio-grid > :nth-child(n+3) { display: none; }
	.lp-cases .work-card__photo { height: 190px; }
}

/* ---------- Perguntas frequentes ---------- */
.lp-faq .h2 { max-width: 700px; margin-bottom: 32px; }
.lp-faq__list { max-width: 820px; border-top: 1px solid var(--border-divider); }
.lp-faq__item { border-bottom: 1px solid var(--border-divider); }
.lp-faq__item summary {
	position: relative;
	padding: 20px 40px 20px 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--navy);
	cursor: pointer;
	list-style: none;
}
.lp-faq__item summary::-webkit-details-marker { display: none; }
.lp-faq__item summary::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 600;
	color: var(--navy);
}
.lp-faq__item[open] summary::after { content: '\2013'; }
.lp-faq__item summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.lp-faq__item p { margin: 0 0 22px; max-width: 700px; font-size: 15px; line-height: 1.75; color: var(--text-body); }
.lp-related { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 32px; }
@media (max-width: 767px) {
	.lp-faq .h2 { font-size: 25px; margin-bottom: 20px; }
	.lp-faq__item summary { padding: 16px 34px 16px 0; font-size: 15px; }
	.lp-faq__item p { font-size: 14px; }
	.lp-related { flex-direction: column; gap: 14px; margin-top: 24px; }
}
