/**
 * Pocket Monster global design tokens.
 * Loaded globally because these variables are reused across custom components.
 */

:root {
  /* Pocket Monster brand colors */
  --pm-yellow: #efbf0b;
  --pm-dark: #1e1e1e;
  --pm-grey-dark: #353535;
  --pm-surface: #282828;
  --pm-white: #ffffff;

  --pm-blue: #007cc1;
  --pm-blue-light: #44c0f0;
  --pm-black: #000000;
  --pm-grey: #636363;
  --pm-red: #ff1d1d;

  /* Existing component tones. Centralised without changing their appearance. */
  --pm-panel: #252525; /* Shared dark panels; preserve existing contrast */
  --pm-decoration-grey: #484848; /* Hero decoration and neutral Pokemon badge */
  --pm-stock-color: #3399ff; /* Existing lighter stock-status blue; deliberate exception */
  --pm-product-tab-muted: #d6d6d6; /* Existing inactive product-tab text */
  --pm-footer-accent: #f9c900; /* Existing footer accent; retained pending design decision */
  --pm-footer-text: #f7f7f7; /* Existing footer foreground */
  --pm-footer-muted: #c8c8c8; /* Existing footer secondary text */
  --pm-footer-icon-border: #555; /* Existing social-icon outline */
  --pm-footer-divider: #2d2d2d; /* Existing footer bottom divider */
  --pm-footer-fine-print: #9d9d9d; /* Existing copyright text */
  --pm-text-subtle: #bdbdbd; /* Existing secondary links and Pokemon counts */
  --pm-brand-description: #f2f2f2; /* Existing expansion description text */
  --pm-card-hover: #2b2b2b; /* Existing expansion card hover surface */
  --pm-text-secondary: #cfcfcf; /* Existing expansion metadata and countdown labels */
  --pm-countdown-text: #d7d7d7; /* Existing countdown status text */
  --pm-featured-intro: #d4d4d4; /* Existing Pokemon featured introduction */
  --pm-featured-image-surface: #f5f5f5; /* Existing Pokemon card image backdrop */
  --pm-featured-meta: #bfbfbf; /* Existing Pokemon card metadata */
  --pm-index-intro: #d8d8d8; /* Existing Pokemon index introduction */
  --pm-pokemon-image-surface: #f6f6f6; /* Existing Pokemon profile and evolution backdrops */
  --pm-pokemon-copy: #ededed; /* Existing Pokemon profile copy */
  --pm-blue-accordion-hover: #006fac; /* Existing darker accordion hover */
  --pm-yellow-hover: var(--wp--preset--color--color-1, #b18e0c); /* Botiga's configured yellow button hover. */

  /* Text */
  --pm-text-light: #cccccc;
  --pm-text-muted: #999999;

  /* Typography */
  --pm-font-main: "Lato", Arial, sans-serif;

  /* UI */
  --pm-radius-button: 999px;
  --pm-radius-small: 3px;
}

/* Keep Pocket Monster custom components aligned with the brand font */
[class^="pm-"],
[class*=" pm-"] {
  font-family: var(--pm-font-main);
}

/* Ordinary editorial links, including shop content and its Gutenberg preview. */
:is(.entry-content, .pm-shop-landing, .pm-shop-bottom) p a:where(:not(.button, .wp-element-button)) {
  color: var(--pm-yellow);
  text-decoration: none;
}
:is(.entry-content, .pm-shop-landing, .pm-shop-bottom) p a:where(:not(.button, .wp-element-button)):hover {
  color: var(--pm-yellow);
  text-decoration: underline;
  text-underline-offset: .2em;
}
:is(.entry-content, .pm-shop-landing, .pm-shop-bottom) p a:where(:not(.button, .wp-element-button)):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  text-decoration: underline;
  text-underline-offset: .2em;
}

/* Botiga hard-codes these notices light. Let them follow Colors > General >
 * Content cards background, just like the other WooCommerce content cards. */
