/**
 * Aris core stylesheet.
 *
 * Nothing here hard-codes a colour, size or radius: every value reads a CSS
 * custom property emitted by the Customizer (see inc/dynamic-css.php).
 */

/* -------------------------------------------------------------------- Reset */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

/*
 * The browser default for [hidden] is only display:none, which any author rule
 * that sets display will beat. Several theme elements (the quick-view modal,
 * the slide-in panels, the back-to-top button) ship hidden and set their own
 * display, so this has to win outright or they paint on page load.
 */
[hidden] { display: none !important; }

body {
	margin: 0;
	background: var(--aris-body-bg);
	color: var(--aris-text);
	font-family: var(--aris-font-body);
	font-size: var(--aris-body-size);
	font-weight: var(--aris-body-weight);
	line-height: var(--aris-body-line);
	letter-spacing: var(--aris-body-letter);
	-webkit-font-smoothing: antialiased;
}

img, svg, video, canvas { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5em;
	color: var(--aris-heading);
	font-family: var(--aris-font-heading);
	font-weight: var(--aris-heading-weight);
	line-height: var(--aris-heading-line);
	letter-spacing: var(--aris-heading-letter);
}

h1 { font-size: var(--aris-h1-size); }
h2 { font-size: var(--aris-h2-size); }
h3 { font-size: var(--aris-h3-size); }
h4 { font-size: var(--aris-h4-size); }
h5 { font-size: var(--aris-h5-size); }
h6 { font-size: var(--aris-h6-size); }

p { margin: 0 0 1em; }

a { color: var(--aris-link); text-decoration: none; transition: color .18s ease; }
a:hover, a:focus { color: var(--aris-link-hover); }

ul, ol { margin: 0 0 1em; padding-left: 1.2em; }

hr { border: 0; border-top: 1px solid var(--aris-border); margin: 2em 0; }

blockquote {
	margin: 1.5em 0;
	padding: .2em 0 .2em 1.2em;
	border-left: 3px solid var(--aris-primary);
	color: var(--aris-heading);
	font-size: 1.05em;
}

table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--aris-border); text-align: left; }
th { color: var(--aris-heading); font-weight: 600; }

code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }
pre { padding: 16px; background: var(--aris-light-bg); border-radius: var(--aris-radius); overflow: auto; }

:focus-visible { outline: 2px solid var(--aris-primary); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed; top: 8px; left: 8px;
	z-index: 100000;
	width: auto; height: auto;
	clip: auto;
	padding: 12px 18px;
	background: var(--aris-card-bg);
	border-radius: var(--aris-radius);
	box-shadow: var(--aris-shadow-hover);
}

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

.aris-container {
	width: 100%;
	max-width: var(--aris-container);
	margin-inline: auto;
	padding-inline: var(--aris-gutter);
}

.aris-container--narrow { max-width: var(--aris-container-narrow); }

.aris-content { min-height: 40vh; }

.aris-layout { display: grid; gap: 40px; padding-block: var(--aris-section-space); }
.aris-layout--none { grid-template-columns: 1fr; }
.aris-layout--left { grid-template-columns: var(--aris-sidebar-width) 1fr; }
.aris-layout--right { grid-template-columns: 1fr var(--aris-sidebar-width); }
.aris-layout--left > .aris-sidebar { order: -1; }

.aris-main--full { width: 100%; }
.aris-main--narrow { padding-block: var(--aris-section-space); }

.aris-section { padding-block: var(--aris-section-space); }
.aris-section + .aris-section { padding-top: 0; }

.aris-layout-full-width .aris-container { max-width: 100%; }

/* --------------------------------------------------------------- Buttons */

.aris-btn,
.wp-block-button__link,
button.aris-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: var(--aris-btn-pad-y) var(--aris-btn-pad-x);
	border: var(--aris-btn-border) solid transparent;
	border-radius: var(--aris-btn-radius);
	background: var(--aris-btn-bg);
	color: var(--aris-btn-color);
	font-family: var(--aris-font-body);
	font-size: var(--aris-button-size);
	font-weight: var(--aris-button-weight);
	line-height: 1.2;
	text-transform: var(--aris-button-transform);
	text-decoration: none;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.aris-btn:hover,
.aris-btn:focus {
	background: var(--aris-btn-bg-hover);
	color: var(--aris-btn-color-hover);
}

.aris-btn--ghost {
	background: transparent;
	color: var(--aris-heading);
	border-color: var(--aris-border);
}
.aris-btn--ghost:hover { background: var(--aris-light-bg); color: var(--aris-primary); border-color: var(--aris-primary); }

.aris-btn--outline {
	background: transparent;
	color: #fff;
	border-color: rgba(255,255,255,.7);
}
.aris-btn--outline:hover { background: #fff; color: var(--aris-heading); border-color: #fff; }

.aris-btn--dark { background: var(--aris-dark); color: #fff; }
.aris-btn--dark:hover { background: var(--aris-secondary); color: #fff; }

.aris-btn--sm { padding: calc(var(--aris-btn-pad-y) * .72) calc(var(--aris-btn-pad-x) * .68); font-size: calc(var(--aris-button-size) - 1px); }
.aris-btn--lg { padding: calc(var(--aris-btn-pad-y) * 1.2) calc(var(--aris-btn-pad-x) * 1.15); font-size: calc(var(--aris-button-size) + 1px); }
.aris-btn--block { width: 100%; }

.aris-icon-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius);
	background: var(--aris-card-bg);
	color: var(--aris-heading);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease;
}
.aris-icon-btn:hover, .aris-icon-btn.is-active { border-color: var(--aris-primary); color: var(--aris-primary); }

/* ------------------------------------------------------------ Form fields */

input[type="text"], input[type="email"], input[type="url"], input[type="search"],
input[type="tel"], input[type="number"], input[type="password"], input[type="date"],
select, textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius-input);
	background: var(--aris-card-bg);
	color: var(--aris-heading);
	font: inherit;
	font-size: 14px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

