/* =========================================================================
 * shop.css — archive de categoria + single product + contato
 * Requer home.css (design tokens: --c-*, --ink, --paper, --radius-*, --shadow-*)
 * ========================================================================= */

/* ── Oculta chrome do Kallyas nas páginas custom ─────────────────────────── */
body.nda-shop :where(#header, .kl-slideshow, .breadcrumbs, .page-title, .support-panel, .th-shop),
body.nda-single-product :where(#header, .kl-slideshow, .breadcrumbs, .page-title, .support-panel, .th-shop),
body.nda-contato :where(#header, .kl-slideshow, .breadcrumbs, .page-title, .support-panel, .th-shop),
body.nda-sobre :where(#header, .kl-slideshow, .breadcrumbs, .page-title, .support-panel, .th-shop),
body.nda-404 :where(#header, .kl-slideshow, .breadcrumbs, .page-title, .support-panel, .th-shop) {
	display: none !important;
}
body.nda-shop, body.nda-single-product, body.nda-contato, body.nda-sobre, body.nda-404 {
	background: var(--paper);
}
body.nda-shop #main, body.nda-single-product #main, body.nda-contato #main, body.nda-sobre #main, body.nda-404 #main {
	padding: 0 !important;
	margin: 0 !important;
}
body.nda-shop .container-wrap, body.nda-single-product .container-wrap, body.nda-contato .container-wrap, body.nda-sobre .container-wrap, body.nda-404 .container-wrap,
body.nda-shop .main-content, body.nda-single-product .main-content, body.nda-contato .main-content, body.nda-sobre .main-content, body.nda-404 .main-content {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	max-width: none !important;
}

/* ── Breadcrumbs ─────────────────────────────────────────────────────────── */
.nda-shop__crumbs {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 24px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ink-mute);
	font-weight: 500;
}
.nda-shop__crumbs a {
	color: var(--ink-mute);
	text-decoration: none;
	transition: color .2s;
}
.nda-shop__crumbs a:hover { color: var(--ink); }
.nda-shop__crumbs [aria-current="page"] { color: var(--ink); font-weight: 600; }
.nda-shop__crumbs > span[aria-hidden] { color: var(--line); }

/* ═══════════════ ARCHIVE — HERO da categoria ═══════════════════════════ */
.nda-shop__hero {
	position: relative;
	max-width: 1240px;
	margin: 24px auto 40px;
	padding: 56px clamp(24px, 4vw, 72px);
	border-radius: var(--radius-lg);
	background: var(--cream);
	display: grid;
	grid-template-columns: 1.35fr .95fr;
	gap: 40px;
	align-items: center;
	overflow: hidden;
	box-shadow: var(--shadow-md);
	isolation: isolate;
}
.nda-shop__hero--pink     { background: linear-gradient(135deg, var(--c-pink) 0%, #f6dbee 100%); }
.nda-shop__hero--blue     { background: linear-gradient(135deg, var(--c-blue) 0%, #d7ecf6 100%); }
.nda-shop__hero--cream    { background: linear-gradient(135deg, var(--c-yellow) 0%, var(--cream) 100%); }
.nda-shop__hero--mint     { background: linear-gradient(135deg, var(--c-mint) 0%, #e2edd0 100%); }
.nda-shop__hero--peach    { background: linear-gradient(135deg, var(--c-peach) 0%, #ffe8cf 100%); }
.nda-shop__hero--lavender { background: linear-gradient(135deg, var(--c-lavender) 0%, #d8d1ef 100%); }

.nda-shop__hero-copy {
	position: relative;
	z-index: 2;
}
.nda-shop__hero-copy .nda-eyebrow {
	background: rgba(255,255,255,.72);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 18px;
}
.nda-shop__hero-title {
	font-family: var(--font-display);
	font-size: clamp(38px, 6vw, 68px);
	line-height: 1;
	color: var(--ink);
	margin: 0 0 18px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.02em;
}
.nda-shop__hero-title em { font-style: italic; font-weight: 500; }
.nda-shop__hero-desc {
	font-size: 16px;
	color: var(--ink-soft);
	line-height: 1.55;
	max-width: 48ch;
	margin: 0 0 20px;
}
.nda-shop__hero-count {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ink);
	color: var(--paper);
	padding: 8px 16px;
	border-radius: var(--radius-pill);
	font-size: 13px;
	font-weight: 600;
}
.nda-shop__hero-count i { font-size: 11px; }

.nda-shop__hero-visual {
	position: relative;
	aspect-ratio: 4/5;
	max-width: 380px;
	justify-self: end;
	z-index: 1;
}
.nda-shop__hero-photo {
	position: absolute;
	inset: 0;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	transform: rotate(-3deg);
	background: #fff;
}
.nda-shop__hero-photo img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.nda-shop__hero-deco {
	position: absolute;
	font-size: 44px;
	line-height: 1;
	opacity: .8;
	color: rgba(26,21,48,.35);
	pointer-events: none;
	user-select: none;
}
.nda-shop__hero-deco--1 { top: -6px; right: -18px; transform: rotate(20deg); }
.nda-shop__hero-deco--2 { bottom: 12px; left: -22px; font-size: 56px; transform: rotate(-8deg); }

/* ═══════════════ ARCHIVE — FILTRO TAMANHO ════════════════════════════════ */
.nda-shop__filter {
	margin: 0 0 20px;
	padding: 14px 0;
	background: var(--cream, #f7f4ee);
	border-top: 1px solid rgba(26,21,48,.06);
	border-bottom: 1px solid rgba(26,21,48,.06);
	border-radius: 0;
}
.nda-shop__filter-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.nda-shop__filter-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}
.nda-shop__filter-label i { font-size: 11px; opacity: .55; }
.nda-shop__filter-pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}
.nda-shop__filter .nda-pill {
	background: #fff;
	color: var(--ink);
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(26,21,48,.10);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	transition: transform .15s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.nda-shop__filter .nda-pill:hover { background: var(--ink); color: #fff; border-color: var(--ink); transform: translateY(-1px); }
.nda-shop__filter .nda-pill.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.nda-shop__filter-clear {
	font-size: 13px;
	font-weight: 600;
	color: var(--cta, #d16179);
	text-decoration: none;
	padding: 8px 4px;
	border-bottom: 1px dashed transparent;
	white-space: nowrap;
	transition: border-color .2s var(--ease);
}
.nda-shop__filter-clear:hover { border-bottom-color: var(--cta, #d16179); }

/* ═══════════════ ARCHIVE — TOOLBAR ═══════════════════════════════════════ */
.nda-shop__toolbar {
	max-width: 1240px;
	margin: 0 auto 20px;
	padding: 0 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.nda-shop__toolbar-count {
	font-size: 13px;
	color: var(--ink-mute);
	font-weight: 500;
}
.nda-shop__toolbar-sort {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.nda-shop__toolbar-sort select {
	appearance: none;
	-webkit-appearance: none;
	border: 1.5px solid var(--line);
	background: var(--paper);
	color: var(--ink);
	padding: 10px 42px 10px 18px;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='%231A1530'><path d='M5 8l5 5 5-5z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	transition: border-color .2s, box-shadow .2s;
}
.nda-shop__toolbar-sort select:hover { border-color: var(--ink); }
.nda-shop__toolbar-sort select:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(26,21,48,.08); }

/* ═══════════════ ARCHIVE — GRID de produtos ═══════════════════════════════ */
.nda-shop__grid {
	max-width: 1240px;
	margin: 0 auto 60px;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 30px 22px;
}

/* Empty state */
.nda-shop__empty {
	max-width: 720px;
	margin: 40px auto 80px;
	padding: 60px 32px;
	text-align: center;
	background: var(--cream);
	border-radius: var(--radius-lg);
}
.nda-shop__empty-ico { font-size: 56px; display: block; margin-bottom: 18px; }
.nda-shop__empty h2 {
	font-family: var(--font-display);
	font-size: 28px;
	font-weight: 500;
	margin: 0 0 12px;
	color: var(--ink);
}
.nda-shop__empty p { color: var(--ink-soft); margin: 0 0 24px; }
.nda-shop__empty a { color: var(--cta); text-decoration: underline; text-underline-offset: 3px; }

/* Paginação */
.nda-shop__pagination {
	max-width: 1240px;
	margin: 40px auto 80px;
	padding: 0 24px;
}
.nda-shop__pagination .page-numbers {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}
.nda-shop__pagination .page-numbers li a,
.nda-shop__pagination .page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: var(--radius-pill);
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
	background: var(--paper);
	border: 1.5px solid var(--line);
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.nda-shop__pagination .page-numbers li a:hover {
	background: var(--cream);
	border-color: var(--ink);
}
.nda-shop__pagination .page-numbers li .current {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}
.nda-shop__pagination .page-numbers li .dots {
	background: transparent;
	border: none;
	color: var(--ink-mute);
}

/* Strip de outras categorias — usa .nda-strip__scroll + .nda-circle já existentes */
.nda-shop__other {
	max-width: 1240px;
	margin: 30px auto 60px;
	padding: 40px 24px;
	background: var(--cream);
	border-radius: var(--radius-lg);
}
.nda-shop__other .nda-head { padding: 0 0 20px; }

/* ═══════════════ SINGLE PRODUCT — GRID PRINCIPAL ═══════════════════════════ */
.nda-single {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}
.nda-single__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 60px;
	padding: 40px 0 60px;
	align-items: start;
}

/* Fundo colorido leve no bloco todo, pela categoria */
.nda-single__grid--pink     { background: linear-gradient(180deg, transparent 0%, transparent 100%); }
.nda-single__grid--blue     { background: transparent; }
.nda-single__grid--cream    { background: transparent; }
.nda-single__grid--mint     { background: transparent; }
.nda-single__grid--peach    { background: transparent; }
.nda-single__grid--lavender { background: transparent; }

/* Galeria custom: coluna de thumbs à esquerda + foto principal grande */
.nda-single__gallery {
	position: sticky;
	top: 100px;
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 14px;
	align-self: start;
}
.nda-single__gallery.is-single {
	grid-template-columns: 1fr;
}
.nda-single__gallery.is-single .nda-single__gallery__thumbs {
	display: none;
}

.nda-single__gallery__thumbs {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--line) transparent;
	padding: 2px;
}
.nda-single__gallery__thumbs::-webkit-scrollbar { width: 4px; }
.nda-single__gallery__thumbs::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }

.nda-single__gallery__thumb {
	all: unset;
	display: block;
	width: 84px;
	aspect-ratio: 1;
	border-radius: var(--radius-sm);
	overflow: hidden;
	cursor: pointer;
	opacity: .62;
	transition: opacity .2s, box-shadow .2s, transform .2s;
	background: var(--cream);
	flex-shrink: 0;
}
.nda-single__gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.nda-single__gallery__thumb:hover { opacity: .9; }
.nda-single__gallery__thumb:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}
.nda-single__gallery__thumb.is-active {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--ink);
}

.nda-single__gallery__main {
	all: unset;
	position: relative;
	display: block;
	cursor: zoom-in;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--cream);
	box-shadow: var(--shadow-md);
	aspect-ratio: 4 / 5;
	width: 100%;
}
.nda-single__gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
.nda-single__gallery__main:hover img { transform: scale(1.03); }
.nda-single__gallery__main:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 4px;
}
.nda-single__gallery__main--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--muted);
	font-size: 14px;
	cursor: default;
}
.nda-single__gallery__zoom {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	background: var(--paper);
	border: 1.5px solid var(--line);
	color: var(--ink);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	transition: transform .2s, background .2s;
	pointer-events: none;
}
.nda-single__gallery__main:hover .nda-single__gallery__zoom {
	background: var(--ink);
	color: var(--paper);
	transform: scale(1.08);
}

/* Lightbox — carrossel modal ao clicar na foto principal */
.nda-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(20, 20, 20, .92);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease;
	padding: 40px;
}
.nda-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}
.nda-lightbox__img {
	max-width: min(88vw, 900px);
	max-height: 88vh;
	object-fit: contain;
	border-radius: var(--radius-sm);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
	background: var(--cream);
}
.nda-lightbox__close,
.nda-lightbox__prev,
.nda-lightbox__next {
	position: absolute;
	background: rgba(255, 255, 255, .95);
	color: var(--ink);
	border: 0;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: background .2s, transform .2s;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
}
.nda-lightbox__close:hover,
.nda-lightbox__prev:hover,
.nda-lightbox__next:hover {
	background: var(--paper);
}
.nda-lightbox__close { top: 24px; right: 24px; }
.nda-lightbox__close:hover { transform: scale(1.05); }
.nda-lightbox__prev { left: 24px; top: 50%; transform: translateY(-50%); }
.nda-lightbox__next { right: 24px; top: 50%; transform: translateY(-50%); }
.nda-lightbox__prev:hover { transform: translateY(-50%) scale(1.05); }
.nda-lightbox__next:hover { transform: translateY(-50%) scale(1.05); }
.nda-lightbox__prev.is-hidden,
.nda-lightbox__next.is-hidden { display: none; }
.nda-lightbox__counter {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, .95);
	color: var(--ink);
	padding: 6px 14px;
	border-radius: 100px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .3px;
}
body.nda-lightbox-open {
	overflow: hidden;
}

/* Painel de compra */
.nda-single__panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 8px 0;
}
.nda-single__eyebrow {
	align-self: flex-start;
	background: var(--cream);
	color: var(--ink);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s;
}
.nda-single__eyebrow:hover { background: var(--c-yellow); color: var(--ink) !important; }
.nda-single__title {
	font-family: var(--font-display);
	font-size: clamp(32px, 4.5vw, 52px);
	line-height: 1.05;
	color: var(--ink);
	margin: -4px 0 0;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.02em;
}
.nda-single__title em { font-style: italic; font-weight: 500; }

.nda-single__price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin: -6px 0 0;
}
.nda-single__price-cur {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em;
}
.nda-single__price-cur .woocommerce-Price-amount { font-family: inherit; font-weight: inherit; }
.nda-single__price-inst {
	font-size: 14px;
	color: var(--ink-mute);
	font-weight: 500;
}
.nda-single__price-inst .woocommerce-Price-amount { font-family: inherit; font-weight: 600; color: var(--ink-soft); }

.nda-single__short {
	font-size: 15px;
	color: var(--ink-soft);
	line-height: 1.6;
}
.nda-single__short p { margin: 0 0 10px; }
.nda-single__short p:last-child { margin: 0; }

/* Attribute groups (color / size — só visual) */
.nda-single__attr {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 0;
	border-top: 1px solid var(--line);
}
.nda-single__attr:first-of-type { border-top: none; padding-top: 6px; }
.nda-single__attr-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.nda-single__attr-label {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nda-single__attr-help {
	font-size: 13px;
	color: var(--cta);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 600;
}
.nda-single__attr-help:hover { color: var(--cta-hover); }
.nda-single__attr-values {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.nda-pill {
	appearance: none;
	background: var(--paper);
	border: 1.5px solid var(--line);
	color: var(--ink);
	padding: 10px 18px;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background .18s, border-color .18s, color .18s, transform .18s;
	min-width: 48px;
	text-align: center;
}
.nda-pill:hover { border-color: var(--ink); }
.nda-pill.is-selected {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
	transform: translateY(-1px);
}
.nda-pill--size {
	min-width: 56px;
	padding: 12px 16px;
	font-size: 14px;
}
.nda-single__attr-note {
	font-size: 12px;
	color: var(--ink-mute);
	margin: 4px 0 0;
	font-style: italic;
}

/* CTA gigante WhatsApp */
.nda-single__cta-wrap {
	display: flex;
	gap: 12px;
	margin-top: 4px;
}
.nda-single__cta {
	flex: 1;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 18px 26px;
	background: #25D366;
	color: #fff !important;
	border-radius: var(--radius-lg);
	text-decoration: none;
	font-family: inherit;
	transition: background .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 12px 32px -12px rgba(37,211,102,.6);
}
.nda-single__cta:hover {
	background: #1ebe57;
	transform: translateY(-2px);
	box-shadow: 0 18px 40px -12px rgba(37,211,102,.7);
	color: #fff !important;
}
.nda-single__cta i { font-size: 30px; }
.nda-single__cta strong {
	display: block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .01em;
}
.nda-single__cta em {
	display: block;
	font-size: 12px;
	font-weight: 500;
	opacity: .92;
	font-style: normal;
	margin-top: 2px;
}
.nda-single__fav {
	appearance: none;
	background: var(--paper);
	border: 1.5px solid var(--line);
	color: var(--ink);
	width: 60px;
	border-radius: var(--radius-lg);
	cursor: pointer;
	font-size: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, color .2s, border-color .2s;
}
.nda-single__fav:hover {
	background: var(--c-pink);
	color: var(--cta);
	border-color: var(--c-pink-deep);
}
.nda-single__fav.is-fav { color: var(--cta); border-color: var(--c-pink-deep); }

/* Badges de garantia */
.nda-single__badges {
	list-style: none;
	padding: 0;
	margin: 6px 0 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.nda-single__badges li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: var(--cream);
	border-radius: var(--radius);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-soft);
}
.nda-single__badges i {
	color: var(--ink);
	font-size: 16px;
	width: 20px;
	text-align: center;
}
.nda-single__badges span { line-height: 1.3; }

.nda-single__meta {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 1px solid var(--line);
	font-size: 12px;
	color: var(--ink-mute);
}
.nda-single__meta a { color: var(--ink-soft); text-decoration: underline; text-underline-offset: 2px; }
.nda-single__meta a:hover { color: var(--ink); }

/* Detalhes — accordion (reusa .nda-faq__item) */
.nda-single__details {
	max-width: 1240px;
	margin: 20px auto 60px;
	padding: 0 24px;
}
.nda-single__details-inner {
	max-width: 820px;
	margin: 0 auto;
}
.nda-single__details .nda-faq__item summary {
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 500;
}
.nda-single__details ul {
	margin: 10px 0;
	padding-left: 20px;
}
.nda-single__details ul li { margin-bottom: 6px; }
.nda-single__details .nda-btn { margin-top: 14px; }
.nda-single__meta-tec {
	margin-top: 12px;
	font-size: 13px;
	color: var(--ink-mute);
	background: var(--cream);
	padding: 10px 14px;
	border-radius: var(--radius-sm);
	display: inline-block;
}

/* Peças relacionadas — reusa nda-carousel + nda-prod */
.nda-single__related {
	max-width: 1240px;
	margin: 40px auto 80px;
	padding: 0 24px;
}

/* ═══════════════ PÁGINA DE CONTATO ═══════════════════════════════════════ */
/* IMPORTANTE: o body tem class .nda-contato também, então esse seletor
 * PRECISA ser específico (main.nda-contato) pra não constringir o body inteiro. */
main.nda-contato {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Hero */
.nda-contato__hero {
	position: relative;
	max-width: 1240px;
	margin: 24px auto 40px;
	padding: 60px clamp(28px, 5vw, 80px);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--c-peach) 0%, var(--c-yellow) 100%);
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--shadow-md);
	display: grid;
	grid-template-columns: 1.5fr .8fr;
	gap: 30px;
	align-items: center;
}
.nda-contato__hero-copy .nda-eyebrow {
	background: rgba(255,255,255,.7);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 18px;
}
.nda-contato__hero-title {
	font-family: var(--font-display);
	font-size: clamp(38px, 6vw, 68px);
	line-height: 1;
	color: var(--ink);
	margin: 0 0 18px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.02em;
}
.nda-contato__hero-title em { font-style: italic; font-weight: 500; }
.nda-contato__hero-desc {
	font-size: 16px;
	color: var(--ink-soft);
	line-height: 1.6;
	max-width: 54ch;
	margin: 0;
}
.nda-contato__hero-deco {
	position: relative;
	height: 220px;
}
.nda-contato__deco {
	position: absolute;
	font-family: var(--font-display);
	line-height: 1;
	color: rgba(26,21,48,.28);
	user-select: none;
	pointer-events: none;
}
.nda-contato__deco--1 { top: 10%;  right: 10%; font-size: 80px; transform: rotate(-15deg); }
.nda-contato__deco--2 { bottom: 4%; right: 40%; font-size: 62px; transform: rotate(8deg); }
.nda-contato__deco--3 { top: 42%;  right: 62%; font-size: 44px; transform: rotate(-8deg); color: rgba(26,21,48,.4); }

/* Grid principal: info + form */
.nda-contato__grid {
	max-width: 1240px;
	margin: 0 auto 80px;
	display: grid;
	grid-template-columns: .95fr 1.2fr;
	gap: 30px;
	align-items: start;
}

/* Card de info (esquerda) */
.nda-contato__info {
	background: var(--cream);
	border-radius: var(--radius-lg);
	padding: 40px clamp(24px, 3vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 18px;
	box-shadow: var(--shadow-sm);
}
.nda-contato__info .nda-eyebrow {
	background: rgba(255,255,255,.7);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	align-self: flex-start;
}
.nda-contato__info-title {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.5vw, 42px);
	line-height: 1.1;
	color: var(--ink);
	margin: 0;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.01em;
}
.nda-contato__info-title em { font-style: italic; font-weight: 500; }
.nda-contato__info-desc {
	font-size: 15px;
	color: var(--ink-soft);
	line-height: 1.55;
	margin: 0;
}

.nda-contato__wa-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 22px;
	background: #25D366;
	color: #fff !important;
	border-radius: var(--radius-lg);
	text-decoration: none;
	transition: background .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 10px 24px -10px rgba(37,211,102,.55);
	margin-top: 4px;
}
.nda-contato__wa-btn:hover {
	background: #1ebe57;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -10px rgba(37,211,102,.65);
	color: #fff !important;
}
.nda-contato__wa-btn i { font-size: 28px; }
.nda-contato__wa-btn strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .01em;
}
.nda-contato__wa-btn em {
	display: block;
	font-size: 12px;
	font-weight: 500;
	opacity: .92;
	font-style: normal;
	margin-top: 2px;
}

