/* ============================================================
   THE LATIN CRUMB — main.css
   ============================================================ */

/* ── VARIABLES ───────────────────────────────────────────── */
:root {
  --color-bg:        #FFFFFF;
  --color-card:      #EDE9E4;
  --color-light:     #F7F5F3;
  --color-primary:   #B85C3A;
  --color-primary-d: #8f3f22;
  --color-secondary: #D4956A;
  --color-accent:    #4A7C59;
  --color-text:      #1C1009;
  --color-muted:     #7A5C4A;
  --color-border:    #DDD9D4;
  --color-dark:      #1C1009;

  --font-heading: 'Playfair Display', serif;
  --font-body:    'Nunito', sans-serif;

  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  20px;

  --shadow-sm:  0 2px 8px rgba(28,16,9,0.06);
  --shadow-md:  0 4px 16px rgba(28,16,9,0.09);
  --shadow-lg:  0 8px 28px rgba(28,16,9,0.12);

  --container:  1100px;
  --gap:        24px;
}

/* ── RESET & BASE ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background:  var(--color-bg);
  color:       var(--color-text);
  font-size:   17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-primary); }

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

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  line-height: 1.2;
  color: var(--color-text);
}

ul { list-style: none; }


/* ── UTILITIES ───────────────────────────────────────────── */
.container {
  max-width: var(--container);
  margin:    0 auto;
  padding:   0 var(--gap);
}

.section-eyebrow {
  display:        block;
  font-family:    var(--font-body);
  font-size:      11px;
  font-weight:    700;
  color:          var(--color-accent);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom:  6px;
}

.section-title {
  font-size:   28px;
  font-weight: 700;
  margin-top:  4px;
}

.section-header {
  display:         flex;
  justify-content: space-between;
  align-items:     flex-end;
  margin-bottom:   28px;
}

.section-header--center {
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  margin-bottom:  32px;
}

.section-link {
  font-size:   13px;
  font-weight: 700;
  color:       var(--color-primary);
  white-space: nowrap;
  transition:  color .2s;
}
.section-link:hover { color: var(--color-primary-d); }

