:root {
  --pc-red: #e31837;
  --pc-red-dark: #c4122e;
  --pc-ink: #111111;
  --pc-muted: #5b5b5b;
  --pc-line: #e6e6e6;
  --pc-bg: #ffffff;
  --pc-soft: #f4f4f4;
  --pc-purple: #5a3d91;
  --pc-gray-tile: #6e6e6e;
  --pc-max: 1280px;
}

.pc-site,
.pc-site button,
.pc-site input,
.pc-site select,
.pc-site textarea {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
}

.pc-site h1,
.pc-site h2,
.pc-site h3,
.pc-site h4,
.pc-site .nav > li > a,
.pc-themes-grid a,
.pc-feat-name,
.pc-bday-copy h2 {
  font-family: "Poppins", "Open Sans", Helvetica, Arial, sans-serif;
}

.pc-site a {
  color: var(--pc-ink);
}

.pc-site a:hover {
  color: var(--pc-ink);
}

img,
video,
iframe,
.row,
.flex-row,
.container,
.header-nav,
.header-inner,
.flex-col {
  max-width: 100%;
}

.header-nav,
.header-inner,
.flex-col,
.pc-hero-slides,
.pc-bday-split,
.pc-feat-grid,
.pc-themes-grid {
  min-width: 0;
}

/* Black announcement bar */
.header-top {
  background: #000 !important;
  color: #fff;
  min-height: 40px;
  border: 0;
}

.header-top .flex-row.container,
.header-top .nav {
  width: 100%;
  max-width: 100%;
  justify-content: center;
}

.header-top a,
.header-top .html {
  color: #fff;
}

.pc-promo-carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  min-width: 0;
  padding: 8px 8px;
}

.pc-promo-track {
  position: relative;
  min-height: 22px;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 720px;
  text-align: center;
}

.pc-promo-slide {
  display: none;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}

.pc-promo-slide.is-active {
  display: block;
}

.pc-promo-details {
  color: #fff !important;
  text-decoration: underline;
  margin-left: 8px;
  font-weight: 600;
}

.pc-promo-prev,
.pc-promo-next {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 8px;
}

/* Utility row */
#header,
.header-wrapper {
  height: auto !important;
}

.pc-utility {
  background: #f7f7f7;
  border-bottom: 1px solid var(--pc-line);
  color: #111;
}

.pc-utility-inner {
  max-width: var(--pc-max);
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.pc-utility-ship,
.pc-utility-right a,
.pc-utility a {
  font-size: 14px;
  font-weight: 600;
  color: #111 !important;
}

.pc-utility-right a:hover,
.pc-utility-ship:hover {
  text-decoration: underline;
}

.pc-utility-mobile .pc-utility-inner {
  justify-content: flex-start;
  padding: 10px 16px;
}

/* Header */
#header {
  background: #fff;
  border-bottom: 0;
}

.header-wrapper {
  background: #fff;
}

.header-main {
  border: 0;
  height: auto !important;
  min-height: 64px;
}

.header-main .flex-row,
.header-main .flex-right,
.header-main .flex-left {
  flex-wrap: nowrap;
  min-width: 0;
}

.header-main .header-inner.container {
  max-width: var(--pc-max);
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;
}

.header-main .flex-left.flex-grow {
  flex: 1 1 auto;
}

.header-main .flex-right,
.header-main .flex-right ul.header-nav,
.header-main .mobile-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 0;
}

.header-main .header-nav,
.header-main .cart-item,
.header-main .account-item,
.header-main .nav-icon {
  flex: 0 0 auto;
}

.header-main .logo img,
.header-main .header-logo img {
  max-height: 42px;
  width: auto;
  height: auto;
}

.header-main .flex-left ul.header-nav-main {
  width: 100%;
  display: flex;
  align-items: center;
}

.header-main .search-form,
.header-main li.header-search-form.search-form {
  width: 100% !important;
  max-width: 100%;
  flex: 1 1 auto;
}

.header-search-form {
  min-width: 0;
  flex: 1 1 auto;
  max-width: none;
  width: 100%;
}

.header-search-form .searchform,
.header-search-form .flex-row {
  width: 100%;
  max-width: 100%;
}

.header-search-form .search-field {
  border: 1px solid #222 !important;
  border-radius: 8px !important;
  min-width: 0;
  height: 44px;
  padding: 0 44px 0 16px;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 15px;
}

