.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:800;border:1px solid transparent;line-height:1.5;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.button .icon{width:20px;height:20px}.primary{color:var(--white);background:var(--green)}.primary:hover{background:var(--green-dark);box-shadow:0 4px 15px #12482b24;transform:translateY(-1px)}.secondary{color:var(--green-dark);background:#ffffffd9;border-color:#b5cdbc}.secondary:hover{background:var(--white);border-color:var(--green)}.small{padding:8px 13px;font-size:12px;min-height:44px}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--green);background:none;font-weight:800;font-size:13px;min-height:44px;padding:0}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.header-favorites,.nav-favorites{display:flex;align-items:center;gap:8px;background:var(--cream);border:1px solid #e8e4d7;border-radius:10px;padding:9px 13px;font-size:12px;font-weight:800;min-height:44px;white-space:nowrap}.header-favorites .icon,.nav-favorites .icon{width:18px;height:18px;color:var(--red)}.count{display:grid;place-items:center;min-width:21px;height:21px;padding-inline:4px;border-radius:50%;background:var(--green);color:white;font-size:10px}.category-card{--category-color:var(--red);display:flex;align-items:center;gap:12px;padding:19px 16px;border:1px solid #ecdfd8;background:#fff6ef;border-radius:var(--radius-sm);transition:transform var(--transition),box-shadow var(--transition);color:var(--category-color)}.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-card>span:nth-child(2){flex:1;min-width:0}.category-card strong{display:block;font-family:var(--title-font);font-size:20px;line-height:1.15;font-weight:600}.category-card small{display:block;font-size:10px;color:var(--muted);line-height:1.4;margin-top:5px}.category-card>.icon{width:17px;height:17px}.category-icon{display:grid;place-items:center;width:36px;flex-shrink:0}.category-icon .icon{width:30px;height:30px}.category-card.earth{--category-color:#9b5926;background:#fff7e8;border-color:#eee1c9}.category-card.rose{--category-color:#ac3a5b;background:#fff3f4;border-color:#efdee0}.category-card.green{--category-color:var(--green);background:var(--soft-green);border-color:#dbe5d2}.recommendations{display:grid;grid-template-columns:1fr 1.15fr;gap:45px;align-items:center;background:var(--cream);border:1px solid #e9e3d2;border-radius:var(--radius-lg);padding:34px 44px;position:relative;overflow:hidden}.recommended-copy .eyebrow{color:var(--earth);font-size:10px}.recommended-copy h2{color:var(--green);font-size:34px;margin:10px 0 12px;line-height:1.06}.recommended-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.recommended-copy .handwritten{display:block;font-size:27px;margin-top:18px;color:var(--earth);transform:rotate(-2deg)}.recommended-products{display:grid;gap:16px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden;display:flex;flex-direction:column}.product-body{padding:22px;display:flex;flex-direction:column;flex:1}.product h3{font-family:var(--body-font);font-weight:800;font-size:17px;line-height:1.35;letter-spacing:-.15px}.description,.variants{font-size:13px;line-height:1.55;color:var(--muted);margin-top:8px}.presentation{font-size:12px;color:var(--earth);font-weight:700;margin-top:5px}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:17px}.price{color:var(--green-dark);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.favorite-button{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 0 8px 8px;background:none;font-size:11px;font-weight:700;color:var(--muted);border-radius:8px;white-space:nowrap;transition:color var(--transition)}.favorite-button .icon{width:18px;height:18px;transition:transform var(--transition)}.favorite-button:hover,.favorite-button[aria-pressed=true]{color:var(--red)}.favorite-button[aria-pressed=true] .icon{fill:var(--red);stroke:var(--red)}.favorite-button:active .icon{transform:scale(1.18)}.badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;background:var(--soft-green);color:var(--green);padding:5px 9px;border-radius:6px}.badge .icon{width:12px;height:12px}.product-featured{border-color:#dce3ce;box-shadow:0 9px 25px #61783b0a}.product-featured .product-body{padding:28px}.product-featured h3{font-family:var(--title-font);font-size:30px;line-height:1.15;color:var(--green-dark)}.product-featured .description{font-size:15px}.product-featured .price{font-size:27px}.product-featured .favorite-button{font-size:12px}.product-photo{width:100%;height:170px;object-fit:cover}.toppings{margin-top:16px;border:1px dashed #d8c9aa;border-radius:var(--radius-sm);padding:4px 20px;background:#fffaf0}.toppings summary{display:flex;gap:12px;align-items:center;list-style:none;cursor:pointer;min-height:52px;font-size:13px;font-weight:800}.toppings summary>span:not(.details-plus){color:var(--earth);font-weight:600;margin-left:auto;font-size:12px}.details-plus{font-size:22px;font-weight:500;line-height:1;transition:transform var(--transition)}details[open]>summary .details-plus{transform:rotate(45deg)}summary::-webkit-details-marker{display:none}.toppings>p{font-size:13px;padding-bottom:16px;color:var(--muted)}.delivery-banner{display:flex;align-items:center;gap:35px;border:1px solid #d4e3c4;background:var(--soft-green);padding:30px 40px;border-radius:var(--radius);margin-bottom:28px}.delivery-banner>img{width:130px;flex-shrink:0}.delivery-banner h3{font-size:30px;color:var(--green);margin-block:8px}.delivery-banner>div>p:not(.eyebrow){font-size:14px}.delivery-banner .button{margin-top:17px}.delivery-banner .delivery-note{font-size:12px!important;color:var(--muted);max-width:570px;margin-top:12px}.game-card{padding:25px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start}.game-number{font-family:var(--title-font);color:var(--earth);font-size:13px;border:1px solid #e4d9c4;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;margin-bottom:16px}.game-card h3{font-size:23px;margin-bottom:15px}.game-card p{font-size:13px;color:var(--muted)}.game-card .game-question{font-size:14px;color:var(--text)}.game-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}.game-actions .text-link{font-size:11px;gap:3px}.game-actions .icon{width:16px}.game-card .game-feedback{font-weight:800;color:var(--green);margin-top:12px}.quiz-progress{font-size:10px!important;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:var(--earth)!important;margin-bottom:6px}.quiz-progress+.game-question{margin:0}#quiz{width:100%}.quiz-options{display:grid;gap:7px;margin-top:14px}.quiz-options button{background:#f8faf4;border:1px solid var(--line);border-radius:8px;font-size:13px;text-align:left;padding:9px 12px;min-height:44px}.quiz-options button:hover:not(:disabled){border-color:var(--green);background:var(--soft-green)}.quiz-options button.correct{background:#e6f4dd;border-color:var(--green);color:var(--green)}.quiz-options button.incorrect{background:#fff0ec;border-color:var(--red);color:var(--red)}.quiz-next{margin-top:14px}.find-list{display:grid;gap:7px;margin-top:14px;width:100%}.find-list label{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}.find-list input{accent-color:var(--green);width:18px;height:18px}.find-feedback{font-size:12px!important;margin-top:15px!important;color:var(--green)!important}.floating-delivery{position:fixed;right:24px;bottom:22px;z-index:25;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--green);color:var(--white);border:1px solid #ffffff40;border-radius:15px;box-shadow:0 5px 24px #163c2733;transition:transform var(--transition)}.floating-delivery:hover{transform:translateY(-3px)}.floating-delivery>span{font-weight:800;font-size:13px;line-height:1.3}.floating-delivery small{display:block;font-size:10px;font-weight:500;opacity:.95}.floating-delivery>.icon:last-child{width:16px}dialog{padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);width:min(600px,calc(100% - 32px));max-height:85dvh;background:#fffdf8;color:var(--text);overscroll-behavior:contain;box-shadow:0 25px 90px #112d3b33}dialog::backdrop{background:#17352f80;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:25px;background:var(--cream);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}.dialog-heading h2{display:flex;align-items:center;gap:10px;font-size:30px;margin-top:6px}.dialog-heading h2>.icon{color:var(--red)}.dialog-heading .eyebrow{font-size:9px;color:var(--earth)}.dialog-heading h2>span{font-size:18px;color:var(--muted)}.close-button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--white);border:1px solid var(--line)}#favorites-list{padding:20px;display:grid;gap:12px}.empty-favorites{padding:25px 15px;text-align:center}.empty-favorites>.icon{width:38px;height:38px;color:var(--red);margin-bottom:12px}.empty-favorites h3{font-size:26px;margin-bottom:8px}.empty-favorites p{font-size:14px;color:var(--muted)}.favorite-context{font-size:11px;color:var(--earth);margin-bottom:8px;font-weight:800}.favorites-cta{padding:25px;background:var(--soft-green);display:flex;flex-direction:column;align-items:flex-start}.favorites-cta h3{font-size:24px}.favorites-cta p{font-size:13px;margin-top:12px}.favorites-cta .button{margin-top:18px;font-size:12px}.favorites-cta>.text-link{margin-top:10px}.toast{position:fixed;bottom:95px;left:50%;transform:translate(-50%,12px);background:var(--green-dark);color:white;padding:11px 20px;border-radius:10px;max-width:calc(100% - 32px);width:max-content;font-size:13px;z-index:90;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.toast.visible{opacity:1;transform:translate(-50%,0)}
