/* Cartes d'onglets « à proximité » calculées par le plugin (hébergements, lieux, …) */
.tcf2 .tcf2-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tcf2 a.tcf2-mini-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.tcf2 a.tcf2-mini-card:hover{border-color:var(--c);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(60,40,10,.5)}
.tcf2 .tcf2-mini-img{position:relative;display:block;aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.tcf2 .tcf2-mini-img img{display:block;width:100%;height:100%;object-fit:cover}
.tcf2 .tcf2-mini-note{position:absolute;top:8px;right:8px;padding:3px 9px;border-radius:999px;background:rgba(30,24,17,.82);color:#fff;font-size:.76rem;font-weight:800}
.tcf2 .tcf2-mini-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}
.tcf2 .tcf2-mini-body b{font-size:.92rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tcf2 .tcf2-mini-body small{font-size:.78rem;color:var(--mut)}
.tcf2 .tcf2-mini-price{margin-top:4px;font-size:.78rem;color:var(--mut)}
.tcf2 .tcf2-mini-price b{display:inline;font-size:.95rem;color:var(--c);-webkit-line-clamp:unset}
@media (max-width:900px){.tcf2 .tcf2-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.tcf2 .tcf2-mini-grid{grid-template-columns:1fr}}

/* Boutons « Voir les disponibilités » des cards d'origine (agriturismos, etc.) : texte blanc lisible, la couleur des liens du gabarit ne doit pas les teinter */
.tcf2 a.tcag-btn-reserver,.tcf2 a.tcag-btn-reserver:visited,.tcf2 a.tcha-btn-reserver,.tcf2 a.tcact-btn-reserver,.tcf2 a[class*="-btn-reserver"]{color:#fff !important;text-decoration:none}
.tcf2 a[class*="-btn-reserver"]:hover{color:#fff !important;filter:brightness(1.08)}
.tcf2 a[class*="-btn-reserver"] img{background:#fff;border-radius:4px;padding:1px}

/* Fiche lieu : mini-article (texte entier), mention « pour qui » */
.tcf2 .tcf2-forwho{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.6);border:1px dashed #D5C393;font-size:.95rem;color:#3b2d1d}
.tcf2 .tcf2-parch--full .tcf2-clamp{font-size:1.06rem;line-height:1.85;overflow-wrap:anywhere}
.tcf2 .tcf2-parch--full .tcf2-clamp img{max-width:100%;height:auto;border-radius:12px}
.tcf2 a.tcf2-btn--anchor{text-decoration:none}

/* « Notre analyse » (lieux) : critères en jauges fines aux couleurs du hub à gauche, points forts / points d'attention en deux cartes douces à droite */
.tcf2 .tcf2-analysis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 32px;align-items:start}
.tcf2 .tcf2-analysis > .tcf2-h2{grid-column:1 / -1;margin:0}
.tcf2 .tcf2-analysis > *:not(.tcf2-h2):not(.tcfl-gauges-wrap):not(.tcfl-points-col){grid-column:1 / -1}
.tcf2 .tcf2-analysis .tcfl-gauges-wrap{margin:0;padding:0;background:none;border:0;box-shadow:none;display:flex;flex-direction:column;gap:16px}
.tcf2 .tcf2-analysis .tcfl-gauges-title{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--mut)}
.tcf2 .tcf2-analysis .tcfl-gauge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label val" "track track";gap:6px 12px;align-items:baseline;margin:0;padding:0;border:0}
.tcf2 .tcf2-analysis .tcfl-gauge-label{grid-area:label;font-size:.93rem;font-weight:600;color:var(--ink);min-width:0;width:auto}
.tcf2 .tcf2-analysis .tcfl-gauge-val{grid-area:val;font-size:1rem;font-weight:800;color:var(--c);font-variant-numeric:tabular-nums;min-width:0;width:auto;text-align:right}
.tcf2 .tcf2-analysis .tcfl-gauge-track{grid-area:track;height:7px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,#fff);overflow:hidden;margin:0;width:auto}
.tcf2 .tcf2-analysis .tcfl-gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 55%,#fff),var(--c));box-shadow:none}
.tcf2 .tcf2-analysis .tcfl-points-col{display:flex;flex-direction:column;gap:14px;margin:0}
.tcf2 .tcf2-analysis .tcfl-points-box{margin:0;padding:16px 18px;border:0;border-radius:16px;background:#F1F5EA;box-shadow:none}
.tcf2 .tcf2-analysis .tcfl-points-box:nth-of-type(2){background:#FBF1E2}
.tcf2 .tcf2-analysis .tcfl-points-box h4{margin:0 0 10px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#4E6A2C}
.tcf2 .tcf2-analysis .tcfl-points-box:nth-of-type(2) h4{color:#9A5B12}
.tcf2 .tcf2-analysis .tcfl-points-box ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tcf2 .tcf2-analysis .tcfl-points-box li{position:relative;margin:0;padding:0 0 0 28px;font-size:.93rem;line-height:1.45;color:var(--ink);list-style:none}
.tcf2 .tcf2-analysis .tcfl-pf-icon{display:none}
.tcf2 .tcf2-analysis .tcfl-points-box li::before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#5A7A2E;color:#fff;font-size:.72rem;font-weight:800;line-height:19px;text-align:center}
.tcf2 .tcf2-analysis .tcfl-points-box:nth-of-type(2) li::before{content:"!";background:#C9821F}
@media (max-width:700px){.tcf2 .tcf2-analysis{grid-template-columns:minmax(0,1fr)}}

/* Une colonne ne doit jamais dépasser l'écran : le contenu large (onglets, tableaux, iframes) défile dans son cadre au lieu d'élargir la page */
.tcf2 .tcf2-grid > *{min-width:0}
.tcf2 .tcf2-grid{align-items:stretch}
.tcf2 .tcf2-main{width:100%;max-width:100%}
.tcf2 .tcf2-main > *{min-width:0;max-width:100%}
@media (max-width:1000px){.tcf2 .tcf2-grid{grid-template-columns:minmax(0,1fr)}}
.tcf2 .tcf2-clamp table,.tcf2 .tcf2-analysis table{display:block;max-width:100%;overflow-x:auto}
.tcf2 .tcf2-clamp iframe,.tcf2 .tcf2-clamp video{max-width:100%}
