:root{--color-teal:#175867;--color-teal-dark:#0f3f4a;--color-green:#2e7d32;--color-orange:#ff8f00;--color-grey:#757575;--color-light:#e9f2f3;--color-black:#111;--color-dark-grey:#333;--color-mid-grey:#969e9e;--color-white:#fff;--font-heading:"Montserrat", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--color-black);background:var(--color-light);margin:0}h1,h2,h3{font-family:var(--font-heading);margin:0}button{font-family:var(--font-heading);cursor:pointer}a{color:inherit}.logo{flex-direction:column;line-height:1;display:inline-flex}.logo__wordmark{font-family:var(--font-heading);color:var(--color-teal);letter-spacing:-.01em;font-weight:700}.logo--small .logo__wordmark{font-size:1.5rem}.logo--large .logo__wordmark{font-size:3rem}.logo__infinity{display:inline-block;transform:scale(1.15)}.logo__tagline{font-family:var(--font-body);color:var(--color-grey);letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem;font-size:.7rem}.product-page{max-width:900px;margin:0 auto;padding:1.5rem}.product-page__status{text-align:center;color:var(--color-grey);padding:2rem}.product-page__back{color:var(--color-teal);margin-bottom:1rem;font-weight:600;text-decoration:none;display:inline-block}.product-page__layout{background:var(--color-white);border-radius:.75rem;grid-template-columns:260px 1fr;gap:2rem;padding:1.5rem;display:grid}.product-page__image{background:var(--color-light);border-radius:.5rem;justify-content:center;align-items:center;height:240px;font-size:3rem;display:flex}.product-page__image img{object-fit:contain;max-width:100%;max-height:100%}.product-page__brand{color:var(--color-grey);margin:.25rem 0 .75rem}.product-page__info h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem}.price-table,.nutrient-table{border-collapse:collapse;width:100%}.price-table td,.nutrient-table td{border-bottom:1px solid var(--color-light);padding:.5rem 0}.price-table td:first-child,.nutrient-table td:first-child{color:var(--color-grey)}.price-table td:last-child,.nutrient-table td:last-child{text-align:right}.price-table__format{color:var(--color-grey);font-size:.85rem}.price-table__unavailable{color:var(--color-mid-grey);font-style:italic}@media (width<=640px){.product-page__layout{grid-template-columns:1fr}}.search-page{max-width:1100px;margin:0 auto;padding:1.5rem}.search-page__input{border:1px solid var(--color-mid-grey);width:100%;font-size:1rem;font-family:var(--font-body);border-radius:.6rem;outline:none;padding:.85rem 1.1rem}.search-page__input:focus{border-color:var(--color-teal)}.search-page__status{color:var(--color-grey);margin:1rem 0}.search-page__status--error{color:#b3261e}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.product-card{background:var(--color-white);color:var(--color-black);border-radius:.75rem;flex-direction:column;gap:.6rem;padding:1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000014}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.product-card__image{background:var(--color-light);border-radius:.5rem;justify-content:center;align-items:center;height:120px;display:flex;overflow:hidden}.product-card__image img{object-fit:contain;max-width:100%;max-height:100%}.product-card__image-placeholder{opacity:.4;font-size:2rem}.product-card__name{margin:0;font-size:.92rem;font-weight:600;line-height:1.3}.product-card__brand{color:var(--color-grey);margin:0;font-size:.8rem}.nutriscore{width:1.5rem;height:1.5rem;font-family:var(--font-heading);color:var(--color-white);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.nutriscore--a{background:#1e8f4e}.nutriscore--b{background:#85bb2f}.nutriscore--c{background:var(--color-orange)}.nutriscore--d{background:#e65100}.nutriscore--e{background:#c62828}.product-card__prices{border-top:1px solid var(--color-light);margin-top:auto;padding-top:.5rem}.product-card__price-row{justify-content:space-between;font-size:.85rem;display:flex}.product-card__price-row--muted{color:var(--color-mid-grey);font-size:.75rem}.app-header{background:var(--color-white);border-bottom:1px solid var(--color-light);padding:1rem 1.5rem}.app-header__link{text-decoration:none}
