/* Plantillas del tema Carmove (26/10/2026): entradas, páginas sin Elementor, archivos y 404.
   Sustituye al Bootstrap y al CSS de MyBooking que antes daban estructura a estas plantillas;
   los valores se han copiado tal cual para que el aspecto no cambie. */

.cm-wrap { width: 100%; margin-inline: auto; padding-inline: 15px; }
@media (min-width: 576px) { .cm-wrap { max-width: 540px; } }
@media (min-width: 768px) { .cm-wrap { max-width: 720px; } }
@media (min-width: 992px) { .cm-wrap { max-width: 960px; } }
@media (min-width: 1200px) { .cm-wrap { max-width: 1140px; } }

.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Entradas */
.post_header { height: 50vh; overflow: hidden; background-repeat: no-repeat; background-size: cover; background-position: center center; }
@media (max-width: 1024px) { .post_header { height: 35vh; } }
.post_content { background-color: #fff; padding: 2rem 0 1rem; }
.post_title, .entry-title { margin-bottom: 2rem; font-weight: 700; text-align: center; font-size: 4.5rem; line-height: 1.2; }
@media (max-width: 575.98px) { .post_title { font-size: 3rem; } .entry-title { font-size: 2rem; } }
.post_meta { margin: 1rem 0 3rem; text-align: center; }
.entry-content, .entry-footer, .cm-entry-links { margin-left: auto; margin-right: auto; }
@media (min-width: 992px) {
	.post .entry-content, .post .entry-footer, .post .cm-entry-links { width: 70%; }
	.page .entry-content, .page .entry-footer, .page .cm-entry-links { width: 100%; }
}
.entry-footer { clear: both; padding-top: 2rem; }
.entry-footer span { padding-right: 10px; }
.cat-links > span > a, .tags-links > span > a { text-decoration: underline; }
.cm-entry-links { padding: 2rem 0; clear: both; }
.cm-post-nav-sep { margin-top: 4rem; }
.cm-post-nav-sep + .cm-wrap { display: flow-root; }
.post-navigation { margin: 2rem 0; }
.post-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 2rem; }
.post-navigation .nav-links > * { margin: .3rem; }

/* Páginas sin Elementor */
.page_content { padding: 3rem 1rem; }
@media (max-width: 575.98px) { .page .page_content, .single .page_content { padding: 2rem 1rem; } }
.site-main { width: 100%; }

/* Tarjetas de entradas en archivos y búsquedas (mismo diseño que el grid del blog) */
.cm-archivo { padding: 3rem 0 4rem; font-family: Inter, sans-serif; }
.cm-archivo__titulo { text-align: center; font-size: 2.2rem; line-height: 1.2; margin: 0 0 2rem; color: #16263a; }
.cm-archivo__vacio { text-align: center; color: #56707f; }
.cm-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .cm-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 600px) { .cm-blog-grid { grid-template-columns: 1fr; } }
.cm-blog-card { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 6px 22px rgba(16, 38, 58, .08); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.cm-blog-card:hover { transform: translateY(-5px); box-shadow: 0 14px 32px rgba(16, 38, 58, .16); }
.cm-blog-card__img { aspect-ratio: 16 / 10; overflow: hidden; background: #0f2033; }
.cm-blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cm-blog-card__img--ph { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #356ea6, #16263a); }
.cm-blog-card__img--ph span { color: #fff; font-weight: 800; font-size: 25px; letter-spacing: .5px; opacity: .9; }
.cm-blog-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.cm-blog-card__date { font-size: 12px; color: #5a6b79; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.cm-blog-card__title { font-size: 18px; line-height: 1.3; color: #16263a; margin: 0; font-weight: 700; }
.cm-blog-card__exc { font-size: 14px; line-height: 1.55; color: #56707f; margin: 0; flex: 1; }
.cm-blog-card__more { margin-top: 4px; color: #356ea6; font-weight: 700; font-size: 14px; }
.navigation.pagination { margin: 2.5rem 0 0; text-align: center; }
.navigation.pagination .page-numbers { display: inline-block; padding: .4rem .8rem; margin: 0 .15rem; border-radius: 8px; color: #356ea6; text-decoration: none; }
.navigation.pagination .page-numbers.current { background: #356ea6; color: #fff; }

/* 404 */
.cm-404 { padding: 5rem 0 6rem; text-align: center; font-family: Inter, sans-serif; }
.cm-404__codigo { margin: 0; font-size: clamp(4rem, 14vw, 8rem); font-weight: 800; line-height: 1; color: #356ea6; letter-spacing: -.04em; }
.cm-404__titulo { margin: .5rem 0 1rem; font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.2; color: #16263a; }
.cm-404__texto { max-width: 34rem; margin: 0 auto 2rem; color: #56707f; font-size: 1.05rem; line-height: 1.6; }
.cm-404__acciones { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; justify-content: center; }
.cm-404__boton { display: inline-block; padding: .85rem 1.6rem; border-radius: 999px; background: #356ea6; color: #fff !important; font-weight: 700; text-decoration: none; }
.cm-404__boton:hover { background: #1f4468; }
.cm-404__enlace { color: #356ea6; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
