/* =========================================================================
   Timberkids — single product page (tk-pdp.css)
   Scoped under .tk-pdp (+ the fixed .tk-pdp-bar / .tk-pdp-overlay it owns).
   No global/element resets, no theme header/nav/footer rules. Depends on
   tk-cards.css for the --tk-* tokens. Targets WooCommerce's real PDP output.
   ========================================================================= */

.tk-pdp.product {
  font-family:var(--tk-font); color:var(--tk-ink);
  max-width:1280px; margin:0 auto; padding:clamp(8px,2vw,24px) clamp(16px,3vw,32px) 100px;
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(380px,440px); gap:clamp(28px,4vw,64px);
  align-items:start; float:none;
}
.tk-pdp.product::before,
.tk-pdp.product::after { content:none; display:none; }
.tk-pdp *, .tk-pdp *::before, .tk-pdp *::after { box-sizing:border-box; }
/* safety: if any WooCommerce notices wrapper still renders inside the grid, make it
   span the full row so it never steals a column and pushes the info panel below. */
.tk-pdp > .woocommerce-notices-wrapper { grid-column:1 / -1; margin:0; }

/* anchor target for the catalog "Alege opțiunile" link — offset the jump so the
   options block clears the sticky header instead of hiding under it */
#tkBuy { scroll-margin-top:110px; }

/* ---- gallery ---- */
.tk-pdp__gallery { position:sticky; top:88px; }
.tk-gallery { display:grid; grid-template-columns:84px 1fr; gap:16px; }
.tk-gallery__thumbs { display:flex; flex-direction:column; justify-content:center; gap:12px; padding:10px 0; max-height:calc(100vh - 120px); overflow-y:auto; overscroll-behavior:contain; }
.tk-gallery__thumb {
  flex:0 0 auto; width:84px; aspect-ratio:1/1; border:0; padding:0; cursor:pointer;
  border-radius:14px; overflow:hidden; background:var(--tk-wood-soft);
  box-shadow:inset 0 0 0 1px var(--tk-line); opacity:.72;
  transition:opacity var(--tk-dur) var(--tk-ease),box-shadow var(--tk-dur) var(--tk-ease),transform var(--tk-dur) var(--tk-ease);
}
.tk-gallery__thumb:hover { opacity:1; transform:translateY(-2px); }
.tk-gallery__thumb.is-active { opacity:1; box-shadow:inset 0 0 0 2px var(--tk-ink); }
.tk-gallery__thumb img { width:100%; height:100%; object-fit:cover; display:block; margin:0; }

.tk-gallery__stage { position:relative; border-radius:var(--tk-r-img); overflow:hidden; background:var(--tk-wood-soft); align-self:start; }
.tk-gallery__track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; aspect-ratio:4/5; scrollbar-width:none; -ms-overflow-style:none; }
.tk-gallery__track::-webkit-scrollbar { display:none; }
.tk-gallery__slide { flex:0 0 100%; scroll-snap-align:center; display:block; }
.tk-gallery__slide img,
.tk-gallery__img { width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; object-position:center; display:block; margin:0; }

