.portions-menu{--pm-green:#2d8b3a;--pm-dark:#1f6b2b;--pm-surface:#f0faf2;box-sizing:border-box}.portions-menu *,.portions-menu :before,.portions-menu :after{box-sizing:inherit}.pm-status{text-align:center;color:#6b7280;padding:48px 0}.pm-cats{top:calc(61px + env(safe-area-inset-top,0px));z-index:20;background:var(--color-brand-cream);flex-wrap:wrap;gap:6px;margin-top:-12px;margin-bottom:20px;padding:12px 0;display:flex;position:sticky}.pm-cat{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:500;line-height:1.4;transition:background .15s,color .15s}.pm-cat:hover{color:#374151;background:#e5e7eb}.pm-cat.active{background:var(--pm-green);color:#fff}.pm-grid{grid-template-columns:repeat(var(--pm-cols,3), 1fr);gap:16px;display:grid}@media (width<=768px){.pm-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.pm-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.pm-card{cursor:pointer;outline-offset:2px;background:#fff;border-radius:16px;flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 1px 4px #00000014}.pm-card:hover,.pm-card:focus-visible{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.pm-card.pm-hidden{display:none}.pm-img{aspect-ratio:1;-webkit-touch-callout:none;background:#f3f4f6;position:relative;overflow:hidden}.pm-img img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.pm-img-hover{opacity:0;transition:opacity .35s}.pm-card:hover .pm-img-hover,.pm-card:focus-visible .pm-img-hover,.pm-card:active .pm-img-hover{opacity:1}.pm-img-ph{background:#f3f4f6;width:100%;height:100%}.pm-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:8px;left:8px}.pm-chip--green{color:#15803d;background:#dcfce7}.pm-chip--blue{color:#1d4ed8;background:#dbeafe}.pm-chip--amber{color:#b45309;background:#fef3c7}.pm-chip--purple{color:#7e22ce;background:#f3e8ff}.pm-chip--pink{color:#be185d;background:#fce7f3}.pm-chip--orange{color:#c2410c;background:#ffedd5}.pm-chip--teal{color:#0f766e;background:#ccfbf1}.pm-chip--red{color:#b91c1c;background:#fee2e2}.pm-info{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.pm-name{color:#111827;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.3;transition:color .15s;display:-webkit-box;overflow:hidden}.pm-card:hover .pm-name,.pm-card:focus-visible .pm-name{color:var(--pm-green)}.pm-format{color:#9ca3af;font-size:12px}.pm-price-row{align-items:baseline;gap:6px;margin-top:auto;padding-top:6px;display:flex}.pm-card-prix{color:var(--pm-green);font-size:14px;font-weight:700}.pm-badges{flex-wrap:wrap;gap:4px;padding-top:4px;display:flex}.pm-badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.pm-badge--green{color:#15803d;background:#dcfce7}.pm-badge--blue{color:#1d4ed8;background:#eff6ff}.pm-overlay{z-index:9999;backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.pm-overlay[hidden]{display:none!important}@media (width>=640px){.pm-overlay{align-items:center;padding:24px}}.pm-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:92vh;position:relative;overflow-y:auto}@media (width>=640px){.pm-modal{border-radius:16px}}.pm-close{z-index:10;color:#fff;cursor:pointer;background:#0000004d;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .15s;display:flex;position:absolute;top:12px;right:12px}.pm-close:hover{background:#00000080}.pm-modal-img{aspect-ratio:16/9;background:#f3f4f6;position:relative;overflow:hidden}@media (width>=640px){.pm-modal-img{aspect-ratio:4/3}}.pm-modal-img img{object-fit:cover;width:100%;height:100%;display:block}.pm-modal-img-ph{background:#f3f4f6;width:100%;height:100%}.pm-modal-img-ph[hidden]{display:none!important}.pm-modal-chip{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:12px;left:12px}.pm-modal-body{padding:20px}.pm-modal-header{align-items:flex-start;gap:12px;display:flex}.pm-modal-header-text{flex:1;min-width:0}.pm-modal-pkg{border:1px solid #f3f4f6;border-radius:10px;flex-shrink:0;width:160px;height:160px;overflow:hidden;box-shadow:0 1px 4px #00000014}@media (width>=640px){.pm-modal-pkg{width:120px;height:120px}}.pm-modal-pkg[hidden]{display:none!important}.pm-modal-pkg-img{object-fit:cover;width:100%;height:100%;display:block}.pm-modal-name{color:#111827;margin:0 0 4px;font-size:20px;font-weight:700}.pm-modal-name-alt{color:#9ca3af;margin:0;font-size:14px}.pm-modal-format{color:#6b7280;margin:4px 0 0;font-size:14px;font-weight:500}.pm-price-box{background:var(--pm-surface);border-radius:12px;align-items:flex-end;gap:24px;margin-top:12px;padding:12px 16px;display:flex}.pm-price-box[hidden]{display:none!important}.pm-price-val{color:var(--pm-green);font-size:24px;font-weight:700}.pm-modal-badges{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pm-modal-desc{color:#4b5563;margin-top:12px;font-size:14px;line-height:1.65}.pm-modal-desc p{white-space:pre-line;margin:0 0 8px}.pm-modal-desc .pm-desc-lang{text-transform:uppercase;letter-spacing:.08em;color:#d1d5db;margin:0 0 4px;font-size:10px;font-weight:700}.pm-modal-close-footer{background:#fff;border-top:1px solid #f3f4f6;padding:12px 20px;position:sticky;bottom:0}.pm-close-footer{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:12px;width:100%;padding:10px;font-size:14px;font-weight:500}.pm-close-footer:hover{background:#e5e7eb}