input:focus, select:focus, textarea:focus {
	border-color: var(--aris-primary);
	box-shadow: 0 0 0 3px var(--aris-primary-10);
	outline: none;
}

::placeholder { color: var(--aris-muted); opacity: 1; }

label { display: block; margin-bottom: 6px; color: var(--aris-heading); font-weight: 500; font-size: 14px; }

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

.aris-header {
	position: relative;
	z-index: 60;
	background: var(--aris-header-bg);
	color: var(--aris-header-color);
}

.aris-header__row { border-bottom: 1px solid var(--aris-header-border); }

.aris-header__row--top {
	background: var(--aris-topbar-bg);
	color: var(--aris-topbar-color);
	border-bottom: 0;
	font-size: 13px;
	min-height: var(--aris-topbar-height);
}
.aris-header__row--top a { color: inherit; opacity: .9; }
.aris-header__row--top a:hover { opacity: 1; }

.aris-header__row--main { min-height: var(--aris-header-height); }

.aris-header__row--bottom {
	background: var(--aris-navbar-bg);
	color: var(--aris-navbar-color);
	min-height: var(--aris-navbar-height);
}

.aris-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: inherit;
}

.aris-header__row--top .aris-header__inner { min-height: var(--aris-topbar-height); }
.aris-header__row--main .aris-header__inner { min-height: var(--aris-header-height); }
.aris-header__row--bottom .aris-header__inner { min-height: var(--aris-navbar-height); }

.aris-header__zone { display: flex; align-items: center; gap: 18px; }
.aris-header__zone--left { justify-content: flex-start; }
.aris-header__zone--center { flex: 1; justify-content: center; }
.aris-header__zone--right { margin-left: auto; justify-content: flex-end; }
.aris-header__zone--center:only-child { margin-inline: auto; }

.aris-header__el { display: flex; align-items: center; }
.aris-header__el--search { flex: 1; max-width: 620px; }
.aris-header__el--search-bar { flex: 1; width: 100%; }
.aris-header__el--primary-menu { min-width: 0; }

.aris-header__html { font-size: 13px; }

.aris-header__contact { display: inline-flex; align-items: center; gap: 8px; color: inherit; font-size: 13px; font-weight: 500; }

/* Sticky */
.aris-sticky-row.is-stuck {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 90;
	box-shadow: 0 2px 14px rgba(34,34,34,.08);
	animation: aris-slide-down .22s ease;
}
.admin-bar .aris-sticky-row.is-stuck { top: 32px; }

@keyframes aris-slide-down { from { transform: translateY(-100%); } to { transform: none; } }

.aris-sticky-row.is-stuck.is-compact .aris-header__inner { min-height: 62px; }
.aris-sticky-row.is-stuck.is-compact .aris-logo img { max-height: 40px; }