/* Lista de canais */
.nda-contato__channels {
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.nda-contato__channels li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	border-top: 1px solid rgba(26,21,48,.08);
}
.nda-contato__channels li:first-child { border-top: none; }
.nda-contato__channels-ico {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--paper);
	color: var(--ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
	box-shadow: var(--shadow-sm);
}
.nda-contato__channels li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nda-contato__channels-label {
	font-size: 11px;
	font-weight: 700;
	color: var(--ink-mute);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.nda-contato__channels a {
	color: var(--ink);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	word-break: break-word;
}
.nda-contato__channels a:hover { color: var(--cta); }
.nda-contato__channels span:not(.nda-contato__channels-label):not(.nda-contato__channels-ico) {
	color: var(--ink);
	font-weight: 600;
	font-size: 14px;
}

/* Card de formulário (direita) */
.nda-contato__form-card {
	background: var(--paper);
	border: 1.5px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 40px clamp(24px, 3vw, 44px);
	box-shadow: var(--shadow-md);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.nda-contato__form-card .nda-eyebrow {
	background: var(--cream);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	align-self: flex-start;
	margin-bottom: 4px;
}
.nda-contato__form-title {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.5vw, 42px);
	line-height: 1.1;
	color: var(--ink);
	margin: 0;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.01em;
}
.nda-contato__form-title em { font-style: italic; font-weight: 500; }
.nda-contato__form-desc {
	font-size: 14px;
	color: var(--ink-soft);
	line-height: 1.55;
	margin: 0 0 14px;
}
.nda-contato__fallback {
	background: var(--cream);
	padding: 20px 24px;
	border-radius: var(--radius);
	color: var(--ink-soft);
}
.nda-contato__fallback a {
	color: var(--cta);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 600;
}

/* ── Contact Form 7 — override do estilo default ─────────────────────────── */
.nda-contato .wpcf7 { margin: 0; }
.nda-contato .wpcf7-form.init,
.nda-contato .wpcf7-form { margin: 0; }
.nda-contato .nda-form { display: flex; flex-direction: column; gap: 16px; }
.nda-contato .nda-form p { margin: 0; }
.nda-contato .nda-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	letter-spacing: .02em;
}
.nda-contato .nda-form label > br { display: none; }

