:root { --cf-green: #204f42; --cf-green-2: #2f765f; --cf-mint: #e7f2ec; --cf-cream: #f7f4ec; --cf-ink: #1d2c27; --cf-border: #d6e0db; }
.cf-button { background: var(--cf-green); border: 0; border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; justify-content: center; min-height: 46px; padding: 12px 22px; }
.cf-button:hover { background: var(--cf-green-2); color: #fff; }
.cf-button:disabled { cursor: wait; opacity: .6; }
.cf-button--secondary { align-self: end; background: var(--cf-mint); color: var(--cf-green); white-space: nowrap; }
.cf-map-app { border: 1px solid var(--cf-border); border-radius: 22px; box-shadow: 0 18px 55px rgba(24, 67, 54, .12); overflow: hidden; }
.cf-map-toolbar { align-items: end; background: #fff; display: grid; gap: 14px; grid-template-columns: minmax(260px, 1fr) minmax(150px, .35fr) auto; padding: 18px; }
.cf-map-toolbar label { color: #5a6b65; display: block; font-size: 12px; font-weight: 700; margin-bottom: 5px; }
.cf-map-search,.cf-map-state { align-content:end; display:grid; grid-template-rows:auto 46px; }
.cf-map-toolbar input, .cf-map-toolbar select { border: 1px solid var(--cf-border); border-radius: 10px; box-sizing: border-box; font: inherit; height:46px; min-height:46px; padding: 10px 12px; width: 100%; }
.cf-map-toolbar .cf-map-open{align-items:center;background:var(--cf-mint);border-radius:10px;color:var(--cf-green);display:flex;font-size:13px;gap:7px;height:46px;min-height:46px;padding:0 13px;white-space:nowrap}.cf-map-toolbar .cf-map-open input{height:auto;min-height:auto;width:auto}
.cf-map-actions{align-items:stretch;display:flex;gap:10px}.cf-map-actions .cf-button{min-height:46px;white-space:nowrap}
.cf-opening-hours-note{align-items:flex-start;background:#f4f8f5;border-top:1px solid #e3ece7;color:#566861;display:flex;font-size:12px;gap:9px;line-height:1.5;margin:0;padding:11px 18px}.cf-opening-hours-note>span:first-child{align-items:center;background:#dcece4;border-radius:50%;color:#205c49;display:inline-flex;flex:0 0 19px;font-size:11px;font-weight:800;height:19px;justify-content:center;margin-top:1px}.cf-opening-hours-note strong{color:#36594e}
.cf-map-shell { display: grid; grid-template-columns: minmax(290px, 36%) 1fr; height: 650px; }
.cf-google-data-note{background:#f7faf8;border-top:1px solid var(--cf-border);color:#62726b;font-size:11px;line-height:1.45;margin:0;padding:10px 18px}
.cf-map-results { background: #f7faf8; border-right: 1px solid var(--cf-border); overflow-y: auto; scrollbar-color:#adc0b7 transparent; scrollbar-width:thin; }
.cf-map-count { color: #6c7b75; font-size: 12px; font-weight: 700; letter-spacing: .03em; padding: 14px 18px 4px; text-transform: uppercase; }
.cf-pharmacy-card { background: #fff; border: 1px solid var(--cf-border); border-radius: 13px; margin: 12px; padding: 16px; transition: box-shadow .18s ease; touch-action: pan-y; }
.cf-map-results .cf-pharmacy-card:first-child { margin-top: 0; }
.cf-pharmacy-card:hover,.cf-pharmacy-card:focus-within { box-shadow:0 10px 24px rgba(32,79,66,.1); }
.cf-pharmacy-card h3 { color: var(--cf-ink); font-size: 18px; margin: 3px 0 8px; }
.cf-pharmacy-card p { color: #586761; margin: 0 0 10px; }
.cf-pharmacy-card a { color: var(--cf-green-2); font-weight: 650; }
.cf-pharmacy-card .cf-pharmacy-card__address { color: #66736e; font-size:14px; font-weight: 450; text-decoration-color: #bdcac4; text-underline-offset: 3px; }
.cf-pharmacy-card .cf-pharmacy-card__address:hover { color: var(--cf-green-2); }
.cf-pharmacy-card__state { color: var(--cf-green-2); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.cf-pharmacy-card__signals{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 10px}.cf-pharmacy-card__signals>span{border-radius:999px;font-size:11px;font-weight:750;padding:4px 8px}.cf-rating{background:#fff5d9;color:#775600}.cf-rating small{font-size:9px;font-weight:500}.cf-open-status.is-open{background:#e5f4eb;color:#18704f}.cf-open-status.is-closed{background:#f0f2f1;color:#68776f}
.cf-pharmacy-card__details { border-top: 1px solid #edf1ef; display: flex; justify-content: space-between; margin-top: 14px; padding-top: 12px; text-decoration: none; }
.cf-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.cf-card-action{align-items:center!important;background:#edf5f1;border:1px solid transparent;border-radius:999px;color:#205c49!important;display:inline-flex!important;font-size:11px;font-weight:750!important;gap:5px;padding:6px 9px;text-decoration:none}.cf-card-action:hover,.cf-card-action:focus{background:#dcece4;border-color:#b8d2c6}.cf-card-action svg{height:15px;width:15px}.cf-card-actions.is-compact{margin:9px 0}.cf-card-actions.is-compact .cf-card-action span{display:none}.cf-card-actions.is-compact .cf-card-action{padding:7px}.cf-map-info__listing{display:inline-block;font-weight:750;margin-top:5px}
.cf-community-badge{background:#e7f2ec;border-radius:999px;color:#205c49;display:inline-block;font-size:10px;font-weight:800;margin-bottom:8px;padding:4px 8px;text-transform:uppercase}.cf-community-badge.is-reported{background:#fff1d6;color:#805715}
.cf-map-canvas { background: #dfe8e3; min-height: 450px; }
.cf-map-canvas.leaflet-container { font: inherit; z-index: 0; }
.cf-leaflet-logo-marker { background:transparent; border:0; padding:0; }
.cf-map-logo-marker{display:block;filter:drop-shadow(0 2px 3px rgba(29,44,39,.35));height:38px;position:relative;width:38px}.cf-map-logo-marker>span{background:transparent;border-radius:50%;height:24px;left:5px;position:absolute;top:5px;width:24px}.cf-map-logo-marker img{height:38px;left:0;position:absolute;top:0;width:38px;z-index:1}
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background: rgba(47, 118, 95, .24); }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background: var(--cf-green-2); color: #fff; font-weight: 800; }
.leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 12px 35px rgba(24, 67, 54, .2); }
.leaflet-popup-content { line-height: 1.4; margin: 16px 18px; min-width: 190px; }
.leaflet-control-attribution { font-size: 10px; }
.cf-map-placeholder { align-items: center; color: var(--cf-green); display: flex; flex-direction: column; height: 100%; justify-content: center; padding: 30px; text-align: center; }
.cf-map-placeholder span { color: #65746f; margin-top: 8px; max-width: 360px; }
.cf-map-status { color: #687872; padding: 30px; text-align: center; }
.cf-map-info p { margin: 6px 0; }
.cf-pharmacy-location-map { background: #dfe8e3; border: 1px solid var(--cf-border); border-radius: 18px; height: 420px; overflow: hidden; z-index: 0; }
.cf-submission-form { background: #fff; border: 1px solid var(--cf-border); border-radius: 24px; box-shadow: 0 18px 55px rgba(24,67,54,.09); overflow:hidden; padding:0; }
.cf-submission-form__intro{background:#204f42;color:#fff;padding:26px 30px}.cf-submission-form__intro>span{color:#b9dbcc;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cf-submission-form__intro h2{color:#fff!important;font-size:clamp(25px,4vw,34px);letter-spacing:-.025em;margin:6px 0!important}.cf-submission-form__intro p{color:#d8e7e1;margin:0}
.cf-form-section{border-bottom:1px solid #e6ece9;padding:26px 30px}.cf-form-section--last{border-bottom:0}.cf-form-section__heading{align-items:flex-start;display:flex;gap:13px;margin-bottom:18px}.cf-form-section__heading>span{align-items:center;background:#e5f2ec;border-radius:50%;color:#205c49;display:flex;flex:0 0 34px;font-size:13px;font-weight:800;height:34px;justify-content:center}.cf-form-section__heading h3{color:var(--cf-green);font-size:19px;margin:2px 0 3px}.cf-form-section__heading p{color:#6a7972;font-size:13px;margin:0}
.cf-submission-form fieldset.cf-operation-options{border:0;display:grid;gap:11px;grid-template-columns:repeat(3,1fr);margin:0;padding:0}.cf-operation-options label{cursor:pointer;position:relative}.cf-operation-options input{height:1px;opacity:0;position:absolute;width:1px}.cf-operation-options label>span{background:#f8faf9;border:1px solid #d8e2dd;border-radius:13px;display:block;height:100%;padding:14px 15px;transition:border-color .15s,box-shadow .15s,transform .15s}.cf-operation-options strong,.cf-operation-options small{display:block}.cf-operation-options strong{color:#244f43;font-size:15px}.cf-operation-options small{color:#718079;font-size:11px;line-height:1.4;margin-top:4px}.cf-operation-options label:hover>span{border-color:#8fb6a5;transform:translateY(-1px)}.cf-operation-options input:checked+span{background:#e8f4ee;border-color:#2f765f;box-shadow:0 0 0 3px rgba(47,118,95,.11)}.cf-operation-options input:focus-visible+span{outline:3px solid rgba(47,118,95,.2);outline-offset:2px}
.cf-submission-rules{background:#fff8e7;border:1px solid #ead6a5;border-radius:12px;margin:0 30px 20px;padding:13px 15px}.cf-submission-rules strong{color:#6f510f;display:block;font-size:13px}.cf-submission-rules p{color:#6d624d;font-size:12px;line-height:1.45;margin:3px 0 0}.cf-form-grid small{color:#6b7973;display:block;font-size:11px;font-weight:400;line-height:1.4;margin-top:6px}
.cf-form-grid { display: grid; gap: 16px 18px; grid-template-columns: 1fr 1fr; }
.cf-google-address-helper { background: #e5f1ea; border: 1px solid #c8ded3; border-radius: 14px; margin:0; padding:16px; }
.cf-google-address-helper [data-cf-google-autocomplete], .cf-google-address-helper gmp-place-autocomplete { display: block; width: 100%; }
.cf-google-address-helper gmp-place-autocomplete { color-scheme: light; }
.cf-google-autocomplete{position:relative}.cf-google-autocomplete>[data-cf-google-query]{background:#f7faf8;border:1px solid #bfd4c7;border-radius:9px;box-sizing:border-box;font:inherit;min-height:46px;padding:10px 12px;width:100%}.cf-google-autocomplete>[data-cf-google-query]:focus{background:#fff;border-color:#8ab29d;box-shadow:0 0 0 3px rgba(47,118,95,.1);outline:0}.cf-google-suggestions{background:#fff;border:1px solid #bdd4c8;border-radius:9px;box-shadow:0 12px 28px rgba(24,67,54,.16);left:0;overflow:hidden;position:absolute;right:0;top:50px;z-index:1000}.cf-google-suggestions button{background:#fff;border:0;border-bottom:1px solid #edf1ef;color:var(--cf-ink);cursor:pointer;display:block;padding:10px 12px;text-align:left;width:100%}.cf-google-suggestions button:last-child{border-bottom:0}.cf-google-suggestions button:hover,.cf-google-suggestions button:focus{background:#f0f7f3;outline:0}.cf-google-suggestions button strong,.cf-google-suggestions button small{display:block}.cf-google-suggestions button strong{font-size:13px}.cf-google-suggestions button small{color:#687872;font-size:11px;font-weight:400;margin-top:2px}.cf-google-suggestions button.is-loading{opacity:.55}.cf-google-attribution{align-items:center;background:transparent;color:#64756d;display:flex;gap:4px;justify-content:flex-end;padding:6px 0 0;font-size:11px;line-height:1}.cf-google-attribution__text{text-transform:lowercase}.cf-google-attribution__brand{color:#2f765f;font-weight:700}
.cf-google-address-helper p { color: #576a62; font-size: 12px; margin: 8px 0 0; }
.cf-google-address-helper.is-unavailable { display: none; }
.cf-google-selection-status{border-radius:8px;font-size:11px;font-weight:650;margin-top:9px;padding:0;transition:.2s}.cf-google-selection-status.is-loading,.cf-google-selection-status.is-success,.cf-google-selection-status.is-error{padding:8px 10px}.cf-google-selection-status.is-loading{background:#edf3f0;color:#52675e}.cf-google-selection-status.is-success{background:#dff2e7;color:#1e6f4e}.cf-google-selection-status.is-error{background:#fff0ec;color:#934430}
.cf-manual-entry-link{background:transparent;border:0;color:#205c49;cursor:pointer;font:inherit;font-size:12px;font-weight:750;margin-top:10px;padding:0;text-decoration:underline;text-underline-offset:3px}.cf-manual-entry-link:hover{color:#2f765f}.cf-manual-entry-link:disabled{cursor:default;opacity:.7}.cf-google-address-helper.is-manual{background:#f7faf8}
.cf-form-grid label,.cf-context-field { color: #475852; display:block; font-size: 13px; font-weight: 700; }
.cf-form-grid label span { color: #a23b2a; }
.cf-form-grid input, .cf-form-grid select, .cf-form-grid textarea,.cf-context-field textarea { background:#fff; border: 1px solid #cfdcd6; border-radius: 10px; box-sizing: border-box; display: block; font: inherit; margin-top: 6px; min-height: 46px; padding: 10px 12px; width: 100%; }.cf-form-grid input:focus,.cf-form-grid select:focus,.cf-context-field textarea:focus{border-color:#2f765f;box-shadow:0 0 0 3px rgba(47,118,95,.1);outline:0}.cf-context-field>small:first-of-type{background:#edf2ef;border-radius:999px;color:#687872;display:inline-block;font-size:9px;margin-left:5px;padding:3px 6px;text-transform:uppercase}.cf-context-field textarea{min-height:96px}.cf-context-field>small:last-child{color:#6b7973;display:block;font-size:11px;font-weight:400;line-height:1.4;margin-top:6px}
.cf-form-wide { grid-column: 1 / -1; }
.cf-update-options{border:0;display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0}.cf-update-options label{cursor:pointer;position:relative}.cf-update-options input{height:1px;opacity:0;position:absolute;width:1px}.cf-update-options span{background:#f7faf8;border:1px solid #d5e1db;border-radius:999px;color:#40534b;display:block;font-size:13px;font-weight:700;padding:9px 13px;transition:background .15s,border-color .15s,color .15s}.cf-update-options label:hover span{border-color:#8fb6a5}.cf-update-options input:checked+span{background:#204f42;border-color:#204f42;color:#fff}.cf-update-options input:focus-visible+span{outline:3px solid rgba(47,118,95,.22);outline-offset:2px}.cf-context-field>span,.cf-add-required{color:#a23b2a}.cf-removal-section{background:#fffaf1}
.cf-form-submit{align-items:center;background:#f7faf8;border-top:1px solid #e2eae6;display:flex;gap:25px;justify-content:space-between;padding:20px 30px 24px}.cf-form-submit .cf-form-confirm{align-items:flex-start;color:#52635b;display:flex;font-size:12px;gap:9px;line-height:1.45;margin:0;max-width:590px}.cf-form-submit .cf-form-confirm input{flex:0 0 auto;margin-top:3px}.cf-form-submit .cf-button{flex:0 0 auto;white-space:nowrap}
.cf-form-message { border-radius: 9px; margin-bottom: 16px; }
.cf-form-message.is-success { background: var(--cf-mint); color: var(--cf-green); padding: 14px; }
.cf-form-message.is-error { background: #fff0ed; color: #8b3325; padding: 14px; }
.cf-form-honeypot { left: -10000px; position: absolute; }
.cf-community-checks{background:#f7faf8;border:1px solid var(--cf-border);border-radius:20px;padding:clamp(22px,4vw,34px)}.cf-community-status{align-items:flex-start;display:flex;gap:17px}.cf-community-status__icon{align-items:center;background:#e4f2ea;border-radius:50%;color:#1f684f;display:inline-flex;flex:0 0 44px;font-size:24px;font-weight:800;height:44px;justify-content:center;line-height:1}.cf-community-status.is-reported .cf-community-status__icon{background:#fff0d0;color:#95630a}.cf-community-status.is-neutral .cf-community-status__icon{background:#edf2ef;color:#77857f}.cf-community-status h2{margin:6px 0 8px}.cf-community-status p{color:#51635c;margin:0 0 9px}.cf-community-status small{color:#687872;font-size:12px;font-weight:650}.cf-community-form-wrap{margin-top:22px}.cf-community-form-wrap>summary{display:inline-flex;list-style:none}.cf-community-form-wrap>summary::-webkit-details-marker{display:none}.cf-community-form-wrap form{background:#fff;border:1px solid var(--cf-border);border-radius:14px;margin-top:16px;padding:20px}.cf-community-form-wrap h3{color:var(--cf-green);font-size:18px;margin:16px 0 8px}.cf-community-options,.cf-community-update-fields{display:grid;gap:9px;margin:16px 0}.cf-community-options label,.cf-community-update-fields label{font-size:14px}.cf-community-notes{display:block;font-size:13px;font-weight:700;margin-top:18px}.cf-community-notes textarea{border:1px solid var(--cf-border);border-radius:9px;box-sizing:border-box;display:block;font:inherit;margin-top:6px;padding:10px;width:100%}.cf-community-notes small{color:#687872;display:block;font-weight:400;line-height:1.45;margin-top:6px}
.cf-community-checked-fields{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.cf-community-checked-fields span{background:#e5f3eb;border-radius:999px;color:#24634f;font-size:11px;font-weight:750;padding:6px 9px}.cf-community-status .cf-community-disclaimer{font-size:12px;line-height:1.55;margin-top:13px}.cf-community-update-link{color:var(--cf-green);display:inline-block;font-size:13px;font-weight:750;margin-top:4px}.cf-pharmacy-about p{color:#51635c;font-size:17px;line-height:1.75;margin-bottom:0}
.cf-community-checks .cf-community-updated{color:#687872;font-size:12px;font-weight:650;margin:0 0 16px}
.cf-community-form-wrap>summary{align-items:center;cursor:pointer;user-select:none}.cf-community-form-wrap[open]>summary{background:#dceee5!important}.cf-community-form-wrap form{border-color:#dce6e1;border-radius:20px;box-shadow:0 22px 55px rgba(25,67,53,.09);margin-top:18px;padding:clamp(22px,4vw,34px)}.cf-community-form-heading>span{color:#2f765f;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.cf-community-form-wrap .cf-community-form-heading h3{font-size:clamp(22px,3vw,29px);letter-spacing:-.025em;margin:7px 0}.cf-community-form-heading p{color:#66766f;margin:0}.cf-community-outcomes{border:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 6px;padding:0}.cf-community-outcomes label{cursor:pointer;display:block;position:relative}.cf-community-outcomes input{height:1px;opacity:0;position:absolute;width:1px}.cf-community-outcomes label>span{background:#f7faf8;border:1px solid #d8e3dd;border-radius:16px;display:block;height:100%;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s}.cf-community-outcomes strong,.cf-community-outcomes small{display:block}.cf-community-outcomes strong{color:#204f42;font-size:15px}.cf-community-outcomes small{color:#6b7973;line-height:1.4;margin-top:5px}.cf-community-outcomes label:hover>span{border-color:#91b8a7;transform:translateY(-1px)}.cf-community-outcomes input:checked+span{background:#e8f4ee;border-color:#2f765f;box-shadow:0 0 0 3px rgba(47,118,95,.12)}.cf-community-outcomes input:focus-visible+span{outline:3px solid rgba(47,118,95,.25);outline-offset:2px}.cf-community-update-fields{background:#f8faf9;border:1px solid #e1e8e4;border-radius:16px;margin:18px 0;padding:18px}.cf-community-update-fields[hidden]{display:none}.cf-community-form-wrap .cf-community-update-fields h3{font-size:17px;margin:0 0 3px}.cf-community-update-fields>p{color:#6b7973;font-size:13px;margin:0 0 14px}.cf-community-field-grid{display:flex;flex-wrap:wrap;gap:9px}.cf-community-field-grid label{cursor:pointer;position:relative}.cf-community-field-grid input{height:1px;opacity:0;position:absolute;width:1px}.cf-community-field-grid span{background:#fff;border:1px solid #d7e1dc;border-radius:999px;color:#40534b;display:block;font-size:13px;font-weight:650;padding:8px 12px}.cf-community-field-grid input:checked+span{background:#204f42;border-color:#204f42;color:#fff}.cf-community-field-grid input:focus-visible+span{outline:3px solid rgba(47,118,95,.25)}.cf-community-form-footer{align-items:center;border-top:1px solid #e5ebe8;display:flex;gap:18px;justify-content:space-between;margin-top:22px;padding-top:20px}.cf-community-form-footer .cf-form-confirm{align-items:flex-start;color:#52635b;display:flex;font-size:13px;gap:8px;line-height:1.4;margin:0}.cf-community-form-footer .cf-form-confirm input{margin-top:3px}.cf-community-form-footer .cf-button{flex:0 0 auto}@media(max-width:680px){.cf-community-outcomes{grid-template-columns:1fr}.cf-community-form-footer{align-items:stretch;flex-direction:column}.cf-community-form-footer .cf-button{width:100%}}
@media (max-width: 1100px) { .cf-map-toolbar { grid-template-columns:minmax(240px,1fr) minmax(150px,.45fr) auto; }.cf-map-actions{justify-content:flex-end}.cf-map-actions .cf-button{min-width:170px} }
@media (max-width: 760px) { .cf-map-toolbar { grid-template-columns: 1fr; } .cf-map-actions{display:grid;grid-column:auto;grid-template-columns:1fr 1fr}.cf-map-actions .cf-map-open,.cf-map-actions .cf-button{min-width:0;width:100%}.cf-map-shell { display: flex; flex-direction: column-reverse; height: auto; } .cf-map-results { border-right: 0; max-height: 480px; } .cf-map-canvas { min-height: 420px; } .cf-form-grid { grid-template-columns: 1fr; } .cf-form-wide { grid-column: auto; }.cf-submission-form__intro,.cf-form-section{padding:22px 20px}.cf-submission-form fieldset.cf-operation-options{grid-template-columns:1fr}.cf-submission-rules{margin:0 20px 18px}.cf-form-submit{align-items:stretch;flex-direction:column;padding:19px 20px 22px}.cf-form-submit .cf-button{width:100%} }
