/* KinPetal cookie consent: warm ivory banner and details dialog. */
.kp-cookie-banner {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1200;
  background: #fbf7ee; color: #3f3a30;
  border: 1px solid #d8cfba; border-radius: 12px;
  box-shadow: 0 8px 28px rgba(63, 58, 48, 0.22);
  padding: 14px 16px; max-width: 640px; margin: 0 auto;
  font-size: 14px; line-height: 1.5;
}
.kp-cookie-banner p { margin: 0 0 10px; }
.kp-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.kp-cookie-accept {
  background: #5b7052; color: #fff; border: none; border-radius: 8px;
  padding: 10px 18px; font-weight: 600; cursor: pointer; font-size: 14px;
}
.kp-cookie-accept:hover { background: #4b5d44; }
.kp-cookie-decline {
  background: transparent; color: #5b7052; border: 1px solid #9caf94;
  border-radius: 8px; padding: 10px 18px; font-weight: 600; cursor: pointer; font-size: 14px;
}
.kp-cookie-decline:hover { background: #eef2e9; }
.kp-cookie-link {
  background: none; border: none; padding: 0; cursor: pointer;
  color: #5b7052; text-decoration: underline; font-size: inherit;
}
.kp-cookie-notice {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1200;
  background: #fbf7ee; color: #3f3a30;
  border: 1px solid #d8cfba; border-radius: 10px;
  box-shadow: 0 4px 16px rgba(63, 58, 48, 0.16);
  padding: 10px 14px; max-width: 640px; margin: 0 auto;
  font-size: 13px; line-height: 1.5;
}
.kp-cookie-notice p { margin: 0; }
.kp-cookie-dialog {
  border: 1px solid #d8cfba; border-radius: 12px;
  background: #fbf7ee; color: #3f3a30;
  max-width: 600px; width: calc(100vw - 48px); max-height: calc(100vh - 48px);
  overflow: auto; padding: 20px 22px; font-size: 14px; line-height: 1.55;
}
.kp-cookie-dialog::backdrop { background: rgba(63, 58, 48, 0.45); }
.kp-cookie-dialog h2 { margin: 4px 0 8px; font-size: 20px; }
.kp-cookie-dialog h3 { margin: 16px 0 6px; font-size: 15px; }
.kp-cookie-dialog .eyebrow {
  letter-spacing: 0.12em; font-size: 11px; color: #7a8a6f;
  margin: 0; font-weight: 700;
}
.kp-cookie-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 13px; }
.kp-cookie-table th, .kp-cookie-table td {
  text-align: left; vertical-align: top;
  border-top: 1px solid #e2d9c4; padding: 8px 6px;
}
.kp-cookie-table th { color: #7a8a6f; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.kp-cookie-table td:first-child { font-family: ui-monospace, monospace; white-space: nowrap; }
.kp-cookie-notes p { margin: 8px 0; font-size: 13px; }
.kp-cookie-warnings { margin: 6px 0 12px; padding-left: 20px; font-size: 13px; }
.kp-cookie-warnings li { margin: 4px 0; }
.kp-cookie-withdraw {
  background: transparent; color: #9a3b2e; border: 1px solid #c98a80;
  border-radius: 8px; padding: 10px 16px; font-weight: 600; cursor: pointer; font-size: 14px;
}
.kp-cookie-withdraw:hover { background: #f8e9e6; }
.kp-cookie-dialog .modal-close {
  float: right; background: none; border: none; font-size: 22px;
  cursor: pointer; color: #7a8a6f; line-height: 1; padding: 4px 8px;
}
.kp-cookie-banner button:focus-visible,
.kp-cookie-notice button:focus-visible,
.kp-cookie-dialog button:focus-visible {
  outline: 2px solid #5b7052; outline-offset: 2px;
}
[data-requires-consent][aria-disabled="true"] { opacity: 0.55; }
.cookie-settings-footer { text-align: center; margin-top: 18px; font-size: 13px; color: #7a8a6f; }
@media (max-width: 560px) {
  .kp-cookie-banner { left: 8px; right: 8px; bottom: 8px; padding: 12px; }
  .kp-cookie-actions { flex-direction: column; }
  .kp-cookie-accept, .kp-cookie-decline { width: 100%; }
  .kp-cookie-table td:first-child { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .kp-cookie-banner, .kp-cookie-notice, .kp-cookie-dialog { transition: none; }
}