/* Transparent */
.aris-transparent-header .aris-header {
	position: absolute;
	top: 0; left: 0; right: 0;
	background: transparent;
}
.aris-transparent-header .aris-header__row { border-color: rgba(255,255,255,.18); }
.aris-transparent-header .aris-header__row--main,
.aris-transparent-header .aris-header__row--bottom { background: transparent; color: #fff; }
.aris-transparent-header .aris-header .aris-menu__link,
.aris-transparent-header .aris-header .aris-action,
.aris-transparent-header .aris-logo__title { color: #fff; }
.aris-transparent-header .aris-sticky-row.is-stuck { background: var(--aris-header-bg); color: var(--aris-header-color); }
.aris-transparent-header .aris-sticky-row.is-stuck .aris-menu__link,
.aris-transparent-header .aris-sticky-row.is-stuck .aris-action,
.aris-transparent-header .aris-sticky-row.is-stuck .aris-logo__title { color: var(--aris-header-color); }

/* Logo */
.aris-logo img { width: var(--aris-logo-width); height: auto; }
.aris-logo__title {
	color: var(--aris-heading);
	font-family: var(--aris-font-heading);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.aris-logo__tagline { display: block; color: var(--aris-muted); font-size: 12px; }

/* Header actions */
.aris-action { display: inline-flex; align-items: center; gap: 9px; color: var(--aris-header-color); }
.aris-action__icon { position: relative; display: inline-flex; }
.aris-action__text { display: flex; flex-direction: column; line-height: 1.25; }
.aris-action__text small { color: var(--aris-muted); font-size: 11px; }
.aris-action__text b { font-size: 13px; font-weight: 600; }
.aris-action:hover { color: var(--aris-primary); }

.aris-badge,
.aris-cart-badge {
	position: absolute;
	top: -7px; right: -9px;
	min-width: 18px; height: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--aris-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}
.aris-badge.is-empty, .aris-cart-badge.is-empty { display: none; }

.aris-toggle {
	display: inline-flex;
	padding: 6px;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}

/* --------------------------------------------------------------- Search */

.aris-search { width: 100%; position: relative; }

.aris-search__field {
	display: flex;
	align-items: center;
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius-input);
	background: var(--aris-card-bg);
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.aris-search__field:focus-within { border-color: var(--aris-primary); box-shadow: 0 0 0 3px var(--aris-primary-10); }

.aris-search__input {
	flex: 1;
	border: 0;
	background: none;
	padding: 12px 16px;
	font-size: 14px;
}
.aris-search__input:focus { box-shadow: none; }

.aris-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	align-self: stretch;
	border: 0;
	background: var(--aris-primary);
	color: #fff;
	cursor: pointer;
	transition: background .18s ease;
}
.aris-search__submit:hover { background: var(--aris-primary-hover); }

.aris-search__suggestions {
	position: absolute;
	top: calc(100% + 6px); left: 0; right: 0;
	z-index: 80;
	max-height: 420px;
	overflow-y: auto;
	background: var(--aris-card-bg);
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius);
	box-shadow: var(--aris-shadow-hover);
}

.aris-search__results { margin: 0; padding: 6px; list-style: none; }
.aris-search__result a { display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: var(--aris-radius); color: var(--aris-heading); }
.aris-search__result a:hover { background: var(--aris-light-bg); }
.aris-search__thumb img { width: 46px; height: 46px; object-fit: cover; border-radius: 6px; }
.aris-search__meta { display: flex; flex-direction: column; }
.aris-search__title { font-size: 14px; font-weight: 500; }
.aris-search__type { color: var(--aris-muted); font-size: 12px; }
.aris-search__all { display: block; padding: 12px; border-top: 1px solid var(--aris-border); text-align: center; font-size: 13px; font-weight: 600; }
.aris-search__empty { margin: 0; padding: 18px; color: var(--aris-muted); text-align: center; font-size: 14px; }

.aris-header-search--dropdown { position: relative; }
.aris-header-search__dropdown {
	position: absolute;
	top: calc(100% + 10px); right: 0;
	width: min(420px, 80vw);
	z-index: 80;
	padding: 12px;
	background: var(--aris-card-bg);
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius);
	box-shadow: var(--aris-shadow-hover);
}

.aris-search-overlay { position: fixed; inset: 0; z-index: 200; }
.aris-search-overlay__backdrop { position: absolute; inset: 0; background: rgba(34,34,34,.55); }
.aris-search-overlay__body {
	position: relative;
	background: var(--aris-card-bg);
	padding: 60px 0 48px;
	animation: aris-fade-down .2s ease;
}
.aris-search-overlay__close {
	position: absolute; top: 16px; right: 20px;
	border: 0; background: none; color: var(--aris-heading); cursor: pointer;
}
.aris-search-overlay__inner { max-width: 760px; }
.aris-search-overlay__label { display: block; margin: 22px 0 10px; color: var(--aris-muted); font-size: 13px; }

@keyframes aris-fade-down { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------ Navigation */

.aris-nav-wrap { min-width: 0; }

.aris-nav {
	display: flex;
	align-items: center;
	/* Links already carry vertical padding, so a wrapped second row should not
	   also inherit the horizontal spacing as a row gap. */
	column-gap: var(--aris-nav-gap);
	row-gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

.aris-nav .aris-menu__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 0;
	color: var(--aris-nav-color);
	font-size: var(--aris-nav-size);
	font-weight: var(--aris-nav-weight);
	text-transform: var(--aris-nav-transform);
	white-space: nowrap;
}

.aris-nav > li > .aris-menu__link:hover,
.aris-nav > li.current-menu-item > .aris-menu__link { color: var(--aris-nav-hover); }

.aris-nav-underline .aris-nav > li > .aris-menu__link::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 2px;
	height: 2px;
	background: var(--aris-nav-hover);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
}
.aris-nav-underline .aris-nav > li:hover > .aris-menu__link::after,
.aris-nav-underline .aris-nav > li.current-menu-item > .aris-menu__link::after { transform: none; }

.aris-nav-pill .aris-nav > li > .aris-menu__link { padding: 8px 14px; border-radius: 999px; }
.aris-nav-pill .aris-nav > li:hover > .aris-menu__link,
.aris-nav-pill .aris-nav > li.current-menu-item > .aris-menu__link { background: var(--aris-primary-10); }

.aris-menu__badge {
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--aris-sale);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.aris-menu__arrow { display: inline-flex; transition: transform .2s ease; }
.aris-nav > li:hover > .aris-menu__link .aris-menu__arrow { transform: rotate(180deg); }

/* Dropdowns */
.aris-nav li { position: relative; }

.aris-submenu {
	position: absolute;
	top: 100%; left: 0;
	z-index: 70;
	min-width: var(--aris-dropdown-width);
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--aris-dropdown-bg);
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius);
	box-shadow: var(--aris-shadow-hover);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.aris-nav li:hover > .aris-submenu,
.aris-nav li:focus-within > .aris-submenu { opacity: 1; visibility: visible; transform: none; }

.aris-submenu .aris-submenu { top: -8px; left: 100%; }

.aris-submenu .aris-menu__link {
	display: flex;
	width: 100%;
	padding: 9px 12px;
	border-radius: 6px;
	color: var(--aris-dropdown-color);
	font-size: 14px;
	font-weight: 400;
	white-space: normal;
}
.aris-submenu .aris-menu__link:hover { background: var(--aris-light-bg); color: var(--aris-dropdown-hover); }

