* {
    color: #787878;
}

html, body {
    background-color: #ffffff;
}

/* Match CoreBundle / IGotAfrica defaults (green buttons & links) */
:root {
    --iga-brand-green: #3FAD4C;
    --iga-brand-green-hover: #348f3f;
    --iga-link: #2e7d38;
    --iga-link-hover: #24632c;
    --iga-btn-primary: #3FAD4C;
    --iga-btn-primary-hover: #348f3f;
    --iga-nav-link: #333333;
}

/* Mobile-first: Base styles for mobile */
body {
    /* Fallback when :has() / core navbar.css not loaded; core rules override */
    padding-top: 3.75rem;
}

/* Tablet and up */
@media (min-width: 768px) {
    body {
        padding-top: 3.75rem;
    }
}

a, a * {
    color: var(--iga-link);
    font-weight: bold;
    border: none;
    text-decoration: underline;
}

a:hover, a:focus,
a:hover *, a:focus * {
    color: var(--iga-link-hover);
}

/* Nav chrome only — logo/contact row keeps blue body links */
.site-navbar a,
.site-navbar a *,
#header .navbar a,
#header .navbar a *,
.navbar .nav-link,
.navbar-brand {
    color: var(--iga-nav-link) !important;
    font-weight: normal;
    text-decoration: none !important;
}

.site-navbar a:hover,
#header .navbar a:hover,
.navbar .nav-link:hover {
    text-decoration: underline !important;
}

.header-banner-row a,
.header-banner-row a *,
.info-box-text a,
.info-box-text a * {
    color: var(--iga-link) !important;
    font-weight: bold;
    text-decoration: underline !important;
}

.header-banner-row a:hover,
.header-banner-row a:hover *,
.info-box-text a:hover,
.info-box-text a:hover * {
    color: var(--iga-link-hover) !important;
}

a.btn-xs, input.btn-xs {
    border: solid 1px var(--iga-btn-primary);
    background-color: #ffffff;
    color: var(--iga-btn-primary) !important;
    font-weight: bold;
    padding: 2px !important;
    margin: 4px !important;
    line-height: 14px !important;
    margin-top: 5px;
    text-decoration: none !important;
}

a.btn-xs:hover, input.btn-xs:hover {
    text-decoration: none;
}

.navbar-header {
    padding-top: 3px;
}

button, button:hover, button:active, button:focus,
.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus,
.searchButtonMini, .searchButtonMini:hover, .searchButtonMini:focus {
    background-color: var(--iga-btn-primary) !important;
    color: #ffffff !important;
    border: solid 1px var(--iga-btn-primary) !important;
    text-decoration: none;
}

.btn-default, .btn-default:hover, .close {
    color: var(--iga-nav-link) !important;
}

.carousel-control-prev, .carousel-control-next, .carousel-control-prev:hover, .carousel-control-next:hover {
    background: none !important;
    border: none !important;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
    background-color: var(--iga-brand-green) !important;
    border-radius: 2px;
}

.close:hover {
    color: #ffffff;
}

/* Mobile-first: Base styles for mobile */
.content {
    width: 100%;
    margin: auto;
    padding: 0 8px;
    box-sizing: border-box;
}

/* Tablet and up */
@media (min-width: 576px) {
    .content {
        width: 95%;
        padding: 0 12px;
    }
}

/* Desktop and up */
@media (min-width: 992px) {
    .content {
        width: 95%;
        padding: 0;
    }
}

.content-around {
    margin-top: 0px;
}

.fa-bars {
    color: #3FAD4C;
}

/* Mobile-first: Base styles for mobile */
.logoBox {
    padding: 4px;
    text-align: center;
}

.logoBox img {
    max-width: 100%;
    height: auto;
}

/* Tablet and up */
@media (min-width: 576px) {
    .logoBox {
        text-align: left;
    }
}

