/* MachuPicchu101 — light brand look from the logo.
   Palette: white base, red #d32c2c, soft pink #f2b6bc / #fdf1f2, near-black #141414 */
:root {
	--cpf-accent: #d32c2c;
}

.mp-kicker {
	letter-spacing: 0.16em;
	font-size: 12px;
	font-weight: 700;
}

/* Header + footer are styled entirely via block attributes (theme.json / Site Editor),
   no custom CSS here. */

/* Hero: white with the logo's watercolor pink */
.mp-hero {
	padding: 90px 20px 110px;
	background:
		radial-gradient(700px 380px at 62% 28%, rgba(242, 182, 188, 0.55) 0%, rgba(242, 182, 188, 0.18) 55%, transparent 75%),
		radial-gradient(420px 260px at 35% 60%, rgba(242, 182, 188, 0.35) 0%, transparent 70%),
		#ffffff;
}

.mp-hero .mp-kicker {
	color: #d32c2c !important;
}

.mp-hero h1 {
	color: #111318;
}

.mp-hero p:not(.mp-kicker) {
	color: #4b5563 !important;
}

.mp-counters h3 {
	font-size: 34px;
	margin-bottom: 0;
}

.mp-counters p {
	font-size: 11px;
	letter-spacing: 0.1em;
}

/* Cards */
.mp-card {
	background: #ffffff;
	border: 1px solid #f0e2e4;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(211, 44, 44, 0.08);
	height: 100%;
}

.mp-card .wp-block-post-title,
.mp-card .wp-block-post-excerpt,
.mp-card .mp-card-price {
	padding: 0 16px;
}

.mp-card .wp-block-post-title {
	font-size: 17px;
	margin: 12px 0 6px;
}

.mp-card .wp-block-post-title a {
	color: #111318;
	text-decoration: none;
}

.mp-card .wp-block-post-excerpt {
	color: #6b7280;
	font-size: 14px;
}

.mp-card .wp-block-post-featured-image img {
	width: 100%;
	object-fit: cover;
}

.mp-card-price {
	font-size: 20px;
	font-weight: 800;
	color: #d32c2c;
	padding-bottom: 16px !important;
}

.mp-card-price .cpf-field-block__prefix {
	color: #6b7280;
	font-size: 11px;
	font-weight: 700;
}

