:root{
  --ttfs-theme-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));
}
body.ttfs-commerce-open{overflow:hidden}
.ttfs-commerce-modal{
  --ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));
  --ttfs-commerce-primary-soft: color-mix(in srgb,var(--ttfs-commerce-primary) 8%,#fff);
  --ttfs-commerce-primary-soft-2: color-mix(in srgb,var(--ttfs-commerce-primary) 14%,#fff);
  --ttfs-commerce-primary-dark: color-mix(in srgb,var(--ttfs-commerce-primary) 82%,#000);
  --ttfs-commerce-text: var(--ttfs-commerce-text-custom, var(--wp--preset--color--contrast, #111827));
  --ttfs-commerce-muted: var(--ttfs-commerce-muted-custom, #667085);
  --ttfs-commerce-border: color-mix(in srgb,var(--ttfs-commerce-primary) 16%,#e5e7eb);
  --ttfs-commerce-danger:#e11d48;
  --ttfs-commerce-surface:#fff;
  --ttfs-commerce-radius:20px;
  --ttfs-commerce-shadow:0 26px 90px rgba(15,23,42,.22);
  position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px;font-family:inherit;color:var(--ttfs-commerce-text);
}
.ttfs-commerce-modal[hidden]{display:none}
.ttfs-commerce-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.50);backdrop-filter:blur(5px)}
.ttfs-commerce-panel{position:relative;z-index:1;width:min(1120px,100%);max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ttfs-commerce-border);border-radius:var(--ttfs-commerce-radius);background:linear-gradient(180deg,var(--ttfs-commerce-primary-soft),#fff 150px);box-shadow:var(--ttfs-commerce-shadow)}
.ttfs-commerce-panel.is-loading:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.56);z-index:4;cursor:progress}
.ttfs-commerce-close{position:absolute;right:16px;top:16px;z-index:8;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:#f3f4f6;color:var(--ttfs-commerce-text);font-size:24px;font-weight:850;line-height:1;cursor:pointer;box-shadow:none;padding:0}
.ttfs-commerce-close:hover{background:var(--ttfs-commerce-primary-soft-2);color:var(--ttfs-commerce-primary)}
.ttfs-commerce-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px 76px 18px 28px;border-bottom:1px solid var(--ttfs-commerce-border)}
.ttfs-commerce-kicker{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--ttfs-commerce-primary)}
.ttfs-commerce-head h3{margin:5px 0 0;font-size:clamp(22px,2.2vw,32px);line-height:1.16;font-weight:850;color:var(--ttfs-commerce-text)}
.ttfs-commerce-tabs{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--ttfs-commerce-border);border-radius:999px;background:rgba(255,255,255,.86)}
.ttfs-commerce-tab{min-height:46px;min-width:132px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;color:var(--ttfs-commerce-muted);font-family:inherit;font-size:14px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;padding:0 18px;box-shadow:none}
.ttfs-commerce-tab.is-active{background:var(--ttfs-commerce-primary);color:#fff;box-shadow:0 12px 26px color-mix(in srgb,var(--ttfs-commerce-primary) 22%,transparent)}
.ttfs-commerce-body{overflow:auto;padding:22px 28px 28px;background:rgba(255,255,255,.76)}
.ttfs-commerce-view{display:none}.ttfs-commerce-view.is-active{display:block}
.ttfs-commerce-cart-list{display:flex;flex-direction:column;gap:14px}
.ttfs-commerce-item{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) 132px 138px;gap:16px;align-items:center;padding:14px 66px 14px 16px;border:1px solid var(--ttfs-commerce-border);border-radius:18px;background:var(--ttfs-commerce-surface);box-shadow:0 12px 35px rgba(15,23,42,.04)}
.ttfs-commerce-item-img{width:82px;height:82px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;text-decoration:none}
.ttfs-commerce-item-img img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.ttfs-commerce-item-main{min-width:0}.ttfs-commerce-item-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ttfs-commerce-text);font-size:16px;font-weight:850;line-height:1.35;text-decoration:none}.ttfs-commerce-item-price{margin-top:5px;color:var(--ttfs-commerce-muted);font-size:14px;font-weight:700}.ttfs-commerce-qty{justify-self:center;display:grid;grid-template-columns:38px 48px 38px;align-items:center;overflow:hidden;border:1px solid var(--ttfs-commerce-border);border-radius:13px;background:#fff}.ttfs-commerce-qty button,.ttfs-commerce-qty input{height:40px;min-height:40px;margin:0;border:0;border-radius:0;background:#fff;box-shadow:none;color:var(--ttfs-commerce-text);font-family:inherit;font-size:15px;font-weight:850;line-height:1;text-align:center;outline:0;padding:0}.ttfs-commerce-qty button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#f8fafc}.ttfs-commerce-qty button:hover{background:var(--ttfs-commerce-primary-soft);color:var(--ttfs-commerce-primary)}.ttfs-commerce-qty input::-webkit-outer-spin-button,.ttfs-commerce-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ttfs-commerce-qty input[type=number]{-moz-appearance:textfield;appearance:textfield}.ttfs-commerce-item-total{text-align:right;color:var(--ttfs-commerce-text);font-size:17px;font-weight:900;white-space:nowrap}.ttfs-commerce-remove{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:#fff1f2;color:var(--ttfs-commerce-danger);font-size:20px;font-weight:850;line-height:1;cursor:pointer;padding:0}.ttfs-commerce-remove:hover{background:#ffe4e6}
.ttfs-commerce-summary{margin-top:16px;padding:16px 20px;border:1px solid var(--ttfs-commerce-border);border-radius:18px;background:#fff}.ttfs-commerce-summary div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0;color:var(--ttfs-commerce-muted);font-size:16px}.ttfs-commerce-summary b{color:var(--ttfs-commerce-text);font-weight:900}.ttfs-commerce-summary .is-total{margin-top:6px;padding-top:14px;border-top:1px dashed color-mix(in srgb,var(--ttfs-commerce-primary) 20%,#d1d5db);font-size:20px}.ttfs-commerce-summary .is-total b{font-size:26px;color:var(--ttfs-commerce-text)}
.ttfs-commerce-actions,.ttfs-commerce-inline{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px}.ttfs-commerce-btn,.ttfs-commerce-buy-now{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--ttfs-commerce-primary);border-radius:13px;background:#fff;color:var(--ttfs-commerce-primary);font-family:inherit;font-size:15px;font-weight:850;line-height:1.2;text-decoration:none;cursor:pointer;padding:0 22px;box-shadow:none}.ttfs-commerce-btn.is-primary,.ttfs-commerce-buy-now{background:var(--ttfs-commerce-primary);color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--ttfs-commerce-primary) 22%,transparent)}.ttfs-commerce-btn.is-wide{width:100%;min-height:52px}.ttfs-commerce-buy-now__icon,.ttfs-json-search__buy-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:15px;transform:translateY(-.5px)}.ttfs-commerce-empty{padding:36px 18px;border:1px dashed var(--ttfs-commerce-border);border-radius:18px;background:#fff;text-align:center}.ttfs-commerce-empty strong{display:block;margin-bottom:6px;font-size:20px}.ttfs-commerce-empty p{margin:0 0 18px;color:var(--ttfs-commerce-muted)}
.ttfs-commerce-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.ttfs-commerce-checkout-form,.ttfs-commerce-order-box{padding:20px;border:1px solid var(--ttfs-commerce-border);border-radius:18px;background:#fff}.ttfs-commerce-checkout-form h4,.ttfs-commerce-order-box h4{margin:0 0 16px;color:var(--ttfs-commerce-text);font-size:19px;font-weight:850;line-height:1.25}#ttfs-commerce-checkout-form{display:grid;gap:12px}.ttfs-commerce-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#ttfs-commerce-checkout-form input,#ttfs-commerce-checkout-form textarea{width:100%;min-height:48px;margin:0;border:1px solid var(--ttfs-commerce-border);border-radius:13px;background:#fff;box-shadow:none;color:var(--ttfs-commerce-text);font-family:inherit;font-size:15px;line-height:1.35;padding:11px 14px;outline:0}#ttfs-commerce-checkout-form input:focus,#ttfs-commerce-checkout-form textarea:focus{border-color:color-mix(in srgb,var(--ttfs-commerce-primary) 55%,#d1d5db);box-shadow:0 0 0 4px color-mix(in srgb,var(--ttfs-commerce-primary) 12%,transparent)}#ttfs-commerce-checkout-form textarea{min-height:88px;resize:vertical}
.ttfs-commerce-vat-box{padding:14px;border:0;border-radius:16px;background:var(--ttfs-commerce-primary-soft)}.ttfs-commerce-vat-title{margin-bottom:10px;color:var(--ttfs-commerce-text);font-size:15px;font-weight:850}.ttfs-commerce-vat-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border-radius:14px;background:#fff}.ttfs-commerce-vat-options label{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:transparent;color:var(--ttfs-commerce-muted);font-size:14px;font-weight:850;cursor:pointer;padding:0 12px;text-align:center}.ttfs-commerce-vat-options input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0}.ttfs-commerce-vat-options label.is-active,.ttfs-commerce-vat-options label:has(input:checked){background:var(--ttfs-commerce-primary);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--ttfs-commerce-primary) 18%,transparent)}.ttfs-commerce-vat-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.ttfs-commerce-vat-fields[hidden]{display:none}.ttfs-commerce-vat-fields input:first-child,.ttfs-commerce-vat-fields input:nth-child(3){grid-column:1/-1}.ttfs-commerce-form-msg{min-height:20px;color:var(--ttfs-commerce-muted);font-size:14px;font-weight:750}.ttfs-commerce-form-msg.is-error{color:#e11d48}.ttfs-commerce-form-msg.is-success{color:#059669}.ttfs-commerce-checkout-items{display:flex;flex-direction:column;gap:10px}.ttfs-commerce-checkout-items>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px dashed var(--ttfs-commerce-border);font-size:14px}.ttfs-commerce-checkout-items span{color:var(--ttfs-commerce-text);font-weight:700}.ttfs-commerce-checkout-items b{white-space:nowrap;color:var(--ttfs-commerce-text);font-weight:900}.ttfs-commerce-page-replace{max-width:980px;margin:24px auto;padding:24px;border:1px solid var(--ttfs-commerce-border);border-radius:20px;background:#fff}.ttfs-commerce-page-replace h1{margin:0 0 8px;font-size:clamp(24px,3vw,38px);font-weight:850}.ttfs-commerce-page-replace p{margin:0 0 18px;color:var(--ttfs-commerce-muted)}
.ttfs-json-search{--ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));--ttfs-commerce-text:var(--wp--preset--color--contrast,#111827);--ttfs-commerce-muted:#667085;--ttfs-commerce-border:color-mix(in srgb,var(--ttfs-commerce-primary) 18%,#e5e7eb);position:relative;width:var(--ttfs-search-width,100%);max-width:100%;font-family:inherit;color:var(--ttfs-commerce-text)}.ttfs-json-search__box{min-height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--ttfs-commerce-border);border-radius:999px;background:#fff;box-shadow:0 10px 32px rgba(15,23,42,.06)}.ttfs-json-search__icon{color:var(--ttfs-commerce-muted);font-size:18px}.ttfs-json-search__input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;outline:none;color:var(--ttfs-commerce-text);font-family:inherit;font-size:15px}.ttfs-json-search__clear{width:28px;height:28px;border:0;border-radius:50%;background:#f2f4f7;color:var(--ttfs-commerce-muted);cursor:pointer;font-size:18px;line-height:1}.ttfs-json-search__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ttfs-json-search__chip{min-height:30px;border:1px solid var(--ttfs-commerce-border);border-radius:999px;background:#fff;color:var(--ttfs-commerce-text);font-size:13px;font-weight:750;cursor:pointer;padding:0 12px}.ttfs-json-search__results{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 8px);overflow:hidden;border:1px solid var(--ttfs-commerce-border);border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(15,23,42,.22)}.ttfs-json-search__list{display:flex;flex-direction:column;max-height:460px;overflow:auto}.ttfs-json-search__item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08)}.ttfs-json-search__item:last-child{border-bottom:0}.ttfs-json-search__thumb{width:58px;height:58px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff}.ttfs-json-search__thumb img{max-width:100%;max-height:100%;object-fit:contain}.ttfs-json-search__name{color:var(--ttfs-commerce-text);font-size:14px;font-weight:850;line-height:1.35;text-decoration:none}.ttfs-json-search__sku{margin-top:2px;color:var(--ttfs-commerce-muted);font-size:12px}.ttfs-json-search__price{margin-top:3px;color:var(--ttfs-commerce-primary);font-size:14px;font-weight:850}.ttfs-json-search__actions{display:flex;align-items:center;gap:8px}.ttfs-json-search__detail,.ttfs-json-search__buy{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-family:inherit;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap;cursor:pointer;padding:0 12px}.ttfs-json-search__detail{border:1px solid var(--ttfs-commerce-primary);background:#fff;color:var(--ttfs-commerce-primary)}.ttfs-json-search__buy{border:1px solid var(--ttfs-commerce-primary);background:var(--ttfs-commerce-primary);color:#fff}.ttfs-json-search__empty{padding:16px;text-align:center;color:var(--ttfs-commerce-muted);font-size:14px}
@media(max-width:920px){.ttfs-commerce-panel{max-height:calc(100vh - 20px);border-radius:18px}.ttfs-commerce-close{right:14px;top:14px;width:40px;height:40px}.ttfs-commerce-head{grid-template-columns:1fr;padding:18px 62px 15px 18px}.ttfs-commerce-tabs{width:100%}.ttfs-commerce-tab{flex:1;min-width:0;min-height:44px}.ttfs-commerce-body{padding:14px}.ttfs-commerce-item{grid-template-columns:68px minmax(0,1fr) 118px;gap:10px;padding:11px 58px 11px 11px}.ttfs-commerce-item-img{width:68px;height:68px}.ttfs-commerce-item-total{grid-column:3/4;grid-row:1;text-align:right;font-size:15px}.ttfs-commerce-qty{grid-column:3/4;grid-row:2;grid-template-columns:34px 44px 34px}.ttfs-commerce-qty button,.ttfs-commerce-qty input{height:38px;min-height:38px}.ttfs-commerce-checkout-grid{grid-template-columns:1fr}.ttfs-json-search__actions{flex-direction:column;align-items:stretch}.ttfs-json-search__detail,.ttfs-json-search__buy{width:100%;min-height:36px}}
@media(max-width:640px){.ttfs-commerce-modal{align-items:stretch;justify-content:stretch;padding:0}.ttfs-commerce-panel{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border-left:0;border-right:0;box-shadow:none}.ttfs-commerce-backdrop{display:none}.ttfs-commerce-close{right:12px;top:12px;width:38px;height:38px;border-radius:10px;font-size:22px}.ttfs-commerce-head{padding:14px 58px 12px 14px;gap:12px}.ttfs-commerce-kicker{font-size:11px}.ttfs-commerce-head h3{font-size:21px}.ttfs-commerce-tabs{gap:5px;padding:4px}.ttfs-commerce-tab{min-height:40px;font-size:12px;border-radius:10px;padding:0 8px}.ttfs-commerce-body{padding:12px;flex:1;overflow:auto}.ttfs-commerce-cart-list{gap:10px}.ttfs-commerce-item{grid-template-columns:58px minmax(0,1fr);gap:9px;border-radius:15px;padding:10px 50px 10px 10px;align-items:start}.ttfs-commerce-item-img{width:58px;height:58px;border-radius:12px}.ttfs-commerce-item-title{-webkit-line-clamp:2;font-size:14px}.ttfs-commerce-item-price{font-size:12px}.ttfs-commerce-qty{grid-column:2/3;grid-row:2;justify-self:start;grid-template-columns:32px 40px 32px;border-radius:12px}.ttfs-commerce-qty button,.ttfs-commerce-qty input{height:34px;min-height:34px;font-size:14px}.ttfs-commerce-item-total{grid-column:2/3;grid-row:3;text-align:left;font-size:15px}.ttfs-commerce-remove{right:10px;top:10px;transform:none;width:34px;height:34px;border-radius:9px;font-size:18px}.ttfs-commerce-actions,.ttfs-commerce-inline{flex-direction:column;gap:10px}.ttfs-commerce-btn{width:100%;min-height:44px;font-size:14px}.ttfs-commerce-summary{padding:13px;border-radius:15px}.ttfs-commerce-summary div{font-size:14px}.ttfs-commerce-summary .is-total{font-size:16px}.ttfs-commerce-summary .is-total b{font-size:20px}.ttfs-commerce-field-grid,.ttfs-commerce-vat-fields{grid-template-columns:1fr}.ttfs-commerce-vat-options{grid-template-columns:1fr 1fr}.ttfs-commerce-checkout-form,.ttfs-commerce-order-box{padding:16px;border-radius:16px}#ttfs-commerce-checkout-form input,#ttfs-commerce-checkout-form textarea{min-height:46px;font-size:14px}.ttfs-json-search__item{grid-template-columns:52px minmax(0,1fr);gap:10px}.ttfs-json-search__thumb{width:52px;height:52px}.ttfs-json-search__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.ttfs-json-search__detail,.ttfs-json-search__buy{min-height:38px;font-size:13px}.ttfs-json-search__results{position:fixed;left:10px;right:10px;top:74px;max-height:calc(100vh - 96px)}}

/* Version 1.4.1 - JSON search pill UI, theme-primary aware and responsive */
.ttfs-json-search{
  --ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));
  --ttfs-commerce-primary-soft: color-mix(in srgb, var(--ttfs-commerce-primary) 10%, #fff);
  --ttfs-commerce-text: var(--wp--preset--color--contrast, #111827);
  --ttfs-commerce-muted: #8a94a6;
  --ttfs-commerce-border: color-mix(in srgb, var(--ttfs-commerce-primary) 18%, #d8dee8);
  --ttfs-search-height: 56px;
  --ttfs-search-button-width: 76px;
  --ttfs-search-radius: 999px;
  width: min(100%, var(--ttfs-search-width, 100%));
  max-width: var(--ttfs-search-max-width, 100%);
  min-width: 0;
  flex: 1 1 min(100%, var(--ttfs-search-width, 100%));
  align-self: center;
  box-sizing: border-box;
}
.ttfs-json-search,
.ttfs-json-search *{box-sizing:border-box}
.ttfs-json-search--pill_02 .ttfs-json-search__box{
  min-height: var(--ttfs-search-height);
  height: var(--ttfs-search-height);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:0;
  align-items:center;
  width:100%;
  padding:4px;
  border:1px solid var(--ttfs-commerce-border);
  border-radius:var(--ttfs-search-radius);
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  overflow:hidden;
}
.ttfs-json-search--pill_02 .ttfs-json-search__icon{display:none}
.ttfs-json-search--pill_02 .ttfs-json-search__input{
  width:100%;
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:var(--ttfs-commerce-text);
  font-family:inherit;
  font-size:clamp(15px,1.1vw,18px);
  font-weight:500;
  line-height:1.2;
  padding:0 18px;
}
.ttfs-json-search--pill_02 .ttfs-json-search__input::placeholder{color:color-mix(in srgb,var(--ttfs-commerce-muted) 78%,#fff)}
.ttfs-json-search--pill_02 .ttfs-json-search__clear{
  width:34px;
  height:34px;
  min-width:34px;
  display:none;
  align-items:center;
  justify-content:center;
  margin-right:4px;
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--ttfs-commerce-muted) 12%,#fff);
  color:var(--ttfs-commerce-muted);
  font-family:inherit;
  font-size:20px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.ttfs-json-search--pill_02.has-value .ttfs-json-search__clear{display:inline-flex}
.ttfs-json-search--pill_02 .ttfs-json-search__submit{
  width:var(--ttfs-search-button-width);
  height:calc(var(--ttfs-search-height) - 10px);
  min-width:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, color-mix(in srgb,var(--ttfs-commerce-primary) 82%,#fff), var(--ttfs-commerce-primary));
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--ttfs-commerce-primary) 20%,transparent);
  font-family:inherit;
  font-size:0;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.ttfs-json-search--pill_02 .ttfs-json-search__submit:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 14px 30px color-mix(in srgb,var(--ttfs-commerce-primary) 25%,transparent)}
.ttfs-json-search--pill_02 .ttfs-json-search__submit span{
  width:23px;
  height:23px;
  display:block;
  position:relative;
  font-size:0;
}
.ttfs-json-search--pill_02 .ttfs-json-search__submit span:before{
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:13px;
  height:13px;
  border:3px solid currentColor;
  border-radius:50%;
}
.ttfs-json-search--pill_02 .ttfs-json-search__submit span:after{
  content:"";
  position:absolute;
  right:1px;
  bottom:2px;
  width:11px;
  height:3px;
  border-radius:99px;
  background:currentColor;
  transform:rotate(45deg);
  transform-origin:center;
}
.ttfs-json-search--pill_02 .ttfs-json-search__results{
  top:calc(100% + 10px);
  border-color:var(--ttfs-commerce-border);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
}
.ttfs-json-search--pill_02 .ttfs-json-search__item{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:11px 12px}
.ttfs-json-search--pill_02 .ttfs-json-search__name{font-size:14px;line-height:1.35}
.ttfs-json-search--pill_02 .ttfs-json-search__detail,
.ttfs-json-search--pill_02 .ttfs-json-search__buy{border-radius:999px;min-height:36px;padding:0 14px}
.ttfs-json-search--pill_02 .ttfs-json-search__buy{background:var(--ttfs-commerce-primary);border-color:var(--ttfs-commerce-primary);color:#fff}

@media (min-width:768px) and (max-width:1024px){
  .ttfs-json-search{min-width:240px}
  .ttfs-json-search--pill_02{--ttfs-search-height:52px;--ttfs-search-button-width:68px}
  .ttfs-json-search--pill_02 .ttfs-json-search__input{font-size:16px;padding:0 16px}
  .ttfs-json-search--pill_02 .ttfs-json-search__submit span{width:21px;height:21px}
}
@media (max-width:767px){
  .ttfs-json-search{width:100%;max-width:100%;flex-basis:100%;min-width:0}
  .ttfs-json-search--pill_02{--ttfs-search-height:50px;--ttfs-search-button-width:58px}
  .ttfs-json-search--pill_02 .ttfs-json-search__box{padding:3px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
  .ttfs-json-search--pill_02 .ttfs-json-search__input{font-size:15px;padding:0 14px}
  .ttfs-json-search--pill_02 .ttfs-json-search__clear{width:30px;height:30px;min-width:30px;font-size:18px}
  .ttfs-json-search--pill_02 .ttfs-json-search__submit{height:calc(var(--ttfs-search-height) - 6px);min-width:48px}
  .ttfs-json-search--pill_02 .ttfs-json-search__submit span{width:20px;height:20px}
  .ttfs-json-search--pill_02 .ttfs-json-search__results{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:70vh;border-radius:16px}
  .ttfs-json-search--pill_02 .ttfs-json-search__item{grid-template-columns:50px minmax(0,1fr);gap:10px;padding:10px}
  .ttfs-json-search--pill_02 .ttfs-json-search__thumb{width:50px;height:50px;border-radius:11px}
  .ttfs-json-search--pill_02 .ttfs-json-search__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ttfs-json-search--pill_02 .ttfs-json-search__detail,
  .ttfs-json-search--pill_02 .ttfs-json-search__buy{width:100%;min-height:38px;font-size:13px}
}

/* Version 1.4.2 - Minimal text tabs + aligned close/remove buttons */
.ttfs-commerce-modal,
.ttfs-commerce-modal *{box-sizing:border-box}

/* Header: tabs are text links, not big button pills */
.ttfs-commerce-head{
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:22px 58px 16px 28px;
}
.ttfs-commerce-tabs{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ttfs-commerce-tab{
  min-width:0;
  min-height:0;
  padding:6px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ttfs-commerce-muted);
  box-shadow:none;
  font-size:14px;
  font-weight:850;
  letter-spacing:.02em;
  text-transform:uppercase;
  line-height:1.2;
  position:relative;
}
.ttfs-commerce-tab:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:transparent;
}
.ttfs-commerce-tab.is-active{
  background:transparent;
  color:var(--ttfs-commerce-primary);
  box-shadow:none;
}
.ttfs-commerce-tab.is-active:after{background:var(--ttfs-commerce-primary)}

/* Close button: small icon, no large floating square */
.ttfs-commerce-close{
  right:18px;
  top:18px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:transparent;
  color:var(--ttfs-commerce-text);
  font-size:24px;
  font-weight:850;
  line-height:1;
  opacity:.9;
}
.ttfs-commerce-close:hover{
  background:var(--ttfs-commerce-primary-soft);
  color:var(--ttfs-commerce-primary);
}

/* Cart item: remove icon is a real grid column, never overlays price */
.ttfs-commerce-item{
  grid-template-columns:82px minmax(0,1fr) 132px 150px 36px;
  gap:16px;
  padding:14px 14px 14px 16px;
  align-items:center;
}
.ttfs-commerce-remove{
  position:static;
  grid-column:5;
  grid-row:1;
  transform:none;
  justify-self:end;
  align-self:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:color-mix(in srgb,var(--ttfs-commerce-danger) 8%,#fff);
  color:var(--ttfs-commerce-danger);
  font-size:18px;
}
.ttfs-commerce-item-total{
  grid-column:4;
  grid-row:1;
  text-align:right;
  padding-right:0;
  min-width:0;
}
.ttfs-commerce-qty{grid-column:3;grid-row:1}

/* Buttons inside popup: keep consistent height and text centering */
.ttfs-commerce-btn,
.ttfs-commerce-buy-now{
  min-height:46px;
  border-radius:12px;
  line-height:1.15;
  white-space:nowrap;
}
.ttfs-commerce-actions{align-items:center}

@media(max-width:920px){
  .ttfs-commerce-head{
    grid-template-columns:1fr;
    gap:10px;
    padding:17px 56px 13px 18px;
  }
  .ttfs-commerce-tabs{
    justify-content:flex-start;
    gap:22px;
    width:auto;
  }
  .ttfs-commerce-tab{
    flex:0 0 auto;
    min-height:0;
    padding:5px 0;
    font-size:13px;
  }
  .ttfs-commerce-close{
    right:14px;
    top:14px;
    width:32px;
    height:32px;
    background:transparent;
  }
  .ttfs-commerce-item{
    grid-template-columns:68px minmax(0,1fr) 114px 112px 32px;
    gap:10px;
    padding:11px;
  }
  .ttfs-commerce-item-img{width:68px;height:68px}
  .ttfs-commerce-item-total{
    grid-column:4;
    grid-row:1;
    text-align:right;
    font-size:15px;
  }
  .ttfs-commerce-qty{
    grid-column:3;
    grid-row:1;
    justify-self:center;
    grid-template-columns:32px 40px 32px;
  }
  .ttfs-commerce-remove{
    grid-column:5;
    grid-row:1;
    width:32px;
    height:32px;
    font-size:17px;
  }
}

@media(max-width:640px){
  .ttfs-commerce-head{
    padding:14px 48px 12px 14px;
    gap:10px;
  }
  .ttfs-commerce-close{
    right:10px;
    top:10px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:transparent;
    font-size:22px;
  }
  .ttfs-commerce-tabs{
    gap:18px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .ttfs-commerce-tabs::-webkit-scrollbar{display:none}
  .ttfs-commerce-tab{
    flex:0 0 auto;
    min-height:0;
    padding:4px 0;
    border-radius:0;
    font-size:12px;
  }
  .ttfs-commerce-tab:after{bottom:-5px;height:2px}

  .ttfs-commerce-item{
    grid-template-columns:58px minmax(0,1fr) 32px;
    grid-template-rows:auto auto auto;
    gap:9px 10px;
    padding:10px;
    align-items:start;
  }
  .ttfs-commerce-item-img{
    grid-column:1;
    grid-row:1 / span 3;
    width:58px;
    height:58px;
  }
  .ttfs-commerce-item-main{
    grid-column:2;
    grid-row:1;
    padding-right:0;
  }
  .ttfs-commerce-remove{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:start;
    width:32px;
    height:32px;
    border-radius:9px;
    font-size:18px;
  }
  .ttfs-commerce-qty{
    grid-column:2 / 4;
    grid-row:2;
    justify-self:start;
    grid-template-columns:32px 40px 32px;
  }
  .ttfs-commerce-item-total{
    grid-column:2 / 4;
    grid-row:3;
    text-align:left;
    font-size:15px;
    white-space:normal;
  }
  .ttfs-commerce-actions,
  .ttfs-commerce-inline{
    align-items:stretch;
  }
}


/* Version 1.4.3 - E-commerce header search ecom_03 + shortcode-in-menu width fix */
.ttfs-json-search{
  isolation:isolate;
}
.ttfs-json-search--ecom_03{
  --ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #ff7a2f))))));
  --ttfs-commerce-text: var(--wp--preset--color--contrast, #111827);
  --ttfs-commerce-muted: #98a2b3;
  --ttfs-commerce-border: color-mix(in srgb, var(--ttfs-commerce-primary) 22%, #d0d5dd);
  --ttfs-search-height: 50px;
  --ttfs-search-button-width: 58px;
  --ttfs-search-radius: 999px;
  display:block;
  width:min(100%, var(--ttfs-search-width, 100%));
  max-width:var(--ttfs-search-max-width, 100%);
  min-width:0;
  flex:1 1 auto;
  align-self:center;
  margin:0;
  font-family:inherit;
  color:var(--ttfs-commerce-text);
}
.ttfs-json-search--ecom_03,
.ttfs-json-search--ecom_03 *{box-sizing:border-box}
.ttfs-json-search--ecom_03 .ttfs-json-search__box{
  position:relative;
  width:100%;
  height:var(--ttfs-search-height);
  min-height:var(--ttfs-search-height);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:0;
  padding:4px;
  border:1.5px solid var(--ttfs-commerce-border);
  border-radius:var(--ttfs-search-radius);
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95);
  overflow:hidden;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ttfs-json-search--ecom_03:focus-within .ttfs-json-search__box{
  border-color:color-mix(in srgb,var(--ttfs-commerce-primary) 62%, #d0d5dd);
  box-shadow:0 14px 34px color-mix(in srgb,var(--ttfs-commerce-primary) 12%, transparent), 0 0 0 3px color-mix(in srgb,var(--ttfs-commerce-primary) 9%, transparent);
}
.ttfs-json-search--ecom_03 .ttfs-json-search__icon{
  width:42px;
  min-width:42px;
  height:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ttfs-commerce-muted);
  font-size:0;
  line-height:1;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__icon:before{
  content:"";
  width:14px;
  height:14px;
  border:2px solid currentColor;
  border-radius:50%;
  display:block;
  transform:translate(-1px,-1px);
}
.ttfs-json-search--ecom_03 .ttfs-json-search__icon:after{
  content:"";
  width:8px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  display:block;
  transform:translate(-5px,8px) rotate(45deg);
  transform-origin:center;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__input{
  width:100%;
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  color:var(--ttfs-commerce-text);
  font-family:inherit;
  font-size:clamp(14px, 1vw, 16px);
  font-weight:520;
  line-height:1.2;
  padding:0 10px 0 0;
  appearance:none;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__input::placeholder{color:color-mix(in srgb,var(--ttfs-commerce-muted) 86%, #fff)}
.ttfs-json-search--ecom_03 .ttfs-json-search__clear{
  width:28px;
  height:28px;
  min-width:28px;
  display:none;
  align-items:center;
  justify-content:center;
  margin:0 5px 0 0;
  border:0;
  border-radius:999px;
  background:color-mix(in srgb,var(--ttfs-commerce-muted) 12%, #fff);
  color:color-mix(in srgb,var(--ttfs-commerce-muted) 90%, #111);
  box-shadow:none;
  font-family:inherit;
  font-size:18px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  padding:0;
}
.ttfs-json-search--ecom_03.has-value .ttfs-json-search__clear{display:inline-flex}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit{
  width:var(--ttfs-search-button-width);
  min-width:calc(var(--ttfs-search-height) - 8px);
  height:calc(var(--ttfs-search-height) - 8px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, color-mix(in srgb,var(--ttfs-commerce-primary) 88%, #fff), var(--ttfs-commerce-primary));
  color:#fff;
  box-shadow:0 8px 20px color-mix(in srgb,var(--ttfs-commerce-primary) 24%, transparent);
  font-family:inherit;
  font-size:0;
  line-height:1;
  cursor:pointer;
  padding:0;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit:hover{
  transform:translateY(-1px);
  filter:saturate(1.08);
  box-shadow:0 12px 26px color-mix(in srgb,var(--ttfs-commerce-primary) 28%, transparent);
}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit-icon{
  position:relative;
  display:block;
  width:21px;
  height:21px;
  font-size:0;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit-icon:before{
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:12px;
  height:12px;
  border:3px solid currentColor;
  border-radius:50%;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit-icon:after{
  content:"";
  position:absolute;
  right:2px;
  bottom:3px;
  width:10px;
  height:3px;
  border-radius:99px;
  background:currentColor;
  transform:rotate(45deg);
  transform-origin:center;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__chip{
  min-height:28px;
  border:1px solid color-mix(in srgb,var(--ttfs-commerce-primary) 18%, #e5e7eb);
  border-radius:999px;
  background:color-mix(in srgb,var(--ttfs-commerce-primary) 5%, #fff);
  color:var(--ttfs-commerce-text);
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  padding:0 11px;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__results{
  top:calc(100% + 10px);
  border:1px solid color-mix(in srgb,var(--ttfs-commerce-primary) 18%, #e5e7eb);
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  overflow:hidden;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__list{max-height:min(460px, 70vh)}
.ttfs-json-search--ecom_03 .ttfs-json-search__item{
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:12px;
  padding:11px 12px;
  transition:background .16s ease;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__item:hover{background:color-mix(in srgb,var(--ttfs-commerce-primary) 4%, #fff)}
.ttfs-json-search--ecom_03 .ttfs-json-search__thumb{
  width:54px;
  height:54px;
  border-radius:13px;
  background:#fff;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__name{
  color:var(--ttfs-commerce-text);
  font-size:14px;
  font-weight:850;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__price{color:var(--ttfs-commerce-primary);font-size:14px;font-weight:900}
.ttfs-json-search--ecom_03 .ttfs-json-search__actions{gap:8px}
.ttfs-json-search--ecom_03 .ttfs-json-search__detail,
.ttfs-json-search--ecom_03 .ttfs-json-search__buy{
  min-height:36px;
  border-radius:999px;
  font-size:12.5px;
  padding:0 13px;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__detail{
  border:1px solid color-mix(in srgb,var(--ttfs-commerce-primary) 34%, #e5e7eb);
  color:var(--ttfs-commerce-primary);
  background:#fff;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__buy{
  border-color:var(--ttfs-commerce-primary);
  background:var(--ttfs-commerce-primary);
  color:#fff;
}
/* Let shortcode expand inside menu/header wrappers that render shortcodes as ul > li. */
ul.ttfs-ul-has-json-search{
  align-items:center;
  min-width:0;
}
ul.ttfs-ul-has-json-search > li.ttfs-has-json-search,
li.ttfs-has-json-search,
.wp-block-navigation-item.ttfs-hosts-json-search,
.menu-item.ttfs-hosts-json-search{
  list-style:none;
  flex:1 1 clamp(260px, 42vw, 720px);
  min-width:min(260px, 100%);
  max-width:100%;
  margin:0;
  padding:0;
}
li.ttfs-has-json-search > .ttfs-json-search,
.ttfs-hosts-json-search .ttfs-json-search{
  width:100%;
  max-width:100%;
}
li.ttfs-has-json-search:before,
li.ttfs-has-json-search:after{display:none;content:none}
@supports selector(li:has(.ttfs-json-search)){
  li:has(> .ttfs-json-search){list-style:none;flex:1 1 clamp(260px,42vw,720px);min-width:min(260px,100%);max-width:100%;margin:0;padding:0}
  li:has(> .ttfs-json-search):before,
  li:has(> .ttfs-json-search):after{display:none;content:none}
}
@media (min-width:768px) and (max-width:1024px){
  .ttfs-json-search--ecom_03{--ttfs-search-height:48px;--ttfs-search-button-width:54px;min-width:220px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__icon{width:38px;min-width:38px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__input{font-size:15px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__submit-icon{width:20px;height:20px}
  ul.ttfs-ul-has-json-search > li.ttfs-has-json-search, li.ttfs-has-json-search{flex-basis:clamp(220px,46vw,620px);min-width:min(220px,100%)}
}
@media (max-width:767px){
  .ttfs-json-search--ecom_03{--ttfs-search-height:48px;--ttfs-search-button-width:54px;width:100%;max-width:100%;flex-basis:100%;min-width:0}
  .ttfs-json-search--ecom_03 .ttfs-json-search__box{padding:3px;box-shadow:0 8px 22px rgba(15,23,42,.055)}
  .ttfs-json-search--ecom_03 .ttfs-json-search__icon{width:34px;min-width:34px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__input{font-size:15px;padding-right:8px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__clear{width:28px;height:28px;min-width:28px;margin-right:4px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__submit{height:calc(var(--ttfs-search-height) - 6px);min-width:42px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__submit-icon{width:19px;height:19px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__results{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:70vh;border-radius:16px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__item{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:10px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__thumb{width:48px;height:48px;border-radius:12px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .ttfs-json-search--ecom_03 .ttfs-json-search__detail,
  .ttfs-json-search--ecom_03 .ttfs-json-search__buy{width:100%;min-height:38px;font-size:13px}
  ul.ttfs-ul-has-json-search > li.ttfs-has-json-search, li.ttfs-has-json-search{flex:1 1 100%;min-width:0;width:100%}
}


/* Version 1.4.5 - Search shortcode can run without icons. */
.ttfs-json-search--ecom_03.ttfs-json-search--no-search-icon .ttfs-json-search__box{
  grid-template-columns:minmax(0,1fr) auto auto;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-search-icon .ttfs-json-search__input{
  padding-left:18px;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-icon .ttfs-json-search__submit{
  width:min(var(--ttfs-search-button-width), 48px);
  min-width:min(calc(var(--ttfs-search-height) - 8px), 44px);
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-icon .ttfs-json-search__submit:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  opacity:.22;
}
.ttfs-json-search--ecom_03.ttfs-json-search--has-submit-text .ttfs-json-search__submit{
  width:auto;
  min-width:calc(var(--ttfs-search-height) + 18px);
  padding:0 18px;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__submit-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
  font-family:inherit;
  font-size:14px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
@media (max-width:767px){
  .ttfs-json-search--ecom_03.ttfs-json-search--no-search-icon .ttfs-json-search__input{padding-left:15px}
  .ttfs-json-search--ecom_03.ttfs-json-search--no-submit-icon .ttfs-json-search__submit{width:44px;min-width:42px}
  .ttfs-json-search--ecom_03.ttfs-json-search--has-submit-text .ttfs-json-search__submit{min-width:56px;padding:0 14px}
  .ttfs-json-search--ecom_03 .ttfs-json-search__submit-text{font-size:13px}
}


/* Version 1.4.6 - Search header no-color submit by default + respect shortcode width. */
.ttfs-json-search--ecom_03{
  width:var(--ttfs-search-width, 100%);
  max-width:var(--ttfs-search-max-width, 100%);
  margin:var(--ttfs-search-margin, 0 14px 0 0);
  flex:0 1 var(--ttfs-search-width, auto);
}
.ttfs-json-search--ecom_03 .ttfs-json-search__box{
  border-color:color-mix(in srgb, var(--ttfs-commerce-muted) 34%, transparent);
  background:transparent;
  box-shadow:none;
}
.ttfs-json-search--ecom_03:focus-within .ttfs-json-search__box{
  border-color:color-mix(in srgb,var(--ttfs-commerce-primary) 40%, #d0d5dd);
  box-shadow:none;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__box{
  grid-template-columns:minmax(0,1fr) auto;
  padding:4px 12px;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__input{
  padding-left:16px;
  padding-right:8px;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__submit{
  display:none;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-icon:not(.ttfs-json-search--has-submit-text) .ttfs-json-search__submit{
  background:transparent;
  box-shadow:none;
  width:0;
  min-width:0;
  padding:0;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-icon:not(.ttfs-json-search--has-submit-text) .ttfs-json-search__submit:before{
  content:none;
}
ul.ttfs-ul-has-json-search > li.ttfs-has-json-search,
li.ttfs-has-json-search,
.wp-block-navigation-item.ttfs-hosts-json-search,
.menu-item.ttfs-hosts-json-search{
  min-width:0;
}
.ttfs-json-search--ecom_03 + *,
.ttfs-hosts-json-search .ttfs-json-search--ecom_03 + *{
  margin-left:clamp(8px, 1vw, 16px);
}
@media (max-width:767px){
  .ttfs-json-search--ecom_03{
    width:var(--ttfs-search-width, 100%);
    max-width:var(--ttfs-search-max-width, 100%);
    margin:var(--ttfs-search-margin, 0 0 10px 0);
    flex:0 1 var(--ttfs-search-width, 100%);
  }
  .ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__box{padding:3px 10px}
  .ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__input{padding-left:12px}
}

/* Version 1.4.7 - Clean focus state for JSON product search.
   Remove native search background/cancel decoration and gray button block on click/focus. */
.ttfs-json-search--ecom_03,
.ttfs-json-search--pill_02{
  -webkit-tap-highlight-color: transparent;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__box,
.ttfs-json-search--pill_02 .ttfs-json-search__box{
  overflow:hidden;
  background:transparent;
}
.ttfs-json-search--ecom_03:focus,
.ttfs-json-search--ecom_03:focus-visible,
.ttfs-json-search--pill_02:focus,
.ttfs-json-search--pill_02:focus-visible{
  outline:0;
  box-shadow:none;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__box:focus,
.ttfs-json-search--ecom_03 .ttfs-json-search__box:focus-visible,
.ttfs-json-search--pill_02 .ttfs-json-search__box:focus,
.ttfs-json-search--pill_02 .ttfs-json-search__box:focus-visible{
  outline:0;
  box-shadow:none;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__input,
.ttfs-json-search--pill_02 .ttfs-json-search__input{
  -webkit-appearance:none;
  appearance:none;
  border:0;
  outline:0;
  background:transparent;
  background-color:transparent;
  box-shadow:none;
  border-radius:0;
  text-decoration:none;
  caret-color:var(--ttfs-commerce-primary);
}
.ttfs-json-search--ecom_03 .ttfs-json-search__input:focus,
.ttfs-json-search--ecom_03 .ttfs-json-search__input:focus-visible,
.ttfs-json-search--pill_02 .ttfs-json-search__input:focus,
.ttfs-json-search--pill_02 .ttfs-json-search__input:focus-visible{
  border:0;
  outline:0;
  background:transparent;
  background-color:transparent;
  box-shadow:none;
  text-decoration:none;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__input::-webkit-search-decoration,
.ttfs-json-search--ecom_03 .ttfs-json-search__input::-webkit-search-cancel-button,
.ttfs-json-search--ecom_03 .ttfs-json-search__input::-webkit-search-results-button,
.ttfs-json-search--ecom_03 .ttfs-json-search__input::-webkit-search-results-decoration,
.ttfs-json-search--pill_02 .ttfs-json-search__input::-webkit-search-decoration,
.ttfs-json-search--pill_02 .ttfs-json-search__input::-webkit-search-cancel-button,
.ttfs-json-search--pill_02 .ttfs-json-search__input::-webkit-search-results-button,
.ttfs-json-search--pill_02 .ttfs-json-search__input::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__clear,
.ttfs-json-search--pill_02 .ttfs-json-search__clear{
  width:30px;
  height:30px;
  min-width:30px;
  margin:0 4px 0 0;
  border:0;
  outline:0;
  background:transparent;
  background-color:transparent;
  box-shadow:none;
  color:color-mix(in srgb,var(--ttfs-commerce-muted) 78%,#111827);
  opacity:.75;
}
.ttfs-json-search--ecom_03 .ttfs-json-search__clear:hover,
.ttfs-json-search--ecom_03 .ttfs-json-search__clear:focus,
.ttfs-json-search--ecom_03 .ttfs-json-search__clear:focus-visible,
.ttfs-json-search--pill_02 .ttfs-json-search__clear:hover,
.ttfs-json-search--pill_02 .ttfs-json-search__clear:focus,
.ttfs-json-search--pill_02 .ttfs-json-search__clear:focus-visible{
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  opacity:1;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__box,
.ttfs-json-search--pill_02.ttfs-json-search--no-submit-button .ttfs-json-search__box{
  grid-template-columns:minmax(0,1fr) auto;
}
.ttfs-json-search--ecom_03.ttfs-json-search--no-submit-button .ttfs-json-search__input,
.ttfs-json-search--pill_02.ttfs-json-search--no-submit-button .ttfs-json-search__input{
  padding-right:6px;
}
@media (max-width:767px){
  .ttfs-json-search--ecom_03 .ttfs-json-search__clear,
  .ttfs-json-search--pill_02 .ttfs-json-search__clear{
    width:28px;
    height:28px;
    min-width:28px;
    margin-right:2px;
    font-size:18px;
  }
}
/* TTFS v1.8.5 - clear loading state for AJAX buy/cart buttons. */
.ttfs-item-btn.is-loading,
.ttfs-json-search__buy.is-loading,
.ttfs-commerce-buy-now.is-loading,
.tt-buy-now-btn.is-loading{opacity:.72;pointer-events:none;cursor:wait}

/* Version 1.8.6 - Auto JSON product search for WooCommerce/theme search forms. */
.ttfs-native-json-search{
  position:relative;
  overflow:visible;
}
.ttfs-native-json-search .ttfs-native-json-search__results{
  left:0;
  right:0;
  top:calc(100% + 8px);
  width:100%;
  min-width:min(360px, 92vw);
  z-index:99999;
}
.ttfs-native-json-search input[data-ttfs-json-native-input="1"]{
  -webkit-appearance:none;
  appearance:none;
}
.ttfs-native-json-search .ttfs-json-search__empty{
  padding:14px 16px;
  color:var(--ttfs-commerce-muted,#667085);
  font-size:14px;
  line-height:1.45;
}
.ttfs-native-json-search .ttfs-json-search__list{
  max-height:min(460px, 70vh);
}
@media (max-width: 767px){
  .ttfs-native-json-search .ttfs-native-json-search__results{
    position:absolute;
    left:0;
    right:0;
    width:100%;
    min-width:0;
    max-height:72vh;
  }
  .ttfs-native-json-search .ttfs-json-search__item{
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    padding:10px;
  }
  .ttfs-native-json-search .ttfs-json-search__thumb{
    width:48px;
    height:48px;
  }
  .ttfs-native-json-search .ttfs-json-search__actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }
  .ttfs-native-json-search .ttfs-json-search__detail,
  .ttfs-native-json-search .ttfs-json-search__buy{
    width:100%;
  }
}
.ttfs-native-json-search{
  --ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));
  --ttfs-commerce-text:var(--wp--preset--color--contrast,#111827);
  --ttfs-commerce-muted:#667085;
  --ttfs-commerce-border:color-mix(in srgb,var(--ttfs-commerce-primary) 18%,#e5e7eb);
}

/* v1.8.7 - Buy-now popup polish: theme-primary CTA, no cart icon inside Mua ngay. */
.ttfs-commerce-modal,
.ttfs-commerce-inline,
.ttfs-commerce-buy-now,
.ttfs-commerce-btn,
.ttfs-json-search,
.ttfs-native-json-search{
  --ttfs-commerce-primary: var(--ttfs-commerce-primary-custom, var(--ttfs-primary, var(--wp--preset--color--primary, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, var(--primary-color, #0092ff))))));
  --ttfs-commerce-cta-a: color-mix(in srgb, var(--ttfs-commerce-primary) 72%, #ffffff 28%);
  --ttfs-commerce-cta-b: color-mix(in srgb, var(--ttfs-commerce-primary) 92%, #00d4ff 8%);
  --ttfs-commerce-cta-soft: color-mix(in srgb, var(--ttfs-commerce-primary) 8%, #ffffff 92%);
  --ttfs-commerce-cta-line: color-mix(in srgb, var(--ttfs-commerce-primary) 26%, #ffffff 74%);
  --ttfs-commerce-cta-shadow: color-mix(in srgb, var(--ttfs-commerce-primary) 24%, transparent);
}
.ttfs-commerce-btn,
.ttfs-commerce-buy-now{
  border-color: var(--ttfs-commerce-cta-line);
  color: color-mix(in srgb, var(--ttfs-commerce-primary) 82%, #0f172a 18%);
  background: linear-gradient(135deg, #ffffff 0%, var(--ttfs-commerce-cta-soft) 100%);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--ttfs-commerce-primary) 10%, transparent);
}
.ttfs-commerce-btn.is-primary,
.ttfs-commerce-buy-now,
.ttfs-json-search__buy{
  color: #ffffff;
  border-color: color-mix(in srgb, var(--ttfs-commerce-primary) 70%, #ffffff 30%);
  background: linear-gradient(135deg, var(--ttfs-commerce-cta-a) 0%, var(--ttfs-commerce-cta-b) 100%);
  box-shadow: 0 12px 26px var(--ttfs-commerce-cta-shadow);
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}
.ttfs-commerce-btn:hover,
.ttfs-commerce-buy-now:hover,
.ttfs-json-search__buy:hover{
  filter: saturate(1.08) brightness(1.03);
  transform: translateY(-1px);
}
.ttfs-commerce-buy-now__icon,
.ttfs-json-search__buy-icon{
  display:none;
}
