/*
Theme Name:   karacooks
Theme URI:    https://karacooks.com
Description:  Custom child theme for karacooks.com. Built on Kadence. Implements the
              karacooks brand identity: Cinzel display, Jost body, forest/burgundy/gold
              palette on cream, hand-drawn pepper mark.
Author:       Kara
Author URI:   https://karacooks.com
Template:     kadence
Version:      1.0.3
Text Domain:  karacooks
*/

/* ════════════════════════════════════════════════════════════════════
   BRAND TOKENS
   These match the brand identity HTML. Update colors here and
   everything cascades.
   ════════════════════════════════════════════════════════════════════ */

:root {
  --kc-forest:   #1B4332;
  --kc-burgundy: #6B2D3E;
  --kc-gold:     #B8860B;
  --kc-cream:    #FAF6EC;
  --kc-teal:     #0D3D4A;

  --kc-font-display: 'Cinzel', Georgia, serif;
  --kc-font-body:    'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ════════════════════════════════════════════════════════════════════
   TYPOGRAPHY
   ════════════════════════════════════════════════════════════════════ */

body,
.entry-content {
  font-family: var(--kc-font-body);
  font-weight: 400;
  color: var(--kc-forest);
}

h1, h2, h3, h4,
.entry-title,
.site-title {
  font-family: var(--kc-font-display);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--kc-forest);
}

/* H1: post titles, page titles */
.entry-title {
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.2;
}

/* In-body headings should NOT be all caps — that's for display/structural */
.entry-content h2,
.entry-content h3 {
  text-transform: none;
  letter-spacing: 0.02em;
}

.entry-content h2 { font-size: 1.8rem; }
.entry-content h3 { font-size: 1.4rem; }

/* Body copy — locked May 2026 spec */
.entry-content p,
.entry-content li {
  font-family: var(--kc-font-body);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--kc-forest);
}

/* Links */
a {
  color: var(--kc-burgundy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
a:hover {
  color: var(--kc-forest);
}

/* ════════════════════════════════════════════════════════════════════
   SITE HEADER
   The big stacked logo treatment from the brand identity.
   ════════════════════════════════════════════════════════════════════ */

body { background: var(--kc-cream); }

.site-header {
  background: var(--kc-cream);
  padding-bottom: 32px;
}

/* Space between the header and whatever comes first in the post
   (hero image, featured image, title, etc). */
.entry-content,
.entry-header {
  margin-top: 32px;
}

/* Featured image / post thumbnail. Kadence renders this in its own
   wrapper outside .entry-content, so the in-post image spacing rules
   don't reach it. Give it the same vertical breathing room. */
.post-thumbnail,
.entry-featured-image,
.entry-header-featured-image,
.wp-post-image,
.kadence-featured-image {
  margin-bottom: 40px;
}

/* If you're using Kadence's header builder, place the pepper mark image
   in a media element and the wordmark in the site title slot. The CSS
   below assumes default Kadence header structure but you'll likely
   override most of it via Kadence's customizer. */

.site-branding .site-title a {
  font-family: var(--kc-font-display);
  font-weight: 500;
  font-size: 2.5rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--kc-forest);
  text-decoration: none;
}

.site-description {
  font-family: var(--kc-font-body);
  font-weight: 300;
  font-size: 0.7rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--kc-burgundy);
  margin-top: 8px;
}

/* ════════════════════════════════════════════════════════════════════
   PRIMARY NAVIGATION
   Small caps, tracked, restrained. Mirrors header.html exactly.
   ════════════════════════════════════════════════════════════════════ */

.main-navigation .menu > li > a,
.site-header-item .menu-item > a {
  font-family: var(--kc-font-body);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--kc-forest);
  text-decoration: none;
}

.main-navigation .menu > li > a:hover {
  color: var(--kc-burgundy);
}

/* Dropdowns */
.sub-menu {
  background: var(--kc-cream);
  border: 1px solid rgba(27, 67, 50, 0.15);
  box-shadow: 0 12px 32px rgba(27, 67, 50, 0.08);
}

.sub-menu li a {
  font-family: var(--kc-font-body);
  font-size: 0.625rem;
  font-weight: 300;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--kc-forest);
}

.sub-menu li a:hover {
  color: var(--kc-burgundy);
}

/* ════════════════════════════════════════════════════════════════════
   POST META & CATEGORIES
   ════════════════════════════════════════════════════════════════════ */

