/* Local visual review: Bologna typography and contained original Green layouts. */
/* Native Conference overview; original direction pictures and SDG artwork. */
body.vgreen-theme .vgreen-topic-overview { margin: 36px 0 42px; }
body.vgreen-theme .vgreen-direction-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 18px; }
body.vgreen-theme .vgreen-direction-card { grid-column: span 4; position: relative; display: flex; height: 250px; overflow: hidden; border: 1px solid #d5e4d7; border-radius: 10px; background: #103d28; color: #fff; text-decoration: none; }
body.vgreen-theme .vgreen-direction-card:nth-child(n+4) { grid-column: span 6; }
body.vgreen-theme .vgreen-direction-image { position: absolute; inset: 0; overflow: hidden; }
body.vgreen-theme .vgreen-direction-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(2,22,13,.12),rgba(2,22,13,.35) 28%,rgba(2,22,13,.88) 75%); }
body.vgreen-theme .legacy-article .vgreen-direction-image img { display: block; width: 100%; height: 100% !important; max-width: none; margin: 0; object-fit: cover; transition: transform 280ms ease; }
body.vgreen-theme .vgreen-direction-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; flex: 1; min-width: 0; padding: 18px; }
body.vgreen-theme .vgreen-direction-copy > span:first-child { align-self: flex-start; margin-bottom: auto; padding: 4px 6px; border-radius: 3px; background: rgba(0,25,15,.6); font: 700 11px/1.3 Arial,sans-serif; color: #d2ffdf; letter-spacing: .13em; }
body.vgreen-theme .legacy-article:not(.legacy-article--directory) .vgreen-direction-copy h3 { margin: 14px 0 12px; color: #fff !important; font-size: 24px; line-height: 1.1; text-shadow: 0 1px 3px rgba(0,0,0,.6); overflow-wrap: anywhere; }
body.vgreen-theme .vgreen-direction-more { color: #c9ffd7; font-size: 17px; font-weight: 700; }
body.vgreen-theme .vgreen-direction-card:hover { border-color: #009b40; }
body.vgreen-theme .vgreen-direction-card:hover img { transform: scale(1.035); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.vgreen-theme .vgreen-direction-card { transition: transform 180ms ease-out, box-shadow 180ms ease-out; }
    body.vgreen-theme .vgreen-direction-card:hover { z-index: 2; transform: perspective(700px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); box-shadow: 0 20px 38px rgba(3,45,23,.35); }
    body.vgreen-theme .vgreen-direction-image { inset: -34px; transform: translate3d(var(--image-x,0px),var(--image-y,0px),0); transition: transform 140ms ease-out; }
    body.vgreen-theme .vgreen-direction-copy { transform: translate3d(var(--copy-x,0px),var(--copy-y,0px),0); transition: transform 140ms ease-out; }
}
body.vgreen-theme .vgreen-direction-card:focus-visible,
body.vgreen-theme .vgreen-sdg-tile:focus-visible,
body.vgreen-theme .vgreen-sdg-mission-link:focus-visible { outline: 3px solid #007d31; outline-offset: 3px; }
body.vgreen-theme .vgreen-sdg-overview { padding: 26px; border: 1px solid #d5e4d7; border-top: 4px solid #009a42; border-radius: 12px; background: linear-gradient(145deg,#fff,#eef6ee); }
body.vgreen-theme .vgreen-mission-heading { margin-bottom: 14px; }
body.vgreen-theme .legacy-article .vgreen-mission-heading h2 { margin: 0; font-size: 34px !important; line-height: 1.12; }
body.vgreen-theme .legacy-article .vgreen-sdg-overview-intro { margin: 0 0 22px; font-size: 18px !important; line-height: 1.45 !important; text-align: left !important; }
body.vgreen-theme .vgreen-sdg-overview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
body.vgreen-theme .vgreen-sdg-tile { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 110px; padding: 12px; color: #183d29; background: #fff; border: 1px solid #d9e6db; box-shadow: 0 4px 14px rgba(18,60,37,.05); text-decoration: none; border-radius: 9px; }
body.vgreen-theme .legacy-article .vgreen-sdg-tile img { display: block; width: 64px; height: 64px !important; flex: 0 0 64px; max-width: none; margin: 0; object-fit: contain; border-radius: 4px; }
body.vgreen-theme .vgreen-sdg-tile > span { min-width: 0; font-size: 18px; line-height: 1.15; font-weight: 600; }
body.vgreen-theme .vgreen-sdg-tile small { display: block; margin-bottom: 5px; color: #00893a; font-size: 13px; line-height: 1.2; font-weight: 700; }
body.vgreen-theme .vgreen-sdg-tile:hover { border-color: #009a42; box-shadow: 0 8px 22px rgba(18,60,37,.12); }
body.vgreen-theme .vgreen-sdg-mission-link { display: inline-block; margin-top: 22px; color: #007730; font-size: 19px; line-height: 1.3; font-weight: 700; text-underline-offset: 4px; }
@media (max-width: 1200px) and (min-width: 1051px) {
    body.vgreen-theme .vgreen-sdg-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    body.vgreen-theme .vgreen-sdg-overview { padding: 20px 14px; }
    body.vgreen-theme .legacy-article .vgreen-mission-heading h2 { font-size: 29px !important; }
    body.vgreen-theme .vgreen-sdg-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    body.vgreen-theme .vgreen-sdg-tile { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px; }
    body.vgreen-theme .vgreen-sdg-tile > span { font-size: 17px; }
}
@media (max-width: 700px) {
    body.vgreen-theme .vgreen-direction-grid { grid-template-columns: minmax(0,1fr); }
    body.vgreen-theme .vgreen-direction-card, body.vgreen-theme .vgreen-direction-card:nth-child(n+4) { grid-column: auto; }
    body.vgreen-theme .vgreen-direction-card { height: 235px; }
}
@media (prefers-reduced-motion: reduce) {
    body.vgreen-theme .vgreen-direction-card img { transition: none; }
}
/* Crest size/motion is owned by the shared vgreen-theme.css rules. */
/* Shared footer: Vienna Convention / SDG banner stack beside the map. */
body.vgreen-theme .footer-inner { row-gap: 24px; align-items: start; }
body.vgreen-theme .footer-venue { grid-column: 1; grid-row: 1; }
body.vgreen-theme .footer-contact { grid-column: 2; grid-row: 1; }
body.vgreen-theme .footer-links { grid-column: 3; grid-row: 1; }
body.vgreen-theme .footer-sdg { display: grid; gap: 12px; width: min(100%, 300px); margin-top: 30px; }
body.vgreen-theme .footer-sdg a { display: block; }
body.vgreen-theme .footer-sdg img { display: block; width: 100%; height: auto; }
@media (max-width: 1000px) {
    body.vgreen-theme .footer-inner { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
    body.vgreen-theme .footer-inner > .footer-venue,
    body.vgreen-theme .footer-inner > .footer-contact,
    body.vgreen-theme .footer-inner > .footer-links { grid-column: auto; grid-row: auto; }
}
@media (max-width: 640px) {
    body.vgreen-theme .legacy-article { overflow-wrap: anywhere; }
    body.vgreen-theme .legacy-article .NormalTextRun,
    body.vgreen-theme .legacy-article .sgem-deadline-extension { white-space: normal !important; }
    body.vgreen-theme .legacy-article--directory { padding: 20px 14px !important; }
    body.vgreen-theme .vgreen-committee-card { grid-template-columns: 64px minmax(0,1fr); gap: 14px; }
    body.vgreen-theme .vgreen-committee-photo { width: 64px; height: 64px; }
    body.vgreen-theme .vgreen-committee-card h3 { overflow-wrap: anywhere; }
    body.vgreen-theme .vgreen-committee-metrics div { padding: 20px 4px; }
    body.vgreen-theme .vgreen-committee-metrics dd { font-size: 9px; letter-spacing: .025em; white-space: nowrap; }
    body.vgreen-theme .vgreen-home-hero { min-height: 820px; height: max(820px, 100svh); }
    body.vgreen-theme .vgreen-home-hero .hero-content { padding: 130px 20px 125px; margin-top: 0; }
    body.vgreen-theme .vgreen-home-hero h1, body.vgreen-theme .vgreen-home-hero .hero-heading { font-size: 30px; line-height: 1.06; }
    body.vgreen-theme .vgreen-home-hero .hero-theme { font-size: 16px; }
    body.vgreen-theme .vgreen-home-hero .hero-sub { font-size: 18px; }
    body.vgreen-theme .vgreen-home-hero .hero-variation { font-size: 17px; line-height: 1.35; }
    body.vgreen-theme .vgreen-home-hero .hero-arrow { top: auto; bottom: 25px; width: 44px; height: 44px; transform: none; }
    body.vgreen-theme .vgreen-home-hero .hero-prev { left: 24px; }
    body.vgreen-theme .vgreen-home-hero .hero-next { right: 24px; }
    body.vgreen-theme .vgreen-rich-text p { font-size: 18px; line-height: 1.6; }
    body.vgreen-theme .vgreen-indexer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    body.vgreen-theme .vgreen-indexer { padding: 20px 12px; min-height: 0; }
    body.vgreen-theme .vgreen-indexer h3 { font-size: 16px; }
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] table,
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] tbody,
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] tr,
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] td { display: block; width: 100% !important; height: auto !important; box-sizing: border-box; overflow: visible; }
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] td:nth-child(2):not([colspan]) { display: none; }
    body.vgreen-theme .legacy-article[data-page="green-hotels.php"] td img { width: 100%; max-width: 330px !important; margin-inline: auto; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-container::before,
    body.vgreen-theme .legacy-article .sprocket-strips-c-container::after { display: none; }
    body.vgreen-theme .legacy-article p[style*="justify"] { text-align: left !important; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-block { width: auto; margin: 0; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-image { width: 100%; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-item:hover { margin-top: 0; padding-bottom: 0; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-extended-info { position: static; visibility: visible; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-content { padding: 12px; }
    body.vgreen-theme .legacy-article .sprocket-strips-c-text { font-size: 16px; line-height: 1.35; margin-bottom: 0; }
}
@media (max-width: 360px) {
    body.vgreen-theme .vgreen-home-hero h1, body.vgreen-theme .vgreen-home-hero .hero-heading { font-size: 27px; }
    body.vgreen-theme .vgreen-home-hero .hero-theme { font-size: 15px; }
}
body.vgreen-theme .legacy-article iframe[src*="google.com/maps"] { min-height: 0; height: 350px; }
body.vgreen-theme .legacy-article iframe#blockrandom { min-height: 580px; height: 580px; }
body.vgreen-theme .legacy-article[data-page="photo-galleries.php"] figure { display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; gap: 18px; margin: 24px 0; }
body.vgreen-theme .legacy-article[data-page="photo-galleries.php"] figure > a { display: block; width: 210px; max-width: 100%; }
body.vgreen-theme .legacy-article[data-page="photo-galleries.php"] figure > a img { width: 100%; }
.vgreen-guideline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.vgreen-guideline-grid > a { display: block; padding: 26px; border: 1px solid #d8e8db; background: #f5f9f4; color: #254d32; transition: transform .2s, box-shadow .2s; }
.vgreen-guideline-grid > a:hover { transform: translateY(-3px); box-shadow: 0 12px 26px #183c2114; }
.vgreen-guideline-grid > a > span { color: #00a244; font-size: 30px; }
.vgreen-guideline-grid h3 { margin: 12px 0; }
body.vgreen-legacy-page .contact #basic-details { display: flow-root; }
body.vgreen-legacy-page .contact .thumbnail { float: right; width: 34%; margin: 0 0 24px 24px; border: 0; }
body.vgreen-legacy-page .contact .thumbnail img { width: 100%; height: auto; }
body.vgreen-legacy-page .contact-address { margin: 24px 0 32px; }
body.vgreen-legacy-page .contact-address dd { margin-left: 0; }
body.vgreen-legacy-page .contact .jicons-icons { display: none; }
body.vgreen-legacy-page .contact .contact-form { padding: 28px; background: #f5f9f4; border: 1px solid #d8e8db; }
body.vgreen-legacy-page .contact .control-group { margin-bottom: 16px; }
body.vgreen-legacy-page .contact .controls { margin-left: 0; }
body.vgreen-legacy-page .contact .control-label { float: none; width: auto; text-align: left; margin-bottom: 6px; }
body.vgreen-legacy-page .contact input:not([type=hidden]), body.vgreen-legacy-page .contact textarea { width: 100%; max-width: 100%; padding: 10px 12px; font: inherit; box-sizing: border-box; border: 1px solid #b9cebd; background: white; }
body.vgreen-legacy-page .contact legend { font-size: 26px; color: #254d32; }
body.vgreen-legacy-page .bfQuickMode { padding: 28px; border: 1px solid #d8e8db; background: #f5f9f4; }
body.vgreen-legacy-page .bfQuickMode .bfElemWrap { display: block; margin-bottom: 18px; }
body.vgreen-legacy-page .bfQuickMode label { display: block; margin-bottom: 8px; }
body.vgreen-legacy-page .bfQuickMode input:not([type=hidden]) { width: 100%; max-width: 100%; padding: 12px; border: 1px solid #b9cebd; font: inherit; }
body.vgreen-legacy-page .contact button.btn-primary, body.vgreen-legacy-page .bfQuickMode button { padding: 10px 24px; border: 1px solid #008c38; color: white; background: #008c38; font: 700 18px/1.3 "Cormorant Garamond", Georgia, serif; cursor: pointer; }
@media (max-width: 640px) {
    .vgreen-guideline-grid { grid-template-columns: minmax(0, 1fr); }
    body.vgreen-legacy-page .contact .thumbnail { width: 100%; max-width: 350px; float: none; margin: 0 0 24px; }
    body.vgreen-legacy-page .contact .contact-form, body.vgreen-legacy-page .bfQuickMode { padding: 18px; }
}
body.vgreen-theme .vgreen-welcome { padding: 70px 0 72px; }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading { gap: 18px 42px; margin-bottom: 32px; }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading h2 { font-size: clamp(38px, 4.3vw, 62px); line-height: 1.02; }
body.vgreen-theme .vgreen-welcome-lead { display: block; max-width: 580px; margin-bottom: 18px; font-size: 22px; line-height: 1.3; font-weight: 500; text-transform: none; }
body.vgreen-theme .vgreen-welcome-year { color: var(--green-main); white-space: nowrap; }
body.vgreen-theme .vgreen-rich-text p { text-align: left; }
body.vgreen-theme .vgreen-home-info-card p { font-size: 18px; }
body.vgreen-theme .vgreen-indexer img { margin-inline: auto; }
@media (max-width: 640px) {
    body.vgreen-theme .vgreen-welcome { padding: 46px 0 52px; }
    body.vgreen-theme .vgreen-welcome-lead { font-size: 20px; margin-bottom: 15px; }
}
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory),
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) p,
body.vgreen-legacy-page .legacy-article:not(.legacy-article--directory) li,
body.vgreen-legacy-page .legacy-sidebar,
body.vgreen-legacy-page .legacy-sidebar p,
body.vgreen-legacy-page .legacy-sidebar li {
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    font-weight: 500;
    color: #4c5b50;
}
body.vgreen-legacy-page .inner-page-topper h1 { font-size: 30px; line-height: 1.08; }
body.vgreen-legacy-page .inner-page-topper h1 { overflow-wrap: anywhere; }
body.vgreen-legacy-page .inner-page-topper .inner-topper-subtitle { font-size: 19px; }
body.vgreen-legacy-page .legacy-sidebar .nav.menu a { font-size: 18px; line-height: 1.4; }
body.vgreen-legacy-page .legacy-article .sprocket-tables-title { font-size: 18px !important; line-height: 1.3 !important; }
body.vgreen-legacy-page .legacy-article .sprocket-tables-cell { font-size: 18px; line-height: 1.4; }
body.vgreen-legacy-page .legacy-article .sprocket-tables-price { font-size: 32px; }
body.vgreen-legacy-page .legacy-article .sprocket-tables-link .readon { font-size: 16px; line-height: 1.2; }
@media (min-width: 921px) {
    .nav-list > .nav-item:first-of-type + .nav-item > .dropdown { left: 0; transform: translate(0, 10px); }
    .nav-list > .nav-item:first-of-type + .nav-item:hover > .dropdown,
    .nav-list > .nav-item:first-of-type + .nav-item:focus-within > .dropdown { transform: translate(0, 0); }
    .nav-list > .nav-item:last-child > .dropdown { right: 0; left: auto; transform: translate(0, 10px); }
    .nav-list > .nav-item:last-child:hover > .dropdown,
    .nav-list > .nav-item:last-child:focus-within > .dropdown { transform: translate(0, 0); }
}
@media (max-width: 640px) {
    body.vgreen-legacy-page .inner-page-topper h1 { font-size: 28px; }
    body.vgreen-legacy-page .inner-page-topper .inner-topper-subtitle { font-size: 17px; }
    body.vgreen-legacy-page .legacy-page-grid:not(.legacy-page-grid--committee) { width: calc(100% - 36px); }
}
/* One programme-to-SDG registry drives the overview, mission and topic pages. */
body.vgreen-theme .vgreen-sdg-alignment { margin: 22px 0 28px; }
body.vgreen-theme .vgreen-sdg-badges { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
body.vgreen-theme .vgreen-sdg-badges > a { display: flex; gap: 10px; align-items: center; padding: 12px; background: #fff; border: 1px solid #d9e6db; border-radius: 8px; color: #205733; text-decoration: none; }
body.vgreen-theme .vgreen-sdg-badges > a:hover, body.vgreen-theme .vgreen-sdg-badges > a:focus-visible { border-color: #009a42; background: #f0f8f1; }
body.vgreen-theme .vgreen-sdg-badges img { width: 56px; height: 56px; flex: 0 0 56px; object-fit: contain; margin: 0; }
body.vgreen-theme .vgreen-sdg-badges > a > span { font-size: 17px; line-height: 1.15; }
body.vgreen-theme .vgreen-sdg-badges small, body.vgreen-theme .vgreen-sdg-goal-heading small { display: block; font-size: 13px; font-weight: 700; line-height: 1.4; color: #00893a; margin-bottom: 3px; }
body.vgreen-theme .legacy-article p.vgreen-sdg-note { font-size: 16px !important; line-height: 1.4 !important; margin: 16px 0; }
body.vgreen-theme .vgreen-sdg-section-links { display: grid; gap: 8px; margin: 18px 0; }
body.vgreen-theme .vgreen-sdg-section-links a { font-size: 16px; line-height: 1.35; }
body.vgreen-theme .vgreen-sdg-direction-map { display: grid; gap: 0; margin: 28px 0; border: 1px solid #d9e6db; border-radius: 10px; overflow: hidden; }
body.vgreen-theme .vgreen-sdg-direction-map > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; padding: 18px; background: #fff; }
body.vgreen-theme .vgreen-sdg-direction-map > div + div { border-top: 1px solid #d9e6db; }
body.vgreen-theme .vgreen-sdg-direction-map > div > a { font-size: 20px; line-height: 1.2; color: #205733; text-decoration: none; }
body.vgreen-theme .vgreen-sdg-direction-map small { display: block; color: #00893a; font-size: 13px; margin-bottom: 5px; }
body.vgreen-theme .vgreen-sdg-direction-map nav, body.vgreen-theme .vgreen-sdg-goal-directions { display: flex; align-content: start; flex-wrap: wrap; gap: 6px; }
body.vgreen-theme .vgreen-sdg-direction-map nav a, body.vgreen-theme .vgreen-sdg-goal-directions a { font-size: 15px; line-height: 1.25; padding: 5px 8px; background: #edf5ed; color: #205733; border-radius: 4px; text-decoration: none; }
body.vgreen-theme .vgreen-sdg-goal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 28px; }
body.vgreen-theme .vgreen-sdg-goal-card { display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid #d9e6db; border-radius: 10px; scroll-margin-top: 140px; }
body.vgreen-theme .vgreen-sdg-goal-card:target { border-color: #00893a; box-shadow: 0 0 0 2px #00893a25; }
body.vgreen-theme .vgreen-sdg-goal-heading { display: flex; gap: 12px; align-items: center; }
body.vgreen-theme .vgreen-sdg-goal-heading img { width: 64px; height: 64px; flex: 0 0 64px; margin: 0; object-fit: contain; }
body.vgreen-theme .legacy-article .vgreen-sdg-goal-heading h3 { margin: 0; font-size: 23px; line-height: 1.15; color: #205733; }
body.vgreen-theme .legacy-article .vgreen-sdg-goal-card p { margin: 16px 0; text-align: left !important; }
body.vgreen-theme .vgreen-sdg-goal-directions { margin-top: auto; margin-bottom: 14px; }
body.vgreen-theme .vgreen-sdg-targets { font-size: 16px; line-height: 1.35; }
@media (max-width: 1050px) {
    body.vgreen-theme .vgreen-sdg-badges { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.vgreen-theme .vgreen-sdg-goal-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 640px) {
    body.vgreen-theme .vgreen-sdg-direction-map > div { grid-template-columns: minmax(0,1fr); padding: 16px; }
    body.vgreen-theme .vgreen-sdg-badges { grid-template-columns: minmax(0,1fr); }
    body.vgreen-theme .vgreen-sdg-goal-card { padding: 16px; }
}
