@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1A1A1A;
  background-color: #FFF9F0;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Bangers", cursive;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin-top: 0;
  margin-bottom: 16px;
}

h1 {
  font-size: 64px;
}

h2 {
  font-size: 48px;
}

h3 {
  font-size: 32px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 16px;
}

@media (max-width: 768px) {
  h1 {
    font-size: 48px;
  }
  h2 {
    font-size: 32px;
  }
  h3 {
    font-size: 24px;
  }
}
p {
  margin-top: 0;
  margin-bottom: 16px;
}

a {
  color: #D94F3D;
  text-decoration: none;
  transition: color 150ms ease;
}
a:hover, a:focus {
  color: rgb(189.8189655172, 54.7931034483, 37.1810344828);
  text-decoration: underline;
}
a:focus-visible {
  outline: 2px solid #D94F3D;
  outline-offset: 2px;
  border-radius: 4px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul, ol {
  margin: 0 0 16px;
  padding-left: 32px;
}

li {
  margin-bottom: 4px;
}

hr {
  border: none;
  border-top: 3px solid #1A1A1A;
  margin: 48px 0;
}

input,
textarea,
select,
button {
  font-family: "Nunito", sans-serif;
  font-size: 16px;
}

button {
  cursor: pointer;
}

::selection {
  background-color: #FFD93D;
  color: #1A1A1A;
}

.skip-link {
  position: absolute;
  top: -999px;
  left: 0;
  z-index: 500;
  padding: 8px 16px;
  background: #D94F3D;
  color: #FFFFFF;
  font-weight: 700;
}
.skip-link:focus {
  top: 0;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media (max-width: 768px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.container--narrow {
  max-width: 800px;
}

.container--wide {
  max-width: 1440px;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #FFF9F0;
}

#content {
  flex: 1;
}

#primary {
  width: 100%;
}

.section {
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (max-width: 768px) {
  .section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.section--sm {
  padding-top: 48px;
  padding-bottom: 48px;
}

.section--lg {
  padding-top: 96px;
  padding-bottom: 96px;
}

.section--sky {
  background-color: #87CEEB;
}

.section--grass {
  background-color: #5DBB63;
}

.section--yellow {
  background-color: #FFD93D;
}

.section--cream {
  background-color: #FFF9F0;
}

.section--white {
  background-color: #F5F5F5;
}

.section--dark {
  background-color: #1A1A1A;
  color: #F5F5F5;
}

.section-title-wrap {
  text-align: center;
  margin-bottom: 48px;
}

.section-title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  margin-bottom: 0;
  display: inline-block;
  position: relative;
}
.section-title::after {
  content: "";
  display: block;
  height: 4px;
  background-color: #D94F3D;
  margin-top: 4px;
  border-radius: 999px;
}

.grid {
  display: grid;
  gap: 24px;
}

.grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid--4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
  .grid--4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .grid--3,
  .grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .grid--2,
  .grid--3,
  .grid--4 {
    grid-template-columns: 1fr;
  }
}
.paw-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 48px 0;
  color: #5DBB63;
  font-size: 24px;
  user-select: none;
}
.paw-divider::before, .paw-divider::after {
  content: "";
  flex: 1;
  height: 3px;
  background-color: #1A1A1A;
  border-radius: 999px;
}

.site-header {
  background-color: #FFF9F0;
  border-bottom: 3px solid #1A1A1A;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999 !important;
  box-shadow: 0 3px 0 #1A1A1A;
}

#page {
  padding-top: 115px;
}

@media (max-width: 768px) {
  #page {
    padding-top: 96px;
  }
}
.admin-bar .site-header {
  top: 32px;
}

.admin-bar #page {
  padding-top: 147px;
}

@media screen and (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
  .admin-bar #page {
    padding-top: 142px;
  }
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px;
}
@media (max-width: 768px) {
  .site-header__inner {
    padding: 8px 16px;
    flex-wrap: wrap;
  }
}
@media (max-width: 480px) {
  .site-header__inner {
    gap: 8px;
    flex-wrap: nowrap;
  }
}

.site-branding {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.site-branding__circle {
  width: 80px;
  height: auto;
  flex-shrink: 0;
  display: block;
}
@media (max-width: 480px) {
  .site-branding__circle {
    width: 56px;
  }
}

.site-title {
  font-family: "Bangers", cursive;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.03em;
  margin: 0;
  line-height: 1;
}
@media (max-width: 480px) {
  .site-title {
    display: none;
  }
}
.site-title a {
  color: #1A1A1A;
  text-decoration: none;
  transition: color 150ms ease;
}
.site-title a:hover {
  color: #D94F3D;
  text-decoration: none;
}

.site-description {
  font-size: 14px;
  color: rgba(26, 26, 26, 0.5);
  margin: 0;
}

.custom-logo-link {
  display: block;
  line-height: 0;
}
.custom-logo-link img {
  height: 52px;
  width: auto;
}

.header-search {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  position: relative;
}

.header-search__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #FFF9F0;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  width: 38px;
  height: 38px;
  cursor: pointer;
  color: #1A1A1A;
  transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  flex-shrink: 0;
}
.header-search__toggle:hover {
  background-color: #FFD93D;
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px #1A1A1A;
}
.header-search__toggle[aria-expanded=true] {
  background-color: #FFD93D;
}

.header-search__form {
  display: none;
  align-items: center;
  gap: 0;
}
.header-search.is-open .header-search__form {
  display: flex;
}

.header-search__input {
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #1A1A1A;
  background-color: #FFF9F0;
  border: 3px solid #1A1A1A;
  border-right: none;
  border-radius: 4px 0 0 4px;
  padding: 4px 8px;
  width: 200px;
  height: 38px;
  outline: none;
}
.header-search__input:focus {
  background-color: rgb(255, 231.9845360825, 137.5);
}
@media (max-width: 768px) {
  .header-search__input {
    width: 140px;
  }
}

.header-search__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #FFD93D;
  border: 3px solid #1A1A1A;
  border-radius: 0 4px 4px 0;
  width: 38px;
  height: 38px;
  cursor: pointer;
  color: #1A1A1A;
  transition: background-color 150ms ease;
  flex-shrink: 0;
}
.header-search__submit:hover {
  background-color: rgb(255, 209.0082474227, 20.2);
}

.header-search__toggle img,
.header-search__submit img {
  display: inline-block;
  width: 20px;
  height: 20px;
  max-width: none;
}

.header-cart-wrap {
  flex-shrink: 0;
}

#site-header-cart {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.cart-contents {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  background-color: #FFD93D;
  border: 3px solid #1A1A1A;
  padding: 4px 16px;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.cart-contents:hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px #1A1A1A;
  color: #1A1A1A;
  text-decoration: none;
}
.cart-contents .amount {
  color: #CC2200;
}
.cart-contents .count {
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.widget_shopping_cart_content {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background-color: #FFF9F0;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  padding: 16px;
  min-width: 300px;
  z-index: 100;
  border-radius: 4px;
}
#site-header-cart:hover .widget_shopping_cart_content {
  display: block;
}

.site-footer {
  background-color: #1A1A1A;
  color: #F5F5F5;
  border-top: 4px solid #1A1A1A;
  padding: 64px 0 32px;
  margin-top: auto;
}

