/*
Theme Name:   Cook With Reina Child
Theme URI:    https://cookwithreina.com
Description:  Child theme for Cook With Reina recipe blog. Based on GeneratePress (free).
Author:       Reina Martinez
Author URI:   https://cookwithreina.com
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  cook-with-reina
*/

/* ====================================================
   COOK WITH REINA — Child Theme Stylesheet
   Requires: GeneratePress (free) as parent theme
   ====================================================

   TABLE OF CONTENTS
   -----------------
   01. Design Tokens (CSS Custom Properties)
   02. Base & Typography
   03. Header & Navigation
   04. Buttons & Links
   05. Archive / Blog Grid
   06. Single Post
   07. Recipe Card Box (Jump to Recipe)
   08. Ingredients & Instructions
   09. Nutrition Facts
   10. Author Box (EEAT)
   11. Related Recipes
   12. Breadcrumbs
   13. Sidebar & Widgets
   14. Category / Archive Header
   15. Footer
   16. Forms, Search & Newsletter
   17. Pagination
   18. 404 & Search Results
   19. Comments
   20. Print Styles
   21. Responsive
   ==================================================== */


/* ====================================================
   01. DESIGN TOKENS
   ==================================================== */
:root {
  /* Brand colors */
  --cwr-red:       #C0392B;
  --cwr-red-hov:   #A93226;
  --cwr-red-pale:  #FFF0EE;
  --cwr-red-mid:   #F5D5D1;
  --cwr-gold:      #D4A843;

  /* Surfaces */
  --cwr-bg:        #FFF8F0;
  --cwr-card:      #FFFFFF;
  --cwr-dark:      #1E1209;
  --cwr-body:      #3D2B1F;
  --cwr-muted:     #8C7065;
  --cwr-border:    #EDD9C8;

  /* Typography */
  --cwr-font:      'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cwr-serif:     'Playfair Display', Georgia, 'Times New Roman', serif;

  /* Shadows */
  --cwr-shadow:     0 2px 10px rgba(0, 0, 0, 0.07);
  --cwr-shadow-hov: 0 8px 28px rgba(192, 57, 43, 0.16);

  /* Radii */
  --cwr-radius:    10px;
  --cwr-radius-sm: 6px;

  /* Layout */
  --cwr-max:       1200px;
}


/* ====================================================
   02. BASE & TYPOGRAPHY
   ==================================================== */
body {
  background-color: var(--cwr-bg) !important;
  color: var(--cwr-body);
  font-family: var(--cwr-font) !important;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cwr-serif) !important;
  color: var(--cwr-dark);
  font-weight: 700;
  line-height: 1.25;
  text-wrap: pretty;
}

.entry-content h2 { font-size: 1.7em;  margin: 2em 0 0.7em; }
.entry-content h3 { font-size: 1.35em; margin: 1.75em 0 0.6em; }
.entry-content h4 { font-size: 1.1em;  margin: 1.5em 0 0.5em; }

p { margin-bottom: 1.3em; text-wrap: pretty; }

a {
  color: var(--cwr-red);
  text-decoration: none;
  transition: color 0.15s;
}
a:hover { color: var(--cwr-red-hov); }

img {
  max-width: 100%;
  height: auto;
}

strong { font-weight: 700; color: var(--cwr-dark); }

/* GeneratePress container width */
.grid-container { max-width: var(--cwr-max) !important; }

/* Page background */
#page { background: var(--cwr-bg); }


/* ====================================================
   03. HEADER & NAVIGATION
   ==================================================== */
.site-header {
  background: #fff !important;
  border-bottom: 3px solid var(--cwr-red) !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06) !important;
  position: sticky !important;
  top: 0;
  z-index: 100;
}

/* Site title / logo */
.site-branding .site-title a,
.site-branding .site-title {
  font-family: var(--cwr-serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--cwr-red) !important;
  letter-spacing: -0.4px;
  text-decoration: none !important;
}

.site-branding .site-description {
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  color: var(--cwr-muted) !important;
}

/* Primary nav */
.main-navigation,
.main-navigation .main-nav ul {
  font-family: var(--cwr-font) !important;
}

.main-navigation .main-nav > ul > li > a {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--cwr-body) !important;
  padding: 6px 11px !important;
  border-radius: var(--cwr-radius-sm);
  transition: all 0.15s;
}

.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current-menu-ancestor > a {
  color: var(--cwr-red) !important;
  background: var(--cwr-red-pale) !important;
  text-decoration: none !important;
}

