
/* Formulário próprio de confirmação (sem WooCommerce) */
.pergaminho__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pergaminho__campo input[type="text"], .pergaminho__campo input[type="tel"] {
	width: 100%; padding: 11px 14px; font-family: var(--fonte-texto); font-size: 1rem; color: #3b2a14;
	background: rgba(255, 250, 232, .55); border: 1px solid rgba(138, 106, 28, .45); border-radius: 2px;
}
.pergaminho__campo input[type="text"]:focus, .pergaminho__campo input[type="tel"]:focus { outline: 2px solid rgba(138, 106, 28, .6); outline-offset: 1px; }
.pergaminho__campo input::placeholder { color: rgba(90, 61, 18, .45); }
#rsvp_recado { min-height: 70px; }
.pergaminho__oculto { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pergaminho__erro { max-width: 460px; margin: 0 auto 20px; padding: 10px 14px; border: 1px solid rgba(160, 60, 40, .5); background: rgba(160, 60, 40, .1); color: #7a2a18; font-size: .95rem; }
.pergaminho__sucesso { max-width: 460px; margin: 10px auto 20px; }
.pergaminho__sucesso-titulo { font-family: var(--fonte-titulo); font-size: clamp(1.5rem, 3vw, 2rem); color: #3b4a1e; margin: 0 0 10px; }
.pergaminho__sucesso p { color: #4a3518; }
.pergaminho__sucesso a { color: #3b4a1e; font-weight: 600; }
@media (max-width: 560px) { .pergaminho__linha { grid-template-columns: 1fr; gap: 0; } }

/* Lista de nomes completos (um campo por aventureiro) */
.pergaminho__legenda { margin: 0 0 10px; font-family: var(--fonte-titulo); font-size: 1rem; color: #5a3d12; }
.pergaminho__legenda small { font-family: var(--fonte-texto); font-size: .8rem; color: #7a5f35; }
.pergaminho__nomes { list-style: none; counter-reset: aventureiro; margin: 0; padding: 0; display: grid; gap: 10px; }
.pergaminho__nomes li { counter-increment: aventureiro; display: flex; align-items: center; gap: 10px; }
.pergaminho__nomes li::before {
	content: counter(aventureiro); flex: 0 0 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
	font-family: var(--fonte-titulo); font-size: .85rem; color: #f6e3a1; background: #3b4a1e;
}
.pergaminho__nomes input {
	flex: 1; width: 100%; padding: 11px 14px; font-family: var(--fonte-texto); font-size: 1rem; color: #3b2a14;
	background: rgba(255, 250, 232, .55); border: 1px solid rgba(138, 106, 28, .45); border-radius: 2px;
}
.pergaminho__nomes input:focus { outline: 2px solid rgba(138, 106, 28, .6); outline-offset: 1px; }
.pergaminho__nomes input::placeholder { color: rgba(90, 61, 18, .45); }
.pergaminho__nomes input:user-invalid { border-color: rgba(160, 60, 40, .7); background: rgba(160, 60, 40, .06); }
.pergaminho__stepper input[readonly] { cursor: default; }

/* Lista de presentes: subtítulo divertido e grade de 4 colunas */
.bosque-item__sub { margin: -2px 0 10px; font-size: .85rem; font-style: italic; line-height: 1.4; color: var(--tinta-suave); }
ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
ul.products.columns-4 li.product { padding: 14px 14px 18px; }
@media (max-width: 1100px) { ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { ul.products.columns-4 { grid-template-columns: 1fr 1fr; gap: 12px; } ul.products.columns-4 li.product { padding: 10px 10px 14px; } }

/* Lista de presentes em duas linhas com rolagem horizontal */
.bosque-carrossel { position: relative; margin: 0 -8px 28px; }
.bosque-vitrine ul.products {
	display: grid !important;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	grid-template-columns: none !important;
	grid-auto-columns: clamp(170px, 21vw, 240px);
	gap: 16px !important;
	overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-padding: 0 8px;
	padding: 6px 8px 18px;
	scrollbar-width: thin; scrollbar-color: rgba(217, 181, 74, .6) transparent;
}
.bosque-vitrine ul.products::-webkit-scrollbar { height: 6px; }
.bosque-vitrine ul.products::-webkit-scrollbar-thumb { background: rgba(217, 181, 74, .55); border-radius: 3px; }
.bosque-vitrine ul.products li.product { scroll-snap-align: start; }
.bosque-vitrine ul.products li.product:hover { transform: none; }
.bosque-carrossel__btn {
	position: absolute; top: 50%; z-index: 3; translate: 0 -50%;
	width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer;
	background: rgba(24, 30, 14, .92); color: var(--dourado-claro);
	border: 1px solid rgba(217, 181, 74, .7); border-radius: 2px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .45); transition: opacity .25s, background .25s;
}
.bosque-carrossel__btn:hover { background: rgba(86, 104, 44, .95); }
.bosque-carrossel__btn[disabled] { opacity: 0; pointer-events: none; }
.bosque-carrossel__btn--ant { left: -14px; }
.bosque-carrossel__btn--prox { right: -14px; }
.bosque-carrossel__btn svg { width: 18px; height: 18px; }
.bosque-carrossel__dica { margin: -10px 0 18px; text-align: center; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-suave); }
@media (max-width: 700px) {
	.bosque-vitrine ul.products { grid-auto-columns: 46vw; gap: 12px !important; }
	.bosque-carrossel__btn { display: none; }
}
/* cards mais compactos no carrossel */
.bosque-vitrine ul.products { grid-auto-columns: clamp(160px, 16.5vw, 205px); }
.bosque-vitrine ul.products li.product { padding: 10px 10px 14px !important; }
.bosque-vitrine ul.products li.product img { margin-bottom: 10px; border-radius: 3px; }
.bosque-vitrine .woocommerce-loop-product__title { font-size: .92rem !important; line-height: 1.3; margin-bottom: 4px; }
.bosque-vitrine .bosque-item__sub { font-size: .78rem; margin-bottom: 6px; }
.bosque-vitrine .price { margin-bottom: 10px; font-size: .95rem; }
.bosque-vitrine ul.products li.product .button { padding: 9px 14px; font-size: .7rem; }