.header-search-form .submit-button,
.header-search-form .button,
.header-search-form .ux-search-submit {
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
  box-shadow: none !important;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  height: 36px;
  width: 40px;
  padding: 0;
  border-radius: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.header-search-form form,
.header-search-form .searchform-wrapper {
  position: relative;
  width: 100%;
}

.cart-icon strong,
.header-cart-title,
.cart-item .cart-price,
.cart-price,
.header-cart-text {
  display: none !important;
}

.header-main .account-item,
.header-main .cart-item,
.header-main .nav-icon,
.header-main .header-button,
.header-main .mobile-nav > li {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin: 0;
}

.header-main .account-item a,
.header-main .cart-item a,
.header-main .wishlist-popup a,
.header-main .nav-icon a,
.header-main .mobile-nav > li > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0 !important;
  margin: 0;
  line-height: 1;
}

.header-bottom {
  background: #fff !important;
  border-top: 0;
  border-bottom: 1px solid var(--pc-line);
}

.header-bottom .header-inner,
.header-bottom .flex-row.container {
  max-width: var(--pc-max);
}

.header-bottom .nav > li > a {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 14px 11px;
  white-space: nowrap;
  color: var(--pc-ink);
}

.header-bottom .nav > li > a:hover,
.header-bottom .nav > li.active > a,
.header-bottom .nav > li.current-menu-item > a {
  color: var(--pc-ink);
}

.header-bottom .nav-line-bottom > li > a:before,
.header-bottom .nav-line-bottom > li > a:after,
.header-bottom .nav-line-grow > li > a:before,
.header-bottom .nav-line-grow > li > a:after,
.header-bottom .nav > li.active > a:after,
.header-bottom .nav > li.active > a:before,
.header-bottom .nav > li > a:after,
.header-bottom .nav > li > a:before {
  background-color: #111 !important;
}

.nav-dropdown,
.ux-menu-widget {
  max-width: min(1120px, 100vw);
}

.nav-dropdown a {
  white-space: normal;
}

.pc-mega h4,
.pc-mega .pc-mega-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 10px;
  color: var(--pc-ink);
}

.pc-mega a {
  display: block;
  padding: 4px 0;
  font-size: 14px;
}

.off-canvas .nav-sidebar > li > a,
.off-canvas .nav-sidebar .nav-item-title,
.nav-vertical.off-canvas li a {
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

.off-canvas .nav-sidebar,
.off-canvas-wrapper,
.off-canvas .off-canvas-cart,
html .mfp-content.mfp-off-canvas,
.nav-vertical.off-canvas {
  background: #fff;
}

.mfp-content,
.off-canvas {
  max-width: 100%;
}

/* Buttons: PDP/checkout stay filled red; product cards outlined */
.pc-site .button.primary,
.pc-site .checkout-button,
.pc-site .single_add_to_cart_button,
.pc-site button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--pc-red) !important;
  border-color: var(--pc-red) !important;
  color: #fff !important;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
}

.pc-site .button.primary:hover,
.pc-site .single_add_to_cart_button:hover {
  background-color: var(--pc-red-dark) !important;
  border-color: var(--pc-red-dark) !important;
}

.pc-btn-outline,
.pc-btn-ghost {
  display: inline-block;
  border: 1px solid #fff;
  color: #fff;
  padding: 10px 22px;
  border-radius: 4px;
  font-weight: 600;
}

.pc-btn-outline {
  border-color: #111;
  color: #111;
}

.pc-text-link {
  text-decoration: underline;
  font-weight: 600;
}

/* Home hero */
.pc-home .page-title,
.pc-home .page-header,
.pc-home #wrapper > .page-title-container {
  display: none;
}

.pc-hero {
  position: relative;
  background: #000;
}

.pc-hero-slides {
  position: relative;
}

.pc-hero-slide {
  display: none;
}

.pc-hero-slide.is-active {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
}

.pc-hero-slide img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(62vh, calc(100vh - 210px));
  display: block;
  object-fit: contain;
  object-position: center;
  background: #000;
  margin: 0 auto;
}

.pc-hero-chrome {
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 48px;
}

.pc-hero-chrome button {
  background: transparent !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: 1;
  cursor: pointer;
}

.pc-hero-prev,
.pc-hero-next,
.pc-hero-pause {
  font-size: 14px;
  padding: 4px 8px;
}

.pc-hero-dots {
  display: flex;
  gap: 10px;
  align-items: center;
}

