/**
 * Jabłonowscy Premium 4.0 — mała warstwa funkcjonalna.
 * Bez selektorów opartych na ID stron, bez odziedziczonych layoutów i bez SVG.
 */

:root {
  --jkct-ivory: #f8f1e6;
  --jkct-paper: #efe2cf;
  --jkct-sand: #e6d2b8;
  --jkct-brown: #4f3021;
  --jkct-brown-deep: #2f1e17;
  --jkct-black: #0d0a08;
  --jkct-ink: #241914;
  --jkct-muted: #746357;
  --jkct-bronze: #b9894d;
  --jkct-line: rgba(83, 50, 31, .20);
  --jkct-shadow-soft: 0 16px 46px rgba(40, 24, 15, .11);
  --jkct-shadow-card: 0 24px 70px rgba(40, 24, 15, .15);
  --jkct-radius-sm: 10px;
  --jkct-radius-md: 18px;
  --jkct-radius-lg: 30px;
}

body.jkct-brand-refresh,
.jkct-brand-refresh #page-container,
.jkct-brand-refresh .et-l--body {
  color: var(--jkct-ink);
  background: var(--jkct-ivory);
}

body.jkct-brand-refresh {
  overflow-x: hidden;
  font-family: Inter, Arial, Helvetica, sans-serif;
  line-height: 1.65;
}

