/* Intensely Distracted — site styles layered on theme.json.
 * Tokens live in theme.json; this file covers what theme.json can't express:
 * Lemon Milk headings, Woo/Brevo overrides. */

:root {
	--id-ink: var(--wp--preset--color--contrast);
	--id-selvedge: var(--wp--preset--color--selvedge);
	--id-tabletop: var(--wp--preset--color--tabletop);
	--id-marker: var(--wp--preset--color--marker);
	--id-heading: var(--wp--preset--font-family--lemon-milk);
	--id-display: var(--wp--preset--font-family--raleway);
	--id-serif: var(--wp--preset--font-family--raleway);
}

/* ---------- Type ---------- */

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	text-wrap: balance;
}

h1, .has-display-font-size {
	font-weight: 500;
	letter-spacing: 0.03em;
}

p, li { text-wrap: pretty; }

:where(.wp-site-blocks) a:focus-visible,
:where(.wp-site-blocks) button:focus-visible,
:where(.wp-site-blocks) input:focus-visible,
:where(.wp-site-blocks) select:focus-visible,
:where(.wp-site-blocks) textarea:focus-visible {
	outline: 2px solid var(--id-marker);
	outline-offset: 3px;
}

::selection { background: var(--id-marker); color: #fff; }

/* Secondary action that reads as a link, beside a primary button. */
.wp-block-button.is-style-id-text .wp-block-button__link {
	background: transparent;
	color: var(--id-ink);
	padding-left: 0;
	padding-right: 0;
	text-decoration: underline;
	text-decoration-color: var(--id-marker);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}
.wp-block-button.is-style-id-text .wp-block-button__link:hover {
	background: transparent;
	color: var(--id-marker);
}

/* ---------- Layout ---------- */

/* Templates own their own top spacing; drop the global gap between header and main. */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:where(main),
.wp-site-blocks > .wp-block-template-part + * { margin-block-start: 0; }

/* ---------- Header ---------- */

.id-header { position: relative; z-index: 20; background: var(--wp--preset--color--base); }
.id-header .wp-block-site-logo img { height: auto; max-width: min(250px, 52vw); }
.id-header .wp-block-site-logo a { display: block; }

.id-nav .wp-block-navigation-item__content { color: var(--id-ink); text-decoration: none; }
.id-nav .wp-block-navigation-item__content:hover { color: var(--id-marker); }
.id-nav .current-menu-item > .wp-block-navigation-item__content,
.id-nav .wp-block-navigation-item__content[aria-current] {
	text-decoration: underline;
	text-decoration-color: var(--id-marker);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}

.id-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--id-tabletop) !important;
	padding: 0.5rem 0;
	min-width: 13rem !important;
	font-size: 0.9375rem;
}
.id-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.4rem 1.1rem !important;
}

.id-header__tools .wp-block-search__button,
.id-header__tools .wc-block-mini-cart__button,
.id-header__tools .wp-block-woocommerce-customer-account a {
	color: var(--id-ink) !important;
	background: transparent;
	border: 0;
	padding: 0.35rem;
}
.id-header__tools .wp-block-search__button svg { width: 24px; height: 24px; }
.id-header__tools .wc-block-mini-cart__badge {
	background: var(--id-marker);
	color: #fff;
	border: 0;
	font-family: var(--id-display);
}

@media (max-width: 781px) {
	.id-header__nav { gap: 0.5rem !important; }
	.id-header__tools .wp-block-woocommerce-customer-account { display: none; }
}

/* ---------- Hero ---------- */

.id-hero { position: relative; }
.id-hero__title { margin: 0; }
.id-hero__lede {
	max-width: 30ch;
	line-height: 1.5;
	margin-top: 1.5rem;
}
.id-hero__actions { margin-top: 2rem; }
.id-hero__image { margin: 0; }
.id-hero__image img { width: 100%; height: auto; display: block; aspect-ratio: 1; object-fit: cover; }

@media (max-width: 781px) {
	.id-hero__media { width: 100%; }
	.id-hero__image img { aspect-ratio: 4 / 3; }
}

/* ---------- Sections ---------- */