.pc-hero-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  border: 1px solid #fff !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer;
}

.pc-hero-dot.is-active {
  background: #fff !important;
}

/* Top categories */
.pc-themes {
  background: #000;
  color: #fff;
  padding: 40px 0 56px;
}

.pc-themes h2 {
  text-align: center;
  font-size: 36px;
  font-weight: 600;
  margin: 0 0 28px;
  color: #fff;
}

.pc-themes-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pc-themes-grid a {
  background: var(--pc-gray-tile);
  border-radius: 12px;
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  padding: 16px 10px;
  line-height: 1.15;
}

.pc-themes-grid a:hover {
  color: #fff;
  filter: brightness(1.08);
}

/* Birthday split */
.pc-bday {
  padding: 36px 0 20px;
  background: #fff;
}

.pc-bday-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  min-height: 320px;
  overflow: hidden;
  border-radius: 4px;
}

.pc-bday-photo {
  background: #f0c400;
  display: block;
  min-width: 0;
}

.pc-bday-photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  min-height: 0;
}

.pc-bday-copy {
  background: var(--pc-purple);
  color: #fff;
  padding: 48px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.pc-bday-copy h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 12px;
  color: #fff;
}

.pc-bday-copy p {
  font-size: 18px;
  margin: 0 0 22px;
}

.pc-bday-copy .pc-btn-ghost {
  color: #fff;
  border-color: #fff;
  text-align: center;
}

.pc-bday-copy .pc-btn-ghost:hover {
  background: #fff;
  color: var(--pc-purple);
}

.pc-bday-circles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 36px;
  text-align: center;
}

.pc-bday-circles img {
  width: 220px;
  height: 220px;
  max-width: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 12px;
}

.pc-bday-circles span {
  font-weight: 700;
  font-size: 16px;
}

/* Featured categories */
.pc-featured-cats,
.pc-balloons-block,
.pc-home-products,
.pc-inspired {
  padding: 40px 0;
}

.pc-featured-cats h2,
.pc-home-products h2,
.pc-inspired h2 {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  margin: 0 0 28px;
}

.pc-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.pc-feat-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
}

.pc-feat-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  display: block;
  background: #f3f3f3;
}

.pc-feat-name {
  margin-top: 12px;
  font-size: 18px;
  font-weight: 700;
}

.pc-feat-cta {
  display: inline-block;
  margin-top: 8px;
  border: 1px solid #111;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 14px;
  width: max-content;
}

.pc-balloons-hero img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #000;
}

.pc-balloons-subs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
  text-align: center;
}

.pc-balloons-subs img {
  width: 180px;
  height: 180px;
  max-width: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 10px;
}

.pc-balloons-subs span {
  font-weight: 700;
}

.pc-home-products-alt {
  background: var(--pc-soft);
}

.pc-home-more {
  text-align: center;
  margin: 8px 0 0;
}

.pc-inspired {
  background: #fff;
  border-top: 1px solid var(--pc-line);
}

.pc-inspired-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.pc-inspired-copy,
.pc-inspired-form {
  text-align: left;
}

.pc-inspired h2 {
  text-align: left;
  margin-bottom: 12px;
}

.pc-inspired .pc-newsletter {
  max-width: 520px;
}

/* Product cards — full photo inside a square, never cropped */
.product-small .col-inner {
  padding: 0 8px 18px;
  height: 100%;
}