.site-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media (max-width: 768px) {
  .site-footer__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.footer-widgets {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(245, 245, 245, 0.2);
}
@media (max-width: 768px) {
  .footer-widgets {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .footer-widgets {
    grid-template-columns: 1fr;
  }
}

.footer-widget .widget-title {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #FFD93D;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #CC2200;
}
.footer-widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-widget li {
  margin-bottom: 8px;
  padding-left: 24px;
  position: relative;
}
.footer-widget li::before {
  content: "🐾";
  position: absolute;
  left: 0;
  font-size: 0.8em;
  top: 2px;
}
.footer-widget a {
  color: rgba(245, 245, 245, 0.85);
  text-decoration: none;
  transition: color 150ms ease;
}
.footer-widget a:hover {
  color: #FFD93D;
  text-decoration: none;
}
.footer-widget p {
  color: rgba(245, 245, 245, 0.75);
  font-size: 14px;
  margin-bottom: 8px;
}

.footer-store-info {
  margin-top: 16px;
  margin-bottom: 16px;
}
.footer-store-info p {
  font-size: 14px;
  color: rgba(245, 245, 245, 0.75);
  margin-bottom: 4px;
  line-height: 1.5;
}
.footer-store-info a {
  color: rgba(245, 245, 245, 0.75);
  text-decoration: none;
  transition: color 150ms ease;
}
.footer-store-info a:hover {
  color: #FFD93D;
}

.footer-store-hours {
  margin-bottom: 16px;
  padding: 8px 16px;
  background: rgba(245, 245, 245, 0.06);
  border-left: 3px solid #CC2200;
}
.footer-store-hours strong {
  display: block;
  font-family: "Bangers", cursive;
  font-size: 16px;
  letter-spacing: 0.03em;
  color: #FFD93D;
  margin-bottom: 4px;
}
.footer-store-hours p {
  font-size: 14px;
  color: rgba(245, 245, 245, 0.75);
  margin: 0;
  line-height: 1.7;
}

.footer-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.footer-social li {
  padding-left: 0;
  margin-bottom: 0;
}
.footer-social li::before {
  content: none;
}
.footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(245, 245, 245, 0.1);
  border: 2px solid rgba(245, 245, 245, 0.2);
  border-radius: 6px;
  color: rgba(245, 245, 245, 0.85);
  text-decoration: none;
  font-size: 14px;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}
.footer-social a svg {
  flex-shrink: 0;
}
.footer-social a span {
  display: none;
}
.footer-social a:hover {
  background: #CC2200;
  border-color: #CC2200;
  color: #F5F5F5;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
@media (max-width: 480px) {
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

.footer-copyright {
  font-size: 14px;
  color: rgba(245, 245, 245, 0.6);
  margin: 0;
}

.footer-pup-tag {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #CC2200;
}

.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-nav a {
  font-size: 14px;
  color: rgba(245, 245, 245, 0.6);
  text-decoration: none;
  transition: color 150ms ease;
}
.footer-nav a:hover {
  color: #FFD93D;
}

.main-navigation {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
}
@media (max-width: 768px) {
  .main-navigation {
    flex: none;
    width: auto;
    order: 3;
    justify-content: flex-start;
  }
}

.main-navigation ul {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
}
@media (max-width: 768px) {
  .main-navigation ul {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 4px;
    padding: 8px;
    background-color: #FFF9F0;
    border: 3px solid #1A1A1A;
    border-radius: 4px;
    box-shadow: 4px 4px 0px #1A1A1A;
  }
}

.main-navigation li {
  position: relative;
  margin: 0;
}

.main-navigation a {
  display: block;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  text-decoration: none;
  padding: 4px 16px;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: all 150ms ease;
  white-space: nowrap;
}
.main-navigation a:hover, .main-navigation a:focus {
  color: #1A1A1A;
  background-color: #FFD93D;
  border-color: #1A1A1A;
  box-shadow: 2px 2px 0px #1A1A1A;
  transform: translate(-1px, -1px);
  text-decoration: none;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a {
  background-color: #D94F3D;
  color: #F5F5F5;
  border-color: #1A1A1A;
  box-shadow: 2px 2px 0px #1A1A1A;
}
.main-navigation .current-menu-item > a:hover,
.main-navigation .current_page_item > a:hover,
.main-navigation .current-menu-ancestor > a:hover {
  color: #F5F5F5;
  background-color: rgb(198.3482758621, 57.2551724138, 38.8517241379);
}

.main-navigation ul ul {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  flex-direction: column;
  align-items: stretch;
  background-color: #FFF9F0;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  min-width: 200px;
  z-index: 100;
  border-radius: 4px;
  gap: 0;
  padding: 4px;
  display: none;
}
.main-navigation ul ul a {
  border: none;
  border-radius: 4px;
  white-space: normal;
}
.main-navigation ul ul a:hover {
  transform: none;
  box-shadow: none;
}

.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul {
  display: flex;
}

@media (max-width: 768px) {
  .main-navigation ul ul {
    position: static;
    box-shadow: none;
    border: 2px solid #1A1A1A;
    margin-top: 4px;
    min-width: 0;
  }
}
@media (max-width: 768px) {
  .main-navigation:not(.toggled) ul {
    display: none;
  }
  .main-navigation.toggled ul {
    display: flex;
    position: fixed;
    top: 96px;
    left: 0;
    right: 0;
    z-index: 199;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
  }
}
.menu-toggle {
  display: none;
  align-items: center;
  gap: 4px;
  background-color: #FFD93D;
  border: 3px solid #1A1A1A;
  padding: 4px 16px;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  cursor: pointer;
  transition: transform 150ms ease, box-shadow 150ms ease;
  flex-shrink: 0;
}
.menu-toggle:hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px #1A1A1A;
}
.menu-toggle .menu-toggle__bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 18px;
}
.menu-toggle .menu-toggle__bars span {
  display: block;
  height: 3px;
  background-color: #1A1A1A;
  border-radius: 2px;
}
@media (max-width: 768px) {
  .menu-toggle {
    display: flex;
  }
}
@media (max-width: 480px) {
  .menu-toggle .menu-toggle__label {
    display: none;
  }
}

.comic-panel {
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.comic-panel:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
}

.comic-panel--yellow {
  background-color: #FFD93D;
}

.comic-panel--sky {
  background-color: #87CEEB;
}

.comic-panel--grass {
  background-color: #5DBB63;
}

.comic-panel--dark {
  background-color: #1A1A1A;
  color: #F5F5F5;
}

.comic-panel--red {
  background-color: #D94F3D;
  color: #F5F5F5;
}

.comic-caption {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  padding: 4px 16px;
  font-size: 18px;
}

.comic-caption--top {
  border-bottom: 3px solid #1A1A1A;
}

.comic-caption--bottom {
  border-top: 3px solid #1A1A1A;
}

.comic-caption--yellow {
  background-color: #FFD93D;
  color: #1A1A1A;
}

.speech-bubble {
  position: relative;
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  border-radius: 16px;
  padding: 16px 24px;
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  box-shadow: 4px 4px 0px #1A1A1A;
  display: inline-block;
  text-align: center;
}
.speech-bubble.tail-down-left::before {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 32px;
  border-top: 16px solid #1A1A1A;
  border-left: 12px solid transparent;
  border-right: 4px solid transparent;
}
.speech-bubble.tail-down-left::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: calc(32px + 2px);
  border-top: 13px solid #F5F5F5;
  border-left: 9px solid transparent;
  border-right: 3px solid transparent;
}

.halftone-bg {
  background-image: radial-gradient(circle, rgba(26, 26, 26, 0.06) 1px, transparent 1px);
  background-size: 16px 16px;
}

.halftone-bg--heavy {
  background-image: radial-gradient(circle, rgba(26, 26, 26, 0.12) 1.5px, transparent 1.5px);
  background-size: 12px 12px;
}

.comic-badge {
  display: inline-block;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-size: 14px;
  padding: 2px 8px;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  line-height: 1.4;
  text-transform: uppercase;
}

.comic-badge--new {
  background-color: #87CEEB;
  color: #1A1A1A;
}

.comic-badge--hot {
  background-color: #CC2200;
  color: #F5F5F5;
}

.comic-badge--sale {
  background-color: #FFD93D;
  color: #1A1A1A;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  padding: 8px 32px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  text-align: center;
}
.btn:hover, .btn:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  text-decoration: none;
}
.btn:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

.btn--primary {
  background-color: #D94F3D;
  color: #F5F5F5;
}
.btn--primary:hover {
  color: #F5F5F5;
}

.btn--secondary {
  background-color: #FFD93D;
  color: #1A1A1A;
}
.btn--secondary:hover {
  color: #1A1A1A;
}

.btn--outline {
  background-color: transparent;
  color: #1A1A1A;
}
.btn--outline:hover {
  background-color: #F5F5F5;
  color: #1A1A1A;
}

.btn--sm {
  font-size: 18px;
  padding: 4px 16px;
}

.btn--lg {
  font-size: 32px;
  padding: 16px 48px;
}

.btn--full {
  width: 100%;
  display: flex;
}

.pudgypup {
  display: block;
  position: relative;
}

.pudgypup--sm {
  max-width: 80px;
}

.pudgypup--md {
  max-width: 140px;
}

.pudgypup--lg {
  max-width: 220px;
}

.pudgypup--xl {
  max-width: 320px;
}

.pudgypup--corner-right {
  position: absolute;
  bottom: 0;
  right: 32px;
  z-index: 10;
}

.pudgypup--corner-left {
  position: absolute;
  bottom: 0;
  left: 32px;
  z-index: 10;
}

.paw-print {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("../images/pudgypup/Dog_Paw_Print.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.paw-print--sm {
  width: 16px;
  height: 16px;
}

.paw-print--lg {
  width: 36px;
  height: 36px;
}

.paw-print--xl {
  width: 48px;
  height: 48px;
}

.paw-print--green {
  filter: invert(53%) sepia(37%) saturate(538%) hue-rotate(84deg);
}

.paw-print--red {
  filter: invert(24%) sepia(80%) saturate(1148%) hue-rotate(342deg);
}

.paw-print--yellow {
  filter: invert(88%) sepia(56%) saturate(644%) hue-rotate(333deg);
}

.paw-print--white {
  filter: brightness(0) invert(1);
}

.paw-print--css {
  display: inline-block;
  position: relative;
  width: 24px;
  height: 24px;
}
.paw-print--css::before {
  content: "";
  display: block;
  width: 12px;
  height: 10px;
  background: #5DBB63;
  border-radius: 50% 50% 40% 40%;
  border: 2px solid #1A1A1A;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.paw-print--css::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #5DBB63;
  border-radius: 50%;
  border: 1.5px solid #1A1A1A;
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: -7px 3px 0 #5DBB63, 7px 3px 0 #5DBB63;
}

.pudgypup-reaction {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  padding: 16px 24px;
}

.reaction-bubble {
  position: relative;
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  border-radius: 16px;
  padding: 8px 16px;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  box-shadow: 4px 4px 0px #1A1A1A;
  max-width: 220px;
  text-align: center;
}
.reaction-bubble::before {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 24px;
  border: 0 solid transparent;
  border-top: 14px solid #1A1A1A;
  border-left: 11px solid transparent;
  border-right: 4px solid transparent;
}
.reaction-bubble::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: calc(24px + 2px);
  border: 0 solid transparent;
  border-top: 11px solid #F5F5F5;
  border-left: 8px solid transparent;
  border-right: 3px solid transparent;
}

.pudgypup-placeholder {
  position: relative;
  display: inline-block;
  width: 120px;
  height: 110px;
}
.pudgypup-placeholder::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10px;
  width: 100px;
  height: 70px;
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  border-radius: 55% 55% 45% 45%;
  box-shadow: 2px 2px 0px #1A1A1A;
}
.pudgypup-placeholder::after {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  width: 80px;
  height: 70px;
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  border-radius: 50%;
  box-shadow: 2px 2px 0px #1A1A1A;
}

.paw-trail {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #5DBB63;
  font-size: 18px;
  user-select: none;
  opacity: 0.7;
}
.paw-trail span:nth-child(even) {
  transform: rotate(20deg) translateY(-3px);
}
.paw-trail span:nth-child(odd) {
  transform: rotate(-15deg);
}

/* ============================================================
   HERO BANNER — full-width image with overlay CTA buttons
   ============================================================ */
.hero-section {
  position: relative;
  overflow: hidden;
  display: block;
}

.hero-banner {
  position: relative;
  display: block;
  aspect-ratio: 1920 / 600;
}

.hero-banner img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-banner__cta {
  position: absolute;
  bottom: 12%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 10%;
  align-items: center;
}

@media (max-width: 767px) {
  .hero-banner {
    aspect-ratio: 1 / 1;
  }
  .hero-banner__cta {
    bottom: 10%;
    justify-content: center;
    padding: 0;
    gap: 12px;
  }
  .hero-banner__cta .btn {
    font-size: 16px;
    padding: 8px 16px;
    white-space: nowrap;
  }
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .category-grid {
    grid-template-columns: 1fr;
  }
}

.category-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #1A1A1A;
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.category-card:hover {
  transform: translate(-3px, -3px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #1A1A1A;
  text-decoration: none;
}
.category-card img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-bottom: 3px solid #1A1A1A;
  display: block;
}

.category-card__img-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  border-bottom: 3px solid #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  background-color: #F5F5F5;
}

