/* Embryo - Cookie Consent (lekki banner + modal) */

.ec-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 10000;
  background: #ffffff;
  color: #333333;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

.ec-banner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
}

.ec-banner__text {
  flex: 1 1 320px;
  min-width: 260px;
}

.ec-banner__text strong {
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
  color: #428bca;
}

.ec-banner__text p {
  margin: 0;
  color: #555;
}

.ec-banner__text a {
  color: #428bca;
  text-decoration: underline;
}

.ec-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}

.ec-btn {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 4px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  font-family: inherit;
  line-height: 1.2;
}

.ec-btn--primary {
  background: #428bca;
  color: #fff;
  border-color: #428bca;
}
.ec-btn--primary:hover { background: #357ab8; border-color: #357ab8; }

.ec-btn--secondary {
  background: #f4f4f4;
  color: #333;
  border-color: #ccc;
}
.ec-btn--secondary:hover { background: #e9e9e9; }

.ec-btn--ghost {
  background: transparent;
  color: #428bca;
  border-color: transparent;
  text-decoration: underline;
}
.ec-btn--ghost:hover { color: #357ab8; }

/* Modal */
.ec-modal {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Roboto', Arial, sans-serif;
}

.ec-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.ec-modal__panel {
  position: relative;
  background: #fff;
  width: min(560px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
}

.ec-modal__header,
.ec-modal__footer {
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ec-modal__footer {
  border-bottom: none;
  border-top: 1px solid #eee;
  justify-content: flex-end;
}

.ec-modal__header h2 {
  margin: 0;
  font-size: 18px;
  color: #333;
}

.ec-modal__close {
  background: transparent;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: #666;
}

.ec-modal__body {
  padding: 16px 20px;
  font-size: 14px;
  color: #555;
}

.ec-modal__body p {
  margin: 0 0 12px;
}

.ec-cat {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid #eee;
  border-radius: 6px;
  margin-bottom: 8px;
  cursor: pointer;
}

.ec-cat input[type="checkbox"] {
  margin-top: 4px;
  flex: 0 0 auto;
}

.ec-cat strong {
  color: #333;
}

.ec-cat small {
  color: #777;
}

body.ec-no-scroll { overflow: hidden; }

/* Map placeholder */
.ec-map-placeholder {
  background: #eef3f9 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='%23428bca' opacity='0.25'><path d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>") center 60px no-repeat;
  border: 1px dashed #c4d3e3;
  min-height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
}

.ec-map-placeholder__inner {
  max-width: 480px;
}

.ec-map-placeholder h4 {
  margin: 0 0 8px;
  color: #428bca;
}

.ec-map-placeholder p {
  margin: 0 0 16px;
  color: #555;
  font-size: 14px;
}

.ec-map-placeholder .ec-btn {
  margin: 4px;
}

/* Form consent block */
.ec-form-consent {
  margin: 8px 0 16px;
  font-size: 13px;
  color: #555;
}

.ec-form-consent label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 8px;
  cursor: pointer;
}

.ec-form-consent input[type="checkbox"] {
  margin-top: 4px;
  flex: 0 0 auto;
}

.ec-form-consent a {
  color: #428bca;
  text-decoration: underline;
}

.ec-form-info {
  font-size: 12px;
  color: #777;
  margin-top: 8px;
  line-height: 1.5;
}

/* Mobile */
@media (max-width: 575px) {
  .ec-banner { left: 8px; right: 8px; bottom: 8px; }
  .ec-banner__inner { padding: 14px; }
  .ec-banner__actions { width: 100%; }
  .ec-btn { flex: 1 1 auto; text-align: center; }
}
