/* ============================================================
   PetGiftBox – Box Builder  v2.7.10
   Consolidated stylesheet — no version-layer overrides.
   ============================================================ */

/* ─── Design tokens ─── */
.pgb-box-builder,
.pgb-box-modal {
  --pgb-black:        #17110e;
  --pgb-brown:        #1d100b;
  --pgb-amber:        #b58051;
  --pgb-border:       rgba(29, 16, 11, 0.13);
  --pgb-border-focus: rgba(29, 16, 11, 0.45);
  --pgb-soft:         rgba(29, 16, 11, 0.045);
  --pgb-muted:        rgba(29, 16, 11, 0.52);
  --pgb-bg:           #faf9f7;
  --pgb-radius:       12px;
  --pgb-radius-sm:    6px;
  --pgb-shadow:       0 16px 40px rgba(0, 0, 0, 0.08);
  --pgb-transition:   0.18s ease;
}

/* ─── Box ─── */
*, *::before, *::after { box-sizing: border-box; }

.pgb-box-builder {
  margin: 12px 0 18px;
  padding: 0;
  font-family: inherit;
}

.pgb-box-builder--inline { margin: 0 0 18px; }

/* ─── Head (shortcode / full mode) ─── */
.pgb-box-builder__head { max-width: 760px; margin: 0 0 18px; }

.pgb-box-builder__eyebrow {
  display: block;
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pgb-amber);
}

.pgb-box-builder__head h3 {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--pgb-black);
}

.pgb-box-builder__head p {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--pgb-muted);
}

/* ─── Slots ─── */
.pgb-box-builder__slots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
}

.pgb-box-slot {
  position: relative;
  width: 110px;
  height: 110px;
  min-width: 110px;
  border: 1.5px solid var(--pgb-border);
  border-radius: var(--pgb-radius-sm);
  background: #fff;
  color: var(--pgb-black);
  padding: 0;
  cursor: pointer;
  overflow: visible;
  transition: border-color var(--pgb-transition), box-shadow var(--pgb-transition), transform var(--pgb-transition);
}

/* Plus separator between slots */
.pgb-box-slot:not(:last-child)::after {
  content: '+';
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: rgba(29, 16, 11, 0.3);
  font-weight: 400;
  pointer-events: none;
}

.pgb-box-slot:hover {
  border-color: rgba(29, 16, 11, 0.3);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}

.pgb-box-slot:focus-visible {
  outline: 2px solid var(--pgb-amber);
  outline-offset: 2px;
}

/* Active slot (modal open for this slot) */
.pgb-box-slot--active {
  border-color: var(--pgb-amber);
  box-shadow: 0 0 0 3px rgba(181, 128, 81, 0.18);
  transform: translateY(-2px);
}

/* Empty state */
.pgb-box-slot__empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(29, 16, 11, 0.38);
  font-size: 11px;
}

.pgb-box-slot__plus {
  display: flex;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1.5px dashed rgba(29, 16, 11, 0.25);
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: rgba(29, 16, 11, 0.45);
}

/* Filled state */
.pgb-box-slot__content {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.pgb-box-slot__content img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
  padding: 8px;
}

.pgb-box-slot__content strong,
.pgb-box-slot__content small,
.pgb-box-slot__content em { display: none; }

/* Remove badge */
.pgb-box-slot__remove {
  position: absolute;
  left: -9px;
  top: -9px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid var(--pgb-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--pgb-black);
  z-index: 3;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: border-color var(--pgb-transition), background var(--pgb-transition);
}

.pgb-box-slot__remove:hover {
  background: var(--pgb-black);
  color: #fff;
  border-color: var(--pgb-black);
}

.pgb-box-slot__remove:focus-visible {
  outline: 2px solid var(--pgb-amber);
  outline-offset: 2px;
}

/* ─── Selected-product list ─── */
.pgb-box-builder__selected-list {
  margin: 4px 0 10px;
  border-bottom: 1px solid rgba(29, 16, 11, 0.12);
}

.pgb-box-selected-row {
  display: grid;
  grid-template-columns: 1fr 24px 24px;
  align-items: center;
  min-height: 34px;
  border-top: 1px solid rgba(29, 16, 11, 0.08);
  font-size: 12px;
  line-height: 1.35;
  color: var(--pgb-black);
}

.pgb-box-selected-row.is-empty {
  color: var(--pgb-muted);
  grid-template-columns: 1fr 24px;
}

.pgb-box-selected-row__name { padding-right: 8px; }

.pgb-box-selected-edit,
.pgb-box-selected-remove {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
  color: rgba(29, 16, 11, 0.5);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--pgb-radius-sm);
  transition: color var(--pgb-transition), background var(--pgb-transition);
}

.pgb-box-selected-edit:hover  { color: var(--pgb-black); background: var(--pgb-soft); }
.pgb-box-selected-remove:hover { color: #8a2d20; background: rgba(138, 45, 32, 0.07); }

.pgb-box-selected-edit:focus-visible,
.pgb-box-selected-remove:focus-visible {
  outline: 2px solid var(--pgb-amber);
  outline-offset: 1px;
}

/* ─── Message banner ─── */
.pgb-box-builder__message {
  min-height: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--pgb-muted);
  margin: 6px 0 10px;
  transition: color var(--pgb-transition);
}

.pgb-box-builder__message:empty { display: none; }

.pgb-box-builder__message.is-error {
  color: #8a2d20;
  padding: 8px 12px;
  background: rgba(138, 45, 32, 0.06);
  border-left: 3px solid #8a2d20;
}

.pgb-box-builder__message.is-success {
  color: #3d5a2a;
  padding: 8px 12px;
  background: rgba(61, 90, 42, 0.06);
  border-left: 3px solid #4a7a30;
}

.pgb-box-builder__message .pgb-view-cart {
  margin-left: 8px;
  color: #3d5a2a;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ─── Footer ─── */
.pgb-box-builder__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 12px 0 10px;
}

.pgb-box-builder__status {
  font-size: 12px;
  color: var(--pgb-muted);
  white-space: nowrap;
}

.pgb-box-builder__total {
  font-size: 12px;
  color: rgba(29, 16, 11, 0.62);
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}

.pgb-box-builder__total strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--pgb-black);
}

/* ─── Native Woo button overrides ─── */
body.pgb-box-builder-product.single-product .summary .price,
body.pgb-box-builder-product.single-product .summary p.price,
body.pgb-box-builder-product.single-product .summary span.price,
body.pgb-box-builder-product.single-product .summary .woocommerce-variation-price,
body.pgb-box-builder-product.single-product .summary .woocommerce-variation-price .price,
body.pgb-box-builder-product.single-product .summary .product-price,
body.pgb-box-builder-product.single-product form.cart .quantity { display: none !important; }

body.pgb-box-builder-product form.cart { margin-top: 8px; clear: both; }

body.pgb-box-builder-product form.cart .single_add_to_cart_button { min-height: 42px; }

body.pgb-box-builder-product form.cart .single_add_to_cart_button.disabled,
body.pgb-box-builder-product form.cart .single_add_to_cart_button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

/* ─── Modal ─── */
.pgb-box-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
}

.pgb-box-modal.is-open { display: block; }

.pgb-box-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.pgb-box-modal__panel {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(1080px, calc(100vw - 48px));
  max-height: min(760px, calc(100vh - 48px));
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pgb-box-modal__close {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: var(--pgb-black);
  cursor: pointer;
  border-radius: var(--pgb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--pgb-transition);
}

.pgb-box-modal__close:hover { background: var(--pgb-soft); }

.pgb-box-modal__close:focus-visible {
  outline: 2px solid var(--pgb-amber);
  outline-offset: 2px;
}

.pgb-box-modal__top {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 20px;
  align-items: end;
  margin: 0 0 18px;
  padding: 0 42px 16px 0;
  border-bottom: 1px solid rgba(29, 16, 11, 0.08);
  flex-shrink: 0;
}

.pgb-box-modal__top h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--pgb-black);
}

.pgb-box-search {
  width: 100%;
  height: 40px;
  border: 0;
  border-bottom: 1.5px solid rgba(29, 16, 11, 0.15);
  border-radius: 0;
  background: transparent;
  padding: 0 4px;
  font-size: 13px;
  color: var(--pgb-black);
  transition: border-color var(--pgb-transition);
}

.pgb-box-search::placeholder { color: rgba(29, 16, 11, 0.38); }

.pgb-box-search:focus {
  border-bottom-color: var(--pgb-amber);
  outline: none;
}

/* Modal inline alert */
.pgb-box-modal__alert {
  margin: 0 0 14px;
  padding: 8px 14px;
  border-radius: var(--pgb-radius-sm);
  font-size: 12px;
  line-height: 1.5;
  flex-shrink: 0;
}

.pgb-box-modal__alert.is-error   { background: rgba(138, 45, 32, 0.07); color: #8a2d20; }
.pgb-box-modal__alert.is-success { background: rgba(61, 90, 42, 0.07);  color: #3d5a2a; }

/* ─── Product grid ─── */
.pgb-box-products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
  padding: 0 4px 4px 0;
  min-height: 0;
}

/* Loading / empty states */
.pgb-box-loading,
.pgb-box-empty {
  grid-column: 1 / -1;
  padding: 48px 20px;
  text-align: center;
  font-size: 13px;
  color: var(--pgb-muted);
  border: 1px solid rgba(29, 16, 11, 0.07);
  background: var(--pgb-bg);
  border-radius: var(--pgb-radius);
}

/* ─── Product card ─── */
.pgb-box-product {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 16px;
  align-items: center;
  border: 1.5px solid rgba(29, 16, 11, 0.09);
  border-radius: var(--pgb-radius);
  padding: 14px;
  background: #fff;
  min-height: 178px;
  transition: border-color var(--pgb-transition), box-shadow var(--pgb-transition);
}

.pgb-box-product:hover {
  border-color: rgba(29, 16, 11, 0.2);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
}

/* Already-selected indicator */
.pgb-box-product--selected {
  background: rgba(29, 16, 11, 0.025);
  border-color: rgba(29, 16, 11, 0.12);
}

.pgb-box-product--selected::after {
  content: '✓ Στο κουτί';
  position: absolute;
  /* handled via button text instead — no absolute positioning needed */
}

/* Product image */
.pgb-box-product__media {
  width: 150px;
  height: 150px;
  min-height: 150px;
  border-radius: var(--pgb-radius-sm);
  border: 1px solid rgba(29, 16, 11, 0.06);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.pgb-box-product__media img,
.pgb-box-product img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

/* Product body */
.pgb-box-product__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  justify-content: center;
}

.pgb-box-product__meta h4 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 4px;
  color: var(--pgb-black);
}

