
.mintayn-safe{border:1px solid #273252;border-radius:14px;background:#0B1020;color:#E7EAF3;padding:14px;margin:14px 0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.mintayn-safe__head{font-weight:900;margin-bottom:8px}
.mintayn-safe__body p{margin:8px 0}
.mintayn-safe code{background:#111A33;border:1px solid #273252;padding:2px 6px;border-radius:8px}
/* =========================
   Mintayn Card View (Build 3.4)
   Layout Compression Pass
   ========================= */

.mintayn-cv-breakout{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  /* Typography baseline: keep consistent with Mintayn Gallery/Search UI and
     protect against theme serif/headline fonts bleeding into the card view. */
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.4;
}

/* Ensure form controls inside the card view inherit the Mintayn font. */
.mintayn-cv-breakout input,
.mintayn-cv-breakout select,
.mintayn-cv-breakout textarea,
.mintayn-cv-breakout button{
  font-family:inherit;
}

/* Make sizing robust against theme CSS */
.mintayn-cv-breakout,
.mintayn-cv-breakout *{
  box-sizing:border-box;
}

/* Desktop: keep content centered and reasonably compact.
   We no longer use full-bleed 100vw here, because it makes the single-card
   view feel oversized on large screens. */
@media (min-width: 900px){
  .mintayn-cv-breakout{
    width:100%;
    position:relative;
    left:auto;
    right:auto;
    margin-left:0;
    margin-right:0;
    padding:0 12px;
  }
}

.mintayn-cv{
  /* Desktop: give the right column enough breathing room (themes often constrain content width). */
  max-width:980px;
  margin:40px auto !important;
  padding:22px 24px;
  border-radius:20px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  /* Keep inner panels visually inside the rounded outer frame. */
  /* Avoid clipping of inner cards/panels at certain desktop widths/zoom levels. */
  overflow:visible;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.45;
  color:#0b0b0b;
  /* Approx. "max 20 characters per line" control (CSS can't enforce exact chars). */
  --mintayn-line-max:20ch;
}

/* Desktop sizing & rhythm (mobile/tablet already looks good) */
@media (min-width: 900px){
  .mintayn-cv{
    /* Keep desktop compact (mobile already looks good). */
    max-width:1040px;
    padding:18px 20px;
    font-size:15px;
  }
}
/* Ensure theme headings don't override Mintayn typography */
.mintayn-cv h1,
.mintayn-cv h2,
.mintayn-cv h3{
  font-family:inherit;
  font-weight:inherit;
}
.mintayn-cv__header{margin:0 0 12px 0}
.mintayn-cv__name{
  margin:0 0 6px 0;
  line-height:1.05;
  font-weight:800 !important;
  letter-spacing:-.3px;
  /* Desktop: reduce visual scale so the inspector doesn't feel oversized. */
  font-size:clamp(22px, 2.2vw, 34px);
  /* Prevent long/unbroken titles from overflowing the card frame */
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

/* Desktop: wrap long text sooner to avoid overly wide layouts */
@media (min-width: 980px){
  .mintayn-cv__name{max-inline-size:none}
}
.mintayn-cv__meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:baseline;
}
.mintayn-cv__collector{font-weight:750; letter-spacing:.2px; font-size:15px}
.mintayn-cv__metaSep{color:rgba(0,0,0,.35)}
.mintayn-cv__key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12.5px;color:rgba(0,0,0,.55)}

.mintayn-cv__layout{
  display:grid !important;
  /* Desktop layout
     Ensure the right column never collapses to a sliver (which causes vertical
     letter-by-letter wrapping in Classification/Formats panels).
     We still allow shrinking, but keep a sane minimum width for the right side. */
  /* Give the right column more breathing room on desktop */
  /* Narrower overall composition (less horizontal sprawl). */
  grid-template-columns: minmax(300px,420px) minmax(480px, 1fr);
  gap:28px;
  align-items:start;
  /* Critical: allow grid children to shrink without overflow weirdness */
  min-width:0;
  width:100%;
  max-width:100%;
}

/* Prevent grid items from forcing the column wider than its track */
.mintayn-cv__col{min-width:0;}
.mintayn-cv__section{max-width:100%;}

/* Wide desktop: prevent a cramped right column and use available horizontal space */
@media (min-width: 1200px){
  .mintayn-cv__layout{grid-template-columns:minmax(320px,460px) minmax(560px, 1fr); gap:34px}
}
.mintayn-cv__side{
  display:flex;
  flex-direction:column;
  gap:14px;
  /* Allow the right column to use available space and avoid overflow */
  min-width:0;
}
.mintayn-cv__imageWrap{
  width:100%;
  /* Force consistent card aspect ratio so mixed image sizes don't break the frame */
  /* 63×88mm standard TCG ratio */
  aspect-ratio:63/88;
  position:relative;
  border-radius:16px;
  overflow:hidden !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  line-height:0;
  transform:translateZ(0);
  -webkit-mask-image:-webkit-radial-gradient(white, black);
}
.mintayn-cv__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  border-radius:0 !important;
  object-fit:cover;
}

