/* Modo Punta – Club Benefits: estilos base (paleta de marca) */
.mpcb-reviews { margin-top: 2.5rem; border-top: 1px solid #E0DAD0; padding-top: 1.5rem; }
.mpcb-reviews-title { color: #103c61; font-size: 1.25rem; margin-bottom: 1rem; }
.mpcb-avg { font-size: .9rem; color: #cb1517; margin-left: .5rem; }
.mpcb-avg-empty { color: #7A7268; }
.mpcb-reviews-list { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.mpcb-review-item { background: #F5F2ED; border: 1px solid #E0DAD0; padding: 1rem 1.25rem; margin-bottom: .75rem; }
.mpcb-review-stars { color: #cb1517; letter-spacing: .1em; }
.mpcb-review-author { font-weight: 700; color: #103c61; margin: .25rem 0; }
.mpcb-review-comment { color: #3a3a38; }
.mpcb-reviews .mpcb-review-form.mpcb-review-form.mpcb-review-form { background: #fff; border: 1px solid #E0DAD0; border-radius: 6px; padding: 1.25rem 1.5rem; max-width: 460px !important; width: 100%; }
.mpcb-review-form label { display: block; margin-bottom: .7rem; font-size: .85rem; color: #1A1A18; }
.mpcb-review-form input, .mpcb-review-form select, .mpcb-review-form textarea {
	width: 100%; padding: .5rem .65rem; margin-top: .3rem; border: 1px solid #E0DAD0; border-radius: 4px; font-family: inherit; font-size: .85rem;
}
.mpcb-review-form textarea { min-height: 70px; resize: vertical; }
.mpcb-review-form button {
	background: #103c61; color: #fff; border: none; border-radius: 4px; padding: .6rem 1.4rem; font-weight: 700; cursor: pointer; font-size: .85rem;
}
.mpcb-review-form button:hover { background: #cb1517; }
.mpcb-review-msg { font-size: .85rem; margin-top: .75rem; }


.mpcb-sidebar { background: #F5F2ED; border: 1px solid #E0DAD0; padding: 1.25rem 1.5rem; }
.mpcb-sidebar-title { color: #103c61; font-size: 1rem; margin-bottom: .75rem; }
.mpcb-sidebar-categories { list-style: none; margin: 0; padding: 0; }
.mpcb-sidebar-categories li { margin-bottom: .4rem; }
.mpcb-sidebar-categories a { color: #1A1A18; text-decoration: none; }
.mpcb-sidebar-categories a:hover { color: #cb1517; }
.mpcb-sidebar-familia { margin-bottom: .75rem; font-weight: 700; }
.mpcb-sidebar-familia > a { color: #103c61; }
.mpcb-sidebar-subcategorias { list-style: none; margin: .4rem 0 0; padding: 0 0 0 .85rem; border-left: 2px solid #E0DAD0; font-weight: 400; }
.mpcb-sidebar-subcategorias li { margin-bottom: .3rem; }
.mpcb-sidebar-subcategorias a { font-size: .85rem; }
.mpcb-count { color: #7A7268; font-size: .8rem; }

.mpcb-archive-intro { max-width: 720px; margin: 0 0 2rem; color: #3a3a38; }
.mpcb-archive-intro p { margin-bottom: .85rem; }

/* Bloque de últimos servicios: lista estática simple, sin animación */
.mpcb-latest-services { background: #F5F2ED; border: 1px solid #E0DAD0; padding: 1.25rem 1.5rem; }
.mpcb-latest-title { color: #103c61; margin-bottom: .75rem; }
.mpcb-latest-compact .mpcb-latest-title { font-size: 1rem; }
.mpcb-latest-home {
	background: #fff;
	border: none;
	border-top: 3px solid #103c61;
	max-width: 1200px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem;
	box-sizing: border-box;
}
.mpcb-latest-home .mpcb-latest-title { font-size: 1.5rem; }
.mpcb-latest-text { color: #3a3a38; max-width: 640px; margin-bottom: 1.25rem; }
.mpcb-latest-list { list-style: none; margin: 0; padding: 0; }
.mpcb-latest-item { padding: .5rem 0; border-bottom: 1px solid #E0DAD0; display: flex; justify-content: space-between; gap: 1rem; }
.mpcb-latest-item:last-child { border-bottom: none; }
.mpcb-latest-item a { color: #1A1A18; text-decoration: none; font-weight: 700; }
.mpcb-latest-item a:hover { color: #cb1517; }
.mpcb-latest-cat { color: #7A7268; font-size: .8rem; white-space: nowrap; }
.mpcb-latest-empty { color: #7A7268; font-style: italic; }
.mpcb-latest-links { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.25rem; }
.mpcb-latest-cta { color: #cb1517; font-weight: 700; text-decoration: none; }
.mpcb-latest-cta:hover { text-decoration: underline; }
.mpcb-latest-ig { color: #7A7268; font-size: .8rem; text-decoration: none; }
.mpcb-latest-ig:hover { color: #103c61; text-decoration: underline; }

/* Invitación a Instagram tras enviar una reseña: discreta, un solo lugar */
.mpcb-instagram-invite {
	display: inline-block;
	margin-top: .5rem;
	font-size: .8rem;
	color: #7A7268;
	text-decoration: none;
}
.mpcb-instagram-invite:hover { color: #103c61; text-decoration: underline; }

/* Franja utilitaria del archivo (aeropuerto) */
.mpcb-utility-strip { background: #F5F2ED; border-bottom: 1px solid #E0DAD0; display: flex; flex-wrap: wrap; font-size: .8rem; }
.mpcb-utility-item { display: flex; align-items: center; gap: .5rem; padding: .65rem 1.5rem; flex-wrap: wrap; }
.mpcb-utility-label { color: #7A7268; font-weight: 700; text-transform: uppercase; font-size: .68rem; letter-spacing: .06em; }
.mpcb-utility-item a { color: #1A1A18; text-decoration: none; font-weight: 600; }
.mpcb-utility-item a:hover { color: #cb1517; }
.mpcb-utility-sep { color: #E0DAD0; margin: 0 .3rem; }

/* Filtro de rubros, funcional (GET) */
.mpcb-filter-bar {
	background: #F5F2ED; border: 1px solid #E0DAD0; padding: 1rem 1.25rem;
	margin-bottom: 1.5rem; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center;
}
.mpcb-filter-bar select {
	appearance: none; -webkit-appearance: none; -moz-appearance: none;
	padding: .65rem 2.25rem .65rem .9rem;
	border: 1px solid #103c61; border-radius: 3px;
	font-family: inherit; font-size: .85rem; font-weight: 600; color: #103c61;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23103c61'><path fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z' clip-rule='evenodd'/></svg>");
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 14px;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.mpcb-filter-bar select:hover { border-color: #cb1517; }
.mpcb-filter-bar select:focus { outline: none; box-shadow: 0 0 0 3px rgba(16,60,97,.15); }
.mpcb-filter-bar button {
	padding: .65rem 1.5rem; border: 1px solid #103c61; border-radius: 3px; background: #103c61; color: #fff;
	font-weight: 700; font-size: .85rem; cursor: pointer; letter-spacing: .01em;
}
.mpcb-filter-bar button:hover { background: #cb1517; border-color: #cb1517; }
.mpcb-filter-clear { font-size: .8rem; color: #7A7268; text-decoration: none; }
.mpcb-filter-clear:hover { color: #cb1517; }

/* Listado horizontal apilado */
.mpcb-service-list { list-style: none; border-top: 1px solid #E0DAD0; margin: 0; padding: 0; }
.mpcb-service-row { display: flex; align-items: center; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #E0DAD0; }
.mpcb-service-thumb {
	width: 64px; height: 64px; border-radius: 4px; background: #103c61; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.4rem; font-weight: 800;
	background-size: cover; background-position: center; overflow: hidden;
}
.mpcb-service-main { flex: 1; min-width: 0; }
.mpcb-service-name { font-weight: 700; color: #1A1A18; font-size: 1rem; text-decoration: none; }
.mpcb-service-name:hover { color: #cb1517; }
.mpcb-service-meta { font-size: .8rem; color: #7A7268; margin-top: .15rem; }
.mpcb-service-rating { font-size: .8rem; color: #cb1517; white-space: nowrap; }
.mpcb-service-actions { display: flex; gap: .75rem; flex-shrink: 0; }
.mpcb-service-actions a {
	font-size: .78rem; font-weight: 700; text-decoration: none; color: #103c61;
	border: 1px solid #103c61; padding: .4rem .75rem; border-radius: 3px;
}
.mpcb-service-actions a.mpcb-whatsapp { color: #fff; background: #103c61; border-color: #103c61; }
.mpcb-service-actions a:hover { background: #cb1517; border-color: #cb1517; color: #fff; }

/* Badge de urgencias 24hs, con luz roja titilando suave */
.mpcb-badge-urgente {
	display: inline-flex; align-items: center;
	background: #fdecec; color: #cb1517; border: 1px solid #f3c8c8;
	font-size: .62rem; text-transform: uppercase;
	padding: .15rem .5rem .15rem .4rem; border-radius: 3px; margin-left: .5rem; font-weight: 700; letter-spacing: .03em;
}
.mpcb-live-dot {
	display: inline-block; width: 8px; height: 8px; border-radius: 50%;
	background: #cb1517; margin-right: .35rem; vertical-align: middle;
	animation: mpcb-live-pulse 2.2s ease-in-out infinite;
}
@keyframes mpcb-live-pulse {
	0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(203,21,23,.35); }
	50% { opacity: .55; box-shadow: 0 0 0 4px rgba(203,21,23,0); }
}

/* Números de emergencia, al pie de la página */
.mpcb-emergency-footer { background: #103c61; color: #fff; padding: 2rem; margin-top: 3rem; }
.mpcb-emergency-inner { max-width: 1200px; margin: 0 auto; }
.mpcb-emergency-inner h3 {
	font-size: .75rem; text-transform: uppercase; letter-spacing: .08em;
	color: #b9c6d3; margin-bottom: 1rem; font-weight: 700;
}
.mpcb-emergency-grid { display: flex; flex-wrap: wrap; gap: 1.75rem; }
.mpcb-emergency-entry { display: flex; align-items: center; gap: .6rem; }
.mpcb-emergency-entry svg { width: 20px; height: 20px; flex-shrink: 0; color: #fff; }
.mpcb-emergency-entry-text { font-size: .85rem; line-height: 1.3; }
.mpcb-emergency-entry-text .mpcb-em-label { display: block; font-size: .68rem; color: #b9c6d3; text-transform: uppercase; letter-spacing: .05em; }
.mpcb-emergency-entry-text a { color: #fff; font-weight: 700; text-decoration: none; }
.mpcb-emergency-entry-text a:hover { text-decoration: underline; }

/* Sección de alta de servicio */
.mpcb-signup-section { background: #F5F2ED; border-top: 3px solid #103c61; margin-top: 3rem; padding: 2.5rem 1.5rem; }
.mpcb-signup-inner { max-width: 1200px; margin: 0 auto; display: flex; gap: 2.5rem; flex-wrap: wrap; }
.mpcb-signup-copy { flex: 1.4; min-width: 280px; }
.mpcb-signup-copy h2 { color: #103c61; font-size: 1.4rem; margin-bottom: .75rem; }
.mpcb-signup-copy p { color: #7A7268; font-size: .9rem; margin-bottom: .6rem; }
.mpcb-signup-steps { margin: 1rem 0 0 1.25rem; font-size: .85rem; }
.mpcb-signup-steps li { margin-bottom: .5rem; }
.mpcb-signup-form { flex: 0 1 420px; min-width: 280px; background: #fff; border: 1px solid #E0DAD0; border-radius: 6px; padding: 1.25rem 1.5rem; }
.mpcb-signup-form label { display: block; font-size: .78rem; margin-bottom: .7rem; color: #1A1A18; }
.mpcb-signup-form input, .mpcb-signup-form select, .mpcb-signup-form textarea {
	width: 100%; padding: .55rem .7rem; margin-top: .3rem; border: 1px solid #E0DAD0; font-family: inherit; font-size: .85rem;
}
.mpcb-signup-form input[type="file"] {
	width: 100%; padding: .4rem 0; margin-top: .3rem; border: none; font-family: inherit; font-size: .78rem;
}
.mpcb-signup-form input[type="file"]::file-selector-button {
	background: #F5F2ED; border: 1px solid #E0DAD0; border-radius: 4px; padding: .35rem .7rem; font-size: .78rem; margin-right: .5rem; cursor: pointer;
}
.mpcb-signup-form button {
	background: #103c61; color: #fff; border: none; border-radius: 4px; padding: .65rem 1.4rem; font-weight: 700; cursor: pointer; font-size: .82rem;
}
.mpcb-signup-form button:hover { background: #cb1517; }
.mpcb-signup-note { font-size: .72rem; color: #7A7268; margin-top: .75rem; }
.mpcb-signup-msg { font-size: .85rem; margin-top: .5rem; }
.mpcb-signup-msg.mpcb-success { color: #1a7a3c; }
.mpcb-signup-msg.mpcb-error { color: #cb1517; }

.mpcb-guide-subtitle { font-size: 1.1rem; font-weight: 600; color: #103c61; margin: -.5rem 0 1.5rem; line-height: 1.4; font-family: inherit; }

@media (max-width: 640px) {
	.mpcb-service-row { flex-wrap: wrap; }
	.mpcb-service-actions { width: 100%; justify-content: flex-start; margin-top: .5rem; }
	.mpcb-utility-item { width: 100%; }
}
