.wp-block-obec-office-hours .office-hours .is-today {
	margin-inline: -.65rem;
	padding-inline: .65rem;
	border-bottom-color: #cfdde6;
	border-radius: 9px;
	background: #f1f6f9;
}
.wp-block-obec-office-hours .office-hours .is-today dt::after {
	content: "dnes";
	display: inline-block;
	margin-left: .55rem;
	padding: .1rem .42rem;
	border: 1px solid #9eb5c5;
	border-radius: 999px;
	background: #fff;
	color: #31566e;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.person-card__switchboard {
	margin: .7rem 0 .35rem;
	font-size: .9rem;
}
.person-card .person-card__switchboard a {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .2rem .5rem;
	align-items: center;
	width: fit-content;
	padding: .38rem .58rem;
	border: 1px solid #d8e0e5;
	border-radius: 8px;
	background: #f4f7f8;
	color: var(--color-navy, #17364f);
	text-decoration: none;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.person-card .person-card__switchboard a:hover,
.person-card .person-card__switchboard a:focus-visible {
	border-color: var(--color-red, #b3132b);
	background: #fff;
	color: var(--color-red, #9e1629);
}
.person-card .person-card__switchboard a:focus-visible {
	outline: 3px solid rgba(179, 19, 43, .2);
	outline-offset: 2px;
}
.person-card__switchboard span {
	color: var(--color-muted, #5e6470);
	font-weight: 700;
}
.obec-data-module { margin: 1.5rem 0; }
.obec-records { overflow-x: auto; border: 1px solid #dfe3e8; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(20,35,50,.055); }
.obec-records table { width: 100%; min-width: 78rem; border-collapse: collapse; overflow-wrap: normal; word-break: normal; font-size: .94rem; }
.obec-records th, .obec-records td { padding: .72rem .8rem; border-bottom: 1px solid #e4e8eb; text-align: left; vertical-align: top; }
.obec-records th { background: #f4f6f7; color: #243442; font-size: .82rem; letter-spacing: .015em; text-transform: uppercase; }
.obec-records tbody tr:nth-child(even) { background: #fbfcfc; }
.obec-records tbody tr:hover { background: #fff8ed; }
.obec-records tbody tr:last-child td { border-bottom: 0; }
.obec-records [data-key="published"], .obec-records [data-key="signed"], .obec-records [data-key="date"], .obec-records [data-key="ico"], .obec-records [data-key="price"] { white-space: nowrap; }
.obec-records [data-key="number"] { min-width: 7rem; }
.obec-records [data-key="subject"] { min-width: 18rem; }
.obec-records [data-key="party"] { min-width: 14rem; }
.obec-records th:last-child, .obec-records td:last-child { min-width: 7.5rem; white-space: nowrap; }
.obec-sort { display: inline-flex; gap: .4rem; align-items: center; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; text-align: left; text-transform: inherit; cursor: pointer; }
.obec-sort span { color: #6a747d; font-size: 1rem; }
.obec-file-link { display: inline-flex; padding: .35rem .65rem; border-radius: 999px; background: #f8e5e7; color: #7d101d; font-weight: 800; text-decoration: none; white-space: nowrap; }
.obec-file-link:hover { background: #8f1020; color: #fff; }
.obec-record-toolbar { display: grid; grid-template-columns: minmax(15rem,2fr) minmax(10rem,1fr) auto; gap: .8rem; align-items: end; margin: 1rem 0; padding: 1rem; border: 1px solid #e1e5e8; border-radius: 14px; background: #f4f6f7; }
.obec-record-toolbar label { display: grid; gap: .3rem; color: #243442; font-weight: 800; }
.obec-record-toolbar input, .obec-record-toolbar select { width: 100%; min-height: 2.7rem; padding: .5rem .7rem; border: 1px solid #aeb7bf; border-radius: 8px; background: #fff; font: inherit; }
.obec-record-status { align-self: center; margin: 0; color: #5c6770; font-size: .9rem; white-space: nowrap; }
.obec-record-group { margin: 2rem 0; }
.obec-record-group > h2 { margin-bottom: .75rem; }
.obec-record-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin: 1rem 0; padding: 1rem; border-radius: 12px; background: #f4f6f7; }
.obec-record-filter label { display: grid; gap: .25rem; font-weight: 700; }
.obec-record-filter input { min-height: 2.6rem; padding: .45rem .65rem; border: 1px solid #aeb7bf; border-radius: 8px; }
.obec-record-filter button { min-height: 2.6rem; }
.obec-record-pagination { display: flex; gap: .35rem; justify-content: center; margin: 1.25rem 0; }
.obec-record-pagination .page-numbers { padding: .4rem .65rem; border: 1px solid #d7dde1; border-radius: 7px; text-decoration: none; }
.obec-record-pagination .current { background: #8f1020; color: #fff; }
.obec-record-pagination--client { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .65rem; }
.obec-record-pagination--client button { min-height: 2.5rem; padding: .45rem .8rem; border: 1px solid #8d1738; border-radius: 8px; background: #fff; color: #74112f; font: inherit; font-weight: 800; cursor: pointer; }
.obec-record-pagination--client button:hover:not(:disabled), .obec-record-pagination--client button:focus-visible { background: #8d1738; color: #fff; }
.obec-record-pagination--client button:disabled { border-color: #cbd1d5; color: #8b949b; cursor: not-allowed; }
.obec-record-pagination--client > span { min-width: 7.5rem; text-align: center; font-weight: 800; }
.obec-record-pagination--client label { display: flex; align-items: center; gap: .45rem; margin-left: .35rem; color: #4d5962; font-size: .9rem; font-weight: 700; }
.obec-record-pagination--client select { min-height: 2.5rem; padding: .35rem .55rem; border: 1px solid #aeb7bf; border-radius: 8px; background: #fff; font: inherit; }
.document-library { display: grid; gap: 2rem; margin-top: 2rem; }
.document-group { padding: clamp(1rem, 2.5vw, 1.75rem); border: 1px solid #e3e6e8; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(20,35,50,.06); }
.document-group h2 { margin: 0 0 1rem; }
.document-year { border-top: 1px solid #e3e6e8; }
.document-year summary { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem .25rem; cursor: pointer; font-weight: 800; }
.document-year summary span { color: #66717b; font-size: .85rem; font-weight: 600; }
.document-year ul { display: grid; gap: .55rem; margin: 0 0 1rem; padding-left: 1.25rem; }
.business-directory { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.business-card { display: flex; flex-direction: column; gap: .45rem; }
.business-card address { font-style: normal; }
.gallery-browser { display: grid; gap: clamp(1.5rem,4vw,3rem); }
.gallery-browser__hero { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.25rem; align-items: center; padding: clamp(1rem,2.5vw,1.5rem); border: 1px solid #dfe7ed; border-radius: 16px; background: linear-gradient(135deg,#f7f2e8,#eef4f7); color: #17324d; }
.gallery-browser__hero h2 { margin: .15rem 0 .4rem; color: #17324d; font-size: clamp(1.5rem,2.8vw,2.1rem); line-height: 1.12; }
.gallery-browser__hero p:last-child { max-width: 62ch; margin-bottom: 0; color: #566570; font-size: .95rem; }
.gallery-browser__hero .eyebrow { color: #8f1020; }
.gallery-browser__hero dl { display: flex; gap: .75rem; margin: 0; }
.gallery-browser__hero dl div { min-width: 6rem; padding: .7rem .85rem; border: 1px solid #d7e0e6; border-radius: 12px; background: rgba(255,255,255,.72); text-align: center; }
.gallery-browser__hero dt { font-size: clamp(1.35rem,2.5vw,1.75rem); font-weight: 900; line-height: 1; }
.gallery-browser__hero dd { margin: .25rem 0 0; color: #63717c; font-size: .78rem; }
.gallery-year-nav h2 { margin-bottom: 1rem; }
.gallery-year-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.gallery-year-card { display: grid; grid-template-columns: 1fr auto; gap: .15rem .5rem; align-items: center; min-height: 5.25rem; padding: 1rem 1.1rem; border: 1px solid #dce3e8; border-radius: 14px; background: #fff; color: #17324d; box-shadow: 0 7px 22px rgba(23,50,77,.06); text-decoration: none; transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.gallery-year-card span { font-size: 1.3rem; font-weight: 900; }
.gallery-year-card small { color: #63717c; font-weight: 700; }
.gallery-year-card b { grid-column: 2; grid-row: 1 / span 2; color: #a5182b; font-size: 1.35rem; }
.gallery-year-card:hover, .gallery-year-card:focus-visible { border-color: #c4162a; color: #8f1020; box-shadow: 0 12px 28px rgba(23,50,77,.12); transform: translateY(-2px); }
.gallery-year-card.is-active { border-color: #c4162a; background: #c4162a; color: #fff; }
.gallery-year-card.is-active small, .gallery-year-card.is-active b { color: #fff; }
.gallery-selected { scroll-margin-top: 1rem; }
.gallery-selected > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #dfe7ed; }
.gallery-selected > header h2 { margin: 0; color: #17324d; font-size: clamp(2rem,4vw,3.1rem); }
.gallery-selected > header > p { margin: 0; color: #63717c; font-weight: 800; }
.gallery-selected .ngg-albumoverview { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; width: 100% !important; }
.gallery-selected .ngg-album { float: none !important; width: auto !important; margin: 0 !important; padding: .75rem !important; border: 1px solid #dfe5e9; border-radius: 16px; background: #fff; box-shadow: 0 9px 25px rgba(23,50,77,.07); }
.gallery-selected .ngg-albumcontent { display: flex; height: 100%; flex-direction: column; }
.gallery-selected .ngg-thumbnail { width: 100% !important; overflow: hidden; border-radius: 11px; }
.gallery-selected .ngg-thumbnail img { width: 100% !important; height: auto !important; aspect-ratio: 16/10; margin: 0 !important; object-fit: cover; }
.gallery-selected .ngg-albumtitle { margin: .8rem .15rem .25rem !important; font-size: 1rem !important; line-height: 1.35; }
.gallery-selected .ngg-description { display: none; }
.gallery-selected .ngg-album-gallery-image-counter { margin: auto .15rem .15rem; color: #63717c; font-size: .85rem; }
.gallery-selected .ngg-album-compact { float: none !important; width: auto !important; margin: 0 !important; padding: .75rem !important; border: 1px solid #dfe5e9; border-radius: 16px; background: #fff; box-shadow: 0 9px 25px rgba(23,50,77,.07); }
.gallery-selected .ngg-album-compactbox, .gallery-selected .ngg-album-compactbox:before { border: 0 !important; border-radius: 11px !important; }
.gallery-selected .ngg-album-compactbox { width: 100% !important; height: auto !important; padding: 0 !important; overflow: hidden; }
.gallery-selected .ngg-album-compactbox img { width: 100% !important; height: auto !important; aspect-ratio: 16/10; margin: 0 !important; object-fit: cover; }
.gallery-selected .ngg-album-compact h4 { margin: .75rem .2rem .2rem !important; font-size: 1rem !important; line-height: 1.35; }
.gallery-selected .ngg-album-compact p { display: none; }
.obec-camera img { width: 100%; height: auto; border-radius: 14px; }
.newsletter-page-lead { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; padding: 1rem 1.15rem; border: 1px solid #dfe5e9; border-radius: 14px; background: linear-gradient(135deg,#f7f9fa,#fffaf0); }
.newsletter-page-lead p { max-width: 52rem; margin: 0; color: #455560; font-size: 1.02rem; }
.newsletter-page-points { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.newsletter-page-points li { padding: .35rem .65rem; border: 1px solid #d5dde2; border-radius: 999px; background: #fff; color: #314757; font-size: .78rem; font-weight: 800; }
.newsletter-page-note { display: flex; gap: .55rem; align-items: flex-start; margin: .85rem 0 1.4rem; padding: .75rem .9rem; border-left: 3px solid #8f1020; background: #f8f9fa; color: #52616c; font-size: .9rem; }
.newsletter-page-note::before { content: "i"; display: grid; place-items: center; flex: 0 0 auto; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #17324d; color: #fff; font-size: .72rem; font-weight: 900; }
.obec-newsletter-signup { display: grid; grid-template-columns: minmax(17rem,.9fr) minmax(0,1.25fr); max-width: none; margin: 0; border: 1px solid #eadcdf; border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(45,25,30,.085); overflow: hidden; }
.obec-newsletter-intro { padding: clamp(1.4rem,3vw,2.2rem); background: linear-gradient(145deg,#7d101d,#a21b2c); color: #fff; }
.obec-newsletter-intro h2 { margin: .35rem 0 1rem; color: #fff; font-size: clamp(1.6rem,3vw,2.25rem); }
.obec-newsletter-intro .eyebrow { color: #ffe1b3; }
.obec-newsletter-intro ul { display: grid; gap: .55rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.obec-newsletter-intro li { position: relative; padding-left: 1.6rem; }
.obec-newsletter-intro li::before { position: absolute; left: 0; content: "✓"; color: #ffd28a; font-weight: 900; }
.obec-newsletter-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: rgba(255,255,255,.15); font-size: 1.4rem; }
.obec-newsletter-form { max-width: none; margin: 0; padding: clamp(1.4rem,3vw,2.2rem); border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.obec-newsletter-form h2 { margin-top: 0; }
.obec-newsletter-form label { font-weight: 750; }
.obec-newsletter-form p { margin: 0 0 .9rem; }
.obec-newsletter-form__names { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.obec-newsletter-form input:not([type="checkbox"]) { width: 100%; min-height: 2.8rem; margin-top: .3rem; padding: .55rem .7rem; border: 1px solid #aeb7bf; border-radius: 8px; }
.obec-newsletter-form button, .obec-record-filter button { padding: .65rem 1rem; border: 0; border-radius: 8px; background: #8f1020; color: #fff; font-weight: 800; cursor: pointer; }
.obec-newsletter-unsubscribe { display: grid; grid-template-columns: minmax(14rem,.8fr) minmax(0,1.2fr); gap: clamp(1.1rem,3vw,2rem); align-items: center; margin: 0 0 .25rem; padding: clamp(1.1rem,3vw,1.65rem); border: 1px solid #dce3e8; border-radius: 14px; background: linear-gradient(135deg,#f7f9fa,#fffaf0); }
.obec-newsletter-unsubscribe h2 { margin: .2rem 0 .55rem; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.obec-newsletter-unsubscribe p { margin-bottom: 0; color: #596873; }
.obec-newsletter-unsubscribe form { min-width: 0; padding: .9rem; border: 1px solid #dce2e6; border-radius: 12px; background: #fff; }
.obec-newsletter-unsubscribe label { display: block; margin-bottom: .4rem; color: #243442; font-weight: 800; }
.obec-newsletter-unsubscribe__fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }
.obec-newsletter-unsubscribe input[type="email"] { width: 100%; min-height: 2.8rem; padding: .55rem .7rem; border: 1px solid #aeb7bf; border-radius: 8px; background: #fff; font: inherit; }
.obec-newsletter-unsubscribe button { min-height: 2.8rem; padding: .55rem 1rem; border: 0; border-radius: 8px; background: #17324d; color: #fff; font: inherit; font-weight: 800; cursor: pointer; white-space: nowrap; }
.obec-newsletter-unsubscribe button:hover, .obec-newsletter-unsubscribe button:focus-visible { background: #8f1020; }
.obec-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.notice-success { margin-bottom: 1rem; padding: .8rem 1rem; border-left: 4px solid #14804a; background: #eaf7ef; color: #0c5130; }
.notice-error { margin-bottom: 1rem; padding: .8rem 1rem; border-left: 4px solid #b42318; background: #fff0ef; color: #7a1610; }
.municipal-events-list { display: grid; gap: .8rem; }
.municipal-events-list .event-card { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); align-items: center; padding: 1rem; border: 1px solid #e2e6e9; border-radius: 12px; background: #fff; }
@media (max-width: 720px) {
	.obec-records { margin-inline: -.25rem; }
	.obec-records table { min-width: 72rem; font-size: .9rem; }
	.obec-record-toolbar { grid-template-columns: 1fr; }
	.obec-record-status { justify-self: start; }
	.obec-record-pagination--client { justify-content: center; }
	.obec-record-pagination--client label { flex-basis: 100%; justify-content: center; margin-left: 0; }
	.gallery-album-index ul { columns: 1; }
	.gallery-browser__hero { grid-template-columns: 1fr; }
	.gallery-browser__hero dl { width: 100%; }
	.gallery-browser__hero dl div { flex: 1; min-width: 0; }
	.gallery-year-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gallery-selected .ngg-albumoverview { grid-template-columns: 1fr; }
	.obec-newsletter-signup { grid-template-columns: 1fr; }
	.obec-newsletter-form__names, .obec-newsletter-unsubscribe, .obec-newsletter-unsubscribe__fields { grid-template-columns: 1fr; }
}