/* Dropdown menus */
.main-navigation .main-nav ul ul {
  background: #fff !important;
  border: 1px solid var(--cwr-border) !important;
  border-top: 2px solid var(--cwr-red) !important;
  border-radius: 0 0 var(--cwr-radius) var(--cwr-radius) !important;
  box-shadow: var(--cwr-shadow-hov) !important;
}

.main-navigation .main-nav ul ul li a {
  font-size: 13px !important;
  color: var(--cwr-body) !important;
  padding: 9px 18px !important;
  font-weight: 600 !important;
  transition: all 0.12s !important;
}

.main-navigation .main-nav ul ul li a:hover {
  color: var(--cwr-red) !important;
  background: var(--cwr-bg) !important;
}

/* Header search input */
.search-item .search-form input[type="search"] {
  border: 1.5px solid var(--cwr-border) !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  background: var(--cwr-bg) !important;
}

/* Mobile hamburger */
.menu-toggle {
  color: var(--cwr-red) !important;
  border-color: var(--cwr-red) !important;
}


/* ====================================================
   04. BUTTONS & LINKS
   ==================================================== */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.more-link,
a.more-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--cwr-red) !important;
  color: #fff !important;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 20px !important;
  border-radius: var(--cwr-radius-sm) !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.15s !important;
  line-height: 1 !important;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.more-link:hover,
a.more-link:hover {
  background: var(--cwr-red-hov) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Ghost / outline variant */
.button.button-secondary {
  background: transparent !important;
  color: var(--cwr-red) !important;
  border: 1.5px solid var(--cwr-red) !important;
}
.button.button-secondary:hover {
  background: var(--cwr-red) !important;
  color: #fff !important;
}


/* ====================================================
   05. ARCHIVE / BLOG GRID
   ==================================================== */
.blog .hentry,
.archive .hentry,
.search-results .hentry {
  background: var(--cwr-card) !important;
  border: 1px solid var(--cwr-border) !important;
  border-radius: var(--cwr-radius) !important;
  overflow: hidden;
  box-shadow: var(--cwr-shadow) !important;
  transition: box-shadow 0.2s, transform 0.2s;
  margin-bottom: 28px !important;
}

.blog .hentry:hover,
.archive .hentry:hover {
  box-shadow: var(--cwr-shadow-hov) !important;
  transform: translateY(-3px);
}

/* Post thumbnail */
.post-image a img,
.entry-image img,
.post-thumbnail img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--cwr-radius) var(--cwr-radius) 0 0 !important;
  display: block;
  transition: transform 0.35s;
}

.hentry:hover .post-image a img,
.hentry:hover .entry-image img {
  transform: scale(1.03);
}

.post-image,
.entry-image { overflow: hidden; border-radius: var(--cwr-radius) var(--cwr-radius) 0 0; }

/* Category labels on cards */
.entry-categories,
.entry-categories a {
  display: inline-block;
  background: var(--cwr-red) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  font-family: var(--cwr-font) !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.entry-categories a:hover {
  background: var(--cwr-red-hov) !important;
  color: #fff !important;
}

/* Entry titles */
.entry-title {
  font-family: var(--cwr-serif) !important;
  font-size: 1.3em !important;
  line-height: 1.3 !important;
  margin: 0.6em 0 0.5em !important;
}

.entry-title a {
  color: var(--cwr-dark) !important;
  text-decoration: none !important;
  transition: color 0.15s;
}

.entry-title a:hover { color: var(--cwr-red) !important; }

/* Entry meta */
.entry-meta,
.entry-meta a,
.entry-meta span {
  font-family: var(--cwr-font) !important;
  font-size: 12px !important;
  color: var(--cwr-muted) !important;
}

.entry-meta a:hover { color: var(--cwr-red) !important; }

/* Author avatar in meta */
.entry-meta .vcard img,
.author-avatar img {
  border-radius: 50% !important;
  width: 26px !important;
  height: 26px !important;
  vertical-align: middle;
  margin-right: 5px;
  object-fit: cover;
}

/* Excerpt */
.entry-summary,
.entry-content.archive-excerpt {
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  color: var(--cwr-body) !important;
  line-height: 1.7 !important;
}


/* ====================================================
   06. SINGLE POST
   ==================================================== */
.single .entry-title {
  font-size: clamp(26px, 4vw, 40px) !important;
  line-height: 1.2 !important;
  margin: 12px 0 16px !important;
  color: var(--cwr-dark) !important;
}

.single .entry-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border-top: 1px solid var(--cwr-border) !important;
  border-bottom: 1px solid var(--cwr-border) !important;
  margin-bottom: 22px !important;
}

/* Featured image — single post */
.single .post-image img,
.single .featured-image img,
.single .wp-post-image {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  border-radius: var(--cwr-radius) !important;
  margin-bottom: 24px !important;
  display: block;
}