.category-card__name {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  padding: 8px 16px;
  background-color: #1A1A1A;
  color: #F5F5F5;
}

.category-card__count {
  font-size: 14px;
  font-weight: 700;
  padding: 4px 16px 16px;
  color: rgba(26, 26, 26, 0.55);
}

.category-card:nth-child(5n+1) {
  border-color: #D94F3D;
  box-shadow: 4px 4px 0 #D94F3D;
}

.category-card:nth-child(5n+2) {
  border-color: #5ab5d6;
  box-shadow: 4px 4px 0 #5ab5d6;
}

.category-card:nth-child(5n+3) {
  border-color: #4a9d50;
  box-shadow: 4px 4px 0 #4a9d50;
}

.category-card:nth-child(5n+4) {
  border-color: #c8a300;
  box-shadow: 4px 4px 0 #c8a300;
}

.category-card:nth-child(5n+5) {
  border-color: #CC2200;
  box-shadow: 4px 4px 0 #CC2200;
}

.section-title-wrap--flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  text-align: left;
  margin-bottom: 48px;
}
.section-title-wrap--flex .section-title {
  margin-bottom: 0;
}

.shop-banner {
  background-color: #FFD93D;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  position: relative;
  overflow: hidden;
  min-height: 120px;
  display: flex;
  align-items: stretch;
}
@media (max-width: 768px) {
  .shop-banner {
    min-height: 220px;
  }
}

.shop-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
}
@media (max-width: 768px) {
  .shop-banner__inner {
    padding: 8px 16px;
  }
}

.shop-banner__text {
  position: relative;
  z-index: 1;
}

.shop-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .shop-banner__title {
    font-size: 32px;
  }
}

.shop-banner .woocommerce-breadcrumb {
  font-size: 14px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.6);
  margin: 0;
}
.shop-banner .woocommerce-breadcrumb a {
  color: rgba(26, 26, 26, 0.7);
  text-decoration: none;
}
.shop-banner .woocommerce-breadcrumb a:hover {
  color: #1A1A1A;
  text-decoration: underline;
}

.shop-banner__mascot {
  flex-shrink: 0;
  align-self: center;
  position: relative;
  z-index: 1;
}
.shop-banner__mascot img {
  height: 100px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .shop-banner__mascot {
    display: none;
  }
}

.product-breadcrumb-bar {
  background-color: #F5F5F5;
  border-bottom: 2px solid #1A1A1A;
  padding: 8px 0;
}
.product-breadcrumb-bar .woocommerce-breadcrumb {
  font-size: 14px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.6);
  margin: 0;
}
.product-breadcrumb-bar .woocommerce-breadcrumb a {
  color: rgba(26, 26, 26, 0.7);
  text-decoration: none;
}
.product-breadcrumb-bar .woocommerce-breadcrumb a:hover {
  color: #D94F3D;
  text-decoration: none;
}

.product-page-container {
  padding-top: 32px;
  padding-bottom: 64px;
}

.product-reaction-zone {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 24px;
  background-color: #87CEEB;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  padding: 16px 24px;
  margin-top: 32px;
}
/* Tail points LEFT toward the dog (dog is left of bubble in flex row) */
.product-reaction-zone .reaction-bubble::before {
  top: 50%;
  bottom: auto;
  left: -14px;
  right: auto;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 14px solid #1A1A1A;
  border-left: 0;
}
.product-reaction-zone .reaction-bubble::after {
  top: 50%;
  bottom: auto;
  left: -10px;
  right: auto;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 11px solid #F5F5F5;
  border-left: 0;
}
@media (max-width: 480px) {
  .product-reaction-zone {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  /* On mobile dog is above bubble — tail points UP */
  .product-reaction-zone .reaction-bubble::before {
    top: -14px;
    bottom: auto;
    left: 20px;
    right: auto;
    transform: none;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 14px solid #1A1A1A;
    border-top: 0;
  }
  .product-reaction-zone .reaction-bubble::after {
    top: -10px;
    bottom: auto;
    left: 23px;
    right: auto;
    transform: none;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 11px solid #F5F5F5;
    border-top: 0;
  }
}

.shop-loop-container {
  padding-top: 32px;
  padding-bottom: 64px;
}

.woocommerce-products-header + .woocommerce-notices-wrapper,
.woocommerce-result-count,
.woocommerce-ordering {
  margin-bottom: 16px;
}

.shop-loop-container .woocommerce-result-count {
  font-weight: 700;
  font-size: 14px;
  color: rgba(26, 26, 26, 0.7);
}

.shop-loop-container > .woocommerce-result-count,
.shop-loop-container > .woocommerce-ordering {
  display: inline-block;
  vertical-align: middle;
}

.shop-loop-container > .woocommerce-ordering {
  float: right;
}
.shop-loop-container > .woocommerce-ordering select {
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  background-color: #FFD93D;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 3px 3px 0 #1A1A1A;
  padding: 4px 32px 4px 12px;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

.shop-loop-container > ul.products {
  clear: both;
}

.woocommerce-cart .entry-content,
.woocommerce-account .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-page .entry-content {
  margin-top: 0;
}

.cart-banner {
  background-color: #5DBB63;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  position: relative;
  overflow: hidden;
  min-height: 120px;
  display: flex;
  align-items: stretch;
}
@media (max-width: 768px) {
  .cart-banner {
    min-height: 220px;
  }
}

.cart-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
@media (max-width: 768px) {
  .cart-banner__inner {
    padding: 8px 16px;
  }
}

.cart-banner__text {
  position: relative;
  z-index: 1;
}

.cart-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #F5F5F5;
  margin: 0 0 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .cart-banner__title {
    font-size: 32px;
  }
}

.cart-banner__count {
  font-size: 16px;
  font-weight: 700;
  color: rgba(245, 245, 245, 0.85);
  margin: 0;
}

.cart-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
  position: relative;
  z-index: 1;
}
.cart-banner__mascot img {
  height: 100px;
  width: auto;
  display: block;
  vertical-align: middle;
}
@media (max-width: 480px) {
  .cart-banner__mascot {
    display: none;
  }
}

.cart-pickup-notice {
  background-color: #FFD93D;
  border-bottom: 3px solid #1A1A1A;
}
.cart-pickup-notice__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  color: #1A1A1A;
}
.cart-pickup-notice__label {
  font-weight: 800;
  white-space: nowrap;
}

.cart-empty-scene {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 64px 24px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .cart-empty-scene {
    flex-direction: column;
    text-align: center;
    padding: 48px 16px;
  }
}

.cart-empty-scene__mascot {
  flex-shrink: 0;
  width: 180px;
}
.cart-empty-scene__mascot img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 480px) {
  .cart-empty-scene__mascot {
    width: 120px;
  }
}

.cart-empty-scene__heading {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin-bottom: 8px;
}

.cart-empty-scene__sub {
  font-size: 18px;
  color: rgba(26, 26, 26, 0.65);
  margin-bottom: 32px;
}

.checkout-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  position: relative;
  overflow: hidden;
  min-height: 120px;
  display: flex;
  align-items: stretch;
}
@media (max-width: 768px) {
  .checkout-banner {
    min-height: 220px;
  }
}

.checkout-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
@media (max-width: 768px) {
  .checkout-banner__inner {
    padding: 8px 16px;
  }
}

.checkout-banner__text {
  position: relative;
  z-index: 1;
}

.checkout-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .checkout-banner__title {
    font-size: 32px;
  }
}

.checkout-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}

.checkout-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
  position: relative;
  z-index: 1;
}
.checkout-banner__mascot img {
  height: 100px;
  width: auto;
  display: block;
  vertical-align: middle;
}
@media (max-width: 480px) {
  .checkout-banner__mascot {
    display: none;
  }
}

.cart-page-container {
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 768px) {
  .cart-page-container {
    grid-template-columns: 1fr;
  }
}

.cart-layout__main,
.cart-layout__sidebar {
  min-width: 0;
}

@media (max-width: 768px) {
  .woocommerce-cart-form {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce table.cart thead th,
  .woocommerce table.cart tbody td {
    padding: 8px 6px;
  }
  .woocommerce table.cart .product-thumbnail,
  .woocommerce table.cart thead .product-thumbnail,
  .woocommerce table.cart .product-price,
  .woocommerce table.cart thead .product-price {
    display: none !important;
  }
  .woocommerce table.cart .product-name a {
    font-size: 14px;
  }
  .woocommerce table.cart .product-subtotal .amount {
    font-size: 16px;
  }
  .woocommerce .quantity input[type=number] {
    width: 48px;
    font-size: 16px;
    padding: 4px;
  }
}
.checkout-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
}

.thankyou-banner {
  background-color: #5DBB63;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  position: relative;
  overflow: hidden;
  min-height: 120px;
  display: flex;
  align-items: stretch;
}
@media (max-width: 768px) {
  .thankyou-banner {
    min-height: 220px;
  }
}

.thankyou-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
@media (max-width: 768px) {
  .thankyou-banner__inner {
    padding: 8px 16px;
  }
}

.thankyou-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #F5F5F5;
  margin: 0 0 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .thankyou-banner__title {
    font-size: 32px;
  }
}

.thankyou-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(245, 245, 245, 0.85);
  margin: 0;
}

.thankyou-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
}
.thankyou-banner__mascot img {
  height: 100px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .thankyou-banner__mascot {
    display: none;
  }
}

.thankyou-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
  max-width: 760px;
}

.thankyou-received {
  margin-bottom: 32px;
}

.woocommerce-thankyou-order-received {
  font-family: "Bangers", cursive;
  font-size: 2rem;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0;
}

.thankyou-overview {
  list-style: none;
  margin: 0 0 48px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
}
@media (max-width: 600px) {
  .thankyou-overview {
    grid-template-columns: 1fr 1fr;
  }
}

.thankyou-overview__item {
  padding: 16px 20px;
  border-right: 2px solid #1A1A1A;
  border-bottom: 2px solid #1A1A1A;
  background-color: #F5F5F5;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.thankyou-overview__item:last-child {
  border-right: none;
}
.thankyou-overview__item--total {
  background-color: #FFD93D;
}
@media (max-width: 600px) {
  .thankyou-overview__item {
    border-right: 2px solid #1A1A1A;
  }
  .thankyou-overview__item:nth-child(even) {
    border-right: none;
  }
}

.thankyou-overview__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(26, 26, 26, 0.6);
}

