.storefront-shell .store-dynamic-form { margin-top:24px; border:1px solid var(--store-border,#d8dee8); border-radius:16px; padding:clamp(18px,3vw,32px); background:var(--store-surface,#fff); }
.storefront-shell .store-dynamic-form-heading { margin-bottom:20px; }
.storefront-shell .store-dynamic-form-heading h2 { margin:0 0 6px; }
.storefront-shell .store-dynamic-form-heading p { margin:0; opacity:.75; }
.storefront-shell .store-dynamic-form-selector { display:grid; gap:7px; max-width:520px; margin-bottom:22px; }
.storefront-shell .store-dynamic-form-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.storefront-shell .store-dynamic-field { display:grid; gap:7px; min-width:0; }
.storefront-shell .store-dynamic-field.width-cuarto { grid-column:span 3; }
.storefront-shell .store-dynamic-field.width-tercio { grid-column:span 4; }
.storefront-shell .store-dynamic-field.width-medio { grid-column:span 6; }
.storefront-shell .store-dynamic-field.width-dos-tercios { grid-column:span 8; }
.storefront-shell .store-dynamic-field.width-completo { grid-column:1/-1; }
.storefront-shell .store-dynamic-field > label,.storefront-shell .store-dynamic-field legend,.storefront-shell .store-dynamic-form-selector > span { font-weight:700; }
.storefront-shell .store-dynamic-field label span[aria-hidden],.storefront-shell .store-dynamic-field legend span[aria-hidden] { color:#c92a2a; }
.storefront-shell .store-dynamic-field input:not([type=checkbox]):not([type=radio]),.storefront-shell .store-dynamic-field select,.storefront-shell .store-dynamic-field textarea,.storefront-shell .store-dynamic-form-selector select { box-sizing:border-box; width:100%; max-width:100%; min-height:46px; border:1px solid var(--store-border,#cdd5df); border-radius:9px; padding:10px 12px; background:var(--store-input-bg,#fff); color:inherit; }
.storefront-shell .store-dynamic-field select,.storefront-shell .store-dynamic-form-selector select { -webkit-appearance:none; appearance:none; padding-right:42px!important; background-color:var(--store-input-bg,#fff); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%23475467' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:14px 9px; }
.storefront-shell .store-dynamic-field input[type=number] { appearance:textfield; -moz-appearance:textfield; border-radius:9px!important; }
.storefront-shell .store-dynamic-field input[type=number]::-webkit-inner-spin-button,.storefront-shell .store-dynamic-field input[type=number]::-webkit-outer-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.storefront-shell .store-dynamic-field textarea { min-height:130px; resize:vertical; }
.storefront-shell .store-dynamic-type-text > input { width:min(520px,100%)!important; }
.storefront-shell .store-dynamic-type-email > input { width:min(420px,100%)!important; }
.storefront-shell .store-dynamic-type-tel > input { width:min(280px,100%)!important; }
.storefront-shell .store-dynamic-type-date > input,.storefront-shell .store-dynamic-type-datetime > input { width:min(240px,100%)!important; }
.storefront-shell .store-dynamic-type-select > select { width:min(420px,100%)!important; }
.storefront-shell .store-dynamic-type-year > select { width:min(150px,100%)!important; }
.storefront-shell .store-dynamic-type-number > input { width:min(260px,100%)!important; }
.storefront-shell .store-dynamic-field-short-number > input[type=number],.storefront-shell .store-dynamic-field-short-choice > select { width:min(120px,100%)!important; }
.storefront-shell .store-dynamic-field fieldset { border:0; padding:0; margin:0; }
.storefront-shell .store-dynamic-type-section { grid-column:1/-1; margin-top:10px; }
.storefront-shell .store-dynamic-section-title { margin:0; padding:0 0 10px; border-bottom:1px solid var(--store-border,#d8dee8); font-size:1.08rem; }
.storefront-shell .store-dynamic-address { width:100%; }
.storefront-shell .store-dynamic-address-grid { display:grid; gap:16px; margin-top:12px; }
.storefront-shell .store-dynamic-address-grid label { display:grid; gap:7px; width:100%; font-weight:700; }
.storefront-shell .store-dynamic-address-grid .store-address-line input { width:min(620px,100%)!important; }
.storefront-shell .store-dynamic-address-grid .store-address-country select { width:min(320px,100%)!important; }
.storefront-shell .store-dynamic-address-grid .store-address-province select,.storefront-shell .store-dynamic-address-grid .store-address-city input { width:min(360px,100%)!important; }
.storefront-shell .store-dynamic-address-grid .store-address-postal input { width:min(140px,100%)!important; }
.storefront-shell .store-dynamic-choice-list { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:10px; }
.storefront-shell .store-dynamic-choice-list label,.storefront-shell .store-dynamic-check { display:flex; align-items:center; gap:8px; font-weight:500; }
.storefront-shell .store-privacy-consent { flex-wrap:wrap; gap:5px; }
.storefront-shell .store-privacy-consent label { cursor:pointer; }
.storefront-shell .store-privacy-link { appearance:none; border:0; padding:0; background:transparent; color:var(--store-link,#126b43); font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }
.storefront-shell .store-privacy-link:hover { text-decoration-thickness:2px; }
.storefront-shell .store-required-mark { color:#c92a2a; font-weight:700; }
.storefront-shell .store-privacy-modal-backdrop { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:20px; background:rgba(10,18,16,.62); backdrop-filter:blur(3px); }
.storefront-shell .store-privacy-modal { box-sizing:border-box; width:min(720px,100%); max-height:min(760px,calc(100vh - 40px)); overflow:hidden; border:1px solid var(--store-border,#d8dee8); border-radius:14px; background:var(--store-surface,#fff); color:inherit; box-shadow:0 24px 80px rgba(0,0,0,.28); }
.storefront-shell .store-privacy-modal > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 18px; border-bottom:1px solid var(--store-border,#d8dee8); }
.storefront-shell .store-privacy-modal > header small { display:block; margin-bottom:4px; color:var(--store-link,#126b43); font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.storefront-shell .store-privacy-modal h2 { margin:0; }
.storefront-shell .store-privacy-modal-close { flex:0 0 40px; width:40px; height:40px; border:1px solid var(--store-border,#d8dee8); border-radius:50%; background:transparent; color:inherit; font-size:1.7rem; line-height:1; cursor:pointer; }
.storefront-shell .store-privacy-modal-content { max-height:calc(100vh - 230px); overflow:auto; padding:20px 24px; }
.storefront-shell .store-privacy-modal-content h3 { margin:20px 0 6px; font-size:1.05rem; }
.storefront-shell .store-privacy-modal-content h3:first-child { margin-top:0; }
.storefront-shell .store-privacy-modal-content p { margin:0; line-height:1.65; }
.storefront-shell .store-privacy-modal > footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-top:1px solid var(--store-border,#d8dee8); }
.storefront-shell .store-privacy-modal > footer .store-action-primary { min-width:120px; }
.storefront-shell .store-dynamic-field small { opacity:.7; }
.storefront-shell .store-dynamic-form-actions { margin-top:24px; display:flex; justify-content:flex-end; }
.storefront-shell .store-dynamic-form-actions button { min-width:220px; }
.storefront-shell .store-dynamic-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media(max-width:700px){.storefront-shell .store-dynamic-form-grid{grid-template-columns:1fr}.storefront-shell .store-dynamic-field[class*="width-"]{grid-column:auto}.storefront-shell .store-dynamic-form-actions button{width:100%;min-width:0}.storefront-shell .store-privacy-modal-backdrop{padding:10px}.storefront-shell .store-privacy-modal{max-height:calc(100vh - 20px)}.storefront-shell .store-privacy-modal-content{max-height:calc(100vh - 220px)}.storefront-shell .store-privacy-modal>footer{align-items:stretch;flex-direction:column}.storefront-shell .store-privacy-modal>footer .store-action-primary{width:100%}}