/* Content typography */
.entry-content {
  font-family: var(--cwr-font) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: var(--cwr-body) !important;
}

.entry-content p { margin-bottom: 1.3em; }

.entry-content ul,
.entry-content ol {
  margin: 0 0 1.3em 1.6em;
  line-height: 1.85;
}

.entry-content li { margin-bottom: 0.45em; }

.entry-content blockquote {
  border-left: 4px solid var(--cwr-red);
  padding: 16px 22px;
  margin: 24px 0;
  background: var(--cwr-red-pale);
  border-radius: 0 var(--cwr-radius) var(--cwr-radius) 0;
  font-style: italic;
  color: var(--cwr-body);
}

.entry-content blockquote p:last-child { margin-bottom: 0; }

.entry-content img {
  border-radius: var(--cwr-radius-sm);
  margin: 8px 0;
}

/* Table in content */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-family: var(--cwr-font);
  font-size: 14px;
}

.entry-content th {
  background: var(--cwr-dark);
  color: #fff;
  padding: 10px 14px;
  font-weight: 700;
  text-align: left;
  font-family: var(--cwr-font);
}

.entry-content td {
  padding: 9px 14px;
  border-bottom: 1px solid var(--cwr-border);
  color: var(--cwr-body);
}

.entry-content tr:nth-child(even) td { background: var(--cwr-bg); }


/* ====================================================
   07. RECIPE CARD BOX (Jump to Recipe / Schema)
   ==================================================== */

/* Jump to Recipe button */
.wprm-jump-to-recipe-shortcode a,
.tasty-recipes-jump-link,
.mv-create-jtr-button,
a.jump-to-recipe-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--cwr-red) !important;
  color: #fff !important;
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 9px 20px !important;
  border-radius: var(--cwr-radius-sm) !important;
  text-decoration: none !important;
  transition: background 0.15s !important;
  margin: 10px 0 !important;
  border: none !important;
}

.wprm-jump-to-recipe-shortcode a:hover,
.tasty-recipes-jump-link:hover {
  background: var(--cwr-red-hov) !important;
  color: #fff !important;
}

/* Main recipe card container */
.wprm-recipe-container,
.tasty-recipes-entry-content,
.mv-create-card,
.recipe-card-box {
  background: var(--cwr-card) !important;
  border: 2px solid var(--cwr-border) !important;
  border-top: 4px solid var(--cwr-red) !important;
  border-radius: 0 0 var(--cwr-radius) var(--cwr-radius) !important;
  padding: 26px 28px !important;
  margin: 30px 0 !important;
  box-shadow: var(--cwr-shadow) !important;
}

/* Recipe name in card */
.wprm-recipe-name,
.tasty-recipes-title h2,
.mv-create-card .mv-create-title {
  font-family: var(--cwr-serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
  margin: 0 0 10px !important;
}

/* Recipe description */
.wprm-recipe-summary,
.tasty-recipes-description {
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  color: var(--cwr-body) !important;
  line-height: 1.75 !important;
  margin-bottom: 16px !important;
}

/* Recipe meta (time / servings) box */
.wprm-recipe-block-container-columns,
.tasty-recipes-details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1px !important;
  background: var(--cwr-border) !important;
  border-radius: var(--cwr-radius) !important;
  overflow: hidden !important;
  margin: 18px 0 !important;
}

.wprm-recipe-block-container-column,
.tasty-recipes-details li {
  flex: 1 1 90px !important;
  background: var(--cwr-card) !important;
  padding: 13px 10px !important;
  text-align: center !important;
  min-width: 75px !important;
  list-style: none !important;
}

.wprm-recipe-block-container-column .wprm-recipe-block-container-column-label,
.tasty-recipes-details .tasty-recipes-label {
  font-family: var(--cwr-font) !important;
  font-size: 10px !important;
  color: var(--cwr-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  display: block !important;
  margin-bottom: 3px !important;
  font-weight: 600 !important;
}

.wprm-recipe-block-container-column .wprm-recipe-block-container-column-value,
.tasty-recipes-details .tasty-recipes-value {
  font-family: var(--cwr-serif) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
  display: block !important;
}

/* Section headings inside recipe card */
.wprm-recipe-ingredient-group-name,
.wprm-recipe-ingredients-container h3,
.wprm-recipe-instructions-container h3,
.tasty-recipes-ingredients h3,
.tasty-recipes-instructions h3 {
  font-family: var(--cwr-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
  margin: 22px 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--cwr-red) !important;
}

/* Print button */
.wprm-print-recipe-shortcode a,
.tasty-recipes-print-button,
.wprm-recipe-print-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: var(--cwr-card) !important;
  color: var(--cwr-body) !important;
  border: 1.5px solid var(--cwr-border) !important;
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 7px 13px !important;
  border-radius: var(--cwr-radius-sm) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}

