/* Blocs .ttc-* extraits de identity.css par kit-wp/outils/extraire_css_blocs.py : ne pas éditer à la main */
:root{--ttc-cream: #FBF7EF; --ttc-paper: #FFFDF8; --ttc-ink: #26221D; --ttc-muted: #5E5A53; --ttc-line: #DED3C2; --ttc-sand: #F1E7D8; --ttc-petrol: #1F4E5F; --ttc-petrol-dark: #163D49; --ttc-amber: #C98A3D; --ttc-amber-ink: #9C5518; --ttc-coral: #D96E48; --ttc-coral-ink: #A94F2F; --ttc-serif: "Newsreader", Georgia, serif; --ttc-sans: "Source Sans 3", system-ui, sans-serif;}
.ttc-serif{font-family: var(--ttc-serif); color: var(--ttc-ink);}
.ttc-dateline{font-family: var(--ttc-sans); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ttc-petrol); display: flex; align-items: center; gap: 0.6em; margin: 0 0 0.8em;}
.ttc-dateline::before{content: ""; width: 2.2em; height: 3px; background: var(--ttc-amber); display: inline-block;}
.ttc-dateline .sep{color: var(--ttc-amber-ink);}
.ttc-glance{background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-top: 4px solid var(--ttc-amber); border-radius: 3px; padding: 1.6rem 1.8rem; margin: 2rem 0;}
.ttc-glance .ttc-verdict{font-family: var(--ttc-serif); font-size: 1.45rem; line-height: 1.35; font-weight: 500; margin: 0.2em 0 0.6em;}
.ttc-glance .ttc-qualif{font-family: var(--ttc-sans); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ttc-coral-ink); margin-bottom: 1.1em;}
.ttc-glance-data{display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--ttc-line); border: 1px solid var(--ttc-line); border-radius: 2px; overflow: hidden; margin: 0 0 1.1em;}
.ttc-glance-data > div{background: var(--ttc-sand); padding: 0.7rem 0.9rem;}
.ttc-glance-data .label{display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ttc-muted); margin-bottom: 0.15em;}
.ttc-glance-data .value{font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ttc-ink); font-size: 1.05rem;}
.ttc-gofor, .ttc-thinktwice{margin: 0.35em 0; font-size: 1.02rem;}
.ttc-gofor strong{color: var(--ttc-petrol);}
.ttc-thinktwice strong{color: var(--ttc-coral-ink);}
.ttc-month-note{font-family: var(--ttc-serif); font-style: italic; color: var(--ttc-ink); border-left: 3px solid var(--ttc-amber); padding-left: 0.9em; margin: 1em 0 0.6em;}
.ttc-sources{font-size: 0.8rem; color: var(--ttc-muted); border-top: 1px solid var(--ttc-line); padding-top: 0.7em; margin-top: 1em;}
.ttc-sources a{color: var(--ttc-muted);}
.ttc-monthnav{display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ttc-line); border-bottom: 1px solid var(--ttc-line); padding: 0.7rem 0.3rem; margin: 1.8rem 0; gap: 0.8rem; font-family: var(--ttc-sans);}
.ttc-monthnav .current{font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ttc-ink);}
.ttc-monthnav a{text-decoration: none; font-weight: 600; color: var(--ttc-petrol); min-height: 44px; display: inline-flex; align-items: center;}
.ttc-monthnav a:hover{color: var(--ttc-coral-ink);}
.ttc-allmonths{text-align: center; margin: -1.2rem 0 1.8rem;}
.ttc-allmonths a{font-size: 0.9rem; color: var(--ttc-amber-ink);}
.ttc-monthgrid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin: 1.5rem 0;}
.ttc-monthgrid a{display: block; background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-radius: 3px; padding: 0.6rem 0.7rem; text-decoration: none; min-height: 44px;}
.ttc-monthgrid .m{display: block; font-weight: 700; color: var(--ttc-ink); font-size: 0.95rem;}
.ttc-monthgrid .state{display: block; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase;}
.ttc-monthgrid .state.best{color: var(--ttc-petrol); font-weight: 700;}
.ttc-monthgrid .state.good{color: var(--ttc-amber-ink); font-weight: 600;}
.ttc-monthgrid .state.mixed{color: var(--ttc-muted);}
.ttc-monthgrid .state.skip{color: var(--ttc-coral-ink);}
.ttc-byline{font-family: var(--ttc-sans); font-size: 0.85rem; color: var(--ttc-muted);}
.ttc-checked{display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ttc-petrol); border: 1px solid var(--ttc-petrol); border-radius: 2px; padding: 0.1em 0.5em; margin-left: 0.6em;}
.ttc-footer-logo{color: #FFFDF8; font-family: var(--ttc-serif); font-weight: 600;}
.ttc-card{background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-radius: 3px;}
@media (max-width: 768px){
.ttc-glance{padding: 1.1rem 1.2rem;}
.ttc-glance-data{grid-template-columns: repeat(2, 1fr);}
.ttc-monthgrid{grid-template-columns: repeat(3, 1fr);}
}
.ttc-tablewrap{overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.4rem 0; border: 1px solid var(--ttc-line); border-radius: 3px;}
.ttc-tablewrap table{margin: 0; border: none; min-width: 640px;}
.ttc-tablewrap th:first-child, .ttc-tablewrap td:first-child{position: sticky; left: 0; background: var(--ttc-sand); font-weight: 700; z-index: 1;}
@media (max-width: 768px){
.ttc-tablewrap table{font-size: 0.9rem;}
.ttc-tablewrap th, .ttc-tablewrap td{padding: 0.45rem 0.6rem;}
}
.ttc-sources-details{margin: 2.2rem 0 0.5rem; border-top: 1px solid var(--ttc-line); padding-top: 0.6rem; font-size: 0.85rem; color: var(--ttc-muted);}
.ttc-sources-details summary{cursor: pointer; font-family: var(--ttc-sans); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.75rem; color: var(--ttc-muted); list-style-position: inside;}
.ttc-sources-details summary:hover{color: var(--ttc-petrol);}
.ttc-sources-details ul{margin: 0.6em 0 0 1em;}
.ttc-sources-details a{color: var(--ttc-muted);}
.ttc-glance .ttc-sources{font-size: 0.72rem; border-top: none; padding-top: 0.4em; margin-top: 0.6em;}
.ttc-dataline{font-family: var(--ttc-sans); font-size: 0.92rem; color: var(--ttc-muted); border-left: 3px solid var(--ttc-amber); padding-left: 0.7em; margin: -0.4em 0 0.7em;}
.ttc-dataline strong{color: var(--ttc-ink); font-variant-numeric: tabular-nums;}
.ttc-footer{background: var(--ttc-petrol-dark); border-top: 3px solid var(--ttc-amber); padding: 2.6rem 1.5rem 2rem;}
.ttc-footer-inner{max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2rem;}
.ttc-footer-logo{font-family: var(--ttc-serif); font-weight: 600; font-size: 1.25rem; color: #FFFDF8; margin: 0 0 0.5em;}
.ttc-footer-blurb{color: #E6D8C5; font-size: 0.92rem; line-height: 1.55; margin: 0;}
.ttc-footer-col h2{font-family: var(--ttc-sans); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #D8C6AD; margin: 0 0 0.8em;}
.ttc-footer-col ul{list-style: none; margin: 0; padding: 0;}
.ttc-footer-col li{margin: 0 0 0.45em;}
.ttc-footer-col a{color: #FFFDF8; text-decoration: none; font-size: 0.95rem;}
.ttc-footer-col a:hover{color: #E8B76C; text-decoration: underline;}
.ttc-credit-sep{margin: 0 0.5em; color: #D8C6AD;}
.ttc-credit-line{color: #D8C6AD;}
@media (max-width: 768px){
.ttc-footer-inner{grid-template-columns: 1fr 1fr; gap: 1.4rem;}
.ttc-footer-brand{grid-column: 1 / -1;}
}
ul.ttc-picker{list-style: none; margin: 1.2rem 0 2rem; padding: 0; border: 1px solid var(--ttc-line); border-radius: 3px; background: var(--ttc-paper);}
ul.ttc-picker li{display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.6rem 1rem; border-bottom: 1px solid var(--ttc-line); margin: 0;}
ul.ttc-picker li:last-child{border-bottom: none;}
ul.ttc-picker li:nth-child(odd){background: var(--ttc-sand);}
ul.ttc-picker .want{color: var(--ttc-muted); font-size: 0.98rem;}
ul.ttc-picker .pick{font-weight: 700; text-align: right; white-space: nowrap; color: var(--ttc-petrol); text-decoration: none;}
ul.ttc-picker a.pick:hover{color: var(--ttc-coral-ink); text-decoration: underline;}
@media (max-width: 600px){
ul.ttc-picker li{flex-direction: column; gap: 0.15rem; align-items: flex-start;}
ul.ttc-picker .pick{white-space: normal; text-align: left;}
}
.ttc-hero{background: var(--ttc-paper); border-bottom: 1px solid var(--ttc-line); padding: 3rem 1.5rem 2.6rem;}
.ttc-hero-inner{max-width: 780px; margin: 0 auto; text-align: center;}
.ttc-hero-kicker{font-family: var(--ttc-sans); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ttc-amber-ink); margin: 0 0 0.6em;}
.ttc-hero-title{font-family: var(--ttc-serif); font-size: 2.6rem; font-weight: 600; line-height: 1.08; letter-spacing: -0.02em; color: var(--ttc-ink); margin: 0 0 0.5em;}
.ttc-hero-text{font-size: 1.08rem; color: var(--ttc-muted); line-height: 1.6; margin: 0;}
.ttc-monthstrip{background: var(--ttc-petrol-dark); padding: 0.7rem 1rem;}
.ttc-monthstrip-inner{max-width: 900px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 0.35rem 0.7rem; align-items: center; justify-content: center;}
.ttc-monthstrip-label{font-family: var(--ttc-sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #D8C6AD; margin-right: 0.5em;}
.ttc-monthstrip a, .ttc-monthstrip .soon{font-family: var(--ttc-sans); font-weight: 600; font-size: 0.9rem; padding: 0.15em 0.55em; border-radius: 2px; text-decoration: none;}
.ttc-monthstrip a{color: #FFFDF8; background: rgba(255,253,248,0.12);}
.ttc-monthstrip a:hover{background: var(--ttc-amber); color: var(--ttc-ink);}
.ttc-monthstrip .soon{color: rgba(255,253,248,0.38);}
.ttc-section{max-width: 1100px; margin: 2.5rem auto; padding: 0 1.5rem;}
.ttc-section-head{display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--ttc-petrol); padding-bottom: 0.4rem; margin-bottom: 1.2rem;}
.ttc-section-head h2{margin: 0; font-size: 1.5rem;}
.ttc-section-more{font-family: var(--ttc-sans); font-weight: 600; font-size: 0.9rem; text-decoration: none;}
.ttc-cards{display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem;}
.ttc-card-dest{background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-radius: 3px; overflow: hidden;}
.ttc-card-media{display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ttc-sand);}
.ttc-card-media img{width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0;}
.ttc-card-dest h3{font-size: 1.12rem; margin: 0.7rem 0.9rem 0.2rem;}
.ttc-card-dest h3 a{color: var(--ttc-ink); text-decoration: none;}
.ttc-card-dest h3 a:hover{color: var(--ttc-coral-ink);}
.ttc-card-blurb{font-size: 0.88rem; color: var(--ttc-muted); margin: 0 0.9rem 0.9rem;}
@media (max-width: 900px){
.ttc-cards{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 520px){
.ttc-cards{grid-template-columns: 1fr;}
.ttc-hero-title{font-size: 2rem;}
}
.ttc-monthgrid .mgcell{display: block; background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-radius: 3px; padding: 0.6rem 0.7rem; min-height: 44px;}
.ttc-monthnav .soon{color: var(--ttc-muted); font-size: 0.95rem;}
.ttc-monthnav .soon em{font-style: normal; font-size: 0.78rem; color: var(--ttc-line);}
.ttc-plan2{display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.4rem 0;}
.ttc-plan2 > div{background: var(--ttc-paper); border: 1px solid var(--ttc-line); border-top: 3px solid var(--ttc-amber); border-radius: 3px; padding: 1rem 1.2rem;}
.ttc-plan2 > div.rain{border-top-color: var(--ttc-petrol);}
.ttc-plan2 h3{margin: 0 0 0.5em; font-size: 1.1rem;}
.ttc-plan2 ol{margin: 0 0 0 1.1em; padding: 0;}
.ttc-plan2 li{margin-bottom: 0.35em; font-size: 0.98rem;}
.ttc-altcards{display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.4rem 0;}
.ttc-altcards > div{background: var(--ttc-sand); border: 1px solid var(--ttc-line); border-radius: 3px; padding: 0.9rem 1.1rem;}
.ttc-altcards .alt-m{font-family: var(--ttc-sans); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ttc-petrol); display: block; margin-bottom: 0.3em;}
.ttc-altcards p{margin: 0; font-size: 0.94rem;}
.ttc-altcards .gain{color: var(--ttc-ink);}
.ttc-altcards .lose{color: var(--ttc-coral-ink);}
@media (max-width: 700px){
.ttc-plan2, .ttc-altcards{grid-template-columns: 1fr;}
}
.ttc-monthgrid br, .ttc-glance-data br, .ttc-plan2 br, .ttc-altcards br, .ttc-cards br{display: none;}
.ttc-monthgrid{gap: 0.45rem;}
.ttc-monthgrid .mgcell, .ttc-monthgrid a{padding: 0.45rem 0.6rem; min-height: 0; text-align: center;}
.ttc-monthgrid .m{font-size: 0.9rem;}
@media (max-width: 768px){
.ttc-monthgrid{grid-template-columns: repeat(4, 1fr); gap: 0.35rem;}
.ttc-monthgrid .state{font-size: 0.62rem; letter-spacing: 0.04em;}
}
.home .ttc-loop-head{max-width: 1100px; margin: 2.2rem auto 1.2rem; padding: 0 1.5rem;}
.ttc-loop-media{display: block; aspect-ratio: 3 / 1.4; overflow: hidden; background: var(--ttc-sand);}
.ttc-loop-media img{width: 100%; height: 100%; object-fit: cover; display: block;}
.ttc-byline{display: flex; align-items: center; gap: 0.55em; margin: 0.1em 0 1.1em;}
.ttc-byline img.avatar{width: 28px; height: 28px; border-radius: 50%;}
.ttc-byline > div{display: flex; align-items: baseline; gap: 0.6em; flex-wrap: wrap;}
.ttc-byline-name{font-weight: 600;}
.ttc-byline-name a{color: inherit; text-decoration: none;}
.ttc-byline-name a:hover{color: var(--ttc-petrol);}
.ttc-byline-meta{font-size: 0.78rem; color: var(--ttc-muted);}
.ttc-authorbox{display: flex; align-items: flex-start; gap: 1em; border-top: 1px solid var(--ttc-line); margin-top: 2.4em; padding-top: 1.2em; font-family: var(--ttc-sans);}
.ttc-authorbox img.avatar{width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0;}
.ttc-authorbox h3{font-size: 0.95rem; margin: 0 0 0.25em; font-family: var(--ttc-sans);}
.ttc-authorbox h3 a{text-decoration: none; color: var(--ttc-ink);}
.ttc-authorbox p{font-size: 0.85rem; color: var(--ttc-muted); margin: 0; line-height: 1.55;}
.ttc-routeline{list-style: none; margin: 1.6em 0 2em; padding: 0; font-family: var(--ttc-sans);}
.ttc-routeline li{position: relative; margin-left: 0.6em; padding: 0 0 1.15em 1.9em; border-left: 2px solid var(--ttc-petrol);}
.ttc-routeline li:last-child{border-left-color: transparent; padding-bottom: 0;}
.ttc-routeline li::before{content: ''; position: absolute; left: -7px; top: 0.12em; width: 12px; height: 12px; border-radius: 50%; background: var(--ttc-paper); border: 3px solid var(--ttc-petrol);}
.ttc-routeline li.rl-side::before{background: var(--ttc-sand); border-color: var(--ttc-amber);}
.ttc-routeline .stop{font-weight: 700; color: var(--ttc-ink);}
.ttc-routeline .nights{margin-left: 0.55em; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ttc-amber-ink);}
.ttc-routeline .move{display: block; margin-top: 0.18em; font-size: 0.84rem; color: var(--ttc-muted);}
.ttc-routeline br{display: none;}
