/* Final consistency and interaction pass for the Ecchii prototype. */

#mainNav .adult-link,
#mainNav a[href*="hentai"] {
  color: #f39abf !important;
}

/* CTA shapes stay consistent with Ecchii's rectangular button language. */
body:not(.request-page) .character-cta-wrap .button,
body:not(.request-page) .character-cta-wrap a,
#categories .character-cta-wrap a {
  border-radius: 0 !important;
}

/* Shared final consistency pass */
.ecchii-adult-link,
.adult-link {
  color: #f39abf !important;
}

.ecchii-rect,
.character-cta-wrap .button,
.review-shop-button,
.request-submit,
.character-product-card .button,
.character-product-card a[class*="button"] {
  border-radius: 0 !important;
}

/* Yu-Gi-Oh directory detail */
.anime-yugioh-hero.ecchii-yugioh-hero {
  position: relative;
  min-height: 390px !important;
  height: 390px !important;
  overflow: hidden;
  padding-block: clamp(54px, 7vw, 88px) !important;
}

.anime-yugioh-hero.ecchii-yugioh-hero::after,
.ecchii-dmg-hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: auto 0 -1px;
  height: 38px;
  background: #f7f2ea;
  clip-path: polygon(0 58%, 8% 39%, 17% 55%, 27% 31%, 38% 48%, 50% 26%, 61% 48%, 72% 34%, 84% 56%, 93% 37%, 100% 51%, 100% 100%, 0 100%);
  pointer-events: none;
}

.anime-character-card.ecchii-square-card {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
}

.ecchii-directory-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 28px 0 24px;
}

.ecchii-directory-search {
  position: relative;
  flex: 1 1 520px;
}

.ecchii-directory-search::before {
  content: "⌕";
  position: absolute;
  left: 19px;
  top: 50%;
  translate: 0 -50%;
  color: #101225;
  font-size: 22px;
}

.ecchii-directory-search input {
  width: 100%;
  min-height: 58px;
  padding: 0 22px 0 52px;
  border: 1px solid rgba(16, 18, 37, .25);
  border-radius: 0;
  background: #fff;
  color: #101225;
  font: inherit;
}

.ecchii-result-count {
  flex: 0 0 auto;
  color: #7a7180;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ecchii-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 28px 0;
}

.ecchii-pagination-top {
  justify-content: flex-end;
  margin: 18px 0 8px;
}

.ecchii-pagination button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(16, 18, 37, .2);
  border-radius: 50%;
  background: #fff;
  color: #101225;
  cursor: pointer;
  font: inherit;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ecchii-pagination button:hover:not(:disabled) {
  transform: translateY(-2px);
}

.ecchii-pagination button.is-active {
  background: #101225;
  color: #fff;
}

.ecchii-pagination button:disabled {
  cursor: default;
  opacity: .35;
}

/* Dark Magician Girl detail */
.ecchii-dmg-hero {
  position: relative;
  overflow: hidden;
}

.ecchii-dmg-hero::after {
  background: #f7f2ea;
}

.ecchii-dmg-hero .button,
.ecchii-dmg-hero a[class*="button"] {
  display: none !important;
}

.ecchii-dmg-products .eyebrow,
.ecchii-dmg-products .section-kicker,
.ecchii-dmg-products .character-rating,
.ecchii-dmg-products [class*="rating"] {
  display: none !important;
}

.ecchii-dmg-products h2 {
  max-width: none !important;
}

.ecchii-dmg-products .button,
.ecchii-dmg-products a[class*="button"] {
  border-radius: 0 !important;
}

/* Request page: one vertical story, shared header/footer language */
.ecchii-request-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.ecchii-request-stack > * {
  width: 100% !important;
  max-width: none !important;
}

.ecchii-request-page .request-intro,
.ecchii-request-page .request-copy,
.ecchii-request-page aside {
  order: -1;
}

.ecchii-request-page .request-submit,
.ecchii-request-page button[type="submit"] {
  border-radius: 0 !important;
}

.ecchii-unified-footer {
  display: grid !important;
  grid-template-columns: 1.2fr 1.45fr .8fr .9fr;
  align-items: start;
  gap: clamp(32px, 6vw, 88px);
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}

.ecchii-unified-footer .footer-shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(90px, 1fr));
  gap: 10px 24px;
}

.ecchii-unified-footer a {
  color: inherit;
  text-decoration: none;
}