.woocommerce-info,
.woocommerce-noreviews,
.woocommerce p.no-comments {
  background-color: var(--bt-color-content-cards-bg, var(--pm-dark));
  color: var(--bt-color-body-text, var(--pm-white));
}
:is(.woocommerce-info, .woocommerce-noreviews) a:where(:not(.button)) {
  color: var(--pm-yellow);
  text-decoration: none;
}
:is(.woocommerce-info, .woocommerce-noreviews) a:where(:not(.button)):hover {
  text-decoration: underline;
}
:is(.woocommerce-info, .woocommerce-noreviews) a:focus-visible {
  outline: 2px solid var(--pm-yellow);
  outline-offset: 3px;
}

/* Style Botiga's existing WooCommerce checkboxes, including Remember me.
 * The input is hidden by Botiga; its adjacent span draws the box and tick. */
.woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.woocommerce-form__label-for-checkbox input[type="checkbox"] + span:not(.required)::after {
  background-color: var(--pm-grey-dark);
  border-color: var(--pm-text-subtle);
  border-radius: var(--pm-radius-small);
}
.woocommerce-form__label-for-checkbox input[type="checkbox"] + span:not(.required)::before {
  z-index: 1;
  border-color: var(--pm-dark);
}
.woocommerce-form__label-for-checkbox input[type="checkbox"]:checked + span:not(.required)::after {
  background-color: var(--pm-yellow);
  border-color: var(--pm-yellow);
}
.woocommerce-form__label-for-checkbox input[type="checkbox"]:focus-visible + span:not(.required)::after {
  outline: 2px solid var(--pm-yellow);
  outline-offset: 3px;
}
.woocommerce-form__label-for-checkbox input[type="checkbox"]:disabled + span {
  opacity: .5;
}

/* Utility */
.pm-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* =========================================================
   Pocket Monster breadcrumb
   Global styling only.
   Page-specific spacing belongs in the page CSS file.
   ========================================================= */

.woocommerce-breadcrumb.pm-breadcrumb {
  margin: 0;
  color: var(--pm-white);
  opacity: 1;
  font-family: var(--pm-font-main);
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
}

.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__inner {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px;
}

.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  color: var(--pm-white);
  opacity: 1;
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
}

.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item a,
.woocommerce-breadcrumb.pm-breadcrumb a {
  color: var(--pm-white);
  opacity: 1;
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
  text-decoration: none;
}

.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item a:hover,
.woocommerce-breadcrumb.pm-breadcrumb a:hover {
  color: var(--pm-yellow);
  text-decoration: none;
}

/* First item box: Forside/Home */
.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item:first-child a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 13px;
  background: var(--pm-grey-dark);
  color: var(--pm-white);
}

/* Separator */
.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 12px;
  color: var(--pm-white);
  opacity: 1;
  font-size: 13px;
  font-weight: 700;
  line-height: 26px;
}

/* Current item */
.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item:last-child,
.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item:last-child a,
.woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item:last-child span {
  color: var(--pm-yellow);
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
}

@media (max-width: 767px) {
  .woocommerce-breadcrumb.pm-breadcrumb,
  .woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item,
  .woocommerce-breadcrumb.pm-breadcrumb a {
    font-size: 13px;
    line-height: 22px;
  }

  .woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__item:first-child a {
    min-height: 28px;
    padding: 0 11px;
  }

  .woocommerce-breadcrumb.pm-breadcrumb .pm-breadcrumb__sep {
    margin: 0 9px;
    font-size: 13px;
    line-height: 22px;
  }
}

/* Spacing only for newly added ordinary-page breadcrumbs. */
.pm-page-breadcrumb {
  padding-top: 24px;
}
.pm-page-breadcrumb + .content-wrapper {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .pm-page-breadcrumb {
    padding-inline: 32px;
  }
}

/* =========================================================
   Desktop header and navigation
   Botiga handles structure and interactions; Pocket Monster
   only adjusts hierarchy, spacing and brand presentation.
   ========================================================= */

