/* Feeds: Canecas/DIY, Cantorias, Álbuns, Poemas */

.grid-cards {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.grid-videos {
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}

.grid-albums {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

/* Caneca/DIY: card com texto à esquerda e overlay "Ver detalhes" no hover */

.content-card.type-simple .card-image {
	position: relative;
	aspect-ratio: 4/3;
	height: auto;
}

.content-card.type-simple .card-body {
	text-align: left;
	padding: 1.5rem;
}

.content-card.type-simple .card-date {
	font-size: .8rem;
	color: var(--muted-light);
	margin: 0 0 .5rem;
}

.content-card.type-simple .card-excerpt {
	color: var(--muted-light);
	font-size: .9rem;
	line-height: 1.5;
	margin: 0 0 1rem;
}

/* Cantoria: card de vídeo com play overlay */

.video-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/3;
	background: var(--cream);
}

.video-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
	/* Várias thumbnails de vídeo (capa do oEmbed) vêm com tarja preta
	   (letterbox) embutida na própria imagem — um leve zoom corta essa
	   borda pra fora da área visível, já que object-fit:cover sozinho não
	   remove conteúdo que faz parte da imagem em si. */
	transform: scale(1.5);
}

.video-card:hover .video-thumbnail img {
	transform: scale(1.57);
}

.play-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, .95);
	border: 0;
	border-radius: 50%;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s ease;
	cursor: pointer;
}

.play-overlay:focus-visible {
	outline: 2px solid var(--rose);
	outline-offset: 2px;
}

.play-overlay::before {
	content: '';
	width: 0;
	height: 0;
	border-left: 15px solid var(--rose);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	margin-left: 3px;
}

.video-card:hover .play-overlay {
	background: var(--rose);
}

.video-card:hover .play-overlay::before {
	border-left-color: #fff;
}

.video-card .card-body {
	text-align: left;
	padding: 1.5rem;
}

.video-tag {
	position: absolute;
	top: 15px;
	right: 15px;
	padding: .4rem .8rem;
	border-radius: 20px;
	font-size: .75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(5px);
	border: 1px solid var(--lavender);
}

.tag-autoral {
	color: var(--rose);
	border-color: var(--metanoia);
}

.tag-cover {
	color: var(--muted);
	border-color: var(--lavender);
}

.video-date {
	font-size: .8rem;
	color: var(--muted-light);
	margin-bottom: .5rem;
}

.video-description {
	font-size: .9rem;
	line-height: 1.5;
	margin: 0 0 1rem;
}

.video-card {
	cursor: pointer;
}

/* Álbum: card com contagem de fotos + overlay "Ver álbum" */

.album-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/3;
	background: var(--cream);
}

.album-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.album-card:hover .album-thumbnail img {
	transform: scale(1.05);
}

.album-card {
	cursor: pointer;
}

.album-card .card-body {
	text-align: left;
	padding: 1.5rem;
}

.photo-count-overlay {
	position: absolute;
	top: 15px;
	right: 15px;
	background: rgba(255, 255, 255, .95);
	padding: .4rem .8rem;
	border-radius: 20px;
	font-size: .75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--muted);
	border: 1px solid var(--lavender);
	backdrop-filter: blur(5px);
}

.view-overlay {
	position: absolute;
	inset: 0;
	background: rgba(59, 35, 107, .7);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	opacity: 0;
	transition: opacity .3s ease;
}

.content-card:hover .view-overlay {
	opacity: 1;
}

.view-icon {
	font-size: 3rem;
	color: #fff;
}

.view-text {
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: .5px;
}

.album-meta {
	margin-bottom: .5rem;
}

.album-date {
	font-size: .8rem;
	color: var(--muted-light);
}

.album-description {
	font-size: .9rem;
	line-height: 1.5;
	margin: 0 0 1rem;
}

/* Poemas: coluna única, sem grade */

.poems-list {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	max-width: 800px;
	margin: 0 auto;
}

.poem-post {
	background: var(--card);
	border-radius: 25px;
	padding: 3rem;
	box-shadow: var(--shadow);
	position: relative;
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease;
}

.poem-post::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--lavender), var(--metanoia));
}

.poem-post:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(59, 35, 107, .1);
}

.poem-date {
	font-size: .9rem;
	color: var(--muted-light);
}

.poem-header {
	text-align: center;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--line);
}

.poem-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.poem-meta .entry-date {
	margin-top: 0;
}

.poem-meta-sep {
	color: var(--lavender);
	font-size: .8rem;
}

.recent-item-meta {
	gap: .5rem;
	margin: 0 0 1rem;
}

.recent-item-meta .poem-date {
	font-size: .8rem;
}

.recent-item-meta .poem-category {
	font-size: .7rem;
	padding: .2rem .7rem;
}

.poem-title {
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	color: var(--ink);
	font-weight: 400;
	margin: 0;
	line-height: 1.2;
}

.poem-category {
	display: inline-block;
	padding: .3rem 1rem;
	background: var(--cream);
	color: var(--rose);
	border-radius: 20px;
	font-size: .8rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.poem-content {
	text-align: left;
}

.poem-text {
	font-family: Inter, sans-serif;
	font-size: 1.05rem;
	font-weight: 300;
	color: var(--ink);
	line-height: 1.7;
}

.poem-text > * {
	margin: 0 0 1.4em;
}