.tk-gallery__float { position:absolute; top:14px; z-index:4; width:44px; height:44px; border:0 !important; padding:0 !important; cursor:pointer; border-radius:50% !important; display:grid; place-items:center; background:rgba(255,255,255,.92) !important; color:var(--tk-ink) !important; box-shadow:0 4px 14px -4px rgba(36,29,21,.3); }
.tk-gallery__float svg { width:21px; height:21px; display:block; }
.tk-gallery__float--back { left:14px; }
.tk-gallery__float--fav { right:14px; }
.tk-gallery__float--fav .simplefavorite-button { display:grid !important; place-items:center; width:100%; height:100%; padding:0 !important; margin:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
.tk-gallery__float--fav .simplefavorite-button i,
.tk-gallery__float--fav .simplefavorite-button svg { color:#E03535 !important; fill:#E03535 !important; }
.tk-gallery__float--fav .simplefavorite-button .simplefavorite-button-count { display:none; }

.tk-gallery .tk-badges { position:absolute; top:14px; left:14px; z-index:3; display:flex; flex-direction:column; gap:6px; }

.tk-gallery__dots { position:absolute; left:0; right:0; bottom:14px; z-index:3; display:none; justify-content:center; gap:7px; }
.tk-gallery__dots button { width:22px; height:7px; border:0; padding:0; cursor:pointer; border-radius:4px; background:rgba(255,255,255,.6); box-shadow:0 0 0 1px rgba(36,29,21,.12); transform:scaleX(.32); transform-origin:center; transition:transform var(--tk-dur) var(--tk-ease),background var(--tk-dur) var(--tk-ease); }
.tk-gallery__dots button.is-active { transform:none; background:#fff; }

/* ---- info column ---- */
.tk-pdp__info { display:flex; flex-direction:column; }
.tk-pdp .tk-eyebrow { display:inline-flex; align-items:center; gap:7px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.2em; color:var(--tk-wood-deep); margin-bottom:12px; text-decoration:none; align-self:flex-start; }
.tk-pdp .tk-eyebrow::before { content:""; width:18px; height:2px; background:var(--tk-wood); border-radius:2px; }
.tk-pdp .product_title { font-family:var(--tk-font); font-size:clamp(26px,3.4vw,38px); font-weight:900; letter-spacing:-.03em; line-height:1.08; margin:0; color:var(--tk-ink); }
.tk-pdp__trust { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; font-size:12.5px; font-weight:700; color:var(--tk-ink-soft); }
.tk-pdp__trust span { display:inline-flex; align-items:center; gap:6px; }
.tk-pdp__trust svg { width:15px; height:15px; color:var(--tk-turq,#5FB6AE); }

.tk-pdp__price { margin:22px 0 4px; padding-left:14px; border-left:3px solid var(--tk-brand); }
.tk-pdp .tk-pdp__price .price,
.tk-pdp .tk-pdp__price .price .woocommerce-Price-amount,
.tk-pdp .tk-pdp__price .price bdi,
.tk-pdp .tk-pdp__price .prymary-price {
  font-size:clamp(34px,3.4vw,42px) !important; font-weight:900 !important; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; line-height:1.12 !important; margin:0;
  color:var(--tk-brand) !important;
}
.tk-pdp__price .price del { color:var(--tk-muted); font-weight:700; font-size:18px; text-decoration:line-through; opacity:1; margin-right:8px; }
.tk-pdp__price .price ins { text-decoration:none; }

.tk-pdp__desc { margin:18px 0 0; font-size:14.5px; font-weight:600; color:var(--tk-ink-soft); line-height:1.6; }
.tk-pdp__desc-clip { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tk-pdp__desc.is-open .tk-pdp__desc-clip { -webkit-line-clamp:unset; }
.tk-pdp__desc-clip p { margin:0 0 8px; }
.tk-pdp__more { margin-top:6px; border:0; background:none; cursor:pointer; font-family:var(--tk-font); font-size:13.5px; font-weight:800; color:var(--tk-brand-ink); display:inline-flex; align-items:center; gap:5px; }
.tk-pdp__more svg { width:13px; height:13px; transition:transform var(--tk-dur) var(--tk-ease); }
.tk-pdp__desc.is-open .tk-pdp__more svg { transform:rotate(180deg); }

/* ---- buy block ---- */
.tk-pdp__buy { margin-top:22px; }
.tk-pdp__buy::before { content:""; display:block; height:1px; background:var(--tk-line); margin-bottom:22px; }

/* WC's real selects: present + functional but visually hidden */
.tk-var-native { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:-1px; }

/* tappable picker */
.tk-opt { margin-bottom:20px; }
.tk-opt__head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
.tk-opt__label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--tk-ink); }
.tk-opt__guide { font-size:12.5px; font-weight:800; color:var(--tk-brand-ink); display:inline-flex; align-items:center; gap:5px; text-decoration:none; }
.tk-opt__guide svg { width:14px; height:14px; }
.tk-opt__grid { display:flex; flex-wrap:wrap; gap:8px; }
.tk-pick {
  position:relative; min-width:56px; min-height:54px; padding:10px 16px; border:0 !important; cursor:pointer;
  border-radius:var(--tk-r-item); background:var(--tk-surface) !important; box-shadow:inset 0 0 0 1.5px var(--tk-line-strong) !important;
  font-family:var(--tk-font); font-weight:800; font-size:14px; color:var(--tk-ink) !important;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; line-height:1.2;
  transition:box-shadow var(--tk-dur) var(--tk-ease),background var(--tk-dur) var(--tk-ease),transform var(--tk-dur) var(--tk-ease),color var(--tk-dur) var(--tk-ease);
}
.tk-pick:hover { box-shadow:inset 0 0 0 1.5px var(--tk-wood); transform:translateY(-1px); }
.tk-pick.is-selected { box-shadow:inset 0 0 0 2px var(--tk-ink) !important; background:var(--tk-paper-2) !important; color:var(--tk-ink) !important; }
.tk-pick.is-oos { color:var(--tk-muted) !important; cursor:not-allowed; box-shadow:inset 0 0 0 1.5px var(--tk-line) !important; background:var(--tk-surface) !important; opacity:.7; }
.tk-pick.is-oos::after { content:""; position:absolute; left:12%; right:12%; top:50%; height:1.5px; background:var(--tk-muted); transform:rotate(-9deg); opacity:.55; }

/* personalization cards (built from the plugin <select>): price sub-label + neutral "(opțional)" */
.tk-pick small, .tk-pick__price { font-size:11px; font-weight:800; color:var(--tk-muted); }
.tk-pick.is-selected .tk-pick__price { color:var(--tk-ink-soft); }
.tk-opt__opt { color:var(--tk-muted); font-weight:700; text-transform:none; letter-spacing:0; }
/* our personalizare engraving-message field */
.tk-pdp .tk-pers__req { color:var(--tk-terracotta); font-weight:800; }
.tk-pdp .tk-pers-msg { margin-top:12px; }
.tk-pdp .tk-pers-msg label { display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--tk-ink); margin-bottom:6px; }
.tk-pdp .tk-pers-msg input { width:100%; box-sizing:border-box; height:48px; padding:0 14px; border:0; border-radius:12px; box-shadow:inset 0 0 0 1.5px var(--tk-line-strong); background:var(--tk-surface); font-family:var(--tk-font); font-weight:700; font-size:14px; color:var(--tk-ink); }
.tk-pdp .tk-pers-msg input:focus-visible { outline:2.5px solid var(--tk-brand); outline-offset:2px; }
/* personalizare cards: uniform 2-col grid; a lone last card spans the full row (aligns to the 2 above) */
.tk-pdp .tk-pers .tk-opt__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.tk-pdp .tk-pers .tk-opt__grid .tk-pick { min-width:0; }
.tk-pdp .tk-pers .tk-opt__grid .tk-pick:last-child:nth-child(odd) { grid-column:1 / -1; }
/* hide the original plugin <select>/label once carded — kept in the DOM & functional (sr-only, not display:none) */
.tk-pdp .tk-addon-native { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

/* RedNao "Extra Product Options" personalizare — kept NATIVE (its own widget + required engraving
   message can't be safely proxied by cards); just styled on-brand so it matches the panel. */
.tk-pdp .rednaoWooField { margin:18px 0 4px; }
.tk-pdp .rednaoWooField .rednaoLabel { margin-bottom:6px; }
.tk-pdp .rednaoWooField .rednaoLabel label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--tk-ink) !important; }
.tk-pdp .rednaoWooField .rnRequiredInd { color:var(--tk-terracotta); margin-left:2px; }
.tk-pdp select.rnInputPrice, .tk-pdp input.rnInputPrice {
  font-family:var(--tk-font) !important; width:100%; font-weight:700; font-size:14px; color:var(--tk-ink) !important;
  background:var(--tk-surface) !important; border:0 !important; border-radius:12px !important;
  box-shadow:inset 0 0 0 1.5px var(--tk-line-strong) !important; margin-top:4px;
  /* the theme forces a small fixed height -> clipped option text; let it size to content */
  box-sizing:border-box !important; height:auto !important; min-height:50px !important; line-height:1.3 !important; padding:12px 16px !important; vertical-align:middle;
}
.tk-pdp select.rnInputPrice { padding-right:38px !important; }

/* WC variation price/availability injected into single_variation_wrap */
.tk-pdp .single_variation_wrap { margin-top:4px; }
.tk-pdp .single_variation .price { display:none; } /* mirrored to the headline */
.tk-pdp .woocommerce-variation-availability p.availability,
.tk-pdp .single_variation .availability { margin:0 0 12px; font-size:13.5px; font-weight:800; color:var(--tk-brand-ink); }
.tk-pdp .woocommerce-variation { margin:0; }

/* buy row: qty + add-to-cart + favorites (+ any add-ons wrap to own line) */
.tk-pdp .woocommerce-variation-add-to-cart,
.tk-pdp form.cart:not(.variations_form) { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; }
.tk-pdp .quantity { display:inline-flex; }
.tk-pdp .quantity .qty {
  width:84px; height:52px; text-align:center; border:0; border-radius:999px; background:var(--tk-surface);
  box-shadow:inset 0 0 0 1.5px var(--tk-line-strong); font-family:var(--tk-font); font-weight:900; font-size:16px; color:var(--tk-ink);
}
.tk-pdp .single_add_to_cart_button {
  flex:1 1 auto; min-width:180px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  height:52px; padding:0 22px; border:0 !important; border-radius:999px !important; cursor:pointer; text-transform:none; float:none;
  background:var(--tk-brand-ink) !important; color:#fff !important; font-family:var(--tk-font); font-weight:800; font-size:15.5px; letter-spacing:.01em;
  box-shadow:0 8px 18px -8px rgba(28,122,0,.55);
  transition:background var(--tk-dur) var(--tk-ease),transform var(--tk-dur) var(--tk-ease),box-shadow var(--tk-dur) var(--tk-ease);
}
.tk-pdp .single_add_to_cart_button::before {
  content:""; flex:0 0 auto; width:19px; height:19px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.4 12.4a2 2 0 0 0 2 1.6h8.2a2 2 0 0 0 2-1.6L23 7H6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.tk-pdp .single_add_to_cart_button:hover { background:var(--tk-brand-ink-press) !important; color:#fff !important; box-shadow:0 12px 24px -8px rgba(28,122,0,.7); }
.tk-pdp .single_add_to_cart_button:active { transform:scale(.985); }
.tk-pdp .single_add_to_cart_button.disabled,
.tk-pdp .single_add_to_cart_button.wc-variation-selection-needed {
  background:var(--tk-surface); color:var(--tk-ink-soft); box-shadow:inset 0 0 0 1.5px var(--tk-line-strong); cursor:not-allowed;
}

/* "În rate" secondary button — rich teal, same width as ATC, stacks cleanly below it */
.tk-pdp__rate {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:52px; padding:0 22px; border-radius:999px; cursor:pointer;
  background:#1A91FF !important; color:#fff !important;
  border:2px solid #1A91FF !important;
  font-family:var(--tk-font); font-weight:900; font-size:15.5px; letter-spacing:.01em; text-decoration:none;
  box-shadow:0 6px 22px -8px rgba(26,145,255,.45); flex:0 0 auto; white-space:nowrap;
  transition:background var(--tk-dur) var(--tk-ease),color var(--tk-dur) var(--tk-ease),box-shadow var(--tk-dur) var(--tk-ease);
  -webkit-tap-highlight-color:transparent;
}
.tk-pdp__rate svg { width:18px; height:18px; flex:0 0 auto; }
.tk-pdp__rate:hover { background:#fff !important; color:#1A91FF !important; box-shadow:0 4px 14px -6px rgba(26,145,255,.3); }
.tk-pdp__rate:hover svg { color:#1A91FF !important; }
.tk-pdp__rate:active { transform:scale(.985); }
/* All viewports: "În rate" on its own row, same width as "Adaugă în coș" */
/* Variable: ATC starts after qty(84)+gap(10)=94px; rate mirrors that */
.tk-pdp .woocommerce-variation-add-to-cart .tk-pdp__rate {
  order:5; flex:0 0 calc(100% - 94px - 62px); margin-left:94px;
}
/* Simple: the buy row IS [qty | green ATC | ♥] (qty 84 + heart 52 + gaps + a stray
   empty RedNao wrapper). Drop that empty wrapper, then mirror the green button
   EXACTLY — same left edge, same width — with "În rate" stacked directly below.
   Reserves are fixed-px (qty/heart/gaps don't scale), so this holds at any desktop width. */
.tk-pdp form.cart:not(.variations_form) .RNAddToCartContainer { display:none !important; }
.tk-pdp form.cart:not(.variations_form) .tk-pdp__rate {
  order:5; flex:0 0 calc(100% - 180px); margin-left:108px;
}
/* Mobile: full-width below ATC inside the bottom sheet */
@media (max-width:767px) {
  .tk-pdp .woocommerce-variation-add-to-cart .tk-pdp__rate,
  .tk-pdp form.cart:not(.variations_form) .tk-pdp__rate { flex:1 1 100%; margin-left:0; }
}

/* favorites (wishlist) circle in the buy row */
.tk-pdp__wish { flex:0 0 52px; }
.tk-pdp__wish .simplefavorite-button,
.tk-pdp__wish a { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; margin:0; background:var(--tk-surface); box-shadow:inset 0 0 0 1.5px var(--tk-line-strong); color:var(--tk-ink-soft); }
.tk-pdp__wish .simplefavorite-button-count { display:none; }

/* any extra add-ons (e.g. "În rate") wrap to their own full-width line */
.tk-pdp .woocommerce-variation-add-to-cart > .quantity,
.tk-pdp .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
.tk-pdp .woocommerce-variation-add-to-cart > .tk-pdp__wish { flex-basis:auto; }
.tk-pdp .reset_variations { display:inline-block; margin-top:6px; font-size:12.5px; font-weight:700; color:var(--tk-muted); }

/* personalization (additional-fields plugin) — light, consistent styling */
.tk-pdp__buy .wc-pao-addon,
.tk-pdp__buy .product-addon,
.tk-pdp__buy fieldset { margin:0 0 18px; border:0; padding:0; }
.tk-pdp__buy label { font-weight:700; color:var(--tk-ink-soft); }
.tk-pdp__buy select:not([name^="attribute_"]),
.tk-pdp__buy input[type="text"]:not(.qty) { font-family:var(--tk-font); border-radius:12px; box-shadow:inset 0 0 0 1.5px var(--tk-line-strong); border:0; padding:11px 14px; background:var(--tk-surface); }

/* delivery badges */
.tk-pdp__deliv { display:grid; gap:12px; margin-top:22px; padding:16px 18px; border-radius:var(--tk-r-item); background:var(--tk-surface); box-shadow:var(--tk-sh-rest); }
.tk-pdp__deliv-row { display:flex; align-items:center; gap:12px; font-size:13.5px; font-weight:700; color:var(--tk-ink-soft); }
.tk-pdp__deliv-row b { color:var(--tk-ink); font-weight:800; }
.tk-pdp__deliv-ic { flex:0 0 46px; width:46px; height:46px; border-radius:13px; display:grid; place-items:center; background:var(--tk-turq-soft,#E2F0EE); color:var(--tk-turq,#5FB6AE); }
.tk-pdp__deliv-ic svg { width:24px; height:24px; }

/* ---- accordions ---- */
.tk-acc { margin-top:26px; border-top:1px solid var(--tk-line); }
.tk-acc__item { border-bottom:1px solid var(--tk-line); }
.tk-acc__h { margin:0; font:inherit; }
.tk-acc__btn { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; border:0; background:none; cursor:pointer; padding:18px 2px; text-align:left; font-family:var(--tk-font); font-weight:800; font-size:16px; color:var(--tk-ink); }
.tk-acc__ic { flex:0 0 22px; width:22px; height:22px; position:relative; color:var(--tk-wood-deep); }
.tk-acc__ic::before, .tk-acc__ic::after { content:""; position:absolute; background:currentColor; border-radius:2px; transition:transform var(--tk-dur) var(--tk-ease),opacity var(--tk-dur) var(--tk-ease); }
.tk-acc__ic::before { top:10px; left:3px; right:3px; height:2px; }
.tk-acc__ic::after { left:10px; top:3px; bottom:3px; width:2px; }
.tk-acc__item.is-open .tk-acc__ic::after { transform:scaleY(0); opacity:0; }
.tk-acc__panel { display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows 320ms var(--tk-ease); }
.tk-acc__item.is-open .tk-acc__panel { grid-template-rows:1fr; }
.tk-acc__inner { min-height:0; overflow:hidden; }
.tk-acc__pad { padding:2px 2px 22px; font-size:14.5px; font-weight:600; color:var(--tk-ink-soft); line-height:1.65; }
.tk-acc__pad p { margin:0 0 10px; }
.tk-acc .woocommerce-product-attributes { width:100%; border-collapse:collapse; background:none; }
.tk-acc .woocommerce-product-attributes th,
.tk-acc .woocommerce-product-attributes td { text-align:left; padding:9px 0; border:0; border-bottom:1px solid var(--tk-line); font-size:14px; }
.tk-acc .woocommerce-product-attributes th { font-weight:700; color:var(--tk-muted); width:42%; }
.tk-acc .woocommerce-product-attributes td { font-weight:800; color:var(--tk-ink); }
.tk-acc .woocommerce-product-attributes td p { margin:0; }
.tk-acc__ask { display:inline-flex; align-items:center; gap:8px; margin-top:6px; font-weight:800; color:var(--tk-brand-ink); text-decoration:none; }
.tk-acc__ask svg { width:17px; height:17px; }

/* ---- mobile sticky bar + bottom sheet ---- */
.tk-pdp-bar { display:none; }
.tk-pdp-overlay { position:fixed; inset:0; background:rgba(36,29,21,.5); z-index:1000; opacity:0; visibility:hidden; transition:opacity var(--tk-dur) var(--tk-ease),visibility var(--tk-dur) var(--tk-ease); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.tk-pdp-overlay.is-open { opacity:1; visibility:visible; }
.tk-sheet__close, .tk-sheet__head { display:none; }

/* focus ring (scoped) */
.tk-pdp a:focus-visible,
.tk-pdp button:focus-visible,
.tk-pdp input:focus-visible,
.tk-pdp-bar button:focus-visible { outline:2.5px solid var(--tk-brand); outline-offset:2px; border-radius:10px; }

/* keep brand accents from inheriting the theme's link/accent colour */
.tk-pdp .tk-eyebrow { color:var(--tk-wood-deep) !important; }
.tk-pdp .tk-opt__guide,
.tk-pdp .tk-pdp__more,
.tk-pdp .tk-acc__ask { color:var(--tk-brand-ink) !important; }

/* related / upsell products ("Produse asimilare") — full-width below the product */
.tk-related-wrap { font-family:var(--tk-font); max-width:1280px; margin:0 auto; padding:0 clamp(16px,3vw,32px) 60px; }
.tk-related-wrap .related, .tk-related-wrap .up-sells { margin-top:48px; }
.tk-related-wrap h2 { font-family:var(--tk-font); font-size:clamp(20px,2.4vw,26px); font-weight:900; letter-spacing:-.02em; color:var(--tk-ink); margin:0 0 20px; }
.tk-related-wrap ul.products { display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:clamp(16px,2.2vw,28px); margin:0; padding:0; list-style:none; }
.tk-related-wrap ul.products::before, .tk-related-wrap ul.products::after { content:none; display:none; }
/* !important: WooCommerce's mobile rule (.woocommerce ul.products li.product{width:48%;float:left})
   collapses the card to 48% inside its grid cell -> the ATC shrinks to a blob. Force the grid to own sizing. */
.tk-related-wrap ul.products li.product { width:auto !important; margin:0 !important; float:none !important; clear:none !important; max-width:none !important; }
@media (max-width:560px) { .tk-related-wrap ul.products { grid-template-columns:repeat(2,1fr); gap:12px; } }

/* ===================== responsive ===================== */
@media (max-width:1023px) {
  .tk-pdp.product { grid-template-columns:1fr; gap:22px; }
  .tk-pdp__gallery { position:static; }
  .tk-gallery { grid-template-columns:1fr; gap:10px; }
  .tk-gallery__thumbs { flex-direction:row; max-height:none; overflow-x:auto; order:2; }
  .tk-gallery__thumb { width:64px; }
}
@media (max-width:767px) {
  .tk-pdp.product { padding:0 0 96px; }
  .tk-gallery { display:block; grid-template-columns:1fr; }
  .tk-gallery__thumbs { display:none; }
  .tk-gallery__stage { border-radius:0; }
  /* vertical full-screen scroll-snap: each image is one 100dvh slide; one swipe /
     wheel-scroll advances exactly one image. Reaching the last image chains the
     scroll on to the page content (title / accordions / related) below. */
  .tk-gallery__track { display:block; aspect-ratio:auto; height:100dvh; overflow-y:auto; overflow-x:hidden; scroll-snap-type:y mandatory; -webkit-overflow-scrolling:touch; }
  .tk-gallery__slide { flex:none; width:100%; height:100dvh; scroll-snap-align:start; }
  .tk-gallery__float { display:grid; }   /* back + favorite stay pinned over the gallery */
  .tk-gallery__dots { display:none; }     /* not needed for a vertical full-screen stack */
  .tk-pdp__info { padding:24px 18px 0; }
  .tk-pdp__desc { display:none; }

  /* buy block becomes the bottom sheet */
  .tk-pdp__buy {
    position:fixed; left:0; right:0; bottom:0; z-index:1001; margin:0;
    background:var(--tk-paper); border-radius:22px 22px 0 0; box-shadow:0 24px 60px -20px rgba(36,29,21,.26);
    padding:8px 18px max(22px,env(safe-area-inset-bottom)) 18px;
    transform:translateY(110%); transition:transform 360ms var(--tk-ease);
    max-height:88dvh; overflow-y:auto; overscroll-behavior:contain;
  }
  .tk-pdp__buy::before { display:none; }
  .tk-pdp__buy.is-open { transform:translateY(0); }
  .tk-sheet__head { display:flex; align-items:center; padding:12px 46px 14px 0; position:sticky; top:0; background:var(--tk-paper); }
  .tk-sheet__head b { font-size:17px; font-weight:900; }
  .tk-sheet__grab { position:absolute; top:8px; left:50%; transform:translateX(-50%); width:42px; height:5px; border-radius:3px; background:var(--tk-line-strong); }
  .tk-sheet__close { display:grid; place-items:center; position:absolute; top:16px; right:18px; z-index:2; width:38px; height:38px; padding:0 !important; border:0 !important; box-shadow:none !important; cursor:pointer; border-radius:12px; background:var(--tk-paper-2) !important; color:var(--tk-ink) !important; }
  .tk-sheet__close svg { width:18px; height:18px; }
  .tk-pdp__deliv { display:none; }

  .tk-pdp-bar {
    display:flex; align-items:center; gap:14px; position:fixed; left:0; right:0; bottom:0; z-index:999;
    padding:12px 16px max(14px,env(safe-area-inset-bottom)) 16px; background:rgba(250,247,242,.92);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-top:1px solid var(--tk-line);
  }
  .tk-pdp-bar__price { display:flex; flex-direction:column; line-height:1.15; }
  .tk-pdp-bar__price b { font-size:19px; font-weight:900; font-variant-numeric:tabular-nums; }
  .tk-pdp-bar__price b .price { font-size:inherit; margin:0; }
  .tk-pdp-bar__price small { font-size:11px; font-weight:700; color:var(--tk-muted); }
  .tk-pdp-bar__cta { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; gap:8px; height:50px; border:0 !important; cursor:pointer; border-radius:999px; background:var(--tk-brand-ink) !important; color:#fff !important; font-family:var(--tk-font); font-weight:800; font-size:15px; box-shadow:0 8px 18px -8px rgba(28,122,0,.55); overflow:hidden; }
  .tk-pdp-bar__cta-label { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .tk-pdp-bar__cta svg { flex:0 0 auto; width:18px; height:18px; }
  .tk-pdp .product_title { font-size:24px; }
  .tk-pdp__price { margin:14px 0 4px; }
}
/* sub-360px: scale down the price font so "1,889 MDL" fits without wrapping.
   clamp(34px,...) stays 34px all the way down to 0px — far too wide at 190px.
   Switch to clamp(20px, 8vw, 34px): at 190px → 15px clamped to 20px; text fits.
   Also tighten info padding so content area is wider. */
@media (max-width:359px) {
  .tk-pdp .tk-pdp__price .price,
  .tk-pdp .tk-pdp__price .price .woocommerce-Price-amount,
  .tk-pdp .tk-pdp__price .price bdi,
  .tk-pdp .tk-pdp__price .prymary-price {
    font-size:clamp(20px,8vw,34px) !important;
  }
  .tk-pdp__info { padding:16px 12px 0 !important; }
  .tk-pdp .product_title { font-size:clamp(18px,6vw,24px) !important; }
  /* breadcrumb: tighter on sub-360 screens */
  .woocommerce-breadcrumb { padding:8px 12px 0 !important; font-size:11px !important; }
}

/* personalizare: switch from 2-col to 1-col on very narrow phones so card text
   never wraps. At ≤320px the bottom sheet is ~284px wide; 2 cols → ~138px each
   which is fine — the issue is inside a ≤272px sheet (~236px → ~114px cols).
   Targeting ≤320px is the safe threshold. */
@media (max-width:320px) {
  .tk-pers .tk-opt__grid { grid-template-columns:1fr !important; }
  .tk-pers .tk-opt__grid .tk-pick:last-child:nth-child(odd) { grid-column:auto !important; }
}

/* tiny phones (≤359px): shrink bar so CTA label stays readable + uncut.
   "din lemn natural" (88px) actually widens the price section more than
   the number, so hiding it gives the CTA ~30px more room. */
@media (max-width:359px) {
  .tk-pdp-bar { gap:10px !important; padding-left:12px !important; padding-right:12px !important; }
  .tk-pdp-bar__price b { font-size:15px !important; }
  .tk-pdp-bar__price small { display:none !important; }
  .tk-pdp-bar__cta { font-size:13px !important; gap:6px !important; }
  .tk-pdp-bar__cta svg { width:15px !important; height:15px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .tk-pdp *, .tk-pdp__buy, .tk-pdp-overlay { transition-duration:1ms !important; }
}

/* ============================================================
   "În rate" installment popup — on-brand redesign.
   Scoped to #elementor-popup-modal-3252 so nothing else is touched.
   ============================================================ */
#elementor-popup-modal-3252 {
  --tk-font:"Nunito",-apple-system,system-ui,sans-serif;
  --tk-paper:#FAF7F2; --tk-surface:#fff;
  --tk-ink:#241D15; --tk-ink-soft:#5B5249; --tk-muted:#6E6458;
  --tk-line:rgba(36,29,21,.09); --tk-line-strong:rgba(36,29,21,.16);
  --tk-brand:#2FC500; --tk-brand-ink:#1C7A00; --tk-brand-tint:rgba(47,197,0,.1);
  --tk-wood-deep:#8C5C2E;
  --tk-r:16px; --tk-dur:220ms; --tk-ease:cubic-bezier(.32,.72,0,1);
}

/* overlay — warmer, slightly blurred */
#elementor-popup-modal-3252 { background:rgba(36,29,21,.55) !important; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }

/* dialog box */
#elementor-popup-modal-3252 .dialog-widget-content {
  border-radius:24px !important; overflow:hidden;
  box-shadow:0 32px 80px -24px rgba(36,29,21,.36), 0 12px 32px -12px rgba(36,29,21,.18) !important;
  font-family:var(--tk-font) !important;
}

/* close button */
#elementor-popup-modal-3252 .dialog-close-button {
  top:18px !important; right:18px !important; width:36px; height:36px;
  border-radius:50%; background:rgba(36,29,21,.07) !important;
  display:grid !important; place-items:center;
  transition:background var(--tk-dur) var(--tk-ease);
}
#elementor-popup-modal-3252 .dialog-close-button:hover { background:rgba(36,29,21,.14) !important; }
#elementor-popup-modal-3252 .dialog-close-button i { font-size:14px !important; color:var(--tk-ink-soft) !important; }

/* top container — warm paper background */
.elementor-3252 .e-con-boxed { background:var(--tk-paper) !important; padding:32px 32px 28px !important; }

/* ---- tab navigation (e-n-tabs-mobile) ---- */
/* tab list wrapper — pill-group look */
#elementor-popup-modal-3252 .e-n-tabs-content,
#elementor-popup-modal-3252 [class*="e-n-tabs"] > * { flex-wrap:wrap; }
#elementor-popup-modal-3252 .e-n-tab-title {
  font-family:var(--tk-font) !important; font-size:13.5px !important; font-weight:800 !important;
  border-radius:999px !important; padding:9px 20px !important; border:1.5px solid var(--tk-line-strong) !important;
  cursor:pointer; transition:background var(--tk-dur) var(--tk-ease), border-color var(--tk-dur) var(--tk-ease), color var(--tk-dur) var(--tk-ease) !important;
  background:var(--tk-surface) !important; color:var(--tk-ink-soft) !important;
  box-shadow:none !important; outline:none !important;
  /* reset Elementor's hard green */
}
#elementor-popup-modal-3252 .e-n-tab-title:hover {
  border-color:var(--tk-wood-deep) !important; color:var(--tk-ink) !important;
  background:var(--tk-paper) !important;
}
/* active tab */
#elementor-popup-modal-3252 .e-n-tab-title[aria-selected="true"] {
  background:var(--tk-brand-ink) !important; color:#fff !important;
  border-color:var(--tk-brand-ink) !important;
  box-shadow:0 6px 16px -8px rgba(28,122,0,.4) !important;
}
#elementor-popup-modal-3252 .e-n-tab-title-text { color:inherit !important; }

/* tab buttons row */
.elementor-3252 .elementor-button {
  font-family:var(--tk-font) !important; font-weight:800 !important; font-size:14px !important;
  border-radius:999px !important; padding:10px 22px !important; letter-spacing:.01em;
  border:1.5px solid var(--tk-line-strong) !important;
  transition:background var(--tk-dur) var(--tk-ease), border-color var(--tk-dur) var(--tk-ease), color var(--tk-dur) var(--tk-ease), box-shadow var(--tk-dur) var(--tk-ease) !important;
}
/* unselected tabs */
.elementor-3252 .elementor-button:not(.elementor-button-link):not([type="submit"]) {
  background:var(--tk-surface) !important; color:var(--tk-ink-soft) !important;
}
.elementor-3252 .elementor-button:not(.elementor-button-link):not([type="submit"]):hover {
  background:var(--tk-paper) !important; border-color:var(--tk-wood-deep) !important; color:var(--tk-ink) !important;
}
/* active / submit green button */
.elementor-3252 .elementor-button[type="submit"],
.elementor-3252 .elementor-button.elementor-active,
.elementor-3252 .elementor-button:first-child:not(:last-child) {
  background:var(--tk-brand-ink) !important; color:#fff !important;
  border-color:var(--tk-brand-ink) !important;
  box-shadow:0 8px 20px -8px rgba(28,122,0,.45) !important;
}
.elementor-3252 .elementor-button[type="submit"] {
  width:100% !important; height:52px !important; font-size:15.5px !important; margin-top:8px !important;
}

/* "Ratele:" label */
.elementor-3252 .elementor-text-editor, .elementor-3252 .elementor-heading-title {
  font-family:var(--tk-font) !important; color:var(--tk-ink) !important; font-weight:700 !important;
}

/* form fields */
.elementor-3252 .elementor-field-group { margin-bottom:14px !important; }
.elementor-3252 .elementor-field-label {
  font-family:var(--tk-font) !important; font-size:11.5px !important; font-weight:800 !important;
  text-transform:uppercase !important; letter-spacing:.07em !important;
  color:var(--tk-ink-soft) !important; margin-bottom:6px !important;
}
/* text/tel inputs + select wrapper share the same pill-box look */
.elementor-3252 .elementor-field,
.elementor-3252 input[type="text"], .elementor-3252 input[type="tel"] {
  font-family:var(--tk-font) !important; font-weight:700 !important; font-size:14.5px !important;
  color:var(--tk-ink) !important; background:var(--tk-surface) !important;
  border:0 !important; border-radius:14px !important;
  box-shadow:inset 0 0 0 1.5px var(--tk-line-strong) !important;
  height:50px !important; padding:0 16px !important; box-sizing:border-box !important;
  transition:box-shadow var(--tk-dur) var(--tk-ease) !important;
}
.elementor-3252 input[type="text"]:focus, .elementor-3252 input[type="tel"]:focus {
  box-shadow:inset 0 0 0 2px var(--tk-brand-ink) !important; outline:none !important;
}
/* select wrapper: layout host + focus-within ring; no second box for the inner <select> */
.elementor-3252 .elementor-select-wrapper {
  display:flex !important; align-items:center !important;
  overflow:hidden !important; position:relative !important;
}
.elementor-3252 .elementor-select-wrapper:focus-within {
  box-shadow:inset 0 0 0 2px var(--tk-brand-ink) !important;
}
/* inner <select>: fills the wrapper transparently — kills the second border */
.elementor-3252 select {
  -webkit-appearance:none; appearance:none;
  height:100% !important; width:100% !important;
  background:transparent !important;
  border:0 !important; box-shadow:none !important; border-radius:0 !important; outline:none !important;
  font-family:var(--tk-font) !important; font-weight:700 !important; font-size:14.5px !important;
  color:var(--tk-ink) !important; padding:0 40px 0 16px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B5249' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:16px !important;
}
.elementor-3252 .select-caret-down-wrapper { display:none !important; }

/* required star */
.elementor-3252 .elementor-mark-required .elementor-field-label::after { color:var(--tk-wood-deep) !important; }

/* ---- shared rate-display helpers (used by tk-cr panels) ---- */
.tk-rate-big { font-family:var(--tk-font); font-size:34px; font-weight:900; color:var(--tk-brand-ink); line-height:1; margin:10px 0 6px; }
.tk-rate-big span { font-size:16px; font-weight:700; color:var(--tk-ink-soft); }
.tk-rate-note { font-family:var(--tk-font); font-size:12.5px; color:var(--tk-muted); margin:0; line-height:1.4; }

/* ---- custom 4-tab credit UI (.tk-cr) ---- */
.tk-cr { display:flex; flex-direction:column; gap:14px; }

/* tab nav */
.tk-cr__nav { display:flex; flex-wrap:wrap; gap:6px; }
.tk-cr__tab {
  flex:1; min-width:0;
  display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  padding:8px 10px !important; border-radius:14px !important; border:1.5px solid var(--tk-line-strong) !important;
  background:var(--tk-surface) !important; color:var(--tk-ink-soft) !important;
  font-family:var(--tk-font) !important; font-size:12px !important; font-weight:800 !important; line-height:1.2;
  cursor:pointer; text-align:center; box-shadow:none !important;
  transition:background var(--tk-dur) var(--tk-ease), border-color var(--tk-dur) var(--tk-ease), color var(--tk-dur) var(--tk-ease);
}
.tk-cr__tab span { font-size:10.5px; font-weight:700; color:inherit !important; display:block; }
.tk-cr__tab:hover { border-color:var(--tk-wood-deep) !important; color:var(--tk-ink) !important; background:var(--tk-paper) !important; }
.tk-cr__tab.is-active {
  background:var(--tk-brand-ink) !important; color:#fff !important; border-color:var(--tk-brand-ink) !important;
  box-shadow:0 6px 16px -8px rgba(28,122,0,.4) !important;
}
.tk-cr__tab.is-active span { color:#fff !important; }

/* MAIB logo: natural colors at rest, all-white when tab is active */
.tk-cr__maib-logo { width:48px; height:auto; display:block; }
.tk-cr__tab.is-active .tk-cr__maib-logo { filter:brightness(0) invert(1); }

/* 12-36 month table */
.tk-cr__table { display:flex; flex-direction:column; gap:5px; }
.tk-cr__row {
  display:grid; grid-template-columns:4.5rem 1fr 5.5rem; align-items:center; gap:6px;
  padding:9px 12px; border-radius:10px;
  background:var(--tk-surface); box-shadow:inset 0 0 0 1.5px var(--tk-line);
  font-family:var(--tk-font); font-size:13.5px; font-weight:700; color:var(--tk-ink);
}
.tk-cr__row--head {
  background:transparent; box-shadow:none; padding:2px 12px;
  font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--tk-muted);
}
.tk-cr__row span:nth-child(2) { text-align:center; color:var(--tk-brand-ink); font-weight:800; }
.tk-cr__row span:nth-child(3) { text-align:right; color:var(--tk-ink-soft); font-weight:700; }
.tk-cr__row--head span { color:var(--tk-muted) !important; font-weight:800; }

@media (max-width:360px) {
  .tk-cr__row { grid-template-columns:4rem 1fr 5rem; font-size:12px; padding:8px 10px; }
}

@media (max-width:767px) {
  #elementor-popup-modal-3252 .dialog-message { width:96vw !important; }
  .elementor-3252 .e-con-boxed { padding:24px 18px 20px !important; }
}

/* fix: kill mobile tap-highlight (inherited pink flash) */
.tk-pdp .tk-pick,.tk-pdp-bar__cta,.tk-pdp button,.tk-pdp a,.tk-pdp .single_add_to_cart_button{-webkit-tap-highlight-color:transparent !important;}

/* fix: the site already injects #tk-sticky-atc (its own sticky add-to-cart) which overlapped our bar and ate taps. Our .tk-pdp-bar replaces it on the PDP. */
#tk-sticky-atc{display:none !important;}

/* fix: kill inherited button :hover/:focus/:active colored backgrounds (the pink/green accordion bars + pink option taps) */
.tk-pdp .tk-acc__btn,.tk-pdp .tk-acc__btn:hover,.tk-pdp .tk-acc__btn:focus,.tk-pdp .tk-acc__btn:active{background:none !important;color:var(--tk-ink) !important;box-shadow:none !important;border:0 !important;-webkit-tap-highlight-color:transparent !important;}
/* kill the theme's green 2px border on accordion buttons/items; keep only a neutral hairline divider */
.tk-pdp .tk-acc__h{border:0 !important;margin:0;}
.tk-pdp .tk-acc__item{border-top:0 !important;border-bottom:1px solid var(--tk-line) !important;}
.tk-pdp .tk-acc{border-top:1px solid var(--tk-line) !important;}
.tk-pdp .tk-pick:hover,.tk-pdp .tk-pick:focus,.tk-pdp .tk-pick:active{background:var(--tk-surface) !important;-webkit-tap-highlight-color:transparent !important;}
.tk-pdp .tk-pick.is-selected,.tk-pdp .tk-pick.is-selected:hover,.tk-pdp .tk-pick.is-selected:focus{background:var(--tk-paper-2) !important;color:var(--tk-ink) !important;}
/* guard: never let the info column or RedNao's own wrappers overflow horizontally (right-side cutting) */
.tk-pdp .rednaoWooField, .tk-pdp .rednaoControl, .tk-pdp .rnTextFieldInput, .tk-pdp .rednaoWooColumn,
.tk-pdp [class*="rednao"], .tk-pdp [class*="rnField"] { max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
@media (max-width:767px){
  .tk-pdp.product, .tk-pdp__info, .tk-pdp__gallery { min-width:0; max-width:100%; }
  .tk-pdp__info > * { max-width:100%; }
  .tk-pdp .tk-acc__pad, .tk-pdp__info p, .tk-pdp .product_title { overflow-wrap:anywhere; }
  /* keep quantity + add-to-cart + favourite on ONE line (heart was wrapping below) */
  .tk-pdp .woocommerce-variation-add-to-cart, .tk-pdp form.cart:not(.variations_form) { flex-wrap:wrap !important; gap:8px !important; align-items:center; }
  .tk-pdp .quantity { flex:0 0 auto !important; }
  .tk-pdp .single_add_to_cart_button { flex:1 1 80px !important; min-width:0 !important; padding:0 14px !important; }
  .tk-pdp__wish { flex:0 0 auto !important; }
  .tk-pdp form.cart .rednaoExtraProductForm, .tk-pdp form.cart .rednaoWooField { flex:1 1 100% !important; }
}

/* fix: mobile gallery — whole product at natural aspect, no crop, no empty band */
@media (max-width:767px){
  .tk-pdp .tk-gallery__track{display:block !important;height:auto !important;overflow:visible !important;scroll-snap-type:none !important;}
  .tk-pdp .tk-gallery__slide{height:auto !important;width:100% !important;}
  /* breathing room between images stacked one under another; the gap shows the
     page colour (drop the wood-soft stage fill so the body background shows through) */
  .tk-pdp .tk-gallery__stage{background:transparent !important;}
  .tk-pdp .tk-gallery__slide + .tk-gallery__slide{margin-top:10px !important;}
  .tk-pdp .tk-gallery__img{width:100% !important;height:auto !important;aspect-ratio:auto !important;object-fit:contain !important;max-width:100% !important;}
}
