/* Mikoko public-site brand layer. Loaded last to override the parent theme. */
:root {
    --color-primary: #087048;
    --color-primary-dark: #053b2a;
    --color-primary-light: #e7f5eb;
    --color-secondary: #0d5ea8;
    --color-accent: #d6a624;
    --color-heading: #102d22;
    --color-text: #456157;
    --mgh-ink: #102d22;
    --mgh-green: #087048;
    --mgh-deep: #053b2a;
    --mgh-mist: #f3f8f4;
    --mgh-line: #d8e6db;
}

body { color: var(--mgh-ink); background: #fff; font-family: "Segoe UI", Arial, sans-serif; }
body .site-content { overflow: clip; }
body .site-main { width: 100%; }

/* Keep the parent active for WordPress compatibility, but give public pages a
   predictable Mikoko layout and remove inherited fixed-width/floating grids. */
.front-page { overflow: visible !important; }
.front-page .container,
.mgh-commerce-shell .container { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; margin-right: auto !important; margin-left: auto !important; }
.front-page section { min-height: 0 !important; padding: clamp(3.75rem, 7vw, 6.5rem) 0 !important; }
.front-page h1, .front-page h2, .front-page h3, .front-page h4 { color: var(--mgh-ink) !important; }
.front-page p { color: var(--color-text) !important; }
.front-page .section-heading { max-width: 740px !important; margin: 0 auto 2.5rem !important; }
.front-page .section-heading h2 { font-size: clamp(2rem, 4vw, 3.35rem) !important; }

.front-page .hero-section { min-height: 650px !important; padding: clamp(4.5rem, 8vw, 7.5rem) 0 !important; background: linear-gradient(120deg, rgba(4,53,37,.96), rgba(8,112,72,.86)) !important; }
.front-page .hero-section h1, .front-page .hero-section h2, .front-page .hero-section p { color: #fff !important; }
.front-page .hero-grid { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important; gap: clamp(2rem, 6vw, 5rem) !important; align-items: center !important; }
.front-page .hero-content { min-width: 0 !important; }
.front-page .hero-title { max-width: 760px; font-size: clamp(2.55rem, 5.5vw, 5.25rem) !important; line-height: 1.04 !important; }
.front-page .hero-description { max-width: 650px; font-size: 1.08rem !important; }
.front-page .hero-image, .front-page .hero-placeholder { min-width: 0 !important; min-height: 340px !important; }
.front-page .hero-placeholder { display: grid !important; place-items: center !important; align-content: center !important; padding: 2rem !important; border: 1px solid rgba(255,255,255,.24) !important; border-radius: 28px !important; color: #fff !important; background: rgba(255,255,255,.1) !important; }
.front-page .hero-placeholder h2, .front-page .hero-placeholder p { color: #fff !important; text-align: center; }

.front-page .services-grid, .front-page .projects-grid, .front-page .courses-grid, .front-page .news-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 1.5rem !important; }
.front-page .stats-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1rem !important; }
.front-page .service-card, .front-page .project-card, .front-page .course-card, .front-page .news-card, .front-page .stat-item, .front-page .intro-highlight { min-width: 0 !important; border: 1px solid var(--mgh-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: 0 12px 30px rgba(5,59,42,.07) !important; }
.front-page .service-card, .front-page .project-card, .front-page .course-card, .front-page .news-card { overflow: hidden !important; }
.front-page .section-empty { grid-column: 1 / -1 !important; min-height: 240px !important; display: grid !important; place-items: center !important; padding: 3rem !important; color: var(--mgh-ink) !important; }
.front-page .section-empty h3 { font-size: clamp(1.5rem, 3vw, 2.3rem) !important; color: var(--mgh-ink) !important; }

.front-page .statistics-section { background: linear-gradient(135deg, #087048, #053b2a) !important; }
.front-page .statistics-section h2, .front-page .statistics-section p, .front-page .statistics-section .section-subtitle { color: #fff !important; }
.front-page .stat-item { padding: 1.5rem !important; text-align: center !important; }
.front-page .stat-item h2 { color: var(--mgh-green) !important; font-size: clamp(2rem, 4vw, 3.2rem) !important; }

.front-page .home-shop { background: var(--mgh-mist) !important; }
.front-page .products-grid { display: block !important; width: 100% !important; }
.front-page .home-shop ul.products,
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1.35rem !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.front-page .home-shop ul.products li.product,
.woocommerce ul.products li.product { float: none !important; clear: none !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 0 1.25rem !important; border: 1px solid var(--mgh-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 10px 26px rgba(5,59,42,.07) !important; overflow: hidden !important; }
.front-page .home-shop ul.products li.product a img,
.woocommerce ul.products li.product a img { width: 100% !important; height: 205px !important; margin: 0 0 1rem !important; object-fit: cover !important; }
.front-page .home-shop ul.products li.product .woocommerce-loop-product__title,
.front-page .home-shop ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price { display: block !important; padding: 0 1rem !important; overflow-wrap: anywhere !important; color: var(--mgh-ink) !important; }
.front-page .home-shop ul.products li.product .price,
.woocommerce ul.products li.product .price { color: var(--mgh-green) !important; font-weight: 800 !important; }
.front-page .home-shop ul.products li.product .button,
.woocommerce ul.products li.product .button { display: inline-flex !important; width: auto !important; min-height: 42px !important; margin: 1rem 1rem 0 !important; padding: .65rem 1rem !important; border-radius: 999px !important; color: #fff !important; background: var(--mgh-green) !important; font-weight: 800 !important; }

.mgh-commerce-shell { background: var(--mgh-mist) !important; }
.mgh-commerce-shell__heading { padding: clamp(4rem, 7vw, 6rem) 0 4rem !important; background: linear-gradient(120deg, #053b2a, #087048) !important; }
.mgh-commerce-shell__content { margin-top: -1.5rem !important; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 1.5rem !important; }
.woocommerce .woocommerce-ordering select { min-height: 44px !important; padding: 0 .7rem !important; border: 1px solid var(--mgh-line) !important; border-radius: 8px !important; background: #fff !important; }
.woocommerce-cart-form, .woocommerce form.checkout, .woocommerce .cart_totals { border: 1px solid var(--mgh-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 10px 26px rgba(5,59,42,.07) !important; }
.woocommerce .cart-collaterals { display: grid !important; grid-template-columns: 1fr minmax(300px, .48fr) !important; gap: 1.5rem !important; }
.woocommerce .cart-collaterals .cart_totals { width: auto !important; float: none !important; }
.woocommerce form.checkout { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr) !important; gap: 2rem !important; padding: clamp(1rem, 3vw, 2rem) !important; }
.woocommerce form.checkout > #customer_details, .woocommerce form.checkout > #order_review_heading, .woocommerce form.checkout > #order_review { width: auto !important; float: none !important; }
.woocommerce #order_review { padding: 1rem !important; border: 1px solid var(--mgh-line) !important; border-radius: 12px !important; background: #f6fbf7 !important; }

@media (max-width: 900px) {
    .front-page .hero-grid, .woocommerce form.checkout, .woocommerce .cart-collaterals { grid-template-columns: 1fr !important; }
    .front-page .services-grid, .front-page .projects-grid, .front-page .courses-grid, .front-page .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .front-page .home-shop ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 580px) {
    .front-page .container, .mgh-commerce-shell .container { width: min(100% - 28px, 1180px) !important; }
    .front-page .hero-section { min-height: 0 !important; }
    .front-page .services-grid, .front-page .projects-grid, .front-page .courses-grid, .front-page .news-grid, .front-page .stats-grid { grid-template-columns: 1fr !important; }
    .front-page .home-shop ul.products, .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* Complete Mikoko footer and standard-page fallback. These rules deliberately
   neutralise decorative empty footer regions inherited from the parent theme. */
.site-footer.mgh-footer { color: #eaf5ed !important; background: #062d20 !important; overflow: visible !important; }
.site-footer.mgh-footer::before, .site-footer.mgh-footer::after { display: none !important; }
.mgh-footer__main { position: relative; padding: clamp(3.5rem, 7vw, 5.5rem) 0; background: linear-gradient(125deg, #063c2d, #0b674b); }
.mgh-footer .container { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; margin: 0 auto !important; }
.mgh-footer__grid { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(150px, .65fr) minmax(240px, .9fr) !important; gap: clamp(2rem, 5vw, 5rem) !important; }
.mgh-footer h2, .mgh-footer h3 { margin: 0 0 1rem !important; color: #fff !important; }
.mgh-footer h2 { font-size: clamp(1.65rem, 3vw, 2.35rem) !important; }
.mgh-footer h3 { font-size: 1rem !important; }
.mgh-footer p { margin: 0 0 1rem !important; color: rgba(255,255,255,.78) !important; line-height: 1.7 !important; }
.mgh-footer__brand p { max-width: 510px; }
.mgh-footer__cta { display: inline-flex !important; min-height: 46px; align-items: center; padding: .65rem 1rem; border-radius: 999px; color: #063c2d !important; background: #d5ebbb !important; font-weight: 800; text-decoration: none; }
.mgh-footer__links { display: grid; align-content: start; gap: .65rem; }
.mgh-footer__links a, .mgh-footer__contact > a { color: rgba(255,255,255,.82) !important; text-decoration: none; }
.mgh-footer__links a:hover, .mgh-footer__contact > a:hover { color: #d5ebbb !important; }
.mgh-footer__contact > a { display: block; margin: 0 0 .75rem; }
.mgh-footer__contact i { width: 1.35rem; color: #d5ebbb; }
.mgh-footer__social { display: flex; gap: .6rem; margin-top: 1.25rem; }
.mgh-footer__social a { display: grid !important; width: 2.45rem; height: 2.45rem; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff !important; text-decoration: none; }
.mgh-footer__social a:hover { color: #063c2d !important; background: #d5ebbb; }
.mgh-footer__bottom { padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,.16); background: #04241a; }
.mgh-footer__bottom .container { display: flex; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.7); font-size: .88rem; }

.mgh-standard-page { min-height: 44vh; background: #f5f9f5; }
.mgh-standard-page__hero { padding: clamp(3.5rem, 7vw, 6rem) 0; color: #fff; background: linear-gradient(120deg, #053b2a, #087048); }
.mgh-standard-page__hero .eyebrow { display: block; margin-bottom: .75rem; color: #d5ebbb; font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mgh-standard-page__hero h1 { margin: 0; color: #fff; font-size: clamp(2.3rem, 5vw, 4.5rem); }
.mgh-standard-page__content { min-height: 260px; padding: clamp(2.5rem, 6vw, 5rem) 0; color: var(--mgh-ink); }
.mgh-standard-page__content > * { max-width: 820px; }
.mgh-standard-page__lead { max-width: 700px; font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.8; color: var(--color-text); }
.mgh-page-cta { display: inline-flex; margin-top: 1rem; padding: .8rem 1.2rem; border-radius: 999px; color: #fff; background: var(--mgh-green); font-weight: 800; text-decoration: none; }

@media (max-width: 760px) {
    .topbar .container { display: block !important; padding: .65rem 16px !important; }
    .topbar-left, .topbar-right { justify-content: center !important; flex-wrap: wrap !important; gap: .55rem !important; }
    .topbar-item:nth-child(3), .topbar-social { display: none !important; }
    .site-header .container { width: 100% !important; padding: 0 16px !important; }
    .header-inner { min-height: 72px !important; gap: 1rem !important; }
    .branding-right, .site-tagline { display: none !important; }
    .site-branding { min-width: 0 !important; }
    .site-title { font-size: 1.1rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .custom-logo, .site-logo img { max-height: 48px !important; }
    .primary-navigation { display: none !important; }
    .mgh-footer__grid { grid-template-columns: 1fr !important; }
    .mgh-footer__bottom .container { flex-direction: column; }
}
