/* Shared Qoupy design: opaque dark surfaces, plain borders and green accents. */

body { background:#050409; }
.q-site { background:radial-gradient(ellipse at 90% 12%,#632b9b0d,transparent 650px),var(--q-bg); }
.q-topline { background:#100b18; border-bottom-color:#432751; color:#c4b6d2; }
.q-header { background:#09070f; border-bottom-color:#302036; }
.q-header::after { content:none; }
.q-nav a { color:#cfc5db; }
.q-nav a:hover,.q-nav .current-menu-item > a { color:#94ffb3; }
.q-search-panel { background:#100b18; border-top-color:#422c51; }
.q-icon-button,.q-menu-button { background:#100c17; border-color:#50375f; }
.q-icon-button:hover,.q-menu-button:hover { border-color:#bc83ee; color:#a2ffbc; }
.q-eyebrow,.q-store-hero > .q-eyebrow { color:#86ffa6; }
.q-section-head > a,.q-text-link { color:#cfa5f5; }
.q-text-link:hover,.q-section-head > a:hover { color:#a2ffbc; }
.q-section-head h1,.q-section-head h2,.q-entry h1 { color:#f8f5ff; }
.q-search-panel .search-form,.q-home-search .search-form { position:relative; }
.search-form label:not(.screen-reader-text) { min-width:0; }
.search-field { background:#08060f; border-color:#51365f; color:#fff; }
.search-field::placeholder { color:#afa0bf; opacity:1; }
.search-field:focus { outline:2px solid #b883ee; outline-offset:2px; }
.search-submit,.q-offer__button,.q-modal__shop,.q-modal__codebox button,.q-entry__content .wp-block-button__link {
 color:#fff; background:var(--q-neon-button); border-color:#8affaa;
 box-shadow:inset 0 1px 2px #dc93ff,0 0 12px #a300ff35;
}
.search-submit:hover,.q-offer__button:hover,.q-modal__shop:hover,.q-modal__codebox button:hover,.q-entry__content .wp-block-button__link:hover {
 background:linear-gradient(180deg,#c340ff,#a719fc 65%,#bf46ff); box-shadow:0 0 14px #b940ff50;
}
.q-shop-button { background:#21112e; border-color:#8653b0; color:#f9edff; }
.q-shop-button:hover { background:#2e173d; border-color:#b985e4; box-shadow:0 0 16px #912be52a; }
.q-filter-bar button { background:#100c17; border-color:#493255; color:#cdbedb; }
.q-filter-bar button[aria-pressed=true] { background:#30143f; color:#fff; border-color:#b479dd; }
.q-store-tabs { border-color:#37223f; }
.q-store-tabs a:first-child::after { background:#b36bfc; box-shadow:none; }
.q-store-tabs a span { background:#30143f; color:#ddb7ff; }

/* Matte cards with plain, even borders. */
.q-merchant,.q-sidebar-block,.q-guide-card,.q-timing,.q-how-to,.q-policy-grid article,
.q-transparency,.q-editorial,.q-store-tile,.q-post-card,.q-empty,.q-home-step,.q-home-transparency,.q-verification {
 position:relative; background:var(--q-card); border:1px solid var(--q-border); border-radius:16px;
 box-shadow:0 8px 22px #00000020;
}
.q-merchant::before,.q-sidebar-block::before,.q-guide-card::before,.q-timing::before,.q-how-to::before,
.q-policy-grid article::before,.q-transparency::before,.q-editorial::before,.q-store-tile::before,
.q-post-card::before,.q-home-step::before,.q-home-transparency::before,.q-verification::before { content:none; }
.q-merchant,.q-guide-card,.q-home-transparency { border-color:#5b3c6a; }
.q-merchant__logo,.q-store-tile__logo { background:#07050c; border-color:#3e294b; color:#fff; }
.q-merchant__logo--mono,.q-store-tile__logo--mono { background:#000; }
.q-store-tile__logo--mono img { filter:invert(1); }
.q-store-facts,.q-sidebar-fact,.q-store-links a,.q-data-gap { border-color:#38243f; }
.q-merchant > p,.q-sidebar-block p,.q-guide-card p,.q-timing p,.q-how-to li,.q-policy-grid p,.q-editorial p,.q-editorial li,.q-transparency p { color:#c4b8d0; }
.q-timing .q-eyebrow { color:#86ffa6; }
.q-guide-icon,.q-status-icon { background:#14231b; border-color:#477154; color:#97ffb5; box-shadow:none; }
.q-sidebar-tips li::marker { color:#86ffa6; }
.q-how-to li::before { background:#14231b; border-color:#50765a; color:#a0ffba; }
.q-category-links a { background:#100c17; border-color:#53335f; }
.q-category-links a span,.q-similar-links a > span:last-child { color:#86ffa6; }
.q-category-links a:hover { border-color:#ae6ed5; background:#1b1026; }
.q-similar-initial { background:#21112e; color:#e3c1ff; border:1px solid #503260; }
.q-citation,.q-guide-card .q-citation,.q-policy-grid .q-citation { color:#bda8cd; }
.q-citation a { color:#d0a8ef; }
.q-citation a:hover { color:#a2ffbc; }
.q-troubleshooting { background:#130c1b; border-color:#563464; }
.q-troubleshooting summary { color:#dfc9f0; }
.q-troubleshooting summary span { color:#86ffa6; }
.q-faq { display:grid; gap:10px; border-top:0; }
.q-faq details { position:relative; background:#100c17; border:1px solid #442c51; border-radius:12px; padding-inline:18px; }
.q-faq details[open] { border-color:#9c65be; background:#140d1e; }
.q-faq details[open]::before { content:none; }
.q-faq summary { color:#eee5f7; }
.q-faq summary span { color:#86ffa6; }
.q-faq details > div { color:#c4b8d0; }
.q-offer { background:#110d19; border-color:#594465; }
.q-offer__benefit { background:#1d102a; border-color:#563469; }
.q-offer__details { border-top-color:#422a4d; }
.q-offer__details summary span { color:#86ffa6; }
.q-modal { background:#100b18; border-color:#9963b9; box-shadow:0 12px 32px #0006; }
.q-modal::backdrop { background:#030207eb; backdrop-filter:none; }
.q-modal__codebox { background:#07050b; border-color:#b47bea; }
.q-modal__close { background:#1d1129; border-color:#583365; }
.q-modal__shop { border:1px solid #86ffa6; }
.q-modal__live { color:#a7ffbe; }
.q-post-card a:hover { color:#a4ffbc; }
.q-post-card h2 { color:#f7efff; }
.q-entry__content { color:#c9bdd5; }
.q-entry__content a { color:#d3abf4; text-underline-offset:3px; }
.q-entry__content blockquote { margin-inline:0; padding:16px 22px; border-left:3px solid #86ffa6; background:#100c17; }
.q-entry__content :is(code,pre) { background:#140d1d; color:#ead8ff; }
.q-entry__content pre { padding:16px; overflow:auto; border:1px solid #493355; border-radius:10px; }
.q-entry__content :is(table,td,th) { border-color:#493355; }
.q-entry__content hr { border:0; border-top:1px solid #4b3059; }
.navigation.pagination { margin-top:30px; }
.pagination .nav-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; }
.page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:40px; padding:7px 12px; border:1px solid #50305f; border-radius:8px; color:#dfc8f2; text-decoration:none; background:#110b19; }
.page-numbers.current { background:#331447; border-color:#b582e0; color:#fff; }
.q-footer { position:relative; background:#09060e; border-top-color:#4c2c5e; }
.q-footer::before { content:none; }
.q-footer p { color:#bfb0cc; }
.q-footer a:not(.q-brand):not(.custom-logo-link) { color:#d4bfdf; }
.q-footer a:hover { color:#a2ffbc; }
.q-footer-heading { margin:12px 0 18px; color:#86ffa6; font-size:11px; letter-spacing:1px; text-transform:uppercase; }

/* Front page: the approved coupon materials applied to the whole entrance. */
.q-home-hero { width:min(var(--q-container),calc(100% - 36px)); margin:32px auto 0; border:1px solid #644273; border-radius:24px; background:#0d0914; overflow:visible; }
.q-home-hero::before { content:none; }
.q-home-hero::after { content:none; }
.q-home-hero__inner { width:100%; min-height:444px; padding:50px 32px 42px; }
.q-home-hero .q-eyebrow { margin-bottom:22px; color:#86ffa6; font-size:11px; letter-spacing:1.8px; }
.q-home-hero h1 { max-width:900px; font-size:clamp(46px,5.4vw,74px); line-height:1.04; letter-spacing:-3px; margin-bottom:20px; }
.q-home-hero h1 span { display:block; color:#d1a5fc; text-shadow:0 0 26px #a753ed25; }
.q-home-hero__inner > p:not(.q-eyebrow) { max-width:630px; font-size:15px; line-height:1.7; color:#c4b6d1; margin-bottom:26px; }
.q-home-search { width:min(650px,100%); }
.q-home-search .search-form { gap:8px; padding:8px; border:1px solid #644079; border-radius:999px; background:#07050d; box-shadow:0 0 22px #8e25d514; }
.q-home-search .search-field { min-height:48px; border:0; border-radius:999px; padding-inline:18px; font-size:14px; }
.q-home-search .search-submit { min-height:48px; border-radius:999px; border-width:2px; padding:10px 26px; font-size:14px; font-weight:700; }
.q-home-trending { align-items:center; gap:8px 14px; margin-top:17px; font-size:12px; color:#ab98bc; }
.q-home-trending a { color:#ded0e9; border-bottom:1px solid #4c305c; padding-bottom:1px; }
.q-home-trending a:hover { color:#91ffad; border-color:#6aac79; }
.q-home-section { padding-block:44px 54px; }
.q-home-section .q-section-head { margin-bottom:24px; }
.q-home-section .q-section-head > a { display:flex; align-items:center; gap:9px; color:#d6b3f4; font-size:12px; }
.q-home-section .q-section-head > a span { color:#86ffa6; }
.q-store-grid { gap:18px; }
.q-store-tile { overflow:visible; }
.q-store-tile:hover { transform:none; border-color:#a570cd; box-shadow:0 8px 22px #00000020; }
.q-store-tile:focus-within { outline:2px solid #c38deb; outline-offset:3px; }
.q-store-tile > a { min-height:210px; padding:16px 16px 21px; border-radius:15px; height:100%; }
.q-store-tile__logo { height:96px; border:1px solid #34213e; border-radius:10px; font-size:23px; letter-spacing:-.7px; }
.q-store-tile__logo img { max-width:100%; max-height:76px; width:auto; object-fit:contain; }
.q-store-tile h2 { margin-top:14px; color:#fff; font-size:16px; }
.q-store-tile p { margin:3px 0 0; max-width:calc(100% - 20px); color:#b9a9c6; font-size:11px; line-height:1.5; }
.q-store-tile__corner { position:absolute; right:-1px; bottom:-1px; width:38px; height:38px; border-radius:0 0 16px 0; background:#86ffa6; clip-path:polygon(100% 0,100% 100%,0 100%); pointer-events:none; }
.q-store-tile__corner span { position:absolute; right:6px; bottom:3px; font-size:18px; line-height:1; font-weight:700; color:#174226; }
.q-home-guide { padding-top:8px; padding-bottom:52px; scroll-margin-top:26px; }
.q-home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.q-home-step { padding:25px; }
.q-home-step__number { display:grid; place-items:center; width:36px; height:36px; border:1px solid #538562; border-radius:50%; background:#132119; color:#95ffb1; font-size:12px; margin-bottom:21px; }
.q-home-step h3 { margin:0 0 10px; color:#fbf7ff; font-size:19px; letter-spacing:-.4px; }
.q-home-step p { margin:0; color:#c2b3cd; font-size:13px; line-height:1.8; }
.q-home-transparency { display:flex; align-items:center; gap:24px; padding:30px; margin-top:24px; }
.q-home-transparency .q-status-icon { flex-shrink:0; }
.q-home-transparency h2 { margin:0 0 10px; font-size:20px; letter-spacing:-.4px; }
.q-home-transparency p { margin:0; color:#bfb0cc; font-size:13px; line-height:1.8; max-width:860px; }
.q-home-transparency a { color:#d6b0f4; text-underline-offset:3px; }
.q-search-heading { margin-bottom:25px; }
.q-search-heading p { color:#bcaccb; font-size:13px; }
.q-search-heading .search-form { max-width:650px; margin-top:20px; }
.q-result-type { color:#86ffa6; font-size:10px; letter-spacing:1px; text-transform:uppercase; margin:0 0 8px; }
.q-post-card .q-result-type { color:#86ffa6; }
.q-entry__content,.q-post-card,.q-store-tile,.q-home-hero,.q-home-step,.q-home-transparency { overflow-wrap:anywhere; }
@media(max-width:920px) {
 .q-home-hero__inner { min-height:420px; padding:44px 26px 36px; }
 .q-home-hero h1 { font-size:clamp(44px,7vw,64px); }
 .q-home-steps { grid-template-columns:1fr; gap:16px; }
 .q-home-step { padding:22px; }
 .q-home-step__number { margin-bottom:14px; }
}
@media(max-width:600px) {
 .q-home-hero { width:calc(100% - 32px); margin-top:22px; border-radius:18px; }
 .q-home-hero__inner { padding:34px 20px; min-height:0; }
 .q-home-hero .q-eyebrow { font-size:10px; letter-spacing:1px; margin-bottom:18px; }
 .q-home-hero h1 { font-size:clamp(35px,9vw,46px); letter-spacing:-1.8px; }
 .q-home-hero__inner > p:not(.q-eyebrow) { font-size:13px; margin-bottom:22px; }
 .q-home-search .search-form { grid-template-columns:minmax(0,1fr); border-radius:14px; padding:7px; }
 .q-home-search .search-field { padding-inline:10px; min-height:44px; font-size:16px; }
 .q-home-search .search-submit { min-height:44px; font-size:13px; }
 .q-home-trending { font-size:11px; gap:8px 12px; }
 .q-home-section { padding-block:32px 38px; }
 .q-home-guide { padding-bottom:36px; }
 .q-store-grid { gap:16px; }
 .q-home-transparency { align-items:flex-start; gap:14px; padding:22px; }
 .q-home-transparency h2 { font-size:18px; }
 .q-home-transparency p { font-size:12px; }
 .q-home-transparency .q-status-icon { width:30px; height:30px; flex-basis:30px; font-size:23px; }
 .q-faq details { padding-inline:14px; }
 .search-form { grid-template-columns:minmax(0,1fr) auto; }
 .search-field { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .q-store-tile,.search-submit { transition:none; } }