.thankyou-overview__value {
  font-family: "Bangers", cursive;
  font-size: 22px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  line-height: 1.1;
}

.thankyou-overview__item--total .thankyou-overview__value {
  color: #CC2200;
  font-size: 28px;
}

.thankyou-failed-notice {
  padding: 24px;
  margin-bottom: 32px;
}

.thankyou-failed-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0;
}

.woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title {
  font-family: "Bangers", cursive;
  font-size: 1.75rem;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin-bottom: 16px;
}

.woocommerce span.onsale,
.woocommerce-page span.onsale {
  display: inline-block;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-size: 14px;
  padding: 2px 8px;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  line-height: 1.4;
  text-transform: uppercase;
  background-color: #FFD93D;
  color: #1A1A1A;
  min-height: 0;
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  margin: 0;
}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  padding: 16px 24px;
  margin-bottom: 24px;
  font-weight: 700;
  list-style: none;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-error::before {
  display: none;
}
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message {
  background-color: #5DBB63;
  border-color: rgb(60.1652173913, 143.3347826087, 65.4739130435);
  color: #F5F5F5;
}
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info {
  background-color: #87CEEB;
  border-color: rgb(69.4285714286, 179.225, 224.0714285714);
  color: #1A1A1A;
}
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
  background-color: #D94F3D;
  border-color: rgb(189.8189655172, 54.7931034483, 37.1810344828);
  color: #F5F5F5;
}
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  margin: 0 !important;
  padding: 0;
  position: relative;
  width: auto !important;
  max-width: none !important;
  float: none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background-color: #F5F5F5;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translate(-3px, -3px);
  box-shadow: 6px 6px 0px #1A1A1A;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  text-decoration: none;
  color: inherit;
  flex: 1;
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-bottom: 3px solid #1A1A1A;
  display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  padding: 8px 16px 0;
  margin: 0;
  color: #1A1A1A;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-family: "Bangers", cursive;
  font-size: 32px;
  letter-spacing: 0.03em;
  color: #CC2200;
  padding: 4px 16px;
  display: block;
}
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
  color: rgba(26, 26, 26, 0.4);
  font-size: 18px;
}
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
  text-decoration: none;
  color: #CC2200;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 18px;
  padding: 4px 16px;
}
.woocommerce ul.products li.product .button:hover, .woocommerce ul.products li.product .button:focus,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce ul.products li.product .button:active,
.woocommerce-page ul.products li.product .button:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  margin: auto 16px 16px;
  width: calc(100% - 32px);
}
.woocommerce .woocommerce-products-header__title,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-products-header__title,
.woocommerce-page .woocommerce-result-count {
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  width: 100%;
  padding: 8px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
  color: #1A1A1A;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce .woocommerce-ordering select:focus,
.woocommerce-page .woocommerce-ordering select:focus {
  outline: none;
  border-color: #D94F3D;
  box-shadow: 0 0 0 3px rgba(217, 79, 61, 0.2);
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  width: auto;
  padding-right: 48px;
}
.woocommerce .woocommerce-pagination,
.woocommerce-page .woocommerce-pagination {
  margin-top: 48px;
  text-align: center;
}
.woocommerce .woocommerce-pagination ul,
.woocommerce-page .woocommerce-pagination ul {
  display: inline-flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 4px;
}
.woocommerce .woocommerce-pagination li,
.woocommerce-page .woocommerce-pagination li {
  margin: 0;
}
.woocommerce .woocommerce-pagination a, .woocommerce .woocommerce-pagination span,
.woocommerce-page .woocommerce-pagination a,
.woocommerce-page .woocommerce-pagination span {
  display: block;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-size: 24px;
  padding: 4px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 2px 2px 0px #1A1A1A;
  text-decoration: none;
  color: #1A1A1A;
  background-color: #F5F5F5;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.woocommerce .woocommerce-pagination a:hover, .woocommerce .woocommerce-pagination span:hover,
.woocommerce-page .woocommerce-pagination a:hover,
.woocommerce-page .woocommerce-pagination span:hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px #1A1A1A;
  text-decoration: none;
  color: #1A1A1A;
}
.woocommerce .woocommerce-pagination .current,
.woocommerce-page .woocommerce-pagination .current {
  background-color: #D94F3D;
  color: #F5F5F5;
}
.woocommerce.single-product div.product,
.woocommerce-page.single-product div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 768px) {
  .woocommerce.single-product div.product,
  .woocommerce-page.single-product div.product {
    grid-template-columns: 1fr;
  }
  .woocommerce .woocommerce-product-gallery,
  .woocommerce-page .woocommerce-product-gallery {
    max-width: calc(100% - 8px);
  }
}
.woocommerce .woocommerce-product-gallery,
.woocommerce-page .woocommerce-product-gallery {
  overflow: visible;
  width: 100%;
  min-width: 0;
  max-width: 460px;
}
.woocommerce .woocommerce-product-gallery .flex-viewport,
.woocommerce-page .woocommerce-product-gallery .flex-viewport {
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.woocommerce .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce-page .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
}
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
  margin: 0;
  flex: 0 0 auto;
}
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 2px 2px 0 #1A1A1A;
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  display: block;
  aspect-ratio: unset;
}
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img:hover,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img:hover,
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img.flex-active,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img.flex-active {
  opacity: 1;
  box-shadow: 4px 4px 0px #1A1A1A;
  transform: translate(-1px, -1px);
}
.woocommerce .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img.flex-active,
.woocommerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img.flex-active {
  border-color: #CC2200;
}
.woocommerce .product_title,
.woocommerce-page .product_title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}
.woocommerce .woocommerce-product-details__short-description,
.woocommerce-page .woocommerce-product-details__short-description {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 24px;
}
.woocommerce p.price,
.woocommerce span.price,
.woocommerce-page p.price,
.woocommerce-page span.price {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #CC2200;
  display: block;
  margin-bottom: 24px;
}
.woocommerce p.price del,
.woocommerce span.price del,
.woocommerce-page p.price del,
.woocommerce-page span.price del {
  color: rgba(26, 26, 26, 0.4);
}
.woocommerce p.price ins,
.woocommerce span.price ins,
.woocommerce-page p.price ins,
.woocommerce-page span.price ins {
  text-decoration: none;
}
.woocommerce .cart,
.woocommerce-page .cart {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.woocommerce .quantity input[type=number],
.woocommerce-page .quantity input[type=number] {
  width: 100%;
  padding: 8px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
  color: #1A1A1A;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce .quantity input[type=number]:focus,
.woocommerce-page .quantity input[type=number]:focus {
  outline: none;
  border-color: #D94F3D;
  box-shadow: 0 0 0 3px rgba(217, 79, 61, 0.2);
}
.woocommerce .quantity input[type=number],
.woocommerce-page .quantity input[type=number] {
  width: 72px;
  text-align: center;
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
}
.woocommerce .single_add_to_cart_button,
.woocommerce-page .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 32px;
  padding: 16px 48px;
}
.woocommerce .single_add_to_cart_button:hover, .woocommerce .single_add_to_cart_button:focus,
.woocommerce-page .single_add_to_cart_button:hover,
.woocommerce-page .single_add_to_cart_button:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce .single_add_to_cart_button:active,
.woocommerce-page .single_add_to_cart_button:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
.single-product .stock {
  display: none;
}
.woocommerce .woocommerce-tabs,
.woocommerce-page .woocommerce-tabs {
  margin-top: 48px;
}
.woocommerce .woocommerce-tabs .tabs,
.woocommerce-page .woocommerce-tabs .tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 -3px;
  gap: 4px;
}
.woocommerce .woocommerce-tabs .tabs li a,
.woocommerce-page .woocommerce-tabs .tabs li a {
  display: block;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  padding: 4px 24px;
  border: 3px solid #1A1A1A;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  background-color: #F5F5F5;
  color: #1A1A1A;
  text-decoration: none;
}
.woocommerce .woocommerce-tabs .tabs li.active a,
.woocommerce-page .woocommerce-tabs .tabs li.active a {
  background-color: #FFF9F0;
  position: relative;
  z-index: 1;
}
.woocommerce .woocommerce-tabs .panel,
.woocommerce-page .woocommerce-tabs .panel {
  border: 3px solid #1A1A1A;
  border-radius: 0 4px 4px 4px;
  padding: 32px;
  background-color: #FFF9F0;
}
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce-page .related.products,
.woocommerce-page .upsells.products {
  margin-top: 64px;
}
.woocommerce .related.products h2,
.woocommerce .upsells.products h2,
.woocommerce-page .related.products h2,
.woocommerce-page .upsells.products h2 {
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border-bottom: 3px solid #1A1A1A;
  padding-bottom: 8px;
  margin-bottom: 32px;
}
.woocommerce .cart-empty,
.woocommerce-page .cart-empty {
  text-align: center;
  font-family: "Bangers", cursive;
  font-size: 32px;
  letter-spacing: 0.03em;
  padding: 64px 24px;
}
.woocommerce table.cart,
.woocommerce-page table.cart {
  display: table !important;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 48px;
}
.woocommerce table.cart thead,
.woocommerce-page table.cart thead {
  display: table-header-group !important;
}
.woocommerce table.cart tbody,
.woocommerce-page table.cart tbody {
  display: table-row-group !important;
}
.woocommerce table.cart tr,
.woocommerce-page table.cart tr {
  display: table-row !important;
}
.woocommerce table.cart th, .woocommerce table.cart td,
.woocommerce-page table.cart th,
.woocommerce-page table.cart td {
  display: table-cell !important;
}
.woocommerce table.cart thead th,
.woocommerce-page table.cart thead th {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-weight: 400;
  padding: 8px 16px;
  text-align: left;
}
.woocommerce table.cart tbody td,
.woocommerce-page table.cart tbody td {
  padding: 16px;
  border-bottom: 2px solid #1A1A1A;
  vertical-align: middle;
}
.woocommerce table.cart tbody tr:last-child td,
.woocommerce-page table.cart tbody tr:last-child td {
  border-bottom: none;
}
.woocommerce table.cart tbody tr:nth-child(even) td,
.woocommerce-page table.cart tbody tr:nth-child(even) td {
  background-color: rgba(245, 245, 245, 0.5);
}
.woocommerce table.cart .product-thumbnail img,
.woocommerce-page table.cart .product-thumbnail img {
  width: 80px;
  height: 100px;
  object-fit: cover;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
}
.woocommerce table.cart .product-name a,
.woocommerce-page table.cart .product-name a {
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  text-decoration: none;
}
.woocommerce table.cart .product-name a:hover,
.woocommerce-page table.cart .product-name a:hover {
  color: #D94F3D;
}
.woocommerce table.cart .product-price .amount,
.woocommerce table.cart .product-subtotal .amount,
.woocommerce-page table.cart .product-price .amount,
.woocommerce-page table.cart .product-subtotal .amount {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #CC2200;
}
.woocommerce table.cart .product-remove a,
.woocommerce-page table.cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #CC2200;
  color: #F5F5F5;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 150ms ease;
}
.woocommerce table.cart .product-remove a:hover,
.woocommerce-page table.cart .product-remove a:hover {
  transform: scale(1.1);
  color: #F5F5F5;
}
.woocommerce table.cart .actions td,
.woocommerce-page table.cart .actions td {
  padding: 16px;
}
.woocommerce table.cart .actions .button,
.woocommerce-page table.cart .actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 24px;
  padding: 8px 32px;
}
.woocommerce table.cart .actions .button:hover, .woocommerce table.cart .actions .button:focus,
.woocommerce-page table.cart .actions .button:hover,
.woocommerce-page table.cart .actions .button:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce table.cart .actions .button:active,
.woocommerce-page table.cart .actions .button:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
.woocommerce table.cart .actions .coupon,
.woocommerce-page table.cart .actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
  float: left;
}
.woocommerce table.cart .actions .coupon input,
.woocommerce-page table.cart .actions .coupon input {
  width: 100%;
  padding: 8px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
  color: #1A1A1A;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce table.cart .actions .coupon input:focus,
.woocommerce-page table.cart .actions .coupon input:focus {
  outline: none;
  border-color: #D94F3D;
  box-shadow: 0 0 0 3px rgba(217, 79, 61, 0.2);
}
.woocommerce table.cart .actions .coupon input,
.woocommerce-page table.cart .actions .coupon input {
  width: auto;
}
.woocommerce table.cart .actions .coupon .button,
.woocommerce-page table.cart .actions .coupon .button {
  background-color: #FFD93D;
  color: #1A1A1A;
  white-space: nowrap;
}
.woocommerce .cart_totals,
.woocommerce-page .cart_totals {
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
}
.woocommerce .cart_totals h2,
.woocommerce-page .cart_totals h2 {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  padding: 8px 16px;
  margin: 0;
  font-size: 24px;
}
.woocommerce .cart_totals .shop_table,
.woocommerce-page .cart_totals .shop_table {
  width: 100%;
  border-collapse: collapse;
  padding: 16px;
}
.woocommerce .cart_totals .shop_table th, .woocommerce .cart_totals .shop_table td,
.woocommerce-page .cart_totals .shop_table th,
.woocommerce-page .cart_totals .shop_table td {
  padding: 8px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
}
.woocommerce .cart_totals .shop_table tr:last-child th,
.woocommerce .cart_totals .shop_table tr:last-child td,
.woocommerce-page .cart_totals .shop_table tr:last-child th,
.woocommerce-page .cart_totals .shop_table tr:last-child td {
  border-bottom: none;
}
.woocommerce .cart_totals .shop_table .order-total th,
.woocommerce .cart_totals .shop_table .order-total td,
.woocommerce-page .cart_totals .shop_table .order-total th,
.woocommerce-page .cart_totals .shop_table .order-total td {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #CC2200;
}
.woocommerce .cart_totals .wc-proceed-to-checkout,
.woocommerce-page .cart_totals .wc-proceed-to-checkout {
  padding: 16px;
}
.woocommerce .cart_totals .checkout-button,
.woocommerce-page .cart_totals .checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 32px;
  padding: 16px 48px;
}
.woocommerce .cart_totals .checkout-button:hover, .woocommerce .cart_totals .checkout-button:focus,
.woocommerce-page .cart_totals .checkout-button:hover,
.woocommerce-page .cart_totals .checkout-button:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce .cart_totals .checkout-button:active,
.woocommerce-page .cart_totals .checkout-button:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
.woocommerce .cart_totals .checkout-button,
.woocommerce-page .cart_totals .checkout-button {
  display: flex;
  width: 100%;
  justify-content: center;
}
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3,
.woocommerce #order_review h3,
.woocommerce-page .woocommerce-billing-fields h3,
.woocommerce-page .woocommerce-shipping-fields h3,
.woocommerce-page .woocommerce-additional-fields h3,
.woocommerce-page #order_review h3 {
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-size: 32px;
  border-bottom: 3px solid #1A1A1A;
  padding-bottom: 8px;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-checkout .col2-set,