.nda-contato .wpcf7-form-control.nda-input,
.nda-contato input.nda-input,
.nda-contato select.nda-input,
.nda-contato textarea.nda-input {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 13px 16px;
	background: var(--paper);
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 500;
	color: var(--ink);
	line-height: 1.4;
	transition: border-color .18s, box-shadow .18s, background .18s;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}
.nda-contato .wpcf7-form-control.nda-input::placeholder,
.nda-contato input.nda-input::placeholder,
.nda-contato textarea.nda-input::placeholder {
	color: var(--ink-mute);
	opacity: 1;
}
.nda-contato .wpcf7-form-control.nda-input:hover,
.nda-contato input.nda-input:hover,
.nda-contato select.nda-input:hover,
.nda-contato textarea.nda-input:hover { border-color: var(--ink-mute); }
.nda-contato .wpcf7-form-control.nda-input:focus,
.nda-contato input.nda-input:focus,
.nda-contato select.nda-input:focus,
.nda-contato textarea.nda-input:focus {
	outline: none;
	border-color: var(--ink);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(26,21,48,.08);
}
.nda-contato textarea.nda-input {
	resize: vertical;
	min-height: 140px;
	font-family: var(--font-body);
}
.nda-contato select.nda-input {
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='%231A1530'><path d='M5 8l5 5 5-5z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 44px;
}

