.wpcal{--wpcal-green:#183b2a;--wpcal-green-2:#285d42;--wpcal-cream:#f6f3ea;--wpcal-line:#d9ddd7;--wpcal-text:#18211b;--wpcal-muted:#68726b;position:relative;width:100%;color:var(--wpcal-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
.wpcal *{box-sizing:border-box}.wpcal button,.wpcal input{font:inherit}.wpcal-searchbar{position:relative;z-index:1001;display:flex;gap:8px;align-items:center;margin:0 0 10px}.wpcal-search-form{display:flex;flex:1;min-width:0}.wpcal-search-input{min-width:0;flex:1;height:46px;padding:0 15px;border:1px solid var(--wpcal-line);border-radius:12px 0 0 12px;background:#fff;color:var(--wpcal-text);box-shadow:0 5px 20px rgba(16,38,25,.06)}.wpcal-search-input:focus{outline:2px solid rgba(40,93,66,.28);outline-offset:1px}.wpcal-button{height:46px;padding:0 17px;border:0;border-radius:0 12px 12px 0;background:var(--wpcal-green);color:#fff;font-weight:700;cursor:pointer}.wpcal-button:hover{background:var(--wpcal-green-2)}.wpcal-button:disabled{opacity:.55;cursor:wait}.wpcal-icon-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--wpcal-line);border-radius:12px;background:#fff;color:var(--wpcal-green);font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 5px 20px rgba(16,38,25,.06)}.wpcal-icon-button:hover{background:var(--wpcal-cream)}.wpcal-search-results{position:absolute;top:52px;left:0;width:min(650px,calc(100% - 108px));max-height:310px;overflow:auto;border:1px solid var(--wpcal-line);border-radius:12px;background:#fff;box-shadow:0 16px 45px rgba(18,40,27,.2)}.wpcal-search-result{display:block;width:100%;padding:11px 14px;border:0;border-bottom:1px solid #edf0ed;background:#fff;text-align:left;cursor:pointer}.wpcal-search-result:last-child{border-bottom:0}.wpcal-search-result:hover,.wpcal-search-result:focus{background:#f3f7f4}.wpcal-search-result strong,.wpcal-search-result span{display:block}.wpcal-search-result span{margin-top:2px;color:var(--wpcal-muted);font-size:12px}.wpcal-search-message{padding:14px}.wpcal-search-message.is-error{color:#a32d2d}
.wpcal-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:var(--wpcal-height);overflow:hidden;border:1px solid var(--wpcal-line);border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(21,49,32,.12)}.wpcal-shell.wpcal-no-panel{grid-template-columns:1fr}.wpcal-map-wrap{position:relative;min-width:0;min-height:var(--wpcal-height);background:#e9ece8}.wpcal-map{width:100%;height:var(--wpcal-height);min-height:360px}.wpcal-map-tools{position:absolute;z-index:700;top:12px;right:12px}.wpcal-map-tools .wpcal-icon-button{width:38px;height:38px;border-radius:9px;font-size:18px}.wpcal-map-status{position:absolute;z-index:720;left:50%;bottom:22px;max-width:calc(100% - 40px);padding:8px 13px;border-radius:999px;background:rgba(24,59,42,.93);color:#fff;font-size:12px;font-weight:700;opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:.2s ease}.wpcal-map-status.is-visible{opacity:1;transform:translate(-50%,0)}.wpcal-map-status.is-error{background:rgba(154,43,43,.95)}
.wpcal-panel{position:relative;z-index:500;min-width:0;border-left:1px solid var(--wpcal-line);background:#fbfcfa;transition:transform .25s ease}.wpcal-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 20px 17px;border-bottom:1px solid var(--wpcal-line);background:#fff}.wpcal-eyebrow{display:block;margin-bottom:3px;color:var(--wpcal-green-2);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wpcal-panel h2{margin:0;color:var(--wpcal-green);font-size:20px;line-height:1.2}.wpcal-panel-toggle{display:none;width:34px;height:34px;border:1px solid var(--wpcal-line);border-radius:9px;background:#fff;color:var(--wpcal-green);font-size:18px}.wpcal-panel-body{height:calc(var(--wpcal-height) - 79px);padding:16px;overflow:auto}.wpcal-basemap-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--wpcal-muted);font-size:12px;font-weight:700}.wpcal-segmented{display:flex;padding:2px;border:1px solid var(--wpcal-line);border-radius:9px;background:#fff}.wpcal-segmented button{padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--wpcal-muted);font-size:11px;font-weight:800;cursor:pointer}.wpcal-segmented button.is-active{background:var(--wpcal-green);color:#fff}.wpcal-layer-list{display:grid;gap:7px}.wpcal-layer-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto 18px;gap:9px;align-items:center;min-height:43px;padding:8px 10px;border:1px solid #e4e7e3;border-radius:10px;background:#fff;cursor:pointer;transition:.15s ease}.wpcal-layer-item:hover{border-color:#bdc9c0;transform:translateY(-1px)}.wpcal-layer-item[data-state="loading"]{background:#f6faf7}.wpcal-layer-item[data-state="error"]{border-color:#e5b4b4;background:#fff8f8}.wpcal-swatch{width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--wpcal-layer-color);box-shadow:0 0 0 1px var(--wpcal-layer-color)}.wpcal-layer-label{font-size:13px;font-weight:750}.wpcal-layer-state{max-width:94px;overflow:hidden;color:var(--wpcal-muted);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.wpcal-layer-item[data-state="loading"] .wpcal-layer-state::before{content:"";display:inline-block;width:8px;height:8px;margin-right:4px;border:1px solid #9aae9e;border-top-color:var(--wpcal-green);border-radius:50%;animation:wpcal-spin .7s linear infinite}.wpcal-layer-item input{width:16px;height:16px;margin:0;accent-color:var(--wpcal-green)}@keyframes wpcal-spin{to{transform:rotate(360deg)}}
.wpcal-legend,.wpcal-details{margin-top:16px;padding-top:14px;border-top:1px solid var(--wpcal-line)}.wpcal-legend h3,.wpcal-details h3{margin:0 0 6px;color:var(--wpcal-green);font-size:13px}.wpcal-legend p,.wpcal-details p{margin:0;color:var(--wpcal-muted);font-size:11px}.wpcal-details-content h4{margin:0 0 10px;font-size:14px}.wpcal-details-content dl{display:grid;gap:7px;margin:0}.wpcal-details-content dl>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:7px;padding-bottom:7px;border-bottom:1px dotted #dce1dc}.wpcal-details-content dt{color:var(--wpcal-muted);font-size:10px;font-weight:800;text-transform:uppercase}.wpcal-details-content dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:11px}.wpcal-details-content a{color:var(--wpcal-green-2);font-weight:700}.wpcal-use-list{max-height:220px;margin:4px 0 0;padding-left:17px;overflow:auto}.wpcal-use-list li{margin-bottom:8px}.wpcal-source-note{margin-top:17px;padding:10px;border-radius:9px;background:var(--wpcal-cream);color:var(--wpcal-muted);font-size:9px;line-height:1.5}.wpcal-error .wpcal-map{display:grid;place-items:center;padding:25px;background:#fff3f3;color:#922}
.wpcal:fullscreen{padding:12px;background:#eef1ed}.wpcal:fullscreen .wpcal-shell,.wpcal:fullscreen .wpcal-map-wrap,.wpcal:fullscreen .wpcal-map{height:calc(100vh - 84px);min-height:0}.wpcal:fullscreen .wpcal-panel-body{height:calc(100vh - 163px)}
.wpcal .leaflet-control-attribution{font-size:9px}.wpcal .leaflet-control-zoom a{color:var(--wpcal-green)}.wpcal .leaflet-popup-content-wrapper{border-radius:10px}.wpcal .leaflet-tooltip{border:0;border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.16);font-size:11px;font-weight:700}
@media(max-width:860px){.wpcal-shell{display:block;position:relative}.wpcal-map-wrap,.wpcal-map{height:var(--wpcal-height);min-height:420px}.wpcal-panel{position:absolute;right:8px;bottom:8px;left:8px;max-height:min(60%,460px);border:1px solid var(--wpcal-line);border-radius:15px;box-shadow:0 12px 40px rgba(16,39,25,.22)}.wpcal-panel-header{padding:12px 14px;border-radius:14px 14px 0 0}.wpcal-panel-toggle{display:grid;place-items:center}.wpcal-panel-body{height:auto;max-height:360px;padding:12px}.wpcal-panel.is-collapsed .wpcal-panel-body{display:none}.wpcal-panel.is-collapsed .wpcal-panel-header{border-radius:14px}.wpcal-panel.is-collapsed .wpcal-panel-toggle{transform:rotate(180deg)}.wpcal-map-tools{top:60px}.wpcal-search-results{width:calc(100% - 108px)}}
@media(max-width:560px){.wpcal-searchbar{gap:6px}.wpcal-search-input{height:43px;font-size:13px}.wpcal-button{height:43px;padding:0 11px;font-size:12px}.wpcal-icon-button{width:43px;height:43px}.wpcal-shell,.wpcal-search-input,.wpcal-button{border-radius:12px}.wpcal-search-input{border-radius:12px 0 0 12px}.wpcal-button{border-radius:0 12px 12px 0}.wpcal-map-wrap,.wpcal-map{height:max(520px,var(--wpcal-height));}.wpcal-layer-item{min-height:40px}.wpcal-panel{max-height:55%}.wpcal-panel-body{max-height:330px}.wpcal-search-results{top:49px;width:100%}}
@media(prefers-reduced-motion:reduce){.wpcal *{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important}}

/* Detailed feature sheet — v1.0.1 */
.wpcal-feature-drawer{position:absolute;z-index:860;top:0;bottom:0;left:0;display:flex;width:min(440px,calc(100% - 48px));min-width:320px;flex-direction:column;overflow:hidden;border-right:1px solid var(--wpcal-line);background:#fff;box-shadow:18px 0 48px rgba(18,40,27,.22);opacity:0;visibility:hidden;transform:translateX(-104%);pointer-events:none;transition:transform .28s ease,opacity .2s ease,visibility 0s linear .28s}.wpcal-feature-drawer.is-open{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto;transition-delay:0s}.wpcal-feature-drawer-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:77px;padding:17px 18px 15px;border-bottom:1px solid var(--wpcal-line);background:rgba(255,255,255,.98)}.wpcal-feature-drawer-eyebrow{display:block;margin-bottom:4px;color:var(--wpcal-green-2);font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.wpcal-feature-drawer-title{margin:0;color:#26384b;font-size:22px;font-weight:780;line-height:1.18}.wpcal-feature-drawer-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:0;border-radius:50%;background:transparent;color:#7b8989;font-size:29px;font-weight:300;line-height:1;cursor:pointer}.wpcal-feature-drawer-close:hover,.wpcal-feature-drawer-close:focus-visible{background:#eef3ef;color:var(--wpcal-green);outline:none}.wpcal-feature-drawer-body{min-height:0;flex:1;padding:0 18px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.wpcal-feature-drawer-body:focus{outline:none}.wpcal-feature-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -18px 17px;padding:13px 18px;border-bottom:1px solid #d7e4ef;background:#eef6fd;color:#1884d8;font-size:15px;font-weight:780}.wpcal-farm-card,.wpcal-generic-card{color:#3e5369}.wpcal-feature-kind{display:flex;align-items:center;gap:9px;margin:0 0 15px;color:#2c4157;font-size:15px;font-weight:790}.wpcal-feature-kind-icon{display:inline-grid;place-items:center;width:24px;height:24px;font-size:17px}.wpcal-farm-card h4,.wpcal-generic-card h4{margin:0 0 18px;color:#26384b;font-size:20px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.wpcal-facts{display:grid;gap:0;margin:0}.wpcal-fact-row{display:grid;grid-template-columns:122px minmax(0,1fr);gap:12px;padding:7px 0}.wpcal-fact-row dt{margin:0;color:#839092;font-size:13px;font-weight:780;line-height:1.45}.wpcal-fact-row dd{min-width:0;margin:0;color:#40566d;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.wpcal-status-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#edf0ef;color:#56625d;font-size:12px;font-weight:850}.wpcal-status-badge.is-active{background:#e6f6e9;color:#2f9d41}.wpcal-bio-section{margin-top:17px;padding-top:17px;border-top:1px solid #e1e6e3}.wpcal-bio-section h5{margin:0 0 12px;color:#26384b;font-size:14px;font-weight:820}.wpcal-bio-badge{display:inline-flex;align-items:center;margin-bottom:10px;padding:5px 10px;border-radius:8px;background:#eef2ef;color:#52615a;font-size:13px;font-weight:820}.wpcal-bio-badge.is-certified{background:#e8f7eb;color:#20a33a}.wpcal-bio-facts{margin-top:2px}.wpcal-muted-note{margin:5px 0 0;padding:11px 12px;border-radius:9px;background:#f5f7f5;color:#6f7b77;font-size:12px;line-height:1.55}.wpcal-detail-loading{display:flex;align-items:center;gap:10px;padding:10px 0;color:#6f7b77;font-size:12px}.wpcal-spinner{display:inline-block;width:17px;height:17px;border:2px solid #d7e1da;border-top-color:var(--wpcal-green-2);border-radius:50%;animation:wpcal-spin .72s linear infinite}.wpcal-feature-links{display:grid;gap:0;margin-top:17px;padding-top:5px;border-top:1px dashed #d8dfda}.wpcal-feature-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px dashed #e1e6e2;color:#1592df;font-size:13px;font-weight:800;text-decoration:none}.wpcal-feature-links a:hover{text-decoration:underline}.wpcal-feature-source{margin:18px 0 0;color:#91a0a3;font-size:10px;font-style:italic;line-height:1.55}.wpcal-feature-open .wpcal-map-tools{opacity:.9}
.wpcal:fullscreen .wpcal-feature-drawer{top:0;bottom:0}
@media(max-width:860px){.wpcal-feature-drawer{top:auto;right:8px;bottom:8px;left:8px;width:auto;min-width:0;height:min(72%,580px);border:1px solid var(--wpcal-line);border-radius:16px;box-shadow:0 -12px 42px rgba(18,40,27,.24);transform:translateY(106%)}.wpcal-feature-drawer.is-open{transform:translateY(0)}.wpcal-feature-drawer-header{min-height:66px;padding:13px 15px 12px;border-radius:15px 15px 0 0}.wpcal-feature-drawer-title{font-size:19px}.wpcal-feature-drawer-body{padding-right:15px;padding-left:15px}.wpcal-feature-context{margin-right:-15px;margin-left:-15px;padding-right:15px;padding-left:15px}.wpcal-feature-open .wpcal-panel{opacity:0;pointer-events:none}.wpcal-feature-open .wpcal-map-tools{opacity:0;pointer-events:none}}
@media(max-width:560px){.wpcal-feature-drawer{right:5px;bottom:5px;left:5px;height:min(78%,610px)}.wpcal-fact-row{grid-template-columns:102px minmax(0,1fr);gap:9px}.wpcal-fact-row dt{font-size:12px}.wpcal-fact-row dd{font-size:13px}.wpcal-feature-context{font-size:14px}.wpcal-farm-card h4,.wpcal-generic-card h4{font-size:18px}}

/* Ergonomic search placement — v1.0.2 */
.wpcal-search-smart .wpcal-searchbar,
.wpcal-search-below .wpcal-searchbar{
	position:relative;
	z-index:1001;
	width:100%;
	margin:10px 0 0;
}
.wpcal-search-smart .wpcal-search-results,
.wpcal-search-below .wpcal-search-results{
	top:calc(100% + 8px);
	bottom:auto;
}

@media(min-width:1101px){
	.wpcal-search-smart .wpcal-searchbar{
		position:absolute;
		z-index:820;
		bottom:22px;
		left:50%;
		width:min(760px,calc(100% - 64px));
		margin:0;
		padding:6px;
		border:1px solid rgba(217,221,215,.92);
		border-radius:17px;
		background:rgba(255,255,255,.94);
		box-shadow:0 14px 42px rgba(17,44,28,.22);
		transform:translateX(-50%);
		backdrop-filter:blur(10px);
		-webkit-backdrop-filter:blur(10px);
	}
	.wpcal-search-smart.wpcal-has-panel .wpcal-searchbar{
		left:calc((100% - 330px)/2);
		width:min(760px,calc(100% - 394px));
	}
	.wpcal-search-smart .wpcal-search-input,
	.wpcal-search-smart .wpcal-button,
	.wpcal-search-smart .wpcal-icon-button{
		box-shadow:none;
	}
	.wpcal-search-smart .wpcal-search-input{
		border-color:#cfd6d0;
	}
	.wpcal-search-smart .wpcal-search-results{
		top:auto;
		bottom:calc(100% + 8px);
		left:6px;
		width:calc(100% - 120px);
		max-height:min(310px,calc(var(--wpcal-height) - 120px));
	}
	.wpcal-search-smart .wpcal-map-status{
		bottom:88px;
	}
	.wpcal-search-smart.wpcal-feature-open .wpcal-searchbar{
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translate(-50%,10px);
		transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
	}
	.wpcal-search-below .wpcal-searchbar{
		padding:0;
	}
}

@media(max-width:1100px){
	.wpcal-search-smart .wpcal-searchbar,
	.wpcal-search-below .wpcal-searchbar{
		position:relative;
		z-index:1001;
		left:auto;
		bottom:auto;
		width:100%;
		margin:10px 0 0;
		padding:0;
		transform:none;
	}
	.wpcal-search-smart .wpcal-search-results,
	.wpcal-search-below .wpcal-search-results{
		top:calc(100% + 8px);
		bottom:auto;
		left:0;
		width:100%;
		max-height:300px;
	}
	.wpcal-search-smart .wpcal-map-status{
		bottom:22px;
	}
}

@media(max-width:560px){
	.wpcal-search-smart .wpcal-searchbar,
	.wpcal-search-below .wpcal-searchbar{
		flex-wrap:wrap;
	}
	.wpcal-search-smart .wpcal-search-form,
	.wpcal-search-below .wpcal-search-form{
		flex-basis:calc(100% - 98px);
	}
	.wpcal-search-smart .wpcal-search-results,
	.wpcal-search-below .wpcal-search-results{
		top:calc(100% + 7px);
	}
}

/* 1.0.3 — géométrie carrée sur l'ensemble de l'affichage public. */
.wpcal,
.wpcal *,
.wpcal *::before,
.wpcal *::after {
	border-radius: 0 !important;
}

/* Les contrôles natifs et indicateurs de chargement conservent leur forme fonctionnelle. */
.wpcal input[type="radio"],
.wpcal .wpcal-spinner,
.wpcal .wpcal-layer-item[data-state="loading"] .wpcal-layer-state::before {
	border-radius: 50% !important;
}