.woocommerce-page .woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
@media (max-width: 768px) {
  .woocommerce .woocommerce-checkout .col2-set,
  .woocommerce-page .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr;
  }
}
.woocommerce .woocommerce-checkout .form-row,
.woocommerce-page .woocommerce-checkout .form-row {
  margin-bottom: 16px;
}
.woocommerce .woocommerce-checkout .form-row label,
.woocommerce-page .woocommerce-checkout .form-row label {
  display: block;
  font-weight: 700;
  margin-bottom: 4px;
  font-size: 14px;
}
.woocommerce .woocommerce-checkout .form-row .required,
.woocommerce-page .woocommerce-checkout .form-row .required {
  color: #CC2200;
}
.woocommerce .woocommerce-checkout .form-row input[type=text],
.woocommerce .woocommerce-checkout .form-row input[type=email],
.woocommerce .woocommerce-checkout .form-row input[type=tel],
.woocommerce .woocommerce-checkout .form-row input[type=password],
.woocommerce .woocommerce-checkout .form-row input[type=number],
.woocommerce .woocommerce-checkout .form-row select,
.woocommerce .woocommerce-checkout .form-row textarea,
.woocommerce-page .woocommerce-checkout .form-row input[type=text],
.woocommerce-page .woocommerce-checkout .form-row input[type=email],
.woocommerce-page .woocommerce-checkout .form-row input[type=tel],
.woocommerce-page .woocommerce-checkout .form-row input[type=password],
.woocommerce-page .woocommerce-checkout .form-row input[type=number],
.woocommerce-page .woocommerce-checkout .form-row select,
.woocommerce-page .woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 8px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
  color: #1A1A1A;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce .woocommerce-checkout .form-row input[type=text]:focus,
.woocommerce .woocommerce-checkout .form-row input[type=email]:focus,
.woocommerce .woocommerce-checkout .form-row input[type=tel]:focus,
.woocommerce .woocommerce-checkout .form-row input[type=password]:focus,
.woocommerce .woocommerce-checkout .form-row input[type=number]:focus,
.woocommerce .woocommerce-checkout .form-row select:focus,
.woocommerce .woocommerce-checkout .form-row textarea:focus,
.woocommerce-page .woocommerce-checkout .form-row input[type=text]:focus,
.woocommerce-page .woocommerce-checkout .form-row input[type=email]:focus,
.woocommerce-page .woocommerce-checkout .form-row input[type=tel]:focus,
.woocommerce-page .woocommerce-checkout .form-row input[type=password]:focus,
.woocommerce-page .woocommerce-checkout .form-row input[type=number]:focus,
.woocommerce-page .woocommerce-checkout .form-row select:focus,
.woocommerce-page .woocommerce-checkout .form-row textarea:focus {
  outline: none;
  border-color: #D94F3D;
  box-shadow: 0 0 0 3px rgba(217, 79, 61, 0.2);
}
.woocommerce .woocommerce-checkout .form-row textarea,
.woocommerce-page .woocommerce-checkout .form-row textarea {
  min-height: 100px;
  resize: vertical;
}
.woocommerce .woocommerce-checkout #order_review_heading,
.woocommerce-page .woocommerce-checkout #order_review_heading {
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-size: 32px;
  border-bottom: 3px solid #1A1A1A;
  padding-bottom: 8px;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-checkout #order_review .shop_table,
.woocommerce-page .woocommerce-checkout #order_review .shop_table {
  width: 100%;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-checkout #order_review .shop_table thead th,
