/*
Theme Name: Medieval Kingdom
Theme URI: https://medievalkingdom.theme
Author: Medieval Kingdom Studio
Description: Temă WordPress medievală cu design inspirat din tărâmuri fantastice — compatibilă 100% cu Elementor. Include header cu scut heraldic, hero cu fundal castel, carduri pergament, sidebar și footer regal.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: medieval-kingdom
Tags: medieval, fantasy, dark, elementor, custom-logo, custom-menu, featured-images, footer-widgets, sidebar, blog, e-commerce
*/

/* ============================================================
   GOOGLE FONTS + VARIABLES
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cinzel+Decorative:wght@400;700;900&family=IM+Fell+English:ital@0;1&family=MedievalSharp&display=swap');

:root {
  /* Colors */
  --mk-bg:          #1a1510;
  --mk-bg2:         #0f0d09;
  --mk-bg3:         #231d14;
  --mk-surface:     #2a2218;
  --mk-surface2:    #342b1e;

  --mk-gold:        #c9a84c;
  --mk-gold2:       #e8c97a;
  --mk-gold-dark:   #8a6d28;
  --mk-gold-border: rgba(201,168,76,0.35);

  --mk-red:         #8b1a1a;
  --mk-red2:        #6b1212;

  --mk-parch:       #d4b896;
  --mk-parch2:      #c4a57e;
  --mk-parch3:      #b8956a;
  --mk-parch-bg:    #e8d4b0;
  --mk-parch-bg2:   #ddc89a;
  --mk-parch-dark:  #8b6e45;

  --mk-text:        #e0d0b0;
  --mk-text2:       #b8a070;
  --mk-text3:       #7a6545;
  --mk-ink:         #2a1f10;

  /* Topbar */
  --mk-topbar-bg:   #0a0806;

  /* Typography */
  --font-display: 'Cinzel Decorative', 'Palatino Linotype', serif;
  --font-heading: 'Cinzel', 'Palatino Linotype', serif;
  --font-body:    'IM Fell English', Georgia, serif;

  /* Misc */
  --mk-radius:    2px;
  --mk-shadow:    0 4px 24px rgba(0,0,0,0.7);
  --mk-trans:     all 0.25s ease;
  --mk-border:    1px solid var(--mk-gold-border);
}

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

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background-color: var(--mk-bg);
  color: var(--mk-text);
  line-height: 1.75;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: var(--mk-gold); text-decoration: none; transition: var(--mk-trans); }
a:hover { color: var(--mk-gold2); }

ul { list-style: none; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
  color: var(--mk-gold);
  line-height: 1.2;
  margin-bottom: .75rem;
}
h1 { font-size: clamp(2rem,5vw,3.2rem); }
h2 { font-size: clamp(1.5rem,4vw,2.4rem); }
h3 { font-size: clamp(1.2rem,3vw,1.7rem); }
h4 { font-size: 1.25rem; }

p { margin-bottom: 1rem; color: var(--mk-text); }

/* Drop Cap */
.has-drop-cap > p:first-child::first-letter {
  font-family: var(--font-display);
  font-size: 5rem;
  font-weight: 900;
  float: left;
  line-height: .75;
  margin: .05em .1em 0 0;
  color: var(--mk-gold);
}

blockquote {
  border-left: 3px solid var(--mk-gold-dark);
  padding: 1rem 1.5rem;
  background: rgba(201,168,76,.05);
  font-style: italic;
  margin: 1.5rem 0;
}

/* ============================================================
   TOPBAR
   ============================================================ */
.mk-topbar {
  background: var(--mk-topbar-bg);
  border-bottom: 1px solid rgba(201,168,76,.2);
  padding: .45rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-heading);
  font-size: .72rem;
  color: var(--mk-text2);
  letter-spacing: .04em;
}

.mk-topbar-msg { display: flex; align-items: center; gap: .5rem; }
.mk-topbar-msg::before { content: '🛡'; font-size: .9rem; }

