.pcr-contact { --pcr-contact-bg:#fff; --pcr-contact-text:#263025; --pcr-contact-line:#d9e3d5; position:fixed; right:18px; bottom:82px; z-index:10030; font-family:inherit; }
.pcr-contact__trigger { display:flex; align-items:center; justify-content:center; width:52px; height:52px; padding:0; border:1px solid #4e9b17; border-radius:50%; background:#5bb112; color:#fff; box-shadow:0 5px 18px rgba(21,46,14,.24); cursor:pointer; }
.pcr-contact__trigger .fa { font-size:21px; }
.pcr-contact__trigger:hover { background:#478e0e; }
.pcr-contact__panel { position:absolute; right:0; bottom:64px; box-sizing:border-box; width:min(360px,calc(100vw - 28px)); max-height:min(650px,calc(100dvh - 95px)); overflow:auto; padding:20px; background:var(--pcr-contact-bg); color:var(--pcr-contact-text); border:1px solid var(--pcr-contact-line); border-top:4px solid #5bb112; border-radius:8px; box-shadow:0 12px 35px rgba(0,0,0,.22); }
.pcr-contact__panel[hidden] { display:none; }
.pcr-contact__heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:15px; }
body .pcr-contact__heading h2 { margin:0 0 4px; color:var(--pcr-contact-text); font-size:18px; line-height:1.3; font-weight:700; text-transform:none; }
.pcr-contact__heading p { margin:0; color:#5d6c5a; font-size:12px; line-height:1.5; }
.pcr-contact__close { flex:0 0 32px; width:32px; height:32px; padding:0; border:1px solid var(--pcr-contact-line); background:transparent; color:var(--pcr-contact-text); font-size:23px; line-height:1; cursor:pointer; }
.pcr-contact__form { display:grid; gap:10px; }
body .pcr-contact__form label { display:grid; gap:4px; margin:0; color:var(--pcr-contact-text); font-size:12px; font-weight:650; line-height:1.3; }
body .pcr-contact__form input:not([type=hidden]):not([type=checkbox]), body .pcr-contact__form textarea { box-sizing:border-box; width:100%; min-height:40px; margin:0; padding:8px 10px; background:var(--pcr-contact-bg); color:var(--pcr-contact-text); border:1px solid #b9c7b5; border-radius:4px; font-family:inherit; font-size:14px; font-weight:400; line-height:1.4; }
body .pcr-contact__form textarea { min-height:82px; resize:vertical; }
.pcr-contact__privacy { margin:0; color:#62715e; font-size:11px; line-height:1.45; }
.pcr-contact__form label.pcr-contact__privacy-check { display:flex; align-items:flex-start; gap:8px; font-weight:400; line-height:1.45; }
.pcr-contact__privacy-check input { flex:0 0 auto; margin:2px 0 0; }
.pcr-contact__privacy-check a { color:#34790c; text-decoration:underline; }
.pcr-contact__captcha { font-size:12px; line-height:1.45; }
.pcr-contact__captcha p { margin:0 0 7px; }
.pcr-contact__local-notice { padding:8px; border-left:3px solid #5bb112; background:#eff7e9; color:#253b1c; }
.pcr-contact__captcha-load { width:100%; min-height:38px; padding:7px; border:1px solid var(--pcr-contact-line); background:transparent; color:var(--pcr-contact-text); cursor:pointer; }
.pcr-contact__captcha-load:disabled { cursor:default; }
.pcr-contact__recaptcha { overflow:auto; max-width:100%; }
.pcr-contact__captcha fieldset, .pcr-contact__captcha .form-group { margin:0; padding:0; }
.pcr-contact__captcha legend { margin:0 0 5px; padding:0; border:0; color:var(--pcr-contact-text); font-size:12px; font-weight:700; }
.pcr-contact__captcha :is(.col-sm-3,.col-sm-8) { float:none; width:100%; padding:0; }
.pcr-contact__captcha img { display:block; margin-top:7px; max-width:100%; }
.pcr-contact__submit:disabled { opacity:.55; cursor:not-allowed; }
.pcr-contact__privacy a, .pcr-contact__full { color:#34790c; text-decoration:underline; text-underline-offset:2px; }
.pcr-contact__submit { display:flex; justify-content:center; align-items:center; gap:9px; min-height:43px; border:1px solid #438b13; background:#5bb112; color:#fff; font-size:13px; font-weight:700; cursor:pointer; }
.pcr-contact__submit:hover { background:#478e0e; }
.pcr-contact__full { font-size:11px; text-align:center; }
.pcr-contact :is(a,button,input,textarea):focus-visible { outline:3px solid #76bf42; outline-offset:2px; }
html[data-theme="dark"] .pcr-contact { --pcr-contact-bg:#2e332e; --pcr-contact-text:#f3f6f1; --pcr-contact-line:#52604e; }
html[data-theme="dark"] .pcr-contact__heading p, html[data-theme="dark"] .pcr-contact__privacy { color:#d2dbce; }
html[data-theme="dark"] .pcr-contact__privacy a, html[data-theme="dark"] .pcr-contact__full { color:#a5e875; }
html[data-theme="dark"] .pcr-contact__privacy-check a { color:#a5e875; }
html.show--consent .pcr-contact, html.show--preferences .pcr-contact, body.pcr-mobile-menu-open .pcr-contact { visibility:hidden; }
@media (max-width:575px) { .pcr-contact { right:12px; bottom:145px; } .pcr-contact__trigger { width:44px; height:44px; } .pcr-contact__panel { bottom:52px; max-height:calc(100dvh - 210px); padding:15px; } }

/* Compact contact card: keep the store's green as an accent, not a backdrop. */
.pcr-contact { --pcr-contact-bg:#fff; --pcr-contact-text:#242c24; --pcr-contact-line:#dce4da; --pcr-contact-input:#f8faf7; }
.pcr-contact__trigger { width:54px; height:54px; border:0; box-shadow:0 8px 22px rgba(38,78,21,.25); transition:transform .18s, background .18s; }
.pcr-contact__trigger:hover { transform:translateY(-2px); }
.pcr-contact__panel { width:min(390px,calc(100vw - 24px)); max-height:min(730px,calc(100dvh - 100px)); padding:22px; border:1px solid var(--pcr-contact-line); border-top:4px solid #65b51d; border-radius:14px; box-shadow:0 16px 44px rgba(25,40,22,.24); overscroll-behavior:contain; }
.pcr-contact__heading { gap:12px; margin-bottom:18px; }
.pcr-contact__eyebrow { display:inline-flex; align-items:center; gap:6px; margin-bottom:7px; color:#4c8b28; font-size:11px; font-weight:700; letter-spacing:.04em; }
body .pcr-contact__heading h2 { margin:0 0 5px; font-size:20px; letter-spacing:-.025em; }
.pcr-contact__heading p { font-size:13px; }
.pcr-contact__close { border-radius:50%; border-color:transparent; background:var(--pcr-contact-input); }
.pcr-contact__close:hover { border-color:var(--pcr-contact-line); }
.pcr-contact__form { gap:11px; }
body .pcr-contact__form label { font-size:12px; font-weight:700; gap:5px; }
body .pcr-contact__form input:not([type=hidden]):not([type=checkbox]), body .pcr-contact__form textarea { min-height:40px; border-color:var(--pcr-contact-line); border-radius:7px; background:var(--pcr-contact-input); }
body .pcr-contact__form textarea { min-height:76px; }
.pcr-contact__form label.pcr-contact__privacy-check { font-size:12px; font-weight:400; }
.pcr-contact__trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.pcr-contact__captcha { color:#62715e; font-size:11px; }
.pcr-contact__captcha-load { border-radius:6px; }
.pcr-contact__local-notice { border-radius:5px; font-size:11px; }
.pcr-contact__submit { min-height:44px; border-radius:7px; border:0; }
.pcr-contact__full { color:#55704a; font-size:12px; text-decoration:none; }
.pcr-contact__full:hover { text-decoration:underline; }
html[data-theme="dark"] .pcr-contact { --pcr-contact-bg:#292f29; --pcr-contact-text:#f3f6f1; --pcr-contact-line:#52604e; --pcr-contact-input:#333b32; }
html[data-theme="dark"] .pcr-contact__eyebrow, html[data-theme="dark"] .pcr-contact__captcha { color:#c7d7c1; }
@media (max-width:575px) {
  .pcr-contact__trigger { width:46px; height:46px; }
  .pcr-contact__panel { bottom:54px; max-height:calc(100dvh - 215px); padding:17px; }
  body .pcr-contact__heading h2 { font-size:18px; }
}

/* Discreet message shortcut; retain a 44px touch target. */
.pcr-contact__trigger { position:relative; width:44px; height:44px; border:1px solid rgba(114,81,60,.25); background:rgba(255,250,243,.88); color:#654b3b; box-shadow:0 5px 16px rgba(41,29,24,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.pcr-contact__trigger .fa { font-size:19px; }
.pcr-contact__trigger:hover { background:#fffaf3; color:#543929; }
.pcr-contact__trigger--seasonal::after { content:'✦'; position:absolute; top:3px; right:5px; color:#b67f30; font:700 10px/1 sans-serif; }
html[data-theme="dark"] .pcr-contact__trigger { background:rgba(44,40,37,.88); border-color:rgba(237,216,185,.38); color:#f5e5ce; }
html[data-theme="dark"] .pcr-contact__trigger:hover { background:#4a4038; }
@media (max-width:575px) { .pcr-contact__trigger { width:44px; height:44px; } .pcr-contact__panel { width:min(390px,calc(100vw - 52px)); } }


