/**
 * PlantPorium — the styling theme.json can't express on its own.
 *
 * Everything colour-related comes from the theme.json palette, so changing a
 * colour there changes it here too.
 */

:root {
	--ppt-radius: 18px;
	--ppt-radius-sm: 12px;
	--ppt-shadow: 0 2px 12px rgba(20, 55, 42, .06);
	--ppt-shadow-lg: 0 10px 30px rgba(20, 55, 42, .10);
}

/**
 * Hand the theme palette to the four PlantPorium plugins, so the database,
 * shop, member area and forum inherit the site's colours instead of their own
 * defaults. Doubling :root lifts the specificity above the plugins' own rules.
 */
:root:root {
	--pp-green-900: var(--wp--preset--color--primary-dark);
	--pp-green-700: var(--wp--preset--color--primary);
	--pp-green-500: var(--wp--preset--color--secondary);
	--pp-green-200: var(--wp--preset--color--sage);
	--pp-green-50: var(--wp--preset--color--mint);
	--pp-cream: var(--wp--preset--color--base);
	--pp-ink: var(--wp--preset--color--contrast);
	--pp-muted: var(--wp--preset--color--muted);
	--pp-line: var(--wp--preset--color--line);

	--pps-green-900: var(--wp--preset--color--primary-dark);
	--pps-green-700: var(--wp--preset--color--primary);
	--pps-green-500: var(--wp--preset--color--secondary);
	--pps-green-200: var(--wp--preset--color--sage);
	--pps-green-50: var(--wp--preset--color--mint);
	--pps-cream: var(--wp--preset--color--base);
	--pps-ink: var(--wp--preset--color--contrast);
	--pps-muted: var(--wp--preset--color--muted);
	--pps-line: var(--wp--preset--color--line);
	--pps-pink: var(--wp--preset--color--pink);
	--pps-pink-ink: var(--wp--preset--color--pink-ink);

	--ppm-green-900: var(--wp--preset--color--primary-dark);
	--ppm-green-700: var(--wp--preset--color--primary);
	--ppm-green-500: var(--wp--preset--color--secondary);
	--ppm-green-200: var(--wp--preset--color--sage);
	--ppm-green-50: var(--wp--preset--color--mint);
	--ppm-cream: var(--wp--preset--color--base);
	--ppm-ink: var(--wp--preset--color--contrast);
	--ppm-muted: var(--wp--preset--color--muted);
	--ppm-line: var(--wp--preset--color--line);
	--ppm-pink: var(--wp--preset--color--pink);
	--ppm-pink-ink: var(--wp--preset--color--pink-ink);
	--ppm-pink-soft: var(--wp--preset--color--blush);

	--ppf-green-900: var(--wp--preset--color--primary-dark);
	--ppf-green-700: var(--wp--preset--color--primary);
	--ppf-green-500: var(--wp--preset--color--secondary);
	--ppf-green-200: var(--wp--preset--color--sage);
	--ppf-green-50: var(--wp--preset--color--mint);
	--ppf-cream: var(--wp--preset--color--base);
	--ppf-ink: var(--wp--preset--color--contrast);
	--ppf-muted: var(--wp--preset--color--muted);
	--ppf-line: var(--wp--preset--color--line);
	--ppf-pink: var(--wp--preset--color--pink);
	--ppf-pink-ink: var(--wp--preset--color--pink-ink);
}

body {
	-webkit-font-smoothing: antialiased;
}

.ppt-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.ppt-icon--big {
	width: 38px;
	height: 38px;
}

.ppt-icon--petal {
	color: var(--wp--preset--color--pink-ink);
}

.ppt-small {
	font-size: .84rem;
	color: var(--wp--preset--color--muted);
}

.ppt-eyebrow {
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	margin: 0 0 4px;
}

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

.ppt-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: sticky;
	top: 0;
	z-index: 30;
}

.admin-bar .ppt-header {
	top: 32px;
}

.ppt-header-inner {
	gap: 20px;
	min-height: 96px;
}

.ppt-brand {
	gap: 12px;
	align-items: center;
}

/* The logo carries the brand on its own — no site title or tagline beside it. */
.ppt-brand .wp-block-site-logo {
	margin: 0;
}

.ppt-brand .wp-block-site-logo img {
	max-height: 104px;
	width: auto;
}

.ppt-nav a {
	text-decoration: none;
}

.ppt-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
}

.ppt-nav .ppt-nav-greenhouse .wp-block-navigation-item__content,
.ppt-nav .wp-block-navigation-item.ppt-nav-greenhouse > a {
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

.ppt-nav .wp-block-navigation__submenu-container {
	border-radius: var(--ppt-radius-sm);
	border-color: var(--wp--preset--color--line);
	box-shadow: var(--ppt-shadow-lg);
	padding: 6px;
	min-width: 230px;
}

.ppt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 12px;
	border-radius: 8px;
}