.mk-topbar-social { display: flex; gap: 1rem; }
.mk-topbar-social a {
  color: var(--mk-text2);
  font-size: .9rem;
  transition: var(--mk-trans);
}
.mk-topbar-social a:hover { color: var(--mk-gold); }

/* ============================================================
   HEADER
   ============================================================ */
#masthead {
  background: linear-gradient(180deg, #111009 0%, #1a1510 100%);
  border-bottom: 2px solid var(--mk-gold-dark);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 20px rgba(0,0,0,.8);
}

.mk-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
}

/* Logo */
.mk-logo {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
}

.mk-logo-shield {
  width: 64px;
  height: 74px;
  flex-shrink: 0;
}

.mk-logo-text { line-height: 1.1; }

.mk-logo-title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--mk-gold);
  letter-spacing: .06em;
  display: block;
  text-shadow: 0 0 20px rgba(201,168,76,.3);
}

.mk-logo-subtitle {
  font-family: var(--font-heading);
  font-size: .75rem;
  color: var(--mk-gold-dark);
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Red heraldic banner (top-right decoration) */
.mk-header-banner {
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
  pointer-events: none;
  z-index: 2;
  opacity: .9;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.mk-nav ul {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
}

.mk-nav ul li { position: relative; }

.mk-nav ul li a {
  display: block;
  padding: .6rem 1.1rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mk-text);
  transition: var(--mk-trans);
  white-space: nowrap;
}

.mk-nav ul li a:hover,
.mk-nav ul li.current-menu-item > a {
  color: var(--mk-gold);
}

/* Underline bar on active */
.mk-nav ul li.current-menu-item > a::after {
  content: '';
  display: block;
  height: 2px;
  background: var(--mk-gold);
  margin-top: 2px;
  border-radius: 1px;
  animation: slideIn .3s ease;
}

@keyframes slideIn { from { width: 0; } to { width: 100%; } }

/* Dropdown */
.mk-nav ul li ul {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: #1a1510;
  border: var(--mk-border);
  border-top: 2px solid var(--mk-gold-dark);
  box-shadow: var(--mk-shadow);
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: var(--mk-trans);
  z-index: 200;
  display: flex;
}

.mk-nav ul li:hover > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mk-nav ul li ul li a {
  padding: .55rem 1.2rem;
  font-size: .74rem;
  border-bottom: 1px solid rgba(201,168,76,.08);
}

/* Mobile toggle */
.mk-toggle {
  display: none;
  background: none;
  border: var(--mk-border);
  color: var(--mk-gold);
  padding: .4rem .7rem;
  font-size: 1.3rem;
  cursor: pointer;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
}
.mk-toggle:hover { background: rgba(201,168,76,.1); }

/* ============================================================
   HERO
   ============================================================ */
.mk-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.mk-hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('assets/images/hero-castle.jpg');
  background-size: cover;
  background-position: center 30%;
  filter: brightness(.45) sepia(.2);
  transform: scale(1.03);
  transition: transform 12s ease;
}

.mk-hero:hover .mk-hero-bg { transform: scale(1); }

.mk-hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(10,8,5,.85) 0%,
    rgba(10,8,5,.5)  50%,
    rgba(10,8,5,.1)  100%
  );
}

/* Left-side banner decoration */
.mk-hero-left-banner {
  position: absolute;
  left: 3%;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  z-index: 5;
  pointer-events: none;
}

.mk-hero-left-banner svg {
  height: 380px;
  width: auto;
  filter: drop-shadow(4px 0 12px rgba(0,0,0,.6));
}

.mk-hero-content {
  position: relative;
  z-index: 10;
  padding: 4rem 2rem 4rem 16%;
  max-width: 680px;
}

.mk-hero-eyebrow {
  font-family: var(--font-heading);
  font-size: .78rem;
  color: var(--mk-gold);
  letter-spacing: .35em;
  text-transform: uppercase;
  margin-bottom: .8rem;
}

.mk-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem,6vw,4rem);
  color: #fff;
  line-height: 1.1;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 20px rgba(0,0,0,.9);
}