.wprm-print-recipe-shortcode a:hover { border-color: var(--cwr-red) !important; color: var(--cwr-red) !important; }

/* Ratings */
.wprm-recipe-rating,
.tasty-recipes-rating {
  color: var(--cwr-gold) !important;
  font-size: 16px !important;
}

.wprm-recipe-rating .wprm-rating-star-filled svg { fill: var(--cwr-gold) !important; }


/* ====================================================
   08. INGREDIENTS & INSTRUCTIONS
   ==================================================== */

/* Ingredients list */
.wprm-recipe-ingredient,
.tasty-recipes-ingredients ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--cwr-border) !important;
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--cwr-body) !important;
  list-style: none !important;
}

.wprm-checkbox-container input[type="checkbox"],
.wprm-recipe-ingredient input[type="checkbox"] {
  accent-color: var(--cwr-red) !important;
  margin-top: 3px !important;
  cursor: pointer !important;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}

/* Checked ingredient — strikethrough */
.wprm-recipe-ingredient.wprm-ingredient-checked .wprm-recipe-ingredient-name {
  opacity: 0.55;
  text-decoration: line-through;
}

/* Ingredient amount */
.wprm-recipe-ingredient-amount,
.wprm-recipe-ingredient-unit {
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
}

/* Instructions */
.wprm-recipe-instructions ol,
.tasty-recipes-instructions ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: step !important;
}

.wprm-recipe-instruction-text,
.tasty-recipes-instructions li {
  display: flex !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
  counter-increment: step !important;
  list-style: none !important;
  align-items: flex-start;
}

.wprm-recipe-instruction-text::before,
.tasty-recipes-instructions li::before {
  content: counter(step) !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--cwr-red) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}


/* ====================================================
   09. NUTRITION FACTS
   ==================================================== */
.wprm-nutrition-label-container,
.tasty-recipes-nutrition,
.mv-create-nutrition {
  background: var(--cwr-bg) !important;
  border: 1.5px solid var(--cwr-border) !important;
  border-radius: var(--cwr-radius) !important;
  padding: 20px 22px !important;
  margin: 24px 0 !important;
}

.wprm-nutrition-label-container h3,
.tasty-recipes-nutrition h3 {
  font-family: var(--cwr-serif) !important;
  font-size: 18px !important;
  color: var(--cwr-dark) !important;
  margin: 0 0 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--cwr-border) !important;
}

.wprm-nutrition-label-container table {
  width: 100%;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
}

.wprm-nutrition-label-container td {
  padding: 6px 4px;
  border-bottom: 1px solid var(--cwr-border);
  color: var(--cwr-body);
}


/* ====================================================
   10. AUTHOR BOX (EEAT)
   ==================================================== */
.cwr-author-box {
  background: var(--cwr-card);
  border: 1px solid var(--cwr-border);
  border-top: 3px solid var(--cwr-red);
  border-radius: 0 0 var(--cwr-radius) var(--cwr-radius);
  padding: 26px 30px;
  display: flex;
  gap: 22px;
  align-items: flex-start;
  margin: 40px 0;
}

.cwr-author-box .cwr-author-avatar img {
  width: 88px !important;
  height: 88px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid var(--cwr-red-pale) !important;
  flex-shrink: 0 !important;
  display: block;
}

.cwr-author-box .cwr-author-label {
  font-family: var(--cwr-font);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--cwr-muted);
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}

