/* Keep the initial recipe gate closed even before JavaScript runs and when printing. */
[hidden] { display: none !important; }
.cookie-banner, .recipe-consent-gate {
    box-sizing: border-box;
    padding: 1.5rem;
    border: 1px solid #b9c9bb;
    border-radius: 1rem;
    background: #fffdf7;
    color: #203c2c;
    font: 1rem/1.55 system-ui, sans-serif;
}
.cookie-banner {
    position: fixed;
    z-index: 10000;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: min(48rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    box-shadow: 0 0.5rem 3rem #18352633;
}
.cookie-banner h2, .recipe-consent-gate h2 { margin-top: 0; }
.cookie-banner fieldset { border: 0; padding: 0; margin: 1rem 0; }
.cookie-banner legend { font-weight: 700; margin-bottom: 0.5rem; }
.cookie-banner label { display: flex; align-items: center; gap: 0.6rem; }
.cookie-banner input { width: 1.2rem; height: 1.2rem; accent-color: #245b3c; }
.cookie-banner fieldset p { margin: 0.3rem 0 1rem 1.8rem; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.cookie-actions button, .cookie-settings, .recipe-consent-gate button {
    padding: 0.7rem 1rem;
    border: 1px solid #245b3c;
    border-radius: 0.4rem;
    background: #fff;
    color: #203c2c;
    font: inherit;
    cursor: pointer;
}
.cookie-actions button:hover, .cookie-settings:hover, .recipe-consent-gate button:hover { background: #e9f1e9; }
.cookie-banner :focus-visible, .cookie-settings:focus-visible, .recipe-consent-gate :focus-visible { outline: 3px solid #c57629; outline-offset: 3px; }
.cookie-settings { margin: 0.5rem 1rem 1.5rem; }
.recipe-consent-gate { margin: 2rem 0; }
.website-ad { max-width: 70rem; margin: 2rem auto; text-align: center; }
.website-ad > p { color: #627164; font: 0.75rem system-ui, sans-serif; }
@media (max-width: 480px) { .cookie-actions { flex-direction: column; } }
@media print { .cookie-banner, .cookie-settings, .website-ad { display: none !important; } }