.mk-hero-title span { color: var(--mk-gold); }

/* Ornament line */
.mk-hero-ornament {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1.2rem;
  color: var(--mk-gold-dark);
}
.mk-hero-ornament::before,
.mk-hero-ornament::after {
  content: '';
  flex: 0 0 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mk-gold-dark));
}
.mk-hero-ornament::after {
  background: linear-gradient(90deg, var(--mk-gold-dark), transparent);
}

.mk-hero-desc {
  font-size: 1.05rem;
  color: rgba(224,208,176,.85);
  margin-bottom: 2rem;
  font-style: italic;
  line-height: 1.7;
}

.mk-hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ============================================================
   BUTTONS
   ============================================================ */
.mk-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.8rem;
  font-family: var(--font-heading);
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
  white-space: nowrap;
}

/* Crimson (primary) */
.mk-btn-red {
  background: linear-gradient(135deg, #6b1212 0%, #9b1e1e 50%, #6b1212 100%);
  color: #e8d0a0;
  border: 1px solid #a82020;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.mk-btn-red:hover {
  background: linear-gradient(135deg, #8b1818, #b82222, #8b1818);
  color: #f0ddb0;
  box-shadow: 0 0 16px rgba(139,26,26,.5);
  transform: translateY(-1px);
}

/* Gold outline */
.mk-btn-outline {
  background: transparent;
  color: var(--mk-gold);
  border: 1px solid var(--mk-gold-dark);
}
.mk-btn-outline:hover {
  background: rgba(201,168,76,.1);
  color: var(--mk-gold2);
  border-color: var(--mk-gold);
  box-shadow: 0 0 16px rgba(201,168,76,.2);
  transform: translateY(-1px);
}

/* Gold filled */
.mk-btn-gold {
  background: linear-gradient(135deg, #8a6d28 0%, #c9a84c 50%, #8a6d28 100%);
  color: #1a1510;
  border: 1px solid #a07a30;
}
.mk-btn-gold:hover {
  background: linear-gradient(135deg, #a07a30, #e8c97a, #a07a30);
  color: #111;
  box-shadow: 0 0 20px rgba(201,168,76,.4);
  transform: translateY(-1px);
}

/* Parchment button */
.mk-btn-parch {
  background: var(--mk-parch-bg);
  color: var(--mk-ink);
  border: 1px solid var(--mk-parch3);
}
.mk-btn-parch:hover {
  background: var(--mk-parch-bg2);
  color: var(--mk-ink);
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}

/* Small / Large */
.mk-btn-sm { padding: .45rem 1.1rem; font-size: .68rem; }
.mk-btn-lg { padding: .9rem 2.4rem; font-size: .85rem; }

/* Search button */
.mk-btn-search {
  background: var(--mk-red);
  color: #e8d0a0;
  border: 1px solid #a82020;
  padding: .45rem 1rem;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: var(--font-heading);
  cursor: pointer;
  border-radius: 0 var(--mk-radius) var(--mk-radius) 0;
  transition: var(--mk-trans);
  white-space: nowrap;
}
.mk-btn-search:hover { background: #a82020; }

/* ============================================================
   FEATURE CARDS (Parchment style)
   ============================================================ */
.mk-features {
  background: var(--mk-bg);
  padding: 2.5rem 0 3rem;
}

.mk-features-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 300px;
  gap: 1.5rem;
  align-items: start;
}

.mk-feat-card {
  background: linear-gradient(160deg, var(--mk-parch-bg) 0%, var(--mk-parch-bg2) 100%);
  border: 1px solid var(--mk-parch3);
  border-radius: var(--mk-radius);
  padding: 1.4rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  position: relative;
  box-shadow: inset 0 0 40px rgba(139,110,69,.15), 0 2px 8px rgba(0,0,0,.4);
  transition: var(--mk-trans);
}

/* Corner ornaments */
.mk-feat-card::before,
.mk-feat-card::after {
  content: '';
  position: absolute;
  width: 14px; height: 14px;
  border-color: var(--mk-parch-dark);
  border-style: solid;
}
.mk-feat-card::before {
  top: 6px; left: 6px;
  border-width: 2px 0 0 2px;
}
.mk-feat-card::after {
  bottom: 6px; right: 6px;
  border-width: 0 2px 2px 0;
}

.mk-feat-card:hover {
  box-shadow: inset 0 0 40px rgba(139,110,69,.2), 0 6px 20px rgba(0,0,0,.5);
  transform: translateY(-2px);
}

.mk-feat-icon {
  width: 54px;
  height: 54px;
  flex-shrink: 0;
  background: linear-gradient(135deg, #5c1010, #8b1a1a);
  border: 2px solid var(--mk-parch3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  clip-path: polygon(50% 0%,95% 15%,100% 55%,75% 100%,25% 100%,0% 55%,5% 15%);
}

.mk-feat-body { flex: 1; }

.mk-feat-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  color: var(--mk-ink);
  margin-bottom: .4rem;
  font-weight: 700;
}

.mk-feat-text {
  font-size: .82rem;
  color: var(--mk-parch-dark);
  line-height: 1.55;
  margin-bottom: .6rem;
}

.mk-feat-link {
  font-family: var(--font-heading);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mk-red);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: var(--mk-trans);
}
.mk-feat-link:hover { color: #c03030; gap: .5rem; }
.mk-feat-link::after { content: '›'; font-size: 1rem; line-height: 1; }

/* ============================================================
   MAIN LAYOUT (content + sidebar)
   ============================================================ */
.mk-main-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem 2rem 3rem;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 2rem;
  align-items: start;
}

/* ============================================================
   BLOG SECTION (Latest News)
   ============================================================ */
.mk-news-box {
  background: linear-gradient(160deg, var(--mk-parch-bg) 0%, var(--mk-parch-bg2) 100%);
  border: 1px solid var(--mk-parch3);
  box-shadow: inset 0 0 60px rgba(139,110,69,.12), 0 2px 8px rgba(0,0,0,.4);
  padding: 1.8rem;
  position: relative;
}

/* Four-corner ornament box */
.mk-news-box::before,
.mk-news-box::after,
.mk-news-box > .mk-corner-tl,
.mk-news-box > .mk-corner-br {
  content: '';
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--mk-parch-dark);
  border-style: solid;
  pointer-events: none;
}
.mk-news-box::before  { top: 8px;    left: 8px;    border-width: 2px 0 0 2px; }
.mk-news-box::after   { top: 8px;    right: 8px;   border-width: 2px 2px 0 0; }

.mk-news-title {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: var(--mk-ink);
  margin-bottom: 1.4rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.mk-news-title::before { content: '❖'; color: var(--mk-gold-dark); font-size: .9rem; }

.mk-post-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.2rem;
  margin-bottom: 1.5rem;
}

.mk-post-thumb {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: var(--mk-radius);
  border: 1px solid var(--mk-parch3);
}
.mk-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
  filter: sepia(.25) brightness(.9);
}
.mk-post-item:hover .mk-post-thumb img {
  transform: scale(1.06);
  filter: sepia(.1) brightness(1);
}

.mk-post-meta {
  font-size: .72rem;
  color: var(--mk-parch-dark);
  margin-bottom: .4rem;
  font-family: var(--font-heading);
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
}
.mk-post-meta .sep { color: var(--mk-parch3); }

.mk-post-title-link {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  color: var(--mk-ink);
  display: block;
  margin-bottom: .5rem;
  line-height: 1.3;
  transition: var(--mk-trans);
}
.mk-post-title-link:hover { color: var(--mk-red); }

.mk-post-excerpt {
  font-size: .82rem;
  color: var(--mk-parch-dark);
  line-height: 1.55;
  margin-bottom: .8rem;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.mk-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }

.mk-widget {
  background: linear-gradient(160deg, var(--mk-parch-bg) 0%, var(--mk-parch-bg2) 100%);
  border: 1px solid var(--mk-parch3);
  box-shadow: inset 0 0 40px rgba(139,110,69,.1), 0 2px 6px rgba(0,0,0,.35);
  position: relative;
  overflow: hidden;
}

/* Corner ornaments on widgets */
.mk-widget::before,
.mk-widget::after {
  content: '❖';
  position: absolute;
  color: var(--mk-parch-dark);
  font-size: .7rem;
  opacity: .6;
}
.mk-widget::before { top: 6px; right: 10px; }
.mk-widget::after  { bottom: 6px; left: 10px; }

.mk-widget-head {
  background: linear-gradient(135deg, var(--mk-bg2) 0%, var(--mk-surface) 100%);
  border-bottom: 1px solid var(--mk-parch3);
  padding: .7rem 1.1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}

.mk-widget-head::before {
  content: '❖';
  color: var(--mk-gold-dark);
  font-size: .8rem;
}

.mk-widget-title {
  font-family: var(--font-heading);
  font-size: .8rem;
  color: var(--mk-gold);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0;
}

.mk-widget-body { padding: 1rem 1.1rem; }

/* Search widget */
.mk-search-form {
  display: flex;
  gap: 0;
}
.mk-search-input {
  flex: 1;
  background: #fff;
  border: 1px solid var(--mk-parch3);
  border-right: none;
  padding: .45rem .8rem;
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--mk-ink);
  border-radius: var(--mk-radius) 0 0 var(--mk-radius);
  outline: none;
}
.mk-search-input:focus { border-color: var(--mk-gold-dark); }

/* Recent posts widget */
.mk-recent-list { display: flex; flex-direction: column; }
.mk-recent-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 0;
  border-bottom: 1px solid rgba(139,110,69,.25);
  font-family: var(--font-heading);
  font-size: .74rem;
  color: var(--mk-parch-dark);
  transition: var(--mk-trans);
  cursor: default;
}
.mk-recent-item::before { content: '›'; color: var(--mk-red); font-size: 1rem; }
.mk-recent-item:hover { color: var(--mk-ink); padding-left: .3rem; }
.mk-recent-item:last-child { border-bottom: none; }

