/* Page Mon foyer : variables visuelles modifiables en un seul endroit. */
.kitupgo-household {
	--kitupgo-household-ink: #17191b;
	--kitupgo-household-muted: #667085;
	--kitupgo-household-line: #d7deea;
	--kitupgo-household-primary: #526a6d;
	--kitupgo-household-primary-hover: #344d50;
	--kitupgo-household-surface: #fff;
	--kitupgo-household-radius: 9px;
	width: 100%;
	color: var(--kitupgo-household-ink);
}
.kitupgo-household__header { margin-bottom: 28px; }
.kitupgo-household .kitupgo-household__header h2 { margin: 0 0 6px; font-size: clamp(28px, 3vw, 32px); font-weight: 700; line-height: 1.15; }
.kitupgo-household__header p { margin: 0; color: var(--kitupgo-household-muted); }
.kitupgo-household__notice { margin: 0 0 18px; padding: 11px 14px; border-radius: 8px; background: #e6f1ed; color: #263f42; font-weight: 700; }
.kitupgo-household__form { margin: 0; }
.kitupgo-household__groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.kitupgo-household__group { min-width: 0; padding: 16px; border: 1px solid var(--kitupgo-household-line); border-radius: 12px; background: var(--kitupgo-household-surface); box-shadow: 0 4px 14px rgba(23,25,27,.06); }
.kitupgo-household__group > header { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; padding-bottom: 12px; border-bottom: 1px solid #dfe5e3; }
.kitupgo-household__group-title { display: inline-flex; min-width: 0; align-items: center; gap: 10px; }
.kitupgo-household__group-icon { display: inline-flex; flex: 0 0 40px; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: #e6f1ed; color: #263f3d; font-weight: 800; }
.kitupgo-household__group h3 { margin: 0; font-size: 17px; }
.kitupgo-household .kitupgo-household__add { appearance: none; padding: 8px 10px; border: 0 !important; border-radius: 7px; background: transparent !important; color: #17191b !important; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.kitupgo-household .kitupgo-household__add:hover,.kitupgo-household .kitupgo-household__add:focus-visible { background: #eef1f1 !important; color: #17191b !important; outline: none; }

/* Une fiche horizontale ouvre directement son panneau latéral. */
.kitupgo-household__grid { display: grid; gap: 9px; }
.kitupgo-household .kitupgo-household-card { appearance: none; display: grid; width: 100%; min-width: 0; grid-template-columns: 42px minmax(0,1fr) auto 22px; gap: 11px; align-items: center; padding: 11px 12px; border: 1px solid #dfe6e4 !important; border-radius: var(--kitupgo-household-radius); background: #fff !important; color: var(--kitupgo-household-ink) !important; text-align: left; box-shadow: none; cursor: pointer; }
.kitupgo-household .kitupgo-household-card:hover,.kitupgo-household .kitupgo-household-card:focus-visible { border-color: #aebcb8 !important; background: #f5f7f7 !important; color: var(--kitupgo-household-ink) !important; outline: none; }
.kitupgo-household-card__avatar { display: inline-flex; flex: 0 0 42px; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: #dcebe6; color: #263f3d; font-size: 15px; font-weight: 700; }
.kitupgo-household-card__body { display: grid; min-width: 0; gap: 2px; }
.kitupgo-household-card__body strong { overflow-wrap: anywhere; color: #17191b; font-size: 15px; }
.kitupgo-household-card__body span { color: var(--kitupgo-household-muted); font-size: 12px; }
.kitupgo-household-card__progress { display: inline-flex; flex: 0 0 auto; min-height: 22px; align-items: center; padding: 3px 8px; border-radius: 999px; background: #eef4f2; color: #45625c; font-size: 11px; font-weight: 700; line-height: 1; white-space: nowrap; }
.kitupgo-household-card__progress.is-complete { background: #e6f1ed; color: #315f50; }
.kitupgo-household-card__chevron { color: #17191b; font-size: 28px; font-weight: 300; line-height: 1; }

/* Boutons standards : protection necessaire contre les styles du theme. */
.kitupgo-household .kitupgo-household-button { appearance: none; min-height: 36px; padding: 7px 12px; border: 1px solid var(--kitupgo-household-primary) !important; border-radius: var(--kitupgo-household-radius) !important; background: var(--kitupgo-household-primary) !important; background-image: none !important; color: #fff !important; font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none; opacity: 1 !important; cursor: pointer; }
.kitupgo-household .kitupgo-household-button:hover,.kitupgo-household .kitupgo-household-button:focus,.kitupgo-household .kitupgo-household-button:active { border-color: var(--kitupgo-household-primary-hover) !important; border-radius: var(--kitupgo-household-radius) !important; background: var(--kitupgo-household-primary-hover) !important; color: #fff !important; }
.kitupgo-household-inactive { margin-top: 28px; padding: 16px; border: 1px solid var(--kitupgo-household-line); border-radius: 12px; background: var(--kitupgo-household-surface); box-shadow: 0 4px 14px rgba(23,25,27,.06); }
.kitupgo-household-inactive summary { display: flex; gap: 8px; align-items: center; font-weight: 700; cursor: pointer; }
.kitupgo-household-inactive__list { display: grid; gap: 9px; margin-top: 14px; }
.kitupgo-household-inactive__item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; border-radius: 8px; background: #fff; }
.kitupgo-household-inactive__item > span { display: grid; gap: 2px; }
.kitupgo-household-inactive__item small { color: #667085; }
.kitupgo-household-inactive__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
body.kitupgo-is-saving .kitupgo-household button:focus,body.kitupgo-is-saving .kitupgo-household button:active { background-color: #344d50 !important; color: #fff !important; }

/* Petite fenetre de confirmation pour retirer une fiche. */
.kitupgo-household-modal[hidden] { display: none !important; }
.kitupgo-household-modal { position: fixed; z-index: 100030; inset: 0; display: grid; place-items: center; padding: 20px; }
.kitupgo-household-modal__backdrop { position: absolute; inset: 0; background: rgba(23,25,27,.58); }
.kitupgo-household-modal__dialog { position: relative; z-index: 1; width: min(460px, 100%); padding: 28px; border-radius: 14px; background: #fff; box-shadow: 0 20px 60px rgba(23,25,27,.25); }
.kitupgo-household-modal__dialog h2 { margin: 0 42px 12px 0; font-size: 24px; }
.kitupgo-household-modal__dialog > p { margin: 0 0 10px; }
.kitupgo-household-modal__dialog > [data-kitupgo-household-modal-name] { font-size: 18px; font-weight: 700; }
.kitupgo-household-modal__message { color: #556267; line-height: 1.5; }
.kitupgo-household-modal__close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; padding: 0; border: 0 !important; border-radius: 50%; background: #eef1f1 !important; color: #17191b !important; font-size: 22px; }
.kitupgo-household-modal__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
body.kitupgo-household-modal-open { overflow: hidden !important; }

/* Renseignements repliables d'une fiche. */
.kitupgo-household-info { margin: 0; }
.kitupgo-household-info > summary { position: absolute; top: 16px; right: 12px; z-index: 2; display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; padding: 0; border: 1px solid #cbd8d4; border-radius: 50%; background: #f5f8f7; color: #344d50; cursor: pointer; list-style: none; }
.kitupgo-household-info > summary::-webkit-details-marker { display: none; }
.kitupgo-household-info > summary:hover,.kitupgo-household-info > summary:focus-visible { border-color: #8eaaa1; background: #eaf4f0; outline: none; }
.kitupgo-household-info > summary span::before { content: '+'; display: block; font-size: 21px; font-weight: 400; line-height: 1; }
.kitupgo-household-info[open] > summary { border-color: #8eaaa1; background: #eaf4f0; }
.kitupgo-household-info[open] > summary span::before { content: '\2212'; }
.kitupgo-household-info__groups { display: grid; gap: 14px; margin-top: 12px; padding: 12px 0 0 53px; border-top: 1px solid #e4e9e7; }
.kitupgo-household-info__empty { margin: 0; color: #607079; }
.kitupgo-household-info__footer { display: flex; justify-content: flex-end; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e4e9e7; }
.kitupgo-household .kitupgo-household-button--danger { margin: 0; border-color: #d7aaaa !important; background: #fff !important; color: #963838 !important; }
.kitupgo-household .kitupgo-household-button--danger:hover,.kitupgo-household .kitupgo-household-button--danger:focus-visible { border-color: #b86464 !important; background: #fff5f5 !important; color: #7f2525 !important; }
.kitupgo-household-info__group h4 { margin: 0 0 9px; padding-bottom: 8px; border-bottom: 1px solid #dfe5e8; color: #344d50; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.kitupgo-household-info__list { display: grid; gap: 7px; }
.kitupgo-household .kitupgo-household-question { display: grid; grid-template-columns: minmax(150px,1fr) minmax(240px,auto); gap: 10px 16px; align-items: center; padding: 11px 12px; border: 1px solid #dfe5e8; border-radius: 9px; background: #fff; color: #17191b; }
.kitupgo-household-question__choices { display: grid; grid-template-columns: repeat(3,minmax(68px,auto)); gap: 7px; }
.kitupgo-household .kitupgo-household-question__choice { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 5px 9px; border: 1px solid #d6dde0 !important; border-radius: 7px !important; background: #fff !important; color: #344d50 !important; font-size: 11px; font-weight: 600; cursor: pointer; }
.kitupgo-household .kitupgo-household-question__choice:hover,.kitupgo-household .kitupgo-household-question__choice:focus-within { border-color: #8d999d !important; background: #f3f5f5 !important; color: #17191b !important; }
.kitupgo-household .kitupgo-household-question__choice.is-selected { border-color: #526a6d !important; background: #e8efed !important; color: #17191b !important; box-shadow: inset 0 0 0 1px #526a6d; }
.kitupgo-household .kitupgo-household-question__choice.is-selected::before { content: none; }
.kitupgo-household .kitupgo-household-question__advice { grid-column: 1 / -1; width: auto; min-height: 0; height: auto; margin: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #52636a !important; font-size: 12px; line-height: 1.4; }
.kitupgo-household .kitupgo-household-question__advice:hover,.kitupgo-household .kitupgo-household-question__advice:focus { border-radius: 0 !important; background: transparent !important; color: #263f42 !important; }
.kitupgo-household-question__status { min-height: 16px; margin: -4px 0 0; color: #3c6b5c; font-size: 11px; font-weight: 600; }

/* Adaptations tablette et mobile. */
@media (max-width: 900px) { .kitupgo-household__groups { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .kitupgo-household__group { padding: 14px; } .kitupgo-household-card__avatar { flex-basis: 38px; width: 38px; height: 38px; } .kitupgo-household .kitupgo-household-card { grid-template-columns: 38px minmax(0,1fr) 22px; } .kitupgo-household-card__progress { grid-column: 2; justify-self: start; } .kitupgo-household-card__chevron { grid-column: 3; grid-row: 1 / span 2; } .kitupgo-household-info__groups { padding-left: 0; } .kitupgo-household-question__choices { grid-template-columns: 1fr; } .kitupgo-household-modal { padding: 14px; } .kitupgo-household-modal__dialog { padding: 22px; } .kitupgo-household-modal__actions { display: grid; grid-template-columns: 1fr 1fr; } }

/* L'éditeur réutilise le composant partagé des panneaux latéraux. */
.kitupgo-household-profile-panel__heading { display: grid; gap: 2px; }
.kitupgo-household-profile-panel__heading small { color: #667085; font-size: 12px; font-weight: 400; }
.kitupgo-household-profile-panel__header-actions { display: flex; align-items: center; gap: 10px; }
.kitupgo-household-profile-panel .kitupgo-household-profile-panel__edit-toggle { min-height: 36px; padding: 7px 11px; border: 1px solid #cfd5dc !important; border-radius: 8px !important; background: #fff !important; color: #17191b !important; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.kitupgo-household-profile-panel__body { display: grid; align-content: start; gap: 20px; }
.kitupgo-household-profile-panel__identity-edit { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px 48px 14px 14px; border: 1px solid #dfe5e8; border-radius: 10px; background: #fafbfb; }
.kitupgo-household-profile-panel__identity-edit[hidden] { display: none !important; }
.kitupgo-household-profile-panel .kitupgo-household-profile-panel__identity-close { position: absolute; top: 10px; right: 10px; display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; padding: 0; border: 1px solid #d6dde0 !important; border-radius: 999px !important; background: #fff !important; color: #17191b !important; font-size: 22px; line-height: 1; cursor: pointer; }
.kitupgo-household-profile-panel__name { display: grid; gap: 6px; font-weight: 700; }
.kitupgo-household-profile-panel__name input { width: 100%; min-height: 38px; padding: 7px 10px; border: 1px solid #b9c3c8; border-radius: 8px; background: #fff; color: #17191b; }
.kitupgo-household-profile-panel .kitupgo-household-info__groups { margin: 0; padding: 0; border: 0; }
.kitupgo-household-question__choice { position: relative; }
.kitupgo-household-question__choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.kitupgo-household-question__choice span { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 34px; }
.kitupgo-household-question__advice { margin-top: 2px; color: #52636a; font-size: 12px; }
.kitupgo-household-question__advice summary { display: flex; align-items: center; justify-content: space-between; padding-top: 7px; border-top: 1px solid #edf0f1; font-weight: 700; cursor: pointer; list-style: none; }
.kitupgo-household-question__advice summary::-webkit-details-marker { display: none; }
.kitupgo-household-question__advice summary::after { content: '⌄'; color: #17191b; font-size: 17px; line-height: 1; }
.kitupgo-household-question__advice[open] summary::after { content: '⌃'; }
.kitupgo-household-question__advice-content { margin-top: 8px; padding: 9px 10px; border-radius: 7px; background: #f5f7f7; line-height: 1.5; }
.kitupgo-household-profile-panel__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kitupgo-household-profile-panel__footer > div { display: flex; gap: 10px; margin-left: auto; }
.kitupgo-household .kitupgo-household-button--cancel { border-color: #d8e0e2 !important; background: #f2f5f5 !important; color: #17191b !important; }
.kitupgo-household-profile-panel__footer > div .kitupgo-household-button:last-child { border-color: #17191b !important; background: #17191b !important; color: #fff !important; }
@media (max-width:600px) { .kitupgo-household .kitupgo-household-question { grid-template-columns: 1fr; } .kitupgo-household-question__choices { grid-template-columns: repeat(3,minmax(0,1fr)); } .kitupgo-household-profile-panel__footer { align-items: stretch; flex-direction: column; } .kitupgo-household-profile-panel__footer > div { width: 100%; margin: 0; } .kitupgo-household-profile-panel__footer button { flex: 1; } }

/* Variante compacte du panneau partagé, utilisée dans les espaces étroits. */
.kitupgo-household-profile-panel--compact .kitupgo-household-info__groups{display:grid;gap:24px;margin:0;padding:0;border:0}
.kitupgo-household-profile-panel--compact .kitupgo-household-info__group{display:grid;gap:9px}
.kitupgo-household-profile-panel--compact .kitupgo-household-info__group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kitupgo-household-profile-panel--compact .kitupgo-household-info__group-header h4{margin:0;color:#17191b;font-size:13px;text-transform:uppercase}
.kitupgo-household-profile-panel--compact .kitupgo-household-info__group-header span{color:#667085;font-size:12px}
.kitupgo-household-profile-panel--compact .kitupgo-household-info__list{overflow:hidden;border:1px solid #dfe5e8;border-radius:10px;background:#fff}
.kitupgo-household-profile-panel--compact .kitupgo-household-question{display:block;padding:0;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;background:#fff}
.kitupgo-household-profile-panel--compact .kitupgo-household-question:last-child{border-bottom:0}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__summary{appearance:none;display:grid!important;width:100%;min-height:60px;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:8px 12px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#17191b!important;box-shadow:none!important;text-align:left;cursor:pointer}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:999px;background:#f3f4f4;font-size:15px;font-weight:700}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__icon img{display:block;width:24px;height:24px;object-fit:contain}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__summary>strong{min-width:0;font-size:13px;line-height:1.3}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__response{min-width:92px;padding:5px 10px;border-radius:999px;background:#f0f1f2;color:#4b5563;font-size:11px;text-align:center}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__chevron{font-size:20px;line-height:1;transition:transform .16s ease}
.kitupgo-household-profile-panel--compact .kitupgo-household-question.is-open .kitupgo-household-question__chevron{transform:rotate(90deg)}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__editor{display:grid;gap:11px;padding:4px 62px 14px;background:#fafbfb}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__editor[hidden]{display:none!important}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__choice{position:relative;display:inline-flex;min-height:24px;align-items:center;gap:6px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:#17191b!important;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none!important}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__choice input{position:static;width:16px;height:16px;margin:0;opacity:1;pointer-events:auto;accent-color:#111}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__choice span{display:inline;min-height:0;width:auto}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__choice.is-selected{border:0!important;background:transparent!important;box-shadow:none!important}
.kitupgo-household-profile-panel--compact .kitupgo-household-question__advice{grid-column:auto;margin:0;color:#52636a;font-size:12px}
.kitupgo-household-profile-panel .kitupgo-household-button,.kitupgo-household-modal .kitupgo-household-button{appearance:none;min-height:36px;padding:7px 12px;border:1px solid #17191b!important;border-radius:9px!important;background:#fff!important;background-image:none!important;color:#17191b!important;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.kitupgo-household-profile-panel__footer>div .kitupgo-household-button:last-child,.kitupgo-household-modal__actions .kitupgo-household-button:last-child{background:#17191b!important;color:#fff!important}
.kitupgo-household-profile-panel .kitupgo-household-button--danger{border-color:#b86464!important;color:#7f2525!important}

/* Affichage central de la variante compacte du panneau partage. */
.kitupgo-household-profile-panel--compact{top:50%;right:auto;bottom:auto;left:50%;width:min(720px,calc(100vw - 40px));height:min(820px,calc(100vh - 40px));border:1px solid #cfd5dc;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.28);opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity var(--kitupgo-panel-speed) ease,transform var(--kitupgo-panel-speed) ease}
.kitupgo-household-profile-panel--compact.is-open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.kitupgo-household-profile-panel--compact .kitupgo-card-panel-inner{height:100%}
@media(max-width:767px){.kitupgo-household-profile-panel--compact{top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;border:0;border-radius:0;opacity:0;transform:scale(.97)}.kitupgo-household-profile-panel--compact.is-open{opacity:1;transform:scale(1)}}
@media(max-width:767px){.kitupgo-household-profile-panel__header-actions{gap:6px}.kitupgo-household-profile-panel .kitupgo-household-profile-panel__edit-toggle{max-width:118px;padding:6px 8px;font-size:10px;line-height:1.2}.kitupgo-household-profile-panel__identity-edit{grid-template-columns:1fr}.kitupgo-household-profile-panel--compact .kitupgo-household-question__summary{grid-template-columns:34px minmax(0,1fr) auto 16px;padding:8px!important}.kitupgo-household-profile-panel--compact .kitupgo-household-question__icon{width:32px;height:32px}.kitupgo-household-profile-panel--compact .kitupgo-household-question__response{min-width:76px;padding:5px 7px}.kitupgo-household-profile-panel--compact .kitupgo-household-question__editor{padding:6px 12px 14px}}
@media(prefers-reduced-motion:reduce){.kitupgo-household-profile-panel--compact{transition:none}}

/* Catalogue SVG réutilisé pour personnaliser chaque fiche du foyer. */
.kitupgo-household-icon-picker{min-width:0;margin:0;padding:0;border:0}
.kitupgo-household-icon-picker legend{margin-bottom:5px;color:#17191b;font-size:13px;font-weight:700}
.kitupgo-household-icon-picker__choices{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding:2px 2px 8px;scrollbar-width:thin}
.kitupgo-household-icon-choice{display:flex;width:66px;flex:0 0 66px;flex-direction:column;align-items:center;gap:3px;padding:5px 4px;border:1px solid #d6dde0;border-radius:8px;background:#fff;color:#17191b;cursor:pointer;text-align:center}
.kitupgo-household-icon-choice:hover,.kitupgo-household-icon-choice:focus-within{border-color:#78858a}
.kitupgo-household-icon-choice.is-selected{border-color:#17191b;box-shadow:inset 0 0 0 1px #17191b}
.kitupgo-household-icon-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.kitupgo-household-icon-choice__preview{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center}
.kitupgo-household-icon-choice__preview img,.kitupgo-household-card__avatar img,.kug-hfc__item-avatar img{display:block;width:100%;height:100%;object-fit:contain}
.kitupgo-household-icon-choice small{width:100%;overflow:hidden;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
