/* Dipankardas overrides: wordmark, brand colour, cart items, auth dialogs */
:root { --brand-primary: #1c1915; }
.brand-wordmark { font-family: var(--font-heading-family, Georgia, serif); font-weight: 600; letter-spacing: .22em; text-transform: uppercase; font-size: 2rem; line-height: 1; color: #1c1915; white-space: nowrap; display: inline-block; }
.brand-wordmark--light { color: #fff; font-size: 2.2rem; letter-spacing: .2em; margin: 6px 0 18px; }
.header__heading-logo-wrapper { width: auto !important; max-width: none !important; }
.header__heading-link { text-decoration: none; }
.bio-circle { background-color: #1c1915cc !important; }
.footer-signup-container { background-color: #1c1915 !important; }

/* header account button */
.header__icon--account { display: inline-flex; align-items: center; justify-content: center; width: 4.4rem; height: 4.4rem; background: none; border: 0; cursor: pointer; color: rgb(var(--color-foreground)); padding: 0; }
.header__icon--account svg { width: 2.2rem; height: 2.2rem; }
.header__icons { align-items: center; }

/* footer / gazette sign-up forms (klaviyo markup, styled locally) */
.klaviyo-form form { display: flex; width: 100%; }
.klaviyo-form form > div { width: 100%; }
.klaviyo-form [data-testid="form-row"] { display: flex; align-items: stretch; }
.klaviyo-form [data-testid="form-component"]:first-child { flex: 1 1 auto; }
.klaviyo-form input[type="email"] { width: 100%; height: 100%; min-height: 36px; padding: 6px 10px; border: 1px solid #fff; border-radius: 0; font: inherit; font-size: 1.4rem; background: #fff; color: #333; }
.klaviyo-form button.klaviyo-form-button { min-height: 36px; padding: 6px 12px; border: 0; border-radius: 0; background: #87bfcc; color: #1c1915; font: inherit; font-size: 1.4rem; cursor: pointer; white-space: nowrap; }
.form-note { font-size: 1.3rem; margin-top: .8rem; min-height: 1.6em; }
.form-note.is-error { color: #ffb4a8; }

/* products page */
.product-add { text-align: center; margin: 1rem 0 0; position: relative; z-index: 2; }
.product-add .button { min-height: 3.8rem; padding: 0 2.2rem; }
li:target .card-wrapper, .grid__item:target .card-wrapper { outline: 1px solid rgba(var(--color-foreground), .35); outline-offset: 8px; }
.grid__item { scroll-margin-top: 90px; }

/* cart drawer */
cart-drawer.active { visibility: visible; }
cart-drawer.active .drawer__inner { transform: translateX(0); }
.cart-lines { list-style: none; margin: 0; padding: 0; width: 100%; }
.cart-line { display: grid; grid-template-columns: 8rem 1fr auto; gap: 1.4rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid rgba(var(--color-foreground), .15); }
.cart-line img { width: 8rem; height: 8rem; object-fit: cover; border-radius: 50%; background: #f4f1ea; }
.cart-line__name { font-weight: 600; margin: 0 0 .4rem; }
.cart-line__qty { display: inline-flex; align-items: center; gap: .8rem; font-size: 1.4rem; }
.cart-line__qty button { width: 2.8rem; height: 2.8rem; border: 1px solid rgba(var(--color-foreground), .4); background: transparent; cursor: pointer; font-size: 1.6rem; line-height: 1; color: inherit; }
.cart-line__remove { background: none; border: 0; text-decoration: underline; cursor: pointer; font-size: 1.3rem; color: inherit; padding: 0; }
.cart-note { font-size: 1.3rem; min-height: 1.6em; margin: .8rem 0 0; }
cart-drawer:not(.is-empty) .cart-drawer__warnings { display: none; }
cart-drawer.is-empty .drawer__inner-empty { display: flex; }
cart-drawer:not(.is-empty) .drawer__inner-empty { display: none; }
cart-drawer:not(.is-empty) .drawer__inner { display: flex; }
cart-drawer:not(.is-empty) .drawer__footer, cart-drawer:not(.is-empty) cart-drawer-items + .drawer__footer { display: block; }
cart-drawer-items.is-empty + .drawer__footer { display: none; }
.cart-count-bubble { position: absolute; top: .6rem; right: .2rem; min-width: 1.8rem; height: 1.8rem; padding: 0 .4rem; border-radius: 1rem; background: #1c1915; color: #fff; font-size: 1.1rem; line-height: 1.8rem; text-align: center; }
.header__icon--cart { position: relative; }

/* auth dialogs */
.auth-modal[hidden] { display: none; }
.auth-modal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.auth-modal__overlay { position: absolute; inset: 0; background: rgba(28, 25, 21, .55); }
.auth-modal__box { position: relative; width: 100%; max-width: 40rem; max-height: 100%; overflow: auto; background: #f4f1ea; color: #1c1915; padding: 3.2rem 3rem 2.6rem; box-shadow: 0 10px 40px rgba(0, 0, 0, .3); outline: none; }
.auth-modal__close { position: absolute; top: .8rem; right: 1.2rem; background: none; border: 0; font-size: 3rem; line-height: 1; cursor: pointer; color: #1c1915; }
.auth-modal__title { margin: 0 0 2rem; text-align: center; }
.auth-form label { display: block; margin: 1.2rem 0 .4rem; font-size: 1.4rem; }
.auth-form input { width: 100%; padding: 1rem 1.2rem; border: 1px solid #1c1915; background: #fff; font: inherit; font-size: 1.5rem; color: #1c1915; border-radius: 0; }
.auth-form input.is-invalid { border-color: #b3261e; }
.auth-error { color: #b3261e; font-size: 1.3rem; margin: .4rem 0 0; min-height: 1.2em; }
.auth-form .button { width: 100%; margin-top: 1.6rem; background: #1c1915; color: #fff; }
.auth-status { margin: 1.2rem 0 0; text-align: center; font-size: 1.4rem; min-height: 1.4em; }
.auth-switch { margin: 1.6rem 0 0; text-align: center; font-size: 1.4rem; }
.auth-switch a { color: #1c1915; text-decoration: underline; }
body.modal-open { overflow: hidden; }

/* withdraw-contract form */
.local-form { max-width: 60rem; margin: 0 auto; }
.local-form label { display: block; margin: 1.2rem 0 .4rem; }
.local-form input, .local-form textarea { width: 100%; padding: 1rem 1.2rem; border: 1px solid #1c1915; font: inherit; background: #fff; border-radius: 0; }
.local-form .button { margin-top: 1.6rem; background: #1c1915; color: #fff; }
.cart-count-bubble[hidden]{display:none}

/* menu-only products on products.html */
.extra-card { text-align: center; }
.extra-card__media { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #fff; }
.extra-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.extra-card .card__heading { margin: 1.4rem 0 0; text-transform: uppercase; letter-spacing: .08em; }
.extra-card .card__tagline { margin-top: .6rem; }