/* Categories widget */
.mk-cat-list { display: flex; flex-direction: column; }
.mk-cat-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 0;
  border-bottom: 1px solid rgba(139,110,69,.25);
  font-family: var(--font-heading);
  font-size: .74rem;
  color: var(--mk-parch-dark);
  transition: var(--mk-trans);
  cursor: default;
}
.mk-cat-item::before { content: '›'; color: var(--mk-red); font-size: 1rem; }
.mk-cat-item:hover { color: var(--mk-ink); padding-left: .3rem; }
.mk-cat-item:last-child { border-bottom: none; }

/* ============================================================
   FOOTER
   ============================================================ */
#colophon {
  background: linear-gradient(180deg, #0f0d09 0%, #080604 100%);
  border-top: 2px solid var(--mk-gold-dark);
  margin-top: 2rem;
}

.mk-footer-top {
  max-width: 1400px;
  margin: 0 auto;
  padding: 3rem 2rem 2rem;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 2.5rem;
}

.mk-footer-brand {}
.mk-footer-logo {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
}
.mk-footer-logo svg { width: 44px; height: 52px; }
.mk-footer-logo-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--mk-gold);
}
.mk-footer-desc {
  font-size: .82rem;
  color: var(--mk-text2);
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}
.mk-footer-social { display: flex; gap: .8rem; }
.mk-footer-social a {
  width: 32px; height: 32px;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--mk-gold-border);
  color: var(--mk-text2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
}
.mk-footer-social a:hover {
  background: rgba(201,168,76,.2);
  color: var(--mk-gold);
  border-color: var(--mk-gold);
}

