/* Company Card Modern Layout */
.company-card-link {
     text-decoration: none;
     color: inherit;
     display: block;
}
.company-card {
     background: #fff;
     border-radius: 16px;
     box-shadow: 0 2px 16px rgba(0,0,0,0.08);
     display: flex;
     gap: 20px;
     align-items: center;
     padding: 20px;
     margin-bottom: 18px;
     transition: box-shadow 0.2s, transform 0.2s;
}
.company-card:hover {
     box-shadow: 0 6px 32px rgba(59,130,246,0.12);
     transform: translateY(-2px) scale(1.02);
}
.company-card-logo {
     flex: 0 0 80px;
     height: 80px;
     background: #f3f5f9;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
}
.company-card-logo-img {
     max-width: 100%;
     max-height: 100%;
     border-radius: 8px;
}
.company-card-logo--empty {
     color: #bbb;
     font-weight: 600;
     font-size: 18px;
}
.company-card-body {
     flex: 1;
     display: flex;
     flex-direction: column;
     gap: 6px;
}
.company-card-top {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 2px;
}
.company-card-title {
     font-size: 1.15rem;
     font-weight: 700;
     color: #1e293b;
}
.company-card-rating {
     font-size: 0.95rem;
     color: #2563eb;
     font-weight: 600;
}
.company-card-address {
     font-size: 0.95rem;
     color: #64748b;
}
.company-card-desc {
     font-size: 1rem;
     color: #374151;
     margin-top: 2px;
}
.company-card-tags {
     display: flex;
     gap: 8px;
     margin-top: 6px;
}
.company-card-chip {
     background: #eef2ff;
     color: #3730a3;
     font-size: 12px;
     padding: 4px 10px;
     border-radius: 999px;
     font-weight: 600;
}
/* assets/css/core/components.css */
/* Buttons */
.btn{display:inline-block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);
     font-size:var(--text-sm);font-weight:500;background:var(--btn-bg);color:var(--btn-fg);
     box-shadow:var(--shadow-sm);transition:background .2s;}
.btn:hover{background:var(--btn-bg-hover)}
.btn--secondary{background:var(--bg);color:var(--fg);border:1px solid var(--border)}
.btn--outline{background:transparent;border:1px solid var(--border);color:var(--fg)}
.btn--danger{background:#ef4444}.btn--success{background:#16a34a}
.btn--sm{padding:4px 10px;font-size:var(--text-xs)}.btn--lg{padding:12px 18px;font-size:var(--text-base)}
.btn--block{display:block;width:100%}

/* Icons */
.icon{width:1em;height:1em;fill:currentColor;vertical-align:middle}.icon--lg{width:2em;height:2em}

/* Cards */
.site .card{background:var(--card-bg);border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.site .card__header{padding:var(--space-3) var(--space-4)}
.card__content{padding:var(--space-4)}
.site .card__footer{padding:var(--space-3) var(--space-4)}

/* Alerts */
.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent}
.alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.alert--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.alert--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.alert--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}

/* Badges */
.site .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:0;background:#fff}

/* Table */
.site .table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.site .table th,.site .table td{padding:var(--space-2) var(--space-3);border:0}
.table th{background:var(--fg);color:var(--bg);text-align:left}
.table--striped tbody tr:nth-child(odd){background:#f9fafb}
.table--hover tbody tr:hover{background:#f3f4f6}

/* Forms */
.field{margin-bottom:var(--space-4)}.field__label{display:block;margin-bottom:var(--space-2);font-weight:600}
.site .input,.site .select,.site .textarea{width:100%;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:#fff}
.input:focus,.select:focus,.textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.2)}
.field__error{color:#b91c1c;font-size:var(--text-xs);margin-top:6px}

/* Tabs */
.tabs__list{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border)}
.tabs__tab{padding:10px 12px;border-bottom:2px solid transparent}
.tabs__tab.is-active{border-bottom-color:var(--brand-600)}

/* Accordion */
.site .accordion__item{border:0;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}
.accordion__header{padding:var(--space-3);cursor:pointer}
.accordion__panel{padding:var(--space-3);display:none}

/* Modal */
.modal__overlay{position:fixed;inset:0;background:rgba(0,0,0,.5)}
.modal__dialog{background:var(--card-bg);border-radius:var(--radius-lg);max-width:640px;margin:10vh auto;padding:var(--space-4);box-shadow:var(--shadow-md)}

/* Pagination */
.pagination{display:flex;gap:6px;align-items:center}
.site .pagination__link{padding:6px 10px;border:0;border-radius:var(--radius-sm)}

/* Breadcrumb */
.breadcrumb{display:flex;gap:8px;align-items:center}
.breadcrumb__item{color:var(--muted)}

/* Spinner & Empty */
.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:3px solid #e5e7eb;border-top-color:var(--brand-600);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{padding:var(--space-6);text-align:center;color:var(--muted)}
/*link */
a { color: inherit; text-decoration: none; }
 p a:hover { text-decoration: underline; }