.aris-menu__thumb img { width: 34px; height: 34px; object-fit: cover; border-radius: 5px; }
.aris-menu__desc { display: block; width: 100%; color: var(--aris-muted); font-size: 12px; }

/* ------------------------------------------------------------- Page head */

.aris-page-header { padding: 28px 0; background: var(--aris-light-bg); }
.aris-page-header--center { text-align: center; }
.aris-page-title { margin: 6px 0 0; font-size: var(--aris-h2-size); }
.aris-page-sub { margin: 8px 0 0; color: var(--aris-muted); }

.aris-breadcrumbs { font-size: 13px; color: var(--aris-muted); }
.aris-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aris-breadcrumbs li + li::before { content: "/"; margin-right: 6px; color: var(--aris-border); }
.aris-breadcrumbs a { color: var(--aris-muted); }
.aris-breadcrumbs a:hover { color: var(--aris-primary); }

/* --------------------------------------------------------- Section heads */

.aris-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}
.aris-section-head--center { flex-direction: column; align-items: center; text-align: center; }
.aris-section-title { margin: 0; font-size: var(--aris-h2-size); }
.aris-section-sub { margin: 8px 0 0; color: var(--aris-muted); }
.aris-section-link { display: inline-flex; align-items: center; gap: 6px; flex: none; font-size: 14px; font-weight: 600; }

/* ------------------------------------------------------------- Utilities */

.aris-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aris-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid var(--aris-border);
	border-radius: 999px;
	background: var(--aris-card-bg);
	color: var(--aris-heading);
	font-size: 13px;
	font-weight: 500;
}
.aris-chip:hover { border-color: var(--aris-primary); color: var(--aris-primary); }
.aris-chip span { color: var(--aris-muted); font-size: 12px; }

.aris-rating { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--aris-muted); }
.aris-rating__stars {
	position: relative;
	width: 74px; height: 13px;
	background: currentColor;
	color: var(--aris-border);
	-webkit-mask: var(--aris-star-mask) repeat-x left center / 15px 13px;
	mask: var(--aris-star-mask) repeat-x left center / 15px 13px;
}
.aris-rating__fill { position: absolute; inset: 0 auto 0 0; background: var(--aris-rating); }
.aris-rating__value { color: var(--aris-heading); font-weight: 600; }

:root {
	--aris-star-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 13'%3E%3Cpath d='M7.5 0l2 4.2 4.5.6-3.3 3.1.8 4.5-4-2.2-4 2.2.8-4.5L1 4.8l4.5-.6z' fill='%23000'/%3E%3C/svg%3E");
}

.aris-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.aris-trust__item { display: flex; align-items: center; gap: 12px; }
.aris-trust__icon {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 44px; height: 44px;
	flex: none;
	border-radius: 50%;
	background: var(--aris-primary-10);
	color: var(--aris-primary);
}
.aris-trust__text { display: flex; flex-direction: column; }
.aris-trust__text strong { color: var(--aris-heading); font-size: 14px; }
.aris-trust__text span { color: var(--aris-muted); font-size: 12px; }

.aris-toast {
	position: fixed;
	left: 50%; bottom: 28px;
	z-index: 300;
	transform: translateX(-50%);
	padding: 12px 20px;
	border-radius: var(--aris-radius);
	background: var(--aris-dark);
	color: #fff;
	font-size: 14px;
	box-shadow: var(--aris-shadow-hover);
	animation: aris-toast-in .2s ease;
}
@keyframes aris-toast-in { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translateX(-50%); } }

.aris-to-top {
	position: fixed;
	right: 20px; bottom: 24px;
	z-index: 80;
	width: 42px; height: 42px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--aris-border);
	border-radius: 50%;
	background: var(--aris-card-bg);
	color: var(--aris-heading);
	cursor: pointer;
	box-shadow: var(--aris-shadow);
}
.aris-to-top:hover { border-color: var(--aris-primary); color: var(--aris-primary); }

/* ------------------------------------------------------------ Post cards */

.aris-posts { display: grid; gap: 28px; }
.aris-posts--grid, .aris-posts--masonry { grid-template-columns: repeat(var(--aris-blog-columns, 3), minmax(0, 1fr)); }
.aris-posts[style*="--aris-cols"] { grid-template-columns: repeat(var(--aris-cols), minmax(0, 1fr)); }
.aris-posts--list { grid-template-columns: 1fr; }
.aris-posts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.aris-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--aris-card-bg);
	border-radius: var(--aris-radius-card);
}
.aris-posts--list .aris-post-card { flex-direction: row; gap: 24px; align-items: center; }
.aris-posts--list .aris-post-card__media { flex: 0 0 34%; }

.aris-post-card__media { display: block; overflow: hidden; border-radius: var(--aris-radius-card); }
.aris-post-card__image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .4s ease; }
.aris-post-card:hover .aris-post-card__image { transform: scale(1.04); }

.aris-post-card__body { padding: 16px 0 0; }
.aris-posts--list .aris-post-card__body { padding: 0; }

.aris-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--aris-muted); font-size: 12px; }
.aris-post-cat { color: var(--aris-primary); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.aris-sep { color: var(--aris-border); }

.aris-post-card__title { margin: 8px 0; font-size: var(--aris-h4-size); }
.aris-post-card__title a { color: var(--aris-heading); }
.aris-post-card__title a:hover { color: var(--aris-primary); }
.aris-post-card__excerpt { color: var(--aris-text); font-size: 14px; }
.aris-post-card__excerpt p { margin: 0; }
.aris-post-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 14px; font-weight: 600; }

