/* Scoped plugin styles. Fonts are supplied once by the site's shared design. */
.aigl-pl {
  --aigl-paper:#ede4cf; --aigl-cream:#fbf7ee; --aigl-ink:#16130e;
  --aigl-text:#2a251d; --aigl-blue:#0b5fa5; --aigl-red:#e6322e;
  width:100%; margin:0; background:var(--aigl-paper); color:var(--aigl-text);
  font-family:"Inter",sans-serif; text-align:left;
}
.aigl-pl,.aigl-pl *,.aigl-pl *::before,.aigl-pl *::after { box-sizing:border-box; }
.aigl-pl [hidden] { display:none!important; }
.aigl-pl .aigl-pl-button {
  display:inline-flex; align-items:center; justify-content:center; min-height:56px;
  max-width:100%; margin:0; padding:12px 26px; border:3px solid var(--aigl-ink);
  border-radius:0; background:var(--aigl-blue); color:var(--aigl-cream); box-shadow:none;
  font:500 16px/1.2 "Barlow Condensed",sans-serif; letter-spacing:.08em;
  text-transform:uppercase; text-decoration:none; cursor:pointer;
  transition:transform 160ms ease,box-shadow 160ms ease;
}
.aigl-pl .aigl-pl-button:hover {
  background:var(--aigl-blue); color:var(--aigl-cream);
  transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--aigl-ink);
}
.aigl-pl .aigl-pl-button:active { transform:none; box-shadow:none; }
.aigl-pl .aigl-pl-button:disabled { cursor:wait; }
.aigl-pl a:focus-visible,.aigl-pl button:focus-visible,.aigl-pl pre:focus-visible {
  outline:3px solid var(--aigl-blue); outline-offset:4px;
}
.aigl-pl .aigl-pl-copy-action { display:grid; gap:10px; min-width:0; }
.aigl-pl .aigl-pl-status {
  display:block; color:var(--aigl-blue); font:400 14px/1.5 "Inter",sans-serif;
  text-transform:none; letter-spacing:normal; overflow-wrap:anywhere;
}
.aigl-pl .aigl-pl-status:empty { display:none; }

/* Prompt box: retain the existing Elementor hero's copy target. */
.aigl-infographic-prompt-body.aigl-pl { padding:64px 0 80px; }
.aigl-pl .aigl-infographic-prompt-body__inner { width:calc(100% - 48px); max-width:780px; margin-inline:auto; }
.aigl-pl .aigl-infographic-prompt-body__intro {
  margin:0; padding:0; color:var(--aigl-text); font:400 18px/1.7 "Inter",sans-serif;
}
.aigl-pl .aigl-infographic-prompt-body__panel {
  position:relative; min-width:0; margin:32px 10px 38px 0; border:4px solid var(--aigl-ink);
  background:var(--aigl-ink); box-shadow:10px 10px 0 var(--aigl-blue);
}
.aigl-pl .aigl-infographic-prompt-body__panel::after {
  content:""; position:absolute; top:14px; right:-14px; width:10px; height:30%;
  background:var(--aigl-red); clip-path:polygon(0 0,100% 0,100% 90%,0 100%); pointer-events:none;
}
.aigl-pl .aigl-infographic-prompt-body__header {
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:18px 22px; border-bottom:4px solid var(--aigl-ink); background:var(--aigl-paper);
}
.aigl-pl .aigl-infographic-prompt-body__header h2 {
  margin:12px 0 0; padding:0; color:var(--aigl-ink); font:700 20px/1.1 "Barlow Condensed",sans-serif;
  font-style:normal; letter-spacing:normal; text-transform:uppercase;
}
.aigl-pl .aigl-infographic-prompt-body__header .aigl-pl-copy-action { justify-items:end; max-width:65%; text-align:right; }
.aigl-pl .aigl-pl-button--small { min-height:44px; padding:10px 14px; border-width:2px; line-height:1; letter-spacing:normal; }
.aigl-pl .aigl-infographic-prompt-body__code {
  display:block; width:100%; max-width:100%; max-height:none; overflow:auto;
  margin:0; padding:26px; border:0; border-radius:0; background:var(--aigl-ink);
  color:var(--aigl-paper); box-shadow:none;
  font:400 14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:normal; text-align:left; text-transform:none; white-space:pre-wrap;
  overflow-wrap:anywhere; scrollbar-color:var(--aigl-paper) var(--aigl-ink);
}
.aigl-pl .aigl-infographic-prompt-body__code code {
  display:inline; margin:0; padding:0; border:0; border-radius:0;
  background:transparent; color:inherit; box-shadow:none; font:inherit; white-space:inherit;
}
.aigl-pl .aigl-infographic-prompt-body__bottom { justify-items:center; margin:28px auto 0; text-align:center; }