.product-small .box {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pc-site .product-small .box-image {
  position: relative !important;
  width: 100%;
  height: 0 !important;
  padding-top: 100% !important;
  margin: 0;
  background: #f6f6f6;
  overflow: hidden !important;
  border-radius: 2px;
}

.pc-site .product-small .box-image .image-none,
.pc-site .product-small .box-image .image-fade_in_back,
.pc-site .product-small .box-image .image-zoom,
.pc-site .product-small .box-image > div:first-child {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.pc-site .product-small .box-image a {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12px;
  box-sizing: border-box;
}

.pc-site .product-small .box-image img,
.pc-site .product-small .box-image .wp-post-image,
.pc-site .product-small .box-image .attachment-woocommerce_thumbnail,
.pc-site .product-small .box-image .attachment-medium_large {
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  background: transparent;
}

.product-small .back-image,
.product-small .image-tools,
.product-small .category,
.product-small .is-xsmall,
.product-small .star-rating {
  display: none !important;
}

.product-small .box-text,
.product-small .box-text-products {
  padding: 16px 2px 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch;
  box-sizing: border-box;
}

.product-small .title-wrapper {
  margin: 0 0 10px !important;
}

.product-small .product-title,
.product-small .woocommerce-loop-product__title {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  min-height: 2.9em;
  max-height: 2.9em;
  margin: 0;
  overflow: hidden;
  text-transform: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-small .price-wrapper {
  margin: 0 0 14px !important;
}

.product-small .price {
  color: var(--pc-ink);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

.product-small .price del {
  color: var(--pc-muted);
  font-weight: 400;
}

.product-small .price ins {
  color: var(--pc-ink);
}

.badge.onsale,
.onsale {
  background: var(--pc-red) !important;
}

.pc-site .product-small .add-to-cart-button {
  display: block !important;
  width: 100% !important;
  margin-top: auto;
}

.pc-site .product-small a.button.is-small,
.pc-site .product-small .button.is-small,
.pc-site .product-small .add-to-cart-button .button {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 40px;
  font-size: 13px !important;
}

.pc-site .product-small .add_to_cart_button,
.pc-site .product-small .product_type_simple,
.pc-site .product-small .product_type_variable,
.pc-site .product-small .product_type_grouped,
.pc-site .product-small a.button,
.pc-site .product-small a.button.primary,
.pc-site .product-small .button {
  display: block !important;
  width: 100%;
  max-width: 100%;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #111 !important;
  border-radius: 4px !important;
  text-transform: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 11px 8px !important;
  margin-top: auto;
  text-align: center;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  box-shadow: none !important;
}

.pc-site .product-small .add_to_cart_button:hover,
.pc-site .product-small a.button:hover,
.pc-site .product-small a.button.primary:hover {
  background: #111 !important;
  color: #fff !important;
}

/* PLP */
.pc-plp .shop-page-title,
.pc-plp .woocommerce-products-header,
.pc-plp .page-title,
.pc-plp .category-page-row .shop-page-title {
  text-align: center;
}

.pc-plp .category-page-title .category-filtering,
.pc-plp .category-page-title .woocommerce-ordering,
.pc-plp .category-page-title .woocommerce-result-count {
  display: none;
}

.pc-plp .category-page-title {
  border: 0;
  min-height: 0;
  padding: 10px 0 0;
  background: transparent;
}

.pc-plp .category-page-title .flex-col.flex-grow {
  text-align: left;
}

.pc-plp .woocommerce-breadcrumb,
.pc-plp .woocommerce-breadcrumb.uppercase {
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
}

.pc-plp-title {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  margin: 12px 0 12px;
  font-family: Poppins, "Open Sans", sans-serif;
}

.pc-plp-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 0 18px;
  margin: 8px 0 8px;
  border-top: 0;
}

.pc-plp-toolbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.pc-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 14px;
}

.pc-filter-ico {
  width: 16px;
  height: 12px;
  border-top: 2px solid #111;
  border-bottom: 2px solid #111;
  background: linear-gradient(#111, #111) center / 100% 2px no-repeat;
  display: inline-block;
}

.pc-sort-label {
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
}

.pc-plp .pc-plp-toolbar .woocommerce-ordering {
  margin: 0;
}

.pc-plp .woocommerce-ordering select {
  border: 0;
  font-weight: 600;
  font-size: 14px;
  background: transparent;
}

.pc-plp-intro {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 28px;
  color: var(--pc-ink);
  font-size: 15px;
  line-height: 1.5;
}

.pc-plp-circles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 8px auto 36px;
  text-align: center;
}

.pc-plp-circle {
  min-width: 0;
}

.pc-plp-circle-img {
  display: block;
  width: 180px;
  height: 180px;
  max-width: 100%;
  margin: 0 auto 12px;
  border-radius: 50%;
  overflow: hidden;
  background: #f3f3f3;
}

.pc-plp-circle-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pc-plp-circle-name {
  display: block;
  font-weight: 700;
  font-size: 15px;
}

.pc-plp .category-filtering,
.pc-plp .woocommerce-ordering,
.pc-plp .pc-plp-count {
  font-size: 14px;
  font-weight: 600;
}

.pc-plp .shop-container .category-page-row .flex-row:first-child,
.pc-plp .category-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 0 18px;
}

.pc-plp-count {
  margin: 0;
  color: var(--pc-ink);
}

.pc-plp .woocommerce-result-count {
  display: none;
}

.pc-ship-notice,
.pc-ship-inline {
  background: #fff4f5;
  border: 1px solid #f3c5cc;
  color: #7a1020;
  padding: 10px 14px;
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 4px;
}

.pc-ship-inline {
  margin-top: 12px;
}

.pc-pdp form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin-top: 8px;
}