.id-section__head { margin-bottom: var(--wp--preset--spacing--40); gap: 0.75rem 2rem; }
.id-section__head h2 { margin: 0; }
.id-section__sub { margin: 0; color: var(--id-selvedge); }
.id-section__more { margin: 0; font-family: var(--id-display); font-weight: 500; }
.id-section__more a {
	color: var(--id-ink);
	text-decoration-color: var(--id-marker);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}
.id-section__more a:hover { color: var(--id-marker); }

/* ---------- Product grids (home, shop, related) ---------- */

.wc-block-components-product-image,
.wc-block-components-product-image img,
.wc-block-product-template img { border-radius: 0 !important; }

.wc-block-product-template .wc-block-components-product-image { margin-bottom: 0.9rem !important; }
.wc-block-product-template .wc-block-components-product-image img { background: var(--id-tabletop); }

.wc-block-product-template .wp-block-post-title,
.id-product-title {
	font-family: var(--id-display);
	font-size: 1.0625rem !important;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.3rem !important;
	text-align: left !important;
}
.wc-block-product-template .wp-block-post-title a { color: var(--id-ink); text-decoration: none; }
.wc-block-product-template .wp-block-post-title a:hover { color: var(--id-marker); text-decoration: underline; }

.id-title-line {
	display: block;
	font-family: var(--id-display);
	font-weight: 500;
	font-size: 0.875em;
	color: var(--id-selvedge);
	letter-spacing: 0.02em;
	text-transform: none;
	margin-top: 0.15em;
}
.wc-block-product-template .id-title-line { display: none; }

.wc-block-product-template .wc-block-components-product-price,
.wc-block-product-template .wp-block-woocommerce-product-price {
	font-family: var(--id-display);
	font-size: 1rem !important;
	text-align: left !important;
	color: var(--id-ink);
}
.wc-block-product-template { row-gap: var(--wp--preset--spacing--50) !important; }
.wc-block-product-template > li { text-align: left !important; }

.wc-block-components-product-sale-badge {
	background: var(--id-marker) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 2px !important;
	font-family: var(--id-display);
	font-weight: 600;
	text-transform: none !important;
	font-size: 0.8125rem !important;
	padding: 0.2rem 0.5rem !important;
}

/* ---------- Collections ---------- */

.id-collections__grid .wp-block-image { margin-bottom: 0.9rem; }
.id-collections__grid .wp-block-image img { background: var(--id-tabletop); }
.id-collection__name { font-size: var(--wp--preset--font-size--large); margin: 0; }
.id-collection__name a { color: var(--id-ink); text-decoration: none; }
.id-collection__name a:hover { color: var(--id-marker); text-decoration: underline; }

@media (max-width: 781px) {
	.id-collections__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
}

/* ---------- Blog cards ---------- */

.id-posts .wp-block-post-featured-image { margin-bottom: 1rem; }
.id-posts .wp-block-post-title,
.id-post-title { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 0.35rem; }
.id-posts .wp-block-post-title a { color: var(--id-ink); text-decoration: none; }
.id-posts .wp-block-post-title a:hover { color: var(--id-marker); text-decoration: underline; }

/* ---------- Newsletter (Brevo embed) ---------- */

