/* Teassé — Boutique Premium (scoped) */

.tlbp-woo{
  --tlbp-bg: var(--tl-bg, #f5f4f4);
  --tlbp-card: #ffffff;
  --tlbp-ink: var(--tl-text, #2f2f2f);
  --tlbp-muted: rgba(47,47,47,.75);
  --tlbp-line: rgba(0,0,0,.08);
  --tlbp-gold: var(--tl-gold, #d5ab3a);
  --tlbp-bordeaux: var(--tl-bordeaux, #6f0625);
  --tlbp-radius: 22px;
  --tlbp-radius-sm: 14px;
  --tlbp-shadow: 0 14px 40px rgba(0,0,0,.08);
}

.tlbp{padding:22px 0 40px}
.tlbp-bc{margin:14px 0 10px;color:rgba(0,0,0,.55);font-size:14px}

.tlbp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:10px 0 18px}
.tlbp-title{margin:0;font-size:48px;line-height:1.05;color:var(--tlbp-gold);font-style:italic;letter-spacing:.2px}
.tlbp-sub{margin-top:6px;color:rgba(0,0,0,.6);font-weight:600}

.tlbp-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.tlbp-search{display:flex;align-items:center;gap:10px;background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:999px;padding:8px 10px;box-shadow:0 10px 26px rgba(0,0,0,.06)}
.tlbp-search input[type="search"]{width:min(340px,52vw);height:42px;border:0;outline:0;background:transparent;padding:0 6px;font-size:15px}
.tlbp-search button{height:42px;border:0;border-radius:999px;background:var(--tlbp-gold);color:#fff;font-weight:800;padding:0 16px;cursor:pointer}

.tlbp-sort select{height:52px;border-radius:999px;border:1px solid var(--tlbp-line);background:var(--tlbp-card);padding:0 14px;font-weight:700;box-shadow:0 10px 26px rgba(0,0,0,.06)}

.tlbp-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.tlbp-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--tlbp-line);background:rgba(255,255,255,.7);font-weight:750;color:rgba(0,0,0,.75)}
.tlbp-chip:hover{background:var(--tlbp-card)}
.tlbp-chip.is-active{background:rgba(213,171,58,.15);border-color:rgba(213,171,58,.35);color:rgba(0,0,0,.86)}

.tlbp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tlbp-card{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.06);transform:translateY(0);transition:transform .18s ease, box-shadow .18s ease}
.tlbp-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.10)}

.tlbp-media{position:relative;display:block;background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.04));aspect-ratio: 4/3;overflow:hidden}
.tlbp-media img{width:100%;height:100%;object-fit:contain;padding:18px}

.tlbp-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.3px;text-transform:uppercase}
.tlbp-badge.is-sale{background:rgba(213,171,58,.92);color:#fff}
.tlbp-badge.is-out{background:rgba(111,6,37,.92);color:#fff}

.tlbp-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;min-height:150px}
.tlbp-name{margin:0;font-size:18px;line-height:1.25;color:rgba(0,0,0,.85)}
.tlbp-name a:hover{text-decoration:underline}
.tlbp-price{font-weight:900;color:rgba(0,0,0,.75)}

.tlbp-actions{margin-top:auto}
.tlbp-actions .button,
.tlbp-actions a.button,
.tlbp-actions button.button,
.tlbp-actions .add_to_cart_button{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  border-radius:999px !important;
  border:0 !important;
  background:var(--tlbp-gold) !important;
  color:#fff !important;
  font-weight:900 !important;
  letter-spacing:.2px;
}
.tlbp-actions .button:hover{filter:brightness(.97)}

.tlbp-pagination{display:flex;justify-content:center;margin:22px 0 0}
.tlbp-pagination .page-numbers{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 12px;border-radius:999px;border:1px solid var(--tlbp-line);background:rgba(255,255,255,.75);font-weight:800}
.tlbp-pagination .page-numbers.current{background:rgba(213,171,58,.15);border-color:rgba(213,171,58,.35)}

.tlbp-empty{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);padding:22px;box-shadow:0 12px 28px rgba(0,0,0,.06)}
.tlbp-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:999px;background:var(--tlbp-gold);color:#fff;font-weight:900}

/* Single product */
.tlbp-product-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
.tlbp-gallery-main{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06);overflow:hidden}
.tlbp-gallery-main img{width:100%;height:100%;max-height:540px;object-fit:contain;padding:26px}
.tlbp-gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tlbp-thumb{width:86px;height:72px;border-radius:16px;border:1px solid var(--tlbp-line);background:rgba(255,255,255,.7);padding:8px;cursor:pointer}
.tlbp-thumb img{width:100%;height:100%;object-fit:contain}
.tlbp-thumb:focus{outline:2px solid rgba(213,171,58,.45);outline-offset:2px}

.tlbp-summary{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06);padding:22px}
.tlbp-title-product{margin:0 0 10px;font-size:44px;line-height:1.08;color:var(--tlbp-gold);font-style:italic}
.tlbp-price-product{font-size:22px;font-weight:950;color:rgba(0,0,0,.78);margin:0 0 10px}
.tlbp-note{display:inline-flex;align-items:center;gap:8px;background:rgba(213,171,58,.14);border:1px solid rgba(213,171,58,.28);padding:10px 12px;border-radius:14px;font-weight:800;color:rgba(0,0,0,.75);margin:0 0 12px}
.tlbp-excerpt{color:rgba(0,0,0,.72);font-weight:550}