.woocommerce-page .woocommerce-checkout #order_review .shop_table thead th {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-weight: 400;
  padding: 8px 16px;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td {
  padding: 8px 16px;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
  vertical-align: top;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation {
  margin: 4px 0 0;
  font-size: 14px;
  color: rgba(26, 26, 26, 0.7);
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dt,
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dt,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd {
  display: inline;
  margin: 0;
  padding: 0;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dt::after,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dt::after {
  content: " ";
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd {
  margin-inline-start: 0;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd::after,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name dl.variation dd::after {
  content: "";
  display: block;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping th,
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping th,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td {
  padding: 8px 16px;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td ul,
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td .woocommerce-shipping-totals,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td ul,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td .woocommerce-shipping-totals {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td ul li,
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td .woocommerce-shipping-totals li,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td ul li,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr.shipping td .woocommerce-shipping-totals li {
  margin: 0;
  padding: 0;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr th,
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot tr td,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr th,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot tr td {
  padding: 8px 16px;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot .order-total th,
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot .order-total td,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot .order-total th,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot .order-total td {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  color: #CC2200;
  padding: 8px 16px;
  border-bottom: none;
}
.woocommerce .woocommerce-checkout #payment,
.woocommerce-page .woocommerce-checkout #payment {
  margin-top: 24px;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  overflow: hidden;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  margin: 0;
  padding: 0;
  border-bottom: 2px solid rgba(26, 26, 26, 0.1);
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
  border-bottom: none;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio],
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio] {
  display: none;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 16px;
  font-weight: 700;
  cursor: pointer;
  background-color: #F5F5F5;
  transition: background-color 0.15s ease;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::before,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid #1A1A1A;
  border-radius: 50%;
  background-color: #FFF9F0;
  box-shadow: 2px 2px 0 #1A1A1A;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img {
  height: 24px;
  width: auto;
  margin-left: auto;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio]:checked + label,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio]:checked + label {
  background-color: rgb(200.5714285714, 232.775, 245.9285714286);
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio]:checked + label::before,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio]:checked + label::before {
  background-color: #D94F3D;
  border-color: #1A1A1A;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box {
  padding: 16px 16px 16px;
  background-color: #FFF9F0;
  border-top: 2px solid rgba(26, 26, 26, 0.1);
  font-size: 14px;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box p,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box p {
  margin: 0 0 8px;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-wrapper,
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-payment-form,
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box #sq-card,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-wrapper,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-payment-form,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box #sq-card {
  width: 100%;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-input,
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-component input,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-input,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-component input {
  width: 100%;
  padding: 8px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
  color: #1A1A1A;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-input:focus,
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-component input:focus,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-input:focus,
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box .sq-card-component input:focus {
  outline: none;
  border-color: #D94F3D;
  box-shadow: 0 0 0 3px rgba(217, 79, 61, 0.2);
}
.woocommerce .woocommerce-checkout #payment .place-order,
.woocommerce-page .woocommerce-checkout #payment .place-order {
  margin-top: 16px;
}
.woocommerce .woocommerce-checkout #payment .place-order #place_order,
.woocommerce-page .woocommerce-checkout #payment .place-order #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 32px;
  padding: 16px 48px;
}
.woocommerce .woocommerce-checkout #payment .place-order #place_order:hover, .woocommerce .woocommerce-checkout #payment .place-order #place_order:focus,
.woocommerce-page .woocommerce-checkout #payment .place-order #place_order:hover,
.woocommerce-page .woocommerce-checkout #payment .place-order #place_order:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce .woocommerce-checkout #payment .place-order #place_order:active,
.woocommerce-page .woocommerce-checkout #payment .place-order #place_order:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
.woocommerce .woocommerce-checkout #payment .place-order #place_order,
.woocommerce-page .woocommerce-checkout #payment .place-order #place_order {
  width: 100%;
  display: flex;
  justify-content: center;
}
.woocommerce .woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper,
.woocommerce-page .woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
  font-size: 14px;
}
.woocommerce .woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper a,
.woocommerce-page .woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper a {
  color: #D94F3D;
  text-decoration: underline;
}
.woocommerce .woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text,
.woocommerce-page .woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text {
  margin-top: 8px;
  font-size: 14px;
  color: rgba(26, 26, 26, 0.6);
  text-align: center;
}
.woocommerce .woocommerce-checkout > #place_order,
.woocommerce-page .woocommerce-checkout > #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  background-color: #D94F3D;
  color: #F5F5F5;
  text-align: center;
  font-size: 32px;
  padding: 16px 48px;
}
.woocommerce .woocommerce-checkout > #place_order:hover, .woocommerce .woocommerce-checkout > #place_order:focus,
.woocommerce-page .woocommerce-checkout > #place_order:hover,
.woocommerce-page .woocommerce-checkout > #place_order:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  color: #F5F5F5;
  text-decoration: none;
}
.woocommerce .woocommerce-checkout > #place_order:active,
.woocommerce-page .woocommerce-checkout > #place_order:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}
/* ── Checkout: order review table column alignment ─────────────────────── */
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-name,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-name {
  width: 65%;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tbody td.product-total,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tbody td.product-total {
  width: 35%;
  text-align: right;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot th,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot th {
  text-align: left;
}
.woocommerce .woocommerce-checkout #order_review .shop_table tfoot td,
.woocommerce-page .woocommerce-checkout #order_review .shop_table tfoot td {
  text-align: right;
}

/* ── Checkout: Square payment — restore radio visibility for JS detection ── */
.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio],
.woocommerce-page .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type=radio] {
  display: inline-block;
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

/* ── Checkout: Square Web Payments SDK container selectors ─────────────── */
/* Target only the named Square card wrapper — leave internal iframes alone */
.woocommerce-checkout .payment_box #wc-square-credit-card-hosted-field-container,
.woocommerce-checkout .payment_box .sq-card-wrapper,
.woocommerce-checkout .payment_box .sq-payment-form {
  width: 100%;
  display: block;
}

.woocommerce .woocommerce-checkout > #place_order,
.woocommerce-page .woocommerce-checkout > #place_order {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* ==========================================================================
   Checkout — Local Pickup Info Panel
   ========================================================================== */

.pudgy-pup-pickup-info {
  background: #87CEEB;
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0 #1A1A1A;
  border-radius: 4px;
  margin: 0 0 32px;
  padding: 20px 24px;
}

.pickup-info__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.pickup-info__mascot {
  flex-shrink: 0;
}

.pickup-info__mascot img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
}

.pickup-info__content {
  flex: 1;
}

.pickup-info__heading {
  font-family: 'Bangers', cursive;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  color: #1A1A1A;
  margin: 0 0 6px;
}

.pickup-info__content p {
  font-family: 'Nunito', sans-serif;
  font-size: 0.95rem;
  color: #1A1A1A;
  margin: 0 0 6px;
  line-height: 1.5;
}

.pickup-info__content p:last-child {
  margin-bottom: 0;
}

@media (max-width: 480px) {
  .pickup-info__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* ==========================================================================
   Sell Your Collection Page — Banner
   ========================================================================== */

.sell-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  position: relative;
  overflow: hidden;
}
.sell-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 110px;
}
.sell-banner__text {
  position: relative;
  z-index: 1;
}
.sell-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 4px;
  line-height: 1.1;
}
@media (max-width: 768px) {
  .sell-banner__title { font-size: 32px; }
}
.sell-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.75);
  margin: 0;
}
.sell-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
}
.sell-banner__mascot img {
  height: 110px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .sell-banner__mascot { display: none; }
}

/* ==========================================================================
   Sell Your Collection Page — Form & States
   ========================================================================== */

.sell-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
  max-width: 760px;
}

/* Error notice */
.sell-form-error {
  background-color: #fff0ee;
  border: 3px solid #D94F3D;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #D94F3D;
  padding: 16px 20px;
  margin-bottom: 32px;
  font-size: 15px;
}
.sell-form-error ul {
  margin: 8px 0 0;
  padding-left: 20px;
}
.sell-form-error li {
  margin-bottom: 4px;
}

/* Success / Login gate panels */
.sell-success,
.sell-login-gate {
  text-align: center;
  padding: 48px 32px;
}
.sell-success img,
.sell-login-gate img {
  height: 120px;
  width: auto;
  margin: 0 auto 16px;
}
.sell-success h2,
.sell-login-gate h2 {
  font-family: "Bangers", cursive;
  font-size: 36px;
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}
.sell-success p,
.sell-login-gate p {
  font-size: 16px;
  color: rgba(26, 26, 26, 0.75);
  max-width: 480px;
  margin: 0 auto 24px;
}
.sell-login-gate__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Form layout */
.sell-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 600px) {
  .sell-form {
    grid-template-columns: 1fr;
  }
}

.sell-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sell-form__field--full {
  grid-column: 1 / -1;
}

.sell-form__field label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
}
.sell-form__optional {
  font-weight: 400;
  color: rgba(26, 26, 26, 0.55);
  margin-left: 4px;
}

.sell-form__field input[type="text"],
.sell-form__field input[type="email"],
.sell-form__field input[type="tel"],
.sell-form__field input[type="number"],
.sell-form__field select,
.sell-form__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #F5F5F5;
  box-sizing: border-box;
  transition: border-color 150ms ease;
}
.sell-form__field input:focus,
.sell-form__field select:focus,
.sell-form__field textarea:focus {
  outline: none;
  border-color: #D94F3D;
}
.sell-form__field textarea {
  resize: vertical;
  min-height: 140px;
}
.sell-form__field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
  cursor: pointer;
}

/* Price field with $ prefix */
.sell-form__price-wrap {
  display: flex;
  align-items: center;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  background-color: #F5F5F5;
  overflow: hidden;
  transition: border-color 150ms ease;
}
.sell-form__price-wrap:focus-within {
  border-color: #D94F3D;
}
.sell-form__currency {
  padding: 10px 12px;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  border-right: 2px solid #1A1A1A;
  background-color: #FFD93D;
  line-height: 1;
}
.sell-form__price-wrap input[type="number"] {
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 10px 14px;
  flex: 1;
  min-width: 0;
}
.sell-form__price-wrap input[type="number"]:focus {
  outline: none;
  border-color: transparent;
}

/* File input */
.sell-form__field input[type="file"] {
  border: 3px dashed #1A1A1A;
  border-radius: 4px;
  padding: 12px 14px;
  background-color: #F5F5F5;
  font-size: 14px;
  cursor: pointer;
}
.sell-form__help {
  font-size: 13px;
  color: rgba(26, 26, 26, 0.55);
  margin: 0;
}

/* Submit row */
.sell-form__actions {
  grid-column: 1 / -1;
  padding-top: 8px;
}

/* pudgy-btn size modifier used on submit */
.pudgy-btn--lg {
  font-size: 28px;
  padding: 12px 40px;
}

/* ==========================================================================
   Search Page
   ========================================================================== */

.search-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  position: relative;
  overflow: hidden;
}
.search-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 110px;
}
.search-banner__text {
  position: relative;
  z-index: 1;
}
.search-banner__title {
  font-family: "Bangers", cursive;
  font-size: 40px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 4px;
  line-height: 1.1;
}
.search-banner__count {
  font-size: 14px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}
.search-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
}
.search-banner__mascot img {
  height: 110px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .search-banner__mascot { display: none; }
}

.search-page-container {
  padding-top: 40px;
  padding-bottom: 64px;
}

.search-refine {
  margin-bottom: 40px;
}
.search-refine__form {
  display: flex;
  gap: 12px;
  max-width: 600px;
}
.search-refine__input {
  flex: 1;
  padding: 10px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  background-color: #F5F5F5;
}
.search-refine__input:focus {
  outline: none;
  border-color: #D94F3D;
}

.search-section__title {
  font-family: "Bangers", cursive;
  font-size: 28px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 24px;
  padding-bottom: 8px;
  border-bottom: 3px solid #1A1A1A;
}

.search-posts-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.search-post-item {
  padding: 16px 20px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  background-color: #F5F5F5;
}
.search-post-item__title {
  font-family: "Bangers", cursive;
  font-size: 22px;
  letter-spacing: 0.03em;
  margin: 0 0 8px;
}
.search-post-item__title a {
  color: #1A1A1A;
  text-decoration: none;
}
.search-post-item__title a:hover {
  color: #D94F3D;
}
.search-post-item__excerpt {
  margin: 0;
  font-size: 14px;
  color: rgba(26, 26, 26, 0.7);
}

/* ==========================================================================
   Thank You — WooCommerce order details table + customer address
   ========================================================================== */