.id-newsletter__title { margin-bottom: 0.5rem; }
.id-newsletter .sib-form {
	max-width: var(--wp--style--global--content-size) !important;
	margin-inline: auto !important;
}
.id-newsletter .sib-form,
.id-newsletter #sib-container {
	background: transparent !important;
	padding: 0 !important;
	font-family: var(--id-serif) !important;
	text-align: left !important;
	border: 0 !important;
}
.id-newsletter .sib-form-block,
.id-newsletter .sib-text-form-block p {
	padding: 0 !important;
	font-family: var(--id-serif) !important;
	font-size: var(--wp--preset--font-size--medium) !important;
	color: var(--id-ink) !important;
	text-align: left !important;
}
.id-newsletter #sib-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem; }
.id-newsletter #sib-form > div:first-child { flex-basis: 100%; }
.id-newsletter #sib-form > div:nth-child(2) { flex: 1 1 16rem; }
.id-newsletter .entry__label {
	font-family: var(--id-display) !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	color: var(--id-ink) !important;
	margin-bottom: 0.35rem;
}
.id-newsletter .entry__label::after { content: none !important; }
.id-newsletter .entry__field { border: 1px solid var(--id-ink) !important; border-radius: 2px !important; background: #fff !important; }
.id-newsletter .entry__field:focus-within { box-shadow: 0 0 0 2px var(--id-marker) !important; }
.id-newsletter .input {
	font-family: var(--id-serif) !important;
	font-size: 1.0625rem !important;
	padding: 0.7rem 0.85rem !important;
	color: var(--id-ink) !important;
	height: auto !important;
}
.id-newsletter .sib-form-block__button {
	background: var(--id-ink) !important;
	color: #fff !important;
	font-family: var(--id-display) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	border-radius: 2px !important;
	padding: 0.85rem 1.4rem !important;
	border: 0 !important;
	cursor: pointer;
}
.id-newsletter .sib-form-block__button:hover { background: var(--id-marker) !important; }
.id-newsletter .entry__error { font-family: var(--id-serif) !important; font-size: 0.9375rem !important; }
.id-newsletter .sib-form-message-panel {
	font-family: var(--id-serif) !important;
	border-radius: 2px !important;
	margin-bottom: 1rem;
	max-width: none !important;
}
.id-newsletter .input--hidden { display: none !important; }

/* ---------- Footer ---------- */

.id-footer a { text-decoration: none; }
.id-footer a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.id-footer__brand {
	font-family: var(--id-heading);
	font-weight: 500;
	letter-spacing: 0.04em;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1;
	margin-bottom: 1rem;
}
.id-footer__about { color: rgba(255, 255, 255, 0.78); max-width: 36ch; }
.id-footer__heading {
	font-size: 1rem !important;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.6) !important;
	margin-bottom: 0.75rem;
}
.id-footer__links { list-style: none; padding: 0; margin: 0; }
.id-footer__links li { margin: 0 0 0.45rem; }
.id-footer__legal {
	margin-top: var(--wp--preset--spacing--50) !important;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.6);
}
.id-footer :focus-visible { outline-color: #fff !important; }

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* ---------- Breadcrumbs ---------- */

.id-breadcrumbs { color: var(--id-selvedge); font-family: var(--id-display); }
.id-breadcrumbs a { color: var(--id-selvedge); text-decoration: none; }
.id-breadcrumbs a:hover { color: var(--id-marker); text-decoration: underline; }

/* ---------- Shop / category archives ---------- */

.id-shop__intro h1 { margin: 0; }
.id-shop__desc { color: var(--id-selvedge); max-width: 60ch; }
.id-shop__desc p { margin: 0; }

.id-shop__toolbar {
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: 0.9rem;
	border-bottom: 1px solid var(--id-tabletop);
	font-family: var(--id-display);
}
.id-shop__toolbar .woocommerce-result-count { margin: 0; color: var(--id-selvedge); }
.id-shop__toolbar .woocommerce-ordering { margin: 0; }
.id-shop__toolbar select {
	font-family: var(--id-display);
	font-size: 0.9375rem;
	border: 1px solid var(--id-ink);
	border-radius: 2px;
	padding: 0.45rem 2rem 0.45rem 0.7rem;
	background-color: #fff;
	color: var(--id-ink);
}

.id-filter__title {
	font-size: 1rem !important;
	font-weight: 600;
	margin: 0 0 0.6rem;
}
.id-shop__filters .wc-block-product-filters__overlay-content > * + *,
.id-shop__filters .wp-block-woocommerce-product-filters > * + * { margin-top: 1.75rem; }

.id-shop__filters .wc-block-product-filter-checkbox-list__label,
.id-shop__filters .wc-block-product-filter-checkbox-list__text { font-size: 0.9375rem; color: var(--id-ink); }
.id-shop__filters .wc-block-product-filter-checkbox-list__input:checked { accent-color: var(--id-marker); }

.id-shop__filters .wc-block-product-filter-chips__items { gap: 0.4rem !important; }
.id-shop__filters .wc-block-product-filter-chips__item {
	font-family: var(--id-display);
	font-size: 0.875rem !important;
	border: 1px solid var(--id-tabletop) !important;
	border-radius: 2px !important;
	background: #fff !important;
	color: var(--id-ink) !important;
	padding: 0.3rem 0.6rem !important;
}
.id-shop__filters .wc-block-product-filter-chips__item[aria-checked="true"] {
	background: var(--id-ink) !important;
	border-color: var(--id-ink) !important;
	color: #fff !important;
}
.id-shop__filters .wc-block-product-filter-removable-chips__item {
	border-radius: 2px !important;
	font-family: var(--id-display);
	font-size: 0.875rem;
}

/* Mobile: filter drawer opener sits above the grid. */
.wc-block-product-filters__open-overlay {
	font-family: var(--id-display);
	font-weight: 600;
	border: 1px solid var(--id-ink) !important;
	border-radius: 2px;
	padding: 0.5rem 0.9rem !important;
	color: var(--id-ink);
	background: #fff;
}
@media (max-width: 781px) {
	.id-shop__layout { gap: 1rem !important; }
	.id-shop__filters { flex-basis: auto !important; }
}

/* Quick add: a quiet text action under the price. */
.id-quick-add { margin-top: 0.4rem !important; text-align: left !important; justify-content: flex-start !important; align-items: flex-start !important; }
.id-quick-add .wp-block-button__link,
.id-quick-add .wc-block-components-product-button__button {
	background: transparent !important;
	color: var(--id-ink) !important;
	padding: 0 !important;
	min-height: 0 !important;
	font-family: var(--id-display);
	font-weight: 500;
	font-size: 0.9375rem !important;
	text-decoration: underline;
	text-decoration-color: var(--id-marker);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
	border: 0 !important;
}
.id-quick-add .wp-block-button__link:hover,
.id-quick-add .wc-block-components-product-button__button:hover { color: var(--id-marker) !important; }
.id-quick-add .added_to_cart { font-family: var(--id-display); font-size: 0.9375rem; margin-left: 0.75rem; }

.id-pagination { margin-top: var(--wp--preset--spacing--50); font-family: var(--id-display); gap: 0.25rem 1rem; }
.id-pagination a { color: var(--id-ink); }
.id-pagination .page-numbers.current {
	color: var(--id-ink);
	text-decoration: underline;
	text-decoration-color: var(--id-marker);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}

/* ---------- Single product ---------- */

.id-product__title { font-size: var(--wp--preset--font-size--xxx-large) !important; margin: 0; }
.id-product__title .id-title-line {
	font-size: var(--wp--preset--font-size--large);
	margin-top: 0.5rem;
}
.id-product__price { font-family: var(--id-display); margin: 1rem 0 0 !important; }
.id-product__excerpt { margin-top: 1.25rem !important; max-width: 46ch; }
.id-product__excerpt p { margin: 0; }

.id-product__buy { margin-top: 1.5rem !important; }
.id-product__buy form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; }
.id-product__buy .stock { width: 100%; margin: 0 0 0.25rem; font-family: var(--id-display); font-size: 0.9375rem; color: var(--id-selvedge); }
.id-product__buy .stock.out-of-stock { color: var(--id-ink); }
.id-product__buy .quantity input.qty {
	width: 4.5rem;
	height: 100%;
	min-height: 3rem;
	border: 1px solid var(--id-ink);
	border-radius: 2px;
	font-family: var(--id-display);
	font-size: 1rem;
	text-align: center;
}
.id-product__buy .single_add_to_cart_button {
	min-height: 3rem;
	padding-inline: 2rem !important;
	font-family: var(--id-display) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	border-radius: 2px !important;
	background: var(--id-ink) !important;
	color: #fff !important;
}
.id-product__buy .single_add_to_cart_button:hover { background: var(--id-marker) !important; }