/* Theme meta suppressors (some themes hardcode strings like "Verfasst von … in …") */
body.mintayn-card-route .entry-meta,
body.mintayn-card-route .post-meta,
body.mintayn-card-route .post-meta-wrapper,
body.mintayn-card-route .post-meta-single,
body.mintayn-card-route .post-info,
body.mintayn-card-route .post-details,
body.mintayn-card-route .meta,
body.mintayn-card-route .meta-info,
body.mintayn-card-route .byline,
body.mintayn-card-route .author,
body.mintayn-card-route .author-name,
body.mintayn-card-route .author.vcard,
body.mintayn-card-route .posted-on,
body.mintayn-card-route .cat-links,
body.mintayn-card-route .tags-links,
body.mintayn-card-route .entry-footer,
body.mintayn-card-route .post-footer{
  display:none !important;
}
.mintayn-cv__noimage{
  width:100%;
  aspect-ratio:2.5/3.5;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}

.mintayn-cv__section{
  margin:0;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  padding:12px;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
  /* Prevent occasional overflow/overlap when content contains long pills/text */
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
  /* Prevent overflow, but avoid per-letter wrapping where possible */
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
.mintayn-cv__sectionTitle{margin:0 0 10px 0; font-size:20px; line-height:1.1; font-weight:800 !important;}
.mintayn-cv__sectionTitle--inline{margin:0; white-space:nowrap}
.mintayn-cv__inlineHead{display:flex; flex-wrap:wrap; gap:10px; align-items:center}

.mintayn-cv__row{
  display:grid;
  grid-template-columns:110px minmax(0, 1fr);
  gap:10px;
  align-items:start;
  margin:0 0 10px 0;
}
.mintayn-cv__rowLabel{
  color:rgba(0,0,0,.62);
  font-size:12.5px;
  line-height:1.2;
  padding-top:6px;
}

.mintayn-cv__pills{display:flex; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%}
/* Set row: keep Set + Number in one row, but allow the Set name to wrap inside its pill */
.mintayn-cv__pills.is-set{flex-wrap:nowrap; align-items:center; max-width:100%}
.mintayn-cv__pills.is-set .mintayn-cv__pill{min-width:0}
.mintayn-cv__pills.is-set .mintayn-cv__pill:first-child{flex:1 1 auto}
.mintayn-cv__pills.is-set .mintayn-cv__pill:last-child{flex:0 0 auto}
.mintayn-cv__pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  font-size:13px;
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.15;
}
.mintayn-cv__pill--muted{
  font-size:12.5px;
  color:rgba(0,0,0,.6);
  background:#fff;
}

