/* CCC interactions — shared source for public pages and the Beaver canvas. */
/* Shared interaction states: enabled controls alone signal action. */
.ccc-land-dialog:not([open]) {display:none;}
.ccc-land-dialog::backdrop {background:rgb(16 29 30 / .55);backdrop-filter:blur(3px);}
html.ccc-dialog-open {overflow:hidden;}
.ccc-button .fl-button,.ccc-button:not(.fl-module),.ccc-menu-toggle,.ccc-dialog-close {
  transition:transform var(--ccc-motion-fast) var(--ccc-ease),box-shadow var(--ccc-motion-fast) var(--ccc-ease),background-color var(--ccc-motion-fast) var(--ccc-ease);
}
.ccc-header nav a,.ccc-nav-disclosure,.ccc-footer nav a {
  text-decoration-thickness:2px;text-underline-offset:6px;
  transition:background-color var(--ccc-motion-fast) var(--ccc-ease);
}
.ccc-nav-disclosure {display:inline-flex;gap:10px;align-items:center;}
.ccc-nav-disclosure::after {
  content:'';flex:none;width:16px;height:16px;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:rotate(0);transform-origin:50% 50%;transition:transform var(--ccc-motion-fast) var(--ccc-ease);
}
.ccc-nav-disclosure[aria-expanded="true"]::after {transform:rotate(180deg);}
.ccc-header nav [aria-current="page"],.ccc-footer nav [aria-current="page"] {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}
.ccc-footer nav a {display:inline-flex;align-items:center;min-height:var(--ccc-touch-target);}
.ccc-footer nav ul {gap:4px;}
/* Inactive labels stay legible on every surface; state never fades the text. */
.ccc-footer a[aria-disabled="true"],.ccc-button [aria-disabled="true"],.ccc-button:is(:disabled,[aria-disabled="true"]) {cursor:not-allowed;}
/* Surface states belong to filled buttons; text links retain their own shape. */
.ccc-button:not(.ccc-text-link) .fl-button[aria-disabled="true"],.ccc-button:not(.fl-module):not(.ccc-text-link):is(:disabled,[aria-disabled="true"]) {
  background:var(--ccc-button-disabled-bg,var(--ccc-cream));
  color:var(--ccc-button-disabled-ink,var(--ccc-field-hint));
  border:1px solid currentColor;box-shadow:none;
}
.ccc-header a[aria-disabled="true"] {cursor:not-allowed;}
.ccc-dialog-close {color:var(--ccc-on-bronze);border-radius:50%;}
.ccc-dialog-close img {display:none;}
.ccc-dialog-close::before,.ccc-dialog-close::after {content:'';position:absolute;width:27px;height:2px;background:currentColor;transform:rotate(45deg);}
.ccc-dialog-close::after {transform:rotate(-45deg);}
@media(hover:hover) and (pointer:fine) {
  .ccc-button:not(.ccc-text-link) .fl-button:not([aria-disabled="true"]):hover,.ccc-button:not(.fl-module):not(.ccc-text-link):not(:disabled):not([aria-disabled="true"]):hover {transform:translateY(-2px);box-shadow:0 5px 12px rgb(16 29 30 / .18);}
  .ccc-text-link .fl-button:not([aria-disabled="true"]):hover,.ccc-text-link:not(.fl-module):not(:disabled):not([aria-disabled="true"]):hover {text-decoration:underline;text-underline-offset:4px;}
  .ccc-header nav a:not([aria-disabled="true"]):hover,.ccc-nav-disclosure:hover,.ccc-footer nav a:not([aria-disabled="true"]):hover {text-decoration:underline;}
  .ccc-menu-toggle:hover,.ccc-dialog-close:hover {background:rgb(255 255 255 / .25);}
}
.ccc-button:not(.ccc-text-link) .fl-button:not([aria-disabled="true"]):active,.ccc-button:not(.fl-module):not(.ccc-text-link):not(:disabled):not([aria-disabled="true"]):active,.ccc-menu-toggle:active,.ccc-dialog-close:active {transform:translateY(1px);box-shadow:none;}
.ccc-control {transition:border-color var(--ccc-motion-fast) var(--ccc-ease),background-color var(--ccc-motion-fast) var(--ccc-ease);}
.ccc-testimonials.is-ready .ccc-testimonials-track {transition:transform var(--ccc-motion-slide) var(--ccc-ease);}
.ccc-testimonials.is-ready .ccc-testimonial {transition:opacity var(--ccc-motion-standard) var(--ccc-ease);}
.ccc-testimonials.is-ready .ccc-testimonial[aria-hidden="true"] {opacity:var(--ccc-slide-inactive-opacity);}
.ccc-form-arrow {transition:transform var(--ccc-motion-fast) var(--ccc-ease);}
@media(hover:hover) and (pointer:fine) {
  .ccc-control:not(:disabled):not([aria-invalid="true"]):hover {border-color:var(--ccc-field-hover);}
  .ccc-form-submit:not(:disabled):hover .ccc-form-arrow {transform:translateX(3px);}
}
.ccc-control:disabled {background:var(--ccc-cream);color:var(--ccc-field-hint);cursor:not-allowed;}
@media(prefers-reduced-motion:reduce) {
  .ccc-testimonials.is-ready .ccc-testimonials-track,.ccc-testimonials.is-ready .ccc-testimonial {transition:none;}
  .ccc-control,.ccc-form-arrow {transition:none;}
  .ccc-form-submit:hover .ccc-form-arrow {transform:none;}
  .ccc-button .fl-button,.ccc-button:not(.fl-module),.ccc-menu-toggle,.ccc-dialog-close,.ccc-nav-disclosure::after {transition:none;}
  .ccc-button .fl-button:not([aria-disabled="true"]):hover,.ccc-button:not(.fl-module):not(:disabled):not([aria-disabled="true"]):hover,.ccc-button .fl-button:not([aria-disabled="true"]):active,.ccc-button:not(.fl-module):not(:disabled):active,.ccc-menu-toggle:active,.ccc-dialog-close:active {transform:none;}
}
@media(forced-colors:active) {
  .ccc-control {border-color:ButtonText;background:Canvas;color:CanvasText;}
  .ccc-control[aria-invalid="true"] {border-width:2px;}
  .ccc-control:focus-visible {outline-color:Highlight;box-shadow:none;}
  .ccc-button:not(.ccc-text-link) .fl-button,.ccc-button:not(.fl-module):not(.ccc-text-link),.ccc-menu-toggle {border:1px solid ButtonText;}
  a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible {outline:3px solid Highlight;box-shadow:none;}
}