.ecchii-unified-footer h3 {
  margin: 0 0 20px;
  color: #aeb8db;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.ecchii-unified-footer p,
.ecchii-unified-footer a {
  line-height: 1.65;
}

@media (max-width: 820px) {
  .anime-yugioh-hero.ecchii-yugioh-hero {
    min-height: 340px !important;
    height: 340px !important;
  }

  .ecchii-directory-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .ecchii-directory-search {
    flex-basis: auto;
  }

  .ecchii-pagination-top {
    justify-content: center;
  }

  .ecchii-unified-footer {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .ecchii-unified-footer {
    grid-template-columns: 1fr;
    width: min(100% - 36px, 1120px);
  }
}

#categories .character-cta-wrap a,
#reviews .review-shop-button,
.request-page .request-submit,
.character-detail-page #characterProducts .button,
.character-detail-page #characterProducts a[class*="button"] {
  border-radius: 0 !important;
}

.directory-detail-page .anime-yugioh-hero {
  position: relative;
  min-height: 0 !important;
  height: clamp(350px, 37vw, 430px) !important;
  padding: 42px 7vw 66px !important;
  overflow: hidden;
}

.directory-detail-page .anime-yugioh-hero::after,
.lm-character-hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 35px;
  background: #f7f3ed;
  clip-path: polygon(0 54%, 8% 34%, 18% 51%, 30% 25%, 43% 43%, 55% 68%, 68% 42%, 81% 65%, 92% 37%, 100% 50%, 100% 100%, 0 100%);
}

.directory-detail-page .anime-character-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.directory-detail-page .anime-character-card {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 !important;
}

.directory-detail-page .character-monogram,
.directory-detail-page .anime-character-card .eyebrow {
  display: none !important;
}

.lm-character-count {
  display: block;
  margin: 10px 0 22px;
  color: #7d5c6b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.lm-character-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 20px 0 24px;
}

.lm-directory-search {
  width: 100%;
  min-height: 54px;
  padding: 0 20px;
  border: 1px solid #cfc9c4;
  border-radius: 0;
  background: #fff;
  color: #101326;
  font: inherit;
}

.lm-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 22px 0;
}

.lm-pagination button {
  width: 42px;
  height: 42px;
  border: 1px solid #cfc9c4;
  border-radius: 0;
  background: #fff;
  color: #101326;
  cursor: pointer;
}

.lm-pagination button.is-active {
  border-color: #101326;
  background: #101326;
  color: #fff;
}

.lm-pagination button:disabled {
  cursor: default;
  opacity: .35;
}

.lm-character-hero {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: 560px;
  overflow: hidden;
  background: #101326 !important;
}

.lm-character-copy {
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px 7vw;
}

.lm-character-image {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: #e9f0fa;
}

.lm-character-image img,
img.lm-character-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.lm-character-hero .button,
.lm-character-hero a[class*="button"] {
  display: none !important;
}

.character-detail-page #characterProducts .eyebrow,
.character-detail-page #characterProducts [class*="rating"] {
  display: none !important;
}

.character-detail-page #characterProducts .button,
.character-detail-page #characterProducts a[class*="button"] {
  border-radius: 0 !important;
}

.request-page .lm-request-layout {
  display: flex !important;
  flex-direction: column !important;
}

.request-page .lm-request-intro {
  order: 0;
  width: 100% !important;
  min-height: auto !important;
  padding: 64px 7vw !important;
}

.request-page .lm-request-form {
  order: 1;
  width: 100% !important;
  padding: 56px 7vw 80px !important;
}

.request-page .request-submit {
  border-radius: 0 !important;
}

@media (max-width: 760px) {
  .directory-detail-page .anime-character-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lm-character-toolbar {
    grid-template-columns: 1fr;
  }

  .lm-character-hero {
    grid-template-columns: 1fr !important;
  }

  .lm-character-copy,
  .lm-character-image {
    grid-column: 1;
  }

  .lm-character-copy {
    grid-row: 1;
    z-index: 2;
  }

  .lm-character-image {
    grid-row: 2;
    min-height: 360px;
  }
}
/* Final consistency and interaction pass: directory, character and request pages. */
.adult-link,
.ecchii-adult-link {
  color: #f39abf !important;
}

.character-cta-wrap .button,
.character-cta-wrap a,
.review-shop-button,
.request-submit,
.ecchii-rect {
  border-radius: 0 !important;
}