/* Under-image block (dates/actions/nav/gallery) */
.mintayn-cv__underImage{margin-top:12px; display:flex; flex-direction:column; gap:10px}
.mintayn-cv__dates{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.mintayn-cv__date{
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.mintayn-cv__dateLabel{display:block; font-size:12px; color:rgba(0,0,0,.6); margin-bottom:4px}
.mintayn-cv__dateVal{font-weight:700; font-size:13px}

.mintayn-cv__actions{display:flex; gap:8px; flex-wrap:wrap}
.mintayn-cv__action{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  cursor:pointer;
  font-size:13px;
}

.mintayn-cv__nav{display:flex; gap:8px; flex-wrap:wrap}
.mintayn-cv__navBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  text-decoration:none;
  font-size:13px;
}
.mintayn-cv__navBtn.is-disabled{opacity:.45}

.mintayn-cv__miniGallery{display:flex; gap:8px; flex-wrap:wrap}
.mintayn-cv__thumb{
  width:52px;
  height:72px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  display:inline-flex;
}
.mintayn-cv__thumb img{width:100%; height:100%; object-fit:cover; display:block}
.mintayn-cv__thumb.is-active{border-color:rgba(0,0,0,.35); box-shadow:0 0 0 2px rgba(0,0,0,.06) inset}

/* Classification tiny meta (collector/key) */
.mintayn-cv__tinyTabs{margin-top:8px; display:flex; gap:8px; flex-wrap:wrap}
.mintayn-cv__tinyTab{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-size:12px;
  color:rgba(0,0,0,.65);
  font-weight:400;
}
.mintayn-cv__kvpill{gap:6px}
.mintayn-cv__kvKey{color:rgba(0,0,0,.62)}
.mintayn-cv__kvVal{font-weight:700}

.mintayn-cv__evolves{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0 0 10px 0;
}
.mintayn-cv__evolvesLabel{color:rgba(0,0,0,.62); font-size:12.5px}
.mintayn-cv__evolvesLink{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:13px;
}

.mintayn-cv__tabs{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px 0}
.mintayn-cv__tab{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  cursor:pointer;
}
.mintayn-cv__tab.is-active{background:#fff; border-color:rgba(0,0,0,.22)}

.mintayn-cv__panel{
  margin:0;
  padding:12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
}
.mintayn-cv__panelTitle{font-weight:700; margin:0 0 8px 0}
.tabs-enabled .mintayn-cv__panelTitle{display:none}

.mintayn-cv__stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(96px, 1fr));
  gap:8px;
  margin:0 0 8px 0;
}
.mintayn-cv__stat{
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
}
.mintayn-cv__statLabel{font-size:11.5px; color:rgba(0,0,0,.62); margin:0 0 4px 0}
.mintayn-cv__statValue{font-weight:800; font-size:15px; line-height:1}