.loginBox {
    color: #3FAD4C !important;
    padding: 4px;
    padding-right: 12px;
    font-weight: bold;
    text-transform: capitalize;
}

.loginBox a.btn-xs {
    margin-left: 8px;
}

/* frontend css override */

.contentTeaser {
    padding: 12px !important;
    margin-bottom: 12px !important;
}

.contentTeaserReadMore a.btn-primary {
    color: #ffffff !important;
}

/* Mini Search Form */

.searchButtonMini {
    padding: 0 0.85rem !important;
    display: inline-flex;
    text-transform: capitalize;
    line-height: 1;
    font-size: 12px;
    border-radius: 4px;
    font-weight: bold;
}

.miniSearchForm {
    padding-top: 0px;
}

/* Mobile-first: Base styles for mobile */
.searchTextInput {
    width: 100%;
    max-width: 180px;
    font-weight: normal !important;
    display: inline-block;
    border-radius: 4px;
    box-sizing: border-box;
}

/* Tablet and up */
@media (min-width: 576px) {
    .searchTextInput {
        width: 180px;
    }
}

.shopping-cart-icon {
    max-height: 1.5rem !important;
    margin: 0;
}

.shopping-cart-item-count {
    color: #ffffff !important;
    background-color: var(--iga-brand-green, #3FAD4C) !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    position: absolute !important;
    transform: translate(-15%, -95%) !important;
    font-size: 0.65rem !important;
}

.shopping-cart-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    padding: 0 !important;
}

/* Info box text - Mobile-first */
.info-box-text {
    font-size: 0.9em;
    padding: 8px;
    line-height: 1.5;
    word-wrap: break-word;
}

.info-box-text a {
    display: inline;
    word-break: break-word;
}

/* Tablet and up */
@media (min-width: 576px) {
    .info-box-text {
        font-size: 1em;
        padding: 12px;
    }
}

/* Make all images responsive by default */
img {
    max-width: 100%;
    height: auto;
}

/* Mobile-first responsive utilities */
/* Base mobile styles (default) */
footer p {
    font-size: 0.75em;
    line-height: 1.8;
    padding: 4px 0;
}

footer p a {
    display: inline-block;
    padding: 2px 4px;
    word-break: break-word;
}

/* Ensure proper text wrapping on mobile */
h1, h2, h3, h4, h5, h6 {
    word-wrap: break-word;
    hyphens: auto;
}

/* Small devices and up (576px+) */
@media (min-width: 576px) {
    footer p {
        font-size: 0.8em;
        line-height: 1.6;
    }
    
    footer p a {
        padding: 4px 8px;
    }
}

/* Extra small devices only (below 576px) */
@media (max-width: 575.98px) {
    /* Hide on mobile */
    .hidden-xs {
        display: none !important;
    }
    
    /* Stack columns on mobile */
    .row > [class*="col-"] {
        width: 100%;
        margin-bottom: 12px;
    }
}

/* Tablet */
@media (min-width: 576px) and (max-width: 991.98px) {
    .hidden-sm {
        display: none !important;
    }
}

/* Desktop */
@media (min-width: 992px) {
    .hidden-lg {
        display: none !important;
    }
}

/* Bootstrap overrides */

.page-header {
    margin-top: 12px !important;
}

/* Mobile-first: Base styles for mobile */
.bannerContainer {
    margin: auto;
    padding: 8px;
    text-align: center;
}

.bannerContainer img {
    max-width: 100%;
    height: auto;
}

/* Tablet and up */
@media (min-width: 576px) {
    .bannerContainer {
        padding: 12px;
    }
}

.navbar {
    background-color: #ffffff;
    border-bottom: solid 1px #cecece;
}

/* Brand colours only — layout lives in CoreBundle navbar.css */
.navbar-nav > li > a,
.navbar .nav-link {
    font-weight: normal;
    text-transform: capitalize;
    text-decoration: none;
}

.navbar-brand {
    text-transform: capitalize;
    font-weight: normal;
}