.pc-pdp form.cart .quantity {
  flex: 0 0 auto;
  margin: 0 !important;
  display: flex;
  align-items: stretch;
}

.pc-pdp form.cart .quantity input.qty {
  height: 48px;
  min-height: 48px;
}

.pc-pdp form.cart .single_add_to_cart_button,
.pc-pdp form.cart .pc-buy-now {
  flex: 1 1 140px;
  width: auto !important;
  min-width: 0;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px;
  padding: 0 16px !important;
  margin: 0 !important;
  line-height: 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
  border-radius: 4px !important;
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.pc-pdp form.cart .pc-buy-now {
  background: #111 !important;
  border: 1px solid #111 !important;
  color: #fff !important;
}

.pc-pdp form.cart .pc-buy-now:hover {
  background: #333 !important;
  border-color: #333 !important;
  color: #fff !important;
}

.product-info .entry-title,
.product-title {
  font-weight: 700;
}

.product-short-description,
.woocommerce-product-details__short-description {
  display: none;
}

.product-gallery img,
.woocommerce-product-gallery img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.cart_totals,
.woocommerce-checkout-review-order-table,
.shop_table {
  width: 100%;
  max-width: 100%;
}

.woocommerce-cart .shop_table_responsive,
.woocommerce-checkout .shop_table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* Footer */
.pc-footer {
  background: #efefef;
  color: var(--pc-ink);
  padding: 48px 0 12px;
  border-top: 1px solid #ddd;
}

.pc-footer a {
  color: var(--pc-ink);
}

.pc-footer a:hover {
  text-decoration: underline;
}

.pc-footer-signup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 24px;
  align-items: center;
  padding-bottom: 32px;
  margin-bottom: 32px;
  border-bottom: 1px solid #d8d8d8;
}

.pc-footer-signup h3 {
  margin: 0 0 6px;
  font-size: 22px;
  text-transform: none;
  letter-spacing: 0;
}

.pc-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.pc-footer h3 {
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 14px;
  font-weight: 700;
}

.pc-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pc-footer li {
  margin: 0 0 8px;
}

.pc-footer-contact,
.pc-footer-ship {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 14px;
}

.pc-newsletter {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
}

.pc-newsletter input[type="email"] {
  flex: 1 1 180px;
  min-width: 0;
  height: 48px;
  border: 1px solid #333;
  background: #fff;
  color: #111;
  padding: 0 12px;
  border-radius: 2px 0 0 2px;
}

.pc-newsletter button {
  height: 48px;
  padding: 0 22px;
  background: #333;
  color: #fff;
  border: 1px solid #333;
  border-radius: 0 2px 2px 0;
  font-weight: 700;
  text-transform: none;
  white-space: nowrap;
  font-size: 15px;
}

.pc-newsletter button:hover {
  background: #111;
}

.pc-nl-msg {
  flex: 1 1 100%;
  margin: 8px 0 0;
  font-size: 13px;
}

.absolute-footer {
  background: #efefef !important;
  color: #333;
  border-top: 1px solid #ddd;
}

.absolute-footer a {
  color: #333;
}

.footer-payment-icons,
.absolute-footer .payment-icons,
.absolute-footer .html {
  display: none;
}

.pc-404 h1 {
  font-family: Poppins, sans-serif;
}

