p a.active {
    color: #7fa6d9;      /* same medium blue */
    font-weight: bold;
    text-decoration: underline;
}

.storepage-links {
    text-align: center;
    margin: 20px 0;
}

.storepage-links a {
    color: #7fa6d9;   /* medium blue */
    font-size: 18px;
    text-decoration: none;
    padding: 0 6px;
}

.storepage-links a:hover {
    color: #d4af37;   /* gold hover */
}

.storepage-links a.active {
    color: #d4af37;   /* gold highlight */
    font-weight: bold;
    text-decoration: underline;
}

/* ============================
   GLOBAL RESET & BASE
   ============================ */

  /* ============================================
   HOMEPAGE FIX PATCH — SAFE FOR ALL PAGES
   ============================================ */

/* 1. Fix global typography overriding panel colors */
p, h1, h2, h3, h4, h5, h6 {
    font-size: 1em;
    line-height: 1.5em;
    color: inherit !important;      /* allows panels to use their own colors */
    text-align: left !important;    /* prevents forced justification */
    font-family: Arial, Helvetica, sans-serif;
    padding-left: 0;
}

/* 2. Fix mainContent width overflow */
.mainContent {
    width: 100%;
    max-width: 860px;
    margin: 5px auto 0 auto;
    padding: 0 10px !important;     /* prevents hero image overflow */
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 3. Reinforce correct panel text colors */
.homePage .rightPanel p,
.homePage .rightPanel h2,
.homePage .rightLearnMore {
    color: #e6e6e6 !important;      /* restores bright text on purple */
}

.homePage .leftPanel p,
.homePage .leftPanel h2,
.homePage .leftContactLink {
    color: #6a3a8a !important;      /* restores purple text on gray */
}

/* 4. Banner fallback colors (in case images fail to load) */
.welcomeBanner {
    background-color: #d7d9dd;      /* soft gray fallback */
}

.marqueeBanner {
    background-color: #1a1f2b;      /* deep blue fallback */
}

.leftPanel {
    background-color: #e0e0e0;      /* light gray fallback */
}

.rightPanel {
    background-color: #4a2a6a;      /* deep purple fallback */
}

/* 5. Reinforce panelRow flex behavior */
.homePage .panelRow {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
}


html, body {
    margin: 0;
    padding: 0;
}

body {
    background: #f5f3e0;
    text-align: center;
    font: 12px Arial, sans-serif;
    color: #000;
    margin: 0 auto;
}


p {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 1.2em;
    line-height: 1.5em;
    
}

h1 img {
    display: block;
}

img {
    border: 0;
}

.imgIcon {
    border: 0;
    padding: 10px;
}

/* Links */
a {
    color: #155E67;
    font-weight: bold;
    text-decoration: none;
}

a:hover {
    color: #036;
    text-decoration: underline;
}

/* Helpers */
.left { float: left; }
.right { float: right; }
.more { text-align: right; }
.clear { clear: both; }

/* ============================
   CONNECT / FACEBOOK ICON
   ============================ */

#connect {
    width: 170px;
    float: right;
    margin: 20px 0 0 auto;
    text-align: right;
}

/* Testimonial text in marquee */
marquee p {
    color: #000;
    font-size: 1.2em;
}

/* ============================
   STORE CONTAINER (NEW)
   ============================ */

#store-container {
    max-width: 890px;
    margin: 0 auto;
    text-align: center;
    background-color: #000;   /* true black */
    padding: 20px;
}

.img {
    background-color: #000;
    padding: 10px;
    margin: 10px;
}

#store-container .img {
    width: 30%;
    display: inline-block;
    vertical-align: top;
    margin: 1.5%;
    text-align: center;
    box-sizing: border-box;
}

#store-container .img img {
    width: 100%;
    height: auto;
    display: block;
}

#store-container .img p,
#store-container .img .desc {
    max-width: 100%;
    margin: 8px auto 0 auto;
    display: block;
    word-wrap: break-word;
    font-size: 14px;
    line-height: 1.3;
}

/* Store text colors */
#store-container,
#store-container p,
#store-container .desc,
#store-container .desc p,
#store-container h1,
#store-container h2,
#store-container h3,
#store-container h4,
#store-container h5,
#store-container h6 {
    color: #7fa6d9; /* medium blue */
}

/* Intro text for store pages */
.store-intro {
    color: #e6e6e6;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 25px;
}

.store-intro p {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
}

/* Footer width alignment */
.gallery-footer {
    max-width: 890px;
    margin: 0 auto;
}

/* Legacy store-block (normalized) */
.store-block {
    width: 30%;
    margin: 1.5%;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

.store-block img {
    width: 100%;
    height: auto;
    display: block;
}

.store-block p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.3;
    word-wrap: break-word;
    color: #dcdcdc;
}

