/*
Theme Name: Sips & Stogies Magazine
Theme URI: https://sipsandstogies.com
Author: Cast Shadow Design, Inc.
Description: Editorial block theme for Sips & Stogies — a magazine of cigars, spirits, and the pairing between them.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sips-stogies
*/

/* Most styling lives in theme.json. This file holds what theme.json can't express. */

/* ---------- Masthead ---------- */
.ss-topbar {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ss-topbar a { text-decoration: none; }
/* Keep the top-bar menu and WooCommerce's account + cart icons together on the right. */
.ss-topbar .alignwide > .wp-block-navigation { margin-left: auto; }
.ss-topbar a:hover { color: var(--wp--preset--color--ember); }

.ss-masthead .wp-block-site-title a { text-decoration: none; }
.ss-masthead .wp-block-site-title {
	letter-spacing: -0.01em;
	line-height: 1;
}

.ss-primary-nav {
	border-top: 1px solid var(--wp--preset--color--rule);
	border-bottom: 3px double var(--wp--preset--color--rule);
}
.ss-primary-nav .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.ss-primary-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--rule) !important;
	min-width: 15rem !important;
}
.ss-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	letter-spacing: 0.04em;
	text-transform: none;
	font-weight: 500;
	padding: 0.5rem 1rem;
}

/* ---------- Section headings ("The Latest", "The Humidor" …) ---------- */
.ss-section-head {
	border-top: 3px solid var(--wp--preset--color--tobacco);
	padding-top: 0.75rem;
}
.ss-section-head .wp-block-heading { margin: 0; }
.ss-section-head a {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.ss-section-head a:hover { color: var(--wp--preset--color--ember); }

/* ---------- Kicker (category label) ---------- */
.ss-kicker,
.ss-kicker a {
	color: var(--wp--preset--color--ember);
	font-family: var(--wp--preset--font-family--ui);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
}
.ss-kicker .wp-block-post-terms__separator { color: var(--wp--preset--color--muted); }

/* ---------- Cards ---------- */
.ss-card .wp-block-post-featured-image { margin-bottom: 0.9rem; overflow: hidden; }
.ss-card .wp-block-post-featured-image img { transition: transform 0.4s ease; }
.ss-card:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.ss-card .wp-block-post-title a { text-decoration: none; }
.ss-card .wp-block-post-title a:hover { color: var(--wp--preset--color--ember); }
.ss-card .wp-block-post-excerpt__excerpt { margin: 0; }
.ss-byline { color: var(--wp--preset--color--muted); }
.ss-byline > * { margin: 0; }

/* Featured image placeholder when a post has no image (see sips_stogies_image_placeholder) */
.ss-placeholder { background: linear-gradient(135deg, var(--wp--preset--color--cedar), var(--wp--preset--color--tobacco)); }
.ss-placeholder a {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--wp--preset--color--brass);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.2rem, 3vw, 2.4rem);
	font-weight: 700;
	text-decoration: none;
	opacity: 0.7;
}

/* List-style cards (compact rows) */
.ss-list .wp-block-post { border-bottom: 1px solid var(--wp--preset--color--rule); padding-bottom: 1rem; }
.ss-list .wp-block-post:last-child { border-bottom: 0; }

/* ---------- Header search ---------- */
.ss-primary-nav .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--tobacco);
	padding: 0.4rem;
}
.ss-primary-nav .wp-block-search__button:hover { color: var(--wp--preset--color--ember); }

/* ---------- Dark bands (newsletter, membership) ---------- */
.ss-band-dark .ss-kicker,
.ss-band-dark .ss-kicker a { color: var(--wp--preset--color--brass); }
.ss-band-dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--brass); }
.ss-band-dark .ss-card .wp-block-post-title a:hover { color: var(--wp--preset--color--brass); }

/* ---------- Membership tiers ---------- */
.ss-tier { border: 1px solid rgba(243, 236, 224, 0.25); height: 100%; }
.ss-tier.is-featured { border-color: var(--wp--preset--color--brass); }

/* ---------- Single article ---------- */
.ss-article-dek { color: var(--wp--preset--color--muted); }
.ss-article-content > p:first-of-type::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--display);
	font-size: 4.2em;
	line-height: 0.85;
	padding: 0.08em 0.1em 0 0;
	color: var(--wp--preset--color--ember);
}
.ss-author-box { border-top: 1px solid var(--wp--preset--color--rule); border-bottom: 1px solid var(--wp--preset--color--rule); }

