:root {
  --ces-green: #15603f;
  --ces-green-dark: #0d3d28;
  --ces-soft: #e3f1e9;
  --ces-ink: #1c241f;
  --ces-accent: #e2a13b;
}

body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--ces-ink); }

.bg-ces { background-color: var(--ces-green) !important; }
.bg-ces-dark { background-color: var(--ces-green-dark) !important; }
.bg-ces-soft { background-color: var(--ces-soft) !important; }
.text-ces { color: var(--ces-green) !important; }
.text-ces-dark { color: var(--ces-green-dark) !important; }
.text-accent { color: var(--ces-accent) !important; }

.btn-ces { background-color: var(--ces-green); border-color: var(--ces-green); color: #fff; }
.btn-ces:hover, .btn-ces:focus { background-color: var(--ces-green-dark); border-color: var(--ces-green-dark); color: #fff; }
.btn-accent { background-color: var(--ces-accent); border-color: var(--ces-accent); color: #23180a; }
.btn-accent:hover, .btn-accent:focus { background-color: #c9862a; border-color: #c9862a; color: #fff; }

a { color: var(--ces-green-dark); }
a:hover { color: var(--ces-green); }

.ces-skip-link { position: absolute; left: -9999px; top: 0; background: #fff; color: #000; padding: .75rem 1rem; z-index: 2000; }
.ces-skip-link:focus { left: 0; }

.ces-hero { background: linear-gradient(135deg, var(--ces-soft) 0%, #fff 100%); border: 1px solid #d5e6dc; }
.ces-hero h1 { color: var(--ces-green-dark); }

.ces-card { border: 1px solid #e0eae4; transition: transform .15s ease, box-shadow .15s ease; }
.ces-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(21,96,63,.12); }
.ces-card-img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; padding: .5rem; }
.ces-grid .card-title { line-height: 1.35; }
.ces-hero-img { max-height: 420px; object-fit: contain; background: #fff; }
.ces-sidebar-sticky { position: sticky; top: 80px; }

/* Extracted legacy content -- re-skin the old Magento markup rather than fight it */
.ces-legacy-content { line-height: 1.65; }
.ces-legacy-content img { max-width: 100%; height: auto; border-radius: .4rem; }
.ces-legacy-content table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.ces-legacy-content table td, .ces-legacy-content table th { padding: .4rem .6rem; border-bottom: 1px solid #e9efeb; vertical-align: top; }
.ces-legacy-content h2 { font-size: 1.15rem; margin-top: 1.5rem; }
.ces-legacy-content ul { padding-left: 1.25rem; }

.ces-honeypot { position: absolute; left: -9999px; top: -9999px; }

/* AdSense units. An unfilled unit collapses instead of leaving a white gap. */
.ces-ad { margin: 1.5rem 0; text-align: center; overflow: hidden; }
.ces-ad ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
.ces-ad-placeholder { background: repeating-linear-gradient(45deg, #f6f8f7, #f6f8f7 10px, #eef2f0 10px, #eef2f0 20px); border-radius: .5rem; }

@media (max-width: 767.98px) {
  .ces-sidebar-sticky { position: static; }
}
