/* Minimal styles for the comparador */
.beahorro-comparador-wrap { max-width:720px;margin:20px auto;padding:16px;border:1px solid #eee;background:#fff }
.beahorro-comparador-wrap h2{margin-top:0}
#beahorro-comparador-result .provider{padding:8px;border-bottom:1px solid #ddd}
.beahorro-resultados-wrap{max-width:720px;margin:20px auto}

/* Results cards grid and card styles */
.beahorro-results-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:16px;
	margin:18px 0;
}
.beahorro-card{
	background:#fff;
	border:1px solid #eee;
	border-radius:8px;
	box-shadow:0 1px 4px rgba(20,20,20,0.04);
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.beahorro-card-header{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #f2f2f2}
.beahorro-card-logo img{max-height:56px;max-width:120px;object-fit:contain;display:block}
.beahorro-card-title h3{margin:0;font-size:1.05rem}
.beahorro-card-plan{font-size:0.9rem;color:#666}
.beahorro-card-body{padding:12px;display:flex;flex-direction:column;gap:8px}
.beahorro-card-price{font-weight:600;font-size:1.1rem;color:#222}
.beahorro-card-savings{color:green;font-weight:600}

/* small feedback for copy buttons in admin area */
button[data-copy-target]{transition:background .15s ease}
button[data-copy-target].copied{background:#2ecc71;color:#fff}

/* Collapsible company cards header cursor and body transition */
.beahorro-companies-grid .card-header{cursor:pointer}
.beahorro-companies-grid .card-body{transition:all .18s ease}

/* Ensure a consistent responsive grid for companies (override when Bootstrap not present)
	 Mobile: 1 column, Tablet >=768px: 2 columns, Desktop >=992px: 3 columns */
.beahorro-companies-grid {
	display: grid !important;
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
	align-items: start;
}
.beahorro-companies-grid .col { display: contents; }
.beahorro-companies-grid .card { height: 100%; }

@media (min-width: 768px) {
	.beahorro-companies-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
	.beahorro-companies-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Fade + slide animation for results container when inserted dynamically */
.beahorro-results-animate {
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.beahorro-results-animate.beahorro-results-animate--visible {
	opacity: 1;
	transform: translateY(0);
}

/* Loading overlay and spinner */
.beahorro-loading-overlay{
	position:fixed;
	inset:0;
	background:rgba(255,255,255,0.8);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:99999;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.18s ease;
}
.beahorro-loading-overlay.visible{ opacity:1; pointer-events:auto; }
.beahorro-loading-inner{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px; border-radius:8px; }
.beahorro-spinner{ width:44px; height:44px; border-radius:50%; border:5px solid rgba(0,0,0,0.12); border-top-color:#0d6efd; box-sizing:border-box; animation:beahorro-spin 1s linear infinite; }
.beahorro-loading-text{ font-size:0.95rem; color:#222; }
@keyframes beahorro-spin{ to { transform:rotate(360deg); } }

/* Avoid page scroll shift while spinner active (optional) */
body.beahorro-spinner-active{ overflow:hidden !important; }
li.list-group-item.d-flex.justify-content-between.align-items-start {
    padding: 40px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    margin-bottom: 1.5rem;
	display: flex;
	justify-content: space-between;
}
.fw-bold {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}
strong.text-success {
    color: #0a987d;
}
button.btn.btn-sm.btn-outline-primary {
    background-color: #0a987d !important;
}
.beahorro-col{
	display: block !important;
}
.beahorro-col.small{
	flex:none !important;
}