/* Fusion Opiniones Google — frente */

.fog {
	--fog-text: #1f1f1f;
	--fog-muted: #6b6b6b;
	--fog-star: #f6bb06;
	--fog-star-off: #d9d9d9;
	--fog-box-bg: #fff;
	--fog-box-image: none;
	--fog-box-text: #1f1f1f;
	--fog-box-muted: #6b6b6b;
	--fog-box-border: 1px solid transparent;
	--fog-box-shadow: none;
	--fog-radius: 10px;
	--fog-badge-radius: 10px;
	--fog-btn-bg: #1a73e8;
	--fog-btn-text: #fff;
	--fog-arrow-bg: #fff;
	--fog-arrow-text: #3c3c3c;
	--fog-dot: #c4c4c4;
	--fog-dot-on: #555;
	--fog-panel-bg: #fff;
	--fog-panel-card: #f4f5f7;
	--fog-panel-text: #1f1f1f;
	--fog-panel-muted: #6b6b6b;
	--fog-lines: 4;
	box-sizing: border-box;
	color: var(--fog-text);
	font-size: 15px;
	line-height: 1.45;
	text-align: left;
}
.fog *, .fog *::before, .fog *::after { box-sizing: border-box; }
.fog [hidden], .fog.fog button[hidden] { display: none !important; }
.fog.fog :where(p) { margin: 0; padding: 0; }
.fog.fog a { color: inherit; text-decoration: none; }
.fog svg { display: block; }

