/* Shared Authority module contract. Width follows Theme Design Settings in all niches. */
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-container{box-sizing:border-box;width:min(calc(100% - 2 * var(--asa-gutter,32px)),var(--ls-content-width,var(--wp--style--global--wide-size,1280px)));max-width:var(--ls-content-width,var(--wp--style--global--wide-size,1280px));margin-inline:auto;padding-inline:0}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-container .asa-container{width:100%;max-width:100%;margin-inline:0}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-app-faq{box-sizing:border-box;width:100%;max-width:none;margin-inline:0!important}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-section-heading{max-width:none}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] :is(.asa-section,.asa-standard-page,.asa-app-content,.asa-app-faq-wrap){padding-block:var(--asa-section-space,56px)}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-app-steps{padding-block:var(--asa-section-space,56px)!important;margin-top:0!important}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-app-faq-wrap{padding-block:var(--asa-section-space,56px)!important}
/* A default Page can contain a Core section. It must not receive two gutters/spacings. */
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-standard-page:has(>.wp-block-post-content>.ls-section){padding-block:0}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-standard-page>.wp-block-post-content>.ls-section{padding:var(--asa-section-space,56px) 0;margin-block:0;max-width:none;width:100%;box-sizing:border-box}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-standard-page>.wp-block-post-content>.ls-section>:not(.alignleft):not(.alignright){max-width:100%;margin-inline:0}
@media(max-width:782px){:is(body,.editor-styles-wrapper)[class*="asa-style-"]{--asa-section-space:36px}}