/* Desc text color override */
.desc p,
.desc p strong,
.desc p a {
    color: #7fa6d9;
}

/* ============================
   HEADER / BANNER SYSTEM
   ============================ */

/* Full-width banner behind frames + title */
.ew-banner {
    width: 100%;
    height: 360px;
    background: linear-gradient(
        to bottom,
        #d7d9dd 0%,
        #c7c9ce 40%,
        #bfc2c7 100%
    );
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    border-top: 4px solid #000;
}

/* Entrance shadow motif */
.ew-entrance-shadow {
    width: 80px;
    height: 100%;
    background: rgba(0,0,0,0.15);
    box-shadow: 10px 0 20px rgba(0,0,0,0.25);
    position: absolute;
    left: 0;
    top: 0;
}

/* Horizontal row of frames */
.ew-frames-row {
    display: flex;
    gap: 20px;
    margin-left: 100px;
    margin-top: 40px;
}

.ew-frame {
    width: 220px;
    height: 165px;
    background: #fff;
    border: 3px solid #e0e0e0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    overflow: hidden;
    position: relative;
}

.ew-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

/* Rotating image class */
.rotating-img {
    transition: opacity 0.8s ease-in-out;
    opacity: 1;
}

/* Title block under/within banner */
.ew-header-container {
    width: 890px;
    margin: 0 auto;
    position: relative;
}