.id-product__meta { margin-top: 1.75rem !important; padding-top: 1rem; border-top: 1px solid var(--id-tabletop); color: var(--id-selvedge); }
.id-product__meta a { color: var(--id-ink); }

/* Gallery: main image on its photo grey, thumbnails in a tidy row. */
.id-product__media .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.id-product__media .woocommerce-product-gallery__image img { background: var(--id-tabletop); width: 100%; height: auto; }
.id-product__media .woocommerce-product-gallery .flex-viewport,
.id-product__media .woocommerce-product-gallery__wrapper { width: 100% !important; }
.id-product__media .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 0.5rem; margin: 0.5rem 0 0 !important; padding: 0; }
.id-product__media .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; list-style: none; }
.id-product__media .flex-control-thumbs img { opacity: 0.6; cursor: pointer; aspect-ratio: 1; object-fit: cover; }
.id-product__media .flex-control-thumbs img.flex-active,
.id-product__media .flex-control-thumbs img:hover { opacity: 1; }
.id-product__media .woocommerce-product-gallery__trigger {
	background: #fff !important;
	border-radius: 50%;
}

/* Details: description + additional info. */
.id-product__details .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 1.5rem;
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
	border-bottom: 1px solid var(--id-tabletop);
	list-style: none;
}
.id-product__details .woocommerce-tabs ul.tabs::before,
.id-product__details .woocommerce-tabs ul.tabs li::before,
.id-product__details .woocommerce-tabs ul.tabs li::after { display: none !important; }
.id-product__details .woocommerce-tabs ul.tabs li {
	background: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.id-product__details .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0 0 0.7rem !important;
	font-family: var(--id-display);
	font-weight: 600;
	color: var(--id-selvedge) !important;
	text-decoration: none;
}
.id-product__details .woocommerce-tabs ul.tabs li.active a {
	color: var(--id-ink) !important;
	box-shadow: inset 0 -2px 0 var(--id-marker);
}
.id-product__details .woocommerce-Tabs-panel > h2:first-child { display: none; }
.id-product__details .id-spec-list { padding-left: 1.2rem; margin: 0.5rem 0 1.5rem; }
.id-product__details .id-spec-list li { margin: 0.2rem 0; }
.id-product__details .id-spec-list li::marker { color: var(--id-selvedge); }
.id-product__details .wp-video { max-width: 420px !important; margin-top: 1.5rem; }
.id-product__details table.shop_attributes { border: 0; font-family: var(--id-display); }
.id-product__details table.shop_attributes th,
.id-product__details table.shop_attributes td { border: 0; border-bottom: 1px solid var(--id-tabletop); padding: 0.6rem 0.75rem 0.6rem 0; background: none !important; font-style: normal; }

