/* AIGA OC Site: WordPress and Elementor glue. Loads after site.css. */

/* Elementor containers: no default padding, gap or boxed width; our classes set layout */
/* Elementor sets size, spacing and auto side margins on every container through variables. Zero them so the
   design-system classes (which set real properties) behave as they do in plain HTML. */
body.oc-site .elementor .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--width:auto;--container-max-width:none;--content-width:100%}
body.oc-site .elementor .e-con-inner{display:contents}

/* Elementor containers default to a column; these flex layouts expect a row, as in plain HTML */
body.oc-site .elementor .e-con.oc-row,body.oc-site .elementor .e-con.oc-demo,body.oc-site .elementor .e-con.oc-fullbleed,body.oc-site .elementor .e-con.oc-hscroll__head,body.oc-site .elementor .e-con.oc-hscroll__track{flex-direction:row}

/* Elementor widgets: no kit spacing between widgets; the design system spaces with gap and its own margins */
body.oc-site{--kit-widget-spacing:0px;--widgets-spacing:0px}
body.oc-site .elementor .elementor-widget-image{text-align:left}
body.oc-site .elementor .elementor-widget-image img{display:block}
body.oc-site .elementor .oc-img.elementor-widget-image img,body.oc-site .elementor .oc-cover img{height:100%;max-width:100%}
body.oc-site .elementor .oc-cover.elementor-widget-image img{max-width:none}
/* full-bleed bands: the photo is 120% tall so its scroll drift never uncovers the band (the 100% rule above beat it) */
body.oc-site .elementor .oc-fullbleed .oc-cover img{height:120%}

/* Elementor headings: beat the widget's default color and font (0,2,0) but stay below every design-system rule */
body.oc-site .elementor-heading-title{font-family:var(--font-sans);color:inherit}
body.oc-site .elementor .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:var(--s1)}
body.oc-site .elementor .elementor-button-wrapper{line-height:0}

/* theme resets on the canvas template */
body.oc-site{margin:0;padding:0;background:var(--white);color:var(--black)}
body.oc-site a:hover{text-decoration:none}

/* Lenis drives the scroll, so the browser's own smooth scrolling must stay off. Elementor turns it on for html
   and ScrollTrigger copies it back as an inline style; left on, every Lenis frame restarts a native smooth
   scroll and the page crawls. */
html{scroll-behavior:auto!important}

/* Elementor eases every transform on containers and widgets over 0.4s. GSAP and ScrollTrigger set transforms
   every frame (and the hero pin jumps on release), so that easing makes motion lag and lets the hero photo and
   its type drift apart. Only the transform easing is switched off; design-system transitions still apply. */
body.oc-site{--e-con-transform-transition-duration:0s;--e-transform-transition-duration:0s}

/* fixed header clears the WordPress admin bar for signed-in users */
body.admin-bar .oc-header{top:32px}
body.admin-bar .oc-menu{top:32px}
@media (max-width:782px){body.admin-bar .oc-header,body.admin-bar .oc-menu{top:46px}}

/* inside the Elementor editor, keep the header out of the way of the canvas */
body.elementor-editor-active .oc-header{position:absolute}

/* Board bios live hidden in each card and open in a drawer on the page; show them in the editor so they can be edited */
body.elementor-editor-active .oc-site .oc-member__bio,body.elementor-editor-active .oc-member__bio{display:block!important;margin-top:8px;padding-top:8px;border-top:1px dashed #ABA49E;font-size:14px}

/* Elementor Pro forms (built from the prototype's .oc-form), styled to match it */
.oc-site .oc-elform .elementor-form-fields-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin:0!important;max-width:520px}
.oc-site .oc-elform .elementor-field-group{width:100%!important;max-width:none!important;flex:none!important;padding:0!important;margin:0!important;display:grid!important;gap:var(--s1)}
.oc-site .oc-elform .elementor-field-type-honeypot{display:none!important}
.oc-site .oc-elform .elementor-field-label{padding:0!important;margin:0!important;font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.2;color:inherit!important}
.oc-site .oc-elform .elementor-field-textual{font:500 var(--fs-ui)/1.4 var(--font-sans)!important;height:var(--s6);min-height:var(--s6);padding:0 var(--s2)!important;border:1px solid currentColor!important;border-radius:0!important;background:transparent!important;color:inherit!important;width:100%;box-shadow:none!important;text-transform:none;letter-spacing:0}
.oc-site .oc-elform textarea.elementor-field-textual{height:auto;min-height:var(--s16);padding:12px var(--s2)!important}
.oc-site .oc-elform .elementor-field-textual::placeholder{color:currentColor;opacity:.45}
.oc-site .oc-elform .elementor-select-wrapper{background:transparent!important;border:0!important;padding:0!important;color:inherit!important}
.oc-site .oc-elform .elementor-select-wrapper .select-caret-down-wrapper{color:currentColor;right:16px}
.oc-site .oc-elform .elementor-select-wrapper .select-caret-down-wrapper svg{fill:currentColor}
.oc-site .oc-elform option{color:#16120F}
.oc-site .oc-elform .elementor-field-type-submit{margin-top:var(--s2)!important;justify-content:flex-start!important}
.oc-site .oc-elform .elementor-field-type-submit .elementor-button{width:auto!important;height:var(--btn-h);padding:0 var(--s4)!important;min-width:var(--s20);font:700 var(--fs-ui)/1 var(--font-sans)!important;font-stretch:var(--cond-ui)!important;text-transform:uppercase;letter-spacing:.06em;background:var(--orange)!important;color:var(--black)!important;border:var(--rule) solid var(--orange)!important;border-radius:0!important}
.oc-site .oc-elform .elementor-field-type-submit .elementor-button:hover{background:var(--black)!important;border-color:var(--black)!important;color:var(--white)!important}
.oc-site .is-black .oc-elform .elementor-field-type-submit .elementor-button:hover{background:var(--white)!important;border-color:var(--white)!important;color:var(--black)!important}
.oc-site .oc-elform .elementor-message{font-family:var(--font-sans);font-size:var(--fs-small);font-weight:600;line-height:1.4;padding:var(--s2);background:var(--orange);color:var(--black);margin:var(--s2) 0 0;max-width:520px}
.oc-site .oc-elform .elementor-message::before{display:none}
.oc-site .oc-elform .elementor-field-group.elementor-error .elementor-field-textual{border-color:var(--orange)!important;border-width:2px!important}
.oc-site .oc-elform .elementor-field-group .elementor-message{margin:0;padding:6px var(--s1)}

/* Board notes stay hidden on published pages and for visitors */
body.oc-hide-notes .oc-label{display:none!important}
