.tp-config{--tp-ink:#26342e;--tp-muted:#64736b;--tp-sage:#4d826f;--tp-border:#dae5df;font-family:inherit;color:var(--tp-ink);background:#fff;border:1px solid var(--tp-border);border-radius:18px;padding:clamp(16px,3vw,28px);margin:18px 0 24px;box-shadow:0 8px 30px rgba(31,57,46,.055)}.tp-config *{box-sizing:border-box}.tp-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.tp-head h3{font-size:clamp(20px,2vw,27px);font-weight:650;line-height:1.2;margin:5px 0}.tp-head p,.tp-font-note{color:var(--tp-muted);margin:0;font-size:13px}.tp-kicker{letter-spacing:.18em;font-size:10px;font-weight:750;color:var(--tp-sage)}.tp-head-price{font-size:13px;background:#edf5f0;color:#326b53;border-radius:40px;padding:8px 12px;white-space:nowrap}.tp-layout{display:grid;grid-template-columns:minmax(180px,.86fr) minmax(0,1.14fr);gap:22px;align-items:start}.tp-preview{background:#f3f5ef;border-radius:16px;padding:22px 14px 12px;position:sticky;top:20px;min-width:0}.tp-mat{position:relative;max-width:240px;height:270px;margin:0 auto;background:linear-gradient(120deg,#8aa99a,#6d9180);border-radius:14px;box-shadow:12px 13px 19px rgba(28,58,43,.13),inset 0 0 0 7px rgba(255,255,255,.09)}.tp-mat:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.19);border-radius:8px}.tp-preview-name{position:absolute;color:#1f3c30;max-width:86%;word-break:break-word;font-size:14px;font-weight:650;line-height:1.1}.tp-location-a{right:17px;top:24px;text-align:right}.tp-location-b{left:17px;bottom:26px;text-align:left}.tp-caption{display:block;text-align:center;font-size:11px;color:#64736b;margin-top:16px}.tp-units{max-height:550px;overflow:auto;scrollbar-width:thin}.tp-unit{border:1px solid var(--tp-border);border-radius:12px;margin-bottom:10px;padding:14px;background:#fff}.tp-switch{display:flex;gap:11px;align-items:center;margin:0;font-size:14px;cursor:pointer;font-weight:600}.tp-switch input{accent-color:var(--tp-sage);width:18px;height:18px}.tp-unit-fields{padding-top:14px}.tp-unit-fields[hidden]{display:none!important}.tp-label{display:block;font-weight:600;margin-bottom:14px;font-size:13px}.tp-label small{font-weight:400;color:var(--tp-muted)}.tp-input,.tp-select{display:block;width:100%;min-height:42px;margin-top:6px!important;padding:10px 12px!important;border:1px solid #cfdbd4!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;font-size:15px!important;color:var(--tp-ink)!important}.tp-input:focus,.tp-select:focus{outline:2px solid #a3cabb!important}.tp-fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}.tp-fieldset legend{font-size:13px;font-weight:600;margin-bottom:9px}.tp-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tp-choice{position:relative;cursor:pointer}.tp-choice input{position:absolute;opacity:0;left:10px;top:10px}.tp-choice span{display:flex;flex-direction:column;border:1px solid #cbd8d0;border-radius:10px;padding:10px;min-height:62px;gap:2px;font-size:13px}.tp-choice span small{color:var(--tp-muted);font-size:11px}.tp-choice input:checked+span{border:2px solid var(--tp-sage);background:#f1f8f3;padding:9px}.tp-choice input:focus-visible+span{outline:2px solid #1a7752;outline-offset:2px}.tp-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--tp-border);padding-top:15px;gap:12px;font-size:13px}.tp-total strong{font-size:18px;color:var(--tp-sage)}.tp-font-note{font-size:11px;line-height:1.45}.tp-cart-details{margin:18px 0;border:1px solid #cfdbd4;border-radius:12px;padding:12px 16px}.tp-cart-details>summary{cursor:pointer;font-weight:650;color:#2f6d55}.tp-cart-form{margin-top:16px}.tp-save{margin-bottom:10px!important;background:#3b8063!important;border-radius:8px!important;padding:12px 22px!important}.single-product .tp-config{clear:both}@media(max-width:700px){.tp-config{padding:16px;border-radius:14px}.tp-layout{grid-template-columns:1fr;gap:16px}.tp-head{align-items:start;flex-direction:column;gap:10px}.tp-preview{position:static}.tp-mat{height:190px;width:156px}.tp-units{max-height:none}.tp-choice-row{gap:6px}}

/* 7.1: display actual font loaded from Elementor / Google Fonts. */
.tp-font-sample{font-size:26px;line-height:1.4;min-height:42px;overflow-wrap:anywhere;background:#f6f8f5;border:1px solid #e5ebe5;border-radius:9px;padding:10px 12px;margin:-4px 0 12px;color:#26342e}.tp-select{font-size:17px!important}.tp-preview-name{font-weight:normal}.tp-font-note{margin-bottom:8px}