.jkct-brand-refresh :where(h1, h2, h3, h4, h5, h6) {
  color: var(--jkct-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  text-wrap: balance;
}

.jkct-brand-refresh :where(img, video) { max-width: 100%; height: auto; }
.jkct-brand-refresh [hidden] { display: none !important; }
.jkct-band--paper { background-color: var(--jkct-ivory) !important; }
.jkct-band--sand { background-color: var(--jkct-paper) !important; }
.jkct-band--warm { background-color: var(--jkct-sand) !important; }
.jkct-band--dark { color: #f7ecdf !important; background-color: var(--jkct-brown-deep) !important; }
.jkct-band--black { color: #f7ecdf !important; background-color: var(--jkct-black) !important; }

.jkct-label-frame,
.jkct-media-frame {
  overflow: hidden;
  padding: clamp(8px, 1vw, 14px);
  background: var(--jkct-paper);
  border: 1px solid var(--jkct-line);
  border-radius: var(--jkct-radius-lg);
  box-shadow: var(--jkct-shadow-card);
}

.jkct-label-frame :where(img, picture),
.jkct-media-frame :where(img, picture, video) {
  display: block;
  width: 100%;
}

.jkct-lead {
  max-width: 720px;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.72;
}

.jkct-brand-refresh :where(a.et_pb_button.jkct-button-primary, a.et_pb_button.jkct-button-secondary) {
  display: inline-flex;
  min-height: 50px;
  margin: 8px 10px 8px 0;
  padding: 0 25px !important;
  align-items: center;
  justify-content: center;
}

.jkct-brand-refresh a.et_pb_button.jkct-button-primary {
  color: #fff5e8 !important;
  background: var(--jkct-brown-deep) !important;
  border-color: var(--jkct-brown-deep) !important;
}

.jkct-brand-refresh a.et_pb_button.jkct-button-secondary {
  color: var(--jkct-brown-deep) !important;
  background: transparent !important;
  border-color: rgba(79, 48, 33, .42) !important;
}

/* Rasterowe flagi i pochodzenie. */
.jkct-flag {
  display: inline-block;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgba(54, 38, 27, .13);
}

.jkct-origin-flag {
  display: inline-flex;
  width: max-content;
  margin: 0 0 10px;
  padding: 6px 10px 6px 7px;
  align-items: center;
  gap: 8px;
  color: var(--jkct-brown-deep) !important;
  background: #f1e6d7;
  border: 1px solid var(--jkct-line);
  border-radius: 999px;
  font: 800 10px/1 Inter, Arial, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.jkct-origin-flag__image,
.jkct-origin-flag > img {
  display: block;
  width: 27px !important;
  height: 18px !important;
  object-fit: cover !important;
  border-radius: 3px !important;
}

/* Skale profilu. */
.jkct-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.jkct-dots i {
  display: block;
  width: 8px;
  height: 8px;
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.jkct-dots i.is-on {
  background: currentColor;
}

.jkct-product-profile {
  margin: 22px 0;
  padding: clamp(18px, 2.5vw, 28px);
  color: var(--jkct-ink);
  background: #fbf6ee;
  border: 1px solid var(--jkct-line);
  border-radius: var(--jkct-radius-md);
}

.jkct-product-profile__head {
  display: flex;
  margin-bottom: 16px;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.jkct-product-profile__head h3 { margin: 0; }
.jkct-product-profile__head span {
  color: var(--jkct-brown);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.jkct-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
  margin: 0 0 16px;
}

.jkct-profile-grid > div {
  display: grid;
  grid-template-columns: minmax(108px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--jkct-line);
}

.jkct-profile-grid :where(dt, dd) { margin: 0; }
.jkct-profile-grid dt { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jkct-profile-grid dd { font-size: 12px; }
.jkct-product-profile__notes { margin: 0; color: var(--jkct-brown); font: italic 17px/1.55 Georgia, serif; }

/* Rzeczywista cena po wyborze wariantu. */
.jkct-price-range {
  display: block;
  margin-bottom: 4px !important;
  color: var(--jkct-muted) !important;
  font-size: 12px !important;
}

.jkct-price-range::before { content: 'Zakres wszystkich wariantów: '; font-weight: 600; }
.jkct-selected-price {
  display: grid;
  gap: 4px;
  margin: 10px 0 16px;
  padding: 14px 16px;
  color: var(--jkct-ink);
  background: #f1e6d7;
  border: 1px solid var(--jkct-line);
  border-radius: 12px;
}

.jkct-selected-price > span {
  color: var(--jkct-muted) !important;
  font: 800 9px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.jkct-selected-price > strong { color: var(--jkct-ink); font: 600 18px/1.25 Georgia, serif; }
.jkct-selected-price.has-price { color: #fff8ef; background: var(--jkct-brown-deep); border-color: var(--jkct-brown-deep); }
.jkct-selected-price.has-price > :where(span, strong),
.jkct-selected-price.has-price .price,
.jkct-selected-price.has-price .amount { color: #fff8ef !important; }

/* Formularze WooCommerce bez naruszania logiki płatności. */
.jkct-brand-refresh .woocommerce :where(input.input-text, select, textarea) {
  min-height: 48px;
  padding: 10px 13px;
  color: var(--jkct-ink);
  background: #fffaf2;
  border: 1px solid var(--jkct-line);
  border-radius: 10px;
}

.jkct-brand-refresh .woocommerce .quantity .qty { min-height: 50px; }
.jkct-brand-refresh .woocommerce-message,
.jkct-brand-refresh .woocommerce-info,
.jkct-brand-refresh .woocommerce-error {
  color: var(--jkct-ink);
  background: #f3e6d4 !important;
  border: 1px solid var(--jkct-line);
  border-top: 4px solid var(--jkct-bronze);
  border-radius: 14px;
}

.jkct-brand-refresh :where(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout-payment, .woocommerce-MyAccount-content) {
  padding: clamp(18px, 3vw, 30px);
  background: #fffaf2;
  border: 1px solid var(--jkct-line);
  border-radius: var(--jkct-radius-md);
  box-shadow: var(--jkct-shadow-soft);
}

.jkct-brand-refresh .woocommerce table.shop_table {
  border-color: var(--jkct-line);
  border-radius: 14px;
}

.jkct-brand-refresh .woocommerce table.shop_table :where(th, td) { padding: 14px; border-color: rgba(83, 50, 31, .12); }

/* Podstawowa karta produktu, gdy szablon Theme Buildera jest chwilowo wyłączony. */
.jkct-brand-refresh.single-product .woocommerce-product-gallery {
  padding: 16px;
  background: var(--jkct-paper);
  border: 1px solid var(--jkct-line);
  border-radius: 26px;
  box-shadow: var(--jkct-shadow-card);
}

.jkct-brand-refresh.single-product .woocommerce-product-gallery__image {
  overflow: hidden;
  border-radius: 18px;
}

.jkct-brand-refresh.single-product form.variations_form table.variations {
  margin-top: 20px !important;
  padding-top: 18px;
  border-top: 1px solid var(--jkct-line);
}

.jkct-brand-refresh.single-product .single_add_to_cart_button {
  min-height: 52px !important;
  padding: 0 24px !important;
  color: #fff8ef !important;
  background: var(--jkct-brown-deep) !important;
  border-color: var(--jkct-brown-deep) !important;
}

@media (max-width: 700px) {
  .jkct-profile-grid { grid-template-columns: 1fr; }
  .jkct-product-profile__head { align-items: flex-start; flex-direction: column; }
  .jkct-brand-refresh :where(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout-payment, .woocommerce-MyAccount-content) { padding: 15px; }
}