/* --------------------------------------------------------------- Entries */

.aris-entry { padding-block: 8px; }
.aris-entry__media { margin: 0 0 28px; }
.aris-entry__image { width: 100%; border-radius: var(--aris-radius-card); }
.aris-entry__meta { margin-bottom: 18px; }
.aris-entry__content > *:last-child { margin-bottom: 0; }
.aris-entry__content img { border-radius: var(--aris-radius); }
.aris-entry__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--aris-border); }
.aris-entry__tags a { display: inline-block; margin: 0 6px 6px 0; padding: 5px 11px; border: 1px solid var(--aris-border); border-radius: 999px; color: var(--aris-muted); font-size: 12px; }
.aris-entry__share { display: flex; align-items: center; gap: 12px; font-size: 13px; }

.aris-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.aris-post-nav a { display: block; padding: 16px; border: 1px solid var(--aris-border); border-radius: var(--aris-radius); color: var(--aris-heading); font-weight: 500; }
.aris-post-nav a:hover { border-color: var(--aris-primary); }
.aris-post-nav span { display: block; color: var(--aris-muted); font-size: 12px; font-weight: 400; }
.aris-post-nav__next { text-align: right; }

.aris-related { margin-top: 48px; }

.aris-social { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aris-social a {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border: 1px solid var(--aris-border);
	border-radius: 50%;
	color: inherit;
}
.aris-social a:hover { border-color: var(--aris-primary); color: var(--aris-primary); }

/* ------------------------------------------------------------ Pagination */

.aris-pagination { display: flex; justify-content: center; margin-top: 44px; }
.aris-pagination .page-numbers {
	display: inline-flex;
	align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	margin: 0 3px;
	padding: 0 10px;
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius);
	color: var(--aris-heading);
	font-size: 14px;
	font-weight: 500;
}
.aris-pagination .page-numbers:hover { border-color: var(--aris-primary); color: var(--aris-primary); }
.aris-pagination .page-numbers.current { background: var(--aris-primary); border-color: var(--aris-primary); color: #fff; }

/* --------------------------------------------------------------- Sidebar */

.aris-sidebar { min-width: 0; }
.aris-sidebar.is-sticky { position: sticky; top: 100px; align-self: start; }
.aris-sidebar__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.aris-sidebar__clear { font-size: 13px; }

.aris-widget { margin-bottom: 28px; }
.aris-widget:last-child { margin-bottom: 0; }
/*
 * Classic widgets get their heading through before_title, but block widgets
 * render their own <h2 class="wp-block-heading"> and never see it. Both have
 * to be styled or a stock sidebar shows 34px headings.
 */
.aris-widget__title,
.aris-widget > h1,
.aris-widget > h2,
.aris-widget > h3,
.aris-widget > h4,
.aris-widget > .wp-block-heading,
.aris-widget > .wp-block-group > .wp-block-heading {
	margin: 0 0 14px;
	color: var(--aris-heading);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.aris-widget ul { margin: 0; padding: 0; list-style: none; }
.aris-widget li { padding: 7px 0; border-bottom: 1px solid var(--aris-border); font-size: 14px; }
.aris-widget li:last-child { border-bottom: 0; }
.aris-widget a { color: var(--aris-text); }
.aris-widget a:hover { color: var(--aris-primary); }

.aris-sidebar--boxed .aris-widget { padding: 20px; background: var(--aris-light-bg); border-radius: var(--aris-radius-card); }
.aris-sidebar--bordered .aris-widget { padding: 20px; border: 1px solid var(--aris-border); border-radius: var(--aris-radius-card); }

/* -------------------------------------------------------------- Comments */

.aris-comments { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--aris-border); }
.aris-comments__list { margin: 0 0 32px; padding: 0; list-style: none; }
.aris-comments__list ol { list-style: none; padding-left: 28px; }
.aris-comment { padding: 20px 0; border-bottom: 1px solid var(--aris-border); }
.aris-comment__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.aris-comment__avatar img { border-radius: 50%; }
.aris-comment__author { display: block; color: var(--aris-heading); }
.aris-comment__meta time { color: var(--aris-muted); font-size: 12px; }
.aris-comment__actions { display: flex; gap: 14px; font-size: 13px; }
.comment-form { display: grid; gap: 14px; }
.comment-form .comment-form-author, .comment-form .comment-form-email, .comment-form .comment-form-url { margin: 0; }

/* ------------------------------------------------------------------ 404 */

.aris-404 { padding-block: calc(var(--aris-section-space) * 1.2); text-align: center; }
.aris-404__code { display: block; color: var(--aris-primary); font-family: var(--aris-font-heading); font-size: 88px; font-weight: 700; line-height: 1; }
.aris-404__title { margin: 12px 0; }
.aris-404__text { max-width: 520px; margin-inline: auto; color: var(--aris-muted); }
.aris-404__search { max-width: 460px; margin: 24px auto; }
.aris-404__links { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.aris-404__categories { margin-top: 48px; }
.aris-404__categories .aris-chips { justify-content: center; }

.aris-no-results { padding: 48px 0; text-align: center; }

/* ------------------------------------------------------------ Newsletter */

.aris-newsletter { padding: 40px 0; background: var(--aris-light-bg); border-top: 1px solid var(--aris-footer-border); }
.aris-newsletter__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.aris-newsletter__title { margin: 0; font-size: var(--aris-h3-size); }
.aris-newsletter__sub { margin: 6px 0 0; color: var(--aris-muted); font-size: 14px; max-width: 52ch; }
.aris-newsletter__form { display: flex; gap: 10px; flex: 1; min-width: 320px; max-width: 560px; }
.aris-newsletter__field { position: relative; flex: 1; display: flex; align-items: center; }
.aris-newsletter__field svg { position: absolute; left: 14px; color: var(--aris-muted); }
.aris-newsletter__field input { padding-left: 42px; }

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

.aris-footer { background: var(--aris-footer-bg); color: var(--aris-footer-color); }
.aris-footer__main { padding-block: var(--aris-footer-padding); }
.aris-footer__columns { display: grid; gap: 32px; }
.aris-footer__columns--1 { grid-template-columns: 1fr; }
.aris-footer__columns--2 { grid-template-columns: repeat(2, 1fr); }
.aris-footer__columns--3 { grid-template-columns: repeat(3, 1fr); }
.aris-footer__columns--4 { grid-template-columns: repeat(4, 1fr); }
.aris-footer__columns--5 { grid-template-columns: repeat(5, 1fr); }

.aris-footer .widget-title { color: var(--aris-footer-heading); }
.aris-footer a { color: var(--aris-footer-link); }
.aris-footer a:hover { color: var(--aris-footer-link-hover); }
.aris-footer li { border-color: var(--aris-footer-border); }
.aris-footer__menu { margin: 0; padding: 0; list-style: none; }
.aris-footer__menu li { padding: 6px 0; border: 0; font-size: 14px; }
.aris-footer__empty { font-size: 13px; }

.aris-footer__bottom { background: var(--aris-footer-bottom-bg); color: var(--aris-footer-bottom-color); border-top: 1px solid var(--aris-footer-border); }
.aris-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding-block: 20px; font-size: 13px; }
.aris-footer__bottom--centered .aris-footer__bottom-inner,
.aris-footer__bottom--stacked .aris-footer__bottom-inner { flex-direction: column; text-align: center; }
.aris-footer__legal-menu { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }

/* ----------------------------------------------------------- Slide panels */

.aris-panel { position: fixed; inset: 0; z-index: 250; }
.aris-panel__backdrop { position: absolute; inset: 0; background: rgba(34,34,34,.5); animation: aris-fade .2s ease; }

.aris-panel__body {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: var(--aris-mobile-menu-width);
	max-width: 92vw;
	display: flex;
	flex-direction: column;
	background: var(--aris-card-bg);
	animation: aris-slide-in-left .24s ease;
}
.aris-panel--slide-right .aris-panel__body { left: auto; right: 0; animation-name: aris-slide-in-right; }
.aris-panel--full .aris-panel__body { width: 100%; max-width: 100%; }

.aris-panel--filters .aris-panel__body { left: auto; right: 0; width: 380px; animation-name: aris-slide-in-right; }

@keyframes aris-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes aris-slide-in-left { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes aris-slide-in-right { from { transform: translateX(100%); } to { transform: none; } }

.aris-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid var(--aris-border); }
.aris-panel__close { border: 0; background: none; color: var(--aris-heading); cursor: pointer; padding: 6px; }
.aris-panel__search { padding: 14px 16px; border-bottom: 1px solid var(--aris-border); }
.aris-panel__content { flex: 1; overflow-y: auto; padding: 8px 0; }
.aris-panel__foot { padding: 16px; border-top: 1px solid var(--aris-border); display: flex; flex-direction: column; gap: 12px; }
.aris-panel__contact { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }

.aris-mobile-menu { margin: 0; padding: 0; list-style: none; }
.aris-mobile-item__row { display: flex; align-items: center; border-bottom: 1px solid var(--aris-border); }
.aris-mobile-item__link { flex: 1; display: flex; align-items: center; gap: 10px; padding: 13px 16px; color: var(--aris-heading); font-size: 15px; font-weight: 500; }
.aris-mobile-item__toggle { padding: 13px 16px; border: 0; border-left: 1px solid var(--aris-border); background: none; color: var(--aris-muted); cursor: pointer; }
.aris-mobile-item__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.aris-mobile-submenu { margin: 0; padding: 0 0 0 14px; list-style: none; background: var(--aris-light-bg); }
.aris-mobile-menu--small .aris-mobile-item__link { font-size: 13px; color: var(--aris-muted); }

/* ------------------------------------------------------ Bottom nav (mobile) */

.aris-bottom-nav {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 120;
	display: none;
	background: var(--aris-card-bg);
	border-top: 1px solid var(--aris-border);
	padding-bottom: env(safe-area-inset-bottom);
}
.aris-bottom-nav__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 9px 4px;
	color: var(--aris-muted);
	font-size: 11px;
}
.aris-bottom-nav__item:hover { color: var(--aris-primary); }
.aris-bottom-nav__icon { position: relative; }