.ew-title-block {
    width: 100%;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.ew-title-block h1 {
    font-size: 36px;
    letter-spacing: 3px;
    margin: 0;
    color: #222;
}

.ew-title-block p {
    margin: 5px 0 0;
    font-size: 16px;
    letter-spacing: 1px;
    color: #444;
}

/* Navigation under header (if used) */
.ew-nav {
    background: #fff;
    padding: 10px 0 0;
    text-align: center;
}

.ew-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ew-nav li {
    display: inline-block;
    margin: 0 20px;
}

.ew-nav a {
    text-decoration: none;
    font-size: 18px;
    color: #222;
}

.ew-gold-line {
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #d4af37, #f7e27c, #d4af37);
    margin-top: 10px;
}

/* ============================
   MAIN CONTENT LAYOUT
   ============================ */

/* Welcome banner directly under header */
.welcomeBanner {
    width: 100%;
    max-width: 860px;
    background-image: url('images/gallery-images/medium/navPurGryBa_preview.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 22px 0;
    margin: 0;
}

.welcomeBanner h1 {
    color: #000;
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    margin: 0;
    line-height: 1.2;
}

/* Real African hero image centered under banner */
.realAfricanHero {
    width: 100%;
    max-width: 860px;
    display: block;
    margin: 0 auto;
    padding: 0;
}

/* Text under real Africanism image */
.imageDescription {
    color: #000000;
    max-width: 860px;
    margin: 20px auto;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}

/* Two-panel layout container */
.panelRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    max-width: 860px;
    margin: 30px auto 0 auto;
}

/* LEFT PANEL (gray background, purple text) */
.leftPanel {
    width: 50%;
    background-image: url('images/gallery-images/medium/leftGrayTexture.jpg');
    background-size: cover;
    background-position: top center;
    padding: 35px 40px;
    text-align: center;
}

.leftPanel h2 {
    color: #6a3a8a;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.leftPanel p {
    color: #6a3a8a;
    font-size: 18px;
    line-height: 1.5;
    margin: 10px 0;
}

.leftContactLink {
    display: block;
    text-align: left;
    color: #6a3a8a;
    font-size: 20px;
    font-weight: 600;
    margin-top: 20px;
    text-decoration: none;
}

/* RIGHT PANEL (purple background, light text) */
.rightPanel {
    width: 50%;
    background-image: url('images/gallery-images/medium/rightPurpleTexture.jpg');
    background-size: cover;
    background-position: top center;
    padding: 35px 40px;
    text-align: center;
}

.rightPanel h2,
.rightPanel p,
.rightLearnMore {
    color: #e6e6e6;
}

.rightLearnMore {
    display: block;
    font-size: 20px;
    font-weight: 600;
    margin-top: 20px;
    text-decoration: none;
}

/* Icons under panels */
.facebookIcon img {
    width: 40px;
    height: auto;
    margin-top: 25px;
}

/* COA image (you can target with a class if needed) */
/* Example:
.coaIcon img {
    width: 40px;
    height: auto;
    margin-top: 25px;
}
*/

/* Thank-you video buttons (future) */
.thankYouButton {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 16px;
    background-color: #6a3a8a;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    border-radius: 4px;
}

/* Marquee banner above footer */
.marqueeBanner {
    width: 100%;
    max-width: 860px;
    background-image: url('images/gallery-images/medium/navDkBluBan_preview.jpg');
    background-size: cover;
    background-position: center;
    padding: 15px 20px;
    margin: 20px auto 0 auto;
}

.marqueeBanner p {
    color: #7fa6d9; /* medium blue text */
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

/* ============================
   HOMEPAGE — PROTECTED LAYOUT
   ============================ */

.homePage .welcomeBanner {
    width: 100%;
    max-width: 860px;
    background-image: url('images/gallery-images/medium/navPurGryBa_preview.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 22px 0;
    margin: 0 auto;
}

.homePage .welcomeBanner h1 {
    color: #000;
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    margin: 0;
    line-height: 1.2;
}

.homePage .realAfricanHero {
    width: 100%;
    max-width: 860px;
    display: block;
    margin: 0 auto;
    padding: 0;
}

.homePage .imageDescription {
    color: #000;
    max-width: 860px;
    margin: 20px auto;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}

.homePage .panelRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    max-width: 860px;
    margin: 30px auto;
}

.homePage .leftPanel {
    width: 50%;
    background-image: url('images/gallery-images/medium/leftGrayTexture.jpg');
    background-size: cover;
    background-position: top center;
    padding: 35px 40px;
    text-align: center;
}

.homePage .leftPanel h2 {
    color: #6a3a8a;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.homePage .leftPanel p {
    color: #6a3a8a;
    font-size: 18px;
    line-height: 1.5;
}

.homePage .leftContactLink {
    display: block;
    color: #6a3a8a;
    font-size: 20px;
    font-weight: 600;
    margin-top: 20px;
    text-decoration: none;
}

.homePage .rightPanel {
    width: 50%;
    background-image: url('images/gallery-images/medium/rightPurpleTexture.jpg');
    background-size: cover;
    background-position: top center;
    padding: 35px 40px;
    text-align: center;
}

.homePage .rightPanel h2 {
    color: #e6e6e6;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.homePage .rightPanel p {
    color: #e6e6e6;
    font-size: 18px;
    line-height: 1.5;
}

.homePage .rightLearnMore {
    display: block;
    color: #e6e6e6;
    font-size: 20px;
    font-weight: 600;
    margin-top: 20px;
    text-decoration: none;
}

.homePage .marqueeBanner {
    width: 100%;
    max-width: 860px;
    background-image: url('images/gallery-images/medium/navDkBluBan_preview.jpg');
    background-size: cover;
    background-position: center;
    padding: 15px 20px;
    margin: 20px auto;
}

.homePage .marqueeBanner p {
    color: #7fa6d9;
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

.homePage .mainContent {
    max-width: 890px;
    margin: 0 auto;
    padding: 0 10px;
}
/* ============================
   FOOTER (KEEPING YOUR BEAUTIFUL VERSION)
   ============================ */

/* Footer container */
.gallery-footer {
    background-color: #000;
    width: 100%;
    max-width: 890px;
    margin: 0 auto;
    padding: 15px 0; /* removed side padding so width matches store content */
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
}

/* Navigation links in footer */
.footer-links {
    margin-bottom: 10px;
}

.footer-links a {
    color: #7fa6d9;          /* medium blue */
    text-decoration: none;
    margin: 0 8px;
    font-size: 14px;
    letter-spacing: 0.5px;
}

.footer-links a:hover {
    color: #d4af37;          /* soft metallic gold hover */
}

/* Theme bar (gold lines + theme text) */
.theme-bar {
    margin: 15px auto 10px auto;
    text-align: center;
}

.gold-line {
    width: 380px;
    height: 1px;
    background-color: #d4af37;
    margin: 6px auto;
}

.theme-text {
    color: #d4af37;
    font-size: 18px;
    letter-spacing: 1px;
    margin: 4px 0;
    white-space: nowrap;
}

/* Legal text */
.footer-bottom p {
    margin: 3px 0;
    font-size: 13px;
    color: #aaa;
}

.developer-credit {
    font-size: 12px;
    color: #aaa;
}

/* Force center alignment for legal text */
.footer-bottom,
.footer-bottom p,
.developer-credit {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}


.store-intro {
    background-color: #f2e9d8;
    color: #000;
    padding: 20px;
    border-radius: 6px;
    margin-bottom: 30px;
}

.gallery-footer .footer-links a.active {
    color: #7fa6d9;
    font-weight: bold;
    text-decoration: underline;
}

 .storepage-links p {
    text-align: center;
}
 
/* Unified content container for all pages */
.ew-content-container {
    max-width: 890px;
    margin: 0 auto;
    padding: 20px;
}

.ew-content-container,
.ew-content-container .content {
    width: 100%;
    max-width: 890px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ew-content-container img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.float-left {
    float: left;
    margin: 0 20px 20px 0;
    max-width: 40%;
}

.float-right {
    float: right;
    margin: 0 0 20px 20px;
    max-width: 40%;
}