*{margin:0;padding:0;box-sizing:border-box}:root{--control-height: 36px;--page-max-width: 1400px;--content-max-width: 1280px;--page-padding: clamp(.625rem, 1.2vw, 1rem);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--mobile-nav-bar-height: 3.55rem;--mobile-nav-total-height: calc( var(--mobile-nav-bar-height) + var(--safe-area-top) )}body{background:transparent;color:var(--broco-texte, #00351d);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;min-height:100vh;min-height:100dvh;line-height:1.5}body.modal-open{overflow:hidden}.app{width:min(calc(100% - 1rem),var(--page-max-width));min-height:100vh;min-height:100dvh;margin:0 auto;padding:var(--page-padding);padding-bottom:calc(var(--page-padding) + var(--safe-area-bottom));display:flex;flex-direction:column;gap:clamp(.625rem,1.2vw,.875rem)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.app-header{display:flex;justify-content:space-between;align-items:center;margin:0 auto;padding:1rem 1.5rem;background:#16313e;border-radius:18px;box-shadow:0 14px 32px #16313e2e;max-width:var(--content-max-width)}.app-header h1{font-size:2.5rem;color:#f2f2f2;font-weight:700;margin:0;line-height:1}.app-header .app-logo{width:60px;height:auto;display:inline-block;margin-right:.5rem;margin-top:0;vertical-align:middle}.app-brand{display:flex;align-items:center;gap:.5rem}.app-brand h1{margin-top:4px}.app-title{font-size:2.6rem;color:#f2f2f2;margin:0 auto .25rem;font-weight:700;text-align:center}.app-subtitle{font-size:1.05rem;color:#e6f3f6;font-weight:500;text-align:center}.btn{padding:.5rem 1rem;border:none;border-radius:10px;font-size:1rem;font-weight:500;justify-content:center;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-small{padding:.5rem 1rem;font-size:.9rem}.recipe-image-upload-btn{background:#16313e;color:#f2f2f2}.recipe-image-upload-btn:hover{background:#102630;color:#f2f2f2;transform:translateY(-2px);box-shadow:0 4px 15px #134b8b1a}.recipe-image-remove-btn{background:#355c67;color:#f2f2f2}.recipe-image-remove-btn:hover{background:#244753;color:#f2f2f2;transform:translateY(-2px)}.recipe-add-ingredient-btn{background:#2f5661;color:#f2f2f2;margin-top:1rem}.recipe-add-ingredient-btn:hover{background:#254b5a;color:#f2f2f2;transform:translateY(-2px)}.recipe-add-step-btn{background:#335c67;color:#f2f2f2}.recipe-add-step-btn:hover{background:#2a505b;color:#f2f2f2;transform:translateY(-2px)}.filters-reset-btn{background:#3b5963;color:#f2f2f2}.filters-reset-btn:hover{background:#2f4a53;color:#f2f2f2}.gallery-cancel-delete-btn{background:#4f6d7a;color:#f2f2f2}.gallery-cancel-delete-btn:hover{background:#3f5b67;color:#f2f2f2}.note-delete-cancel-btn{background:#587683;color:#f2f2f2}.note-delete-cancel-btn:hover{background:#46616d;color:#f2f2f2}.shared-error-home-btn{background:#16313e;color:#f2f2f2}.shared-error-home-btn:hover{background:#102630;color:#f2f2f2}.detail-download-btn{background:#244753;color:#f2f2f2}.detail-download-btn:hover{background:#1c3943;color:#f2f2f2}.detail-share-btn{background:#16313e;color:#f2f2f2}.detail-share-btn:hover{background:#102630;color:#f2f2f2}.detail-qr-btn{background:#355c67;color:#f2f2f2}.detail-qr-btn:hover{background:#294952;color:#f2f2f2}.detail-copy-link-btn{background:#4f7281;color:#f2f2f2}.detail-copy-link-btn:hover{background:#3f5f6d;color:#f2f2f2}.detail-qr-copy-btn{background:#4f7281;color:#f2f2f2}.detail-qr-copy-btn:hover{background:#3f5f6d;color:#f2f2f2}.detail-qr-open-btn{background:#16313e;color:#f2f2f2}.detail-qr-open-btn:hover{background:#102630;color:#f2f2f2}.shared-action-btn-add{background:#16313e;color:#f2f2f2}.shared-action-btn-add:hover{background:#102630;color:#f2f2f2;transform:translateY(-2px);box-shadow:0 4px 15px #134b8b1a}.shared-action-btn-print{background:#f7fbfb;color:#16313e;border:2px solid rgba(140,188,210,.3)}.shared-action-btn-print:hover{background:#eef6f6;color:#16313e}.btn-hover{background:#355c67;color:#fff}.btn-hover:hover{background:#4a6a76}.btn-danger{background:#e57373;color:#f2f2f2;padding:7px 15px}.btn-danger:hover{background:#f44336}.btn-add{background:#16313e;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;color:#f7fbff;gap:8px;white-space:nowrap}.btn-add:hover{background:#244753;color:#fff}.btback{background:none;background:#f7fbfb;color:var(--primary);border:1.5px solid rgba(47,86,97,.55)}.btback:hover{background:#ebf0f0df;color:var(--primary)}.btn-new-recipe{background:#16313e;color:#f7fbff;border:none;padding:10px 18px;border-radius:18px;box-shadow:0 8px 24px #2f55602e;display:inline-flex;align-items:center;gap:8px}.btn-new-recipe:hover{background:#102630;transform:translateY(-2px)}.close-btn{position:absolute;top:1rem;right:1rem;background:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;color:#3e2723;z-index:10;transition:all .3s ease;box-shadow:0 4px 12px #3e27230d}.close-btn:hover{box-shadow:0 4px 12px #3e272333}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:clamp(.75rem,2vw,2rem);overflow-y:auto}.recipe-detail-overlay{padding:0;align-items:stretch;justify-content:stretch;background:#eef0ef}.recipe-form-overlay{padding:0;align-items:stretch;justify-content:stretch;background:#eef0ef;overflow:hidden}.modal-content{background:#4a6a76;border-radius:20px;width:min(800px,100%);min-width:0;max-height:90vh;overflow-y:auto;position:relative}.recipe-detail-overlay .modal-content.recipe-page-detail{width:100vw;min-height:100vh;min-height:100dvh;max-width:none;max-height:none;border-radius:0;background:#eef0ef}.modal-content .btn,.modal-content .btn-add{width:auto}.nav-confirm-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10020;padding:1.5rem}.nav-confirm-modal{width:min(560px,100%);background:#fff;border-radius:18px;padding:1.75rem;box-shadow:0 20px 60px #00000047}.nav-confirm-modal h3{margin:0 0 .75rem;color:#2f5661;font-size:1.25rem}.nav-confirm-modal p{margin:0 0 1.25rem;color:#5b6770}.nav-confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.nav-confirm-actions .btn{min-width:160px}.modal-content .form-actions .btn,.modal-content .form-actions .btn-add{width:100%}.modal-content button,.modal-content input[type=button],.modal-content input[type=submit],.modal-content .btn,.modal-content .btn-add{display:inline-flex!important;max-width:none!important}.loading{text-align:center;padding:4rem 1.5rem;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block{position:relative;overflow:hidden;background:linear-gradient(90deg,#7d992a29,#d9e5b8bf,#7d992a29);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite;border-radius:16px}.skeleton-block-line{width:100%;height:.85rem;border-radius:20px}.skeleton-block-line.short{width:62%}.skeleton-block-title{width:78%;height:1.25rem;border-radius:20px}.skeleton-block-section-title{width:40%;height:1rem;border-radius:20px}.skeleton-block-chip{width:100px;height:1.9rem;border-radius:20px}.skeleton-block-button{width:100%;min-height:2.4rem;border-radius:20px}.skeleton-block-rating{width:55%;height:1rem;border-radius:20px}.skeleton-block-image{width:100%;min-height:220px;border-radius:18px}.skeleton-block-circle{width:112px;height:112px;border-radius:50%}.skeleton-block-hero-image{width:140px;height:140px;border-radius:24px}.recipe-grid-skeleton{margin-top:2rem}.recipe-card-skeleton{pointer-events:none}.recipe-card-skeleton .recipe-card-image{border:none;background:transparent;box-shadow:none}.recipe-card-skeleton .recipe-card-content{gap:.75rem}.recipe-card-skeleton .recipe-card-badges{margin-top:0}.empty-state{text-align:center;width:min(100%,720px);margin:0 auto;padding:clamp(2rem,5vw,4rem);color:#16313e;border-radius:24px}.empty-state h3{margin-bottom:1rem;color:#16313e}.recipe-rating,.recipe-rating-large{display:inline-flex;align-items:center;gap:.35rem;color:#16313e;font-weight:600}.rating-stars{color:#ffc857;letter-spacing:.1rem}.recipe-rating .rating-stars{font-size:1.6rem}.recipe-rating-large .rating-stars{font-size:1.8rem}.rating-value{font-size:.95rem;color:#16313e}.rating-votes{font-size:.85rem;color:#16313eb8}.rating-empty .rating-stars{color:#ffc85766}.rating-placeholder{font-size:.85rem;color:#16313ea6;font-style:italic}.search-filters-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:clamp(1rem,2vw,1.5rem);border-radius:24px;display:flex;flex-direction:column;gap:1rem;align-items:center}.search-filters-row{display:flex;align-items:flex-start;gap:1rem;width:100%;max-width:100%;justify-content:flex-start;flex-wrap:nowrap}.search-filters-row .btn-new-recipe{min-width:110px;height:var(--control-height);padding:0 16px;display:inline-flex;align-items:center;justify-content:center}.search-filters-row .create-right{margin-left:8px}.search-filters-container{margin-bottom:0}.search-bar{width:320px;max-width:none;flex:1 1 320px;min-width:240px;height:var(--control-height);padding:0 1rem 0 38px;border:2px solid rgba(47,85,96,.12);border-radius:20px;font-size:.98rem;margin-bottom:0;background:#fff;color:#2f5661;box-shadow:0 6px 18px #2f556012;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><path fill='%232f5661' d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16a6.471 6.471 0 004.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zM10 15a5 5 0 110-10 5 5 0 010 10z'/></svg>");background-repeat:no-repeat;background-position:12px center;display:inline-flex;align-items:center}.search-bar:focus{outline:none;border-color:#335c67;box-shadow:0 0 0 3px #3f7dcd1a}.filters-row{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:nowrap;flex:0 0 auto}@media(max-width:900px){.search-filters-row{flex-direction:column;align-items:stretch;overflow-x:visible}.search-bar{width:100%;max-width:100%;min-width:0;flex:1 1 auto}.filters-row{width:100%;justify-content:stretch;flex-wrap:wrap}.filter-group{flex:1 1 180px;min-width:0}.filter-dropdown{width:100%}.filter-select{width:100%;min-width:0}.filter-menu,.search-filters-row .btn-new-recipe{width:100%}.search-filters-row .create-right{margin-left:0}}@media(max-width:560px){.filters-row{display:grid;grid-template-columns:1fr}.filter-group{width:100%}.filter-menu{position:static;margin-top:.35rem;box-shadow:0 12px 26px #2f55601f}}.filter-group{display:inline-flex;flex:0 0 auto}.filter-dropdown{position:relative;flex-direction:column;align-items:stretch;padding-bottom:.15rem}.filter-label{display:none}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:2.75rem;min-width:138px;padding:.45rem .85rem;border:1px solid rgba(47,85,96,.16);border-radius:18px;background:#fff;color:#2f5661;font-size:.9rem;box-shadow:0 8px 22px #2f55600f;display:inline-flex;align-items:center;justify-content:space-between;gap:.65rem;cursor:pointer;width:100%;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.filter-select:focus,.filter-select:focus-visible{outline:none;border-color:#2f556061;box-shadow:0 10px 24px #2f55601f}.filter-trigger:hover{transform:translateY(-1px);border-color:#2f556047;box-shadow:0 12px 26px #2f55601a}.filter-trigger-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:#6d8790;flex:0 0 auto}.filter-trigger-value{flex:1 1 auto;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-trigger-icon{flex:0 0 auto;font-size:.75rem;color:var(--broco-fonce)}.filter-menu{position:absolute;top:calc(100% + .12rem);left:0;z-index:20;min-width:100%;padding:.3rem;border:1px solid rgba(47,85,96,.16);border-radius:16px;background:#fffffffa;box-shadow:0 14px 28px #2f556024;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:.18rem}.filter-option{border:0;border-radius:12px;padding:.58rem .75rem;background:transparent;color:#2f5661;font-size:.75rem;font-weight:700;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.filter-option:hover,.filter-option:focus-visible{outline:none;border:1px solid #16313e;color:#16313e}.filter-option.selected{background:#16313e;color:#eaeaea}.filter-option:active{transform:scale(.985)}@media(max-width:768px){.app{width:min(calc(100% - .5rem),var(--page-max-width));padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));gap:1rem}.app-title{font-size:2rem}.filters-row{grid-template-columns:1fr}.close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;font-size:1.2rem}}@media(max-width:480px){.app{width:100%;padding:.5rem}.modal-overlay{padding:.5rem}.close-btn{top:.8rem;right:.8rem;width:28px;height:28px;font-size:1rem}.search-filters-container,.empty-state{border-radius:18px}}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2rem;align-items:stretch}.recipe-card-wrapper{display:flex}.catalogue-header{width:min(1100px,calc(100% - 2rem));margin:2rem auto 0;text-align:center}.catalogue-header h1{margin:0 0 .4rem;color:#16313e}.catalogue-header p{margin:0 auto;max-width:620px;color:#4f7281;font-size:.95rem}.catalogue-filters{width:min(1100px,calc(100% - 2rem));margin:1.4rem auto 0;display:flex;gap:.6rem;justify-content:center}.catalogue-filter-chip{display:inline-flex;align-items:center;padding:.4rem 1.1rem;border:1.5px solid #d4ddda;border-radius:999px;background:#fff;color:#2f5661;font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.catalogue-filter-all:hover{border-color:#2f5661}.catalogue-filter-official:hover{border-color:#2f8f6b}.catalogue-filter-all.active{background:#2f5661;border-color:#2f5661;color:#fff}.catalogue-filter-official.active{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.recipe-official-badge{position:absolute;top:10px;right:10px;z-index:3;display:inline-flex;align-items:center;gap:4px;background:#2f8f6b;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px;box-shadow:0 2px 6px #0000002e}@media(max-width:768px){.recipe-official-label{display:none}.recipe-official-badge{top:6px;right:6px;padding:4px;gap:0}}.catalogue-author{display:block;text-align:center;margin-top:.4rem;font-size:.82rem;font-style:italic;color:#4f7281}.catalogue-author-own{font-style:normal;font-weight:600;color:#2f5661}.recipe-card{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;cursor:pointer;background:#fff;border:1px solid rgba(47,86,97,.14);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #1729380f;transition:transform .2s ease,box-shadow .2s ease}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1729381f}.recipe-card-media{position:relative;width:100%;height:150px;flex-shrink:0;background:#dde5e3}.recipe-card-media-img{width:100%;height:100%;object-fit:cover;display:block}.recipe-card-media-placeholder{width:100%;height:100%;background:#e7ece9 url(/miam.webp) center / 56px no-repeat}.recipe-visibility-badge{position:absolute;top:.6rem;left:.6rem;z-index:2;padding:.18rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600;letter-spacing:.01em;border:1px solid rgba(47,86,97,.26)}.recipe-visibility-badge.is-public{background:#2f5661;color:#fff;border-color:#2f5661}.recipe-visibility-badge.is-private{background:#fff;color:#325562}.recipe-visibility-badge.is-link{background:#618594;color:#fff;border-color:#618594}.recipe-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:12px 14px 14px;gap:6px}.recipe-card-title{margin:0;font-size:1.05rem;line-height:1.25;font-weight:700;color:#16313e}.recipe-card-author{font-size:.76rem;font-style:italic;color:#7a8a8d;margin-top:-2px}.recipe-card-author.is-own{font-style:normal;font-weight:600;color:#2f5661}.recipe-card-desc{margin:0;color:#4f7281;font-size:.84rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-bottom{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:8px}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:7px}.recipe-meta-pill{display:inline-flex;align-items:center;gap:4px;background:#f4f8f9;color:#325562;font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:20px;border:1px solid rgba(47,86,97,.12)}.recipe-meta-pill svg{width:13px;height:13px}.recipe-card-edit-btn{width:100%;height:2.3rem;border:0;border-radius:12px;background:#335c67;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;transition:background .18s ease}.recipe-card-edit-btn:hover{background:#254b5a}.recipe-rating{display:flex;align-items:center;gap:6px}.rating-stars{color:#f2b41d;font-size:1rem;letter-spacing:.12rem}.rating-value{font-size:.74rem;font-weight:600;color:#7a8a8d}.recipe-rating .rating-placeholder{font-size:.72rem;color:#7a8a8d}.recipe-rating .rating-votes{display:none}.recipe-tag{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);padding:0 12px;border-radius:20px;border:1px solid rgba(47,86,97,.26);background:#fff;color:#325562;font-size:.82rem;font-weight:600}.recipe-tag--ghost{background:#f8fbfd}.recipe-time,.recipe-servings{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:var(--control-height);padding:0 12px;border-radius:20px;border:1px solid rgba(47,86,97,.26);background:#f8fbfd;color:#325562;font-size:.8rem;font-weight:600}@media(max-width:1300px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:768px){.recipe-grid{grid-template-columns:1fr;gap:10px;margin-top:1.25rem}.recipe-card{flex-direction:row;border-radius:14px}.recipe-card-media{width:108px;height:auto;align-self:stretch}.recipe-card-media-placeholder{background-size:40px}.recipe-visibility-badge{top:6px;left:6px;font-size:.64rem;padding:2px 7px}.recipe-card-body{padding:10px 12px;gap:4px}.recipe-card-title{font-size:.98rem}.recipe-card-desc{font-size:.8rem}.recipe-card-bottom{gap:7px;padding-top:6px}}.recipes-canvas{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%;margin:clamp(14px,2vw,24px) 0 0}@media(min-width:769px){.recipes-canvas{margin-bottom:calc(-1 * var(--page-padding, 24px))}}.recipes-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;padding:clamp(.875rem,2vw,1.4rem) clamp(.875rem,2.5vw,1.75rem) clamp(1.75rem,4vw,3rem)}.recipes-dome{position:absolute;left:50%;width:116vw;top:0;bottom:0;z-index:0;transform:translate(-50%);background:var(--broco-fonce);border:10px solid var(--broco-jaune);border-bottom:0;border-radius:50% 50% 0 0 / min(35vw,450px) min(35vw,450px) 0 0;pointer-events:none}.recipes-hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);max-width:700px;margin:0 auto clamp(1rem,2.5vw,1.75rem);padding-top:clamp(1.25rem,4vw,3rem)}.recipes-hero-mascot{flex:0 0 auto;width:clamp(80px,12vw,165px);height:auto;aspect-ratio:987 / 1124;object-fit:contain}.recipes-hero-copy{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}.recipes-hero-title{margin:0;font-family:var(--broco-titre);font-size:clamp(1.8rem,4.2vw,48px);line-height:1.05;color:var(--broco-accent);text-align:center}.recipes-hero-tagline{margin:0;font-family:var(--broco-texte-font);font-size:clamp(.78rem,1vw,14px);color:var(--broco-clair);text-align:center}.recipes-stage .recipe-grid{position:relative;flex-shrink:0;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);width:var( --broco-shell-width, min( calc(100vw - clamp(24px, 6vw, 64px)) , 1280px) );max-width:none;margin-right:0;margin-left:0;padding:0}.recipes-stage .empty-state{position:relative;z-index:1;color:var(--broco-clair);text-align:center}.recipes-stage .empty-state h3{font-family:var(--broco-titre);color:var(--broco-accent)}.recipes-stage .recipe-card{display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:14px;background:var(--broco-accent);box-shadow:none;cursor:pointer;transition:transform .16s ease}.recipes-stage .recipe-card:hover{transform:translateY(-3px)}.recipes-stage .recipe-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;background:var(--broco-clair)}.recipes-stage .recipe-card-author-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;font-family:var(--broco-titre);font-size:12px;color:var(--broco-fonce)}.recipes-stage .recipe-card-author-chip.is-link{padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer;text-align:left}.recipes-stage .recipe-card-author-chip.is-link:hover>span:last-child{text-decoration:underline}.recipes-stage .recipe-card-author-chip.is-link:focus-visible{outline:2px solid var(--broco-fonce);outline-offset:3px}.recipes-stage .recipe-card-author-chip img,.recipes-stage .recipe-card-avatar-fallback{flex:0 0 auto;width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--broco-fonce)}.recipes-stage .recipe-card-author-chip>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipes-stage .recipe-card-edit-btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1.5px solid var(--broco-fonce);border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer;transition:background-color .16s ease}.recipes-stage .recipe-card-edit-btn:hover{background:#02683a24}.recipes-stage .recipe-card-media{position:relative;aspect-ratio:16 / 10;background:var(--broco-clair)}.recipes-stage .recipe-card-media-img{width:100%;height:100%;object-fit:cover;display:block}.recipes-stage .recipe-card-media-placeholder{width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--broco-clair),var(--broco-clair) 12px,#cbdaa4 12px,#cbdaa4 24px)}.recipes-stage .recipe-card-body{display:flex;flex-direction:column;gap:9px;padding:10px 12px 12px}.recipes-stage .recipe-card-title{margin:0;font-family:var(--broco-texte-font);font-size:14px;font-weight:400;line-height:1.3;color:var(--broco-clair)}.recipes-stage .recipe-card-meta{display:flex;flex-wrap:wrap;gap:8px}.recipes-stage .recipe-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--broco-clair);border-radius:6px;font-family:var(--broco-titre);font-size:11px;color:var(--broco-clair);background:transparent}.recipes-stage .recipe-card-social{color:var(--broco-clair)}.recipes-stage .recipe-card-likes,.recipes-stage .recipe-card-comments{display:inline-flex;align-items:center;gap:6px}.recipes-stage .recipe-card-likes svg{color:var(--broco-rose)}@media(max-width:900px){.recipes-stage .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.recipes-stage .recipe-grid{grid-template-columns:1fr}.recipes-dome{border-width:12px;border-radius:50% 50% 0 0 / min(35vw,450px) min(35vw,450px) 0 0}.recipes-hero{gap:12px;padding:1rem 16px 0;margin-bottom:2rem}}.recipes-stage .recipe-card-media-placeholder{position:absolute;inset:0}@media(max-width:768px){.recipes-stage .recipe-card{flex-direction:column;border-radius:20px}.recipes-stage .recipe-card-media{width:100%;height:auto;aspect-ratio:16 / 10;align-self:auto}.recipes-stage .recipe-card-body{padding:10px 12px 12px;gap:9px}.recipes-stage .recipe-card-title{font-size:14px}}.recipe-card-social{display:flex;align-items:center;gap:16px;font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:22px}.recipe-card-likes svg,.recipe-card-comments svg{width:22px;height:22px}.recipe-card-likes,.recipe-card-comments{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}.recipe-card-likes:disabled{cursor:default}.recipe-card-likes svg{fill:none;stroke:currentColor;transition:transform .14s ease}.recipe-card-likes.is-liked svg{fill:currentColor}.recipe-card-comments svg{fill:none;stroke:currentColor;transition:transform .14s ease}.recipe-card-likes:not(:disabled):hover svg,.recipe-card-comments:hover svg{transform:scale(1.12)}.recipe-meta-pill-label{display:inline-block;transform:translateY(1px)}.modal-content.recipe-page-detail{padding:0;background:#eef0ef;border-radius:0;box-shadow:none;width:100vw;max-width:none;min-height:100dvh;max-height:none;overflow-y:auto}.recipe-page-detail{max-width:none;transform:none;transform-origin:top center;width:100%;max-width:680px;margin:0 auto;min-height:100dvh;background:transparent;border-radius:0;overflow:visible;box-shadow:none}@media(max-width:900px){.recipe-page-detail{transform:none;width:100%}}.recipe-detail-header{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1rem;padding:2.1rem 1rem .6rem}.recipe-detail-header-actions{position:absolute;top:.8rem;right:3.6rem;display:flex;gap:.5rem;align-items:center;z-index:12}.recipe-detail-header-actions .recipe-tool-btn{background:transparent;border:1px solid rgba(47,86,97,.08);color:#2f5661;padding:6px 8px;border-radius:8px;min-width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700}.recipe-detail-header-actions .recipe-tool-btn:hover{background:#2f56610f}.recipe-qr-icon{position:absolute;top:.9rem;left:1rem;background:transparent;border:1px solid rgba(47,86,97,.08);color:#2f5661;padding:6px 8px;border-radius:8px;min-width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;z-index:12}.recipe-qr-icon:hover{background:#2f56610f}.recipe-qr-popover{position:absolute;top:3.2rem;left:1rem;width:220px;padding:.75rem;background:#fff;border:1px solid rgba(47,86,97,.12);border-radius:10px;box-shadow:0 8px 30px #17293814;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1200}.recipe-detail-image{width:200px;height:200px;border-radius:40px;overflow:hidden;margin:0 auto;box-shadow:0 4px 16px #254b5a1f;background:#fff}.recipe-detail-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;background:linear-gradient(135deg,#335c67,#4f6d7a);display:flex;align-items:center;justify-content:center;font-size:4rem;color:#f2f2f2}.recipe-detail-title-section{width:min(1100px,calc(100% - 2rem));margin:0 auto;text-align:center;position:relative}.recipe-detail-title{font-size:3.6rem;color:#2f5661;margin:0;font-weight:700}.recipe-detail-description{font-size:1.9rem;color:#4f7281;margin:.35rem 0 .7rem;line-height:1.45}.recipe-detail-badges{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap}.badge{padding:.3rem .75rem;border-radius:20px;font-size:.72rem;font-weight:600;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.18)}.recipe-rating-large{font-size:1.1rem}.recipe-detail-actions{display:flex;gap:.65rem;justify-content:center;padding:.65rem 0 .35rem;border-bottom:none;flex-wrap:wrap}.detail-action-btn{min-width:124px;height:2.7rem;padding-inline:1.1rem;border-radius:20px;box-shadow:0 4px 14px #254b5a1f}.detail-action-btn:disabled{opacity:.7;cursor:not-allowed}.edit-fab{position:absolute;top:.5rem;right:.5rem;width:1.7rem;height:1.7rem;border:none;border-radius:50%;background:transparent;color:#6f8e99;box-shadow:none;cursor:pointer;font-size:1rem}.edit-fab:hover{transform:translateY(-1px);color:#2f5661}.share-link-section{width:min(1100px,calc(100% - 2rem));margin:1.4rem auto 1.8rem;padding:1.8rem;background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:18px}.share-link-section h3{color:#2f5661;margin-bottom:0;font-size:1.4rem}.share-link-topline{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.share-link-input{flex-grow:1;padding:1.45rem 1.05rem;border:2px solid rgba(140,182,210,.35);border-radius:12px;background:#fff;color:#335c67;font-family:monospace;font-size:2.2rem}.share-link-input:focus{outline:none;border-color:#4a6a76}.share-link-info{color:#f2f2f2;font-size:.9rem;line-height:1.4;margin:0;font-style:italic}.share-link-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center}.share-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.2rem;border-radius:18px;border:1px solid rgba(47,86,97,.16);background:#fff;text-decoration:none;color:#2f5661;width:300px}.share-qr-card img{width:260px;height:260px;display:block}.share-qr-card span{text-align:center;font-size:.82rem;font-weight:600}.recipe-detail-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 1.8rem;border-bottom:none}.time-info{text-align:center;padding:1.6rem;background:#fff;border-radius:14px;box-shadow:0 4px 14px #13558b14;border:1px solid rgba(47,86,97,.16)}.time-label{display:block;font-size:1.25rem;color:#2f5661;margin-bottom:.5rem}.time-value{display:block;font-size:2.6rem;font-weight:600;color:#2f5661;text-align:center}.time-total{background:#eef0ef!important;font-weight:700}.servings-calculator{width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:.9rem 0 1.2rem;text-align:center;border-bottom:none}.servings-calculator h3{margin-bottom:.5rem;color:#2f5661;font-size:1.4rem}.servings-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.servings-input{background:#fff;border:2px solid rgba(47,86,97,.18);border-radius:14px;padding:.6rem .9rem;font-size:1.4rem;font-weight:800;text-align:center;width:90px;color:#335c67}.servings-input:focus{outline:none;border-color:#3f88cd;box-shadow:0 0 0 3px #3f7dcd1a}.servings-unit-input{width:100%;max-width:320px;margin:0 auto;display:block;border:1px solid rgba(47,86,97,.18);border-radius:10px;padding:.65rem .8rem;text-align:center;color:#2f5661;background:#fff;box-shadow:0 8px 18px #1f4c5e0d;font-weight:600}.servings-unit-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.servings-unit{font-size:1rem;font-weight:500;color:#2f5661;min-width:100px;text-align:left}.servings-display{font-size:1.2rem;font-weight:600;color:#2f5661;min-width:120px}.proportions-info{color:#2f5661;font-weight:500;font-style:italic}.portions-alert{background:#f8fbfd;border:1px solid rgba(47,86,97,.26);border-radius:12px;padding:.7rem 1rem;margin:0 0 1rem;color:#325562;font-size:.9rem;line-height:1.4}.rating-selector{display:flex;gap:.25rem}.rating-star{background:none;border:none;padding:0;cursor:pointer;font-size:1.8rem;line-height:1;color:#2f566140;transition:color .12s ease,transform .12s ease}.rating-star:hover{transform:scale(1.12)}.rating-star.is-filled{color:#f2b41d}.recipe-detail-section{width:min(1100px,calc(100% - 2rem));margin:0 auto 1.8rem;padding:0;border-bottom:none}.recipe-detail-section:last-child{border-bottom:none}.recipe-detail-section h3{font-size:1.4rem;color:#2f5661;margin-bottom:.75rem;font-weight:700;text-align:center}.ingredients-list{list-style:none;display:grid;gap:1.15rem}.ingredient-item{display:flex;align-items:center;gap:1.2rem;padding:1.4rem 1.3rem;background:#fff;border-radius:18px;border:1px solid rgba(47,86,97,.16)}.ingredient-quantity{font-weight:800;color:#2f5661;min-width:200px}.ingredient-name{flex-grow:1;color:#2f5661}.original-quantity{font-size:.8rem;color:#2f5661;font-style:italic}.steps-list{list-style:none;display:grid;gap:2.6rem;margin-bottom:3.2rem}.step-item{display:flex;gap:1.8rem;align-items:flex-start}.step-number{background:#2f5661;color:#f2f2f2;width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.step-text{flex-grow:1;padding:2.4rem 2.6rem;line-height:1.95;color:#2f5661;background:#fff;border-radius:18px;min-height:360px;max-height:620px;overflow-y:auto;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:flex;align-items:flex-start}.tags-list{display:flex;gap:.5rem;flex-wrap:wrap}.tag{background:#fff;color:#2f5661;padding:.6rem 1.15rem;border-radius:24px;font-size:1.05rem;font-weight:700;border:1px solid rgba(47,86,97,.18)}.recipe-notes{background:#fff;padding:1rem;border-radius:14px;border:1px solid rgba(140,194,210,.3);line-height:1.6;color:#335c67}@media(max-width:768px){.recipe-page-detail{width:100%;max-width:none}.recipe-detail-header{padding:1.4rem .75rem .5rem;gap:.85rem}.recipe-detail-title-section{width:calc(100% - 1rem)}.recipe-detail-title{font-size:2rem}.recipe-detail-description{font-size:1rem}.recipe-detail-image{width:150px;height:150px;border-width:5px;border-radius:28px}.recipe-detail-times{grid-template-columns:1fr;gap:.6rem;padding:.75rem 0;width:calc(100% - 1rem)}.time-info{padding:.7rem .5rem}.time-label{font-size:.82rem;margin-bottom:.2rem}.time-value{font-size:1.1rem}.time-total{grid-column:auto}.recipe-detail-actions{flex-direction:column;width:calc(100% - 1rem);margin:0 auto}.detail-action-btn{width:100%;min-width:0}.recipe-detail-section{width:calc(100% - 1rem)}.ingredients-list{gap:.75rem}.ingredient-item{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.9rem .85rem;border-radius:14px}.ingredient-quantity{min-width:0;font-size:.86rem}.ingredient-name{font-size:.9rem}.share-link-grid{grid-template-columns:1fr}.share-qr-card{width:100%}}@media(max-width:480px){.recipe-page-detail{width:100%}.recipe-detail-header{padding-top:1.1rem}.recipe-detail-title{font-size:1.55rem}.recipe-detail-description{font-size:.92rem}.recipe-detail-image{width:120px;height:120px;border-width:4px;border-radius:22px}.recipe-detail-times{gap:.5rem;padding:.75rem 0}.time-info{padding:.5rem .35rem;border-radius:8px}.time-label{font-size:.65rem}.time-value{font-size:.9rem}.recipe-detail-section h3{font-size:.95rem;margin-bottom:.6rem}.step-item{gap:.75rem}.step-number{width:78px;height:78px;font-size:.9rem}.step-text{min-height:0;max-height:none;padding:.9rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.55}}@media(max-width:480px){.step-text{min-height:100px;max-height:800px;width:100%}}.modal-content.recipe-form{background:#eef0ef;border-radius:0;border:none;box-shadow:none;padding:0;min-width:0;width:100%;max-width:100%;min-height:100dvh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.recipe-form{width:100%;max-width:none;max-height:100%;min-width:0}.recipe-edit-page{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;min-height:0;height:100%}.recipe-edit-form{width:100%;max-width:none;display:flex;justify-content:center;min-width:0;min-height:0;height:100%}.recipe-edit-content{width:min(800px,calc(100% - 2rem));max-width:800px;margin:0 auto;padding:0 0 2rem;display:flex;flex-direction:column;align-items:center;gap:0;box-sizing:border-box;min-width:0;min-height:100%}.recipe-edit-content,.recipe-form-content,.recipe-edit-times,.recipe-edit-servings,.recipe-edit-section,.recipe-edit-actions,.form-grid,.form-row,.form-section,.recipe-preview{min-width:0}.recipe-edit-content *,.recipe-form-content *{min-width:0;box-sizing:border-box}.recipe-edit-header{padding-bottom:.5rem;width:100%;box-sizing:border-box}.recipe-edit-image{margin-top:5rem}.recipe-edit-image-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.recipe-form-lazy-placeholder{width:100%;min-height:120px;border-radius:16px;margin:.35rem 0;background:linear-gradient(90deg,#9db3bb24,#ffffffbd,#9db3bb24);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.recipe-edit-image-input{display:none}.recipe-edit-title-section{margin-top:.25rem;width:100%;box-sizing:border-box}.recipe-edit-title-input{width:100%;border:1px solid rgba(47,86,97,.14);background:#fff;color:#2f5661;font-size:1.7rem;font-weight:700;text-align:center;line-height:1.15;padding:.78rem .95rem;margin:0;border-radius:18px;box-shadow:0 10px 22px #1f4c5e0f}.recipe-edit-title-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-description-input{width:100%;border:1px solid rgba(47,86,97,.14);background:#fff;color:#4f7281;font-size:.98rem;line-height:1.5;text-align:center;resize:vertical;min-height:62px;margin:.35rem 0 .6rem;padding:.78rem .95rem;border-radius:16px;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-description-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-edit-hint{display:inline-flex;align-items:center;gap:.35rem;align-self:center;margin-top:-.1rem;margin-bottom:.55rem;padding:.38rem .72rem;border-radius:20px;background:#ffffffe6;border:1px dashed rgba(79,109,122,.28);color:#5f7e89;font-size:.78rem;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 14px #1f4c5e0d;transition:opacity .18s ease,transform .18s ease}.recipe-edit-title-section:focus-within .recipe-edit-edit-hint{opacity:0;transform:translateY(-4px);pointer-events:none}.recipe-edit-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.5rem;width:100%;box-sizing:border-box}.recipe-edit-meta-field{display:flex;flex-direction:column;gap:.35rem;text-align:left}.recipe-edit-meta-field span{font-size:.78rem;font-weight:700;color:#2f5661;text-transform:uppercase;letter-spacing:.04em}.recipe-edit-meta-input{margin-bottom:0;background:#fff;border-radius:14px}.recipe-edit-times{display:grid;gap:.6rem;width:min(560px,100%);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.recipe-edit-time-input{width:100%;border:none;background:#fff;text-align:center;padding:.8rem .5rem;margin:0;color:#2f5661;font-size:1.45rem;font-weight:700;border-radius:14px}.recipe-edit-time-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-servings{width:min(560px,100%);margin-top:.25rem}.recipe-edit-servings-controls{margin-bottom:.25rem}.recipe-edit-servings-input{margin-bottom:0}.recipe-edit-servings-unit-input{width:100%;max-width:320px;margin:0 auto;display:block;border:1px solid rgba(47,86,97,.18);border-radius:10px;padding:.65rem .8rem;text-align:center;color:#2f5661;background:#fff;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-servings-unit-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-section{width:min(560px,100%)}.recipe-edit-ingredients-list{gap:.75rem}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{position:static;min-height:0;padding:.85rem .9rem;background:#fff;border-radius:16px;border:1px solid rgba(47,86,97,.16);text-align:left;display:grid;grid-template-columns:auto minmax(0,2fr) minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:.65rem}.ingredient-drag-handle{display:inline-flex;align-items:center;justify-content:center;color:#9aa7aa;cursor:grab;touch-action:none;padding:2px}.ingredient-drag-handle:active{cursor:grabbing;color:#2f5661}.ingredient-item.is-dragging{opacity:.55;border-color:#2f8f6b}@media(max-width:1100px){.recipe-edit-content{width:min(100%,calc(100% - 2rem));max-width:none}}@media(max-width:760px){.recipe-edit-content{width:min(100%,calc(100% - 1rem))}}@media(max-width:900px){.recipe-edit-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{grid-template-columns:auto minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) auto}}.ingredient-item.recipe-edit-ingredient-item .recipe-edit-ingredient-input{width:100%;margin-bottom:0;background:#fbfcfc;border-radius:12px;box-shadow:inset 0 1px #fffc}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .btn-small{flex:0 0 auto;justify-self:center}.recipe-edit-steps-list{gap:1rem}.recipe-edit-step-item{display:flex;align-items:flex-start;gap:1rem}.recipe-edit-step-box{min-height:180px;width:100%;display:flex;flex-direction:column}.recipe-edit-step-input{min-height:120px;width:100%;background:#fff;border:1px solid rgba(47,86,97,.14);resize:vertical;padding:.95rem 1rem;margin:0;border-radius:16px;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-step-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-upload-state{display:inline-flex;align-items:center;color:#6f8e99;font-size:.85rem;font-weight:600}.recipe-edit-section .form-group:last-child{margin-bottom:0}.recipe-edit-section .form-input,.recipe-edit-section .form-select,.recipe-edit-section .form-textarea{margin-bottom:.65rem}.recipe-edit-actions{width:min(560px,calc(100% - 2rem));margin:0 auto;padding-bottom:8rem}.form-header{display:flex;justify-content:space-between;align-items:center;width:min(1200px,calc(100% - 3rem));margin:1rem auto 0;padding:.25rem 0 .75rem;border-bottom:none;background:transparent;box-shadow:none;flex-shrink:0}.form-header h2{color:#2f5661;font-size:1.6rem;font-weight:600}.recipe-form-content{flex:1;width:min(1200px,calc(100% - 3rem));margin:0 auto;padding:0 0 2rem;overflow-y:visible;background:transparent;color:#2f5661}.form-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:1.25rem;align-items:start}.recipe-preview{background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:14px;padding:1rem;box-shadow:0 8px 22px #1f4c5e0f;display:flex;flex-direction:column;gap:.85rem}.preview-image{width:100%;height:160px;border-radius:12px;overflow:hidden;border:3px solid var(--primary, #2f5661);background:#fff}.preview-image img{width:100%;height:100%;object-fit:cover;display:block}.recipe-preview .recipe-title{font-size:1.1rem;margin:0;font-weight:700}.recipe-preview .recipe-description{color:#4f7281;font-size:.9rem;margin:0}.recipe-preview .badge{margin-right:.4rem}.form-section{margin-bottom:1.75rem;padding:1.25rem;border-radius:22px;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.16);box-shadow:0 4px 14px #13558b14}.form-section:last-of-type{margin-bottom:0}.form-section h3{color:#2f5661;font-size:1rem;margin-bottom:1rem;font-weight:700;text-align:center}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#2f5661;margin-bottom:.35rem}.form-input,.form-select,.form-textarea{padding:.75rem .9rem;border:1px solid rgba(47,86,97,.18);border-radius:14px;font-size:.95rem;background:#fff;color:#2f5661;transition:border-color .3s ease,box-shadow .3s ease;margin-bottom:.9rem;box-shadow:0 4px 14px #13558b14}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#4f6d7ae6;box-shadow:0 0 0 3px #4f6d7a26}.form-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.base-calculation-block{background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:18px;padding:1rem;margin:1rem 0 1.25rem;box-shadow:0 4px 14px #13558b14}.base-calculation-block label{font-weight:700;color:#2f5661;margin-bottom:.8rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.base-input-group{background:#fff;padding:.8rem;border-radius:12px;border:1px solid rgba(63,136,197,.3);box-shadow:0 4px 14px #13558b14;display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}.base-input-group .base-value{flex:0 0 120px;font-weight:600;text-align:center}.base-input-group .base-unit{flex:1}.form-hint{color:#2f5661;font-size:.9rem;font-style:italic;margin-top:.5rem;display:block;background:#fff;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(47,86,97,.16)}.ingredient-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.ingredient-row .form-input{flex:1}.ingredient-row .form-input:nth-child(1){flex:2}.ingredient-row .form-input:nth-child(2){flex:1}.ingredient-row .form-input:nth-child(3){flex:1}.step-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem;width:100%}.step-row .step-number{background:#335c67;color:#f2f2f2;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;margin-top:.75rem}.step-row .form-textarea{flex-grow:1;min-height:80px;resize:vertical;width:100%;box-sizing:border-box}.step-input-container{flex-grow:1;position:relative;width:100%}.step-input-container .form-textarea{width:100%;min-height:80px;resize:vertical;box-sizing:border-box}.character-counter{font-size:.75rem;color:#666;text-align:right;margin-top:.25rem}.counter-warning{color:#ff6b35!important;font-weight:600}.form-actions{display:flex;gap:1rem;justify-content:center;padding-top:.5rem;border-top:none}.form-error-banner{background:#fdecea;border:1.5px solid #c0392b;border-radius:12px;padding:.85rem 1rem;margin:.5rem 0 1rem;color:#8f2a1f}.form-error-banner strong{display:block;margin-bottom:.35rem;font-size:.95rem}.form-error-banner ul{margin:0;padding-left:1.1rem}.form-error-banner li{font-size:.88rem;line-height:1.5}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;color:#2f5661;font-size:.95rem;font-weight:700}.visibility-compact{display:flex;align-items:center;gap:.75rem}.visibility-compact-label{font-size:.9rem;color:#2f5661;margin:0}.visibility-compact-options{display:flex;gap:.5rem}.visibility-compact-btn{min-width:80px;height:32px;border:1px solid rgba(47,86,97,.18);border-radius:8px;background:#fff;color:#2f5661;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0 8px;white-space:nowrap}.visibility-compact-btn:hover{background:#eef6fb;border-color:#2f566152;transform:translateY(-1px)}.visibility-compact-btn.active{background:#254b5a;border-color:#254b5a;color:#fff;box-shadow:0 4px 14px #254b5a29}@media(max-width:768px){.modal-content.recipe-form{min-width:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto}.recipe-form{max-width:100%;max-height:none;margin:0}.form-header{width:min(100%,calc(100% - 1rem));padding:.25rem 0 .6rem;flex-direction:row;gap:1rem;text-align:left}.form-header h2{font-size:1.4rem;margin:0}.recipe-edit-header{padding-bottom:.35rem}.recipe-edit-image-actions{gap:.45rem}.recipe-edit-title-section{margin-top:.15rem}.recipe-edit-title-input{font-size:1.55rem}.recipe-edit-description-input{font-size:1rem}.recipe-edit-meta-grid{grid-template-columns:1fr;gap:.55rem}.recipe-edit-section,.recipe-edit-times,.recipe-edit-servings,.recipe-edit-actions{width:min(100%,calc(100% - 1rem))}.recipe-edit-step-item{gap:.75rem}.recipe-edit-ingredient-item{padding:.75rem .8rem}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem;align-items:center}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .recipe-edit-ingredient-input{width:100%}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item>.ingredient-drag-handle{grid-column:1;grid-row:1}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item>.recipe-edit-ingredient-input:nth-child(2){grid-column:2 / -1}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .btn-small{justify-self:center}.recipe-form-content{width:min(100%,calc(100% - 1rem))}.form-section{margin-bottom:1.1rem;padding:.95rem}.form-section h3{font-size:.92rem;margin-bottom:.75rem}.form-row{grid-template-columns:1fr;gap:.8rem;margin-bottom:.8rem}.ingredient-row,.step-row{flex-direction:column;gap:.5rem}.ingredient-row .form-input{flex:none;width:100%}.step-row .step-number{align-self:flex-start;margin-top:0;width:30px;height:30px;font-size:.9rem}.step-row .form-textarea{min-height:60px;width:100%}.base-calculation-block{padding:1rem;margin:1rem 0}.base-input-group{flex-direction:column;gap:.5rem;align-items:stretch}.base-input-group .base-value,.base-input-group .base-unit{flex:none;width:100%}.form-actions{flex-direction:column;gap:.8rem}.form-actions button{width:100%;padding:.8rem;font-size:1rem}.form-actions .btn-add{width:auto;display:inline-flex;padding:.8rem 1rem}.form-input,.form-select,.form-textarea{font-size:16px;-webkit-appearance:none;appearance:none;border-radius:8px}.image-upload-container{text-align:center}.image-upload-container .btn-add{color:#fff!important;cursor:pointer}.upload-label{display:block;padding:1rem;font-size:.9rem}.image-preview img{max-width:100%;max-height:120px}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.visibility-compact{width:100%;justify-content:space-between;align-self:flex-end}.visibility-compact-options{flex-wrap:wrap;justify-content:flex-end}.visibility-compact-btn{min-width:70px;height:28px;font-size:10px;padding:0 6px}}@media(max-width:480px){.recipe-form{max-height:none}.form-header{padding:.25rem 0 .5rem}.form-header h2{font-size:1.2rem}.recipe-form-content{padding:0 0 1.5rem}.form-section{margin-bottom:1rem;padding-bottom:.95rem}.recipe-edit-title-input{font-size:1.25rem;padding:.7rem .85rem}.recipe-edit-description-input{font-size:.95rem;padding:.7rem .85rem}.recipe-edit-time-input{font-size:1.15rem;padding:.7rem .45rem}.recipe-edit-servings-unit-input{max-width:none}.form-input,.form-select,.form-textarea{padding:.6rem;font-size:.95rem;font-size:16px}.ingredient-row,.step-row{gap:.4rem}.step-row .step-number{width:28px;height:28px;font-size:.8rem}.base-calculation-block{padding:.8rem}.form-actions{margin:0}.form-actions button{padding:.7rem;font-size:.95rem}}.image-upload-container{margin-top:8px}.image-upload-container input[type=file]{display:none}.upload-label{display:inline-block;padding:10px 16px;width:20%;background:#304c58;color:#e4e5e7;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.image-preview{margin-top:12px;display:flex;align-items:center;gap:12px}.remove-image-btn{background:#f44!important;color:#f2f2f2!important;border:none!important;border-radius:12px!important;padding:6px 12px!important;cursor:pointer!important;font-size:12px!important;transition:background-color .2s!important}.remove-image-btn:hover{background:#c00!important}.note-image-uploader{margin:.55rem 0 .8rem}.note-image-add-card{min-height:82px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1.5px dashed rgba(2,104,58,.48);border-radius:16px;background:#d7e5b661;color:var(--broco-fonce, #02683a);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.note-image-add-card:hover,.note-image-add-card.dragging{border-color:var(--broco-fonce, #02683a);background:#d7e5b6b8;transform:translateY(-1px)}.note-image-add-card:focus-visible{outline:3px solid rgba(240,144,50,.48);outline-offset:2px}.note-image-add-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--broco-fonce, #02683a);color:var(--broco-clair, #f7f4e9);font-family:var(--broco-titre, inherit);font-size:29px;line-height:1}.note-image-add-text{font-family:var(--broco-titre, inherit);font-size:17px}.note-image-add-count{color:#02683ab8;font-size:13px;white-space:nowrap}.note-image-add-status{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--broco-titre, inherit)}.note-image-limit{padding:10px 12px;border-radius:12px;background:#02683a14;color:#02683ab8;font-size:14px;text-align:center}.uploader-header{margin-bottom:.8rem}.uploader-header h4{margin:0;color:#335c67;font-size:1rem}.upload-zone{border:2px dashed #165665dc;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f2f2f2;min-height:120px;display:flex;align-items:center;justify-content:center}.upload-zone:hover{border-color:#335c67;background:#f2feff}.upload-zone.dragging{border-color:#335c67;background:#e8f7f9;transform:scale(1.02)}.upload-zone.disabled{opacity:.6;cursor:not-allowed}.upload-content{width:100%}.upload-icon{font-size:2rem;margin-bottom:.5rem;color:#335c67}.upload-zone p{margin:.5rem 0;color:#335c67}.upload-hint{font-size:.9rem;color:#666!important}.upload-status{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #335c67;border-radius:50%;animation:spin 1s linear infinite}.upload-limit-reached,.uploader-info{text-align:center;padding:1rem;background:#e8f4fd;border:1px solid #8ccad2;border-radius:8px;color:#335c67}.uploader-info p{margin:0;font-size:.9rem}.note-image-thumbnails{margin:.75rem 0 0}.thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:0}.note-image-tile{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease;border:1.5px solid rgba(2,104,58,.24);background:#edf0e5;animation:thumbnailAppear .25s ease}.note-image-tile:hover{border-color:var(--broco-fonce, #02683a);transform:translateY(-2px)}.note-image-tile:focus-visible{outline:3px solid rgba(240,144,50,.48);outline-offset:2px}.note-image-tile-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.note-image-tile:hover .note-image-tile-image{transform:scale(1.04)}.note-image-index,.note-image-source,.note-image-delete{position:absolute;z-index:2}.note-image-index{top:7px;left:7px;min-width:24px;padding:3px 6px;border-radius:999px;background:#02683ae6;color:#fff;font-size:12px;font-weight:700;text-align:center}.note-image-source{right:7px;bottom:7px;padding:3px 6px;border-radius:999px;background:#ffffffeb;color:var(--broco-fonce, #02683a);font-size:11px;font-weight:700}.note-image-zoom{position:absolute;inset:0;background:#02683aa3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.note-image-tile:hover .note-image-zoom{opacity:1}.note-image-zoom span{padding:6px 10px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;font-family:var(--broco-titre, inherit);font-size:14px}.note-image-delete{top:4px;right:4px;width:27px;height:27px;border:none;border-radius:50%;background:#ff4444e6;color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:2}.note-image-tile:hover .note-image-delete,.note-image-tile:focus-within .note-image-delete{opacity:1}.note-image-delete:hover{background:#f44;transform:scale(1.1)}@media(max-width:520px){.note-image-add-card{grid-template-columns:38px minmax(0,1fr)}.note-image-add-icon{width:38px;height:38px}.note-image-add-count{grid-column:2}.thumbnails-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}.mini-delete-confirm{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.mini-delete-modal{background:#fff;padding:1.5rem;border-radius:8px;max-width:300px;text-align:center;box-shadow:0 4px 20px #0000004d}.mini-delete-modal p{margin:0 0 1rem;color:#335c67}.mini-delete-actions{display:flex;gap:.5rem;justify-content:center}.notes-images-section{margin-bottom:1rem}@keyframes thumbnailAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.upload-zone{padding:1.5rem 1rem;min-height:100px}.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}}@media(max-width:480px){.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.image-gallery-overlay{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.image-gallery{width:100%;height:100%;display:flex;flex-direction:column;outline:none}.gallery-header{background:#335c67e6;padding:1rem;display:flex;justify-content:space-between;align-items:center;color:#fff}.gallery-info{display:flex;align-items:center;gap:1rem}.image-counter{font-weight:700;background:#fff3;padding:.3rem .8rem;border-radius:20px;font-size:.9rem}.image-name{font-size:.9rem;opacity:.8;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-actions{display:flex;gap:.5rem}.gallery-btn{width:40px;height:40px;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1rem}.gallery-btn:hover{background:#ffffff4d;transform:scale(1.1)}.delete-btn:hover{background:#f44c}.gallery-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:none;border-radius:50%;background:#fff3;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:1}.gallery-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.prev-btn{left:2rem}.next-btn{right:2rem}.gallery-image-container{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}.gallery-thumbnails{background:#335c67e6;padding:1rem;max-height:120px;overflow-y:auto}.thumbnails-container{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.gallery-thumbnails .thumbnail{width:60px;height:60px;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:none;padding:0}.gallery-thumbnails .thumbnail:hover{border-color:#ffffff80}.gallery-thumbnails .thumbnail.active{border-color:#fff}.gallery-thumbnails .thumbnail img{width:100%;height:100%;object-fit:cover}.swipe-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;opacity:.7;pointer-events:none}.delete-confirm-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10001}.delete-confirm-modal{background:#fff;padding:2rem;border-radius:8px;max-width:400px;text-align:center;box-shadow:0 4px 20px #0000004d}.delete-confirm-modal h3{margin:0 0 1rem;color:#335c67}.delete-confirm-modal p{margin:0 0 1.5rem;color:#666}.delete-confirm-actions{display:flex;gap:1rem;justify-content:center}@media(max-width:768px){.gallery-header{padding:.8rem}.image-name{display:none}.gallery-nav{width:40px;height:40px;font-size:1.2rem}.prev-btn{left:1rem}.next-btn{right:1rem}.gallery-thumbnails{padding:.8rem;max-height:100px}.gallery-thumbnails .thumbnail{width:50px;height:50px}.swipe-indicator{display:block}.delete-confirm-modal{padding:1.5rem;margin:1rem}}@media(max-width:480px){.gallery-main{padding:.5rem}.gallery-nav{width:35px;height:35px;font-size:1rem}.prev-btn{left:.5rem}.next-btn{right:.5rem}}body .image-gallery-overlay{padding:clamp(10px,3vw,28px);background:#00351dd1}body .image-gallery{width:min(980px,100%);height:min(820px,100%);border:1.5px solid rgba(215,229,182,.6);border-radius:24px;overflow:hidden;background:var(--broco-bg);box-shadow:0 18px 54px #001e106b}body .image-gallery .gallery-header{min-height:70px;padding:12px 14px;background:var(--broco-clair);color:var(--broco-texte);gap:12px}body .image-gallery .gallery-info{min-width:0}body .image-gallery .image-counter{flex:0 0 auto;border:1px solid rgba(2,104,58,.28);background:#ffffff8f;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:15px}body .image-gallery .image-name{color:var(--broco-texte);font-size:14px;opacity:.75}body .image-gallery .gallery-actions{flex:0 0 auto;gap:8px}body .image-gallery .gallery-btn{width:auto;min-width:44px;height:42px;padding:0 12px;gap:7px;border:1.5px solid var(--broco-fonce);border-radius:12px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:15px}body .image-gallery .gallery-btn:hover{transform:translateY(-1px);background:#02683a1a}body .image-gallery .gallery-delete-btn{border-color:var(--broco-orange);color:#b13d1a}body .image-gallery .gallery-delete-btn:hover{background:#e862221a}body .image-gallery .gallery-close-btn{padding:0;background:var(--broco-fonce);color:var(--broco-clair)}body .image-gallery .gallery-close-btn:hover{background:#03532f}body .image-gallery .gallery-main{padding:16px;background:linear-gradient(145deg,#e7eddd,#d7e5b6)}body .image-gallery .gallery-image{border:1px solid rgba(2,104,58,.2);border-radius:16px;box-shadow:0 10px 28px #00351d3d}body .image-gallery .gallery-thumbnails{padding:10px 14px;background:var(--broco-clair);border-top:1px solid rgba(2,104,58,.14)}body .image-gallery .gallery-thumbnails .thumbnail{border-radius:12px}body .image-gallery .gallery-thumbnails .thumbnail.active{border-color:var(--broco-fonce)}body .image-gallery .swipe-indicator{bottom:14px;background:#00351db8}@media(max-width:520px){body .image-gallery-overlay{padding:8px}body .image-gallery{height:100%;border-radius:20px}body .image-gallery .gallery-header{align-items:flex-start}body .image-gallery .gallery-info{flex-direction:column;align-items:flex-start;gap:4px}body .image-gallery .image-name{display:block;max-width:min(48vw,210px)}body .image-gallery .gallery-btn{min-width:44px;padding:0 11px}body .image-gallery .gallery-delete-label{display:none}body .image-gallery .gallery-main{padding:8px}}.notifications-container{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:calc(20px + env(safe-area-inset-right,0px));z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:400px}.notification{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all .3s ease;animation:slideInRight .3s ease-out;min-height:60px;border:1px solid #16313e;background:#16313e;color:#f2f2f2}.notification-success,.notification.success{background:#2f8f6b;border-color:#2f8f6b;color:#f2f2f2}.notification-error,.notification.error{background:#c0392b;border-color:#c0392b;color:#f2f2f2}.notification-content{display:flex;align-items:center;gap:12px;flex:1}.notification-icon{font-size:20px;flex-shrink:0}.notification-message{font-size:14px;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:#fffc;font-size:20px;font-weight:700;cursor:pointer;padding:4px;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.notification-close:hover{background:#fff3;color:#f2f2f2}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.notifications-container{left:20px;right:20px;max-width:none}.notification{padding:12px}.notification-message{font-size:13px}}.image-cropper-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.image-cropper-container{background:#fff;border-radius:12px;padding:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.image-cropper-header{text-align:center;margin-bottom:20px}.image-cropper-header h3{margin:0 0 8px;color:#333;font-size:1.2rem}.image-cropper-header p{margin:0;color:#666;font-size:.9rem}.image-cropper-canvas-container{display:flex;justify-content:center;margin-bottom:20px;overflow:hidden;border-radius:8px}.image-cropper-canvas{border:2px solid #ddd;border-radius:8px;cursor:move;touch-action:none;max-width:100%;height:auto}.image-cropper-canvas:active{cursor:grabbing}.image-cropper-controls{display:flex;gap:12px;justify-content:center}.image-cropper-controls button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.btn-cancel{background-color:#f5f5f5;color:#666}.btn-cancel:hover{background-color:#e0e0e0}.btn-confirm{background-color:#4caf50;color:#fff}.btn-confirm:hover{background-color:#45a049}.image-cropper-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.image-cropper-overlay{padding:10px}.image-cropper-container{padding:16px;max-height:95vh;border-radius:8px}.image-cropper-header h3{font-size:1.1rem}.image-cropper-header p{font-size:.85rem}.image-cropper-controls{flex-direction:column}.image-cropper-controls button{padding:14px 20px;font-size:1.1rem;min-width:auto}.image-cropper-canvas{border-width:1px}}@media(max-width:480px){.image-cropper-overlay{padding:5px}.image-cropper-container{padding:12px;border-radius:12px}.image-cropper-header,.image-cropper-canvas-container{margin-bottom:16px}.image-cropper-controls{gap:8px}.image-cropper-controls button{padding:16px 20px;font-size:1.1rem;border-radius:12px}}@media(pointer:coarse){.image-cropper-canvas{cursor:grab}.image-cropper-controls button{padding:16px 24px;font-size:1.1rem}.image-cropper-canvas{touch-action:manipulation}}.image-cropper-overlay{animation:fadeIn .3s ease-out}.image-cropper-container{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-container{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background:#667eea;background-image:rgba(255,255,255,.1);filter:blur(8px);z-index:-1}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #2c3e50;border-radius:24px;padding:48px 40px;box-shadow:0 32px 64px #00000026,0 0 0 1px #ffffff0d;text-align:center;max-width:420px;width:100%;z-index:1}.login-header h1{margin:0 0 16px;color:#2c3e50;font-size:2.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.login-header p{margin:0 0 36px;color:#5a6c7d;font-size:1.15rem;line-height:1.5;font-weight:400}.login-content{margin:36px 0}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:18px 24px;border:2px solid #e8e8e8;border-radius:16px;background:#f8f9fa 100%;color:#2c3e50;font-size:1.15rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000000d,0 2px 4px #0000000d}.google-login-btn:hover{border-color:#2c3e50;background:#f0f4ff 100%;box-shadow:0 8px 25px #1d349233,0 4px 12px #0000001a;transform:translateY(-3px)}.google-login-btn:active{transform:translateY(-1px);box-shadow:0 4px 15px #2e35a033,0 2px 6px #0000001a}.google-icon{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.login-footer p{margin:32px 0 0;color:#7a8b9a;font-size:.95rem;font-weight:500;opacity:.8}.login-card{animation:slideInUp .6s cubic-bezier(.4,0,.2,1)}.lnk-legal{margin-top:.5rem;display:flex;color:#2c3e50;font-size:.8rem;justify-content:center;align-items:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.lnk-legal:hover{transform:translateY(-1px);color:#2c3e50cb}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:36px 24px;border-radius:20px}.login-header h1{font-size:2.4rem}.login-header p{font-size:1.05rem}}nav.main-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;position:sticky;top:var(--safe-area-top, env(safe-area-inset-top, 0px));z-index:2000;width:min(calc(100% - 1rem),1440px);margin:.5rem auto 1.25rem;padding:.2rem 1.2rem;background:#16313e;border-radius:18px;box-shadow:0 14px 30px #16313e33;border:1px solid rgba(255,255,255,.08);overflow:visible;font-family:var(--broco-texte-font)}.nav-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem}.nav-menu{display:contents}nav.main-nav.nav-secondary{width:min(calc(100% - 1rem),1280px)}.nav-brand{display:flex;align-items:center;gap:.75rem;padding:.25rem .4rem;border-radius:16px;justify-self:start}.nav-brand-copy{display:flex;flex-direction:column;gap:.1rem}.nav-menu-toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:#ffffff0f;color:#f3fbfe;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}.nav-menu-toggle:hover{background:#ffffff1a;transform:translateY(-1px)}.nav-menu-toggle span{display:block;position:absolute;width:1.1rem;height:2px;border-radius:20px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-menu-toggle span:nth-child(1){transform:translateY(-6px)}.nav-menu-toggle span:nth-child(2){transform:translateY(0)}.nav-menu-toggle span:nth-child(3){transform:translateY(6px)}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(1){transform:rotate(45deg)}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(2){opacity:0}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(3){transform:rotate(-45deg)}.nav-backdrop{display:none}.nav-logo{height:42px;width:42px;border-radius:12px}.nav-brand-eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.02em;color:#f3fbfe}.nav-links{display:flex;align-items:center;justify-content:center;gap:2rem;flex:1;justify-self:center}nav.main-nav a{color:#f3fbfe;text-decoration:none;padding:.55rem .9rem .75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;font-weight:600;font-size:.98rem;transition:opacity .2s ease,transform .2s ease,color .2s ease;position:relative}nav.main-nav a:after{content:"";position:absolute;left:50%;bottom:.25rem;width:calc(100% - 2rem);height:1.5px;border-radius:20px;background:currentColor;transform:translate(-50%) scaleX(0);transform-origin:center;opacity:0;transition:transform .28s ease,opacity .2s ease}nav.main-nav a:hover{opacity:.92;transform:translateY(-1px)}nav.main-nav a.active{color:#fff;background:transparent}nav.main-nav a.active:after{opacity:1;transform:translate(-50%) scaleX(1)}.nav-user{margin-left:auto;justify-self:end}.recipe-detail-overlay .recipe-page-detail,.recipe-form-overlay .recipe-edit-page,.shared-recipe-page .recipe-content{padding-top:1rem;padding-bottom:5rem}@media(max-width:768px){nav.main-nav{display:none}.shared-recipe-page.has-bottombar{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.app{width:100%;padding-top:var(--page-padding, .875rem);padding-left:max(var(--page-padding, .875rem),var(--safe-area-left, env(safe-area-inset-left, 0px)));padding-right:max(var(--page-padding, .875rem),var(--safe-area-right, env(safe-area-inset-right, 0px)))}.shared-recipe-page{padding-top:var(--safe-area-top, env(safe-area-inset-top, 0px));padding-left:var(--safe-area-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-area-right, env(safe-area-inset-right, 0px));padding-bottom:var(--safe-area-bottom, env(safe-area-inset-bottom, 0px));box-sizing:border-box}.landing-page,.auth-page{padding-top:var(--mobile-nav-total-height, 3.55rem);padding-left:var(--safe-area-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-area-right, env(safe-area-inset-right, 0px));padding-bottom:var(--safe-area-bottom, env(safe-area-inset-bottom, 0px));box-sizing:border-box}.recipe-detail-overlay .recipe-page-detail,.recipe-form-overlay .recipe-edit-page{padding-top:var(--safe-area-top, env(safe-area-inset-top, 0px));padding-bottom:calc(5rem + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)))}.nav-header,.nav-menu-toggle{display:none}.nav-menu{width:100%;display:flex;align-items:center;gap:.6rem;position:relative;z-index:1}nav.main-nav.nav-open .nav-menu,nav.main-nav.nav-open .nav-menu *{color:inherit!important}.nav-links{width:auto;display:flex;align-items:center;justify-content:flex-start;gap:.45rem;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity}.nav-links::-webkit-scrollbar{display:none}.nav-links a{scroll-snap-align:start}.nav-links a{min-height:2.45rem;padding:.52rem .75rem .66rem;color:#2f5661;font-size:.92rem;white-space:nowrap}.nav-links a.active{color:#21414a;background:transparent}.nav-links a.active:after{opacity:1;transform:translate(-50%) scaleX(1)}.nav-user{width:auto;margin-left:auto;display:flex;justify-content:flex-end;align-items:center}.nav-user .user-profile.compact{width:auto;display:flex;align-items:center}.nav-user .user-profile.compact .user-avatar{gap:0;padding:.2rem;background:transparent;box-shadow:none}.nav-user .user-profile.compact .user-name,.nav-user .user-profile.compact .dropdown-arrow{display:none}.nav-user .user-profile.compact .user-avatar img{width:32px;height:32px}.nav-user .user-profile.compact .user-dropdown{left:auto;right:0;margin-left:0;margin-right:0;width:min(220px,calc(100vw - 1rem));min-width:0;top:calc(100% + 6px)}nav.main-nav.nav-open .nav-backdrop{display:none}}@media(max-width:480px){.nav-links{gap:.35rem}.nav-links a{padding:.5rem .65rem .64rem;font-size:.88rem}.nav-menu-toggle{width:2.55rem;height:2.55rem}}.shared-recipe-page{min-height:100vh;min-height:100dvh;background:#eef0ef;color:#2f5661;--primary: #2f5661}.recipe-content{width:min(960px,calc(100% - 1.5rem));margin:0 auto;padding:clamp(3rem,3vw,2rem) 0 clamp(3rem,3vw,2.5rem)}.shared-recipe-skeleton{display:flex;flex-direction:column;gap:1.25rem}.shared-recipe-skeleton-header{display:flex;justify-content:space-between;gap:.75rem}.shared-recipe-skeleton-hero{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1rem;align-items:center}.shared-recipe-skeleton-copy,.shared-recipe-skeleton-section{display:flex;flex-direction:column;gap:.75rem}.shared-recipe-skeleton-badges{display:flex;flex-wrap:wrap;gap:.5rem}.shared-recipe-skeleton-section{padding-top:.25rem}@media(max-width:900px){.recipe-content{width:min(100%,760px)}}@media(max-width:560px){.recipe-content{width:calc(100% - 1rem)}.recipe-header-tools{flex-wrap:wrap;justify-content:center;gap:.5rem}.recipe-copy-feedback{top:2.7rem;right:auto;left:50%;transform:translate(-50%)}}.recipe-header{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;margin-bottom:1.25rem}.recipe-header-tools{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:-.2rem}.recipe-qr-action{display:inline-flex;align-items:center}.recipe-tool-btn{width:3.25rem;height:3.25rem;border:none;background:transparent;color:#2d515d;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,transform .2s ease}.recipe-tool-btn svg{width:1.75rem;height:1.75rem;display:block}.recipe-tool-btn:hover{color:#2f5661;transform:translateY(-3px)}.recipe-share-btn{color:#2f5661}.recipe-copy-feedback{position:absolute;top:2.1rem;right:0;padding:.4rem .7rem;border-radius:20px;background:#2f5661f0;color:#fff;font-size:.75rem;font-weight:700;box-shadow:0 10px 22px #254b5a29;pointer-events:none;z-index:25}.recipe-qr-popover{position:absolute;top:2.45rem;left:50%;transform:translate(-50%);width:220px;padding:.8rem;background:#fff;border:1px solid rgba(47,86,97,.14);border-radius:14px;box-shadow:0 12px 28px #254b5a24;display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:20}.recipe-qr-popover img{width:180px;height:180px;display:block}.recipe-qr-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.1rem;padding:.35rem .8rem;border-radius:20px;background:#2f5661;color:#fff;text-decoration:none;font-size:.82rem;font-weight:700}.recipe-qr-link:hover{filter:brightness(1.05)}.recipe-image{width:140px;height:140px;border-radius:24px;overflow:hidden;box-shadow:0 4px 16px #254b5a1f;border:4px solid #2f5661;background:#fff}.recipe-image img{width:100%;height:100%;object-fit:cover}.recipe-info{width:100%}.recipe-title{font-size:2rem;color:#2f5661;margin:0;font-weight:700;line-height:1.15}.recipe-description{font-size:1rem;color:#4f7281;margin:.35rem 0 .7rem;line-height:1.45}.recipe-badges{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap}.badge{padding:.4rem .85rem;border-radius:20px;font-size:.9rem;font-weight:600;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.18)}.badge-category,.badge-type{background:#fff}.recipe-rating{font-size:1rem;margin:.15rem 0 0}.recipe-author{color:#607d86;font-style:italic;margin-top:.65rem;font-size:.8rem}.recipe-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.85rem 0 1rem;padding:.7rem;background:#fff;border-radius:14px;border:1px solid rgba(47,86,97,.4)}.time-info{text-align:center;padding:.5rem .25rem;background:transparent;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:.15rem}.time-icon{font-size:.95rem;line-height:1;color:#6f8e99}.time-label{display:block;font-size:.9rem;color:#6f8e99;margin-bottom:0;font-weight:600}.time-value{display:block;font-size:1rem;font-weight:700;color:#2f5661;text-align:center}.servings-calculator{padding:0;text-align:center;background:transparent;border-radius:0;box-shadow:none;margin-bottom:1rem}.servings-calculator h3{margin-bottom:.4rem;color:#2f5661;font-size:1.2rem;font-weight:700}.servings-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.25rem}.servings-controls .btn{width:2.3rem;height:2.3rem;border-radius:50%;padding:0;font-size:1.2rem;font-weight:700;background:#2f5661;color:#fff;border:none}.servings-display{font-size:.95rem;font-weight:700;color:#2f5661;min-width:40px;padding:.4rem 1.5rem;border-radius:15px;background:#fff;border:1px solid rgba(47,86,97,.2);display:flex;align-items:center;gap:.5rem}.servings-number{font-size:1rem;font-weight:700;vertical-align:middle}.servings-number-input{font-size:1rem;font-weight:700;color:#2f5661;width:60px;text-align:center;border:none;background:transparent;padding:0;margin:0;appearance:textfield;-moz-appearance:textfield}.servings-number-input::-webkit-outer-spin-button,.servings-number-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.servings-number-input:focus{outline:none;background:#ffffff80;border-radius:4px}.servings-label{font-size:1rem;font-weight:700;vertical-align:middle}.servings-label-mobile{display:block;font-size:1rem;font-weight:700;color:#2f5661;text-align:center}@media(max-width:768px){.servings-display .servings-label{display:none}}.proportions-info{color:#2f5661;margin-top:.25rem;font-size:.82rem}.recipe-section{margin-bottom:1rem}.recipe-section h3{font-size:1.2rem;color:#2f5661;margin-bottom:.8rem;font-weight:700;text-align:center}.ingredients-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.ingredient-item{position:relative;min-height:3rem;padding:.55rem .4rem .4rem;background:#fff;border-radius:20px;border:2px solid rgba(47,86,97,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;text-align:center}.ingredient-thumb{position:absolute;top:-.95rem;left:50%;transform:translate(-50%);width:1.6rem;height:1.6rem;border-radius:50%;overflow:hidden;border:2px solid #2f5661;box-shadow:0 3px 10px #254b5a2e;background:#fff}.ingredient-thumb img{width:100%;height:100%;object-fit:cover}.ingredient-quantity{font-weight:700;color:#6f8e99;min-width:0;font-size:.68rem;line-height:1}.ingredient-name{color:#2f5661;font-size:.9rem;font-weight:700;line-height:1.05}.steps-grid{display:grid;gap:.7rem}.step-card{background:#fff;border-radius:12px;border:1.5px solid rgba(47,86,97,.55);padding:.45rem .6rem .55rem}.step-card-title{font-size:1rem;font-weight:700;color:#2f5661;margin-bottom:.25rem}.step-card-body{display:flex;align-items:flex-start;gap:.4rem}.step-number{background:transparent;color:#2f5661;width:auto;height:auto;border-radius:0;display:inline;font-weight:700;flex-shrink:0;font-size:1rem}.step-text{flex-grow:1;padding:0;line-height:1.35;color:#2f5661;font-size:1rem;background:transparent;border-radius:0;min-height:0;max-height:none;overflow:visible;width:auto}.tags-list{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.tag{background:#fff;color:#2f5661;padding:.45rem .85rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(47,86,97,.35)}.recipe-notes{background:#fff;padding:.8rem;border-radius:12px;border:1.5px solid rgba(47,86,97,.55);line-height:1.5;color:#2f5661;font-size:.8rem}.shared-actions{width:100%;margin:1.8rem auto 0;display:flex;justify-content:center;align-items:stretch;flex-wrap:nowrap;gap:1rem;padding:1.2rem 0 0}.shared-actions .btn{padding:.85rem;font-size:.92rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-width:0;flex:1 1 48%;height:46px;color:#fff}.shared-action-btn{border-radius:12px;color:inherit}.shared-action-btn.shared-action-btn-add{box-shadow:0 12px 36px #1f4c5e24}.shared-action-btn.shared-action-btn-print{background:#f7fbfb;color:var(--primary);border:1.5px solid rgba(47,86,97,.55)}.shared-action-btn.shared-action-btn-print:hover{background:#ebf0f0df}.shared-actions .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.shared-actions{gap:.6rem;padding-top:.8rem;flex-wrap:wrap;width:100%;margin:1.4rem auto 0}.shared-actions .btn{font-size:.85rem}}@media(max-width:420px){.shared-actions{gap:.5rem;width:100%;margin:1.2rem auto 0}.shared-actions .btn{font-size:.8rem;min-width:0}}.shared-footer{text-align:center;padding:1.25rem 1rem 2rem;color:#6f8e99}.shared-footer p{margin:0;font-size:.8rem}.loading,.error-state{text-align:center;padding:4rem 2rem;color:#2f5661;max-width:600px;margin:0 auto}.shared-recipe-skeleton .skeleton-block-hero-image{width:140px;height:140px}.error-state h2{color:#2f5661;margin-bottom:1rem}.error-state p{margin-bottom:1rem;line-height:1.6}@media(max-width:768px){.recipe-content{width:calc(100% - .5rem);max-width:none;padding:.8rem .25rem 1.4rem}.shared-recipe-skeleton-hero{grid-template-columns:1fr;justify-items:center}.shared-recipe-skeleton-copy{width:100%}.shared-recipe-skeleton-header{flex-wrap:wrap}.recipe-header{gap:.6rem;margin-bottom:.85rem}.recipe-header-tools{gap:.35rem;margin-bottom:0;flex-wrap:wrap}.recipe-qr-action{position:relative;flex:1 1 auto;justify-content:flex-start}.recipe-share-btn{flex:0 0 auto}.recipe-image{width:108px;height:108px;border-width:3px}.recipe-title{font-size:1.28rem;line-height:1.08}.recipe-description{font-size:.88rem}.recipe-times,.ingredients-grid{grid-template-columns:1fr;gap:.5rem;width:100%}.recipe-times{width:100%;padding:.6rem;border-radius:12px}.time-info{padding:.55rem .35rem}.time-label{font-size:.74rem}.time-value{font-size:.92rem}.ingredient-item{min-height:0;padding:.7rem .75rem;border-radius:14px;width:100%}.ingredient-thumb{width:1.45rem;height:1.45rem;top:-.78rem}.ingredient-quantity,.ingredient-name{font-size:1rem}.steps-grid{gap:.6rem}.step-card{padding:.4rem .55rem .5rem;border-radius:10px;width:100%}.step-card-title{font-size:.68rem}.step-text{font-size:.78rem;line-height:1.45}.servings-calculator h3,.recipe-section h3{font-size:1rem;margin-bottom:.65rem}.servings-controls{gap:.45rem;flex-wrap:wrap}.servings-controls .btn{width:2.3rem;height:2.3rem}.servings-input{padding:.4rem .7rem}.shared-actions{flex-direction:column;width:100%}}@media(max-width:480px){.recipe-content{width:calc(100% - .25rem);padding-inline:.12rem}.recipe-header-tools{margin-bottom:0}.recipe-qr-popover{width:min(220px,calc(100vw - 1rem))}.recipe-image{width:96px;height:96px}.recipe-title{font-size:1.12rem;margin-bottom:.8rem}.recipe-description{font-size:.84rem}.recipe-times{gap:.4rem;padding:.6rem}.servings-calculator,.recipe-section{width:100%}.time-info{padding:.45rem .3rem}.time-label{font-size:.78rem}.time-value{font-size:.92rem}.ingredient-item{min-height:0}.ingredient-quantity{font-size:.9rem}.ingredient-name{font-size:.95rem}.step-card{padding:.38rem .5rem .46rem}.step-card-title{font-size:.76rem}.step-text{font-size:.84rem}.shared-actions{gap:.45rem}.shared-actions .btn{font-size:.8rem}}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#2f5661}.form-input[placeholder=Optionnel]{border-style:dashed;border-color:#ccc}.form-input[placeholder=Optionnel]:focus{border-style:solid;border-color:#2196f3}.landing-page{position:relative;min-height:100svh;display:flex;flex-direction:column;background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font);overflow-x:hidden}.landing-dome{position:absolute;inset:124px -2% 0;z-index:0;background:var(--broco-fonce);border:14px solid var(--broco-jaune);border-bottom:0;border-radius:50% 50% 0 0 / min(47vw,610px) min(47vw,610px) 0 0;pointer-events:none}.landing-nav{position:relative;z-index:1;padding:clamp(12px,2vw,20px) clamp(12px,3vw,32px)}.landing-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,24px);max-width:1440px;margin:0 auto;padding:clamp(11px,1.5vw,16px) clamp(16px,2.5vw,32px);border-radius:24px;background:var(--broco-clair)}.landing-nav-brand{display:inline-flex;align-items:center;gap:16px;text-decoration:none;flex:0 0 auto}.landing-nav-brand img{width:44px;height:50px;object-fit:contain}.landing-nav-brand span{font-family:var(--broco-texte-font);font-size:22px;font-weight:600;color:var(--broco-accent);transform:translateY(-4px);margin-top:10px}.landing-nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.7vw,40px);flex:1 1 auto;min-width:0}.landing-nav-links a{font-family:var(--broco-texte-font);font-size:clamp(14px,1.25vw,18px);font-weight:600;color:var(--broco-accent);text-decoration:none;white-space:nowrap}.landing-nav-links a:hover,.landing-nav-login:hover{color:var(--broco-fonce)}.landing-nav-login{display:inline-flex;align-items:center;gap:16px;color:var(--broco-accent);text-decoration:none;font-family:var(--broco-texte-font);font-size:18px;font-weight:600;white-space:nowrap;flex:0 0 auto}.landing-nav-user{display:inline-flex;align-items:center;gap:12px;color:var(--broco-accent);text-decoration:none;font-family:var(--broco-texte-font);font-size:18px;font-weight:600;white-space:nowrap;flex:0 0 auto}.landing-nav-user:hover{color:var(--broco-fonce)}.landing-nav-user img,.landing-nav-menu-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--broco-accent);background:var(--broco-accent)}.landing-hero{position:relative;z-index:1;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:min(680px,calc(100svh - 104px));padding:clamp(2rem,5vh,3.75rem) clamp(1.25rem,5vw,3rem) clamp(2rem,5vh,3.75rem)}.landing-hero-inner{display:grid;grid-template-columns:minmax(150px,.58fr) minmax(360px,1.42fr);align-items:center;justify-content:center;gap:clamp(18px,3vw,42px);width:100%;max-width:1080px;margin-top:clamp(150px,11vw,200px)}.landing-hero-mascot{flex:0 0 auto;width:min(100%,clamp(160px,21vw,260px));height:auto;aspect-ratio:987 / 1124;object-fit:contain}.landing-hero-copy{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2.3vh,22px);min-width:0}.landing-hero-copy h1{margin:0;max-width:640px;font-family:var(--broco-titre);font-weight:400;font-size:clamp(2.15rem,3.7vw,54px);line-height:1.06;color:var(--broco-accent);text-align:center}.landing-hero-copy>p{margin:0;max-width:640px;font-size:clamp(.95rem,1.35vw,20px);line-height:1.35;color:var(--broco-clair);text-align:center}.landing-purpose-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:640px;margin:-8px 0 0;padding:0;list-style:none}.landing-purpose-list li{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(247,244,233,.62);border-radius:999px;color:var(--broco-clair);font-size:clamp(.78rem,1.2vw,.95rem);line-height:1.2}.landing-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:640px;padding:12px;border:0;border-radius:var(--broco-radius);background:var(--broco-accent);color:var(--broco-bg);font-family:inherit;font-size:16px;text-decoration:none;cursor:pointer;transition:background-color .16s ease}.landing-cta:hover{background:#6c8524}.landing-footer{position:relative;z-index:1;width:min(100%,var(--broco-shell-width, 1440px));margin:0 auto;padding:20px 0}.landing-footer-card{display:flex;align-items:center;gap:70px;width:100%;padding:32px;border-radius:24px;background:var(--broco-clair)}.landing-footer-mascot{flex:0 0 auto;width:150px;height:auto;object-fit:contain}.landing-footer-body{display:flex;flex-direction:column;gap:32px;flex:1 1 auto;min-width:0}.landing-footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.landing-footer-contact{display:inline-flex;align-items:center;gap:12px;font-size:16px;color:var(--broco-texte);text-decoration:none}.landing-footer-contact:hover{color:var(--broco-fonce)}.landing-footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:8px;border:1.5px solid var(--broco-accent);border-radius:12px;font-size:14px;color:var(--broco-accent);text-decoration:none;transition:background-color .16s ease}.landing-footer-btn:hover{background:#7d992a1f}.landing-footer-legal{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-right:32px;font-size:10px;color:var(--broco-texte)}.landing-footer-legal-left{display:flex;align-items:center;gap:24px}.landing-footer-legal a{color:inherit;text-decoration:none}.landing-footer-legal a:hover{text-decoration:underline}.landing-tabbar{display:none;position:relative;z-index:2;align-items:stretch;justify-content:space-between;gap:4px;padding:12px 8px calc(12px + env(safe-area-inset-bottom,0px));background:var(--broco-fonce)}.landing-tabbar a{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:6px;color:var(--broco-clair);text-decoration:none;text-align:center}.landing-tabbar span{font-size:10px;line-height:1.2}@media(max-width:768px){.landing-page{padding-top:var(--safe-area-top, env(safe-area-inset-top, 0px))}}.landing-nav-burger{display:none;align-items:center;justify-content:center;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--broco-accent);cursor:pointer}.landing-nav-burger:hover{background:#7d992a24}.landing-nav-menu{display:none;flex-direction:column;gap:4px;margin-top:8px;padding:12px;border-radius:24px;background:var(--broco-clair)}.landing-nav-menu a{padding:12px 16px;border-radius:12px;font-family:var(--broco-texte-font);font-size:18px;font-weight:600;color:var(--broco-accent);text-decoration:none}.landing-nav-menu a:hover{background:#7d992a24}.landing-nav-menu-login{display:flex;align-items:center;gap:12px;margin-top:4px;border-top:1px solid rgba(125,153,42,.3);border-radius:0 0 12px 12px;font-family:var(--broco-texte-font)!important}@media(max-width:900px){.landing-nav-links,.landing-nav-login,.landing-nav-user{display:none}.landing-nav-burger{display:inline-flex}.landing-nav-menu{display:flex}}@media(max-width:1100px){.landing-dome{top:104px;border-radius:50% 50% 0 0 / min(47vw,610px) min(47vw,610px) 0 0}.landing-nav-bar{gap:16px;padding:12px 20px}.landing-nav-brand img{width:34px;height:38px}.landing-nav-brand span{font-size:18px;transform:translateY(-3px)}.landing-nav-links{gap:20px}.landing-nav-links a{font-size:14px}.landing-nav-login{gap:10px;font-size:14px}.landing-hero-mascot{width:min(100%,clamp(160px,24vw,250px))}.landing-hero-inner{margin-top:clamp(90px,12vw,140px)}.landing-footer-card{gap:32px;padding:24px}.landing-footer-mascot{width:110px}.landing-footer-legal{padding-right:0}}@media(min-width:641px)and (max-height:900px){.landing-dome{top:106px;border-width:12px}.landing-nav{padding-top:10px;padding-bottom:10px}.landing-nav-bar{padding-top:8px;padding-bottom:8px}.landing-nav-brand img{width:32px;height:36px}.landing-hero{min-height:min(640px,calc(100svh - 76px));padding-top:clamp(1.75rem,4vh,2.5rem);padding-bottom:clamp(1.75rem,4vh,2.5rem)}.landing-hero-inner{max-width:980px}.landing-hero-mascot{width:min(100%,clamp(145px,18vw,220px));max-height:38svh}.landing-hero-copy h1{font-size:clamp(2rem,3.5vw,3rem)}.landing-hero-copy>p{font-size:clamp(.9rem,1.5vw,1.15rem)}}@media(max-width:640px){.landing-dome{top:0;left:0;right:0;border-width:12px;border-radius:50% 50% 0 0 / min(47vw,610px) min(47vw,610px) 0 0}.landing-page .landing-nav,.landing-page .landing-footer{display:none}.landing-tabbar{display:flex}.landing-hero{min-height:calc(100svh - 72px - env(safe-area-inset-bottom,0px));padding:clamp(1.75rem,6vh,3.5rem) clamp(1rem,5vw,1.5rem) clamp(1.75rem,5vh,3rem)}.landing-hero-inner{grid-template-columns:minmax(0,1fr);gap:clamp(18px,4vh,28px);max-width:520px;margin-top:0}.landing-hero-mascot{justify-self:center;width:min(170px,42vw,24vh)}.landing-hero-copy{gap:clamp(16px,3vh,24px)}.landing-hero-copy h1{max-width:440px;font-size:clamp(1.85rem,9.5vw,2.65rem);line-height:1.05}.landing-hero-copy>p{font-size:.875rem}.landing-purpose-list{gap:6px;margin-top:-14px}.landing-purpose-list li{padding:6px 8px;font-size:.75rem}.landing-cta{max-width:320px;padding:10px 12px}}@media(max-width:380px),(max-width:640px)and (max-height:700px){.landing-tabbar{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.landing-tabbar a{gap:3px}.landing-tabbar svg{width:20px;height:20px}.landing-tabbar span{font-size:8px}.landing-hero{min-height:calc(100svh - 56px - env(safe-area-inset-bottom,0px));padding-top:1.25rem;padding-bottom:1.25rem}.landing-hero-inner{gap:14px}.landing-hero-mascot{width:min(122px,31vw,19vh)}.landing-hero-copy{gap:13px}.landing-hero-copy h1{font-size:clamp(1.65rem,8.5vw,2rem)}.landing-hero-copy>p{font-size:.78rem;line-height:1.3}.landing-purpose-list{margin-top:-5px}.landing-purpose-list li{padding:4px 7px;font-size:.66rem}.landing-purpose-list svg{width:15px;height:15px}.landing-cta{max-width:270px;padding:9px 10px;font-size:14px}}@media(max-width:640px){.landing-footer{padding:16px}.landing-footer-card{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.landing-footer-mascot{width:90px}.landing-footer-body{gap:20px;width:100%}.landing-footer-contacts{gap:16px;width:100%}.landing-footer-btn{width:100%;padding:10px 12px}.landing-footer-legal{flex-direction:column;align-items:flex-start;gap:6px;padding-right:0}.landing-footer-legal-left{justify-content:space-between;width:100%;gap:12px}}@keyframes rcpPageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rcpRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rcpModalIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rcpBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes rcpPanelInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.planner,.shop,.recipe-grid,.catalogue-header,.empty-state{animation:rcpPageIn .4s cubic-bezier(.22,.61,.36,1) backwards}.shop-switcher{animation:rcpPageIn .45s cubic-bezier(.22,.61,.36,1) backwards}.recipe-card-wrapper,.shop-card,.planner-day,.idea-card,.shop-item{animation:rcpRise .42s cubic-bezier(.22,.61,.36,1) backwards}.recipe-card-wrapper:nth-child(1),.shop-card:nth-child(1),.planner-day:nth-child(1),.idea-card:nth-child(1),.shop-item:nth-child(1){animation-delay:.02s}.recipe-card-wrapper:nth-child(2),.shop-card:nth-child(2),.planner-day:nth-child(2),.idea-card:nth-child(2),.shop-item:nth-child(2){animation-delay:.05s}.recipe-card-wrapper:nth-child(3),.shop-card:nth-child(3),.planner-day:nth-child(3),.idea-card:nth-child(3),.shop-item:nth-child(3){animation-delay:.08s}.recipe-card-wrapper:nth-child(4),.shop-card:nth-child(4),.planner-day:nth-child(4),.idea-card:nth-child(4),.shop-item:nth-child(4){animation-delay:.11s}.recipe-card-wrapper:nth-child(5),.shop-card:nth-child(5),.planner-day:nth-child(5),.idea-card:nth-child(5),.shop-item:nth-child(5){animation-delay:.14s}.recipe-card-wrapper:nth-child(6),.shop-card:nth-child(6),.planner-day:nth-child(6),.idea-card:nth-child(6),.shop-item:nth-child(6){animation-delay:.17s}.recipe-card-wrapper:nth-child(7),.shop-card:nth-child(7),.planner-day:nth-child(7),.idea-card:nth-child(7),.shop-item:nth-child(7){animation-delay:.2s}.recipe-card-wrapper:nth-child(8),.shop-card:nth-child(8),.planner-day:nth-child(8),.idea-card:nth-child(8),.shop-item:nth-child(8){animation-delay:.23s}nav.main-nav a:hover:after{opacity:.55;transform:translate(-50%) scaleX(1)}.nav-logo{transition:transform .25s cubic-bezier(.22,.61,.36,1)}.nav-brand:hover .nav-logo{transform:rotate(-4deg) scale(1.05)}.shop-chip{transition:background .18s ease,border-color .18s ease,transform .12s ease}.shop-chip:active{transform:scale(.96)}.shop-modal-backdrop,.planner-modal-backdrop,.space-panel-backdrop,.delete-modal-backdrop{animation:rcpBackdropIn .18s ease both}.shop-modal,.planner-modal,.delete-modal{animation:rcpModalIn .26s cubic-bezier(.22,.61,.36,1) backwards}.space-panel{animation:rcpPanelInRight .3s cubic-bezier(.22,.61,.36,1) backwards}.shop-btn:active,.planner-btn:active,.shop-add-confirm:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.planner,.shop,.recipe-grid,.catalogue-header,.empty-state,.shop-switcher,.recipe-card-wrapper,.shop-card,.planner-day,.idea-card,.shop-item,.shop-modal-backdrop,.planner-modal-backdrop,.space-panel-backdrop,.delete-modal-backdrop,.shop-modal,.planner-modal,.delete-modal,.space-panel{animation:none!important}.nav-logo,.shop-chip{transition:none!important}}html{overflow-x:hidden}:root{--broco-shell-width: min( calc(100vw - clamp(24px, 6vw, 64px)) , 1280px)}body:has(.shared-recipe-page){background:var(--broco-accent)}.app{background:var(--broco-bg);font-family:var(--broco-texte-font)}@media(min-width:769px){.app{padding-top:0}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top,0px);background:var(--broco-bg)}}nav.main-nav,nav.main-nav.nav-secondary{position:static;flex-shrink:0;align-self:center;width:var(--broco-shell-width);max-width:1280px;margin:var(--page-padding) auto 0;padding:8px clamp(14px,1.8vw,20px);border:0;border-radius:18px;background:var(--broco-clair);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}nav.main-nav .nav-header{gap:12px}nav.main-nav .nav-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.nav-logo{width:30px;height:34px;object-fit:contain;border-radius:0;background:none}.nav-brand-eyebrow{font-family:var(--broco-texte-font);font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--broco-accent)}nav.main-nav .nav-links{gap:clamp(12px,1.8vw,26px)}nav.main-nav a{padding:0;border-radius:0;background:none;font-family:var(--broco-texte-font);font-size:clamp(13px,.9vw,14px);font-weight:600;color:var(--broco-accent)}nav.main-nav a:after{display:none}nav.main-nav a:hover,nav.main-nav a.active{background:none;color:var(--broco-fonce)}nav.main-nav .user-name{font-family:var(--broco-texte-font);font-size:13px;font-weight:600;color:var(--broco-accent)}nav.main-nav .user-avatar{border-color:var(--broco-accent);gap:6px;padding:5px 8px}nav.main-nav .user-avatar img{width:25px;height:25px}nav.main-nav .nav-menu-toggle span{background:var(--broco-accent)}.search-filters-container{align-self:center;width:var(--broco-shell-width);max-width:none;margin:0 auto;padding:clamp(14px,2vw,24px) 0 0;background:none;border:0;box-shadow:none}.search-filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(8px,1.2vw,14px);width:100%;min-height:36px}.search-filters-row .btn-new-recipe:not(.btn-import-recipe){order:1}.search-filters-row .btn-import-recipe{order:2}.search-filters-row .filters-row{order:3;display:flex;flex:0 0 max-content;flex-wrap:nowrap;width:max-content;min-width:max-content;gap:10px;margin-left:auto}.search-filters-row .filters-row .filter-group{flex:0 0 auto}.search-filters-row .filters-row .filter-type{width:96px}.search-filters-row .filters-row .filter-category{width:132px}.search-filters-row .filters-row .filter-maxTime{width:146px}.search-filters-row .filters-row .filter-trigger,.search-filters-row .filters-row .filter-menu{width:100%;min-width:0}.filters-inline-reset{flex:0 0 76px;min-height:36px;padding:6px 8px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:10px;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease}.filters-inline-reset[aria-hidden=true]{visibility:hidden;pointer-events:none}.filters-inline-reset:hover{background:var(--broco-accent);color:var(--broco-bg)}.search-filters-row .search-bar-wrap{order:4;margin-left:0}.search-filters-row .btn.btn-new-recipe{min-width:82px;min-height:36px;padding:6px 10px;border:1.5px solid var(--broco-fonce);border-radius:8px;background:var(--broco-fonce);color:var(--broco-bg);font-family:var(--broco-texte-font);font-size:13px;font-weight:400;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.search-filters-row .btn.btn-new-recipe:not(.btn-import-recipe):hover{border-color:#00542f;background:#00542f;box-shadow:0 6px 14px #00532e33;transform:translateY(-1px)}.search-filters-row .btn.btn-import-recipe{border-color:var(--broco-fonce);background:transparent;color:var(--broco-fonce)}.search-filters-row .btn.btn-import-recipe:hover{border-color:var(--broco-accent);background:#7d992a21;color:var(--broco-fonce);box-shadow:0 6px 14px #00532e1f}.search-filters-row .btn.btn-new-recipe:active{box-shadow:none;transform:translateY(0)}.filter-select.filter-trigger{min-height:36px;min-width:116px;padding:6px 9px;border:1.5px solid var(--broco-fonce);border-radius:8px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:12px;gap:6px;box-shadow:none}.filter-select.filter-trigger:hover{background:#02683a14}.filter-trigger-label{color:inherit}.filter-maxTime .filter-trigger-value,.filter-maxTime .filter-option{align-items:baseline;gap:4px;white-space:nowrap}.filter-maxTime .filter-trigger-value{display:inline-flex}.filter-maxTime .filter-option{display:flex}.filter-duration-name{font-size:1em}.filter-duration-detail{font-size:.65em;font-weight:500;opacity:.72}.filter-menu{border:2px solid var(--broco-fonce);border-radius:12px;background:var(--broco-bg)}.filter-option{color:var(--broco-texte);font-family:var(--broco-texte-font)}.filter-option.selected,.filter-option:hover{background:#7d992a2e;color:var(--broco-fonce)}.search-filters-row .search-bar-wrap{display:flex;align-items:center;gap:12px;flex:1 1 260px;max-width:280px;min-height:36px;padding:6px 9px;border:1.5px solid var(--broco-fonce);border-radius:8px;color:var(--broco-fonce);cursor:text}.search-filters-row .search-bar-wrap svg{flex:0 0 auto}.search-filters-row .search-bar{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:13px;line-height:18px;box-shadow:none;outline:none}.search-filters-row .search-bar::placeholder{color:var(--broco-fonce);opacity:.85}.search-filters-row .search-bar::-webkit-search-cancel-button{-webkit-appearance:none}.filters-reset-btn{border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent)}body .bottom-tabbar{padding:0;border:0;background:transparent;box-shadow:none}body .bottom-tabbar-inner{padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));border:0;border-radius:0;background:var(--broco-fonce);box-shadow:none}body .bottom-tab{flex:1 1 0;min-width:0;color:var(--broco-clair)}body .bottom-tab.active{color:#fff;background:transparent}body .bottom-fab{display:none}@media(max-width:1100px){nav.main-nav,nav.main-nav.nav-secondary{margin:var(--page-padding) auto 0;padding:8px 16px}.nav-logo{width:30px;height:34px}.nav-brand-eyebrow{font-size:16px}nav.main-nav .nav-header{gap:8px}nav.main-nav .nav-brand{gap:8px}nav.main-nav .nav-links{gap:16px;justify-self:stretch;max-width:100%;min-width:0;justify-content:center;overflow-x:auto;scrollbar-width:none}nav.main-nav .nav-links::-webkit-scrollbar{display:none}nav.main-nav a{font-size:12px;white-space:nowrap}nav.main-nav .user-name{font-size:13px}.search-filters-container{padding-inline:0}.search-filters-row .search-bar-wrap{order:4;flex:1 1 170px;max-width:230px;margin-left:0}.search-filters-row .filters-row{margin-left:auto;flex-wrap:nowrap;gap:6px}.search-filters-row .filters-row .filter-type{width:86px}.search-filters-row .filters-row .filter-category{width:116px}.search-filters-row .filters-row .filter-maxTime{width:128px}.filters-inline-reset{flex-basis:64px;padding-inline:5px;font-size:9px}.search-filters-row .btn.btn-new-recipe{min-width:72px;padding-inline:8px;font-size:12px}}@media(max-width:640px){.search-filters-row{flex-direction:row;align-items:center;gap:8px}.search-filters-row .search-bar-wrap{min-height:40px;padding:8px 12px}.search-filters-row .btn.btn-new-recipe,.search-filters-row .btn-new-recipe,.search-filters-row .create-right{flex:0 1 auto;width:auto;margin-left:0;min-width:0;min-height:40px;padding:8px 12px;font-size:13px}.search-filters-row .filters-row{order:3;flex:1 1 100%;width:100%;min-width:0;flex-wrap:nowrap;gap:8px;margin-left:0}.search-filters-row .filters-row .filter-group{flex:1 1 0;min-width:0}.search-filters-row .filters-row .filter-type,.search-filters-row .filters-row .filter-category,.search-filters-row .filters-row .filter-maxTime{width:auto}.filters-inline-reset{flex-basis:72px;min-height:40px;padding-inline:5px;font-size:9px}.filter-select.filter-trigger{width:100%;min-width:0;min-height:40px;padding:8px;font-size:13px;gap:4px}.filter-trigger-label:empty{display:none}.filter-trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}body .bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:auto;padding:6px 2px}.bottom-tab-label{font-family:var(--broco-texte-font);font-size:9px;line-height:1.15;text-align:center;white-space:nowrap}.search-filters-row .search-bar{height:auto;min-height:0}.filter-select.filter-trigger,.cat-filters .filter-select.filter-trigger{line-height:18px;box-sizing:border-box}.search-filters-row .search-bar-wrap,.cat-search{box-sizing:border-box;min-height:36px;padding:6px 9px}.search-filters-row .create-right{margin-left:0}@media(max-width:768px){body:has(.bottom-tabbar) .landing-footer{width:100vw;margin-inline:calc(50% - 50vw);padding-inline:34px;padding-bottom:calc(123px + env(safe-area-inset-bottom,0px))}body:has(.bottom-tabbar) .app{display:flex;flex-direction:column;min-height:100dvh}body:has(.bottom-tabbar) .app>*:has(.landing-footer){flex:1 1 auto;display:flex;flex-direction:column}body:has(.bottom-tabbar) .landing-footer{margin-top:auto}body.liked-view .planner>.liked,body.liked-view .liked>.liked-dome{flex:1 1 auto;display:flex;flex-direction:column}body.liked-view .liked-dome>.liked-grid{flex:0 0 auto}}.rx-page{--rx-main-width: 520px;--rx-media-size: clamp(190px, 24vw, 330px);--rx-wide-width: 840px;width:100%;min-height:100svh;margin:0;background:var(--broco-accent);color:var(--broco-clair);font-family:var(--broco-texte-font)}.rx-content{display:flex;flex-direction:column;align-items:flex-start;width:var( --broco-shell-width, min( calc(100vw - clamp(24px, 6vw, 64px)) , 1280px) );margin:0 auto;padding:24px 0 0}.rx-skeleton{gap:0}.rx-skeleton .skeleton-block{background:linear-gradient(90deg,#d9e5b833,#d9e5b8b8,#d9e5b833);background-size:200% 100%}.rx-skeleton-topbar{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:36px}.rx-skeleton-back{width:34px;height:34px;border-radius:50%}.rx-skeleton-tools{display:flex;gap:24px}.rx-skeleton-tool{width:24px;height:24px;border-radius:50%}.rx-skeleton-hero{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,120px);width:100%;margin-bottom:60px}.rx-skeleton-main{display:flex;flex:1 1 var(--rx-main-width);flex-direction:column;align-items:flex-start;gap:24px;max-width:var(--rx-main-width);min-width:0}.rx-skeleton-title{width:min(420px,78%);height:38px}.rx-skeleton-author{width:220px;height:29px;border-radius:12px}.rx-skeleton-tags{display:flex;flex-wrap:wrap;gap:12px}.rx-skeleton-tag{width:92px;height:27px;border-radius:4px}.rx-skeleton-description{display:flex;flex-direction:column;gap:9px;width:100%}.rx-skeleton-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;max-width:482px;padding:24px 16px 24px 0;border-top:5px solid rgba(0,53,29,.55);border-bottom:5px solid rgba(0,53,29,.55)}.rx-skeleton-stat{display:flex;flex-direction:column;align-items:center;gap:8px}.rx-skeleton-stat-label{width:72px;height:20px}.rx-skeleton-stat-icon{width:44px;height:44px;border-radius:50%}.rx-skeleton-stat-value{width:48px;height:18px}.rx-skeleton-image{flex:0 0 auto;width:var(--rx-media-size);aspect-ratio:370 / 362;border-radius:120px}.rx-skeleton-ingredients{display:flex;flex-direction:column;gap:24px;width:100%;max-width:var(--rx-main-width);margin-bottom:60px}.rx-skeleton-section-title{width:190px;height:35px}.rx-skeleton-ingredients-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:32px;border-radius:24px;background:#00351d8c}.rx-skeleton-ingredient{display:flex;align-items:center;gap:12px}.rx-skeleton-dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%}.rx-skeleton-band{width:100vw;height:66px;margin:0 calc(50% - 50vw);background:#d9e5b880}.rx-skeleton-steps{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:70px}.rx-skeleton-step{display:flex;align-items:center;gap:clamp(1.5rem,8vw,100px);width:100%;max-width:var(--rx-wide-width);padding:12px 0}.rx-skeleton-step-number{flex:0 0 auto;width:42px;height:42px;border-radius:12px}.rx-topbar{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:36px}.rx-back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1.5px solid var(--broco-clair);border-radius:50%;background:transparent;color:var(--broco-clair);cursor:pointer}.rx-tools{position:relative;display:flex;align-items:center;gap:24px}.rx-tool{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--broco-clair);cursor:pointer}.rx-qr{position:relative;display:flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;line-height:0}.rx-copy-feedback{position:absolute;top:calc(100% + 8px);right:0;padding:6px 12px;border-radius:8px;background:var(--broco-fonce);color:var(--broco-clair);font-size:13px;white-space:nowrap}.rx-likes{position:relative;display:flex;flex-direction:column;gap:8px}.rx-likes.has-reset-notice{padding-bottom:58px}.rx-likes-reset{position:absolute;top:38px;right:0;width:min(330px,calc(100vw - 64px));margin:0;padding:8px 10px;border:1px solid rgba(215,229,182,.45);border-radius:12px;background:#00351d42;color:var(--broco-clair);font-size:12px;line-height:1.3;text-align:right;box-shadow:0 6px 16px #00351d1f}.rx-likes-row{display:flex;align-items:center;gap:16px}.rx-like,.rx-dislike{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--broco-clair);cursor:pointer}.rx-like span{font-family:var(--broco-titre);font-size:20px;line-height:24px}.rx-like.is-active{color:var(--broco-rose)}.rx-dislike{font-size:14px;opacity:.85}.rx-dislike.is-active{color:var(--broco-orange)}.rx-hero{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,120px);width:100%;margin-bottom:60px}.rx-hero-main{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex:1 1 var(--rx-main-width);max-width:var(--rx-main-width);min-width:0}.rx-title{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.6rem,3vw,32px);line-height:1.2;color:var(--broco-clair)}.rx-sharedby{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;line-height:29px}.rx-chip{padding:4px 16px;border-radius:12px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-size:16px;line-height:19px}.rx-tags{display:flex;flex-wrap:wrap;gap:12px}.rx-tag{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1.5px solid var(--broco-clair);border-radius:10px;font-family:var(--broco-titre);font-size:14px;line-height:17px;color:var(--broco-clair)}.rx-description{margin:0;font-size:16px;line-height:23px}.rx-stats{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;max-width:482px;padding:24px 16px 24px 0;border-top:5px solid var(--broco-fonce);border-bottom:5px solid var(--broco-fonce)}.rx-stat{display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:8px;min-width:0}.rx-stat svg{color:var(--broco-fonce);width:44px;height:44px}.rx-stat-label{font-weight:700;font-size:18px;line-height:25px;color:var(--broco-clair);white-space:nowrap}.rx-stat-value{font-size:16px;line-height:23px;color:var(--broco-clair);text-align:center}.rx-servings{display:inline-flex;align-items:center;gap:4px}.rx-servings button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1.5px solid var(--broco-clair);border-radius:50%;background:transparent;color:var(--broco-clair);font-size:14px;line-height:1;cursor:pointer}.rx-servings input{width:40px;padding:2px 0;border:0;border-bottom:1.5px solid var(--broco-clair);background:transparent;color:var(--broco-clair);font-family:inherit;font-size:16px;text-align:center;-moz-appearance:textfield}.rx-servings input::-webkit-outer-spin-button,.rx-servings input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rx-proportions{margin:0;font-size:14px;font-style:italic;color:var(--broco-texte)}.rx-image{flex:0 0 auto;width:var(--rx-media-size);aspect-ratio:370 / 362;border-radius:120px;overflow:hidden;background:var(--broco-fonce)}.rx-image img{display:block;width:100%;height:100%;object-fit:cover}.rx-ingredients{display:flex;flex-direction:column;gap:24px;width:100%;max-width:var(--rx-main-width);margin-bottom:60px}.rx-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rx-section-head h2{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:29px;line-height:35px;color:var(--broco-clair)}.rx-page .courses-target-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1.5px solid var(--broco-clair);border-radius:12px;background:transparent;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:14px;line-height:20px;box-shadow:none}.rx-page .courses-target-btn:hover:not(:disabled){border-color:var(--broco-clair);background:var(--broco-clair);color:var(--broco-fonce);box-shadow:0 5px 12px #00351d33;transform:translateY(-1px)}.rx-page .courses-target-btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.rx-page .courses-target-menu{background:var(--broco-clair);color:var(--broco-texte);border:1.5px solid var(--broco-fonce)}.rx-courses-feedback{margin:-12px 0 0;font-size:14px;color:var(--broco-clair)}.rx-ingredients-box{position:relative;columns:2;column-gap:12px;margin:20px 0 0;padding:32px 32px 20px;border-radius:24px;background:var(--broco-fonce);list-style:none}.rx-ingredients-box:before{content:"";position:absolute;top:-20px;left:29%;width:252px;max-width:55%;height:40px;border-radius:6px 14px 8px 12px/40% 60% 45% 55%;background:var(--broco-rose);transform:rotate(-1.2deg);pointer-events:none}.rx-ingredients-box li{display:flex;align-items:center;gap:12px;break-inside:avoid;margin-bottom:12px;font-size:16px;line-height:23px;color:var(--broco-clair)}.rx-ingredients-box svg{flex:0 0 auto}.fruit-band{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100vw;height:66px;margin:0 calc(50% - 50vw);padding:8px 32px;background:var(--broco-clair);overflow:hidden}.fruit-band-icon{flex:0 1 auto;height:50px;width:auto;min-width:0;object-fit:contain}.fruit-band-icon--framboise{clip-path:inset(14px 0 0);transform:translateY(-7px)}.fruit-band-icon--ananas{clip-path:inset(12px 0 0);transform:translateY(-6px)}.fruit-band-icon--pasteque{clip-path:inset(18px 0 0);transform:translateY(-9px)}.fruit-band-title{flex:0 0 auto;font-family:var(--broco-titre);font-size:29px;line-height:35px;color:var(--broco-fonce);white-space:nowrap}.rx-steps{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;margin:70px 0 0;padding:0;list-style:none}.rx-step{display:flex;align-items:center;gap:clamp(1.5rem,8vw,100px);width:100%;max-width:var(--rx-wide-width);padding:12px 0}.rx-step-number{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--broco-rose);color:var(--broco-bg);font-family:var(--broco-titre);font-size:28px;line-height:34px}.rx-step-text{margin:0;font-size:16px;line-height:23px;color:var(--broco-bg)}.rx-notes{width:100%;max-width:var(--rx-wide-width);margin:32px auto 0;color:var(--broco-bg)}.rx-notes h3{font-family:var(--broco-titre);font-weight:400;font-size:24px;color:var(--broco-clair)}.rx-btn{display:inline-flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:12px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-size:16px;line-height:19px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.rx-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 16px #00351d2e}.rx-btn:disabled{opacity:.7;cursor:default}.rx-btn-solid{background:var(--broco-fonce)}.rx-btn-solid:hover:not(:disabled){background:var(--broco-fonce)}.rx-btn-outline{background:var(--broco-clair);color:var(--broco-fonce)}.rx-btn-outline:hover:not(:disabled){background:var(--broco-clair)}.rx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:32px;width:100%;max-width:var(--rx-wide-width);margin:46px auto 70px;padding:0 0 24px}.rx-changelog{display:flex;flex-direction:column;gap:16px;width:100%;max-width:var(--rx-wide-width);margin:0 auto 60px}.rx-changelog-title{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:24px;line-height:29px;color:var(--broco-clair)}.rx-changelog-note{padding:10px 14px;border-radius:8px;font-size:14px}.rx-changelog-note.is-success{background:var(--broco-clair);color:var(--broco-fonce)}.rx-changelog-note.is-error{background:#e8622226;color:var(--broco-bg)}.rx-changelog-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.rx-version{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border:1.5px solid rgba(217,229,184,.35);border-radius:12px;background:transparent;color:var(--broco-bg)}.rx-version.is-current{border-color:var(--broco-clair);background:#02683a59}.rx-version-badge{flex:0 0 auto;min-width:36px;padding:3px 8px;border-radius:6px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-size:12px;text-align:center}.rx-version-body{flex:1 1 auto;min-width:0}.rx-version-message{margin:0;font-size:14px;line-height:1.5}.rx-version-meta{margin:4px 0 0;font-size:12px;color:var(--broco-clair)}.rx-version-meta strong{font-weight:500;color:var(--broco-bg)}.rx-version-likes{display:inline-flex;align-items:center;gap:3px;margin-left:8px}.rx-version-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.rx-version-view{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid rgba(217,229,184,.62);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-size:13px;cursor:pointer}.rx-version-view:hover:not(:disabled){background:#d9e5b829}.rx-version-view:disabled{opacity:.55;cursor:wait}.rx-version-current{padding:2px 10px;border-radius:12px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-size:12px}.rx-btn-sm{padding:5px 12px;font-size:13px;line-height:16px}.rx-version-preview-overlay{position:fixed;inset:0;z-index:20040;display:grid;place-items:center;padding:18px;background:#00351dc2}.rx-version-preview{width:min(680px,100%);max-height:min(780px,calc(100svh - 36px));overflow:hidden;border:1.5px solid rgba(215,229,182,.7);border-radius:22px;background:var(--broco-bg);color:var(--broco-texte);box-shadow:0 18px 56px #001e1066}.rx-version-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--broco-clair)}.rx-version-preview-head span{color:var(--broco-fonce);font-family:var(--broco-titre);font-size:14px}.rx-version-preview-head h3{margin:3px 0 0;color:var(--broco-texte);font-family:var(--broco-titre);font-size:27px;line-height:1.1}.rx-version-preview-head button{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid var(--broco-fonce);border-radius:10px;background:transparent;color:var(--broco-fonce);cursor:pointer}.rx-version-preview-body{max-height:calc(min(780px,100svh - 36px) - 92px);overflow-y:auto;padding:20px}.rx-version-preview-image{display:block;width:100%;max-height:260px;margin-bottom:16px;border-radius:14px;object-fit:cover}.rx-version-preview-description{margin:0 0 14px;line-height:1.5}.rx-version-preview-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.rx-version-preview-meta span{padding:4px 8px;border-radius:999px;background:#02683a1a;color:var(--broco-fonce);font-size:13px}.rx-version-preview-body section+section{margin-top:20px}.rx-version-preview-body h4{margin:0 0 8px;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:20px}.rx-version-preview-body ul,.rx-version-preview-body ol{margin:0;padding-left:21px;line-height:1.6}.rx-comments{display:flex;flex-direction:column;gap:40px;width:100%;max-width:var(--rx-wide-width);margin-right:auto;margin-left:auto;padding-bottom:60px}.rx-comment-form{display:flex;flex-direction:column;align-items:flex-end;gap:16px;width:100%}.rx-comment-form-actions .rx-btn{border:0;background:var(--broco-clair);transition:transform .16s ease,box-shadow .16s ease}.rx-comment-form-actions .rx-btn:hover:not(:disabled){background:var(--broco-clair);transform:translateY(-2px);box-shadow:0 7px 16px #00351d2e}.rx-comment-form-row{display:flex;align-items:flex-start;gap:16px;width:100%}.rx-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--broco-fonce)}.rx-comment-form textarea{flex:1 1 auto;min-height:78px;padding:12px 20px;border:0;border-radius:12px;background:var(--broco-fonce);color:var(--broco-clair);font-family:inherit;font-weight:500;font-size:17px;line-height:22px;resize:vertical}.rx-comment-form textarea::placeholder{color:var(--broco-clair);opacity:.9}.rx-comment-error{margin:0;color:var(--broco-orange);font-size:13px}.rx-comment-login{margin:0;color:var(--broco-texte)}.rx-comment-login a{color:var(--broco-clair);text-decoration:underline}.rx-comment-empty{margin:0;font-style:italic;color:var(--broco-texte)}.rx-comment-list{display:flex;flex-direction:column;gap:20px;width:100%;max-width:582px}.rx-comment{padding:12px 32px 20px;border-radius:12px;background:var(--broco-clair);color:var(--broco-texte)}.rx-comment-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.rx-comment .rx-avatar{width:30px;height:30px}.rx-comment-author{padding:4px 16px;border:0;border-radius:12px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-size:16px;line-height:19px}.rx-comment-author.is-link{cursor:pointer;transition:background-color .14s ease}.rx-comment-author.is-link:hover{background:#03532f}.rx-comment-date,.rx-comment-edited{font-size:12px;line-height:17px;color:#02683a80}.rx-comment-body{margin:0;font-size:16px;line-height:23px;white-space:pre-wrap;word-break:break-word}.rx-comment-actions{display:flex;gap:16px;margin-top:10px}.rx-comment-actions button{padding:0;border:0;background:none;color:var(--broco-fonce);font-size:12px;cursor:pointer}.rx-comment-actions .is-danger{color:var(--broco-orange)}.rx-comment-edit textarea{width:100%;padding:8px 10px;border:1.5px solid var(--broco-accent);border-radius:8px;background:#fff;font-family:inherit;font-size:14px;resize:vertical}.rx-comment-edit-actions{display:flex;gap:8px;margin-top:8px}.rx-comment .rx-btn{padding:6px 12px;font-size:13px;color:var(--broco-fonce);border-color:var(--broco-fonce)}.rx-comment .rx-btn-solid{color:var(--broco-clair)}.rx-page .landing-footer{padding-top:0}@media(max-width:900px){.rx-content{padding:16px 16px 0}.rx-skeleton-hero{flex-direction:column-reverse;align-items:stretch;gap:24px;margin-bottom:40px}.rx-skeleton-main{flex:0 0 auto;max-width:none}.rx-skeleton-image{width:min(100%,360px);align-self:center}.rx-skeleton-stats{max-width:none;padding-right:0}.rx-skeleton-stat-label{width:min(64px,100%);height:18px}.rx-skeleton-stat-icon{width:36px;height:36px}.rx-skeleton-ingredients{max-width:none;margin-bottom:40px}.rx-skeleton-ingredients-box{grid-template-columns:1fr;padding:20px}.rx-skeleton-band{height:52px}.rx-skeleton-steps{margin-top:40px}.rx-skeleton-step{align-items:flex-start;gap:16px}.rx-skeleton-step-number{width:36px;height:36px}.rx-hero{flex-direction:column-reverse;align-items:stretch;gap:24px;margin-bottom:40px}.rx-hero-main{max-width:none;flex:0 0 auto}.rx-image{width:min(100%,360px);align-self:center}.rx-stats{max-width:none;padding-right:0}.rx-stat-label{font-size:15px;line-height:20px}.rx-stat svg{width:36px;height:36px}.rx-ingredients{max-width:none;margin-bottom:40px}.rx-section-head{flex-wrap:wrap}.rx-ingredients-box{columns:1;padding:20px 20px 8px}.fruit-band{height:52px;padding:6px 12px;gap:4px}.fruit-band-icon{height:34px}.fruit-band-icon--framboise{clip-path:inset(10px 0 0);transform:translateY(-5px)}.fruit-band-icon--ananas{clip-path:inset(8px 0 0);transform:translateY(-4px)}.fruit-band-icon--pasteque{clip-path:inset(12px 0 0);transform:translateY(-6px)}.fruit-band-icon:nth-child(2n){display:none}.fruit-band-title{font-size:22px}.rx-steps{margin-top:40px}.rx-step{gap:16px;align-items:flex-start}.rx-step-number{width:36px;height:36px;font-size:24px}.rx-actions{gap:12px;margin:32px 0 40px}.rx-comment{padding:12px 16px 16px}.rx-comment-list{max-width:none}}.rx-empty{margin:0;font-style:italic;color:var(--broco-texte)}.rx-qr-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:30;display:flex;flex-direction:column;align-items:center;gap:12px;width:220px;padding:12px;border-radius:16px;background:var(--broco-clair);box-shadow:0 12px 28px #00351d40}.rx-qr-popover img{display:block;width:180px;height:180px;border-radius:8px}.rx-qr-link{width:100%;justify-content:center;text-decoration:none}.cat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;align-self:center;width:var(--broco-shell-width);min-height:36px;margin:0 auto;padding:clamp(14px,2vw,24px) 0 0}.cat-search{order:3;display:flex;align-items:center;gap:8px;flex:0 1 280px;min-width:0;box-sizing:border-box;min-height:36px;padding:6px 9px;border:1.5px solid var(--broco-fonce);border-radius:8px;color:var(--broco-fonce);cursor:text;margin-left:0}.cat-search svg{flex:0 0 auto}.cat-search input{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:13px;line-height:18px;outline:none}.cat-search input::placeholder{color:var(--broco-fonce);opacity:.85}.cat-search input::-webkit-search-cancel-button{-webkit-appearance:none}.cat-toolbar-right{display:contents}.cat-switches{order:1;display:flex;align-items:center;gap:12px;margin-right:0}.cat-switch.is-disabled{cursor:not-allowed;opacity:.55}.cat-switch{display:inline-flex;align-items:center;gap:4px;padding:6px 4px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cat-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cat-switch-track{position:relative;display:inline-block;width:42px;height:26px;border:1.5px solid var(--broco-fonce);border-radius:100px;background:var(--broco-bg);transition:background-color .16s ease}.cat-switch-thumb{position:absolute;top:50%;left:5px;width:13px;height:13px;border-radius:50%;background:var(--broco-fonce);transform:translateY(-50%);transition:left .16s ease,width .16s ease,height .16s ease,background-color .16s ease}.cat-switch input:checked+.cat-switch-track{background:var(--broco-fonce)}.cat-switch input:checked+.cat-switch-track .cat-switch-thumb{left:18px;width:20px;height:20px;background:#fff}.cat-switch input:focus-visible+.cat-switch-track{outline:2px solid var(--broco-accent);outline-offset:2px}.cat-switch-label{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;font-family:var(--broco-texte-font);font-size:13px;line-height:18px;color:var(--broco-fonce)}.cat-filters{order:2;display:flex;align-items:center;gap:10px;margin-left:auto}.cat-filters .filter-select.filter-trigger{min-height:36px;padding:6px 9px;border:1.5px solid var(--broco-fonce);border-radius:8px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:13px;gap:8px}.cat-filters .filter-trigger-label:empty{display:none}.cat-filters .filter-menu{border:2px solid var(--broco-fonce);border-radius:12px;background:var(--broco-bg)}.cat-filters .filter-option{color:var(--broco-fonce);font-family:var(--broco-texte-font)}.cat-filters .filter-option.selected,.cat-filters .filter-option:hover{background:#02683a1f}.cat-canvas{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%;margin:clamp(14px,2vw,24px) 0 0}@media(min-width:769px){.cat-canvas{margin-bottom:calc(-1 * var(--page-padding, 24px))}}.cat-dome{position:absolute;left:50%;width:116vw;top:0;bottom:0;z-index:0;transform:translate(-50%);background:var(--broco-clair);border:10px solid var(--broco-accent);border-bottom:0;border-radius:50% 50% 0 0 / min(35vw,450px) min(35vw,450px) 0 0;pointer-events:none}.cat-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;padding:clamp(.875rem,2vw,1.4rem) clamp(.875rem,2.5vw,1.75rem) clamp(1.75rem,4vw,3rem)}.cat-hero{display:flex;align-items:center;justify-content:center;gap:16px;max-width:700px;margin:0 auto clamp(1rem,2.5vw,1.75rem);padding-top:clamp(1.25rem,4vw,3rem)}.cat-hero-mascot{flex:0 0 auto;width:clamp(90px,14vw,180px);height:auto;aspect-ratio:987 / 1124;object-fit:contain}.cat-hero-copy{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:460px;min-width:0}.cat-hero-copy h1{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.8rem,4.2vw,48px);line-height:1.08;color:var(--broco-accent);text-align:center}.cat-hero-copy p{margin:0;font-family:var(--broco-texte-font);font-size:13px;line-height:17px;color:var(--broco-fonce)}.cat-grid,.cat-stage>.recipe-grid{flex-shrink:0;width:var(--broco-shell-width);margin-right:0;margin-left:0}.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);padding:20px 0}.cat-card-wrapper{display:flex;flex-direction:column;gap:8px}body .cat-grid .recipe-card--catalogue{border-radius:16px}body .cat-grid .recipe-card--catalogue .recipe-card-head{gap:8px;padding:6px 12px}body .cat-grid .recipe-card--catalogue .recipe-card-author-chip img,body .cat-grid .recipe-card--catalogue .recipe-card-avatar-fallback{width:26px;height:26px}body .cat-grid .recipe-card--catalogue .recipe-card-author-chip>span:last-child{padding:3px 10px;font-size:12px}body .cat-grid .recipe-card--catalogue .recipe-card-body{gap:8px;padding:9px 12px 11px}body .cat-grid .recipe-card--catalogue .recipe-card-title{min-height:38px;font-size:14px}body .cat-grid .recipe-card--catalogue .recipe-card-social{gap:12px;font-size:13px;line-height:18px}.cat-admin-actions{display:flex;gap:8px}.cat-admin-actions .rx-btn{flex:1 1 0;justify-content:center;color:var(--broco-fonce);border-color:var(--broco-fonce)}.cat-admin-actions .rx-btn-solid{color:var(--broco-clair)}.cat-admin-actions .is-danger{color:var(--broco-orange);border-color:var(--broco-orange)}.cat-stage .empty-state{color:var(--broco-fonce);text-align:center}.cat-stage .empty-state h3{font-family:var(--broco-titre);font-weight:400;color:var(--broco-accent)}.landing-footer-card.is-outlined{border:1.5px solid var(--broco-fonce)}@media(max-width:1100px){.cat-toolbar{flex-direction:column;align-items:stretch;gap:16px;padding-inline:16px}.cat-search{order:1;flex:0 0 auto;max-width:none;margin-left:0}.cat-toolbar-right{order:2;display:flex;width:100%;flex-wrap:wrap;justify-content:space-between;gap:12px}.cat-switches{flex:0 1 auto;flex-wrap:wrap;gap:12px;margin-right:0}.cat-switch{flex:0 0 auto;padding-inline:0}.cat-filters{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:12px;margin-left:0}.cat-filters .filter-group{flex:0 1 auto;width:auto;min-width:0}.cat-filters .filter-select.filter-trigger{width:100%;min-width:0;justify-content:space-between}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}}@media(max-width:768px){.cat-hero{flex-direction:column;gap:12px;padding-top:1.5rem}.cat-hero-copy p{text-align:center}.cat-grid{grid-template-columns:minmax(0,1fr);padding:24px 0}.cat-card-wrapper,.cat-dome{border-width:12px}}@media(max-width:640px){.cat-toolbar{gap:12px}.cat-switches{flex-basis:100%;gap:16px}.cat-filters{flex-basis:100%;flex-wrap:nowrap;gap:8px}.cat-filters .filter-group{flex:1 1 0}.cat-search{min-height:40px;padding:8px 12px}.cat-filters .filter-select.filter-trigger{min-height:40px;padding:8px;font-size:13px;gap:4px}}.planner{position:relative;flex-shrink:0;align-self:center;width:var(--broco-shell-width);max-width:none;margin:0 auto;padding:clamp(1rem,2.5vw,1.75rem) 0 0;background:none;color:var(--broco-texte);font-family:var(--broco-texte-font)}.planner .planner-header{display:block;flex-shrink:0;align-self:center;width:var(--broco-shell-width);margin:0 auto 16px;padding:0;background:none;border:0;text-align:left}.planner .planner-header h1{margin:0 0 4px;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.5rem,2.4vw,27px);line-height:1.2;color:var(--broco-accent)}.planner .planner-header p{margin:0;font-size:13px;line-height:18px;color:var(--broco-texte)}.planner .planner-subtabs{display:flex;flex-shrink:0;align-self:center;flex-wrap:wrap;justify-content:flex-start;width:var(--broco-shell-width);gap:8px;margin:0 auto 20px;padding:0;background:none;border:0}.planner .planner-subtabs button{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-size:12px;line-height:15px;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.planner .planner-subtabs button:hover:not(:disabled){border-color:var(--broco-accent);background:var(--broco-accent);color:var(--broco-clair);box-shadow:0 5px 12px #00351d29;transform:translateY(-1px)}.planner .planner-subtabs button:focus-visible{outline:3px solid var(--broco-orange);outline-offset:2px}.planner .planner-subtabs button.active{background:var(--broco-accent);border-color:var(--broco-accent);color:var(--broco-clair)}.planner .planner-subtabs button.active:hover:not(:disabled){border-color:var(--broco-fonce);background:var(--broco-fonce)}.planner .planner-subtabs button:active:not(:disabled){box-shadow:0 2px 5px #00351d1f;transform:translateY(0)}.planner .planner-subtabs button svg{width:14px;height:14px}.planner .planner-subtabs button.is-disabled{opacity:.55;cursor:not-allowed}.planner .planner-week-nav,.planner .planner-day-nav{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 20px;padding:0;background:none;border:0}.planner .planner-round-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1.5px solid var(--broco-orange);border-radius:12px;background:transparent;color:var(--broco-orange);cursor:pointer;transition:background-color .16s ease,color .16s ease}.planner .planner-round-btn>svg{display:block}.planner .planner-round-glyph{display:block;font-size:18px;line-height:1;transform:translateY(-1px)}.planner .planner-round-btn:hover:not(:disabled){background:var(--broco-orange);color:var(--broco-bg)}.planner .planner-round-btn:disabled{opacity:.4;cursor:default}.planner .planner-btn.planner-btn-ghost,.planner .planner-day-pill{padding:3px 12px;border:1.5px solid var(--broco-orange);border-radius:12px;background:var(--broco-orange);color:var(--broco-bg);font-family:var(--broco-titre);font-size:13px;line-height:16px;white-space:nowrap}.planner .planner-day-nav{display:none}.planner-calendar-control{position:relative}.planner-mini-calendar{position:absolute;z-index:10;top:calc(100% + 8px);right:0;width:220px;padding:9px;border:1.5px solid var(--broco-orange);border-radius:12px;background:var(--broco-bg);color:var(--broco-fonce);box-shadow:0 12px 28px #00351d33}.planner-mini-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.planner-mini-calendar-head strong{font-family:var(--broco-titre);font-size:15px;text-align:center;text-transform:capitalize}.planner-mini-calendar-head button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer}.planner-mini-calendar-head button:hover{background:#ef8b3c33}.planner-mini-calendar-weekdays,.planner-mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.planner-mini-calendar-weekdays span{color:var(--broco-accent);font-size:11px;font-weight:700;text-align:center}.planner-mini-calendar-days button{width:25px;height:25px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer;font:inherit}.planner-mini-calendar-days button.is-outside{opacity:.45}.planner-mini-calendar-days button.is-selected,.planner-mini-calendar-days button:hover{background:var(--broco-orange);color:var(--broco-bg)}.planner .planner-day-selector{display:none}.planner .planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0 0 28px;padding:0}.planner .planner-day{display:flex;flex-direction:column;gap:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.planner .planner-day.is-today{padding:0;border-radius:0;background:none}.planner .planner-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px 4px;border:0;background:none}.planner .planner-day-name{font-family:var(--broco-titre);font-size:13px;line-height:16px;color:var(--broco-accent);text-transform:uppercase}.planner .planner-day.is-today .planner-day-name,.planner .planner-day.is-today .planner-day-date{color:var(--broco-accent)}.planner .planner-day-date{font-size:10px;line-height:14px;color:var(--broco-accent)}.planner .planner-day>.planner-slot:first-of-type{border-radius:24px 24px 0 0;padding-top:12px}.planner .planner-day>.planner-slot:last-of-type{border-radius:0 0 24px 24px;padding-bottom:12px}.planner .planner-slot{display:flex;flex-direction:column;gap:6px;padding:6px 9px;border:0;border-radius:0;background:var(--broco-clair);box-shadow:none}.planner .planner-day.is-today .planner-slot{background:var(--broco-fonce)}.planner .planner-day.is-today .planner-slot-label{color:var(--broco-clair)}.planner .planner-day.is-today .planner-add-btn{border-color:var(--broco-clair);color:var(--broco-clair)}.planner .planner-day.is-today .planner-add-btn:hover{background:#d9e5b82e}.planner .planner-slot-label{display:flex;align-items:center;gap:5px;margin:0;font-family:var(--broco-texte-font);font-size:11px;line-height:15px;font-weight:400;color:var(--broco-fonce);text-transform:none;letter-spacing:0}.planner .planner-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:23px;padding:3px 6px;border:1.5px solid var(--broco-fonce);border-radius:12px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:11px;line-height:14px;cursor:pointer;transition:background-color .16s ease}.planner .planner-add-btn:hover{background:#d9e5b82e}.planner .planner-entry{display:flex;align-items:center;gap:5px;padding:3px 6px;border:0;border-radius:6px;background:#d9e5b826;color:var(--broco-clair)}.planner .planner-entry-main{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;border:0;background:none;color:inherit;cursor:pointer;text-align:left}.planner .planner-entry-text{overflow:hidden;font-size:11px;line-height:15px;text-overflow:ellipsis;white-space:nowrap;color:var(--broco-fonce)}.planner .planner-entry-thumb{width:20px;height:20px;border-radius:6px;object-fit:cover}.planner .planner-entry-dot{width:8px;height:8px;border-radius:50%;background:var(--broco-rose)}.planner .planner-entry-remove{border:0;background:none;color:var(--broco-clair);cursor:pointer;font-size:16px;line-height:1;color:#932d21}.planner .planner-generate{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 28px;padding:0;border:0;background:none}.planner .courses-target-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1.5px solid var(--broco-fonce);border-radius:12px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:12px;line-height:15px;box-shadow:none}.planner .courses-target-btn:hover:not(:disabled){border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair);box-shadow:0 5px 12px #00351d24;transform:translateY(-1px)}.planner .courses-target-menu{border:1.5px solid var(--broco-fonce);border-radius:12px;background:var(--broco-bg);color:var(--broco-texte)}.planner .planner-generate-hint{max-width:720px;font-size:11px;line-height:16px;color:var(--broco-fonce)}.planner-modal{width:min(390px,100%);padding:.85rem;border-radius:16px}.planner-modal-head h3{font-size:1rem}.planner-modal-date,.planner-picker-author{font-size:.72rem}.planner-tabs{margin:.65rem 0}.planner-tabs button{padding:.4rem;font-size:.78rem}.planner-input{min-height:36px;padding:.4rem .6rem;font-size:.82rem}.planner-picker-item{gap:.45rem;padding:.28rem .4rem}.planner-picker-thumb img{width:32px;height:32px}.planner-picker-name{font-size:.82rem}@media(max-width:1100px){.planner{padding-inline:0}.planner .planner-grid{grid-template-columns:minmax(0,1fr);gap:16px}.planner .planner-day{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;gap:0}.planner .planner-day-head{grid-column:1 / -1;padding-inline:0}.planner .planner-day>.planner-slot{padding:11px 9px;border-radius:0}.planner .planner-day>.planner-slot:first-of-type{border-radius:24px 0 0 24px;padding-left:12px}.planner .planner-day>.planner-slot:last-of-type{border-radius:0 24px 24px 0;padding-right:12px}.planner .planner-slot-label{justify-content:center}}@media(max-width:768px){.planner{position:relative;padding-bottom:24px;background-image:none}.planner>*{position:relative;z-index:1}.planner:before{content:"";position:absolute;top:0;bottom:0;left:50%;z-index:0;width:100vw;margin-left:-50vw;background-image:linear-gradient(#eef0efe0,#eef0efe0),url(/img/broco-line-olive.png);background-repeat:repeat;background-size:auto,96px auto;background-position:center top;pointer-events:none}.planner .planner-week-nav{display:none}.planner .planner-day-nav{display:flex;z-index:20}.planner .planner-day{display:none}.planner .planner-day.is-selected{display:flex;flex-direction:column;gap:0}.planner .planner-day .planner-day-head{display:none}.planner .planner-day>.planner-slot{padding:12px 16px;border-radius:0}.planner .planner-day>.planner-slot:first-of-type{border-radius:24px 24px 0 0;padding-top:20px}.planner .planner-day>.planner-slot:last-of-type{border-radius:0 0 24px 24px;padding-bottom:20px}.planner .planner-slot-label{justify-content:center}.planner .planner-grid{margin-bottom:32px}}.shop{width:100%;max-width:none;margin:0;padding:clamp(1.5rem,4vw,2.5rem) 32px 0;background:none;color:var(--broco-texte);font-family:var(--broco-texte-font)}body .shop .shop-header{display:block;margin:0 0 24px;padding:0;background:none;border:0}body .shop .shop-header h1{margin:0 0 4px;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.75rem,3vw,32px);line-height:1.2;color:var(--broco-accent)}body .shop .shop-header p{margin:0;font-size:16px;line-height:23px;color:var(--broco-texte)}body .shop-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 32px;padding:0;background:none;border:0}body .shop .shop-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:8px 18px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-size:14px;line-height:17px;cursor:pointer;box-shadow:none}body .shop .shop-chip.active{background:var(--broco-accent);border-color:var(--broco-accent);color:var(--broco-clair)}body .shop .shop-space-chip{display:inline-flex;align-items:stretch;gap:0}body .shop .shop-space-chip .shop-chip{border-radius:8px 0 0 8px}body .shop .shop-space-chip .shop-chip-settings{margin-left:-1.5px;border-radius:0 8px 8px 0}body .shop .shop-chip-settings{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;padding:0;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);cursor:pointer;transition:background-color .16s ease,color .16s ease}body .shop .shop-chip-settings:hover,body .shop .shop-space-chip.active .shop-chip-settings{background:var(--broco-accent);color:var(--broco-clair)}body .shop .shop-chip-settings:focus-visible{outline:3px solid rgba(125,153,42,.3);outline-offset:2px}body .shop .shop-chip-add{padding:10px 14px;font-size:16px}body .shop .shop-chip-count{min-width:18px;padding:0 5px;border-radius:999px;background:var(--broco-clair);color:var(--broco-fonce);font-size:11px;line-height:18px;text-align:center}body .shop .shop-chip.active .shop-chip-count{background:var(--broco-clair);color:var(--broco-fonce)}body .shop-subtabs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px;background:none;border:0}body .shop-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,390px);align-items:start;gap:clamp(1.5rem,4vw,48px);margin-bottom:48px}body .shop .shop-search{display:flex;align-items:center;gap:12px;box-sizing:border-box;min-height:47px;margin:0 0 12px;border:1.5px solid var(--broco-accent);border-radius:12px;background:transparent}body .shop .shop-search-icon{display:inline-flex;color:var(--broco-accent)}body .shop .shop-search-plain,body .shop .shop-search input{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:16px;outline:none}body .shop .shop-search input::placeholder{color:var(--broco-accent);opacity:.85}body .shop .shop-search-clear{border:0;background:none;color:var(--broco-accent);cursor:pointer}body .shop .shop-search-hint{margin:0 0 24px;font-size:15px;line-height:22px;color:var(--broco-texte)}body .shop .shop-section-title{margin:0 0 16px;font-family:var(--broco-titre);font-weight:400;font-size:20px;color:var(--broco-accent)}body .shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}body .shop .shop-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border:0;border-radius:12px;background:var(--broco-clair);color:var(--broco-accent);cursor:pointer;box-shadow:none;transition:transform .16s ease}body .shop .shop-card:hover{transform:translateY(-2px)}body .shop .shop-thumb{width:56px;height:56px;border:2px solid var(--broco-accent);border-radius:50%;background:var(--broco-bg);object-fit:cover}body .shop .shop-card-name{font-family:var(--broco-titre);font-size:14px;line-height:17px;color:var(--broco-accent);text-align:center}body .shop .shop-card-brand{font-size:11px;color:var(--broco-fonce)}body .shop .shop-list{padding:24px;border:0;border-radius:24px;background:var(--broco-fonce);color:var(--broco-clair);box-shadow:none}body .shop .shop-list .shop-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:0;border:0}body .shop .shop-list .shop-list-head h2{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:20px;line-height:32px;color:var(--broco-clair);text-align:left}body .shop .shop-list .shop-btn-ghost{min-height:32px;padding:0 10px;font-size:.78rem;border-color:var(--broco-clair);color:var(--broco-clair)}body .shop .shop-items{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}body .shop .shop-item{display:flex;align-items:center;gap:12px;animation:none;padding:8px 12px;border:0;border-radius:12px;background:#d9e5b833;color:var(--broco-clair)}body .shop .shop-item.is-checked{background:#d9e5b847}body .shop .shop-item .shop-thumb{width:34px;height:34px;border-color:var(--broco-clair)}body .shop .shop-item-body{flex:1 1 auto;min-width:0}body .shop .shop-item-name{font-family:var(--broco-titre);font-size:15px;line-height:18px;color:var(--broco-clair)}body .shop .shop-item.is-checked .shop-item-name{text-decoration:line-through;opacity:.75}body .shop .shop-item-note,body .shop .shop-item-qty{color:var(--broco-clair);font-size:12px;opacity:.8}body .shop .shop-check{display:inline-flex;align-items:center;order:3;margin-left:auto}body .shop .shop-check input[type=checkbox]{width:20px;height:20px;margin:0;border:1.5px solid var(--broco-clair);border-radius:6px;background:transparent;accent-color:var(--broco-jaune);cursor:pointer}body .shop .shop-item.is-checked .shop-check input[type=checkbox]{background:var(--broco-jaune);border-color:var(--broco-jaune)}body .shop .shop-item-remove{order:4;margin-left:10px;border:0;background:none;color:var(--broco-clair);opacity:.7;cursor:pointer}body .shop .shop-list :is(.shop-empty,.shop-empty-hint){color:var(--broco-clair);text-align:center}@media(max-width:1100px){.shop{padding-inline:16px}body .shop-layout{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:24px}body .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(max-width:768px){body .shop-layout{grid-template-columns:minmax(0,1fr);gap:32px}body .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .shop .shop-thumb{width:48px;height:48px}body .shop .shop-card-name{font-size:13px}body .shop .shop-list{padding:20px 16px}.shop{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}body .shop .shop-pick{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}@media(max-width:768px){body .shop .shop-pick{order:1}body .shop .shop-list{order:2}}body .shop{animation:none;transform:none}body .space-panel{display:flex;flex-direction:column;width:min(420px,100%);height:100%;max-height:100%;padding:24px;overflow-y:auto;border:0;border-radius:0;background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font);box-shadow:-12px 0 32px #00351d2e}body .space-panel-actions{margin-top:auto;padding-top:24px}body .space-panel-head{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:0;border:0;background:none}body .space-panel-back{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1.5px solid var(--broco-orange);border-radius:12px;background:transparent;color:var(--broco-orange);font-size:16px;line-height:1;cursor:pointer}body .space-panel-head h2{margin:0;font-family:var(--broco-texte-font);font-weight:400;font-size:18px;color:var(--broco-orange)}body .space-panel-name{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 24px}body .space-panel-name>span:first-child,body .space-panel-name h3{font-family:var(--broco-titre);font-weight:400;font-size:24px;line-height:29px;color:var(--broco-fonce)}body .space-link{border:0;background:none;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:14px;cursor:pointer}body .space-rename input{border:1.5px solid var(--broco-fonce);border-radius:8px;background:#fff;color:var(--broco-texte);font-family:var(--broco-texte-font)}body .space-block{margin:0 0 24px;padding:0;border:0;background:none}body .space-block-title{display:block;margin:0 0 4px;font-family:var(--broco-titre);font-weight:400;font-size:18px;line-height:22px;color:var(--broco-fonce)}body .space-hint{margin:4px 0 12px;font-size:13px;line-height:18px;color:var(--broco-texte)}body .space-invite{display:flex;align-items:center;gap:16px}body .space-invite code{flex:1 1 auto;padding:7px 16px;border:0;border-radius:12px;background:var(--broco-accent);color:#fff;font-family:var(--broco-titre);font-size:22px;letter-spacing:.18em;text-align:center}body .space-invite .shop-btn{flex:0 0 auto;border:0;justify-content:center;border-radius:8px;background:var(--broco-accent);color:var(--broco-clair);font-family:var(--broco-titre)}body .space-qr-button{display:inline-grid;width:44px;height:44px;padding:0;place-items:center}body .space-qr-modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#172c267a}body .space-qr-modal{position:relative;display:flex;width:min(100%,350px);flex-direction:column;align-items:center;padding:30px 24px 24px;border-radius:20px;background:#fff;color:var(--broco-fonce);text-align:center;box-shadow:0 20px 50px #12241f47}body .space-qr-modal h3{margin:0 28px 16px;font-family:var(--broco-titre);font-size:24px}body .space-qr-modal svg{display:block;width:min(240px,100%);height:auto}body .space-qr-modal p{margin:14px 0 0;font-size:14px;line-height:20px}body .space-qr-close{position:absolute;top:10px;right:10px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer}body .space-qr-close:hover{background:var(--broco-accent)}body .space-qr-invite{display:flex;flex-direction:column;align-items:center;margin-top:16px;padding:14px;border:1px solid #e3e8e6;border-radius:16px;background:#fff}body .space-qr-invite svg{display:block;width:156px;max-width:100%;height:auto}body .space-qr-invite .space-hint{margin:10px 0 0;text-align:center}body .space-members{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}body .space-members>*{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:999px;background:var(--broco-accent);color:var(--broco-clair)}body .space-avatar{width:26px;height:26px;border-radius:50%;background:var(--broco-clair);color:var(--broco-fonce)}body .space-member-name{padding:2px 12px;border-radius:999px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-size:14px}body .space-badge{margin-left:auto;padding:2px 12px;border-radius:999px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:12px}body .space-history{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}body .space-history-meta{color:var(--broco-accent);font-size:11px;line-height:16px}body .space-history-readd{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-radius:999px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:14px;text-align:left;cursor:pointer}body .space-history-name{color:var(--broco-clair)}body .shopping-history-panel{gap:0}body .history-panel-head{padding-bottom:20px;border-bottom:1px solid rgba(2,104,58,.14)}body .shopping-history-groups{display:flex;flex-direction:column;gap:24px}body .shopping-history-day{overflow:hidden;border:1px solid rgba(2,104,58,.14);border-radius:16px;background:#d9e5b838}body .shopping-history-date{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;padding:11px 14px;background:var(--broco-fonce);color:var(--broco-clair);text-align:left;cursor:pointer}body .shopping-history-date time{font-family:var(--broco-titre);font-size:16px;font-weight:400;text-transform:capitalize}body .shopping-history-date span{display:inline-flex;align-items:center;gap:6px;font-size:11px;opacity:.82}body .shopping-history-chevron{transition:transform .18s ease}body .shopping-history-chevron.is-expanded{transform:rotate(180deg)}body .shopping-history-items{margin:0;padding:4px 14px;list-style:none}body .shopping-history-items li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-bottom:1px solid rgba(2,104,58,.1)}body .shopping-history-items li:last-child{border-bottom:0}body .shopping-history-more{align-self:center;border:0;padding:8px 12px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer}body .shopping-history-item-name{color:var(--broco-texte);font-size:14px}body .shopping-history-item-name small{display:block;margin-top:2px;color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:11px}body .space-history-groups{margin-top:12px}body .space-member-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}body .space-role-menu{position:relative}body .space-role-trigger{display:inline-flex;align-items:center;gap:5px;min-height:32px;border:1px solid var(--broco-fonce);border-radius:999px;padding:6px 10px 6px 12px;background-color:var(--broco-clair);color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:12px;font-weight:700;cursor:pointer}body .space-role-trigger:focus{outline:3px solid rgba(125,153,42,.32);outline-offset:2px}body .space-role-options{position:absolute;z-index:5;top:calc(100% + 6px);right:0;min-width:150px;overflow:hidden;border:1px solid var(--broco-fonce);border-radius:12px;background:#fff;box-shadow:0 10px 22px #00351d2e}body .space-role-options button{display:block;width:100%;border:0;padding:9px 12px;background:#fff;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:12px;text-align:left;cursor:pointer}body .space-role-options button:hover,body .space-role-options button.is-active{background:var(--broco-clair)}body .space-role-legend{margin:12px 0 0;color:var(--broco-texte);font-size:12px;line-height:1.45}body .shopping-history-readd{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1.5px solid var(--broco-accent);border-radius:50%;background:transparent;color:var(--broco-accent);cursor:pointer}body .shopping-history-readd:hover:not(:disabled){background:var(--broco-accent);color:var(--broco-clair)}body .shopping-history-readd:disabled{border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair);cursor:default}body .shopping-history-empty{padding:28px 0;text-align:center}body .shopping-history-empty p{margin:8px auto 0;max-width:260px;color:var(--broco-texte);font-size:14px;line-height:1.5}body .shop-suggestions{margin-top:24px;padding-top:20px;border-top:1px dashed rgba(2,104,58,.28)}body .shop-recipes>.shop-suggestions{display:none}body .shop-suggestion-group+.shop-suggestion-group{margin-top:16px}body .shop-suggestions-title{margin:0 0 12px;color:var(--broco-clair);font-family:var(--broco-titre);font-size:23px;font-weight:400}body .shop-suggestion-group h3{margin:0 0 7px;color:var(--broco-clair);font-family:var(--broco-titre);font-size:17px;font-weight:400}body .shop-suggestion-items{opacity:.92}body .shop-suggestion-by{display:block;margin-top:2px;color:var(--broco-accent);font-size:11px;font-weight:700}body .shop-suggestion{background:#d9e5b829}body .shop-suggestion.is-rejected{opacity:.5;filter:grayscale(.7)}body .shop-suggestion.is-rejected .shop-item-name,body .shop-suggestion.is-rejected .shop-item-qty{text-decoration:line-through}body .shop-rejected-suggestions{margin-top:28px}body .shop-rejected-suggestions h3{color:var(--broco-clair);opacity:.58}body .shop-suggestion-actions{display:inline-flex;align-items:center;gap:7px;margin-left:auto}body .shop-suggestion-approve{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:var(--broco-clair);opacity:.7;cursor:pointer}body .shop-suggestion-reject{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:var(--broco-clair);opacity:.7;font-size:20px;line-height:1;cursor:pointer}body .shop-suggestion-approve:hover,body .shop-suggestion-reject:hover{background:none;color:#fff;opacity:1}body .shop-suggestion-reject:hover{color:var(--broco-orange)}body .space-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px}body .space-switch{accent-color:var(--broco-accent)}body .space-panel-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:32px;padding-inline:0;padding-bottom:0;border:0}body .space-panel-actions .shop-btn{flex:0 1 auto;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre)}body .space-panel-actions .space-btn-danger{border-color:var(--broco-orange);background:var(--broco-orange);color:var(--broco-bg)}body .space-link-approve{color:var(--broco-clair)}body .space-link-danger{color:var(--broco-orange)}@media(max-width:768px){body .space-panel{width:100%;padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}body .space-panel-actions{flex-direction:row;flex-wrap:nowrap;gap:8px}body .space-panel-actions .shop-btn{flex:1 1 0;min-width:0;justify-content:center;gap:6px;padding:10px 8px;font-size:13px;white-space:nowrap}}body :is(.modal-overlay,.delete-modal-backdrop,.delete-confirm-overlay,.planner-modal-backdrop,.import-modal-backdrop,.settings-modal-backdrop,.bottom-sheet-backdrop,.image-cropper-overlay,.image-gallery-overlay){background:#00351d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body :is(.modal-content,.delete-modal,.delete-confirm-modal,.mini-delete-modal,.planner-modal,.import-modal,.settings-modal,.bottom-sheet){border:0;border-radius:24px;background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font);box-shadow:0 20px 48px #00351d40}body .bottom-sheet{border-radius:24px 24px 0 0}body :is(.modal-content,.delete-modal,.delete-confirm-modal,.mini-delete-modal,.planner-modal,.import-modal,.settings-modal) :is(h1,h2,h3,h4){font-family:var(--broco-titre);font-weight:400;color:var(--broco-fonce);letter-spacing:0}body :is(.delete-modal-title,.planner-modal-head h3){font-family:var(--broco-titre);font-weight:400;color:var(--broco-fonce)}body :is(.delete-modal-text,.import-modal p,.settings-modal p){color:var(--broco-texte);font-family:var(--broco-texte-font)}body .planner-modal-date{color:var(--broco-accent);font-family:var(--broco-texte-font)}body :is(.modal-content,.delete-modal,.planner-modal,.import-modal,.settings-modal,.bottom-sheet,.planner,.rx-page) :is(input[type=text],input[type=search],input[type=email],input[type=url],input[type=number],input[type=password],input:not([type]),textarea,select){border:1.5px solid var(--broco-fonce);border-radius:8px;background:#fff;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:16px;box-shadow:none}body :is(.modal-content,.planner-modal,.import-modal,.settings-modal) :is(input,textarea,select)::placeholder{color:#00351d80}body :is(.modal-content,.planner-modal,.import-modal,.settings-modal) :is(input,textarea,select):focus{outline:none;border-color:var(--broco-accent);box-shadow:0 0 0 3px #7d992a33}body :is(.modal-content,.planner-modal,.import-modal,.settings-modal) :is(label,.form-label){color:var(--broco-fonce);font-family:var(--broco-texte-font);font-weight:500}body :is(.modal-btn,.planner-btn,.settings-modal-actions button,.delete-modal-actions button,.planner-modal .planner-tabs button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:30px;padding:10px 16px;border:1.5px solid var(--broco-fonce);border-radius:12px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:15px;font-weight:400;cursor:pointer;box-shadow:none;transition:background-color .16s ease,color .16s ease}body :is(.modal-btn,.planner-btn:not(.planner-btn-ghost)):hover:not(:disabled){background:#02683a14;transform:none}body :is(.modal-btn-primary,.planner-btn-primary,.planner-modal .planner-tabs button.active){border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}body :is(.modal-btn-primary,.planner-btn-primary):hover:not(:disabled){background:#03532f}body :is(.modal-btn-cancel,.planner-btn-ghost){border-color:var(--broco-accent);background:transparent;color:var(--broco-accent)}body :is(.modal-btn-danger,.bottom-sheet-item-danger){border-color:var(--broco-orange);background:transparent;color:var(--broco-orange)}body .modal-btn-danger:hover:not(:disabled){background:var(--broco-orange);color:var(--broco-bg)}body :is(.planner-icon-btn,.close-btn,.import-modal-close){display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;line-height:32px;text-align:center;border:1.5px solid var(--broco-fonce);border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer}body :is(.planner-icon-btn,.close-btn,.import-modal-close):hover{background:#02683a14}body :is(.planner-picker-item,.bottom-sheet-item,.courses-target-menu button){display:flex;align-items:center;gap:12px;width:100%;padding:5px 12px;border:0;border-radius:12px;background:transparent;color:var(--broco-texte);font-family:var(--broco-texte-font);border:1px solid var(--broco-fonce);font-size:15px;text-align:left;cursor:pointer}body :is(.planner-picker-item,.bottom-sheet-item,.courses-target-menu button):hover{background:#7d992a24}body .planner-picker-thumb{width:40px;height:40px;border-radius:10px;object-fit:cover}body .planner-picker-name{color:var(--broco-texte)}body :is(.courses-target-menu,.filter-menu,.user-dropdown){border:1.5px solid var(--broco-fonce);border-radius:16px;background:var(--broco-bg);color:var(--broco-texte);box-shadow:0 12px 28px #00351d33}body .courses-target-count{background:var(--broco-accent);color:var(--broco-clair)}body .bottom-sheet-handle{background:#00351d40}body .bottom-sheet-name{font-family:var(--broco-titre);color:var(--broco-fonce)}body .bottom-sheet-email{color:var(--broco-accent)}body .bottom-sheet-avatar{border:2px solid var(--broco-accent)}body :is(.image-cropper-panel,.image-cropper-modal,.image-gallery-content){border-radius:24px;background:var(--broco-bg);color:var(--broco-texte)}body :is(.image-cropper-overlay,.image-gallery-overlay) button{font-family:var(--broco-titre)}body :is(.import-title,.shop-picker-title,.space-block-title,.settings-title,.settings-section-title){font-family:var(--broco-titre);font-weight:400;color:var(--broco-fonce)}body .import-hint,body .shop-search-hint,body .space-hint,body .form-hint{color:var(--broco-accent)}body .import-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1.5px solid var(--broco-fonce);border-radius:50%;background:transparent;color:var(--broco-fonce);cursor:pointer}body .shop-modal-close{display:inline-flex;align-items:center;justify-content:center;top:10px;right:10px;width:24px;height:24px;padding:0;border:1px solid rgba(2,104,58,.24);border-radius:50%;background:transparent;color:var(--broco-accent);cursor:pointer;opacity:.78;transition:background-color .15s ease,color .15s ease,opacity .15s ease}body .shop-modal-close svg{width:13px;height:13px;stroke-width:1.8}body .shop-modal-close:hover{background:#02683a14;color:var(--broco-fonce);opacity:1}body :is(.import-tabs,.shop-tabs,.shop-subtabs) button{border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400;box-shadow:none}body :is(.import-tabs,.shop-tabs,.shop-subtabs) button.active{border-color:var(--broco-accent);background:var(--broco-accent);color:var(--broco-clair)}body :is(.import-tabs,.shop-tabs,.shop-subtabs) button:hover:not(:disabled){background:#7d992a24;color:var(--broco-accent)}body :is(.import-tabs,.shop-tabs,.shop-subtabs) button.active:hover:not(:disabled){background:#6d8724;color:var(--broco-clair)}body .shop-subtabs button{border:0;border-radius:12px;background:var(--broco-clair);color:var(--broco-accent);transition:transform .16s ease}body .shop-subtabs button:hover:not(:disabled){background:var(--broco-clair);color:var(--broco-accent);transform:translateY(-1px)}body .shop-subtabs button.active:hover:not(:disabled){background:var(--broco-accent);color:var(--broco-clair)}body .import-close:hover:not(:disabled){background:#02683a1f;color:var(--broco-fonce)}body :is(.import-submit,.shop-btn-primary,.settings-modal-confirm,.settings-profile-btn-save,.btn-confirm){border:1.5px solid var(--broco-fonce);border-radius:8px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;box-shadow:none;transition:background-color .15s ease,color .15s ease}body :is(.import-submit,.shop-btn-primary,.settings-modal-confirm,.settings-profile-btn-save,.btn-confirm):hover:not(:disabled){background:#03532f;color:var(--broco-clair)}body :is(.shop-btn,.shop-btn-ghost,.settings-modal-cancel,.settings-profile-btn,.settings-edit-btn,.settings-link,.space-link,.btn-cancel,.gallery-btn){border:1.5px solid var(--broco-fonce);border-radius:8px;padding:7px 10px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;box-shadow:none}body :is(.settings-danger-btn,.delete-data-btn,.space-btn-danger,.space-link-danger,.shop-item-remove,.delete-btn){border:1.5px solid var(--broco-orange);border-radius:8px;background:transparent;color:var(--broco-orange);box-shadow:none}body :is(.import-url-input,.settings-profile-input,.pseudo-input,.shop-search,.shop-search-plain,.shop-qty,.shop-note,.space-rename){border:1.5px solid var(--broco-fonce);border-radius:8px;background:#fff;color:var(--broco-texte);font-family:var(--broco-texte-font);box-shadow:none}body .import-bar{background:#02683a26;border-radius:999px}body .import-bar-fill{background:var(--broco-accent)}body .landing-footer{position:relative;flex-shrink:0;align-self:center;width:var( --broco-shell-width, min( calc(100vw - clamp(24px, 6vw, 64px)) , 1280px) );max-width:1280px;margin-right:auto;margin-left:auto;padding-right:0;padding-left:0}body :is(.shop-modal,.settings-card,.shop-card,.shop-recipe-picker){border:0;border-radius:24px;background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font);box-shadow:0 20px 48px #00351d2e}body .shop-modal{width:min(420px,100%);max-height:min(720px,calc(100dvh - 32px));padding:30px 26px 24px;overflow-x:hidden;overflow-y:auto;border:1px solid rgba(2,104,58,.28);border-radius:24px;background:var(--broco-bg);box-shadow:0 24px 64px #00351d3d,0 2px #ffffffb3 inset}body .shop-modal .shop-modal-close{top:12px;right:12px;z-index:2;width:30px;height:30px;border:1px solid rgba(2,104,58,.22);border-radius:50%;background:#d9e5b8b8;color:var(--broco-fonce);opacity:1}body .shop-modal .shop-modal-close svg{width:15px;height:15px}body .shop-modal .shop-modal-close:hover{background:var(--broco-fonce);color:var(--broco-clair)}body .shop-modal>form{display:flex;flex-direction:column;gap:12px}body .shop-modal h3,body .shop-modal .shop-picker-title{margin:0 34px 18px 0;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:22px;line-height:1.15}body .shop-modal :is(input,textarea,select):not([type=checkbox]){min-height:42px;margin:0;padding:9px 12px;border:1.5px solid rgba(2,104,58,.55);border-radius:12px;background:#ffffff6b;color:var(--broco-texte);box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}body .shop-modal :is(.shop-search-plain,.shop-note){padding-left:12px}body .shop-modal :is(input,textarea,select):not([type=checkbox]):focus{outline:none;border-color:var(--broco-fonce);background:#fff;box-shadow:none}body .shop-modal .shop-modal-head{gap:8px;margin:0 0 18px}body .shop-modal .shop-modal-head .shop-thumb{width:64px;height:64px;border:2px solid var(--broco-clair);box-shadow:0 6px 16px #00351d1f}body .shop-modal .shop-modal-head h3{margin:0;font-size:22px;text-align:center}body .shop-modal .shop-qty{width:fit-content;margin:0 auto 14px;padding:7px;gap:8px;border:1px solid rgba(2,104,58,.18);border-radius:18px;background:var(--broco-clair)}body .shop-modal .shop-qty button{width:34px;height:34px;border:0;background:var(--broco-fonce);color:var(--broco-clair);transition:background-color .15s ease,transform .15s ease}body .shop-modal .shop-qty button:hover{background:var(--broco-accent);transform:scale(1.04)}body .shop-modal .shop-qty input{width:64px;min-height:34px;padding:4px;border:0;background:transparent;font-size:16px}body .shop-modal .shop-units{gap:7px;margin-bottom:16px}body .shop-modal .shop-units button{padding:6px 11px;border-color:#02683a59;background:transparent;color:var(--broco-fonce);transition:background-color .15s ease,border-color .15s ease,color .15s ease}body .shop-modal .shop-units button:hover,body .shop-modal .shop-units button.active{border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}body .shop-modal .shop-note-label{margin-bottom:16px;color:var(--broco-fonce);font-weight:500}body .shop-modal .shop-note{min-height:68px;margin-top:7px;resize:vertical}body .shop-modal .shop-add-confirm{min-height:42px;margin-top:2px;border-radius:12px;font-size:15px}body .shop-modal.shop-qr-scanner{width:min(460px,100%)}body .shop-modal .shop-qr-video{border:3px solid var(--broco-clair);box-shadow:0 0 0 1px #02683a40}body .shop-modal .shop-recipe-picker{margin-top:12px;border:1px solid rgba(2,104,58,.18);background:#d9e5b84d;box-shadow:none}body :is(.shop-modal-backdrop,.space-panel-backdrop){background:#00351d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body :is(.shop-chip,.space-badge,.shop-card-brand,.shop-modal-brand){border-radius:999px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre)}body .shop-chip.active{background:var(--broco-accent);color:var(--broco-clair)}body .recipe-edit-page,body .recipe-form{background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font)}body :is(.form-section,.recipe-edit-section,.section-header,.form-header,.recipe-edit-header) :is(h1,h2,h3,h4){font-family:var(--broco-titre);font-weight:400;color:var(--broco-fonce)}body :is(.form-input,.form-select,.form-textarea,.recipe-edit-title-input,.recipe-edit-description-input,.recipe-edit-meta-input,.recipe-edit-time-input,.recipe-edit-step-input,.recipe-edit-servings-input,.recipe-edit-servings-unit-input,.recipe-edit-image-input){border:1.5px solid var(--broco-fonce);border-radius:8px;background:#fff;color:var(--broco-texte);font-family:var(--broco-texte-font);box-shadow:none}body :is(.form-input,.form-select,.form-textarea):focus{outline:none;border-color:var(--broco-accent);box-shadow:0 0 0 3px #7d992a33}body .form-group>label,body .form-group>span{color:var(--broco-fonce);font-family:var(--broco-texte-font)}body .visibility-compact-btn{border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre)}body .visibility-compact-btn.active{background:var(--broco-accent);color:var(--broco-clair)}body .form-error-banner{border:1.5px solid var(--broco-orange);border-radius:12px;background:#e862221f;color:var(--broco-fonce)}body .character-counter,body .counter-warning{color:var(--broco-accent)}body .image-cropper-container{border-radius:24px;border:1px solid rgba(2,104,58,.16);background:linear-gradient(145deg,#f7f8ee 0%,var(--broco-bg) 58%);color:var(--broco-texte);box-shadow:0 20px 48px #00351d38,inset 0 1px #d9e5b8cc}body .image-cropper-header{background:transparent;color:var(--broco-texte)}body .image-cropper-header h3{color:var(--broco-fonce);font-family:var(--broco-titre);font-size:1.7rem;font-weight:400}body .image-cropper-header p{color:var(--broco-texte);font-family:var(--broco-texte-font)}body .image-cropper-canvas-container{padding:6px}body .image-cropper-canvas{border-color:var(--broco-fonce);border-radius:12px}body .image-cropper-controls button{border:1.5px solid var(--broco-fonce);border-radius:8px;font-family:var(--broco-titre);font-weight:400;box-shadow:none}body .image-cropper-controls .btn-cancel{background:transparent;color:var(--broco-fonce)}body .image-cropper-controls .btn-cancel:hover{background:#02683a14}body .image-cropper-controls .btn-confirm{background:var(--broco-fonce);color:var(--broco-clair)}body .image-cropper-controls .btn-confirm:hover{background:#03532f}body :is(.gallery-header,.gallery-info,.image-counter,.image-name){color:var(--broco-clair);font-family:var(--broco-texte-font)}body :is(.prev-btn,.next-btn){border:1.5px solid var(--broco-clair);border-radius:50%;background:#00351d80;color:var(--broco-clair)}body :is(.btn-add,.btn-primary,.btn-save){border:1.5px solid var(--broco-fonce);border-radius:8px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400}body :is(.btn-add,.btn-primary,.btn-save):hover:not(:disabled){background:#03532f}body :is(.btn-secondary,.btn-cancel,.btn-ghost){border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400}body :is(.btn-danger,.remove-image-btn,.thumbnail-delete-btn,.mini-delete-confirm){border:1.5px solid var(--broco-orange);border-radius:8px;background:transparent;color:var(--broco-orange)}body :is(.upload-zone,.image-upload-container){border:1.5px dashed var(--broco-accent);border-radius:16px;background:#7d992a0f;color:var(--broco-fonce)}body :is(.upload-icon,.upload-label){color:var(--broco-accent)}body :is(.upload-hint,.uploader-info,.upload-status){color:var(--broco-accent)}body .upload-spinner{border-top-color:var(--broco-accent)}body .mini-delete-modal{border-radius:16px}body .shop .shop-list :is(p,span,li,small),body .planner .planner-day.is-today .planner-slot :is(p,span,li,small){color:var(--broco-clair)}body :is(.recipe-image-upload-btn,.recipe-add-ingredient-btn,.recipe-add-step-btn){border:1.5px solid var(--broco-fonce);border-radius:8px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400}body :is(.recipe-image-upload-btn,.recipe-add-ingredient-btn,.recipe-add-step-btn):hover:not(:disabled){background:#03532f}body .recipe-edit-servings-controls .btn-add,body .servings-controls .btn-add{border:1.5px solid var(--broco-fonce);background:transparent;color:var(--broco-fonce)}body,body .recipe-form-content,body .recipe-edit-content{color:var(--broco-texte)}body .step-text{color:inherit}body .shop-thumb{background:var(--broco-clair);color:var(--broco-fonce)}body .shop-chip{border:1.5px solid var(--broco-accent)}body .shop-chip.active{border-color:var(--broco-accent)}body :is(.shop-empty,.shop-empty-hint,.shop-item-note,.shop-attrib){color:var(--broco-accent)}body .shop :is(input,textarea,select){color:var(--broco-texte)}body .settings-export-tag{border:1.5px solid var(--broco-accent);border-radius:999px;color:var(--broco-accent)}body .settings-stat{background:var(--broco-clair);color:var(--broco-fonce)}body .user-dropdown{border:1.5px solid var(--broco-fonce);border-radius:16px;background:var(--broco-bg);box-shadow:0 16px 40px #00351d2e}body .user-dropdown hr{border:0;border-top:1.5px solid rgba(2,104,58,.2)}body .user-dropdown .user-full-name{color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400}body .user-dropdown .user-email{color:var(--broco-accent);font-family:var(--broco-texte-font)}body .user-dropdown .logout-btn{border:0;border-radius:8px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:15px}body .user-dropdown .logout-btn:hover{background:#02683a14}body .user-dropdown .logout-btn svg{fill:var(--broco-fonce)}body .user-dropdown .delete-data-btn{border:1.5px solid var(--broco-orange);border-radius:8px;background:transparent;color:var(--broco-orange);font-family:var(--broco-titre);font-weight:400;font-size:14px}body .user-dropdown .delete-data-btn:hover{background:var(--broco-orange);color:var(--broco-bg)}@media(max-width:520px){body .shop-modal{max-height:calc(100dvh - 24px);padding:28px 18px 20px;border-radius:20px}body .shop-modal h3,body .shop-modal .shop-picker-title,body .shop-modal .shop-modal-head h3{font-size:20px}}@font-face{font-family:Itim;src:url(/font/Itim/Itim-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hug Me Tight;src:url(/font/hug_me_tight/Hug%20Me%20Tight%20-%20OTF.otf) format("opentype"),url(/font/hug_me_tight/Hug%20Me%20Tight%20-%20TTF.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/font/Jost/Jost-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/font/Jost/Jost-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}:root{font-family:Itim,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#00351d;background-color:#eef0ef;--app-bg: #eef0ef;--app-surface: #ffffff;--app-panel: #02683a;--app-panel-dark: #02683a;--app-text: #00351d;--app-muted: #7d992a;--card: #ffffff;--line: #e3e8e6;--input-line: #d4ddda;--soft: #f4f7f5;--broco-clair: #d9e5b8;--broco-fonce: #02683a;--broco-accent: #7d992a;--broco-texte: #00351d;--broco-bg: #eef0ef;--broco-jaune: #f0cd3d;--broco-orange: #e86222;--broco-rose: #f298b2;--broco-bleu: #6b77b7;--broco-radius: 8px;--broco-gap: 12px;--broco-titre: "Hug Me Tight", Itim, system-ui, sans-serif;--broco-texte-font: "Jost", Inter, system-ui, sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%;min-height:100dvh}body{margin:0;overflow-x:hidden;color:var(--app-text);font-family:Itim,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}a,button,input,select,textarea{font:inherit}body .recipe-card--catalogue{border:0;width:auto;border-radius:24px;background:var(--broco-accent);overflow:hidden}body .recipe-card--catalogue .recipe-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:var(--broco-fonce)}body .recipe-card--catalogue .recipe-card-author-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:none;color:var(--broco-fonce);font:inherit}body .recipe-card--catalogue .recipe-card-author-chip.is-link{cursor:pointer;border-radius:999px;transition:opacity .14s ease}body .recipe-card--catalogue .recipe-card-author-chip.is-link:hover{opacity:.75;text-decoration:underline}body .recipe-card--catalogue .recipe-card-author-chip.is-link:focus-visible{outline:2px solid var(--broco-clair);outline-offset:3px}body .recipe-card--catalogue .recipe-card-author-chip img,body .recipe-card--catalogue .recipe-card-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--broco-clair);color:var(--broco-fonce);object-fit:cover;overflow:hidden}body .recipe-card--catalogue .recipe-card-author-chip>span:last-child{padding:4px 16px;border-radius:12px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .recipe-card--catalogue .recipe-card-edit-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;margin-left:auto;padding:0;border:1.5px solid var(--broco-clair);border-radius:50%;background:transparent;color:var(--broco-clair)}body .recipe-card--catalogue .recipe-card-edit-btn:hover{background:#d9e5b829}body .recipe-card--catalogue .recipe-card-media{aspect-ratio:300 / 144}body .recipe-card--catalogue .recipe-card-body{display:flex;flex-direction:column;gap:12px;padding:12px 20px;background:transparent}body .recipe-card--catalogue .recipe-card-title{min-height:46px;color:var(--broco-clair);font-family:var(--broco-texte-font);font-weight:600;font-size:16px;line-height:23px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body .recipe-card--catalogue .recipe-meta-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 3px;border:1px solid var(--broco-clair);border-radius:6px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:12px;line-height:14px}body .recipe-card--catalogue .recipe-meta-pill svg{flex:0 0 auto;width:10px;height:10px}body .recipe-card--catalogue .recipe-card-social{display:flex;align-items:center;gap:16px;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:22px}body .recipe-card--catalogue .recipe-card-likes svg{color:var(--broco-rose)}body .recipe-card--catalogue .recipe-card-comments{color:var(--broco-clair)}body .recipe-card--catalogue.is-inverse .recipe-card-head{background:var(--broco-clair)}body .recipe-card--catalogue.is-inverse .recipe-card-author-chip img,body .recipe-card--catalogue.is-inverse .recipe-card-avatar-fallback,body .recipe-card--catalogue.is-inverse .recipe-card-author-chip>span:last-child{background:var(--broco-fonce);color:var(--broco-clair)}body .recipe-card--catalogue.is-inverse .recipe-card-edit-btn{border-color:var(--broco-fonce);color:var(--broco-fonce)}body .recipe-card--catalogue.is-inverse .recipe-card-edit-btn:hover{background:#02683a1f}body .recipe-card--catalogue.is-light{background:var(--broco-clair)}body .recipe-card--catalogue.is-light .recipe-card-title,body .recipe-card--catalogue.is-light .recipe-meta-pill,body .recipe-card--catalogue.is-light .recipe-card-comments{color:var(--broco-fonce)}body .recipe-card--catalogue.is-light .recipe-meta-pill{border-color:var(--broco-fonce)}body .recipe-card--catalogue .recipe-card-media{position:relative;background:var(--broco-clair)}body .recipe-card--catalogue .recipe-card-media-placeholder{position:absolute;inset:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--broco-clair),var(--broco-clair) 12px,#cbdaa4 12px,#cbdaa4 24px)}body .recipe-card-media-placeholder{display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(45deg,var(--broco-clair),var(--broco-clair) 12px,#cbdaa4 12px,#cbdaa4 24px)}body .recipe-card-placeholder-logo{width:clamp(54px,24%,84px);height:auto;padding:7px}body .recipe-card-certified{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:8px;line-height:12px}body .recipe-card--catalogue.is-inverse .recipe-card-certified{background:var(--broco-fonce);color:var(--broco-clair)}@media(max-width:768px){body .recipe-card--catalogue{flex-direction:column;border-radius:24px}body .recipe-card--catalogue .recipe-card-media{width:100%;height:auto;aspect-ratio:300 / 144;align-self:auto}}body .bug-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#02683a52}body .bug-modal{position:relative;width:100%;max-width:520px;padding:28px;border-radius:24px;background:var(--broco-bg);box-shadow:0 20px 48px #00351d38}body .bug-close{position:absolute;top:18px;right:18px;display:inline-flex;padding:4px;border:0;border-radius:8px;background:none;color:var(--broco-fonce);cursor:pointer}body .bug-close:hover{background:#02683a1f}body .bug-titre{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding-right:32px;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:24px;line-height:28px}body .bug-intro{margin:0 0 20px;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:15px;line-height:22px}body .bug-form{display:flex;flex-direction:column;gap:16px}body .bug-textarea{width:100%;min-height:132px;padding:12px 16px;border:1.5px solid var(--broco-accent);border-radius:8px;background:#fff;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:15px;line-height:22px;resize:vertical}body .bug-textarea::placeholder{color:#02683a73}body .bug-textarea:focus{outline:none;border-color:var(--broco-fonce)}body .bug-error{margin:0;color:var(--broco-orange);font-family:var(--broco-texte-font);font-size:14px;line-height:20px}body .bug-actions{display:flex;justify-content:flex-end;gap:12px}body .bug-actions button{padding:10px 20px;border-radius:8px;font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;cursor:pointer}body .bug-btn-ghost{border:1.5px solid var(--broco-accent);background:transparent;color:var(--broco-accent)}body .bug-btn-ghost:hover{background:#7d992a24}body .bug-btn-primary{border:1.5px solid var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}body .bug-btn-primary:hover:not(:disabled){background:#03532f}body .bug-btn-primary:disabled{opacity:.55;cursor:default}@media(max-width:600px){body .bug-modal{padding:22px 18px;border-radius:18px}body .bug-titre{font-size:21px}body .bug-actions{flex-direction:column-reverse}body .bug-actions button{width:100%}}.bottom-tabbar,.bottom-fab{display:none}@media(max-width:768px){.bottom-tabbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1500;padding:0 14px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none}.bottom-tabbar-inner{pointer-events:auto;display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid rgba(47,86,97,.12);border-radius:18px;padding:9px 20px;box-shadow:0 8px 22px #1729381f}.bottom-tab{border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;color:#9aa7aa;transition:color .15s ease}.bottom-tab svg{width:24px;height:24px}.bottom-tab-profile-img{width:34px;height:34px;border-radius:50%;border:2px solid #16313e;object-fit:cover}.bottom-tab.active{color:#2f5661}.bottom-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:20px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:1499;width:56px;height:56px;border:0;border-radius:50%;background:#335c67;color:#fff;cursor:pointer;box-shadow:0 10px 24px #17293847;transition:background .15s ease,transform .12s ease}.bottom-fab:active{background:#254b5a;transform:scale(.94)}}body .recipe-edit-overlay{position:fixed;inset:0;z-index:2500;padding-top:env(safe-area-inset-top,0px);overflow-y:auto;overflow-x:hidden;background:var(--broco-accent);container-type:inline-size}body .recipe-edit-overlay .recipe-edit-screen .fruit-band{width:100cqw;margin-inline:calc(50% - 50cqw)}body .recipe-edit-overlay .recipe-edit-screen .fruit-band-title{color:var(--broco-orange)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-form{display:flex;flex-direction:column;align-items:flex-start;width:100%}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-title-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-description-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step-input{border:0;border-radius:12px;background:#00351d26;box-shadow:inset 1px 1.5px 4px #0000002e;color:var(--broco-clair);font-family:var(--broco-texte-font)}body .recipe-edit-overlay .recipe-edit-screen ::placeholder{color:#d9e5b88c}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-title-input{width:100%;padding:12px 20px;font-family:var(--broco-titre);font-size:26px;line-height:32px;text-align:left}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-description-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient-input{text-align:left}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-hero{align-items:flex-start}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-description-input{width:100%;padding:10px 20px;font-size:15px;line-height:22px;resize:vertical}body .recipe-edit-overlay .recipe-edit-screen .rx-chip.is-orange{background:var(--broco-orange)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-tags{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1.5px solid var(--broco-clair);border-radius:4px;color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-tags input{min-width:260px;border:0;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-size:14px;line-height:17px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-tags input:focus{outline:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-meta{display:flex;flex-wrap:wrap;gap:20px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-meta-field{display:flex;flex-direction:column;gap:16px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-meta-field>span{font-family:var(--broco-titre);font-size:18px;line-height:18px;color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-select{min-width:92px;padding:12px 16px;border:1px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:15px;line-height:18px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-select option{background:var(--broco-accent);color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-hint{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;line-height:20px;color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-link{padding:0;border:0;background:none;color:var(--broco-clair);font-size:14px;text-decoration:underline;cursor:pointer}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-stats{flex-wrap:wrap;justify-content:center;gap:20px;max-width:460px;padding:24px 0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-stats .rx-stat{flex:0 0 auto;gap:12px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input{width:58px;padding:4px 8px;border-radius:8px;font-size:14px;line-height:22px;text-align:center}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input.is-readonly{display:inline-block;width:auto;min-width:58px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input::-webkit-outer-spin-button,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-servings{display:grid;grid-template-columns:1fr;gap:6px;width:88px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-servings .recipe-edit-time-input,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-unit-input{width:100%}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-media{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:15px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-image{width:300px;aspect-ratio:1;border-radius:12px;background:var(--broco-bg);margin-top:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-image-input{display:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-image-btn{font-family:var(--broco-texte-font)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-section{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;margin:32px 0 48px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredients{display:flex;flex-direction:column;gap:16px;width:100%;margin:0;padding:0;list-style:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient{display:flex;align-items:center;gap:32px;width:100%;padding:18px 22px;border-radius:12px;background:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient.is-dragging{opacity:.6}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-drag{display:inline-flex;flex:0 0 auto;color:var(--broco-accent);cursor:grab;touch-action:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-drag:active{cursor:grabbing}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient-input{flex:1 1 0;min-width:0;padding:12px 20px;border:0;border-radius:12px;background:#7d992a33;box-shadow:inset 1px 1.5px 4px #00000014;color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:16px;line-height:22px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient ::placeholder{color:#7d992acc}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-remove{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:3px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);cursor:pointer}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-remove.is-light{border-color:var(--broco-clair);color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-remove:disabled{opacity:.4;cursor:default}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-steps{display:flex;flex-direction:column;gap:24px;width:100%;margin:0;padding:0;list-style:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-section.is-centered{align-items:center}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-block{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%;max-width:var(--rx-wide-width)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step{display:flex;align-items:flex-start;gap:24px;width:100%}body .recipe-edit-overlay .recipe-edit-screen .rx-step-number.is-orange{background:var(--broco-orange)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step-body{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step-input{width:100%;min-height:160px;padding:12px 20px;font-size:16px;line-height:22px;resize:vertical}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-counter{font-size:12px;line-height:17px;color:var(--broco-bg)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-counter.is-warning{color:var(--broco-jaune)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-add-step{margin-left:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-options{gap:24px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-option{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-option-label{font-family:var(--broco-titre);font-size:18px;color:var(--broco-clair)}body .recipe-edit-overlay .recipe-edit-screen .rating-star{border:0;background:none;color:var(--broco-jaune);cursor:pointer}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-errors{width:100%;max-width:var(--rx-wide-width);margin:0 auto 24px;padding:16px 20px;border-radius:12px;background:var(--broco-orange);color:var(--broco-bg)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-errors ul{margin:8px 0 0;padding-left:20px}body .recipe-edit-overlay .recipe-edit-screen .note-image-uploader{width:100%}body .recipe-edit-overlay .recipe-edit-screen .upload-zone{display:flex;align-items:center;justify-content:center;width:100%;min-height:120px;padding:24px;border:2px dashed var(--broco-clair);border-radius:12px;background:#00351d26;color:var(--broco-clair);cursor:pointer;text-align:center;transition:background-color .16s ease}body .recipe-edit-overlay .recipe-edit-screen .upload-zone:hover,body .recipe-edit-overlay .recipe-edit-screen .upload-zone.dragging{background:#00351d47}body .recipe-edit-overlay .recipe-edit-screen .upload-content p{margin:0;color:var(--broco-clair);font-size:15px;line-height:22px}body .recipe-edit-overlay .recipe-edit-screen .upload-hint{margin-top:4px;font-size:13px;opacity:.8}body .recipe-edit-overlay .recipe-edit-screen .upload-icon{display:none}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-actions{justify-content:center;margin:24px auto}body .recipe-edit-overlay .recipe-edit-screen .rx-btn-danger{border-color:var(--broco-orange);background:var(--broco-orange)}body .recipe-edit-overlay .recipe-edit-screen .rx-btn-danger:hover:not(:disabled){background:#d4581e}@media(max-width:1100px){body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient{gap:24px;padding:20px 24px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-steps,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-options,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-errors{padding-inline:0;margin-inline:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-add-step{margin-left:0}}@media(max-width:768px){body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-hero{flex-direction:column-reverse;align-items:center}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-image{width:min(190px,52vw)}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-title-input{font-size:24px;line-height:30px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-tags input{min-width:0;width:100%}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-stats{gap:16px 12px;padding-right:0}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-stats .rx-stat-label{font-size:13px;line-height:18px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-stats svg{width:32px;height:32px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-time-input{width:52px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-ingredient{flex-direction:column;align-items:stretch;gap:12px;padding:20px 16px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-drag,body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-remove{align-self:center}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step{gap:12px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step .rx-step-number{width:36px;height:36px;font-size:24px;line-height:28px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-step-input{min-height:120px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-add-step{align-self:center}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-actions{flex-direction:column;align-items:stretch;gap:16px}body .recipe-edit-overlay .recipe-edit-screen .recipe-edit-actions .rx-btn{justify-content:center}}.auth-page{min-height:100svh;display:flex;flex-direction:column;background:var(--broco-clair);color:var(--broco-texte);font-family:var(--broco-texte-font);overflow-x:hidden}.auth-band{flex:0 0 auto;height:66px;background-image:url(/img/broco-band.png);background-repeat:repeat-x;background-position:center;background-size:auto 100%}.auth-layout{flex:1 1 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,5rem);width:100%;max-width:1280px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,8vw,150px)}.auth-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;flex:1 1 0;min-width:0}.auth-intro-mascot{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:987 / 1124;object-fit:contain}.auth-intro-copy{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.auth-intro-title{margin:0;font-family:var(--broco-titre);font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.25;color:var(--broco-accent);text-align:center;overflow-wrap:break-word}.auth-intro-tagline{margin:0;font-size:.875rem;line-height:1.4;color:var(--broco-texte);text-align:center}.auth-card{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:464px;flex:0 1 464px;padding:0;background:none;border:0;border-radius:0}.auth-copy{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:355px;padding:0}.auth-copy h2{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.6rem,3vw,2rem);line-height:1.2;letter-spacing:0;color:var(--broco-fonce);text-align:center}.auth-copy p{margin:0;font-size:1rem;line-height:1.35;color:var(--broco-accent);text-align:center}.auth-copy-link{margin:0;padding:0;border:0;background:transparent;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.auth-copy-link:hover{color:var(--broco-fonce)}.auth-form{display:flex;flex-direction:column;gap:24px;width:100%;margin:0}.auth-field{display:flex;flex-direction:column;gap:8px;width:100%}.auth-field span{font-size:.875rem;font-weight:400;color:var(--broco-fonce)}.auth-field input{width:100%;min-height:3rem;padding:12px 3rem 12px 16px;border:2px solid transparent;border-radius:var(--broco-radius);background:#c6d3a4;color:var(--broco-texte);font-family:inherit;font-size:1rem;transition:border-color .16s ease,background-color .16s ease}.auth-field input::placeholder{color:#ffffffe6}.auth-field input:focus{outline:none;border-color:var(--broco-accent)}.input-with-toggle{position:relative;width:100%}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:6px;border:0;background:transparent;color:var(--broco-fonce);cursor:pointer}.auth-alert{padding:12px 16px;border-radius:var(--broco-radius);font-size:.9375rem;line-height:1.45}.auth-error{color:#8b1e2d;background:#e862221f;border:1px solid rgba(232,98,34,.3)}.auth-info{color:var(--broco-fonce);background:#7d992a24;border:1px solid rgba(125,153,42,.32)}.auth-submit,.auth-google{display:inline-flex;align-items:center;justify-content:center;gap:var(--broco-gap);width:100%;min-height:3rem;padding:12px;border-radius:var(--broco-radius);font-family:inherit;font-size:1rem;font-weight:400;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.auth-submit{border:2px solid var(--broco-accent);background:var(--broco-accent);color:var(--broco-bg);box-shadow:none}.auth-submit:hover:not(:disabled){background:var(--broco-fonce);border-color:var(--broco-fonce);transform:none}.auth-submit:focus-visible{outline:none;box-shadow:0 0 0 3px #02683a40}.auth-submit:disabled{opacity:.72;cursor:progress}.auth-submit svg{flex:0 0 auto}.auth-google{border:1.3px solid var(--broco-accent);background:transparent;color:var(--broco-accent);margin:0}.auth-google:hover{background:#7d992a1f;border-color:var(--broco-accent);color:var(--broco-fonce);transform:none}.google-icon{width:20px;height:20px;flex:0 0 auto}.auth-google-label{text-align:center;line-height:1}.auth-divider{display:flex;align-items:center;justify-content:center;margin:0;color:var(--broco-fonce)}.auth-divider:before,.auth-divider:after{content:none}.auth-divider span{padding:0;font-size:.875rem;letter-spacing:0}.lnk-legal{display:block;margin-top:4px;color:#00351d99;font-size:.75rem;text-align:center;text-decoration:none}.lnk-legal:hover{color:var(--broco-fonce)}@media(min-width:1101px){.auth-page{height:100svh;overflow:hidden}.auth-band{height:clamp(40px,7.5vh,66px)}.auth-layout{min-height:0;padding-block:clamp(.75rem,3vh,3.5rem)}.auth-intro{gap:clamp(.75rem,2.5vh,24px)}.auth-intro-mascot{max-width:min(280px,34vh)}.auth-card{gap:clamp(1rem,3.5vh,32px)}.auth-form{gap:clamp(.75rem,2.5vh,24px)}.auth-field{gap:clamp(4px,1vh,8px)}.auth-field input,.auth-submit,.auth-google{min-height:clamp(2.4rem,5.5vh,3rem)}.auth-field input,.auth-submit,.auth-google{padding-block:clamp(8px,1.5vh,12px)}.auth-page.is-register .auth-layout{flex-direction:row-reverse}.auth-page.is-register .auth-intro-mascot{max-width:min(330px,38vh)}}@media(min-width:1101px)and (max-height:980px){.auth-copy{gap:6px}.auth-copy h2{font-size:1.6rem}.auth-copy p{font-size:.9375rem}.auth-intro-title{font-size:1.25rem}.auth-card{gap:14px}.auth-form{gap:12px}.auth-field{gap:4px}.auth-field input,.auth-submit,.auth-google{min-height:2.25rem;padding-block:6px}.auth-divider span{font-size:.8125rem}}@media(min-width:1101px)and (max-height:620px){.auth-band{display:none}.auth-layout{padding-block:.75rem}}@media(max-width:1100px){.auth-layout{flex-direction:column;justify-content:flex-start;gap:clamp(2.5rem,8vw,5rem);padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,4vw,2.5rem)}.auth-card{order:1;flex:0 0 auto;max-width:640px}.auth-intro{order:2;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,2.5rem);width:100%;max-width:640px}.auth-intro-mascot{max-width:200px;flex:0 0 auto}.auth-intro-copy{align-items:flex-start;flex:1 1 auto}.auth-intro-title,.auth-intro-tagline{text-align:left}.auth-intro-title{max-width:26ch}}@media(max-width:768px){.auth-page{padding-top:var(--safe-area-top, env(safe-area-inset-top, 0px))}}@media(max-width:640px){.auth-band{display:none}.auth-layout{justify-content:center;gap:2.5rem;padding:2rem 1.5rem}.auth-intro{order:1;flex-direction:column;gap:16px}.auth-intro-mascot{max-width:150px}.auth-intro-copy{align-items:center}.auth-intro-title,.auth-intro-tagline{text-align:center}.auth-intro-title{font-size:1.125rem}.auth-card{order:2;gap:24px}.auth-form{gap:20px}}body .verify-page{position:relative;display:grid;place-items:center;min-height:100vh;padding:32px 16px;background:var(--broco-bg);color:var(--broco-texte)}body .verify-card{position:relative;z-index:1;width:min(100%,560px);padding:36px;border-radius:24px;background:var(--broco-accent);color:var(--broco-clair)}body .verify-mascot{display:block;width:104px;height:auto;margin:0 0 20px auto}body .verify-card h2{margin:0 0 16px;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:32px;line-height:38px;letter-spacing:0}body .verify-card p{margin:0 0 14px;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:17px;line-height:25px}body .verify-note{opacity:.82;font-size:15px!important}body .verify-form{display:grid;gap:12px;margin-top:22px}body .verify-form input{min-height:46px;padding:10px 14px;border:1px solid var(--broco-clair);border-radius:8px;background:#fff;color:var(--broco-fonce);font:inherit}body .verify-error{color:#ffe2de!important}body .verify-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}body .verify-actions a,body .verify-actions button,body .verify-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:2px solid var(--broco-clair);border-radius:8px;font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;text-decoration:none;cursor:pointer;transition:background-color .16s ease}body .verify-actions button{background:var(--broco-clair);color:var(--broco-fonce)}body .verify-actions button:hover:not(:disabled){background:#cbdca3}body .verify-actions a,body .verify-link{background:transparent;color:var(--broco-clair)}body .verify-actions a:hover,body .verify-link:hover{background:#d9e5b82e}body .verify-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:640px){body .verify-page{padding:20px 14px}body .verify-card{padding:26px 20px;border-radius:20px}body .verify-card h2{font-size:26px;line-height:31px}body .verify-mascot{width:84px}body .verify-actions{flex-direction:column}body .verify-actions a,body .verify-actions button,body .verify-link{width:100%}}body .error-page{display:grid;place-items:center;min-height:100vh;padding:32px 16px;background:var(--broco-bg)}body .error-card{display:flex;align-items:center;gap:32px;width:min(100%,640px);padding:40px;border-radius:24px;background:var(--broco-fonce);color:var(--broco-clair)}body .error-mascot{flex:0 0 auto;width:150px;height:auto}body .error-code{margin:0 0 6px;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:56px;line-height:1}body .error-title{margin:0 0 12px;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:26px;line-height:31px}body .error-text{margin:0 0 24px;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:16px;line-height:24px}body .error-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:2px solid var(--broco-clair);border-radius:8px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;text-decoration:none;transition:background-color .16s ease}body .error-link:hover{background:#cbdca3}@media(max-width:640px){body .error-card{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 22px;border-radius:20px}body .error-mascot{width:110px;align-self:center}body .error-code{font-size:44px}body .error-title{font-size:22px;line-height:27px}body .error-link{width:100%}}.legal-page{position:relative;min-height:100svh;overflow:hidden;padding:48px 32px 72px;background:var(--broco-bg);color:var(--broco-texte);font-family:var(--broco-texte-font)}.legal-container{position:relative;z-index:1;width:min(1080px,100%);margin:0 auto}.legal-header{margin-bottom:28px;padding:28px 36px;border-radius:28px;background:var(--broco-clair)}.legal-header h1{margin:0;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:clamp(34px,5vw,52px);font-weight:400;line-height:.95}.legal-header p{margin:14px 0 0;color:var(--broco-texte);font-size:15px}.legal-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.legal-section{padding:24px;border:1.5px solid var(--broco-fonce);border-radius:22px;background:var(--broco-clair);box-shadow:0 5px 0 var(--broco-fonce)}.legal-section h3{margin:0 0 14px;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:24px;font-weight:400;line-height:1}.legal-section p,.legal-section ul{margin:0 0 12px;color:var(--broco-texte);font-size:15px;line-height:1.55}.legal-section p:last-child,.legal-section ul:last-child{margin-bottom:0}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:6px}.legal-section li::marker{color:var(--broco-orange)}.legal-section strong{color:var(--broco-fonce)}.legal-section a{color:var(--broco-fonce);font-weight:700;text-decoration-color:var(--broco-vert);text-decoration-thickness:1px;text-underline-offset:2px}.legal-section a:hover{color:var(--broco-orange)}.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}.legal-footer .btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 20px;border:1.5px solid var(--broco-fonce);border-radius:14px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-size:17px;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease}.legal-footer .btn:last-child{background:var(--broco-fonce);color:var(--broco-clair)}.legal-footer .btn:hover{transform:translateY(-2px);background:var(--broco-accent);color:var(--broco-clair)}.legal-footer .btn:active{transform:translateY(0)}@media(max-width:760px){.legal-page{padding:24px 16px 48px}.legal-header{margin-bottom:20px;padding:24px;border-radius:24px}.legal-content{grid-template-columns:1fr;gap:14px}.legal-section{padding:20px;border-radius:18px}}@media(max-width:430px){.legal-header h1{font-size:34px}.legal-section h3{font-size:22px}.legal-footer .btn{justify-content:center;width:100%}}body .contact-page{position:relative;background:var(--broco-fonce)}body .contact-page:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--broco-fonce);pointer-events:none}body .contact-layout{display:grid;grid-template-columns:minmax(0,531px) minmax(0,1fr);align-items:center;gap:64px;width:100%;max-width:1216px;margin:0 auto;padding:32px 36px 40px;color:var(--broco-clair);font-family:var(--broco-texte-font)}body .contact-form{display:flex;flex-direction:column;align-items:stretch;gap:24px;min-width:0}body .contact-intro h1{margin:0 0 8px;font-family:var(--broco-titre);font-weight:400;font-size:32px;line-height:38px;color:var(--broco-clair)}body .contact-intro p{margin:0;font-size:16px;line-height:23px;color:var(--broco-clair)}body .contact-field{display:flex;flex-direction:column;gap:12px}body .contact-field>span{font-size:16px;line-height:23px;color:var(--broco-clair)}body .contact-field input,body .contact-field textarea{width:100%;padding:11px 20px;border:0;border-radius:12px;background:#00351d8c;box-shadow:inset 1px 1.5px 4px #0000002e;color:var(--broco-clair);font-family:var(--broco-texte-font);font-weight:500;font-size:14px;line-height:22px}body .contact-field textarea{min-height:103px;padding-block:12px;resize:vertical}body .contact-field input::placeholder,body .contact-field textarea::placeholder{color:#d9e5b88c}body .contact-field input:focus,body .contact-field textarea:focus,body .contact-select-btn:focus-visible{outline:2px solid var(--broco-clair);outline-offset:2px}body .contact-field-select{position:relative}body .contact-select-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 16px;border:1px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-texte-font);font-weight:400;font-size:16px;line-height:18px;text-align:left;cursor:pointer}body .contact-select-btn .is-placeholder{color:#d9e5b8b3}body .contact-select-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:flex;flex-direction:column;gap:2px;width:100%;max-height:260px;margin:0;padding:6px;overflow-y:auto;list-style:none;border:1px solid var(--broco-clair);border-radius:8px;background:var(--broco-fonce);box-shadow:0 16px 32px #00351d59}body .contact-select-menu button{width:100%;padding:8px 12px;border:0;border-radius:12px;background:transparent;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:15px;line-height:22px;text-align:left;cursor:pointer}body .contact-select-menu button:hover{background:#d9e5b829}body .contact-select-menu button.is-selected{background:var(--broco-clair);color:var(--broco-fonce)}body .contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:10px 12px;border:2px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;cursor:pointer;transition:background-color .16s ease}body .contact-submit:hover:not(:disabled){background:#d9e5b829}body .contact-submit:disabled{opacity:.6;cursor:default}body .contact-feedback{margin:0;font-size:14px;line-height:20px}body .contact-feedback.is-ok{color:var(--broco-clair)}body .contact-feedback.is-error{color:var(--broco-jaune)}body .contact-mascot{justify-self:center;width:100%;max-width:367px;height:auto}body .contact-page .landing-footer{display:block}@media(max-width:1100px){body .contact-layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-inline:24px}body .contact-mascot{order:-1;max-width:310px}}@media(max-width:768px){body .contact-layout{gap:32px;padding:20px 16px 32px}body .contact-mascot{max-width:220px}body .contact-intro h1{font-size:28px;line-height:34px}}body .edit-profile-page{position:relative;background:var(--broco-accent);width:100%}body .edit-profile-page:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--broco-accent);pointer-events:none}body .edit-profile{width:100%;max-width:1216px;margin:0 auto;padding:32px 36px 40px;color:var(--broco-clair);font-family:var(--broco-texte-font)}body .edit-profile-head{margin:0 0 40px}body .edit-profile-head h1{margin:0 0 8px;font-family:var(--broco-titre);font-weight:400;font-size:32px;line-height:38px;color:var(--broco-clair)}body .edit-profile .edit-profile-head p{margin:0;font-size:16px;line-height:23px;color:var(--broco-clair)}body .edit-profile-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}body .edit-profile-block{display:flex;flex-direction:column;align-items:stretch;min-width:0}body .edit-profile-title{display:flex;align-items:center;gap:16px;margin:0 0 24px;font-family:var(--broco-titre);font-weight:400;font-size:24px;line-height:29px;color:var(--broco-fonce)}body .edit-profile .edit-profile-hint{margin:-12px 0 24px;font-size:16px;line-height:23px;color:var(--broco-clair)}body .edit-profile-avatar-row{display:flex;align-items:center;gap:24px;margin:0 0 16px}body .edit-profile-avatar{flex:0 0 auto;width:94px;height:94px;border-radius:50%;background:var(--broco-clair);object-fit:cover}body .edit-profile .edit-profile-avatar-row p{margin:0;font-size:15px;line-height:22px;color:var(--broco-clair)}body .edit-profile-avatars{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 32px}body .edit-profile-avatar-option{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--broco-clair);overflow:hidden;cursor:pointer}body .edit-profile-avatar-option img{width:100%;height:100%;object-fit:cover}body .edit-profile-avatar-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1.5px solid var(--broco-clair);border-radius:50%;background:transparent;color:var(--broco-clair);cursor:pointer}body .edit-profile-avatar-add:hover{background:#d9e5b82e}body .edit-profile-field{display:flex;flex-direction:column;gap:8px;margin:0 0 24px}body .edit-profile-field>span{font-size:16px;line-height:23px;color:var(--broco-clair)}body .edit-profile-field input{width:100%;padding:12px 20px;border:0;border-radius:12px;background:#00351d26;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:15px;line-height:22px}body .edit-profile-field input::placeholder{color:#d9e5b899}body .edit-profile-field input:focus{outline:2px solid var(--broco-clair);outline-offset:2px}body .edit-profile-field.is-locked input{cursor:not-allowed;opacity:.75}body .edit-profile-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:8px}body .edit-profile-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border:1.5px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:16px;line-height:19px;cursor:pointer;transition:background-color .16s ease}body .edit-profile-btn:hover:not(:disabled){background:#d9e5b829}body .edit-profile-btn:disabled{opacity:.6;cursor:default}body .edit-profile .edit-profile-feedback{margin:16px 0 0;font-size:14px;line-height:20px}body .edit-profile .edit-profile-feedback.is-ok{color:var(--broco-clair)}body .edit-profile .edit-profile-feedback.is-error{color:var(--broco-jaune)}body .edit-profile-subtitle{margin:0 0 16px;font-family:var(--broco-titre);font-weight:400;font-size:20px;line-height:24px;color:var(--broco-clair)}body .edit-profile-subtitle.is-small{margin-top:32px;font-family:var(--broco-texte-font);font-size:16px;line-height:23px}body .edit-profile-preview{align-self:flex-start;padding:10px 20px;border-radius:8px;background:#00351d26;color:var(--broco-clair);font-size:22px;line-height:28px}body .edit-profile-preview.is-rainbow{background-image:linear-gradient(to bottom left,#ff5d44,#ffd84d,#78d95b,#4dc8ff,#8f7cff,#ff79c7,#ff5d44);background-size:180% 180%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 8px rgba(255,93,196,.72),0 0 18px rgba(77,200,255,.58),0 0 30px rgba(255,216,77,.42);filter:none;animation:pseudo-rainbow-glow 3s linear infinite}@keyframes pseudo-rainbow-glow{to{background-position:100% 100%}}body .edit-profile-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .edit-profile-color-chips{grid-template-columns:repeat(4,minmax(0,1fr))}body .edit-profile-chips button{padding:8px 12px;border:0;border-radius:12px;background:#00351d26;color:#fff;font-family:var(--broco-texte-font);font-weight:600;font-size:14px;line-height:20px;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}body .edit-profile-chips button:hover,body .edit-profile-chips button.is-selected{background:#d9e5b840}body .edit-profile-chips button.is-selected{box-shadow:inset 0 0 0 2px var(--broco-clair)}body .edit-profile-color-chips button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding-inline:6px;font-size:12px}body .edit-profile-color-chips i{width:13px;height:13px;border:1px solid rgba(255,255,255,.75);border-radius:50%}body .edit-profile-page .landing-footer{display:block;margin-top:48px}@media(min-width:769px){body .edit-profile-page .landing-footer{padding-bottom:0}}@media(max-width:1100px){body .edit-profile{padding-inline:24px}body .edit-profile-columns{grid-template-columns:minmax(0,1fr);gap:64px}body .edit-profile-block{max-width:560px}}@media(max-width:768px){body .edit-profile{padding:20px 16px 0}body .edit-profile-head h1{font-size:28px;line-height:34px}body .edit-profile-title{font-size:20px;line-height:24px}body .edit-profile-avatar{width:78px;height:78px}body .edit-profile-actions{flex-direction:column;align-items:flex-start;gap:16px}body .edit-profile-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}body .public-profile{width:100%;max-width:1216px;margin:0 auto;padding:32px 36px 0;color:var(--broco-texte);font-family:var(--broco-texte-font)}body .public-profile-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:24px;margin:0 0 40px;padding:24px;border-radius:24px;background:var(--broco-fonce)}body .public-profile-avatar{width:140px;height:140px;border-radius:50%;background:var(--broco-clair);object-fit:cover}body .public-profile-body{display:flex;flex-direction:column;gap:12px;min-width:0;padding-top:4px}body .public-profile-name{align-self:flex-start;margin:0;padding:4px 14px;border-radius:8px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:20px;line-height:24px}body .public-profile .public-profile-stats{margin:0;color:var(--broco-clair);font-family:var(--broco-titre);font-size:16px;line-height:22px}body .public-profile-description{margin:0;color:var(--broco-clair);font-size:15px;line-height:1.45;white-space:pre-line}body .public-profile-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}body .public-profile-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:14px;line-height:17px;cursor:pointer;transition:background-color .16s ease}body .public-profile-btn:hover:not(:disabled){background:#d9e5b829}body .public-profile-btn:disabled{opacity:.55;cursor:not-allowed}body .public-profile-section-title{margin:0 0 24px;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.5rem,2.5vw,28px);line-height:1.2;color:var(--broco-fonce)}body .public-profile-recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}body .public-profile-see-all{margin-top:32px;border-color:var(--broco-fonce);color:var(--broco-fonce)}body .public-profile-see-all:hover{background:#02683a14}body .public-profile .public-profile-empty{margin:0;color:var(--broco-fonce);font-size:16px;line-height:23px}@media(max-width:1100px){body .public-profile{padding-inline:24px}body .public-profile-banner{grid-template-columns:auto minmax(0,1fr)}body .public-profile-actions{grid-column:1 / -1;justify-content:flex-start}body .public-profile-avatar{width:120px;height:120px}body .public-profile-recipes{gap:24px}}@media(max-width:768px){body .public-profile{padding:20px 16px 0}body .public-profile-banner{gap:16px;padding:16px}body .public-profile-avatar{width:96px;height:96px}body .public-profile-name{font-size:18px}body .public-profile-actions .public-profile-btn{font-size:13px}body .public-profile-recipes{grid-template-columns:minmax(0,1fr);gap:24px}body .public-profile-see-all{width:100%;justify-content:center}}body .public-profile-btn.is-following{background:var(--broco-clair);color:var(--broco-fonce)}body .public-profile-btn.is-following:hover{background:#cbdca3}body .public-profile-btn:disabled{opacity:.6;cursor:default}.courses-target{position:relative;display:inline-block}.courses-target-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .95rem;border:1px solid #cdd6d2;border-radius:12px;background:#fff;color:#16313e;cursor:pointer;font-size:.92rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.courses-target-btn:hover:not(:disabled){border-color:var(--broco-fonce, #00351d);background:var(--broco-fonce, #00351d);color:var(--broco-clair, #d9e5b8);box-shadow:0 5px 12px #00351d29;transform:translateY(-1px)}.courses-target-btn:active:not(:disabled){box-shadow:0 2px 5px #00351d1f;transform:translateY(0)}.courses-target-btn:disabled{opacity:.6;cursor:not-allowed}.courses-target-backdrop{position:fixed;inset:0;background:transparent;border:none;z-index:30;cursor:default}.courses-target-menu{position:absolute;z-index:31;top:calc(100% + 6px);left:0;min-width:200px;background:#fff;border:1px solid #e3e8e6;border-radius:14px;box-shadow:0 14px 36px #16313e2e;padding:.35rem;display:flex;flex-direction:column;gap:.15rem}.courses-target-menu button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;border:none;background:none;padding:.55rem .7rem;border-radius:10px;cursor:pointer;color:#16313e;font-size:.92rem}.courses-target-menu button:hover{background:#f4f7f5}.courses-target-option{display:flex;align-items:center;gap:.45rem;margin:.15rem;padding:.4rem .5rem;border:1.5px solid var(--broco-fonce);border-radius:12px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:.75rem;cursor:pointer}.courses-target-option:hover{background:#fff}.courses-target-option input{width:.85rem;height:.85rem;accent-color:var(--broco-orange)}.courses-target-option span{display:flex;flex-direction:column;gap:.1rem}.courses-target-option strong{font-family:var(--broco-titre);font-size:.86rem;font-weight:400}.courses-target-option small{color:var(--broco-accent);font-size:.68rem}.courses-target-count{font-size:.72rem;background:#eef0ef;color:#4f7281;border-radius:999px;padding:0 .45rem}.ingredients-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.courses-feedback{margin:.4rem 0 .2rem;color:#2f8f6b;font-weight:600;font-size:.9rem}body .admin-page{min-height:100vh;background:var(--broco-bg)}body .admin-shell{width:100%;max-width:1100px;min-width:0;box-sizing:border-box;margin:0 auto;padding:32px 16px 48px}body .admin-title{margin:0 0 24px;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:36px;line-height:42px}body .admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}body .admin-tabs button{padding:8px 18px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400;font-size:15px;line-height:18px;cursor:pointer}body .admin-tabs button:hover:not(.active){background:#7d992a24}body .admin-tabs button.active{border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}body .admin-notice{margin-bottom:16px;padding:10px 16px;border-radius:8px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:15px}body .admin-notice.is-error{background:#e8622224;color:var(--broco-orange)}body .admin-card{min-width:0;box-sizing:border-box;padding:20px;border:1.5px solid rgba(2,104,58,.14);border-radius:16px;background:#fff}body .admin-card-title{margin:0 0 14px;color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:19px;line-height:23px}body .admin-empty{margin:0;color:#02683a8c;font-family:var(--broco-texte-font);font-size:14px}body .admin-empty.is-centered{padding:32px 0;text-align:center}body .admin-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px}body .admin-search{flex:1;min-width:0;padding:9px 14px;border:1.5px solid var(--broco-accent);border-radius:8px;background:#fff;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:14px}body .admin-search::placeholder{color:#02683a73}body .admin-search:focus{outline:none;border-color:var(--broco-fonce)}body .admin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400;font-size:14px;line-height:17px;cursor:pointer}body .admin-btn:hover:not(:disabled){background:#7d992a24}body .admin-btn:disabled{opacity:.55;cursor:default}body .admin-btn-primary{border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}body .admin-btn-primary:hover:not(:disabled){background:#03532f}body .admin-btn-danger{border-color:var(--broco-orange);color:var(--broco-orange)}body .admin-btn-danger:hover:not(:disabled){background:#e862221f}body .admin-btn-sm{padding:4px 10px;font-size:12px}body .admin-btn-icon{padding:6px 10px}body .admin-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}body .admin-table{width:100%;min-width:560px;border-collapse:collapse;font-family:var(--broco-texte-font);font-size:14px}body .admin-table th{padding:10px 12px;border-bottom:2px solid rgba(2,104,58,.18);color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:14px;text-align:left}body .admin-table td{padding:12px;border-bottom:1px solid rgba(2,104,58,.1);color:var(--broco-texte);vertical-align:middle}body .admin-table tr.is-banned{background:#e8622214}body .admin-table .admin-cell-name{color:var(--broco-fonce);font-weight:600}body .admin-table .admin-cell-muted{color:var(--broco-accent)}body .admin-table .admin-cell-actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}body .admin-count{color:var(--broco-fonce);font-weight:700}body .admin-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-family:var(--broco-titre);font-weight:400;font-size:12px;line-height:15px}body .admin-pill.is-active,body .admin-pill.is-recipe{background:var(--broco-clair);color:var(--broco-fonce)}body .admin-pill.is-banned{background:#e8622224;color:var(--broco-orange)}body .admin-pill.is-user{background:#7d992a2e;color:var(--broco-accent)}body .admin-proposals{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}body .admin-proposal-item{display:block;width:100%;margin-bottom:8px;padding:10px 12px;border:1.5px solid transparent;border-radius:8px;background:transparent;text-align:left;cursor:pointer}body .admin-proposal-item:hover{background:#7d992a1a}body .admin-proposal-item.is-selected{border-color:var(--broco-fonce);background:var(--broco-clair)}body .admin-proposal-name{margin-bottom:3px;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-weight:600;font-size:14px}body .admin-proposal-meta{color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:12px}body .admin-commit{margin-bottom:20px;padding:14px 16px;border-left:4px solid var(--broco-accent);border-radius:8px;background:#d9e5b866}body .admin-commit-label{margin-bottom:6px;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400;font-size:12px;text-transform:uppercase}body .admin-commit p{margin:0;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:15px;font-style:italic}body .admin-commit-meta{margin-top:8px;color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:12px}body .admin-diff-legend{display:flex;gap:16px;margin-bottom:12px;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:12px}body .admin-diff-legend .admin-sign{font-family:monospace;font-weight:700}body .admin-diff-legend .admin-sign-minus{color:var(--broco-orange)}body .admin-diff-legend .admin-sign-plus{color:var(--broco-fonce)}body .admin-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}body .admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}body .admin-kpi{min-width:0;padding:22px 24px;border:0;border-radius:20px;background:var(--broco-fonce);color:var(--broco-clair)}body .admin-kpi.is-accent{background:var(--broco-accent)}body .admin-kpi.is-warning{background:var(--broco-jaune);color:var(--broco-fonce)}body .admin-kpi.is-clair{background:var(--broco-clair);color:var(--broco-fonce)}body .admin-kpi-value{color:inherit;font-family:var(--broco-titre);font-weight:400;font-size:40px;line-height:1}body .admin-kpi-label{margin-top:10px;color:inherit;font-family:var(--broco-texte-font);font-weight:600;font-size:15px}body .admin-kpi-sub{margin-top:4px;color:inherit;opacity:.78;font-family:var(--broco-texte-font);font-size:12px}body .admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}body .admin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}body .admin-card-head .admin-card-title{margin:0}body .admin-top-list{margin:0;padding-left:20px;color:var(--broco-fonce)}body .admin-top-list li{margin-bottom:10px}body .admin-top-name{color:var(--broco-fonce);font-family:var(--broco-texte-font);font-weight:600;font-size:14px}body .admin-top-meta{color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:12px}body .admin-activity{margin:0;padding:0;list-style:none}body .admin-activity li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(2,104,58,.09)}body .admin-activity-label{flex:1;min-width:0;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:13px}body .admin-activity-date{color:var(--broco-accent);font-family:var(--broco-texte-font);font-size:11px;white-space:nowrap}@media(max-width:1000px){body .admin-proposals,body .admin-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){body .admin-shell{padding:24px 14px 40px}body .admin-title{font-size:28px;line-height:33px}body .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body .admin-table .admin-cell-actions{flex-direction:column;align-items:stretch}}body .ideas-embedded{width:100%}body:has(.ideas-empty-page-bg) .app{position:relative;z-index:1;background:transparent}body:has(.ideas-empty-page-bg) .planner:before{display:none}.ideas-empty-page-bg{position:fixed;inset:0;z-index:-1;width:100vw;height:100dvh;background-color:var(--broco-bg);background-image:url(/img/broco-line-olive.png);background-repeat:repeat;background-size:88px auto;background-position:center top;opacity:.18;pointer-events:none}body .ideas-layout{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:32px;width:100%;margin-top:24px}body .ideas-layout .idea-form{display:flex;flex-direction:column;gap:14px;padding:0;border:0;background:none;box-shadow:none}body .ideas-layout .planner-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0;border:0;background:none}body .ideas-layout .planner-tabs button{padding:5px 9px;border:1.5px solid var(--broco-accent);border-radius:8px;background:transparent;color:var(--broco-accent);font-family:var(--broco-titre);font-weight:400;font-size:11px;line-height:14px;box-shadow:none}body .ideas-layout .planner-tabs button.active{background:var(--broco-accent);color:var(--broco-clair)}body .ideas-layout .idea-note-form,body .ideas-layout .planner-picker{display:flex;flex-direction:column;gap:14px}body .ideas-layout .idea-field{display:flex;flex-direction:column;gap:5px}body .ideas-layout .idea-field>span{font-family:var(--broco-texte-font);font-size:12px;line-height:17px;color:var(--broco-fonce)}body .ideas-embedded .ideas-layout .planner-input{width:100%;min-height:36px;padding:8px 11px;border:0;border-radius:8px;background:#d9d9d9;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:12px;line-height:17px;box-shadow:none}body .ideas-embedded .ideas-layout .planner-input::placeholder{color:#02683a73}body .ideas-embedded .ideas-layout .idea-textarea{min-height:58px;resize:vertical}body .planner .ideas-embedded .ideas-layout .planner-btn-primary{width:100%;min-height:36px;padding:8px 11px;border:0;border-radius:8px;background:var(--broco-accent);color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:13px;line-height:16px;box-shadow:none;cursor:pointer}body .planner .ideas-embedded .ideas-layout .planner-btn-primary:hover:not(:disabled){background:#6d8724}body .planner .ideas-embedded .ideas-layout .planner-btn-primary:disabled{opacity:.55;cursor:default}body .ideas-layout .idea-grid,body .ideas-layout .planner-empty{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;min-height:320px;padding:16px;border:0;background:transparent}body .ideas-layout .idea-grid:before,body .ideas-layout .planner-empty:before{content:"";position:absolute;inset:0;z-index:0;opacity:.18;background-image:linear-gradient(#eef0efd1,#eef0efd1),url(/img/broco-line-olive.png);background-repeat:repeat,repeat;background-size:auto,88px auto;pointer-events:none}body .ideas-layout .idea-card,body .ideas-layout .planner-empty>*{position:relative;z-index:1}body .ideas-layout .planner-empty{display:block;width:100%;min-height:320px;margin-right:0;padding:28px 18px;background:transparent;text-align:left}body .ideas-layout .planner-empty:before{display:none}body .ideas-layout .planner-empty h3{font-family:var(--broco-titre);font-weight:400;font-size:17px;color:var(--broco-fonce)}body .ideas-layout .planner-empty p,body .ideas-layout .planner-empty-hint{color:var(--broco-fonce);font-size:12px}body .idea-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px 15px 14px;border:0;border-radius:12px;background:var(--broco-fonce);box-shadow:none}body .idea-card.is-done{opacity:.6}body .idea-card .idea-body{display:flex;flex-direction:column;gap:8px;min-width:0}body .idea-card .idea-tag{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:2px 6px;border:1.5px solid var(--broco-clair);border-radius:6px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:10px;line-height:13px;text-transform:none;letter-spacing:0}body .idea-card h3{margin:0;color:var(--broco-clair);font-family:var(--broco-texte-font);font-weight:600;font-size:13px;line-height:18px}body .idea-card p{margin:0;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:11px;line-height:16px}body .idea-card .idea-recipe{display:flex;align-items:center;gap:8px}body .idea-card .idea-thumb{flex:0 0 auto;width:36px;height:36px;border-radius:8px;object-fit:cover}body .idea-card .idea-check{position:absolute;top:12px;right:38px}body .idea-card .idea-check input[type=checkbox]{accent-color:var(--broco-jaune);width:14px;height:14px}body .idea-card .planner-entry-remove{position:absolute;top:9px;right:11px;padding:0;border:0;background:none;color:var(--broco-clair);font-size:16px;line-height:1;cursor:pointer}body .idea-card .idea-plan-btn{gap:4px;padding:4px 7px;font-size:10px}body .idea-card .idea-plan-btn svg{width:13px;height:13px}@media(max-width:1100px){body .ideas-layout{grid-template-columns:minmax(0,1fr);gap:22px}body .ideas-layout .idea-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-16px}}@media(max-width:768px){body .ideas-layout{margin-top:28px;gap:24px}body .ideas-layout .idea-grid{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px 16px;margin-inline:-16px}body .ideas-layout .planner-empty{--ideas-right-bleed: calc( var(--page-padding, 12px) + 16px );min-height:calc(100dvh - 140px)}body .planner .ideas-embedded .ideas-layout .planner-btn-primary{font-size:15px}}.planner{width:100%;margin:0 auto;padding-bottom:3rem}.planner-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.planner-header h1{font-size:clamp(1.5rem,3vw,2rem);color:var(--app-panel-dark)}.planner-header p{color:var(--app-muted);margin-top:.2rem}.planner-actions{margin-top:.7rem}.planner-subtabs{display:flex;gap:.4rem;margin-bottom:1rem}.planner-subtabs button{padding:.45rem 1.1rem;border:1px solid var(--input-line);border-radius:12px;background:var(--card);color:var(--app-muted);cursor:pointer;font-size:.92rem}.planner-subtabs button.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.planner-generate{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-bottom:1.1rem}.planner-generate-hint{font-size:.85rem;color:var(--app-muted);max-width:520px;line-height:1.45}.ideas-embedded-hint{color:var(--app-muted);margin:-.2rem 0 1rem}.planner-week-nav{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.4rem 0 1rem}.planner-btn{min-height:40px;padding:0 .9rem;border:1px solid #d4ddda;border-radius:12px;background:#fff;color:var(--app-panel-dark);cursor:pointer;font-size:1rem;transition:background .15s ease,border-color .15s ease}.planner-btn:hover{border-color:var(--app-panel)}.planner-btn-ghost{font-weight:600;min-width:8.5rem}.planner-btn-primary{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.planner-btn-primary:disabled{opacity:.5;cursor:not-allowed}.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;transition:opacity .2s ease}@media(max-width:1180px){.planner-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}}.planner-day{background:#fff;border:1px solid #e3e8e6;border-radius:14px;padding:.55rem;display:flex;flex-direction:column;gap:.4rem}.planner-day-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:.4rem;border-bottom:1px dashed #e3e8e6}.planner-day-name{font-weight:700;font-size:.86rem;color:var(--app-panel-dark)}.planner-day-date{font-size:.74rem;color:var(--app-muted)}.planner-slot{display:flex;flex-direction:column;gap:.3rem}.planner-slot-label{display:flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;color:var(--app-muted);text-transform:uppercase;letter-spacing:.01em}.planner-entry{display:flex;align-items:center;gap:.4rem;background:#f4f7f5;border:1px solid #e3e8e6;border-radius:12px;padding:.3rem .4rem}.planner-entry-main{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--app-text)}.planner-entry-thumb{width:30px;height:30px;border-radius:8px;object-fit:cover;flex-shrink:0}.planner-entry-dot{width:9px;height:9px;border-radius:50%;background:var(--app-panel);flex-shrink:0;margin:0 .45rem}.planner-entry-text{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-entry-remove{border:none;background:none;color:var(--app-muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 .2rem;flex-shrink:0;color:#932d21}.planner-entry-remove:hover{color:#c0392b}.planner-add-btn{border:1px dashed #cdd6d2;background:none;border-radius:9px;color:var(--app-muted);padding:.26rem;cursor:pointer;font-size:.78rem;transition:border-color .15s ease,color .15s ease}.planner-add-btn:hover{border-color:var(--app-panel);color:var(--app-panel-dark)}.planner-modal-backdrop{position:fixed;inset:0;background:#16313e73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20050}.planner-modal{background:#fff;border-radius:20px;width:min(440px,100%);max-height:85vh;display:flex;flex-direction:column;padding:1.1rem;box-shadow:0 18px 50px #16313e40}.planner-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.planner-modal-head h3{color:var(--app-panel-dark);display:flex;flex-direction:column}.planner-modal-date{font-size:.85rem;font-weight:400;color:var(--app-muted)}.planner-icon-btn{border:none;background:none;font-size:1.5rem;line-height:1;color:var(--app-muted);cursor:pointer}.planner-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.9rem 0}.planner-tabs button{padding:.5rem;border:1px solid #d4ddda;border-radius:12px;background:#f4f7f5;color:var(--app-muted);cursor:pointer;font-size:.9rem}.planner-tabs button:last-child{grid-column:1 / -1}.planner-tabs button.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.planner-input{width:100%;min-height:42px;padding:.5rem .7rem;border:1px solid #d4ddda;border-radius:12px;background:#fff;color:var(--app-text)}.planner-input:focus{outline:none;border-color:var(--app-panel)}.planner-picker-list{margin-top:.6rem;overflow-y:auto;max-height:46vh;display:flex;flex-direction:column;gap:.3rem}.planner-picker-item{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border:1px solid transparent;border-radius:12px;background:#f4f7f5;cursor:pointer;text-align:left}.planner-picker-author{margin-left:auto;color:var(--app-muted);font-size:.78rem;white-space:nowrap}.planner-picker-item:hover{border-color:var(--app-panel)}.planner-picker-thumb img{width:38px;height:38px;border-radius:9px;object-fit:cover;display:block}.planner-picker-name{font-size:.95rem;color:var(--app-text)}.planner-note-form{display:flex;gap:.5rem}.planner-note-form .planner-input{flex:1}.planner-empty-hint{color:var(--app-muted);text-align:center;padding:.8rem}.planner-empty{text-align:center;padding:2.5rem 1rem;color:var(--app-muted)}.planner-empty h3{color:var(--app-panel-dark);margin-bottom:.3rem}.ideas-layout{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:1.25rem;align-items:start}.idea-form{background:#fff;border:1px solid #e3e8e6;border-radius:18px;padding:1rem;position:sticky;top:1rem}.ideas-layout .idea-grid{min-width:0}@media(max-width:860px){.ideas-layout{grid-template-columns:1fr;gap:1rem}.idea-form{position:static}}.idea-note-form{display:flex;flex-direction:column;gap:.55rem}.idea-textarea{resize:vertical;min-height:56px}.idea-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.idea-card{display:flex;align-items:flex-start;gap:.6rem;background:#fff;border:1px solid #e3e8e6;border-radius:16px;padding:.8rem}.idea-card.is-done{opacity:.6}.idea-card.is-done .idea-body h3{text-decoration:line-through}.idea-plan-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border:1px solid var(--app-panel);border-radius:8px;background:transparent;color:var(--app-panel-dark);font-size:.78rem;cursor:pointer}.idea-plan-btn:hover{background:#f4f7f5}.idea-plan-modal .idea-field{margin-bottom:.8rem}.idea-plan-modal .planner-btn{width:100%}.idea-check{position:relative;flex-shrink:0;margin-top:.15rem}.idea-check input{position:absolute;opacity:0;width:22px;height:22px;cursor:pointer;margin:0}.idea-check span{display:block;width:22px;height:22px;border:2px solid #cdd6d2;border-radius:7px}.idea-check input:checked+span{background:var(--app-panel-dark);border-color:var(--app-panel-dark)}.idea-check input:checked+span:after{content:"✓";color:#fff;font-size:.85rem;position:absolute;top:1px;left:5px}.idea-body{flex:1;min-width:0}.idea-body.is-clickable{cursor:pointer}.idea-body h3{font-size:1rem;color:var(--app-panel-dark);word-break:break-word}.idea-body p{font-size:.88rem;color:var(--app-muted);margin-top:.25rem}.idea-recipe{display:flex;align-items:center;gap:.6rem}.idea-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.idea-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--app-panel);font-weight:700;margin-bottom:.15rem}.idea-tag-note{color:#c97a2b}.planner-day-selector{display:none}@media(max-width:768px){.planner-grid{grid-template-columns:1fr}.planner-week-nav{width:100%;justify-content:space-between}.planner-day-selector{display:flex;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:.8rem;padding-bottom:.15rem}.planner-day-selector::-webkit-scrollbar{display:none}.planner-day-chip{flex:1 0 auto;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.4rem .3rem;border:1px solid var(--input-line);border-radius:12px;background:var(--card);color:var(--app-muted);cursor:pointer}.planner-day-chip.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.planner-day-chip-name{font-size:.68rem;text-transform:uppercase;font-weight:700}.planner-day-chip-date{font-size:.95rem;font-weight:600}.planner-day:not(.is-selected){display:none}.planner-day{padding:.9rem}}body .liked{position:relative;margin-top:clamp(1rem,2.5vw,1.75rem)}body .liked-dome{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-inline:0;padding:0}body.liked-view .app>.landing-footer{display:none}body .liked-dome .landing-footer{position:relative;z-index:1;display:block;margin-top:clamp(1.5rem,3vw,32px);padding-top:14px}body .liked-dome:before{content:"";position:absolute;left:50%;width:116vw;top:0;bottom:0;z-index:0;transform:translate(-50%);border:10px solid var(--broco-orange);border-bottom:0;border-radius:50% 50% 0 0 / min(35vw,450px) min(35vw,450px) 0 0;background:var(--broco-accent);pointer-events:none}body .liked-hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,2vw,16px);max-width:620px;margin:0 auto clamp(1.25rem,3vw,2rem);padding-top:clamp(1.5rem,5vw,3.75rem)}body .liked-hero-mascot{flex:0 0 auto;width:clamp(90px,14vw,180px);height:auto;aspect-ratio:987 / 1124;object-fit:contain}body .liked-hero-copy{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}body .liked .liked-hero-title{margin:0;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.8rem,4.2vw,48px);line-height:1.08;color:var(--broco-clair);text-align:center}body .liked .liked-hero-tagline{margin:0;font-family:var(--broco-texte-font);font-size:13px;line-height:17px;color:var(--broco-clair);text-align:center}body .liked-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);width:var(--broco-shell-width);max-width:none;margin:0 auto}body .liked .liked-empty{grid-column:1 / -1;margin:0;max-width:480px;justify-self:center;color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:13px;line-height:18px;text-align:center}body .liked-grid .recipe-card--catalogue{border-radius:16px}body .liked-grid .recipe-card--catalogue .recipe-card-head{gap:8px;padding:6px 12px}body .liked-grid .recipe-card--catalogue .recipe-card-author-chip img,body .liked-grid .recipe-card--catalogue .recipe-card-avatar-fallback{width:26px;height:26px}body .liked-grid .recipe-card--catalogue .recipe-card-author-chip>span:last-child{padding:3px 10px;font-size:12px}body .liked-grid .recipe-card--catalogue .recipe-card-body{gap:8px;padding:9px 12px 11px}body .liked-grid .recipe-card--catalogue .recipe-card-title{min-height:38px;font-size:14px}body .liked-grid .recipe-card--catalogue .recipe-card-social{gap:12px;font-size:13px;line-height:18px}body .liked-dome .landing-footer-card{gap:36px;padding:22px}body .liked-dome .landing-footer-mascot{width:100px}body .liked-dome .landing-footer-body,body .liked-dome .landing-footer-contacts{gap:16px}@media(max-width:1100px){body .liked-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);padding-inline:0}body .liked-hero{gap:16px}}@media(max-width:768px){body .liked-grid{grid-template-columns:minmax(0,1fr);gap:24px;width:min(var(--broco-shell-width),420px);max-width:none;padding-inline:0}body .liked-hero{gap:8px;padding:clamp(2rem,14vw,72px) 16px 0;margin-bottom:48px}body .liked-hero-mascot{width:clamp(90px,26vw,130px)}body .liked .liked-hero-title{font-size:clamp(1.75rem,8vw,34px)}body .liked .liked-hero-tagline{font-size:13px}body .liked-dome:before{border-width:12px;border-radius:50% 50% 0 0 / min(45vw,260px) min(45vw,260px) 0 0}}body.liked-view .app,body.liked-view .planner{padding-bottom:0}body .liked-dome{padding-bottom:12px}body.liked-view .bottom-tabbar-inner{background:#648527}.shop{width:min(var(--broco-shell-width),1120px);margin:0 auto;padding-bottom:2.5rem}.shop-header{margin:.8rem 0 1.15rem}.shop-header h1{font-size:clamp(1.4rem,2.4vw,1.75rem);color:var(--app-panel-dark)}.shop-header p{color:var(--app-muted);margin-top:.2rem;font-size:.9rem}.shop-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:start}.shop-pick,.shop-list{background:#fff;border:1px solid #e3e8e6;border-radius:18px;padding:.9rem}.shop-list{position:sticky;top:1rem}.shop-search{display:flex;align-items:center;gap:.5rem;border:1px solid #d4ddda;border-radius:14px;padding:0 .7rem;background:#f4f7f5}.shop-search input{flex:1;border:none;background:none;min-height:40px;color:var(--app-text)}.shop-search input:focus{outline:none}.shop-search-icon{display:inline-flex;align-items:center;justify-content:center;color:#2f5661;flex-shrink:0}.shop-search-clear{border:none;background:none;color:var(--app-muted);font-size:1.3rem;cursor:pointer;line-height:1}.shop-search-hint{font-size:.85rem;color:var(--app-muted);line-height:1.45;margin:.7rem .2rem 0}.shop-section-title{font-size:1rem;color:var(--app-panel-dark);margin:1.1rem 0 .7rem}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.55rem}.shop-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .45rem;border:1px solid #e3e8e6;border-radius:14px;background:#fff;cursor:pointer;text-align:center;transition:border-color .15s ease,transform .1s ease}.shop-card:hover{border-color:var(--app-panel);transform:translateY(-1px)}.shop-card-add{border-style:dashed}.shop-card-name{font-size:.85rem;color:var(--app-text);line-height:1.2}.shop-card-brand{font-size:.7rem;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.shop-thumb{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#f4f7f5;border:1px solid #e3e8e6;display:flex;align-items:center;justify-content:center}.shop-thumb-emoji{font-size:1.4rem;line-height:1}.shop-empty-hint{color:var(--app-muted);padding:.6rem 0}.shop-inline-link{border:none;background:none;color:var(--app-panel-dark);font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.shop-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.shop-list-head h2{font-size:1.05rem;color:var(--app-panel-dark)}.shop-items{list-style:none;display:flex;flex-direction:column;gap:.45rem}.shop-item{display:flex;align-items:center;gap:.6rem;padding:.38rem .5rem;border:1px solid #e3e8e6;border-radius:12px;background:#fff}.shop-item.is-checked .shop-item-name{text-decoration:line-through}.shop-item .shop-thumb{width:34px;height:34px;flex-shrink:0}.shop-item .shop-thumb-emoji{font-size:1.2rem}.shop-item-body{flex:1;min-width:0;display:flex;flex-direction:column}.shop-item-name{color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-item-note{font-size:.8rem;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-item-qty{font-size:.9rem;font-weight:600;color:var(--app-panel-dark);white-space:nowrap;flex-shrink:0}.shop-item-remove{border:none;background:none;color:var(--app-muted);font-size:1.25rem;line-height:1;cursor:pointer;flex-shrink:0}.shop-item-remove:hover{color:#c0392b}.shop-check{position:relative;flex-shrink:0;width:22px;height:22px}.shop-check input{position:absolute;opacity:0;width:22px;height:22px;cursor:pointer;margin:0}.shop-check span{display:block;width:22px;height:22px;border:2px solid #cdd6d2;border-radius:7px}.shop-check input:checked+span{background:var(--app-panel-dark);border-color:var(--app-panel-dark)}.shop-check input:checked+span:after{content:"✓";color:#fff;font-size:.85rem;position:absolute;top:1px;left:5px}.shop-empty{text-align:center;color:var(--app-muted);padding:2rem 1rem}.shop-btn{min-height:34px;padding:0 .8rem;border:1px solid #d4ddda;border-radius:11px;background:#fff;color:var(--app-panel-dark);cursor:pointer}.shop-btn-ghost{font-size:.85rem;color:var(--app-muted)}.shop-btn-ghost:hover{border-color:#c0392b;color:#c0392b}.shop-btn-primary{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.shop-btn-primary:disabled{opacity:.5;cursor:not-allowed}.shop-modal-backdrop{position:fixed;inset:0;background:#16313e73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20050}.shop-modal{position:relative;background:#fff;border-radius:20px;width:min(380px,100%);padding:1.4rem 1.2rem 1.2rem;box-shadow:0 18px 50px #16313e40}.shop-modal-close{position:absolute;top:.7rem;right:.9rem;border:none;background:none;font-size:1.5rem;line-height:1;color:#c0392b;cursor:pointer}.shop-modal-head{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:.9rem}.shop-modal-head .shop-thumb{width:72px;height:72px}.shop-modal-head .shop-thumb-emoji{font-size:2.2rem}.shop-modal-head h3{color:var(--app-panel-dark);text-align:center}.shop-modal-brand{font-size:.8rem;color:var(--app-muted)}.shop-qty{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:.9rem}.shop-qty button{width:40px;height:40px;border-radius:50%;border:1px solid #d4ddda;background:#f4f7f5;font-size:1.3rem;cursor:pointer;color:var(--app-panel-dark)}.shop-qty input{width:70px;text-align:center;min-height:40px;border:none;border-radius:10px;font-size:1.1rem}.shop-units{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1rem}.shop-units button{padding:.35rem .7rem;border:1px solid #d4ddda;border-radius:999px;background:#fff;color:var(--app-muted);cursor:pointer;font-size:.85rem}.shop-units button.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.shop-note-label{display:block;font-size:.85rem;color:var(--app-muted);margin-bottom:1rem}.shop-note{width:100%;margin-top:.35rem;border:1px solid #d4ddda;border-radius:12px;padding:.5rem .6rem;resize:vertical;min-height:52px;color:var(--app-text)}.shop-add-confirm{width:100%;min-height:44px;font-size:1rem}.shop-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem}.shop-space-chip{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #d4ddda;border-radius:8px;background:#fff}.shop-space-chip .shop-chip{border-color:transparent}.shop-chip-settings{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--app-panel-dark);cursor:pointer}.shop-chip-settings:hover{background:#eef0ef}.shop-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .75rem;border:1px solid #d4ddda;border-radius:999px;background:#fff;color:var(--app-panel-dark);cursor:pointer;font-size:.84rem}.shop-chip:hover{border-color:var(--app-panel)}.shop-chip.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.shop-chip-count{font-size:.72rem;background:#ffffff40;border-radius:999px;padding:0 .4rem;min-width:1.1rem;text-align:center}.shop-chip:not(.active) .shop-chip-count{background:#eef0ef;color:var(--app-muted)}.shop-chip-add{font-size:1.1rem;padding:.35rem .7rem;line-height:1;transition:translate .2s ease}.shop-chip-add:hover{translate:0 -2px}.shop-chip-gear{margin-left:auto;gap:.4rem;padding:.4rem .9rem;border-color:#335c67;color:#335c67;font-weight:600}.shop-chip-gear:hover{background:#335c67;border-color:#335c67;color:#fff}.shop-chip-gear-label{font-size:.85rem}.shop-frequent-title{display:flex;align-items:center;gap:.4rem}.shop-frequent-title:before{content:"★";color:#c97a2b}.shop-frequent-grid{margin-bottom:1rem}.shop-attrib{width:24px;height:24px;border-radius:50%;flex-shrink:0;object-fit:cover;border:2px solid #ffffff;box-shadow:0 0 0 1px #e3e8e6}.shop-attrib-initial{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700}.shop-search-plain{width:100%;min-height:46px;padding:0 .8rem;border:1px solid #d4ddda;border-radius:12px;margin-bottom:.8rem;color:var(--app-text)}.shop-search-plain:focus{outline:none;border-color:var(--app-panel)}.shop-tabs{display:flex;gap:.4rem;margin:1.8rem 0 .9rem}.shop-tabs button{flex:1;padding:.5rem;border:1px solid #d4ddda;border-radius:12px;background:#f4f7f5;color:var(--app-muted);cursor:pointer;font-size:.9rem}.shop-tabs button.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.shop-join-input{display:flex;align-items:center;gap:.5rem}.shop-join-input .shop-search-plain{flex:1}.shop-space-modal>form{padding-top:22px}body .shop-space-modal .shop-search-plain{border:1.5px solid var(--app-panel-dark);outline:0;box-shadow:none}body .shop-space-modal .shop-search-plain:focus{border-color:var(--app-panel-dark);outline:0;box-shadow:none}.shop-space-modal .shop-join-input{margin-bottom:.8rem}.shop-space-modal .shop-join-input .shop-search-plain{margin-bottom:0}.shop-qr-scan-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;min-width:46px;height:46px;border:1px solid var(--app-panel-dark);border-radius:12px;background:var(--app-panel-dark);color:#fff;cursor:pointer}.shop-qr-scan-btn:hover{background:var(--app-panel)}.shop-qr-scanner h3{margin:0 0 .8rem;color:var(--app-panel-dark);text-align:center}.shop-qr-video{display:block;width:100%;min-height:220px;border-radius:14px;background:#182624;object-fit:cover}.shop-qr-hint{margin:.75rem 0 0;color:var(--app-muted);font-size:.88rem;line-height:1.4;text-align:center}.shop-subtabs{display:flex;gap:.4rem;margin-bottom:.85rem}.shop-subtabs button{padding:.48rem .95rem;border:1px solid #d4ddda;border-radius:12px;background:#fff;color:var(--app-muted);cursor:pointer;font-size:.86rem}.shop-subtabs button.active{background:var(--app-panel-dark);border-color:var(--app-panel-dark);color:#fff}.shop-recipes{background:#fff;border:1px solid #e3e8e6;border-radius:18px;padding:.9rem}.shop-recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.shop-recipe-card{border:1px solid #e3e8e6;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:border-color .15s ease,transform .1s ease}.shop-recipe-card:hover{border-color:var(--app-panel);transform:translateY(-1px)}.shop-recipe-open{border:none;background:none;padding:0;cursor:pointer;text-align:left;display:flex;flex-direction:column}.shop-recipe-img{width:100%;height:112px;object-fit:cover;background:#f4f7f5}.shop-recipe-info{padding:.6rem .7rem .3rem;display:flex;flex-direction:column;gap:.15rem}.shop-recipe-name{color:var(--app-panel-dark);font-weight:600}.shop-recipe-cat{font-size:.8rem;color:var(--app-muted);text-transform:capitalize}.shop-recipe-foot{display:flex;align-items:center;justify-content:space-between;padding:.3rem .6rem .5rem}.shop-picker-title{color:var(--app-panel-dark);margin-bottom:.8rem}.shop-recipe-picker{max-height:50vh}.space-panel-backdrop{position:fixed;inset:0;background:#16313e73;display:flex;justify-content:flex-end;z-index:20060}.space-panel{width:min(420px,100%);height:100%;background:var(--app-bg);overflow-y:auto;padding:1.2rem;box-shadow:-10px 0 40px #16313e33}.space-panel-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.space-panel-head h2{font-size:1.15rem;color:var(--app-panel-dark)}.space-panel-back{border:none;background:#fff;border:1px solid #e3e8e6;border-radius:10px;width:36px;height:36px;font-size:1.2rem;cursor:pointer;color:var(--app-panel-dark)}.space-panel-name{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.space-panel-name h3{color:var(--app-panel-dark);font-size:1.25rem}.space-rename{display:flex;gap:.4rem;width:100%}.space-rename input{flex:1;min-height:40px;border:1px solid #d4ddda;border-radius:10px;padding:0 .6rem}.space-block{background:#fff;border:1px solid #e3e8e6;border-radius:16px;padding:.9rem;margin-bottom:.9rem}.space-block-title{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--app-muted);font-weight:700;margin-bottom:.6rem}.space-invite{display:flex;align-items:center;gap:.6rem}.space-invite code{flex:1;font-size:1.3rem;letter-spacing:.15em;font-weight:700;color:var(--app-panel-dark);background:#f4f7f5;border-radius:10px;padding:.4rem .7rem;text-align:center}.space-hint{font-size:.8rem;color:var(--app-muted);margin-top:.5rem}.space-members{list-style:none;display:flex;flex-direction:column;gap:.55rem}.space-members li{display:flex;align-items:center;gap:.6rem}.space-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.space-avatar-initial{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.space-member-name{flex:1;color:var(--app-text)}.space-badge{font-size:.72rem;background:#eef0ef;color:var(--app-muted);border-radius:999px;padding:.1rem .5rem;font-weight:600}.space-my-role strong{color:var(--app-panel-dark);font-size:1rem}.space-link{border:none;background:none;color:var(--app-panel);cursor:pointer;font-weight:600;font-size:.85rem}.space-link-danger{color:#c0392b}.space-link-approve{color:#2f8f6b}.space-request-actions{display:inline-flex;gap:.75rem;margin-left:auto;flex-shrink:0}.space-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer}.space-toggle span:first-child{flex:1;color:var(--app-text)}.space-toggle input{position:absolute;opacity:0}.space-switch{width:42px;height:24px;border-radius:999px;background:#cdd6d2;position:relative;transition:background .15s ease;flex-shrink:0}.space-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.space-toggle input:checked+.space-switch{background:var(--app-panel-dark)}.space-toggle input:checked+.space-switch:after{transform:translate(18px)}.space-history{list-style:none;display:flex;flex-direction:column;gap:.4rem;max-height:200px;overflow-y:auto}.space-history li{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--app-text);padding-bottom:.35rem;border-bottom:1px dashed #e3e8e6}.space-history-name{flex:1;min-width:0}.space-history-meta{color:var(--app-muted);font-size:.8rem;flex-shrink:0}.space-history-readd{position:relative;flex-shrink:0;width:20px;height:20px;cursor:pointer}.space-history-readd input{position:absolute;opacity:0;width:20px;height:20px;cursor:pointer;margin:0}.space-history-readd span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid #cdd6d2;border-radius:6px;color:transparent}.space-history-readd span:after{content:"+";font-size:15px;line-height:1;color:var(--app-panel-dark);font-weight:700}.space-history-readd input:checked+span{background:#2f8f6b;border-color:#2f8f6b}.space-history-readd input:checked+span:after{content:"✓";color:#fff;font-weight:700}.space-history-readd input:disabled{cursor:default}.space-panel-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.2rem}.space-btn-danger{color:#c0392b;border-color:#e7b9b2}.space-btn-danger:hover{background:#fdecea}@media(max-width:900px){.shop-layout{grid-template-columns:1fr}.shop-list{position:static;order:-1}.shop-chip-gear{margin-left:0}}@media(max-width:768px){.shop-switcher{gap:.65rem}.shop-chip{min-height:46px;padding:.55rem 1rem;font-size:.98rem}.shop-chip-settings{width:46px;min-width:46px;min-height:46px;border-radius:50%}.shop-chip-settings svg{width:19px;height:19px}.shop-chip-add{min-width:46px;justify-content:center;font-size:1.35rem}}.import-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#00351d9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20070}.import-modal{position:relative;width:min(320px,100%);max-height:min(540px,calc(100dvh - 48px));padding:18px;overflow-y:auto;overflow-x:hidden;border:2px solid var(--broco-fonce);border-radius:18px;background:var(--broco-clair);box-shadow:0 22px 0 var(--broco-fonce),0 28px 60px #00351d4d;color:var(--broco-texte)}.import-close{position:absolute;top:9px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:var(--broco-orange);color:var(--broco-clair);font-family:var(--broco-texte-font);font-size:18px;line-height:1;cursor:pointer;transition:transform .16s ease,background .16s ease}.import-close:hover:not(:disabled){transform:rotate(8deg) scale(1.06);background:var(--broco-fonce)}.import-title{margin:0 32px 11px 0;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:clamp(17px,2vw,19px);font-weight:400;line-height:1}.import-tabs{display:flex;gap:8px;margin-bottom:11px;padding:3px;border-radius:14px}.import-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:1;min-height:28px;padding:3px;border:1.5px solid transparent;border-radius:13px;background:transparent;color:var(--broco-fonce);font-family:var(--broco-titre);font-size:11px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.import-tabs button:hover:not(:disabled){transform:translateY(-1px);background:#ffffff61}.import-tabs button.active{border-color:var(--broco-fonce);background:var(--broco-fonce);color:var(--broco-clair)}.import-body{display:flex;flex-direction:column;gap:6px}.import-hint{margin:0;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:11px;line-height:1.3}.import-file,.import-url-input{box-sizing:border-box;width:100%;min-height:31px;padding:5px 7px;border:1.5px solid var(--broco-fonce);border-radius:14px;background:#ffffffb3;color:var(--broco-texte);font-family:var(--broco-texte-font);font-size:11px}.import-file{display:none}.import-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.import-photo-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:4px 6px;border:1.5px solid var(--broco-fonce);border-radius:14px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-size:11px;cursor:pointer}.import-photo-action.is-secondary{background:#ffffffb3;color:var(--broco-fonce)}.import-photo-action:disabled{opacity:.55;cursor:not-allowed}.import-file::file-selector-button{margin-right:12px;padding:8px 11px;border:0;border-radius:9px;background:var(--broco-accent);color:var(--broco-clair);font-family:var(--broco-titre);cursor:pointer}.import-url-input:focus{outline:3px solid rgba(125,153,42,.35);border-color:var(--broco-accent)}.import-submit{min-height:31px;border:1.5px solid var(--broco-fonce);border-radius:14px;background:var(--broco-fonce);color:var(--broco-clair);font-family:var(--broco-titre);font-size:12px;cursor:pointer;transition:transform .16s ease,background .16s ease}.import-submit:hover:not(:disabled){transform:translateY(-2px);background:var(--broco-accent)}.import-submit:disabled,.import-close:disabled,.import-tabs button:disabled{opacity:.55;cursor:not-allowed}.import-progress{display:flex;flex-direction:column;gap:8px;color:var(--broco-fonce);font-family:var(--broco-texte-font);font-size:12px}.import-tabs svg,.import-photo-action svg{width:15px;height:15px}.import-bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#02683a29}.import-bar-fill{width:100%;height:100%;border-radius:inherit;background:var(--broco-orange);transition:width .2s ease}.import-bar.is-indeterminate .import-bar-fill{width:38%;animation:import-progress-slide 1.1s ease-in-out infinite}.import-photo-error{margin:12px 0 0;padding:10px 12px;border:1px solid rgba(178,55,30,.38);border-radius:12px;background:#b2371e17;color:#8e2d1a;font-family:var(--broco-texte-font);font-size:14px;line-height:1.35}.import-photo-error strong,.import-photo-error span{display:block}.import-photo-error span{margin-top:3px}.import-photo-error button{margin-top:9px;padding:6px 9px;border:1px solid currentColor;border-radius:8px;background:#fff9;color:inherit;font:inherit;font-size:13px;cursor:pointer}@keyframes import-progress-slide{0%{transform:translate(-120%)}to{transform:translate(290%)}}.btn-import-recipe{display:inline-flex;align-items:center;gap:.35rem}@media(max-width:520px){.import-modal-backdrop{align-items:flex-end;padding:12px}.import-modal{max-height:calc(100dvh - 24px);padding:19px 14px 16px;border-radius:18px}.import-tabs{gap:4px;padding:4px}.import-tabs button{font-size:14px}.import-photo-actions{grid-template-columns:1fr}}.settings{width:100%;max-width:980px;margin:0 auto;padding-bottom:3rem}.settings-title{font-size:clamp(1.5rem,3vw,2rem);color:var(--app-text);margin:1rem 0 1.5rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.1rem;align-items:start}.settings-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.2rem}.settings-profile{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.settings-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--app-panel);margin-bottom:.7rem}.settings-edit-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid var(--input-line);border-radius:12px;background:var(--card);color:var(--app-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.settings-edit-btn:hover{background:var(--soft);color:var(--app-text);border-color:var(--app-panel)}.settings-profile-edit{width:100%;display:flex;flex-direction:column;gap:.6rem;margin-bottom:.5rem}.settings-profile-avatars{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.settings-avatar-option{width:30px;height:30px;border-radius:50%;border:2px solid var(--input-line);background:var(--card);cursor:pointer;padding:0;overflow:hidden;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.settings-avatar-option:hover:not(:disabled){border-color:var(--app-panel);transform:scale(1.1)}.settings-avatar-option:disabled{opacity:.5;cursor:not-allowed}.settings-avatar-option img{width:100%;height:100%;object-fit:cover}.settings-avatar-upload{background:var(--soft);color:var(--app-muted)}.settings-profile-input{width:100%;padding:.7rem 1rem;border:1px solid var(--input-line);border-radius:12px;background:#fff;color:var(--app-text);font-size:1rem;font-weight:600;text-align:center;outline:none;transition:border-color .15s ease}.settings-profile-input:focus{border-color:var(--app-panel)}.settings-profile-input:disabled{opacity:.6}.settings-profile-actions{display:flex;gap:.5rem;justify-content:center}.settings-profile-btn{padding:.5rem 1rem;border:1px solid var(--input-line);border-radius:10px;background:var(--card);color:var(--app-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.settings-profile-btn:hover:not(:disabled){background:var(--soft)}.settings-profile-btn:disabled{opacity:.5;cursor:not-allowed}.settings-profile-btn-save{background:var(--app-panel);border-color:var(--app-panel);color:#fff;transition:all .2s ease}.settings-profile-btn-save:hover:not(:disabled){background:#346377;border-color:var(--app-panel)}.settings-profile h2{color:var(--app-text)}.settings-email{color:var(--app-muted);font-size:.9rem;margin-top:.15rem}.settings-stat{margin-top:1rem;display:flex;flex-direction:column;background:var(--soft);border-radius:14px;padding:.7rem 1.4rem}.settings-stat strong{font-size:1.6rem;color:var(--app-text)}.settings-stat span{font-size:.82rem;color:var(--app-muted)}.settings-section-title{color:var(--app-text);font-size:1.05rem;margin-bottom:.9rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;color:var(--app-text);flex-wrap:wrap}.settings-row+.settings-row{border-top:1px solid var(--line)}.settings-switch{position:relative;width:46px;height:26px;flex-shrink:0}.settings-switch input{position:absolute;opacity:0}.settings-switch span{position:absolute;inset:0;border-radius:999px;background:var(--input-line);transition:background .15s ease}.settings-switch span:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s ease}.settings-switch input:checked+span{background:var(--app-panel-dark)}.settings-switch input:checked+span:after{transform:translate(20px)}.settings-link{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.65rem .4rem;border:none;border-bottom:1px solid var(--line);background:none;color:var(--app-text);text-decoration:none;cursor:pointer;font-size:.95rem}.settings-link:last-child{border-bottom:none}.settings-link:hover{color:var(--app-panel)}.settings-export{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:14px;margin-bottom:.6rem;text-decoration:none}.settings-export div{display:flex;flex-direction:column}.settings-export strong{color:var(--app-text)}.settings-export span{font-size:.8rem;color:var(--app-muted)}.settings-export-tag{font-size:.75rem;font-weight:700;border:1px solid var(--input-line);border-radius:999px;padding:.15rem .6rem;color:var(--app-muted)}.settings-export:hover{border-color:var(--app-panel)}.settings-danger{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.settings-danger-btn{padding:.7rem;border-radius:12px;border:1px solid #e0584a;background:#e0584a;color:#fff;cursor:pointer;font-weight:600}.settings-danger-btn.soft{background:transparent;color:#e0584a}.settings-danger-btn.soft:hover{background:#e0584a1a}.settings-modal-backdrop{position:fixed;inset:0;background:#0f1f278c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20080}.settings-modal{background:var(--card);border-radius:18px;padding:1.4rem;width:min(400px,100%)}.settings-modal h3{color:var(--app-text);margin-bottom:.5rem}.settings-modal p{color:var(--app-muted);margin-bottom:1.2rem}.settings-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.settings-modal-cancel,.settings-modal-confirm{padding:.6rem 1rem;border-radius:11px;cursor:pointer;font-weight:600}.settings-modal-cancel{border:1px solid var(--input-line);background:var(--card);color:var(--app-text)}.settings-modal-confirm{border:1px solid #e0584a;background:#e0584a;color:#fff}@media(max-width:640px){.settings-grid{grid-template-columns:1fr}}body .profile-page{position:relative;background:var(--broco-fonce);width:100%}body .profile-page:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--broco-fonce);pointer-events:none}body .profile-page .settings{width:100%;max-width:1216px;margin:0 auto;padding:32px 32px 40px;background:none;color:var(--broco-clair);font-family:var(--broco-texte-font)}body .profile-page .settings-title{display:none}body .profile-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:24px;margin:0 0 56px;padding:24px;border:0;border-radius:24px;background:var(--broco-accent);box-shadow:none}body .profile-banner-avatar{width:140px;height:140px;border-radius:50%;background:var(--broco-clair);object-fit:cover}body .profile-banner-body{display:flex;flex-direction:column;gap:12px;min-width:0;padding-top:4px}body .profile-banner-name{align-self:flex-start;margin:0;padding:4px 14px;border-radius:8px;background:var(--broco-clair);color:var(--broco-fonce);font-family:var(--broco-titre);font-weight:400;font-size:20px;line-height:24px}body .profile-banner-mail{margin:0;max-width:620px;color:var(--broco-clair);font-size:15px;line-height:22px}body .profile-banner-description{margin:0;max-width:620px;color:var(--broco-clair);font-size:15px;line-height:22px;white-space:pre-wrap}body .profile-banner-stats{margin:0;color:var(--broco-clair);font-family:var(--broco-titre);font-size:16px;line-height:22px}body .profile-banner-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}body .profile-ghost-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--broco-clair);border-radius:8px;background:transparent;color:var(--broco-clair);font-family:var(--broco-titre);font-weight:400;font-size:14px;line-height:17px;text-decoration:none;cursor:pointer;transition:background-color .16s ease}body .profile-ghost-btn:hover{background:#d9e5b829}body .profile-see-all{margin-top:24px}body .profile-section{margin:0 0 56px}body .profile-section-title{margin:0 0 24px;font-family:var(--broco-titre);font-weight:400;font-size:clamp(1.75rem,3vw,32px);line-height:1.2;color:var(--broco-clair)}body .profile-recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}body .profile-empty{margin:0;color:var(--broco-clair);font-size:15px}body .profile-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}body .profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}body .profile-danger{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}body .profile-danger-btn{padding:8px 14px;border:0;border-radius:8px;background:var(--broco-orange);color:var(--broco-bg);font-family:var(--broco-titre);font-weight:400;font-size:14px;line-height:17px;cursor:pointer;transition:filter .16s ease}body .profile-danger-btn:hover{filter:brightness(1.06)}body .profile-page .landing-footer{display:block;margin-top:24px}@media(max-width:1100px){body .profile-page .settings{padding-inline:16px}body .profile-banner{grid-template-columns:auto minmax(0,1fr)}body .profile-banner-actions{grid-column:1 / -1;justify-content:flex-start}body .profile-banner-avatar{width:120px;height:120px}}@media(max-width:768px){body .profile-page .settings{padding:20px 16px 32px}body .profile-banner{gap:16px;margin-bottom:40px;padding:16px}body .profile-banner-avatar{width:96px;height:96px}body .profile-banner-name{font-size:18px}body .profile-banner-mail,body .profile-banner-description,body .profile-banner-stats{font-size:14px;line-height:20px}body .profile-banner-actions .profile-ghost-btn{font-size:13px}body .profile-recipes{grid-template-columns:minmax(0,1fr)}body .profile-recipes>*:nth-child(n+2){display:none}body .profile-section{margin-bottom:40px}body .profile-columns{grid-template-columns:minmax(0,1fr);gap:40px}body .profile-links{align-items:stretch}body .profile-links .profile-ghost-btn{justify-content:flex-start}}body .profile-links+.profile-links{margin-top:12px}.user-profile{position:relative;display:inline-block}.user-profile.compact{display:inline-flex}.user-avatar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:25px;background:#f2f2f2;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .12s ease}.user-avatar:hover{box-shadow:0 4px 12px #00000026}.user-profile.compact .user-avatar{gap:0;padding:.2rem;background:transparent;box-shadow:none}.user-profile.compact .user-avatar:hover{box-shadow:none}.user-avatar img{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-weight:600;color:#153235;font-size:14px}.dropdown-arrow{width:16px;height:16px;fill:#275567;transition:transform .12s ease}.user-profile.compact .user-name,.user-profile.compact .dropdown-arrow{display:none}.user-profile.open .dropdown-arrow{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:10px;border:1px solid rgba(47,86,97,.08);box-shadow:0 8px 24px #1729380f;padding:12px;min-width:260px;z-index:1000}.user-profile.compact .user-dropdown{min-width:0;width:min(220px,calc(100vw - 1rem))}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-info img{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-full-name{font-weight:600;color:#21414a;font-size:13.5px}.user-email{color:#2f6568;font-size:12.5px}.pseudo-input{font-size:14px;padding:6px 8px;border:1px solid rgba(47,86,97,.08);border-radius:6px;width:100%;box-sizing:border-box}.pseudo-input:focus{outline:none;box-shadow:0 0 0 3px #2755670f}.user-dropdown hr{border:none;border-top:1px solid rgba(47,86,97,.06);margin:10px 0}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:#21414a;border-radius:8px;cursor:pointer;font-size:13.25px;transition:background-color .12s ease}.logout-btn:hover{background-color:#2755670f}.logout-btn svg{width:16px;height:16px;fill:currentColor}.delete-data-btn{display:block;width:100%;padding:6px 12px;margin-top:6px;border:none;background:transparent;color:#c23a33;text-align:left;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;opacity:.9;transition:background .12s ease}.delete-data-btn:hover{background-color:#c23a330f}.delete-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.delete-modal{background:#fff;border-radius:8px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 8px 30px #17293814}.delete-modal-icon{display:none}.delete-modal-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.delete-modal-text{color:#666;font-size:.9rem;margin-bottom:1.2rem;line-height:1.4}.delete-modal-actions{display:flex;gap:.6rem;justify-content:flex-end}.modal-btn{padding:.5rem 1.2rem;border:none;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.modal-btn-cancel{background:#e5e5e5;color:#333}.modal-btn-cancel:hover{background:#d5d5d5}.modal-btn-danger{background:#dc3545;color:#fff}.modal-btn-danger:hover{background:#c82333}@media(max-width:768px){.user-profile{width:100%;display:flex;flex-direction:column}.user-avatar{width:100%;justify-content:center}.user-dropdown{position:static;width:100%;min-width:0;margin-top:.7rem;box-sizing:border-box;background:linear-gradient(180deg,#fff,#f7fbfc);border:1px solid rgba(47,86,97,.1);box-shadow:0 10px 24px #2f556014;color:#21414a}.user-profile.compact{width:auto;display:inline-flex;flex-direction:column}.user-profile.compact .user-dropdown{position:absolute;right:0;left:auto;width:min(220px,calc(100vw - 1rem));margin-top:6px;background:linear-gradient(180deg,#fff,#f7fbfc);border:1px solid rgba(47,86,97,.1);box-shadow:0 10px 24px #2f556014}}