.entry-meta,
.entry-meta a,
.post-meta,
.cat-links a,
.entry-categories a {
  font-family: var(--kc-font-body);
  font-size: 0.7rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--kc-burgundy);
  text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════
   RECIPE CARDS (WP Recipe Maker)
   These selectors target WP Recipe Maker's default output. Tighten or
   adjust as needed once you see how WPRM renders on your site.
   ════════════════════════════════════════════════════════════════════ */

.wprm-recipe {
  background: rgba(250, 246, 236, 0.5);
  border: 1px solid rgba(27, 67, 50, 0.15);
  padding: 32px;
  margin: 32px 0;
}

.wprm-recipe-name {
  font-family: var(--kc-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--kc-forest) !important;
}

.wprm-recipe-ingredients-header,
.wprm-recipe-instructions-header,
.wprm-recipe-notes-header {
  font-family: var(--kc-font-display) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--kc-forest) !important;
}

.wprm-recipe-print-button,
.wprm-recipe-pin-button {
  background: var(--kc-forest) !important;
  color: var(--kc-cream) !important;
  font-family: var(--kc-font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* ════════════════════════════════════════════════════════════════════
   BLOCKQUOTES
   ════════════════════════════════════════════════════════════════════ */

blockquote {
  border-left: 3px solid var(--kc-burgundy);
  padding-left: 24px;
  margin: 32px 0;
  font-style: normal;
  color: var(--kc-burgundy);
}

blockquote p {
  font-family: var(--kc-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* ════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════ */

.site-footer {
  background: var(--kc-forest);
  color: var(--kc-cream);
  padding: 48px 0;
}

.site-footer,
.site-footer a {
  font-family: var(--kc-font-body);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--kc-cream);
}

.site-footer a:hover {
  color: var(--kc-gold);
}

/* ════════════════════════════════════════════════════════════════════
   IMAGES
   Match the locked karacooks image spec: rounded corners and thin
   black border on in-post images. The .kc-post-closer img rule below
   uses !important to override this for the small pepper closer mark.
   ════════════════════════════════════════════════════════════════════ */

.entry-content img:not(.no-style):not(.wp-smiley):not(.emoji) {
  border-radius: 18px;
  border: 2px solid #000;
  max-width: 100%;
  height: auto;
}

/* Vertical breathing room. Targets the figure/image block, not the img
   itself, so wrapped (captioned) and bare images both get spaced. */
.entry-content figure,
.entry-content .wp-block-image,
.entry-content > img,
.entry-content p > img {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* Center images and image galleries within the post body.
   Covers: bare <img>, <figure>/<wp-block-image> wrappers, classic
   .gallery, the block-editor .wp-block-gallery, and the .alignnone
   default WordPress puts on images with no explicit alignment.
   Explicit .alignleft / .alignright still float as expected.

   display: block + width: fit-content forces the figure to shrink to
   the image's natural width so margin: auto actually centers it.
   Without this, WordPress block figures inherit display: table or a
   full-column width and the auto margins do nothing visible. */
.entry-content figure,
.entry-content .wp-block-image,
.entry-content .wp-caption {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}

.entry-content .gallery,
.entry-content .wp-block-gallery {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}

.entry-content > img,
.entry-content p > img,
.entry-content img.alignnone,
.entry-content img.aligncenter {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Paragraphs that contain only an inline image: center the paragraph
   so the image lands in the middle of the column. */
.entry-content p:has(> img:only-child) {
  text-align: center;
}

/* Captions: small, italic, tucked just under the image. Centered to
   match the centered figure above. */
.entry-content figcaption,
.entry-content .wp-caption-text {
  font-family: var(--kc-font-body);
  font-size: 0.95rem;
  font-style: italic;
  font-weight: 400;
  color: var(--kc-forest);
  opacity: 0.75;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 0;
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════════
   POST CLOSER
   Thin forest rule on either side of a small centered pepper mark.
   Sits at the end of every post body. The img !important overrides
   the global entry-content image styling above so the closer mark
   doesn't get a rounded border treatment.
   ════════════════════════════════════════════════════════════════════ */

.kc-post-closer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 48px auto 32px;
  max-width: 480px;
}

.kc-post-closer-rule {
  flex: 1 1 auto;
  height: 1px;
  background: var(--kc-forest);
  opacity: 0.45;
}

.kc-post-closer img {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: none !important;
  border-radius: 0 !important;
  display: block;
}

/* ════════════════════════════════════════════════════════════════════
   PULL-QUOTES / EMPHASIS
   ════════════════════════════════════════════════════════════════════ */

.has-drop-cap:first-letter {
  font-family: var(--kc-font-display);
  color: var(--kc-burgundy);
  font-weight: 500;
}