.mk-footer-col-title {
  font-family: var(--font-heading);
  font-size: .78rem;
  color: var(--mk-gold);
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(201,168,76,.2);
}

.mk-footer-links { display: flex; flex-direction: column; gap: .45rem; }
.mk-footer-links a {
  font-size: .8rem;
  color: var(--mk-text2);
  display: flex;
  align-items: center;
  gap: .35rem;
  transition: var(--mk-trans);
}
.mk-footer-links a::before { content: '›'; color: var(--mk-gold-dark); }
.mk-footer-links a:hover { color: var(--mk-gold); padding-left: .2rem; }

.mk-footer-bottom {
  border-top: 1px solid rgba(201,168,76,.15);
  padding: 1rem 2rem;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-heading);
  font-size: .7rem;
  color: var(--mk-text3);
  letter-spacing: .05em;
}

.mk-footer-bottom-links { display: flex; gap: 1.5rem; }
.mk-footer-bottom-links a {
  color: var(--mk-text3);
  font-size: .7rem;
  transition: var(--mk-trans);
}
.mk-footer-bottom-links a:hover { color: var(--mk-gold); }

/* Footer icon decoration center */
.mk-footer-emblem {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg,#5c1010,#8b1a1a);
  border: 2px solid var(--mk-gold-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin: -1.2rem auto 0;
  position: relative;
  z-index: 2;
}

/* ============================================================
   POSTS ARCHIVE
   ============================================================ */
.mk-archive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.mk-post-card {
  background: var(--mk-surface);
  border: var(--mk-border);
  border-top: 2px solid var(--mk-gold-dark);
  overflow: hidden;
  transition: var(--mk-trans);
}
.mk-post-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.5);
  transform: translateY(-3px);
  border-color: rgba(201,168,76,.5);
}