@media (max-width: 781px) {
	.id-product__title { font-size: var(--wp--preset--font-size--xx-large) !important; }
}

/* ---------- Blog index / archives ---------- */

.id-blog__intro h1 { margin: 0; }
.id-posts--index .wp-block-post-template { row-gap: var(--wp--preset--spacing--50) !important; }
.id-post-excerpt { display: none; }
.id-post-excerpt .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Single post ---------- */

.id-post__cats a {
	font-family: var(--id-display);
	font-weight: 500;
	color: var(--id-marker);
	text-decoration: none;
}
.id-post__title { font-size: var(--wp--preset--font-size--xxx-large) !important; margin: 0; }
.id-post__content > * + * { margin-block-start: 1.25em; }
.id-post__content h2 { margin-top: 2.2em; }
.id-post__content h3 { margin-top: 1.8em; }
.id-post__content img { height: auto; }
.id-post__content figure.wp-block-image,
.id-post__content .wp-block-gallery { margin-block: 2rem; }
.id-post__content .wp-block-image figcaption,
.id-post__content .wp-element-caption { text-align: left; font-style: italic; }
.id-post__content ul,
.id-post__content ol { padding-left: 1.25rem; }
.id-post__foot a { color: var(--id-ink); }

.id-comments .wp-block-comments-title { font-size: var(--wp--preset--font-size--x-large); }
.id-comments .wp-block-comment-author-name { font-family: var(--id-display); font-weight: 600; }
.id-comments .wp-block-comment-date { color: var(--id-selvedge); }
.id-comments textarea,
.id-comments input[type="text"],
.id-comments input[type="email"],
.id-comments input[type="url"] {
	width: 100%;
	border: 1px solid var(--id-ink);
	border-radius: 2px;
	padding: 0.6rem 0.75rem;
	font: inherit;
}