/* Social band: soft pink */
.mp-social {
	margin-top: 56px;
	background: linear-gradient(120deg, #fdf1f2, #f9dfe2);
	padding: 60px 18px;
}

.mp-social h2 {
	color: #111318;
}

.mp-social .mp-kicker,
.mp-social p strong {
	color: #d32c2c !important;
}

.mp-social p:not(.mp-kicker) {
	color: #4b5563 !important;
}

/* Tour hero facts (over dark-dimmed cover) */
.mp-facts {
	gap: 10px;
	margin-top: 18px;
}

.mp-fact {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 10px;
	padding: 9px 16px;
	min-width: 132px;
	text-align: center;
	color: #fff;
	font-weight: 700;
}

.mp-fact .cpf-field-block__label {
	display: block;
	font-size: 10px;
	letter-spacing: 0.12em;
	color: #f2b6bc;
	font-weight: 700;
}

/* Facts strip on a light background (when NOT over the dark hero cover) */
.mp-facts--light {
	margin: 0 auto 8px;
	padding: 4px 0 0;
}
.mp-facts--light .mp-fact {
	background: #faf3f4;
	border-color: #f0d9dd;
	color: #141318;
}
.mp-facts--light .mp-fact .cpf-field-block__label {
	color: #b23b46;
}

/* Booking card */
.mp-booking {
	border: 1px solid #f0e2e4;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(211, 44, 44, 0.12);
	background: #fff !important;
}

.mp-booking .mp-kicker {
	color: #d32c2c !important;
}

.mp-booking-price {
	text-align: center;
	font-size: 38px;
	font-weight: 800;
	color: #111318;
}

.mp-booking-cta {
	text-align: center;
	margin-top: 16px;
}

.mp-booking-cta .cpf-field-block__whatsapp {
	display: block;
	background: #d32c2c;
	color: #fff;
	text-decoration: none;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 13px 16px;
	border-radius: 999px;
}

/* Repeater blocks on light */
.cpf-rep-block__badge {
	background: #d32c2c;
}

.cpf-rep-block__meta {
	color: #6b7280;
}

.cpf-rep-block--timeline .cpf-rep-block__item {
	border-left-color: #f2b6bc;
}

/* Footer styling lives in its block attributes (background, heading color, link color)
   set in the Site Editor — no custom CSS needed here. */

/* Bioandean-structure extras */
.mp-section {
	padding: 46px 18px 8px;
}

.mp-tour-links {
	gap: 12px;
	margin: 18px auto 6px;
}

.mp-tour-link a {
	display: inline-block;
	border: 2px solid #d32c2c;
	color: #d32c2c;
	font-weight: 700;
	text-decoration: none;
	border-radius: 999px;
	padding: 8px 18px;
	font-size: 14px;
}

.mp-cat-card {
	background: linear-gradient(160deg, #fdf1f2, #f9dfe2);
	border: 1px solid #f0e2e4;
	border-radius: 12px;
	padding: 30px 14px;
}

.mp-cat-card h3 {
	margin: 6px 0 0;
}

.mp-cat-card a {
	color: #111318;
	text-decoration: none;
}

.mp-why-item {
	background: #ffffff;
	border: 1px solid #f0e2e4;
	border-radius: 12px;
	padding: 18px 10px 10px;
}

.mp-why-item p {
	margin: 4px 0;
}

.mp-why-sub {
	color: #9ca3af;
	font-size: 10px;
	letter-spacing: 0.14em;
}

.mp-stars {
	color: #f2c94c;
	font-size: 30px;
	letter-spacing: 6px;
}

.mp-reviews {
	padding-bottom: 46px;
}

.mp-final-cta {
	background: linear-gradient(120deg, #fdf1f2, #f9dfe2);
	border-radius: 16px;
	padding: 40px 22px;
	margin-top: 40px;
}

.mp-sidebar-help a {
	color: #d32c2c;
	font-weight: 700;
}

/* Booking blocks on brand */
.cpb-card {
	--cpb-accent: #d32c2c;
	border-color: #f0e2e4;
	box-shadow: 0 12px 30px rgba(211, 44, 44, 0.12);
}

.cpb-form__step span,
.cpb-form__button {
	background: #d32c2c;
}

/* Regions (visibility controlled by WP Block Context; empty parts collapse) */
.mp-region-menu:empty,
.mp-region-slider:empty,
.mp-region-sidebar-left:empty,
.mp-region-sidebar-right:empty {
	display: none;
}

.mp-region-sidebar-left,
.mp-region-sidebar-right {
	margin: 26px 18px;
}

/* Mobile order: content first, sidebars after */
.mp-container {
	display: flex;
	flex-direction: column;
}

.mp-content {
	order: 1;
}

.mp-region-sidebar-left {
	order: 2;
}

.mp-region-sidebar-right {
	order: 3;
}

.mp-sidebar-card {
	border: 1px solid #f0e2e4;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(211, 44, 44, 0.12);
}

.mp-sidebar-card h3 {
	margin-top: 0;
}

/* Post Views output styled as brand cards */
.cpv-display-grid {
	display: grid;
	gap: 22px;
}

.cpv-view-row {
	background: #ffffff;
	border: 1px solid #f0e2e4;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(211, 44, 44, 0.08);
	display: flex;
	flex-direction: column;
}

.cpv-field-featured-image img {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
}

.cpv-view-row-content {
	padding: 14px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.cpv-field-title h3 {
	font-size: 17px;
	margin: 0 0 8px;
}

.cpv-field-title a {
	color: #111318;
	text-decoration: none;
}

.cpv-custom-field-tour_price_from {
	font-size: 20px;
	font-weight: 800;
	color: #d32c2c;
}

.cpv-custom-field-prefix {
	color: #6b7280;
	font-size: 11px;
	font-weight: 700;
}

/* ============================================================
   Blog listing (page "Our Blog") + single article
   ============================================================ */
.page-id-124 .wp-block-post-template {
	gap: 34px 30px;
}

.page-id-124 .wp-block-post-template > li {
	background: #fff;
	transition: transform .18s ease;
}

.page-id-124 .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 10px 26px rgba(211, 44, 44, 0.08);
}

.page-id-124 .wp-block-post-featured-image img {
	transition: transform .4s ease;
	width: 100%;
}

.page-id-124 .wp-block-post-template > li:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

.page-id-124 .wp-block-post-title {
	margin: 14px 0 6px;
	line-height: 1.25;
}

.page-id-124 .wp-block-post-title a {
	color: #141318;
	text-decoration: none;
}

.page-id-124 .wp-block-post-title a:hover {
	color: #d32c2c;
}

.page-id-124 .wp-block-post-excerpt__excerpt {
	color: #6b7280;
}

.page-id-124 .wp-block-post-date {
	color: #9ca3af;
	font-size: 13px;
}

.page-id-124 .wp-block-query-pagination {
	margin-top: 40px;
	gap: 10px;
}

.page-id-124 .wp-block-query-pagination a,
.page-id-124 .wp-block-query-pagination .current {
	color: #141318;
	font-weight: 700;
}

.page-id-124 .wp-block-query-pagination .current {
	color: #d32c2c;
}

/* Single blog article: comfortable reading measure already set by the group. */
.single-blog .wp-block-post-content h2 {
	margin-top: 6px;
}

/* ============================================================
   Full-width Google Map (contact page)
   ============================================================ */
.mp-map {
	line-height: 0;
}

.mp-map iframe {
	width: 100%;
	min-height: 320px;
	border: 0;
	display: block;
}