.mk-pc-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}
.mk-pc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: sepia(.2);
  transition: transform .5s ease;
}
.mk-post-card:hover .mk-pc-thumb img { transform: scale(1.06); filter: none; }

.mk-pc-cat {
  position: absolute;
  top: .7rem;
  left: .7rem;
  background: var(--mk-red2);
  color: var(--mk-parch);
  padding: .15rem .55rem;
  font-family: var(--font-heading);
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 1px solid var(--mk-red);
}

.mk-pc-body { padding: 1.2rem; }
.mk-pc-meta {
  font-size: .7rem;
  color: var(--mk-text2);
  margin-bottom: .5rem;
  font-family: var(--font-heading);
}
.mk-pc-title {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  color: var(--mk-text);
  margin-bottom: .6rem;
  line-height: 1.3;
}
.mk-post-card:hover .mk-pc-title { color: var(--mk-gold); }
.mk-pc-excerpt {
  font-size: .8rem;
  color: var(--mk-text2);
  line-height: 1.55;
  margin-bottom: .8rem;
}
.mk-pc-link {
  font-family: var(--font-heading);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mk-gold-dark);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: var(--mk-trans);
}
.mk-pc-link:hover { color: var(--mk-gold); gap: .5rem; }
.mk-pc-link::after { content: '›'; font-size: 1.1rem; }

/* ============================================================
   SINGLE POST
   ============================================================ */
.mk-single-header {
  background: var(--mk-surface);
  border: var(--mk-border);
  border-top: 3px solid var(--mk-gold-dark);
  padding: 2rem;
  margin-bottom: 2rem;
}
.mk-single-meta {
  font-family: var(--font-heading);
  font-size: .75rem;
  color: var(--mk-text2);
  margin-bottom: .8rem;
  display: flex;
  gap: .6rem;
  align-items: center;
  flex-wrap: wrap;
}
.mk-single-meta .dot { color: var(--mk-gold-dark); }
.mk-single-body { line-height: 1.85; font-size: 1.02rem; }
.mk-single-body h2,
.mk-single-body h3 { margin: 1.5rem 0 .8rem; }
.mk-single-body p   { margin-bottom: 1.1rem; }

/* ============================================================
   PAGES
   ============================================================ */
.mk-page-hero {
  background: linear-gradient(135deg, var(--mk-bg2), var(--mk-surface));
  border-bottom: 2px solid var(--mk-gold-dark);
  padding: 3rem 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.mk-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(201,168,76,.025) 41px),
    repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(201,168,76,.025) 41px);
}
.mk-page-hero-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem,5vw,3rem);
  color: var(--mk-gold);
  position: relative;
  text-shadow: 0 0 30px rgba(201,168,76,.25);
}
.mk-page-hero-sub {
  color: var(--mk-text2);
  font-style: italic;
  position: relative;
  margin-top: .6rem;
}

