.distribution-invitation{display:flex;align-items:center;gap:24px;padding:24px 30px;margin:24px 0 30px;background:linear-gradient(115deg,#e5eee4,#f4f6eb);border:1px solid #d3dfcf;border-radius:12px;color:#244c3c;text-decoration:none;box-shadow:0 5px 18px #294c3510;transition:box-shadow .2s,transform .2s}.distribution-invitation:hover{transform:translateY(-2px);box-shadow:0 8px 24px #294c3520}.distribution-invitation:focus-visible{outline:3px solid #b68a39;outline-offset:3px}.distribution-invitation-art{width:100px;flex:none}.distribution-invitation-art svg{display:block;width:100%;height:auto}.distribution-invitation-copy{display:grid;gap:6px}.distribution-invitation-copy small{font-size:10px;letter-spacing:.18em;color:#78896c}.distribution-invitation-copy strong{font-size:24px;letter-spacing:.06em}.distribution-invitation-copy>span{font-size:14px;line-height:1.8}.distribution-invitation-action{margin-left:auto;white-space:nowrap;font-size:13px;font-weight:600;border-bottom:1px solid #7f9b83;padding:8px 0}.distribution-invitation-action>span{margin-left:12px;font-size:22px}.distribution-total{font-size:20px}.distribution-total strong{font-size:38px;color:#225b45}.distribution-total span{font-size:14px}.distribution-frame{position:relative;max-width:900px;margin:0 auto;border:1px solid #dce5dc;border-radius:12px;overflow:hidden}#distribution-map{height:610px;background:#eef2ee}#distribution-legend{position:absolute;bottom:24px;left:18px;z-index:500;background:#fffffff0;padding:12px;border-radius:8px;font-size:13px;pointer-events:none}#distribution-legend span{display:block;white-space:nowrap}#distribution-legend i{display:inline-block;width:18px;height:12px;margin-right:7px;border:1px solid #788a80}.distribution-okinawa{position:absolute;top:18px;left:18px;width:220px;z-index:500;background:#f8faf6;border:1px solid #c8d7cc;border-radius:8px;overflow:hidden}.distribution-okinawa>span{display:block;padding:8px 12px;font-size:12px;color:#4e6b5c;border-bottom:1px solid #d8e2d9}#distribution-okinawa{height:145px;background:#f8faf6}.distribution-content details{margin:18px 0}.distribution-content summary{cursor:pointer}@media(max-width:950px){.distribution-invitation{gap:18px;padding:22px}.distribution-invitation-action{font-size:12px}.distribution-invitation-art{width:74px}}@media(max-width:700px){.distribution-invitation{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:20px}.distribution-invitation-art{width:54px}.distribution-invitation-copy strong{font-size:19px}.distribution-invitation-copy>span{font-size:12px}.distribution-invitation-action{grid-column:2;margin:0;justify-self:start}.distribution-okinawa{display:none}.distribution-frame{border:0;overflow:visible}#distribution-map{height:510px;border-radius:12px}#distribution-legend{position:static;display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;padding:10px}#distribution-legend strong{width:100%}.distribution-total strong{font-size:30px}}
/* Search forms: use the available width without extra action rows. */
@media(min-width:851px){
 .search-filters.filters{grid-template-columns:1fr 1.25fr 1.4fr 1fr;gap:16px}
 .search-filters.filters>label{min-width:0}
 .search-filters.filters .photo-filter{grid-column:2;align-self:end;min-height:42px}
 .search-filters.filters .filter-actions{grid-column:3/5;align-self:end}
}
@media(min-width:1000px){
 .distribution-filters.filters{grid-template-columns:minmax(200px,1fr) 190px 150px auto;gap:16px;align-items:end}
 .distribution-filters.filters>label{min-width:0}
 .distribution-filters.filters .filter-actions{grid-column:auto;gap:8px}
 .distribution-filters.filters .filter-actions button{padding:0 16px;white-space:nowrap}
}
.distribution-notes{margin:28px 0 18px;padding:20px 24px;background:#f6f7f3;border-left:3px solid #d5dfd3;border-radius:0 8px 8px 0;color:#748076;font-size:12px;line-height:1.9}
.distribution-notes h2{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;color:#627064}
.distribution-notes p{margin:6px 0}
.distribution-content{padding-bottom:72px}
.distribution-content>.muted{font-size:12px;line-height:1.8;color:#748076}
@media(max-width:700px){
 .distribution-okinawa{display:block;top:12px;left:12px;width:132px}
 .distribution-okinawa>span{font-size:10px;padding:5px 8px}
 #distribution-okinawa{height:88px}
 .distribution-notes{padding:16px 18px;margin-top:24px}
 .distribution-content{padding-bottom:48px}
}