/* ---------- Pages, including ones built with the old page builder ---------- */

.id-page__title { margin-bottom: var(--wp--preset--spacing--50) !important; }
.id-page__content > * + * { margin-block-start: 1.25em; }
.id-page__content .wpb-content-wrapper,
.id-page__content > .vc_row,
.id-page__content > .wpb-content-wrapper > .vc_row {
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}
.id-legacy-title { margin: 1.5em 0 0.6em; }
.id-legacy-title:first-child { margin-top: 0; }
.vc_btn3-container { margin-bottom: 0.6rem !important; }
.vc_btn3 {
	background: #fff !important;
	color: var(--id-ink) !important;
	border: 1px solid var(--id-ink) !important;
	border-radius: 2px !important;
	font-family: var(--id-display) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	padding: 0.7rem 1.2rem !important;
	background-image: none !important;
	box-shadow: none !important;
}
.vc_btn3:hover,
.vc_btn3:focus { background: var(--id-ink) !important; color: #fff !important; }
/* Long runs of stacked buttons (e.g. the stockist list) read better as a two-column grid. */
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container + .vc_btn3-container + .vc_btn3-container) > .vc_column-inner > .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 0 0.75rem;
}
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container + .vc_btn3-container + .vc_btn3-container) > .vc_column-inner > .wpb_wrapper > :not(.vc_btn3-container) { grid-column: 1 / -1; }
.vc_tta.vc_general .vc_tta-panel-title {
	font-family: var(--id-display) !important;
	font-weight: 600;
}
.vc_tta.vc_general .vc_tta-panel-heading {
	background: #fff !important;
	border-color: var(--id-tabletop) !important;
}
.vc_tta.vc_general .vc_tta-panel-body { background: #fff !important; border-color: var(--id-tabletop) !important; }
.vc_custom_heading { font-family: var(--id-display); }

/* ---------- Woo: notices, cart, checkout, account (classic shortcodes) ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border: 1px solid var(--id-tabletop) !important;
	border-left: 3px solid var(--id-marker) !important;
	background: #fff !important;
	border-radius: 2px !important;
	font-family: var(--id-serif);
	color: var(--id-ink) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--id-marker) !important; }
.woocommerce-error { border-left-color: #b3261e !important; }

.woocommerce table.shop_table {
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	font-family: var(--id-serif);
}
.woocommerce table.shop_table th {
	font-family: var(--id-display);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--id-selvedge);
	border-bottom: 1px solid var(--id-ink) !important;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-top: 0 !important; padding: 0.9rem 0.6rem !important; }
.woocommerce table.shop_table tbody td { border-bottom: 1px solid var(--id-tabletop) !important; }
.woocommerce table.shop_table td.product-name a { color: var(--id-ink); }
.woocommerce table.shop_table img { width: 72px !important; background: var(--id-tabletop); }
.woocommerce table.shop_table .product-remove a.remove { color: var(--id-selvedge) !important; }
.woocommerce table.shop_table .product-remove a.remove:hover { background: var(--id-ink) !important; color: #fff !important; }

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-size: var(--wp--preset--font-size--x-large); }

.woocommerce form .form-row label { font-family: var(--id-display); font-weight: 500; font-size: 0.9375rem; }
.woocommerce form .form-row .required { color: var(--id-selvedge); text-decoration: none; }
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce .quantity .qty,
.woocommerce #coupon_code,
.woocommerce-cart .coupon .input-text,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--id-ink) !important;
	border-radius: 2px !important;
	padding: 0.6rem 0.75rem !important;
	font-family: var(--id-serif) !important;
	font-size: 1rem !important;
	background: #fff !important;
	min-height: 2.75rem;
	box-sizing: border-box;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.5 !important; padding: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }
.woocommerce form .input-text:focus,
.woocommerce form select:focus { outline: 2px solid var(--id-marker); outline-offset: 1px; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--id-ink) !important;
	color: #fff !important;
	border-radius: 2px !important;
	font-family: var(--id-display) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0.8rem 1.4rem !important;
	border: 0 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--id-marker) !important; }
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] { opacity: 0.45 !important; background: var(--id-ink) !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 1.125rem !important; padding: 1rem 1.4rem !important; }

#payment.woocommerce-checkout-payment {
	background: #fff !important;
	border: 1px solid var(--id-tabletop);
	border-radius: 2px !important;
}
#payment .payment_methods { border-bottom: 1px solid var(--id-tabletop) !important; }
#payment div.payment_box { background: var(--id-tabletop) !important; color: var(--id-ink) !important; border-radius: 2px !important; }
#payment div.payment_box::before { border-bottom-color: var(--id-tabletop) !important; }

.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; font-family: var(--id-display); }
.woocommerce-MyAccount-navigation li { margin: 0 0 0.5rem; }
.woocommerce-MyAccount-navigation a { color: var(--id-ink); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { text-decoration: underline; text-decoration-color: var(--id-marker); text-decoration-thickness: 2px; text-underline-offset: 0.3em; }

/* Cart / checkout pages: use the wide measure. */
.id-page--woo .id-page__title { margin-bottom: var(--wp--preset--spacing--40) !important; }
.id-page__content--woo > * { max-width: none; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 26rem) !important; }
.id-page__content--woo > .woocommerce { max-width: none !important; }

