.tv-form-help-ready{position:relative}
.tv-form-help-ready input:not([type="checkbox"]):not([type="radio"]),.tv-form-help-ready textarea,.tv-form-help-ready select{padding-right:2.8rem !important}
.tv-form-help-icon{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);z-index:4;border:0;background:transparent;color:var(--muted,#7b6a82);padding:.25rem;cursor:help;line-height:1;font-size:.9rem}
.tv-form-help-icon:hover,.tv-form-help-icon:focus-visible{color:var(--pink,#e41a7d);outline:none}
.tv-form-help-tooltip{position:absolute;right:0;bottom:calc(100% + .45rem);width:max-content;max-width:min(280px,72vw);padding:.55rem .7rem;border-radius:8px;background:var(--ink,#2a1430);color:#fff;font:600 .76rem/1.35 var(--font-body, sans-serif);text-align:left;box-shadow:0 8px 20px rgba(42,20,48,.2);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;white-space:normal}
.tv-form-help-tooltip::after{content:'';position:absolute;right:.65rem;top:100%;border:5px solid transparent;border-top-color:var(--ink,#2a1430)}
.tv-form-help-icon:hover .tv-form-help-tooltip,.tv-form-help-icon:focus-visible .tv-form-help-tooltip,.tv-form-help-open .tv-form-help-tooltip{opacity:1;visibility:visible}

/* Formato comun de alta y edicion de clientes */
.registration-form-grid,.profile-form-grid{row-gap:1rem !important;column-gap:1rem !important}
.registration-form-grid .field-compact,.profile-form-grid .field-compact{margin-top:0 !important;margin-bottom:0.25rem !important}
.registration-form-grid > h3,.profile-form-grid > h3{margin-top:1rem !important;margin-bottom:1rem !important;padding:.45rem 0 .55rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important;line-height:1.35}
.customer-form-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1.25rem 1rem !important}
.customer-form-grid > .form-grid-row{display:contents !important}
.customer-form-grid .form-section-title,.dashboard-customer-form .form-section-title,#newCustForm .form-section-title{grid-column:1 / -1 !important;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.customer-form-grid .form-grid-row{gap:1rem !important;margin:0 !important}
.customer-form-grid .form-section-title{margin-top:1rem !important;margin-bottom:1rem !important;padding:.45rem 0 .55rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important;line-height:1.35}
.customer-form-grid .form-section-title + *{margin-top:0 !important;padding-top:0 !important}
.customer-form-grid .form-grid-row + .form-grid-row{margin-top:0.25rem !important}
.dashboard-customer-form{row-gap:1rem !important;column-gap:1rem !important}
.dashboard-customer-form > div,.dashboard-customer-form .form-grid-row{margin-top:0 !important;margin-bottom:0 !important}
.dashboard-customer-form .form-section-title{margin-top:1rem !important;margin-bottom:1rem !important;padding:.45rem 0 .55rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important;line-height:1.35}
.dashboard-customer-form .form-section-title + *{margin-top:0 !important;padding-top:0 !important}
#newCustForm .form-section-title{margin-top:1rem !important;margin-bottom:1rem !important;padding-top:0.6rem !important;padding-bottom:0.6rem !important;line-height:1.35}
#newCustForm .form-section-title + *{margin-top:0 !important;padding-top:0 !important}
.registration-form-grid > h3 + .field-compact,.profile-form-grid > h3 + .field-compact{margin-top:1rem !important}
.registration-form-grid > h3 + .form-compact-row,.profile-form-grid > h3 + .form-compact-row{padding-top:1rem !important}
.registration-form-grid > h3 + *,.profile-form-grid > h3 + *{margin-top:0.75rem !important}
#newCustForm{row-gap:1rem !important;column-gap:1rem !important}
#newCustForm > div:not([id]){margin:0 !important}
#newCustForm label{line-height:1.25;margin-top:0 !important}
.registration-form-grid > h3,.profile-form-grid > h3{grid-column:1 / -1 !important;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}

/* Direcciones: calle y suite completas; ciudad y estado simetricos; ZIP en la fila siguiente */
.registration-form-grid > .field-compact:has(#reg_address),.registration-form-grid > .field-compact:has(#reg_address_2),
.profile-form-grid .field-compact:has(#colibri_address),.profile-form-grid .field-compact:has(#colibri_address_2),
.customer-form-grid .form-grid-row:has(#cf_address),.customer-form-grid .form-grid-row:has(#cf_address_2),
.dashboard-customer-form > div:has(#cf_address),.dashboard-customer-form > div:has(#cf_address_2){grid-column:1 / -1 !important}
.customer-form-grid .form-grid-row:has(#cf_address) > *, .customer-form-grid .form-grid-row:has(#cf_address_2) > *{grid-column:1 / -1 !important}
.customer-form-grid .form-grid-row > div:has(> #cf_address),.customer-form-grid .form-grid-row > div:has(> #cf_address_2),.customer-form-grid .form-grid-row > div:has(> #cf_billing_address),.customer-form-grid .form-grid-row > div:has(> #cf_billing_address_2){grid-column:1 / -1 !important;width:100% !important}
.registration-form-grid > .form-compact-row:has(#reg_city),.profile-form-grid > .form-compact-row:has(#colibri_city){display:contents !important}
.registration-form-grid > .form-compact-row:has(#reg_city) > .field-compact,.profile-form-grid > .form-compact-row:has(#colibri_city) > .field-compact{grid-column:span 1 !important}
.registration-form-grid > .form-compact-row:has(#reg_zip) > .field-compact,.profile-form-grid > .form-compact-row:has(#colibri_zip) > .field-compact{grid-column:span 1 !important}
.customer-form-grid .compact-input,.customer-form-grid .compact-select,.dashboard-customer-form .compact-input,.dashboard-customer-form .compact-select,
.registration-form-grid input,.registration-form-grid select,.registration-form-grid textarea,
.profile-form-grid input,.profile-form-grid select,.profile-form-grid textarea,
.checkout-customer-form input,.checkout-customer-form select,.checkout-customer-form textarea {width:100% !important;max-width:none !important;min-width:0 !important;height:42px !important;padding:.7rem .8rem !important;border:1.5px solid #797979 !important;border-radius:10px !important;box-sizing:border-box !important;outline:none !important}
.customer-form-grid .compact-input,.customer-form-grid .compact-select,.dashboard-customer-form .compact-input,.dashboard-customer-form .compact-select{height:42px !important}
.registration-form-grid input:focus,.registration-form-grid select:focus,.registration-form-grid textarea:focus,
.profile-form-grid input:focus,.profile-form-grid select:focus,.profile-form-grid textarea:focus,
.checkout-customer-form input:focus,.checkout-customer-form select:focus,.checkout-customer-form textarea:focus,
.customer-form-grid .compact-input:focus,.customer-form-grid .compact-select:focus,.dashboard-customer-form .compact-input:focus,.dashboard-customer-form .compact-select:focus{border-color:#797979 !important;box-shadow:0 0 0 2px rgba(121,121,121,.15) !important}
.customer-form-grid .compact-label,.dashboard-customer-form .compact-label{font-size:.8rem !important;line-height:1.3 !important;margin-bottom:.35rem !important;white-space:normal !important;overflow-wrap:anywhere}
.dashboard-customer-form > div:has(> #cf_address),.dashboard-customer-form > div:has(> #cf_address_2),.dashboard-customer-form > div:has(> #cf_billing_address),.dashboard-customer-form > div:has(> #cf_billing_address_2){grid-column:1 / -1 !important;width:100% !important}
#newCustForm > div:has(#nc_address),#newCustForm > div:has(#nc_address_2){grid-column:span 1 !important}
#newCustForm #nc_address,#newCustForm #nc_address_2,#newCustForm #nc_billing_address,#newCustForm #nc_billing_address_2{grid-column:span 1 !important}

/* Separacion visible entre cada titulo y la primera fila de campos */
.registration-form-grid > h3,.profile-form-grid > h3,.customer-form-grid .form-section-title,.dashboard-customer-form .form-section-title,#newCustForm .form-section-title{margin-bottom:1.25rem !important}
.customer-form-grid #cf_address,.customer-form-grid #cf_address_2,.customer-form-grid #cf_billing_address,.customer-form-grid #cf_billing_address_2,
.dashboard-customer-form #cf_address,.dashboard-customer-form #cf_address_2,.dashboard-customer-form #cf_billing_address,.dashboard-customer-form #cf_billing_address_2{grid-column:1 / -1 !important;width:100% !important}
#newCustForm #nc_address,#newCustForm #nc_address_2,#newCustForm #nc_billing_address,#newCustForm #nc_billing_address_2{grid-column:span 1 !important;width:100% !important}
.customer-form-grid #cf_city,.customer-form-grid #cf_state,.customer-form-grid #cf_billing_city,.customer-form-grid #cf_billing_state,
.dashboard-customer-form #cf_city,.dashboard-customer-form #cf_state,.dashboard-customer-form #cf_billing_city,.dashboard-customer-form #cf_billing_state,
#newCustForm #nc_city,#newCustForm #nc_zip,#newCustForm #nc_billing_city,#newCustForm #nc_billing_zip{grid-column:span 1 !important;width:100% !important}
.customer-form-grid #cust_zip,.customer-form-grid #cf_billing_zip,.dashboard-customer-form #cust_zip,.dashboard-customer-form #cf_billing_zip{grid-column:1 / -1 !important;width:100% !important}
.customer-form-grid #cf_billing_city,.customer-form-grid #cf_billing_state,.dashboard-customer-form #cf_billing_city,.dashboard-customer-form #cf_billing_state{grid-column:span 1 !important}
#newCustForm #nc_billing_address_section{grid-column:1 / -1 !important;width:100% !important}
#newCustForm #nc_billing_address_section > div > #nc_billing_address,#newCustForm #nc_billing_address_section > div > #nc_billing_address_2{grid-column:span 1 !important}

/* Blindaje contra estilos locales: la direccion siempre conserva el formato de referencia */
.custom-modal-card form.customer-form-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1.25rem 1rem !important}
.custom-modal-card form.customer-form-grid > .form-grid-row{display:contents !important}
.custom-modal-card form.customer-form-grid .form-section-title{grid-column:1 / -1 !important;margin-top:1.5rem !important;margin-bottom:1.25rem !important;padding:.55rem 0 .65rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important}
.custom-modal-card form.customer-form-grid #cf_address,.custom-modal-card form.customer-form-grid #cf_address_2,.custom-modal-card form.customer-form-grid #cf_billing_address,.custom-modal-card form.customer-form-grid #cf_billing_address_2{grid-column:1 / -1 !important;width:100% !important;max-width:none !important}
.custom-modal-card form.customer-form-grid .form-grid-row > div:has(> #cf_address),.custom-modal-card form.customer-form-grid .form-grid-row > div:has(> #cf_address_2),.custom-modal-card form.customer-form-grid .form-grid-row > div:has(> #cf_billing_address),.custom-modal-card form.customer-form-grid .form-grid-row > div:has(> #cf_billing_address_2){grid-column:1 / -1 !important;width:100% !important}
.custom-modal-card form.customer-form-grid #cf_city,.custom-modal-card form.customer-form-grid #cf_state,.custom-modal-card form.customer-form-grid #cf_billing_city,.custom-modal-card form.customer-form-grid #cf_billing_state{grid-column:span 1 !important;width:100% !important;max-width:none !important}
.custom-modal-card form.customer-form-grid #cust_zip,.custom-modal-card form.customer-form-grid #cf_billing_zip{grid-column:1 / -1 !important;width:100% !important;max-width:none !important}
.custom-modal-card form.customer-form-grid .compact-input,.custom-modal-card form.customer-form-grid .compact-select{width:100% !important;max-width:none !important;min-width:0 !important;height:42px !important;padding:.7rem .8rem !important}
.custom-modal-card form.dashboard-customer-form{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1.25rem 1rem !important}
.custom-modal-card form.dashboard-customer-form .form-section-title{grid-column:1 / -1 !important;margin-top:1.5rem !important;margin-bottom:1.25rem !important;padding:.55rem 0 .65rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important}
.custom-modal-card form.dashboard-customer-form #cf_address,.custom-modal-card form.dashboard-customer-form #cf_address_2,.custom-modal-card form.dashboard-customer-form #cf_billing_address,.custom-modal-card form.dashboard-customer-form #cf_billing_address_2{grid-column:1 / -1 !important;width:100% !important;max-width:none !important}
.custom-modal-card form.dashboard-customer-form > div:has(> #cf_address),.custom-modal-card form.dashboard-customer-form > div:has(> #cf_address_2),.custom-modal-card form.dashboard-customer-form > div:has(> #cf_billing_address),.custom-modal-card form.dashboard-customer-form > div:has(> #cf_billing_address_2){grid-column:1 / -1 !important;width:100% !important}
.custom-modal-card form.dashboard-customer-form #cf_city,.custom-modal-card form.dashboard-customer-form #cf_state,.custom-modal-card form.dashboard-customer-form #cf_billing_city,.custom-modal-card form.dashboard-customer-form #cf_billing_state{grid-column:span 1 !important;width:100% !important;max-width:none !important}
.custom-modal-card form.dashboard-customer-form #cust_zip,.custom-modal-card form.dashboard-customer-form #cf_billing_zip{grid-column:1 / -1 !important;width:100% !important;max-width:none !important}
#modal_beaver_customer form#newCustForm .form-section-title{grid-column:1 / -1 !important;margin-top:1.5rem !important;margin-bottom:1.25rem !important;padding:.55rem 0 .65rem !important;background:transparent !important;color:var(--ink,#2a1430) !important;border-bottom:2px solid var(--line,#f3dceb) !important;border-radius:0 !important}
#modal_beaver_customer form#newCustForm #nc_address,#modal_beaver_customer form#newCustForm #nc_address_2,#modal_beaver_customer form#newCustForm #nc_billing_address,#modal_beaver_customer form#newCustForm #nc_billing_address_2{grid-column:span 1 !important}

.tv-field-label-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
.tv-form-contract input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not(.qty-input),
.tv-form-contract select,
.tv-form-contract textarea{width:100% !important;min-width:0 !important;max-width:100% !important;height:42px !important;min-height:42px !important;max-height:42px !important;box-sizing:border-box !important;border:1.5px solid #797979 !important;border-radius:10px !important;padding:.65rem .8rem !important;color:var(--ink,#2a1430) !important;background-color:#fff !important;line-height:1.25 !important}
.tv-form-contract textarea{height:84px !important;min-height:84px !important;max-height:160px !important;resize:vertical !important;overflow-y:auto !important}
.tv-form-contract .tv-password-wrap input{padding-right:3rem !important}
.tv-form-contract > div:has(> .tv-toggle),
.tv-form-contract > div:has(> label.tv-toggle){grid-column:1 / -1 !important;width:100% !important;min-width:0 !important;display:flex !important;align-items:center !important;gap:10px !important}
.tv-form-contract > div:has(> .tv-toggle) > span,
.tv-form-contract > div:has(> label.tv-toggle) > span{flex:1 1 auto !important;min-width:0 !important}
.tv-form-contract input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="date"]):not([type="datetime-local"]):not([type="time"]):not(.qty-input)::placeholder,
.tv-form-contract textarea::placeholder{color:var(--muted,#7b6a82) !important;opacity:.78 !important}
.tv-form-contract input:focus,
.tv-form-contract select:focus,
.tv-form-contract textarea:focus{border-color:#797979 !important;box-shadow:0 0 0 2px rgba(121,121,121,.15) !important;outline:none !important}
