:root {
    --tp-green: #1ba35e;
    --tp-green-dark: #087944;
    --tp-orange: #f04b23;
    --tp-orange-light: #f77822;
    --tp-yellow: #ffb627;
    --tp-bg: #fff;
    --tp-soft: #f1f3f1;
    --tp-card: #f0f2ef;
    --tp-text: #344139;
    --tp-muted: #68736c;
    --tp-border: #dfe4df;
    --tp-container: 1120px;
    --tp-radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.tp-storefront-theme { min-width: 320px; margin: 0; color: var(--tp-text); background: var(--tp-bg); font-family: Arial, Helvetica, sans-serif; line-height: 1.45; }
body.tp-cart-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { touch-action: manipulation; }
img { max-width: 100%; height: auto; }
.tp-container { width: min(100% - 28px, var(--tp-container)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.tp-header { position: sticky; top: 0; z-index: 100; color: #fff; box-shadow: 0 3px 14px rgba(79,57,21,.16); }
.admin-bar .tp-header { top: 46px; }
.tp-topline { display: none; padding: 5px 0; background: #cf3716; color: rgba(255,255,255,.9); font-size: 11px; text-align: center; }
.tp-header-gradient { background: linear-gradient(100deg, var(--tp-orange), var(--tp-orange-light) 58%, var(--tp-yellow)); }
.tp-header-row { display: flex; min-height: 68px; align-items: center; gap: 10px; }
.tp-round-button, .tp-cart-button { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 12px; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }
.tp-menu-icon { width: 22px; display: grid; gap: 4px; }
.tp-menu-icon i { height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.tp-menu-open .tp-menu-icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.tp-menu-open .tp-menu-icon i:nth-child(2) { opacity: 0; }
.tp-menu-open .tp-menu-icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.tp-brand { min-width: 0; display: flex; align-items: center; gap: 7px; }
.tp-brand img { width: 47px; height: 39px; object-fit: contain; filter: brightness(0) invert(1); }
.tp-brand span { display: block; line-height: .88; }
.tp-brand strong { display: block; color: #fff; font-size: 18px; font-weight: 900; }
.tp-brand small { display: none; margin-top: 5px; color: rgba(255,255,255,.88); font-size: 9px; font-weight: 700; }
.tp-desktop-nav, .tp-product-search, .tp-contact-block { display: none; }
.tp-cart-button { position: relative; margin-left: auto; border: 0; background: #fff; color: var(--tp-orange); box-shadow: 0 7px 16px rgba(115,55,10,.18); }
.tp-cart-glyph { font-size: 18px; }
.tp-cart-count { position: absolute; top: -5px; right: -5px; display: grid; min-width: 21px; height: 21px; padding: 0 5px; place-items: center; border: 2px solid var(--tp-yellow); border-radius: 999px; background: var(--tp-green); color: #fff; font-size: 11px; font-weight: 900; }
.tp-mobile-menu { display: grid; background: #fff; color: var(--tp-text); box-shadow: inset 0 1px var(--tp-border); }
.tp-mobile-menu[hidden] { display: none; }
.tp-mobile-menu a { min-height: 46px; display: flex; align-items: center; padding: 0 20px; border-bottom: 1px solid var(--tp-border); font-weight: 700; }

.tp-home-main { overflow: hidden; }
.tp-hero-wrap { padding: 14px 0 18px; background: var(--tp-soft); }
.tp-hero { display: grid; overflow: hidden; border-radius: 18px; background: var(--tp-green); box-shadow: 0 10px 26px rgba(16,96,56,.13); }
.tp-hero-copy { position: relative; z-index: 2; padding: 22px 20px 20px; color: #fff; background-color: var(--tp-green); background-image: linear-gradient(rgba(27,163,94,.8), rgba(27,163,94,.8)), url('../images/balloon-ribbon-pattern.webp'); background-size: auto, 470px auto; background-position: center; }
.tp-eyebrow { margin: 0 0 8px; color: var(--tp-yellow); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.tp-hero h1 { max-width: 590px; margin: 0; color: #fff; font-size: clamp(30px, 9vw, 64px); font-weight: 900; letter-spacing: -.045em; line-height: 1.01; }
.tp-hero-lead { max-width: 530px; margin: 11px 0 0; color: rgba(255,255,255,.93); font-size: 13px; line-height: 1.55; }
.tp-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.tp-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 10px; border-radius: 9px; text-align: center; font-size: 12px; font-weight: 900; }
.tp-button-primary { background: var(--tp-orange); color: #fff; box-shadow: 0 7px 16px rgba(114,37,10,.22); }
.tp-button-secondary { background: #fff; color: var(--tp-green-dark); }
.tp-hero-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; color: rgba(255,255,255,.93); font-size: 10px; font-weight: 800; }
.tp-hero-benefits span::first-letter { color: var(--tp-yellow); }
.tp-hero-slider { position: relative; min-height: 220px; overflow: hidden; background: #e9e4d9; touch-action: pan-y; }
.tp-hero-slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease; }
.tp-hero-slide.is-active { opacity: 1; visibility: visible; }
.tp-hero-slide img { width: 100%; height: 100%; display: block; object-fit: cover; }
.tp-hero-slide figcaption { position: absolute; right: 12px; bottom: 14px; max-width: calc(100% - 76px); padding: 8px 11px; border-radius: 7px; background: var(--tp-orange); color: #fff; font-size: 11px; font-weight: 900; box-shadow: 0 7px 14px rgba(104,35,11,.25); }
.tp-slider-dots { position: absolute; z-index: 3; bottom: 15px; left: 13px; display: flex; gap: 6px; }
.tp-slider-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 999px; background: rgba(255,255,255,.72); cursor: pointer; transition: width .2s ease; }
.tp-slider-dots button[aria-current="true"] { width: 26px; background: var(--tp-yellow); }

.tp-section-heading { padding: 26px 0 18px; }
.tp-section-heading h2 { margin: 0; color: var(--tp-green); font-size: clamp(24px, 6vw, 34px); line-height: 1.08; }
.tp-section-heading p { margin: 8px 0 0; color: var(--tp-muted); font-size: 12px; }
.tp-audience-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; padding-bottom: 28px; text-align: center; }
.tp-audience-grid a { min-width: 0; padding: 6px; border-radius: 14px; transition: transform .2s ease, background .2s ease; }
.tp-audience-grid a:hover { transform: translateY(-2px); background: #f6f7f5; }
.tp-audience-grid img { width: 92px; height: 92px; border-radius: 16px; object-fit: cover; }
.tp-audience-grid h3 { margin: 8px 0 0; color: var(--tp-green); font-size: 18px; }
.tp-audience-grid p { margin: 4px auto 0; color: var(--tp-muted); font-size: 10px; line-height: 1.45; }
.tp-category-tiles { padding: 19px 0; background: #e5e7e4; }
.tp-category-tiles > div { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.tp-category-tiles > div::-webkit-scrollbar { display: none; }
.tp-category-tiles a { width: 105px; flex: 0 0 105px; text-align: center; }
.tp-category-tiles span { width: 72px; height: 72px; display: grid; margin: 0 auto 8px; place-items: center; border-radius: 14px; background: linear-gradient(145deg, var(--tp-orange), var(--tp-yellow)); color: #fff; font-size: 34px; font-weight: 900; box-shadow: 0 5px 12px rgba(185,96,20,.14); }
.tp-category-tiles strong { display: block; color: var(--tp-muted); font-size: 10px; line-height: 1.25; }

.tp-products-section { padding-bottom: 36px; background: #fff; }
.tp-products-section.is-alt { background: #fafbf9; }
.tp-section-strip { border-top: 1px solid rgba(0,0,0,.04); border-bottom: 1px solid rgba(0,0,0,.04); background: var(--tp-soft); }
.tp-section-strip .tp-section-heading { padding-top: 18px; padding-bottom: 14px; }
.tp-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding-top: 18px; }
.tp-product-card { min-width: 0; display: flex; flex-direction: column; padding: 6px; border: 1px solid var(--tp-border); border-radius: 9px; background: var(--tp-card); box-shadow: 0 3px 0 #d8ddd7; text-align: center; }
.tp-product-media { position: relative; overflow: hidden; border-radius: 7px; background: #ddd; }
.tp-product-media img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; transition: transform .3s ease; }
.tp-product-card:hover .tp-product-media img { transform: scale(1.025); }
.tp-sale-badge { position: absolute; top: 4px; left: 4px; padding: 3px 6px; border-radius: 4px; background: #ff6573; color: #fff; font-size: 9px; font-weight: 800; }
.tp-product-card h3 { min-height: 58px; margin: 9px 5px 0; color: #646e67; font-size: 11px; font-weight: 500; line-height: 1.4; }
.tp-product-card h3 a:hover { color: var(--tp-green); text-decoration: underline; }
.tp-product-price { min-height: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px; margin: 7px 0 9px; color: var(--tp-green); font-size: 15px; font-weight: 900; }
.tp-product-price del { color: #999; font-size: 10px; font-weight: 400; }
.tp-product-price ins { text-decoration: none; }
.tp-order-button, .tp-storefront-theme a.tp-order-button.button { min-height: 40px; display: grid; margin-top: auto; padding: 8px 6px; place-items: center; border: 1px solid #d7dbd6; border-radius: 7px; background: #fff; color: #626a64; font-size: 11px; font-weight: 700; line-height: 1.2; box-shadow: 0 2px 0 #b8bcb8; }
.tp-order-button::before { content: '🛒'; margin-right: 4px; font-size: 10px; }
.tp-order-button.loading { opacity: .65; pointer-events: none; }
.tp-order-button.added { color: var(--tp-green); }

.tp-about { padding: 26px 0 42px; background: var(--tp-soft); }
.tp-about-panel { display: grid; grid-template-columns: auto 1fr; gap: 13px; padding: 20px; border-radius: 14px; background: linear-gradient(105deg,#27aa63,#58c879); color: #fff; }
.tp-about-symbol { width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; font-size: 23px; }
.tp-about-panel h2 { margin: 0; font-size: 17px; line-height: 1.18; text-transform: uppercase; }
.tp-about-panel p { margin: 7px 0 0; font-size: 11px; }
.tp-about-panel ul { grid-column: 1/-1; display: grid; gap: 5px; margin: 4px 0 0; padding-left: 17px; font-size: 11px; font-weight: 700; }
.tp-benefits-heading { padding-bottom: 15px; }
.tp-benefit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; text-align: center; }
.tp-benefit-grid > div { padding: 15px 10px; border-radius: 12px; background: #fff; box-shadow: 0 3px 10px rgba(30,70,45,.06); }
.tp-benefit-grid span { width: 48px; height: 48px; display: grid; margin: auto; place-items: center; border-radius: 12px; background: linear-gradient(145deg,var(--tp-orange),var(--tp-yellow)); color: #fff; font-size: 24px; }
.tp-benefit-grid strong { display: block; margin-top: 9px; color: var(--tp-green-dark); font-size: 12px; }
.tp-benefit-grid p { margin: 5px 0 0; color: var(--tp-muted); font-size: 10px; }
.tp-reviews { padding: 4px 0 44px; background: #fff; }
.tp-review-grid { display: grid; gap: 16px; }
.tp-review-grid figure { overflow: hidden; margin: 0; border: 1px solid var(--tp-border); border-radius: 13px; background: var(--tp-soft); box-shadow: 0 4px 15px rgba(28,65,41,.06); }
.tp-review-grid img { width: 100%; aspect-ratio: 4/5; display: block; object-fit: cover; object-position: top; }
.tp-review-grid figcaption { padding: 14px; }
.tp-review-grid strong { color: var(--tp-green-dark); font-size: 13px; }
.tp-review-grid p { margin: 6px 0 0; color: var(--tp-muted); font-size: 11px; }

.tp-main { min-height: 55vh; padding-top: 26px; padding-bottom: 54px; }
.tp-content-card { max-width: 920px; margin: auto; padding: clamp(20px,5vw,48px); border: 1px solid var(--tp-border); border-radius: var(--tp-radius); background: #fff; }
.tp-content-card h1, .tp-woocommerce h1 { color: var(--tp-green); }
.tp-entry-content { min-width: 0; color: #48544c; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.tp-entry-content > :first-child { margin-top: 0; }
.tp-entry-content > :last-child { margin-bottom: 0; }
.tp-entry-content h1, .tp-entry-content h2, .tp-entry-content h3, .tp-entry-content h4 { margin: 1.35em 0 .55em; color: var(--tp-green-dark); line-height: 1.25; }
.tp-entry-content h1 { font-size: clamp(27px, 5vw, 38px); }
.tp-entry-content h2 { font-size: clamp(23px, 4vw, 31px); }
.tp-entry-content h3 { font-size: clamp(20px, 3vw, 25px); }
.tp-entry-content p, .tp-entry-content ul, .tp-entry-content ol { margin: 0 0 1em; }
.tp-entry-content ul, .tp-entry-content ol { padding-left: 1.35em; }
.tp-entry-content li + li { margin-top: .35em; }
.tp-entry-content a { color: var(--tp-green-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tp-entry-content img { max-width: 100%; height: auto; }
.tp-entry-content table { width: 100% !important; max-width: 100%; display: block; margin: 18px 0; overflow-x: auto; border-collapse: collapse; -webkit-overflow-scrolling: touch; }
.tp-entry-content tbody { width: 100%; display: table; }
.tp-entry-content td, .tp-entry-content th { min-width: 130px; padding: 14px !important; border: 1px solid var(--tp-border); text-align: left; vertical-align: top; }
.tp-entry-content td img { min-width: 72px; display: block; margin: auto; }
.tp-content-notice { display: block; margin: 18px 0; padding: 15px 18px; border-left: 4px solid var(--tp-green); border-radius: 8px; background: #edf8f2; color: var(--tp-green-dark); font-weight: 700; }
.tp-woocommerce .woocommerce-breadcrumb { color: var(--tp-muted); font-size: 12px; }
.tp-woocommerce ul.products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.tp-woocommerce ul.products::before, .tp-woocommerce ul.products::after { display: none; }
.tp-woocommerce ul.products li.product { width: auto !important; margin: 0 !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 7px; background: var(--tp-orange); color: #fff; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--tp-green); color: #fff; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select { min-height: 44px; padding: 9px 11px; border: 1px solid var(--tp-border); border-radius: 7px; }
.woocommerce-checkout #payment { background: var(--tp-soft); }

.woocommerce-cart .tp-content-card, .woocommerce-checkout .tp-content-card { max-width: 1180px; padding: clamp(14px,3vw,34px); }
.woocommerce-cart .shop_table, .woocommerce-checkout .shop_table { overflow: hidden; border: 1px solid var(--tp-border); border-radius: 12px; border-collapse: separate; border-spacing: 0; background: #fff; }
.woocommerce-cart .shop_table th, .woocommerce-cart .shop_table td, .woocommerce-checkout .shop_table th, .woocommerce-checkout .shop_table td { padding: 12px; border-color: var(--tp-border); }
.woocommerce-cart .woocommerce-cart-form img { width: 78px; border-radius: 9px; }
.woocommerce-cart .woocommerce-cart-form .product-name a { color: var(--tp-green-dark); font-weight: 800; }
.woocommerce-cart .woocommerce-cart-form .variation, .woocommerce-checkout .variation { margin-top: 7px; color: var(--tp-muted); font-size: 11px; }
.woocommerce-cart .woocommerce-cart-form .quantity .qty { min-height: 42px; border: 1px solid var(--tp-border); border-radius: 7px; }
.woocommerce-cart .woocommerce-cart-form .actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text { min-height: 44px; flex: 1; border: 1px solid var(--tp-border); border-radius: 7px; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%,480px); float: none; padding: 18px; border: 1px solid var(--tp-border); border-radius: 12px; background: var(--tp-soft); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-top: 0; color: var(--tp-green); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { min-height: 52px; display: flex; align-items: center; justify-content: center; background: var(--tp-green); font-size: 17px; font-weight: 900; }

.woocommerce-checkout form.checkout { display: grid; gap: 22px; }
.woocommerce-checkout #customer_details { display: grid; gap: 18px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: auto; float: none; padding: 18px; border: 1px solid var(--tp-border); border-radius: 12px; background: #fff; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading { margin: 0 0 16px; color: var(--tp-green); }
.woocommerce-checkout form .form-row { margin-bottom: 13px; }
.woocommerce-checkout form .form-row label { margin-bottom: 5px; color: var(--tp-green-dark); font-size: 12px; font-weight: 800; }
.woocommerce-checkout form .form-row input.input-text, .woocommerce-checkout form .form-row textarea { width: 100%; background: #fff; }
.woocommerce-checkout #order_review { display: grid; gap: 18px; align-items: start; }
.woocommerce-checkout .woocommerce-checkout-review-order table { table-layout: fixed; }
.woocommerce-checkout .woocommerce-checkout-review-order table th, .woocommerce-checkout .woocommerce-checkout-review-order table td { overflow-wrap: anywhere; }
.woocommerce-checkout .woocommerce-checkout-review-order table tfoot { width: auto !important; display: table-footer-group !important; padding: 0 !important; background: transparent !important; }
.woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr { display: table-row !important; }
.woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr th, .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr td { display: table-cell !important; padding: 12px !important; text-align: left !important; vertical-align: top; }
.woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr:first-child th, .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr:first-child td, .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr:last-child th, .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr:last-child td { display: table-cell !important; padding: 12px !important; }
.woocommerce-checkout #shipping_method { display: grid; gap: 8px; margin: 0; }
.woocommerce-checkout #shipping_method li { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 9px !important; border: 1px solid var(--tp-border); border-radius: 8px; background: #fff; }
.woocommerce-checkout #shipping_method li * { display: inline-block !important; }
.woocommerce-checkout #shipping_method input { flex: 0 0 auto; margin: 3px 0 0 !important; }
.woocommerce-checkout #shipping_method label { color: var(--tp-text); font-size: 11px; line-height: 1.35; }
.woocommerce-checkout #payment { padding: 17px; border: 1px solid var(--tp-border); border-radius: 12px; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0 0 12px; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; }
.woocommerce-checkout #payment .wc_payment_methods li .payment_box { width: auto !important; display: block !important; padding: 12px !important; background: #fff !important; text-align: left; }
.woocommerce-checkout #payment .payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment .place-order { margin: 0; padding: 0; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text, .woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text { color: var(--tp-muted); font-size: 11px; line-height: 1.45; }
.woocommerce-checkout #place_order { width: 100%; min-height: 54px; margin-top: 12px; background: var(--tp-green); font-size: 17px; font-weight: 900; }

@media (max-width: 782px) {
    .woocommerce-cart .tp-content-card, .woocommerce-checkout .tp-content-card { padding: 13px; border: 0; border-radius: 0; }
    .woocommerce-cart .tp-content-card > h1, .woocommerce-checkout .tp-content-card > h1 { font-size: 28px; }
    .woocommerce-cart .woocommerce-cart-form table, .woocommerce-cart .woocommerce-cart-form tbody { display: block; }
    .woocommerce-cart .woocommerce-cart-form thead { display: none; }
    .woocommerce-cart .woocommerce-cart-form tr.cart_item { position: relative; display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 6px 12px; margin-bottom: 13px; padding: 12px; border: 1px solid var(--tp-border); border-radius: 12px; background: #fff; }
    .woocommerce-cart .woocommerce-cart-form tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
    .woocommerce-cart .woocommerce-cart-form tr.cart_item td::before { display: none !important; }
    .woocommerce-cart .woocommerce-cart-form .product-remove { position: absolute; top: 8px; right: 8px; z-index: 2; }
    .woocommerce-cart .woocommerce-cart-form .product-remove a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(244,81,39,.1); color: var(--tp-orange) !important; }
    .woocommerce-cart .woocommerce-cart-form .product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 4; }
    .woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width: 82px; height: 82px; object-fit: cover; }
    .woocommerce-cart .woocommerce-cart-form .product-name, .woocommerce-cart .woocommerce-cart-form .product-price, .woocommerce-cart .woocommerce-cart-form .product-quantity, .woocommerce-cart .woocommerce-cart-form .product-subtotal { grid-column: 2; padding-right: 28px !important; }
    .woocommerce-cart .woocommerce-cart-form .product-subtotal { color: var(--tp-green); font-size: 16px; font-weight: 900; }
    .woocommerce-cart .woocommerce-cart-form tr:not(.cart_item) { display: block; }
    .woocommerce-cart .woocommerce-cart-form td.actions { display: grid !important; gap: 9px; padding: 12px !important; }
    .woocommerce-cart .woocommerce-cart-form .actions .coupon { width: 100%; }
    .woocommerce-cart .woocommerce-cart-form .actions button { width: 100%; min-height: 44px; }
    .woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { padding: 14px; }
    .woocommerce-checkout .woocommerce-checkout-review-order table tr td:last-child { width: 40% !important; }
    .woocommerce-checkout .woocommerce-checkout-review-order table th, .woocommerce-checkout .woocommerce-checkout-review-order table td { padding: 9px !important; font-size: 11px; }
    .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr th, .woocommerce-checkout .woocommerce-checkout-review-order table tfoot tr td { padding: 9px !important; }
    .woocommerce-checkout #payment { padding: 14px; }
}

.single-product .tp-woocommerce { padding-top: 18px; }
.single-product .tp-woocommerce div.product { padding-top: 8px; }
.single-product .tp-woocommerce div.product::after { display: table; clear: both; content: ''; }
.single-product .woocommerce-product-gallery { overflow: hidden; border: 1px solid var(--tp-border); border-radius: 14px; background: var(--tp-soft); }
.single-product .woocommerce-product-gallery__image a { display: block; }
.single-product .woocommerce-product-gallery__image img { width: 100%; display: block; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; padding: 8px !important; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; }
.single-product .flex-control-thumbs img { border-radius: 7px; }
.single-product .summary.entry-summary { padding-top: 18px; }
.single-product .product_title { margin: 0 0 12px; color: var(--tp-green); font-size: clamp(27px,7vw,42px); line-height: 1.08; }
.single-product .summary .price { margin: 10px 0; color: var(--tp-green-dark); font-size: 25px; font-weight: 900; }
.single-product .summary .price del { color: #999; font-size: 15px; font-weight: 400; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { color: var(--tp-muted); font-size: 13px; }
.single-product form.cart { margin-top: 18px !important; padding: 15px; border: 1px solid var(--tp-border); border-radius: 12px; background: var(--tp-soft); }
.single-product form.cart .quantity { margin-right: 8px !important; }
.single-product form.cart .qty { min-height: 46px; border: 1px solid var(--tp-border); border-radius: 8px; background: #fff; }
.single-product form.cart .single_add_to_cart_button { min-height: 46px; padding: 10px 17px; background: var(--tp-orange); font-size: 14px; font-weight: 900; }
.single-product form.variations_form table.variations { margin-bottom: 12px; }
.single-product form.variations_form table.variations tr { display: grid; gap: 5px; margin-bottom: 12px; }
.single-product form.variations_form table.variations td { display: block; padding: 0; }
.single-product form.variations_form table.variations label { color: var(--tp-green-dark); font-size: 12px; }
.single-product form.variations_form table.variations select { width: 100%; min-height: 46px; background: #fff; }
.single-product .wcpa_form_outer, .single-product .wcpa_form_item { max-width: 100%; }
.single-product .wcpa_form_outer input, .single-product .wcpa_form_outer select, .single-product .wcpa_form_outer textarea { max-width: 100%; }
.single-product .product_meta { display: grid; gap: 5px; padding: 14px 0; color: var(--tp-muted); font-size: 11px; }
.tp-product-assurance { display: grid; gap: 3px; margin-top: 12px; padding: 12px 14px; border-left: 4px solid var(--tp-green); border-radius: 8px; background: rgba(27,163,94,.08); }
.tp-product-assurance strong { color: var(--tp-green-dark); font-size: 13px; }
.tp-product-assurance span { color: var(--tp-muted); font-size: 11px; }
.single-product .woocommerce-tabs { clear: both; padding-top: 24px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 6px; overflow-x: auto; margin: 0 0 16px !important; padding: 0 0 5px !important; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; border: 1px solid var(--tp-border) !important; border-radius: 8px !important; background: #fff !important; }
.single-product .woocommerce-tabs ul.tabs li.active { border-color: var(--tp-green) !important; background: var(--tp-green) !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 9px 12px !important; color: var(--tp-green-dark) !important; font-size: 11px; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.single-product .woocommerce-Tabs-panel { color: var(--tp-text); font-size: 13px; }
.single-product .related.products, .single-product .up-sells { clear: both; padding-top: 24px; }
.single-product .related.products > h2, .single-product .up-sells > h2 { color: var(--tp-green); font-size: 25px; }

.tp-native-catalog { padding-top: 18px; }
.tp-catalog-header { padding: 14px 0 16px; }
.tp-catalog-header .tp-eyebrow { color: var(--tp-orange); }
.tp-catalog-header h1 { margin: 0; font-size: clamp(28px,8vw,44px); line-height: 1.05; }
.tp-catalog-description { max-width: 850px; margin-top: 12px; color: var(--tp-muted); font-size: 13px; }
.tp-catalog-description > :first-child { margin-top: 0; }
.tp-catalog-description > :last-child { margin-bottom: 0; }
.tp-catalog-categories { display: flex; gap: 8px; overflow-x: auto; margin: 0 -14px 14px; padding: 0 14px 5px; scrollbar-width: none; }
.tp-catalog-categories::-webkit-scrollbar { display: none; }
.tp-catalog-categories a { min-height: 42px; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--tp-border); border-radius: 10px; background: #fff; color: var(--tp-green-dark); font-size: 11px; font-weight: 800; }
.tp-catalog-categories a[aria-current="page"] { border-color: var(--tp-green); background: rgba(27,163,94,.09); }
.tp-catalog-categories small { min-width: 22px; height: 22px; display: grid; padding: 0 5px; place-items: center; border-radius: 999px; background: var(--tp-soft); color: var(--tp-muted); font-size: 9px; }
.tp-catalog-filter { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--tp-border); border-radius: 12px; background: var(--tp-soft); }
.tp-catalog-filter summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; color: var(--tp-green-dark); font-weight: 900; cursor: pointer; list-style: none; }
.tp-catalog-filter summary::-webkit-details-marker { display: none; }
.tp-catalog-filter summary::after { content: '+'; font-size: 22px; font-weight: 400; }
.tp-catalog-filter[open] summary::after { content: '−'; }
.tp-catalog-filter summary span { margin-left: auto; margin-right: 12px; padding: 3px 7px; border-radius: 999px; background: var(--tp-orange); color: #fff; font-size: 9px; text-transform: uppercase; }
.tp-catalog-filter-form { display: grid; gap: 14px; padding: 0 12px 14px; }
.tp-catalog-filter fieldset { min-width: 0; max-height: 210px; overflow: auto; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 7px; margin: 0; padding: 12px; border: 0; border-radius: 10px; background: #fff; }
.tp-catalog-filter legend { width: 100%; margin-bottom: 4px; color: var(--tp-green-dark); font-size: 12px; font-weight: 900; }
.tp-filter-choice { position: relative; display: block; cursor: pointer; }
.tp-filter-choice input { position: absolute; opacity: 0; pointer-events: none; }
.tp-filter-choice span { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 9px; border: 1px solid var(--tp-border); border-radius: 8px; background: #fff; color: var(--tp-muted); font-size: 10px; font-weight: 700; }
.tp-filter-choice input:checked + span { border-color: var(--tp-green); background: var(--tp-green); color: #fff; }
.tp-filter-choice input:focus-visible + span { outline: 3px solid rgba(240,75,35,.25); outline-offset: 2px; }
.tp-filter-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.tp-filter-actions button, .tp-filter-actions a { min-height: 42px; display: grid; padding: 8px 13px; place-items: center; border: 0; border-radius: 8px; cursor: pointer; font-size: 11px; font-weight: 900; }
.tp-filter-actions button { background: var(--tp-orange); color: #fff; }
.tp-filter-actions a { border: 1px solid var(--tp-border); background: #fff; color: var(--tp-muted); }
.tp-filter-loading .tp-catalog-filter-form { opacity: .68; pointer-events: none; }
.tp-filter-loading .tp-catalog-grid { opacity: .55; }
.tp-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 3px 0 2px; }
.tp-catalog-toolbar .woocommerce-result-count, .tp-catalog-toolbar .woocommerce-ordering { float: none; margin: 0; }
.tp-catalog-toolbar .woocommerce-result-count { color: var(--tp-muted); font-size: 10px; }
.tp-catalog-toolbar select { max-width: 165px; min-height: 40px; padding: 6px 28px 6px 9px; border: 1px solid var(--tp-border); border-radius: 8px; background: #fff; color: var(--tp-text); font-size: 10px; }
.tp-catalog-grid { padding-top: 14px; }
.tp-catalog-pagination { display: flex; justify-content: center; margin-top: 28px; }
.tp-catalog-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.tp-catalog-pagination a, .tp-catalog-pagination span { min-width: 40px; height: 40px; display: grid; padding: 0 8px; place-items: center; border: 1px solid var(--tp-border); border-radius: 9px; background: #fff; color: var(--tp-green-dark); font-weight: 900; }
.tp-catalog-pagination .current { border-color: var(--tp-green); background: var(--tp-green); color: #fff; }
.tp-no-products { padding: 45px 18px; border-radius: 14px; background: var(--tp-soft); text-align: center; }
.tp-no-products h2 { margin: 0; color: var(--tp-green); }
.tp-no-products p { margin: 8px 0 18px; color: var(--tp-muted); }

.tp-footer { background: #777; color: #fff; font-size: 12px; }
.tp-footer-grid { display: grid; gap: 25px; padding-top: 38px; padding-bottom: 35px; }
.tp-footer-title, .tp-footer-phone { color: #fff; font-size: 19px; font-weight: 900; }
.tp-footer p { color: rgba(255,255,255,.75); line-height: 1.6; }
.tp-footer nav { display: grid; align-content: start; gap: 7px; }
.tp-footer nav strong { margin-bottom: 3px; font-size: 13px; }
.tp-footer a:hover { color: var(--tp-yellow); }
.tp-footer-bottom { padding: 13px 16px; border-top: 1px solid rgba(255,255,255,.14); background: #626262; color: rgba(255,255,255,.75); text-align: center; font-size: 10px; }

.tp-cart-drawer { position: fixed; inset: 0; z-index: 1000; }
.tp-cart-drawer[hidden] { display: none; }
.tp-cart-overlay { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(25,35,28,.4); backdrop-filter: blur(3px); cursor: pointer; }
.tp-cart-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(100%,430px); display: flex; flex-direction: column; background: #fff; box-shadow: -20px 0 55px rgba(28,45,34,.25); animation: tp-drawer-in .2s ease both; }
@keyframes tp-drawer-in { from { transform: translateX(20px); opacity: .4; } }
.tp-cart-panel > header { display: flex; justify-content: space-between; gap: 15px; padding: 20px; border-bottom: 1px solid var(--tp-border); background: linear-gradient(100deg,var(--tp-orange),var(--tp-yellow)); color: #fff; }
.tp-cart-panel h2 { margin: 0; color: #fff; font-size: 25px; }
.tp-cart-panel header p { margin: 3px 0 0; font-size: 11px; }
.tp-cart-close { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: var(--tp-orange); font-size: 25px; cursor: pointer; }
.tp-mini-cart-body { flex: 1; overflow: auto; padding: 18px 20px; }
.tp-empty-cart { display: grid; min-height: 55vh; place-content: center; text-align: center; }
.tp-empty-cart span { width: 65px; height: 65px; display: grid; margin: 0 auto 14px; place-items: center; border-radius: 50%; background: rgba(27,163,94,.1); font-size: 27px; }
.tp-empty-cart strong { color: var(--tp-green); font-size: 19px; }
.tp-empty-cart p { max-width: 260px; margin: 6px auto 0; color: var(--tp-muted); font-size: 12px; }
.tp-mini-cart-body .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.tp-mini-cart-body .woocommerce-mini-cart-item { position: relative; min-height: 88px; padding: 0 28px 16px 86px; margin-bottom: 16px; border-bottom: 1px solid var(--tp-border); }
.tp-mini-cart-body .woocommerce-mini-cart-item img { position: absolute; top: 0; left: 0; width: 70px; height: 70px; border-radius: 10px; object-fit: cover; }
.tp-mini-cart-body .remove_from_cart_button { position: absolute; top: 0; right: 0; color: var(--tp-orange); font-size: 22px; }
.tp-mini-cart-body .quantity { display: block; margin-top: 5px; color: var(--tp-green); font-weight: 800; }
.tp-mini-cart-body .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding-top: 8px; font-size: 18px; }
.tp-mini-cart-body .woocommerce-mini-cart__buttons { display: grid; gap: 10px; }
.tp-mini-cart-body .button { padding: 13px 16px; text-align: center; }
.tp-mini-cart-body .checkout { background: var(--tp-green); color: #fff; }
.tp-cart-note { display: grid; gap: 7px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--tp-border); text-align: center; }
.tp-cart-note a { min-height: 44px; display: grid; place-items: center; border-radius: 8px; background: var(--tp-orange); color: #fff; font-weight: 900; }
.tp-cart-note small { color: var(--tp-muted); }
.tp-mobile-cart-bar { position: fixed; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); left: 12px; z-index: 80; min-height: 58px; align-items: center; justify-content: space-between; padding: 8px 9px 8px 14px; border: 0; border-radius: 13px; background: var(--tp-green); color: #fff; box-shadow: 0 12px 28px rgba(17,80,45,.3); text-align: left; }
.tp-mobile-cart-bar:not([hidden]) { display: flex; }
.tp-mobile-cart-bar small { display: block; color: rgba(255,255,255,.75); font-size: 10px; }
.tp-mobile-cart-bar strong { font-size: 14px; }
.tp-mobile-cart-bar b { padding: 10px 15px; border-radius: 9px; background: var(--tp-yellow); color: #6a3c00; font-size: 13px; }
.tp-max-button { position: fixed; right: 17px; bottom: 18px; z-index: 90; width: 58px; height: 58px; display: block; overflow: hidden; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 10px 25px rgba(49,43,145,.3); transition: transform .2s ease; }
.tp-max-button:hover { transform: translateY(-2px); }
.tp-max-button svg { width: 100%; height: 100%; display: block; }
.tp-storefront-theme #tp-max-widget { display: none !important; }
.tp-mobile-cart-bar:not([hidden]) ~ .tp-max-button { bottom: 82px; }
.woocommerce-checkout .tp-mobile-cart-bar { display: none !important; }
.woocommerce-checkout .tp-max-button { bottom: 18px; }

@media (min-width: 390px) {
    .tp-brand small { display: block; }
    .tp-brand strong { font-size: 19px; }
}
@media (min-width: 640px) {
    .tp-hero-actions { display: flex; }
    .tp-button { min-height: 48px; padding: 0 22px; font-size: 14px; }
    .tp-hero-benefits { display: flex; gap: 20px; font-size: 11px; }
    .tp-review-grid { grid-template-columns: repeat(3,1fr); gap: 18px; }
    .tp-footer-grid { grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 783px) {
    .admin-bar .tp-header { top: 32px; }
    .tp-container { width: min(100% - 48px,var(--tp-container)); }
    .tp-topline { display: block; }
    .tp-header-row { min-height: 76px; }
    .tp-brand img { width: 52px; height: 43px; }
    .tp-menu-toggle { display: none; }
    .tp-hero-wrap { padding: 22px 0; }
    .tp-hero { grid-template-columns: 46% 54%; min-height: 420px; }
    .tp-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 38px; background-size: auto, 620px auto; }
    .tp-hero-lead { margin-top: 15px; font-size: 15px; }
    .tp-hero-slider { min-height: 420px; }
    .tp-hero-slide figcaption { right: 22px; bottom: 24px; padding: 9px 13px; font-size: 13px; }
    .tp-slider-dots { bottom: 25px; left: 20px; }
    .tp-audience-grid { grid-template-columns: repeat(4,1fr); gap: 24px; }
    .tp-audience-grid img { width: 112px; height: 112px; }
    .tp-category-tiles > div { display: grid; grid-template-columns: repeat(6,1fr); overflow: visible; }
    .tp-category-tiles a { width: auto; }
    .tp-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; padding-top: 22px; }
    .tp-product-card { padding: 7px; }
    .tp-product-card h3 { min-height: 67px; font-size: 12px; }
    .tp-product-price { font-size: 17px; }
    .tp-order-button, .tp-storefront-theme a.tp-order-button.button { font-size: 12px; }
    .tp-about-panel { grid-template-columns: auto 1fr; padding: 24px; }
    .tp-about-panel ul { grid-column: 2; grid-template-columns: repeat(3,auto); }
    .tp-benefit-grid { grid-template-columns: repeat(4,1fr); gap: 18px; }
    .tp-benefit-grid > div { padding: 19px 13px; }
    .tp-benefit-grid strong { font-size: 13px; }
    .tp-woocommerce ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
    .single-product .summary.entry-summary { padding-top: 4px; }
    .single-product form.variations_form table.variations tr { grid-template-columns: minmax(120px,.45fr) minmax(0,1fr); align-items: center; }
    .single-product .woocommerce-tabs { padding-top: 34px; }
    .tp-catalog-categories { margin-inline: 0; padding-inline: 0; }
    .tp-catalog-filter > summary { display: none; }
    .tp-catalog-filter-form, .tp-catalog-filter:not([open]) > .tp-catalog-filter-form { grid-template-columns: minmax(0,1.7fr) minmax(240px,.8fr) auto; align-items: stretch; padding: 14px; }
    .tp-catalog-filter fieldset { max-height: 190px; }
    .tp-filter-actions { min-width: 150px; grid-template-columns: 1fr; align-content: end; }
    .tp-catalog-toolbar .woocommerce-result-count { font-size: 12px; }
    .tp-catalog-toolbar select { max-width: none; min-width: 230px; font-size: 12px; }
    .tp-footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
    .tp-mobile-cart-bar { display: none !important; }
    .tp-mobile-cart-bar:not([hidden]) ~ .tp-max-button { bottom: 18px; }
}
@media (min-width: 900px) {
    .tp-product-search { max-width: 280px; flex: 1; display: block; margin-left: auto; }
    .tp-product-search form { height: 40px; display: flex; overflow: hidden; border-radius: 6px; background: #fff; }
    .tp-product-search input[type="search"] { min-width: 0; flex: 1; padding: 0 12px; border: 0; background: transparent; outline: none; }
    .tp-product-search button { padding: 0 12px; border: 0; background: transparent; color: var(--tp-green-dark); cursor: pointer; }
}
@media (min-width: 1080px) {
    .tp-product-search { max-width: 240px; }
    .tp-desktop-nav { display: block; }
    .tp-desktop-nav ul { display: flex; gap: 14px; margin: 0; padding: 0; list-style: none; }
    .tp-desktop-nav a { font-size: 12px; font-weight: 800; white-space: nowrap; }
}
@media (min-width: 1320px) {
    .tp-contact-block { min-width: 182px; display: block; padding-left: 13px; border-left: 1px solid rgba(255,255,255,.35); }
    .tp-contact-block strong { display: block; font-size: 13px; white-space: nowrap; }
    .tp-contact-block small { display: block; margin-top: 3px; font-size: 9px; line-height: 1.25; }
}
@media (max-width: 389px) {
    .tp-brand span { display: none; }
}
@media (max-width: 639px) {
    .tp-content-card { padding: 18px 15px; border-radius: 12px; }
    .tp-entry-content { font-size: 15px; line-height: 1.58; }
    .tp-entry-content table, .tp-entry-content tbody, .tp-entry-content tr, .tp-entry-content td, .tp-entry-content th { width: 100% !important; display: block; }
    .tp-entry-content tr { margin-bottom: 14px; border: 1px solid var(--tp-border); border-radius: 10px; overflow: hidden; }
    .tp-entry-content td, .tp-entry-content th { min-width: 0; border: 0; border-bottom: 1px solid var(--tp-border); }
    .tp-entry-content td:last-child, .tp-entry-content th:last-child { border-bottom: 0; }
    .tp-entry-content td[width="150px"] { padding-bottom: 4px !important; text-align: center; }
    .tp-entry-content td[width="150px"] img { width: 96px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* v0.7 — original brand language, readable catalog and product UI. */
.tp-header-layout { min-height: 76px; display: flex; align-items: center; gap: 12px; }
.tp-header-layout .tp-brand { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.tp-header-layout .tp-brand img { width: 142px; height: auto; display: block; object-fit: contain; filter: none; }
.tp-header-layout .tp-brand small { display: none; padding-left: 7px; color: #fff; font-size: 10px; font-weight: 700; line-height: 1.2; }
.tp-header-layout .tp-brand small span { color: #fff; font-size: 8px; }
.tp-header-tools, .tp-header-layout .tp-desktop-nav { display: none; }
.tp-header-layout .tp-menu-toggle { width: 48px; height: 48px; flex-basis: 48px; border-radius: 13px; }
.tp-header-layout .tp-cart-button { width: 48px; height: 48px; flex-basis: 48px; }
.tp-header-layout .tp-cart-glyph { width: 25px; height: 25px; display: block; }
.tp-mobile-menu details { border-bottom: 1px solid var(--tp-border); }
.tp-mobile-menu summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; color: var(--tp-green-dark); font-weight: 900; cursor: pointer; list-style: none; }
.tp-mobile-menu summary::-webkit-details-marker { display: none; }
.tp-mobile-menu summary::after { content: '⌄'; font-size: 18px; }
.tp-mobile-menu details[open] summary::after { transform: rotate(180deg); }
.tp-mobile-menu details a { padding-left: 34px; background: #f7f8f6; font-size: 14px; font-weight: 600; }
.tp-mobile-menu details .tp-mobile-menu-all { color: var(--tp-green-dark); font-weight: 900; }

.tp-hero-copy { padding-top: 18px; padding-bottom: 18px; background-image: linear-gradient(rgba(27,163,94,.68), rgba(27,163,94,.68)), url('../images/balloon-ribbon-pattern.webp'); background-size: auto, 430px auto; }
.tp-hero h1 { font-size: clamp(28px, 8vw, 58px); }
.tp-hero-slider { min-height: 190px; }

.tp-category-tiles img { width: 78px; height: 78px; display: block; margin: 0 auto 9px; border-radius: 14px; object-fit: cover; box-shadow: 0 5px 12px rgba(185,96,20,.14); }
.tp-category-tiles strong { color: #5e665f; font-size: 12px; line-height: 1.3; }

.tp-product-card h3 { min-height: 66px; font-size: 14px; line-height: 1.38; }
.tp-product-price { min-height: 31px; font-size: 18px; }
.tp-price-from { font-size: .72em; font-weight: 800; text-transform: lowercase; }
.tp-order-button, .tp-storefront-theme a.tp-order-button.button { min-height: 44px; font-size: 14px; }
.tp-order-button::before { font-size: 12px; }

.tp-catalog-audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.tp-catalog-audiences a { min-width: 0; display: grid; justify-items: center; padding: 10px 7px 12px; border-radius: 14px; text-align: center; transition: transform .2s ease, background .2s ease; }
.tp-catalog-audiences a:hover { transform: translateY(-2px); background: #f4f6f3; }
.tp-catalog-audiences img { width: 92px; height: 92px; display: block; border-radius: 16px; object-fit: cover; }
.tp-catalog-audiences span { min-width: 0; }
.tp-catalog-audiences strong { display: block; margin-top: 8px; color: var(--tp-green); font-size: 16px; line-height: 1.15; }
.tp-catalog-audiences small { display: block; margin-top: 5px; color: var(--tp-muted); font-size: 11px; line-height: 1.35; }

.tp-catalog-filter { border-radius: 8px; background: #eef0ed; }
.tp-catalog-filter-form { gap: 10px; }
.tp-catalog-filter fieldset { gap: 6px; padding: 11px; border-radius: 8px; }
.tp-catalog-filter legend { color: var(--tp-green); font-size: 16px; }
.tp-filter-choice span { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.tp-catalog-toolbar { padding-top: 7px; }
.tp-catalog-toolbar .woocommerce-result-count { font-size: 12px; }
.tp-catalog-toolbar select { font-size: 12px; }

.single-product .summary.entry-summary,
.single-product .summary.entry-summary > *,
.single-product .summary.entry-summary form,
.single-product .summary.entry-summary table,
.single-product .summary.entry-summary td,
.single-product .summary.entry-summary th,
.single-product .summary.entry-summary label,
.single-product .wcpa_form_outer,
.single-product .wcpa_form_outer * { text-align: left; }
.single-product .woocommerce-product-details__short-description { color: #56625b; font-size: 16px; line-height: 1.55; }
.single-product form.cart { padding: 20px; }
.single-product form.variations_form table.variations label,
.single-product .wcpa_form_outer label { color: var(--tp-green-dark); font-size: 15px; font-weight: 800; line-height: 1.35; }
.single-product form.variations_form table.variations select,
.single-product .wcpa_form_outer input,
.single-product .wcpa_form_outer select,
.single-product .wcpa_form_outer textarea { font-size: 15px; }
.single-product .product_meta { gap: 7px; font-size: 14px; line-height: 1.45; }
.tp-product-assurance { padding: 15px 17px; }
.tp-product-assurance strong { font-size: 15px; }
.tp-product-assurance span { font-size: 13px; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 11px 15px !important; font-size: 14px; }
.single-product .woocommerce-Tabs-panel { font-size: 16px; line-height: 1.6; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 28px; }

@media (max-width: 430px) {
    .tp-container { width: min(100% - 22px, var(--tp-container)); }
    .tp-header-layout { min-height: 72px; gap: 8px; }
    .tp-header-layout .tp-brand img { width: 126px; }
    .tp-product-grid { gap: 10px; }
    .tp-product-card h3 { min-height: 70px; margin-inline: 2px; font-size: 13px; }
    .tp-product-price { font-size: 16px; }
    .tp-order-button, .tp-storefront-theme a.tp-order-button.button { font-size: 13px; }
}

@media (min-width: 783px) {
    .tp-category-tiles img { width: 104px; height: 104px; }
    .tp-category-tiles strong { font-size: 13px; }
    .tp-product-grid .tp-product-card h3 { min-height: 76px; font-size: 15px; }
    .tp-product-grid .tp-product-price { font-size: 20px; }
    .tp-product-grid .tp-order-button { font-size: 15px; }
    .tp-catalog-audiences { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 2px 0 24px; }
    .tp-catalog-audiences a { padding: 9px 10px 16px; }
    .tp-catalog-audiences img { width: 132px; height: 132px; }
    .tp-catalog-audiences strong { font-size: 20px; }
    .tp-catalog-audiences small { max-width: 210px; font-size: 13px; }
    .tp-catalog-filter > summary { display: none; }
    .tp-catalog-filter-form,
    .tp-catalog-filter:not([open]) > .tp-catalog-filter-form { display: grid; grid-template-columns: 1fr !important; gap: 8px; padding: 14px !important; }
    .tp-catalog-filter fieldset { max-height: none; overflow: visible; padding: 9px 10px; }
    .tp-filter-choice span { min-height: 34px; font-size: 13px; }
    .tp-filter-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-start; }
    .tp-filter-actions button, .tp-filter-actions a { min-width: 155px; font-size: 13px; }
    .tp-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px; }
    .tp-catalog-grid .tp-product-card { padding: 10px; }
    .tp-catalog-grid .tp-product-card h3 { min-height: 82px; margin: 13px 9px 0; font-size: 17px; line-height: 1.42; }
    .tp-catalog-grid .tp-product-price { min-height: 38px; margin: 9px 0 12px; font-size: 22px; }
    .tp-catalog-grid .tp-order-button { min-height: 48px; font-size: 16px; }
    .single-product .woocommerce-product-gallery { width: 52% !important; }
    .single-product .summary.entry-summary { width: 44% !important; padding-top: 0; }
    .single-product .product_title { font-size: clamp(38px, 4vw, 50px); }
    .single-product .summary .price { font-size: 30px; }
    .single-product form.variations_form table.variations tr { grid-template-columns: minmax(155px, .48fr) minmax(0, 1fr); gap: 12px; }
}

@media (min-width: 960px) {
    .tp-header-layout { min-height: 112px; display: grid; grid-template-columns: 205px minmax(0, 1fr) 58px; grid-template-rows: 62px 42px; column-gap: 22px; row-gap: 0; }
    .tp-header-layout .tp-menu-toggle { display: none; }
    .tp-header-layout .tp-brand { grid-column: 1; grid-row: 1 / 3; align-self: center; }
    .tp-header-layout .tp-brand img { width: 150px; }
    .tp-header-layout .tp-brand small { display: block; margin-top: 3px; }
    .tp-header-tools { min-width: 0; grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 24px; }
    .tp-header-tools .tp-product-search { max-width: none; flex: 1 1 390px; display: block; margin: 0; }
    .tp-header-tools .tp-product-search form { height: 42px; display: flex; overflow: hidden; border-radius: 6px; background: #fff; }
    .tp-header-tools .tp-product-search input[type="search"] { min-width: 0; flex: 1; padding: 0 14px; border: 0; background: transparent; outline: 0; font-size: 14px; }
    .tp-header-tools .tp-product-search button { min-width: 74px; padding: 0 13px; border: 0; background: transparent; color: var(--tp-green-dark); font-weight: 800; cursor: pointer; }
    .tp-header-tools .tp-contact-block { min-width: 235px; display: block; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .42); }
    .tp-header-tools .tp-contact-block strong { display: block; color: #fff; font-size: 18px; line-height: 1.1; white-space: nowrap; }
    .tp-header-tools .tp-contact-block small { display: block; margin-top: 5px; color: #fff; font-size: 11px; line-height: 1.35; }
    .tp-header-layout .tp-desktop-nav { min-width: 0; grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: 28px; align-self: start; }
    .tp-desktop-nav > a,
    .tp-desktop-nav summary { color: #fff; font-size: 15px; font-weight: 800; white-space: nowrap; }
    .tp-desktop-nav > a { display: inline-flex; align-items: center; min-height: 38px; }
    .tp-catalog-menu { position: relative; }
    .tp-catalog-menu > summary { min-height: 38px; display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; }
    .tp-catalog-menu > summary::-webkit-details-marker { display: none; }
    .tp-catalog-menu > summary span { transition: transform .18s ease; }
    .tp-catalog-menu[open] > summary span { transform: rotate(180deg); }
    .tp-catalog-dropdown { position: absolute; top: calc(100% + 8px); left: -15px; z-index: 20; width: 570px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; padding: 12px; border: 1px solid var(--tp-border); border-radius: 12px; background: #fff; color: var(--tp-text); box-shadow: 0 18px 40px rgba(46, 50, 42, .23); }
    .tp-catalog-dropdown::before { position: absolute; top: -9px; left: 33px; width: 16px; height: 16px; border-top: 1px solid var(--tp-border); border-left: 1px solid var(--tp-border); background: #fff; content: ''; transform: rotate(45deg); }
    .tp-catalog-dropdown a { position: relative; z-index: 1; min-height: 42px; display: flex; align-items: center; padding: 8px 11px; border-radius: 7px; color: var(--tp-text); font-size: 14px; font-weight: 700; white-space: normal; }
    .tp-catalog-dropdown a:hover { background: rgba(27, 163, 94, .09); color: var(--tp-green-dark); }
    .tp-catalog-dropdown .tp-catalog-all { grid-column: 1 / -1; background: var(--tp-green); color: #fff; }
    .tp-catalog-dropdown .tp-catalog-all:hover { background: var(--tp-green-dark); color: #fff; }
    .tp-contact-menu .tp-catalog-dropdown { width: 210px; grid-template-columns: 1fr; }
    .tp-header-layout .tp-cart-button { grid-column: 3; grid-row: 1 / 3; align-self: center; width: 56px; height: 56px; flex-basis: 56px; border-radius: 11px; }
    .tp-header-layout .tp-cart-glyph { width: 28px; height: 28px; }
}

@media (min-width: 1180px) {
    .tp-header-layout { grid-template-columns: 220px minmax(0, 1fr) 60px; column-gap: 26px; }
    .tp-header-layout .tp-brand img { width: 160px; }
    .tp-header-tools .tp-contact-block { min-width: 250px; }
    .tp-header-layout .tp-desktop-nav { gap: 32px; }
}
