/* NS&S HF25 — shared module design and a compact voice player. */
:root{--nss-module-ink:#174b45;--nss-module-muted:#56756d;--nss-module-accent:#087b67;--nss-module-line:#c5ded5;--nss-player-height:64px}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress,.page-meal-plan) main{max-width:1180px!important;margin-inline:auto!important;color:var(--nss-module-ink)!important;font-size:16px!important;line-height:1.55!important;padding-inline:24px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main>h1{font-size:clamp(27px,3vw,38px)!important;font-weight:750!important;letter-spacing:-.025em!important;line-height:1.2!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px 0!important;margin:12px 0 22px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(.card,.programme-card){background:#ffffffed!important;border:1px solid var(--nss-module-line)!important;border-radius:20px!important;box-shadow:0 5px 24px #164f4510!important;backdrop-filter:none!important;padding:28px!important;margin-bottom:22px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main h2{font-size:clamp(23px,2.5vw,29px)!important;font-weight:730!important;letter-spacing:-.02em!important;line-height:1.25!important;margin:0 0 14px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main h3{font-size:19px!important;line-height:1.4!important;margin:16px 0 10px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main .eyebrow{font-size:12px!important;letter-spacing:.12em!important;color:var(--nss-module-accent)!important;font-weight:750!important;margin:0 0 10px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(.muted,small){color:var(--nss-module-muted)!important;line-height:1.5!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(.form-grid,.programme-fields){gap:22px!important;align-items:start!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main label{font-size:15px!important;font-weight:650!important;gap:8px!important;line-height:1.4!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main label small{font-size:13px!important;font-weight:400!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font:inherit!important;font-weight:450!important;background:#fbfdfb!important;border:1px solid #adcfc2!important;border-radius:10px!important;color:var(--nss-module-ink)!important;box-shadow:none!important;padding:12px 14px!important;min-height:48px!important;width:100%!important;max-width:100%!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(input,select,textarea):focus-visible{outline:3px solid #087b6733!important;outline-offset:2px!important;border-color:var(--nss-module-accent)!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(button,.button){font:inherit!important;font-weight:650!important;font-size:15px!important;line-height:1.35!important;min-height:46px!important;border:1px solid var(--nss-module-accent)!important;border-radius:11px!important;padding:12px 18px!important;background:var(--nss-module-accent)!important;color:white!important;box-shadow:none!important;animation:none!important;text-shadow:none!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(button.secondary,.button.secondary){background:#edf6f0!important;color:var(--nss-module-ink)!important;border-color:var(--nss-module-line)!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main button:disabled{opacity:.5!important;cursor:not-allowed!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main .journey-steps{gap:12px!important;background:transparent!important;margin:0 0 22px!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main .journey-steps a{background:#ffffffdc!important;border:1px solid var(--nss-module-line)!important;border-radius:12px!important;box-shadow:none!important;padding:14px!important;text-decoration:none!important}
body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main .journey-steps a.is-active{background:#dff2e7!important;border-color:#087b67!important}
.page-calculator main>.grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:24px!important;align-items:start!important}
.page-calculator .result-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.page-calculator .result-tile{background:#eff7f2!important;border:1px solid #d7e8de!important;border-radius:12px!important;padding:18px!important;box-shadow:none!important}
.page-calculator .result-tile b{font-size:clamp(22px,2.5vw,30px)!important;line-height:1.25!important;display:block!important;margin:6px 0!important}
.page-calculator .coefficient{background:transparent!important;border-bottom:1px solid var(--nss-module-line)!important;border-radius:0!important;padding:0 0 18px!important;margin:0 0 18px!important}
.nss-energy-fields{background:#f2f8f4!important;border:1px solid var(--nss-module-line)!important;border-radius:14px!important;padding:20px!important}
.nss-energy-result{background:#edf7f1!important;border:1px solid var(--nss-module-line)!important;border-radius:14px!important;padding:20px!important}
.nss-energy-result p{font-size:14px!important;line-height:1.55!important;margin:10px 0!important}
.page-programme .programme-shell{max-width:940px!important;margin:0 auto 30px!important;padding:0!important;background:none!important;box-shadow:none!important}
.page-programme .programme-card{overflow:visible!important}
.page-programme .programme-top{display:flex!important;align-items:center!important;gap:24px!important;border-bottom:1px solid var(--nss-module-line)!important;padding:0 0 20px!important;margin-bottom:28px!important;background:transparent!important}
.page-programme .programme-top>img{width:145px!important;max-height:64px!important;object-fit:contain!important;flex:none!important}
.page-programme .programme-progress-wrap{flex:1!important;min-width:0!important}
.page-programme .programme-progress-label{font-size:13px!important;font-weight:650!important;gap:12px!important}
.page-programme .programme-progress{height:8px!important;border-radius:8px!important;background:#e3eee7!important;box-shadow:none!important;margin:12px 0 0!important}
.page-programme .programme-progress>span:first-child{background:#087b67!important;border-radius:8px!important;box-shadow:none!important}
.page-programme .programme-progress-runner{display:none!important}
.page-programme .programme-step{padding:0!important;background:transparent!important}
.page-programme .programme-lead{font-size:17px!important;line-height:1.6!important;max-width:680px!important;color:var(--nss-module-muted)!important}
.page-programme .programme-options{gap:14px!important}
.page-programme .programme-option{border:1px solid var(--nss-module-line)!important;border-radius:13px!important;background:#f7fbf8!important;padding:20px!important;box-shadow:none!important}
.page-programme .programme-option:has(input:checked){background:#e1f2e8!important;border:2px solid #087b67!important;padding:19px!important}
.page-programme .programme-actions{gap:16px!important;margin:28px 0 0!important;padding-top:20px!important;border-top:1px solid var(--nss-module-line)!important}
.page-programme .programme-result-grid{gap:14px!important}.page-programme .programme-result-grid>div{background:#eff7f2!important;border:1px solid #d7e8de!important;border-radius:12px!important;padding:20px!important;box-shadow:none!important}
.page-measurements fieldset{border:1px solid var(--nss-module-line)!important;border-radius:14px!important;padding:20px!important;margin:22px 0!important}
.page-measurements legend{padding:0 9px!important;font-size:17px!important;font-weight:700!important}
.page-progress #energy-followup{background:linear-gradient(120deg,#e9f6ee,#ffffff)!important;border-left:4px solid #087b67!important}
.page-progress #energy-followup li{padding:4px 0!important;font-size:15px!important}.page-progress table th{font-size:13px!important;color:var(--nss-module-muted)!important;border-bottom:1px solid var(--nss-module-line)!important;padding:12px 8px!important}.page-progress table td{border-bottom:1px solid #e7eee9!important;font-size:14px!important}
/* Compact controls: reserve their space, including the safe area and existing mobile dock. */
.nss-has-voice-player #nses-accessibility-launcher{display:none!important}
.nss-has-voice-player{padding-bottom:calc(var(--nss-player-height) + 22px + env(safe-area-inset-bottom))!important}
#nss-voice-player{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:2147483000;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 20px);width:max-content;min-height:54px;padding:8px 12px;border:1px solid #94c4b3;border-radius:15px;background:#e7f5efed;color:#194e43;box-shadow:0 5px 22px #194e4329;backdrop-filter:blur(12px);font:14px/1.2 system-ui}
#nss-voice-player[hidden]{display:none!important}
#nss-voice-player button{display:flex;align-items:center;gap:6px;min-height:40px;padding:9px 12px;background:#fff9;color:#174b45;border:1px solid #b1d2c4;border-radius:9px;box-shadow:none;font:600 14px/1.2 system-ui;animation:none;white-space:nowrap}
#nss-voice-player button:focus-visible{outline:3px solid #087b6777;outline-offset:2px}
#nss-voice-player button[aria-pressed=true]{background:#c5e8d6;border-color:#087b67}
.nss-player-name{font-weight:700;padding-right:6px}.nss-player-state{font-size:12px;color:#486f61;max-width:125px}
#nss-voice-player.in-dialog{position:sticky;bottom:0;left:auto;transform:none;max-width:100%;margin:16px auto 0}
.nses-accessibility-panel:not([hidden]){z-index:2147483001!important;position:fixed!important;left:50%!important;top:auto!important;right:auto!important;bottom:calc(var(--nss-player-height) + 18px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(550px,calc(100vw - 24px))!important;max-height:min(72vh,600px)!important;overflow:auto!important;resize:none!important}
.nss-voice-family{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.nss-voice-family p,.nss-voice-family small{flex-basis:100%;margin:0}.nss-voice-family button{border:1px solid #9ccab6;background:#e7f5ec;padding:10px 14px;border-radius:10px;color:#174b45;font:inherit}
@media(max-width:980px){
 .nss-has-voice-player:has(.mobile-dock,.mobile-bottom-nav){padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
 body:has(.mobile-dock,.mobile-bottom-nav)>#nss-voice-player{bottom:calc(82px + env(safe-area-inset-bottom))}
 body:has(.mobile-dock,.mobile-bottom-nav)>.nses-accessibility-panel:not([hidden]){bottom:calc(145px + env(safe-area-inset-bottom))!important}
 .nss-action-embedded body{padding-bottom:76px!important}
}
@media(max-width:650px){
 body:is(.page-calculator,.page-programme,.page-measurements,.page-progress,.page-meal-plan) main{padding-inline:14px!important}
 body:is(.page-calculator,.page-programme,.page-measurements,.page-progress) main :is(.card,.programme-card){padding:20px!important;border-radius:16px!important}
 .page-calculator main>.grid{grid-template-columns:1fr!important}
 .page-programme .programme-top{gap:12px!important;align-items:flex-start!important}.page-programme .programme-top>img{width:92px!important;max-height:48px!important}.page-programme .programme-progress-label{flex-direction:column!important;gap:4px!important}
 #nss-voice-player{gap:5px;padding:7px 8px;width:calc(100vw - 20px);justify-content:center}
 #nss-voice-player button{padding:9px 8px;font-size:12px;min-height:42px}.nss-player-name,.nss-player-state{display:none}
 .nss-menu-period{display:grid!important;grid-template-columns:1fr!important}
}
.nss-menu-period{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0 22px;padding:18px;border:1px solid var(--nss-module-line);border-radius:14px;background:#eef7f1}
.nss-menu-period label{display:flex;flex-direction:column;gap:7px}.nss-menu-period select{padding:10px;border-radius:9px;border:1px solid #a7cbbb;background:white;font:inherit;color:#174b45}.nss-menu-period fieldset{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}.nss-menu-period fieldset label{display:flex;flex-direction:row;align-items:center;padding:9px 10px;background:#fff;border-radius:8px;border:1px solid #c5ded5}.nss-menu-period input[type=checkbox]{width:18px;height:18px;accent-color:#087b67}
.nss-menu-date{display:block;font-size:13px;color:#56756d;margin-top:5px}
.nss-official-recipes{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border:1px solid #b8d9c7;background:#eff8f1;border-radius:14px;padding:18px;margin:18px 0}.nss-official-recipes p{flex:1;min-width:180px;margin:0}.nss-official-recipes a{color:#087b67}
@media print{#nss-voice-player,.nses-accessibility-panel{display:none!important}.nss-has-voice-player{padding-bottom:0!important}}
.nss-menu-period [hidden],.nss-menu-period fieldset[hidden],#menus-actifs .day-card[hidden],#menus-actifs .week-heading[hidden]{display:none!important}#menus-actifs .day-card:not([hidden]){display:block!important}

.nss-user-guide{max-width:1080px;margin:auto;font-size:16px;line-height:1.65}.nss-user-guide section,.nss-user-guide header{background:#fffffff0;border:1px solid #c5ded5;border-radius:18px;padding:26px;margin-bottom:24px}.nss-user-guide .table-wrap{overflow-x:auto}.nss-user-guide table{width:100%;border-collapse:collapse;font-size:14px}.nss-user-guide th,.nss-user-guide td{padding:12px;border-bottom:1px solid #dce8df;text-align:left;vertical-align:top;min-width:150px}.nss-user-guide h2{font-size:25px}.nss-user-guide li{margin-bottom:8px}
/* Embedded actions have their own player and no visible mobile dock. */
.nss-action-embedded body>#nss-voice-player{bottom:calc(10px + env(safe-area-inset-bottom))!important}
.nss-action-embedded #nses-accessibility-panel{bottom:calc(78px + env(safe-area-inset-bottom))!important}
.nss-recipe-figure{margin:18px 0;border-radius:18px;overflow:hidden;background:#e1f3ed}
.nss-recipe-figure img{width:100%;height:230px;object-fit:contain;display:block}
.nss-recipe-figure figcaption{padding:8px 14px;font-size:13px;color:#456b62}
#recipe-detail-source a{font-size:13px;color:#176b60}
.recipe-hub-dialog [hidden]{display:none!important}
#recipe-library-filters{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;padding:16px;background:#eef7f1;border-radius:14px}
#recipe-library-filters label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:190px}
#recipe-library-filters :is(select,input){font:inherit;color:#174b45;padding:12px;border:1px solid #bedbd2;border-radius:9px;background:white;width:100%;box-sizing:border-box}

/* The recipe scroll area stops above its controls instead of passing behind them. */
#recipe-hub-dialog[open]{display:flex!important;flex-direction:column;overflow:hidden!important}
#recipe-hub-dialog>#recipe-hub-list-view,#recipe-hub-dialog>#recipe-hub-detail-view{flex:1;min-height:0;overflow:auto;padding:12px 4px;overscroll-behavior:contain}
#recipe-hub-dialog>.dialog-actions{flex:none;margin:8px 0}
#recipe-hub-dialog>#nss-voice-player.in-dialog{position:static!important;flex:none;align-self:center;margin:8px auto 0;box-sizing:border-box;width:max-content;max-width:100%;transform:none!important}
@media(max-width:980px){.page-calculator main>.grid{grid-template-columns:1fr!important}}

/* HF25: settings follow document flow, including the expanded voice list. */
#nses-accessibility-panel{box-sizing:border-box!important;padding:14px!important;background:#effaf6!important;max-height:min(600px,calc(100dvh - 170px))!important}
#nses-accessibility-panel .nses-accessibility-inner{display:block!important;padding:0!important;min-width:0!important}
#nses-accessibility-panel .nses-accessibility-heading{min-height:40px!important;padding:0 82px 12px 0!important;border-right:0!important;border-bottom:1px solid #c4dfd6!important;cursor:default!important;touch-action:auto!important}
#nses-accessibility-panel .nses-accessibility-heading small,#nses-accessibility-panel .nses-drag-dots{display:none!important}
#nses-accessibility-panel .nses-panel-actions{position:absolute!important;top:12px!important;right:12px!important;display:flex!important;gap:8px!important}
#nses-accessibility-panel .nses-accessibility-controls{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important;align-items:stretch!important}
#nses-accessibility-panel .nses-accessibility-controls>*{position:relative!important;width:auto!important;max-width:none!important;height:auto!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;transform:none!important}
#nses-accessibility-panel .nses-accessibility-controls button{font-size:13px!important;min-height:42px!important;padding:8px!important;line-height:1.3!important;background:#e1f3eb!important;background-image:none!important;box-shadow:none!important;white-space:normal!important;border-radius:12px!important;color:#174b45!important}
#nses-accessibility-panel .nses-accessibility-controls button::before,#nses-accessibility-panel .nses-accessibility-controls button::after{display:none!important}
#nses-accessibility-panel .nses-command-control,#nses-accessibility-panel .nses-accessibility-toggle{grid-column:span 2!important;font-size:12px!important;padding:10px!important;white-space:normal!important}
#nses-accessibility-panel .nss-voice-family,#nses-accessibility-panel .nses-accessibility-select-wrap,#nses-accessibility-panel .nses-accessibility-speed,#nses-accessibility-panel .nses-guide-inline{grid-column:1/-1!important}
#nses-accessibility-panel .nss-voice-family{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#nses-accessibility-panel .nss-voice-family p,#nses-accessibility-panel .nss-voice-family small{grid-column:1/-1!important;margin:0!important;font-size:13px!important;line-height:1.45!important}
#nses-accessibility-panel .nses-accessibility-select-wrap,#nses-accessibility-panel .nses-accessibility-speed{display:grid!important;gap:8px!important;padding:10px!important}
#nses-accessibility-panel .nses-control-label,#nses-accessibility-panel .nses-accessibility-speed>label{font-size:12px!important;line-height:1.3!important}
#nses-accessibility-panel .nses-voice-picker{min-width:0!important;width:100%!important}
#nses-accessibility-panel .nses-voice-button{width:100%!important;max-width:none!important;display:flex!important;justify-content:space-between!important}
#nses-accessibility-panel .nses-voice-menu:not([hidden]){position:static!important;box-sizing:border-box!important;width:100%!important;max-height:160px!important;margin-top:6px!important}
#nses-accessibility-panel .nses-speed-line{display:flex!important;gap:12px!important;align-items:center!important}
#nses-accessibility-panel #nses-voice-speed{flex:1!important;width:100%!important;min-width:0!important;margin:0!important}
#nses-accessibility-panel .nses-accessibility-status{position:static!important;margin:12px 0 0!important;font-size:12px!important;line-height:1.4!important;text-align:left!important}
#nss-voice-player button{min-width:0!important;max-width:none!important;min-height:40px!important;font-size:14px!important;padding:8px 10px!important;background-image:none!important;transform:none!important}

#price-results-dialog[open]{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#price-results-dialog>#price-local-results{flex:1!important;min-height:0!important;overflow:auto!important;padding:8px 4px!important;overscroll-behavior:contain}
#price-results-dialog>.dialog-actions{flex:none!important;margin:8px 0!important}
#price-results-dialog>#nss-voice-player.in-dialog{position:static!important;flex:none!important;align-self:center!important;margin:8px auto 0!important;max-width:100%!important;transform:none!important;box-sizing:border-box!important}
.price-budget-method{font-size:14px;line-height:1.6;padding:14px;background:#eff7f2;border-radius:12px}.price-budget-method summary{cursor:pointer;font-weight:700}

#nses-accessibility-panel #nss-save-voice-settings,#nses-accessibility-panel #nss-voice-saved{grid-column:1/-1!important}
#nses-accessibility-panel #nss-voice-saved{font-size:12px!important;line-height:1.4!important;padding:6px 0!important;color:#246052!important}
#nses-accessibility-panel .nss-voice-family button[aria-pressed=true]{background:#087b67!important;color:white!important;border:2px solid #055747!important;box-shadow:inset 0 3px 6px #003f3b44!important;font-weight:750!important}
#nses-accessibility-panel #nss-save-voice-settings{background:#087b67!important;color:white!important;font-weight:700!important}

.nses-popup-managed{touch-action:pan-y!important;overscroll-behavior:contain!important}
.nses-popup-managed .nses-popup-move,.nses-popup-managed .nses-popup-resize-handle{touch-action:none!important}
#nses-voice-help .nses-voice-help-card{box-sizing:border-box!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;padding-bottom:32px!important}

/* Tous les pop-up : fermeture à gauche, déplacement/réduction à droite. */
.nses-popup-managed:not(.nss-action-dialog){padding-top:64px!important}
.nses-popup-managed .nses-popup-toolbar{position:absolute!important;top:10px!important;right:12px!important;left:auto!important;max-width:140px!important;display:flex!important;gap:6px!important}
.nses-popup-managed>.dialog-x,.nses-popup-managed>.nses-help-close,.nss-action-dialog>header>.dialog-x{position:absolute!important;left:12px!important;right:auto!important;top:10px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:24px!important}
.nss-action-dialog>header{padding:12px 154px 12px 60px!important;min-height:52px!important;box-sizing:border-box!important}
.nses-popup-managed>.eyebrow,.nses-popup-managed>h2{padding-right:0!important;max-width:100%!important}

#nss-voice-player.in-dialog{width:min(450px,100%)!important;flex-wrap:wrap!important;box-sizing:border-box!important}
#nss-voice-player.in-dialog .nss-player-name,#nss-voice-player.in-dialog .nss-player-state{display:none!important}
#nss-voice-player.in-dialog button{flex:1 0 64px!important;white-space:nowrap!important;font-size:13px!important;padding:8px 6px!important}
/* Les résultats défilent en bloc : les accordéons ne doivent pas être comprimés par flex. */
#price-local-results{display:block!important}
#price-local-results>.price-detail-accordion{height:auto!important;min-height:64px!important;overflow:visible!important;flex-shrink:0!important}

.nss-menu-save-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.price-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#nss-menu-record-dialog{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)!important;width:min(900px,calc(100vw - 24px))!important}#nss-menu-record-dialog:not([open]){display:none!important}#nss-menu-record-dialog>.nss-record-body{overflow-y:auto!important;min-height:0;flex:1;touch-action:pan-y;line-height:1.65}#nss-menu-record-dialog>.dialog-actions{flex:none;display:flex;gap:8px;flex-wrap:wrap}.nss-record-entry{display:grid;width:100%;text-align:left;margin-bottom:10px;padding:14px}.nss-record-entry span{font-size:13px}

.nss-price-region-control{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.nss-price-region-control select{max-width:100%;min-width:210px}

/* Une lecture verticale claire par aliment : aucun prix tassé dans une colonne. */
.price-result-row{display:block!important;grid-template-columns:none!important;padding:18px!important;overflow-wrap:anywhere!important}
.price-result-product{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;max-width:none!important;margin-bottom:12px!important}
.price-result-product>strong{font-size:19px!important;line-height:1.4!important;flex:1!important}.price-result-product>small{font-size:13px!important;text-align:right!important;max-width:50%!important}
.price-result-offer{display:flex!important;flex-direction:column!important;align-items:center!important;gap:7px!important;width:100%!important;max-width:none!important;text-align:center!important;padding:10px 0!important}
.price-result-offer>strong{font-size:23px!important;line-height:1.35!important;max-width:100%!important}.price-result-offer>small{font-size:13px!important;line-height:1.6!important;max-width:740px!important}.price-result-missing{text-align:center!important}.price-result-actions{justify-content:center!important;flex-wrap:wrap!important}
@media(max-width:650px){.price-result-row{padding:14px!important}.price-result-product{align-items:flex-start!important}.price-result-product>strong{font-size:17px!important}.price-result-offer>strong{font-size:20px!important}.price-result-product>small{font-size:11px!important}}

/* HF26 : barre compacte et typographie mobile commune au site et à la PWA. */
html body #nss-voice-player{box-sizing:border-box!important;min-height:0!important;height:auto!important;padding:4px 6px!important;gap:5px!important;border-radius:11px!important;flex-wrap:nowrap!important}
html body #nss-voice-player button{min-height:32px!important;height:32px!important;font-size:12px!important;line-height:1.2!important;padding:4px 7px!important;border-radius:8px!important}
html body #nss-voice-player.in-dialog{width:min(400px,100%)!important;margin-top:4px!important}
html body #nss-voice-player.in-dialog button{flex:1 1 64px!important}
@media(max-width:680px){
 html body{font-size:14px!important;line-height:1.45!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 html body main,html body dialog,html body .nss-action-dialog{font-size:14px!important;line-height:1.45!important}
 html body main :is(p,li,td,th,label,summary),html body dialog :is(p,li,td,th,label,summary){font-size:14px!important;line-height:1.5!important}
 html body main h1{font-size:clamp(22px,6vw,28px)!important;line-height:1.2!important;margin-block:12px!important}
 html body main h2,html body dialog h2{font-size:21px!important;line-height:1.3!important;margin-block:10px!important}
 html body main h3,html body dialog h3{font-size:17px!important;line-height:1.35!important}
 html body main small,html body dialog small{font-size:12px!important;line-height:1.45!important}
 html body main :is(.btn,button),html body dialog :is(.btn,button){font-size:13px!important;line-height:1.3!important;min-height:36px!important;padding:7px 10px!important;white-space:normal!important}
 html body main :is(input,select,textarea),html body dialog :is(input,select,textarea){font-size:16px!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 html body main :is(.card,.panel,.day-card),html body dialog .card{padding:14px!important}
 html body main .meal-summary{padding:12px!important;gap:8px!important}
 html body main .meal-name{font-size:15px!important;line-height:1.4!important}
 html body main .meal-kcal{font-size:13px!important;white-space:nowrap!important}
 html body main .eyebrow,html body dialog .eyebrow{font-size:11px!important;letter-spacing:.08em!important}
 html body dialog{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow-wrap:anywhere}
 html body .nss-user-guide section,html body .nss-user-guide header{padding:16px!important}
 html body .price-result-product>strong{font-size:16px!important;line-height:1.4!important}
 html body .price-result-offer>strong{font-size:19px!important;line-height:1.3!important}
 html body #nss-menu-record-dialog>.nss-record-body{line-height:1.5!important}
 html body #nss-voice-player,html body #nss-voice-player.in-dialog{padding:3px 4px!important;gap:4px!important;width:min(360px,calc(100vw - 20px))!important;flex-wrap:nowrap!important}
 html body #nss-voice-player button,html body #nss-voice-player.in-dialog button{min-height:30px!important;height:30px!important;font-size:12px!important;line-height:1.2!important;padding:3px 5px!important;flex:1 1 60px!important;white-space:nowrap!important}
 html body #nss-voice-player .nss-player-name,html body #nss-voice-player .nss-player-state{display:none!important}
}

@media(max-width:680px){
 html body[class] main h1,html body[class] .nss-action-dialog h1{font-size:clamp(22px,6vw,28px)!important;line-height:1.2!important}
 html body[class] #price-results-dialog .price-total>strong{font-size:23px!important;line-height:1.3!important}
 html body[class] #price-results-dialog .price-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body[class] #price-results-dialog .price-summary-grid>*{grid-column:auto!important;padding:12px!important}
 html body[class] #price-results-dialog .dialog-actions{gap:6px!important;margin:5px 0!important}
 html body[class] #price-results-dialog .dialog-actions button{font-size:12px!important;min-height:32px!important;padding:6px 8px!important}
}

#nss-menu-record-dialog [hidden]{display:none!important}

/* HF27 : photographies et fiches culinaires complètes */
.nss-recipe-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.nss-recipe-gallery figure{margin:0;min-width:0;background:#eef8f4;border:1px solid #c4e2da;border-radius:16px;overflow:hidden}.nss-recipe-gallery img{display:block;width:100%;height:200px;object-fit:cover}.nss-recipe-gallery figcaption{padding:9px 12px;font-size:12px;line-height:1.45}.nss-recipe-gallery a{color:#09655a;text-decoration:underline}#recipe-detail-equipment,#recipe-detail-note{font-size:14px;line-height:1.6}#recipe-detail-steps li{line-height:1.65;margin-bottom:14px}@media(max-width:640px){.nss-recipe-gallery{gap:8px}.nss-recipe-gallery img{height:130px}.nss-recipe-gallery figcaption{padding:7px;font-size:10px}#recipe-detail-equipment,#recipe-detail-note{font-size:12px}#recipe-detail-steps li{font-size:14px}}

@media(min-width:641px){.nss-recipe-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.nss-recipe-gallery img{height:145px}}