.pgb-box-product__price {
  font-size: 13px;
  font-weight: 500;
  color: rgba(29, 16, 11, 0.7);
  margin: 0;
}

/* Variation dropdowns */
.pgb-box-product__options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 12px;
}

.pgb-box-attr {
  display: block;
  margin: 0;
}

.pgb-box-attr span {
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(29, 16, 11, 0.46);
  margin-bottom: 3px;
}

.pgb-box-product select {
  width: 100%;
  height: 36px;
  border: 0;
  border-bottom: 1.5px solid rgba(29, 16, 11, 0.14);
  border-radius: 0;
  background: transparent;
  padding: 0 2px;
  margin: 0;
  font-size: 12px;
  color: var(--pgb-black);
  cursor: pointer;
  transition: border-color var(--pgb-transition);
}

.pgb-box-product select:focus {
  border-bottom-color: var(--pgb-amber);
  outline: none;
}

.pgb-box-product__variation-price {
  font-size: 12px;
  min-height: 16px;
  color: rgba(29, 16, 11, 0.65);
  margin: 0;
}

/* Add-to-box button */
.pgb-box-product-select {
  height: 40px;
  margin-top: 4px;
  width: 100%;
  border-radius: 999px;
  border: 1.5px solid rgba(29, 16, 11, 0.16);
  background: #fff;
  color: var(--pgb-black);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--pgb-transition), color var(--pgb-transition), border-color var(--pgb-transition);
}

.pgb-box-product.is-ready .pgb-box-product-select {
  background: var(--pgb-black);
  color: #fff;
  border-color: var(--pgb-black);
}

.pgb-box-product.is-ready .pgb-box-product-select:hover {
  background: #2a1a13;
  border-color: #2a1a13;
}

.pgb-box-product-select:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  background: #f7f5f2;
  color: rgba(29, 16, 11, 0.42);
  border-color: rgba(29, 16, 11, 0.08);
}

.pgb-box-product-select:focus-visible {
  outline: 2px solid var(--pgb-amber);
  outline-offset: 2px;
}

/* ─── WooCommerce single-product wrapper ─── */
.single-product .summary .pgb-box-builder {
  margin-top: 12px;
  margin-bottom: 20px;
  clear: both;
}

.single-product .summary .pgb-box-builder--inline { max-width: 640px; }

/* ─── Responsive ─── */

/* 1000px – 4-col grid for large screens */
@media (min-width: 1001px) {
  .pgb-box-products { grid-template-columns: 1fr; }
}

/* 900px */
@media (max-width: 900px) {
  .pgb-box-modal__top     { grid-template-columns: 1fr; }
  .pgb-box-products       { grid-template-columns: 1fr; }
  .pgb-box-modal__panel   { width: calc(100vw - 24px); padding: 20px; }
  .pgb-box-product        { grid-template-columns: 112px 1fr; min-height: 132px; }
  .pgb-box-product__media { width: 112px; height: 112px; min-height: 112px; }
  .pgb-box-product__options { grid-template-columns: 1fr; }
  body.pgb-box-builder-product .pgb-box-builder__footer { display: block; }
  .pgb-box-builder__total { margin-top: 4px; }
}

/* 620px – mobile */
@media (max-width: 620px) {
  .pgb-box-builder__slots { gap: 10px; }

  .pgb-box-slot {
    width: calc(50% - 8px);
    height: 110px;
  }

  .pgb-box-slot:not(:last-child)::after { display: none; }

  .pgb-box-builder__footer { display: block; }

  .pgb-box-modal__panel {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    padding: 16px;
    border-radius: 12px;
  }

  .pgb-box-modal__top { padding-right: 36px; }

  .pgb-box-product {
    grid-template-columns: 88px 1fr;
    gap: 10px;
    min-height: 0;
  }

  .pgb-box-product__media { width: 88px; height: 88px; min-height: 88px; }
  .pgb-box-product__meta h4 { font-size: 13px; }
  .pgb-box-product-select { height: 36px; font-size: 11px; }
}


/* v2.7.10: prevent duplicate native price noise on builder product pages */
body.pgb-box-builder-product.single-product .summary > .price,
body.pgb-box-builder-product.single-product .summary > p.price,
body.pgb-box-builder-product.single-product .summary > span.price,
body.pgb-box-builder-product.single-product .summary .woocommerce-variation-price,
body.pgb-box-builder-product.single-product form.cart .quantity {
  display: none !important;
}

body.pgb-box-builder-product .pgb-box-builder__total {
  margin-left: auto;
  font-size: 12px;
  color: rgba(29,16,11,.68);
}
body.pgb-box-builder-product .pgb-box-builder__total strong {
  color: #17110e;
  font-weight: 700;
}

/* Better image fitting for transparent product shots */
.pgb-box-product__media img,
.pgb-box-slot__content img {
  object-fit: contain !important;
  object-position: center !important;
}

.pgb-box-product__media {
  background: #fff;
}

.pgb-cart-box-summary{display:block;margin-top:4px;font-size:11px;color:rgba(29,16,11,.55);}


/* v2.7.10: single CTA / no Wooma native CTA conflicts */
.pgb-box-product--selected::after{content:none!important;display:none!important;}
body.pgb-box-builder-product.single-product form.cart .single_add_to_cart_button,
body.pgb-box-builder-product.single-product form.cart .wooma-btn-buy-now,
body.pgb-box-builder-product.single-product form.cart .buy_now_button,
body.pgb-box-builder-product.single-product form.cart button[name="wooma-buy-now"]{display:none!important;}

