/* AdvancedHMI modern look - layered on ZCA Bootstrap */
:root { --ahmi-red:#b00000; --ahmi-red-dark:#8c0000; --ahmi-ink:#111111; --ahmi-text:#1f2328; --ahmi-muted:#5b6370; --ahmi-light:#f4f5f7; --ahmi-line:#e3e6ea; }
body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--ahmi-text); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .h1, .h2, .h3 { font-weight: 700; letter-spacing: -0.01em; color: var(--ahmi-ink); }
#mainWrapper { box-shadow: none; }
a { color: var(--ahmi-red); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover, a:focus { color: var(--ahmi-red-dark); }
#headerWrapper { padding-top: .5rem; padding-bottom: .75rem; border-bottom: 3px solid var(--ahmi-red); }
#headerWrapper #taglineWrapper, #headerWrapper #tagline { font-size: 1.05rem; font-weight: 500; letter-spacing: .02em; }
#logo img { max-width: 100%; height: auto; }
nav.navbar { border-radius: 0; }
.navbar .nav-link { font-weight: 500; }
.btn { border-radius: .4rem; font-weight: 600; padding: .45rem 1rem; transition: background-color .15s ease, border-color .15s ease, transform .05s ease; }
.btn:active { transform: translateY(1px); }
.card { border: 1px solid var(--ahmi-line); border-radius: .6rem; overflow: hidden; box-shadow: 0 1px 2px rgba(17,17,17,.04); }
.card-header { font-weight: 600; letter-spacing: .01em; }
.centerBoxContentsProducts .card, .centerBoxContents .card, .productListing .card { transition: box-shadow .2s ease, transform .2s ease; }
.centerBoxContentsProducts .card:hover, .centerBoxContents .card:hover, .productListing .card:hover { box-shadow: 0 8px 24px rgba(17,17,17,.08); transform: translateY(-2px); }
#navBreadCrumb, .breadcrumb { border-radius: .4rem; font-size: .9rem; }
#home-text { font-size: 1.05rem; color: var(--ahmi-text); max-width: 72ch; }
#home-text a { font-weight: 600; }
#indexDefaultHeading { margin-top: .5rem; }
.productPriceDiscount, .productSpecialPrice, .productSalePrice { font-weight: 600; }
#footerWrapper { border-top: 3px solid var(--ahmi-red); font-size: .9rem; }
#footerWrapper a { color: #ffffff; }
#footerWrapper a:hover { color: #ffb3b3; }
#siteinfoLegal, #siteinfoIP { color: #9a9a9a; }
input.form-control, select.form-control, textarea.form-control, .custom-select { border-radius: .4rem; border-color: #cfd4da; }
.form-control:focus, .custom-select:focus { border-color: var(--ahmi-red); box-shadow: 0 0 0 .2rem rgba(176,0,0,.15); }
@media (max-width: 575.98px) { #home-text { font-size: 1rem; } h1, .h1 { font-size: 1.6rem; } }


/* Home page hero + features */
.ahmi-hero { background: radial-gradient(1200px 400px at 85% -10%, rgba(176,0,0,.35), transparent 60%), linear-gradient(135deg, #111111 0%, #1e1e1e 100%); color: #fff; border-radius: .8rem; padding: 3rem 2rem; margin: 1rem 0 1.75rem; }
.ahmi-hero-inner { max-width: 760px; }
.ahmi-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; color: #ff8a8a; margin-bottom: .5rem; }
.ahmi-hero .ahmi-hero-title { color: #fff; font-size: 2.3rem; line-height: 1.15; margin-bottom: 1rem; }
.ahmi-hero-lead { font-size: 1.15rem; color: #d6d6d6; margin-bottom: 1.5rem; }
.ahmi-hero-actions .btn { margin: 0 .5rem .5rem 0; }
.ahmi-btn-primary { background: #b00000; border: 1px solid #b00000; color: #fff !important; text-decoration: none; }
.ahmi-btn-primary:hover { background: #8c0000; border-color: #8c0000; }
.ahmi-btn-ghost { background: transparent; border: 1px solid rgba(255,255,255,.45); color: #fff !important; text-decoration: none; }
.ahmi-btn-ghost:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.ahmi-features { margin-bottom: 1rem; }
.ahmi-feature { height: 100%; border: 1px solid #e3e6ea; border-top: 3px solid #b00000; border-radius: .6rem; padding: 1.25rem 1.25rem .5rem; background: #fff; }
.ahmi-feature h3 { font-size: 1.1rem; margin-bottom: .5rem; }
.ahmi-feature p { color: #5b6370; font-size: .97rem; }
.ahmi-about { margin: 1rem 0 2rem; }
.ahmi-about h3 { font-size: 1.35rem; margin-bottom: .75rem; }
#indexDefaultHeading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 767.98px) { .ahmi-hero { padding: 2rem 1.25rem; } .ahmi-hero .ahmi-hero-title { font-size: 1.6rem; } .ahmi-hero-actions .btn { display: block; width: 100%; } }


/* fixes */
#indexDefault-defineContent { max-width: none; }
.ahmi-about p { max-width: 75ch; }
#indexDefault-pageHeading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#navCatTabs a, #navEZPagesTop a, nav.navbar a, #ezpagesBarHeader a, #ezpagesBarFooter a { text-decoration: none; }
#navCatTabs a:hover, #navEZPagesTop a:hover { text-decoration: none; }
.ahmi-hero .ahmi-btn-ghost { background-color: transparent; border-color: rgba(255,255,255,.45); color: #fff; }
.ahmi-hero .ahmi-btn-ghost:hover { background-color: rgba(255,255,255,.12); border-color: #fff; color: #fff; }
.ahmi-hero .ahmi-btn-primary { background-color: #b00000; border-color: #b00000; color: #fff; }
.ahmi-hero .ahmi-btn-primary:hover { background-color: #8c0000; border-color: #8c0000; color: #fff; }


.ahmi-about { border: 1px solid #e3e6ea; border-radius: .6rem; padding: 1rem 1.25rem; background: #fafbfc; }
.ahmi-about summary { cursor: pointer; font-weight: 700; font-size: 1.1rem; color: #111; list-style: none; }
.ahmi-about summary::-webkit-details-marker { display: none; }
.ahmi-about summary::after { content: " +"; color: #b00000; }
.ahmi-about[open] summary::after { content: " \2212"; }
.ahmi-about summary .ahmi-sum-lead { display: block; font-weight: 400; font-size: .97rem; color: #5b6370; margin-top: .25rem; }
.ahmi-about[open] summary { margin-bottom: .75rem; }
#featuredCenterbox-card-header { font-size: 1.15rem; }

/* keep white text on dark card/box headers (overrides the global heading colour) */
.card-header, .card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header .h1, .card-header .h2, .card-header .h3,
#featuredCenterbox-card-header, .centerBoxHeading, .leftBoxHeading, .rightBoxHeading { color: #ffffff; }
.card-header a { color: #ffffff; }
.card-header a:hover { color: #ffb3b3; }
/* light (grey) card headers need dark text; only the dark/red ones get white text */
#attributes-card-header, .card-header.optionName, h2.card-header.optionName { color: #1f2328; }
#attributes-card-header a, .card-header.optionName a { color: #b00000; }