/* Yu-Gi-Oh directory */
.anime-yugioh-hero.ecchii-yugioh-hero {
  position: relative;
  min-height: 390px !important;
  height: 390px !important;
  padding-block: 54px !important;
  overflow: hidden;
}

.anime-yugioh-hero.ecchii-yugioh-hero::after,
.ecchii-dmg-hero::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: auto 0 -1px;
  height: 38px;
  background: #f7f2ea;
  clip-path: polygon(0 58%, 8% 39%, 17% 55%, 27% 31%, 38% 48%, 50% 26%, 61% 48%, 72% 34%, 84% 56%, 93% 37%, 100% 51%, 100% 100%, 0 100%);
  pointer-events: none;
}

.anime-character-card.ecchii-square-card {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
}

.ecchii-directory-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 22px 0 14px;
}

.ecchii-directory-search {
  position: relative;
  flex: 1 1 560px;
}

.ecchii-directory-search::before {
  content: "⌕";
  position: absolute;
  left: 19px;
  top: 50%;
  translate: 0 -50%;
  color: #101225;
  font-size: 22px;
}

.ecchii-directory-search input {
  width: 100%;
  min-height: 58px;
  padding: 0 22px 0 52px;
  border: 1px solid rgba(16, 18, 37, 0.25);
  border-radius: 0;
  background: #fff;
  color: #101225;
  font: inherit;
}

.ecchii-result-count {
  flex: 0 0 auto;
  color: #756d78;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ecchii-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 24px 0;
}

.ecchii-pagination-top {
  justify-content: flex-end;
  margin: 8px 0;
}

.ecchii-pagination button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(16, 18, 37, 0.2);
  border-radius: 50%;
  background: #fff;
  color: #101225;
  cursor: pointer;
  font: inherit;
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ecchii-pagination button:hover:not(:disabled) {
  transform: translateY(-2px);
}

.ecchii-pagination button.is-active {
  background: #101225;
  color: #fff;
}

.ecchii-pagination button:disabled {
  cursor: default;
  opacity: 0.35;
}

/* Dark Magician Girl */
.ecchii-dmg-hero {
  position: relative;
  overflow: hidden;
}

.ecchii-dmg-hero::after {
  background: #f7f2ea;
}

.ecchii-dmg-hero .button,
.ecchii-dmg-hero a[class*="button"] {
  display: none !important;
}

.ecchii-dmg-products .eyebrow,
.ecchii-dmg-products .section-kicker,
.ecchii-dmg-products .character-rating,
.ecchii-dmg-products [class*="rating"] {
  display: none !important;
}

.ecchii-dmg-products h2 {
  max-width: none !important;
}

.ecchii-dmg-products .button,
.ecchii-dmg-products a[class*="button"] {
  border-radius: 0 !important;
}

/* Request page */
.ecchii-request-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.ecchii-request-stack > * {
  width: 100% !important;
  max-width: none !important;
}

.ecchii-request-intro {
  order: -1;
  padding: clamp(52px, 7vw, 86px) max(7vw, 42px) !important;
}

.ecchii-request-page form {
  padding: clamp(44px, 6vw, 70px) max(7vw, 42px) !important;
}

.ecchii-request-page .request-submit,
.ecchii-request-page button[type="submit"] {
  border-radius: 0 !important;
}

.ecchii-unified-footer {
  display: grid !important;
  grid-template-columns: 1.15fr 1.45fr 0.8fr 0.9fr;
  align-items: start;
  gap: clamp(32px, 6vw, 80px);
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}

.ecchii-unified-footer .footer-shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(90px, 1fr));
  gap: 10px 24px;
}

.ecchii-unified-footer a {
  color: inherit;
  text-decoration: none;
}

.ecchii-unified-footer h3 {
  margin: 0 0 20px;
  color: #aeb8db;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.ecchii-unified-footer p,
.ecchii-unified-footer a {
  line-height: 1.65;
}

@media (max-width: 820px) {
  .anime-yugioh-hero.ecchii-yugioh-hero {
    min-height: 340px !important;
    height: 340px !important;
  }

  .ecchii-directory-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .ecchii-directory-search {
    flex-basis: auto;
  }

  .ecchii-pagination-top {
    justify-content: center;
  }

  .ecchii-unified-footer {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .ecchii-unified-footer {
    grid-template-columns: 1fr;
    width: min(calc(100% - 36px), 1120px);
  }
}