.pgb-box-builder__footer{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin:14px 0 16px;
}
.pgb-builder-add-btn{
  grid-column:1 / -1;
  width:100%;
  min-height:44px;
  border:1.5px solid var(--pgb-black);
  background:var(--pgb-black);
  color:#fff;
  border-radius:0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  transition:opacity var(--pgb-transition), background var(--pgb-transition);
}
.pgb-builder-add-btn:hover:not(:disabled){background:#2a1a13;}
.pgb-builder-add-btn:disabled, .pgb-builder-add-btn.is-disabled{
  background:#fff;
  color:rgba(29,16,11,.36);
  border-color:rgba(29,16,11,.22);
  cursor:not-allowed;
}
.pgb-box-builder__total{font-size:12px;}

/* v2.7.10: cleaner modal cards */
.pgb-box-modal__panel{border-radius:18px;padding:30px;max-width:1120px;}
.pgb-box-product{grid-template-columns:170px 1fr;min-height:198px;border-radius:14px;padding:16px;}
.pgb-box-product__media{width:170px;height:170px;min-height:170px;border:0;background:#fbfaf8;}
.pgb-box-product__media img{padding:10px;object-fit:contain!important;}
.pgb-box-product-select{border-radius:999px;}
@media(max-width:900px){.pgb-box-builder__footer{grid-template-columns:1fr}.pgb-box-product{grid-template-columns:112px 1fr}.pgb-box-product__media{width:112px;height:112px;min-height:112px}}


/* ============================================================
   v2.7.10 full polish — standalone builder UX
   ============================================================ */

/* The product is a builder/container, so the native Woo form should not render
   a second empty CTA area below our builder. */





body.pgb-box-builder-product.single-product .woocommerce-notices-wrapper,
body.pgb-box-builder-product.single-product .woocommerce-message,
body.pgb-box-builder-product.single-product .woocommerce-error {
  display: none !important;
}

body.pgb-box-builder-product .pgb-box-builder {
  padding-top: 6px;
}

body.pgb-box-builder-product .pgb-box-builder__slots {
  gap: 12px;
  margin-bottom: 12px;
}

body.pgb-box-builder-product .pgb-box-slot {
  border-color: rgba(29,16,11,.12);
  background: #fff;
  box-shadow: none;
}

body.pgb-box-builder-product .pgb-box-slot:hover {
  border-color: rgba(29,16,11,.28);
  box-shadow: 0 10px 24px rgba(29,16,11,.06);
}

body.pgb-box-builder-product .pgb-box-slot__remove {
  width: 20px;
  height: 20px;
  top: -9px;
  right: -9px;
  border: 1px solid rgba(29,16,11,.16);
  background: #fff;
  color: rgba(29,16,11,.72);
  box-shadow: 0 5px 14px rgba(0,0,0,.06);
}

body.pgb-box-builder-product .pgb-box-selected-row {
  min-height: 32px;
  padding: 6px 0;
  border-color: rgba(29,16,11,.10);
  font-size: 12px;
}

body.pgb-box-builder-product .pgb-box-selected-row.is-empty {
  color: rgba(29,16,11,.42);
}

body.pgb-box-builder-product .pgb-box-selected-edit,
body.pgb-box-builder-product .pgb-box-selected-remove {
  opacity: .62;
}

body.pgb-box-builder-product .pgb-box-builder__message {
  border-left: 3px solid rgba(61,90,42,.55);
  background: rgba(61,90,42,.055);
  padding: 10px 12px;
  margin-top: 8px;
  font-size: 12px;
}

body.pgb-box-builder-product .pgb-box-builder__message.is-error {
  border-left-color: rgba(138,45,32,.7);
  background: rgba(138,45,32,.055);
}

body.pgb-box-builder-product .pgb-box-builder__footer {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
  padding-top: 2px;
}

body.pgb-box-builder-product .pgb-box-builder__status {
  font-size: 12px;
  color: rgba(29,16,11,.55);
}

body.pgb-box-builder-product .pgb-box-builder__total {
  grid-column: 3;
  text-align: right;
  font-size: 12px;
  color: rgba(29,16,11,.58);
}

body.pgb-box-builder-product .pgb-box-builder__total strong {
  margin-left: 4px;
  font-size: 13px;
}

body.pgb-box-builder-product .pgb-builder-add-btn {
  grid-column: 1 / -1;
  margin-top: 4px;
  min-height: 42px;
  background: #1d100b;
  border-color: #1d100b;
  border-radius: 0;
  letter-spacing: .015em;
}

body.pgb-box-builder-product .pgb-builder-add-btn.is-added {
  background: #3d5a2a;
  border-color: #3d5a2a;
}

/* Premium modal */
.pgb-box-modal__overlay {
  background: rgba(23,17,14,.58);
  backdrop-filter: blur(2px);
}

.pgb-box-modal__panel {
  max-width: 1180px;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 30px 90px rgba(0,0,0,.18);
}

.pgb-box-modal__top {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 360px);
  gap: 18px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(29,16,11,.10);
}

.pgb-box-modal__top h3 {
  font-size: 18px;
  letter-spacing: -.01em;
}

.pgb-box-search {
  height: 44px;
  border: 1px solid rgba(29,16,11,.16);
  border-radius: 999px;
  padding: 0 18px;
  background: #fff;
}

.pgb-box-modal__close {
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
}

.pgb-box-products {
  grid-template-columns: 1fr;
  gap: 14px;
  padding-top: 18px;
}

.pgb-box-product {
  grid-template-columns: 150px 1fr;
  min-height: 188px;
  padding: 14px;
  border-radius: 16px;
  border-color: rgba(29,16,11,.10);
  background: #fff;
  box-shadow: 0 10px 28px rgba(29,16,11,.035);
}

.pgb-box-product:hover {
  border-color: rgba(29,16,11,.22);
  box-shadow: 0 16px 38px rgba(29,16,11,.07);
}

.pgb-box-product--selected {
  border-color: rgba(61,90,42,.36);
  box-shadow: 0 0 0 2px rgba(61,90,42,.08), 0 16px 38px rgba(29,16,11,.06);
}

.pgb-box-product--selected .pgb-box-product__media::after {
  content: 'Στο κουτί';
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(61,90,42,.92);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
}

.pgb-box-product__media {
  position: relative;
  width: 150px;
  height: 150px;
  min-height: 150px;
  border-radius: 12px;
  background: #fbfaf8;
  overflow: hidden;
}

.pgb-box-product__media img,
.pgb-box-product img {
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain !important;
  object-position: center !important;
}

.pgb-box-product__meta h4 {
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.3;
}

.pgb-box-product__price {
  font-size: 13px;
  color: rgba(29,16,11,.62);
}

.pgb-box-product__options {
  gap: 10px 12px;
  margin-top: 12px;
}

.pgb-box-attr span {
  margin-bottom: 5px;
  font-size: 9px;
  letter-spacing: .16em;
  color: rgba(29,16,11,.46);
}

.pgb-box-product select {
  height: 38px;
  border-color: rgba(29,16,11,.13);
  border-radius: 999px;
  padding: 0 34px 0 13px;
  font-size: 12px;
  background-color: #fff;
}

.pgb-box-product-select {
  height: 40px;
  margin-top: 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.pgb-box-product.is-ready .pgb-box-product-select {
  background: #1d100b;
  border-color: #1d100b;
}

.pgb-box-product__variation-price {
  min-height: 16px;
  margin-top: 8px;
  font-size: 12px;
  color: rgba(29,16,11,.58);
}

.pgb-box-builder__toast {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(61,90,42,.08);
  color: #3d5a2a;
  font-size: 12px;
  font-weight: 600;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease;
}
.pgb-box-builder__toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media(max-width:900px){
  .pgb-box-modal__top{grid-template-columns:1fr;padding-right:38px;}
  .pgb-box-products{grid-template-columns:1fr;}
  .pgb-box-product{grid-template-columns:112px 1fr;min-height:142px;}
  .pgb-box-product__media{width:112px;height:112px;min-height:112px;}
}


/* v2.7.10 — premium checkout bar + stricter Wooma price cleanup */
body.pgb-box-builder-product.single-product .summary .wooma-summary-item.wooma-price,
body.pgb-box-builder-product.single-product .summary .wooma-price.price,
body.pgb-box-builder-product.single-product .summary > .price,
body.pgb-box-builder-product.single-product .summary p.price,
body.pgb-box-builder-product.single-product .summary span.price,
body.pgb-box-builder-product.single-product .summary .woocommerce-Price-amount:not(.pgb-keep-price),
body.pgb-box-builder-product.single-product .summary .woocommerce-variation-price,
body.pgb-box-builder-product.single-product .summary .product-after-cart-wrapper,
body.pgb-box-builder-product.single-product .summary .product-after-cart,
body.pgb-box-builder-product.single-product .summary .wooma-product-after-cart,
body.pgb-box-builder-product.single-product .summary .product-extra-link,
body.pgb-box-builder-product.single-product .summary .woocommerce-notices-wrapper,
body.pgb-box-builder-product.single-product .summary .woocommerce-message,
body.pgb-box-builder-product.single-product .summary .woocommerce-error {
  display: none !important;
}

body.pgb-box-builder-product .pgb-box-builder__footer {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 10px 14px !important;
  margin-top: 16px !important;
  padding-top: 0 !important;
}

body.pgb-box-builder-product .pgb-box-builder__status {
  grid-column: 1 !important;
  color: rgba(29,16,11,.54) !important;
  font-size: 12px !important;
}

body.pgb-box-builder-product .pgb-box-builder__total {
  grid-column: 3 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  margin: 0 !important;
  font-size: 12px !important;
  color: rgba(29,16,11,.58) !important;
  white-space: nowrap !important;
}

body.pgb-box-builder-product .pgb-box-builder__total strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1d100b !important;
}

body.pgb-box-builder-product .pgb-builder-add-btn {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 44px !important;
  margin-top: 2px !important;
  background: #1d100b !important;
  border: 1px solid #1d100b !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
}

body.pgb-box-builder-product .pgb-builder-add-btn:disabled,
body.pgb-box-builder-product .pgb-builder-add-btn.is-disabled {
  background: transparent !important;
  color: rgba(29,16,11,.35) !important;
  border-color: rgba(29,16,11,.28) !important;
}

body.pgb-box-builder-product .pgb-builder-add-btn.is-added {
  background: #3d5a2a !important;
  border-color: #3d5a2a !important;
  color: #fff !important;
}

.pgb-box-product__media,
.pgb-box-slot__content {
  background: #fff !important;
}

.pgb-box-product__media img,
.pgb-box-product img,
.pgb-box-slot__content img {
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  body.pgb-box-builder-product .pgb-box-builder__footer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 35 !important;
    grid-template-columns: 1fr auto !important;
    padding: 12px 0 0 !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(10px) !important;
  }
  body.pgb-box-builder-product .pgb-box-builder__status { grid-column: 1 !important; }
  body.pgb-box-builder-product .pgb-box-builder__total { grid-column: 2 !important; }
  body.pgb-box-builder-product .pgb-builder-add-btn { grid-column: 1 / -1 !important; }
}


/* v2.7.10 — remove remaining Wooma native cart/info wrapper under builder CTA */
body.pgb-box-builder-product.single-product .wooma-summary-item.wooma-product-info,
body.pgb-box-builder-product.single-product .wooma-product-info-top,
body.pgb-box-builder-product.single-product .summary .wooma-summary-item.wooma-product-info,
body.pgb-box-builder-product.single-product .summary .wooma-product-info-top,

body.pgb-box-builder-product.single-product form.cart .quantity,
body.pgb-box-builder-product.single-product form.cart .single_add_to_cart_button,
body.pgb-box-builder-product.single-product form.cart .wooma-btn-buy-now,
body.pgb-box-builder-product.single-product form.cart .button,