/* Submit */
.nda-contato .wpcf7-submit.nda-submit,
.nda-contato input[type="submit"].nda-submit,
.nda-contato .nda-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 8px;
	padding: 16px 32px;
	background: var(--ink);
	color: var(--paper);
	border: none;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 10px 22px -10px rgba(26,21,48,.4);
	width: auto;
	min-width: 200px;
}
.nda-contato .wpcf7-submit.nda-submit:hover,
.nda-contato input[type="submit"].nda-submit:hover,
.nda-contato .nda-submit:hover {
	background: var(--cta);
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -10px rgba(233,30,99,.5);
}

/* Loader durante envio */
.nda-contato .wpcf7-spinner {
	background: transparent;
	position: relative;
	width: 24px;
	height: 24px;
	margin: 0 0 0 10px;
	border-radius: 50%;
	border: 2px solid rgba(26,21,48,.15);
	border-top-color: var(--ink);
	animation: nda-spin .8s linear infinite;
	display: none;
}
.nda-contato .submitting .wpcf7-spinner { display: inline-block; }
@keyframes nda-spin { to { transform: rotate(360deg); } }

/* Mensagens de resposta */
.nda-contato .wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 16px 20px;
	border: none;
	border-left: 4px solid var(--ink);
	border-radius: var(--radius-sm);
	background: var(--cream);
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink);
}
.nda-contato .wpcf7 form.sent .wpcf7-response-output {
	background: rgba(204,226,183,.4);
	border-left-color: #4a8f36;
	color: #24571a;
}
.nda-contato .wpcf7 form.failed .wpcf7-response-output,
.nda-contato .wpcf7 form.aborted .wpcf7-response-output,
.nda-contato .wpcf7 form.invalid .wpcf7-response-output,
.nda-contato .wpcf7 form.unaccepted .wpcf7-response-output {
	background: rgba(233,30,99,.08);
	border-left-color: var(--cta);
	color: var(--cta-hover);
}

