/* Canonical late product-page cascade; intentionally loads after global readability/ads layout. */

/* ===== source: product-commerce-p104.css ===== */
.tf-p103-commerce-panel{margin:16px 0 12px;padding:18px;border:1px solid #f0c34f;border-radius:20px;background:linear-gradient(135deg,#fff9e8 0%,#fffdf7 58%,#fff7dc 100%);box-shadow:0 12px 28px rgba(11,36,67,.07)}
.tf-p103-commerce-top{display:flex;align-items:end;justify-content:space-between;gap:18px}.tf-p103-price-stack{display:grid;gap:4px}.tf-p103-price-stack small,.tf-p103-qty>span{font-size:12px;font-weight:800;color:#7b6b43;letter-spacing:.05em}.tf-p103-price-stack strong{font-size:32px;line-height:1;color:#081f3a}.tf-p103-price-stack span{font-size:13px;color:#786b4e}.tf-p103-qty{display:grid;gap:7px}.tf-p103-qty>div{display:grid;grid-template-columns:42px 64px 42px;height:44px;border:1px solid #e7c86e;border-radius:10px;overflow:hidden;background:#fff}.tf-p103-qty button{border:0;background:#fff8e7;font-size:20px;color:#52657d;cursor:pointer}.tf-p103-qty input{width:100%;border:0;border-left:1px solid #efe1b5;border-right:1px solid #efe1b5;text-align:center;font-weight:800;color:#0b2443;outline:0}.tf-p103-commerce-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.tf-p103-commerce-actions form{margin:0}.tf-p103-cart,.tf-p103-buy{width:100%;height:50px;border-radius:12px;font-weight:900;cursor:pointer}.tf-p103-cart{border:1px solid #123a67;background:#fff;color:#123a67}.tf-p103-cart:hover{background:#f6f9fc}.tf-p103-buy{border:1px solid #ffb400;background:#ffb400;color:#081d35}.tf-p103-line-total{min-height:16px;margin-top:6px;font-size:12px;color:#6f644c}.tf-p103-commerce-extras{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid #efdfac}.tf-p103-whatsapp{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:#168b47;text-decoration:none}.tf-p103-cart-modal[hidden],.tf-p103-floating-cart[hidden]{display:none!important}.tf-p103-cart-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px}.tf-p103-cart-backdrop{position:absolute;inset:0;background:rgba(5,20,38,.62);backdrop-filter:blur(2px)}.tf-p103-cart-dialog{position:relative;width:min(520px,100%);padding:22px;background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(4,24,48,.28)}.tf-p103-cart-close{position:absolute;right:14px;top:12px;border:0;background:#f4f7fa;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.tf-p103-cart-success{margin:28px 0 18px;padding:13px 15px;border-radius:10px;background:#eafaf1;color:#15894b;font-weight:900;text-align:center}.tf-p103-cart-success.is-error{background:#fff1f0;color:#b42318}.tf-p103-cart-product{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;padding:10px 0 18px;border-bottom:1px solid #e8edf2}.tf-p103-cart-product img{width:92px;height:92px;object-fit:contain;border-radius:12px;background:#f6f8fb}.tf-p103-cart-product div{display:grid;gap:7px}.tf-p103-cart-product strong{font-size:16px;color:#0b2443}.tf-p103-cart-product span{font-size:13px;color:#7a8797}.tf-p103-cart-product span b{color:#0b2443}.tf-p103-cart-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.tf-p103-cart-modal-actions a,.tf-p103-continue{display:grid;place-items:center;min-height:46px;border-radius:9px;font-weight:900;text-decoration:none}.tf-p103-view-cart{background:#0b376c;color:#fff}.tf-p103-checkout{background:#ffb400;color:#081d35}.tf-p103-continue{width:100%;margin-top:10px;border:1px solid #dce4ec;background:#fff;color:#6b7788;cursor:pointer}.tf-p103-floating-cart{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9980}.tf-p103-floating-cart>a{display:flex;align-items:center;gap:11px;min-width:220px;padding:10px 16px 10px 10px;border-radius:999px;background:#0b2443;color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(5,29,55,.28)}.tf-p103-basket{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffb400}.tf-p103-floating-cart a>span:last-child{display:grid}.tf-p103-floating-cart strong{font-size:13px}.tf-p103-floating-cart small{font-size:11px;color:#cbd6e2}.tf-p103-floating-cart small b{color:#ffca2d}
@media(max-width:767px){.tf-p103-commerce-panel{padding:14px;border-radius:14px}.tf-p103-commerce-top{align-items:start}.tf-p103-price-stack strong{font-size:26px}.tf-p103-qty>div{grid-template-columns:36px 50px 36px;height:40px}.tf-p103-commerce-actions{grid-template-columns:1fr}.tf-p103-cart,.tf-p103-buy{height:48px}.tf-p103-cart-modal{padding:12px}.tf-p103-cart-dialog{padding:16px;border-radius:15px}.tf-p103-cart-modal-actions{grid-template-columns:1fr}.tf-p103-floating-cart{bottom:82px;width:calc(100% - 28px)}.tf-p103-floating-cart>a{justify-content:center;width:100%;min-width:0}.tf-media-purchase-actions{display:none!important}}

/* Sprint 1095 — instant PDP cart feedback + in-button quantity stepper */
.tf-p1095-toast{position:fixed;left:50%;bottom:30px;z-index:12050;transform:translate(-50%,18px);padding:13px 18px;border-radius:10px;background:#07182d;color:#fff;font-size:14px;font-weight:850;box-shadow:0 14px 34px rgba(5,24,45,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.tf-p1095-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.tf-p1095-toast.is-error{background:#b42318}.tf-p1095-stepper{display:grid!important;grid-template-columns:48px 1fr 48px!important;align-items:center!important;padding:0!important;overflow:hidden!important;background:#fff!important;border:1px solid #123a67!important;color:#0b2b57!important}.tf-p1095-stepper .tf-p1095-minus,.tf-p1095-stepper .tf-p1095-plus{display:grid;place-items:center;height:100%;min-height:48px;font-size:22px;font-weight:700;background:#f7f9fc;cursor:pointer;user-select:none}.tf-p1095-stepper .tf-p1095-minus{border-right:1px solid #dce5ef}.tf-p1095-stepper .tf-p1095-plus{border-left:1px solid #dce5ef}.tf-p1095-stepper strong{font-size:16px;font-weight:900;text-align:center}.tf-p1095-stepper .tf-p1095-minus:hover,.tf-p1095-stepper .tf-p1095-plus:hover{background:#ffbd24;color:#071d38}@media(max-width:767px){.tf-p1095-toast{bottom:92px;max-width:calc(100% - 28px);white-space:nowrap}.tf-p1095-stepper{grid-template-columns:42px 1fr 42px!important}.tf-p1095-stepper .tf-p1095-minus,.tf-p1095-stepper .tf-p1095-plus{min-height:46px}}

.tf-p1096-loading{pointer-events:none!important;opacity:.96!important;transform:scale(.985)!important}
.tf-p1096-loading-label{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important}
.tf-p1096-spinner{display:inline-block;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tf1096spin .65s linear infinite}
.tf-p1096-success{background:#087a55!important;border-color:#087a55!important;color:#fff!important;transform:scale(.985)!important}
@keyframes tf1096spin{to{transform:rotate(360deg)}}
.tf-p1095-toast{z-index:2147483000!important;padding:14px 20px!important;font-size:15px!important;box-shadow:0 16px 42px rgba(5,24,45,.34)!important}
.tf-p1095-toast.is-visible{opacity:1!important;visibility:visible!important}
[data-cart-product]{transition:transform .1s ease,background .16s ease,border-color .16s ease!important}
[data-cart-product]:active{transform:scale(.975)}

/* S1101 — PDP cart stepper visual isolation.
   The quantity state must completely replace the Add to Cart presentation. */
[data-product-detail] [data-cart-product].tf-cart-stepper{
  display:grid!important;
  grid-template-columns:56px minmax(64px,1fr) 56px!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  min-height:56px!important;
  height:56px!important;
  overflow:hidden!important;
  border:1.5px solid #ef3340!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#ef3340!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  line-height:1!important;
}
[data-product-detail] [data-cart-product].tf-cart-stepper > *{margin:0!important}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#ef3340!important;
  font:700 22px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-btn:first-child{border-right:1px solid #f4c5ca!important}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-btn:last-child{border-left:1px solid #f4c5ca!important}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-value{
  display:grid!important;
  place-items:center!important;
  min-width:0!important;
  height:100%!important;
  padding:0 8px!important;
  background:#fff!important;
  color:#0b2a50!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1!important;
}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-btn:hover{background:#fff5f6!important}
[data-product-detail] [data-cart-product].tf-cart-stepper .tf-cart-stepper-btn:focus-visible{outline:2px solid #0b5bd3!important;outline-offset:-3px!important}
@media(max-width:640px){
 [data-product-detail] [data-cart-product].tf-cart-stepper{grid-template-columns:50px minmax(56px,1fr) 50px!important;height:52px!important;min-height:52px!important}
}

/* S1102: AJAX feedback */
#tfP1102CartToast{z-index:2147483000!important}

/* ===== source: product-contextual-discovery-p1041.css ===== */
/* TradesFolks PDP discovery consolidated through Sprint 1104 */
.tf-pdp-rail-theme{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(11,42,80,.12)!important;border-radius:26px!important;padding:30px 32px 34px!important;box-shadow:0 18px 48px rgba(11,42,80,.10)!important}
.tf-pdp-rail-theme .tf-product-carousel-inner{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;max-width:none!important}
.tf-pdp-rail-theme .tf-related-head,.tf-pdp-rail-theme .tf-related-track{position:relative;z-index:2;background:transparent!important;border:0!important;box-shadow:none!important}
.tf-pdp-rail-theme .tf-related-head{padding:0 0 14px!important}.tf-pdp-rail-theme .tf-related-head h2{font-weight:850;letter-spacing:-.035em}
.tf-pdp-rail-theme .tf-related-head>div>span{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.tf-pdp-rail-theme .tf-related-controls button{width:46px!important;height:46px!important;border-radius:14px!important;backdrop-filter:blur(10px);transition:.18s ease}
.tf-pdp-rail-theme .tf-related-controls button:hover{transform:translateY(-2px)}
.tf-pdp-rail-theme .tf-related-track{padding-top:8px!important}
.tf-pdp-rail-theme .tf-related-track>*{background:#fff!important;color:#0b2a50!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(6,31,66,.11)!important;transition:.2s ease}
.tf-pdp-rail-theme .tf-related-track>*:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(6,31,66,.16)!important}
.tf-pdp-rail-seller{color:#fff;background:radial-gradient(circle at 82% 12%,rgba(43,151,255,.30),transparent 29%),radial-gradient(circle at 24% 115%,rgba(16,99,204,.34),transparent 36%),linear-gradient(135deg,#061d43 0%,#073b79 52%,#061b3d 100%)!important;border-color:rgba(103,181,255,.30)!important}
.tf-pdp-rail-seller .tf-related-head h2,.tf-pdp-rail-seller .tf-related-head p{color:#fff!important}.tf-pdp-rail-seller .tf-related-head p{opacity:.78}.tf-pdp-rail-seller .tf-related-head>div>span{color:#ffd24b!important}
.tf-pdp-rail-seller .tf-related-controls button{color:#fff!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.28)!important}
.tf-pdp-rail-discovery{background:radial-gradient(circle at 92% 0%,rgba(54,211,191,.20),transparent 34%),radial-gradient(circle at 0% 100%,rgba(77,190,168,.13),transparent 31%),linear-gradient(135deg,#f2fffd 0%,#dff9f5 52%,#edfdfb 100%)!important;border-color:#b8e8df!important}
.tf-pdp-rail-discovery .tf-related-head>div>span{color:#087f6b!important}.tf-pdp-rail-discovery .tf-related-controls button{color:#086f61!important;background:rgba(255,255,255,.82)!important;border-color:#b7e4dc!important}
.tf-pdp-rail-related{color:#fff;background:radial-gradient(circle at 84% 15%,rgba(139,92,246,.34),transparent 31%),radial-gradient(circle at 5% 105%,rgba(65,77,205,.38),transparent 34%),linear-gradient(135deg,#17134f 0%,#31207a 53%,#20145d 100%)!important;border-color:rgba(161,137,255,.34)!important}
.tf-pdp-rail-related .tf-related-head h2,.tf-pdp-rail-related .tf-related-head p{color:#fff!important}.tf-pdp-rail-related .tf-related-head p{opacity:.78}.tf-pdp-rail-related .tf-related-head>div>span{color:#c8b7ff!important}
.tf-pdp-rail-related .tf-related-controls button{color:#fff!important;background:rgba(139,92,246,.34)!important;border-color:rgba(255,255,255,.24)!important}
@media(max-width:900px){.tf-pdp-rail-theme{padding:24px 20px 28px!important;border-radius:22px!important}}
@media(max-width:640px){.tf-pdp-rail-theme{padding:20px 14px 22px!important;border-radius:18px!important}.tf-pdp-rail-theme .tf-related-controls button{width:40px!important;height:40px!important}}

/* Sprint 1104 — premium Continue Sourcing + production-safe recommendation visibility */
.tf-context-links{padding:18px 0 28px;background:linear-gradient(180deg,#f7fbff 0%,#f2f7fd 100%)}
.tf-context-links .shell{max-width:1480px;margin:auto;padding:0 22px}
.tf-context-kicker{display:inline-flex;align-items:center;min-height:30px;margin:0 0 12px;padding:0 12px;border-radius:999px;background:#082b5d;color:#fff;font-size:10px;font-weight:850;letter-spacing:.09em}
.tf-context-link-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tf-context-link-row a{display:grid;grid-template-columns:1fr 30px;grid-template-rows:auto auto;gap:4px 10px;min-width:0;padding:15px 16px;border:1px solid #d8e5f4;border-radius:16px;background:rgba(255,255,255,.94);color:#0b2a50;text-decoration:none;box-shadow:0 8px 22px rgba(11,42,80,.06);transition:.16s ease}
.tf-context-link-row a:hover{transform:translateY(-2px);border-color:#8db8e7;box-shadow:0 13px 28px rgba(11,42,80,.11)}
.tf-context-link-row small{grid-column:1;font-size:10px;line-height:1.25;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#70849c}
.tf-context-link-row b{grid-column:1;min-width:0;font-size:14px;line-height:1.3;color:#082b5d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tf-context-link-row span{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef5ff;color:#1263b8;font-size:17px;font-weight:850}
.tf-pdp-rail-theme .tf-related-head h2{display:block!important;visibility:visible!important;opacity:1!important}
.tf-pdp-rail-theme .tf-related-head p{display:block!important;visibility:visible!important;opacity:.82}
.tf-pdp-rail-theme .tf-related-controls{display:flex!important;gap:10px!important}
@media(max-width:980px){.tf-context-link-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tf-context-links{padding:14px 0 20px}.tf-context-links .shell{padding:0 14px}.tf-context-link-row{display:flex;overflow-x:auto;gap:9px;scroll-snap-type:x proximity;scrollbar-width:none}.tf-context-link-row::-webkit-scrollbar{display:none}.tf-context-link-row a{flex:0 0 82%;scroll-snap-align:start}}
