.tf-product-customization{box-sizing:border-box;margin:18px 0 8px;padding:var(--tf-form-padding-y) var(--tf-form-padding-x);background:var(--tf-bg);color:var(--tf-text);border-radius:var(--tf-form-radius)}
.tf-product-customization *{box-sizing:border-box}.tf-customization__separator{height:var(--tf-border-width);background:var(--tf-border);margin:0 0 var(--tf-section-gap)}
.tf-customization__section+.tf-customization__section{margin-top:var(--tf-section-gap)}.tf-customization__title{margin:0 0 10px;font-size:var(--tf-label-size);line-height:1.35;font-weight:500;color:var(--tf-text)}
.tf-customization__title sup,.tf-field label sup{color:var(--tf-error);font-size:.85em;margin-left:2px}.tf-customization__subtitle{margin:0 0 10px;font-size:var(--tf-label-size)}
.tf-date-options,.tf-inline-choices{display:flex;flex-wrap:wrap;gap:10px}.tf-choice-card{position:relative;display:block;cursor:pointer}.tf-choice-card input{position:absolute;opacity:0;pointer-events:none}
.tf-choice-card span{display:flex;align-items:center;justify-content:center;min-height:var(--tf-choice-height);padding:8px 14px;border:var(--tf-border-width) solid var(--tf-border);border-radius:var(--tf-choice-radius);background:var(--tf-field-bg);color:var(--tf-text);font-size:var(--tf-choice-size);line-height:1.25;text-align:center;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}
.tf-choice-card input:checked+span{background:var(--tf-accent);color:var(--tf-accent-text);border-color:var(--tf-accent)}.tf-choice-card input:focus-visible+span{outline:2px solid var(--tf-accent);outline-offset:2px}
.tf-date-card span{min-width:104px;min-height:100px;flex-direction:column;gap:4px;padding:12px}.tf-date-card strong{font-weight:500}.tf-date-card small{font-size:.87em;color:var(--tf-muted)}.tf-date-card input:checked+span small{color:inherit;opacity:.78}
.tf-small-choice span{min-width:58px;padding:8px 12px}.tf-custom-date{margin-top:12px}.tf-field-grid{display:grid;grid-template-columns:1fr;gap:var(--tf-field-gap)}
.tf-field{display:flex;flex-direction:column;gap:7px}.tf-field label,.tf-custom-date label{font-size:var(--tf-label-size);line-height:1.3;font-weight:500;color:var(--tf-text)}
.tf-field input,.tf-field select,.tf-field textarea,.tf-custom-date input{width:100%;min-height:var(--tf-field-height);padding:10px 13px;border:var(--tf-border-width) solid var(--tf-border);border-radius:var(--tf-field-radius);background:var(--tf-field-bg);color:var(--tf-text);font-size:var(--tf-input-size);outline:none;box-shadow:none}
.tf-field textarea{height:var(--tf-textarea-height);min-height:var(--tf-textarea-height);resize:vertical}.tf-field input::placeholder,.tf-field textarea::placeholder{color:var(--tf-placeholder);opacity:1}
.tf-field input:focus,.tf-field select:focus,.tf-field textarea:focus,.tf-custom-date input:focus,.tf-phone-field:focus-within{border-color:var(--tf-accent);box-shadow:0 0 0 1px var(--tf-accent)}
.tf-phone-field{display:flex;align-items:center;min-height:var(--tf-field-height);border:var(--tf-border-width) solid var(--tf-border);border-radius:var(--tf-field-radius);background:var(--tf-field-bg);overflow:hidden;transition:.18s}
.tf-phone-prefix{display:flex;align-items:center;align-self:stretch;padding:0 12px;border-right:var(--tf-border-width) solid var(--tf-border);white-space:nowrap;color:var(--tf-text);font-size:var(--tf-input-size)}.tf-phone-field input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0}
.tf-collapsible{display:grid;gap:var(--tf-field-gap);margin-top:14px}.tf-xsell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tf-xsell-card{display:flex;align-items:center;gap:10px;padding:10px;border:var(--tf-border-width) solid var(--tf-border);border-radius:var(--tf-field-radius);background:var(--tf-field-bg);cursor:pointer}.tf-xsell-card>input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--tf-accent)}.tf-xsell-card__media{width:56px;height:56px;overflow:hidden;border-radius:max(4px,calc(var(--tf-field-radius) - 2px));background:#f5f5f5;flex:0 0 auto}.tf-xsell-card__media img{width:100%;height:100%;object-fit:cover}.tf-xsell-card__content{display:flex;flex-direction:column;min-width:0}.tf-xsell-card__content strong{font-size:13px;line-height:1.25}.tf-xsell-card__content small{margin-top:4px;color:var(--tf-muted)}
.tf-customization__error{margin-top:14px;padding:10px 12px;border-radius:var(--tf-field-radius);background:color-mix(in srgb,var(--tf-error) 9%,white);color:var(--tf-error);font-size:13px}
.tf-product-customization~.product-buy-buttons .btn-cart{min-height:var(--tf-submit-height);border-radius:var(--tf-submit-radius)!important;background:var(--tf-accent)!important;color:var(--tf-accent-text)!important;font-size:var(--tf-submit-size)!important}.tf-product-customization~.product-buy-buttons .btn-cart span{color:var(--tf-accent-text)!important}
@media(max-width:749px){.tf-product-customization{padding:var(--tf-form-padding-y) var(--tf-mobile-padding-x)}.tf-xsell-grid{grid-template-columns:1fr}.tf-date-options{gap:8px}.tf-date-card span{min-width:96px;min-height:96px;padding:10px}.tf-phone-prefix{padding:0 9px}}
