/*
Theme Name: Small Memories
Theme URI: https://www.smallmemorieswinery.com
Author: Small Memories Winery & Meadery
Description: Custom block theme for Small Memories Winery & Meadery in Ottawa, Illinois. Edit every word and photo in Appearance → Editor.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.5.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: small-memories
*/

/* ---------- Basics ---------- */
:root {
	--sm-bone: #F3EEE6;
	--sm-sand: #E9E2D5;
	--sm-olive: #2F3A2A;
	--sm-olive-line: #4B5843;
	--sm-butter: #EBD28C;
	--sm-rust: #A04626;
	--sm-sage: #C9D0BC;
	--sm-ink: #1E1E1A;
	--sm-stone: #45453E;
	--sm-mist: #C8CCBE;
	--sm-muted: #A9A89C;
}

body { margin: 0; }

h1 em, h2 em { font-style: italic; color: var(--sm-rust); }
.sm-dark h2 em, .sm-visit h2 em { color: var(--sm-butter); }

.sm-eyebrow {
	font-size: 0.8125rem !important;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--sm-rust);
	margin: 0;
}
.sm-dark .sm-eyebrow, .sm-visit .sm-eyebrow { color: var(--sm-butter); }

.sm-lede { font-size: 1.1875rem; color: var(--sm-stone); max-width: 540px; }

.sm-section { padding-top: 88px !important; padding-bottom: 88px !important; }
@media (max-width: 700px) {
	.sm-section { padding-top: 60px !important; padding-bottom: 60px !important; }
}

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--sm-ink);
	border: 1.5px solid var(--sm-ink);
	padding: 14px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--sm-ink);
	color: var(--sm-bone);
}
.sm-btn-rust > .wp-block-button__link { background: var(--sm-rust); color: #fff; }
.sm-btn-rust > .wp-block-button__link:hover { background: var(--sm-ink); }
.sm-btn-butter > .wp-block-button__link { background: var(--sm-butter); color: var(--sm-ink); }
.sm-btn-butter > .wp-block-button__link:hover { background: var(--sm-bone); color: var(--sm-ink); }

/* ---------- Header ---------- */
.sm-topbar {
	background: var(--sm-olive);
	color: var(--sm-bone);
	font-size: 0.875rem;
	padding-top: 10px;
	padding-bottom: 10px;
}
.sm-topbar p { margin: 0; }
.sm-topbar a { color: var(--sm-butter); text-decoration: none; }
.sm-topbar a:hover { color: #fff; }

.sm-header {
	border-bottom: 1px solid #DDD3C2;
	padding-top: 18px;
	padding-bottom: 18px;
}
.sm-logo { margin: 0; line-height: 1; }
.sm-logo a {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2rem;
	color: var(--sm-ink);
	text-decoration: none;
}
.sm-logo-sub {
	margin: 4px 0 0 !important;
	font-size: 0.6875rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--sm-rust);
	font-weight: 600;
}
.sm-header .wp-block-navigation { font-weight: 500; gap: 6px 26px; }
.sm-header .wp-block-navigation a { color: var(--sm-ink); text-decoration: none; }
.sm-header .wp-block-navigation a:hover { color: var(--sm-rust); }
.sm-header .wp-block-button__link { padding: 12px 22px; }

/* ---------- Hero ---------- */
.sm-hero { padding-top: 64px !important; padding-bottom: 72px !important; }
.sm-hero h1 { margin: 0; letter-spacing: -0.01em; line-height: 0.98; }
.sm-hero .wp-block-columns { gap: 56px; align-items: center; }

.sm-chips { gap: 10px !important; }
.sm-chips p {
	margin: 0;
	background: #E4DCCD;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 500;
}
.sm-chips p:first-child { background: var(--sm-butter); }

.sm-photos { gap: 16px !important; align-items: stretch !important; }
.sm-photos > .wp-block-cover:first-child { flex: 3 1 0; border-radius: 200px 200px 24px 24px; min-height: 520px; }
.sm-photos > .wp-block-group { flex: 2 1 0; display: flex; flex-direction: column; gap: 16px; }
.sm-photos > .wp-block-group > .wp-block-cover { flex: 1 1 0; border-radius: 24px; min-height: 252px; }
@media (max-width: 781px) {
	.sm-photos > .wp-block-cover:first-child { min-height: 380px; }
	.sm-photos > .wp-block-group > .wp-block-cover { min-height: 182px; }
}

.wp-block-cover.sm-photo { border-radius: 24px; overflow: hidden; }
.wp-block-cover .sm-photo-label { font-size: 0.875rem; color: var(--sm-stone); margin: 0; }

/* ---------- Dark "what to expect" ---------- */
.sm-dark { background: var(--sm-olive); color: var(--sm-bone); }
.sm-dark h2 { color: var(--sm-bone); margin: 0; max-width: 680px; }
.sm-dark .sm-muted { color: var(--sm-mist); }

.sm-cards { gap: 20px !important; align-items: stretch !important; }
.sm-cards > * { flex: 1 1 250px; margin: 0 !important; }

.sm-feature {
	border: 1px solid var(--sm-olive-line);
	border-radius: 20px;
	padding: 28px;
}
.sm-feature h3 { margin: 12px 0 8px; color: var(--sm-bone); }
.sm-feature p { margin: 0; color: var(--sm-mist); font-size: 0.9375rem; }
.sm-feature svg { display: block; }

/* ---------- Wine & mead menu ---------- */
.sm-menu-card {
	background: #fff;
	border-radius: 24px;
	padding: 28px;
}
.sm-menu-card h3 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 400;
	font-size: 2rem;
	margin: 0 0 12px;
}
.sm-menu-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	color: var(--sm-stone);
}
.sm-menu-card li { padding: 3px 0; }
.sm-menu-card--butter { background: var(--sm-butter); }
.sm-menu-card--butter ul { color: #2B2A22; }

/* ---------- Events + Facebook ---------- */
.sm-events { background: var(--sm-sand); }
.sm-events .wp-block-columns { gap: 28px; }
.sm-live {
	font-size: 0.8125rem;
	color: #5E5A50;
	margin: 0 0 12px;
}
.sm-live::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4E7A3A;
	margin-right: 8px;
	vertical-align: middle;
}
.sm-feed {
	background: #fff;
	border-radius: 20px;
	padding: 20px 24px;
	overflow: hidden;
}
.sm-performers {
	background: var(--sm-olive);
	color: var(--sm-bone);
	border-radius: 20px;
	padding: 22px 24px;
	margin-top: 12px !important;
}
.sm-performers p { margin: 0 0 6px; }
.sm-performers .sm-eyebrow { color: var(--sm-butter); }
.sm-performers a { color: var(--sm-butter); font-weight: 600; }

