:root{
	--mnr-green:#1F7A4D;
	--mnr-green-dark:#14512F;
	--mnr-lime:#8BC34A;
	--mnr-ink:#152621;
	--mnr-bg:#F6FAF7;
	--mnr-card:#FFFFFF;
	--mnr-border:#E3EEE6;
	--mnr-radius:20px;
	--mnr-shadow:0 12px 30px rgba(20,50,35,.08);
	--mnr-font-head:'Outfit',sans-serif;
	--mnr-font-body:'Figtree',sans-serif;
}

.mnr-section, .mnr-hero, #mnr-chatbox, #mnr-chat-launcher{ font-family:var(--mnr-font-body); color:var(--mnr-ink); box-sizing:border-box; }
.mnr-section *, .mnr-hero *, #mnr-chatbox *{ box-sizing:border-box; }
.mnr-section h2, .mnr-hero h1, .mnr-facts-card h2, .mnr-quiz-card h2, .mnr-form-card h2, .mnr-card h3, .mnr-about h2{ font-family:var(--mnr-font-head); }

/* ---------- Layout helpers ---------- */
.mnr-section{ max-width:1360px; margin:0 auto; padding:64px 32px; }
.mnr-section-head{ text-align:center; max-width:720px; margin:0 auto 40px; }
.mnr-section-head h2{ font-size:clamp(28px,3.4vw,40px); font-weight:700; color:var(--mnr-green-dark); margin:0 0 12px; }
.mnr-section-head p{ font-size:17px; color:#4b5a53; margin:0; }

/* ---------- Hero ---------- */
.mnr-hero{
	background: linear-gradient(135deg, var(--mnr-green-dark), var(--mnr-green));
	background-size:cover; background-position:center;
	color:#fff; padding:110px 24px 100px; text-align:center;
	border-radius:0 0 40px 40px;
}
.mnr-hero-inner{ max-width:860px; margin:0 auto; }
.mnr-eyebrow{ display:inline-block; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); padding:6px 16px; border-radius:999px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:20px; }
.mnr-hero h1{ font-size:clamp(34px,5vw,58px); font-weight:800; line-height:1.08; margin:0 0 20px; }
.mnr-hero p{ font-size:19px; line-height:1.6; color:rgba(255,255,255,.9); margin:0 0 34px; }
.mnr-hero-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------- Buttons ---------- */
.mnr-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:13px 26px; border-radius:14px; font-weight:600; font-size:15px;
	text-decoration:none; cursor:pointer; border:2px solid transparent;
	background:var(--mnr-green); color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.mnr-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(31,122,77,.28); background:var(--mnr-green-dark); color:#fff; }