.id-product__buy .quantity { margin: 0 !important; }

/* ---------- Mobile menu overlay ---------- */

.id-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem clamp(1.25rem, 6vw, 2.5rem) 3rem !important;
}
.id-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.id-nav .is-menu-open .wp-block-navigation__container,
.id-nav .is-menu-open .wp-block-navigation-item {
	align-items: stretch !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.id-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 1.5rem !important; }
.id-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--id-tabletop);
}
.id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 1.1rem 0 !important;
	font-family: var(--id-heading);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.1;
}
.id-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none; }
.id-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	padding: 0 0 1.1rem !important;
	min-width: 0 !important;
	width: 100%;
	gap: 0 !important;
}
.id-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.5rem 0 !important;
	font-size: 1.0625rem;
	font-weight: 500;
}

/* With JS: rows are collapsed until tapped, with a +/− marker. */
.id-nav-js .id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container { display: none !important; }
.id-nav-js .id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu.id-open > .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1.25rem;
}
.id-nav-js .id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	content: "+";
	font-family: var(--id-display);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--id-selvedge);
}
.id-nav-js .id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu.id-open > .wp-block-navigation-item__content::after { content: "\2212"; }

/* ---------- Variations, search form, 404 ---------- */

.id-product__buy table.variations { border: 0; margin: 0 0 1rem; width: 100%; }
.id-product__buy table.variations th,
.id-product__buy table.variations td { border: 0; padding: 0 0 0.75rem; background: none; vertical-align: middle; }
.id-product__buy table.variations th label { font-family: var(--id-display); font-weight: 600; margin-right: 1rem; }
.id-product__buy table.variations select {
	min-width: 14rem;
	border: 1px solid var(--id-ink);
	border-radius: 2px;
	padding: 0.65rem 2rem 0.65rem 0.75rem;
	font-family: var(--id-serif);
	font-size: 1rem;
	background-color: #fff;
}
.id-product__buy .reset_variations { font-family: var(--id-display); font-size: 0.875rem; margin-left: 0.75rem; }
.id-product__buy .woocommerce-variation-price { font-family: var(--id-display); margin-bottom: 0.75rem; }
.id-product__buy .single_variation_wrap { width: 100%; }
.id-product__buy .woocommerce-variation-add-to-cart { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.id-search-form { max-width: 34rem; margin-top: 1.5rem; }
.id-search-form .wp-block-search__input {
	border: 1px solid var(--id-ink);
	border-radius: 2px;
	padding: 0.7rem 0.85rem;
	font-family: var(--id-serif);
	font-size: 1.0625rem;
}
.id-search-form .wp-block-search__button { margin-left: 0.5rem; border-radius: 2px; }
.id-404 h1 { max-width: 12ch; }

/* ---------- Home banner: a row of product photos with the tagline on a panel ---------- */

.id-banner { position: relative; margin-top: 0 !important; }
.id-banner__images {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0 !important;
}
.id-banner__image { margin: 0 !important; }
.id-banner__image a { display: block; }
.id-banner__image img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--id-tabletop); }
.id-banner__panel {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(92%, 28rem);
	padding: clamp(1.5rem, 2.5vw, 2.25rem) clamp(1.25rem, 3vw, 2.25rem);
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	text-align: center;
}
.id-banner__panel .id-hero__title { margin: 0; text-wrap: balance; font-size: clamp(1.75rem, 2.6vw, 2.5rem) !important; }