body.pgb-box-builder-product.single-product .product-extra-link {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Fallback when Wooma/optimization strips the body class but builder exists on product pages */
.single-product .pgb-box-builder ~ .pgb-box-modal ~ .wooma-summary-item.wooma-product-info,
.single-product .pgb-box-builder ~ .wooma-summary-item.wooma-product-info {
  display: none !important;
}


/* ============================================================
   v2.7.10 — PetGiftBox modal polish / equal-card layout
   ============================================================ */

/* Product grid stability: prevents variable/simple cards from visually overlapping. */
.pgb-box-modal .pgb-box-products {
  align-items: stretch !important;
  grid-auto-rows: auto !important;
  gap: 16px !important;
  padding: 20px 4px 6px 0 !important;
}

.pgb-box-modal .pgb-box-product {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 16px !important;
  min-height: 208px !important;
  height: 100% !important;
  padding: 16px !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.pgb-box-modal .pgb-box-product__media {
  align-self: center !important;
  width: 150px !important;
  height: 150px !important;
  min-height: 150px !important;
  flex: 0 0 150px !important;
  background: #fbfaf8 !important;
}

.pgb-box-modal .pgb-box-product__media img,
.pgb-box-modal .pgb-box-product img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 12px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.pgb-box-modal .pgb-box-product__body {
  min-width: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(16px, auto) auto !important;
  align-content: stretch !important;
  gap: 10px !important;
  justify-content: initial !important;
}

.pgb-box-modal .pgb-box-product__meta {
  min-width: 0 !important;
}

.pgb-box-modal .pgb-box-product__meta h4 {
  min-height: 36px !important;
  margin: 0 0 4px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.pgb-box-modal .pgb-box-product__price {
  min-height: 18px !important;
  white-space: normal !important;
}

.pgb-box-modal .pgb-box-product__options {
  align-self: start !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  margin-top: 0 !important;
  min-height: 58px !important;
}

.pgb-box-modal .pgb-box-product__variation-price {
  align-self: end !important;
  min-height: 18px !important;
  margin: 0 !important;
}

.pgb-box-modal .pgb-box-product-select {
  position: relative !important;
  z-index: 3 !important;
  align-self: end !important;
  width: 100% !important;
  margin: 0 !important;
  min-height: 42px !important;
  transform: none !important;
}

.pgb-box-modal .pgb-box-product-select:disabled {
  pointer-events: none !important;
}

/* Cleaner selected state. */
.pgb-box-modal .pgb-box-product--selected {
  background: #fff !important;
  border-color: rgba(61,90,42,.38) !important;
}

.pgb-box-modal .pgb-box-product--selected .pgb-box-product-select {
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
  opacity: 1 !important;
}

.pgb-box-modal .pgb-box-product--selected .pgb-box-product__media::after {
  left: 12px !important;
  bottom: 12px !important;
  z-index: 4 !important;
}

/* Prevent simple products from looking empty compared to variable products. */
.pgb-box-modal .pgb-box-product:not(:has(.pgb-box-product__options)) .pgb-box-product__body {
  grid-template-rows: auto 1fr auto !important;
}

/* Browser-safe fallback: simple product cards get natural spacing even without :has support. */
.pgb-box-modal .pgb-box-product__body > .pgb-box-product-select:first-last-child {
  margin-top: auto !important;
}

/* Tighter modal header on large screens. */
.pgb-box-modal .pgb-box-modal__top {
  gap: 22px !important;
}

.pgb-box-modal .pgb-box-search {
  box-shadow: none !important;
}

@media (max-width: 900px) {
  .pgb-box-modal .pgb-box-products {
    grid-template-columns: 1fr !important;
  }

  .pgb-box-modal .pgb-box-product {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    min-height: 156px !important;
    gap: 14px !important;
  }

  .pgb-box-modal .pgb-box-product__media {
    width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
  }

  .pgb-box-modal .pgb-box-product__options {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
}

@media (max-width: 560px) {
  .pgb-box-modal .pgb-box-product {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 12px !important;
  }

  .pgb-box-modal .pgb-box-product__media {
    width: 92px !important;
    height: 92px !important;
    min-height: 92px !important;
  }

  .pgb-box-modal .pgb-box-product__meta h4 {
    min-height: auto !important;
  }
}


/* === PetGiftBox Box Builder v2.7.10 — variation chips + premium selection polish === */
.pgb-box-modal .pgb-box-product__options{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin-top:12px!important;
}
.pgb-box-modal .pgb-box-attr--chips{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.pgb-box-modal .pgb-box-attr--chips > span{
  font-size:10px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:rgba(0,0,0,.42)!important;
}
.pgb-box-modal .pgb-box-attr__chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.pgb-box-modal .pgb-box-attr-chip{
  appearance:none!important;
  border:1px solid rgba(0,0,0,.12)!important;
  background:#fff!important;
  color:rgba(0,0,0,.72)!important;
  border-radius:999px!important;
  min-height:32px!important;
  padding:7px 12px!important;
  font-size:12px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.pgb-box-modal .pgb-box-attr-chip:hover{
  border-color:rgba(0,0,0,.32)!important;
  transform:translateY(-1px)!important;
}
.pgb-box-modal .pgb-box-attr-chip.is-active{
  background:#1f2a24!important;
  border-color:#1f2a24!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.08)!important;
}
.pgb-box-modal .pgb-box-product__variation-price{
  min-height:18px!important;
  margin-top:7px!important;
  font-size:13px!important;
  font-weight:600!important;
  color:#1f2a24!important;
}
.pgb-box-modal .pgb-box-product{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
.pgb-box-modal .pgb-box-product:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.075)!important;
}
.pgb-box-modal .pgb-box-product.is-ready{
  border-color:rgba(31,42,36,.18)!important;
}
.pgb-box-modal .pgb-box-product--selected{
  border-color:#1f2a24!important;
  box-shadow:0 10px 28px rgba(31,42,36,.08)!important;
}
.pgb-box-modal .pgb-box-product--selected .pgb-box-product__media::after{
  content:'✓ Στο κουτί'!important;
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:2!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  padding:5px 9px!important;
  font-size:11px!important;
  font-weight:600!important;
  color:#1f2a24!important;
}
.pgb-box-slot--filled{
  border-color:rgba(31,42,36,.22)!important;
  background:#fbfaf7!important;
}
.pgb-box-slot__content small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10px!important;
  color:rgba(0,0,0,.54)!important;
}
.pgb-pop{
  animation:pgbSlotPop .26s ease both!important;
}
@keyframes pgbSlotPop{
  0%{transform:scale(1)}
  55%{transform:scale(1.045)}
  100%{transform:scale(1)}
}
.pgb-box-modal .pgb-box-product select{display:none!important;}
@media(max-width:700px){
  .pgb-box-modal .pgb-box-attr-chip{min-height:30px!important;padding:7px 10px!important;font-size:11px!important;}
}


/* ============================================================
   v2.7.10 — compact modal for large catalogues (20–30+ products)
   ============================================================ */
.pgb-box-modal__panel{
  width:min(1240px, calc(100vw - 48px)) !important;
  max-height:82vh !important;
  padding:22px 24px !important;
  overflow:hidden !important;
}
.pgb-box-modal__top{
  padding-bottom:12px !important;
  margin-bottom:0 !important;
}
.pgb-box-products{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
  padding-top:14px !important;
  max-height:calc(82vh - 126px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:10px !important;
  scrollbar-width:thin;
}
.pgb-box-product{
  grid-template-columns:96px 1fr !important;
  min-height:132px !important;
  padding:10px !important;
  border-radius:14px !important;
  gap:12px !important;
  align-items:center !important;
}
.pgb-box-product__media{
  width:96px !important;
  height:96px !important;
  min-height:96px !important;
  border-radius:10px !important;
}
.pgb-box-product__media img,
.pgb-box-product img{
  padding:7px !important;
}
.pgb-box-product__body{
  min-width:0 !important;
  gap:6px !important;
}
.pgb-box-product__meta h4{
  font-size:12.5px !important;
  line-height:1.25 !important;
  margin:0 0 4px !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pgb-box-product__price{
  font-size:12px !important;
  margin-bottom:2px !important;
}
.pgb-box-product__options{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px 8px !important;
  margin-top:6px !important;
}

.pgb-box-attr span{
  font-size:8px !important;
  margin-bottom:4px !important;
}
.pgb-box-attr__chips{
  gap:4px !important;
}
.pgb-box-attr-chip{
  min-height:26px !important;
  padding:0 9px !important;
  font-size:11px !important;
  border-radius:999px !important;
}
.pgb-box-product__variation-price{
  margin-top:4px !important;
  min-height:12px !important;
  font-size:11px !important;
}
.pgb-box-product-select{
  height:34px !important;
  margin-top:6px !important;
  font-size:11.5px !important;
  border-radius:999px !important;
}
.pgb-box-product--selected .pgb-box-product__media::after{
  left:6px !important;
  bottom:6px !important;
  padding:3px 7px !important;
  font-size:9px !important;
}

@media (max-width:1180px){
  .pgb-box-products{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
}
@media (max-width:760px){
  .pgb-box-modal__panel{width:calc(100vw - 22px) !important;max-height:86vh !important;padding:18px !important;}
  .pgb-box-products{grid-template-columns:1fr !important;max-height:calc(86vh - 132px) !important;}
  .pgb-box-product{grid-template-columns:88px 1fr !important;min-height:122px !important;}
  .pgb-box-product__media{width:88px !important;height:88px !important;min-height:88px !important;}
}


/* ============================================================
   v2.7.10 — compact catalogue modal for 20–30+ products
   ============================================================ */
.pgb-box-modal__panel {
  max-width: 1120px !important;
  width: min(1120px, calc(100vw - 64px)) !important;
  height: min(760px, calc(100vh - 72px)) !important;
  padding: 24px !important;
  border-radius: 18px !important;
}

.pgb-box-modal__top {
  grid-template-columns: 1fr minmax(260px, 360px) !important;
  gap: 18px !important;
  padding-bottom: 14px !important;
}

.pgb-box-products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding-top: 14px !important;
  align-content: start !important;
}

.pgb-box-product {
  display: grid !important;
  grid-template-columns: 86px 1fr !important;
  grid-template-rows: auto auto 1fr auto !important;
  gap: 8px 12px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.pgb-box-product:hover {
  transform: none !important;
  box-shadow: 0 10px 24px rgba(29,16,11,.045) !important;
}

.pgb-box-product__media {
  grid-column: 1 !important;
  grid-row: 1 / span 4 !important;
  width: 86px !important;
  height: 86px !important;
  min-height: 86px !important;
  border-radius: 10px !important;
  background: #fbfaf8 !important;
}

.pgb-box-product__media img,
.pgb-box-product img {
  padding: 7px !important;
  object-fit: contain !important;
}

.pgb-box-product__body {
  display: grid !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.pgb-box-product__meta h4 {
  font-size: 12px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.pgb-box-product__price {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.pgb-box-product__options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px 6px !important;
  margin-top: 4px !important;
}

.pgb-box-attr {
  margin: 0 !important;
  min-width: 0 !important;
}

.pgb-box-attr span {
  font-size: 8px !important;
  letter-spacing: .12em !important;
  margin: 0 0 3px !important;
}

.pgb-box-attr__chips,
.pgb-box-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

.pgb-box-chip,
.pgb-box-variation-chip,
.pgb-box-product button[data-attribute-value] {
  min-height: 26px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.pgb-box-product__variation-price {
  min-height: 0 !important;
  margin-top: 2px !important;
  font-size: 11px !important;
}

.pgb-box-product-select {
  height: 32px !important;
  margin-top: 6px !important;
  padding: 0 12px !important;
  font-size: 11px !important;
  border-radius: 999px !important;
}

.pgb-box-product--selected .pgb-box-product__media::after {
  left: 6px !important;
  bottom: 6px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
}

@media (max-width: 1100px) {
  .pgb-box-products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 720px) {
  .pgb-box-modal__panel {
    width: calc(100vw - 24px) !important;
    height: calc(100vh - 40px) !important;
    padding: 18px !important;
  }
  .pgb-box-modal__top { grid-template-columns: 1fr !important; padding-right: 42px !important; }
  .pgb-box-products { grid-template-columns: 1fr !important; }
  .pgb-box-product { grid-template-columns: 78px 1fr !important; }
  .pgb-box-product__media { width: 78px !important; height: 78px !important; min-height: 78px !important; }
}

/* ============================================================
   v2.7.10 — MiaCara-level compact catalogue modal
   Clean product cards first. Options open only on demand.
   ============================================================ */
.pgb-box-modal__panel{
  max-width:1180px!important;
  width:min(1180px, calc(100vw - 64px))!important;
  height:min(760px, calc(100vh - 72px))!important;
  padding:26px!important;
  border-radius:20px!important;
}
.pgb-box-modal__top{
  grid-template-columns:1fr minmax(280px, 360px)!important;
  align-items:center!important;
  padding:0 42px 16px 0!important;
  margin:0!important;
}
.pgb-box-modal__top h3{
  font-size:18px!important;
  letter-spacing:-.01em!important;
}
.pgb-box-search{
  height:42px!important;
  border:1px solid rgba(29,16,11,.18)!important;
  border-radius:999px!important;
  padding:0 18px!important;
  background:#fff!important;
}
.pgb-box-products{
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:14px!important;
  padding:18px 8px 8px 0!important;
  max-height:calc(100% - 78px)!important;
  overflow-y:auto!important;
  align-content:start!important;
}
.pgb-box-product{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:286px!important;
  height:auto!important;
  padding:14px!important;
  gap:10px!important;
  border:1px solid rgba(29,16,11,.10)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
}
.pgb-box-product:hover{
  border-color:rgba(29,16,11,.22)!important;
  box-shadow:0 16px 36px rgba(29,16,11,.055)!important;
  transform:translateY(-1px)!important;
}
.pgb-box-product__media{
  width:100%!important;
  height:132px!important;
  min-height:132px!important;
  border:0!important;
  border-radius:14px!important;
  background:#fbfaf8!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.pgb-box-product__media img,
.pgb-box-product img{
  width:100%!important;
  height:100%!important;
  padding:12px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.pgb-box-product__body{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.pgb-box-product__meta h4{
  min-height:34px!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.28!important;
  font-weight:700!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pgb-box-product__price{
  min-height:17px!important;
  font-size:12px!important;
  color:rgba(29,16,11,.62)!important;
}
.pgb-box-product-options-toggle{
  width:100%!important;
  min-height:34px!important;
  margin-top:auto!important;
  border:1px solid rgba(29,16,11,.14)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1d100b!important;
  font-size:12px!important;
  font-weight:700!important;
  cursor:pointer!important;
  transition:background .18s ease, border-color .18s ease!important;
}
.pgb-box-product-options-toggle:hover{
  background:#fbfaf8!important;
  border-color:rgba(29,16,11,.28)!important;
}
.pgb-box-product__drawer{
  display:none!important;
  margin-top:2px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(29,16,11,.08)!important;
}
.pgb-box-product.is-expanded .pgb-box-product__drawer{
  display:block!important;
}
.pgb-box-product__options{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin:0!important;
}
.pgb-box-attr--chips{
  gap:6px!important;
}
.pgb-box-attr--chips > span{
  font-size:8px!important;
  letter-spacing:.16em!important;
  color:rgba(29,16,11,.42)!important;
  margin:0 0 5px!important;
}
.pgb-box-attr__chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.pgb-box-attr-chip{
  min-height:28px!important;
  padding:0 10px!important;
  font-size:11px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(29,16,11,.13)!important;
  color:rgba(29,16,11,.72)!important;
}
.pgb-box-attr-chip.is-active{
  background:#1d100b!important;
  border-color:#1d100b!important;
  color:#fff!important;
  box-shadow:none!important;
}
.pgb-box-product__variation-price{
  min-height:16px!important;
  margin:6px 0 0!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#1d100b!important;
}
.pgb-box-product-select{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:700!important;
}
.pgb-box-product:not(.is-expanded) .pgb-box-product__drawer + .pgb-box-product-select{
  margin-top:auto!important;
}
.pgb-box-product:not(.is-expanded) .pgb-box-product-select{
  margin-top:auto!important;
}
.pgb-box-product.is-expanded{
  min-height:360px!important;
  border-color:rgba(29,16,11,.22)!important;
}
.pgb-box-product--selected{
  border-color:rgba(61,90,42,.45)!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(61,90,42,.06)!important;
}
.pgb-box-product--selected .pgb-box-product__media::after{
  content:'✓ Στο κουτί'!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  bottom:auto!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(61,90,42,.22)!important;
  color:#3d5a2a!important;
  font-size:10px!important;
  font-weight:700!important;
}
.pgb-box-product--selected .pgb-box-product-select{
  background:#3d5a2a!important;
  border-color:#3d5a2a!important;
  color:#fff!important;
  opacity:1!important;
}
@media(max-width:1180px){
  .pgb-box-products{grid-template-columns:repeat(3, minmax(0, 1fr))!important;}
}
@media(max-width:900px){
  .pgb-box-products{grid-template-columns:repeat(2, minmax(0, 1fr))!important;}
  .pgb-box-modal__top{grid-template-columns:1fr!important; padding-right:42px!important;}
}
@media(max-width:620px){
  .pgb-box-modal__panel{width:calc(100vw - 18px)!important;height:calc(100vh - 28px)!important;padding:18px!important;}
  .pgb-box-products{grid-template-columns:1fr!important;}
  .pgb-box-product{min-height:0!important;}
  .pgb-box-product__media{height:120px!important;min-height:120px!important;}
}

/* ============================================================
   v2.7.10 — 3-column catalogue + pagination / 9 products per page
   ============================================================ */
.pgb-box-modal__panel{
  max-width:1120px!important;
  width:min(1120px, calc(100vw - 64px))!important;
}
.pgb-box-products{
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:14px!important;
  padding:18px 8px 8px 0!important;
  max-height:none!important;
  overflow-y:auto!important;
}
.pgb-box-product{
  min-height:252px!important;
  padding:13px!important;
}
.pgb-box-product__media{
  height:118px!important;
  min-height:118px!important;
}
.pgb-box-product__meta h4{
  min-height:32px!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
.pgb-box-product__price{font-size:11.5px!important;}
.pgb-box-product-options-toggle,
.pgb-box-product-select{
  height:34px!important;
  min-height:34px!important;
  font-size:11.5px!important;
}
.pgb-box-product.is-expanded{
  min-height:320px!important;
}
.pgb-box-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:14px 0 0;
  margin-top:8px;
  border-top:1px solid rgba(29,16,11,.08);
  flex-shrink:0;
}
.pgb-box-pagination[hidden]{display:none!important;}
.pgb-box-page-info{
  margin:0 8px;
  font-size:12px;
  color:rgba(29,16,11,.56);
}
.pgb-box-page-btn{
  width:30px;
  height:30px;
  border:1px solid rgba(29,16,11,.12);
  border-radius:999px;
  background:#fff;
  color:#1d100b;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.pgb-box-page-btn:hover:not(:disabled),
.pgb-box-page-btn.is-active{
  background:#1d100b;
  border-color:#1d100b;
  color:#fff;
}
.pgb-box-page-btn:disabled{
  opacity:.28;
  cursor:not-allowed;
}
.pgb-box-page-dots{
  width:18px;
  text-align:center;
  color:rgba(29,16,11,.36);
  font-size:12px;
}
@media(max-width:900px){
  .pgb-box-products{grid-template-columns:repeat(2, minmax(0, 1fr))!important;}
}
@media(max-width:620px){
  .pgb-box-products{grid-template-columns:1fr!important;}
  .pgb-box-page-info{display:none;}
}

/* ============================================================
   v2.7.10 — visual perfection pass / serious premium catalogue
   ============================================================ */
.pgb-box-modal__panel{
  max-width:1120px!important;
  width:min(1120px, calc(100vw - 64px))!important;
  height:min(760px, calc(100vh - 72px))!important;
  padding:26px!important;
}

.pgb-box-modal__top{
  grid-template-columns:1fr minmax(280px, 360px)!important;
  align-items:center!important;
  gap:22px!important;
}

.pgb-box-products{
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:14px!important;
  align-content:start!important;
  padding:18px 8px 8px 0!important;
}

.pgb-box-product{
  position:relative!important;
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:14px!important;
  align-items:center!important;
  min-height:178px!important;
  height:auto!important;
  padding:14px!important;
  border-radius:18px!important;
  border:1px solid rgba(29,16,11,.10)!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-align:left!important;
}

.pgb-box-product:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(29,16,11,.22)!important;
  box-shadow:0 16px 34px rgba(29,16,11,.055)!important;
}

.pgb-box-product__media{
  grid-column:1!important;
  grid-row:1!important;
  width:116px!important;
  height:116px!important;
  min-height:116px!important;
  border-radius:14px!important;
  background:#fbfaf8!important;
  align-self:center!important;
}

.pgb-box-product__media img,
.pgb-box-product img{
  padding:10px!important;
  object-fit:contain!important;
  object-position:center!important;
}

.pgb-box-product__body{
  grid-column:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  min-width:0!important;
  height:100%!important;
  gap:8px!important;
}

.pgb-box-product__meta h4{
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.28!important;
  font-weight:700!important;
  color:#17110e!important;
  text-align:left!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.pgb-box-product__price,
.pgb-box-product__variation-price{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:18px!important;
  margin:0!important;
  line-height:1!important;
  color:rgba(29,16,11,.62)!important;
}

.pgb-price-current{
  font-size:13px!important;
  font-weight:700!important;
  color:#17110e!important;
  white-space:nowrap!important;
}

.pgb-price-old{
  font-size:11.5px!important;
  font-weight:500!important;
  color:rgba(29,16,11,.38)!important;
  text-decoration:line-through!important;
  white-space:nowrap!important;
}

.pgb-box-product-options-toggle,
.pgb-box-product-select{
  width:100%!important;
  min-height:34px!important;
  height:34px!important;
  margin-top:auto!important;
  border-radius:999px!important;
  font-size:11.5px!important;
  font-weight:700!important;
}

.pgb-box-product-options-toggle{
  border:1px solid rgba(29,16,11,.14)!important;
  background:#fff!important;
  color:#1d100b!important;
}

.pgb-box-product-options-toggle:hover{
  background:#fbfaf8!important;
  border-color:rgba(29,16,11,.28)!important;
}

.pgb-box-product__drawer{
  margin-top:4px!important;
  padding-top:8px!important;
  border-top:1px solid rgba(29,16,11,.08)!important;
}

.pgb-box-product:not(.is-expanded) .pgb-box-product__drawer{
  display:none!important;
}

.pgb-box-product.is-expanded{
  min-height:238px!important;
  align-items:start!important;
}

.pgb-box-product.is-expanded .pgb-box-product__media{
  align-self:start!important;
}

.pgb-box-product__options{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0!important;
}

.pgb-box-attr--chips > span{
  margin:0 0 4px!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  color:rgba(29,16,11,.42)!important;
}

.pgb-box-attr__chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}

.pgb-box-attr-chip{
  min-height:27px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  background:#fff!important;
  border:1px solid rgba(29,16,11,.14)!important;
  color:rgba(29,16,11,.70)!important;
  box-shadow:none!important;
}

.pgb-box-attr-chip:hover{
  transform:none!important;
  border-color:rgba(29,16,11,.30)!important;
}

.pgb-box-attr-chip.is-active{
  background:#1d100b!important;
  border-color:#1d100b!important;
  color:#fff!important;
}

.pgb-box-product.is-ready .pgb-box-product-select{
  background:#1d100b!important;
  border-color:#1d100b!important;
  color:#fff!important;
}

.pgb-box-product-select:disabled{
  opacity:.34!important;
  background:#fbfaf8!important;
  border-color:rgba(29,16,11,.08)!important;
  color:rgba(29,16,11,.34)!important;
}

.pgb-box-product--selected{
  border-color:rgba(61,90,42,.42)!important;
  box-shadow:0 0 0 2px rgba(61,90,42,.055)!important;
}

.pgb-box-product--selected .pgb-box-product__media::after{
  content:'✓ Στο κουτί'!important;
  top:auto!important;
  right:auto!important;
  left:8px!important;
  bottom:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(61,90,42,.18)!important;
  color:#3d5a2a!important;
  font-size:9.5px!important;
  font-weight:700!important;
}

.pgb-box-product--selected .pgb-box-product-select{
  background:#3d5a2a!important;
  border-color:#3d5a2a!important;
  color:#fff!important;
  opacity:1!important;
}

.pgb-box-pagination{
  padding-top:12px!important;
  margin-top:10px!important;
}

@media(max-width:980px){
  .pgb-box-products{grid-template-columns:repeat(2, minmax(0,1fr))!important;}
}

@media(max-width:620px){
  .pgb-box-modal__panel{width:calc(100vw - 18px)!important;height:calc(100vh - 28px)!important;padding:18px!important;}
  .pgb-box-modal__top{grid-template-columns:1fr!important;padding-right:42px!important;}
  .pgb-box-products{grid-template-columns:1fr!important;}
  .pgb-box-product{grid-template-columns:92px minmax(0,1fr)!important;min-height:132px!important;padding:12px!important;}
  .pgb-box-product__media{width:92px!important;height:92px!important;min-height:92px!important;}
  .pgb-box-product.is-expanded{min-height:0!important;}
}



/* ============================================================
   v2.7.10 — clearer modal flow: no hidden options, no confusion
   ============================================================ */

.pgb-box-modal {
  --pgb-bg: #f8f9fa;
}

.pgb-box-modal__panel {
  background: #f8f9fa !important;
  width: min(1120px, calc(100vw - 48px)) !important;
}

.pgb-box-modal__top {
  align-items: center !important;
}



.pgb-box-products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pgb-box-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  min-height: 0 !important;
  padding: 18px !important;
  background: #fff !important;
  border-radius: 18px !important;
  border: 1px solid rgba(29,16,11,.12) !important;
}

.pgb-box-product__media {
  width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  background: #fbfaf8 !important;
  border-radius: 14px !important;
}

.pgb-box-product__media img {
  padding: 16px !important;
}

.pgb-box-product__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100% !important;
}

.pgb-box-product__meta h4 {
  font-size: 15px !important;
  line-height: 1.32 !important;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
}

.pgb-box-product__price {
  font-size: 13px !important;
  color: rgba(29,16,11,.68) !important;
}

.pgb-box-product-options-toggle {
  display: none !important;
}

.pgb-box-product__drawer {
  display: block !important;
  margin-top: 2px !important;
}

.pgb-box-product__helper {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  color: rgba(29,16,11,.50) !important;
}

.pgb-box-product__options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.pgb-box-attr span {
  font-size: 10px !important;
  letter-spacing: .14em !important;
  color: rgba(29,16,11,.45) !important;
}

.pgb-box-attr__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

.pgb-box-attr-chip {
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(29,16,11,.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: rgba(29,16,11,.68) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.pgb-box-attr-chip.is-active {
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
}

.pgb-box-product__variation-price {
  min-height: 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1d100b !important;
}

.pgb-box-product-select {
  margin-top: auto !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.pgb-box-product-select:disabled {
  background: #f8f9fa !important;
  border-color: rgba(29,16,11,.12) !important;
  color: rgba(29,16,11,.38) !important;
  opacity: 1 !important;
}

.pgb-box-product--selected {
  border-color: rgba(181,128,81,.45) !important;
  box-shadow: 0 0 0 3px rgba(181,128,81,.10) !important;
}

@media (max-width: 1100px) {
  .pgb-box-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .pgb-box-modal__panel {
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    padding: 16px !important;
  }

  .pgb-box-modal__top {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-right: 38px !important;
  }

  .pgb-box-products {
    grid-template-columns: 1fr !important;
  }

  .pgb-box-product__media {
    height: 150px !important;
    min-height: 150px !important;
  }
}



/* ============================================================
   v2.7.10 — premium modal width/grid + safer CTA states
   ============================================================ */

.pgb-box-modal__panel {
  width: min(1380px, calc(100vw - 64px)) !important;
  height: min(820px, calc(100vh - 64px)) !important;
  max-width: 1380px !important;
  background: #f8f9fa !important;
}

.pgb-box-modal__body {
  padding: 20px 32px 32px !important;
}

.pgb-box-modal__header {
  padding: 30px 32px 0 !important;
}

.pgb-box-modal__search-row {
  padding: 18px 32px 0 !important;
}

.pgb-box-products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pgb-box-product {
  min-height: 390px !important;
}

.pgb-box-product__media {
  aspect-ratio: 1 / 0.86 !important;
  min-height: 170px !important;
}

.pgb-box-product__meta h4 {
  font-size: 15px !important;
  line-height: 1.32 !important;
}

.pgb-box-product__helper {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  color: rgba(23,17,14,.48) !important;
}

.pgb-box-product-options-toggle {
  display: none !important;
}

.pgb-box-product__drawer {
  display: block !important;
}

.pgb-box-product.is-ready .pgb-box-product-select {
  background: var(--pgb-ink) !important;
  border-color: var(--pgb-ink) !important;
  color: #fff !important;
}

.pgb-box-product-select:disabled {
  background: #f8f9fa !important;
  border-color: rgba(23,17,14,.10) !important;
  color: rgba(23,17,14,.38) !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

@media (max-width: 1280px) {
  .pgb-box-modal__panel {
    width: min(1180px, calc(100vw - 48px)) !important;
  }

  .pgb-box-products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .pgb-box-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .pgb-box-modal__panel {
    width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    border-radius: 18px !important;
  }

  .pgb-box-modal__header,
  .pgb-box-modal__search-row,
  .pgb-box-modal__body {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .pgb-box-products {
    grid-template-columns: 1fr !important;
  }

  .pgb-box-product {
    min-height: 0 !important;
  }
}



/* ============================================================
   v2.7.10 — HARD MODAL REDESIGN OVERRIDE
   Forces the modal/cards to the new premium layout even if older
   CSS rules are still loaded later by cache/theme.
   ============================================================ */

body .pgb-box-modal.is-open {
  display: block !important;
}

body .pgb-box-modal .pgb-box-modal__panel {
  width: min(1440px, calc(100vw - 72px)) !important;
  max-width: 1440px !important;
  height: min(860px, calc(100vh - 72px)) !important;
  max-height: calc(100vh - 72px) !important;
  background: #f8f9fa !important;
  border-radius: 28px !important;
  padding: 0 !important;
}

body .pgb-box-modal .pgb-box-modal__header {
  padding: 32px 36px 0 !important;
}

body .pgb-box-modal .pgb-box-modal__search-row {
  padding: 18px 36px 0 !important;
}

body .pgb-box-modal .pgb-box-modal__body {
  padding: 22px 36px 36px !important;
  overflow-y: auto !important;
}

body .pgb-box-modal .pgb-box-products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  align-content: start !important;
  width: 100% !important;
}

/* Card: force vertical premium card */
body .pgb-box-modal .pgb-box-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 430px !important;
  gap: 14px !important;
  padding: 20px !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid rgba(23,17,14,.12) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Image full top */
body .pgb-box-modal .pgb-box-product__media {
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  flex: 0 0 190px !important;
  aspect-ratio: auto !important;
  border-radius: 16px !important;
  background: #fbfaf8 !important;
}

body .pgb-box-modal .pgb-box-product__media img,
body .pgb-box-modal .pgb-box-product img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 18px !important;
}

/* Body */
body .pgb-box-modal .pgb-box-product__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body .pgb-box-modal .pgb-box-product__meta h4 {
  font-size: 16px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
  color: #17110e !important;
  min-height: 42px !important;
}

body .pgb-box-modal .pgb-box-product__price,
body .pgb-box-modal .pgb-price-current {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #17110e !important;
}

body .pgb-box-modal .pgb-price-old {
  font-size: 12px !important;
  color: rgba(23,17,14,.35) !important;
}

/* Always show drawers/options cleanly */
body .pgb-box-modal .pgb-box-product-options-toggle {
  display: none !important;
}

body .pgb-box-modal .pgb-box-product__drawer {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 2px !important;
}

body .pgb-box-modal .pgb-box-product__drawer[hidden] {
  display: flex !important;
}

body .pgb-box-modal .pgb-box-product__helper {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: rgba(23,17,14,.52) !important;
}

body .pgb-box-modal .pgb-box-product__options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body .pgb-box-modal .pgb-box-attr__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

body .pgb-box-modal .pgb-box-attr-chip {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}

/* CTA always bottom */
body .pgb-box-modal .pgb-box-product-select {
  width: 100% !important;
  height: 44px !important;
  margin-top: auto !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

body .pgb-box-modal .pgb-box-product.is-ready .pgb-box-product-select {
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
}

body .pgb-box-modal .pgb-box-product-select:disabled {
  background: #f8f9fa !important;
  border-color: rgba(23,17,14,.10) !important;
  color: rgba(23,17,14,.38) !important;
  opacity: 1 !important;
}

@media (max-width: 1320px) {
  body .pgb-box-modal .pgb-box-modal__panel {
    width: min(1180px, calc(100vw - 48px)) !important;
  }

  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body .pgb-box-modal .pgb-box-modal__panel {
    width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    border-radius: 18px !important;
  }

  body .pgb-box-modal .pgb-box-modal__header,
  body .pgb-box-modal .pgb-box-modal__search-row,
  body .pgb-box-modal .pgb-box-modal__body {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: 1fr !important;
  }

  body .pgb-box-modal .pgb-box-product {
    min-height: 0 !important;
  }
}



/* ============================================================
   v2.7.10 — visible option buttons + keep cards inside bounds
   ============================================================ */

body .pgb-box-modal .pgb-box-modal__panel {
  width: min(1320px, calc(100vw - 64px)) !important;
  height: min(820px, calc(100vh - 64px)) !important;
  overflow: hidden !important;
}

body .pgb-box-modal .pgb-box-products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body .pgb-box-modal .pgb-box-product {
  min-height: 0 !important;
  height: auto !important;
  padding: 18px !important;
  overflow: hidden !important;
}

body .pgb-box-modal .pgb-box-product__media {
  height: 160px !important;
  min-height: 160px !important;
  flex: 0 0 160px !important;
}

body .pgb-box-modal .pgb-box-product__meta h4 {
  min-height: auto !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

/* Variable products must always show a clear action */
body .pgb-box-modal .pgb-box-product-options-toggle {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  margin-top: auto !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(23,17,14,.16) !important;
  background: #fff !important;
  color: #17110e !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

body .pgb-box-modal .pgb-box-product-options-toggle:hover {
  border-color: #1d100b !important;
}

/* Keep drawer hidden until user asks for options */
body .pgb-box-modal .pgb-box-product__drawer[hidden] {
  display: none !important;
}

body .pgb-box-modal .pgb-box-product.is-expanded .pgb-box-product-options-toggle {
  margin-top: 4px !important;
}

body .pgb-box-modal .pgb-box-product.is-expanded .pgb-box-product__drawer {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Simple products use direct CTA */
body .pgb-box-modal .pgb-box-product--simple .pgb-box-product-select {
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
}

/* Variable CTA only after valid choices */
body .pgb-box-modal .pgb-box-product--variable .pgb-box-product-select {
  margin-top: 8px !important;
}

body .pgb-box-modal .pgb-box-product--variable:not(.is-ready) .pgb-box-product-select {
  background: #f8f9fa !important;
  border-color: rgba(23,17,14,.10) !important;
  color: rgba(23,17,14,.38) !important;
}

body .pgb-box-modal .pgb-box-product--variable.is-ready .pgb-box-product-select {
  background: #1d100b !important;
  border-color: #1d100b !important;
  color: #fff !important;
}

/* No content should spill out of cards */
body .pgb-box-modal .pgb-box-product,
body .pgb-box-modal .pgb-box-product * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body .pgb-box-modal .pgb-box-product__body {
  min-width: 0 !important;
}

body .pgb-box-modal .pgb-box-attr__chips {
  overflow: hidden !important;
}

@media (max-width: 1180px) {
  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: 1fr !important;
  }

  body .pgb-box-modal .pgb-box-product__media {
    height: 140px !important;
    min-height: 140px !important;
    flex-basis: 140px !important;
  }
}



/* ============================================================
   v2.7.10 — clean modal structure, fixed header/search, bounded cards
   ============================================================ */

body .pgb-box-modal,
body .pgb-box-modal * {
  box-sizing: border-box !important;
}

body .pgb-box-modal .pgb-box-modal__panel {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(1320px, calc(100vw - 64px)) !important;
  max-width: 1320px !important;
  height: min(820px, calc(100vh - 64px)) !important;
  max-height: calc(100vh - 64px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: #f8f9fa !important;
  border-radius: 24px !important;
}

/* Header must stay inside the modal */
body .pgb-box-modal .pgb-box-modal__top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px) !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
  min-height: 86px !important;
  padding: 22px 72px 18px 32px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(23,17,14,.08) !important;
  flex: 0 0 auto !important;
}

body .pgb-box-modal .pgb-box-modal__title,
body .pgb-box-modal .pgb-box-modal__top > div {
  min-width: 0 !important;
}

body .pgb-box-modal .pgb-box-modal__top h3 {
  margin: 0 0 6px !important;
  padding: 0 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #17110e !important;
  white-space: normal !important;
}

body .pgb-box-modal .pgb-box-modal__top p {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: rgba(23,17,14,.52) !important;
}

body .pgb-box-modal .pgb-box-search {
  width: 100% !important;
  max-width: 380px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1.5px solid rgba(23,17,14,.14) !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-size: 14px !important;
  justify-self: end !important;
}

body .pgb-box-modal .pgb-box-modal__close {
  position: absolute !important;
  right: 24px !important;
  top: 26px !important;
  z-index: 5 !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Body scroll area */
body .pgb-box-modal .pgb-box-modal__body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 24px 32px 32px !important;
}

/* Product grid */
body .pgb-box-modal .pgb-box-products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
  align-content: start !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Product cards */
body .pgb-box-modal .pgb-box-product {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 18px !important;
  gap: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(23,17,14,.12) !important;
  border-radius: 18px !important;
}

body .pgb-box-modal .pgb-box-product__media {
  width: 100% !important;
  height: 160px !important;
  min-height: 160px !important;
  flex: 0 0 160px !important;
  border-radius: 14px !important;
  background: #fbfaf8 !important;
}

body .pgb-box-modal .pgb-box-product__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 14px !important;
}

body .pgb-box-modal .pgb-box-product__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 8px !important;
}

body .pgb-box-modal .pgb-box-product__meta h4 {
  min-height: auto !important;
  margin: 0 0 4px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: #17110e !important;
}

body .pgb-box-modal .pgb-box-product__price,
body .pgb-box-modal .pgb-price-current {
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #17110e !important;
}

/* Clear action buttons */
body .pgb-box-modal .pgb-box-product-options-toggle,
body .pgb-box-modal .pgb-box-product-select {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin-top: auto !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

body .pgb-box-modal .pgb-box-product-options-toggle {
  border: 1.5px solid rgba(23,17,14,.16) !important;
  background: #fff !important;
  color: #17110e !important;
}

body .pgb-box-modal .pgb-box-product--simple .pgb-box-product-select,
body .pgb-box-modal .pgb-box-product.is-ready .pgb-box-product-select {
  border-color: #1d100b !important;
  background: #1d100b !important;
  color: #fff !important;
}

body .pgb-box-modal .pgb-box-product-select:disabled {
  background: #f8f9fa !important;
  border-color: rgba(23,17,14,.10) !important;
  color: rgba(23,17,14,.38) !important;
  opacity: 1 !important;
}

/* Drawers */
body .pgb-box-modal .pgb-box-product__drawer[hidden] {
  display: none !important;
}

body .pgb-box-modal .pgb-box-product.is-expanded .pgb-box-product__drawer {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body .pgb-box-modal .pgb-box-product__helper {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: rgba(23,17,14,.52) !important;
}

body .pgb-box-modal .pgb-box-attr__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

body .pgb-box-modal .pgb-box-attr-chip {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}

@media (max-width: 1100px) {
  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body .pgb-box-modal .pgb-box-modal__panel {
    width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    border-radius: 18px !important;
  }

  body .pgb-box-modal .pgb-box-modal__top {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 20px 58px 16px 18px !important;
  }

  body .pgb-box-modal .pgb-box-search {
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  body .pgb-box-modal .pgb-box-modal__body {
    padding: 18px !important;
  }

  body .pgb-box-modal .pgb-box-products {
    grid-template-columns: 1fr !important;
  }
}



/* ============================================================
   v2.7.10 — small UX fixes
   ============================================================ */

/* Attribute groups must not be forced into equal 112px columns */
body .pgb-box-modal .pgb-box-attr {
  flex: 0 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Top options trigger and bottom CTA must be visually distinct */
body .pgb-box-modal .pgb-box-product-options-toggle {
  background: #fff !important;
  color: #17110e !important;
  border: 1.5px solid rgba(23,17,14,.16) !important;
}

body .pgb-box-modal .pgb-box-product--variable:not(.is-ready) .pgb-box-product-select,
body .pgb-box-modal .pgb-box-product-select:disabled {
  background: #f8f9fa !important;
  color: rgba(23,17,14,.35) !important;
  border-color: rgba(23,17,14,.10) !important;
}



/* ============================================================
   v2.7.10 — modal header copy cleanup
   ============================================================ */

body .pgb-box-modal .pgb-box-modal__top h3::after {
  content: none !important;
  display: none !important;
}

body .pgb-box-modal .pgb-box-modal__title p,
body .pgb-box-modal .pgb-box-modal__top > div > p {
  display: block !important;
  max-width: 520px !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: rgba(23,17,14,.52) !important;
}

body .pgb-box-modal .pgb-box-modal__title p + p,
body .pgb-box-modal .pgb-box-modal__top > div > p + p {
  display: none !important;
}



/* ============================================================
   v2.7.10 — selected badge polish
   ============================================================ */

/* Remove the old "✓ Στο κουτί" badge inside the image */
body .pgb-box-modal .pgb-box-product--selected .pgb-box-product__media::after {
  content: none !important;
  display: none !important;
}

/* Use a cleaner card-level selected state */
body .pgb-box-modal .pgb-box-product--selected {
  border-color: rgba(61,90,42,.30) !important;
  box-shadow: 0 0 0 3px rgba(61,90,42,.06) !important;
  background: #fff !important;
}

/* Subtle selected ribbon above the CTA, not over the image */
body .pgb-box-modal .pgb-box-product--selected .pgb-box-product__body::after {
  content: "✓ Προστέθηκε στο κουτί";
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  margin: 4px 0 0 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(61,90,42,.08) !important;
  color: #3d5a2a !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

/* Selected CTA reads as status but remains balanced */
body .pgb-box-modal .pgb-box-product--selected .pgb-box-product-select {
  background: #3d5a2a !important;
  border-color: #3d5a2a !important;
  color: #fff !important;
}

body .pgb-box-modal .pgb-box-product--selected .pgb-box-product-select:hover {
  background: #314a22 !important;
  border-color: #314a22 !important;
}



/* ============================================================
   v2.7.10 — packaging add-on compatibility
   ============================================================ */

/* Do not hide the whole WooCommerce cart form on builder products,
   because the PetGiftBox Packaging Add-on is rendered inside/near it. */
body.pgb-box-builder-product.single-product form.cart {
  display: block !important;
}

/* Keep only the native Woo/Wooma purchase controls hidden, not custom add-ons. */
body.pgb-box-builder-product.single-product form.cart .single_add_to_cart_button,
body.pgb-box-builder-product.single-product form.cart .wooma-btn-buy-now,
body.pgb-box-builder-product.single-product form.cart .buy_now_button,
body.pgb-box-builder-product.single-product form.cart button[name="wooma-buy-now"],
body.pgb-box-builder-product.single-product form.cart .quantity {
  display: none !important;
}





/* ============================================================
   v2.7.10 — packaging layout consistency with normal products
   ============================================================ */

/* Keep the Woo form available for add-ons, but hide only native purchase controls. */
body.pgb-box-builder-product.single-product form.cart {
  display: block !important;
  visibility: visible !important;
}

body.pgb-box-builder-product.single-product form.cart .single_add_to_cart_button,
body.pgb-box-builder-product.single-product form.cart .wooma-btn-buy-now,
body.pgb-box-builder-product.single-product form.cart .buy_now_button,
body.pgb-box-builder-product.single-product form.cart button[name="wooma-buy-now"],
body.pgb-box-builder-product.single-product form.cart button[name="add-to-cart"],
body.pgb-box-builder-product.single-product form.cart .quantity {
  display: none !important;
}

/* Do NOT force every packaging child to display:block. Match the normal product layout. */
body.pgb-box-builder-product.single-product .pgb-packaging-options {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 24px 0 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-head {
  display: block !important;
  margin: 0 0 14px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card {
  display: block !important;
  width: 100% !important;
  max-width: 260px !important;
  flex: 0 0 260px !important;
  margin: 0 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card-inner {
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 104px !important;
  padding: 14px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-name-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-name,
body.pgb-box-builder-product.single-product .pgb-packaging-price,
body.pgb-box-builder-product.single-product .pgb-packaging-desc {
  display: initial !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-desc {
  display: block !important;
}

@media (max-width: 640px) {
  body.pgb-box-builder-product.single-product .pgb-packaging-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.pgb-box-builder-product.single-product .pgb-packaging-card {
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}



/* ============================================================
   v2.7.10 — Packaging visual polish
   ============================================================ */

body.pgb-box-builder-product.single-product .pgb-packaging-options {
  margin: 14px 0 8px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
  color: #1d120d !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-subtitle {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: rgba(29,18,13,.58) !important;
  margin-bottom: 14px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-grid {
  gap: 10px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card {
  max-width: 220px !important;
  flex: 0 0 220px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card-inner {
  min-height: 86px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  transition: all .18s ease !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card:hover .pgb-packaging-card-inner {
  transform: translateY(-1px);
}

body.pgb-box-builder-product.single-product .pgb-packaging-image img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-price {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #b57b4b !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-desc {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: rgba(29,18,13,.55) !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card.is-selected .pgb-packaging-card-inner,
body.pgb-box-builder-product.single-product .pgb-packaging-card input:checked + .pgb-packaging-card-inner {
  border-color: rgba(181,123,75,.55) !important;
  box-shadow: 0 0 0 1px rgba(181,123,75,.18) !important;
  background: rgba(181,123,75,.03) !important;
}

@media (max-width: 640px) {
  body.pgb-box-builder-product.single-product .pgb-packaging-card {
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}



/* ============================================================
   v2.7.10 — Packaging full-width final layout
   ============================================================ */

body.pgb-box-builder-product.single-product .pgb-packaging-options {
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 14px !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
  background: transparent !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-head {
  width: 100% !important;
  margin: 0 0 14px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-subtitle {
  font-size: 12px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  color: rgba(29,18,13,.58) !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card-inner {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 94px !important;
  padding: 14px !important;
  border-radius: 0 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-image img {
  width: 58px !important;
  height: 58px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-info {
  min-width: 0 !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-name-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 4px !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #1d120d !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-price {
  margin-left: auto !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #b57b4b !important;
  white-space: nowrap !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-desc {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: rgba(29,18,13,.55) !important;
}

body.pgb-box-builder-product.single-product .pgb-packaging-card.is-selected .pgb-packaging-card-inner,
body.pgb-box-builder-product.single-product .pgb-packaging-card input:checked + .pgb-packaging-card-inner {
  border-color: rgba(181,123,75,.55) !important;
  box-shadow: 0 0 0 1px rgba(181,123,75,.18) !important;
  background: rgba(181,123,75,.03) !important;
}

@media (max-width: 640px) {
  body.pgb-box-builder-product.single-product .pgb-packaging-grid {
    grid-template-columns: 1fr !important;
  }
}



/* ============================================================
   v2.7.10 — Better product image fit + admin highlight
   ============================================================ */

/* Modal product image: fill the visual area without looking like a small object in a hole */
body .pgb-box-modal .pgb-box-product__media {
  height: 176px !important;
  min-height: 176px !important;
  flex: 0 0 176px !important;
  background: #fbfaf8 !important;
}

body .pgb-box-modal .pgb-box-product__media img,
body .pgb-box-modal .pgb-box-product img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 6px !important;
}

/* Give variable-product cards a subtle builder/accent feeling */
body .pgb-box-modal .pgb-box-product--variable {
  border-color: rgba(181, 123, 75, .20) !important;
  background:
    linear-gradient(180deg, rgba(181,123,75,.035), rgba(255,255,255,0) 42%),
    #fff !important;
}

body .pgb-box-modal .pgb-box-product--variable .pgb-box-product-options-toggle {
  border-color: rgba(181,123,75,.32) !important;
  color: #6f4327 !important;
  background: rgba(181,123,75,.045) !important;
}

body .pgb-box-modal .pgb-box-product--variable .pgb-box-product-options-toggle:hover {
  border-color: rgba(181,123,75,.58) !important;
  background: rgba(181,123,75,.08) !important;
}

/* Admin product-data builder block: make it stand out from the rest */
#woocommerce-product-data .options_group .form-field._pgb_box_builder_enabled_field,
#woocommerce-product-data .options_group .form-field._pgb_box_builder_category_field,
#woocommerce-product-data .options_group .form-field._pgb_box_builder_product_ids_field,
#woocommerce-product-data .options_group .form-field._pgb_box_builder_slots_field,
#woocommerce-product-data .options_group .form-field._pgb_box_builder_min_field,
#woocommerce-product-data .options_group .form-field._pgb_box_builder_redirect_field {
  background: #f8f9fa !important;
}

@media (max-width: 700px) {
  body .pgb-box-modal .pgb-box-product__media {
    height: 150px !important;
    min-height: 150px !important;
    flex-basis: 150px !important;
  }
}



/* ============================================================
   v2.7.10 — Mobile builder restore/final mobile layout
   ============================================================ */

@media (max-width: 760px) {

  body.pgb-box-builder-product.single-product .pgb-box-builder,
  body.pgb-box-builder-product.single-product .pgb-box-builder--inline {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 16px !important;
    padding: 0 !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__slots {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-slot {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-slot:not(:last-child)::after {
    display: none !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__selected-list {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 10px !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__message {
    display: block !important;
    width: 100% !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__footer {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    position: static !important;
    width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__status {
    grid-column: 1 !important;
    font-size: 12px !important;
  }

  body.pgb-box-builder-product.single-product .pgb-box-builder__total {
    grid-column: 2 !important;
    font-size: 12px !important;
    text-align: right !important;
  }

  body.pgb-box-builder-product.single-product .pgb-builder-add-btn {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
  }

  /* Packaging follows builder, full width mobile */
  body.pgb-box-builder-product.single-product .pgb-packaging-options {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 18px !important;
    padding: 14px 0 0 !important;
  }

  body.pgb-box-builder-product.single-product .pgb-packaging-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.pgb-box-builder-product.single-product .pgb-packaging-card {
    width: 100% !important;
    max-width: none !important;
  }

  body.pgb-box-builder-product.single-product .pgb-packaging-card-inner {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-height: 84px !important;
  }
}

/* v2.7.9 — premium cart/checkout display for selected box items */
.woocommerce-cart dl.variation dt.variation-PetGiftBox,
.woocommerce-checkout-review-order dl.variation dt.variation-PetGiftBox,
.woocommerce-order dl.variation dt.variation-PetGiftBox {
  display: block;
  float: none;
  clear: both;
  width: auto;
  margin: 10px 0 6px;
  padding: 0;
  color: #b98539;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.woocommerce-cart dl.variation dd.variation-PetGiftBox,
.woocommerce-checkout-review-order dl.variation dd.variation-PetGiftBox,
.woocommerce-order dl.variation dd.variation-PetGiftBox {
  display: block;
  float: none;
  clear: both;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart dl.variation dd.variation-PetGiftBox > p,
.woocommerce-checkout-review-order dl.variation dd.variation-PetGiftBox > p,
.woocommerce-order dl.variation dd.variation-PetGiftBox > p {
  margin: 0 !important;
}

.pgb-cart-box-summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 5px 9px;
  border: 1px solid rgba(185, 133, 57, .24);
  border-radius: 999px;
  background: #fbf7f1;
  color: rgba(29, 16, 11, .66);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.pgb-cart-box-meta {
  max-width: 560px;
  margin: 8px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(185, 133, 57, .22);
  border-radius: 16px;
  background: linear-gradient(180deg, #fffaf4 0%, #f8f1e8 100%);
  color: #211711;
  box-shadow: 0 10px 26px rgba(29, 16, 11, .045);
}

.pgb-cart-box-meta__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(185, 133, 57, .16);
}

.pgb-cart-box-meta__title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #211711;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.01em;
}

.pgb-cart-box-meta__title::before {
  content: "✦";
  color: #b98539;
  font-size: 12px;
  line-height: 1;
}

.pgb-cart-box-meta__count {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: rgba(29, 16, 11, .58);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  border: 1px solid rgba(185, 133, 57, .18);
}

.pgb-cart-box-meta__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pgb-cart-box-meta__items li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 18px !important;
  color: rgba(29, 16, 11, .76);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
}

.pgb-cart-box-meta__items li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: .08em;
  color: #b98539;
  font-weight: 900;
  font-size: 12px;
}

.woocommerce-checkout-review-order .pgb-cart-box-summary {
  margin-top: 5px;
  padding: 4px 7px;
  font-size: 10px;
}

.woocommerce-checkout-review-order .pgb-cart-box-meta {
  max-width: 100%;
  margin-top: 7px;
  padding: 11px 12px;
  border-radius: 13px;
  box-shadow: none;
}

.woocommerce-checkout-review-order .pgb-cart-box-meta__head {
  margin-bottom: 7px;
  padding-bottom: 7px;
}

.woocommerce-checkout-review-order .pgb-cart-box-meta__items {
  grid-template-columns: 1fr;
  gap: 5px;
}

.woocommerce-checkout-review-order .pgb-cart-box-meta__items li {
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .pgb-cart-box-meta {
    max-width: 100%;
    padding: 12px 13px;
  }

  .pgb-cart-box-meta__items {
    grid-template-columns: 1fr;
  }
}


/* ─── Builder-only standalone product polish v2.7.15 ─── */
body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice {
  margin: 14px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(29, 16, 11, 0.12) !important;
  border-radius: 14px !important;
  background: #faf8f4 !important;
  color: #2a2420 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice::before,
body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice::after {
  display: none !important;
  content: none !important;
}

body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice strong {
  display: block;
  margin: 0 0 2px;
  color: #17110e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice .pgb-builder-only-cta,
body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice a.pgb-builder-only-cta.button,
body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice a.pgb-builder-only-cta.button.alt {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 14px 0 0 !important;
  padding: 14px 22px !important;
  border: 1px solid #17110e !important;
  border-radius: 12px !important;
  background: #17110e !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: background-color .18s ease, transform .18s ease, border-color .18s ease !important;
}

body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice .pgb-builder-only-cta::after {
  content: "→";
  display: inline-block;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-1px);
}

body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice .pgb-builder-only-cta:hover,
body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice .pgb-builder-only-cta:focus-visible {
  background: #26201c !important;
  border-color: #26201c !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Wooma may surface a stale-cart removal notice as an error toast on this
   informational product page. Keep the message visible, but use PetGiftBox's
   neutral/warm language instead of an alarming red treatment. */
body.pgb-box-builder-addon-only.single-product .woocommerce-error {
  border-color: rgba(181, 128, 81, .28) !important;
  background: #fff8ee !important;
  color: #3b3028 !important;
}

@media (max-width: 767px) {
  body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  body.pgb-box-builder-addon-only.single-product .pgb-builder-only-notice .pgb-builder-only-cta {
    min-height: 52px !important;
    padding: 13px 16px !important;
  }
}