/* Add to cart form */
.tlbp-buy form.cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 0}
.tlbp-buy form.cart .quantity{display:inline-flex}
.tlbp-buy form.cart .qty{height:46px;width:78px;border-radius:14px;border:1px solid var(--tlbp-line);padding:0 10px;font-weight:800}
.tlbp-buy form.cart button.single_add_to_cart_button{
  height:46px;
  border-radius:999px;
  border:0;
  background:var(--tlbp-gold);
  color:#fff;
  font-weight:950;
  padding:0 18px;
}

.tlbp-product-details{margin-top:22px}
.tlbp-product-details .woocommerce-tabs{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06);padding:18px}
.tlbp-product-details .woocommerce-tabs ul.tabs{margin:0 0 14px !important;padding:0 !important;display:flex;gap:10px;flex-wrap:wrap;border:0 !important}
.tlbp-product-details .woocommerce-tabs ul.tabs li{border:1px solid var(--tlbp-line) !important;border-radius:999px !important;margin:0 !important;background:rgba(255,255,255,.7) !important}
.tlbp-product-details .woocommerce-tabs ul.tabs li a{padding:10px 14px !important;font-weight:900 !important}
.tlbp-product-details .woocommerce-tabs ul.tabs li.active{background:rgba(213,171,58,.15) !important;border-color:rgba(213,171,58,.35) !important}

/* Cart & Checkout (Woo markup restyled) */
.tlbp-woo .woocommerce{max-width:none}

/* Buttons */
.tlbp-woo .woocommerce a.button,
.tlbp-woo .woocommerce button.button,
.tlbp-woo .woocommerce input.button,
.tlbp-woo .woocommerce #place_order{
  border-radius:999px !important;
  background:var(--tlbp-gold) !important;
  color:#fff !important;
  font-weight:950 !important;
  padding:.95rem 1.2rem !important;
  border:0 !important;
}

/* Inputs */
.tlbp-woo .woocommerce input.input-text,
.tlbp-woo .woocommerce textarea,
.tlbp-woo .woocommerce select,
.tlbp-woo .woocommerce .select2-selection{
  border-radius:14px !important;
  border:1px solid var(--tlbp-line) !important;
  background:#fff !important;
  min-height:46px;
  padding:.55rem .85rem;
}

/* Cart layout */
.tlbp-cart .woocommerce{background:transparent;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.tlbp-cart .woocommerce-notices-wrapper{grid-column:1 / -1}
.tlbp-cart .woocommerce-message,
.tlbp-cart .woocommerce-info,
.tlbp-cart .woocommerce-error{border-radius:14px}
.tlbp-cart .woocommerce-cart-form,
.tlbp-cart .cart-collaterals{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06)}
.tlbp-cart .woocommerce-cart-form{padding:14px}
.tlbp-cart .cart-collaterals{padding:16px}

@supports (position: sticky){
  .tlbp-cart .cart-collaterals{position:sticky;top:110px}
}

.tlbp-cart .woocommerce-cart-form__contents{border-collapse:separate;border-spacing:0 12px}
.tlbp-cart .woocommerce-cart-form__contents tr{background:rgba(0,0,0,.02);border:1px solid var(--tlbp-line)}
.tlbp-cart .woocommerce-cart-form__contents td{padding:14px !important}
.tlbp-cart .woocommerce-cart-form__contents td.product-thumbnail img{border-radius:14px}

/* Checkout layout */
.tlbp-checkout form.checkout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.tlbp-checkout #customer_details{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06);padding:16px}
.tlbp-checkout #order_review{background:var(--tlbp-card);border:1px solid var(--tlbp-line);border-radius:var(--tlbp-radius);box-shadow:0 12px 28px rgba(0,0,0,.06);padding:16px}
@supports (position: sticky){
  .tlbp-checkout #order_review{position:sticky;top:110px}
}

.tlbp-checkout .woocommerce-checkout-review-order-table{border:0}
.tlbp-checkout .woocommerce-checkout-payment{background:transparent;border:0;padding:0}
.tlbp-checkout #place_order{width:100%}

/* Mobile */
@media (max-width: 980px){
  .tlbp-title{font-size:40px}
  .tlbp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tlbp-product-hero{grid-template-columns:1fr}
  .tlbp-cart .woocommerce{grid-template-columns:1fr}
  .tlbp-checkout form.checkout{grid-template-columns:1fr}
  .tlbp-checkout #order_review{position:static}
  .tlbp-cart .cart-collaterals{position:static}
  .tlbp-search input[type="search"]{width:min(360px,68vw)}
}

@media (max-width: 640px){
  .tlbp-title{font-size:34px}
  .tlbp-grid{grid-template-columns:1fr}
  .tlbp-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:6px}
  .tlbp-chip{white-space:nowrap}
  .tlbp-search{width:100%}
  .tlbp-search input[type="search"]{width:100%}
  .tlbp-sort{width:100%}
  .tlbp-sort select{width:100%}
}
