.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal;
}

html,
body {
  overflow-x: hidden;
}

.bradvka-board,
.bradvka-submit,
.bradvka-safe-share {
  color: var(--wp--preset--color--ink, #17110f);
}

.bradvka-filters,
.bradvka-actions,
.bradvka-card__actions,
.bradvka-merch {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.bradvka-filters {
  margin: 1.25rem 0 1.5rem;
}

.bradvka-filter,
.bradvka-button,
.bradvka-icon-button,
.bradvka-link-button {
  max-width: 100%;
  min-height: 44px;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 999px;
  background: var(--wp--preset--color--paper, #f4e6d0);
  color: var(--wp--preset--color--ink, #17110f);
  box-shadow: 4px 4px 0 var(--wp--preset--color--ink, #17110f);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
  padding: 0.65rem 1rem;
  text-align: center;
  white-space: normal;
  cursor: pointer;
}

.bradvka-filter.is-active,
.bradvka-button--primary,
.bradvka-button--merch,
.bradvka-like[aria-pressed="true"] {
  background: var(--wp--preset--color--flesh, #ff8daf);
}

.bradvka-link-button {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding-inline: 0.3rem;
  text-decoration: underline;
}

.bradvka-filter:focus-visible,
.bradvka-button:focus-visible,
.bradvka-icon-button:focus-visible,
.bradvka-link-button:focus-visible,
.bradvka-form input:focus-visible,
.bradvka-form textarea:focus-visible,
.bradvka-form select:focus-visible {
  outline: 4px solid var(--wp--preset--color--acid, #d6ff38);
  outline-offset: 3px;
}

.bradvka-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.bradvka-card {
  position: relative;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 16px;
  background: var(--wp--preset--color--paper, #f4e6d0);
  box-shadow: 8px 8px 0 var(--wp--preset--color--burgundy, #8c1538);
  overflow: clip;
}

.bradvka-card__image {
  display: block;
  aspect-ratio: 4 / 5;
  background:
    radial-gradient(circle at 35% 35%, rgba(255, 141, 175, 0.72), transparent 16%),
    radial-gradient(circle at 65% 55%, rgba(214, 255, 56, 0.45), transparent 14%),
    #231816;
}

.bradvka-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bradvka-card__actions {
  padding: 0.8rem;
}

.bradvka-icon-button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.card-like {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--flesh, #ff8daf);
  box-shadow: none;
  padding: 0;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.bradvka-pagination,
.bradvka-load-more {
  margin-top: 1.5rem;
}

.bradvka-submit {
  max-width: 54rem;
  margin-inline: auto;
}

.bradvka-submit__intro h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(3rem, 14vw, 8rem);
  line-height: 0.86;
  text-transform: uppercase;
}

.bradvka-form {
  display: grid;
  gap: 1rem;
}

.bradvka-field,
.bradvka-dropzone,
.bradvka-check,
.bradvka-error-summary,
.bradvka-success,
.bradvka-warning,
.bradvka-empty {
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  background: rgba(255, 255, 255, 0.25);
  border-radius: 14px;
  padding: 1rem;
}

.bradvka-dropzone {
  border-style: dashed;
}

.bradvka-form label {
  display: block;
  font-weight: 850;
  margin-bottom: 0.35rem;
}

.bradvka-form input[type="text"],
.bradvka-form input[type="file"],
.bradvka-form textarea,
.bradvka-form select,
.bradvka-dialog textarea,
.bradvka-dialog select {
  width: 100%;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 10px;
  padding: 0.7rem;
  background: #fffaf0;
  color: var(--wp--preset--color--ink, #17110f);
  font: inherit;
}

.bradvka-check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
}

.bradvka-check label {
  margin: 0;
}

.bradvka-preview img {
  display: block;
  max-width: min(100%, 24rem);
  aspect-ratio: 1;
  object-fit: cover;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 14px;
}

.photo-cutout {
  display: grid;
  justify-items: center;
  gap: 0.65rem;
}

.photo-cutout__frame {
  position: relative;
  width: min(13rem, 72vw);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--wp--preset--color--flesh, #ff8daf);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 141, 175, 0.3) 0 36%, transparent 37%),
    #111;
}

.photo-cutout__frame::before,
.photo-cutout__guide {
  content: "";
  position: absolute;
  inset: 18%;
  border: 1px dashed rgba(255, 255, 255, 0.62);
  border-radius: 50%;
  pointer-events: none;
}

.photo-cutout .bradvka-preview,
.photo-cutout .bradvka-preview img {
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  border-radius: 0;
}

.photo-cutout .bradvka-preview:empty::before {
  content: "foto";
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bradvka-honeypot {
  position: absolute;
  left: -100vw;
}

.bradvka-age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(23, 17, 15, 0.88);
}

.bradvka-age-gate[hidden] {
  display: none;
}

.bradvka-age-gate__panel,
.bradvka-dialog,
.bradvka-safe-share__warning,
.bradvka-safe-share__content {
  max-width: 42rem;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 18px;
  background: var(--wp--preset--color--paper, #f4e6d0);
  box-shadow: 10px 10px 0 var(--wp--preset--color--flesh, #ff8daf);
  padding: clamp(1rem, 4vw, 2rem);
}

.bradvka-age-gate__panel h2,
.bradvka-safe-share h1 {
  margin-top: 0;
  font-size: clamp(2rem, 8vw, 5rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.bradvka-safe-share {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: var(--wp--preset--color--paper, #f4e6d0);
}

.bradvka-safe-share__content img {
  display: block;
  max-width: min(100%, 720px);
  max-height: 75vh;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 18px;
}

.bradvka-single {
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
}

.bradvka-single__header h1 {
  margin: 0;
  font-size: clamp(3rem, 12vw, 8rem);
  line-height: 0.82;
  text-transform: uppercase;
}

.bradvka-single__image {
  width: min(100%, 880px);
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 22px;
  overflow: clip;
  background:
    radial-gradient(circle at 28% 30%, rgba(255, 141, 175, 0.7), transparent 18%),
    radial-gradient(circle at 70% 58%, rgba(214, 255, 56, 0.35), transparent 16%),
    #231816;
  box-shadow: 10px 10px 0 var(--wp--preset--color--burgundy, #8c1538);
}

.bradvka-single__image img {
  display: block;
  width: 100%;
  height: auto;
}

.bradvka-single__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.bradvka-actions > *,
.bradvka-card__actions > *,
.bradvka-merch > *,
.bradvka-single__nav > * {
  min-width: 0;
}

.bradvka-cylinder {
  min-height: min(78vh, 720px);
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 24px;
  background: #000;
  box-shadow: 10px 10px 0 var(--wp--preset--color--flesh, #ff8daf);
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.bradvka-cylinder.is-dragging {
  cursor: grabbing;
}

.bradvka-cylinder__camera {
  position: relative;
  width: 100%;
  height: min(78vh, 720px);
  display: grid;
  place-items: center;
  perspective: 1350px;
  pointer-events: auto;
}

.bradvka-cylinder__stage {
  position: absolute;
  width: var(--bradvka-cylinder-w, 330px);
  height: var(--bradvka-cylinder-h, 414px);
  transform-style: preserve-3d;
}

.bradvka-cylinder-card {
  position: absolute;
  inset: 0;
  width: var(--bradvka-cylinder-w, 330px);
  height: var(--bradvka-cylinder-h, 414px);
  transform-style: preserve-3d;
  backface-visibility: visible;
}

.bradvka-cylinder-card__face,
.bradvka-cylinder-card__slice {
  position: absolute;
  inset: 0;
  border-radius: 26px;
  overflow: hidden;
  pointer-events: none;
}

.bradvka-cylinder-card__slice {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #2d2d2d;
}

.bradvka-cylinder-card__face {
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: #101010;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.16);
  backface-visibility: hidden;
}

.bradvka-cylinder-card__face img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bradvka-cylinder-card__face--back img {
  filter: blur(16px);
  transform: scale(1.12);
}

.bradvka-cylinder-card__face::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.36));
}

.bradvka-cylinder-card__chip {
  position: absolute;
  left: 1.25rem;
  top: 50%;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
  border-radius: 0.45rem;
  background:
    linear-gradient(90deg, transparent 48%, rgba(0, 0, 0, 0.34) 49% 51%, transparent 52%),
    linear-gradient(0deg, transparent 48%, rgba(0, 0, 0, 0.34) 49% 51%, transparent 52%),
    linear-gradient(180deg, #fff, #9b9b9b);
}

.bradvka-cylinder-card__rings {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 2;
  display: flex;
  align-items: center;
}

.bradvka-cylinder-card__rings span {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.22);
  margin-left: -0.7rem;
}

.bradvka-cylinder-card__stripe {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 1.2rem;
  height: 2.3rem;
  background: rgba(0, 0, 0, 0.86);
}

.bradvka-cylinder-card__backcopy {
  position: absolute;
  z-index: 2;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  display: grid;
  gap: 0.35rem;
  color: #fff;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bradvka-cylinder-card__backcopy a {
  color: #fff;
  pointer-events: auto;
}

.bradvka-dialog {
  color: var(--wp--preset--color--ink, #17110f);
}

.bradvka-dialog::backdrop {
  background: rgba(23, 17, 15, 0.72);
}

.bradvka-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 900;
}

.bradvka-mockup {
  border: 2px solid #17110f;
  border-radius: 16px;
  padding: 1rem;
  margin-bottom: 1rem;
  background: #f4e6d0;
}

.bradvka-mockup__frame {
  display: grid;
  place-items: center;
  min-height: 18rem;
  border: 2px solid #17110f;
  border-radius: 120px 120px 24px 24px;
  background: #fffaf0;
  position: relative;
}

.bradvka-mockup__image {
  width: 8rem;
  height: 8rem;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #17110f;
}

.bradvka-mockup__product {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-weight: 900;
}

/* Web-first conversion layer. These selectors mirror web/styles.css so the
   static prototype and WordPress output share one visual language. */
.bradvka-board,
.bradvka-submit {
  --paper: var(--wp--preset--color--paper, #f4e6d0);
  --cream: var(--wp--preset--color--cream, #fff7e8);
  --ink: var(--wp--preset--color--ink, #17110f);
  --flesh: var(--wp--preset--color--flesh, #ff8daf);
  --burgundy: var(--wp--preset--color--burgundy, #8c1538);
  --acid: var(--wp--preset--color--acid, #d6ff38);
  --border: 2px solid var(--ink);
  --shadow: 7px 7px 0 var(--ink);
  --shadow-burgundy: 9px 9px 0 var(--burgundy);
}

.bradvka-board.board-section {
  padding: 0;
}

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.bradvka-filter.button,
.bradvka-button.button,
.bradvka-icon-button.like-button,
.bradvka-link-button.link-button,
.bradvka-load-more.button {
  max-width: 100%;
  min-height: 44px;
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 999px;
  background: var(--paper, var(--wp--preset--color--paper, #f4e6d0));
  color: var(--ink, var(--wp--preset--color--ink, #17110f));
  box-shadow: 4px 4px 0 var(--ink, var(--wp--preset--color--ink, #17110f));
  padding: 0.65rem 1rem;
  text-decoration: none;
  font-weight: 900;
  overflow-wrap: anywhere;
  text-align: center;
  white-space: normal;
}

.bradvka-filter.is-active,
.bradvka-button--primary,
.bradvka-button--merch,
.bradvka-like[aria-pressed="true"] {
  background: var(--flesh, var(--wp--preset--color--flesh, #ff8daf));
}

.bradvka-link-button.link-button {
  border: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: underline;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.board-card {
  overflow: clip;
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 18px;
  background: var(--paper, var(--wp--preset--color--paper, #f4e6d0));
  box-shadow: var(--shadow-burgundy, 9px 9px 0 var(--wp--preset--color--burgundy, #8c1538));
}

.abstract-image {
  display: block;
  aspect-ratio: 4 / 5;
  background:
    radial-gradient(circle at 36% 32%, rgba(255, 141, 175, 0.86), transparent 16%),
    radial-gradient(circle at 68% 58%, rgba(214, 255, 56, 0.44), transparent 15%),
    radial-gradient(circle at 50% 50%, rgba(255, 247, 232, 0.22), transparent 34%),
    #261513;
}

.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  padding: 0.85rem;
}

.card-actions > *,
.single-nav > * {
  min-width: 0;
}

.submit-section {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(1rem, 5vw, 4rem);
}

.submit-form {
  display: grid;
  gap: 1rem;
}

.submit-form label,
.dropzone,
.check {
  display: grid;
  gap: 0.35rem;
  font-weight: 850;
}

.submit-form input:not([type="checkbox"]),
.submit-form textarea,
.bradvka-dialog textarea,
.bradvka-dialog select {
  width: 100%;
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 12px;
  background: var(--cream, #fff7e8);
  padding: 0.75rem;
  color: var(--ink, var(--wp--preset--color--ink, #17110f));
}

.dropzone,
.check {
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.22);
  padding: 1rem;
}

.dropzone {
  border-style: dashed;
}

.check {
  grid-template-columns: auto 1fr;
  align-items: start;
}

.warning,
.error-summary,
.success-box,
.bradvka-empty {
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 18px;
  background: var(--cream, #fff7e8);
  box-shadow: var(--shadow, 7px 7px 0 var(--wp--preset--color--ink, #17110f));
  padding: clamp(1rem, 3vw, 1.5rem);
}

.bradvka-submit__intro .section-heading {
  display: grid;
  gap: 0.35rem;
  margin-bottom: clamp(1rem, 4vw, 2rem);
}

.bradvka-submit__intro .section-heading p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  font-weight: 950;
}

.bradvka-submit__intro .section-heading h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.1rem, 7vw, 6rem);
  line-height: 0.9;
  font-weight: 950;
}

.bradvka-single {
  display: grid;
  gap: clamp(1rem, 4vw, 2rem);
  align-items: center;
}

.bradvka-single__header h1 {
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.1rem, 7vw, 6rem);
  line-height: 0.9;
  font-weight: 950;
  text-transform: none;
}

.single-image {
  min-height: min(76vh, 780px);
  border: var(--border, 2px solid var(--wp--preset--color--ink, #17110f));
  border-radius: 24px;
  box-shadow: var(--shadow-burgundy, 9px 9px 0 var(--wp--preset--color--burgundy, #8c1538));
}

.single-image img {
  height: 100%;
  min-height: min(76vh, 780px);
  object-fit: cover;
}

.single-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@media (max-width: 640px) {
  .bradvka-actions,
  .bradvka-card__actions,
  .bradvka-merch,
  .card-actions,
  .single-nav,
  .bradvka-single__nav {
    align-items: stretch;
  }

  .bradvka-actions > *,
  .bradvka-card__actions > *,
  .bradvka-merch > *,
  .card-actions > *,
  .single-nav > *,
  .bradvka-single__nav > * {
    flex: 1 1 100%;
  }
}

.age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(23, 17, 15, 0.88);
}

.age-panel,
.share-dialog,
.bradvka-dialog,
.bradvka-safe-share__warning,
.bradvka-safe-share__content {
  max-width: 42rem;
  border: 2px solid var(--wp--preset--color--ink, #17110f);
  border-radius: 22px;
  background: var(--wp--preset--color--paper, #f4e6d0);
  box-shadow: 10px 10px 0 var(--wp--preset--color--flesh, #ff8daf);
  padding: clamp(1rem, 4vw, 2rem);
}

.age-panel h2,
.share-dialog h2,
.bradvka-dialog h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.4rem, 9vw, 5rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.bradvka-cylinder {
  min-height: min(72svh, 680px);
  box-shadow: 10px 10px 0 var(--wp--preset--color--flesh, #ff8daf);
}

.bradvka-cylinder__camera {
  height: min(72svh, 680px);
}

@media (min-width: 780px) {
  .bradvka-single {
    grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