.mintayn-cv__subLabel{color:rgba(0,0,0,.62); font-size:12.5px; margin:0 0 6px 0}
.mintayn-cv__textbox{
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
.mintayn-cv__textbox--compact{padding:8px 10px}

.mintayn-cv__body{white-space:pre-wrap; line-height:1.5; overflow-wrap:break-word; word-break:break-word; hyphens:auto}
.mintayn-cv__effect{margin:10px 0 0 0;}
.mintayn-cv__block{margin:0 0 10px 0}
.mintayn-cv__artistLine{display:flex; flex-wrap:wrap; gap:8px; align-items:baseline}
.mintayn-cv__artistVal{font-weight:600}

.mintayn-cv__back{margin-top:16px}
.mintayn-cv__back a{text-decoration:none}

/* -------- Responsive: Tablet & Mobile -------- */
@media (max-width: 900px){
  .mintayn-cv__layout{grid-template-columns:1fr; gap:14px}
  .mintayn-cv__side{min-width:0}
  .mintayn-cv__row{grid-template-columns:1fr; gap:6px}
  .mintayn-cv__rowLabel{padding-top:0}
  .mintayn-cv__dates{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .mintayn-cv{margin:24px auto}
  .mintayn-cv__stats{grid-template-columns:repeat(auto-fit, minmax(96px, 1fr))}
  .mintayn-cv__tab{padding:10px 12px}
  .mintayn-cv__dates{grid-template-columns:1fr}
  .mintayn-cv__thumb{width:48px; height:66px}
}

.mintayn-cv__abilities .mintayn-cv__pills{margin-top:8px}


/* Build 3.4 fix6 tweaks */
.mintayn-cv__sectionTitle{font-weight:800;}
.mintayn-cv__actionsRow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:10px;
}
.mintayn-cv__action{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  cursor:pointer;
}
.mintayn-cv__navBtn{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  text-decoration:none;
  color:inherit;
}
.mintayn-cv__navBtn.is-disabled{
  opacity:.5;
  cursor:not-allowed;
}
.mintayn-cv__abilityList{display:flex;flex-direction:column;gap:10px}
.mintayn-cv__abilityItem{display:flex;flex-direction:column;gap:8px}
.mintayn-cv__abilityEffect{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  line-height:1.45;
}
.mintayn-cv__muted{color:rgba(0,0,0,.55);font-size:13px}
.mintayn-cv__atkRow{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin:0 0 10px 0;
}
@media (max-width: 520px){
  .mintayn-cv__atkRow{grid-template-columns:repeat(2, minmax(0, 1fr));}
}


/*
  NOTE:
  The card detail view is injected into the theme's normal template via the
  `the_content` filter, so it normally inherits the theme layout.

  Some themes enforce very narrow max-width containers on desktop. In that
  case the right-hand inspector column may overflow the outer frame. The
  following scoped overrides widen the content only on the card route.
*/

@media (min-width: 900px){
  body.mintayn-card-route .entry-content,
  body.mintayn-card-route .entry-content > *{
    max-width:none !important;
  }

  /* Keep the inspector centered but NOT full-bleed/oversized on desktop */
  body.mintayn-card-route .mintayn-cv{
    width:min(1180px, calc(100vw - 48px));
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
  }

  /* Prefer earlier wrapping ("~20 characters") inside right-side panels */
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__pill,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__textbox,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__abilityDesc,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__statValue,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__panelTitle{
    max-inline-size:var(--mintayn-line-max);
  }
}

/* --------------------------------------------------------------------------
   Theme chrome suppression on Mintayn card pages
   Prevents double image (theme featured image + our card image) and removes
   blog/meta elements (e.g., date) that some themes show on singular views.
   Scoped strictly to the mintayn-card-route body class.
-------------------------------------------------------------------------- */
body.mintayn-card-route .post-thumbnail,
body.mintayn-card-route .featured-image,
body.mintayn-card-route .single-featured-image,
body.mintayn-card-route .wp-post-image{
  display:none !important;
}
body.mintayn-card-route .entry-meta,
body.mintayn-card-route .post-meta,
body.mintayn-card-route .post-info,
body.mintayn-card-route .post-info-wrapper,
body.mintayn-card-route .post-details,
body.mintayn-card-route .post-data,
body.mintayn-card-route .post__meta,
body.mintayn-card-route .post__meta-info,
body.mintayn-card-route .post__info,
body.mintayn-card-route .blog-meta,
body.mintayn-card-route .meta-info,
body.mintayn-card-route .single-post-meta,
body.mintayn-card-route .single-post__meta,
body.mintayn-card-route .single-post__meta__inner,
body.mintayn-card-route .single-entry-meta,
body.mintayn-card-route .byline,
body.mintayn-card-route .author,
body.mintayn-card-route .author-name,
body.mintayn-card-route .meta-author,
body.mintayn-card-route .posted-by,
body.mintayn-card-route .author.vcard,
body.mintayn-card-route .cat-links,
body.mintayn-card-route .tags-links,
body.mintayn-card-route .posted-on,
body.mintayn-card-route .entry-footer,
body.mintayn-card-route time{
  display:none !important;
}

/* Nuclear option (still scoped to card routes):
   Many themes print an author/category line as plain text inside the <article>
   header/meta area (e.g., "Verfasst von … in …"). We keep ONLY the entry content
   (which we replace with the Mintayn UI) and hide all other direct children.
   This prevents theme blog chrome from leaking into the card view.
*/
body.mintayn-card-route article > *:not(.entry-content){
  display:none !important;
}
/* Some themes render a generic page header (e.g., "Blog") even when the title
   is empty. We hide it on card routes because we render the card name inside
   the component. */
body.mintayn-card-route .page-header,
body.mintayn-card-route .entry-header,
body.mintayn-card-route header.entry-header,
body.mintayn-card-route .page-title,
body.mintayn-card-route .entry-title,
body.mintayn-card-route .archive-title,
body.mintayn-card-route .wp-block-query-title,
body.mintayn-card-route .elementor-page-title{
  display:none !important;
}

/* === Fix26: remove theme byline/meta artifacts on Mintayn card pages (scoped) === */
body.mintayn-card-route .byline,
body.mintayn-card-route .entry-meta,
body.mintayn-card-route .post-meta,
body.mintayn-card-route .meta,
body.mintayn-card-route .post-info,
body.mintayn-card-route .post-details,
body.mintayn-card-route .posted-on,
body.mintayn-card-route .cat-links,
body.mintayn-card-route .tags-links,
body.mintayn-card-route .author,
body.mintayn-card-route .author.vcard,
body.mintayn-card-route .sep,
body.mintayn-card-route .separator,
body.mintayn-card-route .meta-sep{
  display:none !important;
}


/* =========================
 * Build 3.4 Fix47
 * Unify textbox widths (Formats Effect + Flavor Lore) with Abilities Effect
 *
 * On desktop we intentionally cap many right-column texts to ~20ch using
 * `max-inline-size: var(--mintayn-line-max);` for early wrapping.
 * Abilities effects use a different element (.mintayn-cv__abilityEffect) and
 * are full-width. Formats/Flavor use .mintayn-cv__textbox, so we must
 * explicitly opt those specific boxes out of the 20ch cap.
 * ========================= */



/* WrapFix76: ensure Formats/Flavor text uses full container width (no desktop max-inline-size cap)
   and behaves like Abilities (line breaks only at container edge, no auto hyphen insertion). */
@media (min-width: 900px){
  body.mintayn-card-route .mintayn-cv__side .mintayn-fe-formats .mintayn-cv__effect .mintayn-cv__textbox,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__flavor .mintayn-cv__textbox{
    max-inline-size: none !important;
    max-width: none !important;
    inline-size: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.mintayn-card-route .mintayn-cv__side .mintayn-fe-formats .mintayn-cv__effect .mintayn-cv__body,
  body.mintayn-card-route .mintayn-cv__side .mintayn-cv__flavor .mintayn-cv__body{
    white-space: normal !important;
    overflow-wrap: anywhere; /* prevents overflow for very long strings without adding hyphens */
    word-break: normal;
    hyphens: none;
  }
}

/* =========================
 * Build 3.5 Typo Align UI Controls (Tabs/Buttons)
 * Goal: Make Snap/Advanced/Master + Print/Download/Prev/Next match base text typography.
 * Scope: ONLY Mintayn UI controls inside the card view. No layout/spacing/UX changes.
 * ========================= */
body.mintayn-card-route .mintayn-cv__tab,
body.mintayn-card-route .mintayn-cv__action,
body.mintayn-card-route .mintayn-cv__navBtn,
body.mintayn-card-route .mintayn-cv__pill{
  font-family: inherit;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.2;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

/* Ensure anchors styled as nav buttons don't switch to theme link fonts */
body.mintayn-card-route .mintayn-cv__navBtn{
  color: inherit;
}

/* Unify headings on front-end (e.g., "My Decks") with the Mintayn UI font.
   Some themes override H1/H2 fonts (serif). */
.mintayn-tcg .mintayn-h2{
  font-family: var(--mintayn-font, inherit) !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}
