/*
Theme Name: Vișeu de Sus
Theme URI: https://primariaviseudesus.ro/
Description: Temă bloc pentru Primăria Orașului Vișeu de Sus. Culorile, fonturile și spațierea sunt în theme.json; secțiunile primei pagini sunt modele (patterns) editabile din Aspect → Editor.
Version: 1.5.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: viseu
License: GPL-2.0-or-later
*/

/* ---------- Shared bits ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.viseu-single-title.wp-block-post-title { font-size: clamp(1.75rem, 3.2vw, 2.625rem); }
.viseu-eyebrow {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--wood);
}
.viseu-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: #3E4843; margin: 0; }
.viseu-label { margin: 0; font-size: 0.875rem; font-weight: 700; color: var(--wp--preset--color--muted); }
.viseu-arrow-link { margin: 0; font-weight: 700; }
.viseu-arrow-link a { text-decoration: none; }
.viseu-arrow-link a::after { content: " →"; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid #D9892F; outline-offset: 2px; }

.viseu-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.viseu-section__head { margin-bottom: 2.5rem; gap: 1.5rem; }
.viseu-section__head h2 { margin: 0; }
.viseu-section__intro { max-width: 26rem; margin: 0; font-size: 1.0625rem; color: var(--wp--preset--color--muted); }
.viseu-section__title { max-width: 40rem; }
.viseu-section--news { padding-top: var(--wp--preset--spacing--50); }

/* ---------- Top bar ---------- */
.viseu-topbar { font-size: 0.8125rem; padding-top: 0.45rem; padding-bottom: 0.45rem; }
.viseu-topbar a { color: inherit; text-decoration: none; }
.viseu-topbar a:hover { color: #fff; text-decoration: underline; }
.viseu-topbar__contact { margin: 0; display: flex; gap: 1.75rem; flex-wrap: wrap; }
.viseu-topbar__tools { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.viseu-topbar__links { display: flex; align-items: center; gap: 1.25rem; white-space: nowrap; min-width: 0; }
.viseu-topbar .viseu-topbar__mol { color: var(--wp--preset--color--sand); font-weight: 600; padding-left: 1.25rem; border-left: 1px solid #3B6B55; }
.viseu-darkmode {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 28px; padding: 0;
	border: 1px solid #3B6B55; border-radius: 6px; background: transparent;
	color: #fff; cursor: pointer;
}
.viseu-darkmode:hover { background: #fff; color: var(--wp--preset--color--fir-dark); }
.viseu-darkmode__sun, .dark-mode .viseu-darkmode__moon { display: none; }
.dark-mode .viseu-darkmode__sun { display: block; }

/* ---------- Header ---------- */
.viseu-header { border-bottom: 1px solid var(--wp--preset--color--line); padding-top: 0.875rem; padding-bottom: 0.875rem; position: relative; z-index: 20; }
.viseu-brand { display: inline-flex; align-items: center; gap: 0.875rem; text-decoration: none; color: var(--wp--preset--color--ink); }
.viseu-brand img { height: 60px; width: auto; display: block; }
.viseu-brand__text { display: flex; flex-direction: column; line-height: 1.1; white-space: nowrap; }
.viseu-brand__kicker { font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--wp--preset--color--muted); }
.viseu-brand__name { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; font-weight: 600; color: var(--wp--preset--color--fir); }
.viseu-header__actions { gap: 0.5rem; }
.viseu-nav a { text-decoration: none; }
.viseu-nav .wp-block-navigation-item__content { padding: 0.625rem 0.875rem; color: var(--wp--preset--color--ink); border-radius: 8px; }
.viseu-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--wood); }
.viseu-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important; border-radius: 14px; padding: 0.5rem !important;
	box-shadow: 0 18px 40px -18px rgba(20, 52, 40, 0.35); min-width: 15rem !important;
}
.viseu-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 0.75rem; font-weight: 500; }
.viseu-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--paper); }
@media (min-width: 1200px) { .viseu-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; } }
.viseu-nav .wp-block-navigation__container > .viseu-nav__contact-mobile { display: none; }
.viseu-nav .is-menu-open .viseu-nav__contact-mobile { display: flex !important; }
/* Menu: hamburger overlay below 1200px, inline menu from 1200px (nav block uses overlayMenu "always") */
.viseu-nav .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; border-radius: 999px; background: var(--wp--preset--color--fir); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.viseu-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem clamp(1rem, 5vw, 3rem); }
.viseu-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; }
.viseu-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 0 1rem !important; }
@media (min-width: 1200px) {
	.viseu-nav .wp-block-navigation__responsive-container-open.always-shown { display: none; }
	.viseu-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
		display: block; position: relative; width: 100%; z-index: auto; background-color: inherit;
	}
	.viseu-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
}