@media (min-width: 992px) {
  .bhfb-desktop .bhfb-main_header_row > .container-fluid {
    width: calc(100% - 40px);
    max-width: 1600px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
  }

  /* Keep the logo optically centred in the header row. The source image is 198px wide. */
  .bhfb-desktop .bhfb-component-logo {
    display: flex;
    align-items: center;
    height: 100%;
  }

  .bhfb-desktop .bhfb-component-menu .main-navigation > div > ul {
    column-gap: clamp(10px, 0.75vw, 14px);
    flex-wrap: nowrap;
    justify-content: flex-end;
  }

  .bhfb-desktop .bhfb-component-menu .main-navigation > div > ul > li {
    flex: 0 0 auto;
    /* The parent gap replaces Botiga's additional item margins. */
    margin-inline: 0;
  }

  .bhfb-desktop .bhfb-component-menu .main-navigation > div > ul > li > a {
    white-space: nowrap;
    font-family: var(--pm-font-main);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: uppercase;
  }

  @media (min-width: 1700px) {
    .bhfb-desktop .bhfb-component-menu .main-navigation > div > ul > li > a {
      font-size: 13px;
    }
  }

  .bhfb-desktop .pm-menu-shop > a {
    color: var(--pm-yellow);
  }

  /* Standard dropdowns below direct top-level category links. */
  .bhfb-desktop .main-navigation > div > ul > li:not(.is-mega-menu) > .sub-menu {
    min-width: 240px;
    padding: 10px 0;
    border: 1px solid var(--pm-grey-dark);
    background: var(--pm-panel);
  }

  .bhfb-desktop .main-navigation > div > ul > li:not(.is-mega-menu) > .sub-menu > li > a {
    padding: 8px 18px;
    color: var(--pm-white);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
  }

  .bhfb-desktop .main-navigation > div > ul > li:not(.is-mega-menu) > .sub-menu > li > a:hover {
    color: var(--pm-yellow);
  }

  /* Pro's white dropdown rule wins over Botiga's generated color; its pseudo-layer has no setting. */
  header.bhfb-desktop .botiga-mega-menu > .sub-menu.botiga-dropdown-ul,
  header.bhfb-desktop .botiga-mega-menu.botiga-mega-menu-contained-full-width > .sub-menu.botiga-dropdown-ul::before {
    background-color: var(--pm-dark);
  }

  /* Keep a subtle visual divider between Botiga's native mega-menu columns. */
  .bhfb-desktop .botiga-mega-menu > .sub-menu > .botiga-mega-menu-column:not(:first-child) {
    border-left: 1px solid color-mix(in srgb, var(--pm-white) 8%, transparent);
  }

  .bhfb-desktop .botiga-mega-menu .is-mega-menu-heading {
    margin: 0 0 12px;
    color: var(--pm-yellow);
    font-family: var(--pm-font-main);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: uppercase;
  }

  .bhfb-desktop .botiga-mega-menu-column > .sub-menu > li > a.botiga-mega-menu-link {
    padding: 7px 0;
    color: var(--pm-white);
    font-family: var(--pm-font-main);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
  }

  .bhfb-desktop .botiga-mega-menu-column > .sub-menu > li > a.botiga-mega-menu-link:hover {
    color: var(--pm-yellow);
  }

  /* Desktop mega-menu icons sit in the gutter so heading text aligns with the links below. */
  .bhfb-desktop .pm-mega-heading-icon > .is-mega-menu-heading {
    position: relative;
    padding-left: 0 !important;
    background: none !important;
  }

  .bhfb-desktop .pm-mega-heading-icon > .is-mega-menu-heading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -23px;
    width: 18px;
    height: 18px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }

  .bhfb-desktop .pm-mega-heading-icon--cards > .is-mega-menu-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E");
  }

  .bhfb-desktop .pm-mega-heading-icon--merch > .is-mega-menu-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16v11H4zM3 6h18v3H3zM12 6v14M8.5 6C6 6 5 4.5 6 3.5 7.5 2 10.5 4 12 6m3.5 0C18 6 19 4.5 18 3.5 16.5 2 13.5 4 12 6'/%3E%3C/svg%3E");
  }

  .bhfb-desktop .pm-mega-heading-icon--shop > .is-mega-menu-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 13H5L6 8Z'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E");
  }

  .bhfb-desktop .pm-mega-heading-icon--types > .is-mega-menu-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.2 5.3L20 10.5l-5.8 2.2L12 18l-2.2-5.3L4 10.5l5.8-2.2L12 3Z'/%3E%3C/svg%3E");
  }

  .bhfb-desktop .pm-mega-heading-icon--series > .is-mega-menu-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 12 9 5 9-5M3 16l9 5 9-5'/%3E%3C/svg%3E");
  }

  /* Pokémon card series: show series first; expansions stay nested. */
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children {
    position: relative;
    margin-bottom: 6px;
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li > .is-mega-menu-heading {
    margin: 0;
    padding: 6px 24px 6px 0;
    font-size: 13px;
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    max-height: 0;
    margin: 0;
    padding: 0 0 0 12px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: none;
    box-shadow: none;
    background: transparent;
    transition: max-height 180ms ease, opacity 120ms ease;
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children:hover > .sub-menu,
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children:focus-within > .sub-menu {
    max-height: 320px;
    padding-top: 2px;
    padding-bottom: 6px;
    opacity: 1;
    visibility: visible;
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li > .sub-menu > li > a.botiga-mega-menu-link {
    padding: 4px 0;
    font-size: 13px;
  }

  /* The main section heading stays yellow; series names are secondary navigation. */
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children > .is-mega-menu-heading {
    color: var(--pm-white);
    background: transparent;
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children:hover > .is-mega-menu-heading,
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children:focus-within > .is-mega-menu-heading {
    color: var(--pm-yellow);
  }

  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children,
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children > .sub-menu,
  .bhfb-desktop .pm-menu-expansion-groups > .sub-menu > li.menu-item-has-children > .sub-menu > li {
    background: transparent;
  }

  /* Compact language switcher beside the utility icons. */
  .bhfb-desktop .bhfb-component-wpml_switcher .wpml-ls-legacy-list-horizontal {
    padding: 0;
    border: 0;
  }

  .bhfb-desktop .bhfb-component-wpml_switcher .wpml-ls-legacy-list-horizontal ul {
    display: inline-flex;
    align-items: center;
  }

  .bhfb-desktop .bhfb-component-wpml_switcher .wpml-ls-legacy-list-horizontal a {
    padding: 7px 10px;
    border: 1px solid var(--pm-grey-dark);
    color: var(--pm-white);
    font-family: var(--pm-font-main);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
  }

  .bhfb-desktop .bhfb-component-wpml_switcher .wpml-ls-current-language a {
    background: var(--pm-grey-dark);
  }

  .bhfb-desktop .bhfb-component-wpml_switcher .wpml-ls-display {
    display: none;
  }
}

/* Avoid baseline space below the native logo. */
.bhfb .custom-logo-link {
  display: block;
}

/* Mobile navigation uses its own compact information architecture. */
@media (max-width: 1024px) {
  /* Botiga exposes account/wishlist visibility globally, not per device. Keep cart only in the mobile header. */
  .bhfb-mobile .bhfb-component-woo_icons .wc-account-link,
  .bhfb-mobile .bhfb-component-woo_icons .header-wishlist-icon {
    display: none;
  }

  /* Botiga toggles the same panel; only mirror its closed direction to the right. */
  .bhfb-mobile_offcanvas.botiga-offcanvas-menu {
    width: min(360px, 100vw);
    max-width: 100vw;
    left: auto;
    right: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  .bhfb-mobile_offcanvas.botiga-offcanvas-menu.toggled {
    -webkit-transform: none;
    transform: none;
  }

  /* Reserve a clear top-right zone for Botiga's close control so it never collides with a dropdown arrow. */
  .bhfb-mobile_offcanvas .mobile-menu-close {
    top: 14px;
    right: 16px;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--pm-white);
    opacity: 1;
    z-index: 10;
  }

  .bhfb-mobile_offcanvas .mobile-menu-close svg {
    width: 22px;
    height: 22px;
    overflow: visible;
  }

  .bhfb-mobile_offcanvas .mobile-menu-close svg path {
    fill: var(--pm-white);
  }

  .bhfb-mobile_offcanvas .bhfb-mobile-offcanvas-rows {
    padding-top: 58px;
  }

  /* Use brand surfaces to show depth; keep the same readable type at every level. */
  .bhfb-mobile_offcanvas .main-navigation li.botiga-dropdown-li > a.botiga-dropdown-link {
    color: var(--pm-white);
    font-size: 16px;
    font-weight: 400;
  }

  .bhfb-mobile_offcanvas .main-navigation .sub-menu.botiga-dropdown-ul {
    background-color: var(--pm-dark);
  }

  .bhfb-mobile_offcanvas .main-navigation .sub-menu.botiga-dropdown-ul li.botiga-dropdown-li {
    background-color: inherit;
  }

  .bhfb-mobile_offcanvas .main-navigation .sub-menu .sub-menu.botiga-dropdown-ul {
    background-color: var(--pm-grey-dark);
  }

  .bhfb-mobile_offcanvas .main-navigation li.botiga-dropdown-li > a.botiga-dropdown-link:hover,
  .bhfb-mobile_offcanvas .main-navigation li.botiga-dropdown-li > a.botiga-dropdown-link:focus-visible,
  .bhfb-mobile_offcanvas .main-navigation li.current-menu-item > a.botiga-dropdown-link {
    color: var(--pm-white);
    box-shadow: inset 3px 0 0 var(--pm-yellow);
  }

  .bhfb-mobile_offcanvas .main-navigation .dropdown-symbol:focus-visible {
    outline: 2px solid var(--pm-white);
    outline-offset: -2px;
  }

  /* Separate shopping navigation from guides/store/company links without adding another menu item. */
  .bhfb-mobile_offcanvas .pm-mobile-menu-separator {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--pm-white) 12%, transparent);
  }

  .bhfb-mobile_offcanvas .pm-mobile-utility-start {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--pm-white) 12%, transparent);
  }

  /* Lightweight icon system: decorate links without changing Botiga's native menu layout. */
  .bhfb-mobile_offcanvas .pm-mobile-icon > a.botiga-dropdown-link {
    position: relative;
    padding-left: 32px;
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon > a.botiga-dropdown-link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: var(--pm-white);
    -webkit-mask: var(--pm-mobile-icon) center / contain no-repeat;
    mask: var(--pm-mobile-icon) center / contain no-repeat;
    transform: translateY(-50%);
  }

  .bhfb-mobile_offcanvas .pm-mobile-utility.pm-mobile-icon > a.botiga-dropdown-link::before,
  .bhfb-mobile_offcanvas .pm-mobile-utility-start.pm-mobile-icon > a.botiga-dropdown-link::before {
    background-color: color-mix(in srgb, var(--pm-white) 72%, transparent);
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--cards {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--bamse {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='7' r='2'/%3E%3Ccircle cx='16' cy='7' r='2'/%3E%3Ccircle cx='12' cy='11' r='5'/%3E%3Cpath d='M8.5 15.5 7 21m8.5-5.5L17 21M9.5 11h.01m5-.01h.01M11 13h2'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--figure {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2.5'/%3E%3Cpath d='M8 21l1-7-3-3m10 10-1-7 3-3M9 9h6l1 5H8l1-5Z'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--jp {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16M6 5v4h12V5M8 9v10m8-10v10M6 19h12'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--binder {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v17H6.5A2.5 2.5 0 0 1 4 17.5v-12Z'/%3E%3Cpath d='M8 3v17M12 7h5'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--sale {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13 13 20 4 11V4h7l9 9Z'/%3E%3Ccircle cx='8.5' cy='8.5' r='1'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--grid {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='4' width='6' height='6' rx='1'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--guide {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a3 3 0 0 1 3-3h5v18H7a3 3 0 0 0-3 3V5Zm16 0a3 3 0 0 0-3-3h-5v18h5a3 3 0 0 1 3 3V5Z'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--store {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3 10l2-6h14l2 6M8 20v-6h8v6'/%3E%3Cpath d='M3 10c0 2 3 2 3 0 0 2 3 2 3 0 0 2 3 2 3 0 0 2 3 2 3 0 0 2 3 2 3 0 0 2 3 2 3 0'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--account {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.2-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E");
  }

  .bhfb-mobile_offcanvas .pm-mobile-icon--wishlist {
    --pm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
  }
}

/* =========================================================
   Botiga Pro side mini cart.
   Botiga owns behavior; these rules only apply Pocket Monster branding.
   ========================================================= */

.botiga-side-mini-cart .botiga-side-mini-cart__body {
  background-color: var(--pm-surface);
  color: var(--pm-white);
  border-left: 1px solid var(--pm-grey-dark);
}

.botiga-side-mini-cart .widgettitle {
  padding-bottom: 18px;
  color: var(--pm-white);
  border-bottom: 1px solid var(--pm-grey-dark);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
}

.botiga-side-mini-cart .botiga-side-mini-cart__close-button {
  color: var(--pm-text-light);
}

.botiga-side-mini-cart .botiga-side-mini-cart__close-button svg,
.botiga-side-mini-cart .botiga-side-mini-cart__close-button svg path {
  fill: currentColor;
}

.botiga-side-mini-cart .botiga-side-mini-cart__close-button:hover,
.botiga-side-mini-cart .botiga-side-mini-cart__close-button:focus-visible {
  color: var(--pm-yellow);
}

.botiga-side-mini-cart .woocommerce-mini-cart-item {
  border-color: var(--pm-grey-dark);
}

.botiga-side-mini-cart .woocommerce-mini-cart-item > a:not(.remove),
.botiga-side-mini-cart .woocommerce-mini-cart-item > a:not(.remove):visited {
  color: var(--pm-white);
  font-weight: 700;
}

.botiga-side-mini-cart .woocommerce-mini-cart-item > a:not(.remove):hover,
.botiga-side-mini-cart .woocommerce-mini-cart-item > a:not(.remove):focus-visible {
  color: var(--pm-yellow);
}

.botiga-side-mini-cart .woocommerce-mini-cart-item img {
  background-color: var(--pm-white);
  border-radius: var(--pm-radius-small);
}

.botiga-side-mini-cart .woocommerce-mini-cart-item a.remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--pm-yellow) !important;
  background-color: var(--pm-surface) !important;
  border: 1px solid var(--pm-yellow);
  border-radius: 50%;
  box-sizing: border-box;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 22px !important;
}

.botiga-side-mini-cart .woocommerce-mini-cart-item a.remove:hover,
.botiga-side-mini-cart .woocommerce-mini-cart-item a.remove:focus-visible {
  color: var(--pm-dark) !important;
  background-color: var(--pm-yellow) !important;
  border-color: var(--pm-yellow);
}

.botiga-side-mini-cart .woocommerce-mini-cart-item a.remove:focus-visible {
  outline: 2px solid var(--pm-white);
  outline-offset: 2px;
}

.botiga-side-mini-cart .quantity-wrap .quantity {
  background-color: var(--pm-grey-dark);
  border: 1px solid var(--pm-grey);
  border-radius: var(--pm-radius-small);
}

.botiga-side-mini-cart .quantity-wrap .quantity input.qty {
  color: var(--pm-white);
}

.botiga-side-mini-cart .quantity-wrap .botiga-quantity-minus,
.botiga-side-mini-cart .quantity-wrap .botiga-quantity-plus {
  color: var(--pm-white);
}

.botiga-side-mini-cart .quantity-wrap .botiga-quantity-minus:hover,
.botiga-side-mini-cart .quantity-wrap .botiga-quantity-plus:hover,
.botiga-side-mini-cart .quantity-wrap .botiga-quantity-minus:focus-visible,
.botiga-side-mini-cart .quantity-wrap .botiga-quantity-plus:focus-visible {
  color: var(--pm-yellow);
}

/* Keep mobile quantity controls in the item flow, below the product name. */
@media (max-width: 575px) {
  .botiga-side-mini-cart .product_list_widget li:has(> .quantity-wrap) {
    display: grid;
    grid-template-columns: 52px 72px minmax(0, 1fr);
    gap: 8px 12px;
    align-items: center;
    min-height: 116px;
    padding: 16px 0;
  }

  .botiga-side-mini-cart .product_list_widget li:has(> .quantity-wrap) > a:not(.remove) {
    grid-column: 2 / -1;
    min-width: 0;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .botiga-side-mini-cart .product_list_widget li:has(> .quantity-wrap) > a:not(.remove) img {
    position: absolute;
    top: 16px;
    left: 0;
    width: 52px;
    height: auto;
    max-height: 80px;
    margin: 0;
    object-fit: contain;
  }

  .botiga-side-mini-cart .product_list_widget li > .quantity-wrap {
    position: static;
    grid-column: 2;
    grid-row: 2;
    width: 72px;
  }

  .botiga-side-mini-cart .product_list_widget li > .quantity-wrap > .quantity {
    width: 72px;
    height: 44px;
    margin: 0;
  }

  .botiga-side-mini-cart .product_list_widget li > .quantity-wrap input.qty {
    width: 100%;
    min-width: 0;
    height: 42px;
    font-size: 16px;
  }

  .botiga-side-mini-cart .product_list_widget li > .quantity-wrap > .quantity:not(:has(> a.show)) input.qty {
    padding: 0 8px;
    text-align: center;
  }

  .botiga-side-mini-cart .product_list_widget li:has(> .quantity-wrap) > span.quantity {
    grid-column: 3;
    justify-content: flex-end;
    text-align: right;
    grid-row: 2;
    width: auto;
    min-width: 0;
    margin: 0;
    flex-wrap: wrap;
    align-items: center;
  }
}

.botiga-side-mini-cart .woocommerce-mini-cart__total {
  color: var(--pm-white);
  border-color: var(--pm-grey-dark);
}

.botiga-side-mini-cart .woocommerce-mini-cart__total.total {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 20px 0;
}

.botiga-side-mini-cart .woocommerce-mini-cart__total.total strong {
  color: var(--pm-white);
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
}

.botiga-side-mini-cart .woocommerce-mini-cart__total.total .amount,
.botiga-side-mini-cart .woocommerce-mini-cart__total.total .amount * {
  color: var(--pm-yellow);
  font-size: 18px;
  font-weight: 900;
}

.botiga-side-mini-cart .woocommerce-mini-cart__total.botiga-final-total {
  display: none !important;
}

/* Botiga clones these controls into its sticky action area. Hide only the
 * originals so they cannot appear a second time when the product list scrolls. */
.botiga-side-mini-cart .widget_shopping_cart_content > .woocommerce-mini-cart__total,
.botiga-side-mini-cart .widget_shopping_cart_content > .woocommerce-mini-cart__buttons {
  display: none !important;
}

.botiga-side-mini-cart .side-mini-cart-actions-wrapper > .woocommerce-mini-cart__total.total {
  flex-wrap: wrap;
  padding: 18px 14px;
}

/* Merchant controls the visual design; this rule only makes its bar a full-width
 * first row in Botiga's existing sticky action area. */
.botiga-side-mini-cart .widget_shopping_cart_content .pm-mini-cart-freespb-source {
  display: none;
}

.botiga-side-mini-cart .side-mini-cart-actions-wrapper > .pm-mini-cart-freespb {
  order: -1;
  flex: 0 0 100%;
  width: 100%;
  margin: 0;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 !important;
}

.botiga-side-mini-cart .side-mini-cart-actions-wrapper > .woocommerce-mini-cart__buttons {
  padding: 14px !important;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button,
.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:visited {
  width: 100% !important;
  min-width: 0;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 10px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  font-size: 14px !important;
  font-weight: 900;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-align: center;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:first-child {
  order: 1;
  border-radius: var(--pm-radius-small) 0 0 var(--pm-radius-small);
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:last-child {
  order: 2;
  border-radius: 0 var(--pm-radius-small) var(--pm-radius-small) 0;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons::after {
  order: 3;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout),
.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout):visited {
  background: var(--pm-blue) !important;
  border-color: var(--pm-blue) !important;
  color: var(--pm-white) !important;
  text-decoration: none;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.botiga-side-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout):focus-visible {
  background: var(--pm-blue) !important;
  border-color: var(--pm-blue) !important;
  color: var(--pm-white) !important;
  opacity: 0.92;
  text-decoration: none;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .checkout,
.botiga-side-mini-cart .woocommerce-mini-cart__buttons .checkout:visited {
  background-color: var(--pm-yellow);
  border-color: var(--pm-yellow);
  color: var(--pm-dark);
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons .checkout:hover,
.botiga-side-mini-cart .woocommerce-mini-cart__buttons .checkout:focus-visible {
  background-color: var(--pm-yellow);
  border-color: var(--pm-yellow);
  color: var(--pm-dark);
  opacity: 0.92;
}

.botiga-side-mini-cart .woocommerce-mini-cart__buttons::after {
  content: "";
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  background-color: var(--pm-dark);
  background-repeat: no-repeat;
  border-top: 1px solid var(--pm-grey-dark);
}

.botiga-side-mini-cart.show .woocommerce-mini-cart__buttons::after {
  background-image: url("../img/minicart-footer.webp");
  background-position: center;
  background-size: contain;
}

@media (min-width: 2000px) {
  .bhfb-desktop .bhfb-main_header_row > .container-fluid {
    max-width: 1760px;
  }

}

