/*
Theme Name: Visite ta France
Description: Présentation légère de l'annuaire historique, enfant de Twenty Twenty-Five.
Template: twentytwentyfive
Version: 0.7.3
Update URI: false
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: visite-ta-france-theme
*/
@font-face{font-family:VTF Inter;src:url('assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 750;font-display:swap}
:root{--vtf-yellow:#fcd830;--vtf-ink:#0f0f0f;--vtf-gray:#f4f4f4;--vtf-width:1140px}
body.vtf-theme{margin:0;background:var(--vtf-gray);color:var(--vtf-ink);font-family:'VTF Inter','VTF Inter Fallback',Arial,sans-serif;font-size:16px;line-height:1.65}
.vtf-theme *{box-sizing:border-box}
.vtf-theme a{color:inherit;text-underline-offset:4px}
.vtf-theme a:hover{text-decoration-thickness:2px}
.vtf-theme :focus-visible{outline:3px solid #8a6600;outline-offset:5px}
.vtf-theme img{max-width:100%}
.vtf-site-header{background:#606060;color:#fff}
.vtf-header-inner{width:min(var(--vtf-width),calc(100% - 48px));margin:auto;min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.vtf-brand{font-size:20px;font-weight:750;line-height:1.15;text-decoration:none!important;display:inline-flex;flex-direction:column;align-items:center;letter-spacing:-.6px}
.vtf-brand span{font-size:12px;font-weight:500;letter-spacing:2px;margin-top:8px;border-top:2px solid var(--vtf-yellow);padding-top:7px}
.vtf-brand img{width:100px;height:100px;object-fit:contain}
.vtf-brand .vtf-local-logo{display:block;position:relative;width:100px;height:100px;background:white;border-radius:50%;overflow:hidden;border:0;padding:0;margin:0}
.vtf-brand .vtf-local-logo img{position:absolute;width:300px;height:200px;max-width:none;left:-100px;top:-50px}
.vtf-menu{order:-1}
.vtf-menu summary{cursor:pointer;list-style:none;min-height:48px;display:flex;align-items:center;gap:12px;font-weight:600}
.vtf-menu summary::-webkit-details-marker{display:none}
.vtf-menu-icon{font-size:30px;line-height:1}
.vtf-menu nav{position:absolute;top:100%;left:0;z-index:20;width:320px;max-width:100%;background:#fff;color:var(--vtf-ink);padding:16px;box-shadow:0 12px 30px #0002;border-bottom:4px solid var(--vtf-yellow)}
.vtf-menu nav a{display:block;padding:12px 16px;text-decoration:none;border-radius:5px}
.vtf-menu nav a:hover,.vtf-menu nav a[aria-current]{background:var(--vtf-gray)}
.vtf-header-search{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:1px solid #fff8;border-radius:28px;text-decoration:none}
.vtf-header-search:hover{background:var(--vtf-yellow);color:var(--vtf-ink);border-color:var(--vtf-yellow)}
.vtf-theme .vtf-contribute-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:6px;background:var(--vtf-yellow);color:var(--vtf-ink);font-weight:650;line-height:1.4;text-align:center;text-decoration:none}
.vtf-contribute-link:hover{background:#e8c000;color:var(--vtf-ink)}
.vtf-contribute-link:focus-visible,.vtf-account-login-link:focus-visible{outline:3px solid #242424;outline-offset:4px}
.vtf-header-contribute{flex-shrink:0}
.vtf-menu nav .vtf-contribute-link:hover{background:#e8c000}
.vtf-home-contribute{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dedede;border-radius:8px;padding:20px 24px;margin:0 0 38px}
.vtf-home-contribute p{margin:0;max-width:60ch}.vtf-home-contribute a{flex-shrink:0}
.vtf-account-choices{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:28px 0 12px}
.vtf-account-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #aaa;border-radius:6px;color:var(--vtf-ink);background:#fff;text-decoration:none;font-weight:600;text-align:center;line-height:1.4}
.vtf-account-login-link:hover{background:#eee}
.vtf-account-columns>section{scroll-margin-top:24px}.vtf-account-columns>section:target{outline:2px solid #b28e00;outline-offset:3px}
@media(max-width:760px){.vtf-header-inner{display:grid;grid-template-columns:1fr auto;gap:12px;padding-block:12px}.vtf-header-inner>.vtf-menu{grid-column:1;grid-row:1}.vtf-header-inner>.vtf-brand{grid-column:2;grid-row:1}.vtf-header-search{display:none}.vtf-header-contribute{grid-column:1/-1;grid-row:2;justify-self:stretch}.vtf-home-contribute{flex-direction:column;align-items:flex-start;padding:18px}.vtf-home-contribute a{align-self:stretch}.vtf-account-choices{align-items:stretch;flex-direction:column}}
.vtf-main{width:min(var(--vtf-width),calc(100% - 48px));margin-inline:auto;padding-block:42px 80px;min-height:65vh}
.vtf-breadcrumb{font-size:14px;margin:0 0 26px;color:#515151;display:flex;flex-wrap:wrap;gap:10px}
.vtf-search h1{font-size:clamp(30px,4vw,56px);font-weight:750;letter-spacing:-1.6px;line-height:1.13;margin:12px 0 24px}
.vtf-search-intro{max-width:76ch;color:#4c4c4c}
.vtf-search-intro p:empty{display:none}
.vtf-search-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:24px;background:#fff;border:1px solid #e5e5e5;border-radius:18px;margin:28px 0}
.vtf-search-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) 140px;align-items:start}
.vtf-search-form>button{grid-column:1;justify-self:start}
.vtf-search-form>.vtf-reset{grid-column:2;justify-self:start}
.vtf-search-form small{display:block;font-size:12px;line-height:1.5;color:#595959;margin-top:8px}
.vtf-geo-message{padding:20px 24px;background:#fff;border-left:4px solid #b58b00;border-radius:8px;margin-bottom:24px}
.vtf-geo-summary{font-size:14px;color:#515151;max-width:85ch}
.vtf-result-distance{font-size:13px;font-weight:600;color:#655000;margin:0 0 8px}
@media(max-width:1000px){.vtf-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vtf-search-form>button{grid-column:1}.vtf-search-form>.vtf-reset{grid-column:2}}
@media(max-width:520px){.vtf-search-form>div:first-child{grid-column:1/-1;grid-row:1}.vtf-search-form>.vtf-city-field{grid-column:1/-1;grid-row:2}.vtf-search-form>div:nth-child(2){grid-column:1;grid-row:3}.vtf-search-form>.vtf-radius-field{grid-column:2;grid-row:3}.vtf-search-form>button{grid-column:1/-1;grid-row:4;justify-self:stretch}.vtf-search-form>.vtf-reset{grid-column:1/-1;grid-row:5;justify-self:stretch}}
.vtf-search-form>div{flex:1 1 260px;min-width:0}
.vtf-search-form label{font-size:14px;font-weight:650;display:block;margin-bottom:8px}
.vtf-search-form input,.vtf-search-form select{width:100%;min-height:50px;border:1px solid #b0b0b0;border-radius:9px;padding:12px;background:#fff;color:var(--vtf-ink);font:inherit}
.vtf-search-form button{background:var(--vtf-yellow);border:0;border-radius:28px;color:var(--vtf-ink);font:inherit;font-weight:700;min-height:50px;padding:12px 26px;cursor:pointer}
.vtf-search-form button:hover{background:#e9c51f}
.vtf-reset{font-size:13px;align-self:center;padding:10px 0}
.vtf-result-count{font-size:14px;color:#515151;margin:28px 0 20px}
.vtf-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 26px}
.vtf-result{background:transparent;border:0;border-radius:0;overflow:visible;position:relative;min-width:0}
.vtf-result-image,.vtf-result-no-photo{width:100%;height:180px;object-fit:cover;border-radius:20px;display:block}
.vtf-result-no-photo{background:#e5e5e5;color:#515151;display:flex;align-items:center;justify-content:center;font-size:14px}
.vtf-result-body{padding:18px 0 22px;border-bottom:1px solid #dedede}
.vtf-result h2{font-size:18px;font-weight:750;line-height:1.3;letter-spacing:-.3px;margin:0 0 12px;overflow-wrap:anywhere}
.vtf-result h2 a{text-decoration:none}
.vtf-result h2 a::after{content:'';position:absolute;inset:0;border-radius:20px}
.vtf-result:hover h2 a{text-decoration:underline;text-decoration-color:#b58b00}
.vtf-result-city{font-weight:500;font-size:14px;margin:0 0 6px}
.vtf-result-category{font-size:13px;color:#595959;margin:0}
.vtf-empty{padding:28px;background:#fff;border-left:4px solid var(--vtf-yellow);border-radius:8px}
.vtf-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:38px;align-items:center}
.vtf-pagination a,.vtf-pagination [aria-current]{background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 15px;min-height:44px;text-decoration:none}
.vtf-pagination [aria-current]{background:var(--vtf-yellow);color:var(--vtf-ink);border-color:var(--vtf-yellow)}
.vtf-place h1{font-size:clamp(30px,4vw,40px);font-weight:750;letter-spacing:-1px;line-height:1.2;margin:32px 0 28px;padding-bottom:26px;border-bottom:2px solid var(--vtf-yellow)}
.vtf-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.vtf-gallery figure{margin:0;min-width:0}
.vtf-gallery figure:first-child{grid-column:1/-1}
.vtf-gallery img{display:block;width:100%;height:auto;border-radius:20px}
.vtf-gallery figure:not(:first-child) img{aspect-ratio:3/2;object-fit:cover}
.vtf-gallery figcaption{font-size:13px;color:#595959;padding-top:6px}
.vtf-place-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;align-items:start}
.vtf-description{max-width:76ch;margin:0;overflow-wrap:anywhere}
.vtf-description h2{font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.6px;margin-top:0}
.vtf-description h3{font-size:21px;line-height:1.3}
.vtf-description a{overflow-wrap:anywhere}
.vtf-description img{height:auto}
.vtf-address-panel{padding:24px;background:#fff;border-top:3px solid var(--vtf-yellow);border-radius:12px}
.vtf-address-panel h2{font-size:18px;margin:0 0 14px}
.vtf-address-panel h2{font-weight:650}
.vtf-address{font-size:15px;font-style:normal;background:none;margin:0;padding:0;overflow-wrap:anywhere}
.vtf-address-panel>a{display:inline-block;margin-top:20px;font-size:14px}
.vtf-site-footer{background:#fff;padding:40px 0 22px}
.vtf-footer-inner{width:min(var(--vtf-width),calc(100% - 48px));margin:auto}
.vtf-footer-top{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:30px}
.vtf-footer-top nav{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;font-weight:650}
.vtf-footer-top nav a{text-decoration:none;padding:10px 0}
.vtf-footer-legal{border-top:1px solid #e5e5e5;padding-top:20px;display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:#515151}
.vtf-skip-link{position:absolute;left:-10000px}
.vtf-skip-link:focus{position:fixed;top:12px;left:12px;background:#fff;color:#000;padding:12px;z-index:100}
.vtf-home-intro{padding-top:16px}
.vtf-home-intro h1{font-size:clamp(32px,4vw,56px);line-height:1.13;font-weight:750;letter-spacing:-1.6px;max-width:900px;margin:0 0 24px}
.vtf-home-intro>p{max-width:76ch;color:#4c4c4c;margin:0 0 28px;font-size:18px}
.vtf-home-search{margin:0 0 54px}
.vtf-home-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.vtf-home h2{font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.25;letter-spacing:-.7px;margin:0 0 22px}
.vtf-home-section-heading h2{margin:0}
.vtf-home-section-heading>a{font-size:14px;flex-shrink:0}
.vtf-home-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 26px}
.vtf-home-category{min-width:0;text-decoration:none;display:block;position:relative}
.vtf-home-category img,.vtf-home-category-placeholder{display:block;width:100%;height:180px;border-radius:20px;object-fit:cover;background:#e5e5e5}
.vtf-home-category-name{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:17px;font-weight:700;line-height:1.4;margin-top:14px;padding-bottom:18px;border-bottom:1px solid #dedede}
.vtf-home-category-name>span{color:#655000}
.vtf-home-category:hover .vtf-home-category-name{text-decoration:underline;text-decoration-color:#b58b00}
.vtf-home-more{margin:28px 0;background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:0 22px}
.vtf-home-more summary,.vtf-home-editorial summary{cursor:pointer;font-weight:650;min-height:48px;padding:14px 0}
.vtf-home-category-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px;padding:0 0 22px}
.vtf-home-category-links a{font-size:14px;padding:9px 0;overflow-wrap:anywhere}
.vtf-home-editorial{max-width:76ch;overflow-wrap:anywhere}
.vtf-home-editorial p{margin:0 0 18px}
.vtf-home-editorial details{border-top:1px solid #dedede;padding-top:4px}
.vtf-home-section{max-width:none;border-top:2px solid var(--vtf-yellow);padding-top:32px;margin-top:42px}
.vtf-home-section p,.vtf-home-section details{max-width:76ch}
.vtf-home-partners{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:24px}
.vtf-home-partners a{background:white;border:1px solid #e5e5e5;border-radius:12px;padding:16px;text-align:center;font-size:13px;font-weight:600;text-decoration:none}
.vtf-home-partners a:hover{text-decoration:underline}
.vtf-home-partners img{display:block;width:100%;height:90px;object-fit:contain;margin-bottom:14px}
@media(max-width:760px){.vtf-home-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.vtf-home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.vtf-home-category-links{grid-template-columns:repeat(2,minmax(0,1fr))}.vtf-home-partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vtf-home-intro{padding-top:4px}.vtf-home-intro h1{letter-spacing:-.8px}.vtf-home-intro>p{font-size:16px}.vtf-home-search{margin-bottom:38px}.vtf-home-category img,.vtf-home-category-placeholder{height:126px;border-radius:14px}.vtf-home-category-name{font-size:15px;gap:6px}.vtf-home-category-name>span{display:none}.vtf-home-category-links{grid-template-columns:1fr}.vtf-home-more{padding:0 18px}.vtf-home-partners{gap:16px}.vtf-home-partners a{padding:12px}.vtf-home-section{margin-top:32px;padding-top:26px}}
@media(max-width:1000px){.vtf-results{grid-template-columns:repeat(3,minmax(0,1fr))}.vtf-place-columns{grid-template-columns:minmax(0,1fr) 260px;gap:24px}}
@media(max-width:520px){.vtf-brand .vtf-local-logo{width:64px;height:64px}.vtf-brand .vtf-local-logo img{width:192px;height:128px;left:-64px;top:-32px}}
@media(max-width:760px){.vtf-results{grid-template-columns:repeat(2,minmax(0,1fr))}.vtf-place-columns{grid-template-columns:1fr}.vtf-address-panel{grid-row:1}.vtf-footer-top{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:520px){.vtf-header-inner{min-height:88px;width:calc(100% - 32px);gap:12px}.vtf-brand{font-size:16px}.vtf-brand span{font-size:9px;letter-spacing:1.2px}.vtf-brand img{width:64px;height:64px}.vtf-menu summary{font-size:13px;gap:8px}.vtf-header-search{display:none}.vtf-main{width:calc(100% - 32px);padding:26px 0 44px}.vtf-breadcrumb{font-size:12px;margin-bottom:20px}.vtf-search h1{letter-spacing:-.8px}.vtf-search-form{padding:20px;gap:18px}.vtf-search-form>div{flex-basis:100%}.vtf-search-form button{width:100%}.vtf-reset{width:100%;text-align:center;padding:4px}.vtf-results{grid-template-columns:1fr;gap:26px}.vtf-result-image,.vtf-result-no-photo{height:220px}.vtf-result h2{font-size:21px}.vtf-result-body{padding:16px 0 20px}.vtf-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vtf-gallery img{border-radius:12px}.vtf-place h1{margin-top:24px;padding-bottom:20px}.vtf-description h2{font-size:24px}.vtf-footer-inner{width:calc(100% - 32px)}.vtf-footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;width:100%}.vtf-pagination{gap:6px}.vtf-pagination a,.vtf-pagination [aria-current]{padding:10px 12px}}

/* Useful place pages: the child theme owns their layout. */
.vtf-place-useful{max-width:1000px;margin-inline:auto;overflow-wrap:anywhere}
.vtf-place-overview h1{margin-top:0;margin-bottom:12px;padding-bottom:18px}
.vtf-place-location{font-size:16px;color:#515151;margin:0 0 24px}
.vtf-place-hero{display:block;margin:0 0 24px}
.vtf-place-hero img{max-height:460px;object-fit:contain;background:#e9e9e9}
.vtf-place-intro{max-width:70ch;font-size:19px;line-height:1.7;margin:26px 0}
.vtf-place-section{margin-top:34px;padding-top:26px;border-top:1px solid #dedede}
.vtf-place-section>h2{font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.5px;margin:0 0 20px}
.vtf-place-section h3{font-size:17px;line-height:1.5;margin:0 0 7px;font-weight:650}
.vtf-place-essential{background:#fff;border:1px solid #e5e5e5;border-top:3px solid var(--vtf-yellow);border-radius:14px;padding:24px}
.vtf-essential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0}
.vtf-essential-grid dt{font-size:14px;font-weight:650;margin-bottom:5px}.vtf-essential-grid dd{margin:0;font-size:16px;line-height:1.6}
.vtf-place-experience{border-left:3px solid var(--vtf-yellow);padding:24px;background:#fff;border-radius:12px;border-top:0}
.vtf-personal-label{font-size:13px;color:#655000;margin-top:-8px;font-weight:600}
.vtf-practical-item{max-width:72ch;margin:0 0 22px}.vtf-practical-item p{margin:0;line-height:1.75}
.vtf-practical-source{border-top:1px solid #ddd;margin-top:22px;padding-top:12px;color:#515151;font-size:14px;max-width:76ch}.vtf-practical-source p{margin:8px 0}
.vtf-extra-gallery figure:first-child{grid-column:auto}.vtf-extra-gallery img{aspect-ratio:3/2;object-fit:cover}
.vtf-video{margin-top:24px}.vtf-video-open{background:var(--vtf-yellow);font:inherit;font-size:15px;font-weight:650;border:0;border-radius:24px;padding:12px 22px;min-height:44px;cursor:pointer}.vtf-video-open:disabled{background:#e5e5e5;cursor:default}
.vtf-video-player:not(:empty){margin-top:20px;max-width:850px}.vtf-video-player video,.vtf-video-player iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:10px;background:#111}
.vtf-media-note,.vtf-video-status{font-size:14px;color:#515151;line-height:1.6}
.vtf-nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.vtf-nearby{min-width:0}.vtf-nearby>img{display:block;width:100%;height:170px;object-fit:cover;border-radius:16px;margin-bottom:14px}.vtf-nearby h3 a{text-decoration:none}.vtf-nearby h3 a:hover{text-decoration:underline}.vtf-nearby p{margin:6px 0;font-size:14px}
.vtf-place-more .vtf-description{max-width:76ch}.vtf-place-more .vtf-description>h2{font-size:22px;margin-top:26px}
@media(max-width:760px){.vtf-essential-grid,.vtf-nearby-grid{grid-template-columns:1fr}.vtf-place-hero img{max-height:340px}.vtf-extra-gallery{grid-template-columns:1fr}.vtf-nearby>img{height:220px}.vtf-place-useful .vtf-place-section{margin-top:26px}.vtf-place-section>h2{font-size:24px}.vtf-place-essential,.vtf-place-experience{padding:20px}.vtf-place-intro{font-size:17px}.vtf-place-useful h1{margin-top:0}}
/* Contribution pages keep the existing restrained presentation. */
.vtf-contribution{max-width:1000px;margin-inline:auto;padding-bottom:48px}
.vtf-contribution-nav{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0 28px}
.vtf-contribution-panel{background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px;margin:18px 0;min-width:0}
.vtf-account-columns,.vtf-form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vtf-contribution label{display:block;font-weight:600;margin:18px 0 6px}
.vtf-contribution input:not([type=checkbox]),.vtf-contribution textarea,.vtf-contribution select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #aaa;border-radius:5px;padding:11px;font:inherit;background:#fff;color:#222}
.vtf-contribution input[type=checkbox]{width:auto}
.vtf-contribution button,.vtf-contribution .vtf-button{display:inline-block;font:inherit;font-weight:600;background:#f8ce00;color:#222;border:0;border-radius:5px;padding:11px 16px;text-decoration:none;cursor:pointer;max-width:100%;white-space:normal}
.vtf-contribution button:focus-visible,.vtf-contribution input:focus-visible,.vtf-contribution select:focus-visible{outline:3px solid #555;outline-offset:3px}
.vtf-contribution fieldset{border:0;padding:0;min-width:0}
.vtf-contribution legend{font-size:1.35rem;font-weight:700;padding:0;margin-bottom:10px}
.vtf-contribution [hidden]{display:none!important}
.vtf-help,.vtf-optional{font-weight:400;color:#565656;font-size:.9rem;line-height:1.6}
.vtf-wizard-progress{font-weight:600}.vtf-wizard-nav,.vtf-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.vtf-wizard-nav button,.vtf-form-actions button:first-child{background:#eee;border:1px solid #aaa}
.vtf-notice,.vtf-private-note{padding:16px;background:#fff7ca;border-left:4px solid #d0aa00;border-radius:4px;overflow-wrap:anywhere}
.vtf-error{background:#fff1ed;border-color:#ac3b1b}.vtf-place-state{font-weight:600}.vtf-my-places h2{font-size:1.3rem}
.vtf-optional-group{border-top:1px solid #ddd;padding:16px 0}.vtf-optional-group summary{cursor:pointer;font-weight:600}
.vtf-location-map{height:350px;width:100%;margin:12px 0;touch-action:pan-y}.vtf-location-map .leaflet-marker-icon{max-width:none}
.vtf-contribution-photos{display:flex;flex-wrap:wrap;gap:20px}.vtf-contribution-photos label{max-width:150px}.vtf-contribution-photos img{display:block;width:120px;height:100px;object-fit:cover;border-radius:4px}
.vtf-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.vtf-account-columns,.vtf-form-columns{grid-template-columns:1fr;gap:0}.vtf-contribution-panel{padding:18px}.vtf-contribution input,.vtf-contribution textarea,.vtf-contribution select{font-size:16px!important}.vtf-location-map{height:280px}.vtf-form-actions{flex-direction:column}.vtf-contribution-nav{gap:12px}.vtf-contribution h1{font-size:1.8rem}}

/* Fixed archive scope shares the existing search form without empty grid rows. */
.vtf-search[data-vtf-archive] .vtf-archive-scope{grid-column:1/-1;margin:0}
@media(max-width:520px){.vtf-search[data-vtf-archive] .vtf-archive-scope{grid-row:2}.vtf-search[data-vtf-archive] .vtf-search-form>button{grid-row:3}.vtf-search[data-vtf-archive] .vtf-search-form>.vtf-reset{grid-row:4}}

/* Existing archive destinations: native HTML navigation, no new visual system. */
.vtf-discovery-links{margin:28px 0;padding:20px 0;border-top:1px solid #d5d1c9}
.vtf-discovery-links h2{font-size:1.5rem}.vtf-discovery-links p{line-height:1.8}
.vtf-discovery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px;list-style:none;padding:0}
.vtf-discovery-list a{display:inline-block;padding:6px 0;overflow-wrap:anywhere}
.vtf-discovery-regions{display:flex;flex-wrap:wrap;gap:8px 20px}
.vtf-page-index{margin:20px 0}.vtf-page-index summary{cursor:pointer;padding:10px 0;font-weight:600}.vtf-page-index ol{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;list-style:none;padding:0;max-width:680px}.vtf-page-index a,.vtf-page-index span{display:block;text-align:center;padding:8px}.vtf-page-index a:focus-visible,.vtf-page-index summary:focus-visible{outline:3px solid #263746;outline-offset:3px}
.vtf-discovery-region{margin:12px 0;scroll-margin-top:24px}.vtf-discovery-region summary{cursor:pointer;font-weight:600;padding:10px 0}
.vtf-discovery-links a:focus-visible,.vtf-home-destinations a:focus-visible,.vtf-discovery-region summary:focus-visible{outline:3px solid #263746;outline-offset:4px}
.vtf-nearby-photo img{display:block;width:100%;height:170px;object-fit:cover;border-radius:16px;margin-bottom:14px}
@media(max-width:760px){.vtf-discovery-list{grid-template-columns:1fr}.vtf-nearby-photo img{height:220px}.vtf-page-index ol{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Clear feedback within the contributor journey. */
.vtf-theme .vtf-contribution .vtf-confirmation{background:#eaf6ed;color:#173e25;border-left:6px solid #28733e;padding:20px 24px;font-size:1.0625rem;line-height:1.6}
.vtf-theme .vtf-contribution .vtf-confirmation strong{display:block;font-size:1.25rem;line-height:1.35}
.vtf-theme .vtf-contribution .vtf-confirmation p{margin:8px 0 0}
.vtf-theme .vtf-contribution .vtf-error{color:#842b17;border-left-width:6px;font-size:1.125rem;font-weight:600}

/* Per-photo feedback and editorial texts, contributor form only. */
.vtf-theme .vtf-contribution [data-photo-list]{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.vtf-theme .vtf-contribution [data-photo-list]>li{padding:16px;border:1px solid #ccc;border-left-width:6px;border-radius:5px;min-width:0;overflow-wrap:anywhere}
.vtf-theme .vtf-contribution [data-photo-list]>li[data-state=ready]{background:#eaf6ed;border-color:#28733e;color:#173e25}
.vtf-theme .vtf-contribution [data-photo-list]>li[data-state=error]{background:#fff1ed;border-color:#ac3b1b;color:#842b17}
.vtf-theme .vtf-contribution [data-photo-list]>li>span{display:block;font-weight:600;margin:8px 0}
.vtf-theme .vtf-contribution [data-photo-list] label{max-width:none}
.vtf-theme .vtf-contribution [data-photo-list] input,.vtf-theme .vtf-contribution [data-photo-list] textarea{background:#fff;color:#222}

.vtf-theme .vtf-contribution [data-photo-status][data-state=ready]{background:#eaf6ed;color:#173e25;border-left:6px solid #28733e;padding:12px}
.vtf-theme .vtf-contribution [data-photo-status][data-state=error]{background:#fff1ed;color:#842b17;border-left:6px solid #ac3b1b;padding:12px}