/* Library cards. */
.aigl-prompt-library.aigl-pl { padding:64px 0 104px; scroll-margin-top:32px; }
.aigl-pl .aigl-prompt-library__inner { width:calc(100% - 48px); max-width:1180px; margin-inline:auto; }
.aigl-pl .aigl-prompt-library__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 26px; padding-right:6px; }
.aigl-pl .aigl-prompt-library__card {
  position:relative; display:flex; flex-direction:column; min-width:0;
  border:3px solid var(--aigl-ink); background:var(--aigl-paper); box-shadow:6px 6px 0 var(--aigl-ink);
}
.aigl-pl .aigl-prompt-library__card::before {
  content:""; position:absolute; z-index:1; top:-3px; right:16px; width:38px; height:4px;
  background:var(--aigl-red); transform:skewX(-28deg); pointer-events:none;
}
.aigl-pl .aigl-prompt-library__image {
  display:block; margin:0; padding:0; border-bottom:3px solid var(--aigl-ink);
  color:var(--aigl-text); text-decoration:none;
}
.aigl-pl .aigl-prompt-library__image img {
  display:block; width:100%; max-width:100%; height:auto; aspect-ratio:1;
  object-fit:contain; margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
}
.aigl-pl .aigl-prompt-library__placeholder {
  display:grid; place-items:center; aspect-ratio:1; padding:24px; background:var(--aigl-cream);
  font:400 16px/1.5 "Inter",sans-serif; text-align:center;
}
.aigl-pl .aigl-prompt-library__content { display:flex; flex:1; flex-direction:column; gap:16px; min-width:0; padding:22px; }
.aigl-pl .aigl-prompt-library__number { color:var(--aigl-blue); font:700 22px/1 "Barlow Condensed",sans-serif; letter-spacing:.08em; }
@supports (-webkit-text-stroke:1px #000) {
  .aigl-pl .aigl-prompt-library__number { color:transparent; -webkit-text-stroke:1px var(--aigl-blue); }
}
.aigl-pl .aigl-prompt-library__content h2 {
  margin:0; padding:0; color:var(--aigl-ink); font:700 28px/1.12 "Barlow Condensed",sans-serif;
  letter-spacing:normal; text-transform:uppercase; text-wrap:pretty; overflow-wrap:break-word;
}
.aigl-pl .aigl-prompt-library__content h2 a { color:inherit; text-decoration:none; }
.aigl-pl .aigl-prompt-library__content h2 a:hover { color:var(--aigl-blue); }
.aigl-pl .aigl-prompt-library__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; margin-top:auto; padding-top:8px; }
.aigl-pl .aigl-prompt-library__actions .aigl-pl-button { width:100%; min-height:48px; padding:10px 16px; }
.aigl-pl .aigl-prompt-library__view {
  display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px;
  padding:10px 12px; border:3px solid var(--aigl-ink); border-radius:0;
  background:transparent; color:var(--aigl-ink); box-shadow:none;
  font:500 16px/1.2 "Barlow Condensed",sans-serif; letter-spacing:.08em; text-align:center;
  text-transform:uppercase; text-decoration:none;
  transition:transform 160ms ease,box-shadow 160ms ease,background-color 160ms ease;
}
.aigl-pl .aigl-prompt-library__view:hover {
  background:var(--aigl-ink); color:var(--aigl-cream); text-decoration:none;
  transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--aigl-ink);
}
.aigl-pl .aigl-prompt-library__view:active { transform:none; box-shadow:none; }
.aigl-pl .aigl-prompt-library__actions .aigl-pl-button { padding-inline:12px; }
.aigl-pl .aigl-prompt-library__actions .aigl-pl-button,
.aigl-pl .aigl-prompt-library__actions .aigl-prompt-library__view {
  width:100%; height:48px; min-height:48px; margin:0;
  padding:10px 12px; box-sizing:border-box; align-self:start;
}
.aigl-pl .aigl-prompt-library__load-status {
  margin:0 0 20px; color:var(--aigl-text); font:400 14px/1.5 "Inter",sans-serif;
}
.aigl-pl .aigl-prompt-library__load-status:empty { display:none; }
.aigl-prompt-library[aria-busy="true"] .aigl-prompt-library__grid { opacity:.55; }
.aigl-pl .aigl-prompt-library__pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin-top:56px; }
.aigl-pl .aigl-prompt-library__pagination .page-numbers {
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px;
  padding:8px 14px; border:2px solid var(--aigl-ink); background:var(--aigl-cream);
  color:var(--aigl-ink); font:700 18px/1.2 "Barlow Condensed",sans-serif; text-decoration:none;
}
.aigl-pl .aigl-prompt-library__pagination .current,
.aigl-pl .aigl-prompt-library__pagination a:hover { background:var(--aigl-blue); color:var(--aigl-cream); }
.aigl-pl .aigl-prompt-library__pagination .dots { border-color:transparent; background:transparent; }
.aigl-pl .aigl-prompt-library__empty { margin:0; font:400 18px/1.6 "Inter",sans-serif; }
@media (max-width:1020px) {
  .aigl-pl .aigl-prompt-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .aigl-infographic-prompt-body.aigl-pl { padding:40px 0 56px; }
  .aigl-pl .aigl-infographic-prompt-body__inner,.aigl-pl .aigl-prompt-library__inner { width:calc(100% - 32px); }
  .aigl-pl .aigl-infographic-prompt-body__intro { font-size:17px; line-height:1.5625; }
  .aigl-pl .aigl-infographic-prompt-body__header { gap:12px; padding:16px 14px; }
  .aigl-pl .aigl-pl-button--small { padding:10px 12px; font-size:14px; }
  .aigl-pl .aigl-infographic-prompt-body__code { padding:20px 18px; font-size:13px; }
  .aigl-prompt-library.aigl-pl { padding:40px 0 64px; }
  .aigl-pl .aigl-prompt-library__grid { grid-template-columns:minmax(0,1fr); }
  .aigl-pl .aigl-prompt-library__pagination { margin-top:40px; gap:8px; }
  .aigl-pl .aigl-prompt-library__content { padding:18px; gap:12px; }
  .aigl-pl .aigl-prompt-library__content h2 { font-size:22px; line-height:1.15; }
  .aigl-pl .aigl-prompt-library__number { font-size:18px; }
  .aigl-pl .aigl-prompt-library__actions .aigl-pl-button,
  .aigl-pl .aigl-prompt-library__actions .aigl-prompt-library__view {
    height:44px; min-height:44px; padding:8px 10px; font-size:14px; letter-spacing:.05em;
  }
  .aigl-pl .aigl-prompt-library__pagination .page-numbers { font-size:16px; padding:8px 12px; }
}
@media (max-width:380px) {
  .aigl-pl .aigl-prompt-library__actions { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .aigl-pl .aigl-pl-button,.aigl-pl .aigl-prompt-library__view { transition:none; }
}

/* Full-size library image preview. */
.aigl-pl .aigl-prompt-library__image { cursor:zoom-in; }
.aigl-library-lightbox {
  box-sizing:border-box; width:max-content; max-width:calc(100vw - 48px);
  max-height:calc(100dvh - 48px); margin:auto; padding:0;
  border:3px solid #16130e; background:#fbf7ee; color:#16130e;
  overflow:auto; overscroll-behavior:contain;
}
.aigl-library-lightbox::backdrop { background:rgba(22,19,14,.85); }
.aigl-library-lightbox .aigl-library-lightbox__bar {
  position:sticky; top:0; z-index:1; display:flex; align-items:center;
  justify-content:space-between; gap:20px; padding:12px 16px;
  border-bottom:2px solid #16130e; background:#fbf7ee;
}
.aigl-library-lightbox .aigl-library-lightbox__bar h2 {
  margin:0; padding:0; font:700 24px/1.2 "Barlow Condensed",sans-serif;
  text-transform:uppercase; color:#16130e;
}
.aigl-library-lightbox .aigl-library-lightbox__close {
  flex:none; display:grid; place-items:center; width:44px; height:44px;
  margin:0; padding:0; border:2px solid #16130e; border-radius:0;
  background:#fbf7ee; color:#16130e; font:400 30px/1 Arial,sans-serif; cursor:pointer;
}
.aigl-library-lightbox .aigl-library-lightbox__close:hover { background:#16130e; color:#fbf7ee; }
.aigl-library-lightbox .aigl-library-lightbox__close:focus-visible { outline:3px solid #0b5fa5; outline-offset:3px; }
.aigl-library-lightbox .aigl-library-lightbox__image {
  display:block; width:auto; height:auto; max-width:min(1000px,calc(100vw - 54px));
  max-height:calc(100dvh - 124px); margin:0 auto; padding:0;
  border:0; border-radius:0; object-fit:contain;
}
@media (max-width:700px) {
  .aigl-library-lightbox { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .aigl-library-lightbox .aigl-library-lightbox__bar { gap:12px; padding:10px; }
  .aigl-library-lightbox .aigl-library-lightbox__bar h2 { font-size:20px; }
  .aigl-library-lightbox .aigl-library-lightbox__image { max-width:calc(100vw - 30px); max-height:calc(100dvh - 96px); }
}

/* Keep the individual post prompt-box buttons at their original weight. */
.aigl-infographic-prompt-body.aigl-pl .aigl-pl-button { font-weight:700; }