@media (max-width: 849px) {
  .header-main {
    min-height: 52px;
  }

  .pc-hero-slide img,
  .pc-balloons-hero img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .pc-themes h2,
  .pc-featured-cats h2,
  .pc-home-products h2,
  .pc-bday-copy h2 {
    font-size: 26px;
  }

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

  .pc-themes-grid a {
    min-height: 84px;
    font-size: 18px;
  }

  .pc-bday-split,
  .pc-feat-grid,
  .pc-inspired-grid,
  .pc-footer-signup,
  .pc-footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pc-bday-circles,
  .pc-balloons-subs,
  .pc-plp-circles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pc-bday-circles img,
  .pc-plp-circle-img,
  .pc-balloons-subs img {
    width: 120px;
    height: 120px;
  }

  .pc-plp-title {
    font-size: 28px;
  }

  .pc-plp-toolbar-right {
    width: 100%;
    justify-content: space-between;
  }

  .product-small .product-title {
    min-height: 0;
  }

  .quantity input.qty {
    max-width: 72px;
  }

  .pc-pdp form.cart .quantity {
    flex: 1 1 100%;
  }

  .pc-pdp form.cart .single_add_to_cart_button,
  .pc-pdp form.cart .pc-buy-now {
    flex: 1 1 calc(50% - 5px);
    width: auto !important;
    min-width: 0;
  }

  .header-bottom .search-form {
    width: 100% !important;
  }

  .header-bottom .header-search-form {
    width: 100%;
    max-width: 100%;
    padding: 0 4px 8px;
  }

  .header-main .logo img {
    max-height: 34px;
  }
}

@media (max-width: 549px) {
  .pc-promo-slide {
    font-size: 12px;
  }

  .pc-bday-circles,
  .pc-balloons-subs {
    grid-template-columns: minmax(0, 1fr);
  }

  .pc-plp-circles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-product-gallery img,
  .product-gallery img {
    max-height: none;
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
  }

  .product-gallery .flickity-prev-next-button,
  .product-gallery .flickity-button {
    display: none;
  }

  .pc-site .products > .product,
  .pc-site .products > .product-small.col {
    width: 50% !important;
    max-width: 50% !important;
    flex-basis: 50% !important;
  }

  .pc-site .product-small .box {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }

  .pc-site .product-small .box-image a {
    padding: 8px;
  }

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

@media (max-width: 360px) {
  .header-main .logo img {
    max-height: 30px;
  }

  .pc-promo-carousel {
    gap: 4px;
    padding: 8px 2px;
  }

  .pc-hero-chrome {
    gap: 8px;
  }
}

/* Custom header icons — same size, same baseline */
.pc-site i.icon-user,
.pc-site i.icon-menu,
.pc-site i.icon-search,
.pc-site i.icon-shopping-bag,
.pc-site i.icon-shopping-basket,
.pc-site i.icon-shopping-cart {
  width: 24px !important;
  height: 24px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
}

.pc-site i.icon-user:before,
.pc-site i.icon-menu:before,
.pc-site i.icon-search:before,
.pc-site i.icon-shopping-bag:before,
.pc-site i.icon-shopping-basket:before,
.pc-site i.icon-shopping-cart:before,
.pc-site i.icon-user:after,
.pc-site i.icon-menu:after,
.pc-site i.icon-search:after {
  content: none !important;
  display: none !important;
}

.pc-site i.icon-user {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.25'/%3E%3Cpath d='M5.4 19.3c.9-3.1 3.4-4.8 6.6-4.8s5.7 1.7 6.6 4.8'/%3E%3C/svg%3E");
}

.pc-site i.icon-shopping-bag,
.pc-site i.icon-shopping-basket,
.pc-site i.icon-shopping-cart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.4 8.2h11.2l-.85 11.3H7.25L6.4 8.2z'/%3E%3Cpath d='M9 8.2V7A3 3 0 0 1 12 4a3 3 0 0 1 3 3v1.2'/%3E%3C/svg%3E");
}

.pc-site i.icon-menu {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
}

.pc-site i.icon-search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.4'/%3E%3Cpath d='M16 16.4L20.2 20.6'/%3E%3C/svg%3E");
}

.pc-site .header-cart-link i,
.pc-site .account-item i,
.pc-site .nav-icon i {
  position: relative;
}

.pc-site i[data-icon-label]:after {
  position: absolute;
  top: -7px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--pc-red);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  font-family: "Open Sans", sans-serif;
  content: attr(data-icon-label);
}

.pc-site i[data-icon-label="0"]:after,
.pc-site i[data-icon-label=""]:after {
  display: none !important;
}

.header-main .show-for-medium.flex-left,
.header-main .show-for-medium.flex-right {
  display: flex;
  align-items: center;
  height: 52px;
}

.header-main #logo {
  display: flex;
  align-items: center;
}

/* Overlay above sticky header so promo chevrons never sit on the drawer */
.mfp-bg {
  z-index: 100000 !important;
}
.mfp-wrap {
  z-index: 100001 !important;
}
.header-wrapper,
.header-wrapper.stuck,
#header {
  z-index: 40;
}

