.mib-wrap{--mib-accent:#8b1e2d;--mib-accent-2:#c0392b;width:100%;max-width:100%;margin:0 auto;font-family:var(--mib-font,inherit);box-sizing:border-box;}
/* La fuente se aplica también a títulos y textos internos, ya que muchos temas
   fuerzan font-family en h1..h6 con mayor especificidad. */
.mib-wrap .mib-card-name,
.mib-wrap .mib-card-zona,
.mib-wrap .mib-tip-name,
.mib-wrap .mib-tip-text,
.mib-wrap .mib-btn{font-family:var(--mib-font-btn,var(--mib-font,inherit));}
.mib-wrap *{box-sizing:border-box;}
.mib-empty{padding:24px;text-align:center;color:#777;background:#f6f6f6;border-radius:8px;}

/* ---- Posición del listado respecto a la imagen ---- */
.mib-pos-bottom{display:block;}
.mib-pos-right,.mib-pos-left{display:flex;gap:28px;align-items:flex-start;}
.mib-pos-left{flex-direction:row-reverse;}
.mib-pos-right .mib-map,
.mib-pos-left .mib-map{flex:1 1 var(--mib-side-img,50%);min-width:0;max-width:var(--mib-side-img,50%);align-self:flex-start;}
/* Modo "imagen fija": la imagen queda sticky mientras la página hace scroll. */
.mib-sidescroll-sticky .mib-map{position:sticky;top:var(--mib-sticky-top,20px);}
.mib-pos-right .mib-list,
.mib-pos-left .mib-list{flex:1 1 var(--mib-side-list,50%);min-width:0;max-width:var(--mib-side-list,50%);margin-top:0;}
/* Modo "scroll dentro del listado": el listado tiene su propia altura y barra. */
.mib-wrap.mib-sidescroll-inner .mib-list{max-height:var(--mib-inner-max-h,600px);overflow-y:auto !important;padding-right:6px;
	scrollbar-width:thin;scrollbar-color:var(--mib-sb-thumb,#c9a24b) var(--mib-sb-track,#f0ede6);}
.mib-wrap.mib-sidescroll-inner .mib-list::-webkit-scrollbar{width:var(--mib-sb-width,8px);height:var(--mib-sb-width,8px);}
.mib-wrap.mib-sidescroll-inner .mib-list::-webkit-scrollbar-track{background:var(--mib-sb-track,#f0ede6);border-radius:var(--mib-sb-radius,8px);}
.mib-wrap.mib-sidescroll-inner .mib-list::-webkit-scrollbar-thumb{background:var(--mib-sb-thumb,#c9a24b);border-radius:var(--mib-sb-radius,8px);}
.mib-wrap.mib-sidescroll-inner .mib-list::-webkit-scrollbar-thumb:hover{filter:brightness(.92);}

/* Modo "misma altura que la imagen": el JS fija la altura del listado a la de la
   imagen; aquí solo el scroll y la barra. */
.mib-wrap.mib-sidescroll-match .mib-list{min-height:0;overflow-y:auto !important;padding-right:6px;
	scrollbar-width:thin;scrollbar-color:var(--mib-sb-thumb,#c9a24b) var(--mib-sb-track,#f0ede6);}
.mib-wrap.mib-sidescroll-match .mib-list::-webkit-scrollbar{width:var(--mib-sb-width,8px);height:var(--mib-sb-width,8px);}
.mib-wrap.mib-sidescroll-match .mib-list::-webkit-scrollbar-track{background:var(--mib-sb-track,#f0ede6);border-radius:var(--mib-sb-radius,8px);}
.mib-wrap.mib-sidescroll-match .mib-list::-webkit-scrollbar-thumb{background:var(--mib-sb-thumb,#c9a24b);border-radius:var(--mib-sb-radius,8px);}
.mib-wrap.mib-sidescroll-match .mib-list::-webkit-scrollbar-thumb:hover{filter:brightness(.92);}

/* ---- Imagen ---- */
.mib-map{position:relative;line-height:0;width:100%;}
.mib-map-img{display:block;width:100%;height:auto;border-radius:8px;}

/* ---- Pin ---- */
.mib-point{position:absolute;transform:translate(-50%,-50%);padding:0;margin:0;border:0;background:transparent;cursor:pointer;z-index:2;line-height:0;-webkit-appearance:none;appearance:none;box-shadow:none;}
.mib-point:hover,.mib-point:focus,.mib-point:active,.mib-point.is-active,.mib-point.is-hover{background:transparent;border:0;outline:none;box-shadow:none;color:inherit;}
.mib-point:focus-visible{outline:2px solid var(--mib-accent);outline-offset:2px;}
.mib-point-dot{display:block;width:var(--mib-pin-size,18px);height:var(--mib-pin-size,18px);border-radius:50%;background:var(--mib-pin-fill,#c0392b);border:var(--mib-pin-bw,3px) solid var(--mib-pin-border,#fff);box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .15s ease;box-sizing:border-box;}
.mib-point-svg{display:block;width:var(--mib-pin-size,24px);height:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));transition:transform .15s ease;background:transparent;border:0;box-shadow:none;max-width:none;}
.mib-point:hover .mib-point-dot,
.mib-point.is-active .mib-point-dot,
.mib-point.is-hover .mib-point-dot,
.mib-point:hover .mib-point-svg,
.mib-point.is-active .mib-point-svg,
.mib-point.is-hover .mib-point-svg{transform:scale(1.25);}
.mib-point.is-active,.mib-point.is-hover{z-index:5;}

/* ---- Popup del punto ---- */
.mib-wrap .mib-point-tip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);width:max-content;min-width:180px;max-width:260px;box-sizing:border-box;white-space:normal;overflow-wrap:break-word;word-break:break-word;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:14px 12px 12px;text-align:center;line-height:1.35;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;z-index:10;cursor:default;}
.mib-wrap .mib-point-tip *{white-space:normal !important;max-width:100%;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;}
/* Puente invisible para que el ratón pueda viajar del pin al popup sin cerrarlo. */
.mib-point-tip::after{content:"";position:absolute;top:100%;left:0;right:0;height:16px;}
/* Flecha. */
.mib-point-tip::before{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top-color:#fff;}

/* Modo HOVER: se abre al pasar el ratón (sobre el pin o sobre el propio popup). */
.mib-trigger-hover .mib-point:hover .mib-point-tip,
.mib-trigger-hover .mib-point .mib-point-tip:hover{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* Modo CLICK: se abre solo cuando el punto tiene .is-open (controlado por JS). */
.mib-trigger-click .mib-point.is-open .mib-point-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* Botón de cerrar: visible en modo clic. */
.mib-tip-close{display:none;position:absolute;top:4px;right:8px;font-size:18px;line-height:1;color:#999;cursor:pointer;}
.mib-trigger-click .mib-tip-close{display:block;}
.mib-tip-close:hover{color:#333;}

.mib-tip-logo{max-width:110px;max-height:60px;width:auto;height:auto;margin:0 auto 6px;display:block;}
.mib-tip-name{display:block;font-size:var(--mib-fs-tip-name,15px);margin-bottom:4px;color:#222;white-space:normal;overflow-wrap:break-word;word-break:break-word;max-width:100%;}
.mib-tip-text{display:block;font-size:var(--mib-fs-tip-text,12px);color:#666;margin-bottom:8px;}
.mib-tip-actions{display:flex;flex-direction:column;gap:6px;}
.mib-tip-actions:empty{display:none;}

.mib-btn{display:inline-block;padding:8px 12px;border-radius:var(--mib-btn-radius,6px);border-style:solid;box-sizing:border-box;font-size:var(--mib-fs-btn,13px);text-decoration:none;text-align:center;line-height:1.2;transition:background .15s ease,color .15s ease,border-color .15s ease;}

/* Botón principal */
.mib-wrap.mib-btn-italic .mib-btn{font-style:italic;}
.mib-tip-portal.mib-btn-italic .mib-btn{font-style:italic;}
.mib-wrap .mib-btn-primary{background:var(--mib-btn1-bg,var(--mib-accent));color:var(--mib-btn1-fg,var(--mib-accent-text,#fff));border-width:var(--mib-btn1-bw,0);border-color:var(--mib-accent);}
.mib-wrap .mib-btn-primary:hover,.mib-wrap .mib-btn-primary:focus{background:var(--mib-accent-h,var(--mib-btn1-bg,var(--mib-accent)));color:var(--mib-accent-text-h,var(--mib-btn1-fg,#fff));}

/* Botón secundario */
.mib-wrap .mib-btn-ghost{background:var(--mib-btn2-bg,transparent);color:var(--mib-accent-ghost,var(--mib-accent));border-width:var(--mib-btn2-bw,1px);border-color:var(--mib-accent-ghost,var(--mib-accent));}
.mib-wrap .mib-btn-ghost:hover,.mib-wrap .mib-btn-ghost:focus{color:var(--mib-accent-ghost-h,var(--mib-accent-ghost));border-color:var(--mib-accent-ghost-h,var(--mib-accent-ghost));}

.mib-list{margin-top:28px;}

/* Layout: GRID (autofill responsive por defecto) */
.mib-layout-grid .mib-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
/* Con columnas fijas elegidas en el panel. */
.mib-grid-fixed .mib-list{grid-template-columns:repeat(var(--mib-grid-cols,3),1fr);}

/* Layout: LIST (una columna). La orientación imagen/texto la define "Posición de la imagen". */
.mib-layout-list .mib-list{display:flex;flex-direction:column;gap:12px;}
.mib-layout-list .mib-card{padding:12px 16px;}
.mib-layout-list .mib-card-logo img{max-height:56px;}
.mib-layout-list .mib-card-name,
.mib-layout-list .mib-card-zona{margin:0;}

/* Layout: CAROUSEL (scroll horizontal) */
.mib-layout-carousel .mib-list{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.mib-layout-carousel .mib-card{flex:0 0 220px;scroll-snap-align:start;}

.mib-card{border:1px solid #e6e6e6;border-radius:10px;padding:16px;text-align:center;background:#fff;transition:box-shadow .15s ease,border-color .15s ease;outline:none;}
.mib-card.is-active,
.mib-card.is-hover,
.mib-card:hover,
.mib-card:focus{border-color:var(--mib-accent);box-shadow:0 6px 18px rgba(0,0,0,.10);}
.mib-card-logo{display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.mib-card-logo img{width:auto;height:auto;max-width:140px;max-height:64px;}
.mib-wrap .mib-card-name{margin:0 0 4px;padding:0;font-size:var(--mib-fs-name,16px);font-weight:var(--mib-fw-name,700);line-height:1.25;color:#222;}
.mib-card-zona{margin:0 0 12px;font-size:var(--mib-fs-zona,13px);color:#888;}
.mib-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}

/* Imagen inferior del punto (iconos de servicios, etc.) */
.mib-card-imgb{margin-top:10px;}
.mib-card-imgb img{max-width:100%;height:auto;display:block;}

/* ===== Skin: DIVIDER (separadores, sin caja) ===== */
/* Siempre en una columna, cada elemento separado por una línea. */
.mib-skin-divider .mib-list{display:flex;flex-direction:column;gap:0;grid-template-columns:none;overflow:visible;}
.mib-skin-divider .mib-card{border:0;border-radius:8px;background:transparent;box-shadow:none;
	gap:16px;padding:16px;position:relative;transition:background .15s ease;}
/* La línea separadora se dibuja con un pseudo-elemento a ancho completo,
   independiente del padding de la ficha. */
.mib-skin-divider .mib-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--mib-divider-color,#e0ddd4);}
.mib-skin-divider .mib-card:first-child::before{display:none;}
.mib-skin-divider .mib-card.is-active,
.mib-skin-divider .mib-card.is-hover,
.mib-skin-divider .mib-card:hover,
.mib-skin-divider .mib-card:focus{box-shadow:none;background:rgba(0,0,0,.02);}
.mib-skin-divider .mib-card-logo{height:auto;margin:0;flex:0 0 auto;}
.mib-skin-divider .mib-card-logo img{max-height:48px;}
.mib-skin-divider .mib-card-body{flex:1;min-width:0;}
.mib-skin-divider .mib-card-name,
.mib-skin-divider .mib-card-zona{margin:0;}
.mib-skin-divider .mib-card-actions{flex-direction:row;justify-content:flex-end;flex:0 0 auto;margin-left:auto;}
/* Carrusel no aplica con separadores: se comporta como lista vertical. */
.mib-skin-divider.mib-layout-carousel .mib-list{overflow:visible;}
.mib-skin-divider.mib-layout-carousel .mib-card{flex:1 1 auto;}

/* ===== Skin: PLAIN (sin recuadro ni líneas) ===== */
.mib-skin-plain .mib-card{border:0;border-radius:8px;background:transparent;box-shadow:none;gap:16px;padding:12px 14px;position:relative;transition:background .15s ease;}
.mib-skin-plain .mib-card.is-active,
.mib-skin-plain .mib-card.is-hover,
.mib-skin-plain .mib-card:hover,
.mib-skin-plain .mib-card:focus{box-shadow:none;background:rgba(0,0,0,.04);border-radius:8px;}
.mib-skin-plain .mib-card-logo{margin:0;flex:0 0 auto;}
.mib-skin-plain .mib-card-body{min-width:0;}

/* ===== Posición de la imagen principal respecto al texto =====
   Gobierna la orientación de la ficha por encima del layout/skin.
   LEFT = imagen a la izquierda (fila) · TOP = imagen encima (columna). */

/* --- LEFT: fila, imagen a la izquierda --- */
.mib-wrap.mib-logopos-left .mib-card{display:flex;flex-direction:row;align-items:flex-start;gap:14px;text-align:left;}
.mib-wrap.mib-logopos-left .mib-card-logo{margin:0;flex:0 0 auto;height:auto;}
.mib-wrap.mib-logopos-left .mib-card-body{flex:1 1 auto;min-width:0;}
.mib-wrap.mib-logopos-left .mib-card-actions{flex:0 0 auto;align-self:center;margin-left:auto;}

/* --- TOP: columna, imagen encima --- */
.mib-wrap.mib-logopos-top .mib-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;}
.mib-wrap.mib-logopos-top .mib-card-logo{margin:0 auto 10px;height:auto;flex:0 0 auto;}
.mib-wrap.mib-logopos-top .mib-card-body{width:100%;}
.mib-wrap.mib-logopos-top .mib-card-actions{width:100%;align-items:center;margin-top:14px;}
.mib-wrap.mib-logopos-top .mib-card-imgb{display:flex;justify-content:center;}

/* La imagen inferior siempre ocupa el ancho del cuerpo, debajo del texto. */
.mib-card-imgb img{margin:0;}

/* ===== Alineación del contenido de la ficha ===== */
.mib-wrap.mib-align-left .mib-card{text-align:left;align-items:flex-start;}
.mib-wrap.mib-align-left .mib-card-logo{margin-left:0;margin-right:auto;}
.mib-wrap.mib-align-left .mib-card-actions{align-items:flex-start;justify-content:flex-start;}
.mib-wrap.mib-align-left .mib-card-imgb{justify-content:flex-start;}

.mib-wrap.mib-align-center .mib-card{text-align:center;align-items:center;}
.mib-wrap.mib-align-center .mib-card-logo{margin-left:auto;margin-right:auto;}
.mib-wrap.mib-align-center .mib-card-actions{align-items:center;justify-content:center;}
.mib-wrap.mib-align-center .mib-card-imgb{justify-content:center;}

.mib-wrap.mib-align-right .mib-card{text-align:right;align-items:flex-end;}
.mib-wrap.mib-align-right .mib-card-logo{margin-left:auto;margin-right:0;}
.mib-wrap.mib-align-right .mib-card-actions{align-items:flex-end;justify-content:flex-end;}
.mib-wrap.mib-align-right .mib-card-imgb{justify-content:flex-end;}

/* En modo "imagen a la izquierda" la alineación no altera la disposición en fila. */
.mib-wrap.mib-logopos-left .mib-card{align-items:flex-start;text-align:left;}

/* Refuerzo: la alineación gana sobre el auto-centrado del modo "encima". */
.mib-wrap.mib-align-left.mib-logopos-top .mib-card-logo{margin-left:0;margin-right:auto;}
.mib-wrap.mib-align-right.mib-logopos-top .mib-card-logo{margin-left:auto;margin-right:0;}
.mib-wrap.mib-align-left .mib-card-body,
.mib-wrap.mib-align-left .mib-card-name,
.mib-wrap.mib-align-left .mib-card-zona{text-align:left;}
.mib-wrap.mib-align-right .mib-card-body,
.mib-wrap.mib-align-right .mib-card-name,
.mib-wrap.mib-align-right .mib-card-zona{text-align:right;}

/* ===== Tamaño de la imagen inferior del listado ===== */
.mib-card-imgb{display:flex;}
.mib-card-imgb img{max-width:100%;width:auto;height:auto;}

/* ===== Iconos individuales del punto ===== */
.mib-card-icons{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;align-items:center;}
.mib-wrap.mib-align-center .mib-card-icons{justify-content:center;}
.mib-wrap.mib-align-right .mib-card-icons{justify-content:flex-end;}
.mib-wrap.mib-align-left .mib-card-icons{justify-content:flex-start;}
.mib-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--mib-icon-size,32px);height:var(--mib-icon-size,32px);cursor:default;outline:none;flex:0 0 auto;}
.mib-icon-svg,.mib-icon-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;color:var(--mib-icon-color,#333);transition:color .15s ease,transform .15s ease,opacity .15s ease;}
.mib-icon-svg{width:100%;height:100%;}
.mib-icon-svg svg{width:100%;height:100%;display:block;fill:currentColor;}
.mib-icon-svg svg path,
.mib-icon-svg svg g,
.mib-icon-svg svg circle,
.mib-icon-svg svg rect,
.mib-icon-svg svg polygon{fill:currentColor;}
.mib-icon-img{object-fit:contain;}
/* Hover: cambia el color del SVG y aplica realce a imagen. */
.mib-icon:hover .mib-icon-svg,
.mib-icon:focus .mib-icon-svg{color:var(--mib-icon-hover,var(--mib-accent));transform:translateY(-2px);}
.mib-icon:hover .mib-icon-img,
.mib-icon:focus .mib-icon-img{transform:translateY(-2px);opacity:.7;}
/* Tooltip individual del icono. */
.mib-icon-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:#222;color:#fff;font-size:11px;line-height:1.35;padding:6px 10px;border-radius:6px;white-space:normal;width:max-content;max-width:220px;text-align:center;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;z-index:8;pointer-events:none;}
.mib-icon-tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#222;}
.mib-icon:hover .mib-icon-tip,
.mib-icon:focus .mib-icon-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* ===== Responsive ===== */
@media (max-width:782px){
	/* Evitar que pines o tooltips ocultos generen scroll horizontal en la página. */
	.mib-wrap{overflow-x:hidden;overflow-x:clip;}
	/* El listado lateral pasa a apilarse debajo y ocupa todo el ancho. */
	.mib-pos-right,.mib-pos-left{flex-direction:column;}
	.mib-pos-right .mib-map,.mib-pos-left .mib-map{flex:1 1 auto;width:100%;max-width:100%;position:relative;top:auto;}
	.mib-pos-right .mib-list,.mib-pos-left .mib-list{flex:1 1 auto;max-width:100%;margin-top:24px;}
	.mib-sidescroll-inner .mib-list{max-height:none;overflow:visible;padding-right:0;}
	/* Grid con columnas fijas se reduce a 2. */
	.mib-grid-fixed .mib-list{grid-template-columns:repeat(2,1fr);}

	/* ===== Comportamiento del listado en móvil ===== */
	/* SCROLL INTERNO: altura fija con barra. */
	.mib-mob-scroll .mib-list{max-height:var(--mib-mobile-h,400px);overflow-y:auto;-webkit-overflow-scrolling:touch;
		scrollbar-width:thin;scrollbar-color:var(--mib-sb-thumb,#c9a24b) var(--mib-sb-track,#f0ede6);padding-right:4px;}
	.mib-mob-scroll .mib-list::-webkit-scrollbar{width:8px;}
	.mib-mob-scroll .mib-list::-webkit-scrollbar-track{background:var(--mib-sb-track,#f0ede6);border-radius:8px;}
	.mib-mob-scroll .mib-list::-webkit-scrollbar-thumb{background:var(--mib-sb-thumb,#c9a24b);border-radius:8px;}

	/* CARRUSEL: fichas en fila deslizable con el dedo, sin barra visible y con flechas. */
	.mib-wrap.mib-mob-carousel .mib-carousel-wrap{position:relative;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;}
	.mib-wrap.mib-mob-carousel .mib-list{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:stretch !important;
		width:100%;max-width:100%;overflow-x:auto !important;overflow-y:hidden;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;padding:2px 0 2px;margin:0;grid-template-columns:none !important;box-sizing:border-box;
		scrollbar-width:none;-ms-overflow-style:none;}
	.mib-wrap.mib-mob-carousel .mib-list::-webkit-scrollbar{display:none;width:0;height:0;}
	.mib-wrap.mib-mob-carousel .mib-card{flex:0 0 78% !important;width:78% !important;max-width:78% !important;scroll-snap-align:center;box-sizing:border-box;margin:0 !important;}
	/* Primera y última ficha con margen para que no queden bajo las flechas. */
	.mib-wrap.mib-mob-carousel .mib-list::before,
	.mib-wrap.mib-mob-carousel .mib-list::after{content:"";flex:0 0 12px;}
	.mib-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;border:0;
		background:var(--mib-car-arrow-bg,rgba(255,255,255,.95));box-shadow:0 2px 10px rgba(0,0,0,.22);color:var(--mib-car-arrow-fg,#333);cursor:pointer;
		display:none;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;outline:none;-webkit-appearance:none;appearance:none;transition:background .15s ease;}
	.mib-carousel-nav:hover,.mib-carousel-nav:focus,.mib-carousel-nav:active{background:var(--mib-car-arrow-bg-h,#f0f0f0);color:var(--mib-car-arrow-fg,#333);outline:none;}
	.mib-wrap.mib-mob-carousel .mib-carousel-nav{display:flex;}
	.mib-carousel-nav svg{width:16px;height:16px;}
	.mib-carousel-prev{left:6px;}
	.mib-carousel-next{right:6px;}
	.mib-carousel-nav[disabled]{opacity:0;visibility:hidden;pointer-events:none;cursor:default;}

	/* ACORDEÓN: solo el nombre; el resto se despliega al tocar. */
	.mib-mob-accordion .mib-card{cursor:pointer;}
	.mib-mob-accordion .mib-card .mib-card-zona,
	.mib-mob-accordion .mib-card .mib-card-desc,
	.mib-mob-accordion .mib-card .mib-card-icons,
	.mib-mob-accordion .mib-card .mib-card-imgb,
	.mib-mob-accordion .mib-card .mib-card-actions{display:none;}
	.mib-mob-accordion .mib-card.is-open .mib-card-zona,
	.mib-mob-accordion .mib-card.is-open .mib-card-desc,
	.mib-mob-accordion .mib-card.is-open .mib-card-icons,
	.mib-mob-accordion .mib-card.is-open .mib-card-imgb,
	.mib-mob-accordion .mib-card.is-open .mib-card-actions{display:flex;}
	.mib-mob-accordion .mib-card.is-open .mib-card-desc{display:block;}
	.mib-mob-accordion .mib-card-name{position:relative;padding-right:22px;}
	.mib-mob-accordion .mib-card-name::after{content:"";position:absolute;right:4px;top:50%;width:8px;height:8px;border-right:2px solid #999;border-bottom:2px solid #999;transform:translateY(-70%) rotate(45deg);transition:transform .15s ease;}
	.mib-mob-accordion .mib-card.is-open .mib-card-name::after{transform:translateY(-30%) rotate(-135deg);}
}
@media (max-width:600px){
	/* El listado ocupa todo el ancho disponible en cualquier layout. */
	.mib-list{width:100%;max-width:100%;}
	/* Grid (auto o fijo) a una sola columna. */
	.mib-layout-grid .mib-list,
	.mib-grid-fixed .mib-list{grid-template-columns:1fr;}
	/* Lista y carrusel: columna vertical, tarjetas estiradas al 100%. */
	.mib-layout-list .mib-list,
	.mib-layout-carousel:not(.mib-mob-carousel) .mib-list{display:flex;flex-direction:column;align-items:stretch;overflow:visible;}
	/* Si el modo móvil es carrusel, mantener fila horizontal también por debajo de 600px. */
	.mib-wrap.mib-mob-carousel .mib-list{flex-direction:row !important;overflow-x:auto !important;}
	.mib-wrap.mib-mob-carousel .mib-card{flex:0 0 80% !important;width:80% !important;max-width:80% !important;}
	.mib-card{width:100%;max-width:100%;flex:1 1 auto;box-sizing:border-box;}
	/* Pines algo más pequeños en móvil, proporcionales a la imagen reducida. */
	.mib-point-dot{width:calc(var(--mib-pin-size,18px) * .72);height:calc(var(--mib-pin-size,18px) * .72);border-width:calc(var(--mib-pin-bw,3px) * .72);}
	.mib-point-svg{width:calc(var(--mib-pin-size,24px) * .72);}
	/* Ocultar la flecha del bocadillo en móvil: el popup se muestra centrado. */
	.mib-point-tip::before,
	.mib-point-tip::after{display:none;}
}

/* Popup portalizado (movido al <body>) y centrado en pantalla en móvil */
.mib-tip-portal{position:fixed !important;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%) !important;width:min(88vw,340px);min-width:0;max-width:88vw;max-height:80vh;overflow-y:auto;margin:0;background:#fff;border-radius:10px;box-shadow:0 16px 48px rgba(0,0,0,.32);padding:16px 14px 14px;text-align:center;line-height:1.35;opacity:1 !important;visibility:visible !important;z-index:100000;box-sizing:border-box;}
.mib-tip-portal *{white-space:normal !important;max-width:100%;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;}
.mib-tip-portal::before,.mib-tip-portal::after{display:none;}
.mib-tip-portal .mib-tip-close{display:block;font-size:24px;top:6px;right:12px;}
.mib-tip-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;}
body.mib-modal-open{overflow:hidden;}
/* El popup portalizado ya no está dentro de .mib-wrap: replicamos sus estilos internos. */
.mib-tip-portal .mib-tip-name{display:block;font-size:var(--mib-fs-tip-name,15px);margin-bottom:4px;color:#222;font-family:var(--mib-font,inherit);white-space:normal;overflow-wrap:break-word;word-break:break-word;max-width:100%;}
.mib-tip-portal .mib-tip-text{display:block;font-size:var(--mib-fs-tip-text,12px);color:#666;margin-bottom:8px;font-family:var(--mib-font,inherit);}
.mib-tip-portal .mib-tip-actions{display:flex;flex-direction:column;gap:6px;}
.mib-tip-portal .mib-tip-actions:empty{display:none;}
.mib-tip-portal .mib-btn{font-family:var(--mib-font-btn,var(--mib-font,inherit));border-radius:var(--mib-btn-radius,6px);border-style:solid;}
.mib-tip-portal .mib-btn-primary{background:var(--mib-btn1-bg,var(--mib-accent,#8b1e2d));color:var(--mib-btn1-fg,#fff);border-width:var(--mib-btn1-bw,0);border-color:var(--mib-accent,#8b1e2d);}
.mib-tip-portal .mib-btn-ghost{background:var(--mib-btn2-bg,transparent);color:var(--mib-accent-ghost,var(--mib-accent,#8b1e2d));border-width:var(--mib-btn2-bw,1px);border-color:var(--mib-accent-ghost,var(--mib-accent,#8b1e2d));}

/* Descripción con enlaces en el listado */
.mib-card-desc{font-size:var(--mib-fs-tip-text,13px);color:#555;line-height:1.5;margin:6px 0 0;}
.mib-card-desc a,.mib-tip-text a{font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;color:var(--mib-link-color,var(--mib-accent));text-decoration:var(--mib-link-underline,underline);}
.mib-card-desc a:hover,.mib-tip-text a:hover,.mib-card-desc a:focus,.mib-tip-text a:focus{color:var(--mib-link-hover,var(--mib-link-color,var(--mib-accent)));}
