/* Tukoy compiled styles — generated 2026-09-17T15:35:42+00:00 from WPCode snippets 1040,1018. Edit the snippets, not this file. */

/* ---- snippet 1040: Tukoy — Storefront UX styles ---- */
/* ---------- Tukoy storefront UX ---------- */
.tukoy-shopbar{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;}
.tukoy-chips{display:flex;gap:7px;overflow-x:auto;padding:3px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tukoy-chips::-webkit-scrollbar{display:none;}
.tukoy-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:999px;border:1px solid #E8DFD2;background:#fff;color:#2B2A28;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease;}
.tukoy-chip em{font-style:normal;font-size:11.5px;font-weight:600;color:#A79C90;}
.tukoy-chip:hover{border-color:#FFB627;background:#FFF7E8;color:#2B2A28;}
.tukoy-chip.is-on{background:#2B2A28;border-color:#2B2A28;color:#fff;}
.tukoy-chip.is-on em{color:rgba(255,255,255,.62);}
.tukoy-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid #EFE7DC;}
.tukoy-tools .woocommerce-result-count{margin:0;font-size:14.5px;color:#7C736B;}
@media (max-width:600px){
    .tukoy-tools{border-bottom:0;padding-bottom:0;}
  .tukoy-tools .woocommerce-result-count{font-size:13.5px;}
}

/* card meta: age pill + one-line blurb, replacing the raw category list */
ul.products li.product .entry-meta,.products .product .entry-meta{display:none!important;}
.tukoy-card-meta{display:flex;flex-direction:column;gap:7px;margin:8px 0 2px;}
.tukoy-age-pill{align-self:flex-start;display:inline-block;padding:3px 10px;border-radius:999px;background:#EAF3FA;color:#2E6E8C;font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1.5;}
.tukoy-card-blurb{font-size:14px;line-height:1.45;color:#6E665F;}

/* category copy: keep the opening line up top, the rest goes below the grid */
.tukoy-cat-more{margin:44px 0 0;padding:28px 0 0;border-top:1px solid #EFE7DC;}
.tukoy-cat-more h2{font-size:22px;margin:0 0 12px;}
.tukoy-cat-more p{margin:0 0 12px;color:#5C554F;max-width:70ch;}

/* commerce chrome: warm neutrals instead of the theme's leftover purple and blue */

.woocommerce table.shop_table,.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{border-color:#E8DFD2!important;}
.woocommerce table.shop_table thead th,.woocommerce table.shop_table tbody td,.woocommerce table.shop_table tfoot td{border-color:#EFE7DC!important;}
.woocommerce-tabs ul.tabs li a{color:#7C736B!important;}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li[aria-selected="true"] a{color:#2B2A28!important;}
.woocommerce-tabs ul.tabs li,.woocommerce-tabs ul.tabs{border-color:#EFE7DC!important;}

/* the theme lays this strip out as a row; we want our two blocks stacked */
.woo-listing-top{display:block!important;}
.woo-listing-top > .woocommerce-result-count,.woo-listing-top > .woocommerce-ordering{display:none!important;}

/* ---------- product page ---------- */
.tukoy-pdp-badges{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;}
.tukoy-bis-pill{display:inline-block;padding:3px 10px;border-radius:999px;background:#EBF4EA;color:#3B7F42;font-size:12px;font-weight:700;line-height:1.5;}
.tukoy-delivery{display:flex;flex-direction:column;gap:3px;margin:16px 0 0;padding:12px 14px;border:1px solid #EFE7DC;border-radius:10px;background:#FFFCF6;flex-basis:100%;}
.tukoy-delivery-main{font-size:15px;color:#2B2A28;}
.tukoy-delivery-sub{font-size:13px;color:#7C736B;}





/* keep card rows aligned even when titles run to different lengths */
ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(3 * 1.35em);}
@media (max-width:600px){ul.products li.product .woocommerce-loop-product__title{-webkit-line-clamp:3;}}
.tukoy-card-blurb{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.45em);}


@media (min-width:783px){
 .tukoy-chips{flex-wrap:wrap;overflow-x:visible;padding:0;}
  }

/* ---------- round 2 fixes ---------- */
/* sort control: the select was exactly text-height, clipping descenders */

/* archive hero had a forced 300px minimum, leaving dead space above the products */
.post-type-archive-product .hero-section .entry-header,.tax-product_cat .hero-section .entry-header{min-height:0!important;}

/* quantity box, matched to the Add to cart radius */
.woocommerce div.product form.cart .quantity input.qty,.woocommerce div.product form.cart .quantity .input-text.qty{border-radius:16px!important;}
.woocommerce div.product form.cart .quantity{border-radius:16px;}

/* description should use the content width, not a narrow column */
.tukoy-pd{max-width:1170px!important;}

/* the theme hides these on phones - they are exactly what a phone shopper needs */
.related.products.ct-hidden-sm,.cross-sells.ct-hidden-sm,.up-sells.ct-hidden-sm{display:block!important;}

/* breadcrumbs: one line, and on phones drop the product name (the title is right below it) */
.single-product .ct-breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden;font-size:14px;}
.single-product .ct-breadcrumbs > span{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;}
.single-product .ct-breadcrumbs > span > a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.single-product .ct-breadcrumbs .last-item{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:782px){
 .single-product .ct-breadcrumbs{font-size:13.5px;}
 .single-product .ct-breadcrumbs .last-item{display:none!important;}
 .single-product .ct-breadcrumbs > span:nth-last-child(2) .ct-separator{display:none;}
}

/* ---------- sort control ---------- */
.tukoy-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:2px 0 22px;padding-bottom:16px;border-bottom:1px solid #EFE7DC;}
.tukoy-tools .woocommerce-result-count{display:block!important;margin:0;font-size:14.5px;color:#7C736B;}
.tukoy-tools .woocommerce-ordering{position:relative;margin:0;display:flex;align-items:center;gap:10px;}
.tukoy-tools .woocommerce-ordering::before{content:"Sort";font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8A8079;line-height:1;white-space:nowrap;}
.tukoy-tools .woocommerce-ordering > svg{display:none!important;}
.tukoy-tools .woocommerce-ordering select{
 -webkit-appearance:none;-moz-appearance:none;appearance:none;
 margin:0;height:46px;min-width:212px;width:auto!important;max-width:none;
 padding:0 46px 0 18px!important;
 border:1px solid #E8DFD2!important;border-radius:999px!important;
 background-color:#fff!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%237C736B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:12px 8px!important;
 font-size:15px!important;line-height:normal!important;
 color:#2B2A28!important;-webkit-text-fill-color:#2B2A28!important;
 box-shadow:none!important;cursor:pointer;
 transition:border-color .15s ease,box-shadow .15s ease;
}
.tukoy-tools .woocommerce-ordering select:hover{border-color:#FFB627!important;}
.tukoy-tools .woocommerce-ordering select:focus-visible{outline:none;border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.3)!important;}
@media (max-width:600px){
 .tukoy-tools{justify-content:flex-start;gap:12px;}
 .tukoy-tools .woocommerce-result-count{font-size:13.5px;}
 .tukoy-tools .woocommerce-ordering{flex:1 1 100%;}
 .tukoy-tools .woocommerce-ordering select{flex:1 1 auto;min-width:0;width:100%!important;}
}

/* ---------- pagination ---------- */
.ct-pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.ct-pagination .ct-hidden-sm{display:flex!important;align-items:center;gap:8px;}
.ct-pagination .page-numbers{
 display:inline-flex;align-items:center;justify-content:center;
 min-width:44px;height:44px!important;padding:0 8px!important;line-height:1!important;
 border:1px solid #E8DFD2!important;border-radius:999px!important;
 background:#fff;font-size:15px;font-weight:600;color:#2B2A28!important;text-decoration:none;
 transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ct-pagination a.page-numbers:hover{border-color:#FFB627!important;background:#FFF7E8;}
.ct-pagination .page-numbers.current,.ct-pagination span[aria-current="page"]{background:#2B2A28!important;border-color:#2B2A28!important;color:#fff!important;}
.ct-pagination a.next,.ct-pagination a.prev{gap:8px;padding:0 22px!important;min-width:0;font-size:14px;letter-spacing:.02em;}
.ct-pagination a.next svg,.ct-pagination a.prev svg{width:11px;height:11px;flex:0 0 auto;}

/* ---------- shop layout: full width, no sidebar ---------- */
.post-type-archive-product main .ct-container,.tax-product_cat main .ct-container{grid-template-columns:1fr!important;}
.post-type-archive-product main .ct-container > aside,.tax-product_cat main .ct-container > aside{display:none!important;}
@media (min-width:1000px){
 .post-type-archive-product ul.products,.tax-product_cat ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* ---------- filter bar ---------- */
.tukoy-shopbar{display:flex;flex-direction:column;gap:0;margin:0 0 26px;}
.tukoy-ages{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.tukoy-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0;padding-top:18px;border-top:1px solid #EFE7DC;border-bottom:0;}
.tukoy-selects{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.tukoy-select{display:flex;align-items:center;gap:10px;margin:0;}
.tukoy-select-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8A8079;line-height:1;white-space:nowrap;}
.tukoy-selects select,.tukoy-tools .woocommerce-ordering select{
 -webkit-appearance:none;-moz-appearance:none;appearance:none;
 margin:0;height:46px;min-width:200px;width:auto!important;max-width:none;
 padding:0 46px 0 18px!important;
 border:1px solid #E8DFD2!important;border-radius:999px!important;
 background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%237C736B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:12px 8px!important;
 font-size:15px!important;line-height:normal!important;
 color:#2B2A28!important;-webkit-text-fill-color:#2B2A28!important;
 box-shadow:none!important;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;
}
.tukoy-selects select:hover,.tukoy-tools .woocommerce-ordering select:hover{border-color:#FFB627!important;}
.tukoy-selects select:focus-visible,.tukoy-tools .woocommerce-ordering select:focus-visible{outline:none;border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.3)!important;}
@media (max-width:820px){
 .tukoy-tools{align-items:stretch;flex-direction:column;gap:14px;}
 .tukoy-selects{gap:10px;}
 .tukoy-select,.tukoy-tools .woocommerce-ordering{flex:1 1 auto;}
 .tukoy-selects select,.tukoy-tools .woocommerce-ordering select{width:100%!important;min-width:0;}
}
@media (max-width:520px){
 .tukoy-selects{flex-direction:column;align-items:stretch;}
 .tukoy-select,.tukoy-tools .woocommerce-ordering{width:100%;}
}

/* ---------- restored: cart, checkout & sticky bar ---------- */
.tukoy-hidden-field{display:none!important;}
.tukoy-co-trust{list-style:none;margin:16px 0 0;padding:14px 16px;border:1px solid #EFE7DC;border-radius:14px;background:#FFFCF6;display:grid;gap:7px;}
.tukoy-co-trust li{margin:0;font-size:14px;line-height:1.45;color:#5C554F;padding-left:20px;position:relative;}
.tukoy-co-trust li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#53B94A;}
.tukoy-co-trust strong{color:#2B2A28;font-weight:700;}
.tukoy-coupon-toggle{display:inline-block;margin:4px 0 10px;padding:0;border:0;background:none;color:#7C736B;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.tukoy-coupon-toggle:hover{color:#2B2A28;}
.tukoy-coupon-hidden{display:none!important;}
.tukoy-empty-cart{margin:18px 0 0;}
.tukoy-empty-lead{margin:0 0 12px;color:#5C554F;font-size:16px;}

.tukoy-sticky-atc{display:none;}
@media (max-width:782px){
 /* The bar is a strip of paper laid over the page, not a white slab
    with a hairline. The old 20px-blur shadow also had to be repainted on
    every scroll frame on a phone; a solid pencil edge costs nothing. */
 .tukoy-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#FFF9F0;border-top:2px solid #2B2A28;box-shadow:0 -3px 0 rgba(43,42,40,.07);transition:transform .22s ease;}
 .tukoy-sticky-atc.is-hidden{transform:translateY(115%);}
 .tukoy-sticky-info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;}
 .tukoy-sticky-name{font-size:12.5px;font-weight:600;color:#8A8078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em;margin-bottom:1px;}
 .tukoy-sticky-price{font-size:19px;font-weight:800;color:#2B2A28;line-height:1.2;}
 .tukoy-sticky-price del{font-weight:600;font-size:13.5px;opacity:.45;margin-left:5px;}
 .tukoy-sticky-price ins{text-decoration:none;}
 .tukoy-sticky-price .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
 /* Same cut-paper button as everywhere else on the site - pencil
    border, hard offset shadow, and it presses into the shadow when
    tapped so a thumb gets feedback without waiting for the network. */
 /* Everything here is !important because another rule further down the
    sheet rounds every button to 16px and hangs a marigold glow on it -
    that is what kept this one a pill no matter what we set. */
 html body .tukoy-sticky-atc button.tukoy-sticky-btn{
   flex:0 0 auto!important;
   border:2px solid #2B2A28!important;
   border-radius:4px!important;
   background:#FFB627!important;
   background-image:none!important;
   color:#2B2A28!important;
   font-weight:800!important;
   font-size:15.5px!important;
   line-height:1.2!important;
   padding:13px 24px!important;
   min-height:0!important;
   height:auto!important;
   width:auto!important;
   text-transform:none!important;
   letter-spacing:0!important;
   cursor:pointer;
   box-shadow:3px 3px 0 #2B2A28!important;
   transition:transform .12s ease, box-shadow .12s ease;
   -webkit-tap-highlight-color:transparent;
 }
 html body .tukoy-sticky-atc button.tukoy-sticky-btn:active{
   transform:translate(3px,3px)!important;
   box-shadow:0 0 0 #2B2A28!important;
 }
 .single-product .site-main{padding-bottom:96px;}
}
@media (prefers-reduced-motion:reduce){.tukoy-sticky-atc{transition:none;}}


/* ---------- cart badge & post-add button ---------- */
.tukoy-h-cartcount{background:#2B2A28!important;color:#FFF9F0!important;font-weight:700;}
.tukoy-h-cartcount.is-empty{background:#E8DFD2!important;color:#7C736B!important;}
a.added_to_cart,.added_to_cart.wc-forward{
 display:inline-flex;align-items:center;justify-content:center;
 border-radius:16px!important;padding:16px 28px!important;margin-left:10px;
 background:#fff!important;color:#2B2A28!important;border:1px solid #E8DFD2!important;
 font-weight:700;font-size:15px;text-decoration:none;line-height:1;
 transition:border-color .15s ease,background .15s ease;
}
a.added_to_cart:hover,.added_to_cart.wc-forward:hover{border-color:#FFB627!important;background:#FFF7E8!important;color:#2B2A28!important;}

/* ---------- empty cart ---------- */
.woocommerce-cart .cart-empty,.woocommerce-cart .woocommerce-info{
 background:#FFFCF6!important;border:1px solid #EFE7DC!important;color:#5C554F!important;
 border-radius:14px!important;padding:16px 20px!important;
}
.woocommerce-cart .cart-empty::before,.woocommerce-cart .woocommerce-info::before{color:#8A8079!important;}
.tukoy-cart-picks{margin:46px 0 0;padding-top:30px;border-top:1px solid #EFE7DC;}
.tukoy-cart-picks h2{font-size:24px;margin:0 0 20px;}
.tukoy-cart-picks ul.products{margin:0;}
@media (min-width:1000px){.tukoy-cart-picks ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
.woocommerce-cart .return-to-shop{margin-top:22px;}
.woocommerce-cart .return-to-shop .button{border-radius:16px!important;padding:14px 26px!important;}

/* empty cart: our own line replaces Woo's grey notice */
.woocommerce-cart .cart-empty{display:none!important;}
.tukoy-empty-cart{margin:8px 0 0;}
.tukoy-empty-lead{margin:0 0 14px;color:#5C554F;font-size:17px;}
.woocommerce-cart .return-to-shop{display:none;}

/* product cards rendered by the shortcode need the same treatment as the shop grid */
.tukoy-cart-picks ul.products li.product a{text-decoration:none!important;}
.tukoy-cart-picks ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;line-height:1.35;font-weight:600;color:#2B2A28;margin:10px 0 0;}
.tukoy-cart-picks ul.products li.product .price{font-size:15.5px;font-weight:700;color:#2B2A28;}
.tukoy-cart-picks ul.products li.product .price del{font-weight:400;font-size:13px;color:#A79C90;}
.tukoy-cart-picks ul.products li.product .button{border-radius:16px!important;padding:12px 20px!important;font-size:14.5px;font-weight:700;}
.tukoy-cart-picks ul.products li.product img{background:#FFF9F0;border-radius:12px;}

.ct-woocommerce-cart-form .cart_totals,.woocommerce-cart .cart_totals{border-color:#E8DFD2!important;border-radius:16px!important;}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{border-color:#E8DFD2!important;border-radius:16px!important;}
.woocommerce input[type=radio]{accent-color:#FF6B57;}

/* ---------- round 3: cart, wishlist, account ---------- */

/* cart: the item list becomes one card, the totals a second one */
.woocommerce-cart form.woocommerce-cart-form{background:#fff;border:1px solid #E8DFD2;border-radius:20px;padding:2px 22px 16px;}
.woocommerce-cart table.shop_table.cart{border:0!important;margin:0!important;background:none!important;}
.woocommerce-cart table.shop_table.cart thead th{border:0!important;border-bottom:1px solid #F0E8DC!important;background:none!important;font-size:11.5px!important;letter-spacing:.09em;text-transform:uppercase;color:#8A8079!important;font-weight:700!important;padding:16px 8px!important;}
.woocommerce-cart table.shop_table.cart thead th.product-remove{font-size:0!important;}
.woocommerce-cart table.shop_table.cart td{border:0!important;border-bottom:1px solid #F5EEE4!important;background:none!important;padding:20px 8px!important;vertical-align:middle;}
.woocommerce-cart table.shop_table.cart tr:last-child td{border-bottom:0!important;}
.woocommerce-cart td.product-thumbnail img{width:84px!important;height:84px!important;object-fit:contain;background:#FFF9F0;border:1px solid #F0E8DC;border-radius:14px;padding:6px;}
.woocommerce-cart td.product-name a{font-size:16px;font-weight:600;color:#2B2A28!important;text-decoration:none!important;line-height:1.35;}
.woocommerce-cart td.product-name a:hover{color:#FF6B57!important;}
.woocommerce-cart td.product-name .woocommerce-Price-amount{color:#8A8079;font-size:14px;font-weight:500;}
.woocommerce-cart td.product-subtotal{font-size:16.5px;font-weight:700;color:#2B2A28;white-space:nowrap;}

/* stepper, matched to the Add to cart radius */
.woocommerce-cart .quantity input.qty{border:1px solid #E8DFD2!important;border-radius:999px!important;height:46px!important;width:118px!important;background:#fff!important;color:#2B2A28!important;font-size:15px;font-weight:700;}
.woocommerce-cart .quantity input.qty:focus{border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.25)!important;}
.woocommerce-cart .quantity{width:118px!important;}
.woocommerce-cart .quantity .ct-increase,.woocommerce-cart .quantity .ct-decrease{color:#6E645C;}
.woocommerce-cart td.product-remove a,.woocommerce-cart td.product-remove a.remove{width:34px;height:34px;border-radius:50%;border:1px solid #EFE7DC;background:#FFF9F0;color:#8A8079!important;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;}
.woocommerce-cart td.product-remove a:hover{background:#FBEDEB;border-color:#E8A79E;color:#A93226!important;}

/* actions row */
.woocommerce-cart td.actions{border-top:1px solid #F0E8DC!important;border-bottom:0!important;padding:18px 8px 4px!important;}
.woocommerce-cart td.actions button[name="update_cart"]{border-radius:999px!important;background:#fff!important;color:#2B2A28!important;border:1px solid #E8DFD2!important;font-weight:700!important;padding:12px 24px!important;box-shadow:none!important;}
.woocommerce-cart td.actions button[name="update_cart"]:hover:not(:disabled){border-color:#FFB627!important;background:#FFF9F0!important;}
.woocommerce-cart td.actions button[name="update_cart"]:disabled{opacity:.4;}
.tukoy-cart-continue{margin:14px 0 4px!important;font-size:14.5px;}
.tukoy-cart-continue a{color:#6E645C!important;text-decoration:none!important;font-weight:600;}
.tukoy-cart-continue a:hover{color:#FF6B57!important;}
/* cart totals: a real heading and a readable ladder of numbers */
.woocommerce-cart .cart_totals{background:#fff!important;border:1px solid #E8DFD2!important;border-radius:20px!important;padding:22px 22px 24px!important;}
.woocommerce-cart .cart_totals h2{font-size:20px!important;line-height:1.2!important;font-weight:700!important;color:#2B2A28!important;margin:0 0 12px!important;letter-spacing:-.01em;text-transform:none!important;}
.woocommerce-cart .cart_totals table{border:0!important;margin:0!important;width:100%;}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{border:0!important;background:none!important;padding:12px 0!important;font-size:15px!important;vertical-align:top;}
.woocommerce-cart .cart_totals table th{color:#6E645C!important;font-weight:600!important;text-align:left;}
.woocommerce-cart .cart_totals table td{text-align:right;color:#2B2A28!important;font-weight:600!important;}
.woocommerce-cart .cart_totals tr.cart-subtotal{border-bottom:1px solid #F5EEE4;}
.woocommerce-cart .cart_totals tr.shipping th,.woocommerce-cart .cart_totals tr.shipping td{padding-top:14px!important;}
.woocommerce-cart .cart_totals tr.order-total th,.woocommerce-cart .cart_totals tr.order-total td{border-top:1px solid #E8DFD2!important;padding-top:16px!important;}
.woocommerce-cart .cart_totals tr.order-total th{font-size:17px!important;color:#2B2A28!important;font-weight:700!important;}
.woocommerce-cart .cart_totals tr.order-total td{font-size:22px!important;font-weight:800!important;}
.woocommerce-cart .cart_totals ul#shipping_method{margin:0;padding:0;list-style:none;}
.woocommerce-cart .cart_totals ul#shipping_method li{margin:0 0 8px;font-size:14.5px;}
.woocommerce-cart .cart_totals ul#shipping_method li:last-child{margin-bottom:0;}
.woocommerce-cart .cart_totals ul#shipping_method label{color:#2B2A28;}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{font-size:13.5px;color:#8A8079;margin:10px 0 0;}
.woocommerce-cart .cart_totals .shipping-calculator-button{color:#6E645C!important;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;}
.woocommerce-cart .wc-proceed-to-checkout{padding:0!important;margin-top:16px!important;}
.woocommerce-cart .checkout-button{display:block!important;width:100%;text-align:center;border-radius:999px!important;font-weight:800!important;font-size:16.5px!important;padding:17px 20px!important;margin:0!important;}

/* trust list: airier, tick-marked, boxed */
.tukoy-co-trust{list-style:none!important;margin:16px 0 0!important;padding:16px 18px!important;background:#FFF9F0;border:1px solid #F0E8DC;border-radius:16px;display:grid;gap:11px;}
.tukoy-co-trust li{position:relative;padding:0 0 0 28px!important;margin:0!important;font-size:14px;line-height:1.5;color:#6E645C;list-style:none!important;}
.tukoy-co-trust li strong{color:#2B2A28;font-weight:700;}
.tukoy-co-trust li::marker{content:"";}
.tukoy-co-trust li::before{content:""!important;position:absolute;left:3px;top:4px;width:11px;height:6px;border-left:2px solid #2E6E8C;border-bottom:2px solid #2E6E8C;border-radius:1px;transform:rotate(-45deg);background:none!important;}
.tukoy-co-trust li a{color:#2B2A28!important;font-weight:700;text-decoration:none!important;}
.tukoy-co-trust li a:hover{color:#FF6B57!important;}
/* cross-sells under the cart */
.woocommerce-cart .cross-sells{margin-top:44px;}
.woocommerce-cart .cross-sells > h2{font-size:22px;font-weight:700;color:#2B2A28;margin:0 0 18px;letter-spacing:-.01em;}

/* cart on phones: each line becomes a card row */
@media (max-width:767px){
 .woocommerce-cart form.woocommerce-cart-form{padding:2px 14px 14px;border-radius:18px;}
 .woocommerce-cart table.shop_table.cart thead{display:none!important;}
 .woocommerce-cart table.shop_table.cart tbody tr.cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto;column-gap:12px;row-gap:8px;align-items:center;padding:16px 0!important;border-bottom:1px solid #F5EEE4!important;}
 .woocommerce-cart table.shop_table.cart tbody tr.cart_item:last-of-type{border-bottom:0!important;}
 .woocommerce-cart table.shop_table.cart tbody tr.cart_item td{display:block!important;width:auto!important;max-width:none!important;border:0!important;padding:0!important;text-align:left!important;}
 .woocommerce-cart table.shop_table.cart tbody tr.cart_item td::before{display:none!important;content:none!important;}
 .woocommerce-cart td.product-thumbnail{grid-column:1;grid-row:1 / span 2;}
 .woocommerce-cart td.product-thumbnail img{width:72px!important;height:72px!important;}
 .woocommerce-cart td.product-name{grid-column:2;grid-row:1;}
 .woocommerce-cart td.product-name a{font-size:15px;}
 .woocommerce-cart td.product-quantity{grid-column:2;grid-row:2;}
 .woocommerce-cart .quantity,.woocommerce-cart .quantity input.qty{width:112px!important;}
 .woocommerce-cart td.product-subtotal{grid-column:3;grid-row:2;text-align:right!important;font-size:16px;}
 .woocommerce-cart td.product-remove{grid-column:3;grid-row:1;text-align:right!important;}
 .woocommerce-cart table.shop_table.cart tbody tr:not(.cart_item) td.actions{display:block!important;width:auto!important;border-top:1px solid #F0E8DC!important;padding:16px 0 0!important;}
 .woocommerce-cart td.actions .coupon{display:block;width:100%;}
 .woocommerce-cart td.actions button[name="update_cart"]{width:100%;margin-top:12px!important;float:none!important;}
 .woocommerce-cart .cart_totals{margin-top:22px;padding:18px!important;}
 .woocommerce-cart .cart_totals h2{font-size:19px!important;}
 .woocommerce-cart .cart_totals tr.order-total td{font-size:21px!important;}
 .woocommerce-cart .cross-sells{margin-top:34px;}
 .woocommerce-cart .cross-sells > h2{font-size:19px;}
}

/* wishlist toggle on product cards: a corner heart instead of a stray text row */
.tinvwl-loop-button-wrapper{position:absolute!important;top:10px;right:10px;z-index:3;width:36px;height:36px;margin:0!important;padding:0!important;text-align:center!important;}
.tinvwl-loop-button-wrapper .tinv-wishlist-clear{display:none!important;}
.tinvwl-loop-button-wrapper .tinvwl_add_to_wishlist_button{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;margin:0!important;padding:0!important;border:1px solid #EFE7DC;border-radius:50%;background:#fff;color:#A79C90!important;font-size:0!important;line-height:0;text-decoration:none!important;box-shadow:0 2px 8px -5px rgba(43,42,40,.45);transition:color .15s ease,border-color .15s ease,background .15s ease;}
.tinvwl-loop-button-wrapper .tinvwl_add_to_wishlist_button::before{font-size:15px!important;line-height:1!important;margin:0!important;color:inherit!important;}
.tinvwl-loop-button-wrapper .tinvwl_add_to_wishlist_button span{display:none!important;}
.tinvwl-loop-button-wrapper .tinvwl_add_to_wishlist_button:hover{color:#FF6B57!important;border-color:#FFC9C0;}
.tinvwl-loop-button-wrapper .tinvwl_add_to_wishlist_button[data-tinv-wl-action="remove"]{color:#FF6B57!important;border-color:#FFC9C0;background:#FFF3F1;}
.tinvwl-loop-button-wrapper .tinvwl-tooltip{display:none!important;}
/* ---------- my account / login ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation{background:#fff;border:1px solid #E8DFD2;border-radius:18px;padding:6px;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0!important;padding:0!important;list-style:none!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:0!important;margin:0!important;padding:0!important;background:none!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:flex!important;align-items:center;gap:10px;padding:12px 14px!important;border-radius:12px;color:#2B2A28!important;font-weight:600;font-size:15px;text-decoration:none!important;transition:background .15s ease,color .15s ease;}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before{color:#A79C90!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#FFF9F0;color:#FF6B57!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover::before{color:#FF6B57!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover{background:#2B2A28!important;color:#FFF9F0!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before{color:#FFB627!important;}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid #E8DFD2;border-radius:18px;padding:24px 26px;}
.woocommerce-account .woocommerce-MyAccount-content p{color:#6E645C;font-size:15px;line-height:1.65;}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:#2B2A28!important;text-decoration:underline;text-decoration-color:#FFD98A;text-decoration-thickness:2px;text-underline-offset:3px;}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover{color:#FF6B57!important;text-decoration-color:#FF6B57;}
.woocommerce-account .woocommerce-MyAccount-content .button,.woocommerce-account .woocommerce-MyAccount-content button{border-radius:999px!important;font-weight:700!important;}

/* the signed-out form */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,.woocommerce-account .u-columns{gap:26px;}
.woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register{background:#fff;border:1px solid #E8DFD2!important;border-radius:20px!important;padding:24px 26px 26px!important;}
.woocommerce-account form.woocommerce-form-login .form-row,.woocommerce-account form.woocommerce-form-register .form-row{margin-bottom:16px;}
.woocommerce-account .woocommerce form label{font-size:14px!important;font-weight:600!important;color:#2B2A28!important;}
.woocommerce-account .woocommerce form .input-text,.woocommerce-account .woocommerce form input[type="text"],.woocommerce-account .woocommerce form input[type="email"],.woocommerce-account .woocommerce form input[type="password"]{border:1px solid #E8DFD2!important;border-radius:14px!important;padding:13px 15px!important;background:#fff!important;color:#2B2A28!important;}
.woocommerce-account .woocommerce form .input-text:focus{border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.22)!important;outline:none!important;}
.woocommerce-account .woocommerce form button[type="submit"]{border-radius:999px!important;font-weight:800!important;padding:14px 26px!important;width:100%;}
.woocommerce-account .woocommerce-form-login__rememberme{font-size:14px;color:#6E645C;}
.woocommerce-account .lost_password a,.woocommerce-account .woocommerce-privacy-policy-text a{color:#6E645C!important;text-decoration:underline;text-underline-offset:3px;}
.woocommerce-account .lost_password a:hover{color:#FF6B57!important;}
.woocommerce-account h2{font-size:22px;font-weight:700;color:#2B2A28;letter-spacing:-.01em;}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,.woocommerce-account .woocommerce-info{border-radius:16px;}

@media (max-width:767px){
 .woocommerce-account .woocommerce-MyAccount-navigation{padding:4px;}
 .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:11px 12px!important;font-size:14.5px;}
 .woocommerce-account .woocommerce-MyAccount-content{padding:18px 16px;}
 .woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register{padding:18px 16px 20px!important;}
}

/* cart totals: shipping block reads left-to-right like the rest of the panel */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td{text-align:left!important;padding:14px 0!important;border-top:1px solid #F5EEE4!important;}
.woocommerce-cart .cart_totals .ct-shipping-heading{font-size:15px;font-weight:600;color:#6E645C;margin:0 0 10px;}
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods{margin:0!important;padding:0!important;list-style:none!important;}
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li{margin:0 0 9px!important;padding:0!important;display:flex;align-items:center;gap:9px;font-size:14.5px;}
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li:last-child{margin-bottom:0!important;}
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods label{color:#2B2A28;margin:0;}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{text-align:left;font-size:13.5px;color:#8A8079;margin:12px 0 0;}
.woocommerce-cart .cart_totals .shipping-calculator-button{display:inline-block;margin-top:4px;}

/* the item card should not stretch to the height of the totals column */
.woocommerce-cart .ct-woocommerce-cart-form > form.woocommerce-cart-form{align-self:start;}
.woocommerce-cart .ct-woocommerce-cart-form > .cart_totals,.woocommerce-cart .ct-woocommerce-cart-form .cart-collaterals{align-self:start;}

/* account dashboard quick actions */
.tukoy-acct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0;}
.tukoy-acct-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid #E8DFD2;border-radius:16px;background:#FFF9F0;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.tukoy-acct-card:hover{border-color:#FFD98A;box-shadow:0 6px 18px -14px rgba(43,42,40,.5);transform:translateY(-1px);}
.woocommerce-account .woocommerce-MyAccount-content .tukoy-acct-card{text-decoration:none!important;}
.tukoy-acct-t{font-size:16px;font-weight:700;color:#2B2A28;}
.tukoy-acct-d{font-size:13.5px;color:#8A8079;line-height:1.45;}
.tukoy-acct-cta{margin:18px 0 0!important;}
.tukoy-acct-cta .button{border-radius:999px!important;font-weight:700!important;padding:13px 26px!important;text-decoration:none!important;}
@media (max-width:600px){.tukoy-acct-grid{grid-template-columns:1fr;}}
.woocommerce-account .woocommerce-MyAccount-content p:empty{display:none!important;}

/* the theme mirrors the stepper inside the name cell on phones - keep only one */
@media (max-width:767px){
 .woocommerce-cart td.product-name .quantity{display:none!important;}
 .woocommerce-cart td.product-name .product-price{margin-top:4px;}
}

/* the theme also mirrors the remove button and unit price into the name cell - use one set of controls */
@media (max-width:767px){
 .woocommerce-cart td.product-name .product-mobile-actions{display:none!important;}
 .woocommerce-cart td.product-name p.price{display:block!important;margin:5px 0 0!important;font-size:14px;color:#8A8079;}
}

@media (max-width:767px){
 .woocommerce-cart td.product-thumbnail{align-self:start!important;padding-top:2px!important;}
 .woocommerce-cart td.product-name{align-self:start!important;}
 .woocommerce-cart td.product-remove{align-self:start!important;}
}

/* remember-me row */
.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex!important;align-items:center;gap:9px;margin:0 0 16px!important;font-weight:500!important;color:#6E645C!important;}
.woocommerce-account .woocommerce-LostPassword{margin:14px 0 0!important;font-size:14px;}
.woocommerce-account #customer_login h2{margin:0 0 14px!important;}

/* ---------- round 4: one type system ---------- */
/* Bubblegum Sans is a display face - it belongs on page titles, not on panel headings, buttons or labels. */
:root{
 --tk-ui:"Albert Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --tk-h2:28px; --tk-h3:22px; --tk-panel:20px;
 --tk-body:16px; --tk-sm:14px; --tk-label:13px;
}
@media (max-width:767px){:root{--tk-h2:23px;--tk-h3:19px;--tk-panel:18px;}}

.woocommerce .cart_totals h2,
.woocommerce .cross-sells > h2,
.woocommerce .related > h2,
.woocommerce .up-sells > h2,
.tukoy-cart-picks h2,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.tinv-wishlist h2{font-family:var(--tk-ui)!important;font-weight:700!important;letter-spacing:-.01em!important;}
.woocommerce .cart_totals h2{font-size:var(--tk-panel)!important;}
.woocommerce .cross-sells > h2,.woocommerce .related > h2,.woocommerce .up-sells > h2,.tukoy-cart-picks h2{font-size:var(--tk-h3)!important;margin:0 0 18px!important;}
#order_review_heading,.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-size:var(--tk-h3)!important;}
.woocommerce-account h2{font-size:var(--tk-h3)!important;}

/* every control wears the same face and weight */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,
.checkout-button,.single_add_to_cart_button,.tukoy-sticky-btn,.tukoy-acct-cta .button,
.woocommerce-account .woocommerce form button[type="submit"],.woocommerce-cart td.actions button,
.tinv-wishlist .button,.tinv-wishlist button,.tinvwl-buttons-group button{
 font-family:var(--tk-ui)!important;font-weight:700!important;letter-spacing:0!important;}
.checkout-button{font-size:16.5px!important;}
.woocommerce .cross-sells .button,.woocommerce .related .button,.woocommerce ul.products .button{font-size:15px!important;}

/* nothing on the commerce pages drops below 14px except uppercase micro-labels at 13px */
.tukoy-card-blurb,.tukoy-acct-d,.tukoy-co-trust li,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.tinv-wishlist td.product-price del,.tinv-wishlist td.product-stock{font-size:var(--tk-sm)!important;}
.woocommerce-cart table.shop_table.cart thead th{font-size:var(--tk-label)!important;}

/* stepper: hovering + or - tints the glyph, it does not paint a square behind it */
.woocommerce div.quantity .ct-increase,.woocommerce div.quantity .ct-decrease{background:none!important;background-color:transparent!important;border:0!important;border-radius:999px!important;color:#6E645C!important;transition:color .12s ease;}
.woocommerce div.quantity .ct-increase:hover,.woocommerce div.quantity .ct-decrease:hover,
.woocommerce div.quantity .ct-increase:focus,.woocommerce div.quantity .ct-decrease:focus,
.woocommerce div.quantity .ct-increase:active,.woocommerce div.quantity .ct-decrease:active{background:none!important;background-color:transparent!important;color:#FF6B57!important;}

/* cart actions: one row - continue shopping on the left, coupon and update on the right */
.woocommerce-cart td.actions{display:flex!important;align-items:center;gap:14px;flex-wrap:wrap;}
.woocommerce-cart td.actions .tukoy-cart-continue{order:1;margin:0 auto 0 0!important;}
.woocommerce-cart td.actions .tukoy-coupon-toggle{order:2;margin:0!important;}
.woocommerce-cart td.actions .coupon{order:2;margin:0!important;}
.woocommerce-cart td.actions button[name="update_cart"]{order:3;margin:0!important;float:none!important;min-height:44px;font-size:var(--tk-sm)!important;border-width:1.5px!important;}

.tukoy-cart-continue a{display:inline-flex;align-items:center;gap:9px;font-size:var(--tk-sm);font-weight:600;color:#6E645C!important;text-decoration:none!important;}
.tukoy-cart-continue a::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:margin .15s ease;}
.tukoy-cart-continue a:hover{color:#FF6B57!important;}
.tukoy-cart-continue a:hover::before{margin-right:4px;margin-left:-4px;}

@media (max-width:767px){
 .woocommerce-cart td.actions{flex-direction:column;align-items:stretch;gap:12px;}
 .woocommerce-cart td.actions .tukoy-cart-continue{order:3;margin:2px auto 0!important;}
 .woocommerce-cart td.actions .tukoy-coupon-toggle{order:1;text-align:center;}
 .woocommerce-cart td.actions button[name="update_cart"]{order:2;width:100%;margin:0!important;}
}

/* ---------- round 5: buttons matched to the homepage, and two clipping fixes ---------- */

/* a flex td collapses to min-content inside a table - let the actions row be a block */
.woocommerce-cart table.shop_table.cart tbody tr:last-child{display:block!important;width:100%;}
.woocommerce-cart td.actions{width:100%!important;box-sizing:border-box;}

/* primary buttons now carry the same weight, size and lift as Shop Toys on the homepage */
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce #place_order,
.tukoy-acct-cta .button,
.tukoy-sticky-btn{
 font-size:16px!important;font-weight:800!important;letter-spacing:.005em!important;
 min-height:56px!important;padding:0 28px!important;
 display:inline-flex!important;align-items:center;justify-content:center;
 box-shadow:0 10px 24px -12px rgba(255,182,39,.9)!important;
 transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s ease,background-color .18s ease!important;}
.woocommerce .single_add_to_cart_button:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,.tukoy-acct-cta .button:hover{background:#FFC24A!important;color:#2B2A28!important;transform:translateY(-2px);}
.woocommerce .single_add_to_cart_button:active,.woocommerce .checkout-button:active{transform:translateY(0);}

/* product page: quantity and button read as one control group */
.single-product form.cart .ct-cart-actions,.single-product .ct-product-add-to-cart form.cart{display:flex!important;align-items:stretch;gap:12px;}
.single-product form.cart .quantity{flex:0 0 132px;}
.single-product form.cart .quantity input.qty{width:132px!important;height:56px!important;border:1.5px solid #E8DFD2!important;border-radius:16px!important;font-size:16px;font-weight:700;}
.single-product form.cart .single_add_to_cart_button{flex:1 1 auto;border-radius:16px!important;}
.single-product .stock{font-size:var(--tk-sm)!important;margin-bottom:12px!important;}

/* product page wishlist link becomes a proper secondary button */
.single-product .tinvwl-after-add-to-cart:not(.tinvwl-loop-button-wrapper){margin-top:14px!important;}
.single-product .tinvwl-after-add-to-cart:not(.tinvwl-loop-button-wrapper) .tinvwl_add_to_wishlist_button{
 display:inline-flex!important;align-items:center;gap:9px;min-height:48px;padding:0 22px;
 border:1.5px solid #E8DFD2!important;border-radius:16px!important;background:#fff!important;
 font-family:var(--tk-ui)!important;font-size:15px!important;font-weight:700!important;
 color:#2B2A28!important;text-decoration:none!important;transition:border-color .15s ease,color .15s ease;}
.single-product .tinvwl-after-add-to-cart:not(.tinvwl-loop-button-wrapper) .tinvwl_add_to_wishlist_button:hover{border-color:#FFC9C0!important;color:#FF6B57!important;}
.single-product .tinvwl-after-add-to-cart:not(.tinvwl-loop-button-wrapper) .tinvwl_add_to_wishlist_button::before{color:#FF6B57!important;font-size:16px!important;margin:0!important;}

/* contact form: the subject select was pinned to a height shorter than its own text */
.tukoy-c-field select,#tukoy-c-subject{height:auto!important;min-height:54px!important;line-height:1.4!important;padding:15px 44px 15px 16px!important;}

/* ---------- round 6: one button shape (16px, the homepage radius) ---------- */
.woocommerce ul.products .button,
.woocommerce .cross-sells .button,.woocommerce .related .button,
.woocommerce .checkout-button,.woocommerce #place_order,
.woocommerce .single_add_to_cart_button,
.woocommerce-cart td.actions button[name="update_cart"],
.woocommerce-account .woocommerce form button[type="submit"],
.tukoy-acct-cta .button,.tukoy-sticky-btn,
.woocommerce a.added_to_cart,
.tinv-wishlist td.product-action .button,.tinvwl-buttons-group button,
.tukoy-empty-cart .button{border-radius:16px!important;}

/* the sign-in card sits on its own - centre it instead of leaving half the row empty */
.woocommerce-account:not(.logged-in) .woocommerce{max-width:520px;margin-left:auto!important;margin-right:auto!important;}
.woocommerce-account #customer_login.u-columns > .u-column1,.woocommerce-account #customer_login.u-columns > .u-column2{float:none!important;width:100%!important;}

/* log in / register button: same weight, size and lift as Shop Toys */
.woocommerce-account .woocommerce form button[type="submit"]{
 font-size:16px!important;font-weight:800!important;letter-spacing:.005em!important;
 min-height:56px!important;padding:0 28px!important;width:100%;
 display:inline-flex!important;align-items:center;justify-content:center;
 box-shadow:0 10px 24px -12px rgba(255,182,39,.9)!important;
 transition:transform .18s cubic-bezier(.2,.7,.3,1),background-color .18s ease!important;}
.woocommerce-account .woocommerce form button[type="submit"]:hover{background:#FFC24A!important;color:#2B2A28!important;transform:translateY(-2px);}

/* remember me: a real aligned checkbox, not the theme's purple square */
.woocommerce-account .woocommerce-form-login__rememberme{display:flex!important;align-items:center;gap:10px;margin:2px 0 18px!important;font-size:15px;color:#2B2A28!important;font-weight:500!important;cursor:pointer;}
/* checkbox look now lives in one place: THE REMEMBER ME BOX, further down */
.woocommerce-account .woocommerce-form-login__rememberme span{line-height:1.2;}
.woocommerce-account .woocommerce-form-login .form-row{margin-bottom:18px;}

/* ---------- round 7 ---------- */
/* a block tr inside a table-row-group shrinks to content - keep the table intact and float instead */
.woocommerce-cart table.shop_table.cart tbody tr:last-child{display:table-row!important;width:auto!important;}
.woocommerce-cart td.actions{display:table-cell!important;width:auto!important;text-align:right!important;}
.woocommerce-cart td.actions::after{content:"";display:block;clear:both;}
.woocommerce-cart td.actions .tukoy-cart-continue{float:left;margin:0!important;line-height:44px;}
.woocommerce-cart td.actions .tukoy-coupon-toggle{display:inline-block;vertical-align:middle;margin:0 16px 0 0!important;}
.woocommerce-cart td.actions button[name="update_cart"]{display:inline-block;vertical-align:middle;margin:0!important;float:none!important;}
@media (max-width:767px){
 .woocommerce-cart td.actions{text-align:center!important;}
 .woocommerce-cart td.actions .tukoy-cart-continue{float:none;display:block;margin:14px 0 0!important;line-height:1.4;}
 .woocommerce-cart td.actions .tukoy-cart-continue a{justify-content:center;}
 .woocommerce-cart td.actions .tukoy-coupon-toggle{display:block;margin:0 0 12px!important;}
 .woocommerce-cart td.actions button[name="update_cart"]{display:block;width:100%;}
}

/* shop page intro, matched to the category intros */
.tukoy-shop-intro{max-width:680px;margin:-16px auto 34px;text-align:center;}
.tukoy-shop-intro p{margin:0;font-size:16px;line-height:1.7;color:#6E645C;}
@media (max-width:767px){.tukoy-shop-intro{padding:0 4px;} .tukoy-shop-intro p{font-size:15px;line-height:1.65;}}

/* ---------- round 8: checkout fields, and the berry borders replaced with warm neutrals ---------- */

/* Ship to a different address is a form label, not a display heading */
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout h3#ship-to-different-address label,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
 font-family:var(--tk-ui)!important;font-weight:700!important;font-size:16px!important;letter-spacing:0!important;}
.woocommerce-checkout h3#ship-to-different-address label{display:inline-flex!important;align-items:center;gap:10px;margin:0!important;cursor:pointer;}

/* every field on the checkout gets the 16px radius the rest of the site uses */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-selection--single,
.woocommerce-checkout #order_comments{
 border:1.5px solid #E8DFD2!important;border-radius:16px!important;background:#fff!important;
 color:#2B2A28!important;font-family:var(--tk-ui)!important;font-size:15.5px!important;
 padding:14px 16px!important;min-height:54px!important;height:auto!important;line-height:1.4!important;box-shadow:none!important;}
.woocommerce-checkout .form-row textarea,.woocommerce-checkout #order_comments{min-height:120px!important;}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.22)!important;outline:none!important;}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4!important;padding-left:0!important;color:#2B2A28!important;}
.woocommerce-checkout .select2-dropdown{border:1.5px solid #E8DFD2!important;border-radius:16px!important;overflow:hidden;}
.woocommerce-checkout .form-row label{font-family:var(--tk-ui)!important;font-size:14px!important;font-weight:600!important;color:#2B2A28!important;margin-bottom:7px!important;}
.woocommerce-checkout .form-row{margin-bottom:18px!important;}

/* the theme outlines the order panel and payment rows in berry - warm neutral instead */
.woocommerce-checkout .ct-order-review{border:1px solid #E8DFD2!important;border-radius:20px!important;}
.woocommerce-checkout ul.payment_methods,
.woocommerce-checkout ul.payment_methods li,
.woocommerce-checkout ul.payment_methods li.wc_payment_method,
.woocommerce-checkout .payment_box{border-color:#E8DFD2!important;}
.woocommerce-checkout ul.payment_methods{border:1px solid #E8DFD2!important;border-radius:16px!important;overflow:hidden;padding:0!important;margin:0 0 18px!important;list-style:none!important;}
.woocommerce-checkout ul.payment_methods li.wc_payment_method{border:0!important;border-bottom:1px solid #F0E8DC!important;margin:0!important;padding:16px 18px!important;}
.woocommerce-checkout ul.payment_methods li.wc_payment_method:last-child{border-bottom:0!important;}
.woocommerce-checkout ul.payment_methods li.wc_payment_method label{font-family:var(--tk-ui)!important;font-weight:600!important;font-size:15.5px!important;color:#2B2A28!important;}
.woocommerce-checkout .payment_box{background:#FFF9F0!important;border:0!important;border-radius:12px!important;margin:12px 0 0!important;padding:14px 16px!important;font-size:14px;color:#6E645C;}
.woocommerce-checkout .payment_box::before{display:none!important;}

/* checkboxes: same treatment as remember me */
.woocommerce-checkout input[type="radio"]{accent-color:#FF6B57;}

/* sweep: no berry left anywhere on the checkout chrome */
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td,
.woocommerce-checkout .shop_table tfoot tr,.woocommerce-checkout ul.payment_methods li{border-color:#F0E8DC!important;}
.woocommerce-checkout .shop_table{border-color:#E8DFD2!important;}

/* ---------- round 9: product page buy box ---------- */
/* quantity and Add to cart share a line; wishlist sits directly under them; delivery info last */
.single-product .ct-cart-actions{display:flex!important;flex-wrap:wrap!important;align-items:stretch;gap:12px!important;}
.single-product .ct-cart-actions .quantity{flex:0 0 132px!important;order:1;margin:0!important;}
.single-product .ct-cart-actions .single_add_to_cart_button{flex:1 1 220px!important;width:auto!important;order:2;margin:0!important;}
.single-product .ct-cart-actions .tinv-wraper{flex:1 0 100%!important;order:3;margin:2px 0 0!important;}
.single-product .ct-cart-actions .tukoy-delivery{flex:1 0 100%!important;order:4;margin:8px 0 0!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button{width:100%!important;justify-content:center;min-height:52px!important;}

/* delivery box: the date is the message, everything else supports it */
.tukoy-delivery{background:#FFF9F0!important;border:1px solid #F0E8DC!important;border-radius:16px!important;padding:15px 16px 15px 42px!important;position:relative;display:flex!important;flex-direction:column;gap:5px;}
.tukoy-delivery::before{content:"";position:absolute;left:17px;top:20px;width:11px;height:6px;border-left:2px solid #2E6E8C;border-bottom:2px solid #2E6E8C;border-radius:1px;transform:rotate(-45deg);}
.tukoy-delivery-main{display:block;font-size:15.5px!important;line-height:1.45!important;color:#2B2A28!important;}
.tukoy-delivery-main strong{font-weight:700!important;color:#2B2A28!important;}
.tukoy-delivery-sub{display:block;font-size:14px!important;line-height:1.4!important;color:#8A8079!important;}

@media (max-width:600px){
 .single-product .ct-cart-actions{gap:10px!important;}
 .single-product .ct-cart-actions .quantity{flex:0 0 118px!important;}
 .single-product .ct-cart-actions .single_add_to_cart_button{flex:1 1 150px!important;padding:0 16px!important;}
 .tukoy-delivery{padding:14px 14px 14px 38px!important;}
 .tukoy-delivery-main{font-size:15px!important;}
}

/* ---------- round 10 ---------- */
/* the stepper takes the same 16px radius as every other control */
.woocommerce .quantity input.qty,
.woocommerce-cart .quantity input.qty,
.single-product form.cart .quantity input.qty{border-radius:16px!important;}

/* ---------- round 11: the expanded coupon needs its own row ---------- */
/* when the discount field is open it is a block, not something to squeeze beside the buttons */
.woocommerce-cart td.actions .coupon:not(.tukoy-coupon-hidden){
 display:flex!important;width:100%!important;float:none!important;clear:both;
 gap:10px;align-items:center;flex-wrap:wrap;
 margin:0 0 16px!important;padding:0 0 16px!important;border-bottom:1px solid #F5EEE4;text-align:left!important;}
.woocommerce-cart td.actions .coupon input#coupon_code{
 flex:1 1 200px;min-width:0;width:auto!important;margin:0!important;height:50px!important;
 border:1.5px solid #E8DFD2!important;border-radius:16px!important;background:#fff!important;
 padding:0 16px!important;font-family:var(--tk-ui)!important;font-size:15px!important;color:#2B2A28!important;}
.woocommerce-cart td.actions .coupon input#coupon_code:focus{border-color:#FFB627!important;box-shadow:0 0 0 3px rgba(255,182,39,.22)!important;outline:none!important;}
.woocommerce-cart td.actions .coupon button{flex:0 0 auto;margin:0!important;min-height:50px!important;border-radius:16px!important;padding:0 22px!important;font-size:var(--tk-sm)!important;}
@media (max-width:600px){
 .woocommerce-cart td.actions .coupon:not(.tukoy-coupon-hidden){flex-direction:column;align-items:stretch;}
 .woocommerce-cart td.actions .coupon input#coupon_code,
 .woocommerce-cart td.actions .coupon button{width:100%!important;}
}

/* once the field is open the prompt has done its job */
.woocommerce-cart td.actions:has(.coupon:not(.tukoy-coupon-hidden)) .tukoy-coupon-toggle{display:none!important;}

/* ---------- round 12: notice boxes ---------- */
/* Woo's grey notice was the last off-palette surface on the site */
.woocommerce-info,.woocommerce-message,.woocommerce-error,
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error,
.tinv-wishlist .woocommerce-info,.tinv-wishlist .woocommerce-message{
 border-radius:16px!important;background:#FFF9F0!important;border:1px solid #F0E8DC!important;
 color:#2B2A28!important;font-family:var(--tk-ui)!important;font-size:15px!important;}
.woocommerce-error{background:#FBEDEB!important;border-color:#E8A79E!important;}
.woocommerce-info .button,.woocommerce-message .button,.woocommerce-error .button{border-radius:16px!important;}
.tinv-wishlist .tinvwl-empty-wishlist a.button,.tinv-wishlist a.button{border-radius:16px!important;}


/* ---------- round 14: buy box on one row ---------- */
/* quantity, Add to cart, and the wishlist as a square icon button beside it */
.single-product .ct-cart-actions{align-items:center!important;}
.single-product .ct-cart-actions .tinv-wraper{flex:0 0 56px!important;order:3!important;margin:0!important;width:56px!important;}
.single-product .ct-cart-actions .tukoy-delivery{order:4!important;flex:1 0 100%!important;margin:14px 0 0!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button{
 width:56px!important;height:56px!important;min-height:56px!important;padding:0!important;margin:0!important;
 border:1.5px solid #E8DFD2!important;border-radius:16px!important;background:#fff!important;
 display:flex!important;align-items:center;justify-content:center;
 font-size:0!important;line-height:0!important;text-decoration:none!important;
 transition:border-color .15s ease,background .15s ease;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button span{display:none!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button::before{font-size:20px!important;line-height:1!important;margin:0!important;color:#A79C90!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button:hover{border-color:#FFC9C0!important;background:#FFF9F0!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button:hover::before{color:#FF6B57!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button[data-tinv-wl-action="remove"]{border-color:#FFC9C0!important;background:#FFF3F1!important;}
.single-product .ct-cart-actions .tinvwl_add_to_wishlist_button[data-tinv-wl-action="remove"]::before{color:#FF6B57!important;}
.single-product .ct-cart-actions .tinv-wishlist-clear{display:none!important;}

@media (max-width:600px){
 .single-product .ct-cart-actions .quantity{flex:0 0 104px!important;}
 .single-product .ct-cart-actions .single_add_to_cart_button{flex:1 1 120px!important;padding:0 12px!important;font-size:15.5px!important;}
 .single-product .ct-cart-actions .tinv-wraper{flex:0 0 52px!important;width:52px!important;}
 .single-product .ct-cart-actions .tinvwl_add_to_wishlist_button{width:52px!important;height:52px!important;min-height:52px!important;}
}

/* ---------- round 15: minimum type size and thumb-sized targets ---------- */
/* audit at 390px and 1280px found no layout overflow, but a lot of 11-12px text */
.tukoy-select-label{font-size:13px!important;}
.woocommerce span.onsale,.onsale{font-size:13px!important;}
.tukoy-age-pill{font-size:13px!important;}
.woocommerce del,.woocommerce del bdi,.woocommerce del .woocommerce-Price-amount,
.tukoy-card-blurb,.tinv-wishlist td.product-price del{font-size:14px!important;}
[class*="ct-term-"],.entry-meta a,.entry-meta,.ct-meta-element-date,.ct-meta-element-author,.ct-meta-element-author a{font-size:13.5px!important;}
.tukoy-page .tukoy-card-give,.tukoy-page .tukoy-card-save,.tukoy-page .tukoy-age,.tukoy-page .builds{font-size:13px!important;}

/* tap targets: 44px is the minimum a thumb reliably hits */
@media (max-width:767px){
 footer li a,.site-footer li a{display:inline-block;padding:10px 0!important;}
 .ct-breadcrumbs a,.ct-breadcrumbs span{display:inline-block;padding:6px 0;}
 .tukoy-chip{min-height:40px!important;display:inline-flex!important;align-items:center;}
 .entry-meta a,[class*="ct-term-"]{display:inline-block;padding:6px 0;}
 .woocommerce-MyAccount-navigation li a{min-height:46px;}
 .tukoy-c-field .val,.tukoy-c-field a{display:inline-block;padding:7px 0;}
}

/* round 15b: the announcement strip and card meta were the last sub-13px text */
.tukoy-h-container .ship,.tukoy-h-container .ship-short,.tukoy-h-container > a,.tukoy-h-bar a,.tukoy-h-bar span{font-size:13px!important;}
.tukoy-page .info .ds,.info .ds{font-size:13px!important;}
@media (max-width:767px){.tukoy-h-container a,.tukoy-h-container .ship{padding:4px 0;}}

/* round 15c: the last three sub-13px / tight-target spots */
.woocommerce-tabs ul.tabs li a,.wc-tabs li a{font-size:13.5px!important;}
.tinv-wishlist .social-buttons span,.social-buttons > span{font-size:13px!important;}
@media (max-width:767px){
 .tukoy-c-card .val,.tukoy-c-quick a,.tukoy-c-alt a{display:inline-block;padding:8px 0!important;}
}

/* ---------- round 16: product cards become cards, and the PDP gains a support block ---------- */
/* every other surface on the site is a white card on cream; the product grid was the exception */
.woocommerce ul.products li.product{
 background:#fff;border:1px solid #E8DFD2;border-radius:16px;overflow:hidden;
 display:flex;flex-direction:column;padding:0 0 16px!important;
 transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.woocommerce ul.products li.product:hover{border-color:#FFD98A;box-shadow:0 10px 28px -18px rgba(43,42,40,.5);transform:translateY(-2px);}
.woocommerce ul.products li.product > *:not(figure):not(.tinvwl-loop-button-wrapper){padding-left:16px!important;padding-right:16px!important;}
.woocommerce ul.products li.product figure{margin:0!important;}
.woocommerce ul.products li.product figure img,.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{border-radius:0!important;width:100%!important;background:#FFF9F0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{margin-top:14px!important;}
.woocommerce ul.products li.product .ct-woo-card-actions{margin-top:auto!important;padding-top:12px!important;}
.woocommerce ul.products li.product .onsale{left:12px!important;top:12px!important;}
.woocommerce ul.products li.product .tinvwl-loop-button-wrapper{top:12px!important;right:12px!important;}

/* PDP support block */
.tukoy-pdp-support{margin-top:26px;padding-top:22px;border-top:1px solid #F0E8DC;display:flex;flex-direction:column;gap:18px;}
.tukoy-pdp-actions{display:flex;flex-wrap:wrap;gap:10px;}
.tukoy-pdp-action{
 display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;
 border:1.5px solid #E8DFD2;border-radius:16px;background:#fff;cursor:pointer;
 font-family:var(--tk-ui);font-size:14.5px;font-weight:600;color:#2B2A28!important;
 text-decoration:none!important;transition:border-color .15s ease,color .15s ease,background .15s ease;}
.tukoy-pdp-action svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto;}
.tukoy-pdp-action:hover{border-color:#FFB627;background:#FFF9F0;}
.tukoy-pdp-action:focus-visible{outline:3px solid #FFD98A;outline-offset:2px;}

.tukoy-pdp-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:#8A8079;}
.tukoy-pdp-meta em{font-style:normal;font-weight:600;color:#6E645C;margin-right:6px;}
.tukoy-pdp-meta a{color:#2B2A28!important;text-decoration:underline;text-decoration-color:#E8DFD2;text-underline-offset:3px;}
.tukoy-pdp-meta a:hover{color:#FF6B57!important;text-decoration-color:#FF6B57;}

.tukoy-pdp-pay{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#FFF9F0;border:1px solid #F0E8DC;border-radius:16px;}
.tukoy-pdp-pay svg{width:19px;height:19px;fill:#2E6E8C;flex:0 0 auto;margin-top:1px;}
.tukoy-pdp-pay span{font-size:14px;line-height:1.5;color:#6E645C;}
.tukoy-pdp-pay strong{display:block;color:#2B2A28;font-weight:700;margin-bottom:2px;}

@media (max-width:767px){
 .woocommerce ul.products li.product{border-radius:14px;padding-bottom:14px!important;}
 .woocommerce ul.products li.product > *:not(figure):not(.tinvwl-loop-button-wrapper){padding-left:12px!important;padding-right:12px!important;}
 .tukoy-pdp-actions .tukoy-pdp-action{flex:1 1 auto;justify-content:center;}
 .tukoy-pdp-support{margin-top:22px;padding-top:18px;gap:16px;}
}

/* round 16c: the category link in the product meta line needs a thumb-sized target */
@media (max-width:767px){
 .tukoy-pdp-meta{gap:10px 20px;}
 .tukoy-pdp-meta a{display:inline-block;padding:7px 0;}
}

/* round 17b: wishlist count in the header, matched to the cart badge */
.tukoy-h-action{position:relative;}
.tukoy-h-wishcount{
 position:absolute;top:-4px;right:-8px;min-width:18px;height:18px;padding:0 5px;
 display:inline-flex;align-items:center;justify-content:center;
 background:#FFF9F0;color:#2B2A28;border:1px solid #E8DFD2;border-radius:999px;
 font-family:var(--tk-ui);font-size:11px;font-weight:700;line-height:1;}
.tukoy-h-wishcount.is-empty{display:none;}

/* ---------- wishlist: a plain list, one saved toy per row ---------- */
.page-id-1033 main h2{display:none;}
.tinv-wishlist table.tinvwl-table-manage-list{display:block!important;width:100%;border:0!important;border-collapse:separate!important;border-spacing:0!important;}
.tinv-wishlist table.tinvwl-table-manage-list thead{display:none!important;}
.tinv-wishlist table.tinvwl-table-manage-list tbody{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%;}

.tinv-wishlist table.tinvwl-table-manage-list tbody tr{
 display:grid!important;align-items:center!important;
 grid-template-columns:72px minmax(0,1fr) auto auto auto 34px!important;
 column-gap:18px!important;row-gap:0!important;
 background:#fff!important;border:1px solid #E8DFD2!important;border-radius:16px!important;
 padding:14px 16px!important;transition:border-color .15s ease;}
.tinv-wishlist table.tinvwl-table-manage-list tbody tr:hover{border-color:#FFD98A!important;}
.tinv-wishlist table.tinvwl-table-manage-list tbody td{
 display:block!important;width:auto!important;max-width:none!important;border:0!important;padding:0!important;background:none!important;text-align:left!important;}
.tinv-wishlist table.tinvwl-table-manage-list tbody td::before{display:none!important;content:none!important;}

.tinv-wishlist table.tinvwl-table-manage-list td.product-cb,
.tinv-wishlist table.tinvwl-table-manage-list td.product-date,
.tinv-wishlist table.tinvwl-table-manage-list th.product-cb,
.tinv-wishlist table.tinvwl-table-manage-list th.product-date{display:none!important;}
.tinv-wishlist td.product-thumbnail{grid-column:1!important;}
.tinv-wishlist td.product-thumbnail img{width:72px!important;height:72px!important;object-fit:contain;background:#FFF9F0;border:1px solid #F0E8DC;border-radius:12px;padding:5px;display:block;}
.tinv-wishlist td.product-name{grid-column:2!important;min-width:0;font-size:15.5px!important;line-height:1.35!important;}
.tinv-wishlist td.product-name a{color:#2B2A28!important;font-weight:600;text-decoration:none!important;}
.tinv-wishlist td.product-name a:hover{color:#FF6B57!important;}
.tinv-wishlist td.product-price{grid-column:3!important;white-space:nowrap;font-size:16px!important;font-weight:700;color:#2B2A28;}
.tinv-wishlist td.product-price del{font-weight:400;font-size:14px!important;color:#A79C90;margin-left:6px;}
.tinv-wishlist td.product-price ins{text-decoration:none;}
.tinv-wishlist td.product-stock{grid-column:4!important;white-space:nowrap;font-size:13.5px!important;color:#3B7F42;}
.tinv-wishlist td.product-action{grid-column:5!important;}
.tinv-wishlist td.product-action .button{
 width:auto!important;white-space:nowrap;border-radius:16px!important;min-height:44px;
 padding:0 20px!important;font-size:14.5px!important;font-weight:700!important;}

/* remove: a quiet circle, not a competing control */
.tinv-wishlist td.product-remove{grid-column:6!important;justify-self:end;align-self:center!important;}
.tinv-wishlist td.product-remove button{
 width:32px;height:32px;padding:0;border-radius:50%;border:1px solid #EFE7DC!important;background:#FFF9F0!important;
 color:#8A8079!important;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:none!important;}
.tinv-wishlist td.product-remove button:hover{background:#FBEDEB!important;border-color:#E8A79E!important;color:#A93226!important;}

/* one quiet action under the list - no bulk select, no share row, no second marigold button */
.tinv-wishlist .tinvwl-to-left{display:none!important;}
.tinv-wishlist .social-buttons{display:none!important;}
.tinv-wishlist button[name="tinvwl-action-product_selected"]{display:none!important;}
.tinv-wishlist .tinvwl-table-manage-list tfoot,
.tinv-wishlist .tinvwl-table-manage-list tfoot tr,
.tinv-wishlist .tinvwl-table-manage-list tfoot td{display:block!important;width:100%!important;border:0!important;padding:0!important;background:none!important;}
.tinv-wishlist .tinvwl-to-right{display:block!important;text-align:center!important;margin-top:20px!important;width:100%!important;float:none!important;}
.tinv-wishlist button[name="tinvwl-action-product_all"]{
 background:#fff!important;color:#2B2A28!important;border:1.5px solid #E8DFD2!important;
 border-radius:16px!important;min-height:46px!important;padding:0 24px!important;
 font-family:var(--tk-ui)!important;font-size:14.5px!important;font-weight:700!important;
 width:auto!important;min-width:0!important;white-space:nowrap!important;box-shadow:none!important;display:inline-flex!important;align-items:center;justify-content:center;}
.tinv-wishlist button[name="tinvwl-action-product_all"]:hover{border-color:#FFB627!important;background:#FFF9F0!important;}

@media (max-width:767px){
 .tinv-wishlist table.tinvwl-table-manage-list tbody tr{
  grid-template-columns:64px minmax(0,1fr) 34px!important;
  column-gap:12px!important;row-gap:8px!important;padding:12px 14px!important;align-items:start!important;}
 .tinv-wishlist td.product-thumbnail{grid-column:1!important;grid-row:1 / span 3!important;}
 .tinv-wishlist td.product-thumbnail img{width:64px!important;height:64px!important;}
 .tinv-wishlist td.product-name{grid-column:2!important;grid-row:1!important;font-size:14.5px!important;}
 .tinv-wishlist td.product-price{grid-column:2!important;grid-row:2!important;font-size:15px!important;}
 .tinv-wishlist td.product-stock{grid-column:2!important;grid-row:3!important;}
 .tinv-wishlist td.product-action{grid-column:1 / -1!important;grid-row:4!important;padding-top:10px!important;}
 .tinv-wishlist td.product-action .button{width:100%!important;justify-content:center;}
 .tinv-wishlist td.product-remove{grid-column:3!important;grid-row:1!important;}
}


/* ==========================================================================
   THE PRODUCTS PAGE
   Fifty toys is too many to scroll and too few to search. What it needs is a
   rail you can tick your way down: how old is the child, what kind of thing,
   what are you willing to spend. Everything below builds that rail, and the
   feedback that tells you what your ticks did.
   ========================================================================== */

/* --- layout ---------------------------------------------------------------
   Blocksy wraps anything hooked before the loop in .woo-listing-top, and the
   product list is its sibling, so a float is the honest way to get two
   columns without wrapping markup that isn't ours to wrap.
   -------------------------------------------------------------------------- */
@media (min-width:1080px){
  .post-type-archive-product .woo-listing-top,
  .tax-product_cat .woo-listing-top,
  .tax-product_tag .woo-listing-top{
    float:left;
    width:268px;
    margin:0 0 34px!important;
    padding:0!important;
    border:0!important;
    transform:none!important;
  }
  .post-type-archive-product .tukoy-shoptop,
  .post-type-archive-product ul.products,
  .post-type-archive-product nav.ct-pagination,
  .post-type-archive-product .tukoy-empty,
  .tax-product_cat .tukoy-shoptop,
  .tax-product_cat ul.products,
  .tax-product_cat nav.ct-pagination,
  .tax-product_cat .tukoy-empty,
  .tax-product_tag .tukoy-shoptop,
  .tax-product_tag ul.products,
  .tax-product_tag nav.ct-pagination,
  .tax-product_tag .tukoy-empty{
    margin-left:302px!important;
  }
  .tukoy-cat-more{ clear:both; margin-left:0!important; }
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
/* No four-column rule: the container caps at 1290px, so a fourth column
   would only ever shave the cards down to the same width they had before
   the rail existed. Three columns at ~310px is the better read. */

/* --- the rail itself ------------------------------------------------------ */
.tukoy-filters{ margin:0; }
.tkf-inner{
  position:relative;
  background-color:var(--tkp-sheet);
  background-image:var(--tkp-flecks);
  background-size:170px 170px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:5px;
  box-shadow:5px 5px 0 rgba(43,42,40,.13);
  padding:22px 20px 18px;
}
@media (min-width:1080px){
  .tkf-inner{ transform:rotate(-.5deg); }
  .tkf-inner::before{
    content:"";
    position:absolute; z-index:4; width:104px; height:27px;
    top:-15px; left:34px; transform:rotate(-5deg);
    background-color:rgba(255,222,140,.6);
    background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.4) 0 3px, transparent 3px 7px);
    box-shadow:0 1px 3px rgba(43,42,40,.15);
  }
}
.tkf-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 15px; }
.tkf-clear + .tkf-group{ margin-top:0; }
.tkf-title{
  font-family:var(--tkp-hand);
  font-size:27px!important; line-height:1.1; font-weight:700;
  margin:0!important; color:var(--tkp-pencil)!important;
  transform:rotate(-1deg);
}
.tkf-clear{
  display:inline-block; margin:2px 0 14px;
  font-size:13px; font-weight:700; color:#C4533F;
  text-decoration:none;
  border-bottom:2px solid rgba(196,83,63,.35);
}
.tkf-clear:hover{ border-bottom-color:#C4533F; }

/* --- a group of ticks ----------------------------------------------------- */
.tkf-group{ margin:0 0 20px; padding:0 0 18px; border-bottom:0; position:relative; }
.tkf-group + .tkf-group{ padding-top:2px; }
.tkf-group:not(:last-of-type)::after{
  content:""; position:absolute; left:0; right:6px; bottom:0; height:7px;
  background-image:var(--tkp-scribble);
  background-size:100% 7px; background-repeat:no-repeat;
  opacity:.34;
}
.tkf-h{
  font-family:var(--tkp-hand);
  font-size:20px!important; font-weight:700; line-height:1.15;
  margin:0 0 9px!important; letter-spacing:0;
  text-transform:none!important;
}
.tkf-sky .tkf-h{ color:#2E7FA6!important; }
.tkf-leaf .tkf-h{ color:#3E8C37!important; }
.tkf-plum .tkf-h{ color:#6E45A0!important; }
.tkf-list{ list-style:none!important; margin:0!important; padding:0!important; }
.tkf-list li{ margin:0!important; padding:0!important; }
.tkf-list li::marker{ content:""; }

.tkf-opt{
  display:flex; align-items:center; gap:10px;
  padding:7px 6px 7px 2px;
  min-height:40px;
  text-decoration:none!important;
  color:var(--tkp-pencil)!important;
  font-size:14.5px; font-weight:600; line-height:1.25;
  border-radius:4px;
  transition:transform .12s cubic-bezier(.2,.8,.3,1.2), background-color .12s ease;
}
.tkf-opt:hover{ background-color:rgba(43,42,40,.045); transform:translateX(2px); }
.tkf-box{
  position:relative; flex:0 0 auto;
  width:19px; height:19px;
  border:2.2px solid var(--tkp-pencil);
  border-radius:3px;
  background:#FFFDF8;
  transform:rotate(-2.5deg);
}
.tkf-list li:nth-child(even) .tkf-box{ transform:rotate(2deg); }
.tkf-opt.is-on .tkf-box::after{
  content:""; position:absolute; left:5px; top:0;
  width:5px; height:11px;
  border:solid var(--tkp-pencil); border-width:0 2.6px 2.6px 0;
  transform:rotate(42deg);
}
.tkf-sky .tkf-opt.is-on .tkf-box{ background:#9BD3EC; }
.tkf-leaf .tkf-opt.is-on .tkf-box{ background:#A8DFA2; }
.tkf-plum .tkf-opt.is-on .tkf-box{ background:#D3BDEE; }
.tkf-opt.is-on .tkf-lab{ font-weight:800; }
.tkf-lab{ flex:1 1 auto; }
.tkf-n{
  flex:0 0 auto;
  font-size:12px; font-weight:700; color:#9A8F82;
  font-variant-numeric:tabular-nums;
}
.tkf-opt.is-on .tkf-n{ color:#6C6257; }
.tkf-allback{
  display:inline-block; margin-top:10px;
  font-size:13px; font-weight:700; color:#2E7FA6; text-decoration:none;
  border-bottom:2px solid rgba(46,127,166,.35);
}
.tkf-allback:hover{ border-bottom-color:#2E7FA6; }
.tkf-note{
  font-family:var(--tkp-hand);
  font-size:17px!important; color:#8A8079!important;
  margin:2px 0 0!important; transform:rotate(-.8deg);
}

/* --- the bar above the grid ----------------------------------------------- */
.tukoy-shoptop{ margin:0 0 20px; }
.tkf-topline{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:0;
  position:relative;
}
/* No rule under the top bar - the count and the sort read fine on their
   own, and a stub of a pencil line floating between them looked like a
   mistake rather than a mark. */
.tukoy-count{
  flex:1 1 auto; margin:0!important;
  font-family:var(--tkp-hand);
  font-size:23px!important; line-height:1.1;
  color:var(--tkp-pencil)!important;
  transform:rotate(-.6deg);
}
.tukoy-shoptop .woocommerce-ordering{ margin:0!important; flex:0 0 auto; }
.tukoy-shoptop .woocommerce-ordering select,
.tukoy-shoptop select.orderby{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  height:46px; min-width:212px; width:auto!important; max-width:none!important;
  margin:0!important;
  padding:0 40px 0 14px;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background-color:#FFFDF8!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.14)!important;
  color:var(--tkp-pencil)!important;
  font-size:14.5px; font-weight:700;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='M2 3.5 C5 5, 6 8, 8 10 C10 8, 11 5, 14 3.2' fill='none' stroke='%232B2A28' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  cursor:pointer;
}
.tukoy-shoptop select.orderby:focus{
  outline:none!important;
  box-shadow:3px 3px 0 rgba(63,167,214,.5)!important;
}

/* --- what is currently ticked --------------------------------------------- */
.tkf-chips{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0 0; }
.tkf-chips-lab{
  font-family:var(--tkp-hand); font-size:18px; color:#8A8079;
  margin-right:2px;
}
.tkf-chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 11px;
  border:2px solid var(--tkp-pencil);
  border-radius:4px;
  background:#FFF7E8;
  box-shadow:2px 2px 0 rgba(43,42,40,.14);
  color:var(--tkp-pencil)!important;
  font-size:13.5px; font-weight:700; text-decoration:none!important;
  transition:transform .12s cubic-bezier(.2,.8,.3,1.2), box-shadow .12s ease;
}
.tkf-chip span[aria-hidden]{ font-size:16px; line-height:1; color:#C4533F; font-weight:800; }
.tkf-chip:nth-child(3n){ background:#EAF5FB; transform:rotate(-.9deg); }
.tkf-chip:nth-child(3n+1){ background:#F1FAEF; transform:rotate(.7deg); }
.tkf-chip:hover{ transform:translate(-1px,-1px) rotate(0deg); box-shadow:4px 4px 0 rgba(43,42,40,.18); }
.tkf-chip--clear{ background:#F6F1FB; }
.tkf-chip--clear span{ display:none; }

/* --- the button that opens the rail on a phone ---------------------------- */
.tkf-open{
  display:none;
  align-items:center; gap:9px;
  padding:0 16px; height:46px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:4px;
  background:#FFFDF8;
  box-shadow:4px 4px 0 var(--tkp-pencil);
  color:var(--tkp-pencil);
  font-size:15px; font-weight:800;
  cursor:pointer;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease;
}
.tkf-open::before{
  content:"";
  width:17px; height:13px; flex:0 0 auto;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='13' viewBox='0 0 17 13'%3E%3Cg fill='none' stroke='%232B2A28' stroke-width='2.1' stroke-linecap='round'%3E%3Cpath d='M1 2.2 C6 1.6, 11 2.6, 16 2'/%3E%3Cpath d='M3 6.6 C7 6.1, 10 7, 14 6.4'/%3E%3Cpath d='M6 11 C8 10.6, 9 11.3, 11 10.9'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
}
.tkf-open:active{ transform:translate(3px,3px); box-shadow:1px 1px 0 var(--tkp-pencil); }
.tkf-open em{
  font-style:normal;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 5px;
  border:2px solid var(--tkp-pencil); border-radius:999px;
  background:#FFB627; font-size:12.5px; font-weight:800;
}
.tkf-close{
  display:none;
  width:38px; height:38px; flex:0 0 auto;
  border:2.5px solid var(--tkp-pencil); border-radius:4px;
  background:#FFFDF8; color:var(--tkp-pencil);
  font-size:22px; line-height:1; font-weight:700; cursor:pointer;
}
.tkf-scrim{ display:none; }

/* --- nothing matched ------------------------------------------------------ */
.tukoy-empty{
  position:relative;
  background-color:var(--tkp-sheet);
  background-image:var(--tkp-flecks);
  background-size:170px 170px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:5px;
  box-shadow:5px 5px 0 rgba(43,42,40,.13);
  padding:38px 30px 34px;
  text-align:center;
  transform:rotate(-.4deg);
}
.tukoy-empty-big{
  font-family:var(--tkp-hand);
  font-size:clamp(26px,3.4vw,34px)!important;
  line-height:1.15; margin:0 0 8px!important;
  color:var(--tkp-pencil)!important;
}
.tukoy-empty-sub{ margin:0 0 18px!important; color:#6C6257!important; font-size:16px!important; }
.tukoy-empty .tkf-chips{ justify-content:center; margin:0 0 20px; }
.tukoy-empty p:last-child{ margin:0!important; }

/* --- the intro copy is worth reading on a phone too ----------------------- */
.post-type-archive-product .page-description.ct-hidden-sm,
.tax-product_cat .page-description.ct-hidden-sm{ display:block!important; }

/* A tablet has room for three across even without the rail beside it -
   two columns turns thirty-six toys into a very long scroll. */
@media (min-width:760px) and (max-width:1079.98px){
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* --- phone and tablet: the rail becomes a drawer -------------------------- */
@media (max-width:1079.98px){
  .tkf-open{ display:inline-flex; }
  .tkf-close{ display:block; }
  .post-type-archive-product .woo-listing-top,
  .tax-product_cat .woo-listing-top,
  .tax-product_tag .woo-listing-top{
    margin:0!important; padding:0!important; border:0!important; transform:none!important;
  }
  .tukoy-filters{
    position:fixed; z-index:100000;
    top:0; left:0; bottom:0;
    width:min(346px,89vw);
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    transform:translateX(-103%);
    transition:transform .28s cubic-bezier(.2,.8,.3,1);
    padding:0;
  }
  .tkf-inner{
    min-height:100%;
    border-width:0 3px 0 0;
    border-radius:0;
    box-shadow:14px 0 34px -18px rgba(43,42,40,.6);
    padding:20px 18px 40px;
    transform:none;
  }
  html.tkf-drawer-open .tukoy-filters{ transform:none; }
  .tkf-scrim{
    display:block;
    position:fixed; inset:0; z-index:99999;
    background:rgba(43,42,40,.42);
    opacity:0; pointer-events:none;
    transition:opacity .25s ease;
  }
  html.tkf-drawer-open .tkf-scrim{ opacity:1; pointer-events:auto; }
  html.tkf-drawer-open, html.tkf-drawer-open body{ overflow:hidden!important; }
  .tkf-title{ font-size:24px!important; }
  .tkf-opt{ min-height:46px; }
  .tukoy-count{ font-size:21px!important; width:100%; order:-1; }
  .tkf-topline{ gap:10px; }
  .tukoy-shoptop .woocommerce-ordering{ flex:1 1 190px; }
  .tukoy-shoptop .woocommerce-ordering select,
  .tukoy-shoptop select.orderby{ min-width:0; width:100%!important; }
}
@media (min-width:1080px){
  .tkf-open, .tkf-close, .tkf-scrim{ display:none!important; }
}
@media (max-width:600px){
  .tkf-chips-lab{ width:100%; }
  .tukoy-empty{ padding:30px 20px 26px; transform:none; }
}

@media (prefers-reduced-motion:reduce){
  .tkf-inner, .tukoy-count, .tkf-title, .tkf-note, .tkf-chip, .tukoy-empty{ transform:none!important; }
  .tukoy-filters{ transition:none!important; }
}


/* --- the rail follows you down the page ----------------------------------
   Thirty-six cards is a long way back to the filters. The header is sticky
   at 121px, so the rail parks just below it and caps its own height, which
   means a long list of toy kinds scrolls inside the sheet rather than
   spilling off the bottom of the screen.
   -------------------------------------------------------------------------- */
@media (min-width:1080px){
  .post-type-archive-product .woo-listing-top,
  .tax-product_cat .woo-listing-top,
  .tax-product_tag .woo-listing-top{
    width:286px;
    position:sticky;
    top:134px;
  }
  body.admin-bar .post-type-archive-product .woo-listing-top,
  body.admin-bar .tax-product_cat .woo-listing-top,
  body.admin-bar .tax-product_tag .woo-listing-top{ top:166px; }

  .post-type-archive-product .tukoy-shoptop,
  .post-type-archive-product ul.products,
  .post-type-archive-product nav.ct-pagination,
  .post-type-archive-product .tukoy-empty,
  .tax-product_cat .tukoy-shoptop,
  .tax-product_cat ul.products,
  .tax-product_cat nav.ct-pagination,
  .tax-product_cat .tukoy-empty,
  .tax-product_tag .tukoy-shoptop,
  .tax-product_tag ul.products,
  .tax-product_tag nav.ct-pagination,
  .tax-product_tag .tukoy-empty{
    margin-left:320px!important;
  }

  .tukoy-filters{
    box-sizing:border-box;
    max-height:calc(100vh - 152px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:22px 12px 16px 6px;
    scrollbar-width:thin;
    scrollbar-color:rgba(43,42,40,.24) transparent;
  }
  body.admin-bar .tukoy-filters{ max-height:calc(100vh - 184px); }
  .tukoy-filters::-webkit-scrollbar{ width:8px; }
  .tukoy-filters::-webkit-scrollbar-track{ background:transparent; }
  .tukoy-filters::-webkit-scrollbar-thumb{ background:rgba(43,42,40,.24); border-radius:99px; }
  .tukoy-filters:hover::-webkit-scrollbar-thumb{ background:rgba(43,42,40,.4); }
}

/* --- add to cart is cut out of card, like every other button on the site ---
   It had the pencil border and the hard shadow already, but a 16px radius,
   which made it the one pill shape on a site of square corners.
   -------------------------------------------------------------------------- */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button,
li.product a.add_to_cart_button,
li.product .ct-woo-card-actions a.button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  border-radius:4px!important;
}


/* --- a long group shows eight and offers the rest -------------------------- */
.tkf-more-t{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.tkf-long .tkf-list li:nth-child(n+9){ display:none; }
.tkf-more-t:checked ~ .tkf-list li{ display:list-item; }
.tkf-more{
  display:inline-block; margin-top:10px; cursor:pointer;
  font-size:13px; font-weight:700; color:#3E8C37;
  border-bottom:2px solid rgba(62,140,55,.35);
}
.tkf-more:hover{ border-bottom-color:#3E8C37; }
.tkf-more .tkf-more-b{ display:none; }
.tkf-more-t:checked ~ .tkf-more .tkf-more-a{ display:none; }
.tkf-more-t:checked ~ .tkf-more .tkf-more-b{ display:inline; }
.tkf-more-t:focus-visible ~ .tkf-more{ outline:2px solid #3FA7D6; outline-offset:3px; }
@media (min-width:1080px){
  .tkf-opt{ min-height:36px; padding-top:5px; padding-bottom:5px; }
}


/* Any remaining Woo button - "Update cart" and friends live outside the
   .woocommerce wrapper on some templates. */
a.button, button.button, input.button, input[type="submit"].button,
.woocommerce-page a.button, .woocommerce-page button.button,
.wp-element-button, .wc-block-components-button{
  border-radius:4px!important;
}


/* --- add to cart, quieter --------------------------------------------------
   Thirty-six solid marigold buttons in a grid is a wall of yellow and none
   of them reads as more important than the toy above it. On the cards the
   button waits in a wash of the same yellow and fills in when you reach for
   it. The single product page keeps the solid one - there is only ever one
   of it, and there it should shout.
   -------------------------------------------------------------------------- */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .ct-woo-card-actions a.button,
li.product a.add_to_cart_button,
li.product .ct-woo-card-actions a.button{
  background-color:rgba(255,182,39,.26)!important;
  color:var(--tkp-pencil)!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 var(--tkp-pencil)!important;
  transition:background-color .15s ease, transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible,
li.product a.add_to_cart_button:hover,
li.product a.add_to_cart_button:focus-visible,
li.product .ct-woo-card-actions a.button:hover,
li.product .ct-woo-card-actions a.button:focus-visible{
  background-color:#FFB627!important;
  transform:translate(-2px,-2px)!important;
  box-shadow:6px 6px 0 var(--tkp-pencil)!important;
}
.woocommerce ul.products li.product a.button:active,
li.product a.add_to_cart_button:active{
  transform:translate(3px,3px)!important;
  box-shadow:1px 1px 0 var(--tkp-pencil)!important;
}
/* the one it has already been added to stays filled, so you can see it worked */
li.product a.added_to_cart,
li.product a.button.added{
  background-color:#FFB627!important;
}


/* --- the rail, tightened ---------------------------------------------------
   A sticky rail that needs its own scrollbar is worse than no sticky rail.
   Everything below shaves the rail down until it fits a screen: shorter
   rows, smaller headings, six kinds instead of eight, and the scrollbar
   chrome hidden - it still scrolls on a short laptop, it just does not
   announce itself.
   -------------------------------------------------------------------------- */
@media (min-width:1080px){
  .tukoy-filters{ padding:20px 12px 14px 6px; scrollbar-width:none; }
  .tukoy-filters::-webkit-scrollbar{ width:0; height:0; }
  .tkf-inner{ padding:18px 16px 14px; }
  .tkf-top{ margin:0 0 11px; }
  .tkf-title{ font-size:23px!important; }
  .tkf-clear{ margin:0 0 11px; }
  .tkf-h{ font-size:18px!important; margin:0 0 6px!important; }
  .tkf-opt{ min-height:32px; padding:3px 6px 3px 2px; font-size:14px; gap:9px; }
  .tkf-box{ width:18px; height:18px; }
  .tkf-opt.is-on .tkf-box::after{ left:4.5px; height:10px; }
  .tkf-group{ margin:0 0 14px; padding:0 0 12px; }
  .tkf-more{ margin-top:7px; font-size:12.5px; }
  .tkf-note{ display:none; }
}
.tkf-long .tkf-list li:nth-child(n+7){ display:none; }
.tkf-more-t:checked ~ .tkf-list li{ display:list-item; }


/* --- stick only when the whole rail fits ----------------------------------
   A small script measures the rail against the space under the header and
   adds .tkf-can-stick when there is room for all of it. Otherwise the rail
   behaves like any other column and scrolls away with the page - no cut-off
   price group, no scrollbar inside a sheet of paper.
   -------------------------------------------------------------------------- */
@media (min-width:1080px){
  .post-type-archive-product .woo-listing-top,
  .tax-product_cat .woo-listing-top,
  .tax-product_tag .woo-listing-top{ position:static; }
  html.tkf-can-stick .post-type-archive-product .woo-listing-top,
  html.tkf-can-stick .tax-product_cat .woo-listing-top,
  html.tkf-can-stick .tax-product_tag .woo-listing-top{ position:sticky; }
  .tukoy-filters{ max-height:none; overflow:visible; }
  body.admin-bar .tukoy-filters{ max-height:none; }
}


/* A little more air squeezed out, so the rail still sticks on a laptop with
   a bookmarks bar open. */
@media (min-width:1080px){
  .tkf-inner{ padding:15px 16px 12px; }
  .tkf-top{ margin:0 0 9px; }
  .tkf-title{ font-size:21px!important; }
  .tkf-group{ margin:0 0 10px; padding:0 0 10px; }
  .tkf-more{ margin-top:5px; }
  .tukoy-filters{ padding:20px 12px 12px 6px; }
}


/* ==========================================================================
   THE TOP OF THE PRODUCTS PAGE
   It was a centred H1 and a paragraph floating on bare paper - the plainest
   thing on a site made of taped-down sheets. Now it is a sheet like the
   rest, with the four things worth knowing pinned underneath it.
   ========================================================================== */

.post-type-archive-product .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_tag .hero-section .entry-header{
  position:relative;
  background-color:var(--tkp-sheet);
  background-image:var(--tkp-flecks), var(--tkp-rule);
  background-size:170px 170px, auto;
  border:2.5px solid var(--tkp-pencil);
  border-radius:4px;
  box-shadow:var(--tkp-lift);
  padding:clamp(26px,3vw,40px) clamp(20px,3vw,46px) clamp(30px,3.2vw,42px)!important;
  transform:rotate(-.35deg);
  margin-bottom:clamp(30px,3.4vw,46px);
}
/* two pieces of tape, one at each shoulder */
.post-type-archive-product .hero-section .entry-header::before,
.tax-product_cat .hero-section .entry-header::before{
  content:"";
  position:absolute; z-index:4; width:126px; height:30px;
  top:-15px; left:52px; transform:rotate(-5deg);
  background-color:rgba(255,222,140,.6);
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.4) 0 3px, transparent 3px 7px);
  box-shadow:0 1px 3px rgba(43,42,40,.15);
}
.post-type-archive-product .hero-section .entry-header::after,
.tax-product_cat .hero-section .entry-header::after{
  content:"";
  position:absolute; z-index:4; width:104px; height:28px;
  top:-13px; right:60px; transform:rotate(4deg);
  background-color:rgba(63,167,214,.3);
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.4) 0 3px, transparent 3px 7px);
  box-shadow:0 1px 3px rgba(43,42,40,.14);
}

/* the breadcrumb is a margin note, not a headline */
.post-type-archive-product .hero-section .ct-breadcrumbs,
.tax-product_cat .hero-section .ct-breadcrumbs{
  font-size:13px!important; letter-spacing:.01em; margin-bottom:14px!important;
}

/* an eyebrow in pencil above the title, and a crayon under it */
.post-type-archive-product .hero-section .page-title,
.tax-product_cat .hero-section .page-title{
  position:relative;
  margin:0 0 26px!important;
  padding-bottom:16px;
}
.post-type-archive-product .hero-section .page-title::before,
.tax-product_cat .hero-section .page-title::before{
  content:"everything we stock \2014";
  display:block;
  font-family:var(--tkp-hand);
  font-size:clamp(19px,2vw,23px);
  font-weight:600;
  line-height:1;
  color:#9A8F82;
  letter-spacing:0;
  margin-bottom:6px;
  transform:rotate(-1deg);
}
.post-type-archive-product .hero-section .page-title::after,
.tax-product_cat .hero-section .page-title::after{
  content:"";
  position:absolute; left:50%; bottom:0;
  width:min(280px,62%); height:13px;
  transform:translateX(-50%) rotate(-.6deg);
  background-image:var(--tkp-rainbow);
  background-size:100% 13px; background-repeat:no-repeat;
  opacity:.85;
}
.post-type-archive-product .hero-section .page-description,
.tax-product_cat .hero-section .page-description{
  max-width:62ch; margin-left:auto; margin-right:auto;
}

/* --- the four things worth knowing ---------------------------------------- */
.tukoy-hero-extras{ margin:0 0 clamp(24px,3vw,36px); }
.tkh-facts{
  list-style:none!important; margin:0!important; padding:0!important;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
}
.tkh-facts li::marker{ content:""; }
.tkh-f{
  display:flex; flex-direction:column; gap:2px;
  padding:14px 15px 13px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:4px;
  background-color:#FFFDF8;
  background-image:var(--tkp-flecks);
  background-size:170px 170px;
  box-shadow:4px 4px 0 rgba(43,42,40,.13);
  margin:0!important;
}
.tkh-f:nth-child(1){ transform:rotate(-.9deg); background-color:#FDF1EE; }
.tkh-f:nth-child(2){ transform:rotate(.7deg);  background-color:#EDF6FB; }
.tkh-f:nth-child(3){ transform:rotate(-.5deg); background-color:#F1FAEF; }
.tkh-f:nth-child(4){ transform:rotate(.9deg);  background-color:#F6F1FB; }
.tkh-f b{
  font-family:var(--tkp-hand);
  font-size:clamp(28px,3.2vw,36px); font-weight:700; line-height:1;
  color:var(--tkp-pencil);
}
.tkh-f--red b{ color:#C4533F; }
.tkh-f--sky b{ color:#2E7FA6; }
.tkh-f--leaf b{ color:#3E8C37; }
.tkh-f--plum b{ color:#6E45A0; }
.tkh-f span{ font-size:13.5px; font-weight:600; line-height:1.3; color:#6C6257; }

/* --- straight into an age, where the rail is behind a button -------------- */
.tkh-quick{ display:none; margin-top:20px; }
.tkh-quick-lab{
  font-family:var(--tkp-hand); font-size:19px!important;
  color:#8A8079!important; margin:0 0 9px!important; transform:rotate(-.7deg);
}
.tkh-ages{ display:flex; flex-wrap:wrap; gap:9px; }
.tkh-age{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 13px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:4px;
  background:#FFFDF8;
  box-shadow:3px 3px 0 rgba(43,42,40,.16);
  color:var(--tkp-pencil)!important;
  font-size:14.5px; font-weight:800; text-decoration:none!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease;
}
.tkh-age em{
  font-style:normal; font-size:12px; font-weight:700; color:#8A8079;
  font-variant-numeric:tabular-nums;
}
.tkh-age--1{ background:#FDF1EE; transform:rotate(-1.1deg); }
.tkh-age--2{ background:#EDF6FB; transform:rotate(.8deg); }
.tkh-age--3{ background:#F1FAEF; transform:rotate(-.6deg); }
.tkh-age--4{ background:#FEF6E6; transform:rotate(1deg); }
.tkh-age--5{ background:#F6F1FB; transform:rotate(-.9deg); }
.tkh-age:active{ transform:translate(2px,2px) rotate(0deg); box-shadow:1px 1px 0 rgba(43,42,40,.2); }

@media (max-width:1079.98px){
  .tkh-quick{ display:block; }
  .tkh-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
}
@media (max-width:520px){
  .tkh-f{ padding:12px 13px; }
  .tkh-f span{ font-size:12.5px; }
  .post-type-archive-product .hero-section .entry-header{ transform:none; }
  .post-type-archive-product .hero-section .entry-header::before{ width:92px; height:25px; left:26px; }
  .post-type-archive-product .hero-section .entry-header::after{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .post-type-archive-product .hero-section .entry-header,
  .tkh-f, .tkh-age, .tkh-quick-lab{ transform:none!important; }
}


/* The hero sheet lines up with the rail and the grid below it - a narrow
   sheet floating over a wide page read as an accident. */
.post-type-archive-product .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_tag .hero-section .entry-header{
  max-width:var(--theme-container-width, 1170px)!important;
  margin-left:auto!important; margin-right:auto!important;
  padding:clamp(22px,2.4vw,32px) clamp(20px,3vw,46px) clamp(24px,2.6vw,34px)!important;
}
.post-type-archive-product .hero-section,
.tax-product_cat .hero-section{ padding-top:clamp(22px,2.6vw,36px); }
.post-type-archive-product .hero-section .page-title,
.tax-product_cat .hero-section .page-title{ margin:0 0 22px!important; }
.post-type-archive-product .hero-section .page-title::after,
.tax-product_cat .hero-section .page-title::after{ height:15px; background-size:100% 15px; opacity:1; }


/* ==========================================================================
   THE PRODUCT PAGE
   This is where people spend their time, and it was still built out of the
   old vocabulary: soft rounded panels, hairline rules, drop shadows that
   fade. Everything below rebuilds it out of paper - a taped photograph, a
   buy block cut out of card, folder tabs, and answers folded into notes.
   ========================================================================== */

/* --- the photograph is taped to the page ---------------------------------- */
.single-product .woocommerce-product-gallery{
  position:relative;
  background-color:#FFFDF8;
  background-image:var(--tkp-flecks);
  background-size:170px 170px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:4px;
  box-shadow:6px 6px 0 rgba(43,42,40,.13);
  padding:14px 14px 16px!important;
  transform:rotate(-.5deg);
}
.single-product .woocommerce-product-gallery::before{
  content:"";
  position:absolute; z-index:6; width:120px; height:29px;
  top:-15px; left:38px; transform:rotate(-6deg);
  background-color:rgba(255,222,140,.62);
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.4) 0 3px, transparent 3px 7px);
  box-shadow:0 1px 3px rgba(43,42,40,.15);
}
.single-product .woocommerce-product-gallery .flexy-container,
.single-product .woocommerce-product-gallery .flexy{
  border-radius:2px!important; background:transparent!important;
}
/* the sale sticker is a sticker, not a pill */
.single-product .woocommerce-product-gallery .onsale,
.single-product span.onsale{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:3px!important;
  background:#FF6B57!important; color:#fff!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.2)!important;
  transform:rotate(-4deg);
  font-weight:800!important; letter-spacing:.04em;
  z-index:7!important;
}
/* thumbnails are little cut-out squares */
.single-product .flexy-pills{ gap:10px!important; margin-top:14px!important; }
.single-product .flexy-pills > *{
  border:2px solid var(--tkp-pencil)!important;
  border-radius:3px!important;
  overflow:hidden;
  box-shadow:2px 2px 0 rgba(43,42,40,.14)!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.single-product .flexy-pills > *:nth-child(even){ transform:rotate(1.6deg); }
.single-product .flexy-pills > *:nth-child(odd){ transform:rotate(-1.4deg); }
.single-product .flexy-pills > *:hover{ transform:rotate(0deg) translate(-1px,-1px); box-shadow:4px 4px 0 rgba(43,42,40,.18)!important; }
.single-product .flexy-pills > .active,
.single-product .flexy-pills > [class*="active"]{ box-shadow:3px 3px 0 #FFB627!important; }
.single-product .woocommerce-product-gallery__trigger{
  border:2px solid var(--tkp-pencil)!important;
  border-radius:3px!important;
  background:#FFFDF8!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.16)!important;
}

/* --- no hairlines in the buy column --------------------------------------- */
.single-product .ct-product-divider{ display:none!important; }
.single-product .entry-summary > *:not(:last-child){ border-bottom:0!important; }

/* --- the buy row ----------------------------------------------------------- */
.single-product .ct-cart-actions{ gap:12px!important; align-items:stretch!important; }
.single-product form.cart .quantity,
.single-product .ct-cart-actions .quantity{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FFFDF8!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.14)!important;
  overflow:hidden;
}
.single-product form.cart .quantity input.qty,
.single-product .quantity input.qty{
  border:0!important; border-radius:0!important; background:transparent!important;
  font-weight:800!important; color:var(--tkp-pencil)!important;
  box-shadow:none!important;
}
.single-product .quantity button,
.single-product .quantity .ct-increase,
.single-product .quantity .ct-decrease{
  border:0!important; border-radius:0!important; background:transparent!important;
  color:var(--tkp-pencil)!important; cursor:pointer;
}
.single-product .quantity button:hover{ background:rgba(255,182,39,.28)!important; }

/* the one button on the page that should shout */
.single-product form.cart button.single_add_to_cart_button,
.single-product .single_add_to_cart_button{
  background:#FFB627!important;
  color:var(--tkp-pencil)!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:5px 5px 0 var(--tkp-pencil)!important;
  font-weight:800!important; letter-spacing:.01em;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.single-product form.cart button.single_add_to_cart_button:hover{
  transform:translate(-2px,-2px)!important; box-shadow:7px 7px 0 var(--tkp-pencil)!important;
}
.single-product form.cart button.single_add_to_cart_button:active{
  transform:translate(3px,3px)!important; box-shadow:1px 1px 0 var(--tkp-pencil)!important;
}
/* wishlist sits beside it as a paper square, not a pink bubble */
.single-product .ct-cart-actions .tinv-wishlist a,
.single-product .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist_button{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FDF1EE!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.15)!important;
  color:#C4533F!important;
}

/* --- the two notes under the buy row -------------------------------------- */
.single-product .tukoy-delivery,
.single-product .tukoy-pdp-pay{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
}
.single-product .tukoy-delivery{ background-color:#F1FAEF!important; transform:rotate(-.4deg); }
.single-product .tukoy-pdp-pay{ background-color:#EDF6FB!important; transform:rotate(.35deg); }
.single-product .tukoy-pdp-support{ border-top:0!important; }
.single-product .tukoy-pdp-actions{ border-top:0!important; border-bottom:0!important; }
.single-product .tukoy-pdp-action{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FFFDF8!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.15)!important;
  color:var(--tkp-pencil)!important;
  font-weight:700!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.single-product .tukoy-pdp-action:hover{ transform:translate(-2px,-2px); box-shadow:5px 5px 0 rgba(43,42,40,.2)!important; }
.single-product .tukoy-pdp-action:active{ transform:translate(2px,2px); box-shadow:1px 1px 0 rgba(43,42,40,.2)!important; }
.single-product .tukoy-pdp-meta{ border-top:0!important; border-bottom:0!important; font-size:13.5px; }

/* the age pill matches the cards in the grid */
.single-product .tukoy-pdp-badges .tukoy-age-pill{
  border:2px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#EDF6FB!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.14)!important;
  transform:rotate(-1.4deg);
}

/* --- tabs become folder tabs ---------------------------------------------- */
.single-product .woocommerce-tabs ul.wc-tabs{
  border-bottom:0!important;
  display:flex; flex-wrap:wrap; gap:9px;
  margin:0 0 -2.5px!important; padding:0!important;
  position:relative; z-index:3;
}
.single-product .woocommerce-tabs ul.wc-tabs::before,
.single-product .woocommerce-tabs ul.wc-tabs::after{ display:none!important; }
.single-product .woocommerce-tabs ul.wc-tabs li{
  margin:0!important; padding:0!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-bottom:0!important;
  border-radius:5px 5px 0 0!important;
  background:#F4EEE1!important;
  box-shadow:none!important;
}
.single-product .woocommerce-tabs ul.wc-tabs li::before,
.single-product .woocommerce-tabs ul.wc-tabs li::after{ display:none!important; }
.single-product .woocommerce-tabs ul.wc-tabs li a{
  display:block; padding:11px 20px 12px!important;
  color:#6C6257!important; font-weight:800!important;
  font-size:13.5px!important; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none!important;
}
.single-product .woocommerce-tabs ul.wc-tabs li.active{
  background:var(--tkp-sheet)!important;
  transform:translateY(2px);
}
.single-product .woocommerce-tabs ul.wc-tabs li.active a{ color:var(--tkp-pencil)!important; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  position:relative;
  background-color:var(--tkp-sheet);
  background-image:var(--tkp-flecks);
  background-size:170px 170px;
  border:2.5px solid var(--tkp-pencil);
  border-radius:0 5px 5px 5px;
  box-shadow:var(--tkp-lift);
  padding:clamp(26px,3vw,42px) clamp(20px,2.8vw,40px)!important;
  margin:0!important;
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child{ display:none; }

/* --- the folded-up answers ------------------------------------------------ */
.tukoy-pd details{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
  background-color:#FFFDF8!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
  margin:0 0 14px!important;
  overflow:hidden;
}
.tukoy-pd details:nth-of-type(1){ background-color:#EDF6FB!important; transform:rotate(-.35deg); }
.tukoy-pd details:nth-of-type(2){ background-color:#FDF1EE!important; transform:rotate(.3deg); }
.tukoy-pd details:nth-of-type(3){ background-color:#FEF6E6!important; transform:rotate(-.25deg); }
.tukoy-pd details:nth-of-type(4){ background-color:#F6F1FB!important; transform:rotate(.35deg); }
.tukoy-pd details > summary{
  cursor:pointer; list-style:none;
  font-weight:800!important; color:var(--tkp-pencil)!important;
}
.tukoy-pd details > summary::-webkit-details-marker{ display:none; }
.tukoy-pd details[open] > summary{ box-shadow:0 2.5px 0 rgba(43,42,40,.12); }

/* --- the 2% note ----------------------------------------------------------- */
.tukoy-pd > div:last-child{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background-color:#F1FAEF!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
  box-shadow:4px 4px 0 rgba(83,185,74,.3)!important;
  transform:rotate(-.4deg);
}

/* --- the spec table ------------------------------------------------------- */
.single-product table.shop_attributes{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  overflow:hidden;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
  background:#FFFDF8!important;
}
.single-product table.shop_attributes th,
.single-product table.shop_attributes td{
  border:0!important;
  border-bottom:1.5px solid rgba(43,42,40,.12)!important;
  padding:12px 16px!important;
}
.single-product table.shop_attributes tr:last-child th,
.single-product table.shop_attributes tr:last-child td{ border-bottom:0!important; }
.single-product table.shop_attributes th{ font-weight:800!important; color:var(--tkp-pencil)!important; background:rgba(255,182,39,.1)!important; }

/* --- related products deserve to exist on a phone too -------------------- */
.single-product section.related.products.ct-hidden-sm{ display:block!important; }
.single-product section.related.products > h2{ margin-bottom:22px!important; }

@media (max-width:600px){
  .single-product .woocommerce-product-gallery{ transform:none; padding:10px 10px 12px!important; }
  .single-product .woocommerce-product-gallery::before{ width:92px; height:25px; left:22px; }
  .tukoy-pd details, .tukoy-pd > div:last-child,
  .single-product .tukoy-delivery, .single-product .tukoy-pdp-pay{ transform:none!important; }
}
@media (prefers-reduced-motion:reduce){
  .single-product .woocommerce-product-gallery,
  .single-product .flexy-pills > *,
  .single-product span.onsale,
  .tukoy-pd details, .tukoy-pd > div:last-child,
  .single-product .tukoy-delivery, .single-product .tukoy-pdp-pay,
  .single-product .tukoy-pdp-badges .tukoy-age-pill{ transform:none!important; }
}


/* --- two corrections on the product page ----------------------------------
   The thumbnail border landed on the list, not the thumbnails, and the tab
   panel ran the full width of the window while its tabs sat in the
   container. Both lined up now.
   -------------------------------------------------------------------------- */
.single-product .flexy-pills > *{
  border:0!important; border-radius:0!important; box-shadow:none!important;
  transform:none!important; overflow:visible!important;
}
.single-product .flexy-pills ol,
.single-product .flexy-pills ul{
  display:flex!important; flex-wrap:wrap; gap:10px; list-style:none!important;
  margin:0!important; padding:0!important;
}
.single-product .flexy-pills li{
  margin:0!important; padding:0!important;
  border:2px solid var(--tkp-pencil)!important;
  border-radius:3px!important;
  overflow:hidden!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.14)!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.single-product .flexy-pills li::marker{ content:""; }
.single-product .flexy-pills li:nth-child(even){ transform:rotate(1.6deg); }
.single-product .flexy-pills li:nth-child(odd){ transform:rotate(-1.4deg); }
.single-product .flexy-pills li:hover{ transform:rotate(0deg) translate(-1px,-1px); box-shadow:4px 4px 0 rgba(43,42,40,.18)!important; }
.single-product .flexy-pills li.active{ box-shadow:3px 3px 0 #FFB627!important; }

.single-product .woocommerce-tabs ul.wc-tabs{
  justify-content:flex-start!important;
  max-width:var(--theme-container-width, 1170px)!important;
  margin-left:auto!important; margin-right:auto!important;
  padding-left:0!important;
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  max-width:var(--theme-container-width, 1170px)!important;
  margin-left:auto!important; margin-right:auto!important;
}


/* The tabs and their panel line up with the gallery above and the related
   toys below - Blocksy's constrained width, not the wider container var. */
.single-product .woocommerce-tabs ul.wc-tabs,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  max-width:var(--theme-normal-container-max-width, 1170px)!important;
  margin-left:auto!important; margin-right:auto!important;
}
/* the hero on the product page uses the same width, so the crumbs agree */
.single-product .hero-section .entry-header{ max-width:var(--theme-normal-container-max-width, 1170px)!important; }


/* --- the buy bar on a phone ------------------------------------------------ */
.tukoy-buybar{ display:none; }
@media (max-width:1023.98px){
  .tukoy-buybar{
    display:block;
    position:fixed; left:0; right:0; bottom:0; z-index:9000;
    background-color:var(--tkp-sheet);
    background-image:var(--tkp-flecks);
    background-size:170px 170px;
    border-top:2.5px solid var(--tkp-pencil);
    box-shadow:0 -10px 26px -18px rgba(43,42,40,.6);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    transform:translateY(105%);
    transition:transform .25s cubic-bezier(.2,.8,.3,1);
    pointer-events:none;
  }
  .tukoy-buybar[aria-hidden="false"]{ transform:none; pointer-events:auto; }
  .tkb-in{ display:flex; align-items:center; gap:12px; }
  .tkb-info{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; }
  .tkb-name{
    font-size:13px; font-weight:700; color:#6C6257;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .tkb-price{ font-size:17px; font-weight:800; color:var(--tkp-pencil); line-height:1.2; }
  .tkb-price del{ font-size:13px; opacity:.55; font-weight:600; }
  .tkb-price ins{ text-decoration:none; }
  .tkb-go{
    flex:0 0 auto;
    padding:0 22px; height:48px;
    background:#FFB627;
    color:var(--tkp-pencil);
    border:2.5px solid var(--tkp-pencil);
    border-radius:4px;
    box-shadow:4px 4px 0 var(--tkp-pencil);
    font-size:15.5px; font-weight:800;
    cursor:pointer;
    transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease;
  }
  .tkb-go:active{ transform:translate(3px,3px); box-shadow:1px 1px 0 var(--tkp-pencil); }
  /* room so the bar never covers the last thing on the page */
  .single-product .site-main{ padding-bottom:78px; }
}
@media (prefers-reduced-motion:reduce){
  .tukoy-buybar{ transition:none!important; }
}


/* --- three corrections on the product page --------------------------------
   1. The photograph was carrying a third of the width while the words had
      two thirds and half of it empty. The picture is the reason people are
      on this page, so it gets closer to half.
   2. The SALE sticker sat on top of the photograph and covered the brand
      mark. It is stuck to the corner of the frame now, outside the picture,
      where it hides nothing.
   3. The quantity stepper had two tiny signs floating in a wide empty box.
      Now it is three proper segments with the number in the middle.
   -------------------------------------------------------------------------- */
@media (min-width:1000px){
  .single-product .product-entry-wrapper{
    align-items:flex-start!important;
    gap:clamp(30px,3.2vw,54px)!important;
  }
  .single-product .product-entry-wrapper > .woocommerce-product-gallery{
    flex:0 0 47%!important; max-width:47%!important; width:47%!important;
  }
  .single-product .product-entry-wrapper > .summary,
  .single-product .product-entry-wrapper > .entry-summary{
    flex:1 1 auto!important; max-width:none!important; width:auto!important;
  }
}

.single-product .woocommerce-product-gallery span.onsale,
.single-product .woocommerce-product-gallery .onsale{
  top:-14px!important;
  left:auto!important;
  right:-12px!important;
  bottom:auto!important;
  transform:rotate(4deg);
}

.single-product form.cart .quantity{
  position:relative!important;
  width:146px!important; height:56px!important;
  padding:0!important;
}
.single-product form.cart .quantity .ct-decrease,
.single-product form.cart .quantity .ct-increase{
  position:absolute!important;
  top:0!important; bottom:0!important;
  width:45px!important; height:auto!important;
  margin:0!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  font-size:21px!important; font-weight:700!important;
  color:var(--tkp-pencil)!important;
  background:transparent!important;
  cursor:pointer; z-index:2;
  transition:background-color .12s ease;
}
.single-product form.cart .quantity .ct-decrease{ left:0!important; right:auto!important; border-right:2px solid rgba(43,42,40,.16)!important; }
.single-product form.cart .quantity .ct-increase{ right:0!important; left:auto!important; border-left:2px solid rgba(43,42,40,.16)!important; }
.single-product form.cart .quantity .ct-decrease:hover,
.single-product form.cart .quantity .ct-increase:hover{ background:rgba(255,182,39,.32)!important; }
.single-product form.cart .quantity input.qty{
  width:100%!important; height:100%!important;
  min-width:0!important;
  padding:0 45px!important; margin:0!important;
  font-size:17px!important; font-weight:800!important;
  text-align:center!important;
  color:var(--tkp-pencil)!important;
  -moz-appearance:textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none!important; margin:0!important; }


/* The hero sheet is sized to its words, not to the grid - a full-width band
   with a centred paragraph in it was mostly empty paper. */
.post-type-archive-product .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_tag .hero-section .entry-header{
  max-width:860px!important;
}


/* The theme rounds the two stepper halves, so my dividers curved with them
   and the hover wash came out as a circle. Square them off. */
.single-product form.cart .quantity .ct-decrease,
.single-product form.cart .quantity .ct-increase,
.woocommerce .quantity .ct-decrease,
.woocommerce .quantity .ct-increase{
  border-radius:0!important;
  overflow:hidden;
}
.single-product form.cart .quantity .ct-decrease::before,
.single-product form.cart .quantity .ct-increase::before,
.single-product form.cart .quantity .ct-decrease::after,
.single-product form.cart .quantity .ct-increase::after{
  border-radius:0!important;
}


/* On products with a lot of thumbnails the frame grew down until it touched
   the tabs. Give the blocks room to be separate objects. */
.single-product .woocommerce-tabs{ margin-top:clamp(44px,5vw,78px)!important; }
.single-product section.related.products{ margin-top:clamp(44px,5vw,78px)!important; }
.single-product .product-entry-wrapper{ margin-bottom:0!important; }


/* Content width exactly - the same 1170 the rail and the grid use, not the
   wider 90vw container var and not the narrow 860 I tried in between. */
.post-type-archive-product .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_tag .hero-section .entry-header{
  max-width:var(--theme-normal-container-max-width, 1170px)!important;
}


/* --- the age shortcuts, on every screen ------------------------------------
   Four stat tiles under the hero were a generic pattern doing no work. The
   five age chips do work: they are the fastest way into the catalogue, and
   they carry the five crayons across the top of the page.
   -------------------------------------------------------------------------- */
.tkh-facts{ display:none!important; }
.tkh-quick{ display:block!important; margin-top:0!important; }
.tkh-quick-lab{
  font-family:var(--tkp-hand);
  font-size:clamp(20px,2.2vw,25px)!important;
  color:#6C6257!important;
  margin:0 0 12px!important;
  transform:rotate(-.8deg);
}
.tkh-ages{ gap:11px; }
.tkh-age{
  padding:11px 17px;
  font-size:16px;
  box-shadow:4px 4px 0 rgba(43,42,40,.16);
}
.tkh-age em{ font-size:12.5px; }
.tkh-age:hover{ transform:translate(-2px,-2px) rotate(0deg); box-shadow:6px 6px 0 rgba(43,42,40,.2); }
@media (max-width:520px){
  .tkh-age{ padding:10px 14px; font-size:15px; }
}


/* --- you were right the first time ----------------------------------------
   Blocksy lays the shop container out as a grid with an empty sidebar column
   and a 4% gap. The sidebar has nothing in it, but the gap still pushes the
   listing 46px to the right of the container and makes it 47px narrower - so
   the hero sat on the container edge and everything under it did not. The
   empty column goes; the listing fills the width.
   -------------------------------------------------------------------------- */
.post-type-archive-product .site-main > .ct-container,
.tax-product_cat .site-main > .ct-container,
.tax-product_tag .site-main > .ct-container{
  grid-template-columns:minmax(0,1fr)!important;
  column-gap:0!important;
}
.post-type-archive-product .site-main > .ct-container > section,
.tax-product_cat .site-main > .ct-container > section,
.tax-product_tag .site-main > .ct-container > section{
  grid-column:1!important;
}


/* The chips sit close under the sheet, not marooned between it and the grid. */
.post-type-archive-product .hero-section .entry-header{ margin-bottom:clamp(22px,2.4vw,32px)!important; }
.tukoy-hero-extras{ margin:0 0 clamp(20px,2.4vw,30px)!important; }


/* --- the stepper, plainer -------------------------------------------------
   The two dividers were fussy, and the theme's focus ring was a rounded
   coral rectangle sitting inside a square box. One box, three touch areas,
   a square marigold wash when you reach for one.
   -------------------------------------------------------------------------- */
.single-product form.cart .quantity .ct-decrease,
.single-product form.cart .quantity .ct-increase{
  border:0!important;
  border-radius:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.single-product form.cart .quantity .ct-decrease:hover,
.single-product form.cart .quantity .ct-increase:hover,
.single-product form.cart .quantity .ct-decrease:focus-visible,
.single-product form.cart .quantity .ct-increase:focus-visible{
  background:rgba(255,182,39,.34)!important;
  border-radius:0!important;
}
.single-product form.cart .quantity input.qty,
.single-product form.cart .quantity input.qty:hover,
.single-product form.cart .quantity input.qty:focus,
.single-product form.cart .quantity input.qty:focus-visible,
.single-product form.cart .quantity input.qty:active{
  outline:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.single-product form.cart .quantity:focus-within{
  box-shadow:3px 3px 0 rgba(63,167,214,.5)!important;
}


/* --- the age chips only where the rail is not ------------------------------
   On a desktop the rail is right there with the same five ages in it, so the
   chips were saying the same thing twice. Below 1080 the rail is behind a
   button, and then they are the fastest way in - so that is the only place
   they appear.
   -------------------------------------------------------------------------- */
.tukoy-hero-extras{ display:none!important; }
@media (max-width:1079.98px){
  .tukoy-hero-extras{ display:block!important; margin:0 0 clamp(20px,3vw,28px)!important; }
}


/* ==========================================================================
   THE TOP OF THE BLOG
   The heading sat alone over half a screen of nothing. An eyebrow in pencil,
   a crayon under the title, and a line that says what the writing is for.
   ========================================================================== */
.blog .hero-section .page-title{
  position:relative;
  margin:0 0 20px!important;
  padding-bottom:16px;
}
.blog .hero-section .page-title::before{
  content:"notes from the shop \2014";
  display:block;
  font-family:var(--tkp-hand);
  font-size:clamp(19px,2vw,23px);
  font-weight:600; line-height:1; letter-spacing:0;
  color:#9A8F82;
  margin-bottom:6px;
  transform:rotate(-1deg);
}
.blog .hero-section .page-title::after{
  content:"";
  position:absolute; left:50%; bottom:0;
  width:min(250px,58%); height:15px;
  transform:translateX(-50%) rotate(-.6deg);
  background-image:var(--tkp-rainbow);
  background-size:100% 15px; background-repeat:no-repeat;
}
.blog .hero-section{ padding-bottom:0!important; }
.blog .hero-section .ct-breadcrumbs{ font-size:13px!important; margin-bottom:14px!important; }

.tukoy-blog-intro{
  grid-column:1/-1;
  max-width:64ch;
  margin:0 auto clamp(26px,3.4vw,42px)!important;
  text-align:center;
  font-size:clamp(16px,1.6vw,17.5px)!important;
  line-height:1.65;
  color:#5D5449!important;
}


/* The intro is a full row of the entries grid, not a card-sized column, and
   it sits close under the title rather than a screen below it. */
.blog .entries > .tukoy-blog-intro{
  grid-column:1/-1!important;
  margin:0 auto clamp(10px,1.6vw,20px)!important;
}
.blog .site-main > .ct-container{ padding-top:0!important; }
.blog .hero-section{ padding-bottom:clamp(18px,2vw,26px)!important; }


/* tighten the blog hero to its words */
.blog .hero-section{ padding-bottom:6px!important; }
.blog .entries > .tukoy-blog-intro{ margin-top:0!important; }

/* ==========================================================================
   CART, CHECKOUT, WISHLIST, ACCOUNT
   The four pages between wanting a toy and owning one were still built out
   of the old vocabulary: 20px radii, blurred shadows and hairline rules.
   Everything below rebuilds them as paper - the same sheets, the same
   pencil edge, the same cut-out buttons as the rest of the shop.
   ========================================================================== */

/* --- the sheets ------------------------------------------------------------ */
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals > *,
.woocommerce-checkout #customer_details > div > div,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-order-received .woocommerce-order,
.tinv-wishlist .tinv-wishlist-content,
.tinv-wishlist table.tinvwl-table-manage-list{
  position:relative;
  background-color:var(--tkp-sheet)!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:5px!important;
  box-shadow:var(--tkp-lift)!important;
  padding:clamp(20px,2.6vw,30px)!important;
}

/* --- rules inside a sheet are pencil, not hairline ------------------------ */
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-account table th,
.woocommerce-account table td,
.tinv-wishlist table td, .tinv-wishlist table th{
  border-top:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:2px solid rgba(43,42,40,.12)!important;
}
.woocommerce table.shop_table tr:last-child th,
.woocommerce table.shop_table tr:last-child td{ border-bottom:0!important; }
.woocommerce table.shop_table{ border:0!important; border-radius:0!important; }
.woocommerce table.shop_table thead th{
  font-size:11.5px!important; font-weight:800!important;
  letter-spacing:.1em; text-transform:uppercase;
  color:#8A8079!important;
}

/* --- every field is a box you write in ------------------------------------ */
.woocommerce input[type="text"], .woocommerce input[type="email"],
.woocommerce input[type="tel"], .woocommerce input[type="password"],
.woocommerce input[type="number"], .woocommerce input[type="search"],
.woocommerce textarea, .woocommerce select,
.woocommerce-page input[type="text"], .woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"], .woocommerce-page input[type="password"],
.woocommerce-page textarea, .woocommerce-page select,
.select2-container--default .select2-selection--single{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background-color:#FFFDF8!important;
  box-shadow:none!important;
  color:var(--tkp-pencil)!important;
}
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus,
.woocommerce-page input:focus, .woocommerce-page textarea:focus, .woocommerce-page select:focus{
  outline:none!important;
  box-shadow:3px 3px 0 rgba(63,167,214,.45)!important;
  border-color:var(--tkp-pencil)!important;
}

/* --- buttons are cut out of card ------------------------------------------ */
.woocommerce-page .button, .woocommerce .button,
.woocommerce-page button[type="submit"], .woocommerce button[type="submit"],
.woocommerce-page input[type="submit"], .woocommerce input[type="submit"],
.wc-block-components-button{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 var(--tkp-pencil)!important;
  font-weight:800!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.woocommerce-page .button:hover, .woocommerce .button:hover,
.woocommerce-page button[type="submit"]:hover, .woocommerce button[type="submit"]:hover{
  transform:translate(-2px,-2px)!important; box-shadow:6px 6px 0 var(--tkp-pencil)!important;
}
.woocommerce-page .button:active, .woocommerce .button:active,
.woocommerce-page button[type="submit"]:active, .woocommerce button[type="submit"]:active{
  transform:translate(3px,3px)!important; box-shadow:1px 1px 0 var(--tkp-pencil)!important;
}
/* the one that takes the money is marigold; the rest are paper */
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order{
  background:#FFB627!important; color:var(--tkp-pencil)!important;
  box-shadow:5px 5px 0 var(--tkp-pencil)!important;
}
.woocommerce-cart table.cart td.actions .button,
.woocommerce .cart-collaterals .button:not(.checkout-button),
.woocommerce-account .woocommerce-MyAccount-content .button{
  background:#FFFDF8!important; color:var(--tkp-pencil)!important;
}

/* --- the remove control is a paper square, not a pink bubble -------------- */
.woocommerce a.remove, .woocommerce-cart a.remove,
.tinv-wishlist .tinvwl-remove{
  width:38px!important; height:38px!important;
  border:2px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FDF1EE!important;
  color:#C4533F!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.14)!important;
  display:inline-flex!important; align-items:center; justify-content:center;
  line-height:1!important;
}
.woocommerce a.remove:hover{ background:#FF6B57!important; color:#fff!important; }

/* --- odds and ends -------------------------------------------------------- */
.tukoy-co-trust{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
  background-color:#EDF6FB!important;
}
.woocommerce .tukoy-age-pill{ border-radius:4px!important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  border-top-width:2.5px!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
  background-color:#FEF6E6!important;
}
.woocommerce .quantity input.qty{ border-radius:4px!important; }


/* --- checkout, corrected --------------------------------------------------
   The fields were still 16px pills with a hairline border, and the order
   panel was a rounded box inside another rounded box.
   -------------------------------------------------------------------------- */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .ct-order-review{
  background-color:var(--tkp-sheet)!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:5px!important;
  box-shadow:var(--tkp-lift)!important;
  padding:clamp(20px,2.6vw,30px)!important;
}
.woocommerce-checkout .ct-order-review #order_review,
.woocommerce-checkout #order_review{
  border:0!important; border-radius:0!important;
  background:transparent!important; background-image:none!important;
  box-shadow:none!important; padding:0!important;
}
.woocommerce-checkout .ct-order-review .woocommerce-checkout-review-order-table{
  border:0!important; background:transparent!important; box-shadow:none!important;
}

html body.woocommerce-page .woocommerce input.input-text,
html body.woocommerce-page .woocommerce input[type="text"],
html body.woocommerce-page .woocommerce input[type="email"],
html body.woocommerce-page .woocommerce input[type="tel"],
html body.woocommerce-page .woocommerce input[type="password"],
html body.woocommerce-page .woocommerce input[type="number"],
html body.woocommerce-page .woocommerce textarea,
html body.woocommerce-page .woocommerce select,
html body.woocommerce-page .woocommerce .form-row input,
html body.woocommerce-page .woocommerce .form-row select,
html body.woocommerce-page .select2-container--default .select2-selection--single,
html body .woocommerce form .form-row input.input-text,
html body .woocommerce form .form-row textarea,
html body .woocommerce form .form-row select{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background-color:#FFFDF8!important;
  box-shadow:none!important;
  color:var(--tkp-pencil)!important;
  min-height:52px;
}
html body .woocommerce form .form-row textarea{ min-height:120px; }
html body.woocommerce-page .woocommerce input:focus,
html body.woocommerce-page .woocommerce textarea:focus,
html body.woocommerce-page .woocommerce select:focus,
html body .woocommerce form .form-row input.input-text:focus,
html body .woocommerce form .form-row textarea:focus{
  outline:none!important;
  box-shadow:3px 3px 0 rgba(63,167,214,.45)!important;
}
html body .select2-container--default .select2-selection--single .select2-selection__arrow{ top:12px!important; }
html body .select2-dropdown{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FFFDF8!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.14)!important;
}

/* the labels read as pencil notes above each box */
html body .woocommerce form .form-row label{
  font-weight:700!important;
  color:var(--tkp-pencil)!important;
  margin-bottom:7px!important;
}


/* One sheet per column, not a sheet inside a sheet. */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields,
.woocommerce-checkout #customer_details .col-1 > div,
.woocommerce-checkout #customer_details .col-2 > div{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  padding:0!important;
}


/* --- the wishlist ---------------------------------------------------------
   Each saved toy is a slip of paper in the folder, not a floating white
   pill, and the button that moves it into the cart matches every other
   button in the shop.
   -------------------------------------------------------------------------- */
.tinv-wishlist table.tinvwl-table-manage-list{ padding:clamp(14px,1.8vw,20px)!important; }
.tinv-wishlist table.tinvwl-table-manage-list tbody tr.wishlist_item{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FFFDF8!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.12)!important;
}
.tinv-wishlist table.tinvwl-table-manage-list tbody tr.wishlist_item td{
  border-bottom:0!important;
  border-top:0!important;
}
.tinv-wishlist .product-thumbnail img,
.tinv-wishlist img.attachment-woocommerce_thumbnail{
  border:2px solid var(--tkp-pencil)!important;
  border-radius:3px!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.13)!important;
}
.tinv-wishlist .product-remove button,
.tinv-wishlist .product-remove a{
  width:34px!important; height:34px!important;
  border:2px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background:#FDF1EE!important;
  color:#C4533F!important;
  box-shadow:2px 2px 0 rgba(43,42,40,.13)!important;
  display:inline-flex!important; align-items:center; justify-content:center;
}
.tinv-wishlist .product-remove button:hover{ background:#FF6B57!important; color:#fff!important; }
html body .tinv-wishlist .product-action .button,
html body .tinv-wishlist button.button.alt,
html body .tinv-wishlist a.button{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 var(--tkp-pencil)!important;
  background:#FFB627!important;
  color:var(--tkp-pencil)!important;
  font-weight:800!important;
}
html body .tinv-wishlist button.button.alt:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--tkp-pencil)!important; }
html body .tinv-wishlist button.button.alt:active{ transform:translate(3px,3px); box-shadow:1px 1px 0 var(--tkp-pencil)!important; }
.tinv-wishlist table.tinvwl-table-manage-list thead th{
  font-size:11.5px!important; font-weight:800!important;
  letter-spacing:.1em; text-transform:uppercase; color:#8A8079!important;
  border-bottom:0!important;
}


/* --- the account ----------------------------------------------------------
   The four quick actions become paper cards, the active nav item is a
   marigold tab rather than a black pill, and the button matches the shop.
   -------------------------------------------------------------------------- */
.tukoy-acct-card{
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  background-color:#FFFDF8!important;
  background-image:var(--tkp-flecks)!important;
  background-size:170px 170px!important;
  box-shadow:4px 4px 0 rgba(43,42,40,.13)!important;
  transition:transform .13s cubic-bezier(.2,.8,.3,1.2), box-shadow .13s ease!important;
}
.tukoy-acct-card:nth-child(1){ background-color:#FDF1EE!important; transform:rotate(-.5deg); }
.tukoy-acct-card:nth-child(2){ background-color:#EDF6FB!important; transform:rotate(.4deg); }
.tukoy-acct-card:nth-child(3){ background-color:#F1FAEF!important; transform:rotate(-.35deg); }
.tukoy-acct-card:nth-child(4){ background-color:#F6F1FB!important; transform:rotate(.45deg); }
.tukoy-acct-card:hover{ transform:translate(-2px,-2px) rotate(0deg)!important; box-shadow:6px 6px 0 rgba(43,42,40,.17)!important; }
html body .tukoy-acct-cta .button{
  background:#FFB627!important; color:var(--tkp-pencil)!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 var(--tkp-pencil)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none!important; margin:0!important; padding:0!important; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border:0!important; margin:0 0 6px!important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:flex; align-items:center; gap:10px;
  padding:11px 13px!important;
  border:2px solid transparent!important;
  border-radius:4px!important;
  font-weight:700!important;
  color:var(--tkp-pencil)!important;
  text-decoration:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:rgba(43,42,40,.05)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a{
  background:#FFB627!important;
  color:var(--tkp-pencil)!important;
  border:2px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:3px 3px 0 rgba(43,42,40,.16)!important;
  transform:rotate(-1deg);
}

/* --- one heading treatment for the shop's working pages ------------------- */
.woocommerce-cart .hero-section .page-title,
.woocommerce-checkout .hero-section .page-title,
.woocommerce-account .hero-section .page-title,
.page .hero-section .page-title{ position:relative; }

@media (prefers-reduced-motion:reduce){
  .tukoy-acct-card, .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ transform:none!important; }
}


/* Some theme rules for buttons carry four classes and !important, so the
   square corner is asserted with more weight than they have. */
html body a.button.button.button.button,
html body button.button.button.button.button,
html body input.button.button.button.button,
html body .woocommerce a.button.button.button,
html body .woocommerce button.button.button.button,
html body .tukoy-acct-cta a.button.button.button{
  border-radius:4px!important;
}


/* --- signing in ------------------------------------------------------------
   Two fields do not need the width of the page. The form is a sheet the size
   of what it holds, and the button that signs you in is the marigold one.
   -------------------------------------------------------------------------- */
.woocommerce-account .ct-woo-unauthorized{ max-width:520px; margin-left:auto; margin-right:auto; }
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register{
  max-width:520px; margin-left:auto!important; margin-right:auto!important;
}
.woocommerce-account .ct-woo-unauthorized > h2{
  font-family:var(--tkp-hand);
  font-size:clamp(26px,3vw,32px)!important;
  margin:0 0 14px!important;
  text-align:center;
}
html body .woocommerce-account button.woocommerce-form-login__submit,
html body .woocommerce-account button.woocommerce-form-register__submit{
  width:100%;
  background:#FFB627!important;
  color:var(--tkp-pencil)!important;
  border:2.5px solid var(--tkp-pencil)!important;
  border-radius:4px!important;
  box-shadow:4px 4px 0 var(--tkp-pencil)!important;
  min-height:52px;
  font-weight:800!important;
}
.woocommerce-account .woocommerce-LostPassword{ text-align:center; margin-top:14px!important; }
.woocommerce-account .woocommerce-form__label-for-checkbox{ display:flex; align-items:center; gap:9px; }



/* ==========================================================================
   EVERYTHING ON TUKOY
   The index page. It exists for Google, but a person landing on it should
   still be able to read it, so it is set like a contents page rather than a
   dump of links.
   ========================================================================== */
.tukoy-idx{ margin-top:8px; }
.tkx-block{ margin:0 0 clamp(28px,3.4vw,42px); }
.tkx-block h2{
  font-size:clamp(20px,2.2vw,25px)!important;
  margin:0 0 14px!important;
  position:relative; padding-bottom:11px;
}
.tkx-block h2 em{
  font-style:normal; font-family:var(--tkp-hand);
  font-size:.8em; color:#9A8F82; margin-left:7px;
}
.tkx-block h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:min(190px,44%); height:9px;
  background-image:var(--tkp-scribble);
  background-size:100% 9px; background-repeat:no-repeat;
  opacity:.42;
}
.tkx-block:nth-of-type(1) h2::after{ background-image:var(--tkp-rainbow); background-size:100% 12px; height:12px; opacity:.9; }
.tkx-links{
  list-style:none!important; margin:0!important; padding:0!important;
  display:grid; gap:5px 22px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.tkx-links--wide{ grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); }
.tkx-links li{ margin:0!important; padding:0!important; }
.tkx-links li::marker{ content:""; }
.tkx-links a{
  display:inline-block; padding:5px 0;
  color:var(--tkp-pencil)!important;
  text-decoration:none!important;
  border-bottom:2px solid transparent;
  font-size:15.5px; line-height:1.35;
}
.tkx-links a:hover{ border-bottom-color:#FF6B57; }
.tkx-links em{
  font-style:normal; font-size:12px; font-weight:700; color:#9A8F82;
  font-variant-numeric:tabular-nums;
}


/* ==================================================================
   GUIDES AND TOYS, LINKED
   Search Console had our guides at "Discovered - currently not
   indexed", referring page: none. These blocks are the fix: guides at
   the foot of the shop, the category pages and the product pages;
   toys at the foot of every guide. They have to earn their place for
   readers too, so they are built like the rest of the site - paper, a
   pencil line, a small tilt that straightens when you point at it.
   ================================================================== */

.tk-link-block{
  --tk-coral:#FF6B57; --tk-sky:#3FA7D6; --tk-grass:#53B94A;
  --tk-marigold:#FFB627; --tk-berry:#8E5AC8;
  --tk-pencil:#2B2A28; --tk-ink:#57534B; --tk-mute:#6F6960;
  --tk-paper:#FFF9F0; --tk-line:#EFE6D6;
  /* Same measure as .ct-container so the block lines up with the page,
     but never wider than the column it happens to sit in - on a guide
     that column is the article, not the window. */
  width:min(var(--theme-normal-container-max-width,1170px), 90vw);
  max-width:100%;
  margin:clamp(38px,4.4vw,60px) auto 0;
  padding:0;
  clear:both;
}
.tk-link-block *{box-sizing:border-box;}

.tk-link-head{margin:0 0 20px;}
.tk-link-head h2{
  font-size:clamp(21px,2.1vw,26px)!important;
  line-height:1.25!important;
  margin:0 0 6px!important;
  color:var(--tk-pencil)!important;
  font-weight:800!important;
  display:inline-block;
  position:relative;
}
.tk-link-head h2::after{
  content:"";
  position:absolute; left:0; right:-4px; bottom:-5px; height:5px;
  background:var(--tk-marigold);
  border-radius:4px 6px 5px 7px;
  opacity:.85;
}
.tk-link-head p{
  margin:12px 0 0!important;
  color:var(--tk-mute)!important;
  font-size:15.5px!important;
  line-height:1.5!important;
  max-width:62ch;
}

/* ---------- guide cards ---------- */
.tk-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.tk-guide-card{
  display:flex; flex-direction:column; gap:9px;
  background:#fff;
  border:2px solid var(--tk-pencil);
  border-radius:5px 8px 6px 9px;
  padding:18px 18px 16px;
  box-shadow:4px 4px 0 var(--tk-pencil);
  text-decoration:none!important;
  transition:transform .18s ease, box-shadow .18s ease;
  transform:rotate(-.45deg);
}
.tk-guide-card:nth-child(2){transform:rotate(.4deg);}
.tk-guide-card:nth-child(3){transform:rotate(-.25deg);}
.tk-guide-card:hover,.tk-guide-card:focus-visible{
  transform:rotate(0deg) translate(-2px,-2px);
  box-shadow:6px 6px 0 var(--tk-pencil);
}
.tk-guide-card::after{content:none!important;}
.tk-guide-kicker{
  align-self:flex-start;
  font-size:11.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:var(--tk-pencil);
  background:var(--tk-marigold);
  border:1.5px solid var(--tk-pencil);
  border-radius:3px 5px 4px 6px;
  padding:2px 8px 3px;
}
.tk-t-b .tk-guide-kicker{background:var(--tk-sky);}
.tk-t-c .tk-guide-kicker{background:var(--tk-grass);}
.tk-t-d .tk-guide-kicker{background:var(--tk-coral);}
.tk-t-e .tk-guide-kicker{background:var(--tk-berry); color:#fff;}
.tk-guide-title{
  font-size:17px; font-weight:800; line-height:1.3;
  color:var(--tk-pencil);
}
.tk-guide-ex{font-size:14.5px; line-height:1.55; color:var(--tk-mute);}
.tk-guide-go{
  margin-top:auto; padding-top:4px;
  font-size:14.5px; font-weight:800; color:#CC4426;
}
.tk-guide-card:hover .tk-guide-go{text-decoration:underline; text-underline-offset:3px;}

/* ---------- toy cards ---------- */
.tk-toy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.tk-toy-card{
  display:flex; flex-direction:column; gap:8px;
  background:#fff;
  border:2px solid var(--tk-pencil);
  border-radius:5px 8px 6px 9px;
  padding:12px 12px 14px;
  box-shadow:4px 4px 0 var(--tk-pencil);
  text-decoration:none!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.tk-toy-card:hover,.tk-toy-card:focus-visible{
  transform:translate(-2px,-2px);
  box-shadow:6px 6px 0 var(--tk-pencil);
}
.tk-toy-card::after{content:none!important;}
.tk-toy-shot{
  display:block; background:var(--tk-paper);
  border:1.5px solid var(--tk-line);
  border-radius:4px 6px 5px 7px;
  overflow:hidden; aspect-ratio:1/1;
}
.tk-toy-shot img{width:100%; height:100%; object-fit:cover; display:block;}
.tk-toy-name{
  font-size:14.5px; font-weight:700; line-height:1.35; color:var(--tk-pencil);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.tk-toy-price{font-size:14.5px; font-weight:800; color:var(--tk-ink);}
.tk-toy-price del{opacity:.5; font-weight:600; margin-right:5px;}
.tk-toy-price ins{text-decoration:none;}

.tk-link-more{
  display:inline-block; margin-top:18px;
  font-size:15px; font-weight:800; color:#CC4426; text-decoration:none;
  border-bottom:2.5px solid var(--tk-marigold);
  padding-bottom:1px;
}
.tk-link-more:hover{border-bottom-color:#CC4426;}
.tk-link-more::after{content:none!important;}

/* Two blocks in a row shouldn't double their gap. */
.tk-link-block + .tk-link-block{margin-top:clamp(30px,3.4vw,44px);}

@media (max-width:900px){
  .tk-guide-grid{grid-template-columns:1fr; gap:14px;}
  .tk-guide-card{transform:none!important;}
  .tk-toy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (prefers-reduced-motion:reduce){
  .tk-guide-card,.tk-toy-card{transition:none;}
}


/* ==================================================================
   THE SHORT ANSWER
   Sits above every guide. A reader in a hurry should be able to stop
   here; an assistant looking for something to quote should find it in
   the first hundred words rather than the fourth hundred. Deliberately
   quiet - a torn-paper note, not a call-out box shouting for attention.
   ================================================================== */
.tk-answer{
  --tka-pencil:#2B2A28; --tka-ink:#57534B; --tka-marigold:#FFB627;
  background:#FFFDF8;
  border:2px solid var(--tka-pencil);
  border-left-width:7px;
  border-radius:4px 9px 5px 8px;
  padding:18px 22px 20px;
  margin:0 0 clamp(26px,3vw,36px);
  box-shadow:4px 4px 0 rgba(43,42,40,.14);
}
.tk-answer-h{
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase;
  color:var(--tka-ink)!important;
  margin:0 0 9px!important;
  padding:0!important;
  line-height:1.2!important;
}
.tk-answer-h::after{content:none!important;}
.tk-answer p{
  margin:0!important;
  font-size:17.5px!important;
  line-height:1.62!important;
  color:var(--tka-pencil)!important;
  font-weight:500!important;
}
.tk-answer::before{
  content:"";
  display:block;
  width:44px; height:5px;
  background:var(--tka-marigold);
  border-radius:4px 6px 5px 7px;
  margin:0 0 12px;
}
@media (max-width:600px){
  .tk-answer{padding:15px 16px 17px;}
  .tk-answer p{font-size:16.5px!important;}
}


/* ==================================================================
   THE ROW UNDER THE CART
   Three controls that had nothing to do with each other: a grey text
   link, an underlined "Have a discount code?" that was the loudest
   thing in the row, and an Update cart button in a pale ghost style
   that read as broken rather than disabled.

   Ordered by what a person actually wants. Continue shopping sits left
   as a way back. Update cart is a real button on the right, in the same
   cut-paper style as everything else - and when it is disabled (which
   is most of the time, because it only wakes up when you change a
   quantity) it dims honestly instead of pretending to be a live button
   nobody can press. The discount link gets quietest billing: someone
   who has a code will look for it, and someone who does not should not
   be sent off to hunt for one.
   ================================================================== */

/* Do not turn the cell into a flex container. A td that stops being a
   table cell shrinks to its own content and ignores its colspan, which
   is how this row ended up as a 114px column with "Continue" wrapping
   over two lines. Floats leave the table alone and do the same job. */
html body.woocommerce-cart td.actions{
  display:table-cell!important;
  width:auto!important;
  text-align:right!important;
  padding:20px 22px!important;
  overflow:hidden;
}
html body.woocommerce-cart td.actions .tukoy-cart-continue{
  float:left!important;
  margin:0!important;
  padding-top:13px;
}
html body.woocommerce-cart td.actions .tukoy-coupon-toggle{
  display:inline-block!important;
  vertical-align:middle!important;
  margin-right:20px!important;
}
html body.woocommerce-cart td.actions button.button,
html body.woocommerce-cart td.actions input.button{
  vertical-align:middle!important;
}
html body.woocommerce-cart td.actions .coupon{
  clear:both;
  padding-top:16px;
}

/* ---------- back to the shop ---------- */
html body .tukoy-cart-continue{font-size:15.5px!important;}
html body .tukoy-cart-continue a{
  color:#2B2A28!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:2.5px solid #FFB627!important;
  padding-bottom:1px;
  transition:color .15s ease, border-color .15s ease;
}
html body .tukoy-cart-continue a:hover{
  color:#CC4426!important; border-bottom-color:#CC4426!important;
}
html body .tukoy-cart-continue a::after{content:none!important;}

/* ---------- the discount link, deliberately quiet ---------- */
html body.woocommerce-cart .tukoy-coupon-toggle{
  background:none!important;
  border:0!important;
  border-bottom:1.5px dashed #C9BFB0!important;
  border-radius:0!important;
  padding:0 0 2px!important;
  font-size:14.5px!important;
  font-weight:600!important;
  color:#6F6960!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:color .15s ease, border-color .15s ease;
}
html body.woocommerce-cart .tukoy-coupon-toggle:hover{
  color:#CC4426!important; border-bottom-color:#CC4426!important;
  transform:none!important;
}

/* ---------- update cart ---------- */
html body.woocommerce-cart td.actions button.button,
html body.woocommerce-cart td.actions input.button{
  background:#FFFDF8!important;
  color:#2B2A28!important;
  border:2px solid #2B2A28!important;
  border-radius:4px 7px 5px 8px!important;
  box-shadow:3px 3px 0 #2B2A28!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  padding:12px 22px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  text-transform:none!important;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, opacity .16s ease;
}
html body.woocommerce-cart td.actions button.button:hover:not(:disabled),
html body.woocommerce-cart td.actions input.button:hover:not(:disabled){
  background:#FFB627!important;
  transform:translate(-2px,-2px);
  box-shadow:5px 5px 0 #2B2A28!important;
}
/* Disabled means disabled - say so, rather than looking half-drawn. */
html body.woocommerce-cart td.actions button.button:disabled,
html body.woocommerce-cart td.actions input.button:disabled{
  opacity:.38!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:not-allowed!important;
}

/* On a phone the three of them will not sit on one line, so stop
   pretending: the button goes full width, the other two centre under it. */
@media (max-width:600px){
  html body.woocommerce-cart td.actions{
    text-align:center!important;
    padding:18px 16px!important;
  }
  html body.woocommerce-cart td.actions button.button,
  html body.woocommerce-cart td.actions input.button{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
  }
  html body.woocommerce-cart td.actions .tukoy-coupon-toggle{
    display:block!important;
    margin:0 auto 14px!important;
  }
  html body.woocommerce-cart td.actions .tukoy-cart-continue{
    float:none!important;
    padding-top:0;
    text-align:center;
  }
}


/* ==================================================================
   FOUR CORRECTIONS
   ================================================================== */

/* ---------- 1. The gallery thumbnails on a phone ----------
   Seven thumbnails in a wrapping flex row become two ragged columns
   that eat more screen than the photo they belong to, and the last one
   sits on its own. One scrolling strip instead: small squares, snapped,
   swiped with the thumb. The photo stays the thing you look at. */
@media (max-width:782px){
  html body .woocommerce-product-gallery .flexy-pills{
    margin-top:12px!important;
  }
  html body .woocommerce-product-gallery .flexy-pills ol{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 8px!important;
    scrollbar-width:none;
  }
  html body .woocommerce-product-gallery .flexy-pills ol::-webkit-scrollbar{
    display:none;
  }
  html body .woocommerce-product-gallery .flexy-pills ol > li{
    flex:0 0 68px!important;
    width:68px!important;
    height:68px!important;
    margin:0!important;
    scroll-snap-align:start;
  }
  html body .woocommerce-product-gallery .flexy-pills ol > li img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* ---------- 2. The buy bar button matches every other button ----------
   Same uniform 4px corner and 2px pencil edge as the main Add to cart,
   so the two read as the same control rather than cousins. */
html body .tukoy-sticky-atc button.tukoy-sticky-btn{
  border-radius:4px!important;
  border-width:2px!important;
  box-shadow:4px 4px 0 #2B2A28!important;
}
html body .tukoy-sticky-atc button.tukoy-sticky-btn:active{
  box-shadow:0 0 0 #2B2A28!important;
  transform:translate(4px,4px)!important;
}

/* ---------- 3. The enlarge button on a product photo ----------
   It went white on hover, which read as the button switching off.
   Marigold, like every other thing on the site you can press. */
html body .woocommerce-product-gallery__trigger{
  transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
html body .woocommerce-product-gallery__trigger:hover,
html body .woocommerce-product-gallery__trigger:focus-visible{
  background-color:#FFB627!important;
  border-color:#2B2A28!important;
  transform:translate(-1px,-1px);
  box-shadow:2px 2px 0 #2B2A28!important;
}

/* ---------- 4. The blog grid ----------
   Blocksy lays the cards on a six-column grid and gives them spans of
   three and two, so every row leaves one or two columns standing empty.
   Three equal columns, all cards the same span, all the same height. */
html body.blog .entries,
html body.archive .entries{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
}
html body.blog .entries > .entry-card,
html body.archive .entries > .entry-card{
  grid-column:span 1!important;
  height:100%!important;
}
html body.blog .entries > .tukoy-blog-intro,
html body.archive .entries > .tukoy-blog-intro{
  grid-column:1 / -1!important;
}
@media (max-width:1000px){
  html body.blog .entries,
  html body.archive .entries{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:640px){
  html body.blog .entries,
  html body.archive .entries{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }
}


/* ==================================================================
   THE TABS UNDER A PRODUCT
   ================================================================== */

/* ---------- the gap above them ----------
   The wrapper carried 55px of margin and then another 60px of padding
   before the tabs started - about 115px of nothing between "Secure
   checkout" and the description. */
html body.single-product .woocommerce-tabs{
  margin-top:26px!important;
  padding-top:0!important;
}
html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  padding-top:26px!important;
}

/* ---------- which tab am I on ----------
   Active and inactive differed by a cream shade three values apart -
   invisible on a phone in daylight. The open tab is now white paper
   with dark text and a marigold cap, and it joins the panel below it.
   The closed one is flatter, recessed and greyed. */
html body.single-product .woocommerce-tabs ul.tabs li{
  position:relative;
  transition:background-color .15s ease;
}
html body.single-product .woocommerce-tabs ul.tabs li:not(.active){
  background:#EFE7D6!important;
}
html body.single-product .woocommerce-tabs ul.tabs li:not(.active) a{
  color:#8D837A!important;
}
html body.single-product .woocommerce-tabs ul.tabs li:not(.active):hover{
  background:#F6F0E3!important;
}
html body.single-product .woocommerce-tabs ul.tabs li.active{
  background:#FFFDF8!important;
}
html body.single-product .woocommerce-tabs ul.tabs li.active a{
  color:#2B2A28!important;
}
html body.single-product .woocommerce-tabs ul.tabs li.active::before{
  content:"";
  position:absolute;
  left:-2px; right:-2px; top:-2px;
  height:5px;
  background:#FFB627;
  border-radius:5px 6px 0 0;
}

@media (max-width:782px){
  html body.single-product .woocommerce-tabs{
    margin-top:20px!important;
  }
  html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
    padding-top:20px!important;
  }
  /* On a phone the two tabs share the row evenly so neither looks like
     a heading and the other like an afterthought. */
  html body.single-product .woocommerce-tabs ul.tabs{
    display:flex!important;
    width:100%!important;
  }
  html body.single-product .woocommerce-tabs ul.tabs li{
    flex:1 1 0!important;
    text-align:center;
  }
  html body.single-product .woocommerce-tabs ul.tabs li a{
    display:block!important;
    padding:11px 8px!important;
    font-size:14px!important;
  }
  html body.single-product .woocommerce-tabs ul.tabs li.active::before{
    height:6px;
  }
}


/* ==========================================================================
   THE REMEMBER ME BOX
   Every text input on a WooCommerce page is given min-height:52px so the
   fields are comfortable to tap. That rule was also catching the checkboxes,
   which have no text in them - so the Remember me box was stretched into a
   tall empty rectangle that never looked finished. These rules pull the
   checkboxes back out of that, and give them the same paper-and-ink look as
   the rest of the site: a pencil border, and a marigold fill with a tick
   once it is ticked.
   ========================================================================== */
html body.woocommerce-page input[type="checkbox"],
html body.woocommerce-account input[type="checkbox"],
html body.woocommerce-checkout input[type="checkbox"],
html body.woocommerce-cart input[type="checkbox"]{
  -webkit-appearance:none!important; appearance:none!important;
  flex:0 0 22px!important;
  width:22px!important; height:22px!important;
  min-width:0!important; min-height:0!important;
  padding:0!important; margin:0!important;
  position:relative!important;
  border:2px solid var(--tkp-pencil,#2B2A28)!important;
  border-radius:4px!important;
  background:#FFFDF8!important;
  box-shadow:none!important;
  cursor:pointer!important;
  vertical-align:middle!important;
  transition:background-color .12s ease, box-shadow .12s ease;
}
html body.woocommerce-page input[type="checkbox"]:hover,
html body.woocommerce-account input[type="checkbox"]:hover,
html body.woocommerce-checkout input[type="checkbox"]:hover,
html body.woocommerce-cart input[type="checkbox"]:hover{
  background:#FFF3DC!important;
}
html body.woocommerce-page input[type="checkbox"]:checked,
html body.woocommerce-account input[type="checkbox"]:checked,
html body.woocommerce-checkout input[type="checkbox"]:checked,
html body.woocommerce-cart input[type="checkbox"]:checked{
  background:#FFB627!important;
  border-color:var(--tkp-pencil,#2B2A28)!important;
}
/* the tick itself - two borders of an empty box, turned on its corner */
html body.woocommerce-page input[type="checkbox"]:checked::after,
html body.woocommerce-account input[type="checkbox"]:checked::after,
html body.woocommerce-checkout input[type="checkbox"]:checked::after,
html body.woocommerce-cart input[type="checkbox"]:checked::after{
  content:""!important;
  position:absolute!important;
  left:6px!important; top:2px!important;
  width:5px!important; height:10px!important;
  border-right:2.5px solid var(--tkp-pencil,#2B2A28)!important;
  border-bottom:2.5px solid var(--tkp-pencil,#2B2A28)!important;
  transform:rotate(42deg)!important;
}
html body.woocommerce-page input[type="checkbox"]:focus-visible,
html body.woocommerce-account input[type="checkbox"]:focus-visible,
html body.woocommerce-checkout input[type="checkbox"]:focus-visible,
html body.woocommerce-cart input[type="checkbox"]:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(255,182,39,.55)!important;
}
/* the row it sits in */
html body .woocommerce-form-login__rememberme,
html body .woocommerce-form__label-for-checkbox{
  display:flex!important; align-items:center!important; gap:10px!important;
  cursor:pointer;
}
html body .woocommerce-form-login__rememberme{ margin:4px 0 20px!important; }
html body .woocommerce-form-login__rememberme span{ line-height:1.3; }


/* ==========================================================================
   ONE RADIUS FOR EVERY BUTTON
   An older rule gave the money buttons a 16px radius while the rest of the
   site settled on 4px, so Place order and Proceed to checkout looked like
   they came from a different site. Same corner everywhere now. The textareas
   are here too - the theme rounds them to 16px and the text inputs beside
   them are 4px.
   ========================================================================== */
html body .woocommerce #place_order,
html body .woocommerce button#place_order,
html body .woocommerce .checkout-button,
html body .woocommerce a.checkout-button,
html body .woocommerce .single_add_to_cart_button,
html body .woocommerce button.single_add_to_cart_button,
html body .woocommerce ul.products .button,
html body .woocommerce .cross-sells .button,
html body .woocommerce .related .button,
html body .woocommerce a.added_to_cart,
html body .woocommerce-cart td.actions button[name="update_cart"],
html body .woocommerce-account .woocommerce form button[type="submit"],
html body .tukoy-acct-cta .button,
html body .tukoy-sticky-btn,
html body .tinv-wishlist td.product-action .button,
html body .tinvwl-buttons-group button,
html body .tukoy-empty-cart .button{
  border-radius:4px!important;
}
html body textarea,
html body textarea.input-text,
html body .woocommerce textarea,
html body.woocommerce-page .form-row textarea,
html body.woocommerce-checkout .form-row textarea,
html body.woocommerce-checkout .form-row select,
html body.woocommerce-checkout .select2-selection--single,
html body.woocommerce-checkout #order_comments,
html body textarea#order_comments{
  border-radius:4px!important;
}


/* ==========================================================================
   THE PAPER TEXTURE - TRIED AND REVERTED
   The page background (an SVG noise texture plus three radial gradients) is
   set to background-attachment:fixed, which makes the browser repaint the
   whole window on every scroll frame. Moving those layers onto a fixed
   pseudo-element fixes the repaint, but it changes how the noise rasterises:
   the fine grain turns into soft grey blotches and the paper reads as dirty
   rather than textured. Checked side by side - it is clearly worse. Left as
   it was. If this is revisited, the texture needs to come from a real raster
   image rather than a live SVG filter, so it rasterises the same either way.
   ========================================================================== */

/* a 6px backdrop blur behind an 87px badge costs a full backdrop re-sample
   every frame and is barely visible - the badge already has a solid tint */
html body .tukoy-card-give{
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}


/* ==========================================================================
   THE PICTURE AT THE TOP OF THE BLOG
   Rendered by snippet 1039 on loop_start, so it lands inside the .entries
   grid and has to be told to span every column, exactly like the intro
   paragraph below it. Framed like everything else on the site: pencil
   border, 4px corner, hard offset shadow.
   ========================================================================== */
html body.blog .entries > .tukoy-blog-hero,
html body.archive .entries > .tukoy-blog-hero{
  grid-column:1 / -1!important;
  margin:0 0 6px!important;
}
html body .tukoy-blog-hero{
  border:2.5px solid var(--tkp-pencil,#2B2A28);
  border-radius:4px;
  box-shadow:5px 5px 0 rgba(43,42,40,.13);
  overflow:hidden;
  background:#FFF9F0;
  line-height:0;
}
html body .tukoy-blog-hero img{
  display:block; width:100%;
  height:clamp(190px, 26vw, 330px);
  object-fit:cover; object-position:center 55%;
}
@media (max-width:782px){
  html body .tukoy-blog-hero{ border-width:2px; box-shadow:4px 4px 0 rgba(43,42,40,.13); }
}

/* ---- snippet 1018: Tukoy Product Description Styles ---- */
/* Tukoy product description styles.
   Extracted 24 Aug 2026 from the inline <style> block that was duplicated
   inside all 50 product descriptions. Kept scoped to .tukoy-pd so it only
   applies where the product description markup is used. */

.tukoy-pd, .tukoy-pd * {
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  color: #2B2A28 !important;
  box-sizing: border-box !important;
}
.tukoy-pd {
  line-height: 1.7 !important;
  font-size: 16px !important;
  max-width: 820px;
}
.tukoy-pd p {
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  margin: 0 0 20px !important;
}
.tukoy-pd p.tukoy-lead {
  font-family: 'Bubblegum Sans', cursive !important;
  font-size: 26px !important;
  font-weight: 400 !important;
}
.tukoy-pd h3 {
  font-family: 'Bubblegum Sans', cursive !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  margin: 0 0 12px !important;
}
.tukoy-pd strong { font-weight: 700 !important; }
.tukoy-pd em { font-style: italic !important; }
.tukoy-pd summary {
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
}
.tukoy-pd li { font-family: 'Albert Sans', system-ui, sans-serif !important; }
.tukoy-pd table, .tukoy-pd td {
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  font-size: 15.5px !important;
}
