/* Cookie consent modal */
.cookie-modal[hidden]{display: none;}
.cookie-modal{position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; background: rgba(0, 0, 0, 0.45); display: flex; align-items: center; justify-content: center; padding: 16px;}
.cookie-modal__box{background: #fff; max-width: 520px; width: 100%; max-height: 90vh; overflow-y: auto; border-top: 4px solid #4F9C45; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25); padding: 24px 26px 20px 26px; font: normal 13px/1.6 Arial, sans-serif; color: #5a5a5a; box-sizing: border-box;}
.cookie-modal__box h2{font-family: Georgia, serif; font-size: 20px; font-weight: normal; color: #448E3B; margin: 0 0 14px 0; line-height: 1.3;}
.cookie-modal__box p{margin: 0 0 10px 0;}
.cookie-modal__box a{color: #004C8F;}
.cookie-modal__box a:hover{color: #4F9C45;}
.cookie-modal__actions{display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 16px;}

.cookie-btn{font: bold 13px Arial, sans-serif; padding: 9px 16px; border-radius: 3px; cursor: pointer; border: 1px solid #4F9C45;}
.cookie-btn--primary{background: #4F9C45; color: #fff;}
.cookie-btn--primary:hover{background: #448E3B;}
.cookie-btn--secondary{background: #fff; color: #448E3B;}
.cookie-btn--secondary:hover{background: #F3F3F3;}
.cookie-btn:focus{outline: 2px solid #004C8F; outline-offset: 2px;}

/* Click-to-load map placeholder on the contact page */
.map-consent{width: 623px; height: 350px; max-width: 100%; background: #F5F5F5; border: 1px solid #E2E2E2; display: flex; align-items: center; justify-content: center; text-align: center; box-sizing: border-box; padding: 20px;}
.map-consent__inner p{float: none !important; text-align: center !important; margin: 0 0 12px 0 !important;}
.map-consent iframe{border: 0; width: 100%; height: 100%;}
.map-consent.is-loaded{padding: 0; background: none;}

/* Cookie policy page */
.policy{line-height: 1.6;}
.policy h3{font-family: Georgia, serif; font-size: 16px; font-weight: normal; color: #00417F; margin: 18px 0 8px 0;}
.policy p{float: none !important; margin: 0 0 10px 0 !important;}
.policy ul{margin: 0 0 10px 0; padding: 0 0 0 20px; list-style: disc;}
.policy li{margin: 0 0 4px 0;}
.policy a{color: #004C8F;}
.policy a:hover{color: #4F9C45;}
.policy table{text-align: left; margin: 6px 0 12px 0;}
.policy table td{padding: 7px 10px; vertical-align: top;}
.policy .policy-date{color: #8a8a8a; font-size: 11px;}