/* ----------------------------------------------------------------- Modal */

.aris-modal { position: fixed; inset: 0; z-index: 260; display: flex; align-items: center; justify-content: center; padding: 20px; }
.aris-modal__backdrop { position: absolute; inset: 0; background: rgba(34,34,34,.55); }
.aris-modal__dialog {
	position: relative;
	width: min(940px, 100%);
	max-height: 88vh;
	overflow-y: auto;
	background: var(--aris-card-bg);
	border-radius: var(--aris-radius-card);
	box-shadow: var(--aris-shadow-hover);
	animation: aris-fade-down .2s ease;
}
.aris-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; border: 0; background: none; color: var(--aris-heading); cursor: pointer; padding: 6px; }
.aris-modal__content { padding: 28px; }

.aris-quickview { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.aris-quickview__media { position: relative; }
.aris-quickview__image { width: 100%; border-radius: var(--aris-radius); }
.aris-quickview__title { margin: 6px 0 10px; font-size: var(--aris-h3-size); }
.aris-quickview__price { margin: 14px 0; font-size: 22px; font-weight: 700; color: var(--aris-heading); }
.aris-quickview__excerpt { color: var(--aris-text); font-size: 14px; }
.aris-quickview__cart { display: flex; gap: 10px; margin: 20px 0; flex-wrap: wrap; }
.aris-quickview__meta { margin: 0; padding: 16px 0 0; border-top: 1px solid var(--aris-border); list-style: none; font-size: 13px; }
.aris-quickview__meta li { display: flex; justify-content: space-between; padding: 5px 0; color: var(--aris-muted); }
.aris-quickview__meta span { color: var(--aris-heading); font-weight: 500; }

/* ------------------------------------------------------------ Responsive */

@media (max-width: 1199px) {
	.aris-layout--left, .aris-layout--right { grid-template-columns: 1fr; }
	.aris-layout--left > .aris-sidebar { order: 0; }
	.aris-footer__columns--4, .aris-footer__columns--5 { grid-template-columns: repeat(2, 1fr); }
	.aris-posts--grid, .aris-posts--masonry { grid-template-columns: repeat(var(--aris-blog-columns, 2), minmax(0, 1fr)); }
}

@media (max-width: 991px) {

	.aris-header__zone { gap: 12px; }
	.aris-header__el--search { max-width: none; }

	.aris-section-head { flex-direction: column; align-items: flex-start; }
	.aris-section-head--center { align-items: center; }

	.aris-posts--list .aris-post-card { flex-direction: column; }
	.aris-posts--list .aris-post-card__media { flex: none; width: 100%; }

	.aris-quickview { grid-template-columns: 1fr; }
	.aris-modal__content { padding: 20px; }

	.aris-newsletter__inner { flex-direction: column; align-items: flex-start; }
	.aris-newsletter__form { width: 100%; max-width: none; min-width: 0; }

	.aris-post-nav { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.aris-footer__columns--3, .aris-footer__columns--4, .aris-footer__columns--5 { grid-template-columns: 1fr 1fr; }
	.aris-posts--grid, .aris-posts--masonry { grid-template-columns: repeat(var(--aris-blog-columns, 1), minmax(0, 1fr)); }
	.aris-404__code { font-size: 62px; }
	.aris-newsletter__form { flex-direction: column; }
}

@media (max-width: 991px) {
	.aris-has-bottom-nav .aris-bottom-nav { display: flex; }
	.aris-has-bottom-nav { padding-bottom: 58px; }
	.aris-to-top { bottom: 76px; }
}

/*
 * Device visibility helpers used by the header builder.
 * Desktop is above the tablet breakpoint, tablet sits between the two, and
 * mobile is everything at or below the mobile breakpoint.
 */
@media (min-width: 1200px) {
	.aris-hide-desktop { display: none !important; }
}

@media (min-width: 992px) and (max-width: 1199px) {
	.aris-hide-tablet { display: none !important; }
}

@media (max-width: 991px) {
	.aris-hide-mobile { display: none !important; }
}

@media (max-width: 575px) {
	.aris-header__zone { gap: 10px; }
	.aris-action__text { display: none; }
	.aris-trust { grid-template-columns: 1fr 1fr; }
}

@media print {
	.aris-header, .aris-footer, .aris-bottom-nav, .aris-to-top, .aris-panel, .aris-modal { display: none !important; }
}

/* ----------------------------------------------------------- Product card */

.aris-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--aris-card-bg);
	border-radius: var(--aris-radius-card);
	transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}