.woocommerce-order-details,
.woocommerce-customer-details {
  margin-bottom: 40px;
}

.woocommerce-table.order_details {
  width: 100%;
  border: 3px solid #1A1A1A;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 4px 4px 0px #1A1A1A;
  margin-bottom: 24px;
}
.woocommerce-table.order_details thead th {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-weight: 400;
  padding: 10px 16px;
  text-align: left;
}
.woocommerce-table.order_details thead th:last-child {
  text-align: right;
}
.woocommerce-table.order_details tbody td {
  padding: 10px 16px;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
  vertical-align: middle;
}
.woocommerce-table.order_details tbody td.product-total {
  text-align: right;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
}
.woocommerce-table.order_details tfoot th {
  text-align: left;
  font-weight: 700;
  padding: 10px 16px;
  border-top: 1px solid rgba(26, 26, 26, 0.1);
}
.woocommerce-table.order_details tfoot td {
  text-align: right;
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  padding: 10px 16px;
  border-top: 1px solid rgba(26, 26, 26, 0.1);
}
.woocommerce-table.order_details tfoot .order-total th,
.woocommerce-table.order_details tfoot .order-total td {
  font-size: 22px;
  color: #CC2200;
}

.woocommerce-customer-details .woocommerce-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 600px) {
  .woocommerce-customer-details .woocommerce-columns {
    grid-template-columns: 1fr;
  }
}
.woocommerce-customer-details address {
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  padding: 20px;
  background-color: #F5F5F5;
  font-style: normal;
  line-height: 1.6;
}

/* ==========================================================================
   pudgy-btn — alias of .btn used in login/register form
   ========================================================================== */

.pudgy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  padding: 8px 32px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  cursor: pointer;
  text-decoration: none;
  transition: transform 150ms ease, box-shadow 150ms ease;
  line-height: 1;
  text-align: center;
  background: none;
}
.pudgy-btn:hover,
.pudgy-btn:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
  text-decoration: none;
}
.pudgy-btn:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

.pudgy-btn--primary {
  background-color: #D94F3D;
  color: #F5F5F5;
}
.pudgy-btn--primary:hover,
.pudgy-btn--primary:focus {
  color: #F5F5F5;
}

.pudgy-btn--secondary {
  background-color: #FFD93D;
  color: #1A1A1A;
}
.pudgy-btn--secondary:hover,
.pudgy-btn--secondary:focus {
  color: #1A1A1A;
}

/* ==========================================================================
   My Account — Login / Register page
   ========================================================================== */

.login-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
}

.login-panels {
  display: grid;
  gap: 32px;
}
.login-panels--split {
  grid-template-columns: 1fr 1fr;
}
.login-panels--single {
  grid-template-columns: minmax(auto, 480px);
  justify-content: center;
}
@media (max-width: 768px) {
  .login-panels--split {
    grid-template-columns: 1fr;
  }
}

.login-panel {
  padding: 32px;
}

.login-panel__title {
  font-family: "Bangers", cursive;
  font-size: 32px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 3px solid #1A1A1A;
}

.wc-form-row {
  margin-bottom: 20px;
}
.wc-form-row label {
  display: block;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
  color: #1A1A1A;
}
.wc-form-row .required {
  color: #D94F3D;
  margin-left: 2px;
}
.wc-form-row input[type="text"],
.wc-form-row input[type="email"],
.wc-form-row input[type="password"] {
  width: 100%;
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #F5F5F5;
  box-sizing: border-box;
  transition: border-color 150ms ease;
}
.wc-form-row input[type="text"]:focus,
.wc-form-row input[type="email"]:focus,
.wc-form-row input[type="password"]:focus {
  outline: none;
  border-color: #D94F3D;
}

.wc-form-row--actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.wc-remember-me {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.wc-remember-me input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #D94F3D;
  cursor: pointer;
}

.wc-lost-password {
  margin-top: 16px;
  font-size: 13px;
}
.wc-lost-password a {
  color: #D94F3D;
  font-weight: 700;
  text-decoration: none;
}
.wc-lost-password a:hover {
  text-decoration: underline;
}

.wc-form-note {
  font-size: 14px;
  color: rgba(26, 26, 26, 0.65);
  background-color: #F5F5F5;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
  padding: 10px 14px;
  margin-bottom: 20px;
}

/* ==========================================================================
   My Account — Banner
   ========================================================================== */

.account-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  position: relative;
  overflow: hidden;
  min-height: 120px;
  display: flex;
  align-items: stretch;
}
@media (max-width: 768px) {
  .account-banner {
    min-height: 100px;
  }
}

.account-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
@media (max-width: 768px) {
  .account-banner__inner {
    padding: 8px 16px;
  }
}

.account-banner__text {
  position: relative;
  z-index: 1;
}

.account-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0 0 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .account-banner__title {
    font-size: 32px;
  }
}

.account-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}

.account-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  align-self: center;
  position: relative;
  z-index: 1;
}
.account-banner__mascot img {
  height: 100px;
  width: auto;
  display: block;
  vertical-align: middle;
}
@media (max-width: 480px) {
  .account-banner__mascot {
    display: none;
  }
}

/* ==========================================================================
   My Account — Layout (sidebar nav + content)
   ========================================================================== */

.account-page-container {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  padding-top: 40px;
  padding-bottom: 64px;
  align-items: start;
}
@media (max-width: 768px) {
  .account-page-container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ==========================================================================
   My Account — Sidebar Navigation
   ========================================================================== */

.account-nav {
  position: sticky;
  top: 24px;
}

.account-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  overflow: hidden;
  background-color: #F5F5F5;
}

.account-nav__item {
  border-bottom: 2px solid #1A1A1A;
}
.account-nav__item:last-child {
  border-bottom: none;
}

.account-nav__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.account-nav__link:hover {
  background-color: #FFD93D;
  color: #1A1A1A;
}
.account-nav__item.is-active .account-nav__link,
.account-nav__item[aria-current] .account-nav__link {
  background-color: #D94F3D;
  color: #F5F5F5;
}

.account-nav__paw {
  font-size: 14px;
  flex-shrink: 0;
}

/* ==========================================================================
   My Account — Dashboard tiles
   ========================================================================== */

.account-dashboard__greeting {
  font-size: 15px;
  color: rgba(26, 26, 26, 0.7);
  margin-bottom: 24px;
}
.account-dashboard__greeting a {
  color: #D94F3D;
  font-weight: 700;
  text-decoration: none;
}
.account-dashboard__greeting a:hover {
  text-decoration: underline;
}

.account-dashboard__tiles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
}

.account-dashboard__tile a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  background-color: #F5F5F5;
  text-decoration: none;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
  text-align: center;
  transition: background-color 0.15s ease, transform 0.1s ease, box-shadow 0.1s ease;
}
.account-dashboard__tile a:hover {
  background-color: #FFD93D;
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #1A1A1A;
}

.account-dashboard__tile-icon {
  font-size: 28px;
  line-height: 1;
}

.account-dashboard__tile-label {
  line-height: 1.2;
}

/* ==========================================================================
   My Account — Content area (orders, addresses, edit account, etc.)
   ========================================================================== */

.woocommerce-MyAccount-content {
  min-width: 0; /* prevent grid blowout */
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}

.woocommerce-orders-table {
  width: 100%;
  border: 3px solid #1A1A1A;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 4px 4px 0px #1A1A1A;
}
.woocommerce-orders-table thead th {
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-family: "Bangers", cursive;
  letter-spacing: 0.03em;
  font-weight: 400;
  padding: 10px 16px;
  text-align: left;
}
.woocommerce-orders-table tbody td {
  padding: 10px 16px;
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
  vertical-align: middle;
  font-size: 14px;
}
.woocommerce-orders-table tbody tr:last-child td {
  border-bottom: none;
}
.woocommerce-orders-table .woocommerce-button {
  font-size: 13px;
  padding: 6px 14px;
}

.woocommerce-Address {
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  padding: 20px;
  background-color: #F5F5F5;
  margin-bottom: 24px;
}
.woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #1A1A1A;
}
.woocommerce-Address-title h3 {
  font-family: "Bangers", cursive;
  font-size: 22px;
  letter-spacing: 0.03em;
  margin: 0;
}
.woocommerce-Address address {
  font-style: normal;
  line-height: 1.6;
  font-size: 15px;
}

.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
  margin-bottom: 16px;
}
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
  display: block;
  font-weight: 700;
  margin-bottom: 4px;
  font-size: 14px;
}
.woocommerce-EditAccountForm input,
.woocommerce-address-fields input,
.woocommerce-EditAccountForm select,
.woocommerce-address-fields select {
  width: 100%;
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #F5F5F5;
  box-sizing: border-box;
}
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-EditAccountForm select:focus,
.woocommerce-address-fields select:focus {
  outline: none;
  border-color: #D94F3D;
}

/* ==========================================================================
   In Search Of — My Account tab
   ========================================================================== */

.iso-account {
  min-width: 0;
}

.iso-account__title {
  font-family: "Bangers", cursive;
  font-size: 36px;
  letter-spacing: 0.03em;
  margin: 0 0 8px;
}

.iso-account__intro {
  font-size: 15px;
  color: rgba(26, 26, 26, 0.7);
  margin-bottom: 28px;
}

/* Add panel */
.iso-add-panel {
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  box-shadow: 4px 4px 0px #1A1A1A;
  background-color: #F5F5F5;
  padding: 24px;
  margin-bottom: 40px;
}

.iso-add-panel__title {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #1A1A1A;
}

/* Form grid */
.iso-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

@media (max-width: 600px) {
  .iso-form-grid {
    grid-template-columns: 1fr;
  }
}

.iso-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.iso-form-field--wide {
  grid-column: 1 / -1;
}

.iso-form-field label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
}

.iso-required {
  color: #D94F3D;
}

.iso-form-field input[type="text"],
.iso-form-field input[type="number"],
.iso-form-field select,
.iso-form-field textarea {
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #fff;
  box-sizing: border-box;
  transition: border-color 150ms ease;
  width: 100%;
}

.iso-form-field input[type="text"]:focus,
.iso-form-field input[type="number"]:focus,
.iso-form-field select:focus,
.iso-form-field textarea:focus {
  outline: none;
  border-color: #D94F3D;
}

.iso-form-field textarea {
  resize: vertical;
}

