body.tt-frontend .tt-highlight-box,body.tt-frontend .tt-mobile-spec-grid{display:none!important}

/* v3.12.15 — product marketing layer (offer, combo, floating CTA, review polish, compact related, mobile buy bar tune) */

/* Combo block */
body.tt-frontend .tt-combo-box{display:grid;gap:14px;margin-top:14px;padding:16px;border:1px solid #F0E2D1;border-radius:16px;background:#FFF;box-shadow:0 8px 22px rgba(47,45,43,.04)}
body.tt-frontend .tt-combo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.tt-frontend .tt-combo-head>div{display:grid;gap:4px}
body.tt-frontend .tt-combo-head span{color:#D85A02;font-size:10px;font-weight:900;letter-spacing:.08em}
body.tt-frontend .tt-combo-head h3{margin:0;color:#2F2D2B;font-size:18px;line-height:1.3}
body.tt-frontend .tt-combo-head p{margin:0;max-width:360px;color:#8D8074;font-size:12px;line-height:1.55}
body.tt-frontend .tt-combo-items{display:grid;gap:10px}
body.tt-frontend .tt-combo-item{display:grid;grid-template-columns:28px 72px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid #F0E2D1;border-radius:14px;background:#FFFDF9;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer}
body.tt-frontend .tt-combo-item:hover{transform:translateY(-1px);border-color:#FFD0AA;box-shadow:0 10px 20px rgba(253,98,4,.06)}
body.tt-frontend .tt-combo-item--main{cursor:default;background:linear-gradient(180deg,#FFF 0%,#FFF8F1 100%)}
body.tt-frontend .tt-combo-item input{position:absolute;opacity:0;pointer-events:none}
body.tt-frontend .tt-combo-item .tt-combo-check{display:grid;place-items:center;width:28px;height:28px;border:1px solid #FFD0AA;border-radius:999px;background:#FFF;color:#FD6204;font-size:15px;font-weight:900}
body.tt-frontend .tt-combo-item input:checked~.tt-combo-check,body.tt-frontend .tt-combo-item.is-checked .tt-combo-check{background:#FD6204;border-color:#FD6204;color:#FFF}
body.tt-frontend .tt-combo-thumb{display:block;width:72px;height:72px;border:1px solid #F0E2D1;border-radius:12px;overflow:hidden;background:#FFF}
body.tt-frontend .tt-combo-thumb img{width:100%;height:100%;object-fit:contain}
body.tt-frontend .tt-combo-meta{display:grid;gap:4px;min-width:0}
body.tt-frontend .tt-combo-meta small{color:#D85A02;font-size:10px;font-weight:800;line-height:1.45}
body.tt-frontend .tt-combo-meta b{color:#2F2D2B;font-size:14px;line-height:1.45}
body.tt-frontend .tt-combo-meta strong{color:#FD6204;font-size:16px;line-height:1.2}
body.tt-frontend .tt-combo-meta .woocommerce-Price-amount{color:inherit!important}
body.tt-frontend .tt-combo-meta em{display:block;color:#8D8074;font-size:11px;font-style:normal}
body.tt-frontend .tt-combo-meta em a{color:#D85A02!important;font-weight:800;text-decoration:none}
body.tt-frontend .tt-combo-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.tt-frontend .tt-combo-summary>div{display:grid;gap:5px;padding:12px;border-radius:14px;background:#FFF7EF;border:1px solid #FFE0C3}
body.tt-frontend .tt-combo-summary span{color:#8D8074;font-size:11px;font-weight:700}
body.tt-frontend .tt-combo-summary strong,body.tt-frontend .tt-combo-summary b{color:#D85A02;font-size:18px;line-height:1.2}
body.tt-frontend .tt-combo-summary b .woocommerce-Price-amount,body.tt-frontend .tt-combo-summary strong .woocommerce-Price-amount{color:inherit!important}
body.tt-frontend .tt-combo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.tt-frontend .tt-combo-actions .tt-btn{min-height:44px}
body.tt-frontend .tt-combo-link{color:#D85A02!important;font-size:12px;font-weight:800}

/* Floating CTA */
body.tt-frontend .tt-floating-cta{position:fixed;right:16px;bottom:92px;z-index:730;display:grid;gap:10px}
body.tt-frontend .tt-floating-cta__item{display:flex;align-items:center;gap:10px;min-width:190px;padding:12px 14px;border:1px solid #F0E2D1;border-radius:16px;background:#FFF;box-shadow:0 14px 28px rgba(47,45,43,.10)}
body.tt-frontend .tt-floating-cta__item:hover{transform:translateY(-1px)}
body.tt-frontend .tt-floating-cta__item svg{width:20px;height:20px}
body.tt-frontend .tt-floating-cta__item>span:last-child{display:grid;gap:2px}
body.tt-frontend .tt-floating-cta__item b{color:#2F2D2B;font-size:13px;line-height:1.2}
body.tt-frontend .tt-floating-cta__item small{color:#8D8074;font-size:10px;line-height:1.2}
body.tt-frontend .tt-floating-cta__item.is-call{border-color:#FFD0AA;background:linear-gradient(180deg,#FFF 0%,#FFF8F1 100%)}
body.tt-frontend .tt-floating-cta__item.is-zalo{border-color:#D7E6FF;background:linear-gradient(180deg,#FFF 0%,#F5F9FF 100%)}
body.tt-frontend .tt-floating-cta__zalo-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#0A66FF;color:#FFF;font-size:12px;font-weight:900;flex:none}

/* Mobile buy bar refinement */
body.tt-mobile.tt-route-product{padding-bottom:178px!important}
body.tt-mobile.tt-route-product .tt-buy-box{display:grid;gap:10px;padding-top:10px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;border-top-left-radius:16px;border-top-right-radius:16px}
body.tt-mobile.tt-route-product .tt-buy-box__summary{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.tt-mobile.tt-route-product .tt-buy-box__summary>div{display:grid;gap:4px;min-width:0}
body.tt-mobile.tt-route-product .tt-buy-box__summary b{color:#D85A02;font-size:18px;line-height:1.15;font-weight:900}
body.tt-mobile.tt-route-product .tt-buy-box__summary .woocommerce-Price-amount{color:inherit!important}
body.tt-mobile.tt-route-product .tt-buy-box__summary small{color:#8D8074;font-size:10px;line-height:1.3}
body.tt-mobile.tt-route-product .tt-buy-box__summary-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;background:#FFF7EF;border:1px solid #FFD0AA;color:#D85A02;font-size:10px;font-weight:900;white-space:nowrap}
body.tt-mobile.tt-route-product .tt-buy-box__body{display:grid;align-items:center}
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:14px!important}
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body{grid-template-columns:minmax(0,2fr) minmax(108px,1fr)!important;column-gap:10px!important}
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .tt-cart-action,
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .tt-cart-action form.cart:not(.variations_form){display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;width:100%!important}
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body .tt-cart-action,
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body>.tt-btn-quick{display:block!important;width:100%!important}
@media(max-width:359px){body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body{column-gap:10px!important}body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body{grid-template-columns:minmax(0,2fr) minmax(96px,1fr)!important;column-gap:8px!important}}

/* Review block enhancement */
body.tt-frontend .tt-pd-review-summary{position:relative;overflow:hidden;border-color:#FFD7B5;background:linear-gradient(180deg,#FFF 0%,#FFF7EF 100%);box-shadow:0 12px 28px rgba(253,98,4,.08)}
body.tt-frontend .tt-pd-review-summary:after{content:"";position:absolute;top:-36px;right:-36px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(252,159,1,.18) 0%,rgba(252,159,1,0) 72%)}
body.tt-frontend .tt-pd-review-right{border-color:#F0E2D1;box-shadow:0 12px 28px rgba(47,45,43,.05)}
body.tt-frontend .tt-pd-review-feed-head{position:sticky;top:0;z-index:2;padding-top:2px;background:linear-gradient(180deg,#FFF 78%,rgba(255,255,255,0) 100%)}
body.tt-frontend .tt-pd-review-card{border-radius:16px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
body.tt-frontend .tt-pd-review-card:hover{border-color:#FFD0AA;box-shadow:0 12px 24px rgba(253,98,4,.06);transform:translateY(-1px)}
body.tt-frontend .tt-pd-review-card-avatar img{border:2px solid #FFF7EF}
body.tt-frontend .tt-pd-review-image{border-radius:12px!important}
body.tt-frontend .tt-pd-review-form-card{border-color:#F0E2D1;box-shadow:0 12px 28px rgba(47,45,43,.05)}

/* Related products compact */
body.tt-frontend .tt-pd-related .tt-pd-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.tt-frontend .tt-pd-related .tt-sc-item{box-shadow:0 8px 20px rgba(47,45,43,.04);border-radius:16px}
body.tt-frontend .tt-pd-related .tt-sc-item-inner{padding:14px!important}
body.tt-frontend .tt-pd-related .tt-sc-media{margin-bottom:10px!important}
body.tt-frontend .tt-pd-related .tt-sc-title{font-size:14px!important;line-height:1.45!important}
body.tt-frontend .tt-pd-related .tt-sc-actions{gap:8px!important}
body.tt-frontend .tt-pd-related .tt-sc-btn{min-height:40px!important;font-size:12px!important}

/* Tabs polish */
body.tt-frontend .tt-pd-nav{position:sticky;top:74px;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #F0E2D1;border-radius:16px;padding:8px;box-shadow:0 10px 24px rgba(47,45,43,.05)}
body.tt-frontend .tt-pd-nav button{border-radius:12px}
body.tt-frontend .tt-pd-nav button.is-active,body.tt-frontend .tt-pd-nav button[aria-selected=true]{background:#FFF7EF;border-color:#FFD7B5;color:#D85A02;box-shadow:inset 0 0 0 1px #FFD7B5}
body.tt-frontend .tt-pd-tab-badge{background:#FD6204!important;color:#FFF!important}

@media(max-width:849px){
  body.tt-frontend .tt-combo-item{grid-template-columns:24px 64px minmax(0,1fr);gap:10px}
  body.tt-frontend .tt-combo-thumb{width:64px;height:64px}
  body.tt-frontend .tt-combo-summary{grid-template-columns:1fr}
  body.tt-frontend .tt-combo-actions{display:grid;grid-template-columns:1fr;gap:8px}
  body.tt-frontend .tt-combo-actions .tt-btn,.tt-combo-link{text-align:center;justify-content:center}
  body.tt-frontend .tt-floating-cta{right:10px;left:10px;bottom:134px;grid-template-columns:1fr 1fr;gap:8px}
  body.tt-frontend .tt-floating-cta__item{min-width:0;padding:10px 12px;border-radius:14px;justify-content:center}
  body.tt-frontend .tt-floating-cta__item svg{width:18px;height:18px}
  body.tt-frontend .tt-floating-cta__item b{font-size:12px}
  body.tt-frontend .tt-floating-cta__item small{display:none}
  body.tt-frontend .tt-floating-cta__zalo-badge{width:34px;height:34px;font-size:10px}
  body.tt-frontend .tt-pd-review-layout{grid-template-columns:1fr}
  body.tt-frontend .tt-pd-related .tt-pd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.tt-frontend .tt-pd-nav{top:60px;padding:6px;border-radius:14px;overflow:auto}
}

@media(max-width:479px){
  body.tt-frontend .tt-floating-cta{bottom:126px}
  body.tt-frontend .tt-floating-cta__item{padding:9px 10px}
}

/* v3.12.16 — nested mobile buy-bar structure guard */
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty,
body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty{grid-template-columns:minmax(0,1fr)!important;column-gap:0!important;row-gap:10px!important}
body.tt-mobile.tt-route-product .tt-buy-box__body>.tt-btn-quick{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0 12px!important;border:1px solid #FC9F01!important;border-radius:14px!important;background:#FC9F01!important;color:#2F2D2B!important;font-size:12px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:none!important;transform:none!important}
body.tt-mobile.tt-route-product .tt-buy-box__body>.tt-btn-quick .tt-mobile-buy-icon{display:none!important}
body.tt-mobile.tt-route-product .tt-buy-box__body>.tt-btn-quick .tt-mobile-buy-label{display:block!important;color:inherit!important;font:inherit!important;line-height:1!important}
body.tt-mobile.tt-route-product .tt-buy-box__body>.tt-btn-state-action{grid-column:1/-1!important;width:100%!important;min-height:48px!important;margin:0!important}
body.tt-mobile.tt-route-product .tt-buy-box__body:not(:has(>.tt-btn-quick)) .tt-cart-action{grid-column:1/-1!important}
@media(max-width:849px){body.tt-frontend .tt-floating-cta{bottom:194px!important}}
@media(max-width:479px){body.tt-frontend .tt-floating-cta{bottom:186px!important}}

/* v3.12.17 — removed top metadata/badges/offer UI */
body.tt-route-product .tt-product-meta-core,
body.tt-route-product .tt-mobile-meta,
body.tt-route-product .tt-product-badges,
body.tt-route-product .tt-price-panel-top,
body.tt-route-product .tt-buy-box__summary-badge{display:none!important}
body.tt-mobile.tt-route-product .tt-buy-box__summary{justify-content:flex-start!important}
body.tt-mobile.tt-route-product .tt-buy-box__summary>div{gap:0!important}
body.tt-mobile.tt-route-product .tt-buy-box__summary small{display:none!important}

/* v3.12.31 — combo 3-column cards + one-row mobile purchase bar */
@media (min-width:850px){
  body.tt-frontend .tt-combo-box .tt-combo-items{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  body.tt-frontend .tt-combo-box .tt-combo-item{
    min-width:0!important;
    min-height:154px!important;
    grid-template-columns:30px 76px minmax(0,1fr)!important;
    align-content:center!important;
    gap:10px!important;
    padding:12px!important;
  }
  body.tt-frontend .tt-combo-box .tt-combo-thumb{
    width:76px!important;height:76px!important;
  }
  body.tt-frontend .tt-combo-box .tt-combo-meta b{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
  body.tt-frontend .tt-combo-box .tt-combo-summary{
    margin-top:2px!important;
  }
}

/* Keep the three purchase controls on one line on mobile.
   The cart form must remain a real grid container because the quantity control
   has a fixed physical width. Flattening the form with display:contents lets
   Qty overflow into the Add-to-cart column on mid-size phones. */
@media (max-width:849px){
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(108px,23vw,150px)!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-cart-action{
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-cart-action form.cart:not(.variations_form),
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-cart-action .woocommerce-variation-add-to-cart{
    display:grid!important;
    grid-template-columns:154px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .quantity{
    grid-column:1!important;
    grid-row:1!important;
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
    height:48px!important;
    margin:0!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .single_add_to_cart_button{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-btn-quick{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }

  /* No quantity: cart + buy-now remain balanced on one row. */
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:8px!important;
    row-gap:0!important;
    align-items:center!important;
    width:100%!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body>.tt-cart-action{
    display:contents!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body>.tt-cart-action form.cart:not(.variations_form),
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body>.tt-cart-action .woocommerce-variation-add-to-cart{
    display:contents!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body .single_add_to_cart_button{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--no-qty .tt-buy-box__body>.tt-btn-quick{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* State buttons (call/order/preorder/discontinued) stay full width. */
  body.tt-mobile.tt-route-product .tt-buy-box__body>.tt-btn-state-action{
    grid-column:1/-1!important;
  }
}

@media (max-width:359px){
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body{
    grid-template-columns:minmax(0,1fr) 96px!important;
    column-gap:6px!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-cart-action form.cart:not(.variations_form),
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-cart-action .woocommerce-variation-add-to-cart{
    grid-template-columns:90px minmax(0,1fr)!important;
    column-gap:6px!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .quantity{
    width:90px!important;
    min-width:90px!important;
    max-width:90px!important;
  }
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body .single_add_to_cart_button,
  body.tt-mobile.tt-route-product .tt-buy-box.tt-buy-box--has-qty .tt-buy-box__body>.tt-btn-quick{font-size:11px!important}
}