/* Dividers */
.mk-divider {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 1.5rem 0;
  color: var(--mk-gold-dark);
}
.mk-divider::before,
.mk-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mk-gold-dark), transparent);
}

/* ============================================================
   COMMENTS
   ============================================================ */
.mk-comments {
  background: var(--mk-surface);
  border: var(--mk-border);
  padding: 1.8rem;
  margin-top: 2rem;
}
.mk-comments h3 {
  font-size: .95rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
}

.comment-form input,
.comment-form textarea {
  background: var(--mk-surface2);
  border: 1px solid rgba(201,168,76,.2);
  color: var(--mk-text);
  padding: .6rem 1rem;
  font-family: var(--font-body);
  font-size: .9rem;
  width: 100%;
  outline: none;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--mk-gold-dark); }
.comment-form label {
  font-family: var(--font-heading);
  font-size: .72rem;
  color: var(--mk-text2);
  letter-spacing: .08em;
  text-transform: uppercase;
  display: block;
  margin-bottom: .3rem;
  margin-top: .8rem;
}
.comment-form textarea { height: 120px; resize: vertical; }
.comment-form input[type="submit"] {
  width: auto;
  cursor: pointer;
  background: linear-gradient(135deg,#6b1212,#9b1e1e,#6b1212);
  border: 1px solid #a82020;
  color: #e8d0a0;
  padding: .6rem 1.8rem;
  font-family: var(--font-heading);
  letter-spacing: .12em;
  margin-top: .8rem;
}
.comment-form input[type="submit"]:hover { background: linear-gradient(135deg,#8b1818,#b82222,#8b1818); }

/* ============================================================
   PAGINATION
   ============================================================ */
.mk-pagination {
  display: flex;
  gap: .4rem;
  justify-content: center;
  margin: 2rem 0;
  flex-wrap: wrap;
}
.mk-pagination a,
.mk-pagination span {
  padding: .4rem .9rem;
  background: var(--mk-surface);
  border: var(--mk-border);
  color: var(--mk-text2);
  font-family: var(--font-heading);
  font-size: .72rem;
  letter-spacing: .05em;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
}
.mk-pagination a:hover,
.mk-pagination .current {
  background: var(--mk-red2);
  color: var(--mk-parch);
  border-color: var(--mk-red);
}

/* ============================================================
   FORMS
   ============================================================ */
.mk-form input[type="text"],
.mk-form input[type="email"],
.mk-form input[type="tel"],
.mk-form select,
.mk-form textarea {
  background: var(--mk-surface2);
  border: 1px solid rgba(201,168,76,.2);
  color: var(--mk-text);
  padding: .65rem 1rem;
  font-family: var(--font-body);
  font-size: .92rem;
  width: 100%;
  outline: none;
  border-radius: var(--mk-radius);
  transition: var(--mk-trans);
  margin-bottom: 1rem;
}
.mk-form input:focus,
.mk-form textarea:focus { border-color: var(--mk-gold-dark); }
.mk-form label {
  display: block;
  font-family: var(--font-heading);
  font-size: .72rem;
  color: var(--mk-text2);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}
.mk-form textarea { height: 110px; resize: vertical; }

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order {
  background: linear-gradient(135deg,#6b1212,#9b1e1e,#6b1212) !important;
  color: #e8d0a0 !important;
  border: 1px solid #a82020 !important;
  font-family: var(--font-heading) !important;
  letter-spacing: .1em !important;
  border-radius: var(--mk-radius) !important;
  transition: var(--mk-trans) !important;
}
.woocommerce .button:hover {
  background: linear-gradient(135deg,#8b1818,#b82222,#8b1818) !important;
  box-shadow: 0 0 16px rgba(139,26,26,.4) !important;
}

/* ============================================================
   ELEMENTOR OVERRIDES
   ============================================================ */
.elementor-section { position: relative; }

.mk-el-dark   { background: var(--mk-bg2) !important; }
.mk-el-stone  { background: var(--mk-surface) !important; }
.mk-el-parch  { background: var(--mk-parch-bg) !important; }

.mk-el-parch .elementor-heading-title,
.mk-el-parch h1, .mk-el-parch h2, .mk-el-parch h3 {
  color: var(--mk-ink) !important;
  text-shadow: none !important;
}
.mk-el-parch p, .mk-el-parch .elementor-text-editor {
  color: var(--mk-parch-dark) !important;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading) !important;
}
.elementor-widget-text-editor {
  font-family: var(--font-body) !important;
  line-height: 1.8 !important;
}
.elementor-button {
  font-family: var(--font-heading) !important;
  letter-spacing: .1em !important;
}

/* ============================================================
   HEADER SCROLL STATE
   ============================================================ */
#masthead.scrolled {
  box-shadow: 0 4px 30px rgba(0,0,0,.9);
}

/* ============================================================
   LOADER
   ============================================================ */
#mk-loader {
  position: fixed;
  inset: 0;
  background: var(--mk-bg2);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  transition: opacity .5s ease;
}
#mk-loader-icon {
  font-size: 3.5rem;
  animation: loader-pulse 1.4s ease infinite;
}
@keyframes loader-pulse {
  0%,100% { opacity: .7; transform: scale(1); }
  50%      { opacity: 1;  transform: scale(1.08); }
}
#mk-loader-text {
  font-family: var(--font-heading);
  font-size: .7rem;
  color: var(--mk-gold-dark);
  letter-spacing: .4em;
  text-transform: uppercase;
  animation: loader-fade 1.4s ease infinite;
}
@keyframes loader-fade { 0%,100%{opacity:.3}50%{opacity:1} }

