/* Feuille commune du pilote. Les ajustements historiques restent dans leur ordre de cascade.
   Rechercher le sélecteur du bloc et ses règles @media avant de le modifier. */
@charset "UTF-8";

/* Palette et variables communes */
:root{--ink:#083f50;--muted:#536d7a;--blue:#087f9c;--line:#dce9ee;--paper:#fff;--yellow:#f8ba29;--radius:12px}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:24px}
a{color:inherit;text-decoration:none}
a:hover{color:#007c99;text-decoration:underline}
a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #008aab;outline-offset:4px}
svg{display:block;flex-shrink:0}
.wrap{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:absolute;top:-100px;left:16px;padding:12px;background:#fff;z-index:10}
.skip:focus{top:10px}
.test-banner{background:#eaf5f7;text-align:center;font-size:10px;letter-spacing:1px;padding:5px;color:#386b79}
.test-banner span{letter-spacing:0;margin-left:12px}

/* En-tête et navigation */
.site-header{min-height:91px;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:7px;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand-icon{width:52px;height:52px}
.brand-word{font-weight:800;letter-spacing:-1.2px;font-size:29px;line-height:1}
.brand-word b{color:#ebae14}
.brand-word>span{color:#0a95b8}
.brand small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.site-header nav{display:flex;gap:26px;font-weight:600;font-size:14px}
.city-search{position:relative;flex:1;max-width:330px;margin-left:auto}
.city-search input{width:100%;border:1px solid #c7e1e8;background:#f0f7fa;border-radius:30px;padding:11px 17px;font:inherit;font-size:13px;color:var(--ink)}
.city-results{position:absolute;top:48px;left:0;right:0;max-height:320px;overflow-y:auto;z-index:6;background:white;border:1px solid var(--line);box-shadow:0 12px 25px #163a5020;border-radius:10px}
.city-results a{display:block;padding:10px 16px;font-size:14px}
.city-results a:hover,.city-results a:focus{background:#eaf6f8}
.city-results p{padding:10px 16px;font-size:13px}
.language-label{font-weight:600;font-size:13px}
.breadcrumbs{display:flex;gap:12px;font-size:12px;color:var(--muted);padding:20px 0}

/* Grille principale et barre latérale */
.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:24px;align-items:start}
.main-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.main-column>section{min-width:0}
h1,h2,h3,p,dl{margin-top:0}
h1{font-size:46px;letter-spacing:-1.8px;line-height:1.12;margin-bottom:10px;font-weight:800}
h2{font-size:23px;line-height:1.3;letter-spacing:-.55px;margin-bottom:0}
h3{font-size:14px}
.notice{padding:11px 15px;border:1px solid #f1dfb2;background:#fffaf0;border-radius:8px;font-size:12px;color:#735d30;margin-bottom:18px}
.notice.error{padding:28px}
.notice strong{margin-right:5px}
.panel{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:white}

/* Carte météo actuelle et photographie */
.current-card{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#edf8fb;padding:27px 26px 18px;min-height:390px}
.hero-panorama{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-3}
.current-card:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#fff 0%,#fffffff5 27%,#ffffffb3 45%,#ffffff15 76%),linear-gradient(0deg,#fff 0%,#ffffffed 18%,#ffffff00 52%)}
.current-top{max-width:65%}
.observation-date{font-size:13px;color:#456779;margin-bottom:10px;max-width:60%}
.current-main{display:flex;align-items:center;justify-content:flex-start;gap:25px;min-height:175px;width:65%}
.big-temperature{font-size:87px;line-height:1.05;letter-spacing:-5px;font-weight:800}
.big-temperature>span{font-size:31px;letter-spacing:-1px;vertical-align:top;display:inline-block;margin-top:12px}
.condition{font-size:21px;line-height:1.2;font-weight:700;margin:7px 0}
.feels{font-size:12px;color:#3e6170;margin-bottom:0}
.feels>span{margin:0 4px}
.hero-weather{width:94px;height:94px;filter:drop-shadow(0 3px 4px #ffffffaa)}
.current-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 0;padding-top:13px;border-top:1px solid #bdd7df99}
.current-metrics>div+div{border-left:1px solid #cbdfe5;padding-left:16px}
dt{font-size:12px;color:var(--muted)}
dd{margin:2px 0 0;font-size:16px;font-weight:700;overflow-wrap:anywhere}
.metric-note{font-size:10px;display:block;font-weight:400;color:var(--muted)}
.sun-inline{display:flex;gap:35px;margin:12px 0 0;padding-top:10px;border-top:1px solid #d9e6eb}
.sun-inline>div{display:flex;align-items:baseline;gap:10px}
.sun-inline dd{font-size:15px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.section-heading>span{font-size:12px;color:var(--muted)}

/* Cartes horaires */
.hourly-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.hour{background:linear-gradient(#f2f8fb,#edf5f8);border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:13px 4px 10px;gap:7px}
.hour time{font-size:13px;font-weight:600}
.hour .weather-icon{width:43px;height:43px}
.hour strong{font-size:25px;line-height:1.1}
.hour>span{font-size:10px;color:var(--muted);min-height:30px;line-height:1.4}

/* Tableau des prévisions quotidiennes */
.forecast-panel .section-heading{margin-bottom:7px}
.section-note{font-size:12px;color:var(--muted);margin-bottom:18px}
.forecast-today{display:flex;justify-content:space-between;align-items:center;padding:13px 12px;background:#eff8fa;border-radius:7px;gap:12px}
.forecast-today>div:first-child strong,.forecast-today>div:first-child span{display:block}
.forecast-today strong{font-size:13px}
.forecast-today>div:first-child span,.today-label{font-size:11px;color:var(--muted)}
.range{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:78px;font-size:17px;white-space:nowrap}
.range>span{color:#0879a6}
.range>strong{font-size:17px;color:#a76800}
.forecast-today .range{margin-right:28px}
.forecast-day{border-bottom:1px solid var(--line)}
.forecast-day:last-of-type{border:0}
summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 44px 90px 88px 16px;align-items:center;gap:12px;padding:13px 4px;min-height:65px}
summary::-webkit-details-marker{display:none}
summary:hover{background:#f5fafb}
.day-date strong{display:block;font-size:13px;font-weight:600}
.day-date>span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
summary>.weather-icon{width:36px;height:36px}
.wind-summary{font-size:12px;text-align:right;color:var(--muted)}
.expand{color:#1687a2;font-size:20px}
.forecast-day[open] .expand{font-size:0}
.forecast-day[open] .expand:after{content:"−";font-size:20px}
.day-details{background:#f1f8fa;border-radius:8px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.day-details h3{margin-bottom:9px}
.day-details p{display:flex;align-items:center;gap:8px;font-size:12px}
.day-details .weather-icon{width:32px;height:32px}
.day-details dl{margin-bottom:0}
.day-details dl>div{display:flex;justify-content:space-between;gap:8px}
.day-details dd{font-size:12px}
.day-details dt{font-size:11px}
.daily-sun{grid-column:1/-1;color:var(--muted);margin:0;border-top:1px solid var(--line);padding-top:12px;flex-wrap:wrap}
aside{display:grid;gap:18px;min-width:0}
aside .panel{padding:20px}
aside h2{font-size:20px;letter-spacing:-.45px}
.ad-slot{width:100%;padding:0}
.ad-caption{text-align:center;font-size:10px;color:var(--muted);margin:0 0 7px}
.ad-placeholder{width:100%;min-height:280px;background:linear-gradient(125deg,#edf1f4,#e1e9ee);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#62788a;font-size:14px}
.ad-placeholder small{font-size:12px}
.prayers-date{font-size:12px;color:var(--muted);margin:6px 0 15px}
.prayers-list{margin:0}
.prayers-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 8px;border-bottom:1px solid #e8eff2;border-radius:4px}
.prayers-list dt{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:14px}
.prayers-list dt [lang=ar]{font-size:13px;color:var(--muted)}
.prayers-list dd{font-size:16px;margin:0;font-variant-numeric:tabular-nums}
.prayers-list .next-prayer{background:#ddf4ec;border-color:transparent}
.prayer-next-label{font-size:12px;margin:14px 0;color:var(--muted)}
.prayers-source{font-size:10px;line-height:1.8;border-top:1px solid var(--line);padding-top:12px;margin:14px 0 0;color:var(--muted)}
.prayers-source a{text-decoration:underline}

/* Liste des communes */
.communes-links{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.communes-links a{padding:10px 0;font-size:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.nearby-panel>p{font-size:12px;color:var(--muted);margin:7px 0}
.nearby-panel>a{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:#087392}
.nearby-panel>a:last-child{border:0}
.info-panel{background:#f7fafb}
.info-symbol{display:none}
.info-panel h2{font-size:16px}
.info-panel p,.update-label{font-size:12px;color:var(--muted);margin:10px 0}
.update-label{display:block;color:var(--ink)}
.empty{font-size:13px;color:var(--muted);margin:14px 0 0}
.eyebrow{font-size:10px;letter-spacing:1px;color:var(--blue);margin:0 0 7px}
.closing-note{max-width:800px;margin:34px 0}
.closing-note h2{font-size:18px}
.closing-note p{font-size:13px;color:var(--muted);margin:8px 0}
.photo-credit{font-size:10px;color:var(--muted);padding-bottom:17px}
.photo-credit a{text-decoration:underline}
.site-footer{background:#f0f7fa;border-top:1px solid var(--line)}
.footer-content{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:26px}
.footer-brand{font-size:23px;font-weight:800;color:var(--ink)}
.footer-content p,.footer-content>a:last-child{font-size:12px;margin:0;color:var(--muted)}


/* Adaptation aux écrans plus étroits */
@media(max-width:1150px){.wrap{width:calc(100% - 40px)}
.site-header{gap:22px}
.site-header nav{gap:16px}
.brand-word{font-size:25px}
.language-label{display:none}
.dashboard{grid-template-columns:minmax(0,1fr) 320px;gap:20px}
.current-card{padding:22px}
.current-main{width:85%;gap:15px}
.hero-weather{width:76px;height:76px}
h1{font-size:40px}
.big-temperature{font-size:78px}
.current-metrics{gap:8px}
.current-metrics>div+div{padding-left:8px}
.current-metrics dd{font-size:14px}
.panel{padding:18px}
summary{grid-template-columns:minmax(0,1fr) 35px 78px 15px;gap:9px}
.wind-summary{display:none}
.today-label{display:none}
.hourly-grid{gap:5px}
.sun-inline{gap:20px}
.sun-inline>div{display:block}
}

@media(max-width:850px){.site-header{flex-wrap:wrap;padding-block:16px;gap:18px}
.city-search{max-width:none;min-width:200px}
.site-header nav{margin-left:auto}
.dashboard{grid-template-columns:minmax(0,1fr)}
.current-main{width:65%}
.current-top{max-width:80%}
.sun-inline>div{display:flex}
.ad-slot{max-width:336px;justify-self:center}
.communes-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-weather{width:90px;height:90px}
.current-card{min-height:375px}
}

@media(max-width:480px){.wrap{width:calc(100% - 28px)}
.test-banner{font-size:9px}
.test-banner span{margin-left:6px}
.site-header{gap:13px}
.brand-word{font-size:24px}
.brand-icon{width:40px;height:40px}
.brand small{font-size:9px}
.site-header nav{font-size:12px;gap:12px}
.site-header nav a:first-child{display:none}
.city-search{flex-basis:100%}
.breadcrumbs{font-size:11px;padding:15px 0}
.current-card{padding:19px 17px;min-height:0}
.current-card:before{background:linear-gradient(90deg,#fff 0%,#ffffffeb 35%,#ffffff80 80%),linear-gradient(0deg,#fff 5%,#ffffff00 90%)}
.current-top{max-width:100%}
h1{font-size:37px}
.observation-date{max-width:100%;font-size:11px}
.current-main{width:100%;min-height:166px;gap:12px}
.big-temperature{font-size:74px}
.big-temperature>span{font-size:25px}
.condition{font-size:19px}
.feels{font-size:11px}
.hero-weather{width:73px;height:73px}
.current-metrics{grid-template-columns:1fr 1fr;gap:12px}
.current-metrics>div+div{border:0;padding:0}
.current-metrics>div:nth-child(even){border-left:1px solid var(--line);padding-left:15px}
.sun-inline{gap:25px}
.sun-inline>div{display:block}
.sun-inline dt{font-size:11px}
.panel{padding:18px 13px}
h2{font-size:20px}
.hourly-grid{gap:4px;overflow-x:auto;grid-template-columns:repeat(6,minmax(53px,1fr));padding-bottom:5px}
.hour{padding:10px 3px}
.hour time{font-size:11px}
.hour .weather-icon{width:34px;height:34px}
.hour strong{font-size:21px}
.hour>span{font-size:9px}
.section-heading>span{font-size:10px}
.section-note{font-size:11px}
.range{min-width:0;gap:12px;font-size:15px}
.range>strong{font-size:15px}
.day-date strong{font-size:12px}
.day-date>span{font-size:10px}
summary{grid-template-columns:minmax(0,1fr) 30px 68px 12px;gap:6px}
summary>.weather-icon{width:30px;height:30px}
.forecast-today .range{margin-right:17px}
.day-details{padding:12px;gap:12px}
.day-details p{font-size:11px}
.day-details .weather-icon{width:24px;height:24px}
.communes-links{grid-template-columns:1fr 1fr}
.footer-content{flex-wrap:wrap;gap:10px}
.footer-content p{order:3;width:100%;font-size:11px}
.photo-credit{font-size:9px}
.notice{font-size:11px}
.notice strong{display:block}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

@media print{.test-banner,.site-header nav,.city-search,aside,.photo-credit,.site-footer{display:none}
.wrap{width:100%}
.dashboard{grid-template-columns:1fr}
.hero-panorama{display:none}
.current-card{background:white;break-inside:avoid}
.forecast-day{break-inside:avoid}
}


.hero-panorama.panorama-left{object-position:left center}
.hero-panorama.panorama-center{object-position:center center}
.hero-panorama.panorama-right{object-position:right center}


/* Design 2 : largeur fluide et tableau des dix jours. */
:root{--ink:#06475c;--blue:#0089ab;--yellow:#ffba08;--line:#d6e7ef}

.wrap{width:calc(100% - 64px);max-width:none}
.site-header{min-height:85px}
.brand-icon{width:70px;height:56px}
.brand-word{font-size:32px;letter-spacing:-1.5px;font-weight:800;color:#005469}
.brand-word>span{color:#039bc2}
.brand{gap:4px}
.site-header nav{margin-left:35px;gap:36px}
.city-search{max-width:380px}
.dashboard{grid-template-columns:minmax(0,1fr) 336px}
.current-card{min-height:375px;background:#fff;padding:22px}
.current-main{min-height:170px}
.big-temperature{font-size:100px}
.current-top h1{font-size:49px}
.observation-date{font-size:16px;max-width:100%}
.hijri-date{font-size:14px}
.hero-weather{width:115px;height:115px}
.weather-update{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:12px;color:#536d7a;padding:0 5px;margin-top:-10px}
.weather-update>strong{color:#06475c}
.weather-update b{font-weight:600;color:#234e60}
.interface-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}
.section-heading h2{display:flex;align-items:center;gap:10px}
.current-metrics dt{display:flex;align-items:center;gap:8px}
.sun-inline dt{display:flex;align-items:center;gap:7px}
.icon-sunrise,.icon-sunset{color:#ffb900}
.sun-inline .interface-icon{width:29px;height:29px}
.hour .weather-icon{width:48px;height:48px}
.hour strong{font-size:27px}
.hour time{font-size:14px}
.forecast-columns,.forecast-grid{display:grid;grid-template-columns:minmax(145px,1.35fr) 54px minmax(100px,1.3fr) 55px 55px minmax(80px,.85fr) 16px;gap:14px;align-items:center}
.forecast-columns{padding:10px 4px;border-bottom:1px solid var(--line);font-size:12px;color:#315a70}
.forecast-grid{padding:12px 4px;min-height:57px}
.forecast-today{background:transparent;margin:0;border-radius:0;border-bottom:1px solid var(--line)}
.forecast-today .weather-icon{width:36px;height:36px}
.day-date strong{font-size:14px;font-weight:500}
.forecast-condition{font-size:13px;color:#35576c}
.forecast-min{font-size:17px;color:#0089cb}
.forecast-max{font-size:17px;color:#c17c00;font-weight:600}
.wind-summary{display:block;text-align:left;font-size:12px}
.forecast-panel{padding:20px 24px}
.forecast-panel .section-note{margin-bottom:3px}
.current-card:before{background:linear-gradient(90deg,#fff 0%,#fffffff5 23%,#ffffffaa 44%,#ffffff00 75%),linear-gradient(0deg,#fff 0%,#fffffff0 17%,#ffffff00 50%)}

@media(min-width:1600px){.dashboard{grid-template-columns:minmax(0,1fr) 360px}
.current-card{min-height:405px}
.current-main{min-height:190px}
.site-header{gap:45px}
.hourly-grid{gap:14px}
}

@media(max-width:1150px){.site-header nav{margin-left:0;gap:18px}
.wrap{width:calc(100% - 36px)}
.dashboard{grid-template-columns:minmax(0,1fr) 320px}
.forecast-columns,.forecast-grid{grid-template-columns:minmax(95px,1.4fr) 35px minmax(65px,1fr) 36px 36px 15px;gap:8px}
.forecast-columns>span:nth-child(6),.forecast-grid>.wind-summary{display:none}
.forecast-panel{padding:18px 14px}
.day-date strong,.forecast-condition{font-size:11px}
.forecast-min,.forecast-max{font-size:14px}
.current-top h1{font-size:42px}
.big-temperature{font-size:83px}
.hero-weather{width:86px;height:86px}
.brand-word{font-size:27px}
.brand-icon{width:54px}
.observation-date{font-size:13px}
.hijri-date{font-size:12px}
}

@media(max-width:850px){.dashboard{grid-template-columns:minmax(0,1fr)}
.site-header nav{margin-left:auto}
.forecast-columns,.forecast-grid{grid-template-columns:minmax(100px,1.3fr) 40px minmax(85px,1fr) 44px 44px 70px 14px}
.forecast-columns>span:nth-child(6),.forecast-grid>.wind-summary{display:block}
.current-card{min-height:370px}
}

@media(max-width:480px){.wrap{width:calc(100% - 28px)}
.brand-icon{width:45px;height:40px}
.brand-word{font-size:25px}
.site-header nav{gap:12px}
.current-card{padding:18px 14px;min-height:0}
.current-top h1{font-size:36px}
.big-temperature{font-size:76px}
.hero-weather{width:72px;height:72px}
.hijri-date{display:block;margin-top:4px}
.forecast-columns,.forecast-grid{grid-template-columns:minmax(77px,1.2fr) 28px minmax(55px,1fr) 29px 29px 10px;gap:5px}
.forecast-columns>span:nth-child(6),.forecast-grid>.wind-summary{display:none}
.forecast-panel{padding:17px 10px}
.forecast-columns{font-size:10px}
.day-date strong,.forecast-condition{font-size:10px}
.forecast-min,.forecast-max{font-size:12px}
.forecast-today .weather-icon,summary>.weather-icon{width:27px;height:27px}
.weather-update{font-size:11px}
.current-card:before{background:linear-gradient(90deg,#fff 0%,#ffffffeb 35%,#ffffff80 80%),linear-gradient(0deg,#fff 5%,#ffffff00 90%)}
}


/* Icônes issues de la référence, atlas local : quatre colonnes, trois lignes. */
.weather-sprite{display:inline-block;background-image:url('weather-icons.webp');background-size:400% 300%;background-repeat:no-repeat;flex-shrink:0;vertical-align:middle}

.sprite-sun{background-position:0 0}
.sprite-partly{background-position:33.333333% 0}
.sprite-cloud{background-position:66.666667% 0}
.sprite-moon{background-position:100% 0}
.sprite-rain{background-position:0 50%}
.sprite-storm{background-position:33.333333% 50%}
.sprite-snow{background-position:66.666667% 50%}
.sprite-thermometer{background-position:100% 50%}
.sprite-drop{background-position:0 100%}
.sprite-wind{background-position:33.333333% 100%}
.sprite-sunrise{background-position:66.666667% 100%}
.sprite-sunset{background-position:100% 100%}
.icon-unknown{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}

.current-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.current-metrics>div+div{border:0;padding-left:0}
.current-metrics>div{position:relative;padding-left:32px!important}
.current-metrics dt{font-size:11px;gap:0}
.current-metrics .interface-icon{position:absolute;left:0;top:1px;width:29px;height:29px}
.current-metrics dd{font-size:16px}
.secondary-metrics{font-size:11px;color:var(--muted);margin:12px 0 0}
.secondary-metrics>span{padding:0 10px}
.hero-weather{filter:none}
.nearby-cities{padding-top:4px}
.nearby-cities h2{margin:0 0 18px}

/* Grille des six villes proches */
.nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nearby-city{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:23px;border:1px solid #d4e7ee;border-radius:12px;background:linear-gradient(135deg,#fff,#f0f8fb);transition:border-color .15s,background .15s}
.nearby-city:hover{border-color:#0a9ac0;background:#edf8fb;text-decoration:none}
.nearby-city-top{display:flex;align-items:center;gap:11px}
.nearby-city-top svg{width:22px;height:26px;color:#078ca8}
.nearby-city-top strong{font-size:19px;line-height:1.3}
.nearby-city-link{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#167d97;font-size:12px;margin-top:24px}
.nearby-city-link>span{font-size:23px}

@media(max-width:1150px){.current-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nearby-grid{gap:12px}
.nearby-city{padding:16px;min-height:140px}
.nearby-city-top strong{font-size:16px}
}

@media(max-width:600px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.current-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.nearby-city{min-height:135px}
.current-metrics>div:nth-child(even){border:0}
.nearby-city-top{gap:8px}
.nearby-city-top strong{font-size:15px}
.nearby-city-link{font-size:11px}
.nearby-city-top svg{width:18px}
}

@media(prefers-reduced-motion:reduce){.nearby-city{transition:none}
}


/* 0.8 : retour au format centré, seule la largeur maximale change. */
.wrap{max-width:1320px}


/* 0.9 : lisibilité des prévisions et données réelles des villes proches. */
.day-date strong{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:600}
.forecast-condition{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;color:#36576d}
.forecast-min,.forecast-max{font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:600}
.forecast-columns{font-size:14px}
.forecast-grid{min-height:72px;padding-block:15px}
.wind-summary{font-size:14px}
.section-note{font-size:13px}
.day-details dt,.day-details dd,.day-details p{font-size:13px}
.current-metrics dt{font-size:14px;line-height:1.35}
.current-metrics dd{font-size:20px}
.metric-note{font-size:12px}
.condition{font-size:24px}
.feels{font-size:15px}
.secondary-metrics{font-size:13px}
.weather-update{font-size:13px}
.communes-links a{font-size:15px;line-height:1.5;padding-block:11px}
.nearby-city{min-height:225px;padding:20px}
.nearby-weather{display:flex;align-items:center;gap:9px;margin-top:14px}
.nearby-weather .weather-icon{width:48px;height:48px}
.nearby-condition{font-size:14px;font-weight:600;line-height:1.4}
.nearby-temperatures{display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:10px;font-size:13px;color:var(--muted)}
.nearby-temperatures b{font-size:20px;color:#0089cb;margin-left:4px}
.nearby-temperatures>span+span b{color:#af7200}
.nearby-updated{font-size:11px;color:var(--muted);margin-top:9px}
.nearby-unavailable{font-size:13px;color:var(--muted);margin-top:20px}
.nearby-city-link{font-size:13px;margin-top:17px}

@media(min-width:851px) and (max-width:1150px){.day-date strong,.forecast-condition{font-size:13px}
.forecast-min,.forecast-max{font-size:17px}
.forecast-columns{font-size:12px}
.current-metrics dt{font-size:13px}
.nearby-city{padding:15px}
}

@media(max-width:600px){.communes-links a{font-size:14px}
.current-metrics dt{font-size:13px}
.current-metrics dd{font-size:18px}
.forecast-columns{font-size:11px}
.day-date strong,.forecast-condition{font-size:12px}
.forecast-min,.forecast-max{font-size:16px}
.forecast-grid{min-height:70px}
.nearby-city{padding:15px}
.nearby-condition{font-size:13px}
.nearby-temperatures b{font-size:18px}
.nearby-city-link{font-size:12px}
.weather-update{font-size:12px}
}


.forecast-today .forecast-max{font-size:21px}
@media(min-width:851px) and (max-width:1150px){.forecast-today .forecast-max{font-size:17px}
}
@media(max-width:600px){.forecast-today .forecast-max{font-size:16px}
}


/* v0.11 — Logos PNG transparents */
.brand-logo{display:block;width:278px;height:auto;max-width:100%}
.brand{flex-shrink:0}
.footer-logo{display:block;width:220px;height:auto;max-width:100%}
.footer-brand{display:inline-block;flex-shrink:0}
@media(max-width:1150px){.brand-logo{width:240px}
}
@media(max-width:480px){.brand-logo{width:220px}
.footer-logo{width:190px}
}


/* Photo du monument : occuper la partie droite pour garder la tour visible. */
.hero-panorama{left:auto;right:0;width:60%;object-position:left top}

/* v0.13 — Sept mesures lisibles : quatre puis trois sur écran large. */
.current-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}
.current-metrics>div{min-width:0}
.current-metrics .icon-visibility,.current-metrics .icon-pressure{color:#087f9c}
@media(min-width:851px) and (max-width:1150px){.current-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}}
@media(max-width:600px){.current-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}

/* v0.14 — Les sept mesures partagent une seule rangée sur desktop.
   Les petits écrans conservent deux colonnes pour éviter tout débordement. */
@media(min-width:601px){
  .current-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:18px}
  .current-metrics>div{padding-left:25px!important}
  .current-metrics .interface-icon{width:22px;height:22px}
  .current-metrics dt{font-size:12px;line-height:1.35}
  .current-metrics dd{font-size:17px;white-space:nowrap;letter-spacing:-.3px}
  .current-metrics .metric-note{font-size:10px;white-space:normal;letter-spacing:0}
}
@media(min-width:851px) and (max-width:1150px){
  .current-metrics{gap:8px}
  .current-metrics>div{padding-left:0!important;padding-top:25px}
  .current-metrics dt{font-size:11px}
  .current-metrics dd{font-size:15px}
}

/* Aligner les valeurs même lorsque le libellé du soleil occupe deux lignes. */
@media(min-width:601px){.current-metrics dt{min-height:33px}}

/* Langue du pilote : libellé compact et espacement de sécurité à droite. */
.site-header .language-label{margin-left:auto;margin-right:22px;flex-shrink:0;font-size:13px;font-weight:600}