/* Erro por campo */
.nda-contato .wpcf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--cta);
	font-weight: 600;
}
.nda-contato .wpcf7 .wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--cta);
	box-shadow: 0 0 0 3px rgba(233,30,99,.08);
}

/* Estrelas de required — o form coloca <span style="color:#c00">*</span> */
.nda-contato .nda-form label > span[style*="color"] {
	color: var(--cta) !important;
	font-weight: 700;
}

/* ═══════════════ PÁGINA 404 ═══════════════════════════════════════════════ */
/* Mesmo cuidado do contato: o body TAMBÉM tem class .nda-404, então usa
 * main.nda-404 pra não constringir o body. */
main.nda-404 {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

.nda-404__hero {
	position: relative;
	margin: 40px auto 60px;
	padding: 80px clamp(28px, 5vw, 80px) 90px;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--c-lavender) 0%, var(--c-pink) 100%);
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--shadow-md);
	text-align: center;
}
.nda-404__hero-inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto;
}
.nda-404__hero .nda-eyebrow {
	background: rgba(255,255,255,.72);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 24px;
}
.nda-404__number {
	font-family: var(--font-display);
	font-size: clamp(110px, 20vw, 220px);
	font-weight: 500;
	font-style: italic;
	line-height: 1;
	color: var(--ink);
	font-variation-settings: 'SOFT' 100;
	letter-spacing: -.04em;
	margin: 0 0 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(8px, 2vw, 20px);
}
.nda-404__cloud {
	display: inline-block;
	color: rgba(255,255,255,.85);
	transform: translateY(-6%) rotate(-8deg);
	filter: drop-shadow(0 8px 24px rgba(26,21,48,.2));
}
.nda-404__title {
	font-family: var(--font-display);
	font-size: clamp(30px, 4.5vw, 48px);
	line-height: 1.05;
	color: var(--ink);
	margin: 0 0 18px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.01em;
}
.nda-404__title em { font-style: italic; font-weight: 500; }
.nda-404__desc {
	font-size: 16px;
	color: var(--ink-soft);
	line-height: 1.6;
	max-width: 56ch;
	margin: 0 auto 32px;
}
.nda-404__ctas {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}
.nda-404__wa {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	background: #25D366;
	color: #fff !important;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 10px 22px -10px rgba(37,211,102,.55);
}
.nda-404__wa:hover {
	background: #1ebe57;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -10px rgba(37,211,102,.65);
}
.nda-404__wa i { font-size: 18px; }

.nda-404__deco {
	position: absolute;
	font-family: var(--font-display);
	line-height: 1;
	color: rgba(255,255,255,.42);
	user-select: none;
	pointer-events: none;
	z-index: 1;
}
.nda-404__deco--1 { top: 8%;   left: 6%;  font-size: 72px; transform: rotate(-14deg); }
.nda-404__deco--2 { top: 15%;  right: 10%; font-size: 48px; transform: rotate(18deg); }
.nda-404__deco--3 { bottom: 12%; right: 14%; font-size: 88px; transform: rotate(-8deg); color: rgba(255,255,255,.55); }

.nda-404__cats {
	margin: 0 auto 80px;
	padding: 40px 0 20px;
}
.nda-404__cats .nda-head { margin-bottom: 20px; }

/* ═══════════════ PÁGINA SOBRE ═════════════════════════════════════════════
 * Efeito principal: scroll-story com foto sticky que troca conforme rola.
 * IMPORTANTE: usa main.nda-sobre pra não colidir com body.nda-sobre.
 * ═════════════════════════════════════════════════════════════════════════ */
main.nda-sobre {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

/* HERO */
.nda-sobre__hero {
	position: relative;
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 40px;
	align-items: center;
	min-height: min(72vh, 700px);
	padding: 60px 0 40px;
	overflow: visible;
}
.nda-sobre__hero-copy {
	position: relative;
	z-index: 2;
}
.nda-sobre__hero-copy .nda-eyebrow {
	background: rgba(255,255,255,.75);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 22px;
	box-shadow: 0 2px 8px rgba(26,21,48,.06);
}
.nda-sobre__hero-title {
	font-family: var(--font-display);
	font-size: clamp(46px, 7vw, 88px);
	line-height: .96;
	color: var(--ink);
	margin: 0 0 24px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.03em;
}
.nda-sobre__hero-title em {
	font-style: italic;
	font-weight: 500;
	background: linear-gradient(120deg, transparent 0 65%, rgba(233,30,99,.14) 65% 100%);
	padding: 0 6px;
	border-radius: 2px;
}
.nda-sobre__hero-lead {
	font-size: 18px;
	color: var(--ink-soft);
	line-height: 1.55;
	max-width: 46ch;
	margin: 0 0 28px;
}
.nda-sobre__hero-scroll {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-mute);
	animation: nda-scroll-bob 2.4s ease-in-out infinite;
}
.nda-sobre__hero-scroll i { font-size: 14px; }
@keyframes nda-scroll-bob {
	0%, 100% { transform: translateY(0); opacity: 1; }
	50%      { transform: translateY(6px); opacity: .55; }
}

