/**
 * Theme Name:        Qoupy
 * Theme URI:         https://qoupy.com
 * Description:       Lightweight custom coupon theme for Qoupy.
 * Version:           0.6.1
 * Author:            Qoupy
 * Author URI:        https://qoupy.com
 * Text Domain:       qoupy
 * Requires at least: 6.6
 * Requires PHP:      8.1
 * License:           GNU General Public License v2.0 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 */



* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--q-text); background: #020203; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
body.admin-bar .q-store-sidebar { top: 46px; }
body.q-modal-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
button, input { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.q-site { min-height: 100vh; overflow: clip; background: radial-gradient(circle at 88% 7%, rgba(112,61,255,.08), transparent 28rem), radial-gradient(circle at 5% 32%, rgba(255,63,120,.035), transparent 30rem), var(--q-bg); }
.q-container { width: min(var(--q-container), calc(100% - 36px)); margin-inline: auto; }
.q-skip { position: absolute; left: 16px; top: -80px; z-index: 10000; padding: 10px 14px; color: #fff; background: var(--q-purple); border-radius: 8px; }
.q-skip:focus { top: 16px; }
.q-topline { min-height: 31px; display: flex; align-items: center; justify-content: center; padding: 7px 18px; color: #fff; background: linear-gradient(90deg, #6f3cff 0%, #8a43f2 48%, #ff3f78 100%); font-size: 12px; text-align: center; }
.q-header { position: relative; z-index: 20; background: #0a0a0d; border-bottom: 1px solid #24242c; }
.q-header__inner { width: min(var(--q-container), calc(100% - 36px)); min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-inline: auto; }
.q-brand { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: 21px; font-weight: 700; letter-spacing: -.8px; text-decoration: none; }
.q-brand__mark { position: relative; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, #8a43f2, #ff3f78); }
.q-brand__mark::before { content: ""; width: 10px; height: 10px; border: 4px solid #fff; border-radius: 50%; }
.q-brand__mark::after { content: ""; position: absolute; right: 4px; bottom: 5px; width: 9px; height: 4px; border-radius: 4px; background: #fff; transform: rotate(45deg); }
.custom-logo { max-height: 46px; width: auto; }
.q-nav ul { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.q-nav a { color: #b4b4bf; font-size: 13px; text-decoration: none; }
.q-nav a:hover, .q-nav .current-menu-item > a { color: #fff; }
.q-header__actions { display: flex; align-items: center; gap: 8px; }
.q-icon-button, .q-locale, .q-menu-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; color: #f7f7fb; background: #141419; border: 1px solid #2b2b35; border-radius: 10px; text-decoration: none; }
.q-icon-button { width: 40px; padding: 0; }
.q-menu-button { display: none; }
.q-search-panel { border-top: 1px solid #24242c; background: #0c0c10; }
.q-search-panel__inner { width: min(660px, calc(100% - 36px)); margin-inline: auto; padding: 16px 0; }
.search-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.search-field { min-height: 44px; width: 100%; padding: 0 13px; color: #fff; background: #15151b; border: 1px solid #30303a; border-radius: 10px; }
.search-submit { min-height: 44px; padding: 0 18px; color: #fff; background: var(--q-purple); border: 1px solid #9f75ff; border-radius: 10px; }

.q-home-hero { position: relative; overflow: hidden; border-bottom: 1px solid #24242c; background: radial-gradient(circle at 78% 42%, rgba(124,70,245,.23), transparent 24rem), radial-gradient(circle at 18% 25%, rgba(255,63,120,.08), transparent 22rem), #050507; }
.q-home-hero::after { content: ""; position: absolute; width: 430px; height: 430px; right: -180px; top: -210px; border: 1px solid rgba(170,140,255,.12); border-radius: 50%; pointer-events: none; }
.q-home-hero__inner { min-height: 480px; display: grid; align-content: center; justify-items: center; padding: 70px 0; text-align: center; }
.q-eyebrow { margin: 0 0 5px; color: #b895ff; font-size: 10px; font-weight: 750; letter-spacing: .72px; text-transform: uppercase; }
.q-home-hero h1 { max-width: 860px; margin: 0 0 14px; font-size: clamp(48px,8vw,86px); line-height: .98; letter-spacing: -4px; }
.q-home-hero__inner > p:not(.q-eyebrow) { max-width: 650px; margin: 0 0 28px; color: var(--q-muted); font-size: 16px; }
.q-home-search { width: min(720px,100%); }
.q-home-search .search-field, .q-home-search .search-submit { min-height: 54px; }
.q-home-trending { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 16px; color: #a4a4ae; font-size: 11px; }
.q-home-trending a { color: #e0e0e6; text-decoration: none; }
.q-home-section { padding: 58px 0 70px; }
.q-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.q-section-head h2 { margin: 0; font-size: 25px; letter-spacing: -.5px; }
.q-section-head > a, .q-section-head > span { color: #a98aff; font-size: 11px; text-decoration: none; }
.q-store-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.q-store-tile { background: var(--q-surface); border: 1px solid #262630; border-radius: 15px; transition: transform .2s ease, border-color .2s ease; }
.q-store-tile:hover { transform: translateY(-2px); border-color: #574177; }
.q-store-tile a { display: block; padding: 13px; text-decoration: none; }
.q-store-tile__logo { height: 96px; display: grid; place-items: center; padding: 10px; overflow: hidden; color: #111116; background: #f4f4f6; border-radius: 11px; font-size: 15px; font-weight: 800; text-align: center; }
.q-store-tile h2 { margin: 11px 0 2px; font-size: 15px; }
.q-store-tile p { margin: 0; color: var(--q-muted); font-size: 10px; }

.q-store-page { padding: 22px 0 68px; }
.q-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; color: #858592; font-size: 12px; }
.q-breadcrumbs a { color: #aaaab5; text-decoration: none; }
.q-store-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); align-items: start; gap: 22px; }
.q-store-sidebar { position: sticky; top: 14px; display: grid; gap: 12px; }
.q-merchant, .q-sidebar-block { padding: 16px; background: var(--q-surface); border: 1px solid #262630; border-radius: 16px; }
.q-merchant__logo { min-height: 94px; display: grid; place-items: center; margin-bottom: 15px; overflow: hidden; color: #101014; background: #f4f4f6; border-radius: 13px; font-size: 16px; font-weight: 800; text-align: center; }
.q-merchant h2 { margin: 0 0 5px; font-size: 17px; }
.q-rating { margin: 0 0 13px; color: #f6c85f; font-size: 13px; }
.q-rating span { color: #8c8c97; }
.q-merchant > p, .q-sidebar-block > p { margin: 0 0 15px; color: #a2a2ad; font-size: 12px; line-height: 1.55; }
.q-shop-button { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 11px; color: #fff; background: #17171d; border: 1px solid #30303a; border-radius: 10px; font-size: 13px; text-decoration: none; }
.q-store-facts { display: grid; gap: 12px; margin-top: 15px; padding-top: 15px; border-top: 1px solid #292932; }
.q-store-facts span, .q-sidebar-block h3 { display: block; margin: 0 0 3px; color: #797985; font-size: 10px; letter-spacing: .6px; text-transform: uppercase; }
.q-store-facts strong { color: #d7d7df; font-size: 12px; font-weight: 450; }
.q-store-links { display: grid; }
.q-store-links a { min-height: 34px; display: flex; align-items: center; justify-content: space-between; color: #bdbdc7; border-bottom: 1px solid #25252d; font-size: 11px; text-decoration: none; }
.q-store-content { min-width: 0; }
.q-store-hero h1 { max-width: 720px; margin: 3px 0 10px; font-size: clamp(30px,5vw,48px); line-height: 1.02; letter-spacing: -1.9px; }
.q-store-hero > p { margin: 0 0 16px; color: var(--q-muted); font-size: 13px; }
.q-trust-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.q-trust-pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; color: #75e8bd; background: #12171a; border: 1px solid #1f3a33; border-radius: 999px; font-size: 11px; }
.q-trust-pill--demo { color: #c9a4ff; background: #18141f; border-color: #38284a; }
.q-store-tabs { display: flex; gap: 20px; margin-bottom: 18px; overflow: auto hidden; border-bottom: 1px solid #27272f; scrollbar-width: none; }
.q-store-tabs a { position: relative; flex: 0 0 auto; padding: 0 0 11px; color: #8e8e99; font-size: 13px; text-decoration: none; }
.q-store-tabs a:first-child { color: #fff; }
.q-store-tabs a:first-child::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #8a43f2; }
.q-store-section { scroll-margin-top: 24px; margin-top: 34px; }
.q-store-section:first-of-type { margin-top: 0; }
.q-source-note { margin: 0 0 11px; padding: 10px 12px; color: #a3a3ad; background: #15151b; border: 1px solid #282832; border-radius: 10px; font-size: 11px; }
.q-offer-list { display: grid; gap: 10px; }
.q-offer { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 16px; background: linear-gradient(145deg,#17171d,#121217); border: 1px solid #2a2a34; border-radius: 15px; }
.q-offer--featured { border-color: #574177; box-shadow: inset 3px 0 0 #8a43f2; }
.q-offer__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 6px; }
.q-offer__type { color: #a98aff; font-size: 10px; letter-spacing: .7px; text-transform: uppercase; }
.q-offer__status { display: inline-flex; align-items: center; gap: 4px; color: var(--q-green); font-size: 10px; }
.q-offer__status--found { color: #b99cff; }
.q-offer__status--reported { color: #6ee1cf; }
.q-offer h3 { margin: 0 0 5px; font-size: 18px; letter-spacing: -.3px; }
.q-offer p { margin: 0; color: #9b9ba6; font-size: 12px; }
.q-offer__conditions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.q-offer__conditions span { padding: 4px 7px; color: #9e9eaa; background: #0e0e12; border: 1px solid #292933; border-radius: 999px; font-size: 9px; }
.q-offer__button { min-width: 132px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; color: #fff; background: linear-gradient(135deg,#7543ff,#9a43ea); border: 1px solid #a476ff; border-radius: 10px; font-weight: 650; text-align: center; text-decoration: none; }
.q-offer__button--deal { color: #78e8bc; background: #15251f; border-color: #28604b; }

.q-activity { display: grid; grid-template-columns: 1.2fr .9fr; gap: 15px; padding: 16px; background: #0d0d11; border: 1px solid #25252e; border-radius: 16px; }
.q-activity__chart { height: 126px; display: grid; grid-template-columns: repeat(8,1fr); align-items: end; gap: 8px; padding-top: 10px; border-bottom: 1px solid #292932; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px); background-size: 100% 31px; }
.q-activity__chart span { min-height: 8px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg,#8a43f2,#43207d); }
.q-activity__chart span:last-child { background: linear-gradient(180deg,#25e4a7,#1c684f); }
.q-activity__feed { display: grid; align-content: start; }
.q-activity__feed p { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; margin: 0; padding: 9px 0; color: #aaaab4; border-bottom: 1px solid #22222a; font-size: 10px; }
.q-activity__feed i { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: #36daa7; }
.q-activity__feed time { color: #6f6f7a; }
.q-month-chart { padding: 16px; background: var(--q-surface); border: 1px solid #262630; border-radius: 16px; }
.q-month-chart__bars { height: 155px; display: grid; grid-template-columns: repeat(12,1fr); align-items: end; gap: 7px; border-bottom: 1px solid #303039; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px); background-size: 100% 38px; }
.q-month-chart__bars span { min-height: 8px; border-radius: 4px 4px 0 0; background: #45454e; }
.q-month-chart__bars span.is-peak { background: linear-gradient(180deg,#a365ff,#6e36c9); }
.q-month-chart__labels { display: grid; grid-template-columns: repeat(12,1fr); gap: 7px; margin-top: 7px; color: #747480; font-size: 9px; text-align: center; }
.q-editorial { padding: 20px; background: var(--q-surface); border: 1px solid #262630; border-radius: 16px; }
.q-editorial > *:first-child { margin-top: 0; }
.q-editorial > *:last-child { margin-bottom: 0; }
.q-editorial h2, .q-editorial h3 { margin: 1.6em 0 .45em; color: #eeeef2; font-size: 18px; }
.q-editorial p, .q-editorial li { color: #a1a1ab; font-size: 13px; line-height: 1.75; }
.q-policy-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.q-policy-grid article { min-height: 110px; padding: 14px; background: var(--q-surface); border: 1px solid #262630; border-radius: 13px; }
.q-policy-grid strong { display: block; margin-bottom: 6px; font-size: 12px; }
.q-policy-grid span { color: #878792; font-size: 10px; line-height: 1.5; }
.q-faq details { padding: 14px 2px; color: #d7d7df; border-bottom: 1px solid #27272f; }
.q-faq summary { cursor: pointer; font-size: 13px; font-weight: 650; }
.q-faq details div { color: #9595a0; font-size: 12px; line-height: 1.65; }
.q-empty { padding: 22px; color: #a1a1ac; background: var(--q-surface); border: 1px solid #262630; border-radius: 16px; }

.q-modal[hidden] { display: none; }
.q-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 20px; background: rgba(3,3,5,.84); backdrop-filter: blur(8px); }
.q-modal__dialog { position: relative; width: min(470px,100%); overflow: hidden; background: #111116; border: 1px solid #383844; border-radius: 18px; box-shadow: 0 28px 90px rgba(0,0,0,.65); }
.q-modal__stripe { height: 5px; background: linear-gradient(90deg,#7342ff,#ff3f78); }
.q-modal__body { padding: 24px; text-align: center; }
.q-modal__body h2 { margin: 0 0 7px; }
.q-modal__body > p:not(.q-eyebrow):not(.q-modal__disclosure) { color: var(--q-muted); font-size: 12px; }
.q-modal__close { position: absolute; right: 12px; top: 13px; width: 36px; height: 36px; display: grid; place-items: center; color: #e6e6ec; background: #1b1b22; border: 1px solid #34343e; border-radius: 9px; }
.q-modal__codebox { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 19px 0 12px; padding: 8px; background: #09090c; border: 1px dashed #8556ef; border-radius: 12px; }
.q-modal__codebox strong { min-height: 46px; display: grid; place-items: center; font-size: 22px; letter-spacing: 2px; }
.q-modal__codebox button { display: inline-flex; align-items: center; gap: 7px; padding: 0 14px; color: #fff; background: var(--q-purple); border: 1px solid #a278ff; border-radius: 9px; }
.q-modal__shop { min-height: 43px; display: flex; align-items: center; justify-content: center; padding: 10px 14px; color: #07140f; background: #19d99b; border-radius: 10px; font-weight: 700; text-decoration: none; }
.q-modal__disclosure { margin: 11px 0 0; color: #73737f; font-size: 10px; }
.q-modal__live { min-height: 18px; padding-top: 7px; color: #76e4b9; font-size: 11px; }

.q-content { padding: 50px 0 70px; }
.q-entry { max-width: 820px; margin-inline: auto; }
.q-entry h1 { margin: 0 0 20px; font-size: clamp(36px,6vw,58px); line-height: 1.04; }
.q-entry__content { color: #b5b5bf; }
.q-post-list { display: grid; gap: 12px; }
.q-post-card { padding: 18px; background: var(--q-surface); border: 1px solid #262630; border-radius: 15px; }
.q-post-card h2 { margin: 0 0 8px; }
.q-post-card a { text-decoration: none; }
.q-post-card p { color: var(--q-muted); }
.q-footer { border-top: 1px solid #24242c; background: #09090c; }
.q-footer__inner { width: min(var(--q-container),calc(100% - 36px)); min-height: 170px; display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 28px; align-items: start; margin-inline: auto; padding: 34px 0; }
.q-footer p { max-width: 320px; color: #777782; font-size: 11px; }
.q-footer ul { display: grid; grid-template-columns: repeat(2,minmax(100px,1fr)); gap: 7px 20px; margin: 0; padding: 0; list-style: none; }
.q-footer a { color: #8e8e99; font-size: 11px; text-decoration: none; }
.q-footer__legal { display: grid; gap: 7px; }

@media (max-width: 920px) {
  .q-header__inner { grid-template-columns: auto 1fr; }
  .q-nav { grid-column: 1 / -1; display: none; padding-bottom: 15px; }
  .q-nav.is-open { display: block; }
  .q-nav ul { flex-wrap: wrap; }
  .q-header__actions { justify-self: end; }
  .q-menu-button { display: inline-flex; }
  .q-store-grid { grid-template-columns: repeat(3,1fr); }
  .q-store-layout { grid-template-columns: 190px minmax(0,1fr); gap: 16px; }
  .q-policy-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 700px) {
  .q-container, .q-header__inner, .q-footer__inner { width: min(100% - 26px,var(--q-container)); }
  .q-locale { display: none; }
  .q-store-grid { grid-template-columns: repeat(2,1fr); }
  .q-store-layout { grid-template-columns: 1fr; }
  .q-store-sidebar { position: static; order: 2; }
  .q-merchant { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 12px; }
  .q-merchant__logo { min-height: 74px; margin: 0; font-size: 12px; }
  .q-merchant .q-shop-button, .q-merchant .q-store-facts { grid-column: 1 / -1; }
  .q-activity { grid-template-columns: 1fr; }
  .q-footer__inner { grid-template-columns: 1fr 1fr; }
  .q-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .q-topline { font-size: 10px; }
  .q-brand { font-size: 18px; }
  .q-home-hero__inner { min-height: 420px; }
  .q-home-hero h1 { font-size: 46px; letter-spacing: -2.5px; }
  .q-store-grid, .q-policy-grid { grid-template-columns: 1fr; }
  .q-store-hero h1 { font-size: 34px; }
  .q-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .q-offer { grid-template-columns: 1fr; }
  .q-offer__button { width: 100%; }
  .q-month-chart__bars, .q-month-chart__labels { gap: 3px; }
  .q-footer__inner { grid-template-columns: 1fr; }
  .q-footer__brand { grid-column: auto; }
  .q-modal__codebox { grid-template-columns: 1fr; }
  .q-modal__codebox button { min-height: 42px; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Qoupy 0.3: merchant page and official branding. */

[hidden] { display:none!important; }
:focus-visible { outline:3px solid #bca3ff; outline-offset:4px; }
html { scroll-padding-top:24px; }
body { background:#020204; font-size:15px; }
.q-site { max-width:1440px; margin-inline:auto; background:radial-gradient(ellipse at 74% 0, #33214d38, transparent 650px),radial-gradient(ellipse at 12% 24%, #131a412e, transparent 550px),var(--q-bg); }
.q-topline { min-height:32px; color:#c4bcdd; background:#151020; border-bottom:1px solid #6e40bf40; font-size:11px; letter-spacing:.3px; }
.q-header { background:#09090edb; }
.q-header__inner { min-height:92px; gap:44px; }
.q-brand { width:174px; height:70px; display:flex; position:relative; }
.q-brand__image { width:174px; height:70px; object-fit:contain; }
.q-brand__mark { display:none; }
.custom-logo-link { display:flex; align-items:center; width:174px; height:70px; }
.custom-logo { display:block; object-fit:contain; width:174px; height:70px; max-height:70px; }
.q-nav ul { gap:28px; }
.q-nav a { font-size:14px; color:#c3c1d1; }
.q-nav a:hover { color:#c1a4ff; }
.q-locale { font-size:12px; background:transparent; border:0; }
.q-icon-button { background:transparent; border-color:#30303c; }
.q-store-page { padding:27px 0 76px; }
.q-breadcrumbs { color:#bbb4ca; margin-bottom:28px; font-size:12px; gap:12px; }
.q-breadcrumbs a { color:#a8a4b7; }
.q-store-layout { grid-template-columns:264px minmax(0,1fr); gap:36px; }
.q-store-content { grid-column:2; grid-row:1; }
.q-store-sidebar { position:static; grid-column:1; grid-row:1; gap:20px; }
.q-merchant,.q-sidebar-block { padding:22px; border-radius:16px; border-color:#2a2838; background:linear-gradient(145deg,#15131e,#101017); }
.q-merchant__logo { min-height:110px; background:#08080d; color:#fff; border:1px solid #282734; border-radius:12px; font-size:28px; letter-spacing:-1px; font-weight:800; margin-bottom:24px; }
.q-merchant__logo img { width:180px; height:100px; object-fit:contain; }
.q-merchant h2 { font-size:25px; margin-bottom:0; letter-spacing:-.5px; }
.q-merchant > p { color:#b3afc3; font-size:13px; line-height:1.75; }
.q-merchant p.q-merchant__domain { color:#a8a2b9; font-size:12px; margin-bottom:14px; }
.q-shop-button { background:#211932; border-color:#4f386c; min-height:46px; gap:10px; margin-top:20px; }
.q-shop-button:hover { background:#312143; border-color:#9969e3; }
.q-store-facts { margin-top:22px; padding-top:20px; gap:17px; }
.q-store-facts span { color:#b5adc5; font-size:11px; letter-spacing:0; text-transform:none; margin-bottom:3px; }
.q-store-facts strong { color:#eeeaf6; font-size:13px; }
.q-sidebar-block h2 { font-size:15px; margin:0 0 17px; font-weight:650; }
.q-sidebar-block h3 { font-size:12px; color:#e9e3f4; letter-spacing:0; text-transform:none; }
.q-sidebar-block p { color:#b3afc3; font-size:12px; line-height:1.75; }
.q-sidebar-tips { background:radial-gradient(ellipse at top right,#502c763b,transparent),#12101c; }
.q-sidebar-tips ol { margin:0 0 16px; padding-left:19px; }
.q-sidebar-tips li { color:#ccc3db; padding-left:3px; margin-bottom:13px; font-size:13px; }
.q-sidebar-tips li::marker { color:#c3a1ff; }
.q-text-link { color:#c5a6ff; font-size:12px; text-underline-offset:4px; }
.q-sidebar-fact { margin-bottom:16px; }
.q-sidebar-fact p { margin:4px 0 0; }
.q-store-links a { color:#c3bccf; font-size:12px; min-height:42px; gap:8px; }
.q-similar-links { display:grid; gap:16px; }
.q-similar-links a { display:flex; align-items:center; gap:12px; font-size:13px; text-decoration:none; }
.q-similar-links a > span:last-child { margin-left:auto; color:#bda0eb; }
.q-similar-initial { flex:0 0 36px; height:36px; border-radius:10px; background:#211e2a; display:grid; place-items:center; color:#e0c8ff; font-size:16px; font-weight:700; }
.q-similar-links small { display:block; color:#a49bb3; font-size:10px; }
.q-eyebrow { font-size:10px; font-weight:650; color:#c09aef; letter-spacing:1.4px; margin-bottom:12px; }
.q-store-hero { margin-bottom:24px; padding-top:4px; }
.q-store-hero > .q-eyebrow { color:#c19bf4; font-size:10px; margin-bottom:13px; }
.q-store-hero h1 { font-size:clamp(34px,3.2vw,46px); line-height:1.14; letter-spacing:-1.6px; max-width:850px; margin:0 0 18px; font-weight:720; }
.q-store-hero h1 span { display:block; color:#c5b1ec; }
.q-store-hero .q-intro { color:#bcb6ca; font-size:14px; line-height:1.8; max-width:770px; margin:0 0 12px; }
.q-store-hero .q-disclosure { font-size:11px; color:#a49cb5; margin:0 0 18px; }
.q-disclosure a { color:#c7afea; text-underline-offset:3px; }
.q-hero-meta { display:flex; flex-wrap:wrap; gap:8px 20px; color:#b7b0c7; font-size:11px; }
.q-hero-meta > span { display:flex; align-items:center; gap:6px; }
.q-demo-banner { display:flex; align-items:center; gap:13px; padding:14px 17px; background:#281d123d; border:1px solid #69502c; border-radius:10px; margin:22px 0; }
.q-demo-dot { width:7px; height:7px; border-radius:50%; background:#e8b569; box-shadow:0 0 12px #e8b56955; flex-shrink:0; }
.q-demo-banner strong { display:block; color:#f3ce93; font-size:12px; margin-bottom:2px; }
.q-demo-banner span:not(.q-demo-dot) { color:#c7b896; font-size:11px; }
.q-store-tabs { gap:26px; margin:0 0 25px; scrollbar-width:thin; }
.q-store-tabs a { padding:13px 0; font-size:12px; color:#b2a9c3; }
.q-store-tabs a span { background:#332443; color:#d7b8ff; border-radius:5px; padding:2px 6px; margin-left:4px; font-size:10px; }
.q-store-tabs a:first-child::after { height:2px; background:#a871ff; bottom:0; }
.q-verification { padding:20px 22px; border:1px solid #393049; border-radius:14px; background:linear-gradient(120deg,#1d1729,#101018); }
.q-verification__heading { display:flex; align-items:flex-start; gap:14px; }
.q-status-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; font-size:28px; background:#362445; color:#ceadff; border:1px solid #594071; border-radius:11px; }
.q-verification h2 { margin:0 0 5px; font-size:15px; line-height:1.4; letter-spacing:-.1px; }
.q-verification p { margin:0; font-size:11px; color:#b9afca; line-height:1.7; }
.q-verification__stats { display:grid; grid-template-columns:1fr 1fr 1.2fr; margin:19px 0 0 50px; padding-top:17px; border-top:1px solid #33283f; gap:18px; }
.q-verification__stats > div { display:grid; align-content:start; gap:3px; }
.q-verification__stats strong { color:#f5edff; font-size:26px; font-weight:650; line-height:1.2; }
.q-verification__stats small { color:#bdb0d1; font-size:19px; }
.q-verification__stats span { color:#b7a9c9; font-size:10px; }
.q-verification__stats .q-stat-text { font-size:13px; line-height:1.5; padding-top:3px; }
.q-store-section { margin-top:42px; scroll-margin-top:28px; }
.q-section-head { margin-bottom:19px; }
.q-section-head h2 { font-size:24px; line-height:1.3; letter-spacing:-.65px; font-weight:660; }
.q-section-head .q-eyebrow { margin-bottom:7px; }
.q-section-head > span { color:#b8a5cf; font-size:11px; }
.q-filter-bar { display:flex; gap:8px; margin-bottom:13px; flex-wrap:wrap; }
.q-filter-bar button { padding:8px 13px; background:#12111a; border:1px solid #36303f; color:#bab1ca; border-radius:7px; font-size:12px; }
.q-filter-bar button[aria-pressed=true] { background:#332045; color:#f0e4ff; border-color:#8053b0; }
.q-filter-bar button span { margin-left:8px; opacity:.9; }
.q-flow-note { font-size:11px; color:#b1a8bf; margin:0 0 18px; line-height:1.7; }
.q-offer-list { gap:14px; }
.q-offer { position:relative; grid-template-columns:82px minmax(0,1fr) 216px; align-items:start; column-gap:18px; row-gap:14px; padding:23px 23px 0; border-radius:13px; background:linear-gradient(125deg,#17141f,#111019 70%); border:1px solid #342d3e; overflow:hidden; }
.q-offer--featured { border-color:#775095; box-shadow:inset 3px 0 0 #a767f2,0 5px 26px #7a39b60a; }
.q-offer__benefit { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:88px; border-radius:12px; background:radial-gradient(ellipse at top,#562f7340,transparent),#24192f; border:1px solid #503061; }
.q-offer__benefit strong { font-size:29px; line-height:1.2; color:#f1deff; letter-spacing:-1px; }
.q-offer__benefit span { color:#c5a5df; font-size:9px; letter-spacing:1px; margin-top:5px; }
.q-offer__content { min-width:0; }
.q-offer__top { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:8px; }
.q-offer__type { font-size:9px; color:#c2a1e0; letter-spacing:.8px; }
.q-offer__status { font-size:9px; color:#b8dcd1; background:#1c2a28; border-radius:4px; padding:2px 6px; }
.q-offer__status.is-demo { color:#dfc69c; background:#342b1d; }
.q-offer h3 { font-size:17px; line-height:1.4; margin:0 0 8px; letter-spacing:-.25px; }
.q-offer p { color:#bbb1c9; font-size:12px; line-height:1.7; }
.q-offer__action { grid-column:3; grid-row:1; align-self:start; min-width:0; display:flex; flex-direction:column; gap:8px; }
.q-offer__button { min-width:0; width:100%; min-height:64px; padding:12px 16px; border:1px solid #b495ff; background:linear-gradient(110deg,#4d68ec,#8150ed); border-radius:9px; color:#fff; display:flex; gap:13px; justify-content:center; font-size:14px; line-height:1.25; font-weight:650; box-shadow:0 3px 16px #7350e329; transition:background .18s,box-shadow .18s,transform .18s; }
.q-offer__button:hover { background:linear-gradient(110deg,#5b7aff,#955ffb); box-shadow:0 3px 22px #8361f552; transform:translateY(-1px); }
.q-offer__button:focus-visible { outline:3px solid #d5bdff; outline-offset:4px; }
.q-offer__button[aria-busy=true] { opacity:.7; cursor:progress; }
.q-offer__action-note { font-size:9px; color:#b8abc7; text-align:center; }
.q-offer__meta { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px 20px; font-size:10px; color:#b1a6bf; padding-top:2px; }
.q-offer__meta a { color:#c9b1e8; text-underline-offset:3px; }
.q-offer__details { grid-column:1/-1; margin-inline:-23px; border-top:1px solid #302636; }
.q-offer__details summary { display:flex; justify-content:space-between; list-style:none; cursor:pointer; padding:12px 23px; color:#bdb0ce; font-size:11px; }
summary::-webkit-details-marker { display:none; }
.q-offer__details[open] summary span,.q-faq details[open] summary span { transform:rotate(45deg); }
.q-offer__details > div { padding:4px 23px 21px; }
.q-offer__details dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; font-size:12px; margin:12px 0; }
.q-offer__details dt { color:#b9a8c9; font-size:10px; }
.q-offer__details dd { margin:3px 0 0; }
.q-offer__details ul { padding-left:20px; color:#c2b5ce; font-size:12px; }
.q-inline-status { font-size:12px; color:#e1c19a; }
.q-inline-status:empty { display:none; }
.q-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.q-guide-card { border:1px solid #2d2838; background:linear-gradient(140deg,#16121e,#101016); border-radius:13px; padding:24px; }
.q-guide-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #604674; border-radius:9px; color:#c09ce9; background:#292031; margin-bottom:18px; font-size:19px; }
.q-guide-card h3 { font-size:17px; line-height:1.4; margin:0 0 10px; letter-spacing:-.3px; }
.q-guide-card p,.q-timing p,.q-how-to li,.q-policy-grid p { font-size:13px; color:#b7afc4; line-height:1.85; }
.q-citation,.q-guide-card .q-citation,.q-policy-grid .q-citation { font-size:10px; color:#b5a4ca; line-height:1.7; margin-top:16px; }
.q-citation a { color:#c6a8e9; text-decoration:underline; text-underline-offset:3px; }
.q-citation span { color:#aea0bf; }
.q-timing { display:grid; grid-template-columns:1.05fr 1fr; padding:27px; background:#121019; border:1px solid #32283d; border-radius:13px; gap:30px; }
.q-timing h2 { margin:0; font-size:22px; letter-spacing:-.5px; line-height:1.4; }
.q-timing p { margin:12px 0 0; }
.q-data-gap { border-left:1px solid #3c3047; padding-left:26px; }
.q-data-gap > span { font-size:27px; color:#b393d3; }
.q-data-gap h3 { margin:8px 0; font-size:15px; }
.q-data-gap p { font-size:12px; }
.q-category-links { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.q-category-links a { display:flex; justify-content:space-between; align-items:center; min-height:57px; border:1px solid #3d3049; background:#1a1321; border-radius:9px; padding:13px; font-size:12px; text-decoration:none; gap:10px; }
.q-category-links a span { color:#c695ee; }
.q-category-links a:hover { border-color:#b87aee; }
.q-how-to { padding:23px 27px; border:1px solid #32283f; border-radius:13px; background:#131019; }
.q-how-to ol { list-style:none; counter-reset:steps; margin:0; padding:0; display:grid; gap:20px; }
.q-how-to li { counter-increment:steps; display:flex; gap:17px; align-items:center; }
.q-how-to li::before { content:counter(steps,decimal-leading-zero); display:grid; place-items:center; flex:0 0 33px; height:33px; background:#2d1e3c; border:1px solid #64437f; border-radius:50%; color:#dcc1fc; font-size:11px; }
.q-troubleshooting { border:1px solid #40324b; border-radius:10px; margin-top:14px; padding:0 22px; background:#1b1522; }
.q-troubleshooting summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; padding:16px 0; color:#d3bfe7; font-size:13px; gap:14px; }
.q-troubleshooting > p { font-size:13px; color:#bfb0cf; line-height:1.8; }
.q-policy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.q-policy-grid article { padding:21px; border-color:#322b3b; background:#111018; min-height:0; }
.q-policy-grid h3 { font-size:15px; margin:0 0 12px; line-height:1.5; }
.q-policy-grid p { font-size:12px; margin:0; }
.q-faq { border-top:1px solid #3e304c; }
.q-faq details { padding:0; border-color:#302635; }
.q-faq summary { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 3px; list-style:none; font-size:14px; line-height:1.6; color:#e5deee; }
.q-faq summary span { color:#c5a4e5; font-size:20px; flex-shrink:0; }
.q-faq details > div { padding:0 30px 17px 3px; color:#bdb0cb; font-size:13px; line-height:1.8; }
.q-faq details p { margin:0 0 10px; }
.q-transparency { display:flex; align-items:start; gap:18px; padding:25px; background:#111018; border:1px solid #312839; border-radius:13px; }
.q-transparency h2 { font-size:16px; margin:0 0 8px; }
.q-transparency p { font-size:12px; color:#b3a8c2; line-height:1.8; margin:0 0 10px; }
.q-transparency p:last-child { margin:0; }
.q-footer__inner { min-height:200px; padding-block:35px; }
.q-footer p { font-size:12px; color:#ada4ba; }
.q-footer a:not(.q-brand):not(.custom-logo-link) { font-size:12px; color:#c4b5d1; }
.q-footer .q-brand,.q-footer .custom-logo-link { margin-left:-8px; }
.q-modal { position:fixed; inset:0; margin:auto; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; color:#f7f2ff; background:#15101f; border:1px solid #8964b4; border-radius:18px; box-shadow:0 0 75px #6237b040; overflow:auto; }
.q-modal:not([open]) { display:none; }
.q-modal[open] { display:block; }
.q-modal::backdrop { background:#030207d9; backdrop-filter:blur(7px); }
.q-modal__body { padding:46px 30px 24px; }
.q-modal__body h2 { font-size:23px; line-height:1.35; }
.q-modal__body > p:not(.q-eyebrow):not(.q-modal__disclosure) { font-size:13px; color:#bfb0d0; }
.q-modal__close { width:40px; height:40px; top:10px; right:10px; font-size:26px; color:#e6d6f3; }
.q-modal__codebox { grid-template-columns:minmax(0,1fr) auto; background:#09050f; border-color:#b383f1; padding:8px; margin:22px 0 17px; }
.q-modal__codebox input { width:100%; min-width:0; min-height:52px; padding:8px; border:0; background:transparent; color:#f0d9ff; font-family:ui-monospace,monospace; font-size:18px; text-align:center; }
.q-modal__codebox button { min-height:48px; font-size:12px; background:#6f41bf; }
.q-modal__shop { background:linear-gradient(110deg,#4d68ec,#8150ed); color:#fff; font-size:14px; min-height:50px; }
.q-modal__disclosure { color:#beabc9; font-size:11px; }
.q-modal__body p.q-modal__demo { color:#f0d2a6!important; border:1px solid #69502c; background:#2b201b; border-radius:8px; padding:11px; }
.q-modal__live { color:#ddd0f0; font-size:12px; line-height:1.6; }
.q-store-tile__logo { background:#15101e; color:#e8dbf9; border:1px solid #393043; }
.q-home-hero::after { display:none; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.q-store-page p,.q-store-page h1,.q-store-page h2,.q-store-page h3,.q-store-page li,.q-store-page a,.q-store-page dd,.q-modal p { overflow-wrap:anywhere; }
@media (max-width:1270px) { .q-store-layout { grid-template-columns:234px minmax(0,1fr); gap:26px; } .q-offer { grid-template-columns:70px minmax(0,1fr) 196px; column-gap:14px; padding:20px 20px 0; } .q-offer__details { margin-inline:-20px; } .q-offer__button { font-size:13px; } .q-merchant,.q-sidebar-block { padding:19px; } .q-offer__benefit strong { font-size:25px; } }
@media (max-width:1040px) { .q-store-layout { grid-template-columns:215px minmax(0,1fr); gap:24px; } .q-offer { grid-template-columns:65px minmax(0,1fr); } .q-offer__action { grid-column:2; grid-row:2; } .q-offer__meta { grid-row:3; } .q-offer__details { grid-row:4; } .q-offer__benefit { min-height:78px; } .q-guide-card { padding:19px; } .q-policy-grid { grid-template-columns:1fr; } .q-category-links { grid-template-columns:1fr 1fr; } .q-timing { grid-template-columns:1fr; gap:20px; } .q-data-gap { border-left:0; border-top:1px solid #3c3047; padding:18px 0 0; } }
@media (max-width:920px) { .q-header__inner { gap:0 20px; } .q-nav { grid-row:2; grid-column:1/-1; } .q-header__actions { grid-row:1; grid-column:2; } .q-nav ul { gap:14px 24px; } .q-guide-grid { grid-template-columns:1fr; } .q-store-hero h1 { font-size:35px; } .q-verification__stats { margin-left:0; gap:12px; } }
@media (max-width:760px) { .q-store-layout { display:flex; flex-direction:column; gap:34px; } .q-store-content,.q-store-sidebar { width:100%; } .q-store-content { order:0; } .q-store-sidebar { order:1; display:grid; grid-template-columns:1fr 1fr; } .q-guide-grid { grid-template-columns:1fr 1fr; } .q-merchant { display:block; } .q-merchant__logo { margin-bottom:18px; } .q-store-hero h1 { font-size:38px; } .q-offer { grid-template-columns:72px minmax(0,1fr) 190px; } .q-offer__action { grid-column:3; grid-row:1; } .q-offer__meta { grid-row:2; } .q-offer__details { grid-row:3; } .q-policy-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .q-container,.q-header__inner,.q-footer__inner { width:calc(100% - 32px); } .q-header__inner { min-height:78px; } .q-brand,.q-brand__image,.custom-logo-link,.custom-logo { width:138px; height:58px; max-height:58px; } .q-topline { font-size:9px; padding-inline:14px; } .q-store-page { padding-top:20px; } .q-breadcrumbs { margin-bottom:25px; font-size:11px; } .q-store-hero h1 { font-size:34px; letter-spacing:-1px; line-height:1.16; } .q-store-hero .q-intro { font-size:13px; } .q-hero-meta { flex-direction:column; font-size:10px; gap:7px; } .q-demo-banner { padding:13px; margin:20px 0; align-items:flex-start; } .q-demo-dot { margin-top:7px; } .q-demo-banner span:not(.q-demo-dot) { font-size:10px; display:block; } .q-store-tabs { gap:20px; } .q-store-tabs a { font-size:11px; } .q-verification { padding:18px; } .q-verification h2 { font-size:14px; } .q-verification__stats { grid-template-columns:1fr 1fr; gap:16px; } .q-verification__stats > div:last-child { grid-column:1/-1; display:flex; align-items:center; gap:10px; } .q-verification__stats .q-stat-text { padding-top:0; font-size:11px; } .q-verification__stats strong { font-size:25px; } .q-store-section { margin-top:34px; } .q-section-head h2 { font-size:21px; } .q-editorial-label { display:none; } .q-filter-bar { gap:6px; } .q-filter-bar button { padding:8px 9px; font-size:10px; } .q-filter-bar button span { margin-left:4px; } .q-flow-note { font-size:10px; } .q-offer { padding:18px 16px 0; grid-template-columns:60px minmax(0,1fr); column-gap:13px; row-gap:14px; } .q-offer__benefit { min-height:78px; border-radius:10px; } .q-offer__benefit strong { font-size:22px; } .q-offer__benefit span { font-size:8px; } .q-offer__top { gap:5px; margin-bottom:7px; } .q-offer__type { font-size:8px; } .q-offer__status { font-size:8px; } .q-offer h3 { font-size:16px; } .q-offer p { font-size:11px; } .q-offer__action { grid-column:1/-1; grid-row:2; gap:6px; } .q-offer__button { min-height:58px; font-size:14px; border-radius:8px; } .q-offer__meta { grid-row:3; font-size:9px; gap:5px; flex-direction:column; } .q-offer__details { grid-row:4; margin-inline:-16px; } .q-offer__details summary { padding:12px 16px; } .q-offer__details > div { padding-inline:16px; } .q-offer__details dl { grid-template-columns:1fr; gap:10px; } .q-guide-grid { grid-template-columns:1fr; } .q-guide-card { padding:23px; } .q-guide-card p { font-size:13px; } .q-guide-card .q-citation { font-size:10px; } .q-timing { padding:23px; } .q-how-to { padding:20px; } .q-how-to li { font-size:12px; gap:13px; } .q-transparency { padding:21px; gap:13px; } .q-transparency h2 { font-size:15px; } .q-transparency .q-status-icon { width:30px; flex-basis:30px; height:30px; font-size:24px; } .q-store-sidebar { grid-template-columns:1fr; } .q-merchant__logo { max-width:210px; } .q-footer__inner { grid-template-columns:1fr; gap:20px; } .q-footer__legal { display:flex; gap:20px; } .q-faq summary { font-size:13px; } .q-modal__body { padding:47px 20px 21px; } .q-modal__body h2 { font-size:21px; } .q-modal__codebox { grid-template-columns:1fr; } .q-modal__codebox button { justify-content:center; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
/* Keep the first coupon within the desktop viewport. */
@media (min-width:1041px) {
 .q-header__inner { min-height:80px; }
 .q-store-page { padding-top:20px; }
 .q-breadcrumbs { margin-bottom:20px; }
 .q-store-hero { margin-bottom:17px; }
 .q-store-hero h1 { font-size:42px; line-height:1.1; margin-bottom:12px; }
 .q-store-hero > .q-eyebrow { margin-bottom:9px; }
 .q-store-hero .q-intro { font-size:13px; line-height:1.65; margin-bottom:8px; }
 .q-store-hero .q-disclosure { margin-bottom:10px; }
 .q-demo-banner { padding:10px 15px; margin:16px 0; }
 .q-store-tabs { margin-bottom:18px; }
 .q-store-tabs a { padding:9px 0; }
 .q-verification { padding:16px 20px; }
 .q-verification__stats { margin-top:12px; padding-top:12px; }
 .q-verification__stats strong { font-size:23px; }
 .q-verification__stats .q-stat-text { font-size:12px; }
 #q-codes { margin-top:26px; }
 #q-codes .q-section-head { margin-bottom:12px; }
 #q-codes .q-eyebrow { display:none; }
 #q-codes .q-flow-note { margin-bottom:12px; font-size:10px; }
}
.q-merchant__logo--mono { background:#000; }
.q-merchant__logo--mono img { filter:invert(1); }
/* Desktop additions stay out of the existing phone layout. */
.q-reliability, .q-offer__corner, .q-offer__corner-glow, .q-more-offers, .q-desktop-conditions { display:none; }