.cwr-author-box .cwr-author-name {
  font-family: var(--cwr-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
  margin: 0 0 10px !important;
}

.cwr-author-box .cwr-author-name a {
  color: var(--cwr-dark) !important;
  text-decoration: none !important;
}

.cwr-author-box .cwr-author-name a:hover {
  color: var(--cwr-red) !important;
}

.cwr-author-box .cwr-author-bio {
  font-family: var(--cwr-font);
  font-size: 14px;
  color: var(--cwr-body);
  line-height: 1.8;
  margin: 0 0 14px;
}

.cwr-author-box .cwr-author-social {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.cwr-author-box .cwr-author-social .social-label {
  font-family: var(--cwr-font);
  font-size: 12px;
  color: var(--cwr-muted);
}

.cwr-author-box .cwr-author-social a {
  font-family: var(--cwr-font);
  font-size: 12px;
  font-weight: 700;
  color: var(--cwr-red);
  padding: 4px 12px;
  border: 1px solid var(--cwr-border);
  border-radius: 16px;
  text-decoration: none;
  transition: all 0.15s;
  background: var(--cwr-card);
}

.cwr-author-box .cwr-author-social a:hover {
  background: var(--cwr-red);
  color: #fff;
  border-color: var(--cwr-red);
}


/* ====================================================
   11. RELATED RECIPES
   ==================================================== */
.cwr-related-recipes {
  margin: 44px 0;
}

.cwr-related-recipes .cwr-related-title {
  font-family: var(--cwr-serif) !important;
  font-size: 24px !important;
  color: var(--cwr-dark) !important;
  margin: 0 0 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--cwr-border) !important;
}

.cwr-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.cwr-related-card {
  background: var(--cwr-card);
  border: 1px solid var(--cwr-border);
  border-radius: var(--cwr-radius);
  overflow: hidden;
  box-shadow: var(--cwr-shadow);
  transition: all 0.2s;
}

.cwr-related-card:hover {
  box-shadow: var(--cwr-shadow-hov);
  transform: translateY(-3px);
}

.cwr-related-card .cwr-related-img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
  transition: transform 0.3s;
}

.cwr-related-card:hover .cwr-related-img img { transform: scale(1.05); }

.cwr-related-card .cwr-related-img { overflow: hidden; }

.cwr-related-card .cwr-related-info { padding: 12px 14px 16px; }

.cwr-related-cat {
  display: inline-block;
  background: var(--cwr-red);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  font-family: var(--cwr-font);
}

.cwr-related-post-title {
  font-family: var(--cwr-serif) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 4px 0 0 !important;
}

.cwr-related-post-title a {
  color: var(--cwr-dark) !important;
  text-decoration: none !important;
}

.cwr-related-post-title a:hover { color: var(--cwr-red) !important; }


/* ====================================================
   12. BREADCRUMBS (Rank Math)
   ==================================================== */
.cwr-breadcrumb,
.rank-math-breadcrumb,
.breadcrumbs {
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  color: var(--cwr-muted) !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  line-height: 1.4 !important;
}

.cwr-breadcrumb a,
.rank-math-breadcrumb a,
.breadcrumbs a {
  color: var(--cwr-red) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.12s !important;
}

.cwr-breadcrumb a:hover,
.rank-math-breadcrumb a:hover { color: var(--cwr-red-hov) !important; }

.rank-math-breadcrumb .separator,
.breadcrumbs .sep { color: var(--cwr-border) !important; font-size: 16px !important; }


/* ====================================================
   13. SIDEBAR & WIDGETS
   ==================================================== */
#secondary,
.sidebar-widget-area,
.widget-area {
  background: transparent !important;
}

.widget {
  background: var(--cwr-card) !important;
  border: 1px solid var(--cwr-border) !important;
  border-radius: var(--cwr-radius) !important;
  padding: 18px 20px !important;
  margin-bottom: 22px !important;
}

.widget-title,
.widget h2,
.widget h3 {
  font-family: var(--cwr-serif) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
  margin: 0 0 13px !important;
  padding-bottom: 9px !important;
  border-bottom: 2px solid var(--cwr-red) !important;
  display: block !important;
}

.widget ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.widget ul li {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--cwr-border) !important;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
}

.widget ul li:last-child { border-bottom: none !important; }

.widget ul li a {
  color: var(--cwr-body) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.12s !important;
}

.widget ul li a:hover { color: var(--cwr-red) !important; }

/* Category count badges */
.widget_categories .post-count,
.widget_categories li .count {
  background: var(--cwr-red-pale) !important;
  color: var(--cwr-red) !important;
  font-size: 11px !important;
  padding: 1px 8px !important;
  border-radius: 10px !important;
  float: right;
  font-family: var(--cwr-font) !important;
}

/* Search widget */
.widget_search .search-form,
.widget_search form {
  display: flex !important;
  gap: 7px !important;
}

.widget input[type="search"],
.widget input[type="text"],
.widget input[type="email"] {
  flex: 1 !important;
  border: 1.5px solid var(--cwr-border) !important;
  border-radius: var(--cwr-radius-sm) !important;
  padding: 8px 11px !important;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  background: var(--cwr-bg) !important;
  color: var(--cwr-body) !important;
  outline: none !important;
  transition: border-color 0.15s !important;
  width: 100% !important;
  box-sizing: border-box;
}

.widget input:focus { border-color: var(--cwr-red) !important; }

.widget_search input[type="submit"],
.widget button[type="submit"] {
  background: var(--cwr-red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--cwr-radius-sm) !important;
  padding: 8px 13px !important;
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

/* Recent posts thumbnail */
.widget .recent-post-image img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 7px !important;
  flex-shrink: 0;
}


