.tbcv-configurator{--brown:#8a5f3f;--cream:#fffaf3;--line:#eadfce;background:linear-gradient(180deg,#fffaf3,#fff);border:1px solid var(--line);border-radius:22px;padding:22px;margin:24px 0;box-shadow:0 14px 42px rgba(75,48,29,.08);box-sizing:border-box;clear:both;position:relative;z-index:1}.tbcv-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f5ead9;border:1px solid #ead8bf;border-radius:20px;padding:18px 20px;margin-bottom:16px}.tbcv-hero span{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.75rem;color:#9a6d47}.tbcv-hero h3{margin:.15rem 0 .35rem;font-size:1.35rem;color:#2b2119}.tbcv-hero p{margin:0;color:#72563f}.tbcv-hero img{max-width:82px;height:auto}.tbcv-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}.tbcv-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.tbcv-section-head>span{width:36px;height:36px;border-radius:14px;background:#f7ead7;display:flex;align-items:center;justify-content:center}.tbcv-section h4{margin:0;color:#2b2119;font-size:1.05rem}.tbcv-section p{margin:3px 0 0;color:#80654e;font-size:.92rem}.tbcv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tbcv-grid .tbcv-section{margin:0}.tbcv-configurator label{font-weight:700;color:#3a2b20;display:block;margin:.45rem 0}.tbcv-configurator input[type=number],.tbcv-configurator input[type=file],.tbcv-configurator select,.tbcv-configurator textarea{width:100%;border:1px solid #decdb6;border-radius:14px;background:#fff;padding:12px 13px;box-sizing:border-box}.tbcv-configurator textarea{min-height:86px;resize:vertical}.tbcv-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tbcv-choice-row label,.tbcv-check{border:1px solid #e4d3bc;background:#fffaf3;border-radius:16px;padding:12px;cursor:pointer}.tbcv-check{display:flex!important;gap:10px;align-items:center}.tbcv-foil-fields{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tbcv-preview{margin-top:12px}.tbcv-thumb{display:block;max-width:160px;max-height:120px;object-fit:contain;border:1px solid #d8c9b6;background:#fff;border-radius:12px;padding:6px}.tbcv-badge{display:inline-block;padding:10px 12px;border:1px dashed #c9b49a;border-radius:12px;background:#fffaf3;color:#4b382a}.tbcv-error{display:inline-block;padding:10px 12px;border:1px solid #d87b63;border-radius:12px;background:#fff1ed;color:#9b2d18}.tbcv-price-card{position:sticky;bottom:12px;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:linear-gradient(135deg,#2c2119,#7b583c);border-radius:20px;padding:16px;margin-top:18px;box-shadow:0 14px 34px rgba(43,33,25,.22)}.tbcv-price-card div{background:rgba(255,255,255,.09);border-radius:16px;padding:12px}.tbcv-price-card span{display:block;color:rgba(255,255,255,.76);font-size:.86rem}.tbcv-price-card strong{display:block;color:#fff;font-size:1.35rem;margin-top:3px}.tbcv-hidden-qty{display:none!important}.tbcv-price-placeholder{font-weight:700;color:#72563f}.woocommerce div.product form.cart{overflow:visible!important}.woocommerce div.product form.cart .button{position:relative;z-index:20}@media(max-width:700px){.tbcv-configurator{padding:14px;border-radius:18px}.tbcv-hero{align-items:flex-start}.tbcv-hero img{max-width:62px}.tbcv-grid,.tbcv-choice-row,.tbcv-foil-fields,.tbcv-price-card{grid-template-columns:1fr}.tbcv-price-card{bottom:8px}.tbcv-price-card strong{font-size:1.2rem}}

.tbcv-min-note{display:block;margin-top:6px;color:#80654e;font-size:.86rem}

/* Barre de prix compacte sur mobile */
.tbcv-price-mobile{display:none!important}
@media(max-width:700px){
 .tbcv-price-card{
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
  gap:7px!important;
  padding:7px!important;
  border-radius:14px!important;
  bottom:6px!important;
  margin-top:12px!important;
  align-items:stretch;
 }
 .tbcv-price-card .tbcv-price-desktop{display:none!important}
 .tbcv-price-card .tbcv-price-mobile{
  display:flex!important;
  min-width:0;
  min-height:46px;
  padding:6px 8px!important;
  border-radius:11px!important;
  flex-direction:column;
  justify-content:center;
 }
 .tbcv-price-card .tbcv-price-mobile span{
  font-size:10px!important;
  line-height:1.05!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
 }
 .tbcv-price-card .tbcv-price-mobile strong{
  font-size:15px!important;
  line-height:1.1!important;
  margin-top:3px!important;
  white-space:nowrap;
 }
 .tbcv-price-card .tbcv-price-mobile-total strong{font-size:17px!important}
}