/* ============================================================
   UTILITIES
   ============================================================ */
.mk-container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; }
.mk-section   { padding: 4rem 0; }

.text-gold    { color: var(--mk-gold) !important; }
.text-crimson { color: var(--mk-red) !important; }
.text-parch   { color: var(--mk-parch) !important; }
.text-muted   { color: var(--mk-text2) !important; }

.bg-dark    { background: var(--mk-bg2) !important; }
.bg-stone   { background: var(--mk-surface) !important; }
.bg-parch   { background: var(--mk-parch-bg) !important; }

.font-display { font-family: var(--font-display) !important; }
.font-heading { font-family: var(--font-heading) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .mk-features-grid { grid-template-columns: 1fr 1fr; }
  .mk-footer-top    { grid-template-columns: 1fr 1fr; }
  .mk-main-wrap     { grid-template-columns: 1fr 260px; }
}

@media (max-width: 900px) {
  .mk-main-wrap     { grid-template-columns: 1fr; }
  .mk-sidebar       { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
}

@media (max-width: 768px) {
  .mk-toggle        { display: flex; align-items: center; }
  .mk-nav           { display: none; width: 100%; }
  .mk-nav.open      { display: block; }
  .mk-nav ul        { flex-direction: column; }
  .mk-nav ul li ul  { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; }
  .mk-header-inner  { flex-wrap: wrap; gap: .5rem; padding: .8rem 1.2rem; }
  .mk-features-grid { grid-template-columns: 1fr; }
  .mk-footer-top    { grid-template-columns: 1fr; gap: 1.5rem; }
  .mk-post-item     { grid-template-columns: 1fr; }
  .mk-hero-content  { padding: 3rem 1.5rem; }
  .mk-hero-left-banner { display: none; }
  .mk-sidebar       { grid-template-columns: 1fr; }
  .mk-footer-bottom { flex-direction: column; gap: .7rem; text-align: center; }
}

@media (max-width: 480px) {
  :root { font-size: 14px; }
  .mk-hero { min-height: 440px; }
  .mk-hero-btns { flex-direction: column; }
  .mk-topbar-msg { display: none; }
}
