/* Shambhavi theme. Colors come from Appearance > Editor > Styles > Colors,
   so changing the palette there recolors the whole site. */
:root {
	--shb-ink: var(--wp--preset--color--ink, #22262b);
	--shb-muted: #6b7078;
	--shb-accent: var(--wp--preset--color--accent, #c8553d);
	--shb-accent-dark: var(--wp--preset--color--accent-dark, #a8422d);
	--shb-sage: var(--wp--preset--color--sage, #5f7a6a);
	--shb-cream: var(--wp--preset--color--cream, #faf5ee);
	--shb-sand: var(--wp--preset--color--sand, #efe5d6);
	--shb-dark: var(--wp--preset--color--dark, #1f3a34);
	--shb-radius: 16px;
	--shb-heading-font: var(--wp--preset--font-family--heading, Georgia, serif);
}

.shb-section { padding: clamp(48px, 7vw, 96px) 24px; }
.shb-alt { background: var(--shb-cream); }

.shb-section h1, .shb-section h2, .shb-section h3, .shb-hero h1, .shb-hero h2 {
	font-family: var(--shb-heading-font);
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.shb-eyebrow, .shb-eyebrow a {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--shb-accent);
	text-decoration: none;
}
.shb-eyebrow { margin-bottom: 0.5rem; }

/* Header */
.shb-header { padding: 18px 24px; border-bottom: 1px solid var(--shb-sand); background: #fff; position: sticky; top: 0; z-index: 50; }
.shb-logo, .shb-logo a { font-family: var(--shb-heading-font); font-size: 1.6rem; font-weight: 700; text-decoration: none; color: var(--shb-ink); margin: 0; }
.shb-tagline { font-size: .78rem; color: var(--shb-muted); margin: 0; }
.shb-header .wp-block-navigation a { text-decoration: none; font-weight: 500; }

/* Footer */
.shb-footer { background: var(--shb-dark); color: #e9efe9; padding: 64px 24px 28px; }
.shb-footer h4 { color: #fff; font-family: var(--shb-heading-font); }
.shb-footer a { color: #f2c9a0; text-decoration: none; }
.shb-footer a:hover { color: #fff; }
.shb-footer .shb-copy { border-top: 1px solid rgba(255,255,255,.15); padding-top: 20px; margin-top: 40px; font-size: .85rem; text-align: center; }

/* Hero */
.shb-hero { color: #fff; padding: clamp(48px, 8vw, 110px) 24px; }
.shb-hero .shb-eyebrow { color: #f2c9a0; }
.shb-hero-title { font-size: clamp(2.4rem, 6vw, 4.6rem); max-width: 14ch; }
.shb-hero p { max-width: 56ch; font-size: 1.1rem; }

/* Buttons */
.wp-block-button__link { transition: transform .2s, background .2s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--shb-accent-dark); transform: translateY(-2px); }
.shb-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; background: transparent; }

/* Cards and tiles */
.shb-card { background: #fff; border: 1px solid var(--shb-sand); border-radius: var(--shb-radius); padding: 28px; height: 100%; transition: transform .25s, box-shadow .25s; }
.shb-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(31, 58, 52, .10); }

.shb-tile { position: relative; background: var(--shb-sand); border-radius: var(--shb-radius); padding: 36px 24px; text-align: center; transition: background .25s, transform .25s; }
.shb-tile:hover { background: var(--shb-sage); transform: translateY(-4px); }
.shb-tile:hover, .shb-tile:hover a, .shb-tile:hover p { color: #fff; }
.shb-tile h3 { margin: 0 0 .25rem; }
.shb-tile a { text-decoration: none; color: var(--shb-ink); }
.shb-tile a::after { content: ""; position: absolute; inset: 0; }

/* Post grid */
.shb-posts .wp-block-post-featured-image img { border-radius: var(--shb-radius); }
.shb-posts .wp-block-post-title a { text-decoration: none; color: var(--shb-ink); }
.shb-posts .wp-block-post-title a:hover { color: var(--shb-accent); }
.shb-posts .wp-block-post-terms a { color: var(--shb-accent); text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 700; text-decoration: none; }
.shb-posts .wp-block-post-date { color: var(--shb-muted); font-size: .85rem; }

/* Dark call-to-action band */
.shb-cta { background: var(--shb-dark); color: #fff; text-align: center; }
.shb-cta .shb-eyebrow { color: #f2c9a0; }
.shb-cta h2 { color: #fff; }

.shb-portrait img, .shb-product img { border-radius: var(--shb-radius); width: 100%; height: auto; }

/* FAQ */
.wp-block-details { background: #fff; border: 1px solid var(--shb-sand); border-radius: 12px; padding: 16px 20px; margin-bottom: 12px; }
.wp-block-details summary { font-weight: 600; cursor: pointer; }

.shb-social { justify-content: center; }
.shb-disclosure { font-size: .82rem; color: var(--shb-muted); border-left: 3px solid var(--shb-accent); padding-left: 14px; }

/* Single post */
.shb-single .wp-block-post-featured-image img { border-radius: var(--shb-radius); }
.shb-meta { color: var(--shb-muted); font-size: .9rem; }
