/* Kriklan Studio 1.4.6 – Contact Form 7 in the Kriklan look.
   Loaded only when Contact Form 7 is active. Works with the ready form template from UPGRADE-1.4.6.md
   (same two-column layout as the theme form) and also tidies CF7's default template.
   Selectors are more specific than CF7's own styles.css, so load order does not matter. */

.kriklan-content .wpcf7{--k-ink:#174a3b;--k-label:#395e50;--k-line:#d7e5dc;--k-field:#fbfdfb;--k-focus:#2aa184;--k-pine:#073f35;--k-err:#b03030}
.kriklan-content .wpcf7 form{margin:19px 0 0}
.kriklan-content .wpcf7 form br{display:none}
.kriklan-content .wpcf7 form p{margin:0}
.kriklan-content .wpcf7 form>p{margin:0 0 17px}
.kriklan-content .wpcf7 .form-field{margin-bottom:17px;min-width:0}
.kriklan-content .wpcf7 .contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}

/* Essentials CF7 normally provides – kept here so the form still works if its CSS is disabled */
.kriklan-content .wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0}
.kriklan-content .wpcf7 .hidden-fields-container{display:none}

/* Labels */
.kriklan-content .wpcf7 label{display:block;font-size:11px;line-height:1.4;color:var(--k-label);font-weight:650;margin:0 0 9px}
.kriklan-content .wpcf7 label>span[aria-hidden="true"]{color:#04a287}
.kriklan-content .wpcf7 label>.wpcf7-form-control-wrap{margin-top:9px;font-weight:400}
.kriklan-content .wpcf7 .wpcf7-form-control-wrap{display:block;position:relative}

/* Text fields, select, textarea */
.kriklan-content .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="file"]),
.kriklan-content .wpcf7 select,
.kriklan-content .wpcf7 textarea{display:block;box-sizing:border-box;width:100%;height:47px;min-width:0;margin:0;border:1px solid var(--k-line);border-radius:11px;background-color:var(--k-field);padding:0 14px;color:var(--k-ink);font:400 13px/1.5 'DM Sans',sans-serif;box-shadow:none;transition:border-color .2s,box-shadow .25s,background-color .25s}
.kriklan-content .wpcf7 select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23446559' stroke-width='1.5'/%3E%3C/svg%3E");background-size:16px;background-repeat:no-repeat;background-position:right 12px center}
.kriklan-content .wpcf7 textarea{height:auto;min-height:114px;max-height:300px;resize:vertical;padding:13px 14px}
.kriklan-content .wpcf7 input::placeholder,.kriklan-content .wpcf7 textarea::placeholder{color:#99aba0;opacity:1}
.kriklan-content .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="file"]):focus,
.kriklan-content .wpcf7 select:focus,.kriklan-content .wpcf7 textarea:focus{outline:2px solid #25af9299;outline-offset:1px;border-color:var(--k-focus);background-color:#fff;box-shadow:0 0 0 5px rgba(37,175,146,.1)}

/* Validation */
.kriklan-content .wpcf7 .wpcf7-not-valid{border-color:#de8c8c!important;background-color:#fff9f9!important}
.kriklan-content .wpcf7 .wpcf7-not-valid:focus{outline-color:#d0505066}
.kriklan-content .wpcf7 .wpcf7-not-valid-tip,
.kriklan-content .wpcf7 .use-floating-validation-tip .wpcf7-not-valid-tip{position:static;display:block;width:auto;border:0;background:none;padding:0;margin:6px 0 0;color:var(--k-err);font-size:11.5px;line-height:1.45;font-weight:500}

/* Checkboxes, radios, acceptance (e.g. consent) */
.kriklan-content .wpcf7 .wpcf7-list-item{display:block;margin:0 0 8px}
.kriklan-content .wpcf7 .wpcf7-list-item label{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:12px;font-weight:400;line-height:1.55;color:#4f6b60;cursor:pointer}
.kriklan-content .wpcf7 .wpcf7-list-item-label{color:#4f6b60}
.kriklan-content .wpcf7 .wpcf7-list-item-label::before,.kriklan-content .wpcf7 .wpcf7-list-item-label::after{content:none}
.kriklan-content .wpcf7 input[type="checkbox"],.kriklan-content .wpcf7 input[type="radio"]{flex:none;width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--k-pine);cursor:pointer}
.kriklan-content .wpcf7 .wpcf7-acceptance a,.kriklan-content .wpcf7 .form-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Submit = the theme's dark pill button */
.kriklan-content .wpcf7 .contact-form-actions{display:flex;align-items:center;gap:20px;margin-top:6px}
.kriklan-content .wpcf7 input[type="submit"],.kriklan-content .wpcf7 .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:47px;margin:0;border:0;border-radius:99px;padding:15px 24px;background-color:var(--k-pine);color:#fff;font:700 12px/1.5 'DM Sans',sans-serif;letter-spacing:0;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background-color .3s}
.kriklan-content .wpcf7 .wpcf7-submit:hover{background-color:#08624d;transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,60,42,.12)}
.kriklan-content .wpcf7 .wpcf7-submit:focus-visible{outline:2px solid #25af92;outline-offset:3px}
.kriklan-content .wpcf7 .wpcf7-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.kriklan-content .wpcf7 .form-note{font-size:10.5px;line-height:1.7;color:#80948a;margin:0;max-width:230px}

/* Spinner: takes no room until sending */
.kriklan-content .wpcf7 .wpcf7-spinner{display:none;visibility:visible;flex:none;width:20px;height:20px;margin:0 0 0 -8px;background-color:var(--k-pine);opacity:.8}
.kriklan-content .wpcf7 form.submitting .wpcf7-spinner{display:inline-block}
.kriklan-content .wpcf7 .wpcf7-spinner::before{top:3px;left:3px;width:5px;height:5px;transform-origin:7px 7px}

/* Result message (sent / error / spam) – same look as the theme form messages */
.kriklan-content .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:13px 16px;border:0;border-radius:10px;font-size:13px;line-height:1.6;background:#eef4f1;color:var(--k-ink)}
.kriklan-content .wpcf7 form.sent .wpcf7-response-output{background:#def7e9;color:#12633e}
.kriklan-content .wpcf7 form.failed .wpcf7-response-output,.kriklan-content .wpcf7 form.aborted .wpcf7-response-output{background:#fee6e6;color:#a23333}
.kriklan-content .wpcf7 form.spam .wpcf7-response-output{background:#fff0e3;color:#8a4a12}
.kriklan-content .wpcf7 form.invalid .wpcf7-response-output,.kriklan-content .wpcf7 form.unaccepted .wpcf7-response-output,.kriklan-content .wpcf7 form.payment-required .wpcf7-response-output{background:#fff6dc;color:#73560a}
.kriklan-content .wpcf7 form.init .wpcf7-response-output,.kriklan-content .wpcf7 form.resetting .wpcf7-response-output,.kriklan-content .wpcf7 form.submitting .wpcf7-response-output{display:none}
.kriklan-content .wpcf7 form .wpcf7-response-output:empty{display:none}

/* reCAPTCHA v2 checkbox (added by reCAPTCHA plugins) */
.kriklan-content .wpcf7 .g-recaptcha,.kriklan-content .wpcf7 .wpcf7-recaptcha{margin:0 0 17px;max-width:100%}

/* Phones */
@media(max-width:570px){
  .kriklan-content .wpcf7 .contact-form-row{grid-template-columns:1fr;gap:0}
  .kriklan-content .wpcf7 .contact-form-actions{flex-direction:column;align-items:stretch;gap:12px}
  .kriklan-content .wpcf7 .contact-form-actions .wpcf7-submit{width:100%}
  .kriklan-content .wpcf7 .contact-form-actions{position:relative}
  .kriklan-content .wpcf7 .contact-form-actions .wpcf7-spinner{position:absolute;top:13px;left:16px;margin:0;background-color:rgba(255,255,255,.3)}
  .kriklan-content .wpcf7 .form-note{max-width:100%}
}
/* reCAPTCHA v2 is a fixed 304 px wide widget: scale it down on narrow phones so it does not overflow */
@media(max-width:380px){
  .kriklan-content .wpcf7 .g-recaptcha,.kriklan-content .wpcf7 .wpcf7-recaptcha{transform:scale(.77);transform-origin:0 0;height:60px}
}
/* iPhone zooms into fields with text smaller than 16 px; keep 16 px on touch screens */
@media(max-width:840px),(pointer:coarse){
  .kriklan-content .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="file"]),
  .kriklan-content .wpcf7 select,.kriklan-content .wpcf7 textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.kriklan-content .wpcf7 .wpcf7-submit{transition:none}.kriklan-content .wpcf7 .wpcf7-submit:hover{transform:none}}