.mnr-btn-primary{ background:var(--mnr-lime); color:var(--mnr-green-dark); }
.mnr-btn-primary:hover{ background:#79ab3f; color:#0d2418; }
.mnr-btn-ghost{ background:transparent; border-color:rgba(255,255,255,.65); color:#fff; }
.mnr-btn-ghost:hover{ background:rgba(255,255,255,.12); color:#fff; }

/* ---------- Cards / bento / grid ---------- */
.mnr-bento, .mnr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mnr-card{
	background:var(--mnr-card); border:1px solid var(--mnr-border); border-radius:var(--mnr-radius);
	padding:28px; box-shadow:var(--mnr-shadow); display:flex; flex-direction:column; gap:10px;
	transition:transform .15s ease, box-shadow .15s ease;
}
.mnr-card:hover{ transform:translateY(-4px); box-shadow:0 18px 36px rgba(20,50,35,.14); }
.mnr-card h3{ margin:0; font-size:20px; font-weight:700; color:var(--mnr-green-dark); }
.mnr-card p{ margin:0; flex-grow:1; color:#4b5a53; font-size:15px; line-height:1.55; }
.mnr-card .mnr-btn{ align-self:flex-start; margin-top:6px; }
.mnr-card-lg{ grid-column:span 2; grid-row:span 1; background:linear-gradient(135deg,var(--mnr-green),var(--mnr-green-dark)); border:none; }
.mnr-card-lg h3, .mnr-card-lg p{ color:#fff; }
.mnr-card-lg .mnr-btn{ background:#fff; color:var(--mnr-green-dark); }
.mnr-price{ font-family:var(--mnr-font-head); font-size:22px; color:var(--mnr-green-dark); }
.mnr-product{ align-items:flex-start; }

/* ---------- Fun facts ---------- */
.mnr-facts{ padding-top:20px; }
.mnr-facts-card{
	background:#fff; border:1px solid var(--mnr-border); border-radius:28px; box-shadow:var(--mnr-shadow);
	padding:48px; text-align:center; max-width:860px; margin:0 auto;
}
.mnr-facts-card h2{ font-size:28px; font-weight:700; color:var(--mnr-green-dark); margin:0 0 18px; }
.mnr-facts-card p{ font-size:20px; line-height:1.5; min-height:64px; margin:0 0 24px; }

/* ---------- Quiz ---------- */
.mnr-quiz-card{ background:#fff; border:1px solid var(--mnr-border); border-radius:var(--mnr-radius); box-shadow:var(--mnr-shadow); padding:40px; max-width:860px; margin:0 auto; }
.mnr-quiz-card h2{ text-align:center; color:var(--mnr-green-dark); margin:0 0 24px; }
.mnr-quiz-q{ margin-bottom:22px; }
.mnr-quiz-q p{ font-weight:600; margin:0 0 10px; }
.mnr-quiz-opt{ display:block; padding:10px 14px; border:1px solid var(--mnr-border); border-radius:12px; margin-bottom:8px; cursor:pointer; transition:background .15s; }
.mnr-quiz-opt:hover{ background:var(--mnr-bg); }
.mnr-quiz-opt input{ margin-right:10px; }
#mnr-quiz-result{ margin-top:16px; font-weight:700; font-size:18px; color:var(--mnr-green-dark); text-align:center; }

/* ---------- Forms ---------- */
.mnr-form-card{ background:#fff; border:1px solid var(--mnr-border); border-radius:var(--mnr-radius); box-shadow:var(--mnr-shadow); padding:40px; max-width:720px; margin:0 auto; }
.mnr-form-card h2{ text-align:center; color:var(--mnr-green-dark); margin:0 0 22px; }
.mnr-form{ display:flex; flex-direction:column; gap:14px; }
.mnr-form input, .mnr-form textarea{
	font-family:var(--mnr-font-body); padding:13px 16px; border-radius:12px; border:1px solid var(--mnr-border);
	font-size:15px; width:100%; background:var(--mnr-bg);
}
.mnr-form textarea{ min-height:120px; resize:vertical; }
.mnr-form .mnr-btn{ align-self:center; margin-top:6px; }

/* ---------- About ---------- */
.mnr-about-wrap{ display:flex; align-items:center; gap:48px; }
.mnr-about-img{ width:280px; height:280px; object-fit:cover; border-radius:50%; box-shadow:var(--mnr-shadow); flex-shrink:0; }
.mnr-about h2{ color:var(--mnr-green-dark); font-size:32px; margin:0 0 14px; }
.mnr-about p{ font-size:17px; line-height:1.7; color:#3c4a44; }

/* ---------- Chatbox ---------- */
#mnr-chat-launcher{
	position:fixed; bottom:24px; right:24px; z-index:9999; background:var(--mnr-lime); color:var(--mnr-green-dark);
	font-family:var(--mnr-font-head); font-weight:700; padding:16px 22px; border-radius:999px; box-shadow:0 12px 30px rgba(20,50,35,.28);
	cursor:pointer; transition:transform .15s;
}
#mnr-chat-launcher:hover{ transform:translateY(-3px); }
#mnr-chatbox{
	display:none; flex-direction:column; position:fixed; bottom:92px; right:24px; width:340px; max-width:90vw; height:440px; max-height:70vh;
	background:#fff; border-radius:20px; box-shadow:0 24px 60px rgba(20,50,35,.32); overflow:hidden; z-index:9999; font-family:var(--mnr-font-body);
}
.mnr-chat-head{ background:var(--mnr-green-dark); color:#fff; font-family:var(--mnr-font-head); font-weight:700; padding:16px 18px; display:flex; justify-content:space-between; align-items:center; }
#mnr-chat-close{ background:none; border:none; color:#fff; font-size:22px; cursor:pointer; line-height:1; }
#mnr-chat-messages{ flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; background:var(--mnr-bg); }
#mnr-chat-messages p{ margin:0; padding:10px 14px; border-radius:14px; max-width:85%; font-size:14px; line-height:1.4; }
#mnr-chat-messages p.bot{ background:#fff; border:1px solid var(--mnr-border); align-self:flex-start; }
#mnr-chat-messages p.user{ background:var(--mnr-green); color:#fff; align-self:flex-end; }
.mnr-chat-input{ display:flex; border-top:1px solid var(--mnr-border); }
.mnr-chat-input input{ flex:1; border:none; padding:14px; font-family:var(--mnr-font-body); font-size:14px; outline:none; }
.mnr-chat-input button{ border:none; background:var(--mnr-green); color:#fff; padding:0 18px; font-weight:600; cursor:pointer; }
.mnr-chat-input button:hover{ background:var(--mnr-green-dark); }

/* ---------- Responsive ---------- */
@media (max-width:900px){
	.mnr-bento, .mnr-grid{ grid-template-columns:repeat(2,1fr); }
	.mnr-card-lg{ grid-column:span 2; }
	.mnr-about-wrap{ flex-direction:column; text-align:center; }
	.mnr-about-img{ width:200px; height:200px; }
}
@media (max-width:600px){
	.mnr-bento, .mnr-grid{ grid-template-columns:1fr; }
	.mnr-card-lg{ grid-column:span 1; }
	.mnr-hero{ padding:80px 20px 70px; border-radius:0 0 28px 28px; }
	.mnr-section{ padding:48px 18px; }
	.mnr-facts-card, .mnr-quiz-card, .mnr-form-card{ padding:28px; }
	#mnr-chatbox{ right:12px; left:12px; width:auto; bottom:84px; }
	#mnr-chat-launcher{ right:16px; bottom:16px; padding:14px 18px; }
}


/* ---------- Card media (images) ---------- */
.mnr-card-media{ margin:-28px -28px 4px; overflow:hidden; border-radius:var(--mnr-radius) var(--mnr-radius) 0 0; }
.mnr-card-media img{ display:block; width:100%; height:180px; object-fit:cover; transition:transform .35s ease; }
.mnr-card:hover .mnr-card-media img{ transform:scale(1.06); }
.mnr-card-lg .mnr-card-media img{ height:220px; }

/* ---------- Fun facts image ---------- */
.mnr-facts-img{ width:140px; height:140px; object-fit:contain; margin:0 auto 16px; display:block; }
@keyframes mnrFactPop{ 0%{ transform:scale(.85); opacity:0; } 60%{ transform:scale(1.05); opacity:1; } 100%{ transform:scale(1); opacity:1; } }
.mnr-fact-pop{ animation:mnrFactPop .4s ease; }

/* ---------- Confetti ---------- */
.mnr-confetti-piece{ position:fixed; top:-20px; z-index:99999; border-radius:2px; pointer-events:none; }
@keyframes mnrConfettiFall{ 0%{ transform:translateY(0) rotate(0deg); opacity:1; } 100%{ transform:translateY(100vh) rotate(720deg); opacity:0; } }

/* ---------- Hero heading contrast fix (theme h1 override) ---------- */
.mnr-hero h1{ color:#fff !important; text-shadow:0 2px 18px rgba(0,0,0,.55); }
.mnr-hero p{ text-shadow:0 1px 8px rgba(0,0,0,.35); }

/* ---------- Widen Divi row (fixes claustrophobic 1080px cap) ---------- */
.et_pb_row:has(.mnr-hero), .et_pb_row:has(.mnr-section){ max-width:1440px !important; width:88% !important; }
@media (max-width:980px){
	.et_pb_row:has(.mnr-hero), .et_pb_row:has(.mnr-section){ width:92% !important; }
}

/* ---------- Widen classic-editor page container (/home/ uses default template, not Divi Builder rows) ---------- */
.container:has(.mnr-hero), .container:has(.mnr-section){ max-width:1440px !important; width:88% !important; }
@media (max-width:980px){
	.container:has(.mnr-hero), .container:has(.mnr-section){ width:92% !important; }
}


/* ---------- Visual redesign: section rhythm, hero decoration, card media hover ---------- */
.mnr-section.mnr-tint{
	background: linear-gradient(180deg, #eef7f0 0%, var(--mnr-bg) 100%);
	border-radius: 32px;
}
.mnr-hero{ position:relative; overflow:hidden; }
.mnr-hero::before, .mnr-hero::after{
	content:''; position:absolute; border-radius:50%; filter:blur(50px); opacity:.35; pointer-events:none; z-index:0;
}
.mnr-hero::before{ width:360px; height:360px; background:var(--mnr-lime); top:-140px; right:-90px; }
.mnr-hero::after{ width:280px; height:280px; background:#fff; bottom:-110px; left:-70px; opacity:.15; }
.mnr-hero > *{ position:relative; z-index:1; }
.mnr-card-media{ overflow:hidden; }
.mnr-card-media img{ transition: transform .35s ease; }
.mnr-card:hover .mnr-card-media img{ transform: scale(1.06); }