/* Visual do hero: blobs pastel + decorativos flutuando */
.nda-sobre__hero-visual {
	position: relative;
	height: 100%;
	min-height: 380px;
}
.nda-sobre__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(30px);
	opacity: .7;
}
.nda-sobre__blob--1 {
	width: 65%; aspect-ratio: 1; top: 6%; left: 12%;
	background: radial-gradient(circle at 30% 30%, var(--c-pink) 0%, transparent 70%);
}
.nda-sobre__blob--2 {
	width: 55%; aspect-ratio: 1; top: 34%; right: 6%;
	background: radial-gradient(circle at 60% 30%, var(--c-blue) 0%, transparent 70%);
}
.nda-sobre__blob--3 {
	width: 50%; aspect-ratio: 1; bottom: 4%; left: 20%;
	background: radial-gradient(circle at 40% 50%, var(--c-yellow) 0%, transparent 70%);
}
.nda-sobre__deco {
	position: absolute;
	font-family: var(--font-display);
	line-height: 1;
	color: var(--ink);
	opacity: .5;
	pointer-events: none;
	user-select: none;
	font-weight: 400;
}
.nda-sobre__deco--1 { top: 8%;  left: 30%; font-size: 68px; transform: rotate(-12deg); animation: nda-float 8s ease-in-out infinite; }
.nda-sobre__deco--2 { top: 42%; right: 20%; font-size: 82px; transform: rotate(6deg);  animation: nda-float 9s ease-in-out -3s infinite; }
.nda-sobre__deco--3 { bottom: 8%; left: 44%; font-size: 44px; transform: rotate(18deg); animation: nda-float 7s ease-in-out -1.5s infinite; color: var(--cta); opacity: .55; }
@keyframes nda-float {
	0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); }
	50%      { transform: translateY(-14px) rotate(calc(var(--r, 0deg) + 4deg)); }
}
.nda-sobre__deco--1 { --r: -12deg; }
.nda-sobre__deco--2 { --r: 6deg; }
.nda-sobre__deco--3 { --r: 18deg; }

/* Hero reveals */
.nda-sobre__hero [data-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .9s cubic-bezier(.2, .7, .2, 1);
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__hero [data-reveal].is-in { opacity: 1; transform: none; }

/* MARQUEE — track infinita horizontal */
.nda-sobre__marquee {
	background: var(--ink);
	color: var(--paper);
	margin: 20px calc(50% - 50vw) 80px;
	padding: 22px 0;
	overflow: hidden;
	position: relative;
	transform: rotate(-2deg);
	box-shadow: 0 20px 40px -20px rgba(26,21,48,.4);
}
.nda-sobre__marquee-track {
	display: flex;
	gap: 40px;
	white-space: nowrap;
	width: max-content;
	animation: nda-sobre-marquee 30s linear infinite;
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(28px, 4vw, 46px);
	font-variation-settings: 'SOFT' 100;
	letter-spacing: -.01em;
}
.nda-sobre__marquee-track > span { display: inline-block; }
.nda-sobre__marquee-track > span:not(:first-child):not(:last-child) { color: var(--c-yellow-deep); }
@keyframes nda-sobre-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* SCROLL-STORY — capítulos com foto sticky */
.nda-sobre__story {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(30px, 6vw, 100px);
	margin: 60px 0 100px;
	padding: 20px 0;
	align-items: start;
}
.nda-sobre__story-title-sr {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
	grid-column: 1 / -1;
}
.nda-sobre__story-media {
	position: sticky;
	top: 14vh;
	height: 72vh;
	max-height: 640px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--cream);
	box-shadow: var(--shadow-lg);
	grid-column: 1;
	grid-row: 2;
}
.nda-sobre__story-text {
	grid-column: 2;
	grid-row: 2;
}
.nda-sobre__story-media-inner {
	position: relative;
	width: 100%;
	height: 100%;
}
.nda-sobre__story-media-inner img,
.nda-sobre__story-placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.05);
	transition: opacity .7s ease, transform 1.2s ease;
}
.nda-sobre__story-media-inner img.is-active,
.nda-sobre__story-placeholder.is-active {
	opacity: 1;
	transform: scale(1);
}
.nda-sobre__story-placeholder {
	background: linear-gradient(135deg, var(--c-peach) 0%, var(--c-pink) 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	color: var(--ink);
}
.nda-sobre__story-placeholder span { font-size: 60px; }
.nda-sobre__story-placeholder small { font-size: 14px; opacity: .7; letter-spacing: .05em; text-transform: uppercase; }

.nda-sobre__story-badge {
	position: absolute;
	bottom: 24px; left: 24px;
	background: rgba(255,253,249,.95);
	backdrop-filter: blur(8px);
	padding: 10px 16px;
	border-radius: var(--radius);
	display: flex;
	align-items: baseline;
	gap: 8px;
	box-shadow: 0 8px 24px -8px rgba(26,21,48,.2);
}
.nda-sobre__story-badge-num {
	font-family: var(--font-display);
	font-size: 28px;
	font-weight: 500;
	font-style: italic;
	color: var(--ink);
	font-variation-settings: 'SOFT' 100;
	line-height: 1;
	transition: opacity .3s ease;
}
.nda-sobre__story-badge-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-mute);
}