/* ====================================================
   14. CATEGORY / ARCHIVE HEADER
   ==================================================== */
.archive-header,
.page-header {
  background: linear-gradient(135deg, var(--cwr-dark) 0%, #3D2B1F 100%) !important;
  padding: 44px 24px 40px !important;
  margin-bottom: 0 !important;
}

.archive-title,
.page-title {
  font-family: var(--cwr-serif) !important;
  font-size: clamp(26px, 4vw, 38px) !important;
  color: #fff !important;
  margin: 0 0 8px !important;
}

.archive-description,
.archive-description p {
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  margin: 0 !important;
}


/* ====================================================
   15. FOOTER
   ==================================================== */
.site-footer {
  background: var(--cwr-dark) !important;
  color: rgba(255, 255, 255, 0.75) !important;
  padding: 52px 0 0 !important;
  margin-top: 0 !important;
}

.site-footer a {
  color: rgba(255, 255, 255, 0.65) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}

.site-footer a:hover { color: #fff !important; }

.site-footer .widget-title,
.site-footer h3,
.site-footer h4 {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  font-size: 14px !important;
}

.site-footer p {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.site-footer .widget ul li {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.site-footer .widget ul li a {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Footer bottom / site info */
.site-info,
.footer-bar,
.copyright-bar {
  background: rgba(0, 0, 0, 0.25) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 14px 24px !important;
  text-align: center !important;
  font-family: var(--cwr-font) !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.38) !important;
  margin-top: 40px;
}

.site-info a { color: rgba(255, 255, 255, 0.5) !important; }


/* ====================================================
   16. FORMS, SEARCH & NEWSLETTER
   ==================================================== */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="number"],
textarea,
select {
  border: 1.5px solid var(--cwr-border) !important;
  border-radius: 7px !important;
  padding: 10px 14px !important;
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  color: var(--cwr-body) !important;
  background: var(--cwr-bg) !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  outline: none !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--cwr-red) !important;
  box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.1) !important;
}

/* Search results page */
.search-form .search-field {
  border-right: none !important;
  border-radius: 7px 0 0 7px !important;
}

.search-form .search-submit {
  border-radius: 0 7px 7px 0 !important;
}

/* Newsletter widget (if custom) */
.cwr-newsletter-widget {
  background: linear-gradient(135deg, var(--cwr-red), var(--cwr-red-hov)) !important;
  border: none !important;
  border-radius: var(--cwr-radius) !important;
  padding: 22px !important;
  margin-bottom: 22px !important;
}

.cwr-newsletter-widget h3 {
  color: #fff !important;
  border-color: rgba(255,255,255,0.25) !important;
}

.cwr-newsletter-widget p { color: rgba(255,255,255,0.85) !important; }

.cwr-newsletter-widget input[type="email"] {
  background: rgba(255,255,255,0.18) !important;
  border-color: rgba(255,255,255,0.35) !important;
  color: #fff !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}

.cwr-newsletter-widget input::placeholder { color: rgba(255,255,255,0.65) !important; }

.cwr-newsletter-widget button,
.cwr-newsletter-widget input[type="submit"] {
  width: 100% !important;
  background: #fff !important;
  color: var(--cwr-red) !important;
  border: none !important;
  border-radius: var(--cwr-radius-sm) !important;
  padding: 10px !important;
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
}


/* ====================================================
   17. PAGINATION
   ==================================================== */
.pagination,
.nav-links,
.page-links {
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 36px 0 !important;
  flex-wrap: wrap;
}

.page-numbers,
.pagination a,
.nav-links a,
.nav-links span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  border: 1.5px solid var(--cwr-border) !important;
  border-radius: 7px !important;
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--cwr-body) !important;
  text-decoration: none !important;
  background: var(--cwr-card) !important;
  transition: all 0.15s !important;
}

.page-numbers.current,
.pagination .current {
  background: var(--cwr-red) !important;
  border-color: var(--cwr-red) !important;
  color: #fff !important;
}

.page-numbers:hover:not(.current),
.pagination a:hover {
  border-color: var(--cwr-red) !important;
  color: var(--cwr-red) !important;
}

/* Post navigation (prev/next) */
.post-navigation {
  display: flex !important;
  gap: 16px !important;
  margin: 40px 0 !important;
  padding: 20px 0 !important;
  border-top: 1px solid var(--cwr-border) !important;
  border-bottom: 1px solid var(--cwr-border) !important;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
  flex: 1 !important;
}

.post-navigation a {
  font-family: var(--cwr-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--cwr-red) !important;
}

