/* Resources area — rebuilt from wireframe */

.resourcesPage { background: #fff; padding-bottom: 60px; }
.resourcesPage .container { max-width: 960px; }

.resourcesBreadcrumb { padding: 20px 0 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.resourcesBreadcrumb a { text-decoration: none; }
.resourcesBreadcrumb a:hover { text-decoration: underline; }

.resourcesHero { padding: 20px 0 30px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
.resourcesHero h1 { font-size: 38px; font-weight: 700; margin: 0 0 8px; }
.resourcesHero p { color: #6b6b6b; font-size: 16px; margin: 0; }

.resourcesSearch { position: relative; min-width: 280px; }
.resourcesSearch input { width: 100%; padding: 10px 16px 10px 38px; border-radius: 30px; border: 1px solid #e2e0dc; background: #fff; font-size: 14px; }
.resourcesSearch i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #a3a3a3; }

/* Featured spotlight */
.resourcesFeatured { background: #fff; border: 1px solid #eee2e5; border-radius: 16px; padding: 32px; display: flex; align-items: center; gap: 32px; margin-bottom: 50px; flex-wrap: wrap; }
.resourcesFeatured .featuredIcon { flex: 0 0 160px; height: 140px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 26px; }
.featuredIcon .iconInner, .cardIcon .iconInner, .resourceDetailIcon .iconInner { background: #fff; border-radius: 12px; box-shadow: 0 6px 14px rgba(0,0,0,.06); display: flex; align-items: center; justify-content: center; }
.featuredIcon .iconInner { width: 72px; height: 72px; }
.cardIcon .iconInner { width: 56px; height: 56px; }
.resourceDetailIcon .iconInner { width: 48px; height: 48px; }
.resourcesFeatured .featuredBody { flex: 1; min-width: 240px; }
.resourcesFeatured .featuredTags { margin-bottom: 12px; }
.resourcesFeatured .badge-featured { background: #CC1B41; color: #fff; font-weight: 600; text-transform: uppercase; font-size: 11px; letter-spacing: .04em; padding: 5px 10px; border-radius: 20px; margin-right: 8px; }
.resourcesFeatured .badge-category { background: #f1efec; color: #6b6b6b; font-weight: 600; text-transform: uppercase; font-size: 11px; letter-spacing: .04em; padding: 5px 10px; border-radius: 20px; }
.resourcesFeatured h2 { font-size: 26px; font-weight: 700; margin: 0 0 10px; }
.resourcesFeatured h2 a { color: inherit; text-decoration: none; }
.resourcesFeatured h2 a:hover { text-decoration: underline; }
.resourcesFeatured p.featuredDesc { color: #6b6b6b; margin: 0 0 14px; }
.resourcesFeatured a.readGuide { color: #CC1B41; font-weight: 600; text-decoration: none; }
.resourcesFeatured a.readGuide:hover { text-decoration: underline; }

/* Latest articles */
.resourcesSectionHeader { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.resourcesSectionHeader h2 { font-size: 24px; font-weight: 700; margin: 0; }
.resourcesSectionHeader .articleCount { color: #9a9a9a; font-size: 14px; }

.topicPills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.topicPills a { display: inline-block; padding: 8px 16px; border-radius: 20px; background: #fff; border: 1px solid #e2e0dc; color: #444; font-size: 13px; text-decoration: none; }
.topicPills a:hover { border-color: #CC1B41; color: #CC1B41; }
.topicPills a.active { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }

.articleGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px; }
@media (max-width: 900px) { .articleGrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .articleGrid { grid-template-columns: 1fr; } }

.articleCard { background: #fff; border: 1px solid #eee2e5; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: box-shadow .15s ease-in-out; }
.articleCard:hover { box-shadow: 0 6px 18px rgba(0,0,0,.06); text-decoration: none; color: inherit; }
.articleCard .cardIcon { height: 110px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.articleCard .cardBody { padding: 18px 20px 22px; }
.articleCard .cardCategory { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
.articleCard h3 { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.articleCard p { color: #6b6b6b; font-size: 14px; margin: 0; }

.resourcesLoadMore { text-align: center; margin: 10px 0 60px; }
.resourcesLoadMore a { display: inline-block; padding: 12px 28px; border-radius: 30px; border: 1px solid #ddd; background: #fff; color: #333; text-decoration: none; font-weight: 600; }
.resourcesLoadMore a:hover { border-color: #CC1B41; color: #CC1B41; }

/* Browse by topic */
.browseByTopic h2 { font-size: 26px; font-weight: 700; margin: 0 0 4px; }
.browseByTopic > p { color: #6b6b6b; margin: 0 0 24px; }

.topicGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 50px; }
@media (max-width: 700px) { .topicGrid { grid-template-columns: 1fr; } }

.topicCard { background: #fff; border: 1px solid #eee2e5; border-radius: 14px; padding: 24px; }
.topicCard .topicLabel { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #CC1B41; margin-bottom: 8px; }
.topicCard h3 { font-size: 19px; font-weight: 700; margin: 0 0 6px; }
.topicCard > p { color: #6b6b6b; font-size: 14px; margin: 0 0 16px; }
.topicCard ol { list-style: none; margin: 0 0 16px; padding: 0; }
.topicCard ol li { border-top: 1px solid #f1efec; }
.topicCard ol li a { display: flex; align-items: center; justify-content: space-between; padding: 12px 2px; color: #333; text-decoration: none; font-size: 14px; }
.topicCard ol li a:hover { color: #CC1B41; }
.topicCard .viewAll { color: #CC1B41; font-weight: 600; font-size: 14px; text-decoration: none; }
.topicCard .viewAll:hover { text-decoration: underline; }

/* Glossary */
.resourcesGlossary { background: #fff; border: 1px solid #eee2e5; border-radius: 14px; padding: 28px; margin-bottom: 50px; }
.resourcesGlossary h2 { font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.resourcesGlossary > p { color: #6b6b6b; margin: 0 0 18px; }
.glossaryTags { display: flex; flex-wrap: wrap; gap: 10px; }
.glossaryTags span { background: #f1efec; color: #444; font-size: 13px; padding: 8px 14px; border-radius: 20px; }

/* CTA banner */
.resourcesCta { background: #CC1B41; color: #fff; border-radius: 16px; padding: 44px; text-align: center; }
.resourcesCta h2 { color: #fff; font-size: 28px; font-weight: 700; margin: 0 0 10px; }
.resourcesCta p { color: #fff; margin: 0 0 20px; opacity: .9; }
.resourcesCta a.btnCta { display: inline-block; background: #fff; color: #CC1B41; font-weight: 700; padding: 12px 28px; border-radius: 30px; text-decoration: none; }
.resourcesCta a.btnCta:hover { opacity: .9; }

/* Detail page */
.resourceDetailBreadcrumb { padding: 20px 0 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.resourceDetailBreadcrumb a { text-decoration: none; }
.resourceDetailBreadcrumb a:hover { text-decoration: underline; }


.resourceDetailHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 16px 0 30px; flex-wrap: wrap; }
.resourceDetailHeadBody { flex: 1; min-width: 240px; }
.resourceDetailHead h1 { font-size: 34px; font-weight: 700; margin: 6px 0 12px; }
.resourceDetailSubtitle { color: #4a4a4a; font-size: 20px; font-weight: 500; line-height: 1.5; margin: 0; }
.resourceDetailIcon { flex: 0 0 90px; width: 90px; height: 90px; border-radius: 16px; font-size: 18px; display: flex; align-items: center; justify-content: center; }

.resourceDetailBody { max-width: 960px; font-size: 16px; line-height: 1.7; color: #333; font-weight: 400; }
.resourceDetailBody p, .resourceDetailBody li { font-weight: 400; }
.resourceDetailBody strong { font-weight: 700; }
.resourceDetailBody h2 { font-size: 24px; font-weight: 700; margin: 40px 0 16px; }
.resourceDetailBody h3 { font-size: 19px; font-weight: 700; margin: 28px 0 12px; }
.resourceDetailBody p { margin: 0 0 16px; }
.resourceDetailBody ul, .resourceDetailBody ol { margin: 0 0 16px; padding-left: 22px; }
.resourceDetailBody ol { list-style: none; counter-reset: resourceOl; padding-left: 0; }
.resourceDetailBody ol li { counter-increment: resourceOl; padding-left: 30px; position: relative; }
.resourceDetailBody ol li::before { content: counter(resourceOl) "."; position: absolute; left: 0; color: #CC1B41; font-weight: 700; }
.resourceDetailBody li { margin-bottom: 8px; }
.resourceDetailBody table { width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.resourceDetailBody table td, .resourceDetailBody table th { border: 1px solid #eee2e5; padding: 10px; }
.resourceDetailBody a { color: #CC1B41; }

.allResourcesLink { color: #CC1B41; font-weight: 600; font-size: 14px; text-decoration: none; }
.allResourcesLink:hover { text-decoration: underline; }

/* --- Content components: available to editors via the Content field's HTML view --- */

/* Key takeaways box: <div class="keyTakeaways"><p class="keyTakeawaysLabel">Key takeaways</p><ul><li>...</li></ul></div> */
.keyTakeaways { background: #fff; border: 1px solid #eee2e5; box-shadow: 0 6px 14px rgba(0,0,0,.04); border-radius: 14px; padding: 24px 28px; margin: 0 0 30px; }
.keyTakeaways .keyTakeawaysLabel { font-weight: 700; margin: 0 0 12px; }
.keyTakeaways ul { margin: 0; padding: 0; list-style: none; }
.keyTakeaways li { position: relative; margin-bottom: 14px; padding-left: 20px; }
.keyTakeaways li:last-child { margin-bottom: 0; }
.keyTakeaways li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #CC1B41; }

/* Offer / feature mini-cards: <div class="offerCards"><div class="offerCard"><h4>..</h4><p>..</p></div>...</div> */
.offerCards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 24px; }
@media (max-width: 700px) { .offerCards { grid-template-columns: 1fr; } }
.offerCard { background: #fff; border: 1px solid #eee2e5; border-radius: 10px; padding: 18px 20px; }
.offerCard h4 { font-size: 15px; font-weight: 700; margin: 0 0 6px; }
.offerCard p { color: #6b6b6b; font-size: 14px; margin: 0; }

/* Example / preview card: mimics a merchant message or product preview */
.exampleCardWrap { background: #FCF2F5; border-radius: 16px; padding: 40px 24px; margin: 0 0 30px; text-align: center; }
.exampleCard { background: #fff; border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,.07); padding: 22px; margin: 0 auto; max-width: 380px; text-align: left; }
.exampleCard .exampleCardMerchant { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid #f1efec; }
.exampleCard .exampleCardMerchant .avatar { width: 34px; height: 34px; border-radius: 8px; background: #CC1B41; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.exampleCard .exampleCardMerchant .merchantName { font-weight: 700; font-size: 14px; }
.exampleCard .exampleCardMerchant .merchantSubtitle { color: #9a9a9a; font-size: 12px; }
.exampleCard .exampleCardHeadline { font-weight: 700; font-size: 16px; margin: 0 0 8px; }
.exampleCard .exampleCardDetail { color: #6b6b6b; font-size: 14px; margin: 0 0 16px; }
.exampleCard .exampleCardProduct { display: flex; align-items: center; gap: 14px; background: #FAF9F7; border-radius: 10px; padding: 12px; margin: 0 0 16px; }
.exampleCard .exampleCardProduct .thumb { width: 48px; height: 48px; border-radius: 8px; background: #F6D9E0; flex-shrink: 0; }
.exampleCard .exampleCardProduct .thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }
.exampleCard .exampleCardProduct .name { font-weight: 600; font-size: 14px; margin-bottom: 2px; }
.exampleCard .exampleCardProduct .price .sale { color: #CC1B41; font-weight: 700; margin-right: 6px; }
.exampleCard .exampleCardProduct .price del { color: #999; }
.exampleCard .exampleCardBtn { display: block; text-align: center; background: #CC1B41; color: #fff; font-weight: 700; padding: 12px; border-radius: 8px; text-decoration: none; }
.exampleCard .exampleCardBtn:hover { color: #fff; opacity: .9; }
.exampleCardCaption { color: #CC1B41; font-size: 13px; margin: 16px 0 0; }

/* FAQ accordion: <div class="resourceFaq"><div class="faqItem"><div class="faqQuestion">Q<span>+</span></div><div class="faqAnswer"><p>A</p></div></div>...</div> */
.resourceFaq { border-top: 1px solid #eee2e5; margin: 0 0 30px; }
.faqItem { border-bottom: 1px solid #eee2e5; }
.faqQuestion { display: flex; align-items: center; justify-content: space-between; padding: 18px 4px; cursor: pointer; font-weight: 600; }
.faqQuestion span { color: #CC1B41; font-size: 20px; line-height: 1; }
.faqAnswer { display: none; padding: 0 4px 18px; color: #6b6b6b; }
.faqAnswer p:last-child { margin-bottom: 0; }
.faqItem.open .faqAnswer { display: block; }