.ppt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--mint);
}

/* The member cluster on the right of the header. */

.ppt-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ppt-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	background: var(--wp--preset--color--white);
}

.ppt-action:hover {
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
}

.ppt-petalia {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 16px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
	text-decoration: none;
	color: var(--wp--preset--color--primary-dark);
	box-shadow: var(--ppt-shadow);
}

.ppt-petalia span {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.ppt-petalia strong {
	font-size: .78rem;
	font-weight: 600;
}

.ppt-petalia em {
	font-style: normal;
	font-size: .95rem;
	font-weight: 700;
}

.ppt-avatar img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.ppt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: .92rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.2;
}

.ppt-btn--primary {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.ppt-btn--primary:hover {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
}

.ppt-btn--pink {
	background: var(--wp--preset--color--pink);
	color: var(--wp--preset--color--pink-ink);
}

.ppt-btn--quiet {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary);
}

.ppt-btn--block {
	width: 100%;
}

.ppt-btn--small {
	padding: 7px 15px;
	font-size: .84rem;
}

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

.ppt-hero {
	border-radius: var(--ppt-radius);
	border: 1px solid var(--wp--preset--color--line);
	overflow: hidden;
}

.ppt-hero-title {
	margin-bottom: .3rem;
}

.ppt-hero-sub {
	color: var(--wp--preset--color--muted);
	max-width: 34ch;
}

.ppt-hero-buttons {
	margin-top: 1.4rem;
}

.ppt-hero-points {
	margin-top: 1.6rem;
	gap: 10px 22px;
}

.ppt-hero-points p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--wp--preset--color--primary);
}

.ppt-hero-points p::before {
	content: "";
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: var(--ppt-shadow);
	flex: 0 0 auto;
}

/* ----------------------------------------------------- Greenhouse card --- */

.ppt-greenhouse {
	padding: 22px;
	border-radius: var(--ppt-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--ppt-shadow-lg);
}

.ppt-greenhouse-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ppt-greenhouse-head h3 {
	margin: 0;
	font-size: 1.15rem;
}

.ppt-greenhouse-go {
	display: inline-flex;
	color: var(--wp--preset--color--muted);
}

.ppt-greenhouse-member {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
}

.ppt-greenhouse-member img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.ppt-greenhouse-member strong {
	display: block;
	color: var(--wp--preset--color--primary-dark);
}

.ppt-greenhouse-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 16px;
	text-align: center;
}

.ppt-greenhouse-stats > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.ppt-greenhouse-stats .ppt-icon {
	color: var(--wp--preset--color--secondary);
}

.ppt-greenhouse-stats strong {
	font-size: 1.1rem;
	color: var(--wp--preset--color--primary-dark);
}

.ppt-greenhouse-stats span {
	font-size: .74rem;
	color: var(--wp--preset--color--muted);
}

.ppt-greenhouse--out {
	text-align: center;
}

.ppt-greenhouse--out h3 {
	margin-top: 0;
}

.ppt-greenhouse--out p {
	color: var(--wp--preset--color--muted);
	font-size: .9rem;
}

/* --------------------------------------------------------- Home panels --- */

.ppt-today-columns {
	gap: 20px;
}

.ppt-panel-title {
	margin-top: 0;
	margin-bottom: 1rem;
}

.ppt-daily {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 12px;
	border-radius: var(--ppt-radius-sm);
	background: var(--wp--preset--color--mint);
	margin-bottom: 12px;
}

.ppt-daily-media {
	width: 92px;
	height: 78px;
	flex: 0 0 auto;
	border-radius: 10px;
	overflow: hidden;
	background: var(--wp--preset--color--sage);
}

.ppt-daily-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ppt-daily-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--wp--preset--color--white);
}

.ppt-daily-body h3 {
	margin: 2px 0 8px;
	font-size: 1.05rem;
}

.ppt-daily-body h3 a {
	text-decoration: none;
	color: var(--wp--preset--color--primary-dark);
}

.ppt-mini {
	padding: 14px;
	border-radius: var(--ppt-radius-sm);
	background: var(--wp--preset--color--sand);
	margin-bottom: 12px;
}

.ppt-mini h3 {
	margin: 0 0 4px;
}

.ppt-mini p {
	margin: 0;
}

.ppt-mini--soon {
	position: relative;
}