.post-navigation .nav-subtitle {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.7px !important;
  color: var(--cwr-muted) !important;
  display: block !important;
  margin-bottom: 3px !important;
}


/* ====================================================
   18. 404 & SEARCH RESULTS
   ==================================================== */
.error404 .page-title {
  font-size: clamp(60px, 12vw, 100px) !important;
  color: var(--cwr-red-mid) !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.error404 .entry-content {
  text-align: center;
  padding: 60px 24px;
}

.error404 .entry-content p {
  font-size: 16px !important;
  color: var(--cwr-muted) !important;
  max-width: 440px !important;
  margin: 0 auto 24px !important;
}


/* ====================================================
   19. COMMENTS
   ==================================================== */
.comments-title,
#reply-title {
  font-family: var(--cwr-serif) !important;
  font-size: 22px !important;
  color: var(--cwr-dark) !important;
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--cwr-border) !important;
}

.comment-author .fn a {
  font-family: var(--cwr-font) !important;
  font-weight: 700 !important;
  color: var(--cwr-dark) !important;
}

.comment-meta { font-size: 12px !important; color: var(--cwr-muted) !important; }

.comment-content p {
  font-family: var(--cwr-font) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.comment-avatar img {
  border-radius: 50% !important;
  border: 2px solid var(--cwr-border) !important;
}

.comment-reply-link {
  color: var(--cwr-red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-family: var(--cwr-font) !important;
}


/* ====================================================
   20. PRINT STYLES
   ==================================================== */
@media print {
  .site-header,
  .site-footer,
  #secondary,
  .widget-area,
  .post-navigation,
  .navigation,
  .cwr-author-box .cwr-author-social,
  .cwr-related-recipes,
  .comments-area,
  .wprm-jump-to-recipe-shortcode,
  #switcher {
    display: none !important;
  }

  body {
    font-size: 12pt !important;
    color: #000 !important;
    background: #fff !important;
  }

  h1, h2, h3 { color: #000 !important; }

  .entry-content { max-width: 100% !important; }

  .wprm-recipe-container,
  .tasty-recipes-entry-content {
    border: 1pt solid #ccc !important;
    padding: 14pt !important;
    box-shadow: none !important;
  }

  a { color: #000 !important; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 10pt; color: #666; }
  a[href^="#"]::after { content: ""; }
}


/* ====================================================
   21. RESPONSIVE — Comprehensive Mobile Fixes
   ==================================================== */

/* ── Tablet (max 1024px) ── */
@media (max-width: 1024px) {
  .cwr-related-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }

  /* 2-column recipe grids on tablet */
  .blog .content-area .post-grid,
  .archive .content-area .post-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Mobile (max 768px) ── */
@media (max-width: 768px) {

  /* Base */
  body { font-size: 15px !important; }
  p { font-size: 15px !important; }

  /* Headings */
  .single .entry-title  { font-size: clamp(22px, 6vw, 30px) !important; }
  .archive-title,
  .page-title           { font-size: clamp(22px, 6vw, 30px) !important; }
  h2                    { font-size: 1.4em !important; }
  h3                    { font-size: 1.2em !important; }

  /* Header */
  .site-header          { position: sticky !important; top: 0; }
  .site-branding .site-title a { font-size: 18px !important; }

  /* Mobile nav (GP handles toggle, we style the open state) */
  .main-navigation .main-nav > ul { background: #fff !important; }
  .main-navigation .main-nav > ul > li > a {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--cwr-border) !important;
    border-radius: 0 !important;
    font-size: 15px !important;
  }
  .menu-toggle {
    background: var(--cwr-red) !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    border: none !important;
  }

  /* Sidebar — stack below content on mobile */
  .generate-columns-container {
    flex-direction: column !important;
  }
  #primary  { width: 100% !important; }
  #secondary,
  .sidebar-widget-area {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 32px !important;
  }

  /* Breadcrumb */
  .cwr-breadcrumb,
  .rank-math-breadcrumb { font-size: 12px !important; }

  /* Single post */
  .single .entry-meta   { gap: 10px !important; font-size: 12px !important; }
  .single .featured-image img,
  .single .post-image img,
  .single .wp-post-image { max-height: 280px !important; }
  .entry-content        { font-size: 15px !important; }
  .entry-content blockquote { padding: 12px 16px !important; }

  /* Archive grid — 1 column on mobile */
  .blog .content-area,
  .archive .content-area {
    grid-template-columns: 1fr !important;
  }

  /* Recipe meta (time box) — 3 per row on mobile */
  .wprm-recipe-block-container-columns,
  .tasty-recipes-details,
  .recipe-meta-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1px !important;
  }

  .wprm-recipe-block-container-column,
  .tasty-recipes-details li {
    min-width: unset !important;
    padding: 11px 6px !important;
  }

  .wprm-recipe-block-container-column .wprm-recipe-block-container-column-label,
  .tasty-recipes-details .tasty-recipes-label { font-size: 9px !important; }

  .wprm-recipe-block-container-column .wprm-recipe-block-container-column-value,
  .tasty-recipes-details .tasty-recipes-value { font-size: 14px !important; }

  /* Recipe card box */
  .wprm-recipe-container,
  .tasty-recipes-entry-content,
  .recipe-card-box { padding: 18px !important; }

  /* Ingredients */
  .wprm-recipe-ingredient,
  .tasty-recipes-ingredients ul li { font-size: 13px !important; }

  /* Instructions */
  .wprm-recipe-instruction-text,
  .tasty-recipes-instructions li { font-size: 13px !important; gap: 11px !important; }

  /* Nutrition grid — 2 columns on mobile */
  .wprm-nutrition-label-container table { font-size: 12px !important; }

  /* Jump to recipe */
  .wprm-jump-to-recipe-shortcode a,
  .tasty-recipes-jump-link {
    font-size: 13px !important;
    padding: 9px 16px !important;
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* Author box */
  .cwr-author-box {
    flex-direction: column !important;
    gap: 14px !important;
    padding: 18px !important;
    align-items: center !important;
    text-align: center !important;
  }

  .cwr-author-box .cwr-author-avatar img {
    width: 72px !important;
    height: 72px !important;
  }

  .cwr-author-box .cwr-author-social {
    justify-content: center !important;
  }

  .cwr-author-box .cwr-author-label { text-align: center !important; }

  /* Related recipes — 1 column on mobile */
  .cwr-related-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Pagination */
  .pagination,
  .nav-links { gap: 4px !important; }
  .page-numbers { min-width: 32px !important; height: 32px !important; font-size: 12px !important; }

  /* Post navigation */
  .post-navigation { flex-direction: column !important; gap: 12px !important; }

  /* Archive header */
  .archive-header,
  .page-header { padding: 28px 16px 24px !important; }

  /* Footer — 2 columns on mobile */
  .footer-widgets,
  .site-footer .grid-container > .widget-area-wrap {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }

  .site-footer { padding-top: 32px !important; }
  .site-footer .widget-title { font-size: 13px !important; }
  .site-footer p { font-size: 12px !important; }

  /* Widgets */
  .widget { padding: 14px 16px !important; }
  .widget-title { font-size: 15px !important; }

  /* Buttons */
  .button,
  input[type="submit"] { font-size: 13px !important; padding: 9px 18px !important; }
}

/* ── Small mobile (max 480px) ── */
@media (max-width: 480px) {

  /* Recipe meta — 2 columns on very small screens */
  .wprm-recipe-block-container-columns,
  .tasty-recipes-details,
  .recipe-meta-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Related recipes */
  .cwr-related-grid { grid-template-columns: 1fr !important; }

  /* Author box social links */
  .cwr-author-box .cwr-author-social a {
    font-size: 11px !important;
    padding: 4px 9px !important;
  }

  /* Footer — single column */
  .footer-widgets,
  .site-footer .grid-container > .widget-area-wrap {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .site-footer .widget {
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    margin-bottom: 0 !important;
  }

  /* Single post title */
  .single .entry-title { font-size: clamp(20px, 7vw, 26px) !important; }

  /* Entry title in archive */
  .entry-title { font-size: 1.15em !important; }

  /* Entry meta wrap */
  .single .entry-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  /* Images full width */
  .single .featured-image img { max-height: 220px !important; }

  /* Search form */
  .widget_search .search-form { flex-direction: column !important; }
  .widget_search .search-form input[type="search"] { border-radius: 6px !important; }
  .widget_search .search-form input[type="submit"] { border-radius: 6px !important; width: 100% !important; }

  /* Recipe card box */
  .wprm-recipe-container,
  .tasty-recipes-entry-content,
  .recipe-card-box { padding: 14px !important; }

  /* Instruction steps */
  .wprm-recipe-instruction-text::before,
  .tasty-recipes-instructions li::before {
    min-width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
  }

  /* Category archive filter */
  .cwr-cat-filter { flex-wrap: wrap !important; }
  .cwr-cat-filter button { font-size: 11px !important; padding: 5px 10px !important; }

  /* Pagination */
  .page-numbers.dots { display: none !important; }

  /* Comments */
  .comment-form { padding: 0 !important; }
  #respond h3#reply-title { font-size: 18px !important; }
}
