/* V76 balanced form refinement. Builds on the approved V75 left composition.
   Restore the V70 type scale, stacked fields and centered 1440px composition.
   Fit the available window by reclaiming whitespace, never by scaling the UI.
   The 1440 x 900 contextual ALVARO art geometry remains in forms-journey.css.
   Overflow is intentional below the practical desktop floor, with validation,
   expanded policy text, browser zoom, or a manually enlarged textarea. */
.alma-forms{overflow:auto}
.alma-forms .af-field input,.alma-forms .af-field textarea{font-size:16px;min-height:44px}
.alma-forms .af-field input[type="file"]{font-size:16px;max-width:100%}
.alma-forms .af-error{overflow-wrap:anywhere}
.alma-forms .af-legal-note[hidden]{display:none!important}

@media(min-width:1000px){
 /* Keep the approved left column, art and grid tracks exactly where they are.
    Only the right form becomes 40px narrower and moves 32px toward the center. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form{position:relative;left:-32px;width:calc(100% - 40px)}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form{left:-32px;width:calc(100% - 40px)}
 /* Original horizontal balance and typography. No paired/miniature fields. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-page{padding:28px 64px 24px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-back{margin-top:20px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-grid{grid-template-columns:minmax(0,1fr) minmax(0,576px);gap:64px;margin-top:28px;padding-bottom:24px;align-items:start}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-intro{padding-top:48px;min-width:0}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form{display:block;min-width:0;margin:0}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-preview{margin-bottom:14px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field{margin-bottom:12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field input{height:46px;min-height:46px;line-height:24px;padding:10px 0 11px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field textarea{height:80px;min-height:80px;line-height:24px;padding:10px 0 11px;resize:vertical}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-consent{margin:20px 0 18px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-policy{display:block;text-align:left;line-height:18px;margin:6px 0 0 30px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form>.af-note{margin:12px 0 0}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-error{margin:8px 0}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-footer{padding-top:16px}

 /* Keep the generic unsent preview centered, not split into opposing corners. */
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success{padding:40px 0 24px;text-align:center}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-preview{margin:0 0 14px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>h1{margin-bottom:20px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>p:not(.af-preview){margin:0 0 16px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy{max-width:660px;margin:16px auto 20px;padding:16px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy h2{margin:10px 0}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy p{margin:8px 0}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-text{margin:16px auto 0}

 /* Halve only the 76px upper gap, lifting the complete invitation and
    proposal row together by 38px. Type sizes and internal spacing stay V75. */
 .alma-forms[data-route="designers"] .af-landing{padding-top:38px}
 .alma-forms[data-route="designers"] .af-landing>.af-note{margin-bottom:16px}
 .alma-forms[data-route="designers"] .af-author{margin:24px auto 12px}
 .alma-forms[data-route="designers"] .af-author h2{margin:16px 0}
 .alma-forms[data-route="designers"] .af-page{padding-bottom:16px}
 .alma-forms[data-route="designers"] .af-footer{padding-top:10px;line-height:16px}
}

@media(min-width:1000px) and (max-width:1199px){
 /* A smaller correction preserves comfortable field widths on small desktops. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form{left:-16px;width:calc(100% - 24px)}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form{left:-16px;width:calc(100% - 24px)}
 /* Avoid a narrow left column at the small-desktop breakpoint. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-page{padding-left:48px;padding-right:48px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:40px}
}

@media(min-width:1000px) and (max-height:850px){
 /* Laptop variant changes rhythm, not type or the two-column composition. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-page{padding-top:24px;padding-bottom:20px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-back{margin-top:12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-grid{margin-top:16px;padding-bottom:12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-preview{margin-bottom:12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field{margin-bottom:8px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field input{height:44px;min-height:44px;padding:9px 0 10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field textarea{height:72px;min-height:72px;padding:9px 0 10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-consent{margin:16px 0 12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form>.af-note{margin-top:10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-footer{padding-top:12px;line-height:16px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success{padding:24px 0 16px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-preview{margin-bottom:10px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-note{margin-bottom:12px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy{margin:12px auto;padding:12px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy h2{margin:8px 0}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy p{margin:4px 0}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-text{margin-top:12px}
}

@media(min-width:1000px) and (max-height:767px){
 /* A 720px-high laptop can still keep every short form at full type size. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-page{padding-top:20px;padding-bottom:12px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-back{margin-top:8px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-grid{margin-top:12px;padding-bottom:10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-preview{margin-bottom:10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field{margin-bottom:6px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-field textarea{height:64px;min-height:64px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-consent{margin:12px 0 10px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-form>.af-note{margin-top:8px}
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-footer{padding-top:10px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success{padding:20px 0 12px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-note{margin-bottom:10px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-future-copy{margin:10px auto;padding:10px}
 .alma-forms[data-route="preview"]:not([data-presentation^="alvaro-"]) .af-success>.af-text{margin-top:10px}
 .alma-forms[data-route="designers"] .af-author{margin-top:16px;margin-bottom:8px}
 .alma-forms[data-route="designers"] .af-author h2{margin-top:12px;margin-bottom:12px}
}

@media(min-width:1000px) and (max-height:899px){
 /* Same approved 44/19px type and art size. For windows >=720px tall,
    request feet remain viewport-height minus 153px; preview feet minus 252px.
    At shorter heights, keep a 720px canvas and allow natural scrolling. */
 .alma-forms[data-presentation^="alvaro-"] .af-context-page{min-height:max(720px,100%)}
 .alma-forms[data-presentation="alvaro-request"] .af-context-main{margin-top:clamp(28px,calc(100dvh - 692px),76px);min-height:max(568px,calc(100dvh - 200px))}
 .alma-forms[data-presentation="alvaro-request"] .af-context-intro{min-height:0}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form h2{margin-bottom:24px}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form .af-field{margin-bottom:12px}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form .af-field:has(textarea){margin-bottom:0}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form .af-field textarea{height:64px;min-height:64px}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form .af-consent{margin-top:24px}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form>.af-note{margin-top:16px}
 .alma-forms[data-presentation="alvaro-request"] .af-context-form .af-error{margin:8px 0}

 .alma-forms[data-presentation="alvaro-preview"] .af-context-success{margin-top:clamp(52px,calc(100dvh - 761px),139px);min-height:max(510px,calc(100dvh - 263px))}
 .alma-forms[data-presentation="alvaro-preview"] .af-preview-check{margin-bottom:24px}
 .alma-forms[data-presentation="alvaro-preview"] .af-context-success h1{margin-bottom:24px}
 .alma-forms[data-presentation="alvaro-preview"] .af-context-success-copy>p{margin-bottom:16px}
 .alma-forms[data-presentation="alvaro-preview"] .af-context-actions{margin-top:40px;gap:20px}
 .alma-forms[data-presentation="alvaro-preview"] .af-context-success-product{margin-top:clamp(31px,calc(100dvh - 689px),124px)}
 .alma-forms[data-presentation="alvaro-preview"] .af-context-success-product figcaption{margin-top:32px}
}

/* Do not impose desktop canvas heights, grids or fixed footers on mobile.
   Native forms-journey.css breakpoints retain their natural document flow. */

/* The proposal control keeps a stationary, unpainted 44px hit area.
   Only its label lifts. Never inherit underline feedback from link helpers. */
.alma-forms[data-route="designers"] .af-author [data-af-route="author"]{display:inline-flex;align-items:center;min-height:44px;text-decoration:none!important;translate:none!important;transform:none!important;box-shadow:none!important;background:transparent!important}
.alma-forms[data-route="designers"] .af-author-label{display:inline-block;text-decoration:none!important;translate:0 0;transition:translate .3s ease,opacity .3s ease}
.alma-forms[data-route="designers"] .af-author [data-af-route="author"]:is(:hover,:focus-visible) .af-author-label{translate:0 -2px;opacity:.8}
@media(prefers-reduced-motion:reduce){.alma-forms[data-route="designers"] .af-author-label{translate:none!important;transition:none!important}}
.no-motion .alma-forms[data-route="designers"] .af-author-label{translate:none!important;transition:none!important}

/* V79 submit refinement: lower only submit plaques by 8px; retain all type,
   fields, artwork, and preview/navigation actions. Reuse existing demo notes. */
.alma-forms .af-form>.af-primary[type="submit"]{margin-top:8px}
@media(min-width:1000px) and (max-height:767px){
 /* Trade the existing 10px lower grid padding for the new 8px CTA gap.
    Overall short-desktop form canvas is unchanged, including five-field forms. */
 .alma-forms[data-route]:not([data-route="designers"]):not([data-route="care"]):not([data-presentation^="alvaro-"]) .af-grid{padding-bottom:2px}
}