/* ---- Estilos ---- */
.fog-st-claro { --fog-box-bg: #f1f1f1; }
.fog-st-borde { --fog-box-border: 1px solid #e1e1e1; }
.fog-st-sombra { --fog-box-shadow: 0 3px 14px rgba(0, 0, 0, .13); }
.fog-st-minimal { --fog-box-bg: transparent; --fog-arrow-bg: #f1f1f1; }
.fog-st-suave { --fog-box-shadow: 0 6px 30px rgba(0, 0, 0, .07); --fog-radius: 14px; --fog-badge-radius: 14px; }
.fog-st-contraste { --fog-box-bg: #1f1f1f; --fog-box-text: #fff; --fog-box-muted: #c4c4c4; --fog-star-off: #505050; }
.fog-st-oscuro { --fog-text: #fff; --fog-muted: #bdbdbd; --fog-box-bg: #262626; --fog-box-text: #fff; --fog-box-muted: #bdbdbd; --fog-star-off: #4d4d4d; --fog-arrow-bg: #333; --fog-arrow-text: #fff; --fog-dot: #555; --fog-dot-on: #fff; }
.fog-st-minimal-oscuro { --fog-text: #fff; --fog-muted: #bdbdbd; --fog-box-bg: transparent; --fog-box-text: #fff; --fog-box-muted: #bdbdbd; --fog-star-off: #4d4d4d; --fog-arrow-bg: #333; --fog-arrow-text: #fff; --fog-dot: #555; --fog-dot-on: #fff; }
.fog-st-verde { --fog-star: #1aa179; --fog-box-border: 1px solid #dadada; --fog-btn-bg: #1aa179; }
.fog-st-puntos { --fog-box-image: radial-gradient(rgba(0, 0, 0, .1) 1px, transparent 1.5px); --fog-box-shadow: 0 4px 20px rgba(0, 0, 0, .06); }
.fog-st-ondas { --fog-box-image: repeating-radial-gradient(circle at 0 120%, transparent 0 13px, rgba(0, 0, 0, .05) 13px 14px); --fog-box-shadow: 0 4px 20px rgba(0, 0, 0, .06); }
.fog-st-lujo { --fog-box-border: 2px solid #d8bf8f; --fog-radius: 18px; --fog-badge-radius: 30px; --fog-btn-bg: #b8955a; }
.fog-st-lujo-oscuro { --fog-text: #fff; --fog-muted: #c9c0b0; --fog-box-bg: #222; --fog-box-text: #fff; --fog-box-muted: #c9c0b0; --fog-box-border: 2px solid #c9a66b; --fog-radius: 18px; --fog-badge-radius: 30px; --fog-star-off: #4d4d4d; --fog-btn-bg: #b8955a; --fog-arrow-bg: #333; --fog-arrow-text: #fff; --fog-dot: #555; --fog-dot-on: #c9a66b; }
.fog-dark { --fog-panel-bg: #1d1d1d; --fog-panel-card: #2a2a2a; --fog-panel-text: #fff; --fog-panel-muted: #bdbdbd; }

.fog-box {
	background-color: var(--fog-box-bg);
	background-image: var(--fog-box-image);
	background-size: 10px 10px;
	border: var(--fog-box-border);
	box-shadow: var(--fog-box-shadow);
	color: var(--fog-box-text);
}
.fog-st-ondas .fog-box { background-size: auto; }

.fog-muted { color: var(--fog-muted); }
.fog-box .fog-muted { color: var(--fog-box-muted); }

/* ---- Estrellas y logos ---- */
.fog-stars {
	--s: 17px;
	position: relative;
	display: inline-block;
	flex: none;
	width: calc(var(--s) * 5);
	height: var(--s);
	vertical-align: middle;
	background: var(--fog-star-off);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x;
}
.fog-stars-fill { position: absolute; top: 0; bottom: 0; left: 0; background: var(--fog-star); }
.fog-stars-lg { --s: 22px; }
.fog-star1 { width: 1em; height: 1em; fill: var(--fog-star); flex: none; }
.fog-g { width: 20px; height: 20px; }
.fog-gword {
	display: inline-flex;
	font-family: "Product Sans", "Google Sans", Arial, Helvetica, sans-serif;
	font-weight: 500;
	font-size: 1.45em;
	letter-spacing: -.02em;
	line-height: 1;
}
.fog-c1 { color: #4285f4; } .fog-c2 { color: #ea4335; } .fog-c3 { color: #fbbc05; } .fog-c4 { color: #34a853; }

/* ---- Botones (ganarle a los estilos de botón del tema) ---- */
.fog .fog-btn,
.fog .fog-btn:hover,
.fog .fog-btn:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 0;
	border-radius: 8px;
	background: var(--fog-btn-bg);
	color: var(--fog-btn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
.fog .fog-btn:hover { filter: brightness(1.08); }
.fog .fog-btn-ghost,
.fog .fog-btn-ghost:hover,
.fog .fog-btn-ghost:focus { background: transparent; color: var(--fog-panel-text); box-shadow: inset 0 0 0 1px rgba(127, 127, 127, .4); }
.fog button.fog-arrow,
.fog button.fog-more,
.fog button.fog-badge,
.fog button.fog-rotator,
.fog button.fog-panel-close,
.fog button.fog-float-close,
.fog button.fog-dot {
	margin: 0;
	font: inherit;
	font-size: inherit;
	text-transform: none;
	letter-spacing: normal;
	line-height: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* ---- Tarjeta ---- */
.fog-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	padding: 18px 18px 16px;
	border-radius: var(--fog-radius);
	overflow: hidden;
}
.fog-card-head { display: flex; align-items: center; gap: 11px; min-width: 0; }
.fog-avatar {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}
.fog-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fog-who { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.fog-name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fog-name a:hover { text-decoration: underline; }
.fog-date { font-size: 13px; color: var(--fog-box-muted); }
.fog-gicon { margin-left: auto; flex: none; }
.fog-text {
	max-height: calc(var(--fog-lines) * 1.5em);
	overflow: hidden;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.fog-text p + p, .fog-text p + .fog-reply { margin-top: 8px; }
.fog-reply { margin-top: 10px; padding-left: 10px; border-left: 3px solid rgba(127, 127, 127, .35); font-size: .93em; }
.fog-reply strong { display: block; font-size: .9em; }
.fog-card.is-open .fog-text { max-height: none; }
.fog-slide .fog-card.is-open { height: auto; min-height: 100%; }
.fog button.fog-more,
.fog button.fog-more:hover,
.fog button.fog-more:focus {
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--fog-box-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}
.fog-panel .fog button.fog-more, .fog-panel button.fog-more { color: var(--fog-panel-muted); }
.fog-flag { position: absolute; right: 9px; bottom: 9px; opacity: .3; }
.fog-flag:hover, .fog-flag:focus { opacity: .8; }
.fog-flag svg { width: 14px; height: 14px; }
.fog-card-big { padding: 26px 28px; text-align: center; align-items: center; }
.fog-card-big .fog-card-head { flex-direction: column; gap: 6px; }
.fog-card-big .fog-who { align-items: center; }
.fog-card-big .fog-gicon { position: absolute; top: 16px; right: 16px; }
.fog-card-big .fog-avatar { width: 56px; height: 56px; font-size: 22px; }
.fog-card-big .fog-text { font-size: 16.5px; }
.fog-card-big .fog-more { align-self: center !important; }

/* ---- Slider ---- */
.fog-g-slider { container: fogwrap / inline-size; }
.fog-slider { container: fogslider / inline-size; flex: 1; min-width: 0; --fog-gap: 16px; }
.fog-track { --fog-per: 1; }
.fog-viewport { position: relative; padding: 0 30px; }
.fog-track {
	display: flex;
	gap: var(--fog-gap);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 8px 2px 14px;
	outline: none;
}
.fog-track::-webkit-scrollbar { display: none; }
.fog-slide {
	flex: 0 0 calc((100% - var(--fog-gap) * (var(--fog-per) - 1)) / var(--fog-per));
	min-width: 0;
	scroll-snap-align: start;
}
@container fogslider (min-width: 470px) { .fog-slider:not(.fog-single) .fog-track { --fog-per: 2; } .fog-viewport { padding: 0 42px; } }
@container fogslider (min-width: 800px) { .fog-slider:not(.fog-single) .fog-track { --fog-per: 3; } }
@container fogslider (min-width: 1120px) { .fog-slider:not(.fog-single) .fog-track { --fog-per: 4; } }
.fog-single .fog-slide { flex-basis: 100%; }
.fog-single { max-width: 760px; margin: 0 auto; }

.fog button.fog-arrow,
.fog button.fog-arrow:hover,
.fog button.fog-arrow:focus {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: -20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--fog-arrow-bg);
	color: var(--fog-arrow-text);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.fog button.fog-arrow:hover { transform: scale(1.06); }
.fog button.fog-arrow svg { width: 18px; height: 18px; }
.fog button.fog-prev { left: 0; }
.fog button.fog-next { right: 0; }
.fog-dots[hidden] { display: none !important; }
.fog-dots { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; min-height: 8px; margin-top: 2px; }
.fog button.fog-dot,
.fog button.fog-dot:hover,
.fog button.fog-dot:focus {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--fog-dot);
	box-shadow: none;
	transition: width .25s, background .25s;
}
.fog button.fog-dot.is-active { width: 22px; background: var(--fog-dot-on); }
.fog-slider.fog-static .fog-arrow, .fog-slider.fog-static .fog-dots { display: none !important; }
.fog-slider.fog-static .fog-viewport { padding: 0; }

/* Nota (EXCELENTE ★★★★★) */
.fog-row { display: flex; align-items: center; gap: 24px; }
.fog-summary {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 0 0 210px;
	text-align: center;
}
.fog-summary .fog-label { font-size: 22px; font-weight: 800; letter-spacing: .02em; line-height: 1.1; }
.fog-based { font-size: 14px; color: var(--fog-muted); }
.fog-based b { color: var(--fog-text); text-decoration: underline; }
.fog-summary .fog-gword { font-size: 30px; margin-top: 2px; }
.fog-summary-top { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 6px 12px; margin-bottom: 10px; }
.fog-summary-top .fog-gword { font-size: 24px; margin: 0; }
@container fogwrap (max-width: 640px) {
	.fog-row { flex-direction: column; align-items: stretch; gap: 10px; }
	.fog-summary { flex-basis: auto; }
	.fog-company { flex-basis: auto !important; }
}

/* Encabezado */
.fog-headbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-bottom: 10px;
	padding: 16px 20px;
	border-radius: var(--fog-radius);
}
.fog-headbar-info { display: flex; align-items: center; gap: 12px; }
.fog-headbar-g .fog-g { width: 34px; height: 34px; }
.fog-headbar-txt { display: flex; flex-direction: column; gap: 2px; }
.fog-headbar-title { font-weight: 700; font-size: 16px; }
.fog-headbar-rate { display: inline-flex; align-items: center; gap: 7px; }
.fog-headbar-rate b { font-size: 17px; }

/* Ficha del negocio */
.fog-company {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 0 0 230px;
	text-align: center;
}
.fog-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	background: #e8eaed;
	color: #3c4043;
	font-size: 26px;
	font-weight: 700;
}
.fog-logo img { width: 100%; height: 100%; object-fit: cover; }
.fog-company-name { font-weight: 800; font-size: 16px; line-height: 1.25; }
.fog-company-rate { display: inline-flex; align-items: center; gap: 6px; }
.fog-company-rate b { font-size: 18px; }
.fog-company-count { font-size: 14px; color: var(--fog-muted); text-decoration: underline; }
.fog-company .fog-btn { margin-top: 6px; }
.fog-rating-line { margin-top: 6px !important; text-align: center; font-size: 14px; color: var(--fog-muted); }
.fog-rating-line .fog-gword { display: inline-flex; font-size: 17px; vertical-align: -2px; margin-right: 4px; }
.fog-rating-line b { color: var(--fog-text); }

/* ---- Insignias ---- */
.fog-badge-wrap { display: flex; }
.fog-align-left { justify-content: flex-start; }
.fog-align-center { justify-content: center; }
.fog-align-right { justify-content: flex-end; }
.fog .fog-badge,
.fog .fog-badge:hover,
.fog .fog-badge:focus {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 10px;
	max-width: 100%;
	padding: 16px 24px;
	border-radius: var(--fog-badge-radius);
	color: var(--fog-box-text);
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}
.fog a.fog-badge:hover, .fog button.fog-badge:hover { transform: translateY(-1px); }
.fog-badge .fog-label { font-size: 16px; font-weight: 800; letter-spacing: .02em; }
.fog-badge-count { font-size: 15px; }
.fog-badge-g .fog-gword { font-size: 24px; }
.fog-badge-rate { display: inline-flex; align-items: center; gap: 7px; }
.fog-badge-rate b { font-size: 17px; }
.fog-badge-small { font-size: 13px; color: var(--fog-box-muted); }
.fog-badge-col { display: flex; flex-direction: column; gap: 3px; }
.fog-badge-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.fog-badge-icon .fog-g { width: 24px; height: 24px; }

.fog-d-badge-logo .fog-badge { flex-direction: column; gap: 6px; padding: 18px 30px; }
.fog-d-badge-logo .fog-badge-g .fog-gword { font-size: 30px; }
.fog-d-badge-logo .fog-badge-rate b { font-size: 26px; }
.fog-d-badge-logo .fog-badge-count { font-size: 14px; color: var(--fog-box-muted); }
.fog .fog-d-badge-compacta .fog-badge, .fog-d-badge-compacta .fog-badge { flex-wrap: nowrap; padding: 12px 20px 12px 12px; }
.fog-d-boton .fog-badge,
.fog .fog-d-boton .fog-badge,
.fog.fog-d-boton .fog-badge:hover,
.fog.fog-d-boton .fog-badge:focus { flex-wrap: nowrap; padding: 8px 18px 8px 8px; border-radius: 999px; }
.fog-d-boton .fog-badge-icon { width: 34px; height: 34px; }
.fog-d-boton .fog-badge-icon .fog-g { width: 20px; height: 20px; }
.fog-btn-text { font-weight: 700; font-size: 15px; white-space: nowrap; }
.fog-btn-rate { display: inline-flex; align-items: center; gap: 4px; padding-left: 10px; border-left: 1px solid rgba(127, 127, 127, .35); font-size: 15px; }
.fog-badge-group { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 12px 18px; max-width: 100%; padding: 16px 22px; border-radius: var(--fog-badge-radius); }
.fog.fog .fog-badge-group .fog-badge { padding: 0; border: 0; background: none; box-shadow: none; transform: none; }
.fog-d-badge-empresa .fog-badge { flex-wrap: nowrap; }

/* ---- Reseña rotativa ---- */
.fog .fog-rotator,
.fog .fog-rotator:hover,
.fog .fog-rotator:focus {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 330px;
	max-width: 100%;
	padding: 14px 16px 12px;
	border-radius: var(--fog-radius);
	color: var(--fog-box-text);
	text-align: left;
	font-weight: 400;
	line-height: 1.4;
}
.fog-rot-items { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
.fog-rot-item { grid-area: 1 / 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; opacity: 0; visibility: hidden; transition: opacity .45s, visibility .45s; }
.fog-rot-item.is-active { opacity: 1; visibility: visible; }
.fog-rot-head { display: flex; align-items: center; gap: 10px; }
.fog-rot-head .fog-avatar { width: 36px; height: 36px; font-size: 15px; }
.fog-rot-head .fog-who { gap: 2px; }
.fog-rot-head .fog-stars { --s: 14px; }
.fog-rot-text {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
}
.fog-rot-foot { display: flex; align-items: center; gap: 5px; padding-top: 8px; border-top: 1px solid rgba(127, 127, 127, .25); font-size: 13px; color: var(--fog-box-muted); }
.fog-rot-foot b { color: var(--fog-box-text); }

/* ---- Flotante ---- */
.fog-float {
	position: fixed;
	bottom: 20px;
	z-index: 99990;
	max-width: calc(100vw - 32px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .35s, transform .35s, visibility .35s;
}
.fog-float.fog-float-show { opacity: 1; visibility: visible; transform: none; }
.fog-float-abajo-izq { left: 20px; }
.fog-float-abajo-der { right: 20px; }
.fog-float .fog-badge-wrap { display: block; }
.fog-float .fog-badge, .fog-float .fog-rotator { box-shadow: var(--fog-box-shadow), 0 6px 24px rgba(0, 0, 0, .16) !important; }
.fog-float.fog-st-minimal .fog-badge, .fog-float.fog-st-minimal .fog-rotator { background-color: #fff; }
.fog-float.fog-st-minimal-oscuro .fog-badge, .fog-float.fog-st-minimal-oscuro .fog-rotator { background-color: #1d1d1d; }
.fog .fog-float-close,
.fog .fog-float-close:hover,
.fog .fog-float-close:focus {
	position: absolute;
	top: -9px;
	right: -9px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #444;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .25);
}
.fog .fog-float-close svg { width: 13px; height: 13px; }
.fog-float-preview { position: relative; bottom: auto; left: auto; right: auto; opacity: 1; visibility: visible; transform: none; display: inline-block; margin: 12px; }
@media (max-width: 767px) {
	.fog-float-desktop { display: none !important; }
	.fog-float:not(.fog-float-preview) { bottom: 12px; }
	.fog-float-abajo-izq:not(.fog-float-preview) { left: 12px; }
	.fog-float-abajo-der:not(.fog-float-preview) { right: 12px; }
	.fog-float .fog-rotator { width: 290px; }
}

/* ---- Panel con la lista ---- */
.fog-panel[hidden] { display: none !important; }
.fog-panel-box {
	display: flex;
	flex-direction: column;
	max-height: inherit;
	border-radius: 14px;
	overflow: hidden;
	background: var(--fog-panel-bg);
	color: var(--fog-panel-text);
	box-shadow: 0 16px 50px rgba(0, 0, 0, .28);
	outline: none;
}
.fog-panel-float {
	position: fixed;
	bottom: 96px;
	z-index: 99991;
	width: min(390px, calc(100vw - 32px));
	max-height: min(70vh, 640px);
	display: flex;
	flex-direction: column;
}
.fog-float-abajo-izq .fog-panel-float { left: 20px; }
.fog-float-abajo-der .fog-panel-float { right: 20px; }
.fog-float-preview .fog-panel-float { position: absolute; top: calc(100% + 12px); bottom: auto; left: 0; right: auto; max-height: 420px; }
.fog-panel-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, .55);
}
.fog-panel-modal .fog-panel-box { width: min(560px, 100%); max-height: 86vh; }
.fog-panel-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid rgba(127, 127, 127, .2); }
.fog-panel-head .fog-g { width: 30px; height: 30px; }
.fog-panel-title { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.fog-panel-title strong { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fog-panel .fog-muted { color: var(--fog-panel-muted); }
.fog .fog-panel-close,
.fog .fog-panel-close:hover,
.fog .fog-panel-close:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(127, 127, 127, .14);
	color: var(--fog-panel-text);
	box-shadow: none;
}
.fog .fog-panel-close svg { width: 16px; height: 16px; }
.fog-panel-list { display: flex; flex-direction: column; gap: 10px; padding: 12px; overflow-y: auto; overscroll-behavior: contain; }
.fog.fog .fog-panel .fog-card,
.fog-panel.fog-panel.fog .fog-card {
	height: auto;
	flex: none;
	border: 0;
	border-radius: 10px;
	background: var(--fog-panel-card);
	background-image: none;
	box-shadow: none;
	color: var(--fog-panel-text);
}
.fog-panel .fog-date { color: var(--fog-panel-muted); }
.fog-panel-foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 12px 16px; border-top: 1px solid rgba(127, 127, 127, .2); }

@media (prefers-reduced-motion: reduce) {
	.fog-track { scroll-behavior: auto; }
	.fog-rot-item, .fog-float, .fog button.fog-dot { transition: none; }
}

/* Insignias y reseña rotativa como <button>: ganarle a los estilos de botón del tema (borde, fondo y hover). */
.fog button.fog-badge,
.fog button.fog-badge:hover,
.fog button.fog-badge:focus,
.fog button.fog-rotator,
.fog button.fog-rotator:hover,
.fog button.fog-rotator:focus {
	background-color: var(--fog-box-bg);
	background-image: var(--fog-box-image);
	border: var(--fog-box-border);
	color: var(--fog-box-text);
	white-space: normal;
	box-shadow: var(--fog-box-shadow);
}
.fog.fog-float.fog-st-minimal button.fog-badge, .fog.fog-float.fog-st-minimal button.fog-rotator { background-color: #fff; }
.fog.fog-float.fog-st-minimal-oscuro button.fog-badge, .fog.fog-float.fog-st-minimal-oscuro button.fog-rotator { background-color: #1d1d1d; }
.fog.fog .fog-badge-group button.fog-badge,
.fog.fog .fog-badge-group button.fog-badge:hover,
.fog.fog .fog-badge-group button.fog-badge:focus { padding: 0; border: 0; background: none; box-shadow: none; transform: none; }
.fog button.fog-badge:focus-visible, .fog button.fog-rotator:focus-visible, .fog button.fog-arrow:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }

/* Flotante en celular: más compacto. */
@media (max-width: 767px) {
	.fog.fog-float:not(.fog-float-preview) button.fog-badge { flex-wrap: nowrap; gap: 6px 8px; padding: 10px 14px; }
	.fog-float:not(.fog-float-preview) .fog-badge .fog-label { font-size: 13px; }
	.fog-float:not(.fog-float-preview) .fog-badge .fog-stars-lg { --s: 15px; }
	.fog-float:not(.fog-float-preview) .fog-badge-count { font-size: 13px; }
	.fog-float:not(.fog-float-preview) .fog-badge-g .fog-gword { font-size: 18px; }
	.fog-float:not(.fog-float-preview) .fog-panel-float { left: 12px !important; right: 12px !important; width: auto; bottom: 84px; }
}

/* Enlaces con apariencia propia (la regla general de enlaces es más fuerte). */
.fog.fog a.fog-badge, .fog.fog a.fog-badge:hover, .fog.fog a.fog-badge:focus { color: var(--fog-box-text); }
.fog.fog a.fog-btn, .fog.fog a.fog-btn:hover, .fog.fog a.fog-btn:focus { color: var(--fog-btn-text); }
.fog.fog a.fog-btn-ghost, .fog.fog a.fog-btn-ghost:hover, .fog.fog a.fog-btn-ghost:focus { color: var(--fog-panel-text); }
.fog.fog .fog-box a:not(.fog-btn):not(.fog-badge) { color: inherit; }

/* Textos destacados en Poppins Regular 400 (en lugar de la fuente gruesa del tema). */
.fog.fog :is(.fog-label, .fog-name, .fog-company-name, .fog-headbar-title, .fog-panel-title strong, .fog-btn-text, .fog-btn, b, strong),
.fog-panel.fog :is(.fog-name, .fog-panel-title strong, .fog-btn, b, strong) {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fog.fog .fog-label { letter-spacing: .04em; }

/* Insignia con foto del negocio */
.fog-d-badge-ficha:not(.fog-st-verde) { --fog-star: #f5901e; }
.fog.fog-d-badge-ficha .fog-badge { flex-wrap: nowrap; align-items: center; gap: 16px; padding: 16px 22px; text-align: left; }
.fog-d-badge-ficha .fog-logo { width: 64px; height: 64px; font-size: 28px; }
.fog-d-badge-ficha .fog-badge-col { gap: 4px; min-width: 0; }
.fog-d-badge-ficha .fog-company-name { font-size: 18px; line-height: 1.2; letter-spacing: .01em; }
.fog-d-badge-ficha .fog-badge-rate { gap: 6px; }
.fog-d-badge-ficha .fog-badge-rate b { color: var(--fog-star); font-size: 18px; }
.fog-d-badge-ficha .fog-stars { --s: 21px; }
.fog-ficha-based { font-size: 15px; color: var(--fog-box-muted); }
.fog-ficha-powered { display: inline-flex; align-items: baseline; gap: 5px; font-size: 15px; color: var(--fog-box-muted); }
.fog-ficha-powered .fog-gword { font-size: 20px; }
@media (max-width: 767px) {
	.fog-float:not(.fog-float-preview).fog-d-badge-ficha .fog-logo { width: 46px; height: 46px; font-size: 20px; }
	.fog-float:not(.fog-float-preview).fog-d-badge-ficha .fog-company-name { font-size: 14px; }
	.fog-float:not(.fog-float-preview).fog-d-badge-ficha .fog-ficha-based,
	.fog-float:not(.fog-float-preview).fog-d-badge-ficha .fog-ficha-powered { font-size: 13px; }
}
