/*
Theme Name: ARFID Calm
Description: Accessible block theme for The Australian Centre for ARFID.
Version: 1.4.1
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: arfid-calm
License: GPL-2.0-or-later
*/
:root{--arfid-bg:#f6f3e9;--arfid-paper:#fffdf7;--arfid-ink:#253d32;--arfid-muted:#52695b;--arfid-sage:#e0e9dd;--arfid-accent:#315e4b;--arfid-line:#7c947e;--arfid-button-text:#fffdf7;--arfid-header-height:78px;--arfid-admin-offset:0px;color-scheme:light}
body{background:var(--arfid-bg);color:var(--arfid-ink);margin:0;font-family:"Trebuchet MS",Verdana,sans-serif;font-size:18px;line-height:1.7}
*{box-sizing:border-box}a{color:var(--arfid-accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--arfid-accent);outline-offset:4px}
.wp-site-blocks>*,.wp-block-post-content>*{margin-block-start:0}
.arfid-header,.arfid-footer,.arfid-section{padding:clamp(32px,6vw,80px) max(24px,calc((100vw - 1440px)/2))}
.arfid-header{padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--arfid-line)}
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:var(--arfid-admin-offset);z-index:20;background:var(--arfid-bg)}body.admin-bar{--arfid-admin-offset:32px}
.arfid-section{min-height:calc(100vh - var(--arfid-header-height) - var(--arfid-admin-offset));min-height:calc(100dvh - var(--arfid-header-height) - var(--arfid-admin-offset));display:flex;flex-direction:column;justify-content:center;scroll-margin-top:calc(var(--arfid-header-height) + var(--arfid-admin-offset) + 16px)}
.arfid-section>*{width:100%}.arfid-section.arfid-contact-section{gap:24px}.arfid-contact-section>.wp-block-columns{align-items:flex-start}
.arfid-header-row{display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1440px;margin:auto}
.arfid-brand{font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.03em;max-width:260px;margin:0}.arfid-brand a{text-decoration:none;color:var(--arfid-ink)}
.arfid-header .wp-block-navigation{font-size:16px}.arfid-header .wp-block-navigation-item__content{color:var(--arfid-ink)}
.arfid-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--arfid-bg)!important;color:var(--arfid-ink)!important;padding:32px!important}.arfid-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:var(--arfid-ink)!important}
.arfid-section>*{max-width:1440px;margin-left:auto;margin-right:auto}.arfid-section>.wp-block-columns{gap:clamp(24px,5vw,72px);max-width:1440px;align-items:center;margin-block:0}
.arfid-section h1{font-size:clamp(48px,5.4vw,92px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:.3em 0 .5em}.arfid-section h2{font-size:clamp(34px,3.5vw,58px);letter-spacing:-.035em;font-weight:400;line-height:1.2;margin:0 0 24px}.arfid-section h3{font-size:28px;font-weight:400;line-height:1.3;margin:0 0 12px}
.arfid-hero{padding-top:56px;padding-bottom:64px}.arfid-hero p{max-width:34em}.arfid-hero .wp-block-image img{width:100%;height:440px;object-fit:cover;border-radius:16px}.arfid-hero .wp-block-column:first-child{flex-basis:45%}.arfid-hero .wp-block-column:last-child{flex-basis:55%}
.arfid-icon{display:inline-flex;width:68px;height:68px;align-items:center;justify-content:center;border-radius:16px;background:var(--arfid-sage);color:var(--arfid-accent);margin-bottom:18px}.arfid-icon svg{width:36px;height:36px;fill:currentColor}.arfid-soft .arfid-icon{background:var(--arfid-paper)}
.arfid-audiences{align-items:stretch!important;gap:24px!important}.arfid-audiences>.wp-block-column{background:var(--arfid-paper);border-radius:16px;padding:44px}.arfid-audiences p{font-size:inherit}.arfid-page-intro{max-width:780px;margin:0}.arfid-pathway-step{margin-block:32px!important;padding-left:24px;border-left:3px solid var(--arfid-line)}
.arfid-section .wp-block-details{max-width:1100px;margin-block:0;border-bottom:1px solid var(--arfid-line);padding:28px 0}.arfid-section .wp-block-details summary{font-size:25px;cursor:pointer;line-height:1.5}.arfid-section .wp-block-details p{padding:10px 0 0;max-width:70ch}.arfid-contact-preview a{color:var(--arfid-accent)}.arfid-contact-preview button:not(:disabled){background:var(--arfid-accent);color:var(--arfid-button-text);cursor:pointer}.arfid-contact-preview button:disabled{cursor:wait;opacity:.75}.arfid-contact-preview [role=status]:empty{display:none}.arfid-footer .wp-block-columns{align-items:flex-start!important}.arfid-footer .wp-block-column:first-child{flex-basis:60%}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.wp-block-button__link,.arfid-contact-preview button,.arfid-icon{transition:transform .2s ease,background-color .2s ease}.wp-block-button__link:hover,.arfid-contact-preview button:hover{transform:translateY(-2px)}}
.arfid-kicker{color:var(--arfid-muted);font-size:17px;margin-bottom:16px}.arfid-intro{max-width:1000px!important;font-size:clamp(25px,2.7vw,38px);line-height:1.6;letter-spacing:-.02em;padding-block:12px}
.arfid-soft{background:var(--arfid-sage)}.arfid-section .wp-block-image{margin:0}.arfid-section .wp-block-image img{height:auto;max-width:100%;display:block}.arfid-diagram img{border-radius:16px}
.arfid-team-grid{align-items:stretch!important;gap:40px!important}.arfid-team-grid .wp-block-column{padding-top:20px;border-top:1px solid var(--arfid-line)}
.wp-block-button__link,.arfid-screen button{border:1px solid var(--arfid-accent);border-radius:12px;padding:16px 28px;display:inline-block;background:var(--arfid-accent);color:var(--arfid-button-text);font:600 18px/1.4 "Trebuchet MS",Verdana,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
.wp-block-button__link{display:inline-flex;align-items:center;gap:10px;max-width:100%}.wp-block-button__link::after{content:"";width:18px;height:18px;flex-shrink:0;background:currentColor;mask:url("assets/icons/arrow-right.svg") center/contain no-repeat}
.wp-block-button__link:hover,.arfid-screen button:hover{filter:brightness(.92)}.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--arfid-accent);border:1px solid var(--arfid-accent)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.arfid-footer{background:var(--arfid-sage);font-size:15px}.arfid-footer p{margin:0 0 12px}
.arfid-screen{max-width:760px!important;background:var(--arfid-paper);padding:clamp(24px,4vw,48px);border:1px solid var(--arfid-line);border-radius:16px}.arfid-screen h3{font-size:26px}.arfid-screen fieldset{border:0;padding:0;margin:24px 0}.arfid-screen legend{font-size:24px;line-height:1.4;margin-bottom:20px}.arfid-screen label{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--arfid-line);border-radius:12px;margin:10px 0;cursor:pointer}.arfid-screen label:has(input:checked){background:var(--arfid-sage);border-color:var(--arfid-accent)}.arfid-screen input{width:20px;height:20px;accent-color:var(--arfid-accent);flex-shrink:0}.arfid-screen .arfid-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.arfid-screen .arfid-back{background:transparent;color:var(--arfid-accent)}.arfid-screen [hidden]{display:none!important}.arfid-screen .arfid-error{color:#9c2727}.arfid-screen .arfid-results dl{display:grid;grid-template-columns:1fr auto;gap:14px 24px}.arfid-screen dt,.arfid-screen dd{margin:0}.arfid-screen dd{font-weight:600}.arfid-screen .arfid-note{color:var(--arfid-muted);font-size:15px}.arfid-screen button:active,.wp-block-button__link:active{transform:translateY(1px)}
.arfid-contact-preview label{display:block;font-size:16px;margin:16px 0 6px}.arfid-contact-preview input,.arfid-contact-preview textarea{display:block;width:100%;border:1px solid var(--arfid-line);border-radius:12px;background:var(--arfid-paper);color:var(--arfid-ink);padding:14px;font:inherit}.arfid-contact-preview button{font:inherit;padding:12px 24px;border:1px solid var(--arfid-line);border-radius:12px;background:var(--arfid-sage);color:var(--arfid-ink)}
/* Sage and cream follow the client brief. Long content grows beyond the viewport. */
.arfid-section{font-size:clamp(18px,1.15vw,22px)}
.arfid-hero h1{font-size:clamp(46px,4.4vw,78px)}
.arfid-hero .wp-block-image img{height:clamp(420px,55dvh,620px);object-fit:cover}
.arfid-section:has(>h1)>p:not(.arfid-kicker){font-size:clamp(21px,1.7vw,28px);max-width:58ch}
.arfid-screen{max-width:960px!important;scroll-margin-top:calc(var(--arfid-header-height) + var(--arfid-admin-offset) + 16px);scroll-margin-bottom:16px}
.arfid-screen .arfid-note{font-size:16px}
.arfid-contact-preview label{font-size:18px}

.wp-site-blocks .arfid-header-row,.wp-site-blocks .arfid-footer>.wp-block-columns{max-width:1440px;width:100%;margin-inline:auto}
.wp-site-blocks .arfid-section>p{max-width:70ch;margin-inline:0!important}
.wp-site-blocks .arfid-header-row>*{margin-inline:0!important;margin-block:0!important}
.wp-site-blocks .arfid-section>.wp-block-details,.wp-site-blocks .arfid-section>.arfid-screen{margin-inline:0!important}
.arfid-hero{background:var(--arfid-sage)}
.arfid-contact-section>h1,.arfid-contact-section>p{margin-block:0}
.arfid-pathway-grid{align-items:stretch!important;gap:32px!important;margin-top:24px!important}
.arfid-pathway-grid>.wp-block-column{padding:36px;border:1px solid var(--arfid-line);border-radius:16px;background:var(--arfid-paper)}
.arfid-pathway-grid p{margin-bottom:0}
.arfid-screen .arfid-error{color:#9c2727}
@media(max-width:782px){body.admin-bar{--arfid-admin-offset:46px}}
@media(min-width:782px) and (max-width:1100px){.arfid-hero .wp-block-image img{height:auto;aspect-ratio:3/2}}
@media(max-width:781px){.arfid-section h2{font-size:34px}.arfid-section h3{font-size:26px}.arfid-section:has(>h1)>p:not(.arfid-kicker){font-size:21px}.arfid-audiences>.wp-block-column{padding:28px}.arfid-pathway-grid>.wp-block-column{padding:28px}.arfid-icon{width:56px;height:56px}.arfid-icon svg{width:30px;height:30px}.wp-block-button__link,.arfid-screen button{font-size:16px;padding:13px 20px}.arfid-section .wp-block-details summary{font-size:21px}.arfid-header-row{gap:16px}.arfid-brand{font-size:17px;max-width:240px}.arfid-hero{padding-top:32px}.arfid-section>.wp-block-columns{display:flex;flex-direction:column;gap:28px}.arfid-section .wp-block-column{width:100%}.arfid-hero .wp-block-image img{height:auto;aspect-ratio:3/2}.arfid-section h1{font-size:40px}.arfid-intro{font-size:23px}.arfid-section{padding:40px 24px}.arfid-footer{padding:32px 24px}}

/* Viewport-aware contact and questionnaire layouts. Never clip form controls. */
.arfid-section{padding-block:clamp(24px,5dvh,64px)}
.arfid-contact-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px;font-size:17px;line-height:1.5}
.arfid-contact-preview>*{grid-column:1/-1;min-width:0}
.arfid-contact-preview input[type=hidden]{display:none}
.arfid-contact-preview label{font-size:16px;line-height:1.4;margin:0}
.arfid-contact-preview label[for=arfid-name]{grid-column:1;grid-row:2}
.arfid-contact-preview #arfid-name{grid-column:1;grid-row:3}
.arfid-contact-preview label[for=arfid-email]{grid-column:2;grid-row:2}
.arfid-contact-preview #arfid-email{grid-column:2;grid-row:3}
.arfid-contact-preview [data-arfid-status]{grid-row:1}
.arfid-contact-preview label[for=arfid-message]{grid-row:4}
.arfid-contact-preview #arfid-message{grid-row:5}
.arfid-contact-preview>p:not([data-arfid-status]){grid-row:6}
.arfid-contact-preview label:has(input[type=checkbox]){grid-row:7}
.arfid-contact-preview>button{grid-row:8}
.arfid-contact-preview input:not([type=checkbox]),.arfid-contact-preview textarea{font-size:17px;line-height:1.5;padding:10px 12px;min-width:0}
.arfid-contact-preview textarea{height:112px;min-height:80px;resize:vertical}
.arfid-contact-preview p{font-size:14px;line-height:1.5;margin:2px 0}
.arfid-contact-preview label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;padding-block:4px}
.arfid-contact-preview input[type=checkbox]{flex:0 0 18px;width:18px!important;height:18px;padding:0;margin:2px 0 0;accent-color:var(--arfid-accent)}
.arfid-contact-preview button{justify-self:start;font-size:17px;line-height:1.4;padding:12px 24px;min-height:46px}
.arfid-contact-section.arfid-section>h1{font-size:clamp(38px,3.2vw,62px);margin:0}
.arfid-contact-section.arfid-section>p{font-size:20px;line-height:1.5;margin:0}
.arfid-contact-section .wp-block-column:last-child h2{font-size:30px;margin-bottom:12px}
.arfid-contact-section .wp-block-column:last-child h3{font-size:23px;margin-bottom:8px}
.arfid-contact-section .wp-block-column:last-child p{font-size:17px;line-height:1.5;margin:10px 0}
.arfid-contact-section .arfid-icon{width:40px;height:40px;margin:8px 0 10px}
.arfid-contact-section .arfid-icon svg{width:25px;height:25px}
@media(min-width:900px){
 .arfid-section.arfid-contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto auto auto;align-content:center;column-gap:clamp(40px,5vw,80px);row-gap:14px;padding-block:20px}
 .arfid-contact-section>h1{grid-column:1;grid-row:1}
 .arfid-contact-section>p{grid-column:1;grid-row:2}
 .arfid-contact-section>.wp-block-columns{display:contents!important}
 .arfid-contact-section>.wp-block-columns>.wp-block-column:first-child{grid-column:2;grid-row:1/span 3;align-self:center;width:100%}
 .arfid-contact-section>.wp-block-columns>.wp-block-column:last-child{grid-column:1;grid-row:3;width:100%}
 .arfid-section.arfid-questionnaire{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;align-content:center;column-gap:clamp(32px,4vw,64px);row-gap:16px}
 .arfid-questionnaire>h2{grid-column:1;grid-row:1;align-self:end;margin-bottom:0}
 .arfid-questionnaire>p{grid-column:1;grid-row:2;align-self:start}
 .arfid-questionnaire>.arfid-screen{grid-column:2;grid-row:1/span 2;align-self:center}
 .arfid-screen:has(.arfid-question:not([hidden]),.arfid-results:not([hidden])){padding:24px;font-size:17px;line-height:1.5}
 .arfid-screen:has(.arfid-question:not([hidden]),.arfid-results:not([hidden]))>p:not(.arfid-note){display:none}
 .arfid-screen:has(.arfid-question:not([hidden]),.arfid-results:not([hidden])) h3{font-size:24px;margin-bottom:12px}
 .arfid-screen:has(.arfid-question:not([hidden]),.arfid-results:not([hidden])) .arfid-note{font-size:13px;line-height:1.5;margin:10px 0}
 .arfid-screen fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:16px 0}
 .arfid-screen legend{font-size:21px;line-height:1.35;margin-bottom:14px}
 .arfid-screen label{margin:0;padding:10px 12px;font-size:16px;line-height:1.4;min-height:48px}
 .arfid-screen .arfid-actions button{font-size:16px;padding:12px 20px}
 .arfid-screen .arfid-results dl{gap:10px 20px;margin-block:14px}
}
@media(min-width:900px) and (max-height:800px){
 .arfid-section{padding-block:24px}
 .arfid-section h2{font-size:clamp(32px,3vw,46px);margin-bottom:16px}
 .arfid-section h3{font-size:24px}
 .arfid-section .arfid-icon{width:52px;height:52px;margin-bottom:12px}
 .arfid-team-grid{gap:28px!important}.arfid-team-grid .wp-block-column{padding-top:14px}
 .arfid-section p{margin-block:12px}.arfid-section .wp-block-buttons{margin-top:20px}
 .arfid-section .wp-block-details{padding-block:18px}.arfid-section .wp-block-details summary{font-size:22px}
 .arfid-screen{padding:24px}.arfid-screen .arfid-note{font-size:14px;line-height:1.5}
 .arfid-contact-section.arfid-section>h1,.arfid-contact-section.arfid-section>p{margin:0}
 .arfid-contact-section .wp-block-column:last-child p{margin:8px 0}
}
@media(max-width:899px){
 .arfid-section.arfid-contact-section{padding:20px 24px;gap:12px;justify-content:flex-start}
 .arfid-contact-section.arfid-section>h1{font-size:36px;line-height:1.15}
 .arfid-contact-section.arfid-section>p{font-size:17px;line-height:1.45}
 .arfid-contact-section>.wp-block-columns{display:flex;flex-direction:column;gap:32px}
 .arfid-contact-section .wp-block-column{width:100%}
 .arfid-contact-preview{gap:8px 12px;font-size:16px}
 .arfid-contact-preview label{font-size:13px;line-height:1.4}
 .arfid-contact-preview input:not([type=checkbox]),.arfid-contact-preview textarea{font-size:16px;padding:9px 10px}
 .arfid-contact-preview textarea{height:80px}
 .arfid-contact-preview p{font-size:13px;line-height:1.4}
 .arfid-contact-preview label:has(input[type=checkbox]){font-size:13px;line-height:1.4}
 .arfid-contact-preview button{font-size:16px;padding:11px 20px}
}

@media print{.arfid-header,.arfid-footer,.arfid-screen button,.arfid-screen .arfid-actions a,.arfid-section:not(.arfid-questionnaire){display:none!important}.arfid-section{padding:16px;min-height:0;display:block}.arfid-screen{break-inside:avoid;border:0}.arfid-questionnaire>h2,.arfid-questionnaire>p{display:none}}