.iso-budget-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.iso-budget-dollar {
  position: absolute;
  left: 12px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  pointer-events: none;
}

.iso-budget-wrap input[type="number"] {
  padding-left: 26px;
}

.iso-form-actions {
  display: flex;
  justify-content: flex-end;
}

/* Empty state */
.iso-empty {
  padding: 24px;
  border: 3px dashed rgba(26, 26, 26, 0.25);
  border-radius: 4px;
  text-align: center;
  color: rgba(26, 26, 26, 0.6);
  font-size: 15px;
}

/* ISO list */
.iso-list__title {
  font-family: "Bangers", cursive;
  font-size: 24px;
  letter-spacing: 0.03em;
  margin: 0 0 16px;
}

.iso-table {
  table-layout: auto;
}

.iso-table__item {
  max-width: 240px;
}

.iso-table__notes {
  display: block;
  font-size: 12px;
  color: rgba(26, 26, 26, 0.55);
  margin-top: 3px;
  font-style: italic;
}

/* Status badges */
.iso-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  font-family: "Nunito", sans-serif;
}

.iso-status--active {
  background-color: #5DBB63;
  color: #fff;
}

.iso-status--filled {
  background-color: #87CEEB;
  color: #1A1A1A;
}

/* Filled row — muted */
.iso-table__row--filled td {
  opacity: 0.6;
}

/* Delete button */
.iso-delete-btn {
  background: none;
  border: 2px solid #D94F3D;
  color: #D94F3D;
  border-radius: 4px;
  width: 28px;
  height: 28px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.iso-delete-btn:hover {
  background-color: #D94F3D;
  color: #fff;
}

.iso-table__actions form {
  margin: 0;
  padding: 0;
}

/* Responsive table scroll on small screens */
@media (max-width: 768px) {
  .iso-list-scroll {
    overflow-x: auto;
  }
  .iso-table {
    min-width: 560px;
  }
}

/* ==========================================================================
   In Search Of — Dynamic type field panels
   ========================================================================== */

/* Hidden by default; JS sets style.display to override */
.iso-type-fields {
  display: none;
  margin-bottom: 4px;
}

/* ==========================================================================
   In Search Of — Photo upload
   ========================================================================== */

.iso-photo-upload-field {
  margin: 20px 0 16px;
}

.iso-photo-upload-field label {
  display: block;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
  margin-bottom: 6px;
}

.iso-form-field-help {
  font-size: 13px;
  color: rgba(26, 26, 26, 0.6);
  font-weight: 400;
  margin-left: 4px;
}

p.iso-form-field-help {
  margin: 4px 0 0;
}

.iso-photo-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.iso-photo-preview__thumb {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 2px solid #1A1A1A;
  border-radius: 4px;
}

/* ==========================================================================
   In Search Of — Contact method
   ========================================================================== */

.iso-contact-method {
  border: none;
  padding: 0;
  margin: 20px 0 0;
}

.iso-contact-method legend {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
  margin-bottom: 10px;
}

.iso-contact-method__radios {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.iso-contact-method__option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.iso-contact-method__option input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: #D94F3D;
  cursor: pointer;
}

/* Contact panels — hidden by default; JS sets style.display */
.iso-contact-fields {
  display: none;
  margin-bottom: 16px;
}

/* Phone input (not in the existing iso-form-field selector) */
.iso-form-field input[type="tel"] {
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #fff;
  box-sizing: border-box;
  transition: border-color 150ms ease;
  width: 100%;
}

.iso-form-field input[type="tel"]:focus {
  outline: none;
  border-color: #D94F3D;
}

/* Social media platform sub-group */
.iso-social-platform {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.iso-social-platform__option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.iso-social-platform__option input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: #D94F3D;
  cursor: pointer;
}

/* ==========================================================================
   In Search Of — List table extras
   ========================================================================== */

.iso-table__contact {
  font-size: 13px;
  color: rgba(26, 26, 26, 0.7);
  text-transform: capitalize;
}

.iso-table__date {
  white-space: nowrap;
  font-size: 13px;
}

.iso-type-pill {
  display: inline-block;
  background-color: #87CEEB;
  border: 2px solid #1A1A1A;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 700;
  font-family: "Nunito", sans-serif;
  white-space: nowrap;
}

/* ==========================================================================
   In Search Of — Count badge and notices
   ========================================================================== */

.iso-count-badge {
  display: inline-block;
  margin-left: 8px;
  background-color: #1A1A1A;
  color: #F5F5F5;
  font-size: 12px;
  font-weight: 700;
  font-family: "Nunito", sans-serif;
  padding: 2px 8px;
  border-radius: 20px;
  vertical-align: middle;
}

.iso-notice {
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 15px;
}

.iso-notice--error {
  background-color: #fde8e6;
  border: 2px solid #D94F3D;
  color: #D94F3D;
}

.iso-limit-notice {
  margin-bottom: 24px;
}

.iso-limit-notice p {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

/* ==========================================================================
   About Page
   ========================================================================== */

.about-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  overflow: visible;
  min-height: 160px;
  display: flex;
}
@media (max-width: 768px) {
  .about-banner {
    min-height: 220px;
  }
}

.about-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 24px;
}
@media (max-width: 768px) {
  .about-banner__inner {
    padding: 8px 16px;
  }
}

.about-banner__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .about-banner__title {
    font-size: 32px;
  }
}

.about-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}

.about-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
}
.about-banner__mascot img {
  height: 110px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .about-banner__mascot {
    display: none;
  }
}

.about-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
}

.about-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}
@media (max-width: 900px) {
  .about-layout {
    grid-template-columns: 1fr;
  }
}

.about-content {
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #1A1A1A;
}
.about-content h2 {
  font-family: "Bangers", cursive;
  font-size: 36px;
  letter-spacing: 0.03em;
  margin-top: 32px;
  margin-bottom: 8px;
}
.about-content h3 {
  font-family: "Bangers", cursive;
  font-size: 26px;
  letter-spacing: 0.03em;
  margin-top: 24px;
  margin-bottom: 6px;
}
.about-content p {
  margin-bottom: 16px;
}
.about-content p:last-child {
  margin-bottom: 0;
}

.about-info-card {
  border: 3px solid #1A1A1A;
  box-shadow: 4px 4px 0px #1A1A1A;
  border-radius: 4px;
  background-color: #F5F5F5;
  padding: 24px;
}

.about-info-card__title {
  font-family: "Bangers", cursive;
  font-size: 28px;
  letter-spacing: 0.03em;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #1A1A1A;
}

.about-info-card__section {
  margin-bottom: 20px;
}
.about-info-card__section h3 {
  font-family: "Bangers", cursive;
  font-size: 18px;
  letter-spacing: 0.03em;
  margin: 0 0 4px;
  color: #D94F3D;
}
.about-info-card__section p {
  margin: 0 0 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
.about-info-card__section a {
  color: #1A1A1A;
  text-decoration: underline;
}

.about-info-card__cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 2px solid #1A1A1A;
}
.about-info-card__cta .btn {
  text-align: center;
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.contact-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  overflow: visible;
  min-height: 160px;
  display: flex;
}
@media (max-width: 768px) {
  .contact-banner {
    min-height: 220px;
  }
}

.contact-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 24px;
}
@media (max-width: 768px) {
  .contact-banner__inner {
    padding: 8px 16px;
  }
}

.contact-banner__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .contact-banner__title {
    font-size: 32px;
  }
}

.contact-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}

.contact-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
}
.contact-banner__mascot img {
  height: 110px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .contact-banner__mascot {
    display: none;
  }
}

.contact-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
}

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 768px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }
}

.contact-info__heading,
.contact-form-wrap__heading {
  font-family: "Bangers", cursive;
  font-size: 32px;
  letter-spacing: 0.03em;
  margin: 0 0 24px;
}

.contact-detail {
  margin-bottom: 24px;
}
.contact-detail h3 {
  font-family: "Bangers", cursive;
  font-size: 20px;
  letter-spacing: 0.03em;
  color: #D94F3D;
  margin: 0 0 4px;
}
.contact-detail p {
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  margin: 0 0 4px;
  line-height: 1.5;
}
.contact-detail a {
  color: #1A1A1A;
  text-decoration: underline;
}

.contact-notice {
  padding: 14px 18px;
  border-radius: 4px;
  margin-bottom: 24px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 600;
  border: 3px solid;
}
.contact-notice--success {
  background-color: #e8f7e8;
  border-color: #5DBB63;
  color: #2a6b2d;
}
.contact-notice--error {
  background-color: #fde8e6;
  border-color: #D94F3D;
  color: #D94F3D;
}

.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 20px;
}
.contact-form__field label {
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
}
.contact-form__field .required {
  color: #D94F3D;
  margin-left: 2px;
}
.contact-form__field input[type="text"],
.contact-form__field input[type="email"],
.contact-form__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 3px solid #1A1A1A;
  border-radius: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  background-color: #fff;
  box-sizing: border-box;
  transition: border-color 150ms ease;
}
.contact-form__field input:focus,
.contact-form__field textarea:focus {
  outline: none;
  border-color: #D94F3D;
}
.contact-form__field textarea {
  resize: vertical;
  min-height: 160px;
}

.contact-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ==========================================================================
   Privacy Policy Page Banner (was missing)
   ========================================================================== */

.policy-banner {
  background-color: #87CEEB;
  border-bottom: 3px solid #1A1A1A;
  box-shadow: 0 4px 0 #1A1A1A;
  overflow: visible;
  min-height: 160px;
  display: flex;
}
@media (max-width: 768px) {
  .policy-banner {
    min-height: 220px;
  }
}
.policy-banner__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 24px;
}
@media (max-width: 768px) {
  .policy-banner__inner {
    padding: 8px 16px;
  }
}
.policy-banner__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.policy-banner__title {
  font-family: "Bangers", cursive;
  font-size: 48px;
  letter-spacing: 0.03em;
  color: #1A1A1A;
  margin: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .policy-banner__title {
    font-size: 32px;
  }
}
.policy-banner__sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.7);
  margin: 0;
}
.policy-banner__mascot {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
}
.policy-banner__mascot img {
  height: 110px;
  width: auto;
  display: block;
}
@media (max-width: 480px) {
  .policy-banner__mascot {
    display: none;
  }
}
.policy-page-container {
  padding-top: 48px;
  padding-bottom: 64px;
}
.policy-content {
  max-width: 800px;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