/* Shared network control feedback follows the same motion and access contract. */
.ccc-directory-clear {transition:background-color var(--ccc-motion-fast) var(--ccc-ease),color var(--ccc-motion-fast) var(--ccc-ease);}
@media(hover:hover) and (pointer:fine) {
  .ccc-directory-clear:hover {background:var(--ccc-cream);color:var(--ccc-bronze-ink);}
  .ccc-slide-selectors button:hover,.ccc-directory-tabs button:hover {color:var(--ccc-bronze-ink);}
  .ccc-slide-navigation button:hover {box-shadow:0 4px 12px rgb(61 57 54 / .14);}
}
.ccc-slide-navigation button:active {transform:translateY(1px);}
.ccc-slide-navigation button,.ccc-directory-tabs button,.ccc-slide-selectors button {transition:background-color var(--ccc-motion-fast) var(--ccc-ease),color var(--ccc-motion-fast) var(--ccc-ease),border-color var(--ccc-motion-fast) var(--ccc-ease),box-shadow var(--ccc-motion-fast) var(--ccc-ease);}
@media(prefers-reduced-motion:reduce) {
  .ccc-testimonials.is-ready .ccc-testimonials-track,.ccc-slide-navigation button,.ccc-directory-tabs button,.ccc-slide-selectors button,.ccc-directory-clear {transition:none;}
  .ccc-slide-navigation button:active {transform:none;}
}
@media(forced-colors:active) {
  .ccc-slide-navigation button,.ccc-directory-tabs button,.ccc-slide-selectors button,.ccc-directory-clear {border:1px solid ButtonText;}
  .ccc-directory-tabs button[aria-selected="true"],.ccc-slide-selectors button[aria-current="true"] {border-bottom:3px solid Highlight;}
}