.sm-feed { text-align: center; min-height: 200px; }
.sm-feed .fb-page { max-width: 100%; }
.sm-feed .fb-page blockquote { margin: 60px 0; }
.sm-fb-fallback { text-align: center; padding: 28px 8px; color: var(--sm-stone); }
.sm-fb-fallback__link {
	display: inline-block;
	margin-top: 4px;
	padding: 12px 22px;
	border-radius: 999px;
	border: 1.5px solid var(--sm-ink);
	color: var(--sm-ink) !important;
	text-decoration: none;
	font-weight: 600;
}

/* ---------- Story ---------- */
.sm-story .wp-block-columns { gap: 56px; align-items: center; }
.sm-story .wp-block-cover { border-radius: 24px 24px 200px 200px; min-height: 440px; }
.sm-story p:not(.sm-eyebrow) { color: var(--sm-stone); }

/* ---------- Visit ---------- */
.sm-visit { background: var(--sm-ink); color: var(--sm-bone); }
.sm-visit h2 { color: var(--sm-bone); margin: 0 0 40px; max-width: 760px; }
.sm-visit .wp-block-columns { gap: 48px; }
.sm-visit p { margin: 0; }
.sm-visit a { color: var(--sm-bone); }
.sm-visit .sm-muted { color: var(--sm-muted); }
.sm-visit .sm-block { margin-bottom: 22px; }
.sm-rows p {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid #3A3A33;
}
.sm-rows p:last-child { border-bottom: 1px solid #3A3A33; }
.sm-rows .sm-dist { color: var(--sm-muted); }
.sm-map iframe {
	width: 100%;
	min-height: 320px;
	border: 0;
	border-radius: 24px;
	display: block;
}

/* ---------- Explore ---------- */
.sm-cards > .sm-place { flex-basis: 340px; }
.sm-place {
	border-top: 2px solid var(--sm-ink);
	padding-top: 18px;
}
.sm-place h3 { margin: 0 0 6px; }
.sm-place .sm-dist { color: var(--sm-rust); font-weight: 600; font-size: 0.875rem; margin: 0 0 6px; }
.sm-place p { margin: 0; color: var(--sm-stone); font-size: 0.9375rem; }

/* ---------- Follow-along CTA ---------- */
.sm-cta {
	background: var(--sm-butter);
	border-radius: 32px;
	padding: 48px !important;
	gap: 28px !important;
}
.sm-cta h2 { margin: 0; font-size: 2.75rem; }
.sm-cta p { margin: 0; color: #3B3520; }
@media (max-width: 700px) { .sm-cta { padding: 32px 24px !important; } }

/* ---------- Footer ---------- */
.sm-footer {
	background: var(--sm-olive);
	color: var(--sm-mist);
	font-size: 0.875rem;
	padding-top: 48px;
	padding-bottom: 48px;
}
.sm-footer p { margin: 0 0 4px; }
.sm-footer .sm-footer-name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.75rem;
	color: var(--sm-bone);
}
.sm-footer a { color: var(--sm-bone); }
.sm-footer .wp-block-social-links .wp-social-link { background: var(--sm-bone); color: var(--sm-olive); }

/* ---------- Plain pages / posts ---------- */
.sm-page { padding-top: 64px !important; padding-bottom: 88px !important; }

.sm-footer-links a { color: var(--sm-butter); text-decoration: none; }
.sm-footer-links a:hover { text-decoration: underline; }

/* ---------- Wine club box (hero) ---------- */
.sm-club {
	background: var(--sm-olive);
	color: var(--sm-bone);
	border-radius: 24px;
	padding: 26px 28px;
	margin-top: 20px !important;
}
.sm-club .sm-eyebrow { color: var(--sm-butter); }
.sm-club-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.75rem;
	line-height: 1.15;
	margin: 8px 0 18px !important;
}
.sm-club .wp-block-buttons { gap: 12px; }
.sm-btn-ghost > .wp-block-button__link {
	background: transparent;
	color: var(--sm-bone);
	border: 1.5px solid var(--sm-bone);
	padding: 14px 26px;
}
.sm-btn-ghost > .wp-block-button__link:hover { background: var(--sm-bone); color: var(--sm-olive); }

/* Header buttons */
.sm-header-btns { gap: 10px; }
@media (max-width: 600px) {
	.sm-header .sm-header-btns .wp-block-button__link { padding: 10px 16px; font-size: 0.875rem; }
}

@media (max-width: 600px) {
	.sm-hero { padding-top: 32px !important; }
	.sm-club { padding: 22px 20px; }
	.sm-club-title { font-size: 1.5rem; }
}
