/* WordPress / Contact Form 7 adjustments for the 8CLICKS design */
.wpcf7 { width: 100%; }
.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.xf .hidden-fields-container { display: none; }
.xf .wpcf7-form-control-wrap { display: block; position: relative; }
.xf .wpcf7-not-valid-tip { display: block; margin-top: 6px; font: 600 .8125rem/1.35 var(--f-s, "DM Sans", sans-serif); color: #B42318; }
.xf input.wpcf7-not-valid, .xf textarea.wpcf7-not-valid, .xf [aria-invalid="true"] { border-color: #B42318; border-width: 2px; }
.xf .wpcf7-response-output { grid-column: 1 / -1; margin: 4px 0 0 !important; padding: 12px 16px !important; border: 1.5px solid rgba(1, 34, 37, .2) !important; border-radius: 12px; font: 600 .9375rem/1.4 var(--f-s, "DM Sans", sans-serif); color: var(--ink, #012225); background: var(--white, #fff); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--green, #37AE46) !important; background: #EEF8EA; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #B42318 !important; background: #FEF3F2; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.wpcf7 form.submitting .xf__submit { opacity: .6; pointer-events: none; }
.xf .wpcf7-spinner { display: none; }
.xf .ec-shake { animation: ec-shake .28s linear; }
@keyframes ec-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@media (prefers-reduced-motion: reduce) { .xf .ec-shake { animation: none; } }

/* Admin bar (logged-in users only): keep the fixed header below it */
body.admin-bar .nh { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .nh { top: 46px; } }
@media screen and (max-width: 600px) { body.admin-bar .nh { top: 0; } }

/* Content coming from the editor */
.pg-body img { max-width: 100%; height: auto; }
.pg-body .alignleft { float: left; margin: 0 1.5em 1em 0; }
.pg-body .alignright { float: right; margin: 0 0 1em 1.5em; }
.pg-body .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.pg-body .wp-caption { max-width: 100%; }
.pg-body .wp-caption-text { font-size: .875rem; opacity: .75; }