.nda-sobre__story-text {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.nda-sobre__chapter {
	min-height: clamp(500px, 80vh, 760px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 60px 0;
}
.nda-sobre__chapter-tag {
	display: inline-flex;
	align-items: center;
	background: var(--cream);
	color: var(--ink);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	align-self: flex-start;
	margin-bottom: 18px;
}
.nda-sobre__chapter-title {
	font-family: var(--font-display);
	font-size: clamp(30px, 4.2vw, 52px);
	line-height: 1.05;
	color: var(--ink);
	margin: 0 0 16px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.02em;
}
.nda-sobre__chapter-title em { font-style: italic; font-weight: 500; }
.nda-sobre__chapter p {
	font-size: 17px;
	color: var(--ink-soft);
	line-height: 1.65;
	margin: 0;
	max-width: 48ch;
}

/* STATS */
.nda-sobre__stats {
	margin: 40px 0 100px;
	padding: 60px clamp(28px, 4vw, 56px);
	background: linear-gradient(135deg, var(--c-yellow) 0%, var(--c-peach) 100%);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	position: relative;
	overflow: hidden;
}
.nda-sobre__stats::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 90% 20%, rgba(255,255,255,.35) 0%, transparent 50%);
	pointer-events: none;
}
.nda-sobre__stats-title-sr {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.nda-sobre__stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	position: relative;
	z-index: 1;
}
.nda-sobre__stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__stat.is-in { opacity: 1; transform: none; }
.nda-sobre__stat-num {
	font-family: var(--font-display);
	font-size: clamp(44px, 6vw, 76px);
	font-weight: 500;
	color: var(--ink);
	font-variation-settings: 'SOFT' 100;
	line-height: 1;
	letter-spacing: -.02em;
}
.nda-sobre__stat-label {
	font-size: 14px;
	color: var(--ink-soft);
	line-height: 1.4;
	font-weight: 500;
	max-width: 22ch;
}