/* Search: icon button; the field opens as a floating pill over the menu instead of pushing it */
.viseu-header__search { position: relative; width: 44px; height: 44px; flex-shrink: 0; }
.viseu-header__search .wp-block-search__inside-wrapper {
	position: absolute; top: 0; right: 0; height: 44px; width: auto !important;
	display: flex; align-items: center; z-index: 40; border-radius: 999px;
}
.viseu-header__search .wp-block-search__button {
	display: flex; align-items: center; justify-content: center; line-height: 0;
	width: 44px; height: 44px; flex-shrink: 0; box-sizing: border-box; padding: 0; margin: 0; border-radius: 999px;
	background: #fff; color: var(--wp--preset--color--fir); border: 1px solid var(--wp--preset--color--line);
}
.viseu-header__search .wp-block-search__button svg { width: 20px; height: 20px; min-width: 0; display: block; margin: 0; }
.viseu-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
	width: min(24rem, calc(100vw - 2rem)) !important; max-width: none; background: #fff;
	border: 1px solid var(--wp--preset--color--line); box-shadow: 0 16px 36px -16px rgba(20, 52, 40, 0.45);
}
.viseu-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	flex: 1; min-width: 0; height: 42px; border: 0; background: transparent; padding: 0 1.125rem; font-size: 1rem; border-radius: 999px;
}
.viseu-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button { border-color: transparent; background: var(--wp--preset--color--fir); color: #fff; height: 42px; width: 42px; }
.viseu-header__cta .wp-block-button__link { padding: 0.75rem 1.4rem; white-space: nowrap; }

/* ---------- Hero ---------- */
.viseu-hero.wp-block-cover { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.wp-block-cover.viseu-hero.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container { width: 100%; padding-inline: clamp(0px, calc(7vw - 1em), 120px); box-sizing: border-box; }
.viseu-hero__panel {
	width: min(620px, 100%); box-sizing: border-box;
	padding: 2.5rem 2.75rem; border-radius: 20px; gap: 1.125rem;
	color: var(--wp--preset--color--ink);
}
.viseu-hero__panel h1 { margin: 0; color: var(--wp--preset--color--heading); }
.viseu-hero__search { width: 100%; margin-top: 0.25rem; }
.viseu-hero__search .wp-block-search__inside-wrapper { gap: 0.5rem; }
.viseu-hero__search .wp-block-search__input {
	height: 52px; box-sizing: border-box; padding: 0 1.125rem;
	border: 1.5px solid #CFC6B4; border-radius: 12px; background: #fff; font-size: 1rem;
}
.viseu-hero__search .wp-block-search__button { margin: 0; height: 52px; border-radius: 12px; padding: 0 1.5rem; }
.viseu-chips { gap: 0.5rem; align-items: center; font-size: 0.875rem; }
.viseu-chips > p { margin: 0 0.25rem 0 0; color: var(--wp--preset--color--muted); }
.viseu-chips .wp-block-buttons { gap: 0.5rem; }

/* Button styles */
.wp-block-button.is-style-chip .wp-block-button__link {
	background: var(--wp--preset--color--wood-light); color: #3B2A14;
	padding: 0.375rem 0.75rem; font-size: 0.875rem; font-weight: 600;
}
.wp-block-button.is-style-chip .wp-block-button__link:hover { background: var(--wp--preset--color--sand); color: #2B1E0E; }
.wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--wp--preset--color--fir); border-radius: 12px; }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--fir-dark); }
.wp-block-button.is-style-sand .wp-block-button__link { background: var(--wp--preset--color--sand); color: #2B1E0E; }
.wp-block-button.is-style-sand .wp-block-button__link:hover { background: #fff; color: #2B1E0E; }

/* ---------- Service cards ---------- */
.viseu-cards { gap: 1.25rem; }
/* Generic card (block style "Card") */
.is-style-card {
	position: relative; background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.75rem; box-sizing: border-box; gap: 0.5rem; overflow: hidden;
	transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
/* Service / link cards: tinted by tone, carved rosette in the corner, white icon tile, arrow top-right */
.viseu-card {
	--tone-bg: #EAF2ED; --tone-bg-hover: #DDEBE2; --tone-fg: var(--wp--preset--color--fir); --tone-rosette: var(--viseu-rosette-fir);
	background: var(--tone-bg) var(--tone-rosette) no-repeat right -34px bottom -34px / 150px 150px;
	border-color: transparent;
}
.viseu-tone--sand { --tone-bg: #F7EEE1; --tone-bg-hover: #F1E2CC; --tone-fg: var(--wp--preset--color--wood); --tone-rosette: var(--viseu-rosette-wood); }
.viseu-card:hover { background-color: var(--tone-bg-hover); transform: translateY(-3px); box-shadow: 0 18px 34px -22px rgba(20, 52, 40, 0.55); }
.viseu-card::before {
	content: ""; display: block; width: 52px; height: 52px; border-radius: 14px; margin-bottom: 0.875rem;
	background: #fff; box-shadow: 0 6px 16px -8px rgba(20, 52, 40, 0.35);
}
.viseu-card::after {
	content: ""; position: absolute; top: 1.75rem; left: 1.75rem; width: 52px; height: 52px;
	background: var(--tone-fg); -webkit-mask: var(--icon) center / 24px no-repeat; mask: var(--icon) center / 24px no-repeat;
}
.viseu-card__title { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 1.1875rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.viseu-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.viseu-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; z-index: 1; }
.viseu-card .viseu-card__title::before {
	content: ""; position: absolute; top: 1.75rem; right: 1.5rem; width: 34px; height: 34px; border-radius: 999px;
	background: #fff var(--viseu-arrow-fir) center / 16px no-repeat; transition: background-color 0.2s, transform 0.2s;
}
.viseu-card:hover .viseu-card__title::before { background-color: var(--tone-fg); background-image: var(--viseu-arrow-white); transform: translateX(3px); }
.viseu-card__text { margin: 0; font-size: 0.9375rem; line-height: 1.45; color: var(--wp--preset--color--muted); }
.viseu-icon--book { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4.5A1.5 1.5 0 0 1 5.5 3H19v15H5.5A1.5 1.5 0 0 0 4 19.5z'/%3E%3Cpath d='M4 19.5A1.5 1.5 0 0 0 5.5 21H19v-3'/%3E%3Cpath d='M8 7h7M8 11h5'/%3E%3C/svg%3E"); }
.viseu-icon--check { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E"); }
.viseu-icon--pen { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='m10 17 5-5 1.5 1.5-5 5H10z'/%3E%3C/svg%3E"); }
.viseu-icon--rings { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='14' r='5'/%3E%3Ccircle cx='15' cy='14' r='5'/%3E%3Cpath d='M10 4h4l-2 3z'/%3E%3C/svg%3E"); }
.viseu-icon--briefcase { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E"); }
.viseu-icon--clipboard { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1'/%3E%3Cpath d='M9 10h6M9 14h6M9 18h3'/%3E%3C/svg%3E"); }
.viseu-icon--info { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M12 7.5v.5'/%3E%3C/svg%3E"); }
.viseu-icon--eye { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }

/* Carved-wood motif separator */
hr.wp-block-separator.is-style-motif {
	border: 0; height: 20px; opacity: 1; margin-top: 0; margin-bottom: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M10 2 18 10 10 18 2 10z' fill='none' stroke='%23C98A4B' stroke-width='1.4'/%3E%3Ccircle cx='10' cy='10' r='1.8' fill='%23C98A4B'/%3E%3C/svg%3E") repeat-x left center / 20px 20px;
}

/* ---------- News & documents ---------- */
.viseu-news { gap: 2.5rem; }
.viseu-newslist .wp-block-post-template { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--wp--preset--color--line); }
.viseu-newslist .wp-block-post-template > li { margin: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.viseu-newsitem { gap: 1.5rem; padding: 1.25rem 0.25rem; align-items: center; position: relative; }
.viseu-datebox { width: 64px; flex-shrink: 0; gap: 0.25rem; align-items: center; line-height: 1; }
.viseu-datebox > * { margin: 0; }
.viseu-datebox__day { font-family: var(--wp--preset--font-family--display); font-size: 2rem !important; font-weight: 600; color: var(--wp--preset--color--fir) !important; }
.viseu-datebox__month { font-size: 0.8125rem !important; font-weight: 700; text-transform: uppercase; color: var(--wp--preset--color--muted); text-align: center; }
.viseu-newsitem__body { gap: 0.375rem; min-width: 0; }
.viseu-newsitem__body > * { margin: 0; }
.viseu-newsitem .wp-block-post-terms a:not(:first-of-type),
.viseu-newsitem .wp-block-post-terms__separator { display: none; }
.viseu-newsitem__title { font-family: var(--wp--preset--font-family--body); font-size: 1.125rem; font-weight: 600; line-height: 1.35; letter-spacing: 0; color: var(--wp--preset--color--ink); }
.viseu-newsitem__title a::after { content: ""; position: absolute; inset: 0; }
.viseu-newsitem:hover .viseu-newsitem__title a { color: var(--wp--preset--color--wood); }
.viseu-newsitem .wp-block-post-terms { position: relative; z-index: 1; }

.viseu-hcl { padding: 2.25rem; border-radius: 20px; gap: 1.375rem; }
.viseu-hcl h2 { margin: 0; }
.viseu-doclist { width: 100%; }
.viseu-doclist .wp-block-post-template { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.625rem; }
.viseu-docitem { gap: 0.875rem; align-items: center; padding: 0.875rem 1rem; border-radius: 12px; position: relative; }
.viseu-docitem:hover { background: #2C6A4F !important; }
.viseu-docitem > * { margin: 0; }
.viseu-badge { flex-shrink: 0; padding: 0.25rem 0.5rem; border-radius: 6px; background: var(--wp--preset--color--sand); color: #3B2A14; font-size: 0.75rem; font-weight: 700; line-height: 1.2; }
.viseu-docitem__title { flex-grow: 1; font-family: var(--wp--preset--font-family--body); font-size: 1rem; font-weight: 600; letter-spacing: 0; line-height: 1.35; }
.viseu-docitem__title a { color: #fff; }
.viseu-docitem__title a::after { content: ""; position: absolute; inset: 0; }
.viseu-docitem__date { color: #CFE0D6 !important; font-size: 0.875rem !important; white-space: nowrap; }

/* ---------- Tourism mosaic ---------- */
.viseu-section--dark a:where(:not(.wp-element-button)) { color: #fff; }
.viseu-mosaic { gap: 1.25rem; grid-auto-rows: 280px; }
.viseu-tile.wp-block-cover { min-height: 0; height: 100%; border-radius: 20px; overflow: hidden; padding: 1rem; align-items: flex-end; }
.viseu-tile .wp-block-cover__image-background { transition: transform 0.4s ease; }
.viseu-tile:hover .wp-block-cover__image-background { transform: scale(1.04); }
.viseu-tile--large.wp-block-cover { padding: 1.25rem; }
.viseu-caption { padding: 0.875rem 1.125rem; border-radius: 12px; gap: 0.25rem; }
.viseu-tile--large .viseu-caption { padding: 1.25rem 1.5rem; border-radius: 14px; }
.viseu-caption > * { margin: 0; }
.viseu-caption__title { font-size: 1.25rem; line-height: 1.2; }
.viseu-tile--large .viseu-caption__title { font-size: 1.75rem; }
.viseu-tile--wide .viseu-caption__title { font-size: 1.375rem; }
.viseu-caption__title a { text-decoration: none; }
.viseu-caption__title a::after { content: ""; position: absolute; inset: 0; }
/* Whole tile is the link: unposition the inner container so the stretched link reaches the tile edges
   (it stays above the image as a z-indexed flex item). */
.viseu-tile .wp-block-cover__inner-container { position: static; z-index: 1; }
.viseu-tile:has(a:focus-visible) { outline: 3px solid #D9892F; outline-offset: 3px; }

/* ---------- Contact ---------- */
.viseu-contact { gap: 2.5rem; }
.viseu-contact__grid { gap: 1.75rem 2.5rem; margin-top: 1.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.viseu-contact__grid p { margin: 0; line-height: 1.5; }
.viseu-contact__grid a { text-decoration: none; font-weight: 600; }
.viseu-cta { padding: 2.25rem; border-radius: 20px; gap: 1rem; color: #3B2A14; }
.viseu-cta h3 { margin: 0; color: #2B1E0E; font-size: 1.75rem; }
.viseu-cta p { margin: 0; }

/* ---------- Footer ---------- */
.viseu-footer { padding-top: 4rem; padding-bottom: 2rem; font-size: 0.9375rem; }
.viseu-footer a { color: var(--wp--preset--color--mist); text-decoration: none; }
.viseu-footer a:hover { color: #fff; text-decoration: underline; }
.viseu-footer .viseu-brand { margin-bottom: 1rem; }
.viseu-brand__crest { width: 52px; height: 68px; background: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.viseu-brand--footer img { height: 54px; }
.viseu-brand--footer .viseu-brand__kicker { color: #A9C0B3; }
.viseu-brand--footer .viseu-brand__name { color: #fff; font-size: 1.5rem; }
.viseu-footer__title { margin: 0 0 0.75rem; color: #fff; font-weight: 700; }
.viseu-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.625rem; }
.viseu-footer__bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #28493A; font-size: 0.875rem; color: #A9C0B3; }
.viseu-footer__bottom p { margin: 0; }

/* ---------- Inner pages ---------- */
.viseu-pagehead { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--line); }
.viseu-pagehead > * { margin-top: 0; margin-bottom: 0; }
.viseu-pagehead > * + * { margin-top: 0.875rem; }
.viseu-pagehead .wp-block-post-title,
.viseu-pagehead .wp-block-query-title { font-size: var(--wp--preset--font-size--xx-large); }
.viseu-pagehead .wp-block-term-description { color: var(--wp--preset--color--muted); }
.viseu-pagehead__lead { font-size: 1.0625rem; color: var(--wp--preset--color--muted); }
.viseu-pagehead > .wp-block-buttons { margin-top: 1.25rem; }
.viseu-eyebrow-terms { font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; }
.viseu-content { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.viseu-content img { max-width: 100%; height: auto; border-radius: 12px; }
.viseu-content table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.viseu-content th, .viseu-content td { border: 1px solid var(--wp--preset--color--line); padding: 0.5rem 0.75rem; text-align: left; }
.viseu-content iframe, .viseu-content .pdfemb-viewer { max-width: 100%; }
/* Classic [gallery] shortcodes from the old site: even grid of cropped tiles */
.viseu-content .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-block: 2rem; }
.viseu-content .gallery-columns-1 { grid-template-columns: 1fr; }
.viseu-content .gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.viseu-content .gallery-columns-4, .viseu-content .gallery-columns-5,
.viseu-content .gallery-columns-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.viseu-content .gallery > br { display: none; }
.viseu-content .gallery-item { margin: 0; width: auto !important; max-width: none !important; }
.viseu-content .gallery-icon img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.viseu-content .gallery-caption { margin-top: 0.375rem; font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
/* Block galleries in posts: same even grid (core's flex rows stretch odd last items and tall portraits) */
.viseu-content .wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.viseu-content .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; margin: 0 !important; }
.viseu-content .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
@media (max-width: 599px) {
	.viseu-content .gallery:not(.gallery-columns-1),
	.viseu-content .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
}
.viseu-content .wp-block-file { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; padding: 1rem 1.25rem; }
.viseu-newslist--archive { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--60); }
.viseu-newslist--archive .wp-block-query-pagination { margin-top: 2.5rem; gap: 0.5rem; }
.viseu-newslist--archive .page-numbers { display: inline-flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 999px; text-decoration: none; }
.viseu-newslist--archive .page-numbers.current { background: var(--wp--preset--color--fir); color: #fff; }
.viseu-postnav { padding-bottom: var(--wp--preset--spacing--60); gap: 1.5rem; font-weight: 600; }
.viseu-postnav a { text-decoration: none; }

/* Page hero (split text / photo), e.g. Turism */
.viseu-pagehero { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.viseu-pagehero .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); }
.viseu-pagehero h1 { margin: 0.5rem 0 1rem; }
.viseu-pagehero__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; display: block; }

/* Post cards grid (tourism sections) */
.viseu-postgrid .wp-block-post-template { margin: 0; padding: 0; list-style: none; gap: 1.25rem; }
.viseu-postcard { position: relative; gap: 0.875rem; height: 100%; }
.viseu-postcard .wp-block-post-featured-image { margin: 0; border-radius: 16px; overflow: hidden; background: var(--wp--preset--color--mint); }
.viseu-postcard .wp-block-post-featured-image img { transition: transform 0.4s ease; }
.viseu-postcard:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.viseu-postcard__title { margin: 0; font-size: 1.25rem; line-height: 1.25; }
.viseu-postcard__title a { color: var(--wp--preset--color--heading); text-decoration: none; }
.viseu-postcard__title a::after { content: ""; position: absolute; inset: 0; }
.viseu-postcard:hover .viseu-postcard__title a { color: var(--wp--preset--color--wood); }
.viseu-trails .wp-block-post-template { margin: 0; padding: 0; list-style: none; gap: 1.25rem; }
.viseu-trails .is-style-card { height: 100%; }

/* Online services band */
.viseu-online { gap: 1.25rem; }
.viseu-online__item { position: relative; padding: 1.75rem; border-radius: 16px; gap: 0.5rem; transition: background-color 0.15s; }
.viseu-online__item:hover { background-color: var(--wp--preset--color--fir-soft) !important; }
.viseu-online__item p { margin: 0; }
.viseu-online__item .viseu-card__title a { color: #fff; }
.viseu-online__item .viseu-card__title a::before { content: "↗ "; color: var(--wp--preset--color--sand); }

/* People (Conducere și Consiliul Local) */
.viseu-people__heading { font-size: var(--wp--preset--font-size--x-large); margin: 0 auto 1.75rem !important; }
.viseu-people .wp-block-post-template { margin: 0; padding: 0; list-style: none; gap: 1.25rem; }
.viseu-person-card { position: relative; gap: 0.75rem; }
.viseu-person-card .wp-block-post-featured-image { margin: 0; border-radius: 16px; overflow: hidden; }
.viseu-person-card__name { margin: 0; font-size: 1.25rem; line-height: 1.25; }
.viseu-person-card__name a { color: var(--wp--preset--color--heading); text-decoration: none; }
.viseu-person-card__name a::after { content: ""; position: absolute; inset: 0; }
.viseu-people--compact .is-style-card { height: 100%; }
.viseu-person img { max-width: 360px; }

/* Contact page */
.viseu-contactpage { gap: clamp(2rem, 4vw, 3.5rem); }
.viseu-contactlist { gap: 1.5rem; }
.viseu-contactlist p { margin: 0; line-height: 1.5; }
.viseu-contactlist a { font-weight: 600; text-decoration: none; }
.viseu-map { margin: 2rem 0 0; }
.viseu-map iframe { width: 100%; height: 300px; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; display: block; }
.viseu-map figcaption { margin-top: 0.5rem; font-size: 0.875rem; }
.viseu-formcard { padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: 20px; border: 1px solid var(--wp--preset--color--line); gap: 0.75rem; }
.viseu-formcard h2 { margin: 0; }
.viseu-formcard .wp-block-shortcode, .viseu-formcard .wpcf7 { width: 100%; }
.wpcf7 form p { margin: 0 0 1.125rem; }
.wpcf7 label { display: block; font-weight: 600; font-size: 0.9375rem; }
.wpcf7 input:not([type="submit"]):not([type="checkbox"]), .wpcf7 textarea {
	display: block; width: 100%; box-sizing: border-box; margin-top: 0.375rem;
	padding: 0.75rem 1rem; border: 1.5px solid #CFC6B4; border-radius: 12px; background: #fff;
	font: 400 1rem/1.4 var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink);
}
.wpcf7 textarea { min-height: 9rem; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 3px solid #D9892F; outline-offset: 1px; border-color: var(--wp--preset--color--fir); }
.wpcf7 .wpcf7-acceptance label { font-weight: 400; display: flex; gap: 0.5rem; align-items: flex-start; }
.wpcf7 .wpcf7-acceptance input { margin-top: 0.3rem; width: 18px; height: 18px; accent-color: var(--wp--preset--color--fir); }
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--fir); color: #fff; border: 0; border-radius: 999px;
	padding: 0.85rem 1.75rem; font: 700 1rem/1 var(--wp--preset--font-family--body); cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--fir-dark); }
.wpcf7-not-valid-tip { font-size: 0.875rem; margin-top: 0.25rem; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; border-radius: 12px; padding: 0.75rem 1rem; }

.viseu-icon--trail { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 20 6-12 4 7 3-4 5 9z'/%3E%3Cpath d='m8 10 1.5 2 1.5-1'/%3E%3C/svg%3E"); }
.viseu-icon--coins { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='9' cy='7' rx='6' ry='3'/%3E%3Cpath d='M3 7v5c0 1.7 2.7 3 6 3s6-1.3 6-3V7'/%3E%3Cpath d='M9 15v2c0 1.7 2.7 3 6 3s6-1.3 6-3v-5c0-1.7-2.7-3-6-3'/%3E%3C/svg%3E"); }
.viseu-icon--people { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14.5a6.5 6.5 0 0 1 3.5 5.5'/%3E%3C/svg%3E"); }

/* ---------- Responsive ---------- */
/* Tablet / small laptop: stack two-column sections, 2-column mosaic, 2x2 footer */
@media (max-width: 1199px) {
	.viseu-news.wp-block-columns, .viseu-contact.wp-block-columns, .viseu-contactpage.wp-block-columns,
	.viseu-pagehero .wp-block-columns, .viseu-mayor.wp-block-columns { flex-wrap: wrap !important; }
	.viseu-news > .wp-block-column, .viseu-contact > .wp-block-column, .viseu-contactpage > .wp-block-column,
	.viseu-pagehero .wp-block-column { flex-basis: 100% !important; }
	.viseu-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 260px; }
	.viseu-mosaic > .viseu-tile--large { grid-column: span 2 !important; grid-row: span 1 !important; }
	.viseu-mosaic > .viseu-tile--wide { grid-column: span 2 !important; }
	.viseu-footer .wp-block-columns { flex-wrap: wrap !important; gap: 2.5rem 2rem; }
	.viseu-footer .wp-block-column { flex-basis: calc(50% - 1rem) !important; flex-grow: 0 !important; }
	.viseu-pagehero__img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 1100px) {
	.viseu-topbar__contact span:first-child { display: none; }
}
@media (max-width: 1023px) {
	.viseu-topbar__contact span:last-child { display: none; }
}
@media (max-width: 599px) {
	.wp-block-buttons.viseu-header__cta { display: none; }
}
@media (max-width: 781px) {
	.viseu-topbar__contact { display: none; }
	.viseu-topbar .wp-block-group.alignwide { justify-content: flex-end; }
	/* Phones: quick links become one swipeable row (MOL first), fading out at the edge */
	.viseu-topbar__tools { flex: 1; justify-content: space-between; }
	.viseu-topbar__links {
		overflow-x: auto; scrollbar-width: none; padding-right: 1.5rem;
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 1.5rem), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 1.5rem), transparent);
	}
	.viseu-topbar__links::-webkit-scrollbar { display: none; }
	.viseu-topbar .viseu-topbar__mol { order: -1; padding-left: 0; border-left: 0; }
	.viseu-brand img { height: 46px; }
	.viseu-brand__kicker { font-size: 0.6875rem; }
	.viseu-brand__name { font-size: 1.375rem; }
	.viseu-footer .wp-block-column { flex-basis: 100% !important; }

	.viseu-hero.wp-block-cover { min-height: 0 !important; padding: 14rem 0.75rem 0.75rem; }
	.viseu-hero__panel { padding: 1.75rem 1.375rem; border-radius: 18px; }
	.viseu-hero__search .wp-block-search__inside-wrapper { flex-direction: column; }
	.viseu-hero__search .wp-block-search__button { width: 100%; }

	.viseu-cards { grid-template-columns: 1fr !important; gap: 0.625rem; }
	.is-style-card { flex-direction: row !important; flex-wrap: wrap; padding: 1rem 3.5rem 1rem 4.75rem; min-height: 0; }
	.viseu-card { background-size: 110px 110px; background-position: right -30px bottom -40px; }
	.viseu-card::before { position: absolute; left: 1rem; top: 1rem; width: 44px; height: 44px; margin: 0; }
	.viseu-card::after { left: 1rem; top: 1rem; width: 44px; height: 44px; }
	.viseu-card .viseu-card__title::before { top: 50%; right: 0.875rem; width: 30px; height: 30px; margin-top: -15px; }
	.viseu-card__title { font-size: 1.0625rem; width: 100%; }
	.viseu-card__text { font-size: 0.875rem; }

	.viseu-datebox { width: 48px; }
	.viseu-datebox__day { font-size: 1.625rem !important; }
	.viseu-newsitem { gap: 1rem; align-items: flex-start; }
	.viseu-newsitem__title { font-size: 1rem; }
	.viseu-hcl { padding: 1.75rem 1.25rem; }

	.viseu-mosaic { grid-template-columns: 1fr !important; grid-auto-rows: auto; gap: 0.75rem; }
	.viseu-mosaic > * { grid-column: auto !important; grid-row: auto !important; }
	.viseu-tile.wp-block-cover { height: 240px; }
	.viseu-tile--large.wp-block-cover { height: 360px; }
	.viseu-tile--large .viseu-caption__title { font-size: 1.5rem; }

	.viseu-contact__grid { grid-template-columns: 1fr !important; }
	.viseu-cta { padding: 1.5rem 1.25rem; }
	.viseu-footer .wp-block-columns { gap: 2rem; }
}

/* ---------- Dark mode (top-bar toggle) ----------
   Palette tokens are re-pointed; "white" stays white because it is also used as text on green panels,
   so white *surfaces* are overridden by class instead. */
html.dark-mode {
	color-scheme: dark;
	--wp--preset--color--paper: #0E1813;
	--wp--preset--color--ink: #E6ECE8;
	--wp--preset--color--heading: #F1F4F0;
	--wp--preset--color--muted: #A7B6AD;
	--wp--preset--color--line: #26372E;
	--wp--preset--color--mint: #1C3328;
	--wp--preset--color--wood: #E0A36B;
	--wp--preset--color--wood-light: #2C2519;
	--wp--preset--color--fir: #24604A;
	--wp--preset--color--fir-soft: #2B6B52;
	--wp--preset--color--fir-dark: #0A130F;
	--wp--preset--color--forest: #07100C;
	--viseu-surface: #15231C;
}
html.dark-mode body { background: var(--wp--preset--color--paper); }
html.dark-mode .has-white-background-color,
html.dark-mode .is-style-card,
html.dark-mode .viseu-header,
html.dark-mode .viseu-content .wp-block-file { background-color: var(--viseu-surface) !important; }
html.dark-mode a:where(:not(.wp-element-button)) { color: #8FD1AE; }
html.dark-mode a:where(:not(.wp-element-button)):hover { color: var(--wp--preset--color--sand); }
html.dark-mode .viseu-nav .wp-block-navigation-item__content,
html.dark-mode .viseu-card__title a,
html.dark-mode .viseu-newsitem__title a,
html.dark-mode .viseu-postcard__title a,
html.dark-mode .viseu-brand { color: var(--wp--preset--color--ink); }
html.dark-mode .viseu-brand__name { color: #8FD1AE; }
html.dark-mode .viseu-nav .wp-block-navigation__submenu-container,
html.dark-mode .viseu-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--viseu-surface) !important; color: var(--wp--preset--color--ink) !important; }
html.dark-mode .viseu-lead { color: var(--wp--preset--color--muted); }
html.dark-mode .viseu-tone--sand { --tone-bg: #2C2519; }
html.dark-mode .viseu-card { --tone-fg: #8FD1AE; }
html.dark-mode .viseu-tone--sand { --tone-fg: #E0A36B; }
html.dark-mode .wp-block-button.is-style-chip .wp-block-button__link { background: #2C2519; color: var(--wp--preset--color--sand); }
html.dark-mode .viseu-cta, html.dark-mode .viseu-cta h3 { color: var(--wp--preset--color--sand); }
html.dark-mode .viseu-hero__search .wp-block-search__input,
html.dark-mode .viseu-header__search .wp-block-search__button,
html.dark-mode .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
html.dark-mode .wpcf7 textarea { background: var(--wp--preset--color--paper); border-color: #3A4D43; color: var(--wp--preset--color--ink); }
html.dark-mode .viseu-header__search .wp-block-search__button { color: #8FD1AE; }
html.dark-mode .wp-block-button.is-style-light .wp-block-button__link { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--fir-dark); }
html.dark-mode img { filter: brightness(0.92); }

@media (prefers-reduced-motion: reduce) {
	.is-style-card, .viseu-tile .wp-block-cover__image-background { transition: none; }
}

/* ---------- Homepage motion: hero entrance on load, soft fade-up on scroll (assets/js/motion.js) ---------- */
@keyframes viseu-rise { from { opacity: 0; transform: translate3d(0, var(--viseu-rise, 24px), 0); } }
@keyframes viseu-settle { from { opacity: 0; transform: scale(1.06); } }
@media (prefers-reduced-motion: no-preference) {
	/* `backwards` fill: once finished, hover transforms on cards and tiles work as before. */
	body:not(.editor-styles-wrapper) .viseu-hero .wp-block-cover__image-background { animation: viseu-settle 1.8s cubic-bezier(0.22, 0.61, 0.36, 1) backwards; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel { animation: viseu-rise 0.8s 0.1s cubic-bezier(0.22, 0.61, 0.36, 1) backwards; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > * { --viseu-rise: 12px; animation: viseu-rise 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) backwards; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > :nth-child(1) { animation-delay: 0.25s; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > :nth-child(2) { animation-delay: 0.33s; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > :nth-child(3) { animation-delay: 0.41s; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > :nth-child(4) { animation-delay: 0.49s; }
	body:not(.editor-styles-wrapper) .viseu-hero__panel > :nth-child(n+5) { animation-delay: 0.57s; }

	.viseu-reveal:not(.is-in) { opacity: 0; transform: translate3d(0, 24px, 0); }
	.viseu-reveal.is-in { animation: viseu-rise 0.75s var(--viseu-delay, 0ms) cubic-bezier(0.22, 0.61, 0.36, 1) backwards; }
}
@media print { .viseu-reveal { opacity: 1 !important; transform: none !important; } }

/* Dark mode: keep link colours of already-dark areas, brighten date numerals */
html.dark-mode :is(.viseu-footer, .viseu-topbar) a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--mist); }
html.dark-mode :is(.viseu-section--dark, .viseu-hcl, .viseu-online__item, .viseu-caption) a:where(:not(.wp-element-button)) { color: #fff; }
html.dark-mode .viseu-topbar .viseu-topbar__mol { color: var(--wp--preset--color--sand); }
html.dark-mode .viseu-datebox__day { color: #8FD1AE !important; }

/* ---------- Maramureș pattern (carved-gate rosette + diamonds), very low opacity ---------- */
:root {
	--viseu-pattern-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%239C4F1A' stroke-opacity='0.08' stroke-width='1'%3E%3Cpath d='M60 60A16 16 0 0 1 76 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 44 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 46.14A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 46.14A16 16 0 0 1 60 60Z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Cpath d='M0 -10L10 0L0 10L-10 0ZM0 -4.5L4.5 0L0 4.5L-4.5 0ZM120 -10L130 0L120 10L110 0ZM120 -4.5L124.5 0L120 4.5L115.5 0ZM0 110L10 120L0 130L-10 120ZM0 115.5L4.5 120L0 124.5L-4.5 120ZM120 110L130 120L120 130L110 120ZM120 115.5L124.5 120L120 124.5L115.5 120ZM57 0H63M60 -3V3M-3 60H3M0 57V63M117 60H123M120 57V63M57 120H63M60 117V123'/%3E%3C/g%3E%3Cg fill='%239C4F1A' fill-opacity='0.08'%3E%3Ccircle cx='82.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='79.05' cy='71.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='60.00' cy='82.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='40.95' cy='71.00' r='1.1'/%3E%3Ccircle cx='38.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='40.95' cy='49.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='60.00' cy='38.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='79.05' cy='49.00' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
	--viseu-pattern-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23F3D9B5' stroke-opacity='0.065' stroke-width='1'%3E%3Cpath d='M60 60A16 16 0 0 1 76 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 44 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 46.14A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 46.14A16 16 0 0 1 60 60Z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Cpath d='M0 -10L10 0L0 10L-10 0ZM0 -4.5L4.5 0L0 4.5L-4.5 0ZM120 -10L130 0L120 10L110 0ZM120 -4.5L124.5 0L120 4.5L115.5 0ZM0 110L10 120L0 130L-10 120ZM0 115.5L4.5 120L0 124.5L-4.5 120ZM120 110L130 120L120 130L110 120ZM120 115.5L124.5 120L120 124.5L115.5 120ZM57 0H63M60 -3V3M-3 60H3M0 57V63M117 60H123M120 57V63M57 120H63M60 117V123'/%3E%3C/g%3E%3Cg fill='%23F3D9B5' fill-opacity='0.065'%3E%3Ccircle cx='82.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='79.05' cy='71.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='60.00' cy='82.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='40.95' cy='71.00' r='1.1'/%3E%3Ccircle cx='38.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='40.95' cy='49.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='60.00' cy='38.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='79.05' cy='49.00' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
	--viseu-pattern-night: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23E0A36B' stroke-opacity='0.05' stroke-width='1'%3E%3Cpath d='M60 60A16 16 0 0 1 76 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 44 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 46.14A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 46.14A16 16 0 0 1 60 60Z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Cpath d='M0 -10L10 0L0 10L-10 0ZM0 -4.5L4.5 0L0 4.5L-4.5 0ZM120 -10L130 0L120 10L110 0ZM120 -4.5L124.5 0L120 4.5L115.5 0ZM0 110L10 120L0 130L-10 120ZM0 115.5L4.5 120L0 124.5L-4.5 120ZM120 110L130 120L120 130L110 120ZM120 115.5L124.5 120L120 124.5L115.5 120ZM57 0H63M60 -3V3M-3 60H3M0 57V63M117 60H123M120 57V63M57 120H63M60 117V123'/%3E%3C/g%3E%3Cg fill='%23E0A36B' fill-opacity='0.05'%3E%3Ccircle cx='82.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='79.05' cy='71.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='60.00' cy='82.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='79.05' r='1.1'/%3E%3Ccircle cx='40.95' cy='71.00' r='1.1'/%3E%3Ccircle cx='38.00' cy='60.00' r='1.1'/%3E%3Ccircle cx='40.95' cy='49.00' r='1.1'/%3E%3Ccircle cx='49.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='60.00' cy='38.00' r='1.1'/%3E%3Ccircle cx='71.00' cy='40.95' r='1.1'/%3E%3Ccircle cx='79.05' cy='49.00' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
	--viseu-rosette-fir: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='36 36 48 48'%3E%3Cg fill='none' stroke='%231E4A37' stroke-opacity='0.14' stroke-width='0.9'%3E%3Cpath d='M60 60A16 16 0 0 1 76 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 44 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 46.14A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 46.14A16 16 0 0 1 60 60Z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Ccircle cx='60' cy='60' r='22'/%3E%3C/g%3E%3C/svg%3E");
	--viseu-rosette-wood: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='36 36 48 48'%3E%3Cg fill='none' stroke='%239C4F1A' stroke-opacity='0.16' stroke-width='0.9'%3E%3Cpath d='M60 60A16 16 0 0 1 76 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 73.86A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 44 60A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 52 46.14A16 16 0 0 1 60 60ZM60 60A16 16 0 0 1 68 46.14A16 16 0 0 1 60 60Z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Ccircle cx='60' cy='60' r='22'/%3E%3C/g%3E%3C/svg%3E");
	--viseu-arrow-fir: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E4A37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--viseu-arrow-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.viseu-section:not(.has-background), .viseu-section.has-paper-background-color, .viseu-pagehero {
	background-image: var(--viseu-pattern-light); background-size: 120px 120px; background-position: center top;
}
.viseu-section--dark, .viseu-footer { background-image: var(--viseu-pattern-dark); background-size: 120px 120px; background-position: center top; }
html.dark-mode .viseu-section:not(.has-background), html.dark-mode .viseu-section.has-paper-background-color,
html.dark-mode .viseu-pagehero { background-image: var(--viseu-pattern-night); }

/* ---------- Mayor's message ---------- */
.viseu-mayor { gap: clamp(2rem, 6vw, 5rem); }
.viseu-mayor__img { margin: 0 0 0 18px; }
.viseu-mayor__img img {
	width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; border-radius: 24px; display: block;
	box-shadow: -18px 18px 0 var(--wp--preset--color--sand);
}
.viseu-mayor__quote { margin: 0.75rem 0 1.25rem; font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; }
.viseu-mayor p { margin: 0 0 1rem; }
.viseu-mayor__sign { margin-top: 1.5rem !important; line-height: 1.4; color: var(--wp--preset--color--muted); }
.viseu-mayor__sign strong { color: var(--wp--preset--color--heading); font-family: var(--wp--preset--font-family--display); font-size: 1.25rem; font-weight: 600; }
.viseu-hours { margin: 1.5rem 0 1.25rem; padding: 1.25rem 1.5rem; border-radius: 16px; gap: 0.875rem; border: 1px solid var(--wp--preset--color--line); }
.viseu-hours__title { margin: 0 !important; font-weight: 700; color: var(--wp--preset--color--wood); font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; }
.viseu-hours__grid { gap: 1rem 1.5rem; width: 100%; }
.viseu-hours__grid p { margin: 0 !important; }
.viseu-hours__when { line-height: 1.4; }
@media (max-width: 1199px) {
	.viseu-mayor > .viseu-mayor__photo { flex-basis: 100% !important; max-width: 420px; }
	.viseu-mayor > .wp-block-column:not(.viseu-mayor__photo) { flex-basis: 100% !important; }
}

/* ---------- Cookie banner (CookieYes) in site colours ---------- */
.cky-consent-container, .cky-modal { font-family: var(--wp--preset--font-family--body) !important; }
.cky-consent-container .cky-consent-bar, .cky-modal .cky-preference-center { border-radius: 18px !important; border-color: var(--wp--preset--color--line) !important; }
.cky-btn { border-radius: 999px !important; font-weight: 700 !important; }
.cky-btn-accept { background-color: var(--wp--preset--color--fir) !important; border-color: var(--wp--preset--color--fir) !important; color: #fff !important; }
.cky-btn-reject, .cky-btn-customize, .cky-btn-preferences { background-color: transparent !important; border-color: var(--wp--preset--color--fir) !important; color: var(--wp--preset--color--fir) !important; }
.cky-consent-container .cky-title, .cky-preference-title { font-family: var(--wp--preset--font-family--display) !important; }
html.dark-mode .cky-consent-container .cky-consent-bar, html.dark-mode .cky-modal .cky-preference-center { background: var(--viseu-surface) !important; color: var(--wp--preset--color--ink) !important; }
html.dark-mode .cky-btn-reject, html.dark-mode .cky-btn-customize, html.dark-mode .cky-btn-preferences { color: #8FD1AE !important; border-color: #8FD1AE !important; }

/* Dark mode for the new card tones */
html.dark-mode .viseu-card { --tone-bg: #15261D; --tone-bg-hover: #1B3226; --tone-fg: #8FD1AE; }
html.dark-mode .viseu-tone--sand { --tone-bg: #221D14; --tone-bg-hover: #2C2519; --tone-fg: #E0A36B; }
html.dark-mode .viseu-card::before, html.dark-mode .viseu-card .viseu-card__title::before { background-color: #0E1813; box-shadow: none; }
html.dark-mode .viseu-mayor__img img { box-shadow: -18px 18px 0 #2C2519; }

/* Overlay menu (tablet / phone): left-aligned, roomy, submenus indented under a hairline */
.viseu-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 1rem; }
.viseu-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0.25rem !important; width: 100%; }
.viseu-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; width: 100%; }
.viseu-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem !important; font-weight: 600; padding: 0.375rem 0 !important; }
.viseu-nav .is-menu-open .wp-block-navigation__submenu-container { border-left: 2px solid var(--wp--preset--color--line) !important; margin: 0.25rem 0 0.75rem 0.25rem !important; padding: 0 0 0 1rem !important; }
.viseu-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--body); font-size: 1.0625rem !important; font-weight: 500; }
html.dark-mode .viseu-nav .is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); }
@media (max-width: 599px) {
	.viseu-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { width: calc(100vw - 3rem) !important; }
}
@media (max-width: 781px) {
	.viseu-mosaic > .viseu-tile--large, .viseu-mosaic > .viseu-tile--wide { grid-column: auto !important; }
}

/* ---------- Contact: compact 3-panel layout (homepage) + schedule ---------- */
.viseu-section--contact .viseu-section__head { margin-bottom: 1.75rem; }
.viseu-contact3 { gap: 1.25rem; align-items: stretch; }
.viseu-panel { padding: 1.5rem 1.625rem; border-radius: 18px; border: 1px solid var(--wp--preset--color--line); gap: 0.75rem; }
.viseu-panel > * { margin: 0; }
.viseu-panel__title { font-size: 1.25rem; margin: 0 0 0.25rem; }
.viseu-panel--spaced { margin-top: 1.75rem; }
.viseu-panel--spaced .viseu-panel__title:not(:first-child) { margin-top: 0.75rem; }
.viseu-section--contact .viseu-cta { padding: 1.5rem 1.625rem; gap: 0.75rem; }
.viseu-section--contact .viseu-cta h3 { font-size: 1.375rem; }
/* Tablets: two panels side by side, the question card full width below (no empty grid slot) */
@media (min-width: 600px) and (max-width: 1059px) {
	.viseu-contact3.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.viseu-contact3 > .viseu-cta { grid-column: 1 / -1; }
}
.viseu-cctv { margin-top: 1.25rem; padding: 1.25rem 1.625rem; border-radius: 18px; border: 1px solid var(--wp--preset--color--line); gap: 1.5rem; }
.viseu-cctv__sign { flex: 0 0 auto; width: 150px; height: auto; display: block; }
.viseu-cctv__text { gap: 0.375rem; }
.viseu-cctv__text > * { margin: 0; }
.viseu-cctv__text p { font-size: 0.9375rem; color: var(--wp--preset--color--muted); max-width: 52rem; }
@media (max-width: 599px) {
	.viseu-cctv.wp-block-group { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.25rem; }
	.viseu-cctv__sign { width: 180px; }
}
.viseu-iconline { position: relative; padding-left: 2rem; line-height: 1.45; font-size: 0.9375rem; }
.viseu-iconline a { font-weight: 600; text-decoration: none; }
.viseu-iconline::before {
	content: ""; position: absolute; left: 0; top: 0.1rem; width: 1.25rem; height: 1.25rem; background: var(--wp--preset--color--wood);
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.viseu-iconline--pin { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.viseu-iconline--phone { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.viseu-iconline--mail { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.viseu-iconline--globe { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E"); }
.viseu-schedule { gap: 0.75rem; width: 100%; }
.viseu-schedule > * { margin: 0; }
.viseu-schedule__row { padding-bottom: 0.75rem; border-bottom: 1px dashed var(--wp--preset--color--line); width: 100%; }
.viseu-schedule__row:last-child { border-bottom: 0; padding-bottom: 0; }
.viseu-schedule__row > * { margin: 0; }
.viseu-schedule__office { display: block; font-weight: 700; font-size: 0.875rem; color: var(--wp--preset--color--heading); }
.viseu-schedule__time { font-size: 0.9375rem; line-height: 1.45; margin: 0; }
.viseu-schedule__note { font-size: 0.8125rem; color: var(--wp--preset--color--wood); font-weight: 600; }

/* Regular pages (e.g. Orașul): same subtle pattern behind the content */
.viseu-main--page { background-image: var(--viseu-pattern-light); background-size: 120px 120px; background-position: center top; }
html.dark-mode .viseu-main--page { background-image: var(--viseu-pattern-night); }

/* Old BeTheme shortcodes (fallbacks from the viseu-migrare plugin) */
.viseu-sc-icon { display: inline-block; margin-right: 0.35em; color: var(--wp--preset--color--wood); font-weight: 700; }
.viseu-sc-highlight { background: var(--wp--preset--color--sand); color: #2B1E0E; padding: 0 0.2em; border-radius: 4px; }
.viseu-sc-dropcap { float: left; font-family: var(--wp--preset--font-family--display); font-size: 3.2em; line-height: 0.9; margin: 0.05em 0.12em 0 0; color: var(--wp--preset--color--fir); }
.viseu-sc-tooltip { border-bottom: 1px dotted currentColor; cursor: help; }

/* Phones: 16px inputs stop iOS Safari from zooming in when a field is focused */
@media (max-width: 781px) {
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea { font-size: 16px !important; }
}

/* ---------- Accessibility toolbar (One Click Accessibility) as a discreet round button, bottom-right ---------- */
#pojo-a11y-toolbar { top: auto !important; bottom: 20px !important; right: 20px !important; left: auto !important; width: auto !important; transition: none !important; z-index: 9990 !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle { position: static !important; display: flex; justify-content: flex-end; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
	width: 48px !important; height: 48px !important; padding: 0 !important; border-radius: 999px !important;
	display: flex !important; align-items: center; justify-content: center; font-size: 22px !important;
	background: var(--wp--preset--color--fir) !important; color: #fff !important;
	box-shadow: 0 10px 24px -10px rgba(20, 52, 40, 0.6); transition: transform 0.15s, background-color 0.15s;
}
#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a:hover { transform: scale(1.06); background: var(--wp--preset--color--fir-dark) !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay {
	position: absolute !important; right: 0 !important; bottom: 60px !important; top: auto !important; left: auto !important;
	width: 250px !important; display: none; box-sizing: border-box; padding: 0.875rem !important;
	background: #fff !important; border: 1px solid var(--wp--preset--color--line) !important; border-radius: 18px !important;
	box-shadow: 0 22px 44px -20px rgba(20, 52, 40, 0.45);
}
#pojo-a11y-toolbar.pojo-a11y-toolbar-open .pojo-a11y-toolbar-overlay { display: block; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-title { font-family: var(--wp--preset--font-family--display) !important; font-size: 1.125rem !important; font-weight: 600 !important; color: var(--wp--preset--color--heading) !important; margin: 0.125rem 0.5rem 0.5rem !important; padding: 0 !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-items { margin: 0 !important; padding: 0 !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-item a {
	display: flex !important; align-items: center; gap: 0.625rem; padding: 0.5rem 0.625rem !important; border-radius: 10px;
	font: 500 0.9375rem/1.3 var(--wp--preset--font-family--body) !important; color: var(--wp--preset--color--ink) !important; text-decoration: none !important;
}
#pojo-a11y-toolbar .pojo-a11y-toolbar-item a:hover { background: var(--wp--preset--color--paper) !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-item a.active { background: var(--wp--preset--color--fir) !important; color: #fff !important; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-icon { color: var(--wp--preset--color--wood); display: inline-flex; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-item a.active .pojo-a11y-toolbar-icon { color: #fff; }
html.dark-mode #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay { background: var(--viseu-surface) !important; border-color: var(--wp--preset--color--line) !important; }
@media (max-width: 781px) {
	#pojo-a11y-toolbar { bottom: 14px !important; right: 14px !important; }
	#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a { width: 44px !important; height: 44px !important; font-size: 20px !important; }
}
#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a { position: relative !important; top: auto !important; left: auto !important; right: auto !important; }
/* CookieYes "revisit consent" button in site colours */
.cky-btn-revisit-wrapper { background-color: var(--wp--preset--color--fir) !important; box-shadow: 0 10px 24px -10px rgba(20, 52, 40, 0.6); }
/* Secondary button inside the beige call-to-action box */
.viseu-cta .wp-block-button.is-style-chip .wp-block-button__link { background: transparent; border: 1.5px solid var(--wp--preset--color--fir); color: var(--wp--preset--color--fir); padding: 0.75rem 1.25rem; font-size: 1rem; }
.viseu-cta .wp-block-button.is-style-chip .wp-block-button__link:hover { background: var(--wp--preset--color--fir); color: #fff; }
html body #pojo-a11y-toolbar.pojo-a11y-toolbar-right, html body #pojo-a11y-toolbar.pojo-a11y-toolbar-left { top: auto !important; bottom: 20px !important; right: 20px !important; left: auto !important; }
@media (max-width: 781px) {
	html body #pojo-a11y-toolbar.pojo-a11y-toolbar-right, html body #pojo-a11y-toolbar.pojo-a11y-toolbar-left { bottom: 14px !important; right: 14px !important; }
}