.btn-primary {
  display:          inline-block;
  background:       var(--color-primary);
  color:            #fff;
  border-radius:    var(--radius-md);
  padding:          13px 28px;
  font-family:      var(--font-body);
  font-size:        15px;
  font-weight:      700;
  transition:       background .2s, transform .15s;
  border:           none;
  cursor:           pointer;
}
.btn-primary:hover { background: var(--color-primary-d); color: #fff; transform: translateY(-1px); }

.btn-accent {
  display:       inline-block;
  background:    var(--color-accent);
  color:         #fff;
  border-radius: var(--radius-md);
  padding:       13px 22px;
  font-family:   var(--font-body);
  font-size:     14px;
  font-weight:   700;
  border:        none;
  cursor:        pointer;
  transition:    background .2s;
  white-space:   nowrap;
}
.btn-accent:hover { background: #3a6347; }

.tlc-no-image {
  display:          flex;
  align-items:      center;
  justify-content:  center;
  background:       linear-gradient(135deg, rgba(212,149,106,.25), var(--color-card));
  font-size:        40px;
  width:            100%;
  height:           100%;
  min-height:       160px;
}


/* ── HEADER ──────────────────────────────────────────────── */
.site-header {
  background:    #fff;
  border-bottom: 1px solid var(--color-card);
  position:      sticky;
  top:           0;
  z-index:       100;
  box-shadow:    0 2px 12px rgba(28,16,9,.06);
}

.header-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  height:          68px;
}

.site-logo {
  font-family:    var(--font-heading);
  font-size:      22px;
  font-weight:    700;
  color:          var(--color-primary);
  letter-spacing: -.5px;
}
.site-logo em { font-style: italic; }

.primary-nav {
  display:     flex;
  align-items: center;
  gap:         28px;
}

.nav-menu {
  display: flex;
  gap:     28px;
}

.nav-menu a {
  font-size:   14px;
  font-weight: 600;
  color:       var(--color-muted);
  transition:  color .2s;
}
.nav-menu a:hover, .nav-menu .current-menu-item > a { color: var(--color-primary); }

.btn-search {
  background:    var(--color-primary);
  color:         #fff;
  border-radius: var(--radius-sm);
  padding:       8px 18px;
  font-family:   var(--font-body);
  font-size:     13px;
  font-weight:   700;
  border:        none;
  cursor:        pointer;
  transition:    background .2s;
}
.btn-search:hover { background: var(--color-primary-d); color: #fff; }

.nav-toggle {
  display:        none;
  flex-direction: column;
  gap:            5px;
  background:     none;
  border:         none;
  cursor:         pointer;
  padding:        4px;
}
.nav-toggle span {
  display:    block;
  width:      24px;
  height:     2px;
  background: var(--color-text);
  transition: all .3s;
}


/* ── HERO ─────────────────────────────────────────────────── */
.hero-section {
  background: linear-gradient(135deg, var(--color-light) 0%, var(--color-card) 100%);
  padding:    64px var(--gap);
}

.hero-inner {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   48px;
  align-items:           center;
}

.hero-text .section-eyebrow { margin-bottom: 12px; }

.hero-title {
  font-size:     42px;
  font-weight:   700;
  line-height:   1.15;
  margin-bottom: 16px;
}
.hero-title em { color: var(--color-primary); font-style: italic; }

.hero-desc {
  font-size:     18px;
  color:         var(--color-muted);
  line-height:   1.8;
  max-width:     420px;
  margin-bottom: 28px;
}

.hero-actions {
  display:     flex;
  gap:         16px;
  align-items: center;
  flex-wrap:   wrap;
}

.hero-meta {
  font-size: 13px;
  color:     var(--color-muted);
}

.hero-image {
  border-radius: var(--radius-xl);
  overflow:      hidden;
  box-shadow:    0 12px 40px rgba(184,92,58,.2);
  aspect-ratio:  4/3;
}

.hero-image img { width: 100%; height: 100%; object-fit: cover; }

.hero-image-placeholder {
  width:            100%;
  height:           340px;
  background:       linear-gradient(135deg, rgba(212,149,106,.4), var(--color-card));
  border-radius:    var(--radius-xl);
  display:          flex;
  align-items:      center;
  justify-content:  center;
  font-size:        90px;
}


/* ── RECIPE CARDS (shared) ───────────────────────────────── */
.card-grid { display: grid; gap: 18px; }
.card-grid--4 { grid-template-columns: repeat(4, 1fr); }
.card-grid--3 { grid-template-columns: repeat(3, 1fr); }

.recipe-card {
  background:    #fff;
  border-radius: var(--radius-lg);
  overflow:      hidden;
  box-shadow:    var(--shadow-sm);
  transition:    transform .2s, box-shadow .2s;
  border:        1px solid var(--color-border);
}
.recipe-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

.card-image-wrap {
  display:  block;
  position: relative;
  overflow: hidden;
}

.card-image-wrap img {
  width:      100%;
  height:     180px;
  object-fit: cover;
  transition: transform .3s;
}
.recipe-card:hover .card-image-wrap img { transform: scale(1.03); }

.card-tag {
  position:      absolute;
  top:           10px;
  right:         10px;
  background:    var(--color-primary);
  color:         #fff;
  font-family:   var(--font-body);
  font-size:     10px;
  font-weight:   700;
  border-radius: 20px;
  padding:       3px 9px;
}

.card-body { padding: 14px 16px 18px; }

.card-eyebrow {
  font-size:      10px;
  font-weight:    700;
  color:          var(--color-accent);
  letter-spacing: 1px;
  text-transform: uppercase;
  display:        block;
  margin-bottom:  4px;
}

.card-title {
  font-family:   var(--font-heading);
  font-size:     15px;
  font-weight:   600;
  line-height:   1.3;
  margin-bottom: 6px;
}
.card-title a:hover { color: var(--color-primary); }

.card-meta {
  font-size: 12px;
  color:     var(--color-muted);
}


/* ── TRENDING SECTION ────────────────────────────────────── */
.trending-section { padding: 56px var(--gap); }


/* ── AUTHOR SECTION ──────────────────────────────────────── */
.author-section {
  background: var(--color-card);
  padding:    56px var(--gap);
}

.author-inner {
  display:               grid;
  grid-template-columns: auto 1fr;
  gap:                   48px;
  align-items:           center;
}

.author-avatar img,
.author-avatar-placeholder {
  width:         180px;
  height:        180px;
  border-radius: 50%;
  object-fit:    cover;
  flex-shrink:   0;
  box-shadow:    0 8px 30px rgba(184,92,58,.3);
}

.author-avatar-placeholder {
  background:      linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       70px;
}

.author-title {
  font-size:     30px;
  font-weight:   700;
  margin-top:    6px;
  margin-bottom: 14px;
}
.author-title em { color: var(--color-primary); font-style: italic; }

.author-bio {
  font-size:     17px;
  color:         var(--color-muted);
  line-height:   1.8;
  max-width:     560px;
  margin-bottom: 20px;
}


/* ── CATEGORIES SECTION ──────────────────────────────────── */
.categories-section { padding: 56px var(--gap); }

.categories-grid {
  display:               grid;
  grid-template-columns: repeat(7, 1fr);
  gap:                   12px;
}

.cat-card {
  display:       flex;
  flex-direction:column;
  align-items:   center;
  background:    #fff;
  border-radius: var(--radius-lg);
  padding:       20px 10px;
  text-align:    center;
  border:        1.5px solid var(--color-card);
  box-shadow:    var(--shadow-sm);
  transition:    background .2s, color .2s, transform .15s;
  cursor:        pointer;
}
.cat-card:hover {
  background: var(--color-primary);
  color:      #fff;
  transform:  translateY(-2px);
}
.cat-card:hover .cat-label { color: #fff; }

.cat-icon { font-size: 32px; margin-bottom: 8px; }

.cat-label {
  font-size:   12px;
  font-weight: 600;
  color:       var(--color-muted);
  transition:  color .2s;
}


/* ── WHAT'S NEW SECTION ──────────────────────────────────── */
.new-section {
  background: var(--color-light);
  padding:    56px var(--gap);
}

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

.new-card {
  display:       flex;
  background:    #fff;
  border-radius: var(--radius-lg);
  overflow:      hidden;
  box-shadow:    var(--shadow-sm);
  border:        1px solid var(--color-border);
  transition:    transform .2s, box-shadow .2s;
}
.new-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }

.new-card-image {
  width:      90px;
  flex-shrink:0;
  overflow:   hidden;
}
.new-card-image img { width: 100%; height: 100%; object-fit: cover; }

.new-card-body { padding: 14px 16px; }

.new-card-title {
  font-family:  var(--font-heading);
  font-size:    14px;
  font-weight:  600;
  line-height:  1.3;
  margin-top:   4px;
  margin-bottom:5px;
}
.new-card-title a:hover { color: var(--color-primary); }


/* ── NEWSLETTER SECTION ──────────────────────────────────── */
.newsletter-section {
  background: var(--color-primary);
  padding:    56px var(--gap);
  text-align: center;
}

.newsletter-inner {
  max-width: 560px;
  margin:    0 auto;
}

.newsletter-icon { font-size: 40px; margin-bottom: 12px; }

.newsletter-title {
  font-family:   var(--font-heading);
  font-size:     28px;
  font-weight:   700;
  color:         #fff;
  margin-bottom: 10px;
}

.newsletter-desc {
  font-size:     15px;
  color:         rgba(255,255,255,.8);
  line-height:   1.7;
  margin-bottom: 28px;
}

.newsletter-form {
  display:     flex;
  gap:         10px;
  max-width:   440px;
  margin:      0 auto 12px;
}

.newsletter-input {
  flex:          1;
  padding:       13px 18px;
  border-radius: var(--radius-md);
  border:        none;
  font-family:   var(--font-body);
  font-size:     14px;
  outline:       none;
}

.newsletter-note {
  font-size: 12px;
  color:     rgba(255,255,255,.6);
}


/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer {
  background: #1C1009;
  padding:    44px var(--gap) 28px;
}

.footer-grid {
  display:               grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap:                   40px;
  margin-bottom:         36px;
}

.footer-logo {
  font-family:   var(--font-heading);
  font-size:     20px;
  font-weight:   700;
  color:         var(--color-secondary);
  display:       block;
  margin-bottom: 10px;
}
.footer-logo em { font-style: italic; }

.footer-brand p {
  font-size:   13px;
  color:       rgba(255,255,255,.5);
  line-height: 1.8;
}

.footer-socials {
  display:    flex;
  gap:        16px;
  margin-top: 16px;
  flex-wrap:  wrap;
}

.social-link {
  font-size:   12px;
  font-weight: 600;
  color:       var(--color-secondary);
  transition:  opacity .2s;
}
.social-link:hover { opacity: .75; color: var(--color-secondary); }

.footer-col-title {
  font-family:    var(--font-body);
  font-size:      11px;
  font-weight:    700;
  color:          var(--color-secondary);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom:  12px;
}

.footer-col ul li,
.footer-nav-list li { margin-bottom: 7px; }

.footer-col ul li a,
.footer-nav-list li a {
  font-size:  13px;
  color:      rgba(255,255,255,.55);
  transition: color .2s;
}
.footer-col ul li a:hover,
.footer-nav-list li a:hover { color: #fff; }

.footer-bottom {
  border-top:  1px solid rgba(255,255,255,.08);
  padding-top: 20px;
  text-align:  center;
}

.footer-bottom p {
  font-size: 12px;
  color:     rgba(255,255,255,.3);
}


/* ── PAGINATION ──────────────────────────────────────────── */
.tlc-pagination {
  display:         flex;
  justify-content: center;
  gap:             8px;
  margin-top:      36px;
}

.tlc-pagination a,
.tlc-pagination span {
  display:       inline-flex;
  align-items:   center;
  justify-content:center;
  min-width:     40px;
  height:        40px;
  border-radius: var(--radius-sm);
  border:        1.5px solid var(--color-border);
  font-family:   var(--font-body);
  font-size:     14px;
  color:         var(--color-muted);
  padding:       0 12px;
  transition:    background .15s, color .15s;
}

.tlc-pagination a:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

.tlc-pagination .current {
  background:   var(--color-primary);
  color:        #fff;
  border-color: var(--color-primary);
  font-weight:  700;
}


/* ── RESPONSIVE ──────────────────────────────────────────── */
@media ( max-width: 1024px ) {
  .card-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .categories-grid { grid-template-columns: repeat(4, 1fr); }
  .hero-title { font-size: 34px; }
}

@media ( max-width: 768px ) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-image { display: none; }
  .hero-title { font-size: 30px; }
  .author-inner { grid-template-columns: 1fr; text-align: center; }
  .author-avatar { margin: 0 auto; }
  .author-bio { max-width: 100%; }
  .card-grid--4,
  .card-grid--3,
  .new-grid      { grid-template-columns: 1fr 1fr; }
  .categories-grid { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .primary-nav .nav-menu { display: none; }
  .nav-toggle { display: flex; }
  .newsletter-form { flex-direction: column; }
}

@media ( max-width: 480px ) {
  .card-grid--4,
  .card-grid--3,
  .new-grid         { grid-template-columns: 1fr; }
  .categories-grid  { grid-template-columns: repeat(2, 1fr); }
  .section-header   { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ============================================================
   SINGLE POST / RECIPE PAGE
   ============================================================ */

.single-wrap { padding: 0 var(--gap) 60px; }

/* Breadcrumb */
.breadcrumb {
  padding:   16px 0 10px;
  font-size: 12px;
  color:     var(--color-muted);
}
.breadcrumb a { color: var(--color-primary); }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb-sep { margin: 0 6px; }

/* Two-column layout */
.single-layout {
  display:               grid;
  grid-template-columns: 1fr 300px;
  gap:                   48px;
  align-items:           start;
}

/* Category label */
.post-category-label {
  display:        inline-block;
  font-size:      11px;
  font-weight:    700;
  color:          var(--color-accent);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom:  8px;
}

/* Post title */
.post-title {
  font-family:   var(--font-heading);
  font-size:     36px;
  font-weight:   700;
  line-height:   1.15;
  margin-bottom: 14px;
}

/* Actions bar */
.post-actions {
  display:       flex;
  align-items:   center;
  gap:           10px;
  flex-wrap:     wrap;
  margin-bottom: 24px;
}

.action-link {
  display:       inline-flex;
  align-items:   center;
  gap:           7px;
  font-family:   var(--font-body);
  font-size:     14px;
  font-weight:   600;
  color:         var(--color-muted);
  background:    transparent;
  border:        1.5px solid var(--color-border);
  border-radius: 30px;
  padding:       8px 16px;
  transition:    all .2s;
  white-space:   nowrap;
}
.action-link:hover {
  border-color: var(--color-primary);
  color:        var(--color-primary);
}
.action-link--primary {
  color:        var(--color-primary);
  border-color: var(--color-primary);
  font-weight:  700;
}
.action-link--primary:hover {
  background: var(--color-primary);
  color:      #fff;
}
.action-sep { display: none; }

/* Author row */
.post-author-row {
  display:       flex;
  align-items:   center;
  gap:           12px;
  margin-bottom: 20px;
}
.author-avatar-sm {
  width:         44px !important;
  height:        44px !important;
  border-radius: 50% !important;
  object-fit:    cover;
}
.author-name {
  font-size:   13px;
  font-weight: 700;
  color:       var(--color-primary);
  display:     block;
}
.post-date {
  font-size: 12px;
  color:     var(--color-muted);
}

/* Intro pull quote */
.post-intro {
  font-size:     17px;
  color:         var(--color-muted);
  font-style:    italic;
  line-height:   1.85;
  margin-bottom: 20px;
  border-left:   3px solid var(--color-secondary);
  padding-left:  16px;
}

/* Hero image */
.post-hero-image {
  border-radius: var(--radius-lg);
  overflow:      hidden;
  margin-bottom: 10px;
  box-shadow:    var(--shadow-md);
}
.post-featured-img {
  width:      100%;
  max-height: 480px;
  object-fit: cover;
}

/* Disclaimer */
.post-disclaimer {
  font-size:     12px;
  color:         var(--color-muted);
  background:    var(--color-light);
  border-radius: var(--radius-sm);
  padding:       10px 14px;
  margin-bottom: 28px;
}
.post-disclaimer a { color: var(--color-primary); }

/* Post body content */
.post-content {
  font-size:   17px;
  line-height: 1.85;
  color:       var(--color-muted);
}
.post-content h2 {
  font-family:   var(--font-heading);
  font-size:     22px;
  font-weight:   700;
  color:         var(--color-text);
  margin:        32px 0 14px;
}
.post-content h3 {
  font-family:   var(--font-heading);
  font-size:     18px;
  font-weight:   600;
  color:         var(--color-text);
  margin:        24px 0 10px;
}
.post-content p  { margin-bottom: 16px; }
.post-content ul,
.post-content ol { padding-left: 20px; margin-bottom: 16px; }
.post-content li { margin-bottom: 6px; }
.post-content img {
  border-radius: var(--radius-md);
  margin:        24px 0;
  width:         100%;
}
.post-content a  { color: var(--color-primary); text-decoration: underline; }
.post-content strong { color: var(--color-text); }

/* Share buttons */
.post-share {
  display:     flex;
  gap:         10px;
  margin:      32px 0;
  flex-wrap:   wrap;
}
.share-btn {
  font-family:   var(--font-body);
  font-size:     12px;
  font-weight:   700;
  background:    var(--color-card);
  color:         var(--color-muted);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding:       8px 16px;
  transition:    background .15s;
}
.share-btn:hover { background: var(--color-primary); color: #fff; }

/* Related posts */
.related-posts   { margin-bottom: 40px; }
.related-title {
  font-family:   var(--font-heading);
  font-size:     22px;
  font-weight:   700;
  margin-bottom: 16px;
}
.card-grid--2 { grid-template-columns: 1fr 1fr; }

/* Author bio box */
.author-bio-box {
  display:       flex;
  gap:           20px;
  align-items:   flex-start;
  background:    var(--color-card);
  border-radius: var(--radius-lg);
  padding:       24px;
  margin-bottom: 40px;
  border:        1px solid var(--color-border);
}
.author-bio-avatar {
  width:         72px !important;
  height:        72px !important;
  border-radius: 50% !important;
  object-fit:    cover;
  flex-shrink:   0;
}
.author-bio-name {
  font-family:   var(--font-heading);
  font-size:     18px;
  font-weight:   700;
  margin-bottom: 8px;
  margin-top:    4px;
}
.author-bio-text {
  font-size:     14px;
  color:         var(--color-muted);
  line-height:   1.7;
}
.author-bio-link {
  display:    inline-block;
  font-size:  13px;
  font-weight:700;
  color:      var(--color-primary);
  margin-top: 8px;
}

/* ── SIDEBAR ─────────────────────────────────────────────── */
.single-sidebar {
  position: sticky;
  top:      88px;
}

.sidebar-widget {
  background:    #fff;
  border-radius: var(--radius-md);
  padding:       20px;
  margin-bottom: 20px;
  border:        1px solid var(--color-border);
}

.sidebar-widget-title {
  font-family:    var(--font-body);
  font-size:      11px;
  font-weight:    700;
  color:          var(--color-accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom:  14px;
}

/* WP default search form reset */
.sidebar-widget .search-form { display: flex; gap: 0; }
.sidebar-widget .search-field {
  flex:          1;
  padding:       10px 14px;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  border:        1.5px solid var(--color-border);
  font-family:   var(--font-body);
  font-size:     13px;
  outline:       none;
}
.sidebar-widget .search-submit {
  background:    var(--color-primary);
  color:         #fff;
  border:        none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding:       0 14px;
  font-size:     14px;
  cursor:        pointer;
}

.sidebar-post-list { display: flex; flex-direction: column; gap: 0; }
.sidebar-post-item {
  padding-bottom: 12px;
  margin-bottom:  12px;
  border-bottom:  1px solid var(--color-border);
}
.sidebar-post-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.sidebar-post-link {
  display: flex;
  gap:     10px;
  align-items: flex-start;
}
.sidebar-post-thumb {
  width:         50px;
  height:        50px;
  border-radius: var(--radius-sm);
  overflow:      hidden;
  flex-shrink:   0;
}
.sidebar-post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-post-title {
  font-family:  var(--font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--color-text);
  line-height:  1.3;
  transition:   color .2s;
}
.sidebar-post-link:hover .sidebar-post-title { color: var(--color-primary); }

.sidebar-cat-list li { border-bottom: 1px solid var(--color-border); }
.sidebar-cat-list li:last-child { border-bottom: none; }
.sidebar-cat-list a {
  display:     flex;
  align-items: center;
  gap:         8px;
  padding:     8px 0;
  font-size:   13px;
  color:       var(--color-muted);
  transition:  color .2s;
}
.sidebar-cat-list a:hover { color: var(--color-primary); }

.sidebar-newsletter {
  background:    var(--color-primary);
  border-radius: var(--radius-md);
  padding:       20px;
  text-align:    center;
  color:         #fff;
}
.sidebar-newsletter h3 {
  font-family:   var(--font-heading);
  font-size:     16px;
  color:         #fff;
  margin-bottom: 6px;
}
.sidebar-newsletter p {
  font-size:     12px;
  color:         rgba(255,255,255,.8);
  line-height:   1.6;
  margin-bottom: 14px;
}

/* ── COMMENTS (WP default + styled) ─────────────────────── */
.comments-area { margin-top: 40px; }
.comments-title {
  font-family:   var(--font-heading);
  font-size:     22px;
  font-weight:   700;
  margin-bottom: 24px;
}
.comment-list         { list-style: none; }
.comment-body {
  background:    #fff;
  border-radius: var(--radius-md);
  padding:       16px 18px;
  border:        1px solid var(--color-border);
  margin-bottom: 12px;
}
.comment-meta        { display: flex; justify-content: space-between; margin-bottom: 8px; }
.comment-author-name { font-size: 14px; font-weight: 700; color: var(--color-text); }
.comment-metadata a  { font-size: 12px; color: var(--color-muted); }
.comment-content p   { font-size: 14px; color: var(--color-muted); line-height: 1.7; }
.children {
  margin-left:  24px;
  margin-top:   8px;
  list-style:   none;
}
.comment-respond       { margin-top: 28px; }
.comment-reply-title {
  font-family:   var(--font-heading);
  font-size:     18px;
  font-weight:   700;
  margin-bottom: 16px;
}
.comment-form label    { font-size: 12px; font-weight: 700; color: var(--color-muted); display: block; margin-bottom: 6px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  width:         100%;
  padding:       11px 14px;
  border-radius: var(--radius-sm);
  border:        1.5px solid var(--color-border);
  font-family:   var(--font-body);
  font-size:     14px;
  outline:       none;
  background:    var(--color-bg);
  margin-bottom: 14px;
  transition:    border-color .2s;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--color-primary); }
.comment-form textarea { resize: vertical; min-height: 120px; }
.form-submit .submit {
  background:    var(--color-primary);
  color:         #fff;
  border:        none;
  border-radius: var(--radius-sm);
  padding:       12px 24px;
  font-family:   var(--font-body);
  font-size:     14px;
  font-weight:   700;
  cursor:        pointer;
  transition:    background .2s;
}
.form-submit .submit:hover { background: var(--color-primary-d); }

/* Responsive single */
@media ( max-width: 1024px ) {
  .single-layout { grid-template-columns: 1fr; }
  .single-sidebar { position: static; }
  .card-grid--2   { grid-template-columns: 1fr 1fr; }
}
@media ( max-width: 480px ) {
  .post-title     { font-size: 26px; }
  .card-grid--2   { grid-template-columns: 1fr; }
  .author-bio-box { flex-direction: column; }
}


/* ============================================================
   SINGLE POST (single.php)
   ============================================================ */

.single-wrap { padding: 0 var(--gap); }

.single-layout {
    display:               grid;
    grid-template-columns: 1fr 300px;
    gap:                   48px;
    align-items:           start;
    padding:               28px 0 60px;
}

/* ── BREADCRUMB ─────────────────────────────────────── */
.breadcrumb {
    font-size:     12px;
    color:         var(--color-muted);
    margin-bottom: 12px;
}
.breadcrumb a         { color: var(--color-primary); }
.breadcrumb a:hover   { text-decoration: underline; }
.breadcrumb-sep       { margin: 0 6px; }

/* ── POST HEADER ────────────────────────────────────── */
.post-eyebrow {
    display:        block;
    font-size:      11px;
    font-weight:    700;
    color:          var(--color-accent);
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom:  8px;
}

.post-title {
    font-size:     36px;
    font-weight:   700;
    line-height:   1.15;
    margin-bottom: 14px;
}

.post-action-bar {
    display:       flex;
    gap:           10px;
    align-items:   center;
    margin-bottom: 18px;
    flex-wrap:     wrap;
}

.action-link {
    font-size:  12px;
    color:      var(--color-muted);
    transition: color .2s;
}
.action-link:hover         { color: var(--color-primary); }
.action-link--primary      { color: var(--color-primary); font-weight: 700; }
.action-sep                { color: var(--color-muted); }

.post-author-bar {
    display:       flex;
    align-items:   center;
    gap:           12px;
    margin-bottom: 22px;
}

.author-avatar-sm {
    width:         44px !important;
    height:        44px !important;
    border-radius: 50% !important;
    object-fit:    cover;
}

.author-name { font-size: 13px; font-weight: 700; color: var(--color-primary); }
.author-name a:hover { text-decoration: underline; }
.author-date { font-size: 12px; color: var(--color-muted); }

/* ── INTRO / EXCERPT ────────────────────────────────── */
.post-intro {
    font-size:     15px;
    font-style:    italic;
    color:         var(--color-muted);
    line-height:   1.85;
    border-left:   3px solid var(--color-secondary);
    padding-left:  16px;
    margin-bottom: 22px;
}

/* ── HERO IMAGE ─────────────────────────────────────── */
.post-hero-image {
    border-radius: var(--radius-lg);
    overflow:      hidden;
    margin-bottom: 12px;
    box-shadow:    var(--shadow-md);
}

.post-hero-image .hero-img {
    width:      100%;
    height:     auto;
    max-height: 520px;
    object-fit: cover;
}

.post-hero-image figcaption {
    font-size:   12px;
    color:       var(--color-muted);
    text-align:  center;
    font-style:  italic;
    padding:     8px 0 4px;
}

/* ── DISCLOSURE ─────────────────────────────────────── */
.post-disclosure {
    font-size:     12px;
    color:         var(--color-muted);
    background:    var(--color-light);
    border-radius: var(--radius-sm);
    padding:       10px 14px;
    margin-bottom: 28px;
}
.post-disclosure a { color: var(--color-primary); }

/* ── POST BODY CONTENT ──────────────────────────────── */
.post-content {
    font-size:   15px;
    line-height: 1.9;
    color:       var(--color-muted);
    margin-bottom: 36px;
}

.post-content h2 {
    font-family:   var(--font-heading);
    font-size:     24px;
    font-weight:   700;
    color:         var(--color-text);
    margin:        32px 0 14px;
}

.post-content h3 {
    font-family:   var(--font-heading);
    font-size:     19px;
    font-weight:   600;
    color:         var(--color-text);
    margin:        24px 0 10px;
}

.post-content p   { margin-bottom: 16px; }

.post-content img {
    border-radius: var(--radius-md);
    margin:        20px 0;
    box-shadow:    var(--shadow-sm);
}

.post-content ul,
.post-content ol {
    padding-left:  20px;
    margin-bottom: 16px;
}
.post-content li  { margin-bottom: 6px; }

.post-content strong { color: var(--color-text); font-weight: 700; }

.post-content a   { color: var(--color-primary); text-decoration: underline; }
.post-content a:hover { color: var(--color-primary-d); }

/* Tip/note box (add class "tlc-tip" to a paragraph in the editor) */
.post-content .tlc-tip,
.post-content blockquote {
    background:    rgba(74,124,89,.08);
    border:        1.5px solid rgba(74,124,89,.3);
    border-radius: var(--radius-md);
    padding:       16px 20px;
    margin:        24px 0;
    font-style:    normal;
    color:         var(--color-text);
}

/* ── SHARE BUTTONS ──────────────────────────────────── */
.post-share {
    display:       flex;
    gap:           10px;
    margin-bottom: 44px;
    flex-wrap:     wrap;
}

.share-btn {
    font-size:     12px;
    font-weight:   700;
    background:    var(--color-card);
    color:         var(--color-muted);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding:       8px 16px;
    transition:    background .15s, color .15s;
}
.share-btn:hover { background: var(--color-primary); color: #fff; }

/* ── RELATED POSTS ──────────────────────────────────── */
.card-grid--2  { grid-template-columns: repeat(2, 1fr); }

.related-posts { margin-bottom: 44px; }

.related-title {
    font-family:   var(--font-heading);
    font-size:     22px;
    font-weight:   700;
    margin-bottom: 18px;
}

/* ── AUTHOR BIO BOX ─────────────────────────────────── */
.author-bio-box {
    display:       flex;
    gap:           20px;
    align-items:   flex-start;
    background:    var(--color-card);
    border-radius: var(--radius-lg);
    padding:       24px;
    margin-bottom: 44px;
    border:        1px solid var(--color-border);
}

.author-bio-avatar {
    width:         72px !important;
    height:        72px !important;
    border-radius: 50% !important;
    object-fit:    cover;
    flex-shrink:   0;
}

.author-bio-name {
    font-family:   var(--font-heading);
    font-size:     18px;
    font-weight:   700;
    margin:        6px 0 8px;
}

.author-bio-text {
    font-size:     14px;
    color:         var(--color-muted);
    line-height:   1.7;
    margin-bottom: 8px;
}

.author-bio-link {
    font-size:   13px;
    font-weight: 700;
    color:       var(--color-primary);
}
.author-bio-link:hover { text-decoration: underline; }

/* ── COMMENTS ───────────────────────────────────────── */
.comments-wrap { margin-bottom: 40px; }

.comments-title {
    font-family:   var(--font-heading);
    font-size:     22px;
    font-weight:   700;
    margin-bottom: 24px;
}

.comment-list      { list-style: none; padding: 0; }

.comment {
    background:    #fff;
    border-radius: var(--radius-md);
    padding:       16px 18px;
    border:        1px solid var(--color-border);
    margin-bottom: 14px;
}

.comment-meta {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-bottom:   8px;
}

.comment-author-name { font-size: 14px; font-weight: 700; color: var(--color-text); }
.comment-date        { font-size: 12px; color: var(--color-muted); }
.comment-body p      { font-size: 14px; color: var(--color-muted); line-height: 1.7; }

.children {
    padding-left: 24px;
    margin-top:   10px;
    list-style:   none;
}

.children .comment {
    background:   rgba(184,92,58,.04);
    border-color: rgba(184,92,58,.2);
}

/* Comment form */
.comment-respond {
    background:    #fff;
    border-radius: var(--radius-lg);
    padding:       24px;
    border:        1px solid var(--color-border);
    margin-top:    28px;
}

.comment-reply-title {
    font-family:   var(--font-heading);
    font-size:     18px;
    font-weight:   700;
    margin-bottom: 16px;
}

.comment-form label {
    display:       block;
    font-size:     12px;
    font-weight:   700;
    color:         var(--color-muted);
    margin-bottom: 5px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width:         100%;
    padding:       11px 14px;
    border-radius: var(--radius-sm);
    border:        1.5px solid var(--color-border);
    font-family:   var(--font-body);
    font-size:     14px;
    outline:       none;
    background:    var(--color-light);
    transition:    border-color .2s;
    margin-bottom: 12px;
}

.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--color-primary); }

.comment-form textarea { resize: vertical; min-height: 110px; }

.comment-form .form-submit input {
    background:    var(--color-primary);
    color:         #fff;
    border:        none;
    border-radius: var(--radius-sm);
    padding:       12px 24px;
    font-family:   var(--font-body);
    font-size:     14px;
    font-weight:   700;
    cursor:        pointer;
    transition:    background .2s;
    width:         auto;
    margin-bottom: 0;
}
.comment-form .form-submit input:hover { background: var(--color-primary-d); }

/* ── SIDEBAR ────────────────────────────────────────── */
.single-sidebar { position: sticky; top: 88px; }

.sidebar-widget {
    background:    #fff;
    border-radius: var(--radius-md);
    padding:       20px;
    margin-bottom: 18px;
    border:        1px solid var(--color-border);
}

.sidebar-widget-title {
    font-family:    var(--font-body);
    font-size:      11px;
    font-weight:    700;
    color:          var(--color-accent);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom:  14px;
}

.sidebar-search { display: flex; }

.sidebar-search-input {
    width:         100%;
    padding:       10px 14px;
    border-radius: var(--radius-sm);
    border:        1.5px solid var(--color-border);
    font-family:   var(--font-body);
    font-size:     13px;
    outline:       none;
    background:    var(--color-light);
    transition:    border-color .2s;
}
.sidebar-search-input:focus { border-color: var(--color-primary); }

.sidebar-post-list { display: flex; flex-direction: column; gap: 0; }

.sidebar-post-item {
    display:       flex;
    gap:           10px;
    padding:       10px 0;
    border-bottom: 1px solid var(--color-border);
    cursor:        pointer;
    transition:    opacity .2s;
}
.sidebar-post-item:last-child  { border-bottom: none; padding-bottom: 0; }
.sidebar-post-item:first-child { padding-top: 0; }
.sidebar-post-item:hover       { opacity: .8; }

.sidebar-post-thumb {
    width:         50px;
    height:        50px;
    border-radius: var(--radius-sm);
    overflow:      hidden;
    flex-shrink:   0;
}
.sidebar-post-thumb img { width: 100%; height: 100%; object-fit: cover; }

.sidebar-thumb-placeholder {
    width:            50px;
    height:           50px;
    background:       var(--color-card);
    border-radius:    var(--radius-sm);
    display:          flex;
    align-items:      center;
    justify-content:  center;
    font-size:        20px;
}

.sidebar-post-title {
    font-family:  var(--font-heading);
    font-size:    13px;
    font-weight:  600;
    line-height:  1.3;
    margin-top:   2px;
}
.sidebar-post-title a:hover { color: var(--color-primary); }

.sidebar-cat-list li {
    border-bottom: 1px solid var(--color-border);
    padding:       7px 0;
}
.sidebar-cat-list li:last-child  { border-bottom: none; padding-bottom: 0; }
.sidebar-cat-list li:first-child { padding-top: 0; }

.sidebar-cat-list a {
    font-size:  13px;
    color:      var(--color-muted);
    display:    flex;
    gap:        8px;
    transition: color .2s;
}
.sidebar-cat-list a:hover { color: var(--color-primary); }

.sidebar-newsletter {
    background: var(--color-primary) !important;
    text-align: center;
    border:     none !important;
}

.sidebar-newsletter .newsletter-icon { font-size: 28px; margin-bottom: 8px; }

.sidebar-newsletter-title {
    font-family:   var(--font-heading);
    font-size:     16px;
    font-weight:   700;
    color:         #fff;
    margin-bottom: 6px;
}

.sidebar-newsletter-desc {
    font-size:     12px;
    color:         rgba(255,255,255,.8);
    line-height:   1.6;
    margin-bottom: 14px;
}

.sidebar-newsletter-form { display: flex; flex-direction: column; gap: 8px; }

.sidebar-email-input {
    padding:       9px 12px !important;
    border-radius: var(--radius-sm) !important;
    border:        none !important;
    font-family:   var(--font-body);
    font-size:     13px;
    outline:       none;
}

.sidebar-subscribe-btn { width: 100%; justify-content: center; }

/* ── SINGLE RESPONSIVE ──────────────────────────────── */
@media ( max-width: 900px ) {
    .single-layout {
        grid-template-columns: 1fr;
    }
    .single-sidebar {
        position: static;
    }
}

@media ( max-width: 600px ) {
    .post-title { font-size: 26px; }
    .card-grid--2 { grid-template-columns: 1fr; }
    .author-bio-box { flex-direction: column; }
}


/* ============================================================
   ABOUT PAGE
   ============================================================ */

.about-page { padding-bottom: 60px; }

/* Hero */
.about-hero {
  background:    linear-gradient(135deg, var(--color-card) 0%, var(--color-light) 100%);
  border-bottom: 1px solid var(--color-border);
  padding:       60px var(--gap);
}

.about-hero-inner {
  display:               grid;
  grid-template-columns: 240px 1fr;
  gap:                   52px;
  align-items:           center;
}

.about-hero-photo {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            16px;
}

.about-avatar-img {
  width:         220px !important;
  height:        220px !important;
  border-radius: 50% !important;
  object-fit:    cover;
  box-shadow:    0 10px 36px rgba(184,92,58,.3);
}

.about-avatar-placeholder {
  width:           220px;
  height:          220px;
  border-radius:   50%;
  background:      linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       90px;
  box-shadow:      0 10px 36px rgba(184,92,58,.3);
}

.about-socials {
  display: flex;
  gap:     10px;
}

.about-social-btn {
  width:           36px;
  height:          36px;
  border-radius:   50%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       16px;
  box-shadow:      0 2px 8px rgba(0,0,0,.15);
  transition:      transform .2s, box-shadow .2s;
}
.about-social-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.2); }

.about-hero-title {
  font-family:   var(--font-heading);
  font-size:     40px;
  font-weight:   700;
  line-height:   1.15;
  color:         var(--color-text);
  margin:        8px 0 16px;
}
.about-hero-title em { color: var(--color-primary); font-style: italic; }

.about-hero-lead {
  font-size:     18px;
  color:         var(--color-muted);
  line-height:   1.85;
  max-width:     520px;
  margin-bottom: 24px;
}

.about-stats {
  display: flex;
  gap:     16px;
  flex-wrap: wrap;
}

.about-stat {
  display:       flex;
  align-items:   center;
  gap:           8px;
  background:    #fff;
  border-radius: var(--radius-md);
  padding:       10px 16px;
  border:        1px solid var(--color-border);
}

.about-stat-icon  { font-size: 18px; }
.about-stat-label { font-size: 13px; font-weight: 700; color: var(--color-text); }

/* Content sections */
.about-content { max-width: 780px; margin: 0 auto; padding: 0 var(--gap); }

.about-section { padding: 56px 0 0; }

.about-section-title {
  font-family:   var(--font-heading);
  font-size:     30px;
  font-weight:   700;
  color:         var(--color-text);
  margin:        6px 0 24px;
}

.about-text {
  font-size:     17px;
  color:         var(--color-muted);
  line-height:   1.9;
  margin-bottom: 18px;
}
.about-text em { color: var(--color-text); font-style: italic; }

.about-photo-inline {
  border-radius: var(--radius-lg);
  overflow:      hidden;
  margin:        28px 0;
  box-shadow:    var(--shadow-md);
}
.about-photo-inline img { width: 100%; max-height: 400px; object-fit: cover; }

.about-photo-placeholder {
  background:      linear-gradient(135deg, rgba(212,149,106,.3), var(--color-card));
  border-radius:   var(--radius-lg);
  height:          240px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       70px;
  margin:          28px 0;
}

.about-quote {
  border-left:   4px solid var(--color-primary);
  margin:        28px 0;
  padding:       16px 24px;
  background:    var(--color-light);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-family:   var(--font-heading);
  font-size:     18px;
  font-style:    italic;
  color:         var(--color-text);
  line-height:   1.6;
}

/* Values grid */
.about-values { padding: 56px 0 0; }

.about-values-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   18px;
  margin-top:            24px;
}

.about-value-card {
  background:    #fff;
  border-radius: var(--radius-lg);
  padding:       24px 20px;
  border:        1.5px solid var(--color-border);
  box-shadow:    var(--shadow-sm);
  transition:    box-shadow .2s, transform .2s;
}
.about-value-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.about-value-icon  { font-size: 32px; display: block; margin-bottom: 12px; }

.about-value-card h3 {
  font-family:   var(--font-heading);
  font-size:     17px;
  font-weight:   700;
  color:         var(--color-text);
  margin-bottom: 8px;
}

.about-value-card p {
  font-size:   13px;
  color:       var(--color-muted);
  line-height: 1.7;
}

/* CTA section */
.about-cta {
  background:    var(--color-card);
  border-radius: var(--radius-xl);
  padding:       48px 40px;
  text-align:    center;
  margin-top:    56px;
  border:        1px solid var(--color-border);
}

.about-cta-emoji { font-size: 44px; display: block; margin-bottom: 14px; }

.about-cta h2 {
  font-family:   var(--font-heading);
  font-size:     28px;
  font-weight:   700;
  color:         var(--color-text);
  margin-bottom: 14px;
}

.about-cta p {
  font-size:     15px;
  color:         var(--color-muted);
  line-height:   1.8;
  max-width:     520px;
  margin:        0 auto 16px;
}

.about-cta-sign {
  font-size:     16px !important;
  color:         var(--color-text) !important;
  margin-bottom: 28px !important;
}

.about-cta-buttons {
  display:     flex;
  gap:         14px;
  justify-content: center;
  flex-wrap:   wrap;
}

.btn-outline {
  display:       inline-block;
  background:    transparent;
  color:         var(--color-primary);
  border:        2px solid var(--color-primary);
  border-radius: var(--radius-md);
  padding:       13px 28px;
  font-family:   var(--font-body);
  font-size:     14px;
  font-weight:   700;
  transition:    all .2s;
}
.btn-outline:hover { background: var(--color-primary); color: #fff; }

/* Responsive */
@media ( max-width: 768px ) {
  .about-hero-inner   { grid-template-columns: 1fr; text-align: center; }
  .about-hero-photo   { margin: 0 auto; }
  .about-hero-lead    { max-width: 100%; }
  .about-stats        { justify-content: center; }
  .about-values-grid  { grid-template-columns: 1fr; }
  .about-hero-title   { font-size: 28px; }
  .about-cta          { padding: 32px 20px; }
}


/* ── SIDEBAR MINI ABOUT ──────────────────────────────────── */
.sidebar-about {
  display:     flex;
  gap:         14px;
  align-items: flex-start;
}

.sidebar-about-avatar {
  width:         72px !important;
  height:        72px !important;
  border-radius: 50% !important;
  object-fit:    cover;
  flex-shrink:   0;
}

.sidebar-about-text p {
  font-size:   13px;
  color:       var(--color-muted);
  line-height: 1.6;
  margin-top:  4px;
}

.sidebar-about-name {
  font-family: var(--font-heading);
  font-size:   16px;
  font-weight: 700;
  color:       var(--color-text);
}

.sidebar-about-link {
  display:     inline-block;
  font-size:   12px;
  font-weight: 700;
  color:       var(--color-primary);
  margin-top:  8px;
  transition:  color .2s;
}
.sidebar-about-link:hover { color: var(--color-primary-d); }


/* ── ABOUT PAGE — SOCIAL ICONS (minimalist SVG) ─────────── */
.about-socials {
  display: flex;
  gap:     16px;
  margin-top: 16px;
}

.about-social-icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           36px;
  height:          36px;
  border-radius:   50%;
  border:          1.5px solid var(--color-border);
  color:           var(--color-muted);
  background:      #fff;
  transition:      color .2s, border-color .2s, transform .2s;
}
.about-social-icon:hover {
  color:         var(--color-primary);
  border-color:  var(--color-primary);
  transform:     translateY(-2px);
}

/* Remove old emoji social styles */
.about-social-btn { display: none; }

/* ── ABOUT BODY (WP editor content) ─────────────────────── */
.about-body {
  padding:   56px 0 0;
  max-width: 680px;
}

.about-body h2 {
  font-family:   var(--font-heading);
  font-size:     28px;
  font-weight:   700;
  color:         var(--color-text);
  margin:        40px 0 16px;
}

.about-body h3 {
  font-family:   var(--font-heading);
  font-size:     20px;
  font-weight:   600;
  color:         var(--color-text);
  margin:        28px 0 12px;
}

.about-body p {
  font-size:     17px;
  color:         var(--color-muted);
  line-height:   1.9;
  margin-bottom: 18px;
}

.about-body em  { color: var(--color-text); font-style: italic; }
.about-body strong { color: var(--color-text); }

.about-body blockquote {
  border-left:   4px solid var(--color-primary);
  padding:       16px 24px;
  background:    var(--color-light);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-family:   var(--font-heading);
  font-size:     18px;
  font-style:    italic;
  color:         var(--color-text);
  line-height:   1.6;
  margin:        28px 0;
}

.about-body img {
  width:         100%;
  border-radius: var(--radius-lg);
  margin:        28px 0;
  box-shadow:    var(--shadow-md);
}

/* ── ABOUT VALUE CARDS — no emoji ────────────────────────── */
.about-value-card h3 {
  font-family:   var(--font-heading);
  font-size:     17px;
  font-weight:   700;
  color:         var(--color-text);
  margin-bottom: 8px;
  padding-top:   0;
}
.about-value-card h3::before {
  content:       '';
  display:       block;
  width:         28px;
  height:        2px;
  background:    var(--color-primary);
  margin-bottom: 12px;
}


/* ── SIDEBAR AUTHOR BOX (Sally's style) ─────────────────── */
.sidebar-author {
  background:    #fff;
  border-radius: var(--radius-md);
  padding:       20px;
  margin-bottom: 20px;
  border:        1px solid var(--color-border);
}

.sidebar-author-top {
  display:     flex;
  gap:         14px;
  align-items: center;
  margin-bottom: 12px;
}

.sidebar-author-avatar {
  width:         80px !important;
  height:        80px !important;
  border-radius: 50% !important;
  object-fit:    cover;
  flex-shrink:   0;
}

.sidebar-author-label {
  font-family:    var(--font-body);
  font-size:      10px;
  font-weight:    700;
  color:          var(--color-accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom:  4px;
}

.sidebar-author-name {
  font-family: var(--font-heading);
  font-size:   17px;
  font-weight: 700;
  color:       var(--color-text);
  line-height: 1.2;
}

.sidebar-author-bio {
  font-size:     13px;
  color:         var(--color-muted);
  line-height:   1.65;
  margin-bottom: 12px;
}

.sidebar-author-link {
  display:     inline-block;
  font-size:   13px;
  font-weight: 700;
  color:       var(--color-primary);
  transition:  color .2s;
}
.sidebar-author-link:hover { color: var(--color-primary-d); }


/* ── ABOUT HERO — featured image (not Gravatar) ─────────── */
.about-avatar-img,
.about-hero-photo img {
  width:         260px !important;
  height:        260px !important;
  border-radius: 50% !important;
  object-fit:    cover;
  object-position: center top;
  box-shadow:    0 10px 36px rgba(184,92,58,.3);
  display:       block;
}


/* ── FOOTER SOCIAL ICONS (SVG minimalist) ────────────────── */
.footer-social-icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           34px;
  height:          34px;
  border-radius:   50%;
  border:          1.5px solid rgba(255,255,255,.2);
  color:           rgba(255,255,255,.6);
  transition:      color .2s, border-color .2s, transform .2s;
}
.footer-social-icon:hover {
  color:         var(--color-secondary);
  border-color:  var(--color-secondary);
  transform:     translateY(-2px);
}

/* ── SHARE BUTTONS (SVG + label) ────────────────────────── */
.share-btn {
  display:       inline-flex;
  align-items:   center;
  gap:           7px;
}
.share-btn svg { flex-shrink: 0; }


/* ── TAG SECTIONS (seasonal & holiday) ──────────────────── */
.tag-section {
  padding: 56px var(--gap);
}

.tag-section + .tag-section {
  padding-top: 0;
}


/* ── TAG SECTIONS (seasonal & holiday) ──────────────────── */
.tag-section {
  padding: 56px var(--gap);
}

.tag-section + .tag-section {
  padding-top: 0;
}


/* ── TASTY RECIPES — image size fix ─────────────────────── */
/* Prevent our post-content img rule from bloating card images */
[id^="tasty-recipes-"] img {
  width:      auto !important;
  max-width:  100% !important;
  height:     auto !important;
  max-height: 400px !important;
  margin:     0 auto !important;
  display:    block !important;
}


/* ── TASTY RECIPES jump shortcode — match action-link style ─ */
.tasty-recipes-jump-link,
.tasty-recipe-jump a {
  font-family: var(--font-body) !important;
  font-size:   12px !important;
  font-weight: 700 !important;
  color:       var(--color-primary) !important;
  background:  none !important;
  border:      none !important;
  padding:     0 !important;
  cursor:      pointer !important;
  transition:  color .2s !important;
}
.tasty-recipes-jump-link:hover,
.tasty-recipe-jump a:hover {
  color: var(--color-primary-d) !important;
}


/* ============================================================
   CONTACT PAGE
   ============================================================ */

.contact-hero {
  background:    linear-gradient(135deg, var(--color-card) 0%, var(--color-light) 100%);
  border-bottom: 1px solid var(--color-border);
  padding:       48px var(--gap) 40px;
}

.contact-hero-title {
  font-family:   var(--font-heading);
  font-size:     36px;
  font-weight:   700;
  color:         var(--color-text);
  margin:        6px 0 10px;
}

.contact-hero-desc {
  font-size:  16px;
  color:      var(--color-muted);
  max-width:  480px;
  line-height: 1.7;
}

.contact-body {
  padding: 48px var(--gap) 60px;
}

.contact-grid {
  display:               grid;
  grid-template-columns: 1fr 300px;
  gap:                   48px;
  align-items:           start;
}

/* Form wrap */
.contact-form-wrap {
  background:    #fff;
  border-radius: var(--radius-lg);
  padding:       32px;
  border:        1px solid var(--color-border);
  box-shadow:    var(--shadow-sm);
}

/* Style WP default form elements inside contact page */
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap textarea,
.contact-form-wrap select {
  width:         100%;
  padding:       11px 14px;
  border-radius: var(--radius-sm);
  border:        1.5px solid var(--color-border);
  font-family:   var(--font-body);
  font-size:     15px;
  color:         var(--color-text);
  background:    var(--color-bg);
  outline:       none;
  margin-bottom: 14px;
  transition:    border-color .2s;
}
.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus {
  border-color: var(--color-primary);
}
.contact-form-wrap textarea { resize: vertical; min-height: 130px; }

.contact-form-wrap label {
  display:       block;
  font-size:     12px;
  font-weight:   700;
  color:         var(--color-muted);
  margin-bottom: 6px;
  letter-spacing: .5px;
}

.contact-form-wrap input[type="submit"],
.contact-form-wrap button[type="submit"] {
  background:    var(--color-primary);
  color:         #fff;
  border:        none;
  border-radius: var(--radius-md);
  padding:       13px 28px;
  font-family:   var(--font-body);
  font-size:     15px;
  font-weight:   700;
  cursor:        pointer;
  transition:    background .2s;
}
.contact-form-wrap input[type="submit"]:hover,
.contact-form-wrap button[type="submit"]:hover {
  background: var(--color-primary-d);
}

/* Info cards */
.contact-info { display: flex; flex-direction: column; gap: 16px; }

.contact-info-card {
  background:    #fff;
  border-radius: var(--radius-md);
  padding:       20px;
  border:        1px solid var(--color-border);
}

.contact-info-title {
  font-family:   var(--font-body);
  font-size:     11px;
  font-weight:   700;
  color:         var(--color-accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.contact-info-item {
  display:     flex;
  gap:         12px;
  align-items: flex-start;
  margin-bottom: 14px;
  color:       var(--color-muted);
}
.contact-info-item:last-child { margin-bottom: 0; }
.contact-info-item svg { flex-shrink: 0; margin-top: 2px; color: var(--color-primary); }

.contact-info-label {
  font-size:   11px;
  font-weight: 700;
  color:       var(--color-muted);
  margin-bottom: 2px;
}
.contact-info-value {
  font-size: 14px;
  color:     var(--color-text);
  font-weight: 600;
}
a.contact-info-value:hover { color: var(--color-primary); }

/* Social rows */
.contact-social-row {
  display:       flex;
  gap:           12px;
  align-items:   center;
  padding:       9px 0;
  border-bottom: 1px solid var(--color-border);
  transition:    color .2s;
}
.contact-social-row:last-child { border-bottom: none; }
.contact-social-row:hover { color: var(--color-primary); }
.contact-social-row:hover .contact-social-label { color: var(--color-primary); }

.contact-social-icon {
  width:           32px;
  height:          32px;
  border-radius:   50%;
  border:          1.5px solid var(--color-border);
  display:         flex;
  align-items:     center;
  justify-content: center;
  color:           var(--color-muted);
  flex-shrink:     0;
  transition:      border-color .2s, color .2s;
}
.contact-social-row:hover .contact-social-icon {
  border-color: var(--color-primary);
  color:        var(--color-primary);
}

.contact-social-label {
  font-size:   13px;
  font-weight: 700;
  color:       var(--color-text);
  transition:  color .2s;
}
.contact-social-handle {
  font-size: 12px;
  color:     var(--color-muted);
}

.contact-info-note {
  background:    var(--color-light);
  border-radius: var(--radius-md);
  padding:       16px;
  border:        1px solid var(--color-border);
  font-size:     13px;
  color:         var(--color-muted);
  line-height:   1.7;
}

/* Responsive */
@media ( max-width: 768px ) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-form-wrap { padding: 20px; }
}