.aris-card--bordered { border: 1px solid var(--aris-border); overflow: hidden; }
.aris-card--shadow { box-shadow: var(--aris-shadow); overflow: hidden; }
.aris-card--standard:hover,
.aris-card--bordered:hover,
.aris-card--shadow:hover { box-shadow: var(--aris-shadow-hover); }
.aris-card--bordered:hover { border-color: var(--aris-primary); }
.aris-card--align-center { text-align: center; }

.aris-card__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--aris-radius-card);
	background: var(--aris-light-bg);
}
.aris-card--bordered .aris-card__media,
.aris-card--shadow .aris-card__media { border-radius: 0; }

.aris-card__link { display: block; }

.aris-card__img {
	width: 100%;
	aspect-ratio: var(--aris-card-ratio);
	object-fit: cover;
	transition: opacity .3s ease, transform .5s ease;
}

.aris-card__img--hover { position: absolute; inset: 0; opacity: 0; }
.aris-card:hover .aris-card__img--hover { opacity: 1; }
.aris-card:hover .aris-card__img { transform: scale(1.03); }

.aris-card__badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.aris-badge-tag {
	padding: 4px 9px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
}
.aris-badge-tag--sale { background: var(--aris-sale); }
.aris-badge-tag--new { background: var(--aris-success); }
.aris-badge-tag--out { background: var(--aris-muted); }

