/* Arial everywhere */
.ap-consent-modal__content, .ap-consent-bar, .ap-cookies-table, .ap-consent-fab, .ap-acc, .ap-btn, .ap-switch, .ap-note {
  font-family: Arial, Helvetica, sans-serif;
}
.ap-consent-modal__content h2{ font-weight:bold; }

/* Modal */
.ap-consent-modal { position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; align-items:center; justify-content:center; z-index:2147483647; }
.ap-consent-modal.is-open { display:flex; }
.ap-consent-modal[hidden] { display:none !important; }
.ap-consent-modal__content { background:#fff; color:#111; width:min(640px, 92vw); border-radius:14px; padding:22px; box-shadow:0 20px 60px rgba(0,0,0,.25); max-height:92vh; overflow:auto; }
.ap-consent-actions{ display:flex; justify-content:flex-end; padding-top:14px; }
.ap-consent-actions .ap-btn{ margin-left:10px; }

/* Consent bar */
.ap-consent-bar { position:fixed; left:0; right:0; bottom:0; background:#0b1020; color:#eef2ff; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; z-index:2147483646; box-shadow:0 -4px 16px rgba(0,0,0,.25); }
.ap-consent-bar[hidden]{ display:none !important; }
.ap-consent-bar__text { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.ap-consent-policy { color:#b3c7ff; text-decoration:underline; }
.ap-consent-bar__actions { display:flex; gap:8px; align-items:center; }
.ap-btn { background:#f5f7fb; color:#111; border:1px solid #dfe3ea; border-radius:10px; padding:9px 12px; cursor:pointer; }
.ap-btn--primary { background:#1f4aa8; border-color:#1f4aa8; color:#fff; font-weight:bold; }

/* FAB */
.ap-consent-fab { position:fixed; width:52px; height:52px; border-radius:50%; background:#1f4aa8; color:#fff; border:none; font-size:18px; box-shadow:0 16px 40px rgba(0,0,0,.25); z-index:2147483648; }
.ap-consent-fab[hidden]{ display:none !important; }
.ap-fab-br { right:16px; bottom:16px; } .ap-fab-bl { left:16px; bottom:16px; } .ap-fab-tr { right:16px; top:16px; } .ap-fab-tl { left:16px; top:16px; }

/* Accordion lozenges */
.ap-acc{ border:1px solid #dfe3ea; border-radius:12px; background:#fff; overflow:hidden; }
.ap-acc + .ap-acc{ margin-top:12px; }
.ap-acc__head{
  position: relative;
  display:flex; align-items:center;
  padding:10px 12px;
  background:rgba(15,23,42,.03); /* lighter tint */
  border:none;
  cursor:pointer;
  width:100%;
}
.ap-acc__head::before{ content:""; position:absolute; inset:0; background:rgba(15,23,42,.03); }
.ap-acc__title{ position:relative; z-index:1; font-size:16px; font-weight:bold; color:#111; flex:1; padding:0 10px; text-align:left; }
.ap-acc__arrow{ position:absolute; right:12px; top:50%; transform:translateY(-50%); min-width:18px; text-align:center; color:#666; transition:transform .15s ease; z-index:1; }
.ap-acc.is-open .ap-acc__arrow{ transform:translateY(-50%) rotate(180deg); }
.ap-acc__body{ display:none; padding:12px; border-top:1px solid #e9edf3; background:#fff; }
.ap-acc.is-open .ap-acc__body{ display:block; }

/* Category toggle left */
.ap-cat-toggle input{ display:none; }
.ap-cat-toggle span{ width:42px; height:24px; background:#cbd5e1; border-radius:12px; position:relative; display:inline-block; }
.ap-cat-toggle span::after{ content:""; width:20px; height:20px; background:#fff; border-radius:10px; position:absolute; top:2px; left:2px; transition:all .18s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.ap-cat-toggle input:checked + span{ background:#1f4aa8; }
.ap-cat-toggle input:checked + span::after{ left:20px; }

/* Cookie list */
.ap-cookie-list{ margin-top:6px; border-top:1px dashed #e6e6e6; padding-top:6px; }
.ap-cookie-row{ display:flex; align-items:center; gap:12px; padding:8px 0; }
.ap-cookie-name{ flex:1; color:#333; }
.ap-cookie-name strong{ font-weight:bold; }
.ap-cookie-explain{ display:block; font-size:12px; color:#666; margin-top:2px; }

/* Per-cookie toggles right */
.ap-cookie-toggle input{ display:none; }
.ap-cookie-toggle span{ width:42px; height:24px; background:#cbd5e1; border-radius:12px; position:relative; display:inline-block; }
.ap-cookie-toggle span::after{ content:""; width:20px; height:20px; background:#fff; border-radius:10px; position:absolute; top:2px; left:2px; transition:all .18s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.ap-cookie-toggle input:checked + span{ background:#1f4aa8; }
.ap-cookie-toggle input:checked + span::after{ left:20px; }

/* Disabled state (functional) */
.ap-cat-toggle.is-disabled span, .ap-cookie-toggle.is-disabled span{ background:#d8dee6 !important; opacity:.7; cursor:not-allowed; }
.ap-cat-toggle.is-disabled span::after, .ap-cookie-toggle.is-disabled span::after{ box-shadow:none; }

.ap-note{ color:#666; font-size:12px; margin-bottom:4px; }

/* Shortcode table */
.ap-cookies-table table{ width:100%; border-collapse:collapse; border:1px solid #e6e6e6; border-radius:10px; overflow:hidden; }
.ap-cookies-table th{ background:#f6f7f9; color:#111; font-weight:bold; }
.ap-cookies-table td, .ap-cookies-table th{ padding:10px; }

/* v1.3.2: stronger header weight + per-cookie status badge */
.ap-consent-modal__content h2#ap-consent-title{ font-weight:700 !important; }
.ap-cookie-status{ font-size:11px; padding:2px 6px; border-radius:999px; background:#eef2ff; color:#1f3a8a; margin-right:6px; line-height:1; display:inline-block; }
.ap-cookie-status--rejected{ background:#fee2e2; color:#7f1d1d; }
.ap-cookie-status--required{ background:#e2e8f0; color:#334155; }
.ap-empty-note{ font-size:12px; color:#666; padding:6px 0 0; }

/* v1.3.3: enforce modal title font + weight */
.ap-consent-modal .ap-consent-modal__content h2#ap-consent-title{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

/* v1.3.7: category chip + count */
.ap-cat-chip{font-size:11px;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#1f3a8a;margin-left:8px;line-height:1;display:inline-block;}
.ap-cat-chip--rejected{background:#fee2e2;color:#7f1d1d;}
.ap-cat-count{font-size:12px;color:#666;margin-left:6px;}