.ppt-discussions {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ppt-discussions li {
	padding: 10px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ppt-discussions li:last-child {
	border-bottom: 0;
}

.ppt-discussions a {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ppt-discussion-title {
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
}

/* ------------------------------------------------------------- Promos --- */

.ppt-promos {
	gap: 20px;
}

.ppt-promo {
	padding: 26px;
	border-radius: var(--ppt-radius);
}

.ppt-promo h2 {
	margin-top: 0;
}

.ppt-promo p {
	color: var(--wp--preset--color--muted);
}

/* -------------------------------------------------- Cards and sections --- */

.is-style-card,
.ppt-card {
	padding: 22px;
	border-radius: var(--ppt-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--ppt-shadow);
}

.ppt-card {
	padding: 0;
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease;
}

.ppt-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--ppt-shadow-lg);
}

.ppt-card > * {
	padding-left: 16px;
	padding-right: 16px;
}

.ppt-card > .wp-block-post-featured-image {
	padding: 0;
	margin-bottom: 14px;
}

.ppt-card > :last-child {
	padding-bottom: 18px;
}

.ppt-card .wp-block-post-title a {
	text-decoration: none;
}

.is-style-panel {
	padding: 26px;
	border-radius: var(--ppt-radius);
	background: var(--wp--preset--color--mint);
}

.ppt-section-head {
	align-items: baseline;
	margin-bottom: 1.2rem;
}

.ppt-section-head h2 {
	margin: 0;
}

.ppt-post-grid {
	gap: 20px;
}

.ppt-page-hero {
	margin-bottom: var(--wp--preset--spacing--40);
}

.ppt-article-head {
	margin-bottom: var(--wp--preset--spacing--40);
}

.ppt-byline {
	gap: 12px;
	align-items: center;
	color: var(--wp--preset--color--muted);
}

.ppt-article-foot {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--line);
}

.ppt-comment {
	padding: 16px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ppt-result {
	padding: 18px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ppt-pagination {
	margin-top: var(--wp--preset--spacing--50);
	gap: 6px;
}

.ppt-404 {
	text-align: center;
}

/* -------------------------------------------------------- Block styles --- */

.wp-block-button.is-style-pink .wp-block-button__link {
	background: var(--wp--preset--color--pink);
	color: var(--wp--preset--color--pink-ink);
}

.wp-block-button.is-style-pink .wp-block-button__link:hover {
	background: #efbdd3;
	color: var(--wp--preset--color--pink-ink);
}

.wp-block-button.is-style-quiet .wp-block-button__link {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-quiet .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--secondary);
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--primary-dark);
}

.wp-block-image.is-style-rounded-card img,
.wp-block-post-featured-image.is-style-rounded-card img {
	border-radius: var(--ppt-radius-sm);
	object-fit: cover;
}

.is-style-accent {
	font-family: var(--wp--preset--font-family--accent);
	font-size: 1.6rem;
	line-height: 1.25;
	color: var(--wp--preset--color--primary);
}

.ppt-search .wp-block-search__inside-wrapper {
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
	padding: 4px 4px 4px 16px;
}

.ppt-search .wp-block-search__input {
	border: 0;
	background: transparent;
}

.ppt-search .wp-block-search__button {
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	border: 0;
	padding: 10px 20px;
}

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

.ppt-footer-columns {
	gap: 30px;
}

.ppt-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .9rem;
}

.ppt-footer-list li {
	padding: 5px 0;
}

.ppt-footer-list a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.ppt-footer-list a:hover {
	color: var(--wp--preset--color--primary);
}

.ppt-footer-motto {
	color: var(--wp--preset--color--muted);
	margin-top: .4rem;
}

/* ------------------------------------------------ Pages from the plugins --- */

/* The plugins render their own full-width layouts, so give them room. */
.ppt-plugin-main {
	width: 100%;
}

.ppt-app-page .ppt-plugin-main {
	background: var(--wp--preset--color--base);
	padding-bottom: var(--wp--preset--spacing--60);
}

/* The member area and forum already centre themselves; keep page padding
   from doubling up. */
.ppt-wide-page .ppm-area,
.ppt-wide-page .ppf-forum,
.ppt-wide-page .pps-shop {
	padding-left: 0;
	padding-right: 0;
}

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

@media (max-width: 900px) {

	.ppt-header {
		position: static;
	}

	.ppt-header-inner {
		gap: 12px;
	}

	.ppt-hero-sub {
		max-width: none;
	}
}

@media (max-width: 600px) {

	.ppt-brand .wp-block-site-logo img {
		max-height: 62px;
	}

	.ppt-petalia em {
		font-size: .85rem;
	}

	.ppt-greenhouse {
		padding: 18px;
	}

	.ppt-daily-media {
		width: 74px;
		height: 66px;
	}
}
