/* ==========================================================================
   BESTIES BUM  -  WordPress + WooCommerce layer
   Loads after brand.css (design system shared with the static preview).
   ========================================================================== */

/* ---------- header bits added by the theme ---------- */
body { margin: 0; }
.bb-brand-wrap { margin: 0; min-width: 0; justify-self: center; font-size: inherit; }
.bb-brand, .bb-footer__brand b { text-transform: uppercase; }
.bb-footer__brand img { flex: none; }
@media (max-width: 640px) { .bb-brand-wrap { overflow: hidden; } }
.bb-skip:focus {
  position: fixed; z-index: 100; top: 10px; left: 10px;
  width: auto; height: auto; clip: auto; padding: 12px 18px;
  background: var(--bb-cream); color: var(--bb-pink); font-weight: 900; border-radius: 999px;
}
.bb-nav__list { margin-block: 0; }
.bb-nav__list li { list-style: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.admin-bar .bb-skip:focus { top: 42px; }
:focus-visible { outline: 3px solid var(--bb-pink); outline-offset: 2px; }

/* ---------- generic inner pages ---------- */
.bb-page, .bb-shop { padding: clamp(28px, 5vw, 72px) 0 clamp(48px, 7vw, 96px); min-height: 50vh; }
.bb-wrap--narrow { max-width: 920px; }
.bb-wrap--wide { max-width: var(--bb-wrap); }

.bb-page__title,
.woocommerce-products-header__title.page-title,
.bb-shop .page-title {
  margin: 0 0 clamp(20px, 3vw, 40px);
  text-align: center;
  color: #fff;
  font: 900 clamp(2rem, 5.5vw, 4rem)/1.05 var(--bb-font-head);
  letter-spacing: .02em;
  text-transform: uppercase;
  -webkit-text-stroke: .14em var(--bb-pink);
  paint-order: stroke fill;
  text-shadow: 0 .06em 0 var(--bb-pink);
  overflow-wrap: anywhere;
}

.bb-box {
  background: var(--bb-cream);
  border: var(--bb-border) solid #fff;
  padding: clamp(18px, 3.4vw, 44px);
  box-shadow: 0 10px 0 rgba(0, 0, 0, .08);
}
.bb-box + .bb-box, .bb-box + .post-navigation { margin-top: 28px; }
.bb-meta { margin: 0 0 1em; color: var(--bb-muted); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: .8rem; }
.bb-page__thumb { margin: 0 0 1.5em; }
.bb-page__thumb img { height: auto; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content .alignwide { margin-inline: calc(-1 * clamp(18px, 3.4vw, 44px)); max-width: none; }
.entry-content .alignleft { float: left; margin: .3em 1.5em 1em 0; }
.entry-content .alignright { float: right; margin: .3em 0 1em 1.5em; }
.entry-content .aligncenter { margin-inline: auto; display: block; }
.wp-caption-text, .wp-element-caption { color: var(--bb-muted); font-size: .85rem; text-align: center; }
.entry-content .wp-block-image img { border: var(--bb-border) solid #fff; }
.entry-content blockquote { margin: 1.5em 0; padding: 1em 1.4em; border-left: 6px solid var(--bb-pink); background: #fff; font-weight: 800; }

.bb-card__excerpt { margin: 0; color: var(--bb-muted); font-size: .92rem; line-height: 1.5; }
.bb-posts { margin-bottom: 36px; }

.bb-empty { text-align: center; }
.bb-empty p { font-size: 1.1rem; }
.bb-404__code { margin: 0; color: var(--bb-pink); font: 900 clamp(4.5rem, 16vw, 9rem)/1 var(--bb-font-head); }
.bb-404 h1 { margin: .2em 0 .4em; font: 900 clamp(1.3rem, 3vw, 1.8rem)/1.2 var(--bb-font-head); text-transform: uppercase; }

.bb-searchform { display: flex; gap: 10px; max-width: 560px; margin: 18px auto; }
.bb-searchform input[type='search'] {
  flex: 1; min-width: 0; padding: .8em 1.1em;
  border: 3px solid var(--bb-pink-soft); border-radius: 999px; background: #fff;
  color: var(--bb-ink); font: 700 1rem var(--bb-font-body);
}

/* pagination (blog + shop) */
.nav-links, .woocommerce nav.woocommerce-pagination ul {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; border: 0; margin: 0; padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; float: none; }
.nav-links .page-numbers,
.woocommerce nav.woocommerce-pagination ul li .page-numbers {
  display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px;
  border: 3px solid var(--bb-cream); border-radius: 999px; background: #fff;
  color: var(--bb-pink); font: 900 1rem/1 var(--bb-font-head); text-decoration: none;
}
.nav-links .page-numbers.current,
.nav-links .page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--bb-pink); color: var(--bb-cream); }
.post-navigation .nav-links { justify-content: space-between; }
.post-navigation a { color: var(--bb-ink); font-weight: 900; text-decoration: none; }

/* comments */
.bb-comments { margin-top: 28px; }
.bb-comments__title, .comment-reply-title { margin: 0 0 1em; color: var(--bb-pink); font: 900 1.4rem var(--bb-font-head); text-transform: uppercase; }
.comment-list { padding-left: 0; list-style: none; }
.comment-list .comment { margin: 0 0 18px; padding: 16px; background: #fff; border: 2px solid var(--bb-pink-soft); }
.comment-list .avatar { border-radius: 50%; vertical-align: middle; margin-right: 8px; }

/* ---------- forms (WP + Woo) ---------- */
.bb-page input[type='text'], .bb-page input[type='email'], .bb-page input[type='tel'],
.bb-page input[type='password'], .bb-page input[type='number'], .bb-page input[type='url'],
.bb-page textarea, .bb-page select,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select,
.woocommerce-page form .form-row .input-text,
.woocommerce .quantity .qty {
  padding: .75em 1em;
  border: 3px solid var(--bb-pink-soft);
  border-radius: 14px;
  background: #fff;
  color: var(--bb-ink);
  font: 700 1rem var(--bb-font-body);
  box-shadow: none;
  max-width: 100%;
}
.bb-page input:focus, .bb-page textarea:focus, .bb-page select:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce .quantity .qty:focus { outline: 0; border-color: var(--bb-pink); box-shadow: 0 0 0 4px rgba(235, 46, 125, .15); }
.woocommerce form .form-row label, .bb-page label { font-weight: 800; color: var(--bb-muted); }
.woocommerce .quantity .qty { width: 5em; text-align: center; }

/* ---------- buttons: every Woo / core button becomes a pill ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button,
.wp-element-button, .wp-block-button__link, .bb-page input[type='submit'],
.wc-block-components-button:not(.is-link), .bb-comments .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  padding: .85em 1.6em;
  border: 3px solid var(--bb-cream);
  border-radius: 999px;
  background: var(--bb-pink);
  color: var(--bb-cream);
  font: 900 .9rem/1.1 var(--bb-font-head);
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 5px 0 var(--bb-pink-deep);
  transition: transform .15s, box-shadow .15s, background .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wp-element-button:hover, .wp-block-button__link:hover, .bb-page input[type='submit']:hover,
.wc-block-components-button:not(.is-link):hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 0 var(--bb-pink-deep);
  background: var(--bb-pink);
  color: #fff;
}
.woocommerce a.button:active, .woocommerce button.button:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--bb-pink-deep); }
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .55; padding: .85em 1.6em; color: var(--bb-cream); background: var(--bb-pink); }
.woocommerce a.button.loading::after, .woocommerce button.button.loading::after { position: static; margin-left: .5em; }
/* secondary actions */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .coupon .button,
.woocommerce button[name='update_cart'] { background: var(--bb-blue); box-shadow: 0 5px 0 var(--bb-blue-deep); }
.woocommerce .woocommerce-message .button:hover,
.woocommerce .coupon .button:hover,
.woocommerce button[name='update_cart']:hover { background: var(--bb-blue); box-shadow: 0 7px 0 var(--bb-blue-deep); }

/* ---------- notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
  border: 3px solid #fff;
  border-radius: 16px;
  background: var(--bb-cream);
  color: var(--bb-ink);
  font-weight: 800;
  box-shadow: 0 6px 0 rgba(0, 0, 0, .07);
}
.woocommerce-message { border-top: 3px solid #fff; border-left: 8px solid #2dbb6e; }
.woocommerce-info { border-top: 3px solid #fff; border-left: 8px solid var(--bb-blue); }
.woocommerce-error { border-top: 3px solid #fff; border-left: 8px solid #d81b1b; }
.woocommerce-message::before { color: #2dbb6e; }
.woocommerce-info::before { color: var(--bb-blue); }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { color: var(--bb-pink); }

/* ---------- breadcrumbs ---------- */
.woocommerce .woocommerce-breadcrumb.bb-crumbs {
  display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center;
  margin: 0 0 clamp(14px, 2vw, 24px);
  color: var(--bb-ink);
  font: 800 .8rem/1.3 var(--bb-font-head); letter-spacing: .06em; text-transform: uppercase;
}
.woocommerce .bb-crumbs a { color: var(--bb-ink); text-decoration: none; }
.woocommerce .bb-crumbs a:hover { color: var(--bb-pink); }
.bb-crumb-sep { color: var(--bb-pink); }

/* ---------- shop archive ---------- */
.woocommerce .term-description, .woocommerce-products-header { text-align: center; }
.woocommerce .woocommerce-result-count {
  margin: 0 0 18px; padding: .6em 1.1em; border-radius: 999px;
  background: var(--bb-cream); color: var(--bb-ink); font-weight: 800; font-size: .85rem;
}
.woocommerce .woocommerce-ordering { margin: 0 0 18px; }
.woocommerce .woocommerce-ordering select {
  padding: .6em 2.4em .6em 1.1em; border: 3px solid var(--bb-cream); border-radius: 999px;
  background: #fff; color: var(--bb-ink); font: 800 .9rem var(--bb-font-body);
}

/* product grid: turn Woo's floated list into the brand grid */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products.bb-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 2.4vw, 32px);
  margin: 0 0 clamp(28px, 4vw, 48px);
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after,
ul.products.bb-grid::before, ul.products.bb-grid::after { content: none; display: none; }
@media (max-width: 1000px) { .woocommerce ul.products, ul.products.bb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .woocommerce ul.products, ul.products.bb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.woocommerce ul.products li.product.bb-card,
.woocommerce-page ul.products li.product.bb-card,
ul.products li.product.bb-card {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  clear: none;
  text-align: center;
}
ul.products li.bb-card .bb-card__media img { margin: 0; aspect-ratio: auto; height: 100%; }
ul.products li.bb-card .bb-card__title { padding: 0; font-size: 1.02rem; }
@media (max-width: 720px) { ul.products li.bb-card .bb-card__title { font-size: .9rem; } }
.bb-card__price del { order: 2; font-size: .85rem; font-weight: 700; color: var(--bb-muted); opacity: 1; }
.bb-card__price ins { text-decoration: none; }
.bb-card__price .woocommerce-price-suffix { font-size: .75rem; color: var(--bb-muted); }
.bb-card__actions { flex-wrap: wrap; }
.woocommerce ul.products li.bb-card .button.bb-pill {
  margin: 0;
  padding: .7em 1.3em;
  border-color: var(--bb-pink);
  font-size: .8rem;
  white-space: normal;
  box-shadow: 0 4px 0 var(--bb-pink-deep);
}
.bb-card .added_to_cart {
  flex-basis: 100%;
  color: var(--bb-pink);
  font-weight: 900;
  font-size: .8rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.woocommerce ul.products li.bb-card .star-rating { margin: 0 auto; }

/* sale / rating */
.woocommerce span.onsale {
  min-width: 0; min-height: 0; padding: .45em .9em; line-height: 1;
  border-radius: 999px; background: var(--bb-pink); color: #fff;
  font: 900 .8rem/1 var(--bb-font-head); letter-spacing: .06em; text-transform: uppercase;
  top: 14px; left: 14px; right: auto; margin: 0;
}
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--bb-pink); }

/* ---------- single product ---------- */
.bb-shop--single { background: var(--bb-azure); }
.bb-shop--single .bb-shop__body > .product {
  background: var(--bb-cream);
  border: var(--bb-border) solid #fff;
  padding: clamp(16px, 3vw, 40px);
  box-shadow: 0 10px 0 rgba(0, 0, 0, .08);
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border: var(--bb-border) solid #fff; background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border: 3px solid #fff; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--bb-pink); }
.woocommerce div.product .product_title {
  margin: 0 0 .35em;
  color: var(--bb-pink);
  font: 900 clamp(1.7rem, 3.4vw, 2.6rem)/1.1 var(--bb-font-head);
  text-transform: uppercase;
  letter-spacing: .02em;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--bb-pink);
  font: 900 clamp(1.4rem, 2.6vw, 1.9rem)/1.2 var(--bb-font-head);
}
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--bb-muted); font-size: .7em; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.05rem; line-height: 1.7; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 1.4em 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { content: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; font-size: 1rem; padding: .95em 2em; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin-bottom: 1em; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { padding: .4em 0; }
.woocommerce div.product form.cart .variations select { min-width: 60%; padding: .6em 1em; border: 3px solid var(--bb-pink-soft); border-radius: 14px; background: #fff; font: 700 1rem var(--bb-font-body); }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.woocommerce .product_meta { color: var(--bb-muted); font-size: .9rem; font-weight: 700; }
.woocommerce .product_meta > span { display: block; margin: .2em 0; }
.woocommerce .product_meta a { color: var(--bb-pink); }

/* tabs */
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: clamp(20px, 3vw, 40px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 3px solid var(--bb-pink-soft); border-radius: 999px; background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .7em 1.3em; color: var(--bb-pink); font: 900 .85rem/1 var(--bb-font-head); letter-spacing: .06em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--bb-pink); border-color: var(--bb-pink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bb-cream); }
.woocommerce div.product .woocommerce-tabs .panel { line-height: 1.7; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce table.shop_attributes th { color: var(--bb-ink); }
.woocommerce table.shop_attributes td, .woocommerce table.shop_attributes th { border-color: var(--bb-pink-soft); }

/* related / up-sells */
.woocommerce .related, .woocommerce .upsells { clear: both; padding-top: clamp(28px, 4vw, 56px); }
.woocommerce .related > h2, .woocommerce .upsells > h2, .cart-collaterals .cross-sells > h2 {
  margin: 0 0 clamp(20px, 3vw, 36px);
  text-align: center;
  color: #fff;
  font: 900 clamp(1.7rem, 4vw, 3rem)/1.05 var(--bb-font-head);
  text-transform: uppercase;
  -webkit-text-stroke: .14em var(--bb-pink);
  paint-order: stroke fill;
}
.bb-shop--single .related ul.products li.bb-card { border-color: #fff; }

/* ---------- cart / checkout / account (classic shortcodes) ---------- */
.woocommerce table.shop_table { border: 3px solid var(--bb-pink-soft); border-radius: 16px; background: #fff; overflow: hidden; border-collapse: separate; }
.woocommerce table.shop_table th { color: var(--bb-pink); font-weight: 900; text-transform: uppercase; letter-spacing: .05em; font-size: .82rem; }
.woocommerce table.shop_table td { border-top-color: var(--bb-pink-soft); }
.woocommerce table.shop_table td.product-name a { color: var(--bb-ink); font-weight: 900; text-decoration: none; }
.woocommerce table.cart img { width: 72px; border: 3px solid var(--bb-cream); }
.woocommerce a.remove { color: var(--bb-pink) !important; }
.woocommerce a.remove:hover { background: var(--bb-pink); color: #fff !important; }
.woocommerce table.cart td.actions .coupon .input-text { width: 10em; margin-right: 6px; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading,
.woocommerce-account h2, .woocommerce-account h3 {
  color: var(--bb-pink); font: 900 1.3rem/1.2 var(--bb-font-head); text-transform: uppercase; letter-spacing: .04em;
}
.woocommerce-checkout #payment { background: #fff; border: 3px solid var(--bb-pink-soft); border-radius: 16px; }
.woocommerce-checkout #payment div.payment_box { background: var(--bb-pink-soft); color: var(--bb-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bb-pink-soft); }

.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block; padding: .8em 1.1em; border-radius: 14px; background: #fff;
  color: var(--bb-ink); font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--bb-pink); color: var(--bb-cream); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon, .woocommerce form.lost_reset_password {
  border: 3px solid var(--bb-pink-soft); border-radius: 16px; background: #fff;
}

/* ---------- cart / checkout (block editor versions) ---------- */
.wc-block-cart, .wc-block-checkout { font-family: var(--bb-font-body); }
.wc-block-components-product-name { color: var(--bb-ink) !important; font-weight: 900; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-product-price__value.is-discounted { color: var(--bb-pink); font-weight: 900; }
.wc-block-components-title.wc-block-components-title { color: var(--bb-pink); font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select { border-radius: 12px !important; }
.wc-block-components-text-input.is-active input:focus, .wc-block-components-text-input input:focus { border-color: var(--bb-pink) !important; box-shadow: 0 0 0 1px var(--bb-pink) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--bb-pink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--bb-pink) !important; border-color: var(--bb-pink) !important; }

@media (max-width: 768px) {
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
}