@media (max-width: 781px) {
	.id-banner__images { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.id-banner__panel {
		position: static;
		transform: none;
		width: auto;
		padding: 2rem var(--wp--style--root--padding-left) 0.5rem;
		box-shadow: none;
	}
}
.id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus { outline: none; }
.id-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible { text-decoration: underline; text-decoration-color: var(--id-marker); text-decoration-thickness: 2px; text-underline-offset: 0.3em; }

.id-banner__lede { margin: 0; max-width: 30ch; line-height: 1.5; color: var(--id-ink); }
.id-banner__panel { gap: 1rem !important; }

/* ---------- Likes ---------- */

.id-like {
	--id-heart: #c8384a;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border: 0;
	background: none;
	color: var(--id-selvedge);
	font-family: var(--id-display);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	padding: 0.2rem 0;
	-webkit-tap-highlight-color: transparent;
}
.id-like__heart { display: block; transition: transform 0.15s ease; }
.id-like:hover { color: var(--id-ink); }
.id-like:hover .id-like__heart { transform: scale(1.12); }
.id-like:hover .id-like__heart path { stroke: var(--id-heart); }
.id-like.is-liked { cursor: default; color: var(--id-ink); }
.id-like.is-liked .id-like__heart path { fill: var(--id-heart); stroke: var(--id-heart); }
.id-like.is-liked:hover .id-like__heart { transform: none; }
.id-like:disabled { opacity: 0.65; }
.id-like.is-just-liked .id-like__heart { animation: id-like-pop 0.35s ease; }
@keyframes id-like-pop { 0% { transform: scale(1); } 45% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* End-of-post button: an outlined pill with a label and the count. */
.id-like--button {
	gap: 0.55rem;
	padding: 0.65rem 1.1rem 0.65rem 0.95rem;
	border: 1px solid var(--id-ink);
	border-radius: 999px;
	background: #fff;
	color: var(--id-ink);
	font-size: 1rem;
}
.id-like--button .id-like__count {
	padding-left: 0.6rem;
	border-left: 1px solid var(--id-tabletop);
	color: var(--id-selvedge);
	font-variant-numeric: tabular-nums;
}
.id-like--button:hover { border-color: var(--id-heart); }
.id-like--button.is-liked { border-color: var(--id-tabletop); background: #fff; }
.id-post__meta .wp-block-post-date { margin: 0; }

/* ---------- Single post: content + popular posts sidebar ---------- */

.id-post__layout { align-items: flex-start !important; }
.id-post__main { min-width: 0; max-width: 46rem; }
.id-post__sidebar { position: sticky; top: 2rem; }
.id-popular { border-top: 2px solid var(--id-ink); padding-top: 1rem; }
.id-popular__title { font-size: 1rem !important; margin: 0 0 1rem; }
.id-popular__list .wp-block-post-template { display: flex; flex-direction: column; gap: 1rem; padding: 0; margin: 0; list-style: none; }
.id-popular__thumb { flex: 0 0 72px; margin: 0 !important; }
.id-popular__thumb img { width: 72px !important; height: 72px !important; object-fit: cover; display: block; background: var(--id-tabletop); }
.id-popular__name {
	font-family: var(--id-display) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-transform: none;
	margin: 0 !important;
}
.id-popular__name a { color: var(--id-ink); text-decoration: none; }
.id-popular__name a:hover { color: var(--id-marker); text-decoration: underline; }
.id-popular .id-section__more { margin-top: 1.25rem; font-size: 0.9375rem; }

@media (max-width: 900px) {
	.id-post__layout { flex-direction: column; }
	.id-post__sidebar { position: static; flex-basis: auto !important; width: 100%; margin-top: var(--wp--preset--spacing--50); }
	.id-post__main { max-width: none; }
}