/* VALORES */
.nda-sobre__values {
	margin: 60px 0 100px;
}
.nda-sobre__values-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 30px;
}
.nda-sobre__value {
	padding: 32px 26px;
	border-radius: var(--radius-lg);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	opacity: 0;
	transform: translateY(30px);
	transition-property: opacity, transform, box-shadow;
	transition-duration: .8s, .8s, .3s;
	transition-timing-function: cubic-bezier(.2,.7,.2,1), cubic-bezier(.2,.7,.2,1), var(--ease);
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__value.is-in { opacity: 1; transform: translateY(0); }
.nda-sobre__value:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.nda-sobre__value--pink  { background: linear-gradient(135deg, var(--c-pink) 0%, #f8dceb 100%); }
.nda-sobre__value--blue  { background: linear-gradient(135deg, var(--c-blue) 0%, #d0ecf6 100%); }
.nda-sobre__value--mint  { background: linear-gradient(135deg, var(--c-mint) 0%, #e2edd0 100%); }
.nda-sobre__value--peach { background: linear-gradient(135deg, var(--c-peach) 0%, #ffe8cf 100%); }
.nda-sobre__value-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	background: rgba(255,255,255,.7);
	border-radius: var(--radius);
	color: var(--ink);
	font-size: 22px;
	margin-bottom: 16px;
}
.nda-sobre__value h3 {
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.2;
	color: var(--ink);
	margin: 0 0 8px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
}
.nda-sobre__value p {
	font-size: 14px;
	color: var(--ink-soft);
	line-height: 1.55;
	margin: 0;
}

/* QUOTE */
.nda-sobre__quote {
	margin: 60px 0 100px;
}
.nda-sobre__quote-card {
	position: relative;
	padding: 80px clamp(30px, 6vw, 90px) 60px;
	background: var(--cream);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	max-width: 900px;
	margin: 0 auto;
}
.nda-sobre__quote-mark {
	position: absolute;
	top: -24px; left: 34px;
	font-family: var(--font-display);
	font-size: 200px;
	line-height: 1;
	color: var(--c-pink-deep);
	font-style: italic;
	font-weight: 500;
	pointer-events: none;
	opacity: .8;
}
.nda-sobre__quote-text {
	font-family: var(--font-display);
	font-size: clamp(22px, 3vw, 34px);
	line-height: 1.3;
	color: var(--ink);
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.01em;
	margin: 0 0 40px;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .9s ease, transform 1s ease;
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__quote-text.is-in { opacity: 1; transform: none; }
.nda-sobre__quote-text em { font-style: italic; font-weight: 500; }
.nda-sobre__quote-sign {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .9s ease, transform 1s ease;
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__quote-sign.is-in { opacity: 1; transform: none; }
.nda-sobre__quote-avatar {
	width: 60px; height: 60px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--c-pink) 0%, var(--c-lavender) 100%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 20px;
	font-variation-settings: 'SOFT' 100;
	flex-shrink: 0;
}
.nda-sobre__quote-meta { display: flex; flex-direction: column; }
.nda-sobre__quote-name {
	font-family: var(--font-display);
	font-size: 18px;
	color: var(--ink);
	font-weight: 500;
	font-variation-settings: 'SOFT' 100;
	line-height: 1.1;
}
.nda-sobre__quote-role {
	font-size: 12px;
	color: var(--ink-mute);
	font-weight: 500;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.nda-sobre__quote-signature {
	margin-left: auto;
	font-family: var(--font-script);
	font-size: 24px;
	color: var(--cta);
	transform: rotate(-4deg);
}

/* POLAROIDS */
.nda-sobre__polaroids { margin: 60px 0 100px; }
.nda-sobre__polaroids-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 24px;
	margin-top: 40px;
}
.nda-sobre__polaroid {
	background: #fff;
	padding: 14px 14px 22px;
	border-radius: 4px;
	box-shadow: 0 12px 28px -12px rgba(26,21,48,.28);
	transition: transform .35s var(--ease), box-shadow .35s var(--ease);
	margin: 0;
	opacity: 0;
	transform: translateY(30px) rotate(var(--tilt, 0deg));
	transition-delay: var(--rd, 0ms);
}
.nda-sobre__polaroid.is-in { opacity: 1; transform: translateY(0) rotate(var(--tilt, 0deg)); }
.nda-sobre__polaroid:hover { transform: translateY(-8px) rotate(0deg) scale(1.02); box-shadow: 0 22px 40px -14px rgba(26,21,48,.35); z-index: 3; }
.nda-sobre__polaroid--0 { --tilt: -3deg; }
.nda-sobre__polaroid--1 { --tilt: 2deg; }
.nda-sobre__polaroid--2 { --tilt: -1.5deg; }
.nda-sobre__polaroid-photo {
	aspect-ratio: 4/5;
	border-radius: 2px;
	overflow: hidden;
	background: var(--cream);
	margin-bottom: 12px;
}
.nda-sobre__polaroid-photo img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.nda-sobre__polaroid figcaption {
	font-family: var(--font-script);
	font-size: 18px;
	color: var(--ink-soft);
	text-align: center;
	line-height: 1.2;
}

/* CTA FINAL */
.nda-sobre__cta { margin: 80px 0 100px; }
.nda-sobre__cta-card {
	background: linear-gradient(135deg, var(--c-lavender) 0%, var(--c-pink) 100%);
	border-radius: var(--radius-lg);
	padding: 60px clamp(28px, 5vw, 80px);
	text-align: center;
	box-shadow: var(--shadow-md);
	max-width: 900px;
	margin: 0 auto;
}
.nda-sobre__cta-card .nda-eyebrow {
	background: rgba(255,255,255,.7);
	color: var(--ink);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 18px;
}
.nda-sobre__cta-title {
	font-family: var(--font-display);
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 16px;
	font-variation-settings: 'SOFT' 100;
	font-weight: 500;
	letter-spacing: -.01em;
}
.nda-sobre__cta-title em { font-style: italic; }
.nda-sobre__cta-card p {
	font-size: 16px;
	color: var(--ink-soft);
	line-height: 1.55;
	max-width: 52ch;
	margin: 0 auto 30px;
}
.nda-sobre__cta-btns {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}
.nda-sobre__cta-wa {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	background: #25D366;
	color: #fff !important;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 10px 22px -10px rgba(37,211,102,.55);
}
.nda-sobre__cta-wa:hover {
	background: #1ebe57;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -10px rgba(37,211,102,.65);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.nda-sobre__deco, .nda-sobre__hero-scroll, .nda-sobre__marquee-track {
		animation: none !important;
	}
	.nda-sobre__story-media-inner img,
	.nda-sobre__story-placeholder,
	.nda-sobre__stat, .nda-sobre__value, .nda-sobre__polaroid,
	.nda-sobre__quote-text, .nda-sobre__quote-sign {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ═══════════════ RESPONSIVO ══════════════════════════════════════════════ */
@media (max-width: 960px) {
	.nda-shop__hero {
		grid-template-columns: 1fr;
		padding: 40px 28px;
	}
	.nda-shop__hero-visual {
		max-width: 280px;
		justify-self: start;
	}
	.nda-single__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.nda-single__gallery {
		position: static;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 12px;
	}
	.nda-single__gallery__main { order: 1; }
	.nda-single__gallery__thumbs {
		order: 2;
		flex-direction: row;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 2px 0;
	}
	.nda-single__gallery__thumb { width: 72px; }
	.nda-lightbox { padding: 20px; }
	.nda-lightbox__close,
	.nda-lightbox__prev,
	.nda-lightbox__next { width: 44px; height: 44px; font-size: 15px; }
	.nda-lightbox__close { top: 14px; right: 14px; }
	.nda-lightbox__prev  { left: 10px; }
	.nda-lightbox__next  { right: 10px; }
	.nda-contato__hero {
		grid-template-columns: 1fr;
		padding: 44px 28px;
	}
	.nda-contato__hero-deco { display: none; }
	.nda-contato__grid { grid-template-columns: 1fr; }
	.nda-404__hero { padding: 60px 28px 70px; }
	.nda-404__desc { font-size: 15px; }

	.nda-sobre__hero { grid-template-columns: 1fr; min-height: auto; padding: 40px 0; }
	.nda-sobre__hero-visual { min-height: 260px; order: -1; }
	.nda-sobre__story { grid-template-columns: 1fr; gap: 40px; }
	.nda-sobre__story-media {
		position: relative; top: auto; height: 60vh; max-height: 480px;
	}
	.nda-sobre__chapter { min-height: auto; padding: 30px 0; }
	.nda-sobre__stats-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
	.nda-sobre__values-grid { grid-template-columns: repeat(2, 1fr); }
	.nda-sobre__polaroids-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.nda-shop__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 12px;
		padding: 0 16px;
	}
	.nda-shop__hero {
		padding: 32px 22px;
		margin: 16px 12px 30px;
	}
	.nda-shop__hero-title { font-size: 40px; }
	.nda-shop__hero-copy .nda-eyebrow { font-size: 11px; }
	.nda-shop__crumbs, .nda-shop__toolbar {
		padding-left: 16px;
		padding-right: 16px;
	}
	.nda-shop__toolbar-count { font-size: 12px; }
	.nda-shop__other { margin: 20px 12px 40px; padding: 28px 18px; }
	.nda-single { padding: 0 16px; }
	.nda-single__grid { padding: 20px 0 40px; gap: 24px; }
	.nda-single__title { font-size: 32px; }
	.nda-single__price-cur { font-size: 26px; }
	.nda-single__cta { padding: 14px 18px; }
	.nda-single__cta i { font-size: 24px; }
	.nda-single__badges { grid-template-columns: 1fr; }
	.nda-single__details { padding: 0 16px; }

	main.nda-contato { padding: 0 16px; }
	.nda-contato__hero {
		padding: 32px 22px;
		margin: 16px 0 24px;
	}
	.nda-contato__hero-title { font-size: 38px; }
	.nda-contato__info, .nda-contato__form-card { padding: 30px 22px; }
	.nda-contato__wa-btn { padding: 14px 18px; }
	.nda-contato__wa-btn i { font-size: 24px; }
	.nda-contato .wpcf7-submit.nda-submit,
	.nda-contato input[type="submit"].nda-submit {
		width: 100%;
		min-width: 0;
	}

	main.nda-404 { padding: 0 16px; }
	.nda-404__hero {
		padding: 50px 24px 60px;
		margin: 20px 0 40px;
	}
	.nda-404__title { font-size: 26px; }
	.nda-404__ctas { flex-direction: column; align-items: stretch; }
	.nda-404__ctas .nda-btn, .nda-404__wa { justify-content: center; }
	.nda-404__deco--1, .nda-404__deco--2 { display: none; }

	main.nda-sobre { padding: 0 16px; }
	.nda-sobre__hero-title { font-size: 38px; }
	.nda-sobre__stats-grid { grid-template-columns: 1fr; gap: 24px; }
	.nda-sobre__stats { padding: 40px 24px; }
	.nda-sobre__stat-num { font-size: 44px; }
	.nda-sobre__values-grid { grid-template-columns: 1fr; }
	.nda-sobre__polaroids-grid { grid-template-columns: 1fr; gap: 24px; }
	.nda-sobre__quote-card { padding: 60px 24px 40px; }
	.nda-sobre__quote-mark { top: -14px; left: 14px; font-size: 130px; }
	.nda-sobre__cta-card { padding: 44px 24px; }
	.nda-sobre__cta-btns { flex-direction: column; }
	.nda-sobre__cta-wa, .nda-sobre__cta-btns .nda-btn { justify-content: center; }
	.nda-sobre__marquee { padding: 16px 0; }
}

@media (max-width: 420px) {
	.nda-shop__grid { grid-template-columns: 1fr; }
	.nda-shop__hero-title { font-size: 34px; }
	.nda-contato__hero-title { font-size: 32px; }
	.nda-404__title { font-size: 24px; }
}