.aris-card__actions {
	position: absolute;
	top: 10px; right: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity .2s ease, transform .2s ease;
}
.aris-card:hover .aris-card__actions,
.aris-card:focus-within .aris-card__actions { opacity: 1; transform: none; }

.aris-card__action {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border: 1px solid var(--aris-border);
	border-radius: 50%;
	background: var(--aris-card-bg);
	color: var(--aris-heading);
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.aris-card__action:hover,
.aris-card__action.is-active { background: var(--aris-primary); border-color: var(--aris-primary); color: #fff; }

.aris-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 0 0; }
.aris-card--bordered .aris-card__body,
.aris-card--shadow .aris-card__body { padding: 14px; }
.aris-card--align-center .aris-card__body { align-items: center; }

.aris-card__brand { color: var(--aris-muted); font-size: 12px; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; }
.aris-card__title { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.45; }
.aris-card__title a { color: var(--aris-heading); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.aris-card__title a:hover { color: var(--aris-primary); }
.aris-card__sku { color: var(--aris-muted); font-size: 11px; }

.aris-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; color: var(--aris-heading); font-size: 16px; font-weight: 700; }
.aris-card__price del { color: var(--aris-muted); font-size: 13px; font-weight: 400; }
.aris-card__price ins { text-decoration: none; }
.aris-card__discount { color: var(--aris-success); font-size: 12px; font-weight: 600; }

.aris-card__stock { font-size: 12px; color: var(--aris-success); }
.aris-card__stock--outofstock { color: var(--aris-sale); }

.aris-card__cart { margin-top: 8px; }
.aris-card__cart--button .aris-btn,
.aris-card__cart--button .button { width: 100%; }
.aris-card__cart--hover { opacity: 0; transition: opacity .2s ease; }
.aris-card:hover .aris-card__cart--hover { opacity: 1; }
.aris-card__cart--icon .aris-btn { padding-inline: 12px; }

@media (hover: none) {
	.aris-card__actions,
	.aris-card__cart--hover { opacity: 1; transform: none; }
}

/* --------------------------------------------------------- Masonry blog */

/*
 * CSS columns give a true staggered masonry without a layout script, at the
 * cost of column-first ordering. That trade is right for an inspiration feed.
 */
.aris-posts--masonry {
	display: block;
	column-count: var(--aris-blog-columns, 3);
	column-gap: 28px;
}
.aris-posts--masonry .aris-post-card {
	display: inline-block;
	width: 100%;
	margin-bottom: 28px;
	break-inside: avoid;
}
.aris-posts--masonry .aris-post-card__image { aspect-ratio: auto; }

@media (max-width: 1199px) {
	.aris-posts--masonry { column-count: var(--aris-blog-columns, 2); }
}

@media (max-width: 767px) {
	.aris-posts--masonry { column-count: 1; }
}

/* ---------------------------------------------------- Placeholder preview */

/*
 * Placeholder bands look exactly like the real thing so the layout can be
 * judged honestly. Only the flag above them marks them as a preview.
 */
.aris-placeholder-flag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: -14px 0 20px;
	padding: 5px 12px;
	border: 1px dashed var(--aris-primary);
	border-radius: 999px;
	color: var(--aris-primary);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.aris-section--placeholder .aris-cat > span,
.aris-section--placeholder .aris-room > span,
.aris-section--placeholder .aris-style > span,
.aris-section--placeholder .aris-inspiration__item > span,
.aris-card--placeholder .aris-card__link,
.aris-card--placeholder .aris-card__title span,
.aris-card--placeholder .aris-card__cart .aris-btn,
.aris-post-card--placeholder .aris-post-card__more { cursor: default; }

.aris-card--placeholder .aris-card__title span,
.aris-post-card--placeholder .aris-post-card__title span { color: var(--aris-heading); }

/* -------------------------------------------------------- Block widgets */

/*
 * Core block widgets (archives, categories, search, latest posts) bring their
 * own markup, so the theme has to meet it rather than the other way round.
 */
.aris-widget .wp-block-archives,
.aris-widget .wp-block-categories,
.aris-widget .wp-block-latest-posts,
.aris-widget .wp-block-page-list,
.aris-widget .wp-block-latest-comments {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aris-widget .wp-block-latest-posts__post-title { color: var(--aris-heading); font-weight: 500; }
.aris-widget .wp-block-latest-posts__post-date { display: block; color: var(--aris-muted); font-size: 12px; }

.aris-widget .wp-block-search__inside-wrapper {
	border: 1px solid var(--aris-border);
	border-radius: var(--aris-radius-input);
	overflow: hidden;
	background: var(--aris-card-bg);
}
.aris-widget .wp-block-search__input { border: 0; border-radius: 0; }
.aris-widget .wp-block-search__input:focus { box-shadow: none; }
.aris-widget .wp-block-search__button {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--aris-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding-inline: 16px;
	cursor: pointer;
}
.aris-widget .wp-block-search__button:hover { background: var(--aris-primary-hover); }

.aris-widget select { font-size: 13px; }
.aris-widget p:last-child { margin-bottom: 0; }

/* Footer widgets follow the footer palette. */
.aris-footer .aris-widget > h1,
.aris-footer .aris-widget > h2,
.aris-footer .aris-widget > h3,
.aris-footer .aris-widget > h4,
.aris-footer .aris-widget > .wp-block-heading,
.aris-footer .aris-widget__title { color: var(--aris-footer-heading); }