/* Mobile drawer */
#main-menu.mobile-sidebar,
.mfp-content.mfp-off-canvas {
  background: #fff;
  max-width: min(360px, 88vw);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
}

.pc-drawer-head {
  position: relative;
  padding: 14px 52px 12px 16px;
  border-bottom: 1px solid var(--pc-line);
  min-height: 56px;
  display: flex;
  align-items: center;
}

.pc-drawer-close {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
  cursor: pointer;
}

.pc-drawer-head img {
  max-height: 32px;
  width: auto;
  display: block;
}

.pc-drawer-search {
  padding: 14px 16px 10px;
}

.pc-drawer-search .search-field {
  width: 100%;
  height: 42px;
  border: 1px solid #222;
  border-radius: 8px;
  padding: 0 40px 0 12px;
  background: #fff;
}

.pc-drawer-search .searchform-wrapper,
.pc-drawer-search form {
  position: relative;
  width: 100%;
}

.pc-drawer-search .submit-button,
.pc-drawer-search .button {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.off-canvas .nav-sidebar.nav-uppercase > li > a,
.off-canvas .nav-sidebar > li > a {
  text-transform: none !important;
  letter-spacing: 0;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 18px;
  border-bottom: 1px solid #eee;
  color: #111;
}

.off-canvas .nav-sidebar > li > ul a {
  font-size: 14px;
  font-weight: 500;
  padding: 10px 18px 10px 32px;
}

.off-canvas .toggle {
  width: 44px;
  height: 44px;
  background: transparent !important;
  border: 0;
  box-shadow: none !important;
}

.off-canvas .toggle i,
.off-canvas .toggle:before {
  display: none !important;
}

.off-canvas .toggle:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(45deg);
}

.off-canvas li.active > .toggle:after,
.off-canvas li.current-dropdown > .toggle:after {
  transform: rotate(-135deg);
}

.pc-drawer-sep {
  height: 10px !important;
  background: #f4f4f4;
  border-top: 8px solid #fff;
  border-bottom: 1px solid #eee;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  list-style: none;
  pointer-events: none;
}

.pc-drawer-sep a,
.pc-drawer-sep span {
  display: none !important;
}

.mfp-off-canvas .mfp-close,
html.mfp-overflow .mfp-close,
html .mfp-wrap.mfp-off-canvas .mfp-close {
  display: none !important;
}

html.mfp-overflow .pc-promo-prev,
html.mfp-overflow .pc-promo-next,
html.mfp-zoom-out-cur .pc-promo-prev,
html.mfp-zoom-out-cur .pc-promo-next,
body.has-off-canvas .pc-promo-prev,
body.has-off-canvas .pc-promo-next,
body.has-off-canvas-left .pc-promo-prev,
body.has-off-canvas-left .pc-promo-next {
  visibility: hidden !important;
}

html.mfp-overflow #header,
html.mfp-overflow .header-wrapper,
html.mfp-zoom-out-cur #header,
html.mfp-zoom-out-cur .header-wrapper,
body.has-off-canvas #header,
body.has-off-canvas .header-wrapper {
  z-index: 1 !important;
}

body.has-off-canvas .mfp-close,
body.has-off-canvas-left .mfp-close,
.has-off-canvas .mfp-close {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.pc-plp-circle-img img {
  object-fit: contain;
  background: #f3f3f3;
}

/* PDP gallery: full photo, no crop */
.pc-pdp .product-gallery,
.pc-pdp .woocommerce-product-gallery,
.pc-pdp .product-gallery-slider,
.pc-pdp .product-gallery-slider .slide,
.pc-pdp .woocommerce-product-gallery__image {
  height: auto !important;
  background: #f6f6f6;
}

.pc-pdp .product-gallery img,
.pc-pdp .woocommerce-product-gallery img,
.pc-pdp .product-gallery-slider img {
  width: 100% !important;
  height: auto !important;
  max-height: min(72vh, 720px);
  object-fit: contain !important;
  margin: 0 auto;
  display: block;
}

.pc-pdp .product-thumbnails img {
  object-fit: contain;
  background: #f6f6f6;
}

.product-info .social-icons,
.product-share,
.product-page .product-share {
  display: none !important;
}

#shop-sidebar {
  background: #fff;
  padding: 8px 4px 24px;
}

#shop-sidebar .widget-title,
#shop-sidebar .widget > span {
  font-size: 15px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.pc-feat-card img,
.pc-balloons-hero img,
.pc-bday-photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