/* ASA-CONTACT-001: native blocks, theme tokens and the shared content-width contract. */
.asa-contact-page { color: var(--ls-color-text); }
.asa-contact-page :is(.wp-block-columns,.wp-block-column) { min-width: 0; }
.asa-contact-page .asa-contact-columns { gap: clamp(28px,5vw,72px); align-items: flex-start; margin: 0; }
.asa-contact-page .asa-contact-introduction { flex-basis: 43%; }
.asa-contact-page .asa-contact-form-column { flex-basis: 57%; }
.asa-contact-page .asa-contact-eyebrow { color: var(--ls-color-primary); font-size: 15px; font-weight: 700; letter-spacing: .1em; line-height: 1.5; margin: 0 0 16px; }
.asa-contact-page .asa-contact-introduction > h2 { font-size: clamp(30px,3vw,42px); line-height: 1.14; margin: 0 0 22px; }
.asa-contact-page .asa-contact-intro { font-size: 18px; line-height: 1.7; margin-bottom: 30px; }
.asa-contact-page .asa-contact-reason { display: flex; gap: 16px; align-items: flex-start; margin: 24px 0; }
.asa-contact-page .asa-contact-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 48px; height: 48px; padding: 11px; box-sizing: border-box; border-radius: 15px; color: var(--ls-color-primary); background: color-mix(in srgb,var(--ls-color-primary) 8%,var(--ls-color-surface,#fff)); }
.asa-contact-page .asa-contact-reason-copy { margin: 0; min-width: 0; }
.asa-contact-page .asa-contact-reason h3 { font-size: 21px; line-height: 1.3; margin: 0 0 8px; }
.asa-contact-page .asa-contact-reason p { font-size: 16px; line-height: 1.65; margin: 0; }
.asa-contact-page .asa-contact-email { display: flex; align-items: center; gap: 16px; padding-top: 26px; margin-top: 30px; border-top: 1px solid var(--ls-color-border); }
.asa-contact-page .asa-contact-email-copy { min-width: 0; margin: 0; }
.asa-contact-page .asa-contact-email p { margin: 0; overflow-wrap: anywhere; }
.asa-contact-page .asa-contact-email-label { font-size: 15px; }
.asa-contact-page .asa-contact-email a { font-size: 17px; font-weight: 650; }
.asa-contact-page .asa-contact-form-card { padding: clamp(24px,3vw,40px); background: color-mix(in srgb,var(--ls-color-primary) 5%,var(--ls-color-surface,#fff)); border: 1px solid var(--ls-color-border); border-radius: 24px; box-shadow: 0 16px 45px color-mix(in srgb,var(--ls-color-primary) 6%,transparent); }
.asa-contact-page .asa-contact-form-card h2 { font-size: 30px; margin: 0 0 12px; }
.asa-contact-page .asa-contact-form-intro { font-size: 16px; line-height: 1.65; margin: 0 0 26px; }
.asa-contact-page .ls-contact-form__fields { gap: 20px 18px; }
.asa-contact-page .ls-form-field:has(input[name="order_number"]) { grid-column: 1 / -1; }
.asa-contact-page .ls-form-field label > span:first-child { font-size: 15px; margin-bottom: 8px; }
.asa-contact-page .ls-form-field :is(input,textarea,select) { font-size: 16px; border-radius: 9px; border-color: color-mix(in srgb,var(--ls-color-primary) 28%,var(--ls-color-surface,#fff)); padding: 12px 14px; min-height: 48px; }
.asa-contact-page .ls-form-field textarea { min-height: 144px; resize: vertical; }
.asa-contact-page .ls-form-field :is(input,textarea,select):focus-visible { outline: 2px solid var(--ls-color-primary); outline-offset: 3px; }
.asa-contact-page .ls-module-contact-form > button { width: 100%; margin-top: 24px; padding: 15px 24px; border-radius: 9px; font-size: 17px; font-weight: 650; }
.asa-contact-page .ls-contact-form__status:not(:empty) { padding: 14px; background: var(--ls-color-surface,#fff); border: 1px solid var(--ls-color-border); border-radius: 9px; line-height: 1.6; }
.asa-contact-page .asa-contact-privacy { font-size: 15px; line-height: 1.65; margin: 18px 0 0; }
.asa-contact-page .asa-contact-help { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 56px 0; padding: 30px 32px; background: color-mix(in srgb,var(--ls-color-accent) 13%,var(--ls-color-surface,#fff)); border: 1px solid color-mix(in srgb,var(--ls-color-accent) 45%,var(--ls-color-border)); border-radius: 18px; }
.asa-contact-page .asa-contact-help-copy { flex: 1; min-width: 0; }
.asa-contact-page .asa-contact-help .asa-contact-eyebrow { margin-bottom: 10px; }
.asa-contact-page .asa-contact-help h3 { font-size: 25px; margin: 0 0 10px; }
.asa-contact-page .asa-contact-help p:last-child { margin-bottom: 0; font-size: 16px; }
.asa-contact-page .asa-contact-help .wp-block-buttons { flex-wrap: wrap; flex-shrink: 0; margin: 0; gap: 12px; }
.asa-contact-page .asa-contact-help .wp-block-button__link { font-size: 16px; padding: 13px 19px; }
.asa-contact-page .asa-contact-faq { width: 100%; max-width: none; margin: 0; padding: 32px; border: 1px solid var(--ls-color-border); border-radius: 18px; box-sizing: border-box; }
.asa-contact-page .asa-contact-faq h2 { margin: 0 0 26px; font-size: 30px; }
.asa-contact-page .ls-module-faq { width: 100%; max-width: none; }
.asa-contact-page .ls-faq-item { border-bottom: 1px solid var(--ls-color-border); }
.asa-contact-page .ls-faq-item:last-child { border-bottom: 0; }
.asa-contact-page .ls-faq-item summary { padding-block: 20px; font-size: 18px; line-height: 1.5; }
.asa-contact-page .ls-faq-item__answer { font-size: 16px; line-height: 1.7; padding-bottom: 20px; }
.asa-contact-page .ls-faq-item__answer p:last-child { margin-bottom: 0; }
.asa-contact-native-editor .ls-module-editor-placeholder { display: none; }
.asa-contact-editor-preview { pointer-events: none; }
.asa-contact-native-editor .asa-contact-form { margin: 0; }
@media(max-width:1050px) {
 .asa-contact-page .asa-contact-help { align-items: flex-start; flex-direction: column; }
}
@media(max-width:781px) {
 .asa-contact-page .asa-contact-columns { gap: 36px; }
 .asa-contact-page .asa-contact-form-card { padding: 24px; border-radius: 18px; }
 .asa-contact-page .asa-contact-help { margin-block: 36px; padding: 24px; }
 .asa-contact-page .asa-contact-faq { padding: 24px; }
 .asa-contact-page .asa-contact-help .wp-block-buttons { width: 100%; }
 .asa-contact-page .asa-contact-help .wp-block-button { flex: 1 1 180px; }
 .asa-contact-page .asa-contact-help .wp-block-button__link { width: 100%; box-sizing: border-box; }
 .asa-contact-page .ls-contact-form__fields { grid-template-columns: 1fr; }
}
.asa-contact-native-editor .asa-contact-edit-button { margin: 0 0 18px; font: 500 13px/1.4 system-ui,sans-serif; }
/* ASA-PAGE-002: editable native introductions for policy and information pages. */
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-info-hero{box-sizing:border-box;margin-block:0;min-height:300px;padding:76px 0;border-radius:0}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-info-hero .wp-block-cover__inner-container{width:100%;max-width:none}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-info-hero h1{max-width:none;font-size:clamp(32px,3.8vw,50px);line-height:1.15}
:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-info-hero p{max-width:none}
@media(max-width:782px){:is(body,.editor-styles-wrapper)[class*="asa-style-"] .asa-info-hero{min-height:0!important;padding-block:76px!important}}

/* ASA-UX-017: final CTA alignment across the authored niche styles. */
:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final) .wp-block-columns>.wp-block-column,.asa-home-cta-layout>.wp-block-column{align-self:center!important}
:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final){position:relative;isolation:isolate;overflow:hidden}
:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)>.asa-container{position:relative;z-index:1}
:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)::before,:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)::after{content:"";position:absolute;right:-40px;top:-100px;width:360px;height:360px;border:1px solid color-mix(in srgb,var(--wp--preset--color--surface) 21.96%,transparent);border-radius:70px;transform:rotate(-22deg);pointer-events:none;z-index:0}
:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)::after{right:180px;top:120px;width:240px;height:240px;border-radius:48px;background:linear-gradient(135deg,color-mix(in srgb,var(--wp--preset--color--surface) 7.06%,transparent),transparent);transform:rotate(22deg)}
.asa-style-ai-prism .ai-final::before,.asa-style-ai-prism .ai-final::after{border-color:color-mix(in srgb,var(--wp--preset--color--primary) 15.69%,transparent);background:linear-gradient(140deg,color-mix(in srgb,var(--wp--preset--color--surface) 53.33%,transparent),color-mix(in srgb,var(--wp--preset--color--border) 9.41%,transparent))}
@media(max-width:782px){:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)::before{right:-230px}:is(.asa-style-clear-campaign .im-final,.asa-style-ai-prism .ai-final)::after{right:-100px;opacity:.5}}