/* ---------- Scorecards (review patterns) ---------- */
.ss-scorecard { border: 1px solid var(--wp--preset--color--rule); }
.ss-scorecard table { border-collapse: collapse; width: 100%; }
.ss-scorecard td, .ss-scorecard th {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--rule);
	padding: 0.5rem 0;
	text-align: left;
	vertical-align: top;
}
.ss-scorecard tr:last-child td { border-bottom: 0; }
.ss-scorecard td:first-child {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	width: 40%;
}
.ss-score {
	font-family: var(--wp--preset--font-family--display);
	line-height: 1;
}

/* ---------- Lead + row cards ---------- */
.ss-card--lead { margin: 0; }
.ss-card--lead .wp-block-post-featured-image { margin-bottom: 0; }
.ss-card--row { width: 100%; }
/* Fixed share of the row: a percentage width alone lets large images stretch the flex row. */
.ss-card--row .wp-block-post-featured-image { flex: 0 0 34%; width: 34% !important; max-width: 34%; margin-bottom: 0; }
.ss-card--row .wp-block-post-featured-image img { width: 100% !important; height: auto; object-fit: cover; }
.ss-card--row > .wp-block-group { flex: 1 1 auto; min-width: 0; }
.ss-card--row .ss-placeholder a { font-size: 1rem; }
.ss-card--row .wp-block-post-title { margin: 0; }
.ss-list .wp-block-post-template { gap: 1rem; }
.ss-section-head p { margin: 0; }
.ss-section-head + p { margin-top: 0.5rem; }
.ss-cover-aside .ss-list .wp-block-post-excerpt { display: none; }

/* ---------- Archives ---------- */
.ss-archive-head { text-align: center; }
/* Page one of an archive: the newest story spans the full row, image beside text. */
body:not(.paged) .ss-archive-grid .wp-block-post:first-child { grid-column: 1 / -1; }
body:not(.paged) .ss-archive-grid .wp-block-post:first-child .ss-card {
	display: grid;
	grid-template-columns: 3fr 2fr;
	grid-auto-rows: min-content;
	column-gap: 2.5rem;
	align-content: center;
}
body:not(.paged) .ss-archive-grid .wp-block-post:first-child .ss-card > * { grid-column: 2; margin: 0 0 0.6rem; }
body:not(.paged) .ss-archive-grid .wp-block-post:first-child .ss-card > .wp-block-post-featured-image { grid-column: 1; grid-row: 1 / span 4; margin: 0; }
body:not(.paged) .ss-archive-grid .wp-block-post:first-child .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large) !important; }

.ss-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1rem; }
.ss-chips a {
	border: 1px solid var(--wp--preset--color--rule);
	font-family: var(--wp--preset--font-family--ui);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.4rem 0.9rem;
	text-decoration: none;
	text-transform: uppercase;
}
.ss-chips a:hover,
.ss-chips a[aria-current] { background: var(--wp--preset--color--tobacco); border-color: var(--wp--preset--color--tobacco); color: var(--wp--preset--color--paper); }

.ss-sticky { position: sticky; top: 2rem; }

/* ---------- Footer ---------- */
.ss-footer-muted { color: #cfc3b3; }
.ss-footer-heading { letter-spacing: 0.14em; text-transform: uppercase; }
.ss-footer-rule { border-color: #4a3a2e !important; opacity: 1; margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30); }
.ss-band-dark .wp-block-navigation a { text-decoration: none; }
.ss-band-dark .wp-block-navigation a:hover { color: var(--wp--preset--color--brass); }

/* ---------- Whiskey Scene feed ---------- */
.ss-rss { padding: 0; }
.ss-rss .wp-block-rss__item-title a {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.3;
	font-weight: 700;
	text-decoration: none;
}
.ss-rss .wp-block-rss__item-publish-date {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--ui);
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
}
.ss-rss .wp-block-rss__item-excerpt { font-size: var(--wp--preset--font-size--small); }

@media (max-width: 781px) {
	.ss-masthead .wp-block-site-title { font-size: 2.6rem !important; }
	.ss-section-head { flex-wrap: wrap; }
	.ss-sticky { position: static; }
	body:not(.paged) .ss-archive-grid .wp-block-post:first-child .ss-card { display: block; }
}